:root{color-scheme:light;--desk: #e6dfd2;--paper: #f4f1ea;--card: #f7f3eb;--tile: #fbf8f2;--ink: #1c1915;--muted: #4e4942;--line: #ddd4c6;--orange: #ff6700;font-family:PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,WenQuanYi Micro Hei,system-ui,sans-serif;color:var(--ink);background:var(--desk)}*{box-sizing:border-box}html,body{margin:0;height:100%;overscroll-behavior:none}body{min-height:100dvh;background:var(--desk);overscroll-behavior:none}button,input{font:inherit;color:inherit}button{background:var(--card);border:1px solid #cbbfae;border-radius:999px;min-height:48px;padding:10px 16px;cursor:pointer}button.primary{background:var(--orange);border-color:var(--orange);font-weight:700}button:disabled{color:#8a8175;background:#efe8dc;border-color:var(--line);cursor:not-allowed}button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}::selection{background:#ffb27a;color:var(--ink)}.screen{display:none;min-height:100dvh}.screen.on{display:flex;flex-direction:column}#home.on{flex-direction:column;justify-content:center;gap:8px;padding:20px 16px 32px}.home-art svg{width:min(100%,520px);height:auto;max-height:150px;display:block}.home-copy{max-width:36rem}h1{font-size:clamp(2.4rem,6vw,4.4rem);line-height:.95;letter-spacing:-.04em;margin:0 0 12px}h2{font-size:1.7rem;letter-spacing:-.03em;margin:0 0 8px}h3{font-size:1.15rem;margin:1.6em 0 .35em}.lead,.help-body p,.sheet-card p,.star-note,.goal-line{color:var(--muted);line-height:1.5}.lead{margin:0 0 20px;font-size:1.05rem}.actions,.row-actions,.stack{display:flex;flex-wrap:wrap;gap:10px}.actions{margin-bottom:14px}.row-actions button,.stack button{flex:1 1 auto}.badge{margin-top:18px;font-weight:700}.credit{margin:16px 0 0;color:var(--muted);font-size:.92rem}.bar{display:flex;align-items:center;gap:12px;padding:16px 16px 8px}.bar h2{margin:0;flex:1}#map-progress{margin:0;color:var(--muted)}#map.on{align-items:center}.bar{align-self:stretch}.level-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:min(820px,100%);padding:8px 16px 40px}.level{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:76px;border-radius:18px;padding:8px 4px}.level.current{box-shadow:inset 0 0 0 2px var(--ink)}.level:disabled{opacity:1;color:#6b645c;background:transparent;border-color:transparent}.lv{font-weight:700;font-size:1.15rem;font-variant-numeric:tabular-nums}.stars,.win-stars{display:flex;gap:4px;justify-content:center}.stars i,.win-stars i{width:22px;height:22px;border-radius:0;background:#d5cbbc;display:block;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.stars[data-stars="1"] i:nth-child(-n+1),.stars[data-stars="2"] i:nth-child(-n+2),.stars[data-stars="3"] i,.win-stars[data-stars="1"] i:nth-child(-n+1),.win-stars[data-stars="2"] i:nth-child(-n+2),.win-stars[data-stars="3"] i{background:var(--orange)}.win-stars i{width:32px;height:32px}.goal-line,.star-note{font-size:1rem}.best{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.win-score{font-size:2.4rem;font-weight:700;letter-spacing:-.04em;color:var(--ink);margin:4px 0 16px;font-variant-numeric:tabular-nums}.help-body{padding:4px 20px 48px;max-width:68ch;margin:0 auto}.help-body ul{padding-left:1.1em;color:var(--muted)}.help-body li+li{margin-top:.35em}#play.on{height:100dvh;min-height:100dvh;flex-direction:column;align-items:center;overflow:hidden}.hud{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 12px;align-items:center;width:min(720px,100%);padding:max(12px,env(safe-area-inset-top)) 14px 0}.level-name{margin:0;font-weight:700;font-size:1.15rem}.goal-line{margin:2px 0 0;font-size:.92rem}.hud-stats{display:flex;gap:14px}.hud-stats p{margin:0;text-align:right}.hud-stats span{display:block;font-size:1.55rem;font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1}.hud-stats small{color:var(--muted);font-size:.75rem}#moves.low{color:#ff263c}.hud-actions{display:flex;gap:8px}.stage-wrap{flex:0 0 auto;min-height:0;display:grid;place-items:start center;width:100%;padding:4px 0 0}#stage{position:relative;width:max-content;max-width:100%}#pieces{position:absolute;inset:0;pointer-events:none}#pieces svg{position:absolute;left:0;top:0;overflow:visible}#board{display:block;border-radius:14px;filter:drop-shadow(0 18px 30px rgba(48,32,16,.14))}#cells{position:absolute;display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);touch-action:none}#cells button{width:100%;height:100%;min-height:0;padding:0;border:0;border-radius:16px;background:transparent}#cells button[aria-pressed=true]{background:transparent}.toast{position:fixed;z-index:60;top:12px;left:50%;transform:translate(-50%);width:min(520px,calc(100% - 24px));margin:0;text-align:center;background:#1c1915eb;color:var(--paper);border-radius:999px;padding:10px 16px;pointer-events:none}.meter{height:8px;margin-top:8px;border-radius:999px;background:#ddd4c6;overflow:hidden}#meter-fill{display:block;height:100%;width:0;background:var(--orange);transition:width .28s ease}#bonus-banner{position:relative;z-index:4;width:min(720px,calc(100% - 20px));margin:8px auto 0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 16px;background:var(--ink);color:var(--paper);border-radius:18px;box-shadow:0 12px 30px #1c191547}#bonus-banner[hidden]{display:none}#bonus-banner p{margin:0;font-weight:700;font-size:1.05rem}#skip{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:var(--ink);border-color:var(--orange);font-weight:700;font-size:1.05rem;min-width:120px;min-height:52px}.switch{display:inline-flex;align-items:center;gap:8px}.switch .knob{width:36px;height:22px;border-radius:999px;background:#ddd4c6;position:relative}.switch .knob:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff}.switch[aria-pressed=true] .knob{background:var(--orange)}.switch[aria-pressed=true] .knob:after{left:17px}#gesture{position:static;width:min(720px,calc(100% - 20px));margin:8px auto 0;pointer-events:none;text-align:center;color:var(--paper);font-weight:700}#gesture p{display:inline-block;margin:0;padding:6px 12px;border-radius:999px;background:#1c1915e0}#gesture[hidden]{display:none}.finger{display:block;width:28px;height:28px;margin:0 auto 6px;border-radius:50% 50% 50% 12%;background:#1c1915;animation:nudge 1.1s ease-in-out infinite}@keyframes nudge{0%{transform:translate(0)}50%{transform:translate(42px)}to{transform:translate(0)}}#coach{position:fixed;inset:0;z-index:7;display:grid;place-items:center;padding:16px;background:#1c191559}#coach[hidden]{display:none}.coach-card,.badge-grid{width:min(360px,100%);background:var(--card);border-radius:24px;padding:18px;box-shadow:0 18px 40px #3020102e;text-align:center}.badge-grid{width:min(440px,100%);text-align:left}.badge-row{display:flex;gap:10px;margin-top:12px}.badge-item{flex:1;min-height:92px;border-radius:16px;background:#efe8dc;display:grid;place-items:center;text-align:center;padding:8px}.badge-item.locked{color:transparent;background:#d9d0c2;position:relative}.badge-item.locked:after{content:"";width:36px;height:36px;border-radius:50%;background:#b7ad9f}.pro-row{margin:0 0 28px;text-align:center}.help-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.help-cards figure{margin:0;text-align:center;background:var(--card);border-radius:16px;padding:8px 8px 12px}.help-cards canvas{width:100%;height:auto}button.share-x{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;border-radius:999px;border:1px solid #cbbfae;background:var(--card);color:inherit;text-decoration:none}#card-preview{width:100%;border-radius:16px;display:block;margin:0 auto 12px}.star-note{width:min(720px,100%);margin:0;padding:0 16px max(12px,env(safe-area-inset-bottom));font-size:1.05rem}#sheet,#war{position:fixed;inset:0;z-index:5;display:grid;place-items:end center;padding:12px;overflow:auto;background:#1c19157a}#sheet[hidden],#war[hidden]{display:none}.sheet-card,.war-card{width:min(440px,100%);max-height:calc(100dvh - 24px);overflow:auto;background:var(--card);color:var(--ink);border-radius:28px;padding:22px 18px 18px;box-shadow:0 22px 50px #30201033}.war-card{text-align:center}.war-card canvas{width:min(100%,320px);height:auto}.war-score{font-size:2rem;font-weight:700;letter-spacing:-.04em;margin:0}.supply{list-style:none;margin:8px 0 18px;padding:0}.supply li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.stack{flex-direction:column}.stack button{width:100%}@media(min-width:900px){#home.on{flex-direction:row;align-items:center;justify-content:center;gap:56px;max-width:1080px;margin:0 auto;min-height:100dvh;padding:48px}.home-art,.home-copy{flex:1}#sheet,#war{place-items:center}.level-grid{grid-template-columns:repeat(6,minmax(0,1fr));max-width:820px}}@media(min-width:980px){.hud{padding-top:22px}.hud-stats span{font-size:1.8rem}}body[data-embed=true] #home.on{padding:12px 14px 20px}body[data-embed=true] h1{font-size:2.1rem}body[data-embed=true] .lead{font-size:.95rem}@media(prefers-reduced-motion:reduce){.toast{transition:none}}
