/* Home redesign: room-first grid, existing transparent character and room retained. */
.home-page .content-body{inset:190px 26px 16px;padding:0;display:grid;grid-template-columns:250px minmax(0,1fr) 236px;gap:16px;align-items:center;height:auto}
.home-page .left-column{grid-column:1;position:relative;inset:auto;width:100%;height:auto;display:flex;flex-direction:column;gap:16px;padding:0;transform:none;align-self:center;z-index:3}
.home-page .profile-widget,.home-page .todayis-box,.home-page .jukebox-card{width:100%;margin:0;border:1.5px solid var(--panel-blue-border);border-radius:7px;box-shadow:2px 3px 0 #b6ceec;background:#f7fbff}
.home-page .profile-widget{height:auto;min-height:0}.home-page .retro-box-title{height:32px;padding:0 12px;background:var(--panel-blue-header);font:400 17px DungGeunMo,monospace;letter-spacing:.04em}.home-page .retro-title-ctrls{font-size:16px;opacity:.7}
.home-page .profile-widget-body{padding:16px 12px 18px;gap:12px;background:#f6faff}.home-page .profile-avatar-circle{width:136px;height:136px;margin:0 auto;border:1px solid #abc6ed;background:#e5f3ff;border-radius:50%}.home-page .profile-greeting-text{font:600 18px/1.5 Pretendard,sans-serif;text-align:center}.home-page .profile-instagram-btn{font:550 15px Pretendard,sans-serif;padding:5px 12px;height:28px;border:1px solid #bdcfee;border-radius:5px;box-shadow:none}
.home-page .todayis-box{height:auto}.home-page .todayis-body{height:62px;padding:12px;justify-content:center;gap:8px;font:600 17px/1.5 Pretendard,sans-serif}
.home-page .jukebox-card{position:relative;padding:42px 12px 12px;min-height:135px;height:auto;gap:8px;display:block}.home-bgm-caption{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;padding:9px 12px;background:#e5effe;border-bottom:1px solid #b9ceec;font:400 14px DungGeunMo,monospace;color:#315b9c}.home-bgm-caption span{font-size:11px;color:#6984af}.is-playing .home-bgm-caption span{color:#258272}
.home-page .jukebox-disc-btn{display:none}.home-page .jukebox-main-ctrls{width:100%;min-width:0}.home-page .jukebox-track-bar{height:29px;background:#f1f6ff;border:1px inset #d6e3f8;border-radius:2px;color:#345686;font:500 15px Pretendard,sans-serif;padding:4px 7px}.home-page .jukebox-track-close{font-size:14px;opacity:.7}.home-page .jukebox-buttons-row{height:35px;gap:6px;justify-content:space-between}.home-page .jukebox-actions{gap:5px}.home-page .jukebox-btn{width:25px;height:25px;padding:3px;border:1px solid #8dadde;background:white;border-radius:3px;display:grid;place-items:center}.home-page .jukebox-btn svg{width:14px;height:14px}.home-page .jukebox-vol-wrap{gap:4px}.home-page .jukebox-vol-slider{width:68px;height:5px}.home-page .jukebox-vol-icon{font-size:14px}.home-page .jukebox-vol-slider::-webkit-slider-thumb{width:12px;height:12px}
.home-page .center-room-col{position:relative;inset:auto;grid-column:2;width:100%;height:100%;padding:0;display:flex;align-items:center;justify-content:center;transform:none;min-width:0;z-index:2}
.home-page .room-main-container{position:relative;inset:auto;width:100%;max-width:940px;height:auto;aspect-ratio:1394/1128;flex:none;cursor:default}
.home-page .room-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:none;filter:drop-shadow(0 9px 4px #2b549b13);clip-path:polygon(50% 1.3%,91.2% 27.5%,91.2% 71.8%,50% 97.7%,8.8% 71.8%,8.8% 27.5%)}
.home-room-label{position:absolute;left:24px;top:auto;bottom:22px;z-index:3;display:grid;gap:7px;pointer-events:none;color:#446fae}.home-room-label>span{font:400 18px DungGeunMo,monospace;letter-spacing:.12em}.home-room-label small{font:500 14px Pretendard,sans-serif;color:#6d89b1}
.home-page .interactive-puang-character{width:175px;height:217px;z-index:8}.home-page .char-speech-bubble{font:600 17px/1.5 Pretendard,sans-serif;max-width:230px;padding:9px 12px;border-radius:10px;box-shadow:0 2px 0 #b8ceee}.home-page .char-speech-bubble::before{display:none}
.room-object-link{position:absolute;display:block;border:2px solid transparent;border-radius:5px;z-index:4;background:transparent;cursor:pointer;transition:border-color .15s,background .15s}.room-object-link span{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(3px);padding:7px 10px;white-space:nowrap;color:#24509b;background:#f8fcff;border:1px solid #729bdb;box-shadow:2px 2px 0 #bcd2ef;font:400 16px DungGeunMo,monospace;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}.room-object-link:hover,.room-object-link:focus-visible{outline:2px dashed #7bb2e7;outline-offset:4px;background:#e4f4ff16;border-color:#ffffff90}.room-object-link:hover span,.room-object-link:focus-visible span{opacity:1;transform:translateX(-50%) translateY(0)}
.object-laptop{left:72%;top:43%;width:13%;height:14%}.object-books{left:40%;top:44%;width:10%;height:16%}.object-bed{left:17%;top:58%;width:27%;height:17%}.object-wardrobe{left:55%;top:29%;width:14%;height:27%}.object-notes{left:79%;top:29%;width:9%;height:12%}
.home-page .right-notes-col{position:relative;inset:auto;grid-column:3;transform:none;width:100%;height:auto;display:flex;flex-direction:column;gap:23px;padding:0;align-self:center;z-index:3}.home-links-label{display:flex;justify-content:space-between;margin:0 0 2px;padding:0 5px;color:#5378af;font:400 16px DungGeunMo,monospace;letter-spacing:.04em}
.home-page .memo-card{width:100%;height:143px;min-height:0;max-height:none;margin:0;padding:19px 16px 13px;transform:none;border:1.5px solid #86a7de;border-radius:4px;background:linear-gradient(#fff,#f4f8ff);box-shadow:2px 3px 0 #c0d3ef;position:relative}.home-page .memo-card-diary{background:linear-gradient(#fffafc,#f9f5fc)}.home-page .memo-card-sos{background:linear-gradient(#fffef4,#fbf8e9)}.home-page .memo-card:hover{border-color:#4975b9;box-shadow:3px 4px 0 #a9c3e8;transform:translateY(-2px)}
.home-page .spiral-rings{top:-9px;padding:0 12px;justify-content:space-between}.home-page .wire-ring{width:6px;height:18px;border-width:1px;border-radius:3px}.home-page .wire-ring:nth-child(even){display:none}.home-page .memo-inner{height:100%;display:grid;grid-template-columns:1fr 26px;grid-template-rows:auto 1fr;gap:8px;align-items:center;text-align:left}.home-page .memo-title{font:600 20px/1.4 Pretendard,sans-serif;gap:7px;grid-column:1/-1;justify-content:flex-start}.home-page .memo-title-heart{font-size:13px;color:#c78fa9}.home-page .memo-desc{font:500 17px/1.5 Pretendard,sans-serif;text-align:left;color:#486084;margin:0}.home-page .memo-icon-wrap{margin:0;align-self:center}.home-page .memo-icon-wrap svg{width:24px;height:24px}
.home-page #cardSos{display:block;padding:19px 16px 13px}.home-page #cardSos .memo-inner{height:100%;display:grid;grid-template-columns:1fr 26px;grid-template-rows:auto 1fr;gap:8px;text-align:left}.home-page #cardSos .memo-title{font-size:20px;line-height:1.4;justify-content:flex-start}.home-page #cardSos .memo-desc{font-size:17px;line-height:1.5;text-align:left}.home-page #cardSos .memo-icon-wrap{height:24px}
@media(orientation:portrait){.home-page .content-body{position:relative;inset:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:10px 16px 28px}.home-page .center-room-col{grid-column:1/-1;grid-row:1;height:auto;order:0}.home-page .room-main-container{width:100%;max-width:none}.home-page .home-room-label{top:0;left:0}.home-page .home-room-label small{display:none}.home-page .left-column{grid-column:1;grid-row:2;gap:14px}.home-page .right-notes-col{grid-column:2;grid-row:2;gap:21px}.home-page .profile-avatar-circle{width:100px;height:100px}.home-page .profile-greeting-text{font-size:15px}.home-page .memo-card{height:auto;min-height:125px;padding:16px 10px}.home-page .memo-title{font-size:17px}.home-page .memo-desc{font-size:15px}.home-page .jukebox-buttons-row{flex-wrap:wrap;height:auto;gap:10px}.home-page .home-links-label{font-size:12px}.home-page .jukebox-track-bar{font-size:11px}.home-page .todayis-body{font-size:14px}.home-page .interactive-puang-character{width:23%;height:32%}.home-page .room-object-link span{font-size:12px}.home-page .retro-box-title{font-size:14px}}
@media(prefers-reduced-motion:reduce){.home-page *{transition:none!important}}

/* Enlarge the sidebar independently, preserving the room grid and right widgets. */
@media(orientation:landscape){
.home-page .left-column{width:280px;gap:18px;transform:translateY(30px)}
.home-page .retro-box-title{height:36px;font-size:19px}
.home-page .profile-widget-body{padding:18px 14px 20px;gap:14px}
.home-page .profile-greeting-text{font-size:20px}
.home-page .profile-instagram-btn{font-size:17px;height:32px}
.home-page .todayis-body{height:70px;font-size:19px}
.home-page .jukebox-card{padding:46px 14px 14px;min-height:148px}
.home-page .home-bgm-caption{font-size:16px;padding:11px 14px}
.home-page .jukebox-track-bar{height:32px;font-size:17px}
.home-page .jukebox-buttons-row{height:38px}
.home-page .jukebox-btn{width:28px;height:28px}
}

/* Match the left stack to the shortcut stack without changing the room. */
@media(orientation:landscape){
.home-page .left-column{width:250px;height:484px;gap:16px;transform:translateY(21px)}
.home-page .profile-widget{flex:1;min-height:0}
.home-page .retro-box-title{height:32px;font-size:17px}
.home-page .profile-widget-body{padding:10px 12px;gap:8px}
.home-page .profile-avatar-circle{width:110px;height:110px}
.home-page .profile-greeting-text{font-size:18px}
.home-page .profile-instagram-btn{font-size:15px;height:28px}
.home-page .todayis-box{flex:none}
.home-page .todayis-body{height:54px;font-size:17px}
.home-page .jukebox-card{flex:none;padding:40px 12px 10px;min-height:120px}
.home-page .home-bgm-caption{font-size:14px;padding:9px 12px}
.home-page .jukebox-track-bar{height:29px;font-size:15px}
.home-page .jukebox-buttons-row{height:32px}
.home-page .jukebox-btn{width:25px;height:25px}
}
.home-page #puangProfileAvatarImg{width:100%;height:100%;object-fit:contain;transform:none}
.home-page .todayis-body{display:flex;gap:18px}
.home-page .visit-stat{display:flex;align-items:center;gap:7px;font:500 15px Pretendard,sans-serif;color:#527098}
.home-page .visit-stat strong{font-size:19px;color:#2856b3;font-variant-numeric:tabular-nums}

/* Equal outer gutters, aligned with the shared logo; room tracks stay fixed. */
@media(orientation:landscape){
.home-page .left-column{left:69px}
.home-page .right-notes-col{left:-69px}
}

@media(orientation:landscape){.home-page .right-notes-col{transform:translateY(22px)}}
@media(orientation:landscape){body.home-page .content-body{bottom:var(--page-bottom-space,32px)}}

/* BGM uses the same window heading as PROFILE and TODAY / TOTAL. */
.home-page .home-bgm-caption {
 box-sizing:border-box;height:32px;padding:0 12px;align-items:center;
 background:var(--panel-blue-header);color:#fff;border-bottom:0;
 border-radius:5px 5px 0 0;letter-spacing:.04em;
}
.home-page .home-bgm-caption span {color:#fff;opacity:.8;}
