:root{color:#182126;background:#3a3936;font:14px/1.4 Microsoft YaHei,PingFang SC,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%;height:100dvh;margin:0;overflow:hidden}button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #68a99a;outline-offset:3px}button:disabled{cursor:not-allowed}.home-screen,.menu-screen{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;color:#253633;background:radial-gradient(circle at 8% 10%,rgb(213 231 218 / 88%),transparent 30%),radial-gradient(circle at 94% 20%,rgb(231 215 187 / 58%),transparent 28%),#f3f1e9}.home-screen>:not(.parallax-layer),.minigame-screen>:not(.parallax-layer){position:relative;z-index:2}.parallax-layer{position:fixed;top:-4%;right:-4%;bottom:-4%;left:-4%;z-index:0;overflow:hidden;pointer-events:none;transition:transform .12s ease-out}.parallax-background{background:radial-gradient(circle at 75% 16%,#ffcb5c 0 7%,transparent 7.2%),linear-gradient(165deg,transparent 0 56%,rgb(59 167 126 / 15%) 56% 58%,transparent 58%);transform:translate(calc(var(--parallax-x, 0) * -4px),calc(var(--parallax-y, 0) * -4px))}.parallax-midground{display:flex;align-items:center;justify-content:space-around;color:#1b6f591a;font-size:clamp(90px,18vw,240px);transform:translate(calc(var(--parallax-x, 0) * 7px),calc(var(--parallax-y, 0) * 5px))}.parallax-foreground{display:flex;align-items:end;justify-content:space-between;padding:3%;color:#e46f392e;font-size:clamp(70px,12vw,170px);transform:translate(calc(var(--parallax-x, 0) * 12px),calc(var(--parallax-y, 0) * 9px))}.home-screen button,.menu-screen button,.home-screen input,.menu-screen input{min-height:44px}.home-hero{display:grid;gap:20px;padding:clamp(28px,5vw,70px) max(22px,calc((100vw - 1180px)/2));color:#f4f4ed;background:linear-gradient(135deg,#214a43,#356b60)}.home-eyebrow{margin:0;color:#bddacf;font-weight:700;letter-spacing:.13em}.home-hero h1{margin:0;font:800 clamp(38px,7vw,76px)/1 "STKaiti","KaiTi",serif;letter-spacing:.04em}.player-profile{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.player-profile label{font-weight:800}.player-profile input{width:min(250px,70vw);border:1px solid rgb(255 255 255 / 35%);border-radius:10px;padding:0 12px;color:#172c28;background:#fffefa}.player-profile button,.home-hero button{border:1px solid rgb(255 255 255 / 32%);border-radius:10px;padding-inline:15px;color:#fff;background:#ffffff1f;font-weight:800;cursor:pointer}.player-name-status{min-width:8em;color:#d9e9e3}.home-stats{display:flex;flex-wrap:wrap;gap:10px}.home-stats span{display:grid;min-width:120px;padding:12px 15px;border:1px solid rgb(255 255 255 / 17%);border-radius:12px;background:#0000001a}.home-stats b{font-size:22px;font-variant-numeric:tabular-nums}.home-stats small{color:#c3d8d1}.home-content{display:grid;gap:24px;width:min(1180px,calc(100% - 44px));margin:0 auto;padding:28px 0 56px}.primary-actions{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:12px}.home-action{display:grid;gap:5px;justify-items:start;border:3px solid #fff;border-radius:18px;padding:18px;color:#24433d;background:#fffefa;text-align:left;box-shadow:0 7px #b9c9c1,0 14px 24px #243f3724;cursor:pointer;transition:translate .1s,box-shadow .1s}.home-action:active,.mode-card button:active,.minigame-actions button:active{translate:0 4px;box-shadow:0 2px #9eb1a9}.home-action strong{font-size:18px}.home-action small{color:#65736f}.home-action.continue-game{color:#fff;background:#2f7667;border-color:#2f7667}.home-action.continue-game small{color:#d9ebe5}.mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.mode-card,.home-level-card,.level-select-card,.minigame-select-grid article{border:1px solid #d7d7cd;border-radius:15px;padding:18px;background:#fffefaf0;box-shadow:0 9px 25px #22393212}.mode-card{display:grid;align-content:start;gap:8px;min-height:220px;border-width:3px;box-shadow:0 8px #d2c49e,0 15px 30px #22393221}.mode-card>span{font-size:30px;color:#397769}.mode-card h2,.mode-card p{margin:0}.mode-card p{min-height:3em;color:#65736f}.mode-card button,.level-select-card button,.minigame-select-grid button,.home-settings button,.delete-save-dialog button,.menu-screen>button{align-self:end;border:0;border-radius:10px;padding:0 15px;color:#fff;background:#294d46;font-weight:800;cursor:pointer}.mode-card.is-locked{background:#edece5}.mode-card.is-locked>span:after{content:" 锁定";color:#6f5e45;font-size:12px;font-weight:800}.mode-card button:disabled{color:#655f56;background:#d4d1c8}.home-level-progress{display:grid;gap:11px}.home-level-progress h2{margin:0}.home-level-progress>div{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.home-level-card{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;padding:14px}.home-level-card b{grid-row:span 2;color:#497269;font-size:24px}.home-level-card small{color:#796d5a}.home-level-card.is-complete small{color:#2f6e51}.home-settings{border-block:1px solid #d1d4ca;padding-block:13px}.home-settings summary{min-height:44px;cursor:pointer;font-weight:800}.settings-content{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding-top:12px}.settings-content p{flex:1 1 420px;margin:0;color:#5f6c67}.settings-content .delete-save{color:#fff;background:#8d3d35}.app-notice{min-height:1.4em;margin:0;color:#8a342d;font-weight:700}.delete-save-dialog{width:min(530px,calc(100% - 32px));border:0;border-radius:16px;padding:0;color:#2b3835;background:#fffefa;box-shadow:0 24px 70px #00000052}.delete-save-dialog::backdrop{background:#0e19169e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.delete-save-dialog form{display:grid;gap:14px;padding:24px}.delete-save-dialog h2,.delete-save-dialog p{margin:0}.delete-save-dialog form>div{display:flex;justify-content:end;gap:9px}.delete-save-dialog .confirm-delete-save{background:#923b33}.menu-screen{padding:clamp(20px,4vw,48px)}.menu-screen>header{display:grid;gap:9px;width:min(1100px,100%);margin:0 auto 25px}.menu-screen>header h1,.menu-screen>header p,.menu-screen>header span{margin:0}.menu-screen>header h1{font-size:clamp(32px,5vw,56px);color:#244a42}.menu-screen>header p{color:#427266;font-weight:800;letter-spacing:.1em}.menu-screen>header span{color:#63716d}.menu-screen .back-home{justify-self:start;color:#315d54;background:transparent;border:1px solid #91aaa3}.level-select-grid,.minigame-select-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;width:min(1100px,100%);margin:auto}.level-select-card,.minigame-select-grid article{display:grid;align-content:start;gap:12px;min-height:260px}.level-select-card>span,.minigame-select-grid article>span{color:#3f796c;font-weight:800;font-size:27px}.level-select-card h2,.level-select-card p,.minigame-select-grid h2,.minigame-select-grid p{margin:0}.level-select-card p,.minigame-select-grid p,.minigame-select-grid small{color:#67746f}.level-select-card button,.minigame-select-grid button{margin-top:auto}.level-select-card.is-locked{background:#e8e7df}.level-select-card button:disabled{color:#645f57;background:#cbc9c2}.mode-placeholder{display:grid;place-content:center;gap:15px;text-align:center}.mode-placeholder h1,.mode-placeholder p{margin:0}.minigame-screen>header{padding-right:130px}.minigame-balance{position:absolute;top:clamp(22px,4vw,50px);right:clamp(20px,4vw,48px);min-height:44px;padding:10px 15px;border:1px solid #c7d4cf;border-radius:999px;color:#315d54;background:#fffefa;font-weight:800;box-shadow:0 7px 20px #203a3217}.minigame-stage{display:grid;justify-items:center;gap:17px;width:min(900px,100%);margin:0 auto;padding:clamp(16px,4vw,35px);border:1px solid #d9d9cf;border-radius:18px;background:#fffefae3;box-shadow:0 18px 50px #273a341a}.minigame-status{min-height:1.5em;margin:0;color:#4d655f;text-align:center;font-weight:700}.minigame-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.minigame-actions button{min-width:120px;border:0;border-radius:11px;padding:0 16px;color:#fff;background:#2f6d60;font-weight:800;cursor:pointer}.minigame-actions button:disabled{color:#6a6861;background:#d4d2ca}.slots-board{display:grid;grid-template-columns:repeat(3,minmax(100px,180px));gap:12px;width:100%;justify-content:center}.slots-machine{display:grid;grid-template-columns:minmax(0,1fr) 62px;align-items:center;width:100%;padding:18px;border:5px solid #663c28;border-radius:25px;background:linear-gradient(#ffcf4f,#e9932e);box-shadow:0 10px #8f532b,0 18px 30px #492b1840}.slot-lever{position:relative;width:52px;height:150px;border:0;background:transparent;cursor:grab;touch-action:none}.slot-lever:before{content:"";position:absolute;left:23px;top:27px;width:10px;height:92px;border:3px solid #633b2b;border-radius:8px;background:#f2e1bd;transform-origin:50% 85%;transition:transform .28s cubic-bezier(.2,1.5,.5,1)}.slot-lever span{position:absolute;top:8px;left:10px;width:38px;height:38px;border:4px solid #632f29;border-radius:50%;background:#ef5545;box-shadow:inset 0 6px #ff8c74,0 4px #8b382e;transition:transform .28s cubic-bezier(.2,1.5,.5,1)}.slot-lever.is-pulled:before{transform:rotate(25deg) translateY(22px)}.slot-lever.is-pulled span{transform:translate(20px,75px)}.slot-lever:disabled{filter:grayscale(.7);cursor:not-allowed}.slot-reel{display:grid;place-items:center;gap:7px;aspect-ratio:1 / 1.1;overflow:hidden;border:2px solid #94aea6;border-radius:16px;padding:12px;background:#f0f0e7;box-shadow:inset 0 2px 9px #1d3c341a}.slot-reel img{width:100%;height:calc(100% - 30px);min-height:0;object-fit:contain;image-rendering:pixelated}.furniture-image-fallback{display:grid;place-items:center;width:80%;aspect-ratio:1;border:3px dashed #8c715d;border-radius:14px;color:#835f48;background:#fff4d9;font-size:42px}.slot-reel span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3e5f57;font-size:12px;font-weight:800}.slot-reel.is-spinning img{animation:reel-roll .18s linear infinite}@keyframes reel-roll{0%{translate:0 -12%;filter:blur(0)}50%{translate:0 12%;filter:blur(2px)}to{translate:0 -12%;filter:blur(0)}}.minigame-scorebar{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.minigame-scorebar span{min-width:105px;padding:9px 12px;border-radius:999px;color:#446159;background:#edf0e8;text-align:center}.minigame-scorebar b{color:#245d50;font-variant-numeric:tabular-nums}.whack-grid{display:grid;grid-template-columns:repeat(3,minmax(72px,130px));gap:10px}.whack-cell{display:grid;place-items:center;aspect-ratio:1;min-height:72px;border:2px solid #becbc5;border-radius:50% 50% 42% 42%;padding:8px;background:radial-gradient(ellipse at 50% 80%,#93806b 0,#93806b 25%,#d9d9cd 27%,#d9d9cd);cursor:pointer}.whack-cell.is-target{border-color:#3f8c78;background:#e4efe9;box-shadow:0 0 0 5px #3e8b7726}.whack-cell img{width:80%;height:80%;object-fit:contain;image-rendering:pixelated;animation:target-pop .18s ease-out}@keyframes target-pop{0%{scale:.2;translate:0 30%}to{scale:1;translate:0 0}}.match-board{display:grid;grid-template-columns:repeat(var(--match-columns, 6),minmax(48px,78px));gap:6px;justify-content:center}.match-cell{display:grid;place-items:center;aspect-ratio:1;min-height:48px;border:1px solid #c8cec7;border-radius:9px;padding:4px;background:#f1f0e8;cursor:pointer}.match-cell img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;pointer-events:none}.match-cell:disabled{opacity:.12}.match-cell.is-selected{border-color:#2d7464;box-shadow:0 0 0 4px #2d746438}.match-cell.is-hinted{border-color:#a9782e;animation:hint-pulse .7s ease-in-out infinite alternate}@keyframes hint-pulse{to{box-shadow:0 0 0 5px #a9782e33}}.custom-setup-card{width:min(980px,100%);margin:auto}.custom-room-form{display:grid;gap:16px;padding:clamp(16px,4vw,30px);border:1px solid #d6d8cf;border-radius:17px;background:#fffefa;box-shadow:0 15px 45px #243c3417}.custom-room-form fieldset{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;border:1px solid #d8d9d0;border-radius:13px;padding:15px}.custom-room-form legend{padding-inline:7px;color:#315d54;font-weight:800}.custom-room-form label{display:grid;gap:5px;color:#536660;font-weight:700}.custom-room-form input,.custom-room-form select{width:100%;min-height:44px;border:1px solid #bec9c4;border-radius:9px;padding:0 10px;color:#263b36;background:#fafaf5}.custom-opening-list{grid-column:1 / -1;display:grid;gap:7px}.custom-opening-list>div{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;background:#f0f2eb}.custom-opening-list p{margin:0;color:#757b76}.custom-opening-list button{min-height:38px;border:1px solid #a8b8b2;border-radius:8px;color:#365d54;background:transparent;cursor:pointer}.opening-editor{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,1fr) auto;gap:8px;align-items:end}.opening-editor button,.custom-setup-actions button{border:0;border-radius:10px;padding-inline:15px;color:#fff;background:#315f55;font-weight:800;cursor:pointer}.custom-validation{min-height:1.5em;margin:0;color:#8c3d32;font-weight:700}.custom-setup-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:9px}.custom-setup-actions .enter-custom{background:#26745f}.custom-editor-screen .viewer,.explore-screen .viewer{top:0;right:0;bottom:0;left:0}.custom-toolbar,.explore-hud,.custom-summary,.custom-catalog{border:1px solid rgb(34 46 51 / 13%);background:#fcfaf5ed;box-shadow:0 9px 28px #15202626;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.custom-toolbar{position:absolute;z-index:4;top:12px;right:12px;display:flex;max-width:calc(100vw - 24px);gap:5px;overflow-x:auto;padding:7px;border-radius:12px}.custom-toolbar button,.explore-hud button{flex:0 0 auto;min-height:42px;border:0;border-radius:9px;padding:0 11px;color:#fff;background:#294a43;font-size:11px;font-weight:800;cursor:pointer}.custom-toolbar button:disabled{opacity:.4}.custom-toolbar .custom-save{background:#2f7968}.custom-toolbar .custom-clear.confirming{background:#913f35}.custom-summary{position:absolute;z-index:3;top:12px;left:12px;display:grid;gap:2px;max-width:min(390px,calc(100vw - 30px));border-radius:12px;padding:10px 13px;color:#315149;pointer-events:none}.custom-summary small{color:#67756f}.custom-catalog{position:absolute;z-index:4;right:12px;bottom:12px;left:12px;display:grid;gap:8px;max-height:205px;border-radius:14px;padding:9px}.custom-catalog>header{display:flex;align-items:end;justify-content:space-between;gap:10px}.custom-catalog label{display:grid;gap:3px;color:#496159;font-size:11px;font-weight:800}.custom-catalog input{min-height:38px;border:1px solid #bec9c4;border-radius:9px;padding:0 10px}.custom-fit-count{color:#60716b;font-size:11px}.custom-catalog-grid{display:flex;gap:8px;min-width:0;overflow-x:auto}.custom-catalog-card{flex:0 0 220px;display:grid;grid-template-columns:62px 1fr;gap:8px;align-items:center;min-height:82px;border:1px solid #d2d5cd;border-radius:10px;padding:6px;color:#2e433e;background:#fffefa;text-align:left;cursor:pointer}.custom-catalog-card img{width:62px;height:64px;border-radius:7px;object-fit:contain;background:#ecece5}.custom-catalog-card span{display:grid;gap:3px;min-width:0}.custom-catalog-card strong,.custom-catalog-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-catalog-card small{color:#68736f;font-size:9px}.custom-catalog-card.placed{border-color:#4d8b79;background:#e9f2ed}.custom-catalog-card.selected{box-shadow:0 0 0 3px #2f76673b}.explore-hud{position:absolute;z-index:4;top:14px;right:14px;left:14px;display:grid;grid-template-columns:auto 1fr repeat(3,auto);gap:9px;align-items:center;border-radius:13px;padding:10px}.explore-hud div{display:grid;gap:2px}.explore-hud h1,.explore-hud p{margin:0}.explore-hud h1{color:#284c43;font-size:18px}.explore-hud p,.explore-hud small{color:#61716c}.game-shell{position:relative;width:100%;height:100%}.game-stage{position:absolute;top:0;right:0;bottom:0;left:0}.viewer{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;-webkit-user-select:none;user-select:none;background:#3a3936}.viewer:focus-visible{outline:3px solid #326f7c;outline-offset:-3px}.hud,.room-summary,.toolbar,.compass,.inventory,.task-panel,.hint-panel,.tutorial-tip{border:1px solid rgb(34 46 51 / 12%);background:#fcfaf5eb;box-shadow:0 8px 30px #15202621;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hud{position:absolute;z-index:2;top:16px;left:16px;display:grid;gap:4px;max-width:min(460px,calc(100vw - 680px));padding:11px 14px;border-radius:10px;pointer-events:none}.hud h1{margin:0;font-size:17px;line-height:1.2}.hud p{margin:0;color:#4b5a60;font-size:12px}.hud .level-title{color:#25383e;font-weight:700}.status{font-weight:700;color:#245d44!important}.budget-meter{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;color:#4b5a60;font-size:11px;font-weight:700}.budget-meter progress{width:100%;height:7px;overflow:hidden;border:0;border-radius:999px;accent-color:#2f7667}.budget-meter progress[data-over=true]{accent-color:#a33a2f}.budget-meter output{color:#35464c;font-variant-numeric:tabular-nums}.room-summary{position:absolute;z-index:2;top:16px;left:50%;translate:-50% 0;padding:8px 13px;border-radius:999px;color:#35464c;font-size:12px;font-weight:700;pointer-events:none}.compass{position:absolute;z-index:3;top:16px;right:16px;width:64px;height:64px;border-radius:50%;color:#33464c;text-align:center;pointer-events:none}.compass b{position:absolute;top:4px;left:50%;translate:-50%;color:#a33a2f}.compass i{position:absolute;top:20px;left:28px;width:8px;height:23px;background:linear-gradient(#ad3b2f 50%,#68777b 50%);clip-path:polygon(50% 0,100% 50%,62% 50%,62% 100%,38% 100%,38% 50%,0 50%)}.compass span{position:absolute;top:45px;left:50%;translate:-50%;font-size:9px;font-weight:800}.compass small{position:absolute;inset:21px 4px auto;color:#819095;font-size:8px;line-height:28px}.toolbar{position:absolute;z-index:3;top:92px;right:16px;display:grid;grid-template-columns:repeat(2,auto);gap:6px;padding:7px;border-radius:11px}.toolbar button{min-height:38px;border:0;border-radius:8px;padding:0 12px;color:#fff;background:#23343b;cursor:pointer}.toolbar button:hover{background:#314952}.toolbar button:focus-visible{outline:3px solid #fff;outline-offset:2px}.toolbar button:disabled{opacity:.42;cursor:default}.toolbar .submit-layout{grid-column:1 / -1;background:#2f7667;font-weight:800}.toolbar .submit-layout:not(:disabled){box-shadow:0 0 0 3px #478f7c2e}.toolbar .restart.confirming{background:#9a4938}.rotation-coachmark{position:absolute;right:calc(100% + 10px);top:42px;width:250px;padding:11px 34px 11px 12px;border:2px solid #e5ad45;border-radius:10px;color:#263c3c;background:#fff9e9;box-shadow:0 10px 28px #2f261238;font-size:12px;font-weight:700}.rotation-coachmark:after{position:absolute;right:-9px;top:18px;content:"";border:8px solid transparent;border-left-color:#e5ad45;border-right:0}.rotation-coachmark button{position:absolute;top:3px;right:3px;min-height:26px;padding:0 8px;color:#634a22;background:transparent}.rotation-coachmark[hidden]{display:none}.task-panel{position:absolute;z-index:3;top:150px;left:16px;width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 290px);overflow:auto;border-radius:12px;color:#33464c}.task-panel summary{padding:10px 13px;color:#213b3a;font-weight:800;cursor:pointer}.task-panel ul,.completion-review{display:grid;gap:7px;margin:0;padding:0 14px 13px;list-style:none}.task-panel li,.completion-review li{position:relative;padding-left:21px;font-size:12px}.task-panel li strong,.task-panel li small{display:block}.task-panel li small{margin-top:2px;color:#675f53;line-height:1.35}.task-panel li:before,.completion-review li:before{position:absolute;left:0;content:"○";color:#a26e35;font-weight:900}.task-panel li.pass:before,.completion-review li.pass:before{content:"✓";color:#2f7667}.sleep-guide{position:absolute;z-index:3;top:112px;right:16px;display:grid;gap:8px;width:min(310px,calc(100vw - 32px));border:2px solid #f0b93e;border-radius:15px;padding:11px;color:#50391f;background:#fff7cdf0;box-shadow:0 7px #c9892f,0 14px 28px #3e26122e}.sleep-guide header{display:flex;align-items:center;justify-content:space-between;gap:8px}.sleep-guide button{min-height:44px;border:2px solid #8d6025;border-radius:10px;color:#624115;background:#fff8df;font-weight:800}.sleep-guide>div{display:flex;gap:7px}.sleep-guide [data-role]{flex:1;border:2px dashed #bd7528;border-radius:10px;padding:7px;text-align:center;font-weight:900}.sleep-guide [data-role].pass{border-style:solid;color:#145d43;background:#dff2d7}.partition-state{margin:0;font-size:12px;font-weight:800}.partition-state.pass{color:#1b6549}.partition-state.pending{color:#873a2d}.hint-panel{position:absolute;z-index:6;top:92px;right:270px;width:min(390px,calc(100vw - 32px));max-height:calc(100dvh - 280px);overflow:auto;border-radius:14px;padding:15px;color:#29413c}.hint-panel[hidden]{display:none}.hint-panel header,.hint-panel footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.hint-panel header{color:#53736b;font-weight:800}.hint-panel h2{margin:6px 0 12px;font-size:19px}.hint-panel .close-hint{min-width:38px;min-height:38px;border:0;border-radius:50%;color:#31554d;background:#e3ece8;cursor:pointer}.hint-panel dl{display:grid;gap:5px;margin:0}.hint-panel dl div{display:grid;grid-template-columns:72px 1fr;gap:7px}.hint-panel dt{color:#61736e;font-weight:800}.hint-panel dd{margin:0}.hint-measurements{display:grid;gap:6px;margin:12px 0;padding:10px 12px;list-style:none;border-radius:10px;background:#f1f2ea}.hint-measurements li{display:grid;gap:2px}.hint-measurements li:before{content:"待调整";color:#985b26;font-size:10px;font-weight:800}.hint-measurements li.pass:before{content:"已满足";color:#2f7653}.hint-measurements small{color:#68736e}.hint-reason,.hint-action,.hint-advanced{margin:8px 0}.hint-reason{color:#7b4939}.hint-action{font-weight:800}.hint-advanced{padding-left:10px;border-left:3px solid #bd945a;color:#695638}.hint-panel footer{margin-top:13px}.hint-panel footer button{min-height:42px;border:0;border-radius:9px;padding:0 12px;color:#fff;background:#315f55;cursor:pointer}.tutorial-tip{position:absolute;z-index:5;left:50%;bottom:132px;translate:-50% 0;width:max-content;max-width:calc(100vw - 32px);padding:10px 16px;border-color:#2f766747;border-radius:999px;color:#21453e;font-weight:800;pointer-events:none}.tutorial-tip[hidden]{display:none}.inventory{position:absolute;z-index:3;right:16px;bottom:16px;left:16px;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr;gap:10px;max-height:190px;padding:10px;border-radius:13px;scrollbar-width:thin}.inventory-card{flex:0 0 270px;display:grid;grid-template-columns:78px 1fr;gap:10px;align-items:center;min-height:84px;border:1px solid #d8d4c8;border-radius:10px;padding:6px;color:#24343a;background:#fffefa;text-align:left;cursor:pointer}.inventory-card:hover,.inventory-card.selected{border-color:#357786;box-shadow:0 0 0 2px #3577862e}.inventory-card.placed{background:#eff8f0}.inventory-card.optional{border-style:dashed}.inventory-card img{width:78px;height:70px;border-radius:7px;object-fit:contain;background:#e8e5dc}.style-card img{transition:transform .16s ease}.style-card:hover img{transform:scale(1.08)}.inventory-card span{display:grid;gap:3px;min-width:0}.inventory-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-card strong b{margin-left:7px;padding:2px 5px;border-radius:999px;color:#73552e;background:#f3e7ce;font-size:9px}.inventory-card small{color:#627177;font-size:10px}.inventory-card em{color:#9b5a24;font-size:11px;font-style:normal;font-weight:800}.inventory-card.placed em{color:#277047}.toast{position:absolute;z-index:5;left:50%;bottom:132px;translate:-50% 10px;opacity:0;max-width:calc(100vw - 32px);padding:9px 14px;border-radius:999px;color:#fff;background:#9a362e;transition:opacity .16s ease,translate .16s ease;pointer-events:none}.toast.visible{translate:-50% 0;opacity:1}.completion-juice{position:absolute;z-index:8;inset:28% auto auto 50%;translate:-50% -20px;display:grid;place-items:center;opacity:0;pointer-events:none}.completion-juice .npc-joy{font-size:64px;filter:drop-shadow(0 8px 14px rgb(0 0 0 / 20%))}.completion-juice i{position:absolute;font-size:34px;font-style:normal}.completion-juice i:nth-of-type(1){translate:-72px -35px}.completion-juice i:nth-of-type(2){translate:76px -20px}.completion-juice i:nth-of-type(3){translate:12px -82px}.completion-juice strong{margin-top:8px;padding:7px 14px;border-radius:999px;color:#fff;background:#2f7667}.completion-juice.playing{animation:reward-pop 1.8s ease both}.completion-juice.playing i{animation:confetti .9s ease-out both}@keyframes reward-pop{0%{opacity:0;scale:.5}18%,75%{opacity:1;scale:1.05}to{opacity:0;scale:1;translate:-50% -70px}}@keyframes confetti{0%{scale:.2;rotate:-20deg}to{scale:1.2;rotate:18deg}}.loading-screen,.fatal{position:absolute;z-index:10;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:14px;padding:24px;color:#213b3a;background:#eef0e9;text-align:center}.game-loading-screen{position:fixed;z-index:100;color:#e9efeb;background:radial-gradient(circle at 50% 42%,rgb(65 105 96 / 28%),transparent 34%),#121c1af7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.loading-card{display:grid;justify-items:center;gap:13px;width:min(440px,calc(100vw - 48px))}.loading-card>strong{font-size:clamp(18px,3vw,23px);letter-spacing:.04em}.loading-spinner{width:48px;height:48px;border:4px solid rgb(255 255 255 / 18%);border-top-color:#8ecbbb;border-radius:50%;animation:loading-spin .85s linear infinite}.loading-percent{color:#b9dfd5;font-size:30px;font-variant-numeric:tabular-nums}.loading-progress{width:100%;height:10px;overflow:hidden;border-radius:999px;background:#ffffff21;box-shadow:inset 0 1px 4px #0000004d}.loading-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3f8b79,#9fd8c9);transition:width .1s linear}.loading-stage{margin:2px 0 0;color:#c4d0cc}.loading-hint{max-width:390px;color:#96aaa5;line-height:1.6}.loading-error p{max-width:520px;color:#e8bbb7;line-height:1.6}.loading-error button{min-height:44px;border:0;border-radius:12px;padding:0 22px;color:#f8fbf7;background:#35796c;font-weight:800;cursor:pointer}.inventory-card.is-loading{cursor:wait;opacity:.68}@keyframes loading-spin{to{transform:rotate(360deg)}}.inventory>header{grid-column:1 / -1;display:flex;gap:7px;align-items:center;color:#405257;font-size:10px}.inventory-categories{display:flex;max-width:210px;gap:5px;flex-wrap:wrap;align-content:center}.category-tab{border:1px solid #d5d0c3;border-radius:999px;padding:6px 9px;background:#fffefa;color:#33464c;cursor:pointer}.category-tab.selected{border-color:#357786;background:#e4f1ee;box-shadow:0 0 0 2px #35778624}.inventory-styles{display:flex;gap:9px;min-width:0;overflow-x:auto;scrollbar-width:thin}.help.is-muted{opacity:.5;transition:opacity .28s ease}.fatal strong{font-size:22px}.fatal span{max-width:520px;color:#81261f}.fatal button,.start-game,.guide-next{min-height:46px;border:0;border-radius:12px;padding:0 22px;color:#f8fbf7;background:#245f58;box-shadow:0 8px 20px #143f3a33;font-weight:800;cursor:pointer;transition:transform .18s ease,background .18s ease}.fatal button{justify-self:center}.fatal button:hover,.start-game:hover,.guide-next:hover{background:#1b4b46}.fatal button:active,.start-game:active,.guide-next:active{transform:translateY(1px) scale(.98)}.fatal button:focus-visible,.start-game:focus-visible,.guide-next:focus-visible{outline:3px solid #93c3b8;outline-offset:3px}.welcome-overlay,.guide-overlay{position:absolute;z-index:8;top:0;right:0;bottom:0;left:0}.welcome-overlay[hidden],.guide-overlay[hidden]{display:none}.welcome-overlay{display:grid;grid-template-columns:minmax(300px,44vw) 1fr;min-height:100dvh;color:#21312f;background:#eef0e9}.welcome-portrait{min-height:0;overflow:hidden;background:#171b1a}.welcome-portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 32%}.welcome-copy{align-self:center;display:grid;gap:24px;max-width:680px;padding:clamp(36px,7vw,104px)}.welcome-copy h2{position:relative;justify-self:start;margin:0;padding-bottom:12px;color:#183430;font-family:STKaiti,KaiTi,"FangSong",Microsoft YaHei,sans-serif;font-size:clamp(36px,4.7vw,66px);font-weight:800;line-height:1;letter-spacing:.035em;text-shadow:0 2px 0 rgb(255 255 255 / 72%),0 8px 20px rgb(27 74 67 / 12%);white-space:nowrap}.welcome-copy h2:after{content:"";position:absolute;right:2%;bottom:0;left:1%;height:3px;border-radius:999px;background:linear-gradient(90deg,#326f65 0 72%,transparent 100%);transform:rotate(-.7deg);transform-origin:left center}.welcome-description{margin:0;max-width:34em;color:#52615d;font-size:clamp(16px,1.5vw,20px);line-height:1.8}.start-game{justify-self:start;min-width:156px}.guide-overlay{display:grid;align-items:end;padding:clamp(16px,4vw,48px);background:#131e1d8f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.guide-dialog{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:end;width:min(900px,100%);min-height:250px;margin-inline:auto;overflow:hidden;border:1px solid rgb(38 92 83 / 18%);border-radius:16px;color:#21312f;background:#f8f8f2f7;box-shadow:0 24px 70px #0b1c1952}.dialog-portrait{align-self:stretch;min-height:250px;overflow:hidden;background:#171b1a}.dialog-portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 18%}.dialog-copy{display:grid;gap:14px;padding:30px 34px}.dialog-copy strong{color:#2f6a61;font-size:18px}.dialog-copy p{margin:0;color:#344944;font-size:17px;line-height:1.75}.completion-review{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px 0;border-block:1px solid rgb(47 106 97 / 14%)}.completion-review li{font-size:12px}.guide-next{justify-self:end;margin-top:4px}.is-blocked .game-stage{pointer-events:none;-webkit-user-select:none;user-select:none}@media(max-width:720px){.home-hero{padding:28px 18px}.home-hero h1{font-size:clamp(34px,13vw,52px)}.home-content{width:calc(100% - 24px);padding-block:16px 36px}.primary-actions,.mode-grid,.home-level-progress>div,.level-select-grid,.minigame-select-grid{grid-template-columns:1fr}.mode-card,.level-select-card,.minigame-select-grid article{min-height:auto}.home-stats span{min-width:calc(50% - 6px)}.menu-screen{padding:16px 12px 36px}.minigame-screen>header{padding:60px 0 0}.minigame-balance{top:16px;right:12px}.minigame-stage{padding:13px 8px}.slots-board{grid-template-columns:repeat(3,minmax(80px,1fr));gap:6px}.slot-reel{padding:6px}.match-board{width:100%;grid-template-columns:repeat(var(--match-columns, 6),minmax(42px,1fr));gap:3px}.match-cell{min-height:42px;padding:2px}.custom-room-form fieldset,.opening-editor{grid-template-columns:1fr 1fr}.opening-editor button{grid-column:1 / -1}.custom-toolbar{top:auto;right:8px;bottom:112px;left:8px}.custom-summary{top:8px;left:8px;max-width:calc(100vw - 16px)}.custom-summary small{display:none}.custom-catalog{right:8px;bottom:8px;left:8px;max-height:100px}.custom-catalog>header{display:none}.custom-catalog-card{flex-basis:170px;grid-template-columns:46px 1fr;min-height:72px}.custom-catalog-card img{width:46px;height:50px}.explore-hud{top:8px;right:8px;left:8px;grid-template-columns:auto 1fr}.explore-hud>button:not(.back-home){grid-row:2}.explore-hud div small{display:none}.hud{top:8px;left:8px;max-width:calc(100vw - 86px);padding:8px 10px}.hud h1{font-size:14px}.hud .help,.hud .selection{display:none}.room-summary{top:78px;max-width:calc(100vw - 16px);white-space:nowrap}.compass{top:8px;right:8px;width:62px;height:62px}.task-panel{top:112px;left:8px;width:calc(100vw - 16px);max-height:38dvh}.sleep-guide{top:auto;right:8px;bottom:151px;left:8px;width:auto}.hint-panel{top:80px;right:8px;left:8px;width:auto;max-height:calc(100dvh - 200px)}.task-panel summary{padding-block:8px}.toolbar{top:auto;right:8px;bottom:104px;left:8px;display:flex;overflow-x:auto;gap:5px;padding:6px;scrollbar-width:none}.toolbar button{flex:0 0 auto;min-height:38px;padding-inline:10px;font-size:10px}.toolbar .submit-layout{order:-1;background:#2f7667}.inventory{right:8px;bottom:8px;left:8px;padding:7px}.inventory-card{flex-basis:190px;grid-template-columns:52px 1fr;min-height:70px;scroll-snap-align:start}.inventory-card img{width:52px;height:54px}.inventory-card small{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.inventory{scroll-snap-type:x proximity}.toast,.tutorial-tip{bottom:151px}.welcome-overlay{grid-template-columns:1fr;grid-template-rows:minmax(220px,42dvh) 1fr;overflow-y:auto}.welcome-copy{align-self:start;gap:14px;padding:26px 22px 34px}.welcome-copy h2{padding-bottom:9px;font-size:clamp(29px,9.5vw,42px);letter-spacing:0}.welcome-description{font-size:15px;line-height:1.7}.start-game{width:100%}.guide-overlay{padding:10px}.guide-dialog{grid-template-columns:104px 1fr;min-height:184px;border-radius:14px}.dialog-portrait{min-height:184px}.dialog-copy{gap:8px;padding:18px 16px}.dialog-copy strong{font-size:15px}.dialog-copy p{font-size:14px;line-height:1.6}.completion-review{grid-template-columns:1fr;max-height:120px;overflow:auto}.guide-next{width:100%;min-height:42px}}@media(prefers-color-scheme:dark){.loading-screen,.fatal,.welcome-overlay{color:#e9efeb;background:#17201e}.welcome-copy h2{color:#e7f0eb;text-shadow:0 8px 22px rgb(0 0 0 / 30%)}.welcome-description{color:#b7c3be}.guide-dialog{color:#edf2ee;background:#1d2724f7;border-color:#8fc0b438}.dialog-copy strong{color:#93c3b8}.dialog-copy p{color:#d3ddd8}}@media(prefers-reduced-motion:reduce){.parallax-layer{transform:none!important;transition:none}.slot-lever:before,.slot-lever span{transition:none}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
