:root{--bg: #101216;--panel: #1a1d23;--panel-2: #232730;--ink: #eceae6;--muted: #a2a4ad;--line: #353a45;--accent: #e8b04a;--accent-ink: #1a1306;--hl: #f2c14e;--sel: #6fb1ff;--good: #86cf8a;--bad: #ff8277;--w: #3d3a2f;--u: #22364b;--b: #2b292d;--r: #4a2b26;--g: #243a29;--m: #44391f;--c: #2e3037;--font-ui: "Sofia Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-num: "Sofia Sans Extra Condensed", "Arial Narrow", "Sofia Sans", sans-serif;--scale: 1;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font:15px/1.35 var(--font-ui);font-variant-numeric:tabular-nums}body{overflow-x:hidden}button{font:inherit;color:inherit}.meta{color:var(--muted);font-size:.85em}.small{font-size:.78em}.good{color:var(--good)}.setup{max-width:520px;margin:0 auto;padding:24px 16px 48px}.setup h1{margin:0 0 4px;font-size:1.6rem}.levels{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 12px}.levels .meta{flex-basis:100%}.decks{list-style:none;padding:0;margin:16px 0;display:grid;gap:8px}.deck{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);cursor:pointer}.deck input{grid-row:span 3;align-self:center}.deck.selected{border-color:var(--sel);box-shadow:0 0 0 2px var(--sel) inset}.deck.disabled{opacity:.55;cursor:not-allowed}.dname{font-weight:600}.btn{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:8px 14px;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.btn.ghost{background:transparent}.btn.big{width:100%;padding:14px;font-size:1.05rem}.btn.wide{width:100%;margin-top:8px}.btn:disabled{opacity:.5;cursor:not-allowed}.mini{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:2px 8px;min-width:44px;min-height:44px;cursor:pointer}.game{max-width:560px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;gap:6px;padding:6px 8px 0}.topbar{display:flex;align-items:center;gap:6px;position:sticky;top:0;z-index:5;background:var(--bg);padding:4px 0}.spacer{flex:1}.pill{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:.85em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opps{display:grid;gap:6px}.strip,.mine,.stack,.incoming{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px 8px}.strip.active,.mine.active{border-color:var(--accent)}.strip.out{opacity:.5}.strip.hl{box-shadow:0 0 0 2px var(--hl) inset}.strip.selected{box-shadow:0 0 0 3px var(--sel) inset}.strip-head{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:30px}.pname{font-weight:600}.pname.hl{outline:2px solid var(--hl);border-radius:6px;padding:0 4px}.life{font-weight:700}.pool{margin-left:auto;font-weight:600}.row{display:flex;gap:6px;padding:4px 0;align-items:flex-start}.row.scroll{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.row.wrap{flex-wrap:wrap}.mine{margin-top:auto}.hand{border-top:1px dashed var(--line);padding-top:6px}.log{min-height:3.6em;font-size:.8em;color:var(--muted);padding:0 4px}.stack-title{font-size:.8em;color:var(--muted);margin-bottom:4px}.stack-item{padding:3px 0;border-top:1px solid var(--line);font-size:.9em}.card{--w: calc(78px * var(--scale));position:relative;width:var(--w);height:calc(var(--w) * 1.25);border:1px solid var(--line);border-radius:8px;padding:0;overflow:hidden;cursor:pointer;flex:none;background:var(--c);text-align:left;transition:transform .12s;touch-action:manipulation}.card.small{--w: calc(56px * var(--scale))}.card.c-w{background:var(--w)}.card.c-u{background:var(--u)}.card.c-b{background:var(--b)}.card.c-r{background:var(--r)}.card.c-g{background:var(--g)}.card.c-m{background:var(--m)}.card.tapped{transform:rotate(14deg) scale(.92);opacity:.8}.card.hl{box-shadow:0 0 0 2px var(--hl)}.card.selected{box-shadow:0 0 0 3px var(--sel)}.card .art{width:100%;height:55%;object-fit:cover;display:block}.card .art-none{background:linear-gradient(135deg,transparent,rgba(0,0,0,.08))}.card .name{font-size:calc(10px * var(--scale));font-weight:600;padding:2px 3px 0;line-height:1.1;max-height:2.3em;overflow:hidden}.card .cost{position:absolute;top:2px;right:2px;font-size:calc(8px * var(--scale));background:#0000008c;color:#fff;border-radius:4px;padding:0 3px}.card .pt{position:absolute;bottom:2px;right:3px;font-weight:700;font-size:calc(11px * var(--scale));background:var(--panel);border-radius:4px;padding:0 3px}.card .pt.hurt{color:var(--bad)}.card .ctr{position:absolute;bottom:2px;left:3px;font-size:calc(8px * var(--scale));background:var(--panel);border-radius:4px;padding:0 2px}.card .badge{position:absolute;top:2px;left:2px;background:var(--accent);color:var(--accent-ink);font-size:calc(9px * var(--scale));font-weight:700;border-radius:4px;padding:0 3px}.card .cmdr{position:absolute;top:40%;right:3px;color:var(--hl);font-size:calc(12px * var(--scale));text-shadow:0 0 2px #000}.card.small .name{font-size:calc(8px * var(--scale))}.prompt{position:sticky;bottom:0;background:var(--bg);padding:6px 0 calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);z-index:6}.bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.bar>span{flex:1 1 100%;font-size:.9em}.bar input[type=range]{flex:1}.error{color:var(--bad);font-size:.85em;margin-bottom:4px}.gameover{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:1.1em}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-end;justify-content:center;z-index:20}.modal{background:var(--panel);width:100%;max-width:560px;max-height:85dvh;overflow-y:auto;border-radius:16px 16px 0 0;padding:16px}.modal h2{margin:0 0 10px;font-size:1.1rem}.modal h3{margin:14px 0 6px;font-size:.95rem}.modal .full{width:100%;max-width:320px;display:block;margin:0 auto 10px;border-radius:12px}.typeline{font-weight:600;margin:4px 0}.oracle{white-space:pre-wrap}.check{display:flex;gap:8px;align-items:center;padding:6px 0}.standins{padding-left:18px;font-size:.85em}.fulllog{max-height:30dvh;overflow-y:auto;font-size:.8em;color:var(--muted)}.card.incmd{border-style:dashed;opacity:.78}.card .zone{position:absolute;left:0;right:0;top:0;background:#0009;color:#fff;font-size:calc(8px * var(--scale));text-align:center;padding:1px 0;letter-spacing:.02em}.library .lib-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.library .lib-head .levels{margin:0}.library h3{margin:14px 0 4px;font-size:.95rem}.input{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);font:inherit;margin:4px 0}.filters{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:center}.filters .check{grid-column:1 / -1}.cardrow{display:grid;grid-template-columns:44px 1fr auto 22px;align-items:center;gap:8px;width:100%;text-align:left;padding:4px 6px;margin:2px 0;border:1px solid var(--line);border-radius:10px;background:var(--panel);cursor:pointer;min-height:40px}.cardrow img,.cardrow .noart{width:44px;height:32px;object-fit:cover;border-radius:6px;background:var(--c);display:block}.cardrow .cr-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cardrow .dot{text-align:center;font-weight:700}.cardrow .dot.ok{color:var(--good)}.cardrow .dot.no{color:var(--muted)}.deck-cmdr{margin:6px 0}.rulings{padding-left:18px;font-size:.88em}.rulings li{margin-bottom:6px}.mydeck{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;margin:6px 0;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.mydeck-actions{display:flex;gap:6px}.cardrow-wrap{display:flex;gap:6px;align-items:center}.cardrow-wrap .cardrow{flex:1;min-width:0}.steppers{display:flex;gap:4px}.steppers .btn{min-width:40px;padding:6px 0}.deckstat{padding:8px 10px;margin:6px 0;border-radius:12px;border:1px solid var(--line);background:var(--panel);display:flex;flex-wrap:wrap;gap:8px;align-items:center}.deckstat.ok{border-color:var(--good)}.issues{margin:0;padding-left:18px;font-size:.85em;color:var(--bad);flex-basis:100%}.scanner{position:relative;width:100%;max-width:480px;margin:8px auto;border-radius:12px;overflow:hidden;background:#000}.scanner video{width:100%;display:block}.scanner .guide{position:absolute;top:15%;bottom:15%;left:50%;aspect-ratio:63 / 88;transform:translate(-50%);max-width:90%;border:2px solid rgba(255,255,255,.85);border-radius:10px;box-shadow:0 0 0 999px #00000059}.scanner .title-band{height:13%;border-bottom:2px dashed var(--hl)}.scan-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.scanner .scan-actions{position:absolute;bottom:8px;left:8px;right:8px;justify-content:center;margin:0}.confirm-row{display:flex;gap:8px;margin-top:8px}.confirm-row .btn{flex:1}.skipnote{color:var(--muted);font-style:italic}.table{--bg: #101216;--panel: #1a1d23;--panel-2: #232730;--ink: #eceae6;--muted: #a2a4ad;--line: #353a45;--accent: #e8b04a;--accent-ink: #1a1306;--hl: #f2c14e;--sel: #6fb1ff;--good: #86cf8a;--bad: #ff8277;--w: #3d3a2f;--u: #22364b;--b: #2b292d;--r: #4a2b26;--g: #243a29;--m: #44391f;--c: #2e3037;--font-ui: "Sofia Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-num: "Sofia Sans Extra Condensed", "Arial Narrow", "Sofia Sans", sans-serif;color-scheme:dark;background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-variant-numeric:tabular-nums}.table .life,.table .pt,.table .chip,.table .pill,.table .ctr,.table .cost{font-family:var(--font-num);font-variant-numeric:tabular-nums}.table .life{font-size:1.35em;display:inline-flex;align-items:center;gap:3px}.table .life .icon{color:var(--bad)}.icon{flex:none;vertical-align:-.15em}.mana{display:inline-block;vertical-align:-.2em;border-radius:50%}.mana-cost{display:inline-flex;gap:1px;align-items:center}.chips{display:inline-flex;gap:8px;align-items:center}.chip{display:inline-flex;align-items:center;gap:3px;color:var(--muted);font-size:1.05em}.chip.bad{color:var(--bad)}.table .mini{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:4px}.table .card .cost{background:#0000009e;padding:1px 2px;border-radius:10px;line-height:0}.table .card .pt{background:#0a0c10d1;color:var(--ink);font-size:calc(13px * var(--scale));padding:0 4px}.table .card .pt.hurt{color:var(--bad)}.table .card .name{background:linear-gradient(transparent,#0000)}.table .card .badge{display:inline-flex;align-items:center;gap:2px}.table .card .cmdr{color:var(--hl);background:#0009;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center}.table .card .tapmark,.table .card .selmark,.table .card .tgtmark{position:absolute;left:3px;bottom:3px;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0a0c10d9;color:var(--ink)}.table .card .tapmark{left:auto;right:3px;bottom:22px}.table .card .selmark{background:var(--sel);color:#06121f}.table .card .tgtmark{background:var(--hl);color:#1a1306}.table .card.tapped{opacity:.72}.steptrack{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px 10px}.st-bar{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.st-bar i{height:6px;border-radius:3px;background:var(--line)}.st-bar i.done{background:var(--muted)}.st-bar i.now{background:var(--accent);box-shadow:0 0 0 2px #e8b04a47}.st-labels{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;font-size:.66rem;color:var(--muted);text-align:center;margin-top:3px}.st-labels .now{color:var(--accent);font-weight:700}.st-line{font-size:.85rem;margin-top:2px}.st-line span{color:var(--muted)}.kit{max-width:560px;margin:0 auto;padding:16px}.kit h1{font-size:1.4rem;margin:0 0 12px}.kit h2{font-size:1rem;margin:20px 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.kit .grid{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}.kit .icons span{display:inline-flex;flex-direction:column;align-items:center;gap:4px;width:64px;font-size:.7rem;color:var(--muted)}.kit .icons .icon{color:var(--ink)}.kit .swatch{width:56px;height:56px;border-radius:8px;border:1px solid var(--line);display:flex;align-items:flex-end;font-size:.6rem;padding:2px}.table .card .name{position:absolute;left:0;right:0;bottom:0;background:#000000b8;color:var(--ink);padding:2px 22px 2px 3px;max-height:none;min-height:28%;display:flex;align-items:flex-end}.table .card .zone{top:auto;bottom:0;background:none;color:var(--muted)}.table .card.incmd{opacity:1;border-style:dashed;border-color:var(--accent)}.table .card .cost{max-width:90%}.table .card .zone{display:none}.zonechip{display:inline-flex;align-items:center;gap:4px;min-width:44px;min-height:44px;padding:0 8px;justify-content:center;border:1px solid var(--line);background:var(--panel-2, var(--panel));border-radius:10px;color:var(--ink);font-family:var(--font-num, inherit);font-size:1.05em;cursor:pointer}.zonetabs{display:flex;gap:8px;margin-bottom:8px}.zonetabs .btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px}.zonelist{display:flex;flex-wrap:wrap;gap:10px;max-height:52vh;overflow-y:auto;padding:4px 2px}.zoneitem{display:flex;flex-direction:column;gap:3px;align-items:flex-start;width:calc(56px * var(--scale, 1) + 24px)}.zmark{display:block;font-size:.68rem;line-height:1.15;color:var(--hl);border:1px solid var(--hl);border-radius:6px;padding:0 4px;margin-top:2px}.table .card .makes{position:absolute;left:3px;top:24%;display:flex;gap:1px;align-items:center;background:#0000009e;border-radius:10px;padding:1px 2px;color:var(--hl);line-height:0}.table .card .makes .any{font-size:.55rem;line-height:1;padding:0 2px;color:var(--ink)}.pool{display:inline-flex;gap:2px;align-items:center;padding:2px 6px;border:1px solid var(--line);border-radius:999px}.mana.restricted{outline:2px dashed var(--hl);outline-offset:1px}.payline{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}.table .btn .mana{vertical-align:-.25em}.table .ground{position:relative;isolation:isolate;overflow:hidden}.table .ground:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:var(--ground, none);background-size:cover;background-position:center 25%;filter:brightness(.35) saturate(.85)}.table .ground:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#1012168c,#10121626)}.identity{display:inline-flex;gap:2px;margin-left:6px;vertical-align:middle}.reason-line{color:var(--muted);font-size:.8rem;line-height:1.3;margin-top:2px}.prompt-reason{margin:0 0 6px}.table .stack-item .reason-line{margin-top:1px}.table .prompt{background:var(--panel);border-top:1px solid var(--line)}.table .prompt{padding-left:10px;padding-right:10px;margin:0 -8px}.spot{position:relative;max-height:58vh;overflow-y:auto}.spot.big{padding-top:2px}.spot-fold{position:absolute;top:-4px;right:0;min-width:44px;min-height:32px;border:0;background:none;color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1}.subject{display:flex;gap:12px;align-items:flex-start;margin:0 0 6px;padding-right:40px}.subject-img{width:132px;border-radius:9px;flex:none;display:block;background:var(--panel-2, var(--panel))}.subject.compact .subject-img{width:84px}.subject-none{height:184px}.subject-text{min-width:0;font-size:.95rem}.subject-text .oracle{font-size:.8rem;color:var(--muted);margin:6px 0 0;white-space:pre-line;max-height:9.5em;overflow:hidden}.spot-line{margin:0 0 4px;display:flex;gap:6px;align-items:baseline}.blocklist{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:4px;font-size:.9rem}.blocklist li{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}.blocklist .bad{color:var(--bad)}.modal .subject{padding-right:0}.modal .subject-img{width:112px}.modal .subject.compact .subject-img{width:72px}button.pname{white-space:nowrap;border:0;background:none;padding:0;min-height:44px;display:inline-flex;align-items:center;gap:4px;cursor:pointer;font-weight:600;color:var(--ink);text-align:left}button.pname.hl{outline:2px solid var(--hl);outline-offset:2px;border-radius:6px;padding:0 4px}:focus-visible{outline:2px solid var(--sel);outline-offset:2px;border-radius:6px}.card:focus-visible{outline-offset:1px}::selection{background:#6fb1ff59;color:var(--ink)}html{scrollbar-color:var(--line) var(--bg)}input,select,textarea{accent-color:var(--accent);caret-color:var(--accent)}.cardrow{min-height:44px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.tablehead{position:sticky;top:0;z-index:6;background:var(--bg);padding-bottom:4px}.tablehead .topbar{position:static}.tablehead .steptrack{padding:4px 10px}.table .card .selmark,.table .card .tgtmark{left:3px;top:3px;bottom:auto}.table .card .badge{top:auto;bottom:32%;left:2px}.gameover{flex-wrap:wrap}.gameover .meta{flex-basis:100%}.oppsum{padding:2px 0 4px}.error{display:flex;align-items:center;justify-content:space-between;gap:8px}.card .art.art-none{display:flex;align-items:center;justify-content:center;color:var(--muted);background:var(--panel-2)}:root{--ease-out: cubic-bezier(.16, 1, .3, 1)}@keyframes card-in{0%{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:none}}@keyframes stack-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes card-hit{0%,to{transform:translate(0)}20%{transform:translate(-3px)}45%{transform:translate(3px)}70%{transform:translate(-2px)}}@keyframes life-bump{0%{transform:scale(1)}35%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes delta-float{0%{opacity:0;transform:translateY(6px)}15%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.table .card.fresh{animation:card-in .24s var(--ease-out) backwards}.table .card.hit{animation:card-hit .38s ease-out}.table .stack-item{animation:stack-in .2s var(--ease-out) backwards}.life{position:relative}.life-n{display:inline-block}.life-n.bump{animation:life-bump .42s var(--ease-out)}.delta{position:absolute;left:100%;top:-2px;margin-left:4px;font-size:.8em;font-weight:700;white-space:nowrap;pointer-events:none;animation:delta-float 1.2s ease-out forwards}.delta.neg{color:var(--bad)}.delta.pos{color:var(--good)}.untakeable{opacity:.45}
