:root{--ink:#2b2418;--ink-soft:#5b5138;--paper:#f2ead6;--paper-light:#fdfaf0;--felt:#1c3a2a;--felt-line:#ffffff17;--glass:#08160e99;--muted:#9db4a6;--text:#eaf3ec;--gold:#ffd166;--danger:#e5484d;--good:#3dd68c;--card-w:106px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{color:var(--text);background:radial-gradient(1400px 900px at 50% -20%, #2f5c41, transparent 60%), radial-gradient(900px 600px at 85% 110%, #14301f, transparent 70%), var(--felt);margin:0;font:14px/1.45 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#app{position:fixed;inset:0;overflow:hidden}#app:after{content:"";pointer-events:none;z-index:2;background:radial-gradient(120% 90% at 50% 45%,#0000 60%,#040c0780);position:absolute;inset:0}.effects{pointer-events:none;z-index:50;position:fixed;inset:0}.effects canvas{pointer-events:none}#app.shake{animation:.6s cubic-bezier(.36,.07,.19,.97) shake}#app.shake-heavy{animation:.8s cubic-bezier(.36,.07,.19,.97) shake-heavy}@keyframes shake{10%,90%{transform:translate(-2px,1px)}20%,80%{transform:translate(3px,-2px)}30%,50%,70%{transform:translate(-5px,3px)}40%,60%{transform:translate(5px,-3px)}}@keyframes shake-heavy{10%,90%{transform:translate(-5px,3px)}20%,80%{transform:translate(7px,-5px)}30%,50%,70%{transform:translate(-11px,6px)}40%,60%{transform:translate(11px,-6px)}}.flash{pointer-events:none;z-index:49;position:fixed;inset:0}.flash.gold{background:var(--gold)}.flash.danger{background:var(--danger)}.flash.good{background:var(--good)}.surface{z-index:1;flex-direction:column;height:100vh;display:flex;position:relative}.band{flex:none;align-items:flex-start;gap:10px;height:92px;padding:0 16px;display:flex;overflow:visible}.band.opponents{align-items:flex-end}.opp-hand{align-items:flex-end;gap:8px;display:flex}.opp-hand .band-label{align-self:flex-start}.band-label{text-align:right;text-transform:uppercase;letter-spacing:.07em;width:216px;color:var(--muted);flex:none;padding-bottom:8px;font-size:10px}.cards-row{gap:6px;align-items:inherit;display:flex}.band.hand-band{align-items:flex-start}.hand-group{align-items:flex-start;gap:8px;display:flex}.hand-group .band-label{padding-top:8px;padding-bottom:0}.hand.cards-row{align-items:flex-start}.board{flex:auto;grid-template-columns:212px minmax(0,1fr) 288px;gap:12px;min-height:0;padding:8px 16px;display:grid}.panels{flex-direction:column;justify-content:space-between;gap:10px;min-height:0;display:flex;overflow:hidden auto}.panels-top{flex-direction:column;gap:10px;display:flex}.panel-player{border:1px solid var(--felt-line);background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;padding:9px 11px 11px;box-shadow:0 10px 24px #00000038}.panel-player.danger{background:linear-gradient(#e5484d29,#08160e9e);border-color:#e5484dd9;animation:1.05s ease-in-out infinite panel-danger}@keyframes panel-danger{0%,to{transform:translate(0);box-shadow:0 0 0 1px #e5484d73,0 0 18px #e5484d47}20%{transform:translate(-2px)}60%{transform:translate(2px)}50%{box-shadow:0 0 0 3px #e5484dbf,0 0 36px #e5484d99}}.panel-player.acting{border-color:#ffd166b3;box-shadow:0 0 22px #ffd16624}.panel-player.you{background:linear-gradient(#2d6cdf24,#08160e9e)}.panel-player .who{align-items:center;gap:6px;display:flex}.panel-player .who h2{margin:0;font-size:15px}.tags{flex-wrap:wrap;gap:4px;margin:5px 0 0;display:flex}.tag{text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--felt-line);color:var(--muted);border-radius:999px;padding:1px 7px;font-size:9px}.tag.leader{color:var(--gold);border-color:#ffd16699}.tag.app{color:#9dc0ff;border-color:#2d6cdf99}.tag.bot{color:#d8bcff;border-color:#9b5de599}.tag.turn{color:#8ff0c1;border-color:#3dd68c99}.points{align-items:baseline;gap:6px;margin:8px 0 6px;display:flex}.points .value{color:var(--gold);text-shadow:0 2px 12px #ffd1664d;font-size:30px;font-weight:700;line-height:1}.points .label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:10px}.meter+.meter{margin-top:7px}.meter-head{align-items:center;gap:5px;font-size:11px;display:flex}.meter-head .icon{font-size:12px}.meter-head .name{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:10px}.meter-head .value{font-variant-numeric:tabular-nums;color:var(--muted);margin-left:auto}.boxes{gap:2px;margin-top:4px;display:flex}.box{aspect-ratio:1;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:2px;flex:1 1 0}.box.on{background:linear-gradient(#4d8bf0,#2d6cdf);border-color:#0000}.meter.ticks .box.on{background:linear-gradient(#ffc46b,#f4a259)}.meter.danger .box.on{background:linear-gradient(180deg, #ff7b7f, var(--danger))}.meter.danger .meter-head .value{color:#ffb4b6;font-weight:700}.meter.danger{animation:1.1s ease-in-out infinite danger-pulse}@keyframes danger-pulse{50%{filter:brightness(1.35)}}.meter.bump{animation:.42s ease-out bump}@keyframes bump{30%{filter:brightness(1.4);transform:scale(1.05)}}.arena{flex-direction:column;justify-content:space-between;gap:8px;min-height:0;display:flex;overflow-y:auto}.seat{border:1px solid var(--felt-line);background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;padding:8px 10px;box-shadow:0 10px 24px #00000038}.seat.acting{border-color:#ffd166b3;box-shadow:0 0 22px #ffd1661f}.seat.you{background:linear-gradient(#2d6cdf1f,#08160e9e)}.side-head{align-items:center;gap:8px;margin-bottom:5px;display:flex}.side-head h2{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0;font-size:13px}.inplay{grid-template-columns:128px minmax(0,1fr);gap:12px;min-height:140px;display:grid}.inplay h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 4px;font-size:10px}.features{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.stack{vertical-align:top;flex-direction:column;gap:3px;display:flex}.empty{color:var(--muted);margin:0;font-style:italic}.foot-cards{z-index:3;gap:12px;display:flex;position:fixed;bottom:0;right:16px}.slot{width:var(--card-w);height:148px;position:relative}.slot .card{position:absolute;top:0;left:0}.slot .card.pile-layer{transform:translate(calc(var(--i) * -3px), calc(var(--i) * -3px))}.slot.graveyard .card:hover{z-index:6;transform:translateY(-56px)}.slot .count{color:#fff;background:#0009;border-radius:999px;padding:0 7px;font-size:11px;font-weight:700;position:absolute;top:6px;left:6px}.slot .label{text-align:center;text-transform:uppercase;letter-spacing:.08em;color:#e6d9bd;text-shadow:0 1px 3px #000c;font-size:9px;position:absolute;bottom:6px;left:0;right:0}.rail{flex-direction:column;justify-content:center;gap:8px;min-height:0;display:flex;overflow-y:auto}.panel{border:1px solid var(--felt-line);background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;padding:9px 11px}.panel h3,.panel>summary{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);cursor:pointer;margin:0 0 8px;font-size:11px}.panel>summary::marker{color:var(--gold)}.panel[open]>summary{margin-bottom:6px}.panel.game{background:linear-gradient(180deg, #ffd16612, var(--glass))}.panel.game h1{letter-spacing:.05em;color:var(--gold);text-shadow:0 2px 10px #ffd1664d;margin:0 0 6px;font-family:Georgia,Times New Roman,serif;font-size:18px}.facts{flex-wrap:wrap;gap:8px 12px;display:flex}.fact{flex-direction:column;line-height:1.15;display:flex}.fact .label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.fact .value{font-variant-numeric:tabular-nums;font-weight:600}.winner{color:var(--gold);margin-top:6px;font-weight:700}.panel.asking{border-color:#ffd16699;box-shadow:0 0 22px #ffd1661a}.panel.targeting{border-color:#3dd68c99}.panel.discarding{border-color:#e5484db3;box-shadow:0 0 22px #e5484d24}.card.discardable{border-color:var(--danger);cursor:pointer;box-shadow:0 0 0 2px #e5484d80}.card.discardable:hover{box-shadow:0 0 0 3px #e5484dd9,0 18px 30px #0000008c}.panel.targeting .hint{margin:0}.panel .question{margin:0 0 8px}.options{flex-wrap:wrap;gap:6px;display:flex}.panel.log ol{max-height:34vh;color:var(--muted);margin:0;padding-left:18px;font-size:12px;overflow-y:auto}.panel.log li{margin-bottom:2px}.panel.note{color:#ffb4b6;border-color:#e5484d99}.ruleset{color:var(--muted);text-align:center;font-size:10px}.hint{color:var(--muted);margin:6px 0 0;font-size:11px}.action{font:inherit;border:1px solid var(--felt-line);color:var(--text);cursor:pointer;background:#17293acc;border-radius:999px;padding:6px 12px;font-size:12px;text-decoration:none;transition:border-color .12s,transform .12s;display:inline-block}.action:hover{border-color:var(--gold);transform:translateY(-1px)}.action.primary{background:linear-gradient(#24507a,#1d3c5c)}.action.danger{color:#ffb4b6;border-color:#e5484d8c}.action.deal{text-align:center;width:100%;margin-top:10px;padding:5px 12px;font-size:11px}.card{--accent:#2f3542;--on-accent:#fff;width:var(--card-w);aspect-ratio:63/88;background:linear-gradient(180deg, var(--paper-light), var(--paper));color:var(--ink);border:3px solid var(--accent);border-radius:5px;flex-direction:column;flex:none;gap:3px;padding:4px;transition:transform .14s,box-shadow .14s,opacity .14s;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 7px #0006,inset 0 0 0 1px #ffffff59}.card-top{align-items:center;gap:3px;display:flex}.card .banner{background:var(--accent);min-width:0;color:var(--on-accent);letter-spacing:.07em;text-transform:uppercase;border-radius:3px;flex:auto;justify-content:center;align-items:center;padding:2px 3px;font-size:8px;font-weight:700;display:flex}.mark{white-space:nowrap;background:#2b24181a;border:1px solid #2b241829;border-radius:999px;align-items:center;gap:2px;padding:1px 4px;font-size:10px;font-weight:700;line-height:1.25;display:inline-flex}.mark .letter{opacity:.65;font-size:8px;font-weight:800}.mark.memory{color:#1d4ed8}.mark.ticks{color:#b45309}.mark.points{color:#a16207}.card .art{aspect-ratio:1;border:2px solid var(--accent);background:radial-gradient(circle at 50% 35%,#fff,#eee4cc);border-radius:50%;place-items:center;width:64%;margin:3px auto 2px;display:grid;position:relative}.card .art>.glyph{font-size:28px;line-height:1}.card .art .mark.points{background:var(--paper-light);position:absolute;bottom:-4px;right:-12px;box-shadow:0 1px 3px #0000004d}.card .title{text-align:center;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #2b24182e;padding-bottom:2px;font-size:10px;font-weight:700;line-height:1.1;overflow:hidden}.card .keywords{text-align:center;text-transform:uppercase;letter-spacing:.05em;color:#8a7f63;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.card .text{color:var(--ink-soft);flex:auto;font-size:9px;line-height:1.25;overflow:hidden}.card .card-foot{align-items:center;gap:4px;margin-top:auto;display:flex}.card .card-foot .app{text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--accent);border-radius:999px;padding:1px 5px;font-size:8px;font-weight:700}.card .card-foot .flavour{color:#a2977a;text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:8px;font-style:italic;overflow:hidden}.card .card-foot .id{color:#b3a98c;white-space:nowrap;text-overflow:ellipsis;margin-left:auto;font-size:8px;overflow:hidden}.card.unknown .banner{background:#55677a}.card.back{background:linear-gradient(160deg,#8a2428,#5c1417 55%,#47100f);border-color:#2c0a0c;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 5px #0006,inset 0 0 0 2px #ffd16680}.card.back .seal{letter-spacing:.1em;color:var(--gold);text-shadow:0 1px 4px #0009;font-family:Georgia,Times New Roman,serif;font-size:13px;font-weight:700}.card.back .id{color:#ffd16680;font-size:6px;position:absolute;bottom:3px}.seat .card{width:96px}.card.attachment{width:78px}.attachments{flex-direction:row;gap:5px;display:flex}.seat:not(.you) .attachments{margin-top:-8px}.seat.you .stack{flex-direction:column-reverse}.seat.you .features{align-items:flex-end}.seat.you .attachments{margin-bottom:-8px}.card.attachment .text,.card.attachment .keywords,.card.attachment .card-foot{display:none}.card.attachment .art{width:62%}.card.playable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.card.playable:active{cursor:grabbing}.hand .card:hover,.hand .card:focus-within,.hand .card.selected{z-index:6;transform:translateY(-56px);box-shadow:0 18px 30px #0000008c,inset 0 0 0 1px #ffffff73}.card.idle{opacity:.62;filter:grayscale(.45)}.card.selected{box-shadow:0 0 0 3px #ffd166b3,0 18px 30px #0000008c}.card.dragging{opacity:.5}.card.target{cursor:pointer;animation:1.5s ease-in-out infinite breathe;box-shadow:0 0 0 3px #3dd68cb3,0 0 22px #3dd68c66}@keyframes breathe{50%{box-shadow:0 0 0 6px #3dd68c38,0 0 30px #3dd68c73}}.card.hit{animation:.42s ease-out hit}@keyframes hit{25%{transform:translate(-3px)rotate(-1deg)}50%{transform:translate(3px)rotate(1deg)}75%{transform:translate(-2px)}}.arriving{visibility:hidden}.card.flight{width:var(--card-w);z-index:80;pointer-events:none;will-change:transform, opacity;position:fixed;top:0;left:0;transform:translate(-50%,-50%);box-shadow:0 18px 34px #0000008c,inset 0 0 0 1px #fff6}.card.flight.dying{transition:opacity .28s}.card.ghost{width:var(--card-w);z-index:90;pointer-events:none;will-change:transform;position:fixed;top:0;left:0;box-shadow:0 24px 44px #0009,inset 0 0 0 1px #fff6}.curtain,.over,.fatal,.loading{text-align:center;padding:40px 20px}.curtain{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:60vh;display:flex}.curtain h2{color:var(--gold);margin:0;font-family:Georgia,Times New Roman,serif;font-size:22px}.over{background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #ffd16699;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:10px;margin:8px 16px;padding:14px;display:flex}.over h2{color:var(--gold);margin:0 12px 0 0;font-size:16px}.fatal{color:#ffb4b6}.overlay{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#040c07b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.setup{background:var(--glass);border:1px solid var(--felt-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;min-width:340px;padding:18px 20px;box-shadow:0 24px 60px #0000008c}.setup h2{color:var(--gold);margin:0 0 12px;font-size:16px}.setup .row{align-items:center;gap:6px;margin-bottom:8px;display:flex}.setup .row .label{width:64px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.setup .choices{gap:6px;display:flex}.setup .you{color:var(--gold);font-weight:600}.setup .buttons{justify-content:flex-end;margin:14px 0 0}.panel.game{background:linear-gradient(180deg, #ffd16614, var(--glass));border-color:#ffd16659}.dials{align-items:stretch;gap:6px;display:flex}.dial{background:#00000047;border-radius:10px;flex-direction:column;flex:none;align-items:center;gap:1px;min-width:50px;padding:5px 8px;display:flex}.dial.wide{flex:auto;min-width:0}.dial-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:9px}.dial-value{color:var(--gold);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1}.dial-value.small{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:13px;overflow:hidden}.panel.game .winner{text-align:center;margin-top:6px}.big-action{width:168px;height:168px;color:var(--text);font:inherit;letter-spacing:.03em;text-align:center;cursor:pointer;background:radial-gradient(circle at 50% 32%,#ffffff29,#0000 55%),linear-gradient(#2f6a4a,#17392a);border:3px solid #ffd16699;border-radius:50%;flex-direction:column;flex:none;justify-content:center;align-self:center;align-items:center;gap:2px;margin:0 auto;padding:16px;font-size:17px;font-weight:700;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex;box-shadow:0 18px 40px #00000073,0 0 0 6px #2f6a4a2e,inset 0 0 0 1px #ffffff1f}.big-action:hover{border-color:var(--gold);transform:translateY(-3px)scale(1.03);box-shadow:0 22px 46px #00000080,0 0 0 8px #ffd1662e,inset 0 0 0 1px #ffffff29}.big-action.end{background:radial-gradient(circle at 50% 32%,#ffffff29,#0000 55%),linear-gradient(#24507a,#12283c);border-color:#9dc0ff99;box-shadow:0 18px 40px #00000073,0 0 0 6px #24507a2e,inset 0 0 0 1px #ffffff1f}.big-action .big-icon{font-size:44px;line-height:1}.big-action .big-label{text-transform:uppercase;letter-spacing:.06em;font-size:15px}.big-action.end{background:linear-gradient(#24507a,#17324a)}.panel.actions{flex-direction:column;gap:6px;display:flex}.action.wide{text-align:center;width:100%}.debug{z-index:55;width:300px;font-size:12px;position:fixed;top:6px;right:10px}.debug>summary{cursor:pointer;text-align:right;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;opacity:.45;font-size:10px;list-style:none}.debug>summary:hover,.debug[open]>summary{opacity:1;color:var(--gold)}.debug-body{border:1px solid var(--felt-line);background:#040c07f0;border-radius:10px;max-height:70vh;margin-top:6px;padding:8px 10px;overflow-y:auto;box-shadow:0 16px 40px #00000080}.debug-body h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 6px;font-size:10px}.debug-body ol{color:var(--muted);margin:0;padding-left:18px}.debug-meta{color:#6f8a7a;margin:8px 0 0;font-size:10px}.trade-box{z-index:58;background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;border:1px solid #ffd16680;border-radius:16px;padding:16px 18px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 60px #0009}.trade-box h3{color:var(--gold);margin:0 0 12px;font-size:14px}.trade-slots{justify-content:center;gap:10px;min-height:150px;display:flex}.trade-slot.empty{width:var(--card-w);height:148px;color:var(--muted);border:2px dashed #ffffff40;border-radius:6px;justify-content:center;align-items:center;font-size:11px;display:flex}.trade-buttons{justify-content:center;gap:8px;margin-top:14px;display:flex}.trade-buttons .action[disabled]{opacity:.45;cursor:not-allowed}.hand-band.trading .card.picked{z-index:6;transform:translateY(-56px);box-shadow:0 0 0 3px #ffd166e6,0 12px 22px #00000080}.dealing .card{visibility:hidden}.dealing .card.dealt{visibility:visible}.action-spotlight{z-index:56;pointer-events:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.action-spotlight .card{width:190px;box-shadow:0 30px 70px #000000b3}.spotlight{z-index:57;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.spotlight-inner{pointer-events:auto;align-items:center;gap:22px;max-width:92vw;display:flex}.spotlight-card .card{width:190px;box-shadow:0 30px 70px #000000b3}.spotlight-panel{background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #ffd16680;border-radius:16px;width:330px;padding:16px 18px;box-shadow:0 24px 60px #0009}.spotlight-panel h3{text-transform:uppercase;letter-spacing:.08em;color:var(--gold);margin:0 0 8px;font-size:13px}.spotlight-panel .question{margin:0 0 12px}@media (prefers-reduced-motion:reduce){.card,.card.target,.card.hit,.meter,.meter.danger,#app.shake,#app.shake-heavy{transition:none;animation:none}}#app.jev-open{inset:0 360px 0 0}body.watching #game{width:calc(100vw - 360px)}.jev-panel{z-index:30;background:#0b1a12;border-left:1px solid #ffd16666;width:360px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.jev-head{border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:baseline;padding-bottom:6px;display:flex}.jev-title{color:var(--gold);letter-spacing:.14em;font-weight:700}.jev-model{color:var(--muted);font-size:10.5px}.jev-controls{gap:6px;margin:8px 0;display:flex}.jev-seat{font:inherit;color:var(--text);cursor:pointer;background:#ffffff12;border:1px solid #fff3;border-radius:6px;padding:3px 10px}.jev-seat.primary{background:var(--gold);color:#1c1a10;border-color:var(--gold)}.jev-body{flex-direction:column;gap:8px;display:flex}.jev-empty{color:var(--muted);font-size:12px}.jev-turn{background:#ffffff0d;border-radius:4px;gap:8px;padding:2px 6px;display:flex}.jev-round{color:var(--muted);flex:none}.jev-seat-name{color:var(--gold);font-weight:600}.jev-row{border:1px solid #ffffff1a;border-radius:5px;padding:5px 8px}.jev-line{align-items:baseline;gap:7px;display:flex}.jev-pick{color:var(--muted);flex:none}.jev-cmd{word-break:break-word;color:var(--text)}.jev-nums{color:var(--muted);flex-wrap:wrap;gap:3px 8px;font-size:11px;display:flex}.jev-kv{white-space:nowrap}.jev-top{color:var(--muted);border-top:1px solid #ffffff0f;font-size:11px}.jev-flags{gap:6px;display:flex}.jev-tag{color:var(--muted);border:1px solid #ffffff24;border-radius:4px;padding:0 5px;font-size:10.5px}.jev-tag.flag{color:var(--danger);border-color:var(--danger)}.jev-note{color:var(--danger);word-break:break-word}.jev-cost{color:var(--muted);white-space:nowrap;font-size:10.5px}.jev-bars{flex-direction:column;gap:2px;display:flex}.jev-bar{grid-template-columns:84px 1fr 46px;align-items:center;gap:6px;display:grid}.jev-bar-name{color:var(--muted);text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.jev-bar-track{background:#ffffff14;border-radius:4px;height:7px;display:block}.jev-bar-fill{background:linear-gradient(90deg, var(--good), var(--gold));border-radius:4px;max-width:100%;height:100%;display:block}.jev-bar-value{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:10.5px}.jev-bar-fill.warn{background:linear-gradient(90deg, var(--gold), var(--danger))}.jev-subhead{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:4px;font-size:10.5px}.jev-opt{grid-template-columns:1fr 60px 46px;align-items:center;gap:6px;display:grid}.jev-opt-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.jev-bar-fill.top{background:#2d6cdf}.summary-backdrop{z-index:70;background:#08120cb8;place-items:center;display:grid;position:fixed;inset:0}.summary-dialog{background:var(--glass);border:1px solid var(--gold);width:min(60vw,860px);max-width:60%;max-height:62%;color:var(--text);border-radius:14px;padding:18px 22px;overflow-y:auto;box-shadow:0 30px 80px #000000b3}.summary-title{color:var(--gold);margin:0;font-size:20px;font-weight:650}.summary-subtitle{color:var(--muted);margin:4px 0 12px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px}.summary-svg{border:1px solid #ffffff1a;border-radius:6px;width:100%;height:150px;margin:6px 0;display:block}.summary-legend{color:var(--muted);gap:10px;font-size:11px;display:flex}.summary-legend-item{align-items:center;gap:5px;display:inline-flex}.summary-legend-line{border-radius:1px;width:14px;height:2px;display:inline-block}.summary-legend-box{border-radius:1px;width:8px;height:8px;display:inline-block}.summary-stats{grid-template-columns:repeat(4,1fr);gap:8px 18px;margin-top:10px;display:grid}.summary-stat{flex-direction:column;display:flex}.summary-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px}.summary-stat-value{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.summary-actions{gap:10px;margin-top:14px;display:flex}.play-again[disabled]{opacity:.55;cursor:default}body.main-menu{background:#f5f2e6;overflow:auto}body:not(.main-menu) #game{background:var(--table-background,#f5f2e6);width:100vw;height:100vh}body:not(.main-menu){background:var(--table-background,#f5f2e6)}body.main-menu #game{width:100%;min-height:100dvh}.launch-menu{--m-bg:#f5f2e6;--m-ink:#112b32;--m-soft:#526875;--m-paper:#fffdf3;--m-line:#c9d0c0;min-height:100dvh;color:var(--m-ink);background:radial-gradient(ellipse at 25% 55%, #e0e9cf66, transparent 65%), var(--m-bg);flex-direction:column;font-family:IBM Plex Mono,monospace;display:flex}.launch-menu[data-theme=dark]{--m-bg:#102a30;--m-ink:#f8f5e9;--m-soft:#a9c6bc;--m-paper:#1e3d43;--m-line:#47716d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:radial-gradient(ellipse at 30% 55%, #20695b55, transparent 65%), var(--m-bg)}.launch-menu[data-theme=dark] .launch-identity h1 span{color:#ff8267}.launch-menu[data-reduced-motion=true] *{transition:none!important}.launch-menu button{font:inherit;cursor:pointer;border-radius:0}.launch-menu button:focus-visible{outline-offset:6px;outline:4px solid #ef563f}.launch-stage{grid-template-columns:1.15fr 1fr;grid-template-areas:"identity actions""deck actions";align-items:center;gap:8px 45px;width:min(1080px,90vw);margin:auto;padding:24px 0;display:grid}.launch-identity{grid-area:identity}.launch-kicker{letter-spacing:2px;color:var(--m-soft);font-size:12px;font-weight:700}.launch-identity h1{letter-spacing:1px;margin:12px 0;font-family:Anton,sans-serif;font-size:clamp(64px,6.5vw,86px);font-weight:400;line-height:1.03}.launch-identity h1 span{color:#ef563f}.launch-tagline{font-family:Nunito Sans,sans-serif;font-size:19px;font-weight:700;line-height:1.4}.business-inks{gap:6px;margin:14px 0 0;display:flex}.business-inks span{color:#fff;background:#00856b;border:1px solid #112b32;padding:5px 10px;font-size:11px;transform:rotate(-2deg)}.business-inks span:nth-child(2){background:#d94750;transform:rotate(2deg)}.business-inks span:nth-child(3){background:#0879bf}.business-inks span:nth-child(4){background:#526875;transform:rotate(1deg)}.launch-deck{grid-area:deck;height:205px;margin-top:18px;position:relative}.launch-deck img{aspect-ratio:63/88;object-fit:contain;width:126px;height:auto;left:calc(10px + var(--i) * 65px);top:calc(15px + (var(--i) - 2) * -4px);transform:rotate(calc((var(--i) - 2) * 9deg));border-radius:7px;transition:transform .2s;position:absolute;box-shadow:5px 8px #112b322b}.launch-deck img:hover{z-index:5;transform:rotate(0)translateY(-15px)}.compile-stamp{z-index:6;color:#112b32;background:#e9b343;border:3px solid #112b32;padding:9px 13px;font:18px/1 Anton,sans-serif;position:absolute;bottom:5px;right:12px;transform:rotate(-7deg);box-shadow:4px 4px #112b32}.launch-actions{background:var(--m-paper);border:2px solid var(--m-ink);clip-path:polygon(2% 2%,20% 0,43% 2%,72% 0,98% 2%,100% 30%,98% 61%,100% 95%,87% 100%,52% 98%,20% 100%,0 97%,2% 73%,0 43%);grid-area:actions;padding:28px 26px 20px;position:relative;box-shadow:10px 12px #112b3229}.launch-section{color:var(--m-soft);margin:0 0 22px;font-size:13px}.launch-actions>button{text-align:left;width:100%;color:var(--m-ink);background:var(--m-bg);border:2px solid var(--m-line);align-items:center;gap:18px;margin:0 0 12px;padding:14px 16px;font:25px/1.1 Anton,sans-serif;display:flex}.launch-actions .start-match{color:#112b32;background:#ef694d;border:3px solid #112b32;transform:rotate(-1deg);box-shadow:5px 5px #112b32}.launch-actions .start-match:hover{background:#f4885a;transform:rotate(0)translateY(-3px)}.launch-actions .start-tutorial:not(.access-locked){color:#112b32;background:#e9b343;border:3px solid #112b32;padding-block:10px;box-shadow:4px 4px #112b32}.launch-actions .start-tutorial:not(.access-locked):hover{background:#f0c35c;transform:translateY(-2px)}.launch-actions .start-tutorial small{padding-top:6px}.start-tutorial svg{fill:none;stroke:#112b32;stroke-width:4px;width:30px;height:30px;margin-left:auto}.menu-number{opacity:.75;font:13px IBM Plex Mono,monospace}.launch-actions small{letter-spacing:1px;padding-top:10px;font:11px IBM Plex Mono,monospace;display:block}.start-match svg{fill:none;stroke:#112b32;stroke-width:4px;width:36px;height:36px;margin-left:auto}.launch-actions button:disabled{cursor:not-allowed;opacity:.55}.locked{border:1px solid var(--m-line);margin-left:auto;padding:6px;font:10px IBM Plex Mono,monospace}.menu-utilities{gap:14px;margin-top:18px;display:flex}.menu-utilities button,.close-menu-dialog{color:#112b32;background:#e9b343;border:2px solid #112b32;flex:1;padding:13px 15px;font:19px Anton,sans-serif;box-shadow:3px 4px #112b32}.menu-utilities button:last-child{background:#b9d3c0}.launch-ready{color:var(--m-soft);margin:18px 0 4px;font-size:11px}.launch-ready>span{background:#008878;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block;box-shadow:0 0 0 3px #00887822}.launch-footer{color:var(--m-soft);border-top:1px solid var(--m-line);justify-content:space-between;gap:20px;padding:10px 24px;font-size:11px;display:flex}.menu-dialog{color:#112b32;background:#f8f5e9;border:3px solid #112b32;width:min(760px,92vw);padding:40px 48px;box-shadow:9px 10px #112b3280}.menu-dialog::backdrop{background:#081d25c9}.menu-dialog h2{margin:14px 0 28px;font:400 38px/1.2 Anton,sans-serif}.menu-dialog .launch-kicker{color:#526875}.menu-dialog fieldset{border:2px solid #b9cec0;margin-bottom:24px}.menu-dialog label{cursor:pointer;padding:10px;font-size:16px;display:block}.menu-dialog input{accent-color:#008878;vertical-align:middle;width:18px;height:18px;margin-right:10px}.menu-dialog input[type=range]{width:220px;height:18px;margin:0 0 0 12px}.menu-dialog .sound-option{margin-top:18px}.option-note,.menu-dialog dd{font:16px/1.5 Nunito Sans,sans-serif}.menu-dialog dt{margin-top:20px;font:22px Anton,sans-serif}.menu-dialog dd{margin:5px 0 18px}.close-menu-dialog{min-width:180px;margin-top:18px}@media (width<=950px){.launch-top>span:nth-child(2){display:none}.launch-stage{grid-template-columns:1fr;grid-template-areas:"identity""deck""actions";gap:20px;max-width:620px;padding:24px 20px}.launch-deck{height:240px}.launch-deck img{width:140px;left:calc(var(--i) * 70px)}.launch-menu[data-direction="02"] .launch-actions{grid-template-columns:1fr}.launch-menu[data-direction="02"] .launch-actions>button{margin:8px 0}.launch-menu[data-direction="02"] .menu-utilities,.launch-menu[data-direction="02"] .launch-ready{grid-column:1}.launch-menu[data-direction="02"] .launch-deck img{left:calc(var(--i) * 72px);width:140px}}@media (width<=550px){.launch-deck{height:220px}.launch-deck img,.launch-menu[data-direction="02"] .launch-deck img{width:110px;left:calc(var(--i) * 49px)}.launch-actions{padding:35px 18px 24px}.launch-top{padding:10px 14px}.launch-top>span:first-child{font-size:15px}.theme-switch{padding:7px;font-size:11px}.launch-footer>span:first-child{display:none}.direction-switch button{padding:8px;font-size:10px}.menu-dialog{padding:24px}}@media (prefers-reduced-motion:reduce){.launch-menu *{transition:none!important}}.game-options{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;max-height:90dvh;font-family:IBM Plex Mono,monospace;overflow:auto}.game-options button{cursor:pointer}.game-options{clip-path:polygon(2% 2%,8% 0,15% 1%,23% 0,32% 1.5%,41% 0,52% 1%,64% 0,75% 1%,87% 0,98% 2%,100% 8%,99% 20%,100% 35%,99% 51%,100% 67%,99% 82%,100% 95%,96% 100%,85% 99%,73% 100%,59% 98.5%,45% 100%,32% 99%,19% 100%,5% 99%,0 96%,1% 80%,0 65%,1% 49%,0 33%,1% 18%,0 7%);width:min(760px,94vw);box-shadow:none;background:#f8f5e9 radial-gradient(#594d3815 .6px,#0000 .8px) 0 0/9px 9px;border:0;padding:26px 34px 30px}.options-heading{border-bottom:3px solid #112b32;margin-bottom:18px;position:relative}.options-heading .launch-kicker{color:#112b32;letter-spacing:1px;background:#e9b343;margin:0;padding:6px 12px;font-size:10px;display:inline-block;transform:rotate(-1deg)}.options-heading h2{margin:8px 0 10px;font-size:44px}.options-code{color:#008878;font-size:18px;font-weight:700;position:absolute;bottom:16px;right:0}.option-sections{grid-template-columns:1fr 1fr;gap:14px 20px;display:grid}.game-options fieldset{background:#fffdf380;border:2px solid #b9cec0;margin:0;padding:8px 12px 12px}.game-options legend{color:#112b32;padding:0 6px;font:17px Anton,sans-serif}.game-options .theme-option,.game-options .motion-option{grid-column:1/-1}.game-options .theme-choices{gap:10px;display:flex}.game-options .theme-choices label{border:1px solid #b9cec0;flex:1;padding:9px;font-size:13px}.game-options .theme-choices label:has(:checked){background:#c8e2d1;border:2px solid #008878;padding:8px}.game-options .motion-option{padding:0 8px;font-size:13px}.game-options .sound-option{margin:0}.game-options .audio-toggle{padding:4px 0 10px;font-size:13px}.game-options .volume-control{padding:0}.volume-caption{justify-content:space-between;font-size:10px;font-weight:700;display:flex}.volume-caption output{color:#008878;font-size:14px}.volume-meter{height:43px;margin-top:4px;display:block;position:relative}.volume-segments{pointer-events:none;align-items:flex-end;gap:3px;height:38px;display:flex}.volume-segments>span{height:calc(13px + var(--segment) * 1.1px);background:#b9c4b966;flex:1}.volume-segments>.filled{background:#008878;box-shadow:inset 0 -2px #112b3240}.volume-segments>.filled:nth-child(n+13){background:#eba833}.volume-segments>.filled:nth-child(n+18){background:#ef563f}.game-options .volume-meter input[type=range]{opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.volume-meter:has(input:focus-visible){outline-offset:4px;outline:3px solid #008878}.options-footer{border-top:2px solid #b9cec0;align-items:center;gap:18px;margin-top:18px;padding-top:14px;display:flex}.options-footer .option-note{flex:1;margin:0;font-size:12px;line-height:1.5}.options-footer .close-menu-dialog{color:#fffaf0;background:#008878;min-width:165px;margin:0;padding:12px 16px;transform:rotate(-1deg)}.game-options button:hover{transform:rotate(0)translateY(-2px)}.game-options[data-theme=dark] .options-heading{border-bottom-color:#008878}@media (width<=550px){.game-options{padding:22px}.game-options .options-heading h2{font-size:38px}.game-options .option-sections{gap:10px}.game-options .options-footer{gap:10px;margin-top:12px;padding-top:10px}.game-options .options-footer .option-note{font-size:11px}.option-sections{grid-template-columns:1fr}.options-footer{flex-direction:column;align-items:stretch}.options-code{font-size:13px}.game-options .theme-choices label{font-size:11px}}@media (width>=951px) and (height<=650px){.launch-stage{padding:14px 0}.launch-identity h1{font-size:64px}.launch-deck{height:175px;margin-top:8px}.launch-deck img{width:110px;left:calc(10px + var(--i) * 60px)}.launch-actions{padding:22px 24px 16px}.launch-actions>button{padding:11px 14px}}.menu-account{border:2px dashed #b9cec0;border-radius:8px;margin-top:14px;padding:12px 14px}.menu-account.nudge{border-color:#ef694d;animation:.5s ease-in-out account-nudge}@keyframes account-nudge{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.launch-actions{padding:28px 28px 24px}.menu-account{border:0;border-radius:0;margin:0 0 20px;padding:0}.account-status{color:#112b32;background:#e9b343;border:1px solid #112b32;align-items:center;gap:8px;padding:6px 10px;font-size:10px;display:inline-flex;transform:rotate(-2deg)}.account-status svg{fill:none;stroke:currentColor;stroke-width:2px;width:16px;height:16px}.account-status.ready{color:#fffdf3;background:#00856b}.account-title{letter-spacing:.02em;margin:14px 0 12px;font:37px/1.07 Anton,sans-serif}.account-name{overflow-wrap:anywhere}.account-player{border-top:1px solid var(--m-line);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px 0 0;font-size:12px;display:flex}.account-player>span{overflow-wrap:anywhere;min-width:0}.account-player .sign-out{color:var(--m-soft);flex:none;font-size:11px}.account-invitation{color:var(--m-soft);margin:17px 0 0;font:11px/1.6 IBM Plex Mono,monospace}.account-note{margin:8px 0 16px;font:17px/1.4 Nunito Sans,sans-serif}.account-error{color:#c0392b;margin:6px 0 0;font:600 14px/1.4 Nunito Sans,sans-serif}.sign-in-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.menu-account a.sign-in,.menu-account form.redeem button,.menu-account form.rename button{background:var(--m-bg);color:var(--m-ink);border:2px solid var(--m-ink);cursor:pointer;border-radius:0;padding:11px 14px;font:700 17px Nunito Sans,sans-serif;text-decoration:none}.menu-account a.sign-in{align-items:center;gap:12px;min-width:0;min-height:47px;display:flex}.menu-account a.sign-in.primary{color:#112b32;background:#ef694d;border-color:#112b32;grid-column:1/-1;margin-bottom:4px;transform:rotate(-.8deg);box-shadow:4px 4px #112b32}.launch-menu[data-theme=dark] .menu-account a.sign-in.primary{background:#ff8267}.provider-mark{white-space:nowrap;flex:none;width:32px;font:19px IBM Plex Mono,monospace}.sign-in svg{fill:none;stroke:currentColor;stroke-width:2.5px;flex:none;width:23px;height:23px;margin-left:auto}.menu-account a.sign-in:hover,.menu-account a.sign-in:focus-visible{outline-offset:4px;outline:3px solid #008878;translate:0 -2px}.menu-account form.redeem,.menu-account form.rename{flex-wrap:wrap;align-items:flex-end;gap:8px;margin:16px 0;display:flex}.menu-account form.redeem label,.menu-account form.rename label{flex:1;min-width:150px;font-size:12px}.menu-account form.redeem button,.menu-account form.rename button{color:#112b32;background:#ef694d;border-color:#112b32;font-family:Anton,sans-serif;font-size:20px}.menu-account form.redeem input,.menu-account form.rename input{box-sizing:border-box;background:var(--m-bg);width:100%;color:var(--m-ink);border:2px solid #17343b;border-color:var(--m-ink);letter-spacing:.05em;text-transform:uppercase;border-radius:0;margin-top:7px;padding:7px 8px;font:600 15px ui-monospace,monospace;display:block}.menu-account a.sign-out{color:inherit}.menu-account form input[name=name]{letter-spacing:normal;text-transform:none;font:600 16px Nunito Sans,sans-serif}:is(.menu-account form.redeem label.name-field,.menu-account form.rename:has(.cancel-rename) label.name-field){flex-basis:100%}.menu-account form.rename .cancel-rename{color:var(--m-ink);border-color:var(--m-ink);background:0 0;font:700 15px Nunito Sans,sans-serif}.account-player .player-actions{flex:none;align-items:center;gap:12px;display:flex}.account-player .change-name{color:var(--m-soft);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;text-decoration:underline}.launch-actions>.access-locked,.launch-actions>.future-mode{color:var(--m-soft);background:var(--m-bg);border:1px solid var(--m-line);box-shadow:none;opacity:1;margin-bottom:8px;padding:9px 12px;font-size:18px;transform:none}.launch-actions>.access-locked{border-top:2px solid var(--m-line)}.launch-actions .locked{border:0;padding:0;font-size:9px}.launch-actions .menu-utilities{margin-top:16px}@media (width>=951px) and (height<=650px){.launch-actions{padding:22px 24px 20px}.account-title{margin:12px 0 10px;font-size:32px}.account-note{margin-bottom:12px;font-size:15px}.menu-account{margin-bottom:14px}.menu-account a.sign-in{min-height:40px;padding:8px 12px;font-size:15px}.account-invitation{margin-top:12px;font-size:10px}.launch-actions>.access-locked,.launch-actions>.future-mode{margin-bottom:6px;padding:7px 10px;font-size:16px}.launch-actions .menu-utilities{margin-top:12px}}@media (width<=550px){.launch-actions{padding:24px 22px}.account-title{font-size:32px}.menu-account a.sign-in{gap:8px;padding:10px;font-size:14px}.provider-mark{width:28px;font-size:16px}.launch-actions .locked{text-align:right;max-width:100px}}@media (prefers-reduced-motion:reduce){.menu-account.nudge{animation:none}}.booting{text-align:center;color:#557079;max-width:34em;margin:30vh auto 0;padding:0 16px;font:14px/1.6 IBM Plex Mono,monospace}.identity-row{flex-wrap:wrap;align-items:center;gap:8px 18px;margin:14px 0 0;display:flex}.identity-row .business-inks{margin:0}.what-is-this{color:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font:700 13px IBM Plex Mono,monospace;text-decoration:underline}.launch-links{align-items:center;gap:16px;display:flex}.launch-links a,.launch-links .what-is-this{color:inherit;font:inherit;margin:0}.menu-dialog .about{font:15px/1.55 Nunito Sans,sans-serif}.menu-dialog .about p{margin:0 0 12px}.menu-dialog .about img{border:2px solid #112b32;width:auto;max-width:100%;height:auto;max-height:34vh;margin:8px auto 16px;display:block}
