[hidden]{display:none!important}:root{--ink: #213536;--ink-2: #4a5f5d;--paper: #fbf6ea;--paper-2: #f1e8d4;--line: #e2d6bb;--gold: #f4b63f;--gold-d: #c98a17;--leaf: #6e9c4a;--stone: #8d8576;--river: #4a95a6;--coral: #e0614f;--teal: #2f5457;--shadow: 0 3px 0 rgba(33, 53, 54, .18), 0 8px 18px rgba(33, 53, 54, .16);--font: "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Noto Sans SC", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei", system-ui, sans-serif;--safe-b: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#9fbdc0;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}svg{display:block}.game{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;user-select:none;-webkit-user-select:none}.hud{position:relative;z-index:3;padding:8px 10px;display:flex;flex-direction:column;gap:6px;background:linear-gradient(#2c4a4c,#335558);color:#fff;box-shadow:0 2px #00000014}.hud-row{display:flex;align-items:center;gap:8px}.day-badge{display:flex;align-items:baseline;gap:2px;background:var(--paper);color:var(--ink);border-radius:12px;padding:4px 9px 3px;box-shadow:0 2px #00000040;white-space:nowrap}.day-badge b{font-size:22px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.day-badge small{font-size:11px;font-weight:700;color:var(--ink-2)}.day-track{list-style:none;margin:0;padding:0;flex:1;display:flex;align-items:center;gap:3px;min-width:0}.pip{flex:1;max-width:26px;aspect-ratio:1;border-radius:7px;background:#ffffff1f;display:grid;place-items:center;color:#ffffff73}.pip svg{width:70%;height:70%;fill:currentColor}.pip.animal{color:#f6cf7a;background:#f6cf7a24}.pip.past{opacity:.4}.pip.now{background:var(--gold);color:#fff;transform:scale(1.18);box-shadow:0 0 0 2px #fff;opacity:1}.total{display:flex;flex-direction:column;align-items:center;line-height:1;background:var(--gold);color:#3a2a06;border-radius:12px;padding:4px 10px 5px;min-width:52px;box-shadow:0 2px 0 var(--gold-d)}.total small{font-size:10px;font-weight:800;opacity:.8}.total b{font-size:22px;font-weight:900;font-variant-numeric:tabular-nums}.round-btn{width:36px;height:36px;border-radius:50%;border:0;background:var(--paper);color:var(--teal);font-weight:900;font-size:18px;box-shadow:0 2px #00000040;flex:none}.score-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.score-pill{display:flex;align-items:center;gap:4px;background:#ffffff1f;border-radius:999px;padding:2px 10px 2px 2px;height:34px}.score-pill img{width:30px;height:30px;object-fit:contain;background:#ffffff2e;border-radius:50%}.score-pill span{font-size:12px;font-weight:700;opacity:.85}.score-pill b{margin-left:auto;font-size:18px;font-weight:900;font-variant-numeric:tabular-nums}.score-pill[data-kind=trees] b{color:#c4e59b}.score-pill[data-kind=mountains] b{color:#ece2cd}.score-pill[data-kind=water] b{color:#a9e2ec}.bump{animation:bump .5s cubic-bezier(.3,1.6,.5,1)}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.22);filter:brightness(1.3)}to{transform:scale(1)}}.stage{position:relative;flex:1;min-height:0}#scene{position:absolute;top:0;right:0;bottom:0;left:0}#scene canvas{display:block;width:100%;height:100%;touch-action:none}.stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 50% 55%,transparent 55%,rgba(30,50,52,.28) 100%)}.phase-banner{position:absolute;z-index:2;left:50%;top:10px;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:var(--paper);border-radius:16px;padding:6px 12px 6px 6px;box-shadow:var(--shadow);max-width:calc(100% - 20px);width:max-content;pointer-events:none}.phase-tag{display:flex;align-items:center;gap:3px;font-size:12px;font-weight:800;color:#fff;background:var(--leaf);border-radius:10px;padding:5px 8px;white-space:nowrap}.phase-tag svg{width:14px;height:14px;fill:currentColor}.phase-banner[data-phase=animal] .phase-tag,.phase-banner[data-phase=animal-place] .phase-tag{background:var(--gold-d)}.phase-banner[data-phase=ended] .phase-tag{background:var(--teal)}.phase-text{display:flex;flex-direction:column;min-width:0}.phase-text b{font-size:15px;font-weight:900;white-space:nowrap}.phase-text small{font-size:11px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.steps{display:flex;gap:4px}.steps:empty{display:none}.steps i{width:12px;height:12px;border-radius:50%;border:2px solid var(--line);background:#fff}.steps i.on{background:var(--leaf);border-color:var(--leaf)}.drop-tip{position:absolute;z-index:3;transform:translate(-50%,calc(-100% - 10px));display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:12px;background:var(--paper);box-shadow:var(--shadow);pointer-events:none;white-space:nowrap}.drop-tip:after{content:"";position:absolute;left:50%;bottom:-6px;margin-left:-6px;border:6px solid transparent;border-bottom:0;border-top-color:var(--paper)}.drop-tip b{font-size:20px;font-weight:900;color:var(--ink-2)}.drop-tip.up b{color:#3f8a2c}.drop-tip small{display:flex;gap:6px;font-size:11px;font-weight:700;color:var(--ink-2)}.drop-tip.bad{background:#fff0ec}.drop-tip.bad:after{border-top-color:#fff0ec}.drop-tip .no{width:20px;height:20px;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-items:center;font-weight:900;font-size:12px}.drop-tip img{width:28px;height:28px;object-fit:contain}.drop-tip.bad small{color:#a33d2e;font-size:12px}.k-trees{color:#4f8a2d}.k-mountains{color:#7a705f}.k-water{color:#2f7f92}.k-animals{color:var(--gold-d)}.fly-score{position:fixed;z-index:40;pointer-events:none;transform:translate(-50%,-50%);font-weight:900;font-size:24px;color:#fff;padding:2px 10px;border-radius:12px;background:var(--leaf);box-shadow:0 3px #0003;animation:fly 1.1s cubic-bezier(.5,0,.6,1) forwards}.fly-score.k-mountains{background:var(--stone)}.fly-score.k-water{background:var(--river)}.fly-score.k-animals{background:var(--gold-d)}.fly-score.neg{background:var(--coral)}@keyframes fly{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}18%{transform:translate(-50%,-110%) scale(1.25);opacity:1}45%{transform:translate(-50%,-120%) scale(1);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.5);opacity:.2}}.dock{position:relative;z-index:3;background:var(--paper);border-radius:22px 22px 0 0;box-shadow:0 -4px 18px #2135362e;padding:8px 10px calc(8px + var(--safe-b));display:flex;flex-direction:column;gap:7px}.animal-row{display:flex;align-items:stretch;gap:6px}.animal-total{flex:none;width:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:14px;background:#fdf0cf;border:2px solid #f0d58d}.animal-total img{width:30px;height:30px;object-fit:contain}.animal-total b{font-size:18px;line-height:1;font-weight:900;color:var(--gold-d)}.animal-hand{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;min-width:0}.animal-chip{position:relative;height:60px;display:flex;align-items:center;gap:4px;padding:3px 6px 3px 3px;border-radius:14px;border:2px solid var(--line);background:#fff;box-shadow:0 2px 0 var(--line);text-align:left;min-width:0;transition:transform .15s}.chip-portrait{width:50px;height:50px;flex:none;border-radius:11px;background:radial-gradient(circle at 50% 40%,#fff 0,#eef3e4 70%);display:grid;place-items:center;overflow:hidden}.chip-portrait img{width:118%;height:118%;object-fit:contain}.chip-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.chip-info b{font-size:18px;line-height:1;font-weight:900}.chip-info small{display:none;font-size:11px;color:var(--ink-2);white-space:nowrap}.chip-dots{display:flex;gap:2px}.chip-dots i,.dots i{width:7px;height:7px;border-radius:50%;background:var(--line)}.chip-dots i.on,.dots i.on{background:var(--gold)}.badge{position:absolute;top:-7px;right:-5px;min-width:22px;height:22px;padding:0 5px;border-radius:11px;background:var(--gold);color:#3a2a06;font-style:normal;font-weight:900;font-size:13px;display:grid;place-items:center;box-shadow:0 2px 0 var(--gold-d)}.badge.done{background:var(--leaf);color:#fff;box-shadow:0 2px #4f7a33}.state-ready{border-color:var(--gold);box-shadow:0 0 0 3px #f4b63f59,0 2px 0 var(--gold-d);animation:glow 1.6s ease-in-out infinite}@keyframes glow{50%{box-shadow:0 0 0 6px #f4b63f26,0 2px 0 var(--gold-d)}}.state-active{border-color:var(--gold-d);background:#fff4d4;transform:translateY(-4px);box-shadow:0 6px 0 var(--gold-d)}.state-idle .chip-portrait img{filter:grayscale(1) opacity(.6)}.state-idle{background:#f6f2e8}.state-done{border-color:#a9c98f;background:#f0f7e8}.state-locked{border-style:dashed;background:transparent;box-shadow:none;justify-content:center;flex-direction:column;gap:0;color:#b7a987}.state-locked .lock svg{width:22px;height:22px;fill:currentColor}.state-locked small{font-size:11px;font-weight:700}.inventory{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-radius:16px;transition:background .2s}.inventory.drop-target{background:#e9f4dc;box-shadow:0 0 0 3px var(--leaf)}.inventory-slot{position:relative;height:76px;border-radius:16px;border:2px solid var(--line);background:linear-gradient(#fff,#f7f1e3);box-shadow:0 3px 0 var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;touch-action:none}.inventory-slot .terrain-model{width:58px;height:52px;object-fit:contain;margin-top:-4px;pointer-events:none}.slot-name{font-size:12px;font-weight:800;margin-top:-2px}.inventory-slot.t-tree .slot-name,.inventory-slot.t-trunk .slot-name{color:#5b7f3a}.inventory-slot.t-mountain .slot-name{color:#6f6656}.inventory-slot.t-water .slot-name{color:#2f7f92}.inventory-slot.placed{background:#eef3e5;border-style:dashed;box-shadow:none}.inventory-slot.placed .terrain-model{opacity:.45}.slot-check{position:absolute;top:5px;right:6px;width:18px;height:18px;border-radius:50%;background:var(--leaf);color:#fff;font-style:normal;font-size:11px;font-weight:900;display:grid;place-items:center}.inventory-slot:not(:disabled):not(.placed){animation:nudge 2.6s ease-in-out infinite}@keyframes nudge{0%,80%,to{transform:translateY(0)}88%{transform:translateY(-4px)}}.inventory-slot.drag-source{opacity:.5;animation:none}.inventory-slot:disabled:not([data-piece-id]){background:#f3eddf;box-shadow:none;border-style:dashed}.dock-bottom{display:flex;align-items:center;gap:8px}.icon-btn{width:44px;height:44px;border-radius:14px;border:2px solid var(--line);background:#fff;color:var(--ink-2);display:grid;place-items:center;box-shadow:0 2px 0 var(--line);flex:none}.icon-btn svg{width:20px;height:20px}.dock-status{flex:1;font-size:13px;font-weight:700;color:var(--ink-2);text-align:center}.primary-btn{border:0;border-radius:14px;background:linear-gradient(#7db556,#5f9640);color:#fff;font-weight:900;font-size:17px;height:46px;padding:0 22px;box-shadow:0 4px #477530;letter-spacing:1px;transition:transform .1s,filter .2s}.primary-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #477530}.primary-btn:disabled{background:#d9d2c0;box-shadow:0 4px #c4bba5;color:#fffdf6}.primary-btn.gold{background:linear-gradient(#ffd065,#f0a92c);color:#4a3205;box-shadow:0 4px #c98a17}.primary-btn.wide{width:100%}.primary-btn.small{height:36px;font-size:14px;padding:0 16px}.primary-btn.pulse{animation:ready 1.4s ease-in-out infinite}@keyframes ready{0%,to{box-shadow:0 4px #477530,0 0 #7db5568c}60%{box-shadow:0 4px #477530,0 0 0 10px #7db55600;filter:brightness(1.1)}}#nextDay{min-width:132px}.text-btn{border:0;background:none;color:var(--ink-2);font-weight:700;font-size:14px;padding:10px}.text-btn.small{font-size:12px;padding:6px}.chip-btn{border:2px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;color:var(--ink-2)}.toast{position:fixed;z-index:60;left:50%;top:118px;transform:translate(-50%,-12px);opacity:0;pointer-events:none;background:var(--ink);color:#fff;font-weight:700;font-size:14px;padding:9px 16px;border-radius:999px;box-shadow:var(--shadow);transition:.25s;max-width:calc(100% - 32px);text-align:center}.toast.show{opacity:1;transform:translate(-50%)}.toast[data-tone=good]{background:var(--leaf)}.toast[data-tone=bad]{background:var(--coral)}.drag-ghost{position:fixed;z-index:50;pointer-events:none;transform:translate(-50%,-75%) scale(1.15);filter:drop-shadow(0 8px 8px rgba(0,0,0,.3));transition:opacity .15s}.drag-ghost img{width:72px;height:66px;object-fit:contain}.drag-ghost.over-board{opacity:.25}.drag-ghost[data-valid=false] img{filter:saturate(.6)}.choice-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(#192d2f0d,#192d2f8c 45%)}.choice-panel{width:min(100%,720px);background:var(--paper);border-radius:26px 26px 0 0;padding:14px 14px calc(14px + var(--safe-b));box-shadow:0 -8px 30px #00000040;display:flex;flex-direction:column;align-items:center;text-align:center;animation:sheet .35s cubic-bezier(.2,1.2,.4,1)}@keyframes sheet{0%{transform:translateY(40%);opacity:0}}.choice-eyebrow{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:800;color:#fff;background:var(--leaf);border-radius:999px;padding:4px 10px}.choice-eyebrow svg{width:14px;height:14px;fill:currentColor}.animal-day .choice-eyebrow{background:var(--gold-d)}.choice-panel h1{margin:8px 0 2px;font-size:22px;font-weight:900}.choice-panel p{margin:0 0 10px;font-size:13px;color:var(--ink-2);font-weight:600}.market{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.choice-foot{margin-top:10px;font-size:12px;color:var(--ink-2)}.gold{color:var(--gold-d)}.bundle{border:2px solid var(--line);background:#fff;border-radius:18px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 4px 0 var(--line);transition:transform .12s}.bundle:hover,.animal-card:hover{transform:translateY(-3px);border-color:var(--gold)}.token-row{display:grid;grid-template-columns:1fr 1fr;justify-items:center}.token-row img{width:54px;height:50px;object-fit:contain}.token-row img:first-child{grid-column:span 2}.bundle-caption{font-size:11px;font-weight:700;color:var(--ink-2)}.animal-card{border:2px solid #ecd59a;background:linear-gradient(#fffaf0,#fbefd2);border-radius:18px;padding:6px;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 4px #e0c27a;transition:transform .12s;min-width:0}.card-top{display:flex;align-items:center;gap:2px;width:100%;justify-content:center}.card-portrait{width:40px;height:40px;object-fit:contain}.card-name{font-weight:900;font-size:15px;white-space:nowrap}.card-habitat{width:100%;aspect-ratio:1.25;background:radial-gradient(circle at 50% 45%,#fff 0,#e7efe0 75%);border-radius:12px;display:grid;place-items:center;overflow:hidden}.card-habitat img{width:100%;height:100%;object-fit:contain}.card-track{display:flex;gap:3px}.card-track .slot{min-width:24px;height:24px;border-radius:7px;background:#fff;border:2px solid #e6cf8f;display:grid;place-items:center}.card-track .slot b{font-size:13px;font-weight:900}.card-track .slot.covered{background:var(--gold);border-color:var(--gold-d)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:none;align-items:center;justify-content:center;background:#1626288c;padding:14px}.modal.open{display:flex}.modal-box{width:min(100%,460px);max-height:calc(100% - 8px);overflow:auto;background:var(--paper);border-radius:24px;padding:16px;box-shadow:0 16px 40px #0000004d;animation:pop .3s cubic-bezier(.2,1.3,.4,1)}@keyframes pop{0%{transform:scale(.85);opacity:0}}.rules-box h1{margin:0 0 8px;font-size:20px;font-weight:900;text-align:center}.rules-body{display:flex;flex-direction:column;gap:8px}.rule{background:#fff;border-radius:16px;padding:8px;border:2px solid var(--line)}.rule h3{margin:0 0 4px;display:flex;align-items:center;gap:4px;font-size:15px;font-weight:900}.rule h3 img{width:28px;height:28px;object-fit:contain}.rule[data-rule=trees] h3{color:#4f7a2f}.rule[data-rule=mountains] h3{color:#6f6656}.rule[data-rule=water] h3{color:#2f7f92}.ex-row{display:grid;gap:6px}.ex-row.four{grid-template-columns:repeat(4,1fr)}.ex-row.three{grid-template-columns:repeat(3,1fr)}.ex-row.two{grid-template-columns:2fr 1fr;margin-top:6px}.ex-row.one{grid-template-columns:1fr}.ex{position:relative;display:flex;flex-direction:column;align-items:center;background:#f6f1e4;border-radius:12px;padding:2px 2px 6px}.ex img{width:100%;max-width:74px;height:60px;object-fit:contain}.ex.wide img{max-width:160px}.ex.river img{max-width:230px;height:64px}.pts{min-width:30px;text-align:center;font-size:15px;font-weight:900;color:#fff;background:var(--leaf);border-radius:9px;padding:1px 7px}.rule[data-rule=mountains] .pts{background:var(--stone)}.rule[data-rule=water] .pts{background:var(--river)}.ex.no .pts{background:var(--coral)}.ex.no:after{content:"✕";position:absolute;top:4px;right:6px;color:var(--coral);font-weight:900}.ex.lone:before{content:"孤";position:absolute;top:4px;left:6px;font-size:11px;font-weight:900;color:var(--coral)}.len{position:absolute;top:4px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;font-weight:900;color:#2f7f92;font-size:13px}.len i{width:26px;height:2px;background:currentColor}.river-table{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-top:6px}.river-table>span{display:flex;flex-direction:column;align-items:center;background:#eaf4f5;border-radius:10px;padding:4px 2px}.river-table small{font-size:11px;font-weight:700;color:var(--ink-2)}.river-table b{font-size:14px;font-weight:900;color:#2f7f92}.hexes{display:flex;gap:1px;height:8px}.hexes i{width:5px;height:6px;background:#5aa7b8;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.rules-foot{display:flex;justify-content:center;gap:8px;margin:10px 0}.big-card{position:relative;width:min(100%,380px);max-height:calc(100% - 8px);overflow:auto;background:linear-gradient(#fffaf0,#fbefd2);border:3px solid #ecd59a;border-radius:26px;padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 16px 40px #00000059;animation:pop .3s cubic-bezier(.2,1.3,.4,1)}.card-close{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:50%;border:0;background:#fff;font-size:22px;line-height:1;box-shadow:0 2px 0 var(--line)}.big-card-head{display:flex;align-items:center;gap:8px}.big-portrait{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:16px}.big-card-head h2{margin:0;font-size:24px;font-weight:900}.big-card-head.state-idle .big-portrait{filter:grayscale(.8)}.big-card-body{display:grid;grid-template-columns:1fr auto;gap:8px}.big-habitat{position:relative;background:radial-gradient(circle at 50% 45%,#fff 0,#e7efe0 75%);border-radius:16px;aspect-ratio:1.2;display:grid;place-items:center;overflow:hidden}.big-habitat img{width:100%;height:100%;object-fit:contain}.rot{position:absolute;right:8px;bottom:6px;font-weight:900;color:var(--ink-2)}.big-track{display:flex;flex-direction:column;gap:5px;justify-content:center}.big-track .slot{width:46px;height:40px;border-radius:12px;background:#fff;border:2px solid #e6cf8f;display:grid;place-items:center;position:relative}.big-track .slot b{font-size:18px;font-weight:900}.big-track .slot.covered i{position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:8px;background:linear-gradient(#ffd065,#f0a92c);box-shadow:inset 0 -3px #00000026}.big-track .slot.covered b{position:relative;z-index:1;color:#6b4a08}.big-track .slot.current{border-color:var(--leaf);box-shadow:0 0 0 3px #6e9c4a4d}.big-needs{display:flex;align-items:center;justify-content:center;gap:4px;background:#fff;border-radius:14px;padding:6px}.need{position:relative;width:62px;height:56px;display:grid;place-items:center}.need img{width:100%;height:100%;object-fit:contain}.need.anchor{background:radial-gradient(circle,rgba(244,182,63,.35),transparent 70%)}.need .need-animal{position:absolute;width:30px;height:30px;right:-6px;top:-6px}.plus{font-style:normal;font-weight:900;color:var(--ink-2)}.big-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.stat{display:flex;align-items:center;justify-content:center;gap:4px;background:#fff;border-radius:12px;padding:8px 4px;font-weight:800;font-size:14px}.stat .dots{display:flex;gap:2px}.stat svg{width:16px;height:16px;fill:#d8cfba}.stat.spots.on svg{fill:var(--gold)}.stat.score b{font-size:20px;color:var(--gold-d)}.result-box{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;background:linear-gradient(#fffaf0,var(--paper));overflow-x:hidden}.result-ribbon{background:var(--leaf);color:#fff;font-weight:900;font-size:20px;padding:6px 26px;border-radius:12px;box-shadow:0 4px #477530;margin-top:4px}.stars{display:flex;gap:6px;font-size:38px;line-height:1;margin-top:6px}.stars i{font-style:normal;color:#e3d9c2}.stars i.on{color:var(--gold);text-shadow:0 3px 0 var(--gold-d);animation:star .5s calc(.5s + var(--i) * .25s) both cubic-bezier(.2,1.6,.4,1)}@keyframes star{0%{transform:scale(0) rotate(-40deg)}}.final{font-size:64px;line-height:1;font-weight:900;color:var(--ink);font-variant-numeric:tabular-nums}.final-label{font-size:12px;font-weight:800;color:var(--ink-2);margin-top:-2px}.score-breakdown{width:100%;display:flex;flex-direction:column;gap:6px;margin:8px 0;text-align:left}.score-detail{background:#fff;border-radius:14px;padding:6px 10px;border:2px solid var(--line);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2px 8px}.score-detail strong{font-size:15px;font-weight:900}.score-detail strong b{margin-left:4px}.score-detail .bar{height:8px;background:#f0e9d8;border-radius:4px;overflow:hidden}.score-detail .bar i{display:block;height:100%;border-radius:4px;background:currentColor;animation:grow .9s .3s both ease-out}@keyframes grow{0%{width:0!important}}.tally-row{grid-column:span 2;display:flex;flex-wrap:wrap;gap:6px}.tally{display:flex;align-items:center;gap:2px;font-size:12px;font-weight:800;color:var(--ink-2)}.mini-tile{width:30px;height:30px;object-fit:contain}.tally.lone{color:var(--coral)}.coach{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;pointer-events:none}.coach-mask{position:fixed;pointer-events:none;transition:all .3s}.coach-mask.full{top:0;right:0;bottom:0;left:0;background:#16262899;pointer-events:auto}.coach-mask.hole{border-radius:18px;box-shadow:0 0 0 9999px #16262873,0 0 0 4px var(--gold)}.coach-mask.none{display:none}.coach-bubble{position:fixed;pointer-events:auto;background:#fff;border-radius:18px;padding:10px 12px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;border:3px solid var(--gold);animation:pop .3s cubic-bezier(.2,1.3,.4,1)}.coach[data-kind=center] .coach-bubble{left:50%!important;top:50%!important;transform:translate(-50%,-50%);width:min(92vw,380px);animation:none;padding:16px}.coach-title{font-size:17px;font-weight:900}.coach-actions{display:flex;gap:8px;align-items:center;justify-content:center}.pic-row{display:flex;align-items:center;gap:4px}.pic-row img{width:40px;height:40px;object-fit:contain}.pic-row.small img{width:32px;height:32px}.pic-row b{font-weight:900;font-size:16px;color:var(--ink-2)}.pic-hex{width:30px;height:34px;background:#cfe0b8;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.pic-hex.on{background:var(--gold)}.coach-welcome{display:flex;flex-direction:column;align-items:center;gap:12px}.coach-welcome .coach-title{font-size:21px}.flow{display:flex;align-items:center;gap:4px}.flow>i{font-style:normal;font-weight:900;color:var(--ink-2)}.flow-step{display:flex;flex-direction:column;align-items:center;gap:2px;background:#f6f1e4;border-radius:14px;padding:6px;min-width:84px}.flow-step img{width:52px;height:52px;object-fit:contain}.flow-step.animal{background:#fdf0cf}.trio{display:flex}.trio img{width:30px;height:52px}.flow-step small{font-size:11px;font-weight:800;color:var(--ink-2);line-height:1.3}.big-star{font-size:42px;line-height:52px;color:var(--gold);text-shadow:0 3px 0 var(--gold-d)}.flow-days{display:flex;gap:3px}.flow-days i{width:16px;height:16px;border-radius:5px;background:#cfe0b8}.flow-days i.a{background:var(--gold)}.coach-hand{position:fixed;width:54px;height:54px;margin:-6px 0 0 -18px;z-index:2;filter:drop-shadow(0 4px 4px rgba(0,0,0,.3));pointer-events:none}.coach-hand[hidden]{display:none}.coach-hand.tap{animation:tap 1.1s ease-in-out infinite}@keyframes tap{0%,to{transform:translate(8px,10px) scale(1)}45%{transform:translate(0) scale(.9)}}.coach-hand.drag{animation:dragdemo 2.2s ease-in-out infinite}@keyframes dragdemo{0%{transform:translate(0) scale(1);opacity:.6}10%{opacity:1;transform:translate(0) scale(.9)}70%{transform:translate(var(--tx),var(--ty)) scale(.9);opacity:1}88%{transform:translate(var(--tx),var(--ty)) scale(1);opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(1);opacity:0}}.loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:linear-gradient(#9fbdc0,#6f9c9f);transition:opacity .5s}.loading.done{opacity:0;pointer-events:none}.loading-card{display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff}.loading-card b{font-size:26px;font-weight:900;letter-spacing:4px}.loading-hex{width:56px;height:64px;background:var(--paper);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);animation:spin 1.4s ease-in-out infinite}@keyframes spin{50%{transform:rotate(180deg) scale(.85)}to{transform:rotate(360deg)}}.loading .bar{width:160px;height:8px;border-radius:4px;background:#ffffff4d;overflow:hidden}.loading .bar i{display:block;height:100%;width:0;background:#fff;transition:width .2s}@media(max-height:700px){.hud{padding-top:6px;gap:4px;padding-bottom:6px}.score-pill{height:30px}.score-pill img{width:26px;height:26px}.animal-chip{height:54px}.chip-portrait{width:44px;height:44px}.inventory-slot{height:64px}.inventory-slot .terrain-model{width:50px;height:42px}.dock{gap:5px;padding-top:6px}.primary-btn{height:42px}.icon-btn{width:40px;height:40px}.choice-panel h1{font-size:19px}.phase-banner{top:6px;padding:4px 10px 4px 4px}.phase-text b{font-size:14px}}@media(max-width:380px){.pip{border-radius:5px}.score-pill span,.day-badge small:first-child{display:none}.animal-total{width:42px}#nextDay{min-width:112px;padding:0 14px}.card-name{font-size:13px}}@media(min-width:600px){.chip-info small{display:block}.hud{padding:10px 16px}.hud-row,.score-bar{width:min(100%,760px);margin:0 auto}.score-bar{gap:10px}.dock{width:min(100%,760px);margin:0 auto}}@media(min-width:1000px)and (min-height:700px){.day-track{gap:5px}.pip{max-width:30px}.animal-chip{height:66px}.chip-portrait{width:56px;height:56px}.inventory-slot{height:84px}}.big-card-head,.big-card-head.state-idle,.big-card-head.state-ready,.big-card-head.state-active,.big-card-head.state-done{background:none;border:0;box-shadow:none;animation:none;transform:none}.flow-step.animal img{transform:scale(1.45)}.trio img{width:40px}.coach-welcome .flow{max-width:100%}.coach-welcome .flow-step{min-width:0;flex:1 1 auto;padding:6px 4px}.coach-welcome .trio img{width:32px}
