#gameNav{position:relative;z-index:8;margin:0 0 9px;flex:none}.nav-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;background:#f3e6f4;border:1px solid #e1c6df;padding:5px;border-radius:12px}.nav-groups>button{min-width:0;min-height:42px;padding:8px 3px;font-size:13px;background:#fff7e9;border-color:#e6cbdc;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.nav-groups>button[aria-expanded=true]{background:#eacbe3;border-color:#b880aa}.nav-groups>button span{margin-left:7px}[data-nav-panel]{position:absolute;top:calc(100% + 3px);left:0;right:0;padding:16px;background:#fff6ef;border:2px solid #d7b2d0;border-radius:0 0 18px 18px;box-shadow:0 16px 30px #614e7533;animation:nav-slide .2s ease-out;max-height:65dvh;overflow:auto}[data-nav-panel][hidden]{display:none}.nav-panel-title{display:flex;justify-content:space-between;color:#926086;margin-bottom:10px;font-weight:bold}.nav-panel-title small{font-size:10px;font-weight:normal}.nav-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.nav-actions button{min-height:44px;background:#fae8f2;border-color:#e5c8df;font-size:13px}.nav-actions button:nth-child(2n){background:#fff1c5}#closePanel{display:none}.rotate-tip{display:none}button,select{touch-action:manipulation}#world{touch-action:manipulation}dialog{max-height:90dvh;overflow:auto}@keyframes nav-slide{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){[data-nav-panel]{animation:none}}
@media(max-width:999px),(max-height:639px){#gameShell aside{position:fixed;top:116px;right:max(8px,env(safe-area-inset-right));bottom:8px;width:min(355px,calc(100vw - 16px));z-index:7;display:flex;flex-direction:column;background:#fff8f1;border:2px solid #d4b0cb;border-radius:16px;box-shadow:0 12px 40px #66516d55;transform:translateY(-15px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .2s,opacity .2s,visibility .2s;overflow:hidden}#gameShell.panel-open aside{transform:none;opacity:1;visibility:visible;pointer-events:auto}#gameShell #closePanel{display:block;flex:none;border:0;border-radius:0;background:#ebcee4;min-height:38px;color:#855676}#gameShell #tabs{display:grid;grid-template-columns:repeat(4,1fr);flex:none}#gameShell #tabs button{padding:10px 2px;font-size:11px}#gameShell #panel{overflow:auto;min-height:0;max-height:none;flex:1;padding:12px}.nav-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-groups>button{font-size:12px}#gameShell main{padding:4px max(8px,env(safe-area-inset-right)) 4px max(8px,env(safe-area-inset-left))}.nav-panel-title small{display:none}}
@media(orientation:landscape) and (max-height:639px){#gameShell{height:100dvh;display:flex;flex-direction:column;overflow:hidden}#gameShell header{height:34px;min-height:34px;padding:3px max(12px,env(safe-area-inset-left));flex-direction:row}#gameShell .brand{font-size:13px}#gameShell .brand>span{font-size:13px}#gameShell .topstats{font-size:12px;width:auto;gap:14px}#gameShell main{flex:1;min-height:0;display:flex;flex-direction:column;width:100%}#gameShell .hero{margin:0 0 3px}#gameShell .daycard{gap:12px}#gameShell .daycard strong{font-size:14px}#gameShell .daycard button{padding:4px 12px;font-size:12px;min-height:30px}#gameNav{margin-bottom:3px}.nav-groups{padding:3px;gap:4px}.nav-groups>button{min-height:34px;padding:5px 3px}.nav-actions button{min-height:42px}.nav-actions{grid-template-columns:repeat(4,minmax(0,1fr))}[data-nav-panel]{max-height:calc(100dvh - 122px);padding:10px}#gameShell .layout{flex:1;min-height:0;display:block}#gameShell .left{height:100%;display:flex;flex-direction:column;align-items:center;overflow:hidden}#gameShell .scenehead,#gameShell .journal,#gameShell .scenehint,#gameShell footer{display:none}#gameShell .canvaswrap{width:min(100%,calc((100dvh - 151px)*1.83333));flex:none;margin:auto}#gameShell #world{width:100%;height:auto;display:block}#gameShell .metrics{display:flex;justify-content:center;gap:8px;min-height:24px;margin:0;width:100%}#gameShell .metrics>div{padding:2px 8px;font-size:10px;flex:1;max-width:230px}#gameShell .metrics strong{font-size:11px;display:inline;float:right}#gameShell .metrics .bar{height:3px;margin-top:2px}.fishing-screen{padding:5px max(10px,env(safe-area-inset-left));display:grid;grid-template-columns:minmax(0,1fr) 245px;grid-template-rows:auto 1fr;align-items:start;gap:5px}.fishing-top{grid-column:1/-1;padding:0;max-width:none}.fishing-top h2{font-size:14px;margin:0}.fishing-top .eyebrow{display:none}.fishing-top button{padding:5px 9px}.fishing-screen canvas{max-height:calc(100dvh - 48px);width:100%;align-self:center}.fishing-controls{max-height:calc(100dvh - 48px);overflow:auto;padding:4px;font-size:11px}.fishing-controls p{margin:5px 0}.fishing-controls>div{flex-wrap:wrap;gap:6px}.fishing-controls button{min-width:90px;padding:8px;font-size:12px}.fishing-controls small{font-size:10px;margin:6px 0}#wardrobeScreen{padding:5px 12px}.wardrobe-top{margin-bottom:5px}.wardrobe-top h2{font-size:15px}.wardrobe-top .eyebrow{display:none}.wardrobe-layout{grid-template-columns:minmax(0,1fr) 310px;gap:8px}.wardrobe-layout canvas{max-height:calc(100dvh - 50px);object-fit:contain}.wardrobe-options{max-height:calc(100dvh - 50px);padding:10px}.wardrobe-confirm{bottom:-10px}.prologue-screen{padding:5px}.prologue-screen canvas{max-height:48dvh}.prologue-dialogue{min-height:0;padding:8px 18px}.prologue-dialogue p{font-size:15px;margin:5px 0}.prologue-dialogue button{padding:6px 12px}}
@media(orientation:portrait) and (max-width:700px){.rotate-tip{display:block;text-align:center;font-size:11px;padding:5px;background:#fff0c6;color:#89657d}.nav-groups>button{font-size:11px}.nav-groups>button span{margin-left:2px}#gameShell aside{top:174px}}
/* The opening control stays inside the shop view at every canvas size. */
#gameShell .canvaswrap{position:relative}.shop-opening{position:absolute;left:14%;bottom:5%;width:27%;z-index:2;display:flex;flex-direction:column;align-items:center;gap:3px}.shop-opening #nextDay{width:100%;min-height:40px;padding:8px 10px;background:#f2bd83;color:#714937;border:2px solid #d79a70;border-radius:13px;box-shadow:0 3px 0 #b8896c44;font-weight:bold;font-size:clamp(11px,1.2vw,17px)}.shop-opening #nextDay:hover{background:#ffd3a1}.shop-opening #nextDay:focus-visible{outline:3px solid #9b678b;outline-offset:2px}.shop-opening small{background:#fff3dfed;color:#896650;border-radius:5px;padding:2px 5px;font-size:clamp(8px,.8vw,11px);text-align:center}@media(max-height:500px){.shop-opening{bottom:3%;width:30%}.shop-opening #nextDay{min-height:30px;padding:4px;font-size:11px}.shop-opening small{font-size:8px}}

.shop-checkout{position:absolute;left:49%;bottom:6%;width:27%;z-index:3;border:2px solid #be708a;border-radius:14px;padding:10px 6px;background:#ffe5e9;color:#743950;font-size:clamp(11px,1.2vw,17px);font-weight:bold;min-height:40px}.shop-checkout[hidden]{display:none}.shop-checkout:disabled{background:#eee4dc;color:#8e8179;border-color:#bcaea3}.checkout-ready{background:#ffd084;box-shadow:0 0 0 4px #fff2be;animation:checkoutPulse 1.3s ease-in-out infinite}@keyframes checkoutPulse{50%{box-shadow:0 0 0 7px #fff2be88;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.checkout-ready{animation:none}}
.morning-transition{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:linear-gradient(135deg,#f6ddec,#fff0bf 55%,#e6dbf4);animation:morningReveal 2s ease-in-out both;pointer-events:all}.morning-transition[hidden]{display:none}.morning-card{text-align:center;color:#946381;border:3px solid #fff9ed;background:#fff7e9dd;border-radius:40px;padding:25px 65px;box-shadow:0 12px 45px #ad7d9920;animation:morningCard 2s ease-in-out both}.morning-card strong{display:block;font-size:clamp(24px,4vw,42px)}.morning-card p{font-size:18px;line-height:1.8}.morning-sun{color:#e8af58;font-size:60px;animation:morningSun 2s ease-in-out both}.morning-card span{color:#be91bb;font-size:24px}@keyframes morningReveal{0%,55%{clip-path:inset(0 0 0 0 round 0)}100%{clip-path:inset(0 0 100% 0 round 0 0 45% 45%)}}@keyframes morningCard{0%{opacity:0;transform:translateY(15px) scale(.94)}20%,55%{opacity:1;transform:none}85%,100%{opacity:0;transform:translateY(-35px)}}@keyframes morningSun{from{transform:rotate(-30deg)}to{transform:rotate(20deg)}}@media(prefers-reduced-motion:reduce){.morning-transition{animation:morningFade 2s both}.morning-card,.morning-sun{animation:none}@keyframes morningFade{0%,60%{opacity:1}100%{opacity:0}}}@media(max-height:500px){.morning-card{padding:12px 45px}.morning-sun{font-size:40px}.morning-card p{margin:8px;font-size:15px}}
.plaza-banner.plaza-evening{background:linear-gradient(150deg,#edb4c7,#f8c59e 60%,#ffe6b1);box-shadow:inset 0 0 50px #e99c9944}
.town-screen{position:fixed;inset:0;background:#d9dec9;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center}.town-screen[hidden]{display:none}.town-screen canvas{width:min(100%,calc((100dvh - 58px)*1.6923));max-width:1350px;max-height:calc(100dvh - 58px);object-fit:contain;touch-action:none;border-radius:14px}.town-controls{display:flex;gap:12px;align-items:center;justify-content:center;min-height:54px;color:#8b7287}.town-controls button{background:#fff0de;border:2px solid #d3a6bf;border-radius:14px;padding:8px 18px;color:#875a7a}.town-controls span{font-size:12px}@media(max-width:700px){.town-controls span{display:none}}
.day-speed{position:absolute;left:62%;top:2%;width:14%;z-index:3;background:#fff1d9;border:2px solid #d2abbe;color:#946781;border-radius:12px;padding:8px 2px;font-weight:bold;font-size:clamp(10px,1vw,15px)}.day-speed:hover{background:#f9d9e7}.day-speed:focus-visible{outline:3px solid #ba82af;outline-offset:2px}@media(max-height:500px){.day-speed{padding:4px 1px}}
