.card{--cw: 96px;--ch: 134px;--el-a: var(--line-strong);--el-b: var(--el-a);position:relative;flex:none;width:var(--cw);height:var(--ch);padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;transition:transform var(--dur-fast) var(--ease-out),filter var(--dur-fast) ease}.card--hand{--ch: clamp(112px, 16vh, 179px);--cw: calc(var(--ch) * .716)}.card--field{--ch: clamp(84px, 11.5vh, 134px);--cw: calc(var(--ch) * .716)}.card--small{--ch: clamp(56px, 7.5vh, 89px);--cw: calc(var(--ch) * .716)}.card--large{--ch: min(64vh, 520px);--cw: calc(var(--ch) * .716)}.card--large .card__body:has(.card__img.is-loaded) .card__plate{display:none}.card--large .card__frame:has(.card__img.is-loaded)>.card__gem,.card--large .card__frame:has(.card__img.is-loaded)>.card__pips{display:none}.card--large .card__img{object-fit:contain}.card__face{position:absolute;inset:0;border-radius:calc(var(--cw) * .07);box-shadow:0 2px color-mix(in oklab,var(--el-a) 45%,black),var(--shadow-2)}.card.is-dull:not(.card--large) .card__face{inset:50% auto auto 50%;width:var(--cw);height:var(--ch);transform:translate(-50%,-50%) rotate(90deg) scale(.716)}.zone--square .card.is-dull .card__face{transform:translate(-50%,-50%) rotate(90deg)}.card__frame{position:absolute;inset:0;padding:calc(var(--cw) * .035);border-radius:calc(var(--cw) * .07);background:linear-gradient(155deg,color-mix(in oklab,var(--el-a) 80%,white) 0%,var(--el-a) 28%,color-mix(in oklab,var(--el-a) 55%,black) 48%,color-mix(in oklab,var(--el-b) 55%,black) 52%,var(--el-b) 72%,color-mix(in oklab,var(--el-b) 80%,white) 100%)}.card__body{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;border-radius:calc(var(--cw) * .05);background:var(--stage-0);box-shadow:inset 0 0 0 1px #ffffff24,inset 0 2px 8px #0009}.card__art{position:relative;flex:1;min-height:0;overflow:hidden;background:radial-gradient(120% 90% at 50% 18%,color-mix(in oklab,var(--el-a) 38%,var(--stage-1)),var(--stage-0) 78%)}.card__art:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='96' height='96' filter='url(%23n)'/%3E%3C/svg%3E")}.card__genart{position:absolute;inset:0;width:100%;height:100%}.card__code{position:absolute;right:4px;bottom:6px;font-family:var(--font-display);font-weight:600;font-size:clamp(6px,calc(var(--cw) * .07),11px);letter-spacing:.04em;color:#eef0ff99}.card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .22s ease}.card__img.is-loaded{opacity:1}.card__gem{position:absolute;top:calc(var(--cw) * -.07);left:calc(var(--cw) * -.07);z-index:2;display:grid;place-items:center;width:clamp(18px,calc(var(--cw) * .3),40px);height:clamp(18px,calc(var(--cw) * .3),40px);border-radius:22%;transform:rotate(45deg);background:linear-gradient(155deg,color-mix(in oklab,var(--el-a) 65%,white),var(--el-a) 45%,color-mix(in oklab,var(--el-b) 65%,black));box-shadow:0 0 0 clamp(1px,calc(var(--cw) * .018),2px) #fffc,var(--shadow-1)}.card__gem span{transform:rotate(-45deg);font-family:var(--font-display);font-size:clamp(11px,calc(var(--cw) * .17),24px);font-weight:900;color:#fff;-webkit-text-stroke:.14em var(--stage-0);paint-order:stroke fill}.card__pips{position:absolute;top:4px;right:4px;z-index:2;display:flex;gap:3px}.pip{width:clamp(6px,calc(var(--cw) * .085),12px);height:clamp(8px,calc(var(--cw) * .12),17px);clip-path:polygon(50% 0,100% 35%,50% 100%,0 35%);background:linear-gradient(160deg,color-mix(in oklab,currentcolor 45%,white),currentcolor 60%)}.pip--fire{color:var(--el-fire)}.pip--ice{color:var(--el-ice)}.pip--wind{color:var(--el-wind)}.pip--earth{color:var(--el-earth)}.pip--lightning{color:var(--el-lightning)}.pip--water{color:var(--el-water)}.pip--light{color:var(--el-light)}.pip--dark{color:var(--el-dark)}.card__plate{position:relative;z-index:1;flex:none;padding:calc(var(--cw) * .035) calc(var(--cw) * .05) calc(var(--cw) * .045);border-top:1px solid color-mix(in oklab,var(--el-a) 55%,transparent);background:linear-gradient(180deg,#07081ac7,#07081af7)}.card__name{display:block;overflow:hidden;font-family:var(--font-display);font-weight:800;font-size:clamp(8px,calc(var(--cw) * .12),22px);line-height:1.15;letter-spacing:.03em;text-transform:uppercase;color:var(--ink);white-space:nowrap;text-overflow:ellipsis}.card__meta{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s1);margin-top:2px}.card__type{font-family:var(--font-display);font-size:clamp(6px,calc(var(--cw) * .075),12px);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.card__meta{position:static}.card__power{position:absolute;right:calc(var(--cw) * .05);bottom:calc(100% + var(--cw) * .02);z-index:2;font-family:var(--font-display);font-size:clamp(12px,calc(var(--cw) * .25),44px);font-style:italic;font-weight:900;line-height:1;color:#fff;-webkit-text-stroke:.16em var(--stage-0);paint-order:stroke fill;text-shadow:0 2px 6px rgb(0 0 0 / 60%);font-variant-numeric:tabular-nums;white-space:nowrap}.card__meta:has(.card__power) .card__type{display:none}.card--small .card__power em{display:none}.card__power--hurt{color:var(--danger-hot)}.card__power em{font-size:.45em;font-style:normal;color:#eef0ffbf;-webkit-text-stroke-width:.2em}.card__buffs{position:absolute;left:calc(var(--cw) * .04);top:clamp(14px,calc(var(--cw) * .28),40px);z-index:1;display:flex;flex-wrap:wrap;gap:2px;max-width:62%}.card__buff{padding:0 .35em;border-radius:3px;background:var(--accent-gold);color:var(--stage-0);font-family:var(--font-display);font-size:clamp(7px,calc(var(--cw) * .085),12px);font-weight:800;line-height:1.5;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.card--small .card__type{display:none}.card--small .card__meta:not(:has(.card__power)){display:none}.card__damage{position:absolute;right:0;bottom:0;left:0;height:4px;background:linear-gradient(180deg,#00000073,#00000073)}.card__damage:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--dmg, 0%);background:linear-gradient(180deg,#e0685a,#a8382f);box-shadow:0 0 10px -2px #e0685ae5}.card__back{position:absolute;inset:0;border-radius:calc(var(--cw) * .07);background:radial-gradient(circle at 50% 42%,#2b3fa0,#141a52 55%,#090b24);box-shadow:inset 0 0 0 calc(var(--cw) * .03) #ffc94da6,inset 0 0 0 calc(var(--cw) * .06) #090b24,inset 0 0 0 calc(var(--cw) * .072) #ffc94d59,var(--shadow-2)}.card__back:before{content:"";position:absolute;top:50%;left:50%;width:48%;aspect-ratio:1;transform:translate(-50%,-50%) rotate(45deg);border:1px solid rgb(255 201 77 / 55%)}.card__back:after{content:"";position:absolute;top:50%;left:50%;width:30%;aspect-ratio:3 / 4;transform:translate(-50%,-50%);clip-path:polygon(50% 0%,100% 32%,78% 100%,22% 100%,0% 32%);background:linear-gradient(160deg,#e6fbff,var(--accent-act) 45%,#2a5fd0);opacity:.9}.card__paying{position:absolute;top:6px;left:50%;z-index:2;transform:translate(-50%);padding:1px 5px;border-radius:3px;background:var(--gold);color:#0b1216;font-family:var(--font-condensed);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.card.is-paying-discard .card__paying{background:var(--danger);color:#fff}.card.is-paying-flip .card__paying{background:#b58a3c;color:#fff}.card.is-paying-flip .card__face,.card.is-paying-flip.is-selectable .card__face,.card.is-paying-flip.is-selectable:hover .card__face{box-shadow:var(--shadow-lift),0 0 0 3px #d9a94a,0 0 18px -4px #d9a94ab3}.card.is-paying-discard .card__face,.card.is-paying-discard.is-selectable .card__face,.card.is-paying-discard.is-selectable:hover .card__face{box-shadow:var(--shadow-lift),0 0 0 3px var(--danger),0 0 22px -4px #d8574a99;animation:discard-flame .9s ease-in-out infinite}@keyframes discard-flame{0%,to{box-shadow:var(--shadow-lift),0 0 0 3px #d8574a,0 0 18px -2px #d8574ab3,0 -6px 26px -6px #ff8c3c8c}50%{box-shadow:var(--shadow-lift),0 0 0 3px #fff1e8,0 0 30px 2px #ff785af2,0 -14px 34px -4px #ffbe5acc}}.card.is-paying-dull .card__face{box-shadow:var(--shadow-lift),0 0 0 3px var(--gold),0 0 22px -4px var(--gold-glow)}.card:not(.card--large):hover{transform:translateY(-10px) scale(1.08);z-index:3}.card:not(.card--large):hover .card__face{box-shadow:var(--shadow-lift),0 0 0 1px #e9f0f473}.card.is-dull:not(.card--large):hover{transform:translateY(-5px) scale(1.06)}.card.is-selectable{cursor:pointer}.card__face:after{content:"";position:absolute;inset:-3px;border-radius:inherit;pointer-events:none;opacity:0}.card[data-role=selectable][data-paying=none] .card__face:after,.card[data-role=targetable] .card__face:after{opacity:.8;box-shadow:0 0 0 2px var(--accent-act),0 0 18px var(--accent-act-glow);animation:act-pulse calc(1.6s * var(--motion-scale, 1)) ease-in-out infinite}.card[data-role=selectable][data-paying=none]:hover .card__face:after{opacity:1;animation:none}@keyframes act-pulse{0%,to{opacity:.45}50%{opacity:1}}html[data-reduced-motion=true] .card .card__face:after{animation:none}html[data-reduced-motion=true] .card[data-role=selectable][data-paying=none] .card__face:after,html[data-reduced-motion=true] .card[data-role=targetable] .card__face:after{opacity:.9}.card[data-role=targeted] .card__face:after{opacity:1;box-shadow:0 0 0 3px var(--accent-act),0 0 22px var(--accent-act-glow),inset 0 0 0 999px #5de4ff1a}.card[data-role=invalid]{filter:saturate(.35) brightness(.6)}.card[data-emphasis=attacking] .card__face{box-shadow:0 0 0 3px var(--danger-hot),0 0 22px #ff4d6d8c,var(--shadow-2)}.card[data-emphasis=blocking] .card__face{box-shadow:0 0 0 3px var(--state-opponent),0 0 22px #ff7a597f,var(--shadow-2)}.card[data-emphasis=on-stack] .card__face{box-shadow:0 0 0 3px var(--accent-gold),0 0 22px var(--accent-gold-glow),var(--shadow-2)}.card[data-emphasis=just-played] .card__face{box-shadow:0 0 0 2px #fff,0 0 26px #ffffff8c,var(--shadow-2)}.card[data-role=selected] .card__face{box-shadow:var(--shadow-lift),0 0 0 3px var(--accent-gold),0 0 26px -4px var(--accent-gold-glow)}.card[data-role=selected] .card__plate{border-top-color:var(--accent-gold);background:linear-gradient(180deg,#241d0f,#17120a)}.card.is-selected{z-index:4}.card:focus-visible{outline:2px solid #fff;outline-offset:6px;border-radius:calc(var(--cw) * .07)}:root{--bg-room: #080b0f;--bg-table: #0f1a1e;--bg-lamp: #1d3138;--surface: #141d23;--surface-raised: #1b262d;--surface-sunken: #0b1216;--surface-glass: rgb(20 29 35 / 82%);--line: #2b3a44;--line-soft: rgb(163 194 209 / 10%);--line-strong: #3d5260;--ink: #e9f0f4;--ink-2: #a7bac6;--ink-3: #6f8593;--gold: #d9b874;--gold-dim: #7d6738;--gold-glow: rgb(217 184 116 / 35%);--focus: #63d3ec;--danger: #d8574a;--ok: #59c98a;--el-fire: #ef5b3c;--el-ice: #6fc7e8;--el-wind: #59c98a;--el-earth: #d7a541;--el-lightning: #b57ceb;--el-water: #4f8ff0;--el-light: #f0e4b8;--el-dark: #8479a1;--font-ui: "Avenir Next", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, sans-serif;--font-condensed: "Avenir Next Condensed", "Roboto Condensed", "Segoe UI Semibold", var(--font-ui);--font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--font-mono: ui-monospace, "SF Mono", Menlo, "Cascadia Mono", Consolas, monospace;--t-micro: .625rem;--t-xs: .6875rem;--t-sm: .8125rem;--t-base: .9375rem;--t-md: 1.0625rem;--t-lg: 1.375rem;--t-xl: 2rem;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--r-sm: 3px;--r-md: 6px;--r-lg: 10px;--r-card: 7px;--shadow-card: 0 2px 6px rgb(0 0 0 / 55%), 0 8px 20px rgb(0 0 0 / 35%);--shadow-lift: 0 10px 28px rgb(0 0 0 / 60%);--shadow-panel: 0 1px 0 rgb(255 255 255 / 5%) inset, 0 12px 32px rgb(0 0 0 / 45%);--rail-w: 320px;--card-lift-room: 22px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-ui);font-size:var(--t-base);color:var(--ink);background:radial-gradient(120% 80% at 50% 46%,var(--bg-lamp) 0%,var(--bg-table) 46%,var(--bg-room) 100%),var(--bg-room);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:var(--r-sm)}.table{display:grid;grid-template-columns:auto minmax(16ch,1fr) auto var(--rail-w);grid-template-rows:auto minmax(0,1fr) auto minmax(0,1fr) calc(clamp(112px,16vh,179px) + 32px);grid-template-areas:"toolbar  toolbar  toolbar  toolbar" "opponent opponent opponent stack" "lead     centre   actions  rail" "player   player   player   rail" "hand     hand     hand     rail";height:100%;gap:0;background:radial-gradient(60% 50% at 50% 50%,color-mix(in oklab,var(--stage-3) 55%,transparent),transparent 75%),linear-gradient(180deg,var(--stage-1),var(--stage-0))}.table:before{content:"";grid-row:3;grid-column:1 / 4;border-block:1px solid color-mix(in oklab,var(--accent-act) 30%,transparent);background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--accent-act) 9%,transparent),transparent)}.table__prompt.prompt{display:contents}.prompt__lead{grid-area:lead;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;padding:var(--s1) var(--s4);z-index:1}.table__stack{grid-area:stack;display:flex;flex-direction:column;padding:var(--s3);border-left:1px solid var(--line);background:color-mix(in oklab,var(--stage-0) 80%,transparent)}.table__stack-title{font-family:var(--font-display);font-weight:800;font-size:11px;letter-spacing:.14em;color:var(--ink-3)}.phase-track{display:flex;gap:2px;margin:0;padding:0;list-style:none}.phase-track__step{padding:1px 7px;border-radius:999px;font-family:var(--font-display);font-weight:600;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.phase-track__step--now{background:var(--accent-act);color:var(--stage-0);font-weight:800}.table__hand{grid-area:hand;display:flex;align-items:flex-end;justify-content:center;gap:var(--s5);min-height:0;padding:0 var(--s5)}.table__seat{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--s4);align-items:center;min-height:0;padding:var(--s2) var(--s5);overflow-y:auto}.table__seat>.seat{grid-column:1;grid-row:1 / span 3;flex-direction:column;align-items:stretch;gap:var(--s2);width:200px;margin:0}.table__seat>.seat .seat__stats{flex-wrap:wrap;gap:var(--s1) var(--s4);margin-left:0}.table__seat>.zone,.table__seat>.seat-row{grid-column:2}.table__seat--opponent{grid-area:opponent;align-content:end}.table__seat--player{grid-area:player;align-content:start}.table__seat--player>.zone:last-child{order:-1}.seat-row{display:flex;gap:var(--s5);align-items:flex-end;justify-content:center}.table__rail{grid-area:rail;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--line);background:linear-gradient(180deg,#080b0f99,#080b0f40)}.seat{display:flex;align-items:center;gap:var(--s5);padding:var(--s2) var(--s3);border:1px solid var(--line-soft);border-radius:var(--r-md);background:linear-gradient(180deg,rgb(255 255 255 / 3%),transparent)}.seat--active{border-color:var(--gold-dim);box-shadow:0 0 0 1px #d9b8742e,0 0 24px -8px var(--gold-glow)}.seat__name{font-family:var(--font-condensed);font-size:var(--t-md);font-weight:600;letter-spacing:.14em;text-transform:uppercase}.seat__name--you{color:var(--gold)}.seat__stats{display:flex;align-items:center;gap:var(--s4);margin-left:auto}.stat{display:flex;align-items:baseline;gap:var(--s2)}.stat__label{font-family:var(--font-condensed);font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.stat__value{font-family:var(--font-mono);font-size:var(--t-sm);font-variant-numeric:tabular-nums;color:var(--ink)}.damage-track{display:flex;gap:3px}.damage-pip{width:11px;height:15px;border:0;border-radius:0;clip-path:polygon(50% 0,100% 35%,50% 100%,0 35%);background:linear-gradient(160deg,#ffffff2e,#ffffff0f)}.damage-pip.is-filled{background:linear-gradient(115deg,#ffd1da 0 12%,var(--danger-hot) 12% 46%,#fff 46% 50%,#a3122e 50%)}.zone{position:relative;display:flex;flex-direction:column;gap:var(--s2)}.zone__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.zone__cards{display:flex;align-items:flex-end;gap:var(--s3);min-height:calc(clamp(84px,11.5vh,134px) + var(--card-lift-room) + 4px + 6px);padding-bottom:var(--s1);padding-top:var(--card-lift-room);margin-top:calc(-1 * var(--card-lift-room));overflow-x:auto;justify-content:safe center}.zone-sheet{width:min(92vw,960px)}.zone-sheet__body{padding:var(--s5);display:flex;flex-direction:column;gap:var(--s4)}.zone-sheet .zone__cards{justify-content:flex-start;flex-wrap:wrap;overflow-x:visible;max-height:60vh;overflow-y:auto;margin-top:0}.zone__cards--compact{min-height:calc(clamp(56px,7.5vh,89px) + var(--card-lift-room) + 4px + 6px)}.zone__cards--empty:before{content:"empty";align-self:center;font-family:var(--font-condensed);font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);opacity:.5}.hand{display:flex;overflow-x:auto;justify-content:safe center;align-items:flex-end;min-height:calc(clamp(112px,16vh,179px) + 11px);padding:calc(var(--s2) + var(--card-lift-room) + 12px) 0 var(--s4);margin-top:calc(-1 * (var(--card-lift-room) + 12px))}.grid__row{display:flex;justify-content:safe center;align-items:flex-end;gap:var(--s2);padding:3px 12px}.grid__row>[role=gridcell]{display:flex;border-radius:8px}.grid__row>[role=gridcell]:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.hand [role=gridcell]{--o: calc(var(--i, 0) - (var(--n, 1) - 1) / 2);--m: calc((var(--n, 1) - 1) / 2);--lift: calc((var(--o) * var(--o) - var(--m) * var(--m)) * min(2px, 12px / max(1, var(--m) * var(--m))));--turn: min(2.5deg, 10deg / max(1, var(--m)));margin-inline-start:calc(clamp(112px,16vh,179px)*-.1432);transform:translateY(var(--lift)) rotate(calc(var(--o) * var(--turn)));transform-origin:50% 120%;transition:transform var(--dur-fast) var(--ease-out)}.hand [role=gridcell]:first-child{margin-inline-start:0}.hand>.grid__row{padding-inline:calc(12px + clamp(112px,16vh,179px)/5)}.table__hand>.hand{flex:1 0 auto;max-width:100%}.table__hand>.zone{flex:0 1 auto;min-width:0}.zone--fan [role=gridcell]+[role=gridcell]{margin-inline-start:calc(clamp(56px,7.5vh,89px)*-.358)}.zone--fan [role=gridcell]:hover,.zone--fan [role=gridcell]:focus-within{z-index:5}.hand [role=gridcell]:hover{z-index:5;transform:translateY(var(--lift))}.hand [role=gridcell]:focus-within{z-index:5;transform:translateY(calc(var(--lift) - 10px))}.zone--square .card{width:var(--ch)}.zone--square .card:not(.is-dull) .card__face{inset:0 auto auto 50%;width:var(--cw);height:var(--ch);transform:translate(-50%)}.deck-stack{display:flex;align-items:center;gap:var(--s2);font-family:var(--font-mono);font-size:var(--t-sm);color:var(--ink-2)}.prompt__phase{flex:none;padding:var(--s1) var(--s3);border:1px solid var(--line-strong);border-radius:999px;font-family:var(--font-condensed);font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}.prompt__phase--yours{border-color:var(--gold-dim);color:var(--gold)}.prompt__text{grid-area:centre;align-self:center;justify-self:center;z-index:1;max-width:70ch;padding:var(--s2) var(--s4);font-family:var(--font-body);font-weight:600;font-size:15px;letter-spacing:.01em;text-align:center}.stack-row{grid-area:stack;z-index:1;align-self:start;margin:calc(var(--s3) + 18px) var(--s3) var(--s3);max-height:calc(100% - 48px);overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:var(--s1) var(--s3);list-style:none;border:1px solid var(--line-strong);border-radius:6px;font-family:var(--font-condensed);font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.stack-row__item--top{color:var(--gold)}.prompt__actions{grid-area:actions;align-self:center;z-index:1;padding:var(--s2) var(--s4);display:flex;gap:var(--s2);margin-left:auto}.btn{padding:var(--s2) var(--s4);border:1px solid var(--line-strong);border-radius:var(--r-md);background:linear-gradient(180deg,var(--surface-raised),var(--surface));color:var(--ink);font-family:var(--font-condensed);font-size:var(--t-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.btn:hover:not(:disabled){border-color:var(--gold-dim);transform:translateY(-1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{border-color:var(--gold-dim);background:linear-gradient(180deg,#3a3018,#241d0f);color:var(--gold)}.btn--primary:hover:not(:disabled){box-shadow:0 0 20px -6px var(--gold-glow)}.btn--ghost{border-color:transparent;background:none;color:var(--ink-3)}.btn--danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.thinking{display:inline-flex;gap:4px;vertical-align:middle}.thinking span{width:5px;height:5px;border-radius:50%;background:var(--gold);animation:pulse-dot 1s ease-in-out infinite}.thinking span:nth-child(2){animation-delay:.15s}.thinking span:nth-child(3){animation-delay:.3s}@keyframes pulse-dot{0%,to{opacity:.25}50%{opacity:1}}.stat__open{padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;border-radius:4px}.stat__open:hover{color:var(--gold)}.stat__open:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.stat__open[aria-expanded=true]{color:var(--gold)}.details{flex:0 0 auto;padding:10px 12px;border-bottom:1px solid var(--line);max-height:50%;overflow-y:auto}.details--empty{color:var(--dim)}.details__hint{margin:0;font-size:12px;font-style:italic}.details__name{margin:0 0 2px;font-family:var(--font-condensed);font-size:18px;letter-spacing:.02em}.details__meta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px;color:var(--dim);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.details__text{margin:0;color:var(--ink);font-size:15px;line-height:1.5;white-space:pre-line}.details__action{margin:6px 0 0;padding-top:6px;border-top:1px solid var(--line);font-size:12px;line-height:1.35}.details__caveat{margin:6px 0 0;color:var(--gold);font-size:11px;line-height:1.35}.log{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.log__head{display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s4) var(--s2);border-bottom:1px solid var(--line)}.log__lines{flex:1;min-height:0;overflow-y:auto;padding:var(--s3) var(--s4);font-size:var(--t-sm);line-height:1.55}.log__line{color:var(--ink-2)}.log__line+.log__line{margin-top:var(--s1)}.log__line--phase{margin-top:var(--s3);padding-top:var(--s2);border-top:1px solid var(--line-soft);font-family:var(--font-condensed);font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.log__line--human{color:var(--gold)}.log__line--ai{color:#8fb6c9}.log__line--event{color:var(--ink-2)}.log__line--warning{color:#e0a94a}.log__line--result{margin-top:var(--s3);font-family:var(--font-serif);font-size:var(--t-md);font-style:italic;color:var(--ink)}.panel{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-panel)}.eyebrow{font-family:var(--font-condensed);font-size:var(--t-micro);font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}.chip{padding:2px var(--s2);border:1px solid var(--line);border-radius:999px;font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-2)}.banner{position:fixed;inset:0;z-index:20;display:grid;place-content:center;justify-items:center;gap:var(--s4);text-align:center;background:#06090cc7;backdrop-filter:blur(3px)}.banner__title{margin:0;font-family:var(--font-serif);font-size:var(--t-xl);font-weight:400;letter-spacing:.02em;color:var(--gold)}.banner__reason{margin:0;color:var(--ink-2)}.picker{grid-area:toolbar;display:flex;align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;padding:var(--s1) var(--s5);border-bottom:1px solid var(--line-soft)}.picker__label{font-family:var(--font-condensed);font-size:var(--t-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.picker__select{padding:var(--s1) var(--s2);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--t-sm)}.picker .btn{margin-left:auto;padding:var(--s1) var(--s3)}.rail__help{display:flex;justify-content:flex-end;padding:var(--s2) var(--s3) 0}.howto{position:fixed;inset:0;z-index:20;width:min(44rem,calc(100vw - 2 * var(--s5)));max-height:calc(100vh - 2 * var(--s5));margin:auto;padding:0;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--ink);box-shadow:0 30px 80px -20px #000c;overflow:auto}.howto::backdrop{background:#06090cc7;backdrop-filter:blur(3px)}.howto__sheet{padding:var(--s5) var(--s6);font-size:var(--t-base);line-height:1.55}.howto__title{margin:0 0 var(--s2);font-family:var(--font-serif);font-size:var(--t-xl);font-weight:400;letter-spacing:.02em;color:var(--gold)}.howto__lede{margin:0 0 var(--s4);color:var(--ink-2)}.howto__section+.howto__section{margin-top:var(--s4)}.howto__section h3{margin:0 0 var(--s1);font-family:var(--font-condensed);font-size:var(--t-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.howto__section p{margin:0}.howto__section strong{color:var(--gold);font-weight:600}.howto__section em{color:var(--ink-2)}.howto__actions{display:flex;justify-content:flex-end;margin-top:var(--s5)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sheet{position:fixed;inset:0;z-index:20;width:min(60rem,calc(100vw - 2 * var(--s5)));max-height:calc(100vh - 2 * var(--s5));margin:auto;padding:0;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 30px 80px -20px #000c;overflow:auto}.sheet::backdrop{background:#06090cc7;backdrop-filter:blur(3px)}.sheet__body{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s6);padding:var(--s5) var(--s6);align-items:start}.sheet__card{display:flex;align-items:center;justify-content:center;animation:sheet-rise .22s cubic-bezier(.2,.8,.3,1)}@keyframes sheet-rise{0%{transform:scale(.6) translateY(24px);opacity:0}to{transform:none;opacity:1}}.sheet__text{display:flex;flex-direction:column;gap:var(--s2);min-width:0}.sheet__name{margin:0;font-family:var(--font-serif);font-size:var(--t-xl);font-weight:400;letter-spacing:.02em;color:var(--gold)}.sheet__meta{display:flex;flex-wrap:wrap;gap:var(--s2);margin:0;color:var(--ink-3);font-family:var(--font-condensed);font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.08em}.sheet__printed{margin:0;font-size:var(--t-md);line-height:1.55;white-space:pre-line}.sheet__caveat{margin:0;color:var(--gold);font-size:var(--t-sm)}.sheet__actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s4);align-items:flex-start}.sheet__action{text-transform:none;letter-spacing:.01em;font-weight:500;max-width:28rem;white-space:normal;text-align:left}.sheet__blocked{display:flex;flex-direction:column;gap:var(--s1)}.sheet__why{font-size:var(--t-xs);color:var(--ink-3);font-style:italic}.tray{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4);width:100%;justify-content:flex-end}.tray__crystals{display:inline-flex;gap:6px;align-items:center}.crystal{--c: var(--ink-3);display:inline-block;width:26px;height:36px;clip-path:polygon(50% 0%,100% 34%,72% 100%,28% 100%,0% 34%);background:linear-gradient(155deg,color-mix(in srgb,var(--c) 55%,#0b1216),color-mix(in srgb,var(--c) 20%,#0b1216));opacity:.6;transition:opacity .18s ease,filter .18s ease,transform .18s cubic-bezier(.2,.8,.3,1)}.crystal--fire{--c: var(--el-fire)}.crystal--ice{--c: var(--el-ice)}.crystal--wind{--c: var(--el-wind)}.crystal--earth{--c: var(--el-earth)}.crystal--lightning{--c: var(--el-lightning)}.crystal--water{--c: var(--el-water)}.crystal--light{--c: var(--el-light)}.crystal--dark{--c: var(--el-dark)}.crystal--any{--c: var(--ink-2)}.crystal.is-lit{opacity:1;background:linear-gradient(155deg,color-mix(in srgb,var(--c) 100%,white 10%),var(--c) 55%,color-mix(in srgb,var(--c) 60%,#0b1216));filter:drop-shadow(0 0 6px var(--c));transform:scale(1.12);animation:crystal-light .26s cubic-bezier(.2,.8,.3,1)}.tray__lb{display:inline-flex;gap:4px;align-items:center;margin-right:6px}.lbflip{display:inline-block;width:22px;height:30px;border-radius:3px;border:2px solid var(--ink-3);background:repeating-linear-gradient(135deg,var(--ink-3) 0 3px,transparent 3px 7px);opacity:.6;transition:opacity .18s ease,transform .18s ease}.lbflip.is-lit{opacity:1;background:var(--el-earth, #b58a3c);border-color:#fff;transform:scale(1.1)}@keyframes crystal-light{0%{transform:scale(.9);filter:drop-shadow(0 0 0 transparent)}60%{transform:scale(1.25)}to{transform:scale(1.12)}}.tray__paid{font-family:var(--font-mono);font-size:var(--t-sm);font-variant-numeric:tabular-nums;color:var(--ink-2)}.tray__ask{display:inline-flex;align-items:center;gap:var(--s1)}.tray__ask-label{font-size:var(--t-sm);color:var(--ink-2)}.tray__buttons{display:inline-flex;gap:var(--s2)}.tray__chips{display:inline-flex;flex-wrap:wrap;gap:var(--s2);align-items:center}.chip{padding:2px var(--s3);border:1px solid var(--gold-dim);border-radius:999px;background:transparent;color:var(--gold);font:inherit;font-size:var(--t-xs);cursor:pointer}.card.is-chosen .card__face{outline:2px solid var(--gold);outline-offset:2px}.card__paying--chosen{background:var(--gold);color:#000}.prompt__actions .btn--primary{font-family:var(--font-display);font-weight:900;font-style:italic;letter-spacing:.06em;color:#1a1200;background:linear-gradient(180deg,#ffe08a,var(--accent-gold) 55%,#d99a12);box-shadow:0 0 0 2px #ffffff4d inset,0 0 18px var(--accent-gold-glow)}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2) format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2) format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2) format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2) format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2) format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2) format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-vietnamese-800-normal-CpjukuLw.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-800-normal-BZxKbt5V.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-ext-800-normal-DGNyg4u8.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-800-normal-gY_0Gifi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-800-normal-BKzMuPgK.woff2) format("woff2"),url(/assets/barlow-condensed-latin-800-normal-e9GbPXiK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/barlow-condensed-vietnamese-900-normal-Dt_hWMjt.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-900-normal-swJS2L_Y.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/barlow-condensed-latin-ext-900-normal-BgjSW1bu.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-900-normal-CoV-fQpy.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/barlow-condensed-latin-900-normal-SFh9ViAc.woff2) format("woff2"),url(/assets/barlow-condensed-latin-900-normal-Bz1RFETY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:italic;font-display:swap;font-weight:900;src:url(/assets/barlow-condensed-vietnamese-900-italic-Pw11u57-.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-900-italic-BnvR5tNv.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:italic;font-display:swap;font-weight:900;src:url(/assets/barlow-condensed-latin-ext-900-italic-OCLYmYcb.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-900-italic-Cy3mWZLr.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:italic;font-display:swap;font-weight:900;src:url(/assets/barlow-condensed-latin-900-italic-BRE8F-lA.woff2) format("woff2"),url(/assets/barlow-condensed-latin-900-italic-CRRJoTIA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--stage-0: #07081a;--stage-1: #0d0f2a;--stage-2: #15173d;--stage-3: #221f55;--accent-act: #5de4ff;--accent-act-glow: rgb(93 228 255 / 55%);--accent-gold: #ffc94d;--accent-gold-glow: rgb(255 201 77 / 50%);--danger-hot: #ff4d6d;--gain: #3ee08f;--state-targetable: var(--accent-act);--state-selected: var(--accent-gold);--state-invalid: #6a6f99;--state-opponent: #ff7a59;--el-fire: #ff5a36;--el-ice: #5fd0ff;--el-wind: #3ee08f;--el-earth: #f0b232;--el-lightning: #b86bff;--el-water: #3d8bff;--el-light: #fff1b8;--el-dark: #8c7bd1;--font-display: "Barlow Condensed", "Avenir Next Condensed", "Roboto Condensed", sans-serif;--font-body: "Barlow", "Avenir Next", "Segoe UI", system-ui, sans-serif;--z-board: 0;--z-hand: 10;--z-stack: 20;--z-flight: 30;--z-fx: 40;--z-inspect: 50;--z-banner: 60;--z-dialog: 70;--shadow-1: 0 2px 6px rgb(0 0 0 / 45%);--shadow-2: 0 8px 18px rgb(0 0 0 / 55%);--shadow-3: 0 18px 40px rgb(0 0 0 / 65%);--dur-instant: calc(70ms * var(--motion-scale, 1));--dur-fast: calc(.14s * var(--motion-scale, 1));--dur-base: calc(.22s * var(--motion-scale, 1));--dur-move: calc(.32s * var(--motion-scale, 1));--dur-reveal: calc(.45s * var(--motion-scale, 1));--dur-dramatic: calc(.8s * var(--motion-scale, 1));--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-overshoot: cubic-bezier(.34, 1.56, .64, 1)}
