*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#cbdedb;color:#294239;font-family:system-ui,-apple-system,'PingFang SC',sans-serif}#world{position:fixed;inset:0;width:100%;height:100%;touch-action:none}header{position:absolute;top:26px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}a{color:inherit;text-decoration:none}header a{font:30px Georgia,serif;letter-spacing:5px;pointer-events:auto}header small{display:block;font:8px system-ui;letter-spacing:2px;margin-top:8px}header>span{font-size:12px;padding:10px 16px;border-radius:30px;background:#fff9e8c9}.intro{position:absolute;top:125px;left:34px;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:3px;color:#688474}h1{font:36px Georgia,serif;margin:14px 0}p{font-size:13px;line-height:1.7}aside{position:absolute;right:28px;top:130px;width:240px;padding:22px;background:#fffbeeeb;border:1px solid #fff9;border-radius:20px;box-shadow:0 14px 40px #24422c0c}h2{font:25px Georgia,serif;margin:10px 0}button{font:inherit;font-size:13px;border:1px solid #72877533;background:#fffbed;color:#294239;padding:12px 16px;border-radius:12px;cursor:pointer;transition:background .2s}button:hover{background:#e4ecdc}button[aria-pressed=true],button.selected{background:#3d6250;color:#fff9e9}.branches{display:grid;gap:8px}.branches button{text-align:left}.branches small{display:block;font-size:11px;opacity:.65;margin-top:5px}.note{font-size:10px;color:#768374;margin-bottom:0}nav{position:absolute;bottom:115px;left:50%;transform:translateX(-50%);display:flex;gap:5px;white-space:nowrap;padding:7px;background:#fff9e6d9;border-radius:18px;box-shadow:0 5px 30px #203d2410}nav button{border:0;background:transparent;padding:11px}nav span{border-left:1px solid #29423922;margin:8px}footer{position:absolute;bottom:21px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:end}footer div{display:flex;align-items:center;gap:8px}.primary{background:#315843;color:#fff;padding:14px 30px}footer a{font-size:11px;margin-left:12px}footer p{text-align:right;font-size:11px;margin:0}footer p span{display:block;opacity:.6;font-size:10px}#loading{position:fixed;inset:0;display:grid;place-items:center;background:#e7eddc;font-size:20px}#loading[hidden]{display:none}@media(max-width:760px){header{left:18px;right:18px;top:18px}header a{font-size:24px}header>span{font-size:9px}.intro{top:92px;left:20px}.intro h1{font-size:25px}.intro p{display:none}aside{top:155px;right:14px;width:174px;padding:14px}aside h2{font-size:20px}aside p{font-size:11px}.branches button{padding:10px;font-size:12px}.branches small,.note{display:none}nav{bottom:119px;gap:0;max-width:97vw}nav button{font-size:11px;padding:9px 7px}footer{left:15px;right:15px;bottom:15px;display:block}footer p{text-align:left;margin-top:10px}footer p span{display:inline;margin-left:9px}footer button{padding:11px}footer a{margin-left:0}}

button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid #c69146;outline-offset:3px}

[hidden]{display:none!important}#garden-panel{top:110px;max-height:calc(100dvh - 245px);overflow:auto;width:280px}#garden-panel h2{font-size:23px}.family-row,.crop-tabs,.care-row{display:flex;gap:6px;align-items:center}select{min-width:0;flex:1;max-width:100%;padding:9px;border:1px solid #bac8b2;border-radius:9px;background:#fffbee;color:#294239}#garden-panel button{padding:9px;font-size:12px}#plant-catalog-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}#garden-panel small,#garden-basket,#garden-log{font-size:10px;line-height:1.6}#garden-panel p{margin:10px 0}.crop-tabs button{flex:1}#cancel-garden{margin-top:10px}#save-warning{color:#ae4938}.concept-top{position:sticky;top:0;background:#f7f2e6;display:flex;justify-content:space-between;align-items:center;padding:12px;z-index:1}dialog{width:min(1050px,94vw);max-height:90dvh;border:0;border-radius:20px;padding:20px;background:#f7f2e6;color:#294239}dialog::backdrop{background:#183326aa}dialog img{width:100%;border-radius:12px}dialog p{color:#77806c}footer div{flex-wrap:wrap}body.gardening .intro h1{font-size:29px}body.gardening .intro p{max-width:230px}footer>p{max-width:250px}#input-state{display:block}nav{bottom:130px}
@media(max-width:760px){#garden-panel{top:133px;width:180px;right:10px;max-height:calc(100dvh - 315px);padding:12px}#garden-panel h2{font-size:18px}#garden-panel button{font-size:10px;padding:7px}#garden-panel select{font-size:10px;padding:6px}.intro h1,body.gardening .intro h1{font-size:22px}.intro{top:85px}footer div{gap:4px}footer button{font-size:10px;padding:9px 10px}.primary{padding:10px 12px}footer>p{max-width:100%;font-size:9px}nav{bottom:140px}.concept-top{font-size:12px;padding:5px}dialog{padding:10px}footer a{font-size:10px}}
.primary:hover{background:#456c50;color:#fff}

.wardrobe-layout{display:grid;grid-template-columns:300px 1fr;gap:24px}.character-stage{position:sticky;top:65px;align-self:start;text-align:center;background:radial-gradient(ellipse,#e7ead9,#efe8d5);border-radius:24px;padding:12px 0}.character-stage canvas{width:100%;height:340px;display:block}.character-stage h2{margin:5px 0 12px}#character-list{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}#character-list button{padding:4px 4px 10px;overflow:hidden}#character-list img{display:block;width:100%;aspect-ratio:1;object-fit:cover}#character-list span{font-size:12px}#look-options{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}#look-options label{font-size:12px}#look-options select{display:block;width:100%;margin-top:6px}.wardrobe-controls h3{font-size:15px;margin:18px 0}#wardrobe3d{width:min(1100px,96vw)}@media(max-width:760px){.wardrobe-layout{display:block}.character-stage{position:relative;top:0;margin-bottom:12px;padding:8px}.character-stage canvas{height:220px;object-fit:contain}.character-stage h2{font-size:18px}#character-list{grid-template-columns:repeat(3,1fr)}#look-options{grid-template-columns:repeat(2,1fr)}#wardrobe3d{max-height:92dvh}footer>div{max-width:100%}nav{bottom:158px}}

#character-list button[aria-pressed=true]:hover{background:#456c50;color:#fff}#wardrobe3d .concept-top{top:-20px}#character-list img{object-fit:contain;background:#f2eedf;border-radius:10px}#character-list button[aria-pressed=true] img{background:#d2ddc4}@media(max-width:760px){#wardrobe3d .concept-top{top:-10px}}
#character-list button[aria-pressed=true]{background:#456c50;color:#fff}

/* A soft scrim keeps the scene visible beneath the introductory copy. */
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(115deg,#eff2debb,transparent 34%);height:290px}header,.intro{ text-shadow:0 1px 12px #fffbe6a0}

/* Keep the actual model large enough to judge the face and clothing. */
@media(max-width:760px){.character-stage canvas{height:300px}}

#trail-panel{max-height:calc(100dvh - 320px);overflow:auto}#furniture-shop{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:14px 0}#furniture-shop h3{grid-column:1/-1;margin:0 0 5px;font-size:14px}

/* Storybook game chrome: compact map plaque, parchment panels and jewel controls. */
body{color:#304d65;font-family:'PingFang SC','Microsoft Yahei',system-ui,sans-serif}body::before{display:none}
header{top:20px;left:22px;right:22px;align-items:start}header a{font-size:25px;letter-spacing:3px;background:linear-gradient(#527da6,#365d84);color:#fff1c6;border:2px solid #edce86;border-radius:16px 16px 24px 8px;padding:12px 20px;box-shadow:0 4px 0 #284d6c,0 7px 18px #25496426;text-shadow:0 2px #29466c}header small{font-size:7px;letter-spacing:1.6px;color:#d3e8ed}header>span{background:#fff3d9;border:2px solid #d5ae6a;box-shadow:0 3px 0 #866b4a30;color:#4b6c83}
.intro{top:118px;left:27px;padding:0;max-width:265px}.intro .eyebrow{color:#496d82;letter-spacing:2px;font-weight:700}.intro h1,body.gardening .intro h1{font-size:24px;line-height:1.3;font-family:inherit;color:#294e6b;text-shadow:0 2px #eef8de}.intro p{font-size:11px;color:#31566a;max-width:205px;background:#f9f1d8de;padding:7px 10px;border-radius:9px}.intro>a{display:none!important}
aside{top:123px;right:22px;width:232px;padding:19px;background:linear-gradient(120deg,#fff7db,#f4e6c2);border:2px solid #c29453;border-radius:9px 23px 12px 23px;box-shadow:inset 0 0 0 4px #fff9e4,0 5px 0 #607d8955,0 13px 30px #2048661a}aside:before{content:'◆';position:absolute;top:-12px;left:calc(50% - 9px);font-size:18px;color:#d4963a;text-shadow:1px 1px #fff3b8}.eyebrow{font-size:10px;color:#647e8f}aside h2{font-family:inherit;font-size:23px;font-weight:750;color:#32576d}aside p{color:#5b655d}
button{border:1px solid #b29364;border-bottom-width:3px;background:linear-gradient(#fff9e8,#ead9ae);color:#355770;border-radius:10px;font-weight:600;box-shadow:inset 0 1px #fffdf3}button:hover{background:linear-gradient(#fff6ca,#f2d480)}button[aria-pressed=true],button.selected{background:linear-gradient(#5e97b3,#386b97);border-color:#285679;color:#fff5d1;box-shadow:inset 0 1px #9fcbdd}.branches button{padding:12px 14px}.branches button:first-child{border-left:5px solid #58a888}.branches button:last-child{border-left:5px solid #8e9e54}.branches small{color:inherit;opacity:.85}
nav{bottom:132px;padding:6px;background:#fff0d4ed;border:2px solid #d5b47a;border-radius:17px;box-shadow:0 4px #59788955}nav button{border-bottom:0;box-shadow:none}.primary{background:linear-gradient(#eab358,#cd863c);border-color:#9b672f;color:#fffdf0;text-shadow:0 1px #a37040}.primary:hover{background:linear-gradient(#f5c676,#df9849)}footer{left:22px;right:22px;bottom:20px}footer button{padding:11px 16px}footer p{background:#e5f2e2df;padding:7px 12px;border-radius:12px;color:#36576b}footer>div{gap:6px}#route-progress{padding:9px;background:#e4ead2;border-radius:9px;color:#41646a;border:1px solid #c2cda9}#next-segment{background:#ead08e}#return-trail{margin-top:10px}#garden-panel{top:113px}.family-row{margin-top:8px}#seed-balance{padding:8px 10px;background:#f4dfa5;border:1px solid #cda764;border-radius:8px;color:#796027;font-weight:600}select{background:#fff6de;border-color:#c8af82;color:#36576b}.concept-top,dialog{background:#fcf0d6;color:#355770}.character-stage{background:radial-gradient(ellipse,#d5edf0,#a8c5d7);border:2px solid #d4b478}.wardrobe-controls h3{color:#5b7892}
@media(max-width:760px){header{left:14px;right:14px;top:14px}header a{font-size:19px;padding:10px 14px;letter-spacing:2px}header>span{font-size:8px;padding:8px}.intro{left:18px;top:108px;max-width:165px}.intro h1,body.gardening .intro h1{font-size:19px}.intro .eyebrow{display:none}aside{right:12px;top:178px;width:165px;padding:13px}aside h2{font-size:20px}#garden-panel{top:126px;width:178px}nav{bottom:150px}nav button{padding:8px 6px}footer{left:12px;right:12px;bottom:12px}footer button{font-size:10px;padding:8px 10px}footer p{font-size:9px;padding:5px 8px;display:inline-block}#trail-panel{max-height:calc(100dvh - 380px)}}

#character-list button[aria-pressed=true],#character-list button[aria-pressed=true]:hover{background:#4e7c9e;color:#fff5cf}#character-list button[aria-pressed=true] img{background:#d5e6e7}#character-list img{background:#faf0d9}#wardrobe3d .concept-top{border-bottom:1px solid #ddc591}.intro h1{letter-spacing:1px}

@media(max-width:760px){.intro{display:none}#trail-panel{top:123px;max-height:calc(100dvh - 325px)}}

#connection-notice{position:absolute;top:112px;left:22px;max-width:260px;padding:12px 15px;border:2px solid #ca9566;border-radius:12px;background:#fff0d6;color:#8a4e2d;font-size:13px;line-height:1.6;box-shadow:0 4px 10px #35475a22;z-index:3}@media(max-width:760px){#connection-notice{top:112px;left:14px;max-width:calc(100vw - 205px);font-size:11px;padding:9px}}

/* Warm coastal storybook palette; existing control positions and hit areas stay intact. */
header a{background:linear-gradient(135deg,#678f89,#476f72);border-color:#f0d5a0;color:#fff5dd;box-shadow:0 3px 0 #365957,0 8px 22px #243f3d22;text-shadow:0 1px #3b625f}
aside{background:linear-gradient(125deg,#fff9e9,#f5ead3);border-color:#c7ab7b;box-shadow:inset 0 0 0 4px #fffaf0,0 4px 0 #88795a36,0 14px 34px #244b4420}
aside h2,.intro h1,body.gardening .intro h1{color:#426d68}aside:before{color:#c3a06b}
button{background:linear-gradient(#fffaf0,#efe2c7);border-color:#c5ae88;color:#466965}
button:hover{background:linear-gradient(#fff9df,#efd8ac)}button[aria-pressed=true],button.selected{background:linear-gradient(#84a99a,#5c877f);border-color:#50786e;color:#fff9e9}
.primary{background:linear-gradient(#dea978,#bf835c);border-color:#a66e48;color:#fff9ec}.primary:hover{background:linear-gradient(#e8ba8a,#cb946b)}
nav{background:#fff6e5ed;border-color:#d5bc96;box-shadow:0 4px #607c7333}#route-progress{background:#e8edda;border-color:#ccd7bc;color:#526e5f}#seed-balance{background:#f4e5bf;border-color:#d8bc84;color:#7e6540}
footer p{background:#fff6e5df;color:#4e736e}.intro p{background:#fff6e7df;color:#4d736d}select{background:#fffbef;border-color:#d4bf9b;color:#4e7068}
#village-actions{margin:10px 0}#village-actions>button{width:100%;background:#e1ebd7;border-color:#b8c69e;color:#4c6e59}#village-help{color:#6b7c64;font-size:11px}#village-residents{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:190px;overflow:auto;margin:10px 0}#village-residents button{text-align:left;overflow-wrap:anywhere}
