:root{--felt: #2c4145;--felt-2: #1f3034;--felt-3: #142226;--panel: #0e1416;--panel-2: #141d20;--panel-3: #1e2b2e;--gold: #d9bc7c;--gold-dim: #8a7448;--arc: #74c7bd;--parch: #ece4d2;--ink: #0a1012;--muted: #92a4a6;--pick: #ffd24a;--picked: #5ad9ff;--strike: #ff6b4a;--card-field: clamp(102px, 7.4vw, 152px);--card-hand: clamp(112px, 8vw, 168px);--card-side: clamp(66px, 4.8vw, 92px);--plate-w: clamp(184px, 15vw, 268px);--card-mem: clamp(42px, 3.2vw, 60px);--good: #7fd18f;--danger: #e4625a;--warn: #f0b755;--ui: "Alegreya Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--display: "Cinzel", Georgia, "Times New Roman", serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--panel);color:var(--parch);font:13px/1.45 var(--ui);overflow:hidden;-webkit-font-smoothing:antialiased}b{font-variant-numeric:tabular-nums}.room{display:grid;grid-template-columns:250px minmax(0,1fr) 176px;grid-template-rows:minmax(0,100%);height:100%;max-height:100%;overflow:hidden;background:radial-gradient(1200px 800px at 50% 40%,#162124 0%,var(--panel) 70%)}.col-left,.col-right{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:linear-gradient(180deg,var(--panel-2),var(--panel));border-right:1px solid #060a0b;box-shadow:inset -1px 0 #d9bc7c1f}.col-right{border-right:0;border-left:1px solid #060a0b;box-shadow:inset 1px 0 #d9bc7c1f;padding:10px;gap:9px}.preview-slot{height:306px;margin:10px;border-radius:10px;border:1px solid var(--panel-3);background:#180f09;display:grid;place-items:center;overflow:hidden;position:relative}.preview-hint{font-family:var(--display);font-size:11px;letter-spacing:.1em;color:#8a6f49;text-align:center;text-transform:uppercase;line-height:1.8}.preview{position:relative;width:100%;height:100%;display:grid;place-items:center;animation:fadeIn .16s ease}.preview img{position:relative;z-index:1;display:block;max-width:100%;max-height:100%;border-radius:8px}.preview-text{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.preview-text{padding:14px;background:linear-gradient(180deg,#1b2629,#0c1214)}.preview-text h4{margin:0 0 6px;font-family:var(--display);font-size:14px;color:var(--gold)}.preview-text p{margin:0 0 8px;font-size:12px;color:var(--muted);white-space:pre-wrap}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.log{flex:1;overflow:auto;padding:8px 8px 12px;margin:0 4px 6px;font-size:11.5px;line-height:1.45;color:var(--muted);display:flex;flex-direction:column;gap:2px;scroll-behavior:smooth}.log-line{padding:1px 0}.log-who{font-weight:700;margin-right:5px}.p-me{color:#8fd0ff}.p-them{color:#ff9a6b}.log-group{border-left:2px solid rgba(217,188,124,.28);padding:2px 0 2px 7px;margin:3px 0;background:#d9bc7c0a;border-radius:0 5px 5px 0}.log-solo{display:contents}.log-line.k-resolve{color:var(--gold-dim);font-style:italic}.log-line.k-damage{color:#ffb4a0}.log-line.k-death{color:#e8705c;font-weight:600}.log-line.k-combat{color:#ffd9a3}.log-line.k-cost,.log-line.k-draw{opacity:.72}.log-turn-banner{display:flex;align-items:baseline;gap:6px;margin:9px 0 3px;padding-top:7px;border-top:1px solid rgba(217,188,124,.22);font-family:var(--display);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.log-turn-banner em{font-style:normal;font-size:10.5px}.log-phase{font-size:10px;letter-spacing:.06em;text-transform:uppercase;opacity:.45}.log-card{color:var(--parch);border-bottom:1px dotted rgba(217,188,124,.45);cursor:help}.log-card:hover{color:var(--gold);background:#d9bc7c1f}.felt{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto minmax(0,1fr) auto;gap:6px;min-height:0;max-height:100%;padding:10px 14px 8px;overflow:clip;background:url(/art/emblem.svg) center 50% / min(24vmin,300px) no-repeat,url(/art/grain.svg) top left / 220px repeat,radial-gradient(1200px 700px at 50% 50%,var(--felt) 0%,var(--felt-2) 54%,var(--felt-3) 100%);background-blend-mode:soft-light,overlay,normal;box-shadow:inset 0 0 140px #0000008c,inset 0 0 0 1px #0000008c}.prio{border:1px solid var(--gold-dim);border-radius:8px;padding:7px 9px 8px;margin-bottom:8px;background:linear-gradient(180deg,#14202399,#090f1199);transition:border-color .2s ease,box-shadow .2s ease}.prio.mine{border-color:#6fd08a;box-shadow:0 0 0 1px #6fd08a59,0 0 18px #6fd08a29}.prio-head{display:flex;align-items:center;gap:6px;font-family:var(--display);font-size:10.5px;letter-spacing:.05em;color:var(--muted)}.prio.mine .prio-head{color:#8fe3a6}.prio-dot{width:7px;height:7px;border-radius:50%;background:var(--muted);flex:0 0 auto}.prio.mine .prio-dot{background:#6fd08a;animation:prio-pulse 1.9s ease-in-out infinite}@keyframes prio-pulse{0%,to{box-shadow:0 0 #6fd08a8c}50%{box-shadow:0 0 0 5px #6fd08a00}}.prio-tag{margin-top:5px;font-family:var(--display);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}.prio-why{margin-top:2px;font-size:11px;line-height:1.35;color:var(--parch)}.prio-note{margin-top:5px;display:inline-block;padding:1px 6px;border-radius:4px;background:#ffd24a24;border:1px solid rgba(255,210,74,.34);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--pick)}.prio-note.hold{background:#8cc8ff24;border-color:#8cc8ff66;color:#9fd2ff}.prio-note.auto{background:#ffffff12;border-color:#ffffff2e;color:var(--muted);animation:fadeIn .18s ease}.hand-row{display:grid;gap:10px;align-items:end;min-width:0}.hand-row.mine{grid-template-columns:var(--plate-w) minmax(0,1fr)}.hand-row.theirs{grid-template-columns:minmax(0,1fr) var(--plate-w);align-items:start}.plate{min-width:0;align-self:end;background:linear-gradient(180deg,var(--panel-3),var(--panel-2));border:1px solid var(--gold-dim);border-radius:8px;padding:5px 10px 6px;display:flex;align-items:center;gap:10px;box-shadow:0 5px 16px #0000006b}.plate.top{align-self:start}.plate-body{display:flex;flex-direction:column;gap:3px;min-width:0}.plate-life{flex:0 0 auto;line-height:1}.life-n{font-family:var(--display);font-size:26px;font-weight:700;color:#ffd9a3;font-variant-numeric:tabular-nums;transition:color .3s ease}.life-n.hurt{color:#f08a6e}.plate.active{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 5px 20px #00000080}.plate-id{display:flex;align-items:baseline;gap:8px}.plate-name{font-family:var(--display);font-size:13px;letter-spacing:.05em;color:var(--gold)}.plate-deck{font-size:11px;color:var(--muted);text-transform:capitalize}.plate-stats{display:flex;gap:10px;font-size:11.5px;color:var(--parch);font-variant-numeric:tabular-nums}.fx-column{display:flex;flex-flow:row wrap;gap:6px;flex:none;margin:0;padding:10px;list-style:none;border-top:1px solid #060a0b}.fx-chip{position:relative;width:56px;height:56px;overflow:hidden;border-radius:6px;border:2px solid var(--muted);background:#000;box-shadow:0 3px 10px #0000008c}.fx-chip.mine{border-color:var(--gold)}.fx-chip.theirs{border-color:#b4483c}.fx-chip .card-face{width:100%;height:100%;object-fit:cover;object-position:50% 30%}.fx-badge{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#000000c7;color:var(--parch);font-size:14px;font-weight:700}.fx-count{position:absolute;right:2px;bottom:2px;padding:0 5px;border-radius:9px;background:var(--gold);color:#1b140a;font-size:11px;font-weight:700}.fx-column{max-height:138px;overflow-y:auto}.row{--fit: 1;display:grid;grid-template-columns:62px minmax(0,1fr) 62px;gap:10px;align-items:stretch;min-height:0;min-width:0}.row.flip .row-field{align-items:flex-start}.row-piles,.row-side{display:flex;flex-direction:column;gap:5px;justify-content:center;min-height:0;overflow:visible}.row-field{display:flex;flex-direction:column;gap:6px;min-width:0;min-height:0;overflow:clip;border:0;border-radius:14px;padding:8px 10px;background:linear-gradient(180deg,#020a0c57,#020a0c2b);box-shadow:inset 0 0 0 1px #00000080,inset 0 1px #ece4d20d,inset 0 18px 28px -22px #000000e6}.row:not(.flip) .row-field{background:linear-gradient(180deg,#0616173d,#223a3833);box-shadow:inset 0 0 0 1px #00000080,inset 0 1px #d9bc7c1a,inset 0 -26px 40px -30px #d9bc7c4d,inset 0 18px 28px -22px #000000e6}.row.flip .row-field{flex-direction:column-reverse}.field-line{display:flex;gap:16px;align-items:center;min-width:0;flex:1}.lane.champion,.lane.regalia,.memory-line{position:relative}.lane.champion:after,.lane.regalia:before{content:"";position:absolute;top:12%;bottom:12%;width:1px;background:linear-gradient(180deg,transparent,rgba(116,199,189,.3),transparent)}.lane.champion:after{right:0}.lane.regalia:before{left:0}.memory-line{display:flex;align-items:center;gap:10px;min-height:42px;border:0;padding-top:7px}.memory-line:after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(236,228,210,.13) 14%,rgba(236,228,210,.13) 86%,transparent)}.row.flip .memory-line{padding:0 0 7px}.row.flip .memory-line:after{top:auto;bottom:0}.memory-label{font-family:var(--display);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#ece4d252;white-space:nowrap}.memory-line.full .memory-label{color:#ece4d299}.memory-cards{display:flex;gap:5px;flex-wrap:wrap;min-width:0}.lane{display:flex;gap:8px;flex-wrap:nowrap;align-items:center;min-height:calc(var(--card-field) * var(--fit, 1) * .82)}.lane.champion{padding-right:14px}.lane.allies{flex:1;min-width:0}.lane.regalia{padding-left:16px}.lane-empty{font-family:var(--display);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#ece4d242}.pile{position:relative;width:62px;height:62px;padding:0;overflow:hidden;border-radius:8px;border:0;background:linear-gradient(180deg,#020a0c80,#020a0c4d);box-shadow:inset 0 0 0 1px #0000008c,inset 0 1px #ece4d20d;color:var(--parch);font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;transition:box-shadow .15s ease,transform .15s ease}.pile.full{background:linear-gradient(180deg,var(--panel-3),var(--panel))}.pile.full{box-shadow:inset 0 0 0 1px #d9bc7c47,inset 0 1px #ece4d20f}.pile.openable{cursor:pointer}.pile.openable:hover{box-shadow:inset 0 0 0 1px var(--gold),0 3px 12px #00000080;transform:translateY(-2px)}.pile.hot{box-shadow:0 0 0 2px var(--pick),0 0 14px #ffd24a59;animation:pile-hot 1.4s ease-in-out infinite}.pile.hot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,236,160,.55) 50%,transparent 65%);transform:translate(-120%);animation:pile-sheen 2.2s ease-in-out infinite}.pile.hot .pile-back{opacity:.8}@keyframes pile-hot{0%,to{box-shadow:0 0 0 2px var(--pick),0 0 10px #ffd24a59;transform:scale(1)}50%{box-shadow:0 0 0 3px var(--pick),0 0 26px 4px #ffd24abf;transform:scale(1.07)}}@keyframes pile-sheen{0%{transform:translate(-120%)}55%,to{transform:translate(120%)}}@media (prefers-reduced-motion: reduce){.pile.hot,.pile.hot:after{animation:none}}.pile:disabled{cursor:default}.pile-back{opacity:.45}.pile-back img{border-radius:7px}.pile-n{position:relative;z-index:2;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 10px rgba(0,0,0,.8)}.pile-label{position:relative;z-index:2;font-family:var(--display);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-shadow:0 1px 3px rgba(0,0,0,.9)}.divider{position:relative;height:30px;display:flex;align-items:center;justify-content:center}.divider:before{content:"";position:absolute;left:3%;right:3%;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(217,188,124,.26) 18%,rgba(217,188,124,.26) 82%,transparent)}.divider-label{position:relative;padding:0 14px;background:radial-gradient(60% 130% at 50% 50%,var(--felt-3) 30%,rgba(20,34,38,.7) 62%,transparent 100%);font-family:var(--display);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#d9bc7c99}.divider.busy{z-index:5}.divider.busy:before,.divider.busy:after{background:linear-gradient(90deg,transparent,var(--pick),transparent)}.combat-banner{position:relative;z-index:1;max-width:96%;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px;line-height:1.35;color:#3a2612;background:linear-gradient(180deg,#ffd98a,#e6b258);border:1px solid #a9812f;border-radius:999px;padding:4px 20px;box-shadow:0 3px 10px #0000004d}.combat-banner b{font-family:var(--display);text-transform:uppercase;letter-spacing:.08em}.layers{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;width:max-content;max-width:min(90vw,1180px);display:flex;flex-direction:column;align-items:center;gap:10px;background:linear-gradient(180deg,#1a2629fb,#0c1315fb);border:1px solid var(--pick);border-radius:14px;padding:18px 24px 20px;box-shadow:0 10px 34px #0000008c,0 0 22px #ffd24a2e;animation:fade-in .16s ease}.layers-title{font-family:var(--display);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--pick)}.layers-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:flex-start}.layer{display:flex;flex-direction:column;align-items:center;gap:2px;border-radius:8px;padding:3px;max-width:132px}.layer.top{box-shadow:0 0 0 2px var(--pick),0 0 14px #ffd24a73}.layer .layer-gone{width:var(--card-side);aspect-ratio:5 / 7;object-fit:cover;border-radius:6px}.layer-who{font-size:9.5px;font-weight:700}.layer-target{font-size:10px;line-height:1.25;color:#9fd4ff;text-align:center;max-width:128px}.layers-wait{font-size:11.5px;color:var(--muted)}.layers-wait b{color:var(--parch)}.ask-block{display:flex;align-items:flex-start;gap:14px;border-top:1px solid rgba(217,188,124,.25);padding-top:9px;width:100%}.ask-subject{display:flex;flex-direction:column;align-items:center;gap:3px;flex:0 0 auto}.ask-subject .card.s-small{--w: clamp(96px, 8.5vw, 140px)}.ask-subject-label{font-family:var(--display);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:#9fd4ff}.ask-body{display:flex;flex-direction:column;gap:6px;min-width:0}.ask-text{font-family:var(--display);font-size:19px;color:var(--pick);line-height:1.3;max-width:52ch}.ask-count{font-size:13px;color:var(--parch);font-variant-numeric:tabular-nums}.ask-count b{color:var(--picked);font-size:20px}.ask-cards{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;padding:10px 8px;max-height:min(62vh,640px);overflow:auto}.ask-cards .opt{position:relative;display:flex;align-items:center;gap:8px;padding:6px 14px 6px 8px;border-radius:12px;cursor:pointer;background:var(--panel-2);color:var(--parch);border:1px solid var(--panel-3);font-size:15px;text-transform:capitalize}.ask-cards .opt:hover{border-color:var(--gold-dim)}.ask-cards .opt.on{border-color:var(--pick);background:#ffd24a24;box-shadow:0 0 0 2px var(--pick),0 0 14px #ffd24a59}.ask-cards .opt .opt-art{width:44px;flex:none;border-radius:4px}.ask-cards .opt .opt-art.empty{display:none}.opt-check{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-style:normal;font-size:13px;font-weight:700;color:#1a1a1a;background:var(--pick)}.layers .ask-cards .card.s-small{--w: clamp(128px, 12vw, 200px)}.ask-actions{display:flex;gap:12px;align-items:center;margin-top:4px}.ask-actions button{font-size:15px}.key{display:inline-block;margin-left:8px;padding:1px 6px 2px;border:1px solid rgba(0,0,0,.45);border-radius:4px;background:#00000040;font-family:var(--body);font-size:9.5px;letter-spacing:.06em;text-transform:lowercase;vertical-align:middle;opacity:.8}.layers{cursor:grab;touch-action:none}.layers.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.layers .card,.layers button{cursor:pointer}.layers-grip{width:44px;height:5px;border-radius:3px;flex:0 0 auto;margin-top:-6px;background:repeating-linear-gradient(90deg,rgba(217,188,124,.55) 0 4px,transparent 4px 8px);opacity:.7}.layers:hover .layers-grip{opacity:1}.layers.compact{padding:8px 16px 10px;gap:4px;max-width:min(86vw,760px)}.layers.compact .layers-grip{margin-top:-2px}.layers.compact .ask-block{border-top:0;padding-top:0;align-items:center;gap:12px}.layers.compact .ask-subject-label{display:none}.layers.compact .ask-subject .card.s-small{--w: 52px}.layers.compact .ask-body{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 14px}.layers.compact .ask-text{font-size:15px;max-width:34ch}.layers.compact .ask-count{font-size:12px}.layers.compact .ask-count b{font-size:16px}.layers.compact .ask-actions{margin-top:0;gap:8px}.layers.compact .ask-actions button{font-size:13px;padding:5px 12px}.ask-source{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#9fd4ff;flex-basis:100%}.ask-source b{color:var(--parch);font-family:var(--display);letter-spacing:.05em}.arrange{display:flex;flex-direction:column;gap:20px;width:min(calc(100vw - 500px),880px);min-width:520px;padding-top:6px}.arrange .lane{--lane: rgba(217,188,124,.55);position:relative;padding:24px 16px 12px;border-radius:12px;border:1px solid var(--lane);background:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 12px,transparent 12px 24px),#0000004d;transition:box-shadow .12s}.arrange .lane-bottom{--lane: rgba(116,199,189,.55)}.arrange .lane.dropping{box-shadow:inset 0 0 0 2px var(--pick),0 0 16px #ffd24a40}.lane-label{position:absolute;top:-11px;left:16px;padding:2px 12px;border-radius:999px;border:1px solid var(--lane);background:var(--panel);color:var(--parch);font-family:var(--display);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.lane-note{position:absolute;top:5px;right:16px;font-size:11.5px;color:var(--muted)}.lane-belt{display:flex;align-items:flex-start;gap:12px;min-height:120px;padding:4px 2px 6px;overflow-x:auto}.arrange .lane-empty{margin:auto;color:var(--muted);font-size:14px;align-self:center}.lane-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.lane-card.dragging{opacity:.3}.lane-card:has(.card.playable){cursor:pointer}.starcall-tag{position:absolute;top:4px;right:4px;z-index:2;padding:1px 7px;border-radius:999px;pointer-events:none;background:#1c3a2c;color:#9be8b4;border:1px solid #5fbf86;font-size:10.5px;font-weight:700;letter-spacing:.04em}.lane-card img{-webkit-user-drag:none;user-drag:none;pointer-events:none}.lane-n{position:absolute;top:4px;left:4px;z-index:2;min-width:22px;padding:1px 6px;text-align:center;border-radius:999px;background:var(--panel);color:var(--gold);border:1px solid var(--gold-dim);font-size:12px;font-weight:700;pointer-events:none}.arrange .card.s-small,.arrange-ghost .card.s-small{--w: clamp(88px, 7.6vw, 124px)}.ask-block.has-arrange .ask-subject{display:none}.nudges{display:flex;gap:6px}.nudges button{min-width:36px;height:32px;padding:0 8px;font-size:14px;line-height:1;border-radius:8px;cursor:pointer;background:var(--panel-2);color:var(--parch);border:1px solid var(--panel-3)}.nudges button:hover{border-color:var(--gold);color:var(--gold)}.arrange-hint{font-size:12px;color:var(--muted)}.arrange-ghost{position:fixed;z-index:200;pointer-events:none;transform:translate(-50%,-50%) rotate(-3deg);filter:drop-shadow(0 14px 22px rgba(0,0,0,.6))}.hand{--hw: var(--card-side);--ov: .34;--peek: 1;display:flex;justify-content:center;align-items:flex-start;height:calc(var(--hw) * var(--peek));min-height:0;padding:2px 0 0;position:relative;z-index:4;touch-action:none}.hand.theirs{--peek: .58;align-items:flex-end}.hand.mine{--hw: var(--card-hand);--ov: .26;--peek: .74}.hand .hand-slot+.hand-slot{margin-left:calc(var(--hw) * var(--ov) * -1)}.hand.mine .card{--w: var(--card-hand)}.hand.theirs .card{--w: var(--card-side)}.hand-slot{position:relative;transform:translate(var(--dx, 0),var(--lift, 0)) rotate(var(--tilt, 0deg));transform-origin:50% 115%;transition:transform .18s cubic-bezier(.2,.9,.3,1),margin-left .18s ease;will-change:transform}.hand-card{display:block;transition:transform .18s cubic-bezier(.2,.9,.3,1),filter .18s ease;will-change:transform}.hand.mine .hand-slot{cursor:grab}.hand.mine .hand-slot:hover{z-index:60!important}.hand.mine .hand-slot:hover .hand-card{transform:translateY(calc(var(--hw) * -.78)) rotate(calc(var(--tilt, 0deg) * -1)) scale(1.1)}.hand-slot.dragging{cursor:grabbing}.hand-slot.dragging .hand-card{transform:translateY(-26px) rotate(calc(var(--tilt, 0deg) * -1)) scale(1.08);filter:drop-shadow(0 12px 18px rgba(0,0,0,.55));transition:none}.hand-slot.dealt{animation:dealt .4s cubic-bezier(.2,.9,.3,1)}@keyframes dealt{0%{transform:translate(120px,60px) rotate(14deg) scale(.7);opacity:0}to{transform:translate(var(--dx, 0),var(--lift, 0)) rotate(var(--tilt, 0deg));opacity:1}}.empty-hand{font-family:var(--display);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#ece4d252;align-self:center}.card{position:relative;isolation:isolate;width:var(--w, 88px);aspect-ratio:63 / 88;border-radius:5px;overflow:hidden;flex:0 0 auto;background:#131b1d;border:1px solid #060b0c;box-shadow:0 2px 6px #0006;transition:box-shadow .14s ease,transform .14s ease,filter .14s ease;animation:played .3s cubic-bezier(.2,.9,.3,1)}@keyframes played{0%{transform:scale(.82) translateY(10px);opacity:0}to{transform:none;opacity:1}}.card.s-tiny{--w: 36px}.card.s-mem{--w: var(--card-mem)}.card.square{aspect-ratio:1 / 1}.card.s-small{--w: var(--card-side)}.row .lane .card.s-small{--w: calc(var(--card-side) * var(--fit, 1))}.card.s-normal{--w: var(--card-field)}.row .lane .card.s-normal{--w: calc(var(--card-field) * var(--fit, 1))}.card.s-large{--w: 150px}.card.back{background:linear-gradient(135deg,#2a1d2f,#1b1426,#2a1d2f);border-color:#4a3a6b;box-shadow:inset 0 0 0 3px #9678c82e,0 2px 6px #0006}.card-back-art{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.card-back-art img{display:block;width:100%;height:100%;object-fit:cover}.card.secret{cursor:help}.card.secret.back{box-shadow:inset 0 0 0 2px #ffd24a4d,0 2px 5px #0006}.card.secret:hover{box-shadow:0 0 0 2px var(--pick),0 2px 8px #00000080}.memory-line{position:relative;z-index:4;min-height:0}.badge.peeking{left:2px;right:auto;color:var(--pick)}.card .art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;display:block;z-index:1}.card .art.fallback{display:flex;flex-direction:column;gap:2px;padding:5px 5px 19px;background:linear-gradient(180deg,#1c2629,#111a1c);z-index:0}.card .stack-count{position:absolute;top:34%;right:3px;z-index:5;min-width:24px;padding:2px 7px;border-radius:999px;font:700 13px/1.2 var(--display);text-align:center;color:#3a2612;background:linear-gradient(180deg,#ffd98a,#e6b258);border:1px solid #a9812f;box-shadow:0 2px 6px #00000080;pointer-events:none}.card .art.fallback.covered{visibility:hidden}.card .cname{font-family:var(--display);font-weight:600;font-size:9.5px;line-height:1.15;color:var(--parch)}.card .ctype{color:var(--gold-dim);font-size:8px}.card .cbody{color:#9aa9a8;font-size:8px;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical}.card.s-small .cbody,.card.s-tiny .cbody,.card.s-tiny .ctype{display:none}.overlay{position:absolute;inset:auto 0 0 0;z-index:2;display:flex;gap:2px;padding:2px;flex-wrap:wrap;background:linear-gradient(to top,#04090af2,#04090a00)}.pip{font-size:9px;font-weight:700;font-variant-numeric:tabular-nums;border-radius:3px;padding:0 3px;background:#050b0ce6;border:1px solid rgba(217,188,124,.3);color:var(--parch)}.pip.cost{color:#d9e4ff}.pip.power{color:var(--warn)}.pip.life{color:var(--good)}.pip.life.hurt{color:var(--danger)}.pip.load{color:#ffb347;letter-spacing:-1px}.pip.dur{color:#ffe1a3}.pip.enl{color:#9fd0ff}.pip.prep{color:var(--gold)}.pip.buf{color:var(--good)}.card.s-tiny .overlay{display:none}.badge{position:absolute;top:2px;right:2px;z-index:2;font-size:8px;background:#050b0ce6;color:var(--muted);border-radius:3px;padding:0 3px}.card.s-tiny .badge,.card.s-small .badge{display:none}.distant-mark{position:absolute;top:3px;left:3px;z-index:3;display:inline-flex;align-items:center;gap:2px;max-width:calc(100% - 6px);padding:0 4px 0 3px;border-radius:999px;font-size:8.5px;font-weight:700;line-height:1.5;letter-spacing:.03em;white-space:nowrap;color:#d9ecff;background:#142c4eeb;border:1px solid #6fa8e8;box-shadow:0 1px 4px #00000080;pointer-events:none}.distant-mark i{font-style:normal;font-size:10px;line-height:1}.card.s-tiny .distant-mark span,.card.s-small .distant-mark span{display:none}.row .card.rested,.zone-panel .card.rested{transform:rotate(8deg);margin-inline:calc(var(--w) * .09);filter:brightness(.66)}.card.attacking{box-shadow:0 0 0 2px var(--warn),0 0 16px #f0b75566}.card.defending{box-shadow:0 0 0 2px var(--danger),0 0 16px #e4625a66}.card.playable{cursor:pointer;box-shadow:0 0 0 3px var(--good),0 0 14px #7fd18f8c,0 2px 8px #00000080}.row .card.playable:hover,.zone-panel .card.playable:hover{transform:translateY(-5px);box-shadow:0 0 0 2px var(--good),0 10px 20px #00000080}.card.selectable,.card.targetable,.card.selected,.card.source{transition:transform .14s ease,filter .14s ease}.card.selectable{cursor:pointer;animation:pick 1.3s ease-in-out infinite}.card.source{box-shadow:0 0 0 2px #9fd4ff,0 0 18px #9fd4ff73;animation:none}.card.selected{box-shadow:0 0 0 3px var(--picked),0 0 22px #5ad9ffa6;filter:brightness(1.16) saturate(1.05);animation:none;transform:translateY(-6px)}.card.selected:after{content:"✓";position:absolute;top:3px;right:3px;z-index:3;width:17px;height:17px;border-radius:50%;background:var(--picked);color:#06222e;font-size:12px;font-weight:700;display:grid;place-items:center;box-shadow:0 2px 6px #00000080}.card.targetable{cursor:crosshair;animation:pickRed 1.3s ease-in-out infinite}@keyframes pick{0%,to{box-shadow:0 0 0 2px var(--pick)}50%{box-shadow:0 0 0 3px var(--pick),0 0 16px #ffd24a80}}@keyframes pickRed{0%,to{box-shadow:0 0 0 2px var(--danger)}50%{box-shadow:0 0 0 3px var(--danger),0 0 16px #e4625a80}}@media (prefers-reduced-motion: reduce){.card,.hand-slot,.hand-card,.prio-dot,.arrow-line,.dmg{transition:none;animation:none!important}.row .card.rested{transform:none;margin-inline:0}}.el{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:3px;vertical-align:-1px}.el.FIRE{background:#e2604a}.el.WIND{background:#6fc6a8}.el.WATER{background:#5aa9e6}.el.ARCANE{background:#a98cf0}.el.CRUX{background:#dcd6b0}.el.NORM{background:#8c7a5e}.phase-rail{display:flex;flex-direction:column;gap:3px}.phase-step{font-family:var(--display);font-size:10.5px;letter-spacing:.06em;padding:7px 9px;border-radius:6px;color:var(--muted);border:1px solid var(--panel-3);background:#ffffff04;transition:all .18s ease}.phase-step.now{color:#2a1f14;background:linear-gradient(180deg,var(--gold),#b7914d);border-color:var(--gold);font-weight:700;box-shadow:0 0 14px #d9bc7c59}.btn-major{font-family:var(--display);font-size:12.5px;letter-spacing:.06em;font-weight:700;padding:11px 10px;border-radius:8px;cursor:pointer;color:var(--parch);text-shadow:0 1px 2px rgba(0,0,0,.6);background:linear-gradient(180deg,#8f7a4f,#5f4e2e);border:1px solid #a68f5c;box-shadow:0 4px #3a2f1a,0 8px 18px #0006;transition:transform .1s ease,box-shadow .1s ease,filter .15s ease}.btn-major:hover:not(:disabled){filter:brightness(1.06)}.btn-major:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #3a2f1a,0 4px 10px #0006}.btn-major:disabled{filter:grayscale(.7) brightness(.7);cursor:not-allowed;box-shadow:none}.btn-major.sm{padding:7px 14px;font-size:11.5px}.room-chip{font-size:11px;color:var(--muted);text-align:center;border:1px solid var(--panel-3);border-radius:7px;padding:5px}.room-chip b{color:var(--gold);font-family:var(--display);letter-spacing:.1em}.side-buttons{display:flex;flex-direction:column;gap:5px;margin-top:auto}button{font:inherit;font-size:11.5px;background:linear-gradient(180deg,var(--panel-3),var(--panel-2));color:var(--parch);border:1px solid var(--gold-dim);border-radius:7px;padding:6px 10px;cursor:pointer;transition:border-color .15s ease,filter .15s ease}button:hover:not(:disabled){border-color:var(--gold);filter:brightness(1.12)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button.ghost{background:transparent;border-color:var(--panel-3);color:var(--muted)}input{font:inherit;background:#0b1214;color:var(--parch);border:1px solid var(--gold-dim);border-radius:7px;padding:6px 10px;width:120px;letter-spacing:.14em;text-align:center;font-family:var(--display)}.chip{font-size:11px;color:var(--muted);background:#00000040;border:1px solid var(--panel-3);border-radius:999px;padding:1px 9px;white-space:nowrap}.grow{flex:1}.err{color:var(--danger);font-size:11.5px;padding:6px}.winner{font-family:var(--display);text-align:center;padding:10px;font-weight:700;color:var(--gold);border:1px solid var(--gold);border-radius:8px;background:#d9bc7c1a}.hold{display:flex;align-items:center;gap:7px;width:100%;font-family:var(--display);font-size:10.5px;letter-spacing:.06em;padding:7px 9px;text-align:left}.hold .hold-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--panel);border:1px solid var(--gold-dim)}.hold.on{color:#cfe8ff;border-color:#6ea8d8;background:linear-gradient(180deg,#6ea8d838,#6ea8d814)}.hold.on .hold-dot{background:#9fd2ff;border-color:#cfe8ff;box-shadow:0 0 #9fd2ff99;animation:pulseHold 1.6s ease-out infinite}.hold .key{margin-left:auto}@keyframes pulseHold{0%{box-shadow:0 0 #9fd2ff8c}to{box-shadow:0 0 0 6px #9fd2ff00}}.arrow-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;overflow:visible}.arrow-layer #arrowhead path{fill:var(--strike)}.arrow-line{fill:none;stroke:var(--strike);stroke-width:3;stroke-linecap:round}.arrow-halo{fill:none;stroke:#0000008c;stroke-width:7;stroke-linecap:round}.arrow.aiming .arrow-line{stroke-dasharray:9 7;animation:arrow-march .6s linear infinite}.arrow.aiming{opacity:.9}@keyframes arrow-march{to{stroke-dashoffset:-16}}.arrow.live .arrow-line{animation:arrow-pulse 1s ease-in-out infinite}@keyframes arrow-pulse{0%,to{stroke-width:3;opacity:.95}50%{stroke-width:4.2;opacity:1}}.dmg-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none}.dmg{position:absolute;transform:translate(-50%,-50%);font-family:var(--display);font-size:30px;font-weight:700;color:#ffdcc9;text-shadow:0 0 3px #7a1f0e,0 2px 0 #7a1f0e,0 0 14px rgba(255,107,74,.9);font-variant-numeric:tabular-nums;white-space:nowrap;animation:dmg-fall .95s cubic-bezier(.22,.7,.3,1) forwards}@keyframes dmg-fall{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}14%{opacity:1;transform:translate(-50%,-62%) scale(1.25)}32%{opacity:1;transform:translate(-50%,-56%) scale(1)}to{opacity:0;transform:translate(-50%,26%) scale(.92)}}.card.hit{animation:card-hit .46s cubic-bezier(.36,.07,.19,.97);animation-composition:add;z-index:8}@keyframes card-hit{0%{transform:translate(0) rotate(0);filter:none}12%{transform:translate(-5px,2px) rotate(-2.5deg);filter:brightness(1.5) saturate(1.5) drop-shadow(0 0 9px var(--strike))}28%{transform:translate(5px,-2px) rotate(2.5deg)}44%{transform:translate(-4px,1px) rotate(-1.8deg);filter:brightness(1.3) drop-shadow(0 0 7px var(--strike))}62%{transform:translate(3px,-1px) rotate(1.2deg)}80%{transform:translate(-1.5px) rotate(-.5deg)}to{transform:translate(0) rotate(0);filter:none}}.fallen-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9;pointer-events:none}.fallen{position:absolute;animation:fallen-out 1.1s ease-in forwards}.fallen .card{--w: 100%;width:100%;animation-name:card-hit}@keyframes fallen-out{0%,42%{opacity:1;filter:none}to{opacity:0;filter:brightness(.5) saturate(.4);transform:translateY(10px) scale(.94)}}.card-menu{position:fixed;left:50%;bottom:150px;transform:translate(-50%);background:linear-gradient(180deg,var(--panel-3),var(--panel-2));border:1px solid var(--gold-dim);border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:5px;z-index:80;box-shadow:0 18px 44px #0009;min-width:250px;animation:riseUp .16s ease}.card-menu button{text-align:left}.zone-view{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;padding:26px;background:#0c0704cc;display:grid;place-items:center;animation:fadeIn .15s ease}.zone-panel{background:linear-gradient(180deg,var(--panel-3),var(--panel));border:1px solid var(--gold-dim);border-radius:12px;padding:14px;max-width:900px;width:100%;max-height:82vh;overflow:auto;display:flex;flex-direction:column;gap:12px;box-shadow:0 24px 60px #0009}.zone-panel header{display:flex;align-items:center;gap:10px}.zone-panel header strong{font-family:var(--display);color:var(--gold);font-size:14px}.zone-grid{display:flex;flex-wrap:wrap;gap:8px}.settings-panel{background:linear-gradient(180deg,var(--panel-3),var(--panel));border:1px solid var(--gold-dim);border-radius:12px;padding:16px;max-width:560px;width:100%;max-height:82vh;overflow:auto;display:flex;flex-direction:column;gap:16px;box-shadow:0 24px 60px #0009}.settings-panel header{display:flex;align-items:center;gap:10px}.settings-panel header strong{font-family:var(--display);color:var(--gold);font-size:14px}.settings-panel section{display:flex;flex-direction:column;gap:7px}.settings-panel h5{margin:0;font-family:var(--display);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dim)}.opt-row{display:flex;gap:9px;align-items:flex-start;cursor:pointer;padding:8px 10px;border-radius:8px;border:1px solid var(--panel-3);background:#ffffff05;transition:border-color .15s ease,background .15s ease}.opt-row:hover{border-color:var(--gold-dim)}.opt-row.picked{border-color:var(--gold);background:#d9bc7c1a}.opt-row input{margin-top:3px;accent-color:var(--gold)}.opt-row span{display:flex;flex-direction:column;gap:2px;min-width:0}.opt-row b{font-size:12px;color:var(--parch)}.opt-row em{font-style:normal;font-size:11px;line-height:1.35;color:var(--muted)}.settings-panel .note{margin:2px 0 0;font-size:11px;line-height:1.4;color:var(--muted)}.slider-row{display:flex;align-items:center;gap:10px}.slider-row input[type=range]{flex:1;accent-color:var(--gold)}.zone-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px}.zone-item.locked .card{filter:grayscale(.75) brightness(.72)}.zone-lock{font-family:var(--display);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--panel-3);border-radius:4px;padding:1px 5px}.confirm-panel{width:min(380px,90vw);padding:18px 20px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,var(--panel-3),var(--panel));border-radius:12px;box-shadow:0 0 0 1px var(--gold-dim),0 18px 50px #0009}.confirm-panel strong{font-family:var(--display);color:var(--gold);font-size:15px}.confirm-panel p{margin:0;font-size:12.5px;line-height:1.5;color:var(--parch)}.confirm-buttons{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.turn-banner{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;pointer-events:none;display:grid;place-items:center;background:#05090a59;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:turn-veil 1.5s ease both}.turn-banner-text{display:flex;flex-direction:column;align-items:center;gap:4px;animation:turn-text 1.5s cubic-bezier(.2,.8,.2,1) both}.turn-banner small{font-family:var(--display);font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.turn-banner strong{font-family:var(--display);font-weight:600;font-size:clamp(34px,5vw,64px);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);text-shadow:0 2px 0 rgba(0,0,0,.5),0 0 30px currentColor}@keyframes turn-veil{0%{opacity:0}18%,70%{opacity:1}to{opacity:0}}@keyframes turn-text{0%{transform:scale(.94)}25%,to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.turn-banner-text{animation:none}}.lineage-panel{width:min(1100px,96vw);max-height:92vh;display:flex;flex-direction:column}.lineage-body{overflow:auto;padding:16px 18px 20px;display:flex;flex-direction:column;gap:18px;min-height:0}.lineage-body>*{flex:none}.lin-ladder{display:flex;align-items:flex-end;gap:10px;overflow-x:auto;padding:6px 2px 10px}.lin-arrow{flex:none;align-self:center;color:var(--gold-dim);font-size:26px}.lin-card{flex:none;width:150px;display:flex;flex-direction:column;gap:4px;text-align:center;opacity:.92}.lin-card.champion{opacity:1}.lin-card .card-face{width:100%;aspect-ratio:5 / 7;object-fit:cover;border-radius:9px;background:var(--panel);box-shadow:0 6px 18px #00000080}.lin-card.inner .card-face{filter:brightness(.82)}.lin-card.champion .card-face{box-shadow:0 0 0 2px var(--gold),0 0 26px #d9bc7c66}.card-face.empty{border:1px dashed var(--gold-dim);box-sizing:border-box}.lin-role{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.lin-card.champion .lin-role{color:var(--gold)}.lin-name{font-family:var(--display);font-size:13px;color:var(--parch);line-height:1.25}.lin-meta{font-size:12px;color:var(--muted)}.lin-cols{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:22px;align-items:start}.lineage-panel h4{margin:0 0 8px;font-family:var(--display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.lin-ab-card{padding:10px 12px;border-radius:10px;background:#00000038;border:1px solid var(--panel-3);margin-bottom:10px}.lin-ab-card.champion{border-color:var(--gold-dim)}.lin-ab-title{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.lin-ab{margin:6px 0 0;font-size:13px;line-height:1.45;color:var(--parch)}.lin-ab em{display:block;margin-top:2px;font-style:normal;font-size:11.5px;color:var(--muted)}.lin-ab.inactive,.lin-ab.requirement{color:var(--muted)}.lin-ab .tag{display:inline-block;margin-right:7px;padding:1px 7px;border-radius:5px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;vertical-align:1px}.tag.inh{background:#7fd18f29;color:var(--good);box-shadow:inset 0 0 0 1px #7fd18f66}.tag.rel{background:#9fd0ff24;color:#9fd0ff;box-shadow:inset 0 0 0 1px #9fd0ff66}.tag.req{background:#d9bc7c1f;color:var(--gold-dim);box-shadow:inset 0 0 0 1px #d9bc7c4d}.lin-side{position:sticky;top:0;display:flex;flex-direction:column;gap:10px}.lin-level{display:flex;align-items:center;gap:12px}.lin-level-n{font-family:var(--display);font-size:46px;line-height:1;color:var(--gold);text-shadow:0 0 22px rgba(217,188,124,.35)}.lin-level-t{font-size:13px;color:var(--parch)}.lin-level-t small{color:var(--muted);font-size:11.5px}.lin-counters{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.lin-counters li{display:flex;justify-content:space-between;padding:6px 10px;border-radius:8px;background:#00000038;font-size:13px}.lin-counters b{color:var(--gold)}@media (max-width: 860px){.lin-cols{grid-template-columns:minmax(0,1fr)}.lin-side{position:static}}.pip.lvl{color:var(--gold);border-color:var(--gold-dim);font-weight:700;letter-spacing:.04em}.pip.lvl.boost{color:#fff1c4;box-shadow:0 0 10px #d9bc7c99}.pip.lvl em{font-style:normal;color:var(--good);margin-left:3px}.pip.lvc{color:var(--good)}.preview .lineage-line{margin-top:8px;font-size:12px;color:var(--muted)}.preview .lineage-line b{color:var(--gold);margin-right:5px}.go-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:20px;background:#05090ab8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .2s ease}.go-card{width:min(880px,100%);max-height:100%;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:18px 28px 0;background:var(--panel);border:1px solid var(--gold-dim);border-radius:14px;box-shadow:0 22px 70px #000000b3,0 0 0 1px #0009 inset}.go-head{text-align:center}.go-head h2{margin:0;font-family:var(--display);font-size:clamp(30px,3.6vw,44px);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);text-shadow:0 2px 0 #4c3b17,0 0 26px rgba(217,188,124,.35)}.go-head.loss h2{color:var(--danger);text-shadow:0 2px 0 #4a1512,0 0 26px rgba(228,98,90,.3)}.go-head.draw h2{color:var(--muted);text-shadow:none}.go-head p{margin:6px 0 0;color:var(--muted);font-size:14px}.go-players{display:grid;grid-template-columns:1fr 1fr;gap:14px}.go-player{display:flex;align-items:center;gap:14px;padding:10px 14px;border-radius:10px;background:#00000047;border:1px solid rgba(217,188,124,.12)}.go-player.won{border-color:var(--gold);box-shadow:0 0 18px #d9bc7c33}.go-player:last-child{flex-direction:row-reverse;text-align:right}.go-player .card{--w: clamp(56px, 5vw, 76px)}.go-player div{display:flex;flex-direction:column;gap:2px;min-width:0}.go-player b{font-family:var(--display);font-size:16px;letter-spacing:.06em}.go-player span{color:var(--muted);font-size:12.5px}.go-player em{font-style:normal;font-family:var(--display);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.go-table{width:100%;border-collapse:separate;border-spacing:0 3px}.go-table th{width:26%;padding:0 10px;text-align:center;font-weight:600;font-size:13px;color:var(--parch);white-space:nowrap}.go-table .v{position:relative;height:22px;width:37%;background:#0000004d;border-radius:5px;overflow:hidden}.go-table .v i{position:absolute;top:0;bottom:0;border-radius:5px;opacity:.4}.go-table .v.best i{opacity:.8}.go-table .v.l i{right:0;background:var(--arc)}.go-table .v.r i{left:0;background:var(--gold)}.go-table .v span{position:relative;display:block;padding:0 12px;line-height:22px;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.go-table .v.l span{text-align:right}.go-table .v.best span{color:var(--pick);text-shadow:0 0 10px rgba(255,210,74,.4)}.go-turns h3{margin:0 0 8px;font-family:var(--display);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dim)}.go-chart{display:flex;align-items:flex-end;gap:4px;height:84px;padding:8px 8px 0;margin-bottom:4px;background:#00000047;border-radius:8px;overflow-x:auto}.go-turn{display:flex;flex-direction:column;align-items:center;flex:1 0 18px;max-width:34px;height:100%}.go-bars{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px;min-height:0}.go-bars i{flex:1;min-height:2px;border-radius:2px 2px 0 0}.go-bars i.l,.go-legend .l:before{background:var(--arc)}.go-bars i.r,.go-legend .r:before{background:var(--gold)}.go-turn small{font-size:10px;color:var(--muted);padding:2px 0 3px}.go-legend{display:flex;justify-content:center;gap:20px;margin-top:8px;font-size:12px;color:var(--muted)}.go-legend span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}.go-actions{position:sticky;bottom:0;display:flex;justify-content:center;gap:14px;padding:12px 0 16px;background:var(--panel);border-top:1px solid rgba(217,188,124,.14)}.go-actions button{font-size:15px;padding-inline:22px}.go-reopen{position:fixed;right:16px;bottom:16px;z-index:40;font-family:var(--display);letter-spacing:.08em}@media (max-width: 720px){.go-players{grid-template-columns:1fr}.go-player:last-child{flex-direction:row;text-align:left}}.lobby{position:relative;display:grid;place-items:center;height:100%;padding:24px;background:url(/art/grain.svg) top left / 220px repeat,radial-gradient(900px 620px at 50% 42%,#1a2629,var(--panel) 72%);background-blend-mode:overlay,normal}.lobby:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:url(/art/emblem.svg) center 46% / min(62vmin,620px) no-repeat;opacity:.16}.lobby-card{position:relative}.lobby-card{background:linear-gradient(180deg,var(--panel-3),var(--panel-2));border:1px solid var(--gold-dim);border-radius:14px;padding:26px;max-width:470px;width:100%;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 60px #0000008c}.lobby h1{margin:0;font-family:var(--display);font-size:21px;color:var(--gold);letter-spacing:.02em}.lobby .sub{color:var(--muted);margin:0;font-size:13px}.lobby .opt{border-top:1px solid var(--panel-3);padding-top:14px;display:flex;flex-direction:column;gap:9px}.lobby .opt h4{margin:0;font-family:var(--display);font-size:13px;letter-spacing:.08em;color:var(--parch)}.row-inline,.lobby .row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.btn-major.wide,button.wide{width:100%}.lobby .primary{font-family:var(--display);font-size:12.5px;letter-spacing:.06em;font-weight:700;padding:10px;color:var(--parch);text-shadow:0 1px 2px rgba(0,0,0,.6);background:linear-gradient(180deg,#8f7a4f,#5f4e2e);border:1px solid #a68f5c;box-shadow:0 3px #3a2f1a,0 8px 18px #00000073}.lobby .primary:hover:not(:disabled){filter:brightness(1.06)}.lobby .primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #3a2f1a}.lobby .primary:disabled{filter:grayscale(.6) brightness(.75);cursor:not-allowed}.open-games{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:9px;background:#00000040}.open-head{display:flex;justify-content:space-between;align-items:center;font-family:var(--display);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.open-head button{padding:3px 10px;font-size:11px}.open-game{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;border-radius:7px;background:var(--panel-2)}.open-game span{display:flex;flex-direction:column}.open-game small{color:var(--muted);font-size:11.5px}.lobby-card.waiting{max-width:560px}.room-code{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.room-code span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.room-code .code{font-family:var(--display);font-size:22px;letter-spacing:.28em;padding:4px 14px}.room-code em{color:var(--muted);font-style:normal;font-size:12px}.slots{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:12px}.vs{align-self:center;font-family:var(--display);color:var(--gold-dim)}.slot{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:10px;background:#00000047;border:1px dashed rgba(217,188,124,.25);min-height:92px}.slot.here,.slot.ready,.slot.away{border-style:solid}.slot.mine{border-color:var(--gold-dim)}.slot.ready{border-color:var(--good);box-shadow:0 0 16px #7fd18f2e}.slot-n{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.slot-deck{font-size:13px;color:var(--gold)}.slot-note{font-size:12.5px;color:var(--muted)}.slot.ready .slot-note{color:var(--good)}.sub.center{text-align:center}.waiting-actions{justify-content:center;flex-wrap:nowrap}.waiting-actions .wide{flex:1}.lobby .err{color:var(--danger);font-size:12.5px}.lobby-wide{align-items:safe center;justify-items:center;overflow-y:auto}.lobby-shell{position:relative;width:100%;max-width:1440px;display:flex;flex-direction:column;gap:18px}.lobby-credit{text-align:center;font-size:12px;color:var(--muted);opacity:.55;letter-spacing:.04em}.lobby-credit a{color:inherit;text-decoration:none;border-bottom:1px dotted currentColor}.lobby-credit:hover{opacity:1}.lobby-credit a:hover{color:var(--gold)}.lobby-top{position:relative;z-index:20;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}.lobby-top h1{font-size:32px}.lobby-top .sub{margin-top:6px;max-width:620px}.lobby-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:stretch}.lobby-side{display:flex;flex-direction:column;gap:18px;min-width:0}.lobby-panel{position:relative;min-width:0;background:linear-gradient(180deg,var(--panel-3),var(--panel-2));border:1px solid var(--gold-dim);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:12px;box-shadow:0 20px 60px #00000073}.lobby-panel h4{margin:0;font-family:var(--display);font-size:13px;letter-spacing:.08em;color:var(--parch);text-transform:uppercase}.open-panel{min-height:440px}.open-panel .open-games{flex:1;overflow-y:auto;align-content:start;gap:8px}.open-panel .open-game{padding:8px 12px;gap:14px}.open-panel .open-game span{flex:1;min-width:0}.open-panel .open-game b{font-family:var(--display);letter-spacing:.04em;color:var(--parch)}.open-empty{margin:auto;max-width:320px;text-align:center;font-size:14px;line-height:1.5}.deck-art{display:block;width:100%;aspect-ratio:5 / 7;object-fit:cover;border-radius:7px;background:var(--panel)}.deck-art.empty{border:1px dashed var(--gold-dim);box-sizing:border-box}.deck-art.thumb{width:42px;flex:none;border-radius:4px;box-shadow:0 2px 6px #00000080}.deck-groups{display:flex;flex-direction:column;gap:18px}.deck-group{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 8px;padding:4px 0;background:none;border:0;cursor:pointer;font-family:var(--display);font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dim)}.deck-group:hover{color:var(--gold)}.deck-group:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}.deck-group .chev{display:inline-block;transition:transform .15s}.deck-group-box.folded .chev{transform:rotate(-90deg)}.deck-group-box.folded .deck-group{margin-bottom:0}.deck-fold{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .26s cubic-bezier(.3,.7,.2,1),opacity .2s ease}.deck-fold-in{min-height:0;overflow:hidden;padding:3px;margin:-3px;transition:visibility 0s}.deck-group-box.folded .deck-fold{grid-template-rows:0fr;opacity:0}.deck-group-box.folded .deck-fold-in{visibility:hidden;transition:visibility 0s .26s}@media (prefers-reduced-motion: reduce){.deck-fold,.deck-group .chev{transition:none}}.deck-group-n{padding:0 7px;border-radius:999px;border:1px solid var(--panel-3);font-size:10.5px;letter-spacing:0;color:var(--muted)}.deck-group-empty{margin:0;color:var(--muted);font-size:13px}.deck-picker{display:grid;grid-template-columns:repeat(auto-fill,82px);gap:8px}.deck-tile{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 6px 8px;background:#00000040;border:1px solid var(--panel-3);border-radius:10px;color:var(--parch);cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}.deck-tile b{font-family:var(--display);font-size:11.5px;letter-spacing:.04em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deck-tile small{color:var(--muted);font-size:10px}.deck-tile:hover:not(:disabled){border-color:var(--gold-dim);transform:translateY(-2px)}.deck-tile.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 8px 22px #00000080;background:#d9bc7c14}.deck-tile:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.deck-tile:disabled{opacity:.6;cursor:not-allowed}.code-row input{flex:0 0 130px}.bot-panel{flex-direction:row;align-items:center;justify-content:space-between;gap:18px}.bot-panel .sub{margin-top:4px}.bot-panel .primary{flex:none;padding:10px 22px}@media (max-width: 900px){.lobby-grid{grid-template-columns:minmax(0,1fr)}.open-panel{min-height:0}.lobby-top h1{font-size:26px}.bot-panel{flex-direction:column;align-items:stretch}}.open-head button.refresh{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border:1px solid var(--gold-dim);border-radius:7px;color:var(--gold);cursor:pointer;transition:transform .08s ease,background .15s,border-color .15s}.open-head button.refresh:hover:not(:disabled){background:#d9bc7c1f;border-color:var(--gold)}.open-head button.refresh:active:not(:disabled){transform:scale(.93);background:#d9bc7c38}.open-head button.refresh:disabled{cursor:progress}.open-head button.refresh svg{transition:transform .3s ease}.open-head button.refresh.spinning svg{animation:loading-spin .6s linear infinite}.open-games{transition:opacity .2s ease}.open-games.refreshing{opacity:.4}@media (prefers-reduced-motion: reduce){.open-head button.refresh.spinning svg{animation:none}}.brand{display:flex;align-items:center;gap:18px}.brand .logo{flex:none;color:var(--gold);filter:drop-shadow(0 4px 14px rgba(0,0,0,.55))}.brand h1{letter-spacing:.22em;text-transform:uppercase;font-size:30px}.brand .tagline{margin:2px 0 0;font-family:var(--display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dim)}.brand .sub{margin-top:8px}@media (max-width: 900px){.brand .logo{width:52px;height:52px}.brand h1{font-size:24px}}.slot-player{display:flex;align-items:center;gap:10px;min-width:0}.slot-name{font-family:var(--display);font-size:17px;color:var(--parch);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-name.none{font-size:24px;color:var(--gold-dim)}.loading{display:grid;place-items:center;height:100%;padding:24px;background:url(/art/emblem.svg) center 46% / min(62vmin,620px) no-repeat,radial-gradient(900px 620px at 50% 42%,#1a2629,var(--panel) 72%);background-blend-mode:normal}.loading.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;height:auto;background:#080d0eb8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:loading-veil .25s ease .15s both}.loading:not(.overlay) .loading-body{animation:loading-veil .25s ease .15s both}.loading-body{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;max-width:360px}.loading-body h2{margin:0;font-family:var(--display);font-size:19px;letter-spacing:.04em;color:var(--gold)}.loading-body p{margin:0;color:var(--muted);font-size:13px}.loading-ring{width:46px;height:46px;border-radius:50%;box-sizing:border-box;border:3px solid rgba(217,188,124,.22);border-top-color:var(--gold);animation:loading-spin .9s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}@keyframes loading-veil{0%{opacity:0}to{opacity:1}}@keyframes loading-pulse{50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.loading-ring{animation:loading-pulse 1.6s ease-in-out infinite;border-top-color:#d9bc7c38}}img.deck-art{opacity:0;transition:opacity .25s ease}img.deck-art.loaded{opacity:1}.toasts{position:fixed;top:18px;right:18px;z-index:90;display:flex;flex-direction:column;gap:10px;align-items:flex-end;pointer-events:none}.toast{position:relative;overflow:hidden;pointer-events:auto;cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:12px;min-width:200px;max-width:min(380px,calc(100vw - 36px));padding:13px 20px 15px 14px;border-radius:12px;font-size:14px;color:var(--parch);background:linear-gradient(180deg,var(--panel-3),var(--panel-2));border:1px solid var(--gold-dim);box-shadow:0 18px 40px #0009,0 0 0 1px #00000040}.toast svg{flex:none}.toast.success{--accent: var(--good)}.toast.error{--accent: var(--danger)}.toast svg{color:var(--accent);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent) 55%,transparent))}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent)}.toast-timer{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent);opacity:.55;transform-origin:left}@media (max-width: 520px){.toasts{top:12px;right:12px;left:12px;align-items:stretch}.toast{max-width:none}}.select{position:relative;flex:1;min-width:0}.select-btn{width:100%;display:flex;align-items:center;gap:10px;padding:7px 12px;text-align:left;cursor:pointer;border-radius:9px;color:var(--parch);background:var(--panel);border:1px solid var(--panel-3);font:inherit;transition:border-color .15s,box-shadow .15s}.select-btn:hover:not(:disabled),.select-btn[aria-expanded=true]{border-color:var(--gold-dim)}.select-btn[aria-expanded=true]{box-shadow:0 0 0 3px #d9bc7c1f}.select-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.select-btn:disabled{opacity:.55;cursor:not-allowed}.select-value{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.2}.select-value b{font-weight:600}.select-value small{color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.select-caret{color:var(--gold-dim);transition:transform .18s;flex:none}.select-btn[aria-expanded=true] .select-caret{transform:rotate(180deg);color:var(--gold)}.select-menu{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);margin:0;padding:5px;list-style:none;border-radius:10px;background:var(--panel-2);border:1px solid var(--gold-dim);box-shadow:0 16px 36px #0000008c;animation:select-in .12s ease-out}.select-menu li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;cursor:pointer;color:var(--parch)}.select-menu li.active{background:var(--panel-3)}.select-menu li.on b{color:var(--gold)}.select-check{color:var(--gold);font-size:13px}@keyframes select-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion: reduce){.select-menu{animation:none}.select-caret{transition:none}}.roll-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:24px;cursor:pointer;background:radial-gradient(900px 560px at 50% 45%,#142224e6,#060a0bf0);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.roll-card{display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center;cursor:default}.roll-card h2{margin:0;font-family:var(--display);font-size:15px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dim)}.roll-dice{display:flex;align-items:center;gap:clamp(28px,8vw,90px)}.roll-side{display:flex;flex-direction:column;align-items:center;gap:26px;transition:opacity .4s ease,filter .4s ease}.roll-side .who{font-family:var(--display);font-size:14px;letter-spacing:.22em;text-transform:uppercase;color:var(--parch)}.roll-side.lost{opacity:.4;filter:saturate(.5)}.roll-side.won .who{color:var(--gold)}.roll-vs{font-family:var(--display);color:var(--gold-dim);letter-spacing:.2em}.roll-status{min-height:76px;display:flex;flex-direction:column;align-items:center;gap:6px}.roll-status .big{font-family:var(--display);font-size:clamp(26px,4vw,40px);letter-spacing:.08em;color:var(--gold);text-shadow:0 0 28px rgba(217,188,124,.45)}.roll-status .small{color:var(--muted);font-size:14px}.roll-status .tie{font-family:var(--display);font-size:20px;letter-spacing:.14em;color:var(--parch);text-transform:uppercase}.roll-skip{color:var(--muted);font-size:12px;letter-spacing:.08em}.die-wrap{position:relative;width:var(--die);height:calc(var(--die) * 1.5);display:grid;align-items:end;justify-items:center;perspective:620px}.die{--half: calc(var(--die) / 2);position:relative;width:var(--die);height:var(--die);transform-style:preserve-3d}.face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template:repeat(3,1fr) / repeat(3,1fr);padding:15%;place-items:center;background:linear-gradient(145deg,#f6eed8,#d8caa6);border:2px solid #b89b58;border-radius:18%;box-shadow:inset 0 0 14px #5a461e59}.face i{width:62%;height:62%;border-radius:50%}.face i.pip{background:radial-gradient(circle at 35% 30%,#4a3a1c,#1f1608);box-shadow:inset 0 1px 2px #0009}.face.f1{transform:translateZ(var(--half))}.face.f6{transform:rotateY(180deg) translateZ(var(--half))}.face.f2{transform:rotateY(90deg) translateZ(var(--half))}.face.f5{transform:rotateY(-90deg) translateZ(var(--half))}.face.f3{transform:rotateX(90deg) translateZ(var(--half))}.face.f4{transform:rotateX(-90deg) translateZ(var(--half))}.die-shadow{position:absolute;bottom:4px;width:calc(var(--die) * .9);height:calc(var(--die) * .22);border-radius:50%;background:#0000008c;filter:blur(10px)}.won .die-wrap{filter:drop-shadow(0 0 18px rgba(217,188,124,.6))}@media (max-width: 520px){.roll-dice{gap:22px}}.account-bar{display:flex;align-items:center;gap:8px;min-height:30px;padding-bottom:12px;margin-bottom:-2px;border-bottom:1px solid var(--panel-3)}.account-name{flex:1;min-width:0;color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-name b{color:var(--parch);font-family:var(--display);letter-spacing:.04em}.account-bar button{padding:4px 12px;font-size:12px}.auth-panel{width:min(380px,92vw);padding:18px 20px 16px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,var(--panel-3),var(--panel));border-radius:12px;box-shadow:0 0 0 1px var(--gold-dim),0 24px 60px #0009}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border-radius:9px;background:#0000004d}.auth-tabs button{border:0;border-radius:7px;padding:7px 10px;background:transparent;color:var(--muted);font-family:var(--display);font-size:12px;letter-spacing:.06em}.auth-tabs button.on{background:var(--panel-3);color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold-dim)}.auth-field{display:flex;flex-direction:column;gap:4px}.auth-field span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.auth-field input[aria-invalid=true]{border-color:var(--danger)}.auth-field em{font-style:normal;font-size:12px;color:var(--danger)}.auth-failure{padding:8px 10px;border-radius:7px;font-size:12.5px;color:var(--danger);background:#e4625a1a;box-shadow:inset 0 0 0 1px #e4625a59}.auth-field input{width:100%;box-sizing:border-box;padding:9px 11px;text-align:left;letter-spacing:normal;font-family:var(--body);font-size:14px}.auth-field input::placeholder{color:#ece4d24d}.auth-field input:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.auth-input{position:relative;display:flex}.auth-input.has-trailing input{padding-right:42px}.auth-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:32px;height:32px;padding:0;background:none;border:0;border-radius:6px;color:var(--muted);cursor:pointer}.auth-eye:hover:not(:disabled){color:var(--gold)}.auth-eye[aria-pressed=true]{color:var(--gold)}.auth-eye:focus-visible{outline:2px solid var(--gold);outline-offset:0}.account-bar>*{animation:loading-veil .25s ease both}@media (prefers-reduced-motion: reduce){.account-bar>*{animation:none}}.account-name-btn{display:inline-flex;align-items:center;gap:6px;flex:1;justify-content:flex-start;background:none;border:0;padding:4px 8px 4px 0;cursor:pointer;text-align:left}.account-name-btn b{color:var(--parch);font-family:var(--display);letter-spacing:.06em;text-transform:uppercase}.account-name-btn:hover b,.account-name-btn:hover svg{color:var(--gold)}.account-name-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}.account-title{margin:0;font-family:var(--display);font-size:16px;letter-spacing:.06em;color:var(--gold)}.account-email{color:var(--parch);font-size:14px;overflow-wrap:anywhere;padding:2px 0 4px}.account-actions{display:flex;justify-content:space-between;gap:8px}.account-actions .ghost{flex:1}.avatar{position:relative;display:block;overflow:hidden;border-radius:50%;flex:none;background:var(--panel)}.avatar img{position:absolute;max-width:none;width:217.4%;left:-60.87%;top:-56.52%;pointer-events:none}.avatar-big{box-shadow:0 0 0 2px var(--gold-dim),0 12px 30px #0000008c}.account-shell{max-width:880px}.account-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.account-brand{display:flex;align-items:center;gap:10px;color:var(--gold);font-family:var(--display);letter-spacing:.22em;text-transform:uppercase;font-size:15px}.account-heading{margin:0 0 4px;font-family:var(--display);font-size:22px;letter-spacing:.08em;color:var(--gold)}.account-body{display:grid;grid-template-columns:minmax(200px,240px) minmax(0,1fr);gap:34px;align-items:start}.avatar-col{display:flex;flex-direction:column;align-items:center;gap:16px}.avatar-picker{display:flex;gap:12px}.avatar-choice{padding:3px;border-radius:50%;border:2px solid transparent;background:none;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.avatar-choice:hover:not(:disabled){transform:translateY(-2px);border-color:var(--gold-dim)}.avatar-choice.on{border-color:var(--gold);box-shadow:0 0 16px #d9bc7c59}.avatar-choice:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.fields-col{display:flex;flex-direction:column;gap:14px;min-width:0}.account-actions{display:flex;gap:10px;align-items:center}.account-actions .primary{flex:1}@media (max-width: 720px){.account-body{grid-template-columns:minmax(0,1fr)}}.account-menu{position:relative}.account-menu .account-name-btn{flex:none}.account-menu .menu-caret{transition:transform .18s}.account-menu .account-name-btn[aria-expanded=true] .menu-caret{transform:rotate(180deg);color:var(--gold)}.account-dropdown{position:absolute;z-index:40;top:calc(100% + 2px);right:0;min-width:190px;max-width:calc(100vw - 32px);padding:5px;display:flex;flex-direction:column;gap:2px;border-radius:10px;background:var(--panel-2);border:1px solid var(--gold-dim);box-shadow:0 16px 36px #0000008c;animation:select-in .12s ease-out}.account-bar .account-dropdown button{display:flex;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;text-align:left;border:0;border-radius:7px;background:none;color:var(--parch);cursor:pointer}.account-bar .account-dropdown button svg{color:var(--gold-dim)}.account-bar .account-dropdown button:hover,.account-bar .account-dropdown button:focus-visible{background:var(--panel-3);outline:none}.account-bar .account-dropdown button:hover svg{color:var(--gold)}.decks-shell{max-width:1080px}.decks-head{display:flex;align-items:baseline;gap:14px;margin:6px 0 14px}.decks-head .account-heading{margin:0}.decks-count{font-family:var(--display);color:var(--gold-dim);letter-spacing:.08em}.decks-grid{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:16px;align-items:start}.decks-rail{display:flex;flex-direction:column;gap:8px}.deck-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;text-align:left;border-radius:10px;background:var(--panel-2);border:1px solid var(--panel-3);color:var(--parch);cursor:pointer;transition:border-color .15s,transform .15s,background .15s}.deck-row:hover{border-color:var(--gold-dim);transform:translate(2px)}.deck-row.on{border-color:var(--gold);background:#d9bc7c14;box-shadow:0 0 0 1px var(--gold)}.deck-row:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.deck-row span{display:flex;flex-direction:column;min-width:0}.deck-row b{font-family:var(--display);font-size:14px;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deck-row small{color:var(--muted);font-size:11.5px}.deck-row.add{grid-template-columns:42px 1fr;border-style:dashed;color:var(--gold);min-height:58px}.deck-row.add .plus{display:grid;place-items:center;width:42px;font-size:26px;color:var(--gold-dim)}.pill{font-style:normal;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;white-space:nowrap}.pill.ok{color:var(--good);background:#7fd18f1f;box-shadow:inset 0 0 0 1px #7fd18f59}.pill.warn{color:var(--warn);background:#f0b7551f;box-shadow:inset 0 0 0 1px #f0b75559}.deck-detail{padding:16px 18px;border-radius:12px;background:var(--panel-2);border:1px solid var(--panel-3);min-height:320px}.deck-detail-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.deck-name{flex:1;min-width:160px;font-family:var(--display);font-size:22px;letter-spacing:.04em;color:var(--gold);background:transparent;border:1px solid transparent;border-radius:7px;padding:4px 8px;margin-left:-8px;text-align:left}.deck-name:hover{border-color:var(--panel-3)}.deck-name:focus-visible{outline:none;border-color:var(--gold-dim);background:#00000040}.ghost.danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.deck-note{margin:10px 0 0;padding:8px 12px;border-radius:8px;font-size:13px;color:var(--parch);background:#00000040;border-left:3px solid var(--gold-dim)}.deck-note.warn{border-left-color:var(--warn)}.deck-secs{display:flex;flex-direction:column;gap:26px;margin-top:16px}.deck-sec h4{margin:0 0 12px;font-family:var(--display);font-size:17px;font-weight:500;letter-spacing:.05em;color:var(--parch)}.deck-sec h4 span{color:var(--muted);font-size:14px;font-family:var(--ui);letter-spacing:0}.deck-pics{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,150px));gap:14px}.deck-pic{position:relative}.deck-pic .deck-art{box-shadow:0 6px 16px #00000080}.deck-pic.dev .deck-art{filter:grayscale(.55) brightness(.75)}.copies,.zone-card .count{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#c44a52f0;color:#fff;font-family:var(--ui);font-weight:700;font-size:15px;box-shadow:0 0 0 2px #ffffffbf,0 4px 10px #0000008c;pointer-events:none}.dev-dot{position:absolute;top:5px;right:5px;width:10px;height:10px;cursor:help;border-radius:50%;background:var(--warn);box-shadow:0 0 0 2px #0a1012cc}.deck-text,.new-deck textarea{width:100%;box-sizing:border-box;margin-top:12px;padding:10px 12px;border-radius:9px;resize:vertical;background:var(--panel);border:1px solid var(--panel-3);color:var(--parch);font:13px/1.5 ui-monospace,Menlo,monospace}.new-deck textarea{margin-top:0}.deck-text:focus-visible,.new-deck textarea:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.deck-empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:12px 0}.deck-empty h3{margin:0;font-family:var(--display);color:var(--gold)}.new-deck{width:min(460px,92vw)}.new-deck form{display:flex;flex-direction:column;gap:12px}.new-deck-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.new-deck .choice{display:flex;flex-direction:column;gap:6px;padding:16px 14px;text-align:left;border-radius:10px;cursor:pointer;background:var(--panel);border:1px solid var(--panel-3);color:var(--parch);transition:border-color .15s,transform .15s}.new-deck .choice:hover{border-color:var(--gold);transform:translateY(-2px)}.new-deck .choice b{font-family:var(--display);font-size:17px;color:var(--gold)}.new-deck .choice small,.new-deck .hint{color:var(--muted);font-size:12px;line-height:1.4}.new-deck .hint code{color:var(--parch)}.new-deck .row{justify-content:flex-end}@media (max-width: 760px){.decks-grid,.new-deck-choices{grid-template-columns:1fr}}.editor-shell{max-width:1480px;width:100%}.editor-shell .account-top{gap:14px;flex-wrap:wrap}.editor-title{flex:1;min-width:200px;display:flex;flex-direction:column}.editor-title h1{margin:0;font-family:var(--display);font-size:22px;letter-spacing:.04em;color:var(--gold)}.editor-title span{color:var(--muted);font-size:12.5px}.save-state{font-size:12px;color:var(--muted)}.save-state.saving{color:var(--warn)}.save-state.error{color:var(--danger)}.editor{display:grid;grid-template-columns:minmax(300px,440px) minmax(0,1fr);gap:16px;align-items:start;margin-top:10px}.search{position:sticky;top:12px;display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:12px;background:var(--panel-2);border:1px solid var(--panel-3);max-height:calc(100vh - 24px);overflow:auto}.search-box{width:100%;box-sizing:border-box;padding:9px 12px;border-radius:9px;background:var(--panel);border:1px solid var(--panel-3);color:var(--parch);font:inherit;text-align:left}.search-box:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.chips{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.chips>span{width:58px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.chips button{padding:2px 8px;font-size:11.5px;border-radius:999px;background:transparent;color:var(--muted);border:1px solid var(--panel-3);cursor:pointer}.chips button:hover{border-color:var(--gold-dim);color:var(--parch)}.chips button.on{color:var(--gold);border-color:var(--gold);background:#d9bc7c1a}.search-bar{display:flex;align-items:center;gap:10px;font-size:12.5px}.search-bar .found{margin-left:auto;color:var(--muted)}.check input{width:auto;margin:0}.check{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--parch)}.pager{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12.5px}.pager button,.search-bar .ghost{padding:3px 10px;font-size:12px}.results{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}.result{position:relative}.result .pic,.zone-card{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;border-radius:7px}.result .pic:hover .deck-art{box-shadow:0 0 0 2px var(--gold),0 8px 18px #00000080}.result .pic:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.result.dev .deck-art,.zone-card.dev .deck-art{filter:grayscale(.55) brightness(.75)}.count{position:absolute;top:4px;right:4px;min-width:20px;padding:1px 6px;border-radius:999px;text-align:center;font-size:12px;background:var(--gold);color:var(--ink);box-shadow:0 2px 6px #00000080}.zones{display:flex;flex-direction:column;gap:14px;min-width:0}.zone{padding:12px 14px;border-radius:12px;background:var(--panel-2);border:1px solid var(--panel-3)}.zone h3{margin:0 0 10px;font-family:var(--display);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);display:flex;justify-content:space-between}.zone h3 span{color:var(--muted)}.zone-empty{margin:0}.zone-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.zone-card{cursor:default}.zone-card .count{padding:0;min-width:0}.zone-card .ctl{position:absolute;inset:auto 4px 4px;display:flex;gap:3px;justify-content:center;opacity:0;transition:opacity .12s}.zone-card:hover .ctl,.zone-card:focus-within .ctl{opacity:1}.zone-card .ctl button{flex:1;height:34px;padding:0;font-size:18px;line-height:1;border-radius:5px;background:#0a1012eb;color:var(--parch);border:1px solid var(--gold-dim);cursor:pointer}.zone-card .ctl button:hover{color:var(--gold);border-color:var(--gold)}@media (hover: none){.zone-card .ctl,.add-bar{opacity:1}}@media (max-width: 900px){.editor{grid-template-columns:1fr}.search{position:static;max-height:none}}.card-zoom{position:fixed;z-index:60;pointer-events:none;border-radius:12px;box-shadow:0 18px 50px #000000b3;animation:fadeIn .12s ease}.card-zoom .deck-art{border-radius:12px}@media (hover: none){.card-zoom{display:none}}.deck-sec,.zone{content-visibility:auto;contain-intrinsic-size:auto 420px}.result .dev-dot{right:auto;left:5px}.dev-dot:after{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px}.dev-tip{position:fixed;z-index:80;max-width:230px;padding:7px 10px;border-radius:8px;pointer-events:none;font-size:12.5px;line-height:1.4;color:var(--parch);background:var(--panel-2);border:1px solid var(--warn);box-shadow:0 10px 28px #0009;animation:fadeIn .1s ease}.result.blocked .pic .deck-art{opacity:.38}.result.blocked .add-main{opacity:.55}.editor-notice{margin:10px 0 0;padding:9px 14px;border-radius:9px;font-size:13.5px;color:var(--parch);background:#e4625a1f;border:1px solid rgba(228,98,90,.45);animation:fadeIn .12s ease}.add-bar{position:absolute;inset:auto 5px 5px;display:grid;grid-template-columns:1fr 1fr;gap:5px;opacity:0;transition:opacity .12s}.result:hover .add-bar,.result:focus-within .add-bar{opacity:1}.add-bar button{height:38px;padding:0 4px;display:flex;align-items:center;justify-content:center;gap:4px;border-radius:8px;cursor:pointer;white-space:nowrap;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--parch);background:#0a1012f0;border:1px solid var(--gold-dim)}.add-bar button span{font-size:17px;line-height:1;color:var(--gold)}.add-bar button:hover{color:#fff;border-color:var(--gold);background:#d9bc7c52}.add-bar button:focus-visible{outline:2px solid var(--gold);outline-offset:1px}@media (max-width: 1340px){.room{grid-template-columns:212px minmax(0,1fr) 156px}.preview-slot{height:252px}}@media (max-width: 1080px){.room{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.col-left{display:none}.col-right{flex-direction:row;flex-wrap:wrap;align-items:center;border-left:0;border-top:1px solid #16100a;padding:8px}.phase-rail{flex-direction:row;flex-wrap:wrap}.side-buttons{flex-direction:row;margin:0}.lane.regalia{max-width:none}}
