:root{font-family:"Microsoft YaHei","PingFang SC","Noto Sans SC",system-ui,sans-serif;color:#263c35;background:#f5f3e9;font-synthesis:none;--ink:#28483f;--muted:#7f8878;--line:#dcded1;--paper:#fffef8;--orange:#ed9962;--cell-gap:5px}
*{box-sizing:border-box}body{margin:0;min-width:320px;background-image:radial-gradient(#58765c15 .7px,transparent .7px);background-size:7px 7px}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button,dialog{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #df7a3d;outline-offset:4px}[hidden]{display:none!important}svg{display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.app-shell{max-width:1180px;margin:auto;padding:0 34px}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:105px;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:46px;height:46px;border-radius:13px;background:var(--ink);color:#f5e6be;display:grid;place-items:center;transform:rotate(-5deg)}.brand-mark svg{width:34px;height:34px;stroke-width:1.6}.brand-copy{display:flex;flex-direction:column;gap:5px}.brand-copy strong{font-size:18px;letter-spacing:2px}.brand-copy>span{font-size:9px;letter-spacing:2px;color:#7c8877}.header-actions{display:flex;align-items:center;gap:9px}.prototype-tag{display:flex;align-items:center;gap:7px;font-size:11px;color:#758572;margin-right:15px;white-space:nowrap}.prototype-tag>span{width:6px;height:6px;border-radius:50%;background:#8aab78}.header-button{height:40px;padding:0 13px;display:flex;align-items:center;gap:7px;border:1px solid #dedfd3;border-radius:10px;background:#fffef896;font-size:12px}.header-button:hover{background:#e7ebdf}.header-button svg{width:17px;height:17px}.icon-only{padding:0;width:40px;justify-content:center}.icon-only[aria-pressed="false"]{color:#9ca092;background:#eeeee5}.intro{display:flex;align-items:center;justify-content:space-between;padding:34px 3px 30px}.eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 13px;font-size:10px;letter-spacing:2.2px;font-weight:600;color:#6c8472}.eyebrow>span{width:16px;height:1px;background:#759078}h1{margin:0;font-size:37px;letter-spacing:1.5px;font-weight:650;line-height:1.5}h1>span{color:#5d7962}.intro-copy{font-size:13px;color:#838b7a;margin:9px 0 0;letter-spacing:.6px}.intro-stamp{display:flex;flex-direction:column;align-items:center;gap:8px;padding:4px 26px;transform:rotate(5deg);color:#8d9b7e}.intro-stamp span:first-child{font-size:10px;letter-spacing:3px}.intro-stamp span:last-child{font-size:10px;letter-spacing:2px}.intro-stamp svg{width:52px;height:52px;stroke-width:1.5}.play-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:26px;align-items:start}.side-column{display:flex;flex-direction:column;gap:22px}.shift-card{background:#e9eddf;border:1px solid #d9dfcd;padding:24px 23px 18px;border-radius:18px;overflow:hidden;position:relative}.card-eyebrow{font-size:8px;letter-spacing:1.8px;font-weight:700;color:#71856a;display:flex;justify-content:space-between;gap:8px}.card-eyebrow>span{letter-spacing:1px}.shift-card h2{font-size:19px;margin:22px 0 10px;letter-spacing:.5px}.shift-card>p{font-size:12px;line-height:1.9;color:#7d8b74;margin:0 0 24px}.progress-heading{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#7b8873}.progress-heading strong{color:#4e6e52;font-size:12px;font-variant-numeric:tabular-nums}.progress-track{height:5px;background:#d5ddc8;border-radius:5px;margin:9px 0 2px;overflow:hidden}.progress-track span{display:block;height:100%;background:#638468;transition:width .3s;border-radius:inherit}.warehouse-illustration{position:relative;height:118px;margin:5px 0 10px}.shelf-top,.shelf-bottom{height:6px;background:#789473;border-radius:3px;position:absolute;left:9px;right:9px;bottom:37px}.shelf-bottom{bottom:5px;height:3px;background:#c1cab1}.shelf-leg{position:absolute;background:#9faf8e;width:5px;height:28px;bottom:9px;left:19px}.shelf-leg.right{left:auto;right:19px}.illustration-box{position:absolute;border-radius:3px;border:1px solid #b29e6c;background:#d3bd82;bottom:43px;transform:rotate(-3deg);box-shadow:inset 0 -4px #bbaa7350}.illustration-box span{position:absolute;height:100%;width:20%;left:40%;background:#f7e5ac99}.box-one{width:62px;height:43px;left:23px}.box-two{width:41px;height:31px;left:29px;bottom:86px;transform:rotate(5deg)}.box-three{width:51px;height:34px;left:90px;transform:rotate(4deg);background:#90ac98;border-color:#6e907a}.illustration-plant{position:absolute;right:20px;width:24px;height:50px;bottom:43px;border-bottom:20px solid #cda487;border-left:3px solid transparent;border-right:3px solid transparent}.illustration-plant i,.illustration-plant b{position:absolute;background:#759c70;width:14px;height:24px;bottom:5px;left:0;border-radius:20px 0 20px 0;transform:rotate(-25deg)}.illustration-plant b{left:8px;bottom:2px;transform:rotate(30deg)}.shift-note{font-size:9px;letter-spacing:.5px;color:#8c987f}.how-to-card{padding:5px 5px 0}.how-to-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.how-to-title h2{font-size:13px;margin:0}.how-to-title>span{font-size:8px;letter-spacing:1.2px;color:#9a9f8f}.tip{display:flex;gap:13px;margin-top:18px;align-items:flex-start}.tip-number{font-size:10px;font-weight:600;color:#87977d;width:25px;height:25px;border:1px solid #d9decf;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.tip p{font-size:11px;line-height:1.9;color:#8b9280;margin:0}.tip strong{font-weight:500;color:#53694e}.keyboard-note{font-size:9px;color:#9ba28f;line-height:1.8;padding-top:17px;margin-top:19px;border-top:1px dashed #d6dbcb}.game-card{padding:25px 30px 0;background:var(--paper);border:1px solid #e0e1d3;border-radius:21px;box-shadow:0 8px 30px #3c503c06}.level-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.level-eyebrow{display:flex;gap:9px;align-items:center;font-size:10px;color:#8e9684;letter-spacing:.6px;margin:0 0 7px}.level-dot{color:#c6c9b9}.level-header h2{font-size:22px;letter-spacing:.6px;margin:0;font-weight:650}.difficulty-pill{border:1px solid #dfe6d5;border-radius:7px;padding:6px 9px;display:flex;align-items:center;gap:6px;font-size:9px;background:#f0f4e8;color:#738b5f;white-space:nowrap}.difficulty-pill>span{width:5px;height:5px;background:#97ad79;border-radius:50%}.level-stats{display:flex;align-items:center;padding:21px 0 19px;gap:18px}.level-stats>div{display:flex;align-items:baseline;gap:7px}.level-stats span:not(.stat-divider){font-size:10px;color:#939b88}.level-stats strong{font-family:ui-monospace,"Consolas",monospace;font-size:24px;font-weight:500;line-height:1;color:#2e4e3d}.level-stats small{font-size:9px;color:#9ca390}.stat-divider{height:16px;width:1px;background:#e2e4d7}.level-stats .optimal-stat{margin-left:auto}.level-stats .optimal-stat strong{font-size:15px;color:#8b987c}.board-surround{background:#eeefe5;border:1px solid #e0e3d5;padding:14px 18px 0;border-radius:14px}.board-label{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:2px;color:#96a083;margin:0 4px 11px}.board-label span:last-child{letter-spacing:1px}.board-frame{position:relative;padding:7px 35px 7px 7px;background:#d7dec7;border:1px solid #bdcbb0;border-radius:10px;box-shadow:inset 0 3px 5px #6d825711}.board{position:relative;aspect-ratio:1;isolation:isolate;border-radius:5px;background:#e5e9d8;touch-action:none;overflow:visible;max-width:480px;margin:auto}.floor-grid{display:grid;position:absolute;inset:0;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(6,1fr);border:1px solid #cbd3b9;border-radius:5px;overflow:hidden}.floor-tile{border-right:1px solid #cbd3b970;border-bottom:1px solid #cbd3b970;background:#e8ebdb}.floor-tile:nth-child(2n){background:#e3e8d6}.floor-tile.exit-row{background:#efe8d0}.crate{position:absolute;display:flex;align-items:center;justify-content:center;gap:6px;padding:5px;border:1.5px solid #769f8d;border-radius:7px;background:linear-gradient(150deg,#a2c7b1,#83af96);box-shadow:0 4px 0 #587a6660,0 6px 8px #44614415,inset 0 2px #ffffff45;color:#335d49;transition:left .15s ease,top .15s ease,box-shadow .15s;z-index:2;touch-action:none;user-select:none;-webkit-user-select:none;overflow:hidden}.crate::before{content:"";position:absolute;top:0;bottom:0;left:39%;width:22%;background:#f0eed93d;border-left:1px solid #ffffff20;border-right:1px solid #ffffff20}.crate::after{content:"";position:absolute;top:6px;left:6px;width:5px;height:5px;border:1px solid #54765955;border-radius:50%}.crate.tone-1{background:linear-gradient(150deg,#dfd3ab,#c5bc91);border-color:#b0a981;color:#776c46;box-shadow:0 4px 0 #8c825754,0 6px 8px #44614415,inset 0 2px #ffffff45}.crate.tone-2{background:linear-gradient(150deg,#a6b7a4,#889e87);border-color:#788e74;color:#3a573b;box-shadow:0 4px 0 #61735b70,0 6px 8px #44614415,inset 0 2px #ffffff45}.crate.tone-3{background:linear-gradient(150deg,#bdd0c4,#9bb8aa);border-color:#90aa99;color:#4a6b59;box-shadow:0 4px 0 #718e7770,0 6px 8px #44614415,inset 0 2px #ffffff45}.crate.target{background:linear-gradient(140deg,#f5b47e,#e99153);border-color:#d48147;color:#7c4526;box-shadow:0 4px 0 #b66d3d80,0 7px 9px #b2723225,inset 0 2px #ffffff55}.crate.target::before{background:#ffe1a660}.crate-label,.crate-direction{position:relative;z-index:1}.crate-label{font-size:11px;font-weight:600;white-space:nowrap;letter-spacing:1px}.crate.vertical{flex-direction:column;gap:8px}.crate-direction{font-size:17px;line-height:1;color:currentColor;opacity:.65;font-weight:400}.crate.vertical .crate-direction{font-size:21px}.crate.target .crate-label{font-size:12px;letter-spacing:.2px}.crate.target .crate-direction{font-size:22px;opacity:.9}.crate.is-selected{outline:2px solid #477455;outline-offset:1px;z-index:3}.crate.is-hinted{outline:3px solid #e88445;outline-offset:2px;animation:hint-pulse 1.2s ease-in-out infinite;z-index:4}.crate.dragging{transition:none!important;z-index:5;cursor:grabbing;box-shadow:0 5px 0 #45623c60,0 9px 12px #33473230;outline:2px solid #688763;outline-offset:1px}.crate:hover:not(.dragging){filter:brightness(1.03)}.crate:focus-visible{outline:3px solid #d47337;outline-offset:2px;z-index:6}.hint-ghost{position:absolute;border:2px dashed #d78443;border-radius:7px;background:#e6b57428;z-index:1;pointer-events:none;display:grid;place-items:center;color:#cc7a3b;font-size:22px}.exit-gate{position:absolute;right:4px;top:calc(33.333% + 2px);height:calc(16.666% - 4px);width:27px;border:1px solid #c38d5a;border-radius:0 5px 5px 0;background:repeating-linear-gradient(-45deg,#ebd4a2,#ebd4a2 5px,#ecdab5 5px,#ecdab5 10px);color:#986634;display:flex;justify-content:center;align-items:center;gap:3px;line-height:1.35;font-size:9px}.exit-gate b{font-size:15px;font-weight:500}.board-caption{display:flex;align-items:center;justify-content:center;gap:7px;min-height:43px;font-size:10px;color:#829071;text-align:center;line-height:1.6;padding:7px 0}.caption-dot{width:5px;height:5px;border-radius:50%;background:#92a27c;flex-shrink:0}.board-caption.has-hint{color:#a06537}.board-caption.has-hint .caption-dot{background:#d99c61}.board.is-solved .target{animation:delivered .45s ease-out}.game-actions{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:11px;padding:19px 0}.action-button{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #dfe2d4;background:#fbfcf5;min-height:43px;border-radius:9px;padding:10px;font-size:11px;color:#66785c;transition:background .15s}.action-button svg{width:18px;height:18px}.action-button:hover:not(:disabled){background:#edf1e3}.action-button:disabled{opacity:.4}.hint-button{background:#2e5143;color:#f5f4df;border-color:#2e5143}.hint-button:hover:not(:disabled){background:#3d6753}.game-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px dashed #e1e4d5;padding:14px 0;font-size:9px;color:#9ba38d;line-height:1.7}.save-note{white-space:nowrap;color:#92a081}.site-footer{display:flex;justify-content:space-between;gap:20px;color:#97a087;font-size:10px;padding:30px 4px;letter-spacing:.5px}.storage-warning{background:#fff0d9;border:1px solid #daba84;border-radius:10px;color:#89633a;font-size:12px;padding:12px;margin-bottom:18px}.inline-next{margin:0 0 15px!important}.primary-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;border:1px solid #2e5143;background:#2e5143;color:#fffde8;border-radius:10px;min-height:46px;padding:12px 18px;font-size:13px;letter-spacing:.5px}.primary-button:hover{background:#436851}.primary-button>span{font-size:18px}.text-button{border:0;background:none;color:#8e9881;padding:15px;font-size:11px}.small-button{background:#f1f3e9;border:1px solid #dfe4d2;border-radius:8px;padding:8px 14px;font-size:11px;color:#748368}dialog{border:1px solid #dce1cd;border-radius:20px;background:#fffef7;padding:28px;max-width:calc(100% - 30px);box-shadow:0 20px 90px #273b3825}dialog::backdrop{background:#25382fb0;backdrop-filter:blur(3px)}dialog[open]{animation:dialog-enter .2s ease}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dialog-header h2{font-size:21px;margin:0;line-height:1.5}.dialog-header .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:10px}.dialog-close{display:grid;place-items:center;width:28px;height:28px;border:1px solid #dfe4d6;background:#f6f7ef;border-radius:50%;font-size:23px;color:#829078;flex-shrink:0;line-height:1}.dialog-description{font-size:12px;color:#8e9981;line-height:1.8;margin:12px 0 22px}.levels-dialog{width:540px;max-height:85vh;overflow:auto}.level-group{margin-top:25px}.level-group-title{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:0 0 11px}.level-group-title>span{font-size:9px;color:#96a086;font-weight:400}.level-group-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.level-choice{height:66px;border:1px solid #d9e1ce;background:#f2f5e9;color:#587344;border-radius:9px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:19px;font-family:ui-monospace,"Consolas",monospace}.level-choice small{font-size:9px;letter-spacing:1px;color:#b0b899;min-height:10px}.level-choice.complete{background:#e4edde;border-color:#c3d2b8;color:#426243}.level-choice.complete small{color:#8c9d59}.level-choice.current{border:2px solid #db9665;background:#fbedd8;color:#a27143}.level-choice:disabled{background:#f4f4ee;color:#c1c7b4;border-color:#e7e8df}.level-choice:disabled small{font-size:8px;letter-spacing:0}.level-choice:hover:not(:disabled){filter:brightness(.97)}.win-dialog{width:360px;text-align:center;padding:28px 30px 12px;overflow:visible}.win-dialog>.dialog-close{position:absolute;right:14px;top:14px}.win-illustration{width:100px;height:96px;display:grid;place-items:center;margin:0 auto 12px;background:#e8efdd;border-radius:50%;color:#70916c;transform:rotate(-4deg)}.win-illustration svg{width:79px;height:70px;stroke-width:2}.check-path{stroke:#fffef5;stroke-width:5;paint-order:stroke;filter:drop-shadow(0 2px 1px #44633d);fill:none}.win-dialog .eyebrow{justify-content:center;font-size:8px;letter-spacing:2px;color:#91a17b}.win-dialog h2{font-size:26px;margin:8px 0 10px;letter-spacing:1px}.win-dialog>p:not(.eyebrow){font-size:11px;line-height:1.8;color:#8b987b}.win-stars{font-size:28px;color:#d5a45d;letter-spacing:9px;margin:15px 0}.win-stars .empty-star{color:#e2e5d8}.win-stats{display:grid;grid-template-columns:1fr 1fr;background:#f1f4e8;border:1px solid #e0e6d1;border-radius:12px;padding:15px 0}.win-stats>div{display:flex;flex-direction:column;gap:7px}.win-stats>div+div{border-left:1px solid #dce3ce}.win-stats span{font-size:10px;color:#8a9779}.win-stats strong{font-size:28px;font-weight:500;font-family:ui-monospace,"Consolas",monospace;color:#45673f}.win-stats small{font-size:9px;margin-left:6px;color:#9ba58c}.win-record{min-height:20px;margin:12px 0 15px}.settings-dialog{width:420px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid #e7eadc}.setting-row>span{display:flex;flex-direction:column;gap:7px}.setting-row strong{font-size:13px;font-weight:500}.setting-row small{font-size:11px;line-height:1.7;color:#96a084}.setting-row input{appearance:none;width:39px;height:23px;border:1px solid #cbd4bc;background:#dbe2ce;border-radius:30px;position:relative;cursor:pointer;flex-shrink:0}.setting-row input::before{content:"";position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002;transition:transform .2s}.setting-row input:checked{background:#6d8e5e;border-color:#6d8e5e}.setting-row input:checked::before{transform:translateX(16px)}.settings-footnote{font-size:10px;color:#97a285;margin:20px 0 0;line-height:1.8;text-align:center}.reset-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reset-actions .action-button,.reset-actions .primary-button{font-size:12px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#28483ff2;color:#fffce8;border:1px solid #668464;border-radius:11px;padding:13px 20px;box-shadow:0 5px 25px #183f3920;font-size:12px;text-align:center;line-height:1.6;z-index:30;max-width:calc(100% - 28px);width:max-content}.noscript-warning{text-align:center;padding:30px;color:#94592b}@keyframes hint-pulse{50%{outline-color:#eec393}}@keyframes dialog-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes delivered{50%{filter:brightness(1.2);transform:translateX(8px)}to{transform:translateX(0)}}

@media(min-width:1200px){.board-surround{padding-left:34px;padding-right:34px}.game-card{padding-left:35px;padding-right:35px}.board-frame{padding-right:36px}.board{max-width:none}}
@media(max-width:900px){.app-shell{padding:0 22px}.play-layout{grid-template-columns:210px minmax(0,1fr);gap:18px}.shift-card{padding:21px 17px 17px}.shift-card h2{font-size:16px}.game-card{padding:22px 20px 0}.board-surround{padding:12px 12px 0}.crate-label{font-size:9px}.crate.target .crate-label{font-size:10px}.crate{gap:4px}.prototype-tag{margin-right:3px;font-size:10px}.intro h1{font-size:32px}.intro-stamp{padding-right:8px}.level-header h2{font-size:19px}.level-stats{gap:10px}.level-stats>div{gap:5px}.level-stats strong{font-size:21px}.game-actions{gap:7px}.action-button{font-size:10px;padding:9px 5px}.tip{gap:9px}.keyboard-note{font-size:8px}}
@media(max-width:680px){.app-shell{max-width:490px;padding:0 16px}.site-header{min-height:76px;gap:8px}.brand{gap:9px}.brand-mark{width:35px;height:35px;border-radius:10px}.brand-mark svg{width:26px;height:26px}.brand-copy strong{font-size:14px;letter-spacing:1px}.brand-copy>span{font-size:6px;letter-spacing:1.5px}.header-actions{gap:5px}.header-button{height:34px;padding:0 9px;font-size:10px;border-radius:9px}.header-button svg{width:15px;height:15px}.icon-only{width:32px;padding:0}.prototype-tag{display:none}.intro{padding:23px 1px 21px;position:relative}.intro h1{font-size:27px;letter-spacing:.2px}.intro .eyebrow{font-size:9px;margin-bottom:8px;letter-spacing:1.5px}.intro-copy{font-size:10px;margin-top:7px;letter-spacing:.2px}.intro-stamp{display:none}.play-layout{display:flex;flex-direction:column;gap:18px}.game-card{width:100%;order:0;padding:18px 15px 0;border-radius:17px}.side-column{order:1;width:100%;gap:18px}.shift-card{display:none}.how-to-card{padding:2px 4px}.how-to-title h2{font-size:12px}.how-to-title>span{font-size:8px}.tip{margin-top:14px;gap:12px}.tip p{font-size:11px;line-height:1.8}.tip p br{display:none}.tip strong{margin-left:5px}.tip-number{width:23px;height:23px}.keyboard-note{font-size:9px;margin:14px 0 0;padding-top:12px}.level-header h2{font-size:19px}.level-eyebrow{font-size:9px;margin-bottom:6px}.difficulty-pill{font-size:8px;padding:5px 7px}.level-stats{padding:17px 0 15px;gap:11px}.level-stats span:not(.stat-divider){font-size:9px}.level-stats strong{font-size:23px}.level-stats small{font-size:8px}.level-stats .optimal-stat strong{font-size:15px}.board-surround{padding:10px 9px 0;border-radius:11px}.board-label{font-size:7px;letter-spacing:1.3px;margin-bottom:8px}.board-frame{padding:5px 28px 5px 5px;border-radius:8px}.exit-gate{width:22px;right:2px;font-size:8px;gap:1px}.exit-gate b{font-size:12px}:root{--cell-gap:4px}.crate{border-radius:5px;padding:3px;border-width:1px;gap:3px;box-shadow:0 3px 0 #587a6660,0 4px 5px #44614415,inset 0 1px #ffffff45}.crate-label{font-size:8px;letter-spacing:.2px}.crate.target .crate-label{font-size:9px;letter-spacing:0}.crate.target .crate-direction{font-size:16px}.crate-direction{font-size:12px}.crate.vertical .crate-direction{font-size:15px}.crate.vertical{gap:6px}.crate::after{width:3px;height:3px;left:4px;top:4px}.board-caption{font-size:9px;min-height:37px;padding:6px 0;gap:5px}.game-actions{padding:15px 0;gap:7px;grid-template-columns:1fr 1.05fr 1.1fr}.action-button{min-height:40px;font-size:10px;gap:5px;padding:9px 5px}.action-button svg{width:16px;height:16px}.game-footer{font-size:8px;gap:6px;padding:11px 0}.site-footer{font-size:8px;padding:22px 2px;letter-spacing:.2px}.storage-warning{font-size:10px;margin-bottom:14px}dialog{padding:22px;max-width:calc(100% - 24px);border-radius:16px}.dialog-header h2{font-size:19px}.dialog-header .eyebrow{font-size:7px;letter-spacing:1px}.dialog-description{font-size:11px}.level-group-grid{gap:7px}.level-choice{height:55px;font-size:17px}.win-dialog{padding:24px 25px 9px}.win-dialog h2{font-size:24px}.win-illustration{width:90px;height:85px}.settings-dialog .dialog-header h2{font-size:18px}.reset-actions .primary-button{padding:10px}.toast{font-size:11px;padding:11px 16px;bottom:20px}}
@media(max-width:370px){.app-shell{padding:0 11px}.brand-copy>span{letter-spacing:1px}.brand-copy strong{font-size:13px}.header-button{padding:0 7px}.icon-only{padding:0;width:30px}.game-card{padding:17px 12px 0}.intro h1{font-size:25px}.level-stats{gap:8px}.level-stats>div{gap:4px}.level-stats span:not(.stat-divider){font-size:8px}.game-footer .save-note{display:none}.crate.target .crate-label{font-size:8px}.crate.target .crate-direction{font-size:14px}.board-caption{font-size:8px}.action-button{font-size:9px}.level-choice{height:49px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.trial-entry{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 18px;margin:0 0 24px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink)}.trial-entry>span:first-child{display:flex;flex-direction:column;gap:6px}.trial-entry strong{font-size:14px}.trial-entry small{font-size:11px;line-height:1.6;opacity:.8}.trial-entry>span:last-child{font-size:12px;white-space:nowrap}.trial-entry:hover{filter:brightness(.97)}@media(max-width:680px){.trial-entry{padding:12px;margin-bottom:16px;gap:10px}.trial-entry strong{font-size:12px}.trial-entry small{font-size:10px}.trial-entry>span:last-child{font-size:10px}}

/* Chapter identity and navigation. Themes share geometry and target contrast. */
.chapter-banner{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:#edf1e4;border:1px solid #dce5d2;border-radius:12px;padding:12px 15px;margin:0 0 20px;color:#46613e}.chapter-motif{font-size:30px;width:35px;text-align:center}.chapter-banner-copy{display:flex;flex-direction:column;gap:4px}.chapter-banner-copy small{font-size:9px;color:#849577;letter-spacing:1px}.chapter-banner-copy strong{font-size:16px;letter-spacing:1px}.chapter-banner-progress{margin-left:auto;font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.chapter-banner>span:last-child{font-size:23px}.chapter-banner:hover{filter:brightness(.97)}.chapter-list{display:grid;gap:13px;margin-top:20px}.chapter-choice{display:flex;align-items:stretch;padding:0;border:1px solid #d7deca;border-radius:14px;overflow:hidden;text-align:left;background:#f0f2e7;color:#36523c;min-height:147px;width:100%;position:relative}.chapter-choice.current{outline:2px solid #da9e6b;outline-offset:2px}.chapter-choice:disabled{cursor:default}.chapter-choice:disabled .chapter-art{opacity:.6}.chapter-choice-copy{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:17px 15px;flex:1;min-width:0}.chapter-choice-copy small{font-size:8px;letter-spacing:1px;opacity:.75}.chapter-choice-copy strong{font-size:20px;letter-spacing:1px}.chapter-choice-copy>span{font-size:10px;line-height:1.6;opacity:.85}.chapter-choice-copy em{font-size:10px;font-style:normal;padding-top:2px;font-weight:600}.chapter-art{width:103px;flex-shrink:0;position:relative;overflow:hidden;background:#dfe7c9;display:grid;place-items:center}.chapter-art>span{font-size:59px;position:absolute;top:12px;color:#9aab69}.chapter-art i,.chapter-art b{position:absolute;bottom:25px;left:18px;width:37px;height:40px;transform:rotate(-6deg);background:#cdb480;border:1px solid #b59964;border-radius:4px;box-shadow:inset 10px 0 #f1e8b340,0 3px #b09c67}.chapter-art b{left:47px;bottom:15px;width:39px;height:36px;background:#87aa91;border-color:#729881;transform:rotate(4deg)}.chapter-choice[data-theme="forest"]{background:#e8efe3;color:#385d3e}.chapter-choice[data-theme="forest"] .chapter-art{background:repeating-linear-gradient(90deg,#c6d7bd,#c6d7bd 17px,#d3e1cb 17px,#d3e1cb 36px)}.chapter-choice[data-theme="forest"] .chapter-art>span{color:#72996b;font-size:80px}.chapter-choice[data-theme="harbor"]{background:#20344b;border-color:#3b5770;color:#d0e3e8}.chapter-choice[data-theme="harbor"] .chapter-art{background:linear-gradient(#17273d 65%,#2c5063 65%)}.chapter-choice[data-theme="harbor"] .chapter-art>span{color:#83b9c2;top:15px}.chapter-choice[data-theme="harbor"] .chapter-art i{background:repeating-linear-gradient(90deg,#c59c5d,#c59c5d 7px,#d5b47a 7px,#d5b47a 10px)}.chapter-choice[data-theme="space"]{background:#30264a;border-color:#655781;color:#e4d8f8}.chapter-choice[data-theme="space"] .chapter-art{background:radial-gradient(circle at 25% 20%,#d9bfea 1px,transparent 2px),radial-gradient(circle at 80% 50%,#e9d9ff 1px,transparent 2px),#251e3c}.chapter-choice[data-theme="space"] .chapter-art>span{color:#b7a4e4}.chapter-choice[data-theme="space"] .chapter-art b{background:#8578b4;border-color:#b3a5df}.chapter-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.chapter-detail-heading h3{font-size:13px;margin:0}.chapter-detail-heading+.dialog-description{margin-bottom:12px;font-size:10px}#chapters-back{padding-left:0;margin:10px 0}.chapter-difficulty{font-variant-numeric:tabular-nums}.board-frame{max-width:524px;margin:auto}.win-dialog h2{overflow-wrap:anywhere}

body[data-theme="forest"]{background-color:#eaf0e5;--ink:#365c3d;--paper:#fbfcf5;--line:#cedcca;background-image:linear-gradient(115deg,#a4ba9530 1px,transparent 1px),radial-gradient(#71996420 .8px,transparent .8px);background-size:100px 100px,8px 8px}body[data-theme="forest"] .brand-mark{background:#3a603c}body[data-theme="forest"] .board-surround{background:#e3ebda;border-color:#cad9bc}body[data-theme="forest"] .board-frame{background:repeating-linear-gradient(90deg,#adbf95,#adbf95 10px,#b7c59f 10px,#b7c59f 12px);border-color:#8fa479}body[data-theme="forest"] .floor-tile{background:#dae6ce;border-color:#adbf9630}body[data-theme="forest"] .floor-tile:nth-child(2n){background:#e4edda}body[data-theme="forest"] .floor-tile.exit-row{background:#e5ddbf}body[data-theme="forest"] .crate:not(.target){border-radius:3px;background:linear-gradient(90deg,#91b889,#afc79b);border-color:#6f936a;color:#315331}body[data-theme="forest"] .crate.tone-1{background:repeating-linear-gradient(90deg,#cdbb8d,#cdbb8d 10px,#d6c89e 10px,#d6c89e 12px);border-color:#a79268;color:#685836}

body[data-theme="harbor"],body[data-theme="space"]{color:#d5e5e9;--ink:#c5e1e9;--paper:#203045;--muted:#9eb5c5;--line:#3b5061;background-color:#131f30;background-image:radial-gradient(#a0c2ce20 .7px,transparent .7px);background-size:9px 9px}body[data-theme="space"]{background-color:#1c1731;--paper:#2c2542;--line:#4f436a;background-image:radial-gradient(circle at 20% 30%,#c2a9e375 1px,transparent 1.5px),radial-gradient(circle at 65% 75%,#ddc9ff50 .8px,transparent 1.5px);background-size:125px 125px,83px 83px}body[data-theme="harbor"] .brand-mark,body[data-theme="space"] .brand-mark{background:#33495d;color:#f6d897}body[data-theme="space"] .brand-mark{background:#4a3b66}body:is([data-theme="harbor"],[data-theme="space"]) .game-card{border-color:var(--line)}body:is([data-theme="harbor"],[data-theme="space"]) h1>span{color:#87bccc}body[data-theme="space"] h1>span{color:#bba3e1}body:is([data-theme="harbor"],[data-theme="space"]) :is(.intro-copy,.eyebrow,.brand-copy>span,.intro-stamp,.level-eyebrow,.level-stats span:not(.stat-divider),.level-stats small,.game-footer,.save-note,.site-footer,.keyboard-note,.tip p,.how-to-title>span,.prototype-tag){color:#a4b8c5}body:is([data-theme="harbor"],[data-theme="space"]) :is(.level-stats strong,.level-stats .optimal-stat strong,.tip strong,.how-to-title h2){color:#d6e5e8}body:is([data-theme="harbor"],[data-theme="space"]) .header-button{background:#29394a;border-color:#46576a;color:#c3d6df}body[data-theme="space"] .header-button{background:#362c4a;border-color:#635378}body:is([data-theme="harbor"],[data-theme="space"]) .chapter-banner{background:#2a4055;border-color:#496379;color:#d0e5e8}body[data-theme="space"] .chapter-banner{background:#403155;border-color:#766090;color:#e3d5f2}body:is([data-theme="harbor"],[data-theme="space"]) .chapter-banner-copy small{color:#afc3cf}body:is([data-theme="harbor"],[data-theme="space"]) .difficulty-pill{background:#35485b;border-color:#51677a;color:#c6d5cf}body:is([data-theme="harbor"],[data-theme="space"]) .shift-card{background:#22384a;border-color:#3b5263;color:#d5e5e9}body[data-theme="space"] .shift-card{background:#342846;border-color:#514263}body:is([data-theme="harbor"],[data-theme="space"]) .shift-card :is(p,.card-eyebrow,.progress-heading,.shift-note){color:#b0c3ca}body:is([data-theme="harbor"],[data-theme="space"]) .progress-heading strong{color:#e5dfbb}body:is([data-theme="harbor"],[data-theme="space"]) .board-surround{background:#192b3d;border-color:#344f65}body[data-theme="space"] .board-surround{background:#211b33;border-color:#514166}body:is([data-theme="harbor"],[data-theme="space"]) .board-frame{background:#3b5265;border-color:#607588}body[data-theme="space"] .board-frame{background:#534368;border-color:#82719b;box-shadow:0 0 20px #b1a0dd10}body:is([data-theme="harbor"],[data-theme="space"]) .floor-tile{background:#2d4356;border-color:#62788a40}body:is([data-theme="harbor"],[data-theme="space"]) .floor-tile:nth-child(2n){background:#324a5c}body[data-theme="space"] .floor-tile{background:#3e3452;border-color:#9b85ba30}body[data-theme="space"] .floor-tile:nth-child(2n){background:#47395d}body:is([data-theme="harbor"],[data-theme="space"]) .floor-tile.exit-row{background:#625641}body[data-theme="space"] .floor-tile.exit-row{background:#685164}body:is([data-theme="harbor"],[data-theme="space"]) .crate:not(.target){background:repeating-linear-gradient(90deg,#7cabb9,#7cabb9 8px,#88b4c0 8px,#88b4c0 10px);border-color:#afd4dd;color:#223f51;box-shadow:0 4px #13273980,inset 0 2px #e2fbff55}body[data-theme="harbor"] .crate.tone-1{background:repeating-linear-gradient(90deg,#c8ae76,#c8ae76 8px,#d1ba89 8px,#d1ba89 10px);border-color:#e4cca0;color:#64552e}body[data-theme="space"] .crate:not(.target){border-radius:8px;background:linear-gradient(135deg,#b09dcc,#867cae);border-color:#d1bee9;color:#382d50;box-shadow:0 4px #19122980,inset 0 2px #eadcff88}body[data-theme="space"] .crate.tone-2{background:linear-gradient(135deg,#9ac3c6,#76a8b2);border-color:#b0dee3;color:#244b53}body:is([data-theme="harbor"],[data-theme="space"]) .crate.is-selected{outline-color:#e5cf91}body:is([data-theme="harbor"],[data-theme="space"]) .board-caption,body:is([data-theme="harbor"],[data-theme="space"]) .board-label{color:#bbcad1}body:is([data-theme="harbor"],[data-theme="space"]) .board-caption.has-hint{color:#ffd09b}body:is([data-theme="harbor"],[data-theme="space"]) .action-button{background:#304759;border-color:#546779;color:#d0e1e8}body[data-theme="space"] .action-button{background:#483858;border-color:#736083;color:#e4d6f2}body:is([data-theme="harbor"],[data-theme="space"]) .hint-button{background:#e6b47c;color:#392d27;border-color:#edc393}body:is([data-theme="harbor"],[data-theme="space"]) :is(.stat-divider,.game-footer){border-color:#53697c}body:is([data-theme="harbor"],[data-theme="space"]) dialog{color:#263c35}
@media(max-width:680px){.chapter-banner{padding:9px 11px;margin-bottom:15px;gap:9px}.chapter-banner-copy strong{font-size:14px}.chapter-banner-copy small{font-size:8px}.chapter-motif{font-size:24px;width:28px}.chapter-banner-progress{font-size:10px}.chapter-choice{min-height:136px}.chapter-art{width:78px}.chapter-art>span{font-size:46px}.chapter-art i{left:10px;width:30px;height:32px}.chapter-art b{left:34px;width:32px;height:29px}.chapter-choice-copy{padding:13px 11px;gap:6px}.chapter-choice-copy strong{font-size:18px}.chapter-choice-copy>span{font-size:9px}.chapter-choice-copy small{font-size:7px}.chapter-choice-copy em{font-size:9px}.chapter-list{gap:11px}.win-dialog h2{font-size:22px}.levels-dialog{max-height:88vh}}
