:root{--background:#f7f3e9;--foreground:#303e35;--card:#fdfbf6;--card-foreground:#303e35;--popover:#fdfbf6;--popover-foreground:#303e35;--primary:#365c48;--primary-foreground:#fffdf5;--secondary:#e7ecdf;--secondary-foreground:#365c48;--muted:#eeeadf;--muted-foreground:#5d6758;--accent:#e9edde;--accent-foreground:#365c48;--destructive:#b24e3e;--border:#dedbce;--input:#cccdbd;--ring:#7c9780;--radius:0.7rem;--font-sans:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;--serif:"Noto Serif SC","Songti SC",serif}*{box-sizing:border-box;border-color:var(--border)}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans)}html{scroll-behavior:smooth}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,select:focus-visible{outline:3px solid var(--ring);outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:500}p{line-height:1.8}img{display:block;max-width:100%}.app-shell{max-width:1240px;margin:auto;min-height:100dvh}.topbar{height:100px;margin:0 56px;justify-content:space-between;border-bottom:1px solid var(--border)}.brand,.topbar{display:flex;align-items:center}.brand{gap:12px;text-align:left}.brand>svg{width:36px;height:36px;color:var(--primary)}.brand>span{font-family:var(--serif);font-size:21px;letter-spacing:2px}.brand small{display:block;font:10px var(--font-sans);letter-spacing:4px;color:var(--muted-foreground);margin-top:5px}.top-actions{display:flex;gap:8px;align-items:center}.top-actions button:first-child{font-variant-numeric:tabular-nums}.game-main{padding:32px 56px 130px}.game-main>section{margin-top:38px}.page-intro,.page-title{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:26px}.page-intro h1,.page-title h1{font-size:30px;line-height:1.55;letter-spacing:1.5px}.page-title p{font-size:14px;margin-top:9px}.greeting,.page-title p{color:var(--muted-foreground)}.greeting{display:flex;gap:7px;align-items:center;font-size:12px;margin-bottom:9px}.greeting svg{width:14px;height:14px}.home-composition{display:grid;grid-template-columns:minmax(0,1fr) 268px;gap:25px;align-items:stretch}.shop-scene{position:relative;min-height:400px;overflow:hidden;border-radius:18px;background:#718472;isolation:isolate}.shop-scene>img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0}.shop-scene-shade{position:absolute;inset:0;background:linear-gradient(transparent 65%,#1e302975)}.open-sign{left:20px;top:20px;border:1px solid #f6efdbbb;background:#314f3cd9;border-radius:4px;color:#fff7e0;font-size:11px;letter-spacing:2px;padding:7px 12px}.hotspot,.open-sign{position:absolute}.bench-hotspot{left:20%;top:65%}.shelf-hotspot{right:17%;top:37%}.window-hotspot{left:9%;top:30%}.scene-footer{position:absolute;bottom:18px;left:22px;right:22px;color:#fff9ed;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.5px}.daily-note{padding:24px 22px 20px;background:#eee8d9;display:flex;flex-direction:column;gap:25px;border-radius:6px 18px 18px 6px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.section-heading h2{font-size:21px;letter-spacing:.6px}.section-heading>span{font-size:11px;color:var(--muted-foreground)}.daily-note .section-heading{display:block;margin:0}.daily-note .section-heading>span{display:block;margin-top:6px;letter-spacing:2px}.visitor-note{display:flex;align-items:flex-start;gap:12px;text-align:left}.visitor-note strong{font-size:14px;font-weight:500}.visitor-note p{font-size:12px;margin-top:8px;color:#5d6758}.visitor-note div>span{font-size:11px;display:flex;gap:8px;align-items:center;margin-top:18px;color:var(--primary)}.visitor-note svg{width:13px}.note-divider{height:1px;background:#d5d1c1}.journal-line{font-size:12px;color:#5d6758;flex:1}.daily-note>button:last-child{align-self:flex-start}.persona{flex-shrink:0;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--persona-color),#f8f4e7 75%);color:color-mix(in srgb,var(--persona-color),#143a27 35%);border:1px solid color-mix(in srgb,var(--persona-color),#f8f4e7 45%);font:21px var(--serif);box-shadow:inset 0 0 0 4px #f8f4e780}.persona.small{width:32px;height:32px;font-size:13px}.item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.object-card{text-align:left;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:#faf8f0;transition:transform .2s,border-color .2s}.object-card:hover{border-color:#9ba98d;transform:translateY(-3px)}.item-visual{height:155px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:color-mix(in srgb,var(--object-color),#fbf8ef 91%);color:var(--object-color)}.item-visual>svg{height:67px;width:67px;position:relative;filter:drop-shadow(0 6px 4px #7c664621);transform:rotate(-7deg)}.object-halo{position:absolute;width:110px;height:110px;border-radius:50%;background:color-mix(in srgb,var(--object-color),#fbf8ef 80%)}.object-caption{position:absolute;bottom:12px;right:16px;font-size:11px;letter-spacing:2px;color:#5d6758}.item-visual.large{height:220px;border-radius:12px}.item-visual.large>svg{width:95px;height:95px}.item-visual.large .object-halo{width:160px;height:160px}.object-copy{padding:17px 18px}.object-copy h3{font-family:var(--serif);font-size:16px;font-weight:500}.object-copy p{font-size:11px;color:var(--muted-foreground);margin-top:5px;display:flex;align-items:center;gap:3px}.object-copy p svg{width:13px;height:13px}.object-copy>span{display:flex;gap:5px;align-items:center;font-size:11px;color:var(--primary);margin-top:13px}.object-copy>span>svg{width:12px;height:12px}.people-row{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;border-top:1px solid var(--border);padding-top:25px}.person-button{display:flex;align-items:center;flex-direction:column;gap:9px}.person-button strong{font-size:13px;font-weight:500}.person-button small{font-size:11px;color:var(--muted-foreground)}.bottom-nav{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:min(550px,calc(100% - 32px));display:grid;grid-template-columns:repeat(5,1fr);background:#fbf9f0f7;backdrop-filter:blur(12px);border:1px solid #dbdfce;border-radius:20px;box-shadow:0 8px 35px #293b2520;padding:9px 10px;z-index:30}.bottom-nav>button{position:relative;min-height:54px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#5d6758;border-radius:12px}.bottom-nav svg{width:21px;height:21px}.bottom-nav span{font-size:11px}.bottom-nav .active{color:var(--primary);background:#e9eddf}.bottom-nav i{position:absolute;top:1px;left:calc(50% + 9px);font-size:11px;font-style:normal;background:#a66c4a;color:white;min-width:15px;height:15px;border-radius:50%}.guest-banner{display:flex;justify-content:center;align-items:center;gap:15px;font-size:12px;background:#eeeddd}.guest-banner button{height:44px}.welcome{min-height:100dvh;display:grid;grid-template-columns:1.2fr 1fr;background:#eee9dc}.welcome-art{position:relative;min-height:500px}.welcome-art>img{width:100%;height:100%;position:absolute;object-fit:cover}.welcome-mark{position:absolute;top:48px;left:48px;display:flex;gap:12px;align-items:center;background:#f9f2e7ed;padding:16px 20px;border-radius:5px;font:22px var(--serif);color:#314f3c;letter-spacing:3px}.welcome-mark svg{width:28px;height:28px}.welcome-copy{padding:70px 13%;display:flex;justify-content:center;flex-direction:column;align-items:flex-start;gap:20px}.welcome-copy h1{font-size:clamp(30px,3vw,43px);line-height:1.8;letter-spacing:2px}.welcome-copy>p{font-size:14px;line-height:2.1;color:#5d6758;margin-bottom:14px}.welcome-copy>button{width:100%;max-width:270px}.welcome-foot{font-size:11px;letter-spacing:2px;color:#5d6758;margin-top:25px}.loading-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px}.loading-screen>svg{width:45px;height:45px;color:var(--primary)}.loading-screen h1{font-size:26px;letter-spacing:4px}.loading-screen p{font-size:13px;color:var(--muted-foreground)}.game-dialog{width:calc(100% - 32px);max-width:520px!important;max-height:calc(100dvh - 48px);overflow-y:auto;padding:26px;gap:20px;overscroll-behavior:contain}.game-dialog p{font-size:13px}.game-dialog h3{font-size:16px;font-weight:500}.game-dialog>button[data-slot=dialog-close]{min-width:44px;min-height:44px;top:4px;right:4px}.item-facts{display:flex;gap:20px;font-size:12px;color:var(--muted-foreground)}.item-facts>span{display:flex;gap:7px;align-items:center}.item-facts svg{width:15px;height:15px}.quote-line{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);align-items:center}.quote-line strong{color:var(--primary);font-size:16px;font-weight:500;font-variant-numeric:tabular-nums}.hint-note{padding:14px 16px;background:#ecebdc;border:1px solid #d4d7c3;font-size:13px;line-height:1.8;border-radius:8px}.quiet-note{font-size:11px!important;line-height:1.9;color:var(--muted-foreground)}.center-action{display:flex;justify-content:center;margin:0 0 30px}.map-board{position:relative;background:#e9ecde;border-radius:20px;padding:30px;margin-bottom:20px;overflow:hidden}.map-route{position:absolute;left:12%;top:15%;width:75%;height:70%;border:22px solid #d4d9c0;border-radius:38% 65% 30% 55%;transform:rotate(-7deg)}.location-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:30px 20px}.location{display:flex;flex-direction:column;align-items:center;gap:7px;padding:10px;min-width:0}.location-art{width:100px;height:94px;border-radius:28px 28px 8px 8px;position:relative;background:var(--place-color);display:grid;place-items:center;box-shadow:0 4px 10px #68775a1a;outline:5px solid #f7f3e980;margin-bottom:12px}.location-art>svg{height:48px;width:48px;color:#465744}.location-art .lock-mark{width:23px;height:23px;position:absolute;right:-8px;bottom:0;padding:4px;box-sizing:content-box;background:#eeeadd;border-radius:50%}.location.locked .location-art{filter:grayscale(.75);opacity:.65}.location-name{font:16px var(--serif)}.location-desc{font-size:11px;line-height:1.8;text-align:center;color:#646f5a}.location-window{display:flex;align-items:center;flex-direction:column;gap:20px;padding:35px;background:#e7ecdf;border-radius:12px}.location-window>svg{width:65px;height:65px;color:var(--primary)}.collection-tools{display:flex;gap:16px;margin-bottom:20px}.search-field{display:flex;align-items:center;gap:10px;flex:1;position:relative}.search-field>svg{position:absolute;left:14px;width:16px;color:var(--muted-foreground)}.search-field input{padding-left:40px}.collection-tools select{border:1px solid var(--input);border-radius:9px;background:var(--background);padding:0 12px;font-size:13px;min-width:130px;min-height:44px}.collection-summary{font-size:12px;color:var(--muted-foreground);display:flex;gap:9px;align-items:center;margin-bottom:25px}.collection-summary svg{width:18px;flex-shrink:0}.collection-grid{grid-template-columns:repeat(4,1fr);gap:16px}.collection-grid .item-visual{height:140px}.collection-grid .object-copy{padding:14px}.collection-grid .object-copy h3{font-size:14px}.undiscovered .item-visual{filter:grayscale(1);opacity:.5}.exhibition-list{margin-top:24px}.workbench-layout{display:grid;grid-template-columns:260px 1fr;gap:38px;margin-top:25px}.repair-object{display:flex;flex-direction:column;gap:18px}.repair-object h2{font-size:23px}.repair-object>div>span,.repair-object>p{font-size:12px}.repair-main{min-width:0}.diagnosis h3{font:20px var(--serif);margin-bottom:14px}.diagnosis>p{font-size:13px;color:var(--muted-foreground)}.choice-list{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 25px}.choice-list button{font-size:12px}.success-note{font-size:13px;display:flex;gap:9px;color:var(--primary);align-items:center;margin:16px 0}.success-note svg{width:17px;height:17px;flex-shrink:0}.puzzle-panel{padding:26px;background:#eae3d4;border:1px solid #d9cfbb;border-radius:16px;box-shadow:inset 0 0 0 5px #f4eee260}.repair-save-status{gap:12px;margin-top:12px;min-height:44px}.puzzle-header,.repair-save-status{display:flex;align-items:center;justify-content:space-between}.puzzle-header{gap:10px;margin-bottom:10px}.puzzle-header h3{font:20px var(--serif)}.puzzle-header>div{display:flex;align-items:center;gap:8px}.puzzle-instruction{font-size:12px;color:#5d6758;margin:10px 0 20px}.puzzle-grid{display:grid;gap:9px;max-width:390px;margin:20px auto}.puzzle-clean,.puzzle-slide{grid-template-columns:repeat(3,1fr)}.puzzle-sequence{grid-template-columns:repeat(5,1fr)}.puzzle-melody,.puzzle-pairs,.puzzle-rotate{grid-template-columns:repeat(4,1fr)}.puzzle-piece{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-height:82px;border:1px solid #bcb197;border-radius:9px;background:#f9f3e6;box-shadow:0 2px 7px #76684b1a;font:25px var(--serif);color:#6a7051;transition:background .15s,transform .15s}.puzzle-piece small{font:9px var(--font-sans);letter-spacing:1px}.puzzle-piece>svg{width:24px;height:24px}.puzzle-piece:hover:not(:disabled){background:#fff9ed}.puzzle-piece:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 3px #76684b14}.puzzle-piece.selected{background:#dbe7d0;border:2px solid #658267}.puzzle-piece.restored{background:#dce3d0;color:#7f906e;box-shadow:none;border-color:#c4ceb2}.puzzle-piece.blank{background:transparent;border:1px dashed #b8b099;box-shadow:none}.puzzle-piece .gear-symbol{width:48px;height:48px;opacity:.25}.puzzle-piece .direction{position:absolute;font:28px var(--font-sans)}.puzzle-piece .pattern{font-size:30px}.blueprint,.melody-score{display:flex;align-items:center;justify-content:center;gap:14px;padding:8px;background:#f4efdf;border-radius:8px;margin:10px 0;font-size:12px}.blueprint strong{font-size:22px;letter-spacing:5px}.puzzle-feedback{text-align:center;color:var(--primary);font-size:12px;margin-top:15px}.puzzle-panel>.hint-note{margin-top:20px;font-size:12px}.final-check{display:flex;align-items:flex-start;flex-direction:column;gap:22px;padding:32px;background:#e9eddf;border-radius:16px}.final-check>svg{width:34px;height:34px;color:#a78e4e}.final-check h2{font-size:23px}.final-check p{font-size:13px}.final-check .success-note{margin:0}.wallet-cover{background:#e1e8d9;padding:32px;border-radius:16px;position:relative;overflow:hidden}.wallet-cover>span{font-size:12px;letter-spacing:1px}.wallet-cover>strong{display:flex;align-items:center;gap:13px;font-size:44px;font-weight:400;font-variant-numeric:tabular-nums;margin:8px 0}.wallet-cover>strong svg{width:24px;color:#9a8a4e}.wallet-cover>p{font-size:12px;color:#5d6758}.wallet-cover>button{position:absolute;right:32px;top:50%;transform:translateY(-50%)}.profile-metrics{display:flex;justify-content:space-evenly;text-align:center;margin:27px 0}.profile-metrics>span{display:flex;gap:8px;flex-direction:column;font-size:11px;color:var(--muted-foreground)}.profile-metrics strong{font-size:24px;font-weight:400;color:var(--foreground)}.month-note{border-top:1px solid var(--border);padding-top:24px}.month-note p{font-size:12px;margin-top:13px;color:var(--muted-foreground)}.menu-list{margin-top:26px}.menu-list button{width:100%;display:flex;align-items:center;gap:13px;padding:20px 0;border-bottom:1px solid var(--border);font-size:13px}.menu-list svg{width:18px;height:18px;color:var(--primary)}.menu-list button>svg:last-child{margin-left:auto;width:15px;color:#7c8572}.journal li{display:flex;gap:24px;padding:13px 0;font-size:12px;border-bottom:1px solid var(--border)}.journal li>span{color:var(--muted-foreground);font-variant-numeric:tabular-nums}.journal{list-style:none;margin:0;padding:0}.wallet-total{text-align:center;display:flex;flex-direction:column;gap:8px;background:#e8eddf;padding:25px;border-radius:12px;font-size:12px}.wallet-total strong{font-size:36px;font-weight:400;color:var(--primary);font-variant-numeric:tabular-nums}.wallet-total>span:last-child{font-size:11px;color:var(--muted-foreground)}.ledger-row,.list-row,.receipt{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--border);font-size:13px}.ledger-row>div,.ledger-row>span,.receipt>div{display:flex;flex-direction:column;gap:5px}.ledger-row strong,.receipt strong{font-weight:500}.ledger-row small,.receipt small,.receipt span{font-size:11px;color:var(--muted-foreground)}.ledger-row>span{text-align:right;font-variant-numeric:tabular-nums}.decor-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--border);padding:16px 0}.decor-row p{color:var(--muted-foreground);font-size:11px}.chapter-row{display:flex;gap:15px;padding:20px 0;border-bottom:1px solid var(--border)}.chapter-row>span{font:24px var(--serif);color:#8a957b}.chapter-row p{font-size:12px;color:var(--muted-foreground)}.reward-panel{text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px 0}.reward-seal{width:80px;height:80px;border:1px solid #809570;background:#e8eddf;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 8px #e8eddf70}.reward-seal>svg{width:34px;height:34px;color:var(--primary)}.reward-panel h2{font-size:25px}.reward-panel>strong{display:flex;align-items:center;gap:10px;font-size:35px;font-weight:400;color:var(--primary)}.reward-panel>strong svg{width:24px}.reward-panel>span{font-size:11px;color:var(--muted-foreground)}.reward-panel>button{min-width:70%}.npc-profile{display:flex;align-items:center;gap:12px;padding-bottom:15px;border-bottom:1px solid var(--border)}.npc-profile>div{flex:1}.npc-profile strong{font-size:13px;font-weight:500}.npc-profile p{font-size:11px;color:var(--muted-foreground)}.conversation{height:clamp(180px,40dvh,400px);min-height:0}.conversation [data-slot=bubble-content]{font-size:13px;line-height:1.9;white-space:pre-wrap}.quick-messages{display:flex;gap:8px;flex-wrap:wrap}.chat-input{display:flex;gap:10px}.chat-dialog{gap:16px}.chat-dialog .quiet-note{font-size:10px!important}@media (max-width:1000px){.topbar{margin:0 32px}.game-main{padding-left:32px;padding-right:32px}.home-composition{grid-template-columns:minmax(0,1fr) 235px;gap:18px}.daily-note{padding:22px 18px}.shop-scene{min-height:360px}.scene-footer{font-size:11px}.scene-footer>span:last-child{display:none}.collection-grid{grid-template-columns:repeat(3,1fr)}.workbench-layout{grid-template-columns:230px 1fr;gap:25px}.puzzle-panel{padding:18px}.location-grid{gap:20px 10px}.location{padding:5px}.location-name{font-size:14px}}@media (max-width:700px){.topbar{height:78px;margin:0 20px}.brand{gap:9px}.brand>svg{width:28px;height:28px}.brand>span{font-size:17px;letter-spacing:1px}.brand small{font-size:11px;letter-spacing:3px}.top-actions{gap:0}.top-actions button:first-child{padding-left:11px;padding-right:11px;font-size:12px}.game-main{padding:24px 20px 115px}.page-intro,.page-title{align-items:flex-start;gap:8px;margin-bottom:20px}.page-intro h1,.page-title h1{font-size:25px;letter-spacing:.5px}.page-intro>[data-slot=badge]{font-size:11px;margin-top:9px}.greeting{font-size:11px;margin-bottom:8px}.page-title p{font-size:12px}.game-main>section{margin-top:28px}.home-composition{display:block}.shop-scene{height:390px;min-height:0;border-radius:14px}.shop-scene>img{object-position:52% center}.open-sign{left:15px;top:15px;font-size:11px;padding:6px 10px}.hotspot{font-size:11px;gap:6px;min-height:44px;padding-left:11px;padding-right:11px}.bench-hotspot{left:16%;top:70%}.shelf-hotspot{right:12%;top:39%}.window-hotspot{left:6%;top:24%}.scene-footer{bottom:15px;left:16px;right:16px;font-size:11px;letter-spacing:0}.daily-note{margin-top:18px;display:grid;grid-template-columns:1fr auto;gap:14px;padding:18px;border-radius:10px}.daily-note .section-heading{grid-column:1/-1;display:flex;align-items:center}.daily-note .section-heading>span{margin:0;font-size:11px}.daily-note .section-heading h2{font-size:17px}.visitor-note{grid-column:1/-1;align-items:center}.visitor-note .persona{width:40px;height:40px;font-size:18px}.visitor-note>div{display:grid;grid-template-columns:1fr auto;flex:1}.visitor-note strong{font-size:12px}.visitor-note p{margin:4px 0 0;grid-row:2;font-size:11px}.visitor-note div>span{margin:0;grid-column:2;grid-row:1/3;font-size:11px}.journal-line,.note-divider{display:none}.daily-note>button:last-child{grid-column:1/-1;justify-self:start;font-size:11px}.section-heading h2{font-size:19px}.section-heading button,.section-heading>span{font-size:11px}.item-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.featured-grid .item-visual{height:105px}.featured-grid .item-visual>svg{width:43px;height:43px}.featured-grid .object-halo{width:75px;height:75px}.featured-grid .object-caption{display:none}.featured-grid .object-copy{padding:12px 9px}.featured-grid .object-copy h3{font-size:12px;line-height:1.7}.featured-grid .object-copy p{font-size:11px;line-height:1.5}.featured-grid .object-copy>span{font-size:11px;gap:0}.featured-grid .object-copy>span svg{width:10px}.object-card{border-radius:10px}.people-row{gap:20px 12px;grid-template-columns:repeat(3,1fr);padding-top:20px}.person-button{gap:7px}.person-button strong{font-size:12px}.person-button small{font-size:11px}.persona{width:48px;height:48px}.bottom-nav{bottom:0;width:100%;border-radius:17px 17px 0 0;border-bottom:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -3px 20px #293b2509}.bottom-nav>button{min-height:50px}.bottom-nav svg{width:20px;height:20px}.bottom-nav span,.guest-banner{font-size:11px}.guest-banner{gap:10px}.welcome{display:flex;flex-direction:column}.welcome-art{height:45dvh;min-height:280px;max-height:440px}.welcome-art>img{object-position:center 48%}.welcome-mark{top:25px;left:24px;padding:11px 14px;font-size:18px;letter-spacing:2px}.welcome-mark svg{width:22px;height:22px}.welcome-copy{padding:30px 30px 40px;gap:16px}.welcome-copy h1{font-size:28px;line-height:1.65}.welcome-copy>p{font-size:12px;margin:0}.welcome-copy>button{max-width:100%}.welcome-foot{font-size:11px;letter-spacing:1.5px;margin-top:4px;align-self:center}.game-dialog{padding:24px 20px;max-height:calc(100dvh - 30px);gap:18px}.game-dialog [data-slot=dialog-title]{font:21px var(--serif);padding-right:20px}.game-dialog [data-slot=dialog-description]{font-size:11px}.game-dialog [data-slot=tabs-list]{height:44px}.game-dialog [data-slot=tabs-trigger]{min-height:38px}.item-visual.large{height:180px}.item-visual.large>svg{height:75px;width:75px}.item-visual.large .object-halo{height:130px;width:130px}.map-board{padding:22px 14px;border-radius:14px}.location-grid{grid-template-columns:repeat(2,1fr);gap:28px 10px}.location-art{width:88px;height:80px}.location-art>svg{width:40px;height:40px}.location-name{font-size:15px}.location-desc{font-size:11px}.map-route{border-width:15px;height:78%;width:60%;left:20%;top:9%;border-radius:40% 10% 40% 10%}.collection-tools{gap:9px}.collection-tools select{min-width:100px;width:110px;padding:0 8px;font-size:12px}.collection-grid{grid-template-columns:repeat(2,1fr)}.collection-grid .item-visual{height:135px}.collection-summary{font-size:11px;line-height:1.7}.collection-grid .object-copy h3{font-size:13px}.collection-grid .object-copy p{font-size:11px}.workbench-layout{display:block;margin-top:18px}.repair-object{display:grid;grid-template-columns:100px 1fr;gap:10px 16px;margin-bottom:26px}.repair-object>.item-visual{grid-column:1;grid-row:1/5;height:120px}.repair-object>.item-visual>svg{width:48px;height:48px}.repair-object .object-halo{width:75px;height:75px}.repair-object .object-caption{display:none}.repair-object h2{font-size:20px}.repair-object>p{font-size:11px}.repair-object>.quote-line{grid-column:1/-1;padding:12px 0}.repair-object>.quiet-note,.repair-object>[data-slot=progress]{grid-column:1/-1}.repair-object>button{grid-column:1/-1;justify-self:start;font-size:11px}.repair-object>div>span{font-size:11px}.repair-object>.flex{grid-column:2;grid-row:3}.repair-main{margin-top:20px}.diagnosis h3{font-size:19px}.diagnosis>p{font-size:12px}.choice-list{gap:7px}.choice-list button{font-size:11px;padding-left:10px;padding-right:10px}.puzzle-panel{padding:18px 14px;border-radius:12px}.puzzle-header h3{font-size:18px}.puzzle-header{gap:6px}.puzzle-grid{gap:8px}.puzzle-piece{min-height:70px;font-size:22px}.puzzle-sequence{gap:6px}.puzzle-sequence .puzzle-piece{min-height:85px}.puzzle-sequence .puzzle-piece small{font-size:8px;letter-spacing:0}.puzzle-piece small{font-size:8px}.blueprint,.melody-score{font-size:11px;gap:8px}.final-check{padding:24px}.final-check h2{font-size:20px}.wallet-cover{padding:24px}.wallet-cover>strong{font-size:38px}.wallet-cover>button{position:static;transform:none;margin-top:20px}.month-note .section-heading h2{font-size:18px}.month-note .section-heading [data-slot=badge],.month-note p{font-size:11px}.profile-metrics strong{font-size:23px}.journal li{gap:16px;font-size:11px}.npc-profile{gap:9px}.npc-profile p{font-size:11px}.npc-profile>[data-slot=badge]{font-size:11px;padding:4px}.conversation{height:36dvh}.chat-dialog{gap:12px}.quick-messages button{font-size:11px}.receipt{font-size:12px}.receipt small{font-size:11px}.ledger-row{font-size:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}}.exploration-leads{display:grid;gap:8px}.exploration-leads button{justify-content:flex-start}.lead-count{margin-left:auto;font-size:11px;color:var(--muted-foreground)}.shop-nameplate{position:absolute;right:16px;top:18px;background:#e6d7ad;color:#4a503b;padding:9px 12px;border-radius:4px;font:12px var(--serif)}.lamp-on>img{filter:sepia(.12) brightness(1.04)}.chapter-row>div,.decor-row>div{flex:1;min-width:0}.chapter-row{align-items:center}.chapter-row small,.decor-row small{font-size:11px;color:var(--muted-foreground)}.decor-illustration{color:var(--primary);flex-shrink:0}.decor-illustration svg{width:24px;height:24px}.greeting{margin-top:9px;margin-bottom:0}@media (max-width:700px){.greeting{margin-top:8px;margin-bottom:0}}.object-artwork{position:relative;display:block;width:88%;height:88%}.object-artwork>img,.object-artwork>svg{display:block;width:100%;height:100%;object-fit:contain;overflow:hidden;filter:drop-shadow(0 8px 8px #5b48251c)}.object-art-status{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted-foreground);font-size:12px;text-align:center}.object-art-status>svg{width:28px;height:28px}.item-visual.illustrated .object-caption{background:#fbf8efed;padding:2px 6px;border-radius:4px;letter-spacing:.08em}.story-lead{color:#5d6758;font-size:14px;line-height:1.9}.story-arc{padding:26px 0 14px;border-bottom:1px solid #d9d3c2}.story-arc-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.keepsake-shelf h3,.story-arc h3{font:20px var(--serif);color:#365c48}.story-arc-heading>span,.story-arc>p{font-size:12px;color:#5d6758}.story-arc>p{margin:9px 0 16px;line-height:1.8}.story-arc ol{list-style:none;padding:0}.story-arc li+li{border-top:1px solid #e4dece}.story-arc li button{display:flex;width:100%;align-items:center;gap:14px;text-align:left;padding:10px 0;min-height:88px}.story-arc li button:disabled{opacity:.62;cursor:not-allowed}.story-arc li button:not(:disabled):hover strong{text-decoration:underline;text-underline-offset:5px}.story-arc li img{width:64px;height:64px;object-fit:contain;flex-shrink:0}.story-arc li span{flex:1;min-width:0}.story-arc li strong{display:block;font-size:14px;font-weight:500}.story-arc li small{display:block;font-size:12px;margin-top:5px;color:#5d6758;line-height:1.6}.story-arc li svg{width:17px;height:17px;flex-shrink:0;color:#365c48}.keepsake-shelf{margin:26px 0 12px}.keepsake-shelf h3{display:flex;align-items:center;gap:8px}.keepsake-shelf h3 svg{width:18px}.keepsake-shelf li,.keepsake-shelf p{font-size:13px;color:#5d6758;line-height:1.9;margin-top:10px}.keepsake-shelf ul{list-style:disc;padding-left:20px}.milestone-details{margin-top:28px;border-top:1px solid #d9d3c2;padding-top:12px}.milestone-details summary{padding:12px 0;cursor:pointer;font-size:14px}.story-reader{min-width:0}.story-plate{display:flex;flex-direction:column;align-items:center;margin:18px 0 24px}.story-plate img{width:min(100%,280px);height:240px;object-fit:contain;filter:drop-shadow(0 10px 12px #5b48251c)}.story-plate span{margin-top:12px;font-size:12px;letter-spacing:.12em;color:#5d6758}.story-reader h2{font:27px/1.4 var(--serif);color:#365c48;text-wrap:balance}.story-setting{margin:10px 0 24px;font-size:12px;color:#5d6758;line-height:1.7}.story-prose p{font-size:15px;line-height:2;margin:16px 0;overflow-wrap:anywhere}.story-choices{display:flex;flex-direction:column;gap:12px;margin:24px 0}.story-choices>p{font-size:13px;color:#5d6758}.story-choices button{width:100%;min-height:52px;height:auto;white-space:normal;text-align:left;justify-content:space-between;line-height:1.8;padding:13px 16px;font-size:14px}.story-choices button svg{flex-shrink:0}.story-choices small{color:#5d6758;font-size:12px;line-height:1.8}.story-response{margin:24px 0;padding:18px;background:#eee8d9;border-radius:12px}.story-response small{font-size:12px;color:#5d6758;line-height:1.8}.story-response p{font-size:14px;line-height:1.9;margin-top:8px}.story-objective{margin:28px 0;padding:20px 0;border-block:1px solid #d9d3c2}.story-objective h3{font:19px var(--serif)}.story-objective p{font-size:14px;line-height:1.9;margin:12px 0}.story-objective button{margin-top:8px;min-height:46px;height:auto;white-space:normal}.story-restored{display:flex;align-items:center;gap:8px;font-size:13px;color:#365c48;margin:24px 0}.story-restored svg{width:17px}.story-keepsake{text-align:center;padding:28px 16px;margin:26px 0;background:#e6eadb;border-radius:12px;color:#365c48}.story-keepsake>svg{width:24px;margin:0 auto 14px}.story-keepsake h3{font:21px var(--serif)}.story-keepsake p{font-size:14px;line-height:1.9;margin:16px 0}.story-keepsake small{font-size:12px}.story-reader>button:last-child{margin-top:16px;max-width:100%;height:auto;min-height:44px;white-space:normal}.puzzle-circuit{grid-template-columns:repeat(3,1fr);gap:3px}.puzzle-linked{grid-template-columns:repeat(2,1fr);max-width:330px}.puzzle-piece small,.puzzle-sequence .puzzle-piece small{font-size:11px;letter-spacing:0;line-height:1.5}.puzzle-linked .puzzle-piece{min-height:108px;padding-bottom:23px}.puzzle-linked .puzzle-piece small{position:absolute;bottom:8px}.puzzle-instruction{font-size:14px;line-height:1.8;margin-bottom:8px}.puzzle-level{font-size:11px;color:#5d6758;line-height:1.7}.puzzle-piece.hinted{outline:3px solid #365c48;outline-offset:2px}.puzzle-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#5d6758}.puzzle-tools button{min-height:44px}.circuit-labels{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin-top:20px;color:#365c48}.puzzle-circuit .puzzle-piece{aspect-ratio:1;min-height:70px;border-radius:5px;overflow:hidden}.puzzle-piece>.pipe-diagram{width:100%;height:100%;position:absolute;inset:0;stroke:#365c48;stroke-width:9px;fill:#b4894f}.pipe-number{position:absolute;top:2px;left:5px;color:#5d6758}.art-clean{background-size:contain;background-position:50%;background-repeat:no-repeat;aspect-ratio:1}.art-clean .puzzle-piece{background:#e4d9c1e8;color:#66583d}.art-clean .puzzle-piece.restored{background:transparent;border-color:transparent}.art-clean .puzzle-piece.restored svg{visibility:hidden}.puzzle-piece.art-slide{background-size:300% 300%;background-repeat:no-repeat;aspect-ratio:1}.art-slide .tile-number{align-self:flex-start;margin:5px 5px auto;background:#fbf8ef;border-radius:4px;padding:0 5px;font:14px/1.5 var(--font-sans);color:#365c48}@media (max-width:420px){.story-plate img{height:205px}.story-reader h2{font-size:24px}.story-arc li button{gap:10px}.story-arc li img{width:54px;height:54px}.puzzle-sequence{gap:5px}.puzzle-sequence .puzzle-piece{min-width:44px}}.restoration-itinerary{list-style:decimal;padding-left:22px;font-size:13px;color:#365c48}.restoration-itinerary li{padding:8px 0}.restoration-itinerary span{float:right;font-size:11px;color:#5d6758;margin-left:12px}.story-dialog{--journal-inset:26px;padding-top:0}.story-dialog [data-slot=dialog-header]{position:sticky;top:0;z-index:3;background:#fdfbf6;margin-inline:calc(-1 * var(--journal-inset));padding:24px calc(var(--journal-inset) + 48px) 12px var(--journal-inset)}.story-close{position:absolute;right:var(--journal-inset);top:20px;min-width:44px;min-height:44px}@media (max-width:700px){.story-dialog{--journal-inset:20px}}.puzzle-linked .puzzle-piece .linked-number{top:6px;left:8px;bottom:auto;font-size:11px}