@font-face{font-family:Unbounded;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/board/unbounded.woff2)format("woff2")}.bb{--forest:#17301a;--wood:#3b2412;--wood-2:#5a3a1e;--cream:#fff4dc;--cream-2:#f4e2b8;--pink:#f3a3cc;--brand-purple:#b026ff;--gold:#ffd21f;--gold-deep:#d9a400;--bb-ink:#2a1a10;--bb-ink-muted:#2a1a109e;--ok:#2e9d4a;--stat-0:#ff4d4d;--stat-1:#2bd3ff;--stat-2:#ff2f8e;--stat-3:#b026ff;--stat-4:#27d17f;--bb-display:"Unbounded", var(--font-display,system-ui), sans-serif;--outline:3px;--tap:48px;color:var(--bb-ink);flex-direction:column;gap:8px;display:flex;position:relative}.bba{border:var(--outline) solid var(--wood);box-shadow:0 4px 0 var(--wood-2), 0 10px 24px #00000059;background:var(--forest);border-radius:24px;position:relative;overflow:hidden}.bba-stage{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;height:clamp(420px,66vh,720px);position:relative}.bba--demo .bba-stage{height:clamp(360px,56vh,560px)}.bba--demo{box-shadow:0 4px 0 var(--wood-2), var(--elevation-home)}.bb--run{width:100%}.bb-run-main{flex-direction:column;gap:8px;min-width:0;display:flex}.bb-run-main .bb-tray{margin:0 auto}.bb-run-rail{flex-direction:column;gap:14px;min-width:0;display:flex}.bb-run-rail .bb-seal-wrap{width:100%;max-width:none;margin-top:auto}.bb-run-rail .bb-btn--seal,.bb-run-rail .bb-seal-tip-anchor{width:100%}.bb-run-rail .bb-final{color:var(--color-brand-berry,#5e1b40);text-shadow:none;font-size:12px}@media (min-width:640px){.bb--run{width:min(100cqw - 40px,1440px);margin-left:calc(50% + min(100cqw - 40px,1440px)/-2)}.bb--run .bba-stage{height:clamp(480px,66vh,820px)}}@media (min-width:900px){.bba--demo .bba-stage{height:clamp(480px,70vh,820px)}}@media (min-width:1024px){.bb--run{grid-template-columns:minmax(0,1fr) clamp(320px,27cqw,400px);align-items:stretch;gap:8px 22px;display:grid}.bb--run .bba-stage{height:clamp(520px,72vh,900px)}.bb-run-rail{min-height:100%}}.bba-map{touch-action:none;background:var(--forest);cursor:grab;display:block}.bba-map:active{cursor:grabbing}.bba-map.bba-holding{cursor:crosshair}.bba-field-hit{fill:#fff;fill-opacity:0;stroke:var(--gold);stroke-width:0;stroke-opacity:0;cursor:pointer;transition:fill-opacity .16s,stroke-opacity .16s,stroke-width .16s}.bba-map.bba-armed .bba-field-hit{fill-opacity:.14;stroke-width:10px;stroke-opacity:.6;stroke-dasharray:26 18}.bba-map.bba-armed .bba-field-hit.bba-hover{fill:var(--gold);fill-opacity:.28;stroke-opacity:.95;stroke-dasharray:none}.bba-map .bba-field-hit.bba-locked,.bba-map.bba-armed .bba-field-hit.bba-locked{fill:var(--wood);fill-opacity:.22;stroke-opacity:0;cursor:default}.bba-crowd-field.bba-locked{opacity:.7}.bba-troop{pointer-events:none;transform-box:view-box}.bba-troop.bba-hop{transition:transform .22s cubic-bezier(.2,.9,.3,1.2)}.bba-troop-body{transform-box:view-box;animation:bba-wander var(--wander-s,6s) ease-in-out infinite;animation-delay:var(--wander-delay,0s)}@keyframes bba-wander{0%{transform:translate(0)}18%{transform:translate(11px,-4px)}36%{transform:translate(5px,6px)}55%{transform:translate(-9px,3px)}76%{transform:translate(-12px,-5px)}to{transform:translate(0)}}.bba-crowd-hit{fill:#fff;fill-opacity:0;pointer-events:visible;cursor:pointer}.bba-crowd-chip{pointer-events:visible;cursor:pointer}.bba-crowd-chip-shadow{fill:var(--wood-2)}.bba-crowd-chip-bg{stroke:var(--wood);stroke-width:3px}.bba-crowd-count{font:800 22px var(--font-mono,ui-monospace, monospace);fill:#fff;paint-order:stroke;stroke:var(--wood);stroke-width:2px;pointer-events:none}.bba-plaque{cursor:pointer}.bba-plaque-hit{fill:#000;fill-opacity:0;pointer-events:all}.bba-plaque-bg{fill:var(--cream);stroke:var(--wood);stroke-width:6px}.bba-plaque.bba-complete .bba-plaque-bg{fill:var(--gold)}.bba-plaque.bba-locked .bba-plaque-bg{fill:var(--wood)}.bba-plaque-name{font:800 30px var(--bb-display);fill:var(--bb-ink);letter-spacing:.5px}.bba-plaque-score{font:700 30px var(--font-mono,ui-monospace, monospace);fill:var(--brand-purple)}.bba-plaque-sub{font:600 20px var(--font-mono,ui-monospace, monospace);fill:var(--bb-ink-muted)}.bba-plaque.bba-complete .bba-plaque-score,.bba-plaque.bba-complete .bba-plaque-sub{fill:var(--bb-ink)}.bba-plaque.bba-locked .bba-plaque-name,.bba-plaque.bba-locked .bba-plaque-score,.bba-plaque.bba-locked .bba-plaque-sub{fill:var(--cream)}.bba-zoom{border:2px solid var(--wood);background:#17301abf;border-radius:12px;gap:3px;padding:3px;display:flex;position:absolute;bottom:12px;right:10px}.bba-zbtn{background:var(--cream);min-width:30px;min-height:30px;color:var(--bb-ink);font:700 14px var(--font-body,system-ui);cursor:pointer;border:none;border-radius:10px;padding:0 6px}.bba-zpct{font:700 11px var(--font-mono,ui-monospace, monospace)}@media (max-width:640px){.bba-zbtn:not(:last-child){display:none}}.bba-toast{background:var(--cream);color:var(--bb-ink);border:var(--outline) solid var(--wood);opacity:0;pointer-events:none;text-align:center;z-index:30;max-width:88%;box-shadow:0 3px 0 var(--wood-2);border-radius:14px;padding:10px 16px;font-weight:700;transition:opacity .16s;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.bba-toast.bba-show{opacity:1}.bb-hud{pointer-events:none;position:absolute;inset:0}.bb-hud>*{pointer-events:auto}.bb-hud-top{flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.bb-hud-left{flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:absolute;top:10px;left:10px}.bb-hud-right{flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:10px;right:10px}.bb-leave{padding:0 12px;font-size:13px}.bb-card{background:var(--cream);border:var(--outline) solid var(--wood);box-shadow:0 3px 0 var(--wood-2), 0 6px 14px #00000059;min-width:132px;color:var(--bb-ink);border-radius:16px;flex-direction:column;align-items:center;gap:0;padding:6px 16px 8px;display:flex}.bb-card-label{font:600 10px var(--font-body,system-ui);letter-spacing:1.5px;text-transform:uppercase;color:var(--bb-ink-muted);text-align:center}.bb-timer{font:800 28px var(--font-mono,ui-monospace, monospace);font-variant-numeric:tabular-nums;letter-spacing:1px;line-height:1}.bb-timer--held{color:var(--bb-ink-muted)}.bb-readout{font:700 12px var(--font-body,system-ui);color:#fff;text-shadow:0 1px 0 var(--wood), 0 0 6px #0009;letter-spacing:.3px;text-align:center;margin:0}.bb-bar{background:#2a1a1026;border-radius:6px;width:220px;max-width:60vw;height:10px;overflow:hidden}.bb-bar>i{background:var(--brand-purple);height:100%;transition:width .12s linear;display:block}.bb-btn{min-height:var(--tap);min-width:var(--tap);border:var(--outline) solid var(--wood);background:linear-gradient(var(--cream), var(--cream-2));color:var(--bb-ink);font:700 15px var(--font-body,system-ui);cursor:pointer;box-shadow:0 3px 0 var(--wood-2), 0 5px 10px #0000004d;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:0 16px;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.bb-btn:active{box-shadow:0 1px 0 var(--wood-2), 0 3px 6px #0000004d;transform:translateY(2px)}.bb-btn:disabled{opacity:.45;cursor:default;transform:none}.bb-btn:focus-visible{outline-offset:2px;outline:3px solid #fff}.bb-btn--primary,.bb-btn--commit{background:linear-gradient(#ffe27a, var(--gold));font-size:17px}.bb-btn--seal{min-height:60px;padding:0 28px;font-size:19px}.bb-btn--seal:disabled{opacity:1;color:#2a1a108c;box-shadow:0 3px 0 var(--wood-2), 0 5px 10px #0003;cursor:not-allowed;background:linear-gradient(#d9d2c4,#b9b1a2)}.bb-btn--seal-on{animation:1.6s ease-in-out infinite alternate bb-seal-glow}.bb-foot{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 22px;display:flex}.bb-foot .bb-tray{flex:0 620px;margin:0}.bb-seal-wrap{flex-direction:column;align-items:center;gap:8px;max-width:320px;display:flex}.bb-final{font:600 13px/1.35 var(--font-body,system-ui);color:#fff;text-align:center;text-shadow:0 1px 0 var(--wood), 0 0 8px #00000080;margin:0}.bb-seal-tip-anchor{display:inline-flex;position:relative}.bb-seal-tip{white-space:nowrap;border:var(--outline) solid var(--wood);background:var(--cream);color:var(--bb-ink);font:700 13px var(--font-body,system-ui);box-shadow:0 3px 0 var(--wood-2), 0 5px 10px #0000004d;opacity:0;pointer-events:none;z-index:5;border-radius:12px;padding:8px 12px;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(4px)}.bb-seal-tip:after{content:"";border:7px solid #0000;border-top-color:var(--wood);position:absolute;top:100%;left:50%;transform:translate(-50%)}.bb-seal-tip-anchor:hover .bb-seal-tip,.bb-seal-tip-anchor:focus-within .bb-seal-tip{opacity:1;transform:translate(-50%)translateY(0)}@keyframes bb-seal-glow{0%{box-shadow:0 3px 0 var(--wood-2), 0 5px 10px #0000004d, 0 0 14px 2px #ffd21f73}to{box-shadow:0 3px 0 var(--wood-2), 0 5px 10px #0000004d, 0 0 34px 10px #ffd21fd9}}.bb-grab{align-self:flex-start;padding:0 12px 0 10px;font-size:13px}.bb-grab-icon{flex:none}.bb-grab--on{background:linear-gradient(#ffe27a, var(--gold));box-shadow:0 0 0 3px #ffd21f8c, 0 3px 0 var(--wood-2), 0 5px 10px #0000004d}.bba--grab .bba-stage{cursor:grab}.bba--grab .bba-stage:active{cursor:grabbing}.bb-pill{border:2px solid var(--wood);font:800 10px var(--bb-display);letter-spacing:.5px;text-transform:uppercase;color:#fff;background:var(--brand-purple);box-shadow:0 2px 0 var(--wood-2);border-radius:999px;align-items:center;padding:4px 10px;display:inline-flex}.bb-pill--easy{background:#2c7bd6}.bb-pill--hard{background:#d9651e}.bb-hint{min-height:22px;font:700 13px var(--font-body,system-ui);color:#fff;text-align:center;text-shadow:0 1px 0 var(--wood), 0 0 8px #000000b3;margin:0;padding:2px 10px}.bb-tray{border:var(--outline) solid var(--wood);background:#17301ab8;border-radius:22px;gap:6px;width:100%;max-width:620px;margin:0 auto;padding:8px;display:flex;box-shadow:0 6px 18px #00000073}.bb-troop{border:var(--outline) solid var(--wood);background:linear-gradient(var(--cream), var(--cream-2));min-width:0;min-height:112px;color:var(--bb-ink);cursor:pointer;box-shadow:0 3px 0 var(--wood-2);border-radius:16px;flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:center;gap:2px;padding:6px 2px;transition:transform .12s,box-shadow .12s;display:flex;position:relative}.bb-troop:focus-visible{outline-offset:2px;outline:3px solid #fff}.bb-troop-art{justify-content:center;align-items:flex-end;width:72px;height:72px;display:flex}.bb-troop-art img{object-fit:contain;pointer-events:none;filter:drop-shadow(0 3px 2px #00000059);width:72px;height:72px;transition:transform .12s;display:block}.bb-troop-name{font:800 10px var(--bb-display);color:var(--bb-ink);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bb-troop small{font:600 10px var(--font-mono,ui-monospace, monospace);color:var(--bb-ink-muted)}@media (max-width:420px){.bb-troop-name{font-size:8.5px}.bb-troop-art,.bb-troop-art img{width:64px;height:64px}.bb-troop{min-height:104px}}.bb-troop--selected{background:linear-gradient(#fff, var(--cream));border-color:var(--troop);box-shadow:0 0 0 3px var(--troop), 0 6px 0 var(--wood-2), 0 10px 20px #00000059;transform:translateY(-10px)scale(1.06)}.bb-troop--selected img{transform:scale(1.1)}.bb-tray--armed .bb-troop:not(.bb-troop--selected){opacity:.8}.bb-tray:disabled .bb-troop,.bb-troop:disabled{opacity:.45;cursor:default}.bb-stepper{z-index:25;background:var(--cream);border:var(--outline) solid var(--wood);box-shadow:0 4px 0 var(--wood-2), 0 10px 24px #00000073;color:var(--bb-ink);border-radius:18px;flex-direction:column;gap:8px;padding:10px;display:flex;position:absolute;bottom:8px;left:8px;right:8px}@media (min-width:720px){.bb-stepper{width:500px;bottom:60px;left:auto;right:14px}}.bb-stepper-head{align-items:center;gap:10px;display:flex}.bb-stepper-head img{filter:drop-shadow(0 2px 2px #0000004d);width:56px;height:56px;display:block}.bb-stepper-text{flex:1;min-width:0}.bb-stepper-head h3{font:800 14px var(--bb-display);color:var(--bb-ink);margin:0}.bb-stepper-sub{font:500 12px var(--font-body,system-ui);color:var(--bb-ink-muted)}.bb-stepper-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.bb-stepper-row .bb-btn{min-width:50px;font-family:var(--font-mono,ui-monospace, monospace);flex:none;padding:0 8px}.bb-stepper-num{text-align:center;min-width:64px;font:800 30px var(--font-mono,ui-monospace, monospace);font-variant-numeric:tabular-nums;color:var(--troop,var(--bb-ink));line-height:1}.bb-stepper-actions{flex-wrap:wrap;gap:6px;display:flex}.bb-stepper-actions .bb-btn{flex:auto;padding:0 10px;font-size:13px}.bb-picker{flex-wrap:wrap;gap:6px;display:flex}.bb-btn--ghost{box-shadow:none;background:0 0;border-color:#0000}.bb-btn--danger{color:#3a0d0d;background:linear-gradient(#ffb0b0,#e86a6a)}.bb-bin{align-self:flex-start;padding:0 12px}.bb-undo{align-self:flex-start;padding:0 12px 0 10px;font-size:13px}.bb-confirm{background:var(--cream);border:var(--outline) solid var(--wood);box-shadow:0 3px 0 var(--wood-2), 0 5px 10px #0000004d;color:var(--bb-ink);font:700 13px var(--font-body,system-ui);border-radius:14px;align-items:center;gap:6px;padding:6px 8px 6px 12px;display:flex}.bb-confirm .bb-btn{min-width:44px;min-height:34px;padding:0 10px;font-size:13px}.bb-guide{z-index:27;background:var(--cream);border:var(--outline) solid var(--wood);width:min(92%,440px);box-shadow:0 4px 0 var(--wood-2), 0 10px 24px #00000073;color:var(--bb-ink);border-radius:18px;flex-direction:column;gap:6px;padding:12px 14px;display:flex;position:absolute;bottom:58px;left:50%;transform:translate(-50%)}.bb-guide--top{top:118px;bottom:auto}.bb-guide h3{font:800 18px var(--bb-display);margin:0}.bb-guide p{font:500 14px var(--font-body,system-ui);color:var(--bb-ink-muted);margin:0;line-height:1.45}.bb-guide-keys{justify-content:flex-end;align-items:center;gap:6px;margin-top:4px;display:flex}.bb-guide-keys .bb-btn{min-height:38px;padding:0 14px;font-size:14px}.bb-guide-wait{font:700 13px var(--font-body,system-ui);color:var(--brand-purple);padding:0 6px}.bba-map .bba-field-hit.bba-guide{fill:#ffe27a;fill-opacity:.3;stroke:#ffe27a;stroke-width:10px;stroke-opacity:.9}.bba-plaque.bba-guide .bba-plaque-bg{stroke:#ffe27a;stroke-width:10px;filter:drop-shadow(0 0 14px #ffe27ae6)}.bb-banner-scrim{z-index:26;background:#0c1a0e99;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.bb-banner{text-align:center;border:var(--outline) solid var(--wood);background:var(--cream);max-width:420px;box-shadow:0 5px 0 var(--wood-2), 0 16px 40px #00000080;color:var(--bb-ink);border-radius:20px;flex-direction:column;align-items:center;gap:10px;padding:18px 20px;display:flex}.bb-banner p{color:var(--bb-ink-muted);margin:0;font-size:14px;line-height:1.45}.bb-review-table{border-collapse:collapse;width:100%;font:500 13px var(--font-mono,ui-monospace, monospace);font-variant-numeric:tabular-nums}.bb-review-table th{font:700 11px var(--font-body,system-ui);color:var(--color-ink-muted,#ffc7e3);text-align:right;letter-spacing:1px;padding:4px 6px}.bb-review-table th:first-child,.bb-review-table td:first-child{text-align:left}.bb-review-table td{text-align:right;border-top:1px solid #fff6ec26;padding:4px 6px}.bb-review-table tr.bb-row--locked td:first-child:after{content:" · locked";opacity:.7;font-weight:400}@media (prefers-reduced-motion:reduce){.bba-troop-body{animation:none}.bb-btn--seal-on{box-shadow:0 3px 0 var(--wood-2), 0 5px 10px #0000004d, 0 0 24px 6px #ffd21fa6;animation:none}.bba-troop.bba-hop,.bb-bar>i,.bb-troop{transition:none}.bb-troop--selected{transform:none}}
