@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap');
:root{--ink:#294b45;--muted:#5c6d56;--cream:#fff7df;--paper:#f6edce;--gold:#e9be69;--coral:#bd7259;--green:#3a6655;--line:#c8c9a3;--shadow:#153c4233}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#4c8e99;color:var(--ink);font:15px 'DM Sans',sans-serif}button{font:600 14px 'DM Sans',sans-serif;cursor:pointer;border:0;color:inherit;background:none;touch-action:manipulation}button:disabled{cursor:default;opacity:.46}button:focus-visible{outline:3px solid #e19e4c;outline-offset:4px}kbd{font:500 11px 'DM Sans',sans-serif;border:1px solid currentColor;border-radius:5px;padding:2px 5px;opacity:.75}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:500}#game-shell,#world{position:fixed;inset:0}#world canvas{display:block;touch-action:none}#world{outline:none}[hidden]{display:none!important}.primary{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 24px;background:var(--green);color:var(--cream);border-radius:13px;box-shadow:0 4px 0 #244b3d;font-size:16px;min-height:52px;transition:transform .15s,background .15s}.primary:hover{background:#47795f;transform:translateY(-1px)}.text-button{padding:13px 6px;text-decoration:underline;text-underline-offset:4px;font-size:13px}.eyebrow{font-size:10px;letter-spacing:2px;line-height:1.7;font-weight:700;color:#6c795f}#loading{position:absolute;inset:0;background:#264c4b;display:grid;place-content:center;gap:18px;text-align:center;color:var(--cream);z-index:20}.loading-star{font-size:54px;color:var(--gold);animation:breathe 2s ease-in-out infinite}
#title-screen{position:absolute;inset:0;background:linear-gradient(90deg,#183f4a88,transparent 65%);padding:clamp(25px,5vh,65px) 6vw;display:flex;align-items:center}.title-card{width:365px;background:var(--cream);border:1px solid #fffdf3;border-radius:9px 56px 12px 12px;padding:32px 35px 24px;box-shadow:0 14px 65px #123b4d45;position:relative}.title-card:after{content:'';position:absolute;inset:9px;border:1px solid #c6c8a8;border-radius:4px 46px 6px 6px;pointer-events:none}.title-card .eyebrow{letter-spacing:1.2px;font-size:9px;display:flex;gap:7px;align-items:center}.title-card .eyebrow span{font-size:24px;color:var(--coral)}h1{font-size:48px;line-height:.96;letter-spacing:-1.9px;margin:24px 0 21px}h1>span{font:italic 23px 'Fraunces',Georgia,serif;letter-spacing:-.4px}h1 em{display:block;font-style:normal;font-size:67px;color:var(--green);line-height:.92;margin-top:4px}.title-description{font-size:14px;line-height:1.65;margin:18px 0 24px;color:#64725f}.title-card .primary{width:100%}.title-card>.text-button{width:100%;margin-top:5px}.menu-bottom{border-top:1px solid #d6d6b8;padding-top:16px;margin-top:10px;font-size:10px;text-align:center;color:#657960}.menu-bottom small{display:block;font-size:9px;margin-top:8px;color:#82907b}.world-caption{position:absolute;bottom:40px;right:5vw;color:#fff9df;text-align:right;text-shadow:0 2px 12px #133f45}.world-caption>span{font-size:10px;letter-spacing:3px}.world-caption b{display:block;font:24px 'Fraunces',Georgia,serif;margin:9px 0}.world-caption>div{font-size:8px;letter-spacing:2px}
#hud{position:absolute;inset:0;pointer-events:none}#hud button,#hud a,#joystick{pointer-events:auto}.top-left{position:absolute;left:max(22px,env(safe-area-inset-left));top:max(22px,env(safe-area-inset-top));max-width:350px}.location{display:flex;align-items:center;gap:12px;background:#fff7e5f2;padding:12px 17px;border-radius:15px;box-shadow:0 4px 20px var(--shadow)}.location-sun{font-size:28px;color:#bd9456}.location small{display:block;font-size:8px;letter-spacing:1.3px;color:#7e876c}.location b{font:21px 'Fraunces',Georgia,serif;display:block;margin-top:3px}#spark-count{font-size:13px;white-space:nowrap;margin-left:12px;color:#97764b}.quest-chip{display:block;text-align:left;margin:11px 0 0 3px;padding:10px 13px;max-width:295px;background:#f7f1d9e8;border-radius:3px 12px 12px 12px;box-shadow:0 4px 15px #174c4e10}.quest-chip>span{display:block;font-size:8px;color:#52694c;letter-spacing:1.7px}.quest-chip>b{font-size:12px;display:block;line-height:1.5;margin-top:4px;font-weight:500}.quest-chip>small{display:block;font-size:9px;color:#52694c;margin-top:5px}.top-right{position:absolute;top:max(22px,env(safe-area-inset-top));right:max(22px,env(safe-area-inset-right))}.mini-map{width:154px;height:126px;border:5px solid #fff5d9;border-radius:40% 40% 15px 15px;overflow:hidden;position:relative;padding:0;box-shadow:0 5px 20px var(--shadow)}.mini-map canvas{width:100%;height:100%;display:block}.mini-map>span{position:absolute;top:5px;left:50%;transform:translateX(-50%);font-size:9px;color:var(--cream)}.mini-map i{display:block;font-size:18px;font-style:normal}.utility{display:flex;justify-content:flex-end;gap:7px;margin-top:9px}.utility button{background:var(--cream);border-radius:11px;min-height:43px;padding:10px 14px;box-shadow:0 3px 0 #d5cbaa}.utility kbd{margin-left:8px}#context-action{position:absolute;left:50%;bottom:max(27px,env(safe-area-inset-bottom));transform:translateX(-50%);text-align:center}#surface-label{font-size:10px;color:#fff9e4;text-shadow:0 1px 6px #173d43;display:block;letter-spacing:1.4px;margin-bottom:7px}#interact{background:var(--cream);box-shadow:0 3px 0 #d3c498,0 7px 22px var(--shadow);padding:13px 18px;border-radius:13px;min-width:175px;display:flex;gap:12px;align-items:center;justify-content:center;font-size:13px;white-space:nowrap}#interact:disabled{opacity:.8}#interact kbd{background:#3c6756;color:#fff5d6;opacity:1;border:0;padding:5px 8px}.desktop-hint{position:absolute;left:24px;bottom:28px;font-size:10px;color:#fff7df;text-shadow:0 2px 5px #285447}.desktop-hint span{opacity:.7;margin-left:3px}#save-indicator{position:absolute;right:24px;bottom:28px;font-size:9px;color:#fff4d7;text-shadow:0 1px 4px #234d48}#region-banner{position:absolute;top:26%;left:50%;transform:translateX(-50%);font:italic 32px 'Fraunces',Georgia,serif;color:#fff5d5;text-shadow:0 2px 15px #1e5559;opacity:0;transition:opacity .8s;pointer-events:none;white-space:nowrap}#region-banner.show{opacity:1}#toast{position:absolute;left:50%;top:25px;transform:translate(-50%,calc(-100% - var(--toast-top,25px) - 40px));background:var(--cream);color:var(--ink);padding:13px 22px;border-radius:14px;font-size:13px;box-shadow:0 6px 26px var(--shadow);transition:transform .25s;z-index:30;text-align:center;max-width:min(420px,90vw);pointer-events:none}#toast.show{transform:translate(-50%,0)}
dialog{color:var(--ink);border:1px solid #fffbea;background:var(--cream);box-shadow:0 20px 100px #103a4550;padding:32px;border-radius:23px;max-height:88dvh;width:min(610px,92vw);overflow:auto}dialog::backdrop{background:#183e4977;backdrop-filter:blur(3px)}.close-button{position:absolute;right:16px;top:14px;font-size:25px;width:42px;height:42px;border-radius:50%;background:#e7e8cc}dialog h2{font-size:34px;line-height:1.1;margin:9px 30px 20px 0}:is(#panel-body,.panel-body-ghost){font-size:14px;line-height:1.7}:is(#panel-body,.panel-body-ghost) p{margin-bottom:16px}:is(#panel-actions,.panel-actions-ghost){display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}:is(#panel-actions,.panel-actions-ghost) button:not(.primary){border:1px solid var(--line);border-radius:10px;padding:11px 17px}.inventory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.inventory-item{background:#e9ead2;text-align:center;border-radius:13px;padding:14px 5px;font-size:11px}.inventory-item span{display:block;font-size:29px;margin-bottom:5px}.inventory-item strong{display:block;font-size:16px;margin-top:5px}.muted{color:var(--muted);font-size:12px}.rule{height:1px;background:#daddb8;margin:20px 0}.recipe{display:grid;grid-template-columns:45px 1fr auto;gap:13px;align-items:center;padding:17px 0;border-bottom:1px solid #d9dcbc}.recipe-icon{font-size:32px}.recipe h3{font-size:23px;margin-bottom:3px}.recipe p{font-size:11px;margin:0!important;color:var(--muted)}.recipe button{background:var(--green);color:var(--cream);border-radius:10px;padding:11px 15px}.recipe-ingredients{font-size:11px;margin-top:7px}.missing{color:#b06853}.journal-task{padding:14px 0;border-bottom:1px solid #d8dbc0;display:grid;grid-template-columns:28px 1fr;gap:9px}.journal-task h3{font-size:21px;margin-bottom:4px}.journal-task p{font-size:12px;line-height:1.6;margin:0!important}.journal-task .done{color:#539074}.map-canvas{width:100%;border-radius:15px;cursor:crosshair}.map-legend{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin-top:12px}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #d8dbc0}.settings-row button{border-radius:8px;background:#e0e4c5;padding:9px 14px}.controls-list{display:grid;grid-template-columns:auto 1fr;gap:9px 20px;font-size:13px}.controls-list dt{font-weight:700}.controls-list dd{margin:0}
:is(#conversation,.conversation-ghost){width:min(700px,92vw);margin:auto auto 27px;padding:25px 30px;overflow:visible;border-radius:24px;display:none;grid-template-columns:100px 1fr;gap:20px}:is(#conversation,.conversation-ghost)[open]{display:grid}:is(#conversation,.conversation-ghost)::backdrop{background:#173b4326;backdrop-filter:none}.dialogue-portrait{width:96px;height:106px;background:#e2e8c7;border-radius:43% 43% 17px 17px;display:grid;place-items:center}.dialogue-portrait img{width:88px;height:95px;object-fit:contain;image-rendering:auto}.dialogue-copy .eyebrow{color:#b17652;letter-spacing:1.6px}.dialogue-copy p{font:19px/1.6 'Fraunces',Georgia,serif;margin:8px 0 15px;white-space:pre-line}.dialogue-copy button{padding:10px 15px;background:var(--green);color:var(--cream);border-radius:10px;margin:3px 7px 0 0}#skate-hud{position:absolute;top:22px;left:50%;transform:translateX(-50%);background:var(--cream);padding:12px 36px 12px 20px;border-radius:15px;text-align:center;box-shadow:0 5px 22px var(--shadow)}#skate-hud span{font-size:8px;letter-spacing:2px;color:var(--muted);display:block}#skate-hud b{font:21px 'Fraunces',Georgia,serif;display:block;margin:3px 0}#skate-hud small{font-size:11px;color:var(--muted)}#cancel-skate{position:absolute;right:5px;top:5px;font-size:23px;padding:5px}#touch-controls{display:none}#celebration{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:#24464cbf;color:var(--cream);backdrop-filter:blur(5px);z-index:15;padding:30px}#celebration>span{font-size:60px;color:var(--gold)}#celebration h2{font-size:clamp(32px,5vw,65px);margin:20px 0}#celebration p{margin-bottom:30px;font-size:15px}#celebration button{margin:auto}.cooking-dish{font-size:72px;text-align:center;margin:10px}.cooking-step{text-align:center}.cooking-step h3{font-size:27px}.cook-meter{height:30px;background:#ded9bc;border-radius:20px;position:relative;margin:24px 0;overflow:hidden}.cook-zone{position:absolute;left:30%;width:40%;height:100%;background:#9abb88;border-left:2px dashed #678a56;border-right:2px dashed #678a56}.cook-needle{position:absolute;left:50%;top:2px;width:6px;height:26px;border-radius:4px;background:#3c6555;box-shadow:0 0 0 2px #fff4d7}.cook-dots{font-size:22px;letter-spacing:10px;color:#bc8e51}.cooking-step .primary{margin:auto}.cook-feedback{height:25px;margin-top:14px;font-size:12px;color:#6b805e}
@keyframes breathe{50%{transform:scale(1.1);opacity:.6}}
@media(max-width:850px){.desktop-hint{display:none}.top-left{left:16px;top:16px;max-width:280px}.location{padding:10px 12px;gap:9px}.location b{font-size:18px}.location small{font-size:7px}.location-sun{font-size:23px}#spark-count{font-size:11px;margin-left:3px}.quest-chip{max-width:235px}.top-right{right:16px;top:16px}.mini-map{width:115px;height:95px}.utility button{padding:9px 11px}.utility kbd{display:none}.title-card{width:330px;padding:24px 30px}h1{font-size:42px;margin-top:18px}h1 em{font-size:60px}.world-caption{max-width:250px}.world-caption b{font-size:20px}}
@media(pointer:coarse){#touch-controls{display:block;position:absolute;left:26px;bottom:30px}#joystick{width:104px;height:104px;border:2px solid #fff6d68c;background:#fff6d625;border-radius:50%;touch-action:none;position:relative}#stick{position:absolute;left:29px;top:29px;width:42px;height:42px;border-radius:50%;background:#fff6d6b8;border:2px solid #fff8e9;pointer-events:none}#touch-run{position:absolute;left:116px;bottom:0;border-radius:50%;width:46px;height:46px;background:#fff4d8cb;font-size:22px}#context-action{left:auto;right:22px;bottom:35px;transform:none}#interact{min-width:95px;max-width:185px;white-space:normal}#interact kbd{display:none}.desktop-hint,#save-indicator{display:none}}
@media(max-width:600px){#title-screen{padding:25px;align-items:center;justify-content:center;background:#24464c66}.title-card{width:310px}.world-caption{display:none}.title-card .eyebrow{font-size:8px}.menu-bottom{font-size:9px}.top-left{left:10px;top:max(10px,env(safe-area-inset-top));max-width:245px}.location{padding:9px 10px}.location small{display:none}.location b{font-size:17px}.location-sun{font-size:22px}.quest-chip{max-width:230px;margin-top:7px;padding:8px 10px}.quest-chip b{font-size:10px}.quest-chip small{display:none}.top-right{right:10px;top:max(10px,env(safe-area-inset-top))}.mini-map{display:none}.utility{margin:0;gap:5px}.utility button{min-height:40px;padding:8px 10px;font-size:12px}.utility button:first-child{margin-top:49px}.utility button:last-child{position:absolute;right:0;top:0;width:40px}#context-action{bottom:24px}#save-indicator{display:none}#touch-controls{left:18px;bottom:25px}#touch-run{left:95px;bottom:-10px;width:38px;height:38px}#interact{max-width:155px;font-size:12px;padding:14px}#surface-label{font-size:8px}#skate-hud{top:147px;padding:9px 30px 9px 14px}#skate-hud b{font-size:16px}#skate-hud small{font-size:9px}.quest-chip>span{font-size:7px}#region-banner{font-size:26px;top:35%}dialog{padding:25px 22px}dialog h2{font-size:29px}.inventory-grid{grid-template-columns:repeat(3,1fr)}.recipe{grid-template-columns:34px 1fr auto;gap:9px}.recipe h3{font-size:20px}.recipe-icon{font-size:27px}.recipe button{padding:10px;font-size:12px}:is(#conversation,.conversation-ghost){grid-template-columns:58px 1fr;gap:12px;padding:20px;margin-bottom:20px}.dialogue-portrait{width:57px;height:73px}.dialogue-portrait img{width:55px;height:68px}.dialogue-copy p{font-size:16px}.dialogue-copy .eyebrow{font-size:9px}.dialogue-copy button{font-size:12px}.map-legend{font-size:9px}}
@media(max-height:650px) and (orientation:landscape){.title-card{padding:19px 28px;width:330px}.title-card .eyebrow{font-size:8px}h1{font-size:32px;margin:12px 0}h1 em{font-size:48px}.title-description{font-size:12px;margin:10px 0 16px}.menu-bottom{display:none}.title-card .primary{padding:12px 20px;min-height:44px}.title-card>.text-button{padding:10px}.quest-chip{max-width:250px}.mini-map{height:86px;width:110px}.top-left,.top-right{top:12px}#context-action{bottom:18px}.desktop-hint{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

@media(max-width:600px){.mini-map{display:block;position:absolute;right:45px;top:0;width:40px;height:40px;border:0;border-radius:11px;background:var(--cream)}.mini-map canvas,.mini-map>span{display:none}.mini-map:after{content:"Map";font-size:11px}.top-left{max-width:calc(100vw - 115px)}.location{gap:7px}#spark-count{margin-left:3px}}

#ninja-hud{position:absolute;left:50%;top:90px;transform:translateX(-50%);background:var(--cream);border-radius:16px;padding:13px 22px;width:225px;box-shadow:0 5px 22px var(--shadow);text-align:center;pointer-events:auto}
#ninja-hud>span{display:block;font-size:8px;letter-spacing:2px;color:var(--muted)}#ninja-hud>b{display:block;font:20px 'Fraunces',Georgia,serif;margin:4px 0 7px}#ninja-hud label{font-size:9px;display:block;text-align:left;color:var(--muted)}#ninja-alert{display:block;width:100%;height:7px;accent-color:#bd785e;margin:4px 0 6px;border:0;border-radius:8px;overflow:hidden}#ninja-alert::-webkit-progress-bar{background:#dedfc3}#ninja-alert::-webkit-progress-value{background:#c58062}#ninja-status{display:block;font-size:10px;min-height:15px}#sneak-toggle{background:var(--green);color:var(--cream);border-radius:9px;padding:9px 16px;margin-top:6px;min-height:40px}#sneak-toggle[aria-pressed=true]{background:#344f60;box-shadow:inset 0 0 0 2px #a9c9b5}#cancel-ninja{position:absolute;right:3px;top:3px;font-size:22px;padding:5px 10px}.earned-badge{padding:12px;background:#e2e8c7;border-radius:10px;margin-bottom:16px}.stealth-active .quest-chip{display:none}
@media(max-width:600px){#ninja-hud{top:112px;width:210px;padding:10px 16px}#ninja-hud>b{font-size:17px;margin:3px 0 5px}#ninja-hud>span{font-size:7px}#sneak-toggle{font-size:12px;padding:7px 14px}}

#ninja-hud{left:22px;top:98px;transform:none}.stealth-active #region-banner{display:none}@media(max-width:600px){#ninja-hud{left:10px;top:64px;width:210px}}

/* Brief entrances, with no input lock or animation in the gameplay loop. */
@keyframes soft-arrival{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes letter-arrival{from{opacity:0;transform:translateY(5px) rotate(3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes letter-departure{to{opacity:0;transform:translateY(-4px) rotate(-3deg)}}
@keyframes box-departure{0%,25%{opacity:1;translate:0 0}to{opacity:0;translate:0 -3px}}
@keyframes backdrop-arrival{from{opacity:0}to{opacity:1}}
.motion-readable{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;user-select:none}
.motion-word{display:inline-block;white-space:nowrap}
.motion-letter{display:inline-block;transform-origin:50% 80%;animation:letter-arrival 220ms cubic-bezier(.16,1,.3,1) var(--letter-delay,0ms) backwards}
dialog.motion-departure{z-index:40;pointer-events:none;animation:box-departure 180ms ease-in both}
.motion-departure .motion-letter{animation:letter-departure 120ms ease-in var(--letter-exit-delay,0ms) both}
#title-screen:not([hidden]) .title-card{animation:soft-arrival 480ms cubic-bezier(.16,1,.3,1) backwards}
#title-screen:not([hidden]) .title-card>*,#title-screen:not([hidden]) .world-caption{animation:soft-arrival 420ms cubic-bezier(.16,1,.3,1) 90ms backwards}
#title-screen:not([hidden]) .title-description{animation-delay:150ms}
#title-screen:not([hidden]) #start{animation-delay:210ms}
#hud:not([hidden]) .top-left,#hud:not([hidden]) .top-right,#hud:not([hidden]) #context-action>*,#skate-hud:not([hidden]),#ninja-hud:not([hidden]){animation:soft-arrival 320ms cubic-bezier(.16,1,.3,1) backwards}
#hud:not([hidden]) .top-right{animation-delay:60ms}
#celebration:not([hidden]){animation:backdrop-arrival 400ms ease-out backwards}
#celebration:not([hidden])>*{animation:soft-arrival 480ms cubic-bezier(.16,1,.3,1) 100ms backwards}
#celebration:not([hidden]) h2{animation-delay:160ms}
#celebration:not([hidden]) p{animation-delay:230ms}
#celebration:not([hidden]) button{animation-delay:280ms}
dialog[open]::backdrop{animation:backdrop-arrival 220ms ease-out}
.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after,.reduce-motion dialog::backdrop{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){dialog::backdrop{animation:none!important}}

/* The Pocket Gallery: original interactive canvases. */
.gallery-card{display:grid;grid-template-columns:58px 1fr;gap:4px 14px;width:100%;text-align:left;background:#e7e9d0;border:1px solid #ccd1aa;border-radius:16px;padding:16px;margin:14px 0;color:var(--ink)}.gallery-card strong{font:23px 'Fraunces',Georgia,serif}.gallery-card small{font-size:12px;font-weight:400}.gallery-card>b{font-size:11px;color:#52755b}.gallery-icon{grid-row:span 3;align-self:center;font-size:40px;text-align:center;border-radius:12px;background:#285078;color:#f4d790}.gallery-icon.popArt{background:#db9c79;color:#fff7df}.gallery-level{font-size:9px;letter-spacing:1.4px;color:#667a5b;margin:8px 0!important}.gallery-instructions{margin:8px 0 14px!important}.star-board{display:grid;grid-template-columns:24px repeat(5,1fr);gap:4px;max-width:350px;margin:12px auto;background:repeating-radial-gradient(ellipse at 60% 35%,#264c72 0 14px,#426c8e 17px 20px,#2d5579 23px 34px);border:8px solid #bf9a63;border-radius:12px;padding:10px;color:#fff4cf}.axis-label{align-self:center;text-align:center;font-size:12px;font-weight:700}.star-cell{aspect-ratio:1;min-height:38px;padding:0;background:#17365455;border:1px solid #b7d3df66;border-radius:9px;color:#fff0ab;font-size:29px}.star-cell[aria-pressed=true]{background:#e8c47130;text-shadow:0 0 10px #edca80}.star-cell:disabled,.pop-cell:disabled{opacity:1}.paint-palette{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.paint-palette button{padding:9px 12px;border:2px solid transparent;border-radius:9px;min-height:42px}.paint-palette button[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 2px var(--cream),0 0 0 3px var(--ink)}.paint-0{--paint:#e7e4d0;--tile:#e7e4d0}.paint-1{--paint:#ca7968;--tile:#eed2aa}.paint-2{--paint:#477998;--tile:#c8d9bd}.paint-3{--paint:#d5ac4f;--tile:#b8cddd}.paint-palette button{background:var(--paint);color:#183e42}.pop-board{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:14px 0}.pop-cell{display:grid;place-items:center;gap:5px;background:var(--tile);padding:10px 4px 6px;border-radius:9px;border:1px solid #294b4520}.pop-cell small{font-size:10px}.soup-can{display:grid;align-content:center;width:44px;height:62px;background:linear-gradient(var(--paint) 52%,#fff5dc 52%);border:2px solid #55716e;border-radius:40% / 9%;position:relative;color:#294b45}.soup-can:before,.soup-can:after{content:'';position:absolute;left:0;right:0;border:1px solid #55716e;border-radius:50%;height:6px;background:#c5cfc0}.soup-can:before{top:-2px}.soup-can:after{bottom:-2px}.soup-can b{font-size:8px;margin:6px 0}.soup-can>span{font-size:9px;margin-top:6px}.gallery-status{font-size:12px;text-align:center;margin:10px 0!important}.gallery-feedback{font-size:13px;line-height:1.5;color:#426348}.gallery-tools{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.gallery-tools button{border:1px solid var(--line);border-radius:9px;padding:10px}.gallery-source{display:inline-block;font-size:11px;color:var(--green);margin-top:8px}:is(#panel-body,.panel-body-ghost)>.gallery-tools+.primary{margin:12px 0}.gallery-card:focus-visible,.star-cell:focus-visible,.pop-cell:focus-visible{outline-offset:1px}
@media(max-width:600px){.gallery-card{padding:12px;grid-template-columns:44px 1fr;gap:5px 10px}.gallery-card strong{font-size:20px}.gallery-card small{font-size:11px}.star-board{padding:6px;border-width:6px;gap:3px}.star-cell{font-size:25px}.paint-palette{gap:6px}.paint-palette button{padding:8px 9px}.pop-board{gap:5px}.pop-cell{padding-top:8px}.gallery-tools{gap:6px}.gallery-tools button{font-size:12px;padding:10px 8px}}

.paint-palette .paint-2,.pop-cell.paint-2 .soup-can b{color:var(--cream)}

/* Interior hints occupy the existing quest chip; keep the room itself playable. */
.indoors .location-sun{font-size:0}.indoors .location-sun:after{content:'⌂';font-size:25px}.indoors #time-label{font-size:0}.indoors #time-label:after{content:'A LITTLE ROOM STORY';font-size:8px;letter-spacing:1px}.indoors .quest-chip{background:#fff0dbe8}.indoors .location b{font-size:19px}
@media(max-width:600px){.indoors .location b{font-size:15px}.indoors #spark-count{display:none}.indoors #time-label{display:none}.indoors #region-banner{font-size:22px}.indoors .quest-chip b{font-size:10px}}

/* Adventure choices keep clues opt-in and leave room for the world. */
.journal-current{background:#e4e8cc;border-left:3px solid var(--gold);border-radius:4px 14px 14px 4px;padding:16px;margin:18px 0}
.journal-current small{font-size:9px;letter-spacing:1.6px}.journal-current h3{font-size:23px;margin:5px 0}.journal-current p{margin:0!important}
.journey-card{padding:17px 0;border-bottom:1px solid var(--line)}.journey-heading{display:flex;align-items:center;gap:12px}.journey-heading>span{font-size:23px;color:#97764b}.journey-heading h3{font-size:23px}.journey-card>p{font-size:13px;margin:6px 0 12px!important}.journey-card.selected .journey-heading>span{color:var(--green)}.journey-card.complete{opacity:.75}.journey-actions{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.journey-actions>button,.map-goal{border-radius:9px;background:var(--green);color:var(--cream);padding:12px 15px;min-height:44px}.journey-hint{font-size:12px;max-width:100%}.journey-hint summary{cursor:pointer;padding:13px 0;text-decoration:underline;text-underline-offset:4px}.journey-hint p{background:#e9e8d0;border-radius:9px;padding:12px;margin:0!important}.map-goal{margin-top:12px}
#celebration{overflow-y:auto;padding:35px 20px}#ending-memories{list-style:none;padding:14px 20px;margin:18px auto 24px;max-width:470px;border-block:1px solid #fff5d94d;display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left;font-size:12px;line-height:1.5}#ending-memories li:before{content:'✧ ';color:var(--gold)}#ending-journal{color:var(--cream);margin:12px auto;display:block}
@media(min-width:950px){.indoors .top-left{max-width:280px}.indoors .quest-chip{max-width:270px}.indoors .location b{font-size:17px}.indoors #spark-count{margin-left:2px}.indoors #context-action{left:calc(50% + 70px)}}
@media(max-width:600px){.journey-heading h3{font-size:20px}.journey-actions{gap:6px}#ending-memories{grid-template-columns:1fr;font-size:11px}#celebration h2{font-size:35px}}

#cook-helper{display:block;margin:12px auto 0;min-height:44px}#cook-guide{min-height:40px}.indoors #time-label:after{font-size:7px;letter-spacing:.7px}.cook-feedback{height:auto;min-height:25px}

#celebration{place-content:safe center}#celebration .text-button{padding:12px}

.keepsake-story{border-bottom:1px solid var(--line);padding:12px 0}.keepsake-story summary{cursor:pointer;font-family:'Fraunces',Georgia,serif;font-size:20px}.keepsake-story p{font-size:13px;line-height:1.7}

/* Finished paintings stay vivid; disabled tools still read as inactive. */
.star-cell:disabled,.pop-cell:disabled{opacity:1}
.gallery-feedback:focus{outline:2px solid var(--green);outline-offset:5px;border-radius:3px}

/* Leave the lap counter visible while encouragement appears. */
.skating-active #toast{--toast-top:120px;top:var(--toast-top)}
@media(max-width:600px){.skating-active #toast{--toast-top:232px;font-size:12px;padding:10px 16px}}

/* Keep compact controls legible and distinct when navigating by keyboard. */
dialog>.eyebrow{padding-right:40px}#cancel-skate,#cancel-ninja{min-width:40px;min-height:40px}

/* Long conversations remain readable and every choice stays reachable. */
:is(#conversation,.conversation-ghost){overflow-y:auto;overscroll-behavior:contain}
@media(max-width:400px){:is(#conversation,.conversation-ghost)[open]{display:block}.dialogue-portrait{float:left;margin:0 12px 10px 0}.dialogue-copy>.eyebrow{min-height:73px;display:flex;align-items:center}.dialogue-copy p{clear:both}.dialogue-copy button{min-height:44px}}

@media(max-width:400px){.star-board{grid-template-columns:16px repeat(5,minmax(0,1fr));border-width:4px;padding:4px}.star-cell{min-width:0}}

@media(min-width:760px) and (max-width:949px) and (max-height:499px){.indoors .top-left{max-width:200px}.indoors .location{padding:9px 10px}.indoors .location b{font-size:15px}.indoors .location-sun{display:none}.indoors .quest-chip{max-width:195px}.indoors .quest-chip small{display:none}.indoors #spark-count{display:none}.indoors #context-action{left:calc(50% + 55px)}}
