@charset "UTF-8";
/* Pointer clicks leave no focus rectangle; keyboard focus remains visible in blue. */
button:focus:not(:focus-visible){outline:none!important}
button:focus-visible{outline:2px solid #b8cbd7!important;outline-offset:3px}
.bag-item.recipe-locked{background:#8b795c55;color:#75654f;box-shadow:inset 0 0 0 999px #30251c28}
.bag-item.recipe-locked>span:first-child{filter:brightness(.45) saturate(.35)}
.recipe-lock-label{display:block;margin-top:4px;font-size:11px;color:#76664f}
#night[data-first-night-locked="true"]:disabled{opacity:1;cursor:default;filter:none}
/* Theo: uniform scale, preserve the original walk's small foot movement. */
.guest[data-customer="villager"],.episode-partner[data-customer="villager"]{width:235.576923px;height:336.089744px;bottom:197.567667px}
.guest[data-customer="villager"].guest-browsing-walk img,.guest[data-customer="villager"].guest-walking img,.episode-partner[data-customer="villager"].episode-leaving img{position:absolute;width:244.113924px;height:367.721519px;left:calc(50% - 122.056962px);bottom:-24.460808px;image-rendering:pixelated}
.item-icon{width:72px;height:72px;object-fit:contain;image-rendering:pixelated;vertical-align:middle;display:inline-block;flex:0 0 72px;overflow:visible}
.large-icon{width:88px;min-width:88px;height:88px;display:flex;align-items:center;justify-content:center;overflow:visible}
.bag-item>.item-icon{width:72px;height:72px;flex-basis:72px}
.footer-actions{display:flex;align-items:center;gap:16px;white-space:nowrap}
:root{color-scheme:dark;--ink:#432616;--cream:#f9e6b9;--gold:#dfa649;--edge:#77502a;--wood:#392114;--green:#436b4f;font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 30%,#55331b,#180f0b 75%);color:var(--cream);min-height:100vh;display:grid;place-items:center}button{font:inherit;cursor:pointer;}button:focus-visible{outline:3px solid #ffe09a;outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.47}button:not(:disabled):active{transform:translateY(2px)}.shell{width:100%;padding:18px 20px 10px}.frame{position:relative;margin:auto;overflow:hidden;box-shadow:0 18px 80px #0009;border:2px solid #795231;border-radius:5px}.stage{position:relative;width:1672px;height:941px;transform-origin:top left;overflow:hidden}.background{position:absolute;width:100%;height:100%;inset:0;pointer-events:none}.wood,.chip{border:3px solid #9c6b32;border-radius:6px;background:linear-gradient(#603a22,#382116 35%,#442619);color:var(--cream);box-shadow:inset 0 0 0 2px #251209,inset 0 0 0 4px #bd884854,0 5px 0 #25140f,0 8px 14px #0005;text-shadow:0 2px #24120b}.wood:not(:disabled):hover{border-color:#efc470;background:linear-gradient(#795027,#4b2e1c 45%,#53321d)}.status{display:flex;position:absolute;left:36px;top:27px;gap:16px}.chip{display:flex;align-items:center;gap:18px;min-width:226px;padding:13px 23px;font-size:27px;font-weight:800}.sun{color:#ffd365;font-size:36px}.coin{color:#ffd15e;text-shadow:0 0 2px #f7bf36,2px 2px #8b591a;font-size:35px}.night{position:absolute;right:33px;top:27px;padding:16px 24px;font-size:27px;font-weight:800;background:linear-gradient(#344a71,#202844 50%,#20253b);min-width:305px}.night span{font-size:36px;color:#ffe09c;vertical-align:middle;margin-right:11px}.night:not(:disabled):hover{background:linear-gradient(#47618c,#303f66)}.parchment{background:linear-gradient(120deg,#f8e9c8,#ecd4a3);color:var(--ink);border:4px solid #75502d;border-radius:9px;box-shadow:inset 0 0 0 3px #c09556,inset 0 0 32px #ba8c4040,0 10px 25px #140c0890}.quest{position:absolute;left:36px;top:119px;width:330px;padding:21px}.quest h2{font-size:24px;margin:0 0 15px;border-bottom:1px solid #b49362;padding-bottom:14px}.quest h3{font-size:23px;margin:15px 0 12px}.quest p{font-size:20px;line-height:1.55;margin:6px 0}.quest .quest-link{display:block;width:100%;text-align:right;border:0;border-top:1px solid #b49362;background:none;color:var(--ink);padding:13px 0 0;margin-top:17px;font-size:20px;font-weight:800}.quest .muted{font-size:18px}.location{position:absolute;font-size:21px;padding:10px 19px}.bench{left:231px;top:558px}.counter{left:842px;top:558px}.counter span{font-size:17px;margin-left:8px;color:#dab474}.actor{position:absolute;bottom:21%;height:306px;pointer-events:none;filter:drop-shadow(0 7px 3px #1c10074d)}.actor img{height:100%;width:auto;display:block}.hero{left:37%;transform:translateX(-50%)}.hero.facing-left img{transform:scaleX(-1)}.guest{left:72%;transform:translateX(-50%);animation:arrival 2s ease-out}.guest img{transform:scaleX(-1)}@keyframes arrival{from{left:90%;opacity:.5}to{left:72%;opacity:1}}.speech{position:absolute;right:15%;top:43%;width:263px;background:#fff0cf;border:3px solid #81613c;color:#563422;border-radius:9px;box-shadow:0 5px 10px #0004;padding:12px 16px;text-align:left;font-size:18px;line-height:1.5}.speech:after{content:"";position:absolute;bottom:-15px;right:24%;border-top:14px solid #81613c;border-left:10px solid transparent;border-right:10px solid transparent}.speaker{display:block;color:#907043;font-size:15px;margin-bottom:4px;font-weight:bold}.speech small{display:block;font-size:13px;color:#91734f;margin-top:7px}.dock{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);display:flex;gap:14px}.dock button{position:relative;width:163px;height:133px;font-size:25px;font-weight:800;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}.menu-icon{font-size:45px;line-height:1.1;color:#e5bf76}.badge{position:absolute;right:10px;top:8px;background:#b64c30;color:#fff1c9;border:2px solid #e0b471;border-radius:50%;font-size:17px;min-width:27px;line-height:23px;text-shadow:none}.toast{position:absolute;left:50%;bottom:205px;transform:translateX(-50%);background:#22180ee8;border:2px solid #c69850;color:#ffecbf;padding:14px 24px;font-size:23px;border-radius:7px;opacity:0;transition:opacity .2s;pointer-events:none;max-width:750px;text-align:center}.toast.show{opacity:1}footer{display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:1672px;margin:12px auto 0;color:#b59570;font-size:13px}footer span:first-child{color:#dcc29d;font-weight:bold}footer i{font-style:normal;font-size:11px;opacity:.65;margin-left:10px}footer button{color:#c4a67d;background:none;border:0;font-size:13px;text-decoration:underline;text-underline-offset:4px}.panel{width:min(780px,94vw);max-height:88vh;padding:0;color:var(--ink);color-scheme:light}.panel::backdrop{background:#150d08a8;backdrop-filter:blur(3px)}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:24px 29px 20px;background:#e0c18c55;border-bottom:2px solid #c3a16d}.panel-head p{margin:0 0 5px;font-size:12px;letter-spacing:2px;color:#8b683d}.panel-head h1{font-size:28px;margin:0}.panel-head button{background:#573622;border:2px solid #9d773f;border-radius:5px;color:#fae6bd;width:39px;height:39px;font-size:27px}.panel-content{padding:24px 29px;max-height:65vh;overflow:auto}.panel-feedback{min-height:24px;margin:0;padding:0 29px 18px;font-size:14px;color:#81512f}.lead{font-size:16px;line-height:1.7;margin:0 0 20px}.muted{color:#8a7050;font-size:14px;line-height:1.6}.row-card{border:1px solid #b89a68;border-radius:6px;padding:17px 18px;margin-bottom:13px;background:#fffae033;display:flex;gap:17px;align-items:center}.row-card .large-icon{font-size:38px;min-width:45px;text-align:center}.row-main{flex:1;min-width:0}.row-main h2{font-size:19px;margin:0 0 7px}.row-main p{margin:4px 0;font-size:14px;line-height:1.7}.pill{display:inline-block;font-size:12px;padding:2px 7px;border:1px solid #b69966;border-radius:4px;margin-left:7px;background:#efdfbd;color:#6f5334}.pill.good{background:#d6e2be;color:#36563a;border-color:#8d9d69}.action{border:2px solid #a67a3b;background:linear-gradient(#6d4827,#49301d);color:#ffedc3;padding:10px 16px;border-radius:5px;font-weight:bold;font-size:15px;box-shadow:0 3px 0 #3b2718;white-space:nowrap}.action:not(:disabled):hover{background:#79532c}.action.primary{background:linear-gradient(#608254,#3b603d);border-color:#91a366;box-shadow:0 3px 0 #304b2d}.action.danger{background:#7c3e2e;border-color:#ad7655}.cost{display:flex;gap:6px;flex-wrap:wrap}.ingredient{font-size:13px;border:1px solid #c8ab76;border-radius:4px;padding:3px 7px;background:#f4e6c3;margin-top:4px}.ingredient.missing{color:#9b3e2f;background:#edcfb8;border-color:#c49371}.stat-line{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px 0;border-bottom:1px solid #bfa174;font-size:15px}.bag-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bag-item{display:flex;align-items:center;gap:10px;border:1px solid #c1a06b;border-radius:6px;padding:13px;background:#fff6d233;font-size:15px}.bag-item span:first-child{font-size:25px}.bag-item b{margin-left:auto}.section-label{font-size:17px;margin:22px 0 13px}.empty{padding:27px 15px;text-align:center;border:1px dashed #b89a68;border-radius:6px;color:#846746;line-height:1.8}.reward-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.reward{display:flex;gap:14px;align-items:center;text-align:left;border:2px solid #b99560;background:#f6e6be;border-radius:6px;padding:17px;color:var(--ink);font-size:16px}.reward.selected{border-color:#4d754c;background:#dce8bd;box-shadow:inset 0 0 0 2px #78935c}.reward .large-icon{font-size:33px}.reward small{display:block;font-size:13px;color:#836641;margin-top:5px}.bottom-action{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}.save-info{padding:15px;background:#dac3916b;border-radius:5px;margin-bottom:20px;font-size:14px;line-height:1.8}.win{padding:18px;border:1px solid #839459;background:#dce3b4;border-radius:5px;color:#36503a;line-height:1.7;margin-bottom:18px}
.actor{width:230px;z-index:2}.actor img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.hero{width:215px}.hero img{scale:var(--hero-idle-scale,1);transform-origin:50% 100%}.guest{animation:none}.speech{z-index:3}.dock,.toast{z-index:4}
.speech{top:auto;bottom:calc(21% + 306px + 28px);left:72%;right:auto;transform:translateX(-50%);width:300px}.speech:not(:disabled):active{transform:translate(-50%,2px)}.speech:after{left:50%;right:auto;transform:translateX(-50%)}
.progress-chip{display:block;width:350px;padding:12px 18px}.progress-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.progress-heading strong{font-size:26px;color:#ffe29c}.progress-heading span{font-size:18px;color:#e6cea6}.progress-chip progress{display:block;appearance:none;width:100%;height:13px;margin-top:9px;border:1px solid #b58b45;border-radius:3px;overflow:hidden;background:#25170e}.progress-chip progress::-webkit-progress-bar{background:#25170e}.progress-chip progress::-webkit-progress-value{background:linear-gradient(90deg,#5b946a,#c0cf73)}.progress-chip progress::-moz-progress-bar{background:linear-gradient(90deg,#5b946a,#c0cf73)}
.result-controls{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:12px}.result-controls label{display:flex;flex:1;min-width:180px;flex-direction:column;gap:7px;font-size:14px;font-weight:bold}.result-controls select,.result-controls input{font:inherit;font-size:16px;padding:10px 12px;border:2px solid #b99560;border-radius:5px;background:#fff0cd;color:var(--ink)}.result-controls input:focus-visible,.result-controls select:focus-visible{outline:2px solid #5d7947;outline-offset:2px}.stat-line+.reward-grid{margin-top:16px}

@media(prefers-reduced-motion:reduce){.guest{animation:none}.toast{transition:none}}
html{width:100%;overflow-x:hidden}body{width:100%;min-width:0}.shell{min-width:0;max-width:100vw}footer{flex-wrap:wrap;min-width:0}

.frame{overflow:clip}

/* First-day workshop introduction */
.panel.crafting-panel{width:min(560px,94vw)}.crafting-panel .panel-content{overflow:hidden;padding:18px 25px;max-height:calc(88vh - 112px)}.crafting-view{text-align:center}.crafting-art{width:min(360px,100%,calc(88vh - 300px));margin:0 auto;aspect-ratio:1}.crafting-art canvas,.crafting-art img{display:block;width:100%;height:100%;image-rendering:pixelated}.crafting-art [hidden]{display:none}.crafting-status{font-size:17px;font-weight:700;margin:12px 0 8px;min-height:26px}.crafting-view progress{display:block;appearance:none;width:min(360px,100%);height:12px;margin:0 auto;border:1px solid #a77d40;border-radius:3px;background:#cfb07b;overflow:hidden}.crafting-view progress::-webkit-progress-bar{background:#cfb07b}.crafting-view progress::-webkit-progress-value{background:#608254}.crafting-view progress::-moz-progress-bar{background:#608254}.crafting-hint{font-size:13px;color:#836641;margin:10px 0 14px}.crafting-view .action{min-width:140px}.crafting-panel .panel-feedback{min-height:0;padding-bottom:0}
.welcome-intro .lead{font-size:17px;line-height:1.65;margin:0 0 18px}.welcome-rules{margin:0}.welcome-rules>div{display:grid;grid-template-columns:108px 1fr;gap:15px;padding:10px 0;border-bottom:1px solid #c6a879}.welcome-rules dt{font-size:15px;font-weight:800;color:#69451f}.welcome-rules dd{margin:0;font-size:15px;line-height:1.6}.welcome-rules kbd{font:inherit;border:1px solid #af8b50;padding:2px 7px;border-radius:3px;background:#e5cca0}.welcome-first{font-size:15px;line-height:1.5;margin:18px 0 12px}.welcome-actions{text-align:right}.welcome-actions .action{min-width:180px}.panel:has(.welcome-intro) .panel-content{max-height:calc(88vh - 140px);padding:20px 29px}

.guest[hidden],.speech[hidden]{display:none}.guest.guest-walking img{transform:none}.speech.guest-thanks{opacity:1;cursor:default}.speech.guest-thanks small{display:none}
/* Approved large size: hero's visible height + half his head, same foot baseline.
   Original standing (1050x1498) and walk (627x627) both face right.
   Use one uniform size/placement for all walk frames; never resize body parts. */
.guest[data-customer="karden"]{width:258.518246px;height:368.819364px;bottom:199.785171px}
.guest[data-customer="karden"] img{scale:1;transform:scaleX(-1);image-rendering:pixelated}
.guest[data-customer="karden"].guest-browsing-walk img,.guest[data-customer="karden"].guest-walking img{position:absolute;width:375.053982px;height:375.053982px;left:calc(50% - 187.526991px);bottom:-2.290276px;scale:1;transform-origin:50% 100%}
.guest[data-customer="karden"].guest-walking img{transform:none}
.stage:has(.guest[data-customer="karden"]) #speech{bottom:587.987260px}

/* Saved volume control */
footer .audio-controls{display:flex;align-items:center;gap:14px;white-space:nowrap}footer .volume-control{display:flex;align-items:center;gap:9px;color:#dfc39b;font-size:13px;white-space:nowrap}footer .volume-control output{min-width:32px;text-align:right;color:#edcb88;font-variant-numeric:tabular-nums}footer .volume-control input{appearance:none;-webkit-appearance:none;width:112px;height:7px;border:1px solid #775737;border-radius:3px;background:linear-gradient(to right,#d4a456 0%,#d4a456 var(--volume,35%),#35251b var(--volume,35%),#35251b 100%);cursor:pointer;box-shadow:inset 0 1px 2px #0008}footer .volume-control input::-webkit-slider-thumb{appearance:none;width:15px;height:17px;border:2px solid #f1d79e;border-radius:3px;background:#b8813b;box-shadow:0 2px 2px #0006}footer .volume-control input:focus-visible{outline:2px solid #f1d79e;outline-offset:5px}footer>span:nth-child(2){flex:1;text-align:center}@media(max-width:1000px){footer>span:nth-child(2){order:5;flex-basis:100%;font-size:11px}footer .audio-controls{margin-left:auto}}

#speech-text{font-weight:400}
#speech-text strong{font-weight:800}

#close-panel{position:relative;display:grid;place-items:center;padding:0;line-height:1;font-size:0}
#close-panel::before,#close-panel::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;border-radius:1px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
#close-panel::after{transform:translate(-50%,-50%) rotate(-45deg)}

.sale-view{text-align:center;display:grid;justify-items:center;gap:10px}
.sale-art{width:min(100%,300px);aspect-ratio:5/6;overflow:hidden;border:2px solid #a57a40;background:#28170f;border-radius:8px}
.sale-art canvas,.sale-art img{width:100%;height:100%;display:block;image-rendering:pixelated;object-fit:contain}
.sale-art [hidden]{display:none}
.sale-view p{margin:0;color:#644426}
.sale-view progress{width:min(100%,300px);height:8px;accent-color:#a57935}
.sale-view small{color:#947451}
@media(max-height:700px){.sale-art{width:min(100%,240px)}}
.panel.crafting-panel::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}

/* Approved night exploration destination selection. */
.panel:has(.night-destinations){width:min(960px,94vw)}
.panel:has(.night-destinations) .panel-content{max-height:70vh;padding-top:20px}
.night-destinations{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.night-destination{display:flex;flex-direction:column;align-items:stretch;position:relative;text-align:left;padding:0;overflow:hidden;border:2px solid #b18a50;border-radius:6px;background:#f6e7c5;color:#503523;box-shadow:0 4px 0 #b89b6b;font-family:inherit;cursor:pointer}
.night-destination:not(:disabled):hover{border-color:#526b3e;box-shadow:0 4px 0 #718054}
.night-destination:focus-visible{outline:3px solid #638451;outline-offset:3px}
.night-thumb{display:block;flex-shrink:0;position:relative;height:110px;overflow:hidden;border-bottom:2px solid #b18a50}
.night-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 47%;image-rendering:pixelated}
.night-card-body{display:flex;flex:1;flex-direction:column;padding:15px 18px 13px}
.night-card-body strong{display:block;font-size:22px;font-weight:800;line-height:1.3}
.night-card-body>span{display:block;margin-top:7px;font-size:14px;color:#846442;line-height:1.5}
.night-card-body>b{display:block;text-align:right;margin-top:auto;padding-top:10px;font-size:15px;color:#476443}
.night-selection-note{font-size:14px;color:#846b4c;line-height:1.6;text-align:center;margin:22px 0 0}
.night-destination.chosen{border-color:#5d7b43;box-shadow:0 4px 0 #557043}
.night-chosen-label{position:absolute;left:10px;top:10px;padding:5px 10px;border:1px solid #b9cc8c;background:#385832;color:#fff4ce;font-size:13px;font-weight:700}
.night-destination:disabled{opacity:.48;cursor:default;box-shadow:0 4px 0 #b89b6b}

.night-card-body>.night-materials{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;color:#513c29}.night-material{display:inline-flex;align-items:center;gap:5px;background:#ead5ac;border:1px solid #c6a26c;border-radius:4px;padding:5px 7px;font-size:12px;font-weight:700;white-space:nowrap}.night-material .pixel-icon{width:25px;height:25px}.night-random-mark{display:grid;place-items:center;width:25px;height:25px;background:#617b42;color:#fff6db;border:2px solid #d6c690;font-size:18px;font-weight:800}.night-material.random{background:#dae1bd;border-color:#91a16e}.night-material small{font-size:10px;font-weight:400;color:#57733c}.night-reward-note{text-align:center;font-size:13px;line-height:1.7;color:#75593a;margin:10px 0 0}.night-selection-note{margin-top:18px}
.night-material .item-icon{margin:0;flex:0 0 25px;overflow:hidden}
.night-material-owned-tooltip{position:fixed;z-index:10000;pointer-events:none;display:grid;gap:5px;min-width:145px;padding:10px 14px;border:2px solid #b58b4c;border-radius:5px;background:#fff0cc;color:#503523;box-shadow:0 4px 12px #29160855;font-family:inherit;font-size:13px;line-height:1.4;text-align:left}
.night-material-owned-tooltip[hidden]{display:none}
.night-material-owned-tooltip strong{font-size:14px}
.night-material-owned-tooltip b{color:#496739}
.panel[data-panel="quests"]::backdrop,.panel[data-panel="display"]::backdrop,.panel[data-panel="craft"]::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}

.welcome-intro + .section-label{margin-top:44.5px}


/* Approved daily popular product, shown in display only. */
.popular-kicker{display:block;font-size:19px;font-weight:800;color:#7a5529;letter-spacing:.04em}
.popular-main{display:flex;gap:14px;align-items:center;min-width:0}.popular-main .item-icon{width:58px;height:58px;flex:0 0 58px;margin:0}.popular-main strong{display:block;font-size:23px;color:#59351e;white-space:nowrap}.popular-multiplier{display:inline-block;background:#456743;color:#fff2c7;border:1px solid #75905a;border-radius:3px;padding:3px 9px;font-size:13px;font-weight:700;margin-top:7px}
.popular-price{display:flex;align-items:baseline;gap:12px;font-size:17px;white-space:nowrap}.popular-price del{color:#9a8059;font-size:16px}.popular-price>b{color:#684322;font-size:25px}
.popular-sale-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 24px;background:linear-gradient(110deg,#f5e2b6,#e7cf9d);border:2px solid #ba9458;box-shadow:inset 0 0 0 2px #fff6dc66;border-radius:5px;padding:16px 20px;margin-bottom:21px}.popular-sale-banner>.popular-kicker{font-size:14px;grid-column:1/-1}.popular-sale-banner .popular-main{grid-column:1}.popular-sale-banner .popular-main strong{font-size:21px}.popular-sale-banner>.popular-price{grid-row:2;grid-column:2}.popular-banner-note{grid-column:1/-1;font-size:12px;color:#9a7a4d;border-top:1px solid #c5a775;padding-top:10px;margin-top:2px}
.popular-pill{display:inline-block;font-size:11px;vertical-align:middle;padding:3px 7px;margin-left:8px;border:1px solid #97a16c;border-radius:3px;background:#dee6bc;color:#44623a;white-space:nowrap}.popular-old-price{color:#9b8160;margin-right:7px}.popular-new-price{color:#4e713a;font-weight:800}.panel:has(.popular-sale-banner){width:min(850px,94vw)}.panel:has(.popular-sale-banner) .panel-content{max-height:calc(88vh - 120px)}


.toast{word-break:keep-all}

/* Approved night exploration button on the workshop door. */
#night{left:90.7%;right:auto;top:460px;width:192px;min-width:0;min-height:62px;padding:11px 4px;font-size:22px;gap:9px;transform:translateX(-50%)}
#night .night-moon{width:28px;height:28px;flex-basis:28px}
#night:not(:disabled):active{transform:translate(-50%,2px)}


/* Approved three-column display cards. */

.panel[data-panel="display"]{width:min(940px,94vw)}
.display-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 18px}
.display-slot{height:128px;min-width:0;border:1px solid #b89a68;border-radius:8px;padding:12px;background:linear-gradient(125deg,#fff4d9aa,#f0deba66);box-shadow:inset 0 1px 0 #fff8eacc;display:grid;grid-template-columns:80px minmax(0,1fr);grid-template-rows:auto auto;gap:8px 12px;align-content:center;align-items:center}
.display-slot .large-icon{grid-column:1;grid-row:1/3;width:80px;min-width:0;height:80px;display:flex;align-items:center;justify-content:center;border:1px solid #d2b784;border-radius:7px;background:#fff8e455;box-shadow:inset 0 1px 5px #c5a16b22}
.display-slot .item-icon{width:72px;height:72px;flex:0 0 72px;margin:0}
.display-slot-details{min-width:0;text-align:left}
.display-slot h2{margin:0 0 5px;font-size:17px;line-height:21px;color:#58391f}
.display-slot p{margin:0;font-size:13px;line-height:18px;color:#886b48}
.display-slot .action{grid-column:2;justify-self:start;width:76px;height:32px;padding:4px 10px;font-size:13px;line-height:20px;font-weight:700;border:1px solid #b28c51;background:linear-gradient(#f6e6c4,#e3c993);color:#664421;border-radius:4px;box-shadow:0 2px 0 #a78149;text-shadow:none}
.display-slot .action:not(:disabled):hover{background:#f9ebce;border-color:#8e6635}
.display-slot .popular-pill{font-size:9px;line-height:14px;padding:0 3px;margin:3px 0 0;display:block;width:max-content}
.display-slot .popular-old-price{margin-right:4px}
.display-slot.vacant{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;background:#e5d1aa22;border-style:dashed;border-color:#c3a774;box-shadow:none}
.display-slot.vacant .slot-symbol{display:flex;align-items:center;justify-content:center;width:34px;height:34px;font-size:24px;line-height:1;border:1px solid #cfb88d;border-radius:6px;color:#b2986d;background:#f7e9cc44}
.display-slot.vacant .display-slot-details{text-align:center}
.display-slot.vacant h2{font-size:15px;font-weight:600;color:#a08762;margin-bottom:3px}
.display-slot.vacant p{font-size:11px;color:#ad946e}
.display-slot.locked{background:#b8a58218}

.display-slot.filled{grid-template-columns:80px max-content;justify-content:center;column-gap:18px}
.display-slot.filled .display-slot-details{min-width:90px;max-width:140px}

.display-slot.filled{grid-template-rows:minmax(0,1fr) 32px;align-content:normal}
.display-slot.filled .display-slot-details{align-self:end}



/* Approved compact sales video window. */
.panel.sale-panel{width:min(476px,94vw)}
.sale-panel .panel-content{overflow:hidden;padding:18px 25px;max-height:calc(88vh - 112px)}
.sale-panel .panel-feedback{min-height:0;padding-bottom:0}
.sale-panel .sale-art{width:min(300px,100%,calc((88vh - 230px) * 5 / 6))}

/* Approved inventory display cards. */

.bag-display-card .large-icon{position:relative}
.bag-display-stock{position:absolute;top:calc(100% + 2px);left:50%;transform:translateX(-50%);font-size:11px;line-height:14px;font-weight:600;color:#806342;white-space:nowrap}
.bag-display-grid{margin-bottom:0}


/* Accepted, unfinished quest recipes: approved uniform border. */
.row-card.craft-quest-highlight{border:2px solid #568459;background:linear-gradient(110deg,#e7edce,#f5e7be 85%);box-shadow:none}
.craft-quest-badge{display:inline-flex;align-items:center;vertical-align:middle;margin-left:7px;padding:3px 7px;border:1px solid #365c40;border-radius:4px;background:#4e7853;color:#fff9dc;font-size:11px;font-weight:700;line-height:16px;white-space:nowrap}

/* Approved batch crafting quantity popup. */
.quantity-dialog{width:min(510px,calc(100vw - 28px));padding:0;max-height:calc(100dvh - 32px);color:var(--ink);color-scheme:light;overflow:hidden}
.quantity-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.quantity-dialog::backdrop{background:#160f0ac4;backdrop-filter:none}
.quantity-head{display:flex;align-items:center;justify-content:space-between;padding:20px 23px 17px;border-bottom:1px solid #c3a16d;background:#e0c18c55}
.quantity-head p{margin:0 0 5px;font-size:12px;letter-spacing:1px;color:#8b683d}.quantity-head h1{font-size:24px;margin:0}
.quantity-close{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;padding:0;font-size:26px;line-height:1;border:2px solid #9d773f;border-radius:5px;color:#fae6bd;background:#573622}
.quantity-body{padding:18px 23px 8px;min-height:0;overflow:auto}
.quantity-product{display:flex;align-items:center;gap:17px;margin-bottom:20px}.quantity-icon{display:grid;place-items:center;width:78px;height:78px;border:1px solid #d2b784;border-radius:7px;background:#fff8e466}.quantity-product .item-icon{width:68px;height:68px;flex-basis:68px;margin:0}.quantity-product strong{font-size:20px}.quantity-product p{font-size:13px;color:#886b48;margin:7px 0 0}
.quantity-picker{border-top:1px solid #c9ad7b;padding-top:14px}.quantity-label{display:flex;align-items:center;justify-content:space-between;font-size:15px}.quantity-label>span{color:#886b48;font-size:12px}.quantity-controls{display:flex;justify-content:center;align-items:center;gap:16px;padding:13px 0 18px}.quantity-controls button{width:46px;height:44px;font-size:25px;font-weight:700;border:1px solid #b28c51;border-radius:5px;color:#664421;background:linear-gradient(#f6e6c4,#e3c993);box-shadow:0 2px 0 #a78149}.quantity-controls output{display:flex;align-items:center;justify-content:center;gap:7px;width:128px;height:48px;background:#fff4da99;border:1px solid #c3a16d;border-radius:5px}.quantity-controls output b{font-size:29px;font-variant-numeric:tabular-nums}.quantity-controls output span{font-size:14px;color:#886b48}
.quantity-materials h2{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;font-size:15px}.quantity-materials h2 small{font-size:12px;font-weight:400;color:#886b48}.quantity-table-head,.quantity-material-row{display:grid;grid-template-columns:minmax(0,1fr) 74px 74px;align-items:center}.quantity-table-head{padding:0 10px 7px;font-size:11px;color:#997b52}.quantity-table-head span:not(:first-child){text-align:right}.quantity-material-row{padding:8px 10px;border:1px solid #c8ad7b;border-radius:5px;background:#fff5d755;margin-bottom:7px;font-size:14px}.quantity-material-row>div{display:flex;align-items:center;gap:8px}.quantity-material-row .item-icon{width:28px;height:28px;flex-basis:28px;margin:0}.quantity-material-row strong{font-size:14px}.quantity-material-row>b,.quantity-material-row>span{text-align:right}.quantity-material-row>b{color:#4e713a}.quantity-material-row>span{color:#886b48}.quantity-available{font-size:13px;margin:11px 0 7px;color:#4e713a}
.quantity-footer{display:block;width:100%;max-width:none;margin:0;padding:12px 23px 20px;border-top:1px solid #c9ad7b;background:#ead3a855;color:#886b48}.quantity-footer p{margin:0 0 12px;text-align:center;font-size:12px}.quantity-footer>div{display:grid;grid-template-columns:1fr 1.7fr;gap:11px}.quantity-footer .action{width:100%;font-size:15px;padding:11px 16px}.quantity-footer .quantity-cancel{color:#664421;border-color:#b28c51;background:linear-gradient(#f6e6c4,#e3c993);box-shadow:0 3px 0 #a78149}

.quantity-footer .action{text-decoration:none}
@media(max-height:620px){.quantity-head{padding:14px 18px}.quantity-head h1{font-size:21px}.quantity-body{padding:12px 18px 6px}.quantity-product{gap:13px;margin-bottom:12px}.quantity-icon{width:58px;height:58px}.quantity-product .item-icon{width:50px;height:50px;flex-basis:50px}.quantity-product strong{font-size:18px}.quantity-picker{padding-top:10px}.quantity-controls{padding:9px 0 12px}.quantity-controls button{height:38px;width:42px;font-size:23px}.quantity-controls output{height:42px}.quantity-controls output b{font-size:25px}.quantity-material-row{padding:6px 9px;margin-bottom:5px}.quantity-material-row .item-icon{width:24px;height:24px;flex-basis:24px}.quantity-material-row strong{font-size:13px}.quantity-materials h2{margin-bottom:8px}.quantity-available{margin:7px 0 5px;font-size:12px}.quantity-footer{padding:10px 18px 14px}.quantity-footer p{margin-bottom:9px}.quantity-footer .action{padding:9px 13px}}
.quantity-dialog[open]{height:min(680px,calc(100dvh - 32px));inset:0;margin:auto}

.quantity-controls output{display:grid;place-items:center;gap:0;text-align:center}
.quantity-controls output b{display:block;text-align:center}

.quantity-controls button{position:relative;display:grid;place-items:center;padding:0;line-height:1;font-size:0}
.quantity-controls button::before,.quantity-controls button::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:currentColor;border-radius:1px;transform:translate(-50%,-50%)}
.quantity-controls button[data-quantity="minus"]::after{display:none}
.quantity-controls button[data-quantity="plus"]::after{width:2px;height:14px}
.quantity-controls output b{display:block;width:100%;height:100%;line-height:1}
.quantity-controls output svg{display:block;width:100%;height:100%;overflow:visible}
.quantity-number{font-family:Arial,sans-serif;font-size:29px;font-weight:700;fill:currentColor}
@media(max-height:620px){.quantity-number{font-size:25px}}

/* Center the actual visible X, independent of font baselines. */
#panel[data-panel="craft"] #close-panel,.quantity-close{position:relative;display:grid;place-items:center;padding:0;font-size:0;line-height:1}
#panel[data-panel="craft"] #close-panel::before,#panel[data-panel="craft"] #close-panel::after,.quantity-close::before,.quantity-close::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;margin:0;border-radius:1px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
#panel[data-panel="craft"] #close-panel::after,.quantity-close::after{transform:translate(-50%,-50%) rotate(-45deg)}

/* Visiting customers speak one sentence at a time; only the gift uses a modal. */
#speech.visitor-story{width:440px;cursor:default;pointer-events:none;opacity:1}
#speech.visitor-story small{border-top:1px solid #ceb68b;padding-top:8px;margin-top:10px;color:#91734f}
#speech[data-visitor-phase="gift"]{visibility:hidden}
#speech,#speech.visitor-story{width:max-content;min-width:180px;max-width:440px;height:auto;white-space:normal}
#speech-text{overflow-wrap:anywhere;word-break:keep-all}
.craft-locked{background:#dfcfa936;border-color:#c2a577}
.craft-locked .large-icon{filter:grayscale(.65);opacity:.72}
.craft-lock-condition{margin:8px 0!important;padding-left:9px;border-left:3px solid #b98b45;color:#78512e;font-size:14px!important;line-height:1.55!important}
.craft-locked .action{min-width:132px}
.craft-locked .pill{background:#e8d5ad;border-color:#ae8753;color:#795430}
.craft-available .craft-lock-condition{border-left-color:#648351;color:#47633d}
.craft-available .action[data-action="open"][data-id="recipes"]{background:linear-gradient(#527eaa,#315574);border-color:#93b8d0;box-shadow:0 3px 0 #203b53}
.craft-available .action[data-action="open"][data-id="recipes"]:not(:disabled):hover{background:linear-gradient(#648fba,#3c678d);border-color:#b3d2e5}
.panel.visitor-reward-panel{width:min(460px,94vw)}
.panel.visitor-reward-panel::backdrop{background:#150d08a8;backdrop-filter:none;-webkit-backdrop-filter:none}
.visitor-reward-panel .panel-head{padding:20px 24px 17px}
.visitor-reward-panel .panel-head h1{font-size:25px}
.visitor-reward-panel #close-panel{display:grid;place-items:center;padding:0;line-height:1;font-size:0;position:relative}
.visitor-reward-panel #close-panel::before,.visitor-reward-panel #close-panel::after{content:"";position:absolute;width:17px;height:2px;background:currentColor;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);border-radius:1px}
.visitor-reward-panel #close-panel::after{transform:translate(-50%,-50%) rotate(-45deg)}
.visitor-reward-panel .panel-content{padding:22px 24px 24px;max-height:calc(88vh - 100px)}
.visitor-gift-line{font-size:15px;line-height:1.8;margin:0 0 19px;color:#715334}
.visitor-gift-card{display:flex;align-items:center;justify-content:center;gap:20px;padding:17px;border:1px solid #bf9b62;border-radius:6px;background:#fff4d855}
.visitor-gift-card strong{display:block;font-size:19px}
.visitor-gift-card small{display:block;margin-top:7px;font-size:14px;color:#927449}
.visitor-gift-card b{color:#557748;font-size:22px}
.visitor-gift-note{font-size:13px;text-align:center;color:#8b704e;margin:17px 0 19px}
.visitor-gift-confirm{display:block;min-width:150px;margin:auto}
.visitor-reward-panel .panel-feedback{display:none}

.quantity-close::before,.quantity-close::after{width:14px}

/* Same-size background layers blend without moving the room or its furniture. */
.workshop-lighting{opacity:0;transition:opacity 2s cubic-bezier(.4,0,.2,1)}
.stage[data-workshop-phase="sunset"] #shop-sunset,
.stage[data-workshop-phase="night"] #shop-sunset,
.stage[data-workshop-phase="night"] #shop-night{opacity:1}
.stage[aria-busy="true"] #night:disabled{opacity:1}

/* Reserve the longest time label before fading, keeping adjacent UI fixed. */
.status #day{white-space:nowrap;flex-shrink:0}

/* Approved display buttons: centered label without a plus icon. */
.bag-display-card [data-action="display"]:not(:disabled){
  display:inline-flex;align-items:center;justify-content:center;text-align:center;
  padding:3px 7px;border:2px solid #dbb970;color:#fff5d5;font-weight:900;
  background:linear-gradient(#7c9f58,#496d3b);
  box-shadow:0 2px 0 #30492a,inset 0 1px 0 #d5eab366,0 0 0 1px #9e824b;
  text-shadow:0 1px 0 #304d2b;
}
.bag-display-card [data-action="display"]:not(:disabled):hover{background:linear-gradient(#8cab63,#577d45);border-color:#ffe098}
.bag-display-card [data-action="display"]:not(:disabled):focus-visible{outline:3px solid #e2b750;outline-offset:3px}


/* Approved compact story invitation, with adjacent accept and decline buttons. */
.panel[data-panel="visit-event"]:not(.visitor-reward-panel){width:min(480px,94vw)}
.panel[data-panel="visit-event"]:not(.visitor-reward-panel) .panel-head{padding:18px 22px 16px}
.panel[data-panel="visit-event"]:not(.visitor-reward-panel) .panel-head h1{font-size:25px}
.panel[data-panel="visit-event"]:not(.visitor-reward-panel) .panel-content{padding:20px 22px}
.panel[data-panel="visit-event"]:not(.visitor-reward-panel) .lead{font-size:16px;line-height:1.7;word-break:keep-all;overflow-wrap:break-word;margin-bottom:14px}
.panel[data-panel="visit-event"]:not(.visitor-reward-panel) .bottom-action{margin-top:16px;justify-content:flex-end;gap:8px}
.panel[data-panel="visit-event"]:not(.visitor-reward-panel) .bottom-action .action{margin-left:0}
.panel[data-panel="visit-event"]:not(.visitor-reward-panel) .panel-feedback:empty{display:none}
.display-craft-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 12px;flex-wrap:wrap}
.display-craft-navigation .section-label{margin:0}


.workshop-interaction-ready{border-color:#ffe09a!important;outline:3px solid #ffe09a;outline-offset:4px;box-shadow:inset 0 0 0 2px #251209,0 0 20px #f5c96a80,0 5px 0 #25140f!important}
.workshop-interaction-hint{position:absolute;z-index:8;transform:translateX(-50%);padding:3px 10px;border:2px solid #b88c4e;border-radius:5px;background:#2c1b12f2;color:#ffe8b3;font-size:16px;font-weight:700;line-height:1.2;white-space:nowrap;pointer-events:none;box-shadow:0 3px 8px #0006}
.workshop-interaction-hint[hidden]{display:none}


/* Approved shelf positions: native sprites stay inside three fixed cells. */
.shelf-products{position:absolute;left:870px;top:475px;display:grid;grid-template-columns:repeat(3,56px);width:168px;height:64px;gap:0;pointer-events:none;z-index:2}
.shelf-product-slot{position:relative;width:56px;height:64px;overflow:hidden}
.shelf-product-slot img{position:absolute;left:50%;transform:translate(-50%,-50%);display:block;image-rendering:auto;filter:drop-shadow(0 2px 0 #25150966);max-width:56px;max-height:56px}
.craft-top-navigation{display:flex;justify-content:flex-end;margin-bottom:18px}
.panel.sale-panel{width:min(620px,94vw);max-height:94vh}
.sale-panel .panel-head{display:block;text-align:center;padding:22px 24px 20px}
.sale-panel .panel-head p{letter-spacing:0;line-height:1.6;overflow-wrap:anywhere}
.sale-panel #close-panel,.sale-panel .relationship-head-info{display:none}
.sale-panel .panel-content{padding:24px;max-height:calc(94vh - 116px);overflow:auto}
.sale-panel .sale-view{gap:14px;min-width:0}
.sale-panel .sale-view p{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.65}
.sale-panel .sale-art{width:min(360px,100%,calc((94vh - 302px)*5/6))}
.sale-panel progress{width:min(360px,100%)}
.sale-panel .panel-feedback{display:none}
.shelf-expansion-guide{width:min(420px,94vw);padding:26px;color:var(--ink)}
.shelf-expansion-guide::backdrop{background:#150d0820}
.shelf-expansion-guide h2{font-size:22px;margin:12px 0 20px;word-break:keep-all}
.shelf-expansion-guide p{font-size:16px;line-height:1.7}
.shelf-expansion-guide .muted{font-size:12px}
.shelf-expansion-guide .bottom-action{gap:10px;flex-wrap:wrap}

.craft-top-navigation{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:20px;margin-bottom:18px}
.craft-top-navigation .lead{margin:0;font-size:16px;line-height:1.6;overflow-wrap:break-word}
.craft-top-navigation .action{margin:0;white-space:nowrap}
.display-slot.vacant.locked{background:#5b4b3d;border-color:#776149;box-shadow:inset 0 2px 8px #1e13094d}
.display-slot.vacant.locked h2{color:#e1cda8}.display-slot.vacant.locked p{color:#c4ad89}
.display-slot.vacant.locked .slot-symbol{color:#d2bd96;border-color:#948069;background:#3b2e23}


/* Approved fixed Maria walk canvas, all frames share size and foot placement. */
.guest[data-customer="magician"].guest-browsing-walk img,.guest[data-customer="magician"].guest-walking img{position:absolute;width:258.762761px;height:320.865824px;left:calc(50% - 129.381381px);bottom:-6.900340px;scale:1;transform-origin:50% 100%;image-rendering:pixelated}
/* Reserve the same status icon width for sun and moon to prevent header movement. */
.status .sun{display:flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;line-height:1}
/* Only the ordered product name and quantity are emphasized in first-visit requests. */
#speech .npc-special-visit,#speech .npc-order-note{font-weight:400}
#speech .npc-order-note strong{font-weight:800}

/* Benjamin: approved protagonist-relative height and left-facing source. */
.guest[data-customer="astronomer"]{width:267.748978px;height:362.628486px;bottom:196.984258px}
.guest[data-customer="astronomer"] img{scale:1;transform:none;image-rendering:pixelated}
.guest[data-customer="astronomer"].guest-browsing-walk img,.guest[data-customer="astronomer"].guest-walking img{position:absolute;width:318.141031px;height:449.140279px;left:calc(50% - 159.070516px);bottom:-40.783836px;scale:1;transform:none}
.guest[data-customer="astronomer"].guest-walking img{transform:scaleX(-1)}
.stage:has(.guest[data-customer="astronomer"]) #speech{bottom:583.455330px}

/* Approved independent phase icon and centered exit label. */
.status{gap:12px}
.status .workshop-time{display:flex;align-items:center;justify-content:center;align-self:stretch;min-width:88px;width:88px;padding:12px 0;flex-shrink:0}
.status .workshop-time .sun{margin:0}
.status .workshop-time .time-icon{width:48px;height:48px;display:block;image-rendering:pixelated}
.status .workshop-time:focus{outline:none}.status .workshop-time:focus-visible{box-shadow:inset 0 -3px #bcc8d8}
.status .date-chip{min-width:0;padding:13px 18px}

.status .workshop-time .sun{width:48px;height:48px;flex-basis:48px}
#night{display:flex;align-items:center;justify-content:center;gap:0}#night .night-label{margin:0;text-align:center}

/* Existing padlock reused; empty-slot marks centered geometrically. */
.display-slot.vacant .slot-symbol{padding:0;display:flex;align-items:center;justify-content:center;flex:0 0 34px;text-indent:0}.slot-symbol .slot-plus{display:block;position:relative;width:14px;height:14px;flex:none}.slot-symbol .slot-plus::before,.slot-symbol .slot-plus::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:currentColor}.slot-symbol .slot-plus::before{width:14px;height:2px}.slot-symbol .slot-plus::after{width:2px;height:14px}.slot-symbol .pixel-padlock{display:block;width:24px;height:24px;flex:none;margin:0;transform:none}

/* Fixed whole-motion body scale and sole registration, 2026-10-17. */
.guest[data-customer="adventurer"]{width:214.4859813084112px;height:305.99999999999994px;bottom:203.98691946328435px}
.guest[data-customer="adventurer"].guest-browsing-walk img,.guest[data-customer="adventurer"].guest-walking img{position:absolute;width:216.91922563417887px;height:312.7469959946595px;left:calc(50% - 108.45961281708944px);bottom:-4.599132176234974px;image-rendering:auto}
.guest[data-customer="appraiser"]{width:249.28152791292345px;height:334.9720531329909px;bottom:180.39865488452398px}
.guest[data-customer="appraiser"].guest-browsing-walk img,.guest[data-customer="appraiser"].guest-walking img{position:absolute;width:212.90887850467288px;height:303.75px;left:calc(50% - 106.45443925233644px);bottom:6.17704962548936px;image-rendering:auto}
.guest[data-customer="magician"]{width:219.59495444989486px;height:313.28880168185003px;bottom:201.80795654800278px}

.guest[data-customer="magician"] img,.trust-recall-walk[data-npc="magician"] img,.episode-partner[data-customer="magician"] img{image-rendering:auto}

.guest[data-customer="magician"].guest-browsing-walk img,.guest[data-customer="magician"].guest-walking img{bottom:-1.044475px;image-rendering:auto}

.has-external-reset{--emergency-strip-height:64px}
.has-external-reset body{display:block}
.has-external-reset .shell{height:calc(100dvh - var(--emergency-strip-height));min-height:calc(100dvh - var(--emergency-strip-height));padding:0;overflow:hidden}
.has-external-reset .opening-host{height:calc(100dvh - var(--emergency-strip-height));bottom:var(--emergency-strip-height)}
.has-external-reset dialog:modal:not(.opening-host){bottom:var(--emergency-strip-height)!important;max-height:calc(100dvh - var(--emergency-strip-height) - 32px)!important}
.has-external-reset #panel[data-panel="night"]{width:min(1672px,calc(100vw - 32px),calc((100dvh - var(--emergency-strip-height) - 40px)*1.776833))}
.quick-reset[popover]{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;height:64px;padding:10px 20px;border:0;border-top:1px solid #62472d;background:#1d1610;overflow:visible;color:#f7e6c5}
.quick-reset:popover-open{display:flex;align-items:center;justify-content:flex-end}
.quick-reset .quick-reset-button{display:flex;align-items:center;justify-content:center;gap:7px;width:112px;height:44px;padding:8px 12px;font:700 14px/1.2 "Malgun Gothic",sans-serif;border-width:2px!important}
.quick-reset-button canvas{display:block;width:22px;height:22px;image-rendering:pixelated;pointer-events:none}
.quick-reset-button:hover{color:#fff1cf}
.quick-reset-button:focus-visible{outline:2px solid #b8cbd7!important;outline-offset:3px}

.dungeon-scene{position:absolute;inset:0;z-index:10;overflow:hidden;color:#f9e9c9;font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;background:#10171e;isolation:isolate}.dungeon-scene[hidden]{display:none}.dungeon-scene .cave-background{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.dungeon-scene canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.cave-panel{border:3px solid #d39a4b;background:linear-gradient(135deg,#17212fef,#0d141fed);box-shadow:inset 0 0 0 2px #322415,inset 0 0 0 4px #8a622d,0 4px 0 #110e0b,0 6px 15px #0005;border-radius:3px;color:#faebcc;text-shadow:0 2px #101018}.cave-lives{position:absolute;left:22px;top:22px;display:flex;gap:12px;padding:17px 20px}.pixel-heart{position:relative;display:block;width:48px;height:43px;background:linear-gradient(#ff7870 6%,#f53535 40%,#b31828);clip-path:polygon(0 14%,10% 14%,10% 5%,38% 5%,50% 19%,62% 5%,90% 5%,90% 14%,100% 14%,100% 52%,90% 52%,90% 65%,76% 65%,76% 78%,62% 78%,62% 91%,50% 100%,38% 91%,38% 78%,24% 78%,24% 65%,10% 65%,10% 52%,0 52%);filter:drop-shadow(0 3px 0 #391218)}.pixel-heart:after{content:"";position:absolute;left:9px;top:8px;width:9px;height:5px;background:#ffe9cf;box-shadow:4px -3px #ffd8cc}.pixel-heart.empty{padding:0;border:none;border-radius:0;background:linear-gradient(#56616b,#222b36);filter:none}.pixel-heart.empty:after{background:#78818a;box-shadow:none}.cave-budget{position:absolute;top:111px;left:22px;padding:10px 17px;font-size:21px}.cave-title{position:absolute;top:22px;left:50%;transform:translateX(-50%);padding:13px 49px;font-size:31px;font-weight:800;letter-spacing:3px}.cave-gear{position:absolute;right:22px;top:22px;width:64px;height:64px;font-size:39px;line-height:1}.cave-stats{position:absolute;right:22px;top:115px;display:grid;gap:12px;width:264px}.cave-stat{display:flex;align-items:center;justify-content:space-between;font-size:24px;padding:12px 17px;font-weight:700}.cave-stat span{color:#eedac0;font-size:22px}.cave-stat b{font-variant-numeric:tabular-nums}.cave-avatar{position:absolute;z-index:2;pointer-events:none;width:128px;height:186px;transform:translate(-50%,-100%);filter:drop-shadow(0 4px 2px #08090a77)}.cave-avatar img{width:100%;height:100%;object-fit:contain;object-position:bottom}.cave-avatar.left img{transform:scaleX(-1)}.cave-avatar.hurt{opacity:.45;filter:drop-shadow(0 0 6px #ff9070)}.cave-dock{position:absolute;left:24px;right:24px;bottom:31px;padding:17px 27px 19px;z-index:3}.cave-message-line{display:flex;align-items:center;justify-content:space-between;padding:0 15px 17px;margin-bottom:16px;border-bottom:2px solid #926b3d;gap:20px;min-height:55px}.cave-message{font-size:28px;font-weight:700;margin:0}.cave-message:before{content:"✦";color:#f5b950;margin-right:20px}.cave-controls-hint{font-size:21px;color:#e0d5bd;white-space:nowrap}.cave-buttons{display:flex;justify-content:center;gap:28px}.cave-button{position:relative;display:flex;align-items:center;justify-content:center;gap:22px;border:3px solid #b48244;box-shadow:inset 0 0 0 2px #33251a,inset 0 0 0 4px #8b693a,0 4px 0 #090d14;background:linear-gradient(#223044,#141d2b);color:#fbeccb;border-radius:3px;padding:15px 30px;font-size:30px;font-weight:800;min-height:88px;min-width:380px;text-shadow:0 2px 1px #000}.cave-button.primary{border-color:#efc16a;background:linear-gradient(#74501b,#47300f);box-shadow:inset 0 0 0 2px #392408,inset 0 0 0 5px #bd8c31,0 4px 0 #211609}.cave-button:not(:disabled):hover{filter:brightness(1.18)}.cave-button:disabled{opacity:.48}.cave-button:focus-visible,.cave-gear:focus-visible{outline:4px solid #fff0a7;outline-offset:5px}.cave-button small{display:block;font-size:18px;margin-top:5px;color:#e2d2b3;font-weight:500}.cave-button .cave-icon{font-size:42px;color:#f1bd60}.cave-countdown{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);font-size:108px;font-weight:900;color:#fff0c8;text-shadow:0 6px #744822,0 0 50px #ffcc7b77;z-index:4;pointer-events:none}.cave-intro{position:absolute;top:24%;left:50%;transform:translateX(-50%);text-align:center;padding:26px 40px;max-width:790px;background:#111a26bd;border:1px solid #d4a56a55;box-shadow:0 10px 40px #070a0e33;border-radius:4px}.cave-intro h2{font-size:38px;margin:0 0 12px;color:#f6d39b}.cave-intro p{font-size:23px;line-height:1.65;margin:7px 0;color:#ddd4c2}.cave-intro small{font-size:20px;color:#b9c9cf}.cave-modal-shade{position:absolute;inset:0;z-index:6;display:grid;place-items:center;background:#08101aca;backdrop-filter:blur(2px)}.cave-modal-shade[hidden]{display:none}.cave-modal{width:780px;max-height:860px;overflow:auto;padding:30px 38px 34px;text-align:center}.cave-modal h2{margin:0 0 12px;font-size:44px;letter-spacing:3px;color:#f5c974}.cave-modal p{font-size:22px;line-height:1.6;margin:12px 0;color:#e4dbc9}.cave-modal .modal-icon{font-size:52px;line-height:1.2;margin-bottom:14px;color:#ffd578}.cave-modal .result-score{font-size:47px;font-weight:800;color:#fff0ca;margin:8px 0 12px}.cave-modal .result-meta{display:flex;gap:20px;justify-content:center;font-size:21px;border-top:1px solid #7d603b;border-bottom:1px solid #7d603b;padding:13px;margin:15px 0 24px;color:#d9caaa}.cave-modal-actions{display:grid;gap:15px;margin-top:25px}.cave-modal .cave-button{min-width:0;width:100%;font-size:26px;min-height:70px;padding:13px}.cave-modal .cave-button small{font-size:18px}.cave-modal .fine{font-size:18px;color:#a8b2c2}.cave-modal .failure-title{color:#ff9a7f}.cave-rewards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:21px 0 15px}.cave-reward{position:relative;min-height:126px;padding:17px 7px;border:2px solid #936f40;background:linear-gradient(#1e2a3a,#121b29);color:#ede2c9;text-align:center;font-size:20px;border-radius:3px;box-shadow:inset 0 0 0 2px #080d16}.cave-reward.selected{border-color:#f1c26a;background:linear-gradient(#4c3a21,#2e281e);box-shadow:inset 0 0 0 2px #9d7536}.cave-reward .reward-icon{display:block;font-size:37px;margin:0 0 7px}.cave-reward .reward-check{position:absolute;top:6px;right:9px;font-size:20px;color:#ffdb8b}.cave-reward b{display:block;margin-top:5px;font-size:23px}.cave-modal .inventory-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left;font-size:22px;margin:21px 0}.cave-modal .inventory-list div{border:1px solid #7f633d;padding:12px;background:#131d2b}.cave-modal .inventory-list b{float:right}.cave-feedback{font-size:20px;color:#ffcb98;min-height:28px;margin:12px 0 0}.cave-torch{position:absolute;width:240px;height:300px;top:13%;border-radius:50%;background:radial-gradient(ellipse,#ffb14517,transparent 70%);pointer-events:none;animation:cave-flicker 3s ease-in-out infinite alternate}.cave-torch.one{left:13%}.cave-torch.two{right:10%;animation-delay:-1s}@keyframes cave-flicker{from{opacity:.2;transform:scale(.95)}to{opacity:1;transform:scale(1.08)}}.cave-saving-notice{position:absolute;left:50%;top:100px;transform:translateX(-50%);padding:10px;font-size:18px;background:#251b17;color:#fbcda9;z-index:7}.cave-scene-flash{position:absolute;inset:0;pointer-events:none;z-index:3;background:#f064381c;opacity:0}.cave-scene-flash.show{opacity:1}@media(prefers-reduced-motion:reduce){.cave-torch{animation:none}}
.forest-scene .cave-torch{display:none}
.forest-scene .cave-lives{left:35px;top:32px;padding:18px 24px;gap:15px}
.forest-scene .cave-title{top:32px;min-width:370px;text-align:center;padding:15px 40px;font-size:36px;color:#ffe5a9}
.forest-scene .cave-gear{right:34px;top:32px;width:74px;height:74px;color:#ffda82;font-size:41px;font-weight:900}
.forest-scene .cave-stats{display:contents}
.forest-scene .cave-stat:first-child{position:absolute;right:123px;top:32px;min-width:294px;height:74px;padding:10px 19px;gap:18px}
.forest-scene .cave-time{font-size:38px}
.forest-scene .cave-stat:nth-child(2){position:absolute;right:34px;top:121px;width:334px;display:flex;flex-wrap:wrap;gap:10px;padding:15px 21px 13px}
.forest-scene .cave-score{font-size:32px;letter-spacing:1px}
.forest-goal{width:100%;display:grid;gap:11px}
.forest-goal progress{display:block;appearance:none;-webkit-appearance:none;width:100%;height:24px;border:2px solid #bb9258;padding:3px;background:#0a1220;color:#f3ba53;box-shadow:0 0 0 2px #342a1e;overflow:hidden}
.forest-goal progress::-webkit-progress-bar{background:#0a1220}
.forest-goal progress::-webkit-progress-value{background:linear-gradient(#ffdf83,#eaa439)}
.forest-goal progress::-moz-progress-bar{background:linear-gradient(#ffdf83,#eaa439)}
.cave-reward .reward-owned{display:block;margin-top:8px;color:#bcc9d7;font-size:18px;line-height:1.4}
.cave-skip-row{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:15px;color:#aeb9c7;font-size:18px}
.cave-skip{border:0;background:transparent;color:#e7ca94;font:inherit;font-size:21px;text-decoration:underline;text-underline-offset:5px;cursor:pointer;padding:7px 12px}
.cave-skip:hover{color:#fff1bf}.cave-skip:focus-visible{outline:3px solid #fff0a7;outline-offset:3px}
.cave-buttons [data-cave="return"]{min-width:410px;font-size:28px;gap:16px}
.forest-goal small{font-size:18px;font-weight:600;text-align:center;letter-spacing:-.3px}
.forest-scene .cave-avatar{width:167px;height:230px;image-rendering:pixelated}
/* Match the current walking sprite's head scale and grounded sole position. */
.forest-jump-sprite{position:absolute;bottom:5.5px;left:50%;width:188px;height:188px;transform:translateX(-50%);background-image:url('/assets/hero-jump-v2-atlas.4e578a708a2b21a0a7b8.png');background-size:600% 100%;background-repeat:no-repeat;image-rendering:pixelated}
.forest-jump-sprite[hidden],.cave-avatar img[hidden]{display:none}
.cave-avatar.left .forest-jump-sprite{transform:translateX(-50%) scaleX(-1)}
.forest-scene .cave-budget{top:133px;left:35px}
.forest-scene .cave-dock{bottom:40px;padding:13px 23px}
.forest-scene .cave-intro{top:26%;padding:22px 42px;background:#081627dd}
.forest-scene .cave-intro h2{font-size:37px}
.forest-scene .cave-intro p{font-size:23px}
.forest-scene .cave-intro small{font-size:19px}
.forest-dock{position:absolute;z-index:4;bottom:43px;left:50%;right:auto;width:660px;transform:translateX(-50%);display:flex;align-items:stretch;gap:0}
.forest-dock[hidden],.forest-goal[hidden],.cave-dock[hidden]{display:none}
.forest-hint{flex:1;display:flex;align-items:center;justify-content:center;height:60px;font-size:24px;font-weight:700;padding:12px 22px;border-radius:0;white-space:nowrap}
.forest-scene{}
.forest-scene .cave-saving-notice{top:117px}

.forest-background{display:none}.forest-scene .forest-background{display:block}.forest-scene.forest-panorama-ready .cave-background{visibility:hidden}

.forest-render-filters{position:absolute;pointer-events:none}.forest-scene .cave-avatar img{filter:url(#forest-clean-edge)}
.sorting-scene{}
.sorting-scene .cave-torch,.sorting-scene .cave-avatar,.sorting-scene .cave-gear,.sorting-scene canvas{display:none}
.sorting-scene .cave-background{image-rendering:pixelated}
.sorting-scene .cave-panel{border:2px solid #edc35d;background:#081a2bf5;box-shadow:inset 0 0 0 2px #0a1019,inset 0 0 0 3px #ab8139,0 3px 0 #110e0b;border-radius:0;text-shadow:none}
.sorting-scene .cave-lives{left:48px;top:40px;height:88px;padding:19px 29px;gap:19px}
.sorting-scene .pixel-heart{width:53px;height:46px}
.sorting-scene .cave-title{left:50%;top:40px;width:584px;height:76px;display:flex;align-items:center;justify-content:center;padding:0 18px;font-size:34px;letter-spacing:1px;color:#fff0c5}
.sorting-scene .cave-stats{display:contents}
.sorting-scene .cave-stat:first-child{position:absolute;right:42px;top:40px;width:280px;min-width:0;height:64px;justify-content:center;gap:13px;padding:8px 11px}
.sorting-scene .cave-stat span{font-size:20px;color:#fff0d2;white-space:nowrap}
.sorting-scene .cave-time{font-size:29px;color:#ffe49a}
.sorting-scene .cave-stat:nth-child(2){position:absolute;right:42px;top:117px;width:280px;height:120px;display:flex;flex-wrap:wrap;align-content:center;gap:9px;padding:10px 17px}
.sorting-scene .cave-score{font-size:27px;color:#fff0d2;letter-spacing:0}
.sorting-scene .forest-goal{gap:8px}
.sorting-scene .forest-goal progress{height:20px;padding:2px;border:1px solid #dfb55a;box-shadow:none}
.sorting-scene .forest-goal small{font-size:15px;letter-spacing:0;white-space:nowrap}
.sorting-streak{position:absolute;right:42px;top:250px;width:280px;height:80px;padding:8px 10px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;text-align:center;font-size:23px;font-weight:700}
.sorting-streak[hidden],.sorting-workbench[hidden]{display:none}
.sorting-streak b{color:#ffe49a;font-size:27px;margin-left:7px;font-variant-numeric:tabular-nums}
.sorting-streak small{font-size:15px;color:#eee3d4;font-weight:500;white-space:nowrap}
.sorting-scene .cave-budget{left:48px;top:132px;font-size:19px;padding:6px 10px}
.sorting-scene.sorting-playing .cave-budget{display:none}
.sorting-scene .cave-intro{left:50%;top:36%;width:650px;padding:25px 32px;background:#071727f5;border:2px solid #e4bb65;z-index:4}
.sorting-scene .cave-intro h2{font-size:35px}
.sorting-scene .cave-intro p{font-size:24px}
.sorting-scene .cave-intro small{font-size:20px}
.sorting-scene .cave-countdown{top:54%;left:50%;z-index:5;font-size:100px}
.sorting-guide{position:absolute;left:48px;top:151px;width:336px;height:172px;padding:14px 18px}
.sorting-guide strong{display:block;color:#eab6ff;font-size:26px;margin-bottom:7px}
.sorting-guide p{font-size:24px;line-height:1.45;margin:0 0 7px;word-break:keep-all}
.sorting-guide small{font-size:17px;color:#f0e5dc;white-space:nowrap}
.sorting-current{position:absolute;left:696px;top:412px;width:280px;height:240px;padding:14px 17px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-color:#f4cc65}
.sorting-current>*{flex-shrink:0}
.sorting-current>small:first-child{font-size:20px;line-height:1.2;font-weight:700;color:#f8f0df}
.sorting-item-icon{display:block;height:64px;line-height:64px;font-size:54px;color:#f2d795}
.sorting-item-icon .sorting-icon{width:64px;height:64px}
.sorting-icon{display:block;width:68px;height:68px;pointer-events:none}
.sorting-item-name{display:block;font-size:28px;line-height:1.2;white-space:nowrap;color:#fff0d0}
.sorting-current[data-type=""] .sorting-item-name{font-size:20px}
.sorting-item-deadline{display:flex;align-items:baseline;justify-content:center;gap:9px;width:100%;white-space:nowrap;color:#fff0d0}
.sorting-item-deadline span{font-size:20px}
.sorting-item-seconds{font-size:32px;line-height:1.2;color:#ffce66;font-variant-numeric:tabular-nums}
.sorting-item-deadline.urgent .sorting-item-seconds{color:#ff8a83}
.sorting-item-time{appearance:none;-webkit-appearance:none;display:block;width:100%;height:26px;margin:0;border:2px solid #ebbf58;padding:3px;background:#08121e;color:#f45267}
.sorting-item-time::-webkit-progress-bar{background:#08121e}
.sorting-item-time::-webkit-progress-value{background:linear-gradient(#ff8b95,#f22e53)}
.sorting-item-time::-moz-progress-bar{background:linear-gradient(#ff8b95,#f22e53)}
.sorting-wait{display:none}
.sorting-current[data-type=cursed]{border-color:#c292ef}
.sorting-bin{position:absolute;width:280px;height:192px;padding:12px 16px;display:grid;grid-template-rows:34px 64px 34px 26px;gap:2px;place-items:center;text-align:center;background:#081a2bf5}
.sorting-bin kbd{font-size:30px;font-family:inherit;font-weight:800;line-height:1;letter-spacing:2px;color:#fff0c5}
.sorting-bin>span{display:flex;justify-content:center;align-items:center}
.sorting-bin .sorting-icon{width:64px;height:64px}
.sorting-bin strong{font-size:29px;line-height:1.2;white-space:nowrap;color:#fff0c5}
.sorting-bin small{font-size:23px;line-height:1.2;color:#efe5d9;white-space:nowrap}
.sorting-bin.nature{left:696px;top:208px;border-color:#75c968}
.sorting-bin.mineral{left:408px;top:436px;border-color:#78d6ff}
.sorting-bin.magic{left:984px;top:436px;border-color:#73d6ef}
.sorting-bin.seal{left:696px;top:664px;border-color:#c592f1}
.sorting-bin:disabled{opacity:.8}
.sorting-bin:not(:disabled):hover{background:#142d40;filter:brightness(1.08)}
.sorting-bin:focus-visible{outline:4px solid #ffe6a5;outline-offset:3px}
.sorting-bin.correct{border-color:#c4ff97;background:#163728}
.sorting-bin.incorrect{border-color:#ff9a88;background:#422226}
.sorting-feedback{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.sorting-symbols{position:absolute;pointer-events:none}
.sorting-scene .cave-saving-notice{top:127px}
.sorting-scene .cave-modal-shade{backdrop-filter:none}

/* Shared right-aligned minigame HUD */
.dungeon-scene .cave-stats{display:contents}
.dungeon-scene .cave-stat{border:2px solid #edc35d;background:#081a2bf5;box-shadow:inset 0 0 0 2px #0a1019,inset 0 0 0 3px #ab8139,0 3px 0 #110e0b;border-radius:0;text-shadow:none}
.dungeon-scene .cave-stat:first-child{position:absolute;left:auto;right:42px;top:40px;width:280px;min-width:0;height:64px;display:flex;align-items:center;justify-content:center;gap:13px;padding:8px 11px}
.dungeon-scene .cave-stat span{font-size:20px;color:#fff0d2;white-space:nowrap}
.dungeon-scene .cave-time{font-size:29px;color:#ffe49a}
.dungeon-scene .cave-stat:nth-child(2){position:absolute;left:auto;right:42px;top:117px;width:280px;min-width:0;height:120px;display:flex;flex-wrap:wrap;align-content:center;gap:9px;padding:10px 17px}
.dungeon-scene .cave-score{font-size:27px;color:#fff0d2;letter-spacing:0}
.dungeon-scene .forest-goal{gap:8px}
.dungeon-scene .forest-goal progress{height:20px;padding:2px;border:1px solid #dfb55a;box-shadow:none}
.dungeon-scene .forest-goal small{font-size:15px;letter-spacing:0;white-space:nowrap}
.dungeon-scene:not(.forest-scene):not(.sorting-scene) canvas{image-rendering:pixelated}

/* Approved horizontal cave scene */
.cave-horizontal .cave-floor{position:absolute;left:0;top:656px;width:100%;height:285px;object-fit:fill;image-rendering:pixelated;mask-image:linear-gradient(to bottom,transparent,#000 16px);pointer-events:none}
.cave-floor[hidden],.cave-rock-hint[hidden],.cave-horizontal-dock[hidden]{display:none}
.cave-horizontal .cave-title{top:32px;padding:15px 49px}
.cave-horizontal .cave-lives{left:34px;top:32px}
.cave-horizontal .cave-avatar{width:148px;height:206px;image-rendering:pixelated}
.cave-horizontal .cave-avatar img{filter:url(#forest-clean-edge)}
.cave-horizontal .cave-panel{border-radius:0}
.cave-rock-hint{position:absolute;left:40px;top:180px;padding:15px 22px;font-size:23px;line-height:1.7;background:#121d2bbd;border:1px solid #bd8d4b66;color:#ecdabc;pointer-events:none}
.cave-rock-hint strong{color:#ffc47d}
.cave-horizontal-dock{position:absolute;left:50%;right:auto;transform:translateX(-50%);width:max-content;bottom:43px;padding:14px 27px;display:flex;align-items:center;justify-content:center;gap:0;font-size:25px;font-weight:700}
.cave-horizontal-dock b{color:#ffe49a;font-weight:800}
.cave-horizontal .cave-intro{top:22%;width:740px}
.cave-horizontal:not(.cave-playing) .cave-dock{bottom:23px;padding:12px 22px 14px}
.cave-horizontal:not(.cave-playing) .cave-message-line{min-height:43px;padding:0 12px 10px;margin-bottom:10px}
.cave-horizontal:not(.cave-playing) .cave-button{min-height:70px;padding:10px 24px;font-size:26px}
.cave-horizontal:not(.cave-playing) .cave-skip-row{margin-top:8px;padding-top:0;min-height:25px}

.sorting-item-icon .pixel-icon,.sorting-bin .pixel-icon{display:block;width:64px;height:64px}
.cursed-pixel-icon{position:relative;display:block;overflow:hidden;width:64px;height:64px}
.cursed-pixel-icon::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:83.825266%;height:100%;background-image:url("/assets/cursed-material-pixel-v1.31dc9faafc618443e78f.png");background-repeat:no-repeat;background-size:176.619718% 148.051948%;background-position:50% 59.459459%;image-rendering:pixelated}


.cave-buttons .cave-icon.pixel-icon{display:block;width:48px;height:48px;flex-shrink:0}
.cave-buttons .cave-button{font-size:28px;align-items:center;justify-content:center;gap:16px;text-align:center}.cave-buttons .start-label{font-size:inherit;line-height:1.2;text-align:center}

/* Approved Old Archive UI */
.archive-scene .cave-panel{border:2px solid #edc35d;background:#081a2bf5;box-shadow:inset 0 0 0 2px #0a1019,inset 0 0 0 3px #ab8139,0 3px 0 #110e0b;border-radius:0;text-shadow:none}.archive-scene .cave-title{top:40px;width:584px;height:76px;display:flex;align-items:center;justify-content:center;padding:0 18px;font-size:34px;letter-spacing:1px;color:#fff0c5}.archive-target{position:absolute;top:40px;left:48px;padding:16px 22px;display:flex;gap:16px;align-items:center}.archive-target>span{font-size:36px;color:#f5c86d}.archive-target b{display:block;font-size:23px}.archive-target small{display:block;font-size:16px;color:#d8c6a8;margin-top:5px}.archive-scene .cave-budget{left:48px;top:149px;font-size:19px;padding:6px 10px}.archive-scene:not(.archive-entry) .cave-budget{display:none}.archive-scene .forest-goal{width:100%;display:grid;gap:8px}.archive-scene .forest-goal progress{width:100%;height:17px;accent-color:#e4b95c}.archive-scene .forest-goal small{font-size:15px;color:#e6d7bb;font-weight:400}
.archive-grid{position:absolute;top:167px;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,140px);gap:18px 20px}.archive-grid[hidden]{display:none}.archive-memory-card{position:relative;width:140px;height:146px;padding:0;border:3px solid #b69a66;border-radius:5px;box-shadow:0 5px 0 #281c1d,0 8px 10px #090a1744;color:#ebd19b;background:linear-gradient(145deg,#342a4b,#22273e);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px}.archive-memory-card.back:before{content:"";position:absolute;inset:7px;border:1px solid #9b83567a;border-radius:2px}.card-corner{position:absolute;width:9px;height:9px;border:2px solid #d0b273;transform:rotate(45deg)}.tl{top:13px;left:13px}.br{bottom:13px;right:13px}.card-moon{font-size:62px;line-height:.8;text-shadow:2px 2px 0 #111623;font-family:Georgia,serif;color:#e9ce90;transform:rotate(-12deg)}.card-stars{font-size:16px;line-height:1;color:#c9ad75}.card-stars.small{font-size:13px;letter-spacing:3px;margin-top:4px}.archive-memory-card.open,.archive-memory-card.match{background:linear-gradient(#f7e9cb,#d5b885);border-color:#d7b77c;color:#543824}.archive-memory-card.match{border-color:#afba79;box-shadow:0 5px 0 #343b26,inset 0 0 0 2px #e5eabd55}.archive-memory-card.open{border-color:#ffe6a2;box-shadow:0 5px 0 #574531,0 0 0 2px #dcb76366}.archive-memory-card .pixel-icon{width:84px;height:84px}.archive-memory-card.open .card-corner,.archive-memory-card.match .card-corner{border-color:#aa8245}
.archive-controls{position:absolute;left:50%;transform:translateX(-50%);bottom:43px;padding:14px 27px;font-size:22px;font-weight:700;white-space:nowrap}.archive-controls[hidden]{display:none}.archive-scene .cave-intro{top:27%;width:740px;padding:26px 40px;background:#071727f5;border:2px solid #e4bb65}.archive-scene .cave-intro[hidden]{display:none}.archive-scene .cave-intro h2{font-size:35px}.archive-scene .cave-intro p{font-size:24px}.archive-scene .cave-dock{bottom:23px;padding:12px 22px 14px}.archive-scene .cave-message-line{min-height:43px;padding:0 12px 10px;margin-bottom:10px}.archive-scene .cave-button{min-height:70px;padding:10px 24px;font-size:26px}.archive-scene .cave-skip-row{margin-top:8px;padding-top:0;min-height:25px}

.archive-time-label{display:flex;align-items:center;gap:8px}.archive-hourglass{display:block;width:28px;height:36px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}

.archive-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#060d1633,transparent 35%,transparent 76%,#070f1b55)}
.archive-shade[hidden],.archive-target[hidden],.cave-lives[hidden],.cave-avatar[hidden]{display:none}
.archive-memory-card:focus-visible,.archive-memory-card.archive-cursor{outline:3px solid #fff0a7;outline-offset:3px}
.archive-scene .cave-stat .archive-time-label{gap:8px}

.archive-memory-card:disabled{opacity:1;filter:none;cursor:default}
.archive-memory-card.open{animation:archive-card-reveal .13s ease-out}
@keyframes archive-card-reveal{from{transform:scaleX(.12)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.archive-memory-card.open{animation:none}}

/* Six reward candidates: two fixed materials and four random materials. */
.reward-pool-note{display:block;font-size:14px;color:#c6d7b6;margin-top:6px}
.reward-kind{display:block;color:#c5dca2;font-size:12px;margin-top:5px}
.cave-modal:has(.reward-pool-note){width:860px;max-height:none;overflow:visible;padding:16px 24px}
.cave-modal:has(.reward-pool-note) .modal-icon{font-size:24px;line-height:1.2;margin-bottom:0}
.cave-modal:has(.reward-pool-note) h2{font-size:30px;line-height:1.2;margin:2px 0 6px}
.cave-modal:has(.reward-pool-note) .result-score{font-size:30px;line-height:1.2;margin:0 0 4px}
.cave-modal:has(.reward-pool-note) p{font-size:18px;line-height:1.35;margin:6px 0}
.cave-modal:has(.reward-pool-note) .reward-pool-note{line-height:1.2;margin-top:4px}
.cave-modal:has(.reward-pool-note) .cave-rewards{gap:10px;margin:10px 0}
.cave-modal:has(.reward-pool-note) .cave-reward{min-height:144px;padding:8px;font-size:18px;line-height:1.2}
.cave-modal:has(.reward-pool-note) .reward-icon{display:flex;align-items:center;justify-content:center;height:36px;line-height:1;margin:0 0 6px}
.cave-modal:has(.reward-pool-note) .reward-icon .pixel-icon{width:32px;height:32px;margin:0;flex:none}
.cave-modal:has(.reward-pool-note) .reward-owned{font-size:15px;line-height:1.2;margin-top:2px}
.cave-modal:has(.reward-pool-note) .reward-kind{font-size:12px;line-height:1.2;margin-top:2px}
.cave-modal:has(.reward-pool-note) .cave-reward b{font-size:20px;line-height:1.2;margin-top:0}
.cave-modal:has(.reward-pool-note) .reward-ticket-bonus{font-size:14px;line-height:1.2;margin:2px 0}
.cave-modal:has(.reward-pool-note) .reward-ticket-note{font-size:16px}
.cave-modal:has(.reward-pool-note) .reward-recipe-hint{font-size:15px;margin:6px 0}
.cave-modal:has(.reward-pool-note) .reward-count{margin:6px 0}
.cave-modal:has(.reward-pool-note) .cave-modal-actions{margin-top:8px;gap:10px}
.cave-modal:has(.reward-pool-note) .cave-modal-actions .cave-button{min-height:52px;padding:8px 16px;font-size:20px;line-height:1.3}
.cave-modal:has(.reward-pool-note) .reward-reroll-action .cave-button{min-height:44px;font-size:18px}
.cave-modal:has(.reward-pool-note) .fine{font-size:14px;line-height:1.25;margin:4px 0 0}
.cave-modal:has(.reward-pool-note) .cave-feedback{font-size:16px;line-height:1.25;min-height:0;margin:6px 0 0}
.cave-modal:has(.reward-pool-note) .cave-feedback:empty{display:none}
.cave-reward.fixed-material:not(.selected){border-color:#bcdb8d}

.pixel-heart[hidden]{display:none}
.reward-ticket-note{color:#ffd18a;font-size:19px;line-height:1.5;margin:15px 0 0;text-align:center}.reward-ticket-bonus{display:block;color:#a8cf89;font-weight:800;font-size:15px;margin:6px 0}

/* Material recipe details on exploration reward cards. */
.reward-recipe-tip{position:absolute;z-index:12;width:400px;padding:22px 24px;background:linear-gradient(145deg,#253044,#101b2b);color:#f2e4c8;border:2px solid #edc36d;box-shadow:inset 0 0 0 2px #101824,0 12px 24px #0008;border-radius:5px;text-align:left;pointer-events:none;font-size:21px}
.reward-recipe-tip[hidden]{display:none}
.recipe-tip-header{display:flex;align-items:center;gap:13px;padding-bottom:15px;border-bottom:1px solid #8e754a}
.recipe-tip-header .pixel-icon{width:42px;height:42px}
.recipe-tip-header strong{display:block;font-size:24px;color:#ffe2a0}
.recipe-tip-header small{display:block;margin-top:4px;font-size:17px;color:#c3cddd}
.recipe-tip-items{list-style:none;padding:0;margin:8px 0}
.recipe-tip-items li{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #4e5360}
.recipe-tip-items .pixel-icon{width:39px;height:39px;flex-shrink:0}
.recipe-tip-item{flex:1;min-width:0}
.recipe-tip-item strong{display:block;font-size:21px;line-height:1.35}
.recipe-tip-item small{display:block;font-size:17px;color:#becbdb;margin-top:5px}
.recipe-tip-status{border:1px solid #89a67a;background:#344534;color:#d8e9b9;font-size:15px;border-radius:3px;padding:5px 7px;white-space:nowrap}
.recipe-tip-status.locked{color:#c1c4ce;background:#313846;border-color:#747c8b}
.recipe-tip-foot{font-size:17px;line-height:1.5;color:#bbc5d3;margin:14px 0 0}
.cave-modal .reward-recipe-hint{font-size:17px;color:#cfbc94;margin:8px 0 10px}
.cave-reward.recipe-info-active{outline:2px solid #ffe2a0;outline-offset:3px;box-shadow:0 0 16px #e6bd633d}

.cave-reward{user-select:none}

/* Show the location title at entry, then hide it until exploration ends. */
.dungeon-scene.exploration-started .cave-title{display:none}

/* Dim all minigame countdowns without blurring; keep the number above the shade. */
.dungeon-scene.countdown-active::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55);z-index:4;pointer-events:none;filter:none;backdrop-filter:none;-webkit-backdrop-filter:none}

.dungeon-scene .cave-countdown{top:50%;left:50%;transform:translate(-50%,-50%);font-size:150px;line-height:1;text-align:center;z-index:5}

/* Keep the HUD anchored to the scene through entry, results and reward selection. */
.dungeon-scene{--exploration-hud-left:48px;--exploration-budget-top:133px}
.forest-scene{--exploration-hud-left:35px}
.cave-horizontal{--exploration-hud-left:34px}
.sorting-scene{--exploration-budget-top:132px}
.archive-scene{--exploration-budget-top:149px}
.dungeon-scene .cave-budget{position:absolute;inset:auto;left:var(--exploration-hud-left);top:var(--exploration-budget-top);margin:0;text-align:left;white-space:nowrap}
.dungeon-scene .cave-stats{position:absolute;inset:auto;right:42px;top:40px;width:280px;display:grid;grid-template-rows:64px 120px;gap:13px;align-content:start}
.dungeon-scene .cave-stats>.cave-stat{position:relative;inset:auto;width:100%;min-width:0;margin:0}
/* Keep the score and goal inside the fixed HUD instead of flex-wrapping into three rows. */
.dungeon-scene:not(.archive-scene):not(.ruins-scene) .cave-stats>.cave-stat:nth-child(2){display:grid;grid-template-columns:auto minmax(0,1fr);align-content:center;align-items:center;gap:8px 9px;height:120px;padding:10px 17px}
.dungeon-scene:not(.archive-scene):not(.ruins-scene) .cave-stats>.cave-stat:nth-child(2)>.cave-score{font-size:24px;letter-spacing:0;line-height:1.2;text-align:right;white-space:nowrap}
.dungeon-scene:not(.archive-scene):not(.ruins-scene) .cave-stats>.cave-stat:nth-child(2)>.forest-goal{grid-column:1/-1;min-width:0;gap:7px}
.dungeon-scene:not(.archive-scene):not(.ruins-scene) .forest-goal progress{height:20px}
.dungeon-scene:not(.archive-scene):not(.ruins-scene) .forest-goal small{font-size:16px;line-height:1.25;white-space:nowrap}

/* Match cave walking visible height and floor to standing, same transform for all frames. */
.cave-horizontal .cave-avatar.cave-walking-size img{scale:1.057737;transform-origin:50% 100%;position:relative;top:.377px}

.cave-modal .cave-modal-actions>[data-cave="rewards"]{width:300px;max-width:100%;min-height:54px;padding:10px 20px;font-size:22px;justify-self:center}

/* Approved blank parchment sprite in the existing return-button icon slot. */
.dungeon-scene .cave-button .return-map-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 48px}.dungeon-scene canvas.return-map-pixel{position:static;inset:auto;width:48px;height:48px;display:block!important;image-rendering:pixelated;pointer-events:none}

.archive-memory-card.back{border:0;background:#24263e;border-radius:0}.archive-memory-card.back::before{display:none}.archive-card-back{width:136px;height:144px;image-rendering:pixelated;display:block}

/* v4: narrow, equal 4px margins; centred original gold frame. */
.archive-memory-card.back{position:relative;width:140px;height:146px;border:0;padding:0;background:#24263e;overflow:hidden}
.archive-memory-card.back .archive-card-design{position:absolute;left:4px;top:4px;width:132px;height:138px;overflow:hidden;display:block;pointer-events:none}
.archive-card-design .archive-card-back{position:absolute;max-width:none;max-height:none;width:150.40209790209792px;height:156.64335664335664px;left:-9.384615384615387px;top:-9.321678321678327px;margin:0;padding:0;display:block;image-rendering:pixelated}

/* Approved sorting baskets v4. Shared stacking lets items enter behind the rim. */
.sorting-workbench{position:absolute;inset:0;z-index:3}
.sorting-scene .sorting-bin{--tint:#a8d591;position:absolute;width:260px;height:217px;padding:0;border:0;background:transparent;color:#fff0d0;font:inherit;cursor:pointer;outline-offset:9px}.sorting-scene .sorting-bin.nature{left:706px;top:180px;--tint:#9cce80}.sorting-scene .sorting-bin.mineral{left:416px;top:433px;--tint:#9edcfa}.sorting-scene .sorting-bin.magic{left:996px;top:433px;--tint:#94e1df}.sorting-scene .sorting-bin.seal{left:706px;top:687px;--tint:#cbb0ee}.sorting-scene .sorting-bin svg{position:absolute;left:16px;top:24px;width:228px;height:154px;pointer-events:none;shape-rendering:crispEdges}.sorting-scene .sorting-bin .back{z-index:2}.sorting-scene .sorting-bin .front{z-index:8}.sorting-scene .sorting-bin::before{content:"";position:absolute;left:22px;top:104px;width:216px;height:80px;border-radius:50%;background:#050b16b0;filter:blur(10px)}.sorting-scene .sorting-bin .basket-key{position:absolute;top:-3px;left:50%;transform:translateX(-50%);z-index:9;border:2px solid #6c5136;background:#211c20f2;padding:7px 19px;color:var(--tint);font-weight:800;font-size:25px;line-height:1}.sorting-scene .sorting-bin .contents{position:absolute;inset:0;pointer-events:none}.sorting-scene .sorting-bin .sample{position:absolute;top:51px;z-index:4}.sorting-scene .sorting-bin .sample:nth-child(1){left:49px;top:51px}.sorting-scene .sorting-bin .sample:nth-child(2){left:98px;top:40px}.sorting-scene .sorting-bin .sample:nth-child(3){left:149px;top:57px}.sorting-scene .sorting-bin .sample .pixel-icon,.sorting-scene .sorting-bin .sample .cursed-pixel-icon{width:62px;height:64px;display:block}.sorting-scene .sorting-bin .tag{position:absolute;left:14px;right:14px;top:178px;padding:9px 10px;background:#101c2aea;border:1px solid #a98a50;box-shadow:0 3px 0 #100e10;z-index:9;display:flex;align-items:center;justify-content:center;gap:11px}.sorting-scene .sorting-bin .tag strong{font-size:24px;font-weight:700;color:var(--tint)}.sorting-scene .sorting-bin .tag small{font-size:19px;color:#efe2cf}.sorting-scene .sorting-bin:hover .tag,.sorting-scene .sorting-bin:focus-visible .tag{border-color:var(--tint)}.sorting-scene .sorting-bin.correct .tag{border-color:#e2eda7;box-shadow:0 0 18px #d9ef9960,0 3px 0 #100e10}.sorting-scene .sorting-bin.correct svg{filter:drop-shadow(0 0 8px #fff1a344)}.sorting-scene .sorting-bin.incorrect .tag{border-color:#ff9982;color:#ffb6a4}
.sorting-scene .sorting-bin .tag{flex-direction:column;gap:3px;padding:6px 10px;height:60px}.sorting-scene .sorting-bin .tag strong,.sorting-scene .sorting-bin .tag small{white-space:nowrap}.sorting-scene .sorting-bin .tag strong{font-size:23px}.sorting-scene .sorting-bin .tag small{font-size:18px}.sorting-scene .sorting-bin.nature{top:167px}
.sorting-scene .sorting-bin{display:block;border:0;border-radius:0;box-shadow:none;text-shadow:none;background:transparent}
.sorting-scene .sorting-bin:not(:disabled):hover,.sorting-scene .sorting-bin.correct,.sorting-scene .sorting-bin.incorrect{background:transparent}
.sorting-scene .sorting-bin .contents{display:block}
.sorting-scene .sorting-bin .sample .sorting-icon{width:62px;height:64px}
.sorting-scene .sorting-bin .tag strong{line-height:1.2}
.sorting-scene .sorting-bin .tag small{line-height:1.2}
.sorting-scene .sorting-bin:disabled{opacity:.8}
.sorting-scene .sorting-current{left:706px;top:424px;width:260px;height:238px;padding:12px;gap:4px;background:#0e1b2aea;border-color:#edcc79}
.sorting-scene .sorting-current>*{flex-shrink:0}
.sorting-scene .sorting-current>small:first-child{font-size:18px;font-weight:400;color:#e5d8bd}
.sorting-scene .sorting-item-icon{height:78px;line-height:78px}
.sorting-scene .sorting-item-icon .pixel-icon,.sorting-scene .sorting-item-icon .sorting-icon{width:78px;height:78px}
.sorting-scene .sorting-item-name{font-size:27px;margin-bottom:3px}
.sorting-scene .sorting-item-deadline{align-items:center}
.sorting-scene .sorting-item-deadline span{font-size:18px;color:#d8d4c8}
.sorting-scene .sorting-item-seconds{font-size:25px}
.sorting-scene .sorting-item-time{width:218px;height:16px;padding:2px;border:1px solid #ba9753}
.sorting-scene .sorting-item-time::-webkit-progress-value{background:linear-gradient(#ffc489,#e89150)}
.sorting-scene .sorting-item-time::-moz-progress-bar{background:linear-gradient(#ffc489,#e89150)}
.sorting-scene .sorting-feedback{left:706px;top:662px;width:260px;height:25px;margin:0;clip-path:none;overflow:visible;white-space:nowrap;text-align:center;color:#d8edbd;font-size:19px;font-weight:700;z-index:10}
.sorting-scene .sorting-feedback.error{color:#ffb6a4}
.sorting-flying{position:absolute;left:836px;top:509px;z-index:10;transform:translate(-50%,-50%);pointer-events:none}
.sorting-flying .pixel-icon,.sorting-flying .sorting-icon{width:82px;height:84px;display:block}
.sorting-scene .sorting-guide{padding:16px 18px}
.sorting-scene .sorting-guide p{margin:8px 0}
.sorting-scene .cave-lives{height:76px}

.dungeon-scene.sorting-scene.exploration-started .cave-title{display:flex}

.ruins-scene .cave-avatar,.ruins-scene canvas,.ruins-scene .cave-torch{display:none!important}
.ruins-scene .cave-lives{left:48px;top:40px;gap:8px}
.ruins-scene .cave-stats{right:42px;top:40px;width:280px;gap:13px}
.ruins-scene .cave-stat:first-child{height:64px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:12px 18px}
.ruins-scene .cave-stat:first-child>span{font-size:22px;display:flex;align-items:center;gap:12px}
.ruins-scene .cave-stat:first-child b{font-size:30px}
.ruins-scene .cave-stat:last-child{height:120px;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:8px;padding:12px 18px}
.ruins-scene .cave-score{font-size:32px}
.ruins-scene .forest-goal{gap:8px}.ruins-scene .forest-goal progress{height:20px}.ruins-scene .forest-goal small{font-size:17px}
.ruins-board{position:absolute;inset:0;z-index:2;pointer-events:none}
/* Slot indices keep their saved states and keys: 4/5/6 above 1/2/3. */
.ruins-slot{position:absolute;width:300px;height:260px;left:280px;top:540px;background:none;border:0;padding:0;color:#f6dfad;cursor:pointer;pointer-events:auto;}
.ruins-slot:nth-child(3n+2){left:686px}.ruins-slot:nth-child(3n){left:1092px}.ruins-slot:nth-child(n+4){top:260px}
.ruins-slot:disabled{opacity:1;cursor:default}.ruins-slot:focus-visible{outline:3px solid #f5d583;outline-offset:8px}
.ruins-pedestal{position:absolute;left:35px;bottom:0;width:230px;height:auto;image-rendering:pixelated;pointer-events:none}
.ruins-relic{position:absolute;left:50%;bottom:110px;height:134px;width:auto;transform:translateX(-50%);image-rendering:pixelated;pointer-events:none}
.ruins-slot[data-type="cursed"] .ruins-relic{height:125px}
.ruins-slot[data-phase="closing"] .ruins-relic{opacity:.35;transform:translateX(-50%) scale(.85)}
.ruins-slot kbd{position:absolute;left:50%;bottom:-42px;transform:translateX(-50%);width:39px;height:36px;display:grid;place-items:center;background:#172936;border:2px solid #bea369;border-radius:5px;font:700 24px Georgia,serif;pointer-events:none}
.ruins-hint{position:absolute;left:68px;bottom:93px;width:164px;height:38px;border:3px solid #82e8e3;box-shadow:0 0 20px #72fff7;border-radius:50%;pointer-events:none}
.ruins-slot[data-phase="hint"] .ruins-pedestal{filter:brightness(1.35)}
.ruins-controls{position:absolute;left:50%;transform:translateX(-50%);bottom:20px;padding:15px 28px;font-size:24px;white-space:nowrap;z-index:3;pointer-events:none}
.ruins-slot .ruins-feedback{position:absolute;left:50%;top:65px;transform:translateX(-50%);font-size:32px;font-weight:800;color:#b9ffff;text-shadow:0 3px 2px #10232b;white-space:nowrap;pointer-events:none}
.ruins-slot[data-effect="rare"] .ruins-feedback{color:#ffe093}.ruins-slot[data-effect="cursed"] .ruins-feedback,.ruins-slot[data-effect="empty"] .ruins-feedback{color:#ffa6a2}
.ruins-lens{position:absolute;left:50%;bottom:78px;width:144px;height:144px;transform:translateX(-55%);border:0;border-radius:0;box-shadow:none;background:transparent url("/assets/ruins-magnifier-dot-v1.f466d4e4a944f4bb49a0.png") center/contain no-repeat;image-rendering:pixelated;pointer-events:none}
.ruins-scene:not(.exploration-started) .ruins-board{opacity:.45;pointer-events:none}.ruins-scene:not(.exploration-started) .ruins-slot{pointer-events:none}
.ruins-scene .cave-intro{z-index:3;top:255px}.ruins-scene .cave-intro small{line-height:1.7}

/* Approved sprites use the original transparent atlases without resampling. */
.pixel-icon{position:relative;display:inline-block;width:72px;height:72px;flex-shrink:0;vertical-align:middle;overflow:hidden}
.pixel-icon::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background-image:url("/assets/item-material-pixel-atlas.7c0c8d665a7d4a4b8fcf.png");background-repeat:no-repeat;image-rendering:pixelated;pointer-events:none}
.pixel-ui::before{background-image:url("/assets/workshop-pixel-atlas.54f23a4512211331d03c.png")}
/* Approved Rizel icons; visible sprite bounds preserve the established icon scale. */
.pixel-item-lens::before{width:100%;height:93.859649%;background-image:url("/assets/appraiser-item-material-pixel-atlas-v1.d187cb45a131bdce9355.png");background-size:275% 292.990654%;background-position:15.789474% 21.307506%}
.pixel-item-preservative::before{width:100%;height:94.613583%;background-image:url("/assets/appraiser-item-material-pixel-atlas-v1.d187cb45a131bdce9355.png");background-size:293.676815% 310.396040%;background-position:86.940750% 22.705882%}
.pixel-item-ancientGlass::before{width:100%;height:95.394737%;background-image:url("/assets/appraiser-item-material-pixel-atlas-v1.d187cb45a131bdce9355.png");background-size:275% 288.275862%;background-position:13.784461% 85.225885%}
.pixel-item-magicResin::before{width:100%;height:88.571429%;background-image:url("/assets/appraiser-item-material-pixel-atlas-v1.d187cb45a131bdce9355.png");background-size:275.604396% 311.166253%;background-position:85.732165% 85.781434%}
.dock .menu-icon.pixel-icon{width:64px;height:64px}
.coin.pixel-icon{width:38px;height:38px}
.quest-heading-icon{width:34px;height:34px}
.quest-coin{width:21px;height:21px}
.cave-reward .reward-icon .pixel-icon{width:48px;height:48px}
.inventory-list .pixel-icon{width:32px;height:32px}
.pixel-item-potion::before{width:85.810811%;height:100.000000%;background-size:503.937008% 432.432432%;background-position:6.042885% 6.097561%}
.pixel-item-charm::before{width:75.399361%;height:100.000000%;background-size:542.372881% 408.945687%;background-position:33.524904% 4.756980%}
.pixel-item-lantern::before{width:73.734177%;height:100.000000%;background-size:549.356223% 405.063291%;background-position:62.846227% 4.668050%}
.pixel-item-bandage::before{width:100.000000%;height:81.612903%;background-size:412.903226% 505.928854%;background-position:96.391753% 9.542356%}
.pixel-item-gloves::before{width:100.000000%;height:99.303136%;background-size:445.993031% 449.122807%;background-position:3.524673% 38.693467%}
.pixel-item-tea::before{width:98.245614%;height:100.000000%;background-size:457.142857% 449.122807%;background-position:34.500000% 38.190955%}
.pixel-item-herb::before{width:96.124031%;height:100.000000%;background-size:516.129032% 496.124031%;background-position:63.468992% 39.921722%}
.pixel-item-water::before{width:81.226054%;height:100.000000%;background-size:603.773585% 490.421456%;background-position:92.696629% 39.352306%}
.pixel-item-gel::before{width:100.000000%;height:76.642336%;background-size:467.153285% 609.523810%;background-position:3.976143% 69.158879%}
.pixel-item-dust::before{width:94.339623%;height:100.000000%;background-size:512.000000% 483.018868%;background-position:33.980583% 67.980296%}
.pixel-item-flower::before{width:97.637795%;height:100.000000%;background-size:516.129032% 503.937008%;background-position:63.468992% 68.615984%}
.pixel-item-leather::before{width:100.000000%;height:97.454545%;background-size:465.454545% 477.611940%;background-position:95.024876% 68.577075%}
.pixel-item-copper::before{width:100.000000%;height:87.226277%;background-size:467.153285% 535.564854%;background-position:3.976143% 95.581172%}
.pixel-item-crystal::before{width:76.119403%;height:100.000000%;background-size:627.450980% 477.611940%;background-position:34.758364% 95.454545%}
.pixel-ui-coin::before{width:100.000000%;height:98.947368%;background-size:404.210526% 272.340426%;background-position:7.612457% 14.506173%}
.pixel-ui-quest::before{width:95.822454%;height:100.000000%;background-size:418.528610% 267.362924%;background-position:50.299401% 13.884555%}
.pixel-ui-recipes::before{width:100.000000%;height:79.954955%;background-size:345.945946% 288.450704%;background-position:94.780220% 19.133034%}
.pixel-ui-bag::before{width:100.000000%;height:96.933962%;background-size:362.264151% 249.148418%;background-position:5.845324% 91.680261%}
.pixel-ui-upgrade::before{width:100.000000%;height:99.302326%;background-size:357.209302% 239.812646%;background-position:50.271248% 91.792295%}

        #quest{background:none;border:0;border-radius:0;box-shadow:none;padding:27px 25px 24px;isolation:isolate;filter:drop-shadow(0 5px 0 #25160c55)}
        #quest h2{display:flex;align-items:center;gap:10px;font-size:24px;border-bottom:2px solid #d5b787;padding-bottom:12px}
        #quest p{font-size:18px;line-height:1.5}
        #quest .quest-link{border-top:2px solid #d5b787;padding-top:12px}
        #quest::before,#quest::after{content:"";position:absolute;pointer-events:none;clip-path:polygon(8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),0 calc(100% - 4px),0 4px,8px 4px)}
        #quest::before{inset:0;z-index:-2;background:#80603d}
        #quest::after{inset:3px;z-index:-1;background:linear-gradient(to bottom,#e2c69a 0 6px,#f7e8c7 6px calc(100% - 6px),#e2c69a calc(100% - 6px));box-shadow:inset 3px 0 #ebd7af,inset -3px 0 #ebd7af}
      

/* Approved pixel crescent and star; centered button contents. */
.night{display:flex;align-items:center;justify-content:center;gap:12px;min-height:80px;text-align:center}
.night .night-moon{display:block;width:36px;height:36px;flex:0 0 36px;image-rendering:pixelated}
.night .night-label{font-size:inherit;line-height:1.2;color:inherit;margin:0;vertical-align:initial}

/* Approved Roel materials and recipes; alpha bounds keep the existing icon size. */
.pixel-item-blackIron::before{width:100.000000%;height:97.645080%;background-image:url("/assets/roel-black-iron-fragment-v1.351dc5301ede2dd496f4.png");background-size:105.466779% 108.010336%;background-position:29.230769% 56.989247%}
.pixel-item-silverFiber::before{width:98.834305%;height:100.000000%;background-image:url("/assets/roel-silver-fiber-v1.6980f427c9fcba3dbf96.png");background-size:105.644482% 104.412989%;background-position:34.328358% 100.000000%}
.pixel-item-manaPolish::before{width:100.000000%;height:97.510373%;background-image:url("/assets/roel-mana-polish-v1.736268d1fbff740d5a31.png");background-size:104.066390% 106.723404%;background-position:59.183673% 67.088608%}
.pixel-item-manaWristBrace::before{width:97.309028%;height:100.000000%;background-image:url("/assets/roel-mana-wrist-brace-v1.18a4f418f003aa5d2f18.png");background-size:111.864407% 108.854167%;background-position:66.917293% 51.960784%}

/* Approved Maria material/product images, using their visible alpha bounds. */
.pixel-item-silverTeaLeaves::before{width:80.659841%;height:100.000000%;background-image:url("/assets/maria-silverTeaLeaves-v1.e06c40cb242832ae8ef7.png");background-size:176.868829% 142.662116%;background-position:53.394495% 51.733333%}
.pixel-item-shadowInk::before{width:85.202864%;height:100.000000%;background-image:url("/assets/maria-shadowInk-v1.4898e989d2a610c26068.png");background-size:175.630252% 149.642005%;background-position:50.000000% 56.730769%}
.pixel-item-manaTea::before{width:81.400689%;height:100.000000%;background-image:url("/assets/maria-manaTea-v1.8ad13671786ad15bfab3.png");background-size:176.868829% 143.972445%;background-position:52.477064% 47.780679%}
.pixel-item-inscriptionInk::before{width:86.460808%;height:100.000000%;background-image:url("/assets/maria-inscriptionInk-v1.942f90ac3e123ef4b4ff.png");background-size:172.252747% 148.931116%;background-position:49.809886% 52.669903%}

/* Quantity order UI shares the workshop's parchment and pixel item icons. */
#quest{width:350px;padding:18px}
#quest h2{justify-content:space-between;gap:5px;font-size:22px;margin:0 0 8px;padding-bottom:9px}
#quest h2>span{display:flex;align-items:center;gap:7px}
#quest .quest-heading-icon{width:26px;height:26px}
#quest .order-total{font-size:16px;white-space:nowrap;background:#e0c797;border:1px solid #b59053;padding:3px 7px;border-radius:3px}
#quest h3{font-size:22px;margin:9px 0 4px}
#quest .order-customer{font-size:16px;line-height:1.3;margin:0 0 6px;color:#8c6a3b}
.order-items{display:grid;gap:6px}
.order-mini-row{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:8px;min-height:56px;border:1px solid #c8ad7b;padding:4px 7px;background:#fff5d74a;border-radius:4px}
.order-mini-row .item-icon{width:44px;height:44px;flex-basis:44px}
.order-mini-row strong{font-size:18px;white-space:nowrap}
.order-mini-row small{display:block;font-size:15px;margin-top:2px;color:#927348}
.order-mini-row>b{font-size:22px;color:#6d4327}
#quest .order-summary{font-size:17px;font-weight:bold;display:flex;justify-content:space-between;margin:9px 0 6px;color:#72552f;line-height:1.3}
#quest .order-deadline{font-size:16px;margin:7px 0 0;line-height:1.3;color:#8e724c}
#quest .order-reward{font-size:16px;margin:5px 0 0;line-height:1.3;display:flex;align-items:center;gap:5px}
#quest .quest-link{font-size:18px;padding:8px 0 0;margin-top:8px}
.order-progress{appearance:none;display:block;width:100%;height:10px;border:1px solid #ac8748;border-radius:3px;overflow:hidden;background:#ddc594}
.order-progress::-webkit-progress-bar{background:#ddc594}
.order-progress::-webkit-progress-value{background:#70935d}
.order-progress::-moz-progress-bar{background:#70935d}
.order-guide{font-size:14px;line-height:1.5;margin-bottom:14px}
.order-card{border:1px solid #bda16e;border-radius:6px;padding:16px;background:#fff8df40;margin-bottom:14px}
.order-intro{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:18px}
.order-level-badge{font-size:13px;background:#e2c594;border:1px solid #b39053;color:#75512d;padding:4px 8px;border-radius:4px;white-space:nowrap}
.order-meta{font-size:13px;color:#826849;margin:0 0 14px;line-height:1.4}
.order-labels,.order-detail-row{display:grid;grid-template-columns:1fr 92px 110px;align-items:center}
.order-labels{padding:0 14px 8px;font-size:13px;color:#8f744c}
.order-labels span:not(:first-child){text-align:center}
.order-detail-row{padding:10px 12px;border:1px solid #bda16e;border-radius:6px;background:#fff8df80;margin-bottom:9px}
.order-detail-name{display:flex;align-items:center;gap:12px}
.order-detail-name .item-icon{width:56px;height:56px;flex-basis:56px}
.order-detail-name strong{font-size:18px}
.order-requested{font-size:26px;text-align:center;color:#714629}
.order-stock{display:flex;flex-direction:column;gap:5px;text-align:center;font-size:16px}
.order-stock small{font-size:12px;align-self:center;padding:3px 7px;border:1px solid #c99973;border-radius:4px;color:#995e38;background:#edd7b8}
.order-stock small.ready{color:#36563a;background:#d6e2be;border-color:#8d9d69}
.order-completion{border-top:1px solid #c2a776;margin-top:12px;padding-top:12px}
.order-total-line{display:flex;justify-content:space-between;font-size:15px;margin-bottom:8px}
.order-total-line strong{color:#507448}
.order-completion .order-progress{height:12px}
.order-reward{font-size:14px;color:#775127;margin:8px 0 0}
.order-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:13px}
.order-actions .action{min-width:150px}
.panel:has(.order-card) .panel-content{padding:14px 24px;max-height:calc(88vh - 132px)}
.panel:has(.order-card) .panel-feedback{min-height:12px;padding-bottom:10px}
.lead.order-guide{font-size:13px;line-height:1.4;margin-bottom:10px}
.order-card{padding:12px;margin-bottom:10px}
.order-meta{margin-bottom:6px}
.order-labels{padding-bottom:6px}
.order-detail-row{padding:8px 10px;margin-bottom:7px}
.order-detail-name .item-icon{width:44px;height:44px;flex-basis:44px}
.order-completion{margin-top:8px;padding-top:8px}
.order-actions{margin-top:10px}
.order-actions .action{padding:8px 14px;font-size:14px}
.panel:has(.order-card) .panel-content>.muted{font-size:12px;margin:8px 0 0}


.quest .pending-order-note{font-size:15px;line-height:1.4;color:#846746;margin:8px 0 0}

/* Approved collapsible daily order card. */
#quest.quest-foldable h2{display:block}
#quest .quest-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:bold;text-align:left;cursor:pointer}
#quest .quest-toggle>span:first-child{display:flex;align-items:center;gap:7px;white-space:nowrap}
#quest .quest-toggle .order-total{margin-left:auto}
#quest .quest-toggle .quest-chevron{display:block;flex:0 0 12px;width:12px;height:12px;position:relative;margin-left:4px}
#quest .quest-chevron::before{content:'';position:absolute;width:9px;height:9px;border-right:3px solid #775330;border-bottom:3px solid #775330;left:50%;top:50%;transform:translate(-50%,-25%) rotate(225deg)}
#quest.quest-collapsed .quest-chevron::before{transform:translate(-50%,-75%) rotate(45deg)}
#quest.quest-collapsed h2{border-bottom:0;padding-bottom:0;margin-bottom:0}
#quest .quest-fold-body[hidden]{display:none!important}
#quest .quest-toggle:hover{color:#8e6330}
#quest .quest-toggle:focus-visible{outline:2px solid #986b35;outline-offset:5px;border-radius:2px}
#quest .quest-toggle:active{transform:none}

#quest{width:318px;padding:12px;transform:scale(.9);transform-origin:top left}
#quest h2{font-size:20px;margin-bottom:6px;padding-bottom:7px}
#quest .quest-heading-icon{width:24px;height:24px}
#quest .order-total{font-size:14px;padding:2px 5px}
#quest h3{font-size:20px;margin:7px 0 3px}
#quest .order-customer{font-size:14px;margin-bottom:5px}
#quest .order-items{gap:5px}
#quest .order-mini-row{grid-template-columns:36px 1fr auto;gap:7px;min-height:46px;padding:3px 6px}
#quest .order-mini-row .item-icon{width:36px;height:36px;flex-basis:36px}
#quest .order-mini-row strong{font-size:16px}
#quest .order-mini-row small{font-size:13px;margin-top:1px}
#quest .order-mini-row>b{font-size:20px}
#quest .order-summary{font-size:15px;margin:7px 0 5px}
#quest .order-progress{height:8px}
#quest .order-deadline{font-size:14px;margin-top:5px}
#quest .order-reward{font-size:14px;margin-top:4px}
#quest .quest-link{font-size:16px;padding-top:6px;margin-top:6px}
#quest .pending-order-note{font-size:13px;margin:5px 0 0}
#quest .quest-toggle{gap:6px}
#quest .quest-toggle>span:first-child{gap:6px}
#quest .quest-fold-body>p:not([class]){font-size:17px;line-height:1.4;margin:4px 0}
#quest .quest-fold-body>.muted{font-size:14px}



.tutorial-layer{position:absolute;inset:0;z-index:100;pointer-events:none}
.tutorial-layer.tutorial-in-panel{position:fixed;inset:0;z-index:100}
.tutorial-shade{position:absolute;inset:0;background:#100d0bd9;z-index:100;pointer-events:none}
.tutorial-card{position:absolute;z-index:102;width:520px;padding:28px 32px;background:#f6e6c4;border:3px solid #80603d;color:#432616;box-shadow:inset 0 0 0 3px #e2c69a,0 7px 0 #21160c66;text-shadow:none;border-radius:0;pointer-events:auto;text-align:left}
.tutorial-card h1,.tutorial-card h2{margin:12px 0 16px;font-size:29px;line-height:1.4;letter-spacing:0}
.tutorial-card p{font-size:21px;line-height:1.75;margin:10px 0}
.tutorial-top{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#826445;font-size:17px;font-weight:bold}
.tutorial-skip{font:inherit;background:transparent;border:0;padding:3px;color:#846746;text-decoration:underline;text-underline-offset:4px}
.tutorial-progress{display:flex;gap:7px;margin:17px 0 21px}
.tutorial-progress i{height:5px;flex:1;background:#dbc69f}.tutorial-progress i.active{background:#678053}
.tutorial-card .tutorial-action{display:block;width:100%;padding:13px 18px;margin-top:21px;background:#44664a;border:2px solid #839868;box-shadow:0 3px 0 #304b2d;color:#fff0ce;font-size:22px;font-weight:bold;border-radius:0}
.tutorial-card .tutorial-action.waiting{background:#e6d5af;border-color:#c8ae7e;box-shadow:none;color:#826747}
.tutorial-card .tutorial-note{font-size:16px;line-height:1.6;color:#8a7050;margin-top:17px}
.tutorial-focus{position:absolute;z-index:101;border:3px solid #ffe4a0;box-shadow:0 0 0 3000px #100d0bbf;pointer-events:none}
.tutorial-arrow-left::before{content:"";position:absolute;left:-17px;top:61px;border-right:15px solid #80603d;border-top:13px solid transparent;border-bottom:13px solid transparent}
.tutorial-arrow-left::after{content:"";position:absolute;left:-12px;top:63px;border-right:12px solid #f6e6c4;border-top:11px solid transparent;border-bottom:11px solid transparent}
.tutorial-welcome{width:770px;left:50%;top:50%;transform:translate(-50%,-50%);padding:32px 43px}
.tutorial-welcome h1{font-size:36px;text-align:center;margin-top:14px}.tutorial-welcome>p{text-align:center}
.tutorial-welcome .tutorial-note{text-align:center}
.tutorial-path{display:flex;justify-content:center;align-items:center;gap:25px;margin:24px 0 20px;padding:18px 0;border-top:2px solid #d6bb8e;border-bottom:2px solid #d6bb8e}
.tutorial-path>div{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:19px;font-weight:bold;min-width:115px}
.tutorial-path .pixel-icon{width:52px;height:52px}.tutorial-path>b{font-size:24px;color:#b4986b}
.tutorial-panel-card{position:fixed;width:400px;padding:25px 27px;left:calc(50% + 418px);top:240px}
.tutorial-panel-card h2{font-size:26px}.tutorial-panel-card p{font-size:19px}.tutorial-panel-card .tutorial-action{font-size:18px}
.tutorial-side-card{left:1270px;top:220px;width:365px;padding:23px 25px}
.tutorial-side-card h2{font-size:25px}.tutorial-side-card p{font-size:19px}.tutorial-side-card .tutorial-action{font-size:17px}
.tutorial-menu-list{margin:12px 0;font-size:20px;line-height:1.6}.tutorial-menu-list>div{display:flex;gap:22px;padding:7px 0;border-bottom:1px solid #dbc69f}.tutorial-menu-list dt{min-width:105px;font-weight:bold}.tutorial-menu-list dd{margin:0}
.tutorial-card{word-break:keep-all;overflow-wrap:break-word}
.tutorial-card:focus{outline:none}
@media(max-width:1450px){.tutorial-panel-card{left:50%;top:auto;bottom:20px;transform:translateX(-50%);width:min(520px,calc(100vw - 32px));padding:18px 22px}.tutorial-panel-card h2{font-size:23px;margin:8px 0}.tutorial-panel-card p{font-size:17px;line-height:1.45;margin:7px 0}.tutorial-panel-card .tutorial-note{display:none}.tutorial-panel-card .tutorial-action{margin-top:12px;padding:9px}.tutorial-panel-card .tutorial-progress{margin:8px 0}.tutorial-panel-card .tutorial-top{font-size:14px}}
@media(max-height:600px){.tutorial-panel-card{bottom:10px;padding:10px 18px}.tutorial-panel-card h2{font-size:17px;margin:5px 0}.tutorial-panel-card p{display:none}.tutorial-panel-card .tutorial-action{font-size:13px;padding:5px;margin-top:5px}.tutorial-panel-card .tutorial-progress{margin:5px 0}}
.tutorial-layer[data-step="1"] .tutorial-panel-card .tutorial-note{display:block;font-size:14px;line-height:1.5;margin-top:10px}
.stage:has(>.tutorial-layer [data-tutorial="craft"]) .bench{color:#fff5d2;font-weight:800;text-shadow:none}
.stage:has(>.tutorial-layer [data-tutorial="craft"]) .tutorial-action{color:#fff7df;font-weight:800;text-shadow:none}

.tutorial-layer[data-step="2"] .tutorial-focus{box-shadow:0 0 0 3000px #100d0b66}
.panel.tutorial-guided:has(.tutorial-layer[data-step="2"])::backdrop{background:#150d0833;backdrop-filter:none;-webkit-backdrop-filter:none}


/* Map guide occupies empty landscape, not a second side column or a gold spotlight. */
.tutorial-map-layer{position:absolute;inset:0;pointer-events:none}
.tutorial-map-card{left:auto;right:1.6%;top:41%;width:min(420px,26%);max-height:calc(59% - 12px);overflow:auto;padding:22px 24px;background:linear-gradient(#344a71,#202844 50%,#20253b);border:3px solid #9c6b32;border-radius:6px;box-shadow:inset 0 0 0 2px #251209;color:#f9e6b9}
.tutorial-map-card h2{font-size:24px;line-height:1.35;margin:15px 0 12px;color:#f9e6b9}
.tutorial-map-card p{font-size:17px;line-height:1.6;margin:10px 0;color:#e9dcc3}
.tutorial-map-card .tutorial-top{font-size:13px;color:#d5c4a6;gap:8px}
.tutorial-map-card .tutorial-skip{font-size:12px;color:#d5c4a6;white-space:nowrap}
.tutorial-map-card .tutorial-note{font-size:13px;color:#cbd0dc;line-height:1.5;margin:12px 0 0}
.tutorial-map-card .tutorial-action{font-size:16px;line-height:1.35;padding:10px 12px;margin-top:16px;background:#344a71;border:2px solid #9c6b32;border-radius:4px;box-shadow:none;color:#f9e6b9}
.tutorial-map-card button:focus{outline:none}
.tutorial-map-card button:focus-visible{text-decoration:underline;text-underline-offset:4px}
.tutorial-map-focus{border:0;box-shadow:0 0 0 3000px #100d0bbf}
.tutorial-map-layer[data-first-exploration="true"] .tutorial-map-card{top:35%;max-height:calc(65% - 12px);padding:18px}
.tutorial-map-layer[data-first-exploration="true"] .tutorial-map-card h2{font-size:20px}
.tutorial-map-layer[data-first-exploration="true"] .tutorial-map-card p{font-size:15px;line-height:1.5}


/* Guides never reflow or resize native menu windows. */
.tutorial-in-panel .tutorial-panel-card{position:fixed;width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;padding:20px 22px;transform:none}.tutorial-in-panel .tutorial-focus{position:fixed;border:0;box-shadow:0 0 0 4000px #100d0bbf;border-radius:3px}.tutorial-in-panel .tutorial-shade{display:none}.tutorial-in-panel .tutorial-panel-card h2{font-size:24px}.tutorial-in-panel .tutorial-panel-card p{font-size:18px;line-height:1.6}.tutorial-in-panel .tutorial-panel-card .tutorial-note{font-size:14px}.tutorial-in-panel .tutorial-panel-card .tutorial-action{font-size:16px}


.secret-shop-entry{position:relative;outline:none;cursor:help}
.dock .secret-shop-locked{opacity:1;pointer-events:none;color:#bba88c;border-color:#735334;background:linear-gradient(#57422d,#3b2a1d);box-shadow:inset 0 0 0 2px #302116,0 5px 0 #251911,0 8px 13px #0008;text-shadow:0 2px #251a13;gap:10px}
.secret-lock{display:block;width:58px;height:58px;color:#ad9264;filter:drop-shadow(0 3px #281b12)}
.secret-lock svg{display:block;width:100%;height:100%;shape-rendering:crispEdges}
.secret-shop-tooltip{position:absolute;bottom:calc(100% + 20px);left:calc(100% + 18px);width:350px;padding:19px 22px 20px;background:linear-gradient(#fff0cb,#e6c994);border:4px solid #764b28;border-radius:6px;color:#50321d;box-shadow:inset 0 0 0 2px #c49650,0 7px 0 #382319,0 10px 20px #0007;visibility:hidden;opacity:0;pointer-events:none;z-index:10;text-shadow:none;box-sizing:border-box}
.secret-tooltip-heading{font-size:21px;font-weight:800;border-bottom:2px solid #c59a60;padding-bottom:10px;margin-bottom:10px;color:#65401f;letter-spacing:.1px}
.secret-mini-lock{color:#a97735;font-size:17px}
.secret-shop-tooltip p{font-size:23px;line-height:1.6;margin:0;font-weight:600;white-space:nowrap}
.secret-shop-tooltip strong{color:#704822;font-weight:850}
.secret-shop-tooltip b{color:#925b27;font-weight:900}
.secret-shop-entry.locked:hover .secret-shop-tooltip,.secret-shop-entry.locked:focus-within .secret-shop-tooltip{visibility:visible;opacity:1}
.secret-shop-entry.locked:hover .secret-shop-locked,.secret-shop-entry.locked:focus-within .secret-shop-locked{border-color:#ab8552}

.trust-menu-icon{display:block;width:60px;height:60px;filter:drop-shadow(0 3px #281b12)}
.trust-menu-icon svg,.trust-guide-icon svg{display:block;width:100%;height:100%;shape-rendering:crispEdges}
.dock .trust-menu{gap:7px}
.secret-shop-tooltip{left:auto;right:0}
.trust-panel{width:min(940px,94vw);max-height:94vh}
.trust-panel::backdrop{background:#150d08a8;backdrop-filter:none;-webkit-backdrop-filter:none}
.trust-panel .panel-head{padding:22px 26px 19px}
.trust-panel .panel-content{padding:20px 26px 24px;max-height:calc(94vh - 104px)}
.trust-head-actions{display:flex;align-items:center;gap:17px}
.trust-discovered{font-size:13px;color:#86633e;white-space:nowrap;background:#f7e7c2;border:1px solid #b7955f;padding:9px 12px;border-radius:4px}
.trust-discovered b{margin-left:6px;color:#624225}
.trust-intro{font-size:15px;margin:0 0 10px;color:#785b39;line-height:1.5}
.trust-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.trust-card{padding:18px;border:2px solid #b38a50;border-radius:6px;background:linear-gradient(#fff2d2,#ecd3a2);box-shadow:inset 0 0 0 2px #fff9e04d,0 3px 0 #c29c64;text-align:center;min-width:0}
.trust-portrait{height:146px;width:100%;display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:6px;background:radial-gradient(ellipse at 50% 62%,#dbb36a55,transparent 66%)}
.trust-portrait img{height:141px;max-width:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 4px 0 #7c593023)}
/* Benjamin faces right in trust portraits; keep his left-facing workshop source intact. */
.trust-card[data-customer="astronomer"] .trust-portrait img,
.npc-detail-portrait[data-customer="astronomer"] img{transform:scaleX(-1)}
.trust-card h2{font-size:23px;color:#5e3d22;margin:7px 0 15px}
.trust-level{display:flex;justify-content:center;align-items:center;gap:10px;font-size:13px;color:#8d6c44;border:1px solid #c4a373;background:#efdbb4;padding:7px 12px;border-radius:4px;margin-bottom:16px}
.trust-level strong{color:#624827;font-size:19px}
.trust-progress-heading{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:12px;color:#8b6a43;margin:0 0 7px;white-space:nowrap}
.trust-progress-heading b{font-size:12px;color:#775232}
.trust-progress{display:block;appearance:none;width:100%;height:12px;border:1px solid #b48e54;border-radius:3px;overflow:hidden;background:#dbc196}
.trust-progress::-webkit-progress-bar{background:#dac399;box-shadow:inset 0 1px 2px #99713d30}
.trust-progress::-webkit-progress-value{background:linear-gradient(#809864,#557344);border-right:1px solid #455e36}
.trust-progress::-moz-progress-bar{background:#69864f}
.trust-unlock{width:100%;height:40px;margin-top:12px;font-size:13px;opacity:1!important;background:linear-gradient(#e2d1ad,#d5bd95)!important;color:#9b825e;border-color:#b29a75;box-shadow:0 2px 0 #ad936b}
.trust-perk{border-top:1px solid #c6a273;padding-top:13px;margin-top:18px;min-height:55px}
.trust-perk span{display:block;font-size:11px;color:#9a7548;margin-bottom:7px}
.trust-perk strong{display:block;font-size:14px;color:#705233;font-weight:750}
.trust-card-hidden{background:linear-gradient(#eadbbd,#dfcba8);border-color:#b19a79;box-shadow:inset 0 0 0 2px #fff9e02d,0 3px 0 #bda383}
.trust-mystery{height:146px;color:#aa8f68;font-family:ui-monospace,Consolas,monospace;font-size:91px;font-weight:900;text-shadow:3px 3px 0 #c6ad82,-2px -2px 0 #f4e5c5;background:radial-gradient(ellipse at 50% 62%,#b49a7040,transparent 66%)}
.trust-card-hidden h2{color:#947b59;letter-spacing:5px}
.trust-card-hidden .trust-level{background:#decaab;color:#9a8363;border-color:#c3aa85}
.trust-card-hidden .trust-level strong{color:#a08968}
.trust-card-hidden .trust-progress-heading{font-size:11px;color:#977e5b}
.trust-hidden-bar{height:12px;border:1px solid #b8a07c;border-radius:3px;background:repeating-linear-gradient(135deg,#cbb592,#cbb592 6px,#d7c3a2 6px,#d7c3a2 12px)}
.trust-card-hidden .trust-perk strong{color:#9b825f;letter-spacing:4px}
.trust-guide{display:flex;align-items:center;gap:14px;border:1px solid #c1a06e;background:#e7cea35e;padding:13px 17px;margin-top:21px;border-radius:4px}
.trust-guide-icon{display:block;width:37px;height:37px;flex:0 0 37px;opacity:.85}
.trust-guide p{font-size:13px;line-height:1.8;margin:0;color:#896b45}
.trust-guide strong{font-weight:750;color:#694c2f}

.trust-perk strong{word-break:keep-all}



.secret-shop-panel{width:min(880px,94vw);max-height:94vh}
.secret-shop-panel::backdrop{background:#150d08a8;backdrop-filter:none;-webkit-backdrop-filter:none}
.secret-shop-panel .panel-head{padding:22px 27px 19px}
.secret-shop-panel .panel-content{padding:19px 27px 14px;max-height:calc(94vh - 108px)}
.secret-head-actions{display:flex;align-items:center;gap:18px}
.secret-wallet{display:flex;align-items:center;gap:7px;padding:9px 13px;border:2px solid #a9854a;background:#f7e6bd;box-shadow:inset 0 0 0 1px #e4c585;border-radius:5px;font-size:18px;font-weight:850;white-space:nowrap}
.secret-wallet .pixel-icon{width:25px;height:25px;flex:0 0 25px}
.secret-intro{margin:0 0 16px;color:#795a35;font-size:15px}
.secret-ticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.secret-ticket-card{position:relative;border:2px solid #b38a50;border-radius:6px;background:linear-gradient(#fff2d2,#ecd3a2);box-shadow:inset 0 0 0 2px #fff9e04d,0 3px 0 #c29c64;padding:16px 19px 19px;text-align:center}
.secret-card-top{display:flex;justify-content:space-between;align-items:center;gap:7px;font-size:12px}
.secret-provider{color:#78572e;font-weight:750}
.secret-card-state{background:#e2e9c4;color:#496041;border:1px solid #9bab71;border-radius:4px;padding:3px 7px;white-space:nowrap;font-weight:750}
.secret-ticket-art{height:107px;margin:7px auto 2px;position:relative;width:142px;display:flex;align-items:center;justify-content:center}
.ticket-art{width:126px;height:108px;shape-rendering:crispEdges;filter:drop-shadow(0 3px 0 #926b353d)}
.ticket-effect{position:absolute;right:0;bottom:7px;padding:3px 7px;background:#573821;border:2px solid #c29348;color:#fff0c3;font-size:18px;font-weight:900;box-shadow:0 2px 0 #3a2618}
.secret-ticket-card h2{font-size:22px;margin:4px 0 12px;color:#59371e}
.secret-ticket-desc{font-size:16px;line-height:1.7;margin:0;min-height:55px;color:#795736}
.secret-ticket-desc strong{color:#534227;font-weight:850}
.secret-ticket-note{font-size:12px;line-height:1.6;color:#906244;margin:9px 0 17px;min-height:20px}
.secret-purchase-meta{display:flex;justify-content:space-between;align-items:center;font-size:13px;border-top:1px solid #c6a271;padding-top:13px;margin-bottom:12px;color:#826440}
.secret-quota{font-size:14px;color:#6b4b2e}
.secret-buy{width:100%;display:flex;gap:8px;justify-content:center;align-items:center;height:48px;font-size:16px}
.secret-buy .pixel-icon{width:25px;height:25px;flex:0 0 25px}
.secret-ticket-card.purchased .secret-card-state{color:#7e6a4e;background:#e7d7b4;border-color:#b59a70}
.secret-ticket-card.purchased .secret-buy{opacity:1;color:#a68c68;background:linear-gradient(#e1cfaa,#d2bc92);border-color:#ae9269;box-shadow:0 3px 0 #a48960;text-shadow:none}
.secret-daily-note{display:flex;justify-content:space-between;gap:12px;border:1px solid #c6a273;background:#e7cda055;padding:11px 14px;margin-top:20px;border-radius:4px;font-size:13px;color:#85633f}
.secret-daily-note strong{color:#644728}
.secret-preview-feedback{font-size:13px;color:#836342;min-height:21px;margin:12px 0 0;text-align:center}


/* Approved relationship panels and shared centered close button. */
.relationship-head-info{margin-left:auto;margin-right:17px;flex-shrink:0}
.relationship-head-info[hidden]{display:none}
.secret-wallet{display:flex;align-items:center;gap:7px}
.trust-panel .panel-head>div:first-child,.secret-shop-panel .panel-head>div:first-child{min-width:0;margin-right:14px}
#close-panel{flex-shrink:0;position:relative;display:grid;place-items:center;padding:0;line-height:1;font-size:0}
#close-panel::before,#close-panel::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;border-radius:1px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
#close-panel::after{transform:translate(-50%,-50%) rotate(-45deg)}
.secret-shop-entry:not(.locked){cursor:default}
.secret-shop-entry:not(.locked) .secret-lock{position:relative;width:84px;height:60px;color:#e5bf76;filter:none;display:flex;align-items:center;justify-content:center}
.secret-shop-tooltip{left:auto;right:-290px}
.secret-buy:disabled{opacity:1;color:#a68c68;background:linear-gradient(#e1cfaa,#d2bc92);border-color:#ae9269;box-shadow:0 3px 0 #a48960;text-shadow:none;font-size:14px}
.ticket-locked .secret-card-state{background:#e7d7b4;border-color:#b59a70;color:#7e6a4e}
.secret-usage-note{font-size:12px;line-height:1.6;margin:13px 0 0;color:#866742;text-align:center}
.trust-intro{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.trust-intro b{font-size:13px;white-space:nowrap}
.trust-condition{font-size:11px;line-height:1.5;min-height:17px;margin:6px 0 0;color:#8b6b46;word-break:keep-all}
.trust-unlock.primary:not(:disabled){background:linear-gradient(#608254,#3b603d)!important;color:#ffedc3;border-color:#91a366;box-shadow:0 3px 0 #304b2d}
.trust-card-hidden .trust-condition{color:#a28c6c}
.trust-perk strong{word-break:keep-all}


.trust-panel[open],.secret-shop-panel[open]{display:flex;flex-direction:column;overflow:hidden}
.trust-panel .panel-head,.secret-shop-panel .panel-head{flex:0 0 auto}
.trust-panel .panel-content,.secret-shop-panel .panel-content{flex:1 1 auto;min-height:0;max-height:none;overflow:auto}
.trust-panel .panel-feedback,.secret-shop-panel .panel-feedback{flex:0 0 auto;padding:0 26px 13px;min-height:29px;font-size:13px}
.trust-panel .panel-content{padding:16px 26px 18px}.trust-portrait,.trust-mystery{height:90px}.trust-portrait img{height:87px}.trust-card{padding:12px}.trust-card h2{margin-bottom:9px}.trust-level{margin-bottom:10px}.trust-perk{margin-top:12px}.trust-unlock{height:36px;margin-top:10px}.trust-guide{margin-top:16px;padding:10px 13px}.trust-guide p{font-size:12px;line-height:1.6}

.trust-panel.npc-rewards-panel{width:min(960px,94vw)}
.npc-known-name{margin:-2px 0 9px;font-size:14px;color:#705035;font-weight:750;min-height:20px}
.npc-known-name.masked{font-size:12px;color:#a08761;font-weight:400}
.npc-reward-steps{display:grid;gap:7px;margin-top:13px;padding-top:12px;border-top:1px solid #c3a06c}
.npc-reward-step{display:flex;align-items:center;gap:7px;width:100%;min-height:43px;padding:8px 9px;border:1px solid #bda06c;border-radius:4px;background:#fff1ce;color:#654828;text-align:left;box-shadow:0 2px #bda06c50;font:inherit;font-size:13px;text-shadow:none}
.npc-reward-step strong{font-weight:800;white-space:nowrap}
.npc-step-level{display:inline-flex;align-items:center;justify-content:center;background:#ead5ae;border:1px solid #c1a575;border-radius:3px;padding:3px 5px;color:#896338;font-size:11px;flex:0 0 32px}
.npc-step-status{display:flex;gap:4px;align-items:center;white-space:nowrap;margin-left:auto;font-size:11px;color:#7d6342}
.npc-step-lock{display:block;width:13px;height:13px;color:#a78b63}
.npc-step-lock svg{display:block;width:100%;height:100%;shape-rendering:crispEdges}
.npc-reward-step:disabled{opacity:1;background:#e7d5b1;border-color:#c0a984;color:#a18865;cursor:default}
.npc-reward-step:disabled .npc-step-level{background:#dfcaa8;color:#a58b64;border-color:#bea783}
.npc-reward-step.is-open:hover{background:#fbf0d6;border-color:#806443}
.npc-reward-step.is-open .npc-step-status{color:#567243;font-weight:750}
.npc-detail-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;padding:10px 6px}
.npc-detail-portrait{display:flex;flex-direction:column;align-items:center;background:linear-gradient(#f8e8c4,#e9cda1);border:2px solid #b38a50;border-radius:6px;padding:28px 16px;align-self:start}
.npc-detail-portrait img{width:160px;height:190px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 5px #9c713b28);margin-bottom:18px}
.npc-detail-portrait span{font-size:14px;color:#9a754e;margin-bottom:7px}
.npc-detail-portrait strong{font-size:28px;color:#674127}
.npc-detail-portrait small{font-size:12px;margin-top:14px;border:1px solid #c4a370;padding:6px 13px;border-radius:4px;color:#816344}
.npc-detail-unlocked{margin:0 0 14px;font-size:13px;color:#55703e;background:#e2e8c9;border:1px solid #a9b483;padding:8px 12px;border-radius:4px;display:inline-block}
.npc-detail-fields dl{margin:0;background:#fff3d633;border:1px solid #c7a575;border-radius:5px;padding:0 17px}
.npc-detail-fields dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);padding:17px 0;gap:12px;border-bottom:1px solid #c8ac7d}
.npc-detail-fields dl>div:last-child{border-bottom:0}
.npc-detail-fields dt{font-size:14px;color:#9a754b;padding-top:2px;font-weight:700}
.npc-detail-fields dd{margin:0;font-size:17px;line-height:1.8;color:#654529;font-weight:400;word-break:keep-all}
.npc-detail-fields .profile-sentence{margin:0 0 10px;font-weight:400}
.npc-detail-fields .profile-sentence:last-child{margin-bottom:0}
.npc-dialogue-kind,.npc-detail-unlocked{font-weight:700}
.npc-dialogue-card p,.npc-benefit-content>p,.ria-keepsake p{font-weight:400}
.npc-detail-footer{margin-top:22px;border-top:1px solid #c5a273;padding-top:18px;display:flex;justify-content:flex-end}
.npc-dialogue-card{margin-bottom:12px;border:1px solid #c5a172;background:#fff3d67a;border-radius:5px;padding:13px 17px}
.npc-dialogue-kind{display:inline-block;font-size:12px;color:#987444;margin-bottom:7px}
.npc-dialogue-card p{margin:0;font-size:16px;line-height:1.7;word-break:keep-all;color:#664329}
.npc-dialogue-note{font-size:12px;line-height:1.8;color:#91704a;margin:13px 0 0}
.npc-benefit-content{text-align:center;padding:15px 6px;font-size:16px;line-height:1.8;color:#806040}
.npc-benefit-content h2{color:#66452c;font-size:24px}
.npc-benefit-icon{display:block;width:72px;height:72px;margin:24px auto}
.npc-benefit-icon svg{width:100%;height:100%;shape-rendering:crispEdges}
.npc-special-visit{display:block;word-break:keep-all;font-size:18px;line-height:1.65}
.npc-order-note{display:block;border-top:1px solid #c4a578;padding-top:9px;margin-top:10px;font-size:14px;line-height:1.6}
.ticket-secret-placeholder{min-height:331px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.ticket-secret-placeholder .npc-benefit-icon{color:#a48b68;margin:0 auto 4px}
.ticket-secret-placeholder h2{font-size:23px;margin:0;color:#977f5b}
.ticket-secret-placeholder p{font-size:14px;color:#9d8159;line-height:1.7;margin:0}


/* Approved benefit layout: explanation followed by the unlock dialogue. */
.npc-benefit-unlock-dialogue{text-align:left;margin-top:22px}
.npc-benefit-content .npc-benefit-icon{width:56px;height:56px;margin:12px auto}
.npc-detail-portrait .npc-empty-portrait{width:160px;height:190px;margin-bottom:18px}
.trust-portrait .npc-empty-portrait{width:90px;height:87px}
.popular-reset-art{display:block;font-size:92px;line-height:1;color:#806044}
.secret-shop-tooltip p{white-space:normal}


/* Approved trust heart and secret shop chest, preview v3. */
.dock .trust-menu-icon{filter:none}
.trust-heart-icon{position:relative;display:block;width:100%;height:100%;background:url("/assets/trust-heart-solid-core-v2.c30a6df45d4489a67218.svg") center/contain no-repeat;image-rendering:pixelated;pointer-events:none}
.trust-heart-icon::before,.trust-heart-icon::after{content:"";position:absolute;inset:0;pointer-events:none}
.trust-heart-icon::before{background:#d79c72;mask:url("/assets/trust-heart-mask-v1.73f61d038ca346e9c400.png") center/contain no-repeat;-webkit-mask:url("/assets/trust-heart-mask-v1.73f61d038ca346e9c400.png") center/contain no-repeat}
.trust-heart-icon::after{background:url("/assets/trust-heart-muted-v1.ef36db09dacf802796f2.png") center/contain no-repeat;image-rendering:pixelated}
.secret-shop-chest-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:84px;height:72px;background:url("/assets/secret-shop-chest-v1.875af1a567570bb0547c.png") center/contain no-repeat;image-rendering:pixelated;pointer-events:none}

.trust-condition:empty{display:none}
.npc-reward-steps{margin-top:8px;padding-top:8px}

.shared-episode .guest img{transform:none}
.episode-partner{transform:translateX(-50%);z-index:2}
.episode-partner img{transform:scaleX(-1)}
.episode-partner.episode-leaving img{transform:none}
.episode-motion{position:absolute;left:50%;image-rendering:pixelated;max-width:none;pointer-events:none}
.episode-motion[hidden],.episode-partner[hidden]{display:none}
.shared-episode #speech{z-index:5;max-width:440px;pointer-events:none}
.shared-episode #speech[data-open="visit-event"]{pointer-events:auto}
.shared-episode #hero.facing-left img{transform:none}

.journal-menu-icon{display:block;width:60px;height:60px}.journal-menu-icon svg,.journal-book svg{display:block;width:100%;height:100%;shape-rendering:crispEdges}
.journal-dialog{width:min(920px,calc(100vw - 30px));height:min(870px,calc(100dvh - 36px));max-height:calc(100dvh - 36px);padding:0;overflow:hidden;color-scheme:light}
.journal-dialog[open]{display:flex;flex-direction:column;inset:0;margin:auto}.journal-dialog::backdrop{background:#160f0aab;backdrop-filter:none}
.journal-head{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:19px 26px 17px;border-bottom:1px solid #c2a06a;background:#dfc08b44}.journal-heading{display:flex;align-items:center;gap:17px}.journal-book{width:49px;height:49px}.journal-heading p{margin:0 0 5px;font-size:12px;color:#947044;letter-spacing:1px}.journal-heading h1{margin:0;font-size:27px;color:#4e301b}
.journal-close{width:36px;height:36px;position:relative;padding:0;flex-shrink:0;font-size:0;line-height:1;border:2px solid #a37b46;border-radius:5px;background:#5d3b23;color:#f8e6bd}.journal-close::before,.journal-close::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;background:currentColor;border-radius:1px;transform:translate(-50%,-50%) rotate(45deg)}.journal-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.journal-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:16px 26px 14px;padding:13px 17px;background:#fdf1d390;border:1px solid #c4a56d;border-radius:6px;flex-shrink:0}.journal-summary>div>strong{font-size:15px}.journal-summary p{font-size:12px;color:#8d704d;margin:6px 0 0}.journal-totals{display:flex;gap:20px;align-items:center}.journal-totals>span{display:flex;align-items:center;gap:10px;font-size:12px;color:#8b6b44;white-space:nowrap}.journal-totals b{font-size:24px;color:#674720;font-variant-numeric:tabular-nums}.journal-totals small{font-size:13px;font-weight:400;color:#947951}.journal-totals .journal-ready-total{border-left:1px solid #c8ac7e;padding-left:19px}.journal-ready-total b{color:#466d49}
.journal-categories{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:0 26px;flex-shrink:0}.journal-categories button{padding:10px 6px;border:1px solid #b99560;border-radius:5px;background:#ecd8af;color:#85643b;font-size:14px;font-weight:700}.journal-categories .selected{background:linear-gradient(#6b4b2e,#50341f);color:#ffedc5;border-color:#7a5633;box-shadow:inset 0 1px #99703f}
.journal-filter-row{display:flex;align-items:center;justify-content:space-between;margin:13px 26px 12px;flex-shrink:0}.journal-filter-row>span{font-size:11px;color:#8c704e}.journal-filters{display:flex;gap:15px}.journal-filters button{padding:4px 0 5px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#967a54;font-size:12px}.journal-filters .selected{border-bottom-color:#668057;color:#506b42;font-weight:700}.journal-filters b{display:inline-block;min-width:17px;padding:1px 4px;border-radius:3px;background:#6a825b;color:#fff4cf;font-size:10px}
.journal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 20px 0 26px;padding-right:6px;padding-bottom:10px;min-height:0;overflow:auto;align-content:start;scrollbar-color:#b59661 #ebd8b4;scrollbar-width:thin}.journal-card{min-width:0;padding:13px 16px 12px;background:#fff7df66;border:1px solid #bea170;border-radius:6px;box-shadow:0 2px 0 #b1946020}.journal-card.ready{border-color:#96a071;background:linear-gradient(130deg,#fff5d9,#eee5c3)}.journal-card.claimed{background:#e6d6b766;border-color:#c2aa82}.journal-card-top{display:flex;align-items:center;justify-content:space-between}.journal-category{font-size:10px;letter-spacing:1px;color:#9b7a4e}.journal-status{font-size:10px;font-weight:700;color:#947649;border:1px solid #c8b28e;border-radius:3px;padding:2px 6px;background:#ebdabc77}.ready .journal-status{color:#456844;border-color:#a3b084;background:#e1e9c9}.claimed .journal-status{color:#8f8067;background:#ded3bd}
.journal-card h2{margin:7px 0 5px;font-size:17px;color:#53351f;letter-spacing:-.3px}.journal-condition{font-size:12px;color:#896a46;margin:0 0 11px;line-height:1.5}.journal-progress-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;font-size:10px;color:#a0835b}.journal-progress-label b{color:#7b6946;font-size:11px;font-variant-numeric:tabular-nums}.ready .journal-progress-label b{color:#4d7149}.journal-card progress{appearance:none;display:block;width:100%;height:6px;border:0;border-radius:2px;background:#d7c197;overflow:hidden;accent-color:#748d62}.journal-card progress::-webkit-progress-bar{background:#dccba7}.journal-card progress::-webkit-progress-value{background:#819369}.ready progress::-webkit-progress-value{background:#718955}.claimed progress::-webkit-progress-value{background:#b3a286}.journal-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #cfbb90;margin-top:11px;padding-top:10px}.journal-reward{display:flex;align-items:center;gap:8px;min-width:0;color:#7d542c}.journal-reward .pixel-icon{width:25px;height:25px;flex:0 0 25px}.journal-reward strong{font-size:12px;white-space:nowrap}.journal-card-bottom .action{min-width:92px;padding:7px 11px;font-size:12px;line-height:1.4;box-shadow:0 2px 0 #937548;margin:0}.journal-card-bottom .action:disabled{opacity:1;color:#a08b65;background:#e4d3ac;border-color:#c3aa7e;box-shadow:none}.claimed .journal-card h2,.claimed .journal-reward{color:#8b7859}
.journal-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0;margin:0;width:100%;max-width:none;padding:12px 26px;border-top:1px solid #c8ab79;color:#95744b;font-size:11px;background:#e1c69744}.journal-empty{grid-column:1/-1;text-align:center;padding:50px 0;font-size:14px;color:#8d7150}


/* Keep six overview cards readable while leaving longer lists scrollable. */
.journal-dialog{height:min(900px,calc(100dvh - 36px))}
.journal-card{padding:11px 15px 10px}.journal-card h2{margin:5px 0 4px}.journal-condition{margin-bottom:8px}.journal-progress-label{margin-bottom:3px}.journal-card-bottom{margin-top:8px;padding-top:8px}.journal-card-bottom .action{padding:6px 11px}
.journal-foot span{opacity:1;color:#8b693f}

.journal-foot span:first-child{color:#8b693f;font-weight:400}

/* Place the journal next to the experience bar as a compact wood button. */
.status .journal-menu{position:relative;display:flex;align-items:center;justify-content:center;align-self:stretch;gap:11px;min-width:226px;padding:12px 26px 12px 18px;font-size:25px;font-weight:800;line-height:1.2}
.status .journal-menu-icon{width:42px;height:42px;flex:0 0 42px;filter:drop-shadow(0 2px #24120b)}
.status .journal-menu .badge{right:7px;top:5px;min-width:24px;height:24px;padding:0 5px;font-size:15px;line-height:20px;display:grid;place-items:center;text-shadow:none}
.journal-categories{grid-template-columns:repeat(7,minmax(0,1fr))}
.journal-pending>p{font-size:11px;color:#896a46;margin:12px 0 0}
.journal-pending .journal-card-bottom{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}
.journal-stage{font-size:11px;color:#7b6946;white-space:nowrap}
.journal-pending .journal-reward{justify-content:center}

/* Approved exploration and level journal layout. */
.journal-categories{grid-template-columns:repeat(8,minmax(0,1fr))}

.journal-card[data-record="level-track"]{grid-column:1/-1}
.journal-explorations{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:10px 26px 0;flex-shrink:0}
.journal-explorations button{font-size:12px;padding:7px 5px;background:#f4e6c5;color:#896943;border:1px solid #c0a477;border-radius:4px}
.journal-explorations .selected{color:#eff3dc;background:#6f835b;border-color:#5c704a;font-weight:700}
.journal-filter-row{margin-top:10px;margin-bottom:10px}.journal-condition.streak-note{font-size:10px;color:#66804e}


.single-track-reward .action{min-width:120px}


/* Match the left card's gauge/reward/button baseline across each grid row. */
.journal-card[data-explore-record="true"]{display:flex;flex-direction:column}
.journal-card[data-explore-record="true"]>.journal-card-description{flex:1 0 auto;min-height:26px}
.journal-card[data-explore-record="true"]>.journal-card-top,
.journal-card[data-explore-record="true"]>h2,
.journal-card[data-explore-record="true"]>.journal-progress-label,
.journal-card[data-explore-record="true"]>progress,
.journal-card[data-explore-record="true"]>.journal-card-bottom{flex-shrink:0}

.journal-filter-row{gap:10px}
.journal-claim-all{flex-shrink:0;min-width:132px;margin:0;padding:7px 11px;font-size:12px;font-weight:800;line-height:1.4;text-align:center;white-space:nowrap;box-shadow:0 2px 0 #80683f}
.journal-claim-all:disabled{opacity:1;background:#e6d7b9;border-color:#c6ad83;color:#a08a64;box-shadow:none;cursor:default}


/* Approved night visitor preview v2, with bubble clearance for all GIF canvases. */
.workshop-phase{position:absolute;right:36px;top:27px;min-width:230px;height:74px;padding:10px 23px;font-size:25px;font-weight:bold;z-index:4}.workshop-phase small{display:block;font-size:14px;font-weight:400;color:#d8b886;margin-top:4px}
.night-visitor-active #guest,.night-visitor-active #speech{display:none!important}
.night-guest{position:absolute;bottom:197px;left:67%;height:190px;z-index:2;pointer-events:none;filter:drop-shadow(0 7px 3px #1c10074d)}.night-guest img{height:100%;width:auto;display:block;image-rendering:pixelated}.night-guest[data-npc="fairy"]{bottom:219px;height:188px}.night-guest[data-npc="tree"]{height:174px}.night-guest[data-npc="cat"]{height:181px}.night-guest[hidden],.night-guest-speech[hidden]{display:none!important}
.speech.night-guest-speech{bottom:auto;left:auto;right:330px;width:365px;transform:none;height:auto;line-height:1.6;font-size:19px;z-index:3}.night-guest-speech .speaker{font-size:17px}.night-speech-text{display:block;word-break:keep-all}.night-guest-speech:not(:disabled):active{transform:translateY(2px)}.night-guest-speech:disabled{opacity:1;cursor:default}#panel[open]~.night-guest-speech{visibility:hidden}
.night-due-pill{font-size:12px;border:1px solid #a19b74;border-radius:4px;background:#ddd7b8;padding:4px 7px;margin-left:10px}.night-order-product{display:flex;align-items:center;gap:12px;border:1px solid #c9a46b;border-radius:5px;background:#fff4d660;padding:12px;margin:14px 0}.night-order-product img{width:54px;height:54px;object-fit:contain;image-rendering:pixelated}.night-order-product strong{font-size:19px}.night-order-product small{display:block;font-size:13px;margin-top:4px;color:#93714e}#quest .night-order-reward{font-size:17px;color:#765529}
.panel.night-visitor-panel{width:min(1020px,94vw)}.panel.night-intro-panel{width:min(750px,94vw)}.panel.night-visitor-panel::backdrop,.panel.night-intro-panel::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}.panel.night-visitor-panel .panel-content{max-height:calc(88vh - 130px)}

.panel[data-panel="night-next-day"]{width:min(520px,94vw)}
.panel[data-panel="night-next-day"] .panel-head{padding:16px 20px 14px}
.panel[data-panel="night-next-day"] .panel-head h1{font-size:24px}
.panel[data-panel="night-next-day"] .panel-head button{width:32px;height:32px}
.panel[data-panel="night-next-day"] .panel-content{padding:16px 20px 20px;max-height:calc(88vh - 100px)}
.panel[data-panel="night-next-day"] .lead{font-size:14px;line-height:1.75;margin:0}
.panel[data-panel="night-next-day"] .bottom-action{margin-top:18px;gap:12px}
.panel[data-panel="night-next-day"] .panel-feedback:empty{display:none}
.night-visitor-summary{display:flex;align-items:center;gap:20px;padding:18px 22px;background:#fff4d74d;border:1px solid #c4a474;border-radius:6px}.night-visitor-portrait{height:100px;width:102px;object-fit:contain;image-rendering:pixelated}.night-visitor-summary h2{font-size:23px;margin:0 0 9px}.night-visitor-summary p{font-size:18px;line-height:1.7;margin:0;word-break:keep-all}.night-visitor-summary small{display:block;font-size:15px;color:#8a7050;margin-top:8px}
.night-quest-product-row{display:grid;grid-template-columns:85px minmax(0,1fr) 125px;align-items:center;gap:20px;padding:23px;border:1px solid #b99a69;border-radius:6px;background:#fff8df5c;margin-top:20px}.night-quest-product-row>img{width:80px;height:80px;object-fit:contain;image-rendering:pixelated}.night-quest-product-row h2{font-size:23px;margin:0 0 8px}.night-quest-product-row p{font-size:17px;margin:0;color:#80623e}.night-ready{color:#416739;font-size:16px;text-align:right}.night-ready b{display:block;font-size:22px;margin-bottom:8px}.night-ready span{display:inline-block;font-size:13px;background:#e6d5b1;border:1px solid #ba9a64;border-radius:4px;padding:3px 9px}.night-reward{display:flex;justify-content:space-between;font-size:20px;border-top:1px solid #bfa174;padding:17px 0;margin-top:18px}.night-reward b{color:#765324}.night-rules{font-size:16px;line-height:1.8;color:#856440;margin:0 0 19px}.night-bottom-buttons{display:flex;justify-content:space-between;gap:16px}.night-bottom-buttons .action{font-size:19px;min-width:186px;padding:14px 23px}
.night-craft-tabs{display:flex;gap:9px;margin-bottom:21px;border-bottom:1px solid #bda071;padding-bottom:14px}.night-craft-tabs button{border:1px solid #a98959;padding:11px 20px;background:#e4cfa5;border-radius:5px;color:#725235;font-size:18px;font-weight:bold}.night-craft-tabs button.active{background:#536b4d;border-color:#829267;color:#fff4d2}.night-craft-heading{display:flex;justify-content:space-between;gap:15px;margin-bottom:17px;align-items:center}.night-craft-heading p{font-size:18px;margin:0}.night-craft-heading .action{font-size:16px}.night-craft-card{display:flex;gap:22px;align-items:center;padding:24px;border:2px solid #71905c;border-radius:6px;background:linear-gradient(110deg,#e8eaca,#f6e5bc)}.night-craft-card>img{height:86px;width:86px;object-fit:contain;image-rendering:pixelated}.night-craft-card .row-main h2{font-size:25px;margin-bottom:15px}.night-craft-card .action{font-size:20px;padding:14px 22px}.night-craft-card p{font-size:17px;margin:12px 0 0}.night-material-chip{display:flex;gap:7px;align-items:center;font-size:15px;padding:5px 10px;border:1px solid #bea06b;background:#faf0cf;border-radius:4px}.night-material-chip .item-icon{width:29px;height:29px;flex-basis:29px}.night-material-chip b{color:#4f6e40}.night-craft-notes{padding-top:20px;font-size:17px;line-height:1.9;color:#7c5c3b}.night-craft-notes p{margin:0 0 8px}
.night-intro-layout{display:flex;gap:27px;align-items:center}.night-intro-layout img{height:200px;width:164px;object-fit:contain;image-rendering:pixelated}.night-intro-layout p{font-size:22px;line-height:1.85;margin:0;word-break:keep-all}.night-intro-footer{display:flex;justify-content:space-between;align-items:center;margin-top:25px}.night-intro-footer small{font-size:16px;color:#96744c}.night-intro-footer button{font-size:19px;min-width:150px}


/* Proposed phase selector and unknown portrait. */
.night-selector-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.night-selector-top .action{font-size:17px;padding:10px 18px;flex-shrink:0}.night-selector-notes{flex:1;text-align:left;color:#806344;font-size:13px;line-height:1.8}.night-selector-notes p{margin:0}.night-selector-top .night-reward-note{margin:4px 0 0;text-align:left}.night-selector-top small{display:block;font-size:12px;margin-top:4px}.trust-portrait img.npc-silhouette{filter:brightness(0) opacity(.55);image-rendering:pixelated}.night-door-icon{display:inline-block;width:28px;text-align:center}
#night .night-door-icon{width:28px;height:28px;flex:0 0 28px;font-size:26px;line-height:28px;margin:0;color:inherit}#night .night-label{white-space:nowrap}.cave-modal-actions:has([data-cave="clear-rewards"]){grid-template-columns:1fr 2fr}.cave-modal-actions:has([data-cave="clear-rewards"]) .cave-button{font-size:22px}.journal-categories{grid-template-columns:repeat(9,minmax(0,1fr))}
#night,#night:not(:disabled):hover,#night.interaction-highlight,#night:focus-visible{background:linear-gradient(#344a71,#202844 50%,#20253b);color:#f6e7bd}#night.interaction-highlight{box-shadow:inset 0 0 0 2px #ddc789,0 0 0 2px #b18b46}

/* v5 proposal: standard wood frame, stable during hover and proximity. */
#night,#night:not(:disabled):hover,#night.workshop-interaction-ready,#night.interaction-highlight{
 border:3px solid #9c6b32!important;
 box-shadow:inset 0 0 0 2px #251209,inset 0 0 0 4px #bd884854,0 5px 0 #25140f,0 8px 14px #0005!important;
 outline:none;
}
#night:focus-visible{outline:2px solid #9c6b32;outline-offset:2px}
.stage[data-workshop-phase="day"] #night{gap:4px;justify-content:center;align-items:center}
#night .night-door-icon{width:24px;flex-basis:24px}

/* One door-button layout for morning, afternoon, night and pressed/disabled states. */
.stage[data-workshop-phase] #night{display:flex;gap:9px;align-items:center;justify-content:center;width:192px;height:62px;min-height:62px;padding:11px 4px;transform:translateX(-50%)}
.stage[data-workshop-phase="day"] #night{gap:4px}
.stage[data-workshop-phase] #night .night-door-icon,.stage[data-workshop-phase] #night .night-moon{width:28px;height:28px;flex-basis:28px;margin:0;line-height:28px;text-align:center;font-size:26px}
#night .night-label{display:block;flex:0 0 auto;width:auto;text-align:center}

.panel[data-panel="shop"]{width:min(920px,95vw)}
.panel[data-panel="shop"] .panel-head{padding:16px 24px 12px}
.panel[data-panel="shop"] .panel-head h1{font-size:25px}
.panel[data-panel="shop"] .panel-content{padding:14px 24px 12px;overflow:visible;max-height:none}
.panel[data-panel="shop"] .panel-feedback{padding:0 24px 8px;min-height:8px}
.shop-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;font-size:14px}
.shop-summary p{margin:0}.shop-summary>b{font-size:19px;white-space:nowrap;color:#694b25;background:#e5cca0;border:1px solid #b3925d;padding:7px 13px;border-radius:4px}
.shop-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.shop-sections button,.shop-pagination button{border:2px solid #aa834e;border-radius:4px;background:#ebd5ac;color:#765832;padding:9px;font-size:16px;font-weight:bold}
.shop-sections .selected,.shop-pagination .selected{background:linear-gradient(#6d4827,#49301d);color:#ffedc3;border-color:#a67a3b}
.shop-note{font-size:13px;line-height:1.5;margin:12px 0;color:#81643e}
.shop-material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.shop-material{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #bfa06b;border-radius:5px;background:#fff8df70;min-height:66px}
.shop-material>.item-icon{width:36px;height:36px;flex:0 0 36px}
.shop-material-name{flex:1;min-width:0}.shop-material-name strong{font-size:14px;white-space:nowrap}.shop-material-name small{display:block;color:#8a6b42;font-size:11px;margin-top:5px}
.shop-quantity{display:flex;align-items:center;gap:7px}.shop-quantity button{padding:0;width:23px;height:26px;border:1px solid #b39158;border-radius:3px;background:#f3e2bf;color:#6f4c29}.shop-quantity b{min-width:12px;text-align:center;font-size:13px}
.shop-material .action{font-size:12px;padding:5px 10px;line-height:1.3}.shop-material .action small{font-size:10px;font-weight:normal}
.shop-recipe-info{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;padding:9px 0 12px;border-bottom:1px solid #bfa174;margin-bottom:12px}
.shop-recipe-info button{border:1px solid #b39158;background:#efdbb2;color:#725332;border-radius:3px;padding:6px 9px;font-size:12px}
.shop-recipe{padding:16px 14px;min-height:151px}.shop-recipe>.item-icon{width:48px;height:48px;flex:0 0 48px}
.shop-recipe h2{font-size:18px}.shop-recipe .ingredient{font-size:12px;padding:2px 5px}.shop-recipe p{font-size:13px}.shop-recipe .action{font-size:13px;padding:9px 12px}
.shop-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.shop-pagination>div{display:flex;gap:8px}.shop-pagination button{font-size:13px;padding:6px 12px}
.shop-candidates{min-height:302px}.shop-candidates .stat-line{padding:19px 0}
.shop-expansion-summary{display:flex;align-items:center;gap:16px;background:#dec59670;border:1px solid #bb995f;padding:16px;border-radius:5px;margin:14px 0}
.shop-expansion-summary>.pixel-icon{width:48px;height:48px}.shop-expansion-summary h2{font-size:20px;margin:0 0 8px}.shop-expansion-summary p{font-size:13px;margin:0;color:#856440}
.shop-expansion-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.shop-expansion{padding:20px;text-align:center;border:1px solid #ba9862;background:#fff8df66;border-radius:5px}.shop-expansion h2{font-size:22px;margin:16px 0}.shop-expansion p{font-size:14px;color:#866640}.shop-expansion>strong{font-size:27px;color:#714e27}.shop-expansion .action{display:block;width:100%;margin-top:21px}


.shop-recipe-list{max-height:min(350px,calc(88vh - 290px));overflow-y:auto;padding-right:7px;scrollbar-color:#aa834e #ead4ab;scrollbar-width:thin}.shop-recipe-list .row-card:last-child{margin-bottom:0}
/* Keep the shop header and categories fixed; only recipes scroll. */
.panel[data-panel="shop"]{overflow:clip}
.panel[data-panel="shop"][open]{display:flex;flex-direction:column}
.panel[data-panel="shop"] .panel-head{flex-shrink:0}
.panel[data-panel="shop"] .panel-content{display:flex;flex-direction:column;min-height:0;overflow:clip;flex:1}
.panel[data-panel="shop"] .panel-feedback{flex-shrink:0;min-height:28px;line-height:20px}
.shop-summary,.shop-sections,.shop-note,.shop-recipe-info,.shop-pagination,.shop-expansion-summary{flex-shrink:0}
.shop-recipe-list{flex:1;min-height:0}
.shop-material{padding:8px;min-height:62px}

.shop-summary{margin-bottom:8px}
.shop-note{margin:8px 0}
.shop-expansion-summary{padding:12px;margin:10px 0}
.shop-expansion{padding:16px}
.shop-expansion h2{margin:12px 0}
.shop-expansion p{margin:10px 0}
.shop-expansion .action{margin-top:14px}



.shop-quantity button{user-select:none}
.shop-quantity button.quantity-held{background:#8c592e;color:#fff1c7;outline:2px solid #dca553;outline-offset:2px}

/* Owned seasonal workshop skins and hero idle motions. */
.decor-tabs{display:flex;gap:8px;margin:12px 0 4px;flex-shrink:0}
.decor-tabs button{min-width:100px;padding:8px 18px;border:1px solid #aa834e;border-radius:4px;background:#ebd5ac;color:#765832;font-size:15px;font-weight:bold}
.decor-tabs .selected{background:#6d4827;color:#ffedc3;border-color:#a67a3b}
.motion-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 0;flex-shrink:0}
.motion-controls strong{font-size:16px}.motion-controls p{font-size:12px;color:#81643e;line-height:1.6;margin:7px 0 0}
.motion-control-buttons{display:flex;gap:8px;flex-shrink:0}.motion-control-buttons .action{font-size:13px;padding:8px 12px}
.shop-motion-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;overflow-y:auto;min-height:0;padding:2px 2px 7px;max-height:49vh}
.shop-motion-card{border:1px solid #ba9862;border-radius:5px;overflow:hidden;background:#fff8df66}
.motion-preview{display:grid;place-items:center;height:160px;background:#ead5ac66;border-bottom:1px solid #ceb17b}
.motion-preview img{display:block;width:115px;height:150px;object-fit:contain;image-rendering:pixelated}
.shop-motion-details{padding:13px;text-align:center}.shop-motion-details h2{font-size:17px;margin:0 0 8px}.shop-motion-details .pill{margin:0}
.shop-motion-details p{font-size:12px;line-height:1.6;color:#866640;margin:10px 0 14px}.shop-motion-details .action{width:100%;font-size:13px;padding:8px 5px}


.shop-sections{grid-template-columns:repeat(4,minmax(0,1fr))}
.shop-skin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-items:start;gap:14px;max-height:55vh;min-height:0;flex:1;overflow:auto;padding:2px 2px 7px}
.shop-skin-card{display:flex;flex-direction:column;border:1px solid #ba9862;border-radius:5px;overflow:hidden;background:#fff8df66}
.shop-skin-card>img{display:block;flex-shrink:0;width:100%;aspect-ratio:1672/941;object-fit:cover;image-rendering:pixelated}
.shop-skin-details{padding:15px;flex-shrink:0}.shop-skin-details h2{font-size:19px;margin:0 0 8px}.shop-skin-details p{font-size:13px;line-height:1.5;color:#866640;margin:0 0 14px}.shop-skin-details .action{width:100%}


/* Approved invitation shop and recipient selection. */
.panel.invitation-shop{width:min(900px,95vw);max-height:92vh}
.invitation-shop .panel-content{overflow-y:auto!important;max-height:calc(92vh - 110px)!important;padding:20px 24px 24px!important;display:block!important}
.invitation-shop .panel-feedback{min-height:24px;padding:0 24px 12px;line-height:1.6;font-size:13px;flex-shrink:0}
.invitation-shop .shop-sections{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:22px}
.invitation-shop .shop-sections button{font-size:14px;padding:10px 4px;white-space:nowrap}
.invitation-card{display:grid;grid-template-columns:160px minmax(0,1fr);gap:26px;padding:25px;border:1px solid #b99760;border-radius:6px;background:#fff7dd77;align-items:center}
.invitation-art{display:grid;place-items:center;width:160px;height:160px;background:#f6e8c7;border:1px solid #d2b780;border-radius:5px}
.invitation-art img{width:155px;height:155px;object-fit:contain;image-rendering:pixelated}
.invitation-title{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.invitation-title h2{font-size:24px;margin:0;color:#51361f}
.invitation-title span{font-size:12px;border:1px solid #b29158;background:#e9d5af;border-radius:3px;padding:4px 8px;color:#785938}
.invitation-title span.available{background:#e0e7c7;border-color:#a7b381;color:#516938}
.invitation-desc{font-size:16px;line-height:1.8;margin:0 0 13px;color:#654b31}
.invitation-rule{font-size:13px;line-height:1.7;color:#88704e;margin:0}
.invitation-price-row{margin-top:20px;border-top:1px solid #ceb17b;padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.invitation-price-row b{font-size:24px;color:#785125;white-space:nowrap}
.invitation-price-row .action{min-width:155px;font-size:14px}
.invitation-unlock{border:1px solid #c6a66e;background:#e3cc9d66;border-radius:5px;margin:15px 0;padding:13px 16px;display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.6;color:#755530}
.invitation-unlock svg{width:20px;height:20px;flex-shrink:0}
.invitation-unlock.ready{background:#e0e7c777;border-color:#a2ae78;color:#527044}
.invitation-owned{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid #c3a571;border-radius:5px;background:#f9edcf66;padding:16px 18px;margin-top:18px}
.invitation-owned strong{font-size:15px}.invitation-owned p{margin:7px 0 0;font-size:13px;color:#8a704f}
.invitation-owned .action{font-size:14px;min-width:145px}
.invite-selection-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px;font-size:14px;line-height:1.6;color:#7b6040}
.invite-selection-meta b{border:1px solid #bda16b;border-radius:3px;background:#ead7af;padding:5px 10px;white-space:nowrap;color:#63462b}
.invite-guest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.invite-guest{position:relative;border:1px solid #ba9d6c;border-radius:5px;background:#fff5d866;display:flex;align-items:center;gap:13px;padding:12px 14px;text-align:left;min-height:128px;color:#67482a;cursor:pointer}
.invite-guest.selected{outline:2px solid #69834e;outline-offset:-2px;background:#e8edcd99;border-color:#69834e}
.invite-guest img{width:75px;height:100px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}
.invite-guest[data-id="karden"] img{transform:scaleX(-1)}
.invite-guest strong{display:block;font-size:18px;margin-bottom:8px}.invite-guest small{display:block;font-size:12px;color:#92744d;line-height:1.8}
.invite-check{position:absolute;right:9px;top:7px;width:20px;height:20px;display:grid;place-items:center;background:#65824c;color:#fff2cd;border-radius:50%;font-size:13px}
.invite-plan{display:flex;align-items:center;gap:15px;background:#e0e7c777;border:1px solid #a3ae77;border-radius:5px;padding:14px 18px;margin-top:20px;color:#536b3e;line-height:1.6}
.invite-plan img{width:52px;height:52px;object-fit:contain;image-rendering:pixelated}.invite-plan strong{font-size:17px}.invite-plan p{font-size:13px;margin:4px 0 0}
.invite-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px;padding-top:17px;border-top:1px solid #c2a370;color:#8b704d;font-size:13px}
.invite-footer .action{min-width:160px;font-size:15px}


.shop-sections{grid-template-columns:repeat(5,minmax(0,1fr))}
.panel.invitation-shop[open]{display:flex;flex-direction:column}
.invitation-shop .panel-head{flex-shrink:0}
.invitation-shop .panel-content{min-height:0;flex:1}


/* Approved integrated secret shop and generated ticket icons. */
.panel.secret-integrated-shop{width:min(960px,95vw);max-height:94vh;overflow:hidden}
.secret-integrated-shop .panel-head{padding:20px 25px 16px;flex-shrink:0}
.secret-integrated-shop .panel-content{padding:16px 25px 10px!important;display:flex!important;flex-direction:column;min-height:0;overflow:hidden!important}
.secret-integrated-shop .shop-summary{margin-bottom:12px}
.secret-integrated-shop .shop-sections{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;flex-shrink:0;margin-bottom:13px}
.secret-integrated-shop .shop-sections button{font-size:14px;padding:11px 3px;white-space:nowrap}
.secret-integrated-shop .shop-sections [data-id="secret"]{border-color:#856195;color:#684770;background:#e0cddd}
.secret-integrated-shop .shop-sections [data-id="secret"].selected{background:linear-gradient(#705577,#49314e);color:#fff0cd;box-shadow:inset 0 0 0 1px #b294aa}
.secret-integrated-shop .secret-banner{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid #b59ab2;background:#e8dbe244;border-radius:5px;color:#70516b;flex-shrink:0;margin-bottom:13px}
.secret-banner svg{width:24px;height:24px;flex-shrink:0}
.secret-banner strong{display:block;font-size:15px;margin-bottom:4px}
.secret-banner p{font-size:12px;line-height:1.6;margin:0;color:#846d74}
.secret-banner.opened{background:#e2e7c255;border-color:#a4af7d;color:#506c3c}
.secret-integrated-shop .secret-products-scroll{overflow:auto;min-height:0;padding:1px 3px 6px;scrollbar-width:thin;scrollbar-color:#aa834e #ead4ab}
.secret-integrated-shop .secret-ticket-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.secret-integrated-shop .secret-ticket-card{padding:13px 15px 14px;text-align:left;box-shadow:inset 0 0 0 2px #fff9e04d,0 2px 0 #c29c64;display:flex;flex-direction:column}
.secret-integrated-shop .secret-card-top{font-size:11px;margin-bottom:12px}
.secret-integrated-shop .secret-card-middle{display:flex;align-items:center;gap:12px;flex:1;margin-bottom:10px}
.secret-integrated-shop .secret-ticket-art{width:78px;height:80px;flex-shrink:0;margin:0;display:flex;align-items:center;justify-content:center}
.secret-integrated-shop .ticket-art{width:78px;height:72px}
.secret-integrated-shop .ticket-effect{font-size:19px;right:-1px;bottom:0}
.secret-integrated-shop .popular-reset-art{font-size:49px}
.secret-integrated-shop .secret-card-copy{min-width:0;flex:1}
.secret-integrated-shop .secret-ticket-card h2{font-size:17px;line-height:1.45;margin:0 0 7px;word-break:keep-all}
.secret-integrated-shop .secret-ticket-desc{font-size:12px;line-height:1.65;min-height:0;margin:0}
.secret-integrated-shop .secret-ticket-note{font-size:11px;line-height:1.5;min-height:0;margin:6px 0 0;word-break:keep-all}
.secret-integrated-shop .secret-purchase-meta{margin:0 0 9px;padding-top:9px;font-size:11px;gap:7px}
.secret-integrated-shop .secret-quota{font-size:12px}
.secret-integrated-shop .secret-buy{height:38px;font-size:13px;padding:7px 5px}
.secret-integrated-shop .secret-buy:disabled{font-size:12px}
.secret-integrated-shop .secret-buy .pixel-icon{width:20px;height:20px;flex-basis:20px}
.secret-integrated-shop .ticket-secret-placeholder{background:#e7d6b766;border-color:#b6a084;color:#8b735a;min-height:206px;align-items:stretch;justify-content:initial;gap:0;text-align:left}
.secret-integrated-shop .ticket-secret-placeholder .secret-card-state{background:#e4d4bb;border-color:#b59d7d;color:#826d56}
.secret-integrated-shop .ticket-secret-placeholder .npc-benefit-icon{width:48px;height:48px;display:block;opacity:.65}
.secret-integrated-shop .ticket-secret-placeholder .npc-benefit-icon svg{width:100%;height:100%}
.secret-integrated-shop .ticket-secret-placeholder h2{color:#7e644a}
.secret-integrated-shop .secret-daily-note{margin-top:13px;flex-shrink:0;font-size:11px;padding:9px 12px}
.secret-integrated-shop .secret-usage-note{margin:8px 0 0;font-size:11px;flex-shrink:0}
.secret-integrated-shop .panel-feedback{min-height:17px;padding:0 25px 9px}


.secret-integrated-shop .secret-generated-ticket{width:96px;height:96px;max-width:none;object-fit:contain;image-rendering:pixelated;flex-shrink:0}


/* Six main categories share one line on PC. */
.panel[data-panel="shop"] .shop-sections{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.panel[data-panel="shop"] .shop-sections button{font-size:14px;padding:10px 3px;white-space:nowrap}


.trust-panel .trust-guide{margin:0 0 16px}
/* Rizel's idle uses the same 640x860 registration as the compass frames. */
.ria-event-actor[data-npc="appraiser"] img{width:100%;height:100%;left:0;bottom:0;object-fit:fill}
.level-unlock-story{margin-top:20px;padding-top:16px;border-top:1px solid #bea36b}
.level-unlock-story .section-label{margin:0 0 12px}
.level-unlock-story .npc-dialogue-card p{line-height:1.8}
.level-unlock-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 12px}
.level-unlock-heading .section-label{margin:0}
.level-unlock-heading .action{font-size:14px;padding:8px 18px}
.trust-recall-walk{bottom:22%;height:306px;left:90%;z-index:4;transform:translateX(-50%)}
.trust-recall-walk img{image-rendering:pixelated;height:100%}

.trust-recall-walk[hidden]{display:none}
.trust-recalling #quest,.trust-recalling #guest,.trust-recalling #speech{visibility:hidden}
.trust-recalling .location,.trust-recalling .night,.trust-recalling .dock{pointer-events:none}
.ria-mission-rows{display:grid;gap:8px;margin:18px 0}.ria-mission-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:16px 20px;border:1px solid #bea36b;border-radius:5px;background:#f2e5bf}.ria-mission-row span{white-space:nowrap;color:#886845}.ria-mission-row .ready{color:#456447}
.ria-detail-content{min-width:0}.ria-extra-detail{margin:22px 0}.ria-keepsake{display:flex;align-items:center;gap:24px;padding:20px;border:1px solid #bea36b;background:#f2e5bf;margin:18px 0}.ria-keepsake img{width:100px;height:100px;object-fit:contain;image-rendering:pixelated}.ria-keepsake strong{display:block;margin:8px 0}.ria-keepsake p{font-size:14px;line-height:1.6}
.ria-event-actor{position:absolute;left:60%;bottom:19%;width:282px;height:379px;transform:translateX(-50%) scaleX(-1);z-index:3;pointer-events:none}.ria-event-actor img,.ria-event-actor canvas{width:100%;height:100%;object-fit:contain;object-position:center bottom;image-rendering:pixelated}.ria-event-actor img{height:335px;position:absolute;bottom:29px}
.ria-event-speech{left:60%;bottom:calc(19% + 382px);z-index:6;min-width:220px;max-width:440px;width:max-content;white-space:normal;line-height:1.7}.ria-event-speech .ria-event-text{display:block;word-break:keep-all;overflow-wrap:anywhere}.ria-event-speech small{display:block;margin-top:12px;font-size:12px}
.ria-trust-event #guest,.ria-trust-event #speech,.ria-trust-event #quest{visibility:hidden}.ria-trust-event .location,.ria-trust-event .night{pointer-events:none}.ria-trust-event #hero.facing-left img{transform:none}
.ria-event-actor[hidden],.ria-event-speech[hidden],.ria-event-actor [hidden]{display:none}
.ria-event-actor.trust-extra-actor{width:360px;height:450px;bottom:calc(19% - 16px);transform:translateX(-50%)}
.trust-extra-actor img{height:315px;bottom:45px;transform:scaleX(-1)}
.ria-event-actor[data-npc="appraiser"]{width:282px;height:379px;bottom:19%;transform:translateX(-50%) scaleX(-1)}
.ria-event-actor[data-npc="appraiser"] img{height:100%;bottom:0;transform:none}
.ria-event-actor[data-npc="roel"]{width:282px;height:379px;bottom:19%;transform:translateX(-50%) scaleX(-1)}
.ria-event-actor[data-npc="roel"] img{height:100%;bottom:0;transform:none}
.ria-event-speech{top:auto;right:auto;transform:translateX(-50%);height:auto}
.ria-trust-event:has(.trust-extra-actor) .ria-event-speech{bottom:calc(19% + 400px)}
.ria-trust-event .ria-event-speech.trust-guard-speech{left:90.7%;bottom:501px;width:300px;min-width:0;max-width:300px}
.trust-guard-speech:after{right:50%}

.ria-event-speech:disabled{opacity:1;cursor:default}
.ria-event-actor,.ria-event-actor img,.ria-event-actor canvas,.trust-recall-walk,.trust-recall-walk img,.ria-event-speech,.ria-event-speech:disabled{opacity:1}
.special-craft-guide{line-height:1.8;padding:14px 18px;border:1px solid #bea36b;background:#fff1cf;border-radius:5px}

/* Match Theo's approved 315px story body and hero's 733.336178px foot line. */
.ria-event-actor[data-npc="villager"]{bottom:calc(19% - 16.126178px)}
.ria-event-actor[data-npc="villager"] img{height:336.089744px;bottom:34.903846px}
.trust-recall-walk[data-npc="villager"]{width:244.113924px;height:367.721519px;bottom:173.106860px}


/* Maria: preserve approved PNG pixels; fixed whole-motion scales and planted-sole anchors. */
 .ria-event-actor[data-npc="magician"]{width:282px;height:379px;bottom:19%;transform:translateX(-50%) scaleX(-1)}
.ria-event-actor[data-npc="magician"][data-motion^="maria-greeting"] canvas{position:absolute;width:278.834453px;height:374.683796px;left:calc(50% - 139.417226px);bottom:-10.772952px}
.ria-event-actor[data-npc="magician"][data-motion^="maria-letter"] canvas{position:absolute;width:282.129394px;height:379.111374px;left:calc(50% - 141.064697px);bottom:-11.682278px}
.ria-event-actor[data-npc="magician"][data-motion^="maria-case"] canvas{position:absolute;width:311.584992px;height:418.692333px;left:calc(50% - 155.792496px);bottom:-16.890224px}
.ria-event-actor[data-npc="magician"] img{position:absolute;width:219.594954px;height:313.288802px;left:calc(50% - 109.797477px);bottom:23.017957px;transform:none}
.trust-recall-walk[data-npc="magician"]{width:258.762761px;height:320.865824px;bottom:200.763482px}

/* Karden: approved large body, fixed whole-motion scales and matching planted foot anchors. */
.ria-event-actor[data-npc="karden"]{width:258.518246px;height:368.819364px;bottom:199.785171px;transform:translateX(-50%) scaleX(-1)}
.ria-event-actor[data-npc="karden"] img{position:absolute;width:258.518246px;height:368.819364px;left:0;bottom:0;transform:none}
.ria-event-actor[data-npc="karden"][data-motion^="karden-greeting"] canvas{position:absolute;width:326.792754px;height:439.127763px;left:calc(50% + -185.156869px);bottom:-37.055353px}
.ria-event-actor[data-npc="karden"][data-motion^="karden-bracer"] canvas{position:absolute;width:310.160936px;height:416.778758px;left:calc(50% + -156.927027px);bottom:-34.768478px}
.ria-event-actor[data-npc="karden"][data-motion^="karden-strap"] canvas{position:absolute;width:331.111601px;height:444.931214px;left:calc(50% + -178.008278px);bottom:-58.861031px}
.trust-recall-walk[data-npc="karden"]{width:375.053982px;height:375.053982px;bottom:197.494894px}
.ria-trust-event:has(.ria-event-actor[data-npc="karden"]) .ria-event-speech{bottom:587.987260px}

/* Benjamin stories use the original full standing canvas and fixed motion scales. */
.ria-event-actor[data-npc="astronomer"]{width:267.748978px;height:362.628486px;bottom:196.984258px;transform:translateX(-50%)}
.ria-event-actor[data-npc="astronomer"] img,.ria-event-actor[data-npc="astronomer"] canvas{position:absolute;width:100%;height:100%;left:0;bottom:0;transform:none;image-rendering:pixelated}
.trust-recall-walk[data-npc="astronomer"]{width:318.141031px;height:449.140279px;bottom:156.200421px}
.ria-trust-event:has([data-npc="astronomer"]) .ria-event-speech{bottom:583.455330px}

.trust-recall-walk[data-npc="adventurer"]{width:216.91922563417887px;height:312.7469959946595px;bottom:199.38778728704938px}

.trust-recall-walk[data-npc="appraiser"]{width:212.90887850467288px;height:303.75px;bottom:186.57570451001334px}
.ria-event-actor[data-npc="appraiser"]{width:249.28152791292345px;height:334.9720531329909px;bottom:180.39865488452398px}
.ria-event-actor[data-npc="appraiser"] img,.ria-event-actor[data-npc="appraiser"] canvas{position:absolute;width:100%;height:100%;left:0;bottom:0;object-fit:fill}

.farm-view *{box-sizing:border-box}
.farm-view{margin:0;background:#20170f;color:#f3e0bb;font:17px 'Malgun Gothic',sans-serif}
.farm-view button{font:inherit;cursor:pointer}
.farm-view button:disabled{cursor:default;opacity:.52}
.farm-view .preview-nav{max-width:1280px;margin:22px auto 16px;display:flex;gap:10px;align-items:center;padding:0 16px}
.farm-view .preview-nav strong{margin-right:auto;font-size:20px}
.farm-view .preview-nav button{font-size:14px;background:#4b3521;color:#ead8b4;border:1px solid #997142;border-radius:4px;padding:9px 12px}
.farm-view .preview-note{max-width:1280px;margin:16px auto;color:#b9a483;font-size:14px;padding:0 16px}
.farm-view .stage-wrap{margin:auto;position:relative;overflow:hidden;box-shadow:0 14px 45px #0005}
.farm-view{position:relative;width:1280px;height:720px;transform-origin:top left;background:url("/assets/background-stage0.03712272b52a140beb08.png") center/cover;color:#49301c;overflow:hidden}
.farm-view:before{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 55px #28190943}
.farm-view .wood{border:2px solid #9b6c37;background:linear-gradient(#664228,#3e2818);box-shadow:inset 0 0 0 2px #d8b47726,0 3px 0 #2b1b10;color:#f6e4be;border-radius:5px;text-shadow:0 1px #24150b}
.farm-view .top{position:absolute;inset:22px 24px auto;display:flex;align-items:center;gap:12px;z-index:8}
.farm-view .chip{height:55px;display:flex;gap:12px;align-items:center;padding:10px 18px;font-size:21px;font-weight:700;white-space:nowrap}
.farm-view .chip small{font-size:16px;font-weight:400;color:#d2b994}
.farm-view .return{margin-left:auto;font-size:17px;padding:11px 18px}
.farm-view .coin{width:26px;height:26px;border:4px solid #f2ce58;background:#b88526;box-shadow:0 0 0 2px #7a521e;border-radius:50%;position:relative}
.farm-view .coin:after{content:'G';font:700 16px serif;color:#fff0a1;position:absolute;left:2px;top:-1px}
.farm-view .farm-title{position:absolute;top:99px;left:31px;padding:9px 15px;background:#f5e6cbe8;border:1px solid #a88651;border-radius:5px;font-size:20px;box-shadow:0 2px 0 #6b4c2440}
.farm-view .farm-title small{display:block;font-size:13px;color:#886b43;margin-top:5px}
.farm-view .plots{position:absolute;left:255px;top:244px;display:grid;grid-template-columns:310px 310px;gap:39px 55px}
.farm-view .plot{width:310px;height:181px;position:relative}
.farm-view .soil{position:absolute;inset:18px 0 0;width:100%;height:128px;filter:drop-shadow(0 5px 2px #65451e30)}
.farm-view .plot-label{position:absolute;top:0;left:8px;padding:5px 10px;background:#fbefd6;border:1px solid #a8834b;color:#604422;font-size:14px;border-radius:3px;z-index:2;box-shadow:0 2px 3px #65451e25}
.farm-view .plot-label .green{color:#527343;margin-left:12px}
.farm-view .plant{position:absolute;top:35px;left:50%;transform:translateX(-50%);width:79px;height:79px;filter:drop-shadow(0 3px 0 #392b191f)}
.farm-view .plot-status{position:absolute;bottom:12px;left:9px;padding:5px 10px;font-size:13px;background:#fff5dfef;border:1px solid #bba16e;border-radius:4px;color:#685037;z-index:3}
.farm-view .plot button{position:absolute;right:7px;bottom:9px;min-height:36px;padding:6px 13px;font-size:14px;border:1px solid #7a9054;border-bottom:3px solid #536938;border-radius:4px;background:linear-gradient(#8ba76a,#65834a);color:#fff8e7;z-index:3;font-weight:600}
.farm-view .plot.locked{filter:saturate(.75)}
.farm-view .plot.locked .soil{opacity:.65}
.farm-view .locked-title{position:absolute;left:50%;top:45px;transform:translateX(-50%);font-size:17px;color:#f5e6cd;text-shadow:0 2px 2px #312014;padding:8px 15px;background:#54351ba6;border:1px solid #c59f6570;border-radius:4px;white-space:nowrap}
.farm-view .lock{display:inline-block;width:12px;height:11px;border:2px solid #f7e8c6;border-radius:1px;position:relative;margin-right:9px}
.farm-view .lock:before{content:'';position:absolute;left:0;top:-9px;width:8px;height:8px;border:2px solid #f7e8c6;border-bottom:0;border-radius:7px 7px 0 0}
.farm-view .plot.locked button{background:linear-gradient(#a7824e,#7a572e);border-color:#795428;border-bottom-color:#573917}
.farm-view .plot.locked .plot-status{background:#eee0c8e8;color:#8a6c44}
.farm-view .plot .ready{background:#e6eecf;color:#4e703b;border-color:#9eb475}
.farm-view .plot .thirsty{color:#46738c}
.farm-view .hero,.farm-view .farmer{position:absolute;object-fit:contain;image-rendering:pixelated;pointer-events:none;z-index:4}
.farm-view .hero{width:201px;height:275px;left:49px;bottom:69px}
.farm-view .farmer{width:233px;height:310px;right:52px;bottom:79px;transform:scaleX(-1)}
.farm-view .bubble{position:absolute;top:131px;right:28px;width:338px;padding:17px 19px;background:#fff3d9f5;border:2px solid #b18b53;border-radius:7px;box-shadow:0 4px 12px #3322102e;z-index:6}
.farm-view .bubble:after{content:'';position:absolute;bottom:-12px;right:98px;width:17px;height:17px;background:#fff3d9;transform:rotate(45deg);border-right:2px solid #b18b53;border-bottom:2px solid #b18b53}
.farm-view .bubble .speaker{display:block;font-size:14px;color:#8a653e;margin-bottom:8px}
.farm-view .bubble p{font-size:17px;line-height:1.65;margin:0;word-break:keep-all}
.farm-view .bubble small{font-size:13px;color:#8a734f;display:block;margin-top:10px}
.farm-view .bubble .guide-title{font-size:20px;margin:4px 0 8px;font-weight:700}
.farm-view .dock{position:absolute;left:24px;right:24px;bottom:19px;display:flex;gap:12px;align-items:center;z-index:8}
.farm-view .dock button{padding:11px 22px;min-height:47px;font-size:17px}
.farm-view .dock button.active{border-color:#e9ca80}
.farm-view .dock .watering{margin-left:auto;font-size:16px}
.farm-view .dock .watering small{font-size:13px;display:block;font-weight:400;margin-top:3px}
.farm-view .dock .disabled{background:linear-gradient(#716346,#4d432f);border-color:#918367;color:#c9c0a6;opacity:1}
.farm-view .farm-tip{position:absolute;bottom:29px;left:416px;width:560px;text-align:center;z-index:10;padding:6px 13px;background:#f4e7cce8;border:1px solid #c0a16c;border-radius:4px;font-size:13px;color:#775e3a}
.farm-view .highlight{outline:3px solid #ffeb9e;outline-offset:5px;box-shadow:0 0 22px #ffde845c!important}
.farm-view .modal-shade{position:absolute;inset:0;background:#1b140975;z-index:20;display:flex;align-items:center;justify-content:center}
.farm-view .modal{width:795px;border:3px solid #ad854c;border-radius:7px;background:linear-gradient(110deg,#f9eac8,#edd7a6);box-shadow:inset 0 0 0 3px #fff3d2,0 12px 38px #0005;color:#49301c}
.farm-view .modal-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ba975f;padding:21px 27px;background:#cfad7625}
.farm-view .modal-head p{font-size:13px;color:#8b6a3d;letter-spacing:1px;margin:0 0 6px}
.farm-view .modal-head h1{font-size:27px;line-height:1.3;margin:0}
.farm-view .close{display:grid;place-items:center;width:35px;height:35px;background:#62401e;color:#f8e9cb;border:2px solid #af8950;border-radius:4px;font-size:25px;line-height:1;padding:0}
.farm-view .modal-body{padding:21px 27px}
.farm-view .intro{margin:0 0 20px;font-size:16px;line-height:1.65;color:#715534}
.farm-view .seed-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.farm-view .seed-card{display:grid;grid-template-columns:70px 1fr;gap:15px;padding:17px 16px;background:#fff5dc80;border:1px solid #c2a36d;border-radius:5px}
.farm-view .seed-card svg{width:69px;height:79px}
.farm-view .seed-card h3{margin:3px 0 6px;font-size:19px}
.farm-view .seed-card p{margin:0;font-size:14px;color:#8a704b}
.farm-view .buy{display:flex;align-items:center;gap:11px;margin-top:13px}
.farm-view .buy strong{font-size:17px;color:#725321}
.farm-view .action{padding:7px 17px;min-height:35px;border:1px solid #7d955a;border-bottom:3px solid #546d3b;background:linear-gradient(#91a974,#6a874d);color:#fff8e7;border-radius:4px;font-size:15px;font-weight:600}
.farm-view .modal-note{padding-top:17px;margin-top:19px;border-top:1px solid #c9ac79;font-size:14px;line-height:1.65;color:#846a45}
.farm-view .delivery-row{display:grid;grid-template-columns:75px 1fr 130px;gap:18px;align-items:center;border:1px solid #bc9e66;border-radius:5px;padding:19px;background:#fff4d982;margin-bottom:14px}
.farm-view .delivery-row svg{width:70px;height:77px}
.farm-view .delivery-row h3{margin:0 0 7px;font-size:21px}
.farm-view .delivery-row p{margin:4px 0;font-size:15px;color:#7b6040}
.farm-view .delivery-row .count{font-size:15px;color:#56773f;font-weight:600}
.farm-view .no-limit{padding:2px 7px;background:#e3ebcb;color:#68804a;border:1px solid #a7b97e;border-radius:3px;font-size:12px;display:inline-block;margin-left:9px;vertical-align:middle}
.farm-view .delivery-side{text-align:center}
.farm-view .delivery-side p{font-size:13px;color:#8b7351}
.farm-view .delivery-row.locked{opacity:.64;background:#e5d8bc}
.farm-view .capture .preview-nav,.farm-view .capture .preview-note{display:none}
.farm-view .capture body{}
.farm-view .hero{width:202.7132459970888px;height:274.25909752547307px;top:369.68413391557493px;bottom:auto;object-fit:fill;}
.farm-view .farmer{width:206.7176029962547px;height:279.9700374531835px;top:364.80973782771537px;bottom:auto;object-fit:fill;}
.farm-view .soil{display:flex;align-items:flex-start;justify-content:center;filter:drop-shadow(0 4px 2px #67422324)}
.farm-view .raster-sprite{display:inline-block;flex-shrink:0;vertical-align:middle;background-repeat:no-repeat;image-rendering:pixelated;}
.farm-view .plant{top:23px;left:50%;width:270px;height:108px;display:flex;justify-content:space-around;align-items:flex-end;gap:10px;}
.farm-view .plant-young{height:91px;top:37px}
.farm-view .plant .raster-sprite{margin:0;}
.farm-view .plot.locked .soil{opacity:.53;filter:saturate(.74)}
.farm-view .sown-seeds{position:absolute;top:82px;left:43px;width:215px;display:flex;justify-content:space-between;}
.farm-view .sown-seeds i{width:7px;height:4px;background:#ddb377;box-shadow:1px 2px 0 #5d3b20,9px 3px 0 #a7804e;}
.farm-view .seed-card .raster-sprite{align-self:center;justify-self:center;}
.farm-view .preview-note{line-height:1.6}
.farm-view .plots{left:244px;top:212px;grid-template-columns:326px 326px;gap:18px 24px}
.farm-view .plot{width:326px;height:203px;border:2px solid #a78654;border-radius:6px;background:linear-gradient(#f8edcfeb,#eedcafeb);box-shadow:inset 0 0 0 2px #fff4d940,0 3px 0 #6c522742;overflow:hidden}
.farm-view .plot-heading{position:absolute;inset:0 0 auto;height:31px;display:flex;align-items:center;gap:14px;padding:0 15px;background:#ddc39150;border-bottom:1px solid #c4a372;font-size:13px;color:#80613e}
.farm-view .plot-heading strong{font-size:14px;color:#4e673a;font-weight:600}
.farm-view .soil{inset:auto;left:14px;top:31px;width:294px;height:122px;display:grid;place-items:center;filter:drop-shadow(0 3px 0 #6242231c)}
.farm-view .plant,.farm-view .plant-young,.farm-view .locked-title{position:absolute;inset:auto;left:14px;top:31px;width:294px;height:122px;display:flex;justify-content:center;align-items:center;transform:none;gap:0;filter:none;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none}
.farm-view .plant .raster-sprite{margin:0;filter:drop-shadow(0 2px 0 #3e2c181a)}
.farm-view .plot-care{position:absolute;left:0;right:0;bottom:0;height:49px;border-top:1px solid #c5aa78;background:#fff4daaa;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 9px 4px 13px}
.farm-view .care-copy{font-size:12px;line-height:1.4;color:#795c38}
.farm-view .care-state{display:block;font-size:12px;color:#346b86}
.farm-view .care-copy small{display:block;font-size:11px;color:#91774f;margin-top:3px}
.farm-view .growth-track{display:flex;align-items:center;gap:3px;margin-top:4px}
.farm-view .growth-track span{font-size:11px;margin-right:6px;color:#776346}
.farm-view .growth-track i{display:block;width:15px;height:5px;border:1px solid #aa986b;background:#d6c7a1}
.farm-view .growth-track i.filled{border-color:#6e8a49;background:#87a262}
.farm-view .plot .plot-care button{position:static;width:125px;flex-shrink:0;height:36px;min-height:36px;padding:0 6px;display:flex;justify-content:center;align-items:center;gap:5px;font-size:13px;line-height:1;box-shadow:inset 0 1px 0 #ffffff30;font-weight:600;white-space:nowrap}
.farm-view .water-action span{font-size:12px;white-space:nowrap}
.farm-view .plot .plot-care .water-action{background:linear-gradient(#628fa0,#3e6c7c);border:1px solid #355a66;border-bottom:3px solid #294b56;color:#fff5df}
.farm-view .water-icon{width:27px;height:27px;flex-shrink:0;image-rendering:pixelated}
.farm-view .is-watered .care-state{color:#557243}
.farm-view .is-watered .water-action{opacity:1!important;background:linear-gradient(#b4c3aa,#9eaf92)!important;border-color:#7c906e!important;color:#3d5735!important;text-shadow:none}
.farm-view .locked-title{flex-direction:column;gap:3px;font-size:13px;color:#5e4a31;text-shadow:none}
.farm-view .pixel-padlock{width:30px;height:30px;image-rendering:pixelated;filter:drop-shadow(0 2px 0 #f6ecc45c)}
.farm-view .plot.locked{filter:none;background:#eee3c8dd;border-color:#ac976d}
.farm-view .plot.locked .soil{opacity:.60;filter:saturate(.63)}
.farm-view .plot.locked .plot-heading strong{font-weight:400;color:#8c795b}
.farm-view .plot.locked .care-state{color:#89734e;font-size:11px}
.farm-view .seed-mound{display:flex;align-items:center;gap:5px}
.farm-view .seed-mound i{display:block;width:6px;height:4px;background:#ddb377;border:1px solid #876135;box-shadow:0 2px #624123}
.farm-view .plot .harvest-action{background:linear-gradient(#91a966,#6d894d);border-color:#607840}
.farm-view .plot:has(.harvest-action) .care-state{color:#52753b}
.farm-view .bubble{top:130px;right:28px;width:302px;font-size:16px}
.farm-view .bubble p{font-size:16px}
.farm-view .plant-group{display:inline-flex;align-items:center;justify-content:center;gap:19px;width:max-content;height:max-content}
.farm-view .plant-group .raster-sprite{display:block;filter:drop-shadow(0 2px 0 #3e2c181a)}
.farm-view .water-icon{width:30px;height:24px;object-fit:contain;image-rendering:pixelated}
.farm-view .plot{overflow:visible}
.farm-view .plot-heading{border-radius:4px 4px 0 0}
.farm-view .plot-care{border-radius:0 0 4px 4px}
.farm-view .watering-now{z-index:10}
.farm-view .watering-animation{position:absolute;left:132px;top:-47px;width:160px;height:160px;object-fit:contain;image-rendering:pixelated;z-index:12;pointer-events:none}
.farm-view .watering-now .water-action{opacity:1;background:linear-gradient(#5e8392,#3c6274)!important;color:#fff8e7!important}
.farm-view .farm-tip{left:392px;width:608px;font-size:12px;white-space:nowrap}
.farm-view .watering-animation{left:92px;width:200px;height:160px}
/* end latest shower overlay */
.farm-host{position:absolute;left:0;top:0;width:1280px;height:720px;transform:scale(1.30625);transform-origin:top left;z-index:30}.farm-host[hidden]{display:none}.farm-view{position:relative;width:1280px;height:720px;color:#49301c;font:17px 'Malgun Gothic',sans-serif}.farm-view .bubble{top:auto;bottom:357px;width:302px;right:28px}.farm-view .bubble .action{margin-top:12px}.farm-view .coin.pixel-icon{width:32px;height:32px;border:0;border-radius:0;background:none;box-shadow:none}.farm-view .coin.pixel-icon:after{display:none}.farm-view .plant-group{display:inline-flex;gap:19px;align-items:center}.farm-view .empty-plot-label{color:#f6e4c9;background:#634424a8;border-radius:4px;padding:7px 13px;font-size:13px}.farm-view .farm-feedback{position:absolute;left:246px;bottom:99px;width:670px;min-height:0;padding:0;color:#5c472b;background:#fff1d4e8;z-index:16;text-align:center;font-size:13px;line-height:1.8;pointer-events:none}.farm-view .farm-feedback:empty{display:none}.farm-view .delivery-tabs{display:flex;gap:10px;margin-bottom:18px}.farm-view .delivery-tabs button{padding:8px 17px;border:1px solid #a68855;color:#725432;background:#efdfb7;border-radius:4px;font-size:15px}.farm-view .delivery-tabs .selected{background:#647f4d;color:#fff3d6}.farm-view .delivery-row{grid-template-columns:1fr 166px}.farm-view .delivery-side{border-left:1px solid #c3a779;padding-left:14px}.farm-view .recipe-table{width:100%;border-collapse:collapse;font-size:14px}.farm-view .recipe-table th{text-align:left;font-weight:600;color:#886942;padding:10px 9px;border-bottom:1px solid #b59964}.farm-view .recipe-table td{padding:14px 9px;line-height:1.7;border-bottom:1px solid #c9ac77}.farm-view .recipe-name{font-size:17px}.farm-view .recipe-lv{display:block;font-size:12px;color:#8b704c}.farm-view .reward-values{white-space:nowrap;color:#537142;font-weight:600}.farm-view .plant .pixel-padlock{width:30px;height:30px}.farm-product-icon{width:50px;height:60px;display:inline-block;flex-shrink:0}.farm-view .watering-animation{left:92px;top:-47px;width:200px;height:160px}.quantity-material-row .raster-sprite{display:inline-block;flex-shrink:0;background-repeat:no-repeat;image-rendering:pixelated;width:32px!important;height:32px!important}.bag-item .raster-sprite{display:inline-block;flex-shrink:0;background-repeat:no-repeat;image-rendering:pixelated}.row-card .farm-product-icon{margin-right:5px}.farm-view .modal{width:840px}.farm-view .modal-body{max-height:510px;overflow:auto}.farm-view .plot-heading{white-space:nowrap}
.farm-view .farm-feedback{top:169px;bottom:auto;padding:3px 9px}.bag-item .farm-product-icon{width:32px;height:40px}
.farm-view>.hero{transform:none;filter:none}.farm-view .dock{transform:none;margin:0}.farm-view .dock button{width:auto;height:auto;min-height:47px;display:inline-flex;flex-direction:row;align-items:center;justify-content:center}.farm-view .plot-care{margin:0;max-width:none}.farm-view .pixel-padlock{width:30px;height:30px}

/* Approved Oliver farm expansion v2. */
.farm-view{transform-origin:top left;background-size:100% 100%;isolation:isolate}.farm-view .top .chip{height:51px;font-size:20px}.farm-view .farm-title{font-size:19px;top:94px}.farm-view .farm-title small{font-size:12px}.farm-view .dock{gap:10px}.farm-view .dock button{padding:10px 19px;font-size:16px;min-height:45px;position:relative}.farm-view .dock .active{border-color:#9b6c37}.farm-view .dock .dot{position:absolute;right:6px;top:5px;background:#8aa267;color:#fff8db;border:1px solid #c3cc9d;border-radius:50%;font-size:10px;width:17px;height:17px;line-height:15px;text-shadow:none}.farm-view .farm-tip{left:730px;width:526px;bottom:24px;font-size:12px;white-space:normal;pointer-events:none}.farm-view .bubble{bottom:357px;padding:14px 17px}.farm-view .bubble .speaker{margin-bottom:5px}.farm-view .bubble p{font-size:15px;line-height:1.7}.farm-view .plant img{image-rendering:pixelated;object-fit:contain;max-width:77px;max-height:80px}.farm-view .plant-group{gap:19px}.farm-view .plant-young img{max-width:61px;max-height:42px}.farm-view .plant-group img{width:77px;height:80px;object-fit:contain}.farm-view .plant-young img{width:61px;height:42px}.farm-view .farm-feedback{top:164px;width:676px;min-height:0;padding:3px 9px;line-height:1.6}.farm-view .modal{width:1000px;max-height:654px;display:flex;flex-direction:column}.farm-view .modal-head{padding:16px 23px;flex-shrink:0}.farm-view .modal-head h1{font-size:24px}.farm-view .modal-head p{font-size:12px;margin-bottom:3px;letter-spacing:0}.farm-view .modal-body{padding:18px 23px;max-height:555px;overflow:auto;scrollbar-color:#a58b5d #e8d7b6;scrollbar-width:thin}.farm-view .modal-note{font-size:12px;margin-top:12px;padding-top:12px}.farm-view .modal .action{font-size:14px;padding:8px 16px}.farm-view .tabs{display:flex;gap:8px;border-bottom:1px solid #baa071;padding:0 0 12px;margin-bottom:16px}.farm-view .tabs button{background:#ebdcb9;color:#725431;border:1px solid #b49966;border-radius:4px;font-size:14px;padding:8px 18px}.farm-view .tabs button[aria-selected=true]{background:#647d4b;color:#fff6dd;border-color:#657749}.farm-view .tab-counter{color:#8d724d;margin-left:8px;font-size:11px}.farm-view .tabs button[aria-selected=true] .tab-counter{color:#e3ebd3}.farm-view .seed-grid{grid-template-columns:repeat(4,1fr);gap:12px}.farm-view .seed-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 9px;gap:4px;min-height:202px}.farm-view .seed-card img{height:63px;width:61px;object-fit:contain;image-rendering:pixelated}.farm-view .seed-card h3{font-size:15px;margin:4px 0}.farm-view .seed-card p{font-size:12px}.farm-view .seed-card .buy{gap:8px;justify-content:center;margin-top:8px}.farm-view .seed-card .action{font-size:12px;padding:5px 9px}.farm-view .seed-card .buy strong{font-size:14px}.farm-view .seed-card .recipe-link{font-size:11px;color:#846b47;margin:4px 0}.farm-view .seed-card .owned{font-size:12px;color:#567043}.farm-view .empty-plot-label{font-size:13px}.farm-view .soft-copy{font-size:13px;color:#846e4b;line-height:1.7;margin:0 0 12px}.farm-view .story-layout{display:grid;grid-template-columns:242px 1fr;gap:22px;min-height:375px}.farm-view .story-menu{display:grid;align-content:start;gap:9px}.farm-view .story-menu button{background:#eee0bf;border:1px solid #b99b64;border-radius:4px;padding:12px;text-align:left;color:#644927;min-height:61px}.farm-view .story-menu button[aria-selected=true]{background:#e1d0a6;border-left:4px solid #6c8454;padding-left:9px}.farm-view .story-menu button:disabled{opacity:1;background:#e7ddc4;color:#a3906d}.farm-view .story-menu strong{display:block;font-size:14px;font-weight:600;margin-bottom:4px}.farm-view .story-menu small{font-size:11px;color:#8a7350}.farm-view .story-menu .new{color:#526e3e;font-weight:700;margin-left:7px}.farm-view .story-reading{display:flex;flex-direction:column;padding:4px 0}.farm-view .story-reading h2{font-size:23px;line-height:1.4;margin:0 0 5px}.farm-view .condition{font-size:12px;color:#8d734c;margin:0 0 20px}.farm-view .reading-line{border-top:1px solid #c8ae7b;border-bottom:1px solid #c8ae7b;padding:24px 5px;min-height:222px}.farm-view .reading-line strong{display:block;color:#75512d;font-size:15px;margin-bottom:12px}.farm-view .reading-line p{font-size:20px;line-height:1.9;word-break:keep-all;margin:0}.farm-view .reading-controls{display:flex;align-items:center;justify-content:space-between;margin-top:17px}.farm-view .reading-controls span{font-size:12px;color:#91774c}.farm-view .quiet{border:1px solid #b89a65;background:#eadbb8;color:#775735;border-radius:4px;padding:7px 15px;font-size:13px}.farm-view .book-layout{display:grid;grid-template-columns:181px 1fr;gap:20px;min-height:374px}.farm-view .crop-menu{display:grid;gap:5px;align-content:start}.farm-view .crop-menu button{display:flex;align-items:center;gap:10px;min-height:43px;padding:5px 9px;background:#efe0bd;border:1px solid #bfa574;border-radius:4px;color:#785d37;text-align:left;font-size:14px}.farm-view .crop-menu img{width:28px;height:28px;object-fit:contain;image-rendering:pixelated}.farm-view .crop-menu button[aria-selected=true]{background:#e0d3ad;border-left:4px solid #6b8452;padding-left:6px}.farm-view .book-page{background:transparent;border:0;padding:0;min-height:0;color:#533c25}.farm-view .crop-summary{display:flex;gap:17px;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #c5ac79}.farm-view .crop-summary img{width:83px;height:82px;object-fit:contain;image-rendering:pixelated}.farm-view .crop-summary h2{font-size:23px;margin:0 0 4px}.farm-view .crop-summary p{font-size:13px;color:#7c6340;margin:0;line-height:1.7}.farm-view .crop-summary small{font-size:12px;color:#58713f}.farm-view .observation-steps{display:flex;gap:6px;margin-bottom:12px}.farm-view .observation-steps button{flex:1;padding:7px 4px;color:#826c4c;background:#e8d9b7;border:1px solid #bca373;font-size:12px;border-radius:3px}.farm-view .observation-steps button[aria-selected=true]{color:#fff5d9;background:#698251;border-color:#657b4d}.farm-view .observation-text{font-size:14px;padding:9px 12px;background:#fff5dc66;border:1px solid #ccb68b;border-radius:3px;margin-bottom:12px;min-height:47px;line-height:1.7}.farm-view .book-memo{padding:13px 16px;border:1px solid #bda473;border-radius:4px;background:#fff4db66;margin-top:10px}.farm-view .book-memo h3{font-size:14px;margin:0 0 7px;color:#725434}.farm-view .book-memo p{font-size:14px;line-height:1.75;margin:0 0 8px}.farm-view .book-memo .memo-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:#826b45}.farm-view .book-memo .memo-footer button{font-size:12px;padding:6px 11px;min-height:30px}.farm-view .muted-record{color:#9a8767;font-size:13px}.farm-view .recipe-mini{font-size:12px;color:#806943;padding-top:10px;margin-top:10px;border-top:1px solid #c4ad80}.farm-view .delivery-quote{background:#fff3d87a;border:1px solid #c4a772;border-radius:4px;padding:15px 19px;margin-bottom:14px}.farm-view .delivery-quote strong{display:block;font-size:13px;color:#80613e;margin-bottom:8px}.farm-view .delivery-quote p{font-size:17px;line-height:1.8;margin:0;word-break:keep-all}.farm-view .delivery-row{grid-template-columns:65px 1fr 171px;margin:0 0 12px;padding:16px}.farm-view .delivery-row .item-art{height:65px;width:62px;display:grid;place-items:center}.farm-view .delivery-row .item-art img{max-width:61px;max-height:61px;object-fit:contain;image-rendering:pixelated}.farm-view .delivery-row h3{font-size:19px}.farm-view .delivery-row p{font-size:13px}.farm-view .delivery-row .delivery-side p{font-size:13px}.farm-view .history-layout{display:grid;grid-template-columns:240px 1fr;gap:20px;min-height:375px}.farm-view .history-menu{display:grid;align-content:start;gap:7px;max-height:381px;overflow:auto;padding-right:4px}.farm-view .history-menu button{text-align:left;padding:11px 12px;background:#eee0be;border:1px solid #bba16e;border-radius:4px;color:#715735}.farm-view .history-menu button[aria-selected=true]{background:#dfd0a8;border-left:4px solid #698452;padding-left:9px}.farm-view .history-menu strong{font-size:14px;display:block}.farm-view .history-menu small{font-size:11px;display:block;margin-top:5px;color:#8a7350}.farm-view .history-detail h2{font-size:22px;margin:0 0 5px}.farm-view .history-detail .delivery-quote p{font-size:16px}.farm-view .history-detail .record-stamp{display:flex;gap:20px;font-size:12px;color:#8b7048;margin-bottom:16px}.farm-view .history-detail .followup{border-left:3px solid #8c9c68;padding:10px 15px;background:#ecedcd66}.farm-view .history-detail .followup h3{font-size:14px;color:#607342;margin:0 0 9px}.farm-view .history-detail .followup p{font-size:16px;line-height:1.8;margin:0}.farm-view .recipe-table td{padding:10px 9px;font-size:12px}.farm-view .recipe-table .recipe-name{font-size:14px}.farm-view .recipe-table .recipe-lv{font-size:11px}.farm-view .recipe-table .recipe-icon{width:29px;height:32px;object-fit:contain;image-rendering:pixelated;float:left;margin-right:10px}.farm-view .recipe-table th{font-size:12px;padding-top:2px}.farm-view .result-copy{font-size:17px;line-height:1.9;word-break:keep-all;margin:14px 0}.farm-view .result-box{padding:13px 17px;margin-top:14px;background:#e4e8c89c;border:1px solid #a1af7c;border-radius:4px;color:#59713d;font-size:15px}.farm-view .result-bottom{margin-top:20px;display:flex;justify-content:flex-end}.farm-view .farm-modal-compact{width:760px}.farm-view .craft-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.farm-view .craft-card{background:#fff5dc88;border:1px solid #bea36e;border-radius:4px;padding:15px}.farm-view .craft-card h3{font-size:16px;margin:0 0 6px}.farm-view .craft-card p{font-size:12px;color:#866d45;margin:5px 0 12px}.farm-view .craft-card .action{font-size:12px}.farm-view .plant-grid .seed-card{min-height:170px}.farm-view .return-scene{position:absolute;inset:0;display:grid;place-content:center;background:#3f2d1ce6;text-align:center;color:#f2dfb7;z-index:50}.farm-view .return-scene h2{font-size:29px;margin:0 0 15px}.farm-view .return-scene .wood{padding:12px 30px}.farm-view .modal-body:has(.recipe-table){max-height:535px}

/* Farm sign proposal: same farm wood/cream colors, top center like area titles. */
.farm-view .farm-title{top:22px;left:50%;transform:translateX(-50%);width:330px;height:51px;padding:4px 18px;text-align:center;background:linear-gradient(#664228,#3e2818);border:2px solid #9b6c37;border-radius:3px;box-shadow:inset 0 0 0 2px #d8b47726,0 3px 0 #2b1b10;color:#f6e4be;text-shadow:0 1px #24150b;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;pointer-events:none}
.farm-view .farm-title strong{font-size:20px;line-height:1.25;font-weight:700;white-space:nowrap;letter-spacing:1px}
.farm-view .farm-title strong span{font-size:13px;vertical-align:1px;color:#ead5ac;margin:0 7px}
.farm-view .farm-title small{font-size:10px;line-height:1.3;color:#d2b994;margin:0;text-shadow:0 1px #24150b}

.farm-raster{display:inline-block;flex-shrink:0;background-repeat:no-repeat;image-rendering:pixelated;vertical-align:middle}.farm-view button:focus{outline:none}.farm-view button:focus-visible{outline:2px solid #b8cbd7;outline-offset:2px}.farm-view .plant-locked{opacity:.6}.farm-view .delivery-row .item-art{display:grid;place-items:center}.bag-item .farm-raster{vertical-align:middle}.farm-view .recipe-table .farm-raster{margin-right:9px}.farm-view .book-complete{color:#647c49;font-size:13px}

/* Keep the approved farm geometry independent of workshop chips/footer rules. */
.farm-view .top .chip{min-width:0}.farm-view button{text-decoration:none}.farm-view .top .return{height:51px}

.farm-view .bubble.farm-story-bubble{width:340px;max-height:315px;overflow:auto;text-align:left;cursor:pointer;z-index:8;font-family:inherit;color:#654529}.farm-view .farm-story-bubble p{font-size:18px;line-height:1.8;margin:0}.farm-view .farm-story-bubble small{display:block;margin-top:12px;font-size:12px;color:#90734e}.farm-view .farm-story-recall p{font-size:17px;line-height:1.9;margin:0 0 18px}.farm-view .farm-story-recall{max-height:390px;overflow:auto}

/* Dedicated right column: plots end at x920; bubble starts x950, with 30px clear space. */
.farm-view .bubble.farm-story-bubble{width:302px;max-height:270px;right:28px;bottom:357px;top:auto;overflow:auto}.farm-view .farm-story-bubble p{font-size:17px;line-height:1.75}

.farm-view .farm-speech-reward{display:block;margin-top:12px;padding-top:10px;border-top:1px solid #c7ac7e;font-size:12px;line-height:1.6;color:#79613e}

/* Complete Oliver lines fit the dedicated column without clipping or scrolling. */
.farm-view .bubble.farm-story-bubble{max-height:none;overflow:visible}
.farm-view .farm-story-bubble p{font-size:15px;line-height:1.6}
.farm-view .farm-story-bubble small{margin-top:10px;font-size:12px}
.farm-view .farm-speech-reward{margin-top:8px;padding-top:8px;line-height:1.5}

/* Keep the notebook at the recorded moon-dew page height, independent of its text. */
.farm-view .modal.farm-book-modal{height:634px;min-height:634px;max-height:634px}
.farm-view .farm-book-modal .modal-body{flex:1;min-height:0;max-height:none;overflow-y:auto;scrollbar-gutter:stable}
.farm-view .farm-book-modal .book-page>.book-memo{min-height:85px}
.farm-view .farm-book-modal .book-page>.book-memo:first-of-type{min-height:102px}

/* Approved farm map. UI coordinates are percentages of the unchanged 1672x941 PNG. */
#panel[data-panel="night"]{width:min(1672px,calc(100vw - 32px),calc((100dvh - 40px)*1.776833));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:0;background:#20253b;box-shadow:0 10px 35px #0008;color:#f9e6b9;overflow:auto}
#panel[data-panel="night"]>.panel-head,#panel[data-panel="night"]>.panel-feedback{display:none}
#panel[data-panel="night"]>.panel-content{padding:0;max-height:none;overflow:visible}
.night-map{position:relative;aspect-ratio:1672/941;container-type:inline-size;overflow:hidden}
.night-map-image{display:block;width:100%;height:100%;image-rendering:pixelated;pointer-events:none}
.night-map-name.night-destination,.night-map-name{position:absolute;display:block;min-height:0;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:transparent;overflow:visible;cursor:pointer}
.night-map-name:hover,.night-map-name.night-destination:hover,.night-map-name:focus,.night-map-name.night-destination:focus{background:transparent;border:0;box-shadow:none;outline:none}
.night-map-name:focus-visible{box-shadow:inset 0 -2px #bcc8d8!important}
.night-map-name,.night-map-name:hover,.night-map-name:focus{opacity:1;filter:none}
.night-map-sr{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.night-map-locked{position:absolute;left:50%;top:110%;transform:translateX(-50%);font-size:1cqw;line-height:1.2;white-space:nowrap;color:#dadce5;background:#202844dd;padding:2px 5px}
.night-map-detail{position:absolute;left:.48%;top:76.94%;width:33.49%;height:22.21%;display:grid;grid-template-columns:41.3% 1fr;gap:2.5%;padding:1%;background:linear-gradient(#344a71,#202844 50%,#20253b);border:3px solid #9c6b32;border-radius:6px;box-shadow:inset 0 0 0 2px #251209,inset 0 0 0 4px #bd884854;overflow:hidden}
.night-map-preview{width:100%;height:100%;min-height:0;object-fit:cover;image-rendering:pixelated;border:1px solid #93713e}
.night-map-copy{min-width:0;display:flex;flex-direction:column;text-align:left}
.night-map-copy h2{font-size:1.67cqw;line-height:1.2;letter-spacing:0;margin:0;color:#f9e6b9}
.night-map-description{font-size:1.08cqw;line-height:1.35;margin:.35cqw 0 .45cqw;color:#efdfc4;word-break:keep-all}
.night-map-detail-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:end;gap:.45cqw}
.night-map-materials{display:flex;gap:.45cqw}
.night-map-material{display:flex;flex-direction:column;align-items:center;gap:2px;max-width:3.35cqw;text-align:center;font-size:.68cqw;color:#e9d3a8;line-height:1.25}
.night-map-material .pixel-icon,.night-map-material .item-icon{width:2.55cqw;height:2.55cqw;flex-basis:auto;margin:0}
.night-map-start,.night-map-footer button{border:3px solid #9c6b32;border-radius:5px;background:linear-gradient(#344a71,#202844 50%,#20253b);box-shadow:inset 0 0 0 2px #251209,inset 0 0 0 4px #bd884854,0 3px 0 #25140f;color:#f9e6b9;font-size:1.12cqw;font-weight:800;white-space:nowrap;padding:.55cqw .7cqw}
.night-map-start:focus,.night-map-footer button:focus{outline:none}
.night-map-start:focus-visible,.night-map-footer button:focus-visible{text-decoration:underline;text-underline-offset:4px}
.night-map-start:disabled{opacity:.65}
.night-map-footer{position:absolute;right:1.6%;bottom:2.9%;width:35.8%;min-height:4.9%;display:flex;align-items:center;justify-content:space-between;gap:1%;padding:.3cqw .45cqw;background:linear-gradient(#344a71,#202844 50%,#20253b);border:3px solid #9c6b32;border-radius:5px;box-shadow:inset 0 0 0 2px #251209;font-size:1.05cqw;color:#f9e6b9;white-space:nowrap}
.night-map-footer button{font-size:.98cqw;padding:.3cqw .6cqw;border-width:2px}




.night-map-footer{width:auto;min-height:0;padding:0;background:none;border:0;box-shadow:none}
.night-map-shell{position:relative}
.night-map-label-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;image-rendering:auto}

/* Approved Heir of Light title is PNG lettering, with no embedded font. */
.map-day-title{position:absolute;z-index:1;left:38.8%;top:5.4%;width:23%;height:6.8%;display:flex;align-items:center;justify-content:center;gap:.8cqw;pointer-events:none;white-space:nowrap;font-size:0;line-height:1;color:transparent;text-shadow:none}
.map-title-lettering{display:block;flex:0 0 14.4cqw;height:4.8cqw;background:center/contain no-repeat url("/assets/outing-map-title-heir-v1.bc1a29eb966738fe6d31.png");image-rendering:auto;font-size:0}
.map-day-title:before,.map-day-title:after{content:"";display:block;flex:0 0 3.5cqw;height:2.55cqw;background:center/contain no-repeat;image-rendering:pixelated}
.map-day-title:before{background-image:url("/assets/outing-map-ornament-left-v1.04c82bacc2f6aa469e22.png")}.map-day-title:after{background-image:url("/assets/outing-map-ornament-right-v1.e295771651cdc85362ca.png")}.map-day-title[hidden]{display:none}

.night-map-name[aria-disabled="true"]{cursor:not-allowed;opacity:1}
.night-map-name[aria-disabled="true"]:before{content:"";position:absolute;inset:0;background:#080e20a3;pointer-events:none;z-index:0}
.night-map-name[aria-disabled="true"] .night-map-label-canvas{opacity:.56}
.night-map-name:after,.night-map-name:hover:after{content:none!important}
.night-map-shell[data-rain-skin="true"] .night-map-preview{image-rendering:auto}
.night-map-shell[data-greenhouse-skin="true"] .night-map-preview{image-rendering:auto}
.night-map-access{font-size:1cqw;line-height:1.35;font-weight:700;color:#f5d895;margin:.3cqw 0 .25cqw;word-break:keep-all}
.night-map-detail:has(.night-map-access) .night-map-description{font-size:.92cqw;margin:.1cqw 0 .2cqw}

.opening-host .story-stage{width:1672px;height:941px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--scene-scale,1));transform-origin:center;overflow:hidden;background:#34271f}.opening-host .scenery,.opening-host .scenery img{position:absolute;inset:0;width:100%;height:100%}.opening-host .scenery img{object-fit:cover;image-rendering:pixelated}.opening-host #scene-front{opacity:1}.opening-host .chapter{position:absolute;left:35px;top:27px;padding:12px 22px;color:#f4e6c8;background:#49311edf;border:2px solid #94734b;border-radius:6px;box-shadow:inset 0 0 0 2px #30221877;font-size:21px;letter-spacing:1px}.opening-host .wood{border:2px solid #9c784b;border-radius:6px;background:linear-gradient(#644724,#49311b);box-shadow:inset 0 0 0 2px #30221866,0 2px 0 #271b1466;color:#f7eaca;font-weight:bold}.opening-host .wood:hover{background:linear-gradient(#70512d,#543a22)}.opening-host .skip{position:absolute;right:35px;top:27px;padding:10px 19px;font-size:17px}.opening-host .dialogue{position:absolute;left:216px;right:216px;bottom:32px;min-height:218px;padding:22px 32px 20px;background:linear-gradient(105deg,#fbf2dfeb,#f1e1c3f2);border:2px solid #9a7a55;border-radius:18px;box-shadow:inset 0 0 0 4px #fff5df77,0 5px 14px #35281935}.opening-host .speaker{font-size:19px;font-weight:bold;color:#825f3e;letter-spacing:1px;margin-bottom:11px}.opening-host .dialogue p{margin:0;white-space:pre-line;font-size:25px;line-height:1.65;letter-spacing:.25px;min-height:82px}.opening-host .dialogue-footer{margin-top:13px;display:flex;align-items:center;justify-content:space-between;gap:24px}.opening-host .advance{display:flex;align-items:center;gap:18px}.opening-host .hint{font-size:14px;color:#9a8061}.opening-host #next{min-width:129px;padding:10px 20px;font-size:20px}.opening-host #next span{margin-left:12px}.opening-host .characters{position:absolute;inset:0;pointer-events:none}.opening-host .characters[hidden],.opening-host .dialogue[hidden]{display:none}.opening-host .story-actor{position:absolute;transform:translateX(-50%)}.opening-host .story-actor img{width:100%;height:100%;image-rendering:pixelated}.opening-host .apprentice{left:960px;bottom:130.924px;width:228.391px;height:309px}.opening-host .apprentice img{transform:scaleX(-1)}.opening-host .customer{left:650px;bottom:141px;width:214.486px;height:306px}.opening-host .customer.walking{animation:guest-arrival 1.8s linear forwards}.opening-host .customer.walking img{position:absolute;width:221.950px;height:320px;left:calc(50% - 110.975px);bottom:-11.142px}.opening-host .dialogue.character-narration{left:450px;right:auto;top:135px;bottom:auto;width:820px}.opening-host .dialogue.npc{left:485px;right:auto;top:250px;bottom:auto;width:610px;min-height:0;padding:18px 24px}.opening-host .dialogue.npc p{font-size:23px;min-height:0;line-height:1.6}.opening-host .dialogue.npc .hint{display:none}.opening-host .dialogue.npc::after{content:'';position:absolute;left:140px;bottom:-17px;border-top:17px solid #f3e6cc;border-left:13px solid transparent;border-right:13px solid transparent}@keyframes guest-arrival{from{left:300px}to{left:650px}}.opening-host .gameplay-layout .apprentice{left:var(--hero-x,970px);bottom:197.588px}.opening-host .gameplay-layout .apprentice img{transform:scaleX(var(--hero-facing,1))}.opening-host .gameplay-layout .customer{left:1204px;bottom:207.664px}.opening-host .gameplay-layout .customer img{transform:scaleX(-1)}.opening-host .gameplay-layout .customer.walking{animation-name:guest-arrival-gameplay}@keyframes guest-arrival-gameplay{from{left:1555px}to{left:1204px}}.opening-host .dialogue.setup-narration{left:216px;right:216px;top:auto;bottom:20px;width:auto;min-height:0;padding:14px 24px}.opening-host .dialogue.setup-narration p{font-size:21px;line-height:1.5;min-height:0}.opening-host .dialogue.setup-narration .speaker{font-size:17px;margin-bottom:7px}.opening-host .dialogue.setup-narration .dialogue-footer{margin-top:10px}.opening-host .dialogue.setup-narration #next{padding:8px 18px;font-size:18px}.opening-host .gameplay-layout .dialogue.npc{left:928px;top:160px}.opening-host .gameplay-layout .dialogue.npc::after{left:250px}.opening-host .clean-shot .chapter,.opening-host .clean-shot .skip,.opening-host .clean-shot .dialogue{visibility:hidden}.opening-host .dialogue:not(.npc){left:50%;right:auto;top:auto;bottom:20px;transform:translateX(-50%);width:1240px;height:168px;min-height:0;padding:14px 24px}.opening-host .dialogue:not(.npc) .speaker{font-size:19px;line-height:23px;margin-bottom:11px}.opening-host .dialogue:not(.npc) p{width:calc(100% - 240px);font-size:25px;line-height:1.65;min-height:0}.opening-host .dialogue:not(.npc) .dialogue-footer{position:absolute;right:22px;bottom:14px;margin:0}.opening-host .dialogue:not(.npc) .hint{display:none}.opening-host .dialogue:not(.npc) #next{padding:10px 20px;font-size:20px}.opening-host .dialogue-footer{justify-content:flex-end}.opening-host button,.opening-host button:hover,.opening-host button:focus,.opening-host button:focus-visible,.opening-host button span{text-decoration:none}.opening-host button:focus-visible{outline:2px solid #edd8b1;outline-offset:3px}.opening-host .story-frame{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:2px solid #795231;border-radius:5px;overflow:hidden;box-shadow:0 18px 80px #0009}.opening-host .story-stage{left:0;top:0;transform:scale(var(--scene-scale,1));transform-origin:top left}.opening-host .dialogue.npc,.opening-host .gameplay-layout .dialogue.npc{width:520px;left:944px;top:220px;padding:14px 20px}.opening-host .dialogue.npc .speaker{font-size:17px;line-height:20px;margin-bottom:8px}.opening-host .dialogue.npc p{font-size:20px;line-height:1.55}.opening-host .dialogue.npc .dialogue-footer{margin-top:10px}.opening-host .dialogue.npc #next{font-size:17px;padding:8px 16px;min-width:110px}.opening-host .dialogue.npc::after,.opening-host .gameplay-layout .dialogue.npc::after{left:246px;bottom:-15px;border-top-width:15px;border-left-width:11px;border-right-width:11px}.opening-host /* Narration has no visible speaker label; NPC names stay in speech bubbles. */
.dialogue:not(.npc) .speaker{display:none}.opening-host .dialogue:not(.npc){display:flex;align-items:center;padding:20px 24px}.opening-host .dialogue[hidden]{display:none!important}

.opening-host{position:fixed;inset:0;margin:0;padding:0;width:100vw;height:100vh;max-width:none;max-height:none;border:0;background:#241c15;color:#4c3323;overflow:hidden}.opening-host::backdrop{background:#241c15}.opening-host .story-stage{position:absolute}.opening-host button{font:inherit;cursor:pointer}.opening-host .characters{pointer-events:none}

/* Compact opening captions; NPC bubbles follow their text instead of a fixed height. */
.opening-host .dialogue:not(.npc){width:1000px;height:170px;padding:16px 20px}
.opening-host .dialogue:not(.npc) p{width:calc(100% - 150px);font-size:22px;line-height:1.5}
.opening-host .dialogue:not(.npc) #next{min-width:110px;font-size:18px;padding:8px 16px}
.opening-host .dialogue.npc,.opening-host .gameplay-layout .dialogue.npc{width:460px;height:auto;min-height:0;left:974px}
.opening-host .dialogue.npc p{font-size:20px;line-height:1.55}
.opening-host .dialogue.npc::after,.opening-host .gameplay-layout .dialogue.npc::after{left:216px}

.opening-host .customer.walking img{width:216.919226px;height:312.746996px;left:calc(50% - 108.459613px);bottom:-4.599132px}

.onboarding-layer{position:fixed;inset:0;z-index:10020;pointer-events:none;color:#563a25}
.onboarding-focus{position:fixed;border-radius:3px;box-shadow:0 0 0 5000px #100d0b9c;pointer-events:none}
.onboarding-focus[hidden]{display:none}
.onboarding-card{position:fixed;width:1000px;height:170px;transform-origin:top left;background:linear-gradient(105deg,#fbf2dfeb,#f1e1c3f2);border:2px solid #9a7a55;border-radius:18px;box-shadow:inset 0 0 0 4px #fff5df77,0 5px 14px #35281935;padding:16px 20px;display:flex;align-items:center;pointer-events:auto}
.onboarding-card p{margin:0;white-space:pre-line;font-size:22px;line-height:1.5;letter-spacing:.25px;width:calc(100% - 150px)}
.onboarding-controls{position:absolute;right:22px;bottom:14px;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.onboarding-controls .wood{font-size:18px;padding:8px 16px;min-width:110px}.onboarding-skip{background:none;border:0;color:#997855;font-size:14px;padding:3px}
.onboarding-journal-done{position:absolute;right:30px;top:30px}
.stage.onboarding-hides-dock .dock{visibility:hidden}
.speech:not(.night-guest-speech){width:460px;font-size:20px;padding:14px 20px}.speech:not(.night-guest-speech) .speaker{font-size:17px}
/* Keep existing exploration mechanics with the approved narration styling. */
.tutorial-card:not(.tutorial-map-card) .tutorial-progress,.tutorial-card:not(.tutorial-map-card) .tutorial-top>span,.tutorial-card:not(.tutorial-map-card) h1,.tutorial-card:not(.tutorial-map-card) h2,.tutorial-card:not(.tutorial-map-card) .tutorial-path,.tutorial-card:not(.tutorial-map-card) .tutorial-note{display:none}
.tutorial-layer .tutorial-card:not(.tutorial-map-card){left:336px;top:auto;bottom:20px;width:1000px;min-height:170px;max-height:260px;padding:16px 20px;background:linear-gradient(105deg,#fbf2dfeb,#f1e1c3f2);border:2px solid #9a7a55;border-radius:18px;color:#563a25;transform:none}
.tutorial-card:not(.tutorial-map-card) p{font-size:22px;line-height:1.5;margin:0 150px 0 0}.tutorial-card:not(.tutorial-map-card) .tutorial-top{position:absolute;right:22px;top:12px}.tutorial-card:not(.tutorial-map-card) .tutorial-action{position:absolute;right:22px;bottom:14px;width:auto;max-width:calc(100% - 44px);font-size:18px;padding:8px 16px}.tutorial-card:not(.tutorial-map-card) .tutorial-skip{color:#997855}
/* Keep captions vertically centered while reading from the left edge. */
.tutorial-layer .tutorial-card:not(.tutorial-map-card):not(.tutorial-panel-card){height:170px;max-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:left}
.tutorial-layer .tutorial-card:not(.tutorial-map-card):not(.tutorial-panel-card) p{width:100%;margin:0;text-align:left}
.tutorial-layer .tutorial-card:not(.tutorial-map-card):not(.tutorial-panel-card):has(>.tutorial-action){height:auto;max-height:none;bottom:auto;gap:12px}
.tutorial-layer .tutorial-card:not(.tutorial-map-card):not(.tutorial-panel-card)>.tutorial-action{position:static;align-self:center;flex:none;margin:0}
.tutorial-layer .tutorial-card.tutorial-welcome:not(.tutorial-map-card):has(>.tutorial-action){top:auto;bottom:20px}
.tutorial-in-panel .tutorial-card.tutorial-panel-card{position:fixed;width:min(600px,calc(100vw - 32px));height:auto;min-height:150px;max-height:calc(100vh - 32px);bottom:auto}.tutorial-in-panel .tutorial-panel-card p{font-size:20px;margin-right:0}.tutorial-in-panel .tutorial-card.tutorial-panel-card .tutorial-action{position:static;margin-top:10px}
/* Result/reward help stays beside the native modal and never covers its controls. */
.tutorial-layer[data-avoidance="side"] .tutorial-card.tutorial-side-card{width:365px;height:auto;min-height:170px;max-height:none;padding:40px 20px 20px;bottom:auto}
.tutorial-layer[data-avoidance="side"] .tutorial-card.tutorial-side-card p{width:100%;margin:0;font-size:20px}

/* One approved wooden advance-button appearance in all tutorial layers. */
:is(.opening-host,.onboarding-layer,.tutorial-layer) button.tutorial-next-button{box-sizing:border-box;min-width:110px;width:auto;min-height:44px;padding:8px 16px;border:3px solid #9c6b32;border-radius:6px;background:linear-gradient(#603a22,#382116 35%,#442619);color:#f9e6b9;box-shadow:inset 0 0 0 2px #251209,inset 0 0 0 4px #bd884854,0 5px 0 #25140f,0 8px 14px #0005;text-shadow:0 2px #24120b;font:400 18px/1.4 'Malgun Gothic',sans-serif;text-align:center;text-decoration:none;white-space:nowrap}
:is(.opening-host,.onboarding-layer,.tutorial-layer) button.tutorial-next-button:not(:disabled):hover{border-color:#efc470;background:linear-gradient(#795027,#4b2e1c 45%,#53321d)}
:is(.opening-host,.onboarding-layer,.tutorial-layer) button.tutorial-next-button:focus{outline:none}
:is(.opening-host,.onboarding-layer,.tutorial-layer) button.tutorial-next-button:focus-visible{outline:2px solid #b8cbd7;outline-offset:3px}
.tutorial-layer .tutorial-card.tutorial-welcome:not(.tutorial-map-card):has(>[data-tutorial="finish"]){height:170px;min-height:170px;max-height:170px;gap:0;display:flex;justify-content:center}
.tutorial-layer .tutorial-card.tutorial-welcome:not(.tutorial-map-card):has(>[data-tutorial="finish"])>p{width:calc(100% - 260px);margin:0;align-self:flex-start;text-align:left}
.tutorial-layer .tutorial-card.tutorial-welcome:not(.tutorial-map-card)>[data-tutorial="finish"]{position:absolute;right:22px;bottom:14px;align-self:auto;margin:0}

.shell{padding:0;display:grid;place-items:center;min-height:100vh}.frame{margin:0;box-sizing:border-box}.stage{transform-origin:top left}#settings.environment-gear{position:absolute;right:33px;top:27px;width:80px;height:80px;padding:16px;display:grid;place-items:center;z-index:6}#settings.environment-gear svg{width:40px;height:40px;display:block}footer{display:none}.settings-audio{display:flex;flex-direction:column;gap:16px;padding:18px;border:1px solid #b89a68;border-radius:6px;background:#fff5da66;margin-bottom:20px}.settings-audio #music-toggle{align-self:flex-start;min-width:168px;text-decoration:none}.settings-audio .volume-control{display:flex;align-items:center;gap:15px;font-size:16px;color:#65482d}.settings-audio input{flex:1;min-width:100px;accent-color:#946532;cursor:pointer}.settings-audio output{width:46px;text-align:right;font-variant-numeric:tabular-nums}.panel[data-panel="settings"]{width:620px}.panel[data-panel="settings"] .bottom-action{flex-wrap:wrap;justify-content:flex-start}button,button:hover,button:focus,button span{text-decoration:none}
.frame{box-sizing:border-box}
#settings.environment-gear .settings-gear-pixel{width:48px;height:48px;display:block;object-fit:contain;image-rendering:pixelated}.save-slots-dialog{width:700px}.save-slots-dialog .panel-content{max-height:calc(88vh - 130px)}.slots-lead{font-size:16px;margin:0 0 20px;line-height:1.6}.save-slot{border:2px solid #b89a68;background:#fff5dd6b;border-radius:7px;padding:16px 18px;margin-bottom:14px}.save-slot:last-child{margin-bottom:0}.save-slot-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}.save-slot-heading h2{font-size:21px;margin:0;color:#533923}.save-slot-heading p{margin:0;font-size:16px;color:#755334}.save-slot.empty .save-slot-heading p{color:#9a8161}.save-slot-actions{display:flex;gap:12px;justify-content:flex-end}.save-slot-actions .action{min-width:92px}.save-slot-actions button:disabled{opacity:.42;cursor:not-allowed}
#settings.environment-gear{padding:0;display:block}#settings.environment-gear .settings-gear-pixel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;image-rendering:pixelated}

.panel[data-panel="settings-v3"]{width:960px;max-width:calc(100vw - 44px);height:700px;max-height:calc(100vh - 48px);padding:0;border:3px solid #9a7546;border-radius:12px;background:linear-gradient(120deg,#f5e9cc,#e9d8b4);color:#563a25;box-shadow:0 12px 50px #140b05b0,inset 0 0 0 3px #fff4d7;overflow:hidden}
.panel[data-panel="settings-v3"][open]{display:flex;flex-direction:column}.panel[data-panel="settings-v3"] .panel-head{padding:20px 26px 16px;border-bottom:1px solid #c4a575;background:#ead7b380;flex:none}.panel[data-panel="settings-v3"] .panel-head h1{font-size:27px}.panel[data-panel="settings-v3"] #panel-kicker{font-size:13px;color:#977248;margin-bottom:4px}.panel[data-panel="settings-v3"] #close-panel{display:grid;place-items:center;width:40px;height:40px;padding:0;border:2px solid #b99863;background:#f9edcf;border-radius:4px}.panel[data-panel="settings-v3"] .panel-content{padding:0;max-height:none;flex:1;min-height:0;overflow:hidden}.panel[data-panel="settings-v3"]>.panel-feedback{display:none}
.settings-v3-root{height:100%;display:flex;flex-direction:column}.settings-tabs{display:grid;grid-template-columns:.95fr 1fr .95fr 1.4fr .95fr;gap:8px;padding:18px 22px 0;flex:none}.settings-tabs button{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px 5px 14px;border:2px solid #b89b6d;border-radius:7px 7px 0 0;color:#745234;background:#e1cda8;font-size:16px;white-space:nowrap;box-shadow:inset 0 2px #f7e9c8}.settings-tabs button[aria-selected="true"]{border-color:#a17840;border-bottom-color:#fbf1db;color:#51331d;background:#fbf1db;box-shadow:inset 0 3px #edc15e;position:relative;z-index:1}.settings-dot-icon{display:inline-block;vertical-align:middle;image-rendering:pixelated;flex:none;pointer-events:none}.settings-tab-body{margin:-2px 22px 0;padding:24px 28px;border:2px solid #b89b6d;border-radius:0 0 7px 7px;flex:1;min-height:0;overflow:auto;background:#fbf1db;font-family:inherit;scrollbar-color:#b9945b #eadcbe}.settings-tab-body h2{margin:0 0 9px;font-size:22px;color:#644224}.settings-description{font-size:15px;line-height:1.6;color:#997855;margin:0 0 22px}.settings-tab-body h3{font-size:18px;margin:0 0 7px;color:#67452c}.settings-tab-body button{cursor:pointer;font-family:inherit;font-size:15px}.settings-tab-body button:disabled{opacity:.4;cursor:not-allowed}.settings-tab-body button:not(.sound-switch):not(.sound-slider button){border:2px solid #b99a66;background:#f4e6c7;color:#644329;padding:9px 17px;border-radius:5px;box-shadow:inset 0 1px #fff7dd}.settings-tab-body button.settings-primary{background:#79522d;color:#fff0cc;border-color:#b98b45;box-shadow:inset 0 1px #b0864f}.settings-tab-body button:hover:not(:disabled){filter:brightness(1.06)}.settings-tab-body button:focus-visible,.settings-tabs button:focus-visible,.settings-tab-body input:focus-visible{outline:3px solid #d59c39;outline-offset:3px}.settings-status{min-height:27px;font-size:14px;color:#85623d;margin:0;padding:10px 26px 8px;flex:none}
.sound-channel{padding:21px 23px;background:#f0e1c1;border:1px solid #d1b789;border-radius:7px;margin-top:17px}.sound-channel-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.sound-channel-heading p{margin:0;font-size:14px;color:#9c7a53}.sound-switch{display:flex;align-items:center;justify-content:center;gap:12px;min-width:122px;padding:10px 14px;background:#fcf1d4;border:2px solid #b49058;color:#6b4829;border-radius:5px;box-shadow:inset 0 2px #fff8e5}.sound-switch.off{background:#ded1b7;color:#8b7760;border-color:#b6a38a;box-shadow:none}.sound-slider{display:flex;align-items:center;gap:14px;margin-top:24px}.sound-slider button{width:27px;height:27px;display:grid;place-items:center;padding:0;border:1px solid #c1a36d;background:#fff5dd;border-radius:3px}.sound-slider input{-webkit-appearance:none;appearance:none;height:8px;flex:1;border-radius:0;cursor:pointer;background:linear-gradient(to right,#c09858 0 var(--volume),#cbbca0 var(--volume) 100%);border:1px solid #b7a281}.sound-slider input::-webkit-slider-thumb{-webkit-appearance:none;width:17px;height:23px;background:#f0c45c;border:2px solid #9a713a;border-radius:2px;box-shadow:inset 2px 2px #ffe69c}.sound-slider output{min-width:45px;text-align:right;font-size:15px;color:#84613b;font-variant-numeric:tabular-nums}
.settings-slots{display:grid;gap:14px}.settings-slot{border:2px solid #c3a36d;background:#efe0be;border-radius:6px;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:18px}.settings-slot p{margin:0;color:#8c6d4b;font-size:15px}.settings-slot.empty{background:#f4e9d1;border-color:#d1bb94}.settings-slot.empty p{color:#aa9372}.settings-slot-buttons{display:flex;gap:8px;flex:none}.settings-slot-buttons button{min-width:82px}.settings-slot-buttons button.settings-delete{color:#986047;background:#ead8be}.settings-notice{padding:18px 22px;border:1px solid #d1b789;background:#f0e1c1;border-radius:6px;margin:28px 0}.settings-notice p{line-height:1.8;font-size:16px;margin:4px 0}.settings-story-card{display:flex;align-items:center;gap:28px;padding:34px;background:#f0e1c1;border:1px solid #d1b789;border-radius:7px;margin:28px 0}.settings-story-card h3{font-size:22px}.settings-story-card p{font-size:15px;color:#9c7a53;margin:10px 0 0}.settings-help{display:grid;grid-template-columns:1fr 1fr;gap:15px}.settings-help article{padding:18px;background:#f0e1c1;border:1px solid #d3ba90;border-radius:5px}.settings-help h3{font-size:17px}.settings-help p{font-size:15px;line-height:1.8;margin:0;color:#876544}.settings-story-replay{position:fixed;inset:0;width:100vw;height:100vh;border:0;z-index:100000;background:#21160e}
.settings-story-replay-host{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#21160e;overflow:hidden}
@media(max-width:1050px){.panel[data-panel="settings-v3"]{width:920px}.settings-tabs{gap:6px;padding:14px 16px 0}.settings-tabs button{font-size:15px;gap:6px}.settings-tab-body{margin-left:16px;margin-right:16px;padding:20px}.settings-slot{padding:16px}.settings-slot-buttons button{padding:8px 12px!important;min-width:74px}}
/* Icon-only channel toggles; standard close glyph from the existing game panels. */
.sound-switch{min-width:56px;width:56px;height:48px;padding:8px;gap:0}.panel[data-panel="settings-v3"] #close-panel{font-size:27px;line-height:1;color:#68442b}
