:root{--paper: #c6c2b6;--panel: #efece4;--ink: #181611;--line: #181611;--shadow: #181611;--muted: #6b6456;--card-w: 88px;--card-h: 120px;--gap: 14px;--radius: 3px;--mono: ui-monospace, "SF Mono", SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:root{--paper: #121210;--panel: #26251f;--ink: #eae7db;--line: #eae7db;--shadow: #000;--muted: #8b8578}}:root[data-theme=light]{--paper: #c6c2b6;--panel: #efece4;--ink: #181611;--line: #181611;--shadow: #181611;--muted: #6b6456}:root[data-theme=dark]{--paper: #121210;--panel: #26251f;--ink: #eae7db;--line: #eae7db;--shadow: #000;--muted: #8b8578}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--mono);line-height:1.5;image-rendering:pixelated}.px{display:grid;grid-template-columns:repeat(var(--w),var(--u));grid-template-rows:repeat(var(--h),var(--u))}.px i{width:var(--u);height:var(--u);display:block}.px i.on{background:currentColor}.pxnum{display:inline-flex;align-items:flex-end;gap:var(--u);color:currentColor}.app{max-width:1000px;margin:0 auto;padding:40px 24px 64px;display:flex;flex-direction:column;gap:24px}.board{background:var(--paper);border:3px solid var(--line);border-radius:6px;box-shadow:6px 6px 0 var(--shadow);padding:22px;display:flex;flex-direction:column;gap:22px;position:relative}.board:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:6px;background:repeating-linear-gradient(to bottom,transparent 0 3px,rgba(0,0,0,.05) 3px 4px);mix-blend-mode:multiply}@media(prefers-color-scheme:dark){.board:after{background:repeating-linear-gradient(to bottom,transparent 0 3px,rgba(255,255,255,.045) 3px 4px);mix-blend-mode:screen}}.status{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:2px solid var(--line)}.brand{display:flex;align-items:baseline;gap:10px}.status .title{font-weight:700;letter-spacing:.08em;font-size:14px;text-transform:uppercase}.status .ver{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}.stats{display:flex;gap:30px}.stat{display:flex;align-items:center;gap:10px}.stat .k{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}.zone{display:flex;flex-direction:column;gap:10px}.zone-label{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700}.row,.pool{display:flex;gap:var(--gap);flex-wrap:wrap;min-height:var(--card-h)}.row--collection{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.play{display:flex;gap:30px;align-items:flex-start;flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:10px}.grow{flex:1 1 240px}.caption{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center}.warn-row{display:flex;gap:var(--gap)}.row-band{display:flex;gap:var(--gap);align-items:flex-start;flex-wrap:wrap}.flank{display:flex;flex-direction:column;align-items:center;gap:8px}.card{width:var(--card-w);height:var(--card-h);border:2px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--ink);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;flex:none;gap:6px}.card.stack{box-shadow:4px 4px 0 var(--shadow)}.card--resource .suit,.card--resource .num{color:var(--ink)}.card--goal{justify-content:space-between;align-items:stretch}.card--goal .pts{align-self:flex-end}.card--goal .cond{display:flex;flex-direction:column;align-items:center;gap:5px;margin-bottom:2px}.card--goal .cond .ic{width:30px;height:30px;border:2px solid var(--line);border-radius:2px;display:grid;place-items:center;font-size:15px;font-weight:700}.card--goal .cond .lbl{font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-align:center;line-height:1.2}.card--back{background:repeating-conic-gradient(var(--line) 0% 25%,var(--panel) 0% 50%) 0 0 / 8px 8px}button.card{font-family:inherit}.card.tappable{cursor:pointer}.card.tappable:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.slot{width:var(--card-w);height:var(--card-h);border:2px dashed var(--muted);border-radius:var(--radius);background:transparent;flex:none;display:grid;place-items:center}.slot .ghost{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.slot--hint{width:auto;min-width:var(--card-w);padding:0 18px}.stack:before,.stack:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:2px solid var(--line);border-radius:var(--radius);background:var(--panel);z-index:-1}.stack:before{transform:translate(3px,3px)}.stack:after{transform:translate(6px,6px)}.stack--messy{transform:rotate(-2deg)}.stack--messy:before{transform:translate(4px,-3px) rotate(4deg)}.stack--messy:after{transform:translate(-3px,5px) rotate(-3deg)}.card.is-claimable{outline:2px solid var(--ink);outline-offset:4px;transform:translateY(-4px)}.card.is-claimable .tag{position:absolute;bottom:-12px;left:50%;transform:translate(-50%);font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;background:var(--ink);color:var(--panel);padding:2px 8px;border-radius:2px;white-space:nowrap}.card.is-leaving{opacity:.35}.pen-line{display:flex;align-items:center;gap:12px}.ctl{display:flex;align-items:center;gap:10px}.ctl-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}.toggle{--tw: 46px;--th: 24px;--knob: 16px;width:var(--tw);height:var(--th);padding:0;flex:none;position:relative;cursor:pointer;background:var(--ink);border:2px solid var(--line);border-radius:var(--radius)}.toggle .knob{position:absolute;top:50%;left:2px;transform:translateY(-50%);width:var(--knob);height:var(--knob);background:var(--panel);border-radius:2px;transition:left .12s steps(3),background .12s}.toggle.is-on{background:var(--panel)}.toggle.is-on .knob{left:calc(100% - var(--knob) - 2px);background:var(--ink)}.toggle .io{position:absolute;top:0;bottom:0;left:calc(var(--knob) + 4px);right:2px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;line-height:1;color:var(--panel);pointer-events:none}.toggle.is-on .io{left:2px;right:calc(var(--knob) + 4px);color:var(--ink)}.toggle:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@media(prefers-reduced-motion:reduce){.toggle .knob{transition:none}}.help{width:22px;height:22px;flex:none;padding:0;font-family:var(--mono);font-size:12px;font-weight:700;line-height:1;color:var(--muted);background:var(--panel);border:2px solid var(--line);border-radius:var(--radius);cursor:pointer}.help:hover{color:var(--ink)}.help:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.rules-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:#0000008c}.rules-dismiss{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;background:transparent;cursor:pointer}.rules-card{position:relative;z-index:1;max-width:400px;width:100%;background:var(--paper);border:3px solid var(--line);border-radius:6px;box-shadow:6px 6px 0 var(--shadow);padding:26px;display:flex;flex-direction:column;gap:16px}.rules-card .eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:700}.rules{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px;font-size:13px;line-height:1.5}.rules b{text-transform:uppercase;letter-spacing:.04em}.rules-hook{margin:0;font-size:12px;font-style:italic;color:var(--muted);border-top:2px solid var(--line);padding-top:14px}.rules-card .btn{align-self:flex-start}.over{background:var(--paper);border:3px solid var(--line);border-radius:6px;box-shadow:6px 6px 0 var(--shadow);padding:40px;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}.over .eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:700}.over .summary{display:flex;gap:8px}.btn{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--panel);background:var(--ink);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:3px 3px 0 var(--shadow);padding:11px 22px;cursor:pointer}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shadow)}.btn--ghost{background:transparent;color:var(--ink)}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
