@import "https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600;700&family=Kanit:wght@400;500;600&family=Cinzel:wght@600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600;700&family=Cinzel:wght@600;700&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--card-back:url(/cards/backcard.png);--card-back-mute:saturate(.4) brightness(.72) contrast(.92);--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:20px/1.45 var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:18px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;display:flex}body{margin:0}html{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.room-code{-webkit-user-select:all;user-select:all;-webkit-touch-callout:default}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.page{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.leave-room-button{z-index:100;color:#eef2ff;cursor:pointer;background:#141c30d9;border:1px solid #ffffff40;border-radius:6px;padding:.3rem 1rem;font-size:.8rem;position:fixed;top:.75rem;right:.75rem}.board-page{box-sizing:border-box;background:#10131a;flex-direction:column;justify-content:stretch;align-items:stretch;height:100vh;padding:.5rem 1rem;overflow:hidden}@media (orientation:portrait){.board-page{height:100svh;padding:.25rem}}.card{border:1px solid #8080804d;border-radius:12px;flex-direction:column;gap:.75rem;width:100%;max-width:360px;padding:2rem;display:flex}.card h1{text-align:center;margin:0 0 .5rem;font-size:1.4rem}.card label{flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.card input{border:1px solid #80808066;border-radius:6px;padding:.5rem .6rem;font-size:1rem}.card button{cursor:pointer;border:none;border-radius:6px;padding:.6rem;font-size:1rem}.card button:disabled{opacity:.5;cursor:not-allowed}.divider{text-align:center;opacity:.6;margin:.25rem 0;font-size:.75rem}.status{text-align:center;opacity:.8;margin:0}.player-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.player-list li{border:1px solid #8080804d;border-radius:6px;padding:.5rem .75rem}.player-list li.disconnected{opacity:.5;font-style:italic}.error{color:#d64545;text-align:center;margin:0;font-size:.85rem}.card select{background:inherit;color:inherit;border:1px solid #80808066;border-radius:6px;padding:.5rem .6rem;font-size:1rem}.hint{text-align:center;opacity:.7;margin:0;font-size:.8rem}.hint a{color:inherit}.game-ui{grid-template-columns:60fr 40fr;gap:1rem;width:100%;height:100%;min-height:0;display:grid}.game-board{--card-h:clamp(84px, 11.6vh, 176px);--card-w:calc(var(--card-h) * .727);--hand-card-h:calc(var(--card-h) * .72);--hand-card-w:calc(var(--hand-card-h) * .72);--board-text:clamp(9px, 1.15vh, 14px);color:#eef2ff;background:radial-gradient(circle at top,#1b2a4a,#0c1526);border-radius:16px;flex-direction:column;justify-content:space-between;gap:.35rem;min-width:0;min-height:0;padding:.75rem 1.5rem;display:flex;position:relative}.right-panel{color:#eef2ff;grid-template-rows:1fr auto 1fr;min-width:0;min-height:0;display:grid}.right-panel-row{min-width:0;min-height:0;display:grid}.right-panel-row.top-panel{grid-template-columns:1fr auto 1fr}.right-panel-row.bottom-panel{grid-template-columns:38fr auto 62fr}.panel-divider{background:#ffffff1f;flex-shrink:0}.panel-divider.horizontal{width:100%;height:1px}.panel-divider.vertical{width:1px;height:100%}.panel-cell{min-width:0;min-height:0;display:flex;overflow:auto}.panel-cell:has(.hover-preview-panel){overflow:hidden}.side-panel{flex-direction:column;width:100%;min-height:0;display:flex}.side-panel-header{letter-spacing:.06em;text-transform:uppercase;opacity:.7;flex-shrink:0;padding:.5rem .75rem .3rem;font-size:.75rem}.side-panel-body{flex:1;min-height:0;padding:0 .75rem .75rem;overflow:auto}.side-panel-body.placeholder{text-align:center;opacity:.5;justify-content:center;align-items:center;font-size:.8rem;display:flex}.detail-name{margin:0 0 .25rem;font-size:1rem}.detail-meta{opacity:.55;margin:0 0 .5rem;font-size:.7rem}.detail-tags{flex-wrap:wrap;gap:.25rem;margin:0 0 .6rem;padding:0;list-style:none;display:flex}.detail-tag{white-space:nowrap;background:#8caaff1f;border:1px solid #8caaff73;border-radius:999px;padding:.1rem .4rem;font-size:.68rem;line-height:1.5}.detail-stats{grid-template-columns:auto 1fr;gap:.25rem .75rem;margin:0 0 .75rem;font-size:.8rem;display:grid}.detail-stats dt{opacity:.6}.detail-stats dd{margin:0}.detail-note{opacity:.5;margin:0;font-size:.7rem}.phase-bar{text-align:center;font-size:calc(var(--board-text) * 1.4);letter-spacing:.08em;text-transform:uppercase;opacity:.75;padding:.35rem 0}.player-zone{flex-direction:column;gap:.4rem;display:flex}.player-zone.mirrored{flex-direction:column-reverse}.zone-row{grid-template-columns:80px 1fr var(--card-w) 100px;align-items:center;gap:.75rem;display:grid}.zone-top-row{align-items:stretch}.charge-area{background:#ffffff0a;border:1px solid #ffffff40;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;width:80px;min-height:0;padding:.5rem .4rem;display:flex}.charge-area-clickable{cursor:pointer}.charge-area-clickable:hover,.charge-area-clickable:focus-visible{background:#7495f01f;border-color:#92b0ffcc;outline:none}.charge-area-label{font-size:var(--board-text);opacity:.7;letter-spacing:.05em}.charge-area-stack{flex:0 0 54px;justify-content:center;align-items:center;width:100%;height:54px;display:flex;position:relative}.charge-area-empty{border:1px dashed #fff3;border-radius:6px;width:58px;height:40px}.charge-card-layer,.charge-card{border-radius:4px;width:58px;height:40px;position:absolute}.charge-card-layer{background:#4f67a466;border:1px solid #fff3}.charge-card-layer-back{opacity:.45;transform:translate(5px,5px)}.charge-card-layer-mid{opacity:.7;transform:translate(2px,2px)}.charge-card{z-index:1;border:1px solid #ffffff59;overflow:hidden;box-shadow:0 2px 4px #0006}.charge-card img{object-fit:cover;width:100%;height:100%;transform:rotate(90deg)scale(1.5)}.charge-area-count{font-size:calc(var(--board-text) * 1.3);font-weight:600}.own-action-slot{background:#ffffff08;border:1px solid #ffffff40;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.3rem;padding:.5rem;display:flex}.action-slot-card{width:var(--card-w);height:var(--card-h);border:1px solid #ffffff4d;border-radius:8px;position:relative;overflow:hidden}.action-slot-card.empty{background:#ffffff08;border-style:dashed}.action-slot-card img{object-fit:cover;width:100%;height:100%;display:block}.action-slot-label{font-size:var(--board-text);opacity:.6;letter-spacing:.05em;white-space:nowrap}.action-slot-status{color:#b9c6e8;opacity:.95;font-size:calc(var(--board-text) * .94);letter-spacing:0}.player-stats{flex-direction:column;grid-column:3/-1;place-self:center end;align-items:flex-end;gap:.25rem;min-width:0;display:flex;position:relative}.player-stats-head{align-items:center;gap:.35rem;min-width:0;display:flex}.player-name{font-weight:600;font-size:calc(var(--board-text) * 1.45);white-space:nowrap;text-overflow:ellipsis;max-width:10em;overflow:hidden}.hp{--hp-color:#4ade80;background:linear-gradient(#141e36f2,#0a101ef2);border:1px solid #ffffff2e;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:auto auto;align-items:center;gap:3px .35rem;padding:4px 8px 5px;display:grid;position:relative;box-shadow:0 2px 10px #00000059}.hp-mid{--hp-color:#fbbf24}.hp-low{--hp-color:#f87171}.hp-heart{color:var(--hp-color);font-size:calc(var(--board-text) * 1.5);filter:drop-shadow(0 0 4px color-mix(in srgb, var(--hp-color) 60%, transparent));line-height:1}.hp-value{min-width:2ch;font-size:calc(var(--board-text) * 2);font-variant-numeric:tabular-nums;color:#fff;justify-self:end;font-weight:800;line-height:1}.hp-track{width:calc(var(--board-text) * 7);background:#ffffff1a;border-radius:999px;grid-column:1/-1;height:6px;overflow:hidden}.hp-fill{border-radius:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--hp-color) 70%, #000), var(--hp-color));height:100%;transition:width .45s cubic-bezier(.22,1,.36,1);display:block}.hp-damage{animation:.52s ease-out hp-hit}@keyframes hp-hit{0%{background:#7f1d1df2;transform:translate(0);box-shadow:0 0 0 2px #f87171f2,0 0 26px #f87171cc}15%{transform:translate(-6px)}30%{transform:translate(5px)}45%{transform:translate(-3px)}60%{transform:translate(2px)}to{transform:none}}.hp-heal{animation:.9s ease-out hp-heal}@keyframes hp-heal{0%{box-shadow:0 0 0 2px #4ade80e6,0 0 24px #4ade80b3}to{box-shadow:0 2px 10px #00000059}}.hp-float{font-size:calc(var(--board-text) * 2.1);pointer-events:none;text-shadow:0 2px 6px #000000d9;font-weight:900;animation:1.2s ease-out both hp-float;position:absolute;top:-4px;right:6px}.hp-float-damage{color:#f87171}.hp-float-heal{color:#4ade80}@keyframes hp-float{0%{opacity:0;transform:translateY(6px)scale(.7)}15%{opacity:1;transform:translateY(-6px)scale(1.15)}to{opacity:0;transform:translateY(-34px)scale(1)}}.stat-events{pointer-events:none;z-index:30;flex-direction:column;align-items:flex-end;gap:4px;display:flex;position:absolute;bottom:0;right:calc(100% + 8px)}.stat-event{white-space:nowrap;background:#0a101eeb;border:1px solid #ffffff29;border-radius:8px;align-items:center;gap:6px;padding:3px 8px 3px 3px;animation:1.8s both stat-event;display:flex;box-shadow:0 4px 14px #00000080}.stat-event-damage{border-color:#f8717199}.stat-event-heal{border-color:#4ade8099}.stat-event-toHand{border-color:#7daaff99}@keyframes stat-event{0%{opacity:0;transform:translate(10px)}12%,80%{opacity:1;transform:none}to{opacity:0;transform:translate(-4px)}}.stat-event-thumb{width:calc(var(--board-text) * 2.3);height:calc(var(--board-text) * 3.2);background:#12182c;border-radius:4px;flex-shrink:0;overflow:hidden}.stat-event-thumb img,.stat-event-thumb .card-art-missing{object-fit:cover;width:100%;height:100%;font-size:calc(var(--board-text) * .6);display:block}.stat-event-text{flex-direction:column;line-height:1.2;display:flex}.stat-event-text strong{font-size:calc(var(--board-text) * 1.2);color:#fff}.stat-event-damage strong{color:#fca5a5}.stat-event-heal strong{color:#86efac}.stat-event-toHand strong{color:#bcd2ff}.stat-event-text small{font-size:calc(var(--board-text) * .95);color:#aab0c0}.player-zone.mirrored .stat-events{top:0;bottom:auto}.player-zone.mirrored .hp-float{animation-name:hp-float-down;top:auto;bottom:-4px}@keyframes hp-float-down{0%{opacity:0;transform:translateY(-6px)scale(.7)}15%{opacity:1;transform:translateY(6px)scale(1.15)}to{opacity:0;transform:translateY(34px)scale(1)}}@media (prefers-reduced-motion:reduce){.hp-damage,.hp-float{animation-name:none}}.advantage-badge{font-size:calc(var(--board-text) * 1.2);letter-spacing:.02em;white-space:nowrap;background:#864ffe29;border:1px solid #864ffebf;border-radius:999px;padding:1px 6px;font-weight:700}.characters-row{align-items:flex-end;padding:.5rem 0}.characters-group{justify-content:center;align-items:flex-end;gap:.75rem;display:flex}.character-column{flex-direction:column;align-items:center;gap:.25rem;display:flex}.card-stack{flex-shrink:0;position:relative}.stack-card{border:1px solid #ffffff4d;border-radius:6px;position:absolute;overflow:hidden;box-shadow:0 2px 6px #00000059}.stack-card img,.stack-card .card-back{object-fit:cover;width:100%;height:100%;display:block}.stack-card-top{border-color:#ffffff80}.char-slot{background:#ffffff0a;border:2px solid #ffffff26;border-radius:8px;width:108px;height:142px;position:relative;overflow:hidden}.char-slot.back{opacity:.92;width:92px;height:122px}.char-slot.leader{z-index:1;border-color:#f2c94c;width:130px;height:172px;box-shadow:0 4px 14px #f2c94c40}.char-slot img{object-fit:cover;width:100%;height:100%;display:block}.char-slot.empty{border-style:dashed}.char-level{font-size:calc(var(--board-text) * 1.15);background:#0009;border-radius:4px;padding:0 4px;position:absolute;bottom:2px;right:2px}.hand-row{align-items:flex-end}.pile{flex-direction:column;align-items:center;gap:.25rem;display:flex}.pile-stack{width:var(--card-w);height:var(--card-h);position:relative}.pile-layer{background:repeating-linear-gradient(45deg,#24365f,#24365f 5px,#1a2847 5px 10px);border:1px solid #ffffff40;border-radius:6px;position:absolute;inset:0}.pile-facedown .pile-layer{background:#12182c var(--card-back) center / cover no-repeat;filter:var(--card-back-mute)}.pile-layer-2{opacity:.5;transform:translate(5px,5px)}.pile-layer-1{opacity:.75;transform:translate(2.5px,2.5px)}.pile-top img{object-fit:cover;border-radius:6px;width:100%;height:100%;display:block}.pile-stack.empty .pile-top{background:0 0;border-style:dashed}.pile-label{font-size:calc(var(--board-text) * 1.15);opacity:.75}.pile-clickable{cursor:pointer}.pile-clickable:hover .pile-stack:not(.empty){outline-offset:1px;outline:2px solid #fff;box-shadow:0 0 16px #ffffff80}.pile-modal-backdrop{z-index:200;background:#0009;border-radius:16px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pile-modal{color:#eef2ff;background:#101a30;border:1px solid #fff3;border-radius:14px;flex-direction:column;width:min(90vw,1100px);height:min(85vh,900px);display:flex;overflow:hidden;box-shadow:0 20px 60px #0009}.pile-modal-header{border-bottom:1px solid #ffffff1f;flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-size:1.1rem;font-weight:600;display:flex}.pile-modal-close{color:#eef2ff;cursor:pointer;background:#ffffff14;border:none;border-radius:50%;width:32px;height:32px;font-size:1rem}.pile-modal-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-content:start;gap:1rem;min-height:0;padding:1.25rem;display:grid;overflow-y:auto}.pile-modal-card{aspect-ratio:5/7;border:1px solid #ffffff40;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0006}.pile-modal-card img{object-fit:cover;width:100%;height:100%;display:block}.pile-modal-empty{text-align:center;opacity:.6;grid-column:1/-1;padding:2rem 0}.hand-card:hover,.char-slot:hover,.action-slot-card:not(.empty):hover,.charge-card:hover,.stack-card:hover,.pile-stack:not(.empty):hover{outline-offset:1px;z-index:8;outline:2px solid #fff;transition:transform .1s,box-shadow .1s;transform:scale(1.08);box-shadow:0 0 16px #ffffff80}.hand{--hand-gap:.4rem;--hand-fit-w:calc((100cqi - (var(--hand-count,1) - 1) * var(--hand-gap)) / var(--hand-count,1) - 2px);justify-content:center;gap:var(--hand-gap);min-width:0;min-height:var(--hand-card-h);flex-wrap:nowrap;flex:1;align-items:center;display:flex;container-type:inline-size}.hand-card{--this-w:min(var(--hand-card-w), var(--hand-fit-w));width:var(--this-w);height:calc(var(--this-w) / .72);background:#10192e;border:1px solid #fff3;border-radius:8px;flex-shrink:0;position:relative;overflow:hidden}@keyframes card-draw-in{0%{opacity:0;transform:translateY(20px)scale(.82)}65%{opacity:1;transform:translateY(-3px)scale(1.04)}to{opacity:1;transform:translateY(0)scale(1)}}.hand-card.just-drawn{animation:.42s cubic-bezier(.22,1,.36,1) both card-draw-in}.hand-card img{object-fit:cover;width:100%;height:100%;display:block}.hand.face-down .hand-card{--this-w:min(calc(var(--hand-card-w) * .64), var(--hand-fit-w))}.card-back{background:#12182c var(--card-back) center / cover no-repeat;filter:var(--card-back-mute);border-radius:6px}.stat-pill{font-size:var(--board-text);background:#000000a6;border-radius:4px;padding:0 3px;position:absolute;top:2px}.stat-pill.cost{left:2px}.stat-pill.color-badge{right:2px}.color-red{color:#ff6b6b}.color-green{color:#6bff9e}.color-blue{color:#6bb8ff}.stat-row{font-size:var(--board-text);background:#0000008c;border-radius:4px;justify-content:space-between;padding:0 3px;display:flex;position:absolute;bottom:2px;left:2px;right:2px}.hover-preview-panel{box-sizing:border-box;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;min-height:0;padding:.5rem;display:flex}.hover-preview-panel img{object-fit:contain;border:1px solid #ffffff40;border-radius:10px;max-width:100%;max-height:100%;display:block;box-shadow:0 12px 40px #00000080}.choice-backdrop{z-index:300;background:#000000b8;border-radius:16px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.choice-dialog{box-sizing:border-box;color:#eef2ff;background:#131a2c;border:1px solid #ffffff2e;border-radius:14px;flex-direction:column;gap:1rem;width:fit-content;min-width:min(340px,90%);max-width:min(90%,1000px);max-height:88%;padding:1.25rem 1.5rem;display:flex;box-shadow:0 18px 48px #0000008c}.choice-prompt{margin:0;font-size:1.05rem;line-height:1.5}.choice-detail{color:#9aa1b4;margin:.5rem 0 0;font-size:.85rem;line-height:1.5}.choice-cards{flex-wrap:wrap;place-content:start center;gap:.75rem;min-height:0;padding:.25rem;display:flex;overflow-y:auto}.choice-card{aspect-ratio:5/7;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;flex:0 0 120px;padding:0;transition:transform .1s,border-color .1s;overflow:hidden}.choice-card img,.choice-card .card-art-missing{object-fit:cover;width:100%;height:100%;display:block}.choice-card:hover{transform:scale(1.05)}.choice-card.picked{border-color:#6ee7ff;box-shadow:0 0 14px #6ee7ff99}.choice-options{flex-wrap:wrap;gap:.5rem;display:flex}.choice-option{color:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #fff3;border-radius:8px;padding:.5rem .9rem}.choice-option.picked{background:#6ee7ff2e;border-color:#6ee7ff}.choice-actions{justify-content:flex-end;gap:.6rem;display:flex}.choice-yes,.choice-no{cursor:pointer;font:inherit;border:1px solid #ffffff38;border-radius:8px;padding:.5rem 1.2rem}.choice-yes{color:#fff;background:#2563eb;border-color:#3b82f6}.choice-yes:disabled{opacity:.45;cursor:not-allowed}.choice-no{color:#cbd5f5;background:#ffffff0f}.choice-cancel{color:#94a3b8;cursor:pointer;font:inherit;background:0 0;border:1px solid #ffffff1f;border-radius:8px;margin-right:auto;padding:.5rem 1rem}.choice-cancel:hover{color:#cbd5f5;border-color:#ffffff42}.hand-card.returning{opacity:.55;filter:grayscale(.5);transform:translateY(14px)}.choice-demo-button{z-index:150;font:inherit;color:#cbd5f5;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:8px;padding:.35rem .8rem;position:absolute;bottom:.75rem;left:1.5rem}.choice-demo-result{z-index:150;color:#a7f3d0;background:#10b9811f;border:1px solid #10b98166;border-radius:8px;margin:0;padding:.35rem .8rem;position:absolute;bottom:.75rem;left:1.5rem}.chat-log{flex-direction:column;gap:.3rem;font-size:.8rem;display:flex}.chat-line{word-break:break-word;align-items:baseline;gap:.4rem;display:flex}.chat-from{opacity:.75;flex-shrink:0;font-weight:600}.chat-input{flex-shrink:0;gap:.35rem;padding:0 .75rem .6rem;display:flex}.chat-input input{min-width:0;color:inherit;background:#ffffff0f;border:1px solid #80808059;border-radius:5px;flex:1;padding:.3rem .45rem;font-size:.8rem}.chat-input button{color:inherit;cursor:pointer;background:#ffffff14;border:1px solid #80808059;border-radius:5px;flex-shrink:0;padding:.3rem .6rem;font-size:.8rem}.chat-input button:disabled{opacity:.4;cursor:not-allowed}@media (orientation:portrait){.game-ui{grid-template-rows:1fr;grid-template-columns:1fr}.game-board{--zone-gap:.4rem;--card-w:min(calc((100vw - 1.5rem - 4 * var(--zone-gap)) / 5), calc(11.6svh * .727), 128px);--card-h:calc(var(--card-w) / .727);--hand-card-h:calc(var(--card-h) * .95);--board-text:clamp(9px, 1.1svh, 13px);box-sizing:border-box;border-radius:12px;gap:.25rem;padding:.4rem .5rem}.player-zone{gap:.25rem}.zone-row{gap:var(--zone-gap)}.zone-top-row{grid-template-columns:auto minmax(0, 1fr) var(--card-w)}.characters-row{grid-template-columns:var(--card-w) minmax(0, 1fr) var(--card-w);padding:.25rem 0}.characters-group{gap:var(--zone-gap)}.hand-row{grid-template-columns:minmax(0,1fr) auto}.player-stats{grid-column:auto}.hand-row>div:empty{display:none}.hand.face-down{min-height:calc(var(--hand-card-h) * .64)}.charge-area{width:60px;padding:.3rem .2rem}.charge-area-stack{flex-basis:44px;height:44px}.charge-area-empty,.charge-card-layer,.charge-card{width:48px;height:33px}.own-action-slot{min-width:0;padding:.3rem}.action-slot-cards .action-slot-card+.action-slot-card{margin-left:calc(var(--card-w) * -.55)}.player-name{max-width:22vw}.hp-track{width:calc(var(--board-text) * 5.5)}.stat-events{bottom:calc(100% + 6px);right:0}.player-zone.mirrored .stat-events{top:calc(100% + 6px);bottom:auto}.right-panel{display:none}.pile-modal-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.6rem;padding:.75rem}.choice-dialog{padding:1rem}.choice-card{flex-basis:90px}}.card-peek-backdrop{z-index:1000;box-sizing:border-box;color:#eef2ff;background:#040812db;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1rem;animation:.14s ease-out card-peek-in;display:flex;position:fixed;inset:0}@keyframes card-peek-in{0%{opacity:0;transform:scale(.96)}}.card-peek-art{flex:0 auto;justify-content:center;min-height:0;display:flex}.card-peek-art img,.card-peek-art .card-art-missing{object-fit:contain;border:1px solid #ffffff40;border-radius:12px;max-width:min(88vw,420px);max-height:58svh;display:block;box-shadow:0 16px 48px #0009}.card-peek-detail{box-sizing:border-box;background:#131a2c;border:1px solid #ffffff24;border-radius:12px;flex:0 auto;width:min(92vw,480px);max-height:32svh;padding:.75rem 1rem;overflow-y:auto}.card-peek-hint{opacity:.55;flex-shrink:0;font-size:.7rem}@media (hover:none){.stat-pill,.stat-row,.character-level,.character-tag,.character-count,.action-slot-committed{pointer-events:none}}.levelup-fx{z-index:350;cursor:pointer;background:radial-gradient(#0c1224f5,#040812e6);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.9rem;animation:2.6s both levelup-fx-veil;display:flex;position:absolute;inset:0}@keyframes levelup-fx-veil{0%{opacity:0}10%,75%{opacity:1}to{opacity:0}}.levelup-fx-cards{align-items:center;gap:1rem;display:flex}.levelup-fx-card{width:calc(var(--card-w) * 1.9);height:calc(var(--card-h) * 1.9);border:1px solid #ffffff4d;border-radius:10px;position:relative;overflow:hidden;box-shadow:0 12px 36px #0009}.levelup-fx-card img,.levelup-fx-card .card-art-missing{object-fit:cover;width:100%;height:100%;display:block}.levelup-fx-level{color:#fff;font-size:calc(var(--board-text) * 1.3);white-space:nowrap;background:#000000bf;border-radius:999px;padding:1px 8px;font-weight:700;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.levelup-fx-from{animation:2.6s both levelup-fx-from}@keyframes levelup-fx-from{0%{opacity:0;transform:translateY(12px)scale(.92)}12%{opacity:1;transform:none}32%{opacity:1;filter:none;transform:none}45%,to{opacity:.8;filter:grayscale(.6)brightness(.7);transform:scale(.9)}}.levelup-fx-arrow{color:#f0b23f;font-size:calc(var(--board-text) * 2.6);animation:2.6s both levelup-fx-arrow}@keyframes levelup-fx-arrow{0%,26%{opacity:0;transform:translate(-10px)}38%,to{opacity:1;transform:none}}.levelup-fx-to{border-color:#f0b23f;animation:2.6s cubic-bezier(.22,1,.36,1) both levelup-fx-to}@keyframes levelup-fx-to{0%,32%{opacity:0;transform:scale(1.35);box-shadow:0 0 #f0b23f00}46%{opacity:1;transform:scale(.97);box-shadow:0 0 48px 10px #f0b23fbf}54%,to{opacity:1;transform:none;box-shadow:0 0 22px 3px #f0b23f66}}.levelup-fx-title{color:#fbe3ad;font-size:calc(var(--board-text) * 1.7);letter-spacing:.03em;text-align:center;text-shadow:0 2px 10px #000c;margin:0;font-weight:700;animation:2.6s both levelup-fx-arrow}@media (orientation:portrait){.levelup-fx-card{width:min(calc(var(--card-w) * 1.9), 36vw);aspect-ratio:.727;height:auto}}@media (prefers-reduced-motion:reduce){.levelup-fx-from,.levelup-fx-arrow,.levelup-fx-to,.levelup-fx-title{animation:none}}.clash-fx{z-index:350;cursor:pointer;background:radial-gradient(#0c1224f0,#040812db);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;animation:1.9s both clash-fx-veil;display:flex;position:absolute;inset:0}@keyframes clash-fx-veil{0%{opacity:0}8%,80%{opacity:1}to{opacity:0}}.clash-fx-side{flex-direction:column;align-items:center;gap:.3rem;display:flex}.clash-fx-side:last-child{flex-direction:column-reverse}.clash-fx-name{color:#cbd5f5;font-size:calc(var(--board-text) * 1.3);font-weight:600}.clash-fx-card{width:calc(var(--card-w) * 1.45);height:calc(var(--card-h) * 1.45);perspective:900px}.clash-fx-flip{width:100%;height:100%;transform-style:preserve-3d;animation:1.9s cubic-bezier(.45,0,.2,1) both clash-fx-flip;position:relative}@keyframes clash-fx-flip{0%,16%{transform:rotateY(0)}40%,to{transform:rotateY(180deg)}}.clash-fx-face{backface-visibility:hidden;border:1px solid #ffffff4d;border-radius:8px;position:absolute;inset:0;overflow:hidden;box-shadow:0 10px 30px #0000008c}.clash-fx-front{transform:rotateY(180deg)}.clash-fx-front img,.clash-fx-front .card-art-missing{object-fit:cover;width:100%;height:100%;display:block}.clash-fx-none{box-sizing:border-box;color:#8d93a5;font-size:calc(var(--board-text) * 1.2);border:1px dashed #ffffff4d;border-radius:8px;justify-content:center;align-items:center;display:flex}.clash-fx-side.winner .clash-fx-front{animation:1.9s both clash-fx-win}@keyframes clash-fx-win{0%,42%{border-color:#ffffff4d;box-shadow:0 10px 30px #0000008c}52%,to{border-color:#f0b23f;box-shadow:0 0 28px 6px #f0b23f99}}.clash-fx-result{color:#fbe3ad;font-size:calc(var(--board-text) * 1.6);letter-spacing:.03em;text-shadow:0 2px 10px #000c;margin:.2rem 0;font-weight:700;animation:1.9s both clash-fx-result}@keyframes clash-fx-result{0%,40%{opacity:0;transform:scale(.9)}50%,to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.clash-fx-flip{animation:none;transform:rotateY(180deg)}.clash-fx-result,.clash-fx-side.winner .clash-fx-front{animation:none}}.reveal-panel{z-index:150;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:10px;max-width:min(92%,760px);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.reveal-entry{pointer-events:auto;background:#0d1220eb;border:1px solid #e8c98a73;border-radius:12px;flex-direction:column;gap:8px;padding:10px 12px 12px;animation:.26s cubic-bezier(.22,1,.36,1) reveal-in;display:flex;box-shadow:0 12px 32px #0000008c,0 0 18px #e8c98a1f}.reveal-head{align-items:center;gap:10px;display:flex}.reveal-title{color:#e8c98a;font-size:calc(var(--board-text) * 1.2);letter-spacing:.03em;font-weight:600}.reveal-taken{color:#8fe3b0;font-size:calc(var(--board-text) * 1.05);background:#6ee7a024;border-radius:999px;padding:1px 7px}.reveal-close{color:#b9c6e8;cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:6px;width:24px;height:24px;margin-left:auto;padding:0;font-size:16px;line-height:1}.reveal-close:hover{color:#fff;background:#ffffff14}.reveal-cards,.choice-revealed-cards{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.reveal-card{width:var(--card-w,84px);aspect-ratio:5/7;border-radius:6px;overflow:hidden;box-shadow:0 2px 8px #00000080}.reveal-card img,.reveal-card .card-art-missing{object-fit:cover;width:100%;height:100%;display:block}.reveal-card.left{opacity:.45;filter:grayscale(.4)}.choice-revealed{flex-direction:column;align-items:center;gap:6px;display:flex}.choice-revealed-label{color:#e8c98a;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}.choice-revealed .reveal-card{width:110px}@keyframes reveal-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.reveal-entry{animation:none}}.control-bar{font-family:"Rajdhani", "Kanit", var(--sans);font-size:calc(var(--board-text) * 1.25);background:0 0;border-top:0;border-bottom:0;flex-direction:column;gap:2px;padding:6px 8px 5px 44px;display:flex;position:relative}.control-bar button{font-family:inherit}.control-bar{container:control-bar/inline-size}.control-main-row{grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);align-items:center;gap:8px;min-width:0;display:grid}.control-bar.simple{flex-direction:row;justify-content:center;align-items:center;gap:14px;min-height:48px}.control-side{align-items:center;min-width:0;display:flex}.control-side-end{justify-content:flex-end;padding:4px 0}@container control-bar (width<=1000px){.control-main-row{flex-wrap:wrap;justify-content:space-between;row-gap:4px;margin-left:-36px;display:flex}.control-main-row>.phase-track{scrollbar-width:none;flex:1 0 100%;order:-1;justify-content:center;overflow-x:auto}.control-main-row>.control-side:first-of-type{padding-left:38px}.control-side-end{margin-left:auto}.match-settings{top:auto;bottom:3px;transform:none}}.control-bar button.control-primary-move{--move-a:#3f6ae0;--move-b:#2a4bb0;--move-glow:#5a8cff8c;border:1px solid color-mix(in srgb, var(--move-a) 70%, #fff);background:linear-gradient(180deg, var(--move-a), var(--move-b));color:#fff;font-size:calc(var(--board-text) * 1.5);letter-spacing:.06em;text-transform:uppercase;text-shadow:0 1px 2px #00000073;white-space:nowrap;box-shadow:0 4px 14px var(--move-glow), inset 0 1px 0 #ffffff40;border-radius:9px;margin-left:10px;padding:7px 20px;font-weight:800;transition:transform .12s,box-shadow .16s,filter .16s;animation:2.2s ease-in-out infinite move-breathe;position:relative;overflow:hidden}.control-bar button.control-primary-move:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 30%,#ffffff59 48%,#0000 66%);animation:3.2s ease-in-out infinite move-sheen;position:absolute;inset:0;transform:translate(-120%)}@keyframes move-breathe{0%,to{box-shadow:0 4px 14px var(--move-glow), inset 0 1px 0 #ffffff40}50%{box-shadow:0 4px 24px 3px var(--move-glow), inset 0 1px 0 #ffffff40}}@keyframes move-sheen{0%,55%{transform:translate(-120%)}85%,to{transform:translate(120%)}}.control-bar button.control-move-battle{--move-a:#e0473f;--move-b:#a8242a;--move-glow:#f050468c}.control-bar button.control-move-end{--move-a:#3f6ae0;--move-b:#2a4bb0;--move-glow:#5a8cff80}.control-bar button.control-primary-move:active{transform:translateY(1px)scale(.97)}@media (prefers-reduced-motion:reduce){.control-bar button.control-primary-move,.control-bar button.control-primary-move:after{animation:none}}.control-bar button.control-secondary-move{color:#8d93a5;font-size:calc(var(--board-text) * 1.02);letter-spacing:.04em;white-space:nowrap;background:0 0;border:1px solid #3a3f4d;border-radius:6px;margin-left:10px;padding:3px 10px}.control-bar button.control-secondary-move:hover:not(:disabled){color:#cdd3e4;background:#262a34;border-color:#4b5164}.control-bar button.control-primary-move:hover:not(:disabled){background:linear-gradient(180deg, var(--move-a), var(--move-b));filter:brightness(1.12);color:#fff;transform:translateY(-1px)}.control-bar button.control-primary-move.control-pass{--move-glow:#b8922f40;color:#e8c98a;text-shadow:none;background:#33291a;border-color:#7a6330;animation:none}.control-bar button.control-primary-move.control-pass:after{display:none}.control-bar button.control-primary-move.control-pass:hover:not(:disabled){color:#ffe6b0;filter:none;background:#453521;border-color:#b8922f}.control-phase{color:#e6e8ef;white-space:nowrap;font-weight:600}.control-status{color:#b9c6e8;font-size:calc(var(--board-text) * 1.02);text-align:center;border-top:1px solid #b1c1e812;justify-content:center;align-items:center;gap:6px;margin-top:6px;padding-top:4px;line-height:1.15;display:flex}.control-status-action{font-size:calc(var(--board-text) * .94)!important;border-radius:4px!important;padding:1px 5px!important}.match-settings{z-index:65;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.match-settings-gear,.view-hand-toggle{color:#e6e8ef;cursor:pointer;background:#0c1526d9;border:1px solid #b4c5f06b;border-radius:7px;justify-content:center;align-items:center;min-height:30px;display:inline-flex;box-shadow:0 2px 8px #0000004d}.match-settings-gear{width:32px;padding:0;font-size:1rem}.match-settings-gear:hover,.view-hand-toggle:hover{background:#2b3653;border-color:#7aa2ff}.match-settings-menu{z-index:1;background:#151b2b;border:1px solid #3a4769;border-radius:8px;flex-direction:column;gap:3px;min-width:132px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #00000094}.match-settings-menu button{color:#e6e8ef;font:inherit;font-size:calc(var(--board-text) * 1.15);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;padding:6px 8px}.match-settings-menu button:hover{background:#2a334b;border-color:#4b5d87}.match-settings-menu button.match-settings-music{border-bottom:1px solid #2a334b;border-radius:5px 5px 0 0;align-items:center;gap:8px;display:flex}.match-settings-menu button.danger{color:#ffb4b4}.match-settings-menu button.danger:hover{background:#4a232d;border-color:#8c4552}.view-hand-toggle{z-index:64;font-size:var(--board-text);padding:3px 8px;position:absolute;top:.65rem;right:3.3rem}.phase-track{flex:none;align-items:center;gap:2px;margin:0;padding:0;list-style:none;display:flex}.phase-track-item{align-items:center;gap:2px;display:flex}.phase-track-arrow{color:#4b5164;font-size:calc(var(--board-text) * 1.3)}.phase-track-step{color:#6f7689;font-size:calc(var(--board-text) * 1.15);letter-spacing:.04em;white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:3px 8px;font-weight:600;transition:color .12s,background .12s}.phase-track-step.waiting{color:#565c6e;border-style:dashed;border-color:#343a49}.phase-track-step.active{color:#fff;background:#3f6ae0;border-color:#6b90f5;box-shadow:0 0 0 3px #3f6ae033}.control-hint{color:#8d93a5;font-size:calc(var(--board-text) * 1.15)}.control-bar button{color:#e6e8ef;font-size:calc(var(--board-text) * 1.25);cursor:pointer;background:#262a34;border:1px solid #3a3f4d;border-radius:6px;padding:5px 12px}.control-bar button:hover:not(:disabled){background:#323848}.control-bar button:disabled{opacity:.4;cursor:not-allowed}.control-bar button.primary{background:#3f6ae0;border-color:#4d79ef}.control-bar button.primary:hover:not(:disabled){background:#4d79ef}.hand-card.clickable{cursor:pointer}.hand-card.selected{outline-offset:2px;outline:2px solid #f0b23f;transform:translateY(-8px)}.character-level,.character-tag{z-index:9;color:#fff;font-size:calc(var(--board-text) * 1.05);background:#000000bf;border-radius:4px;padding:1px 6px;position:absolute;bottom:4px}.character-level{left:4px}.character-tag{color:#1b1d24;background:#f0b23f;font-weight:600;right:4px}.action-slot-cards{gap:4px;display:flex}.action-slot-committed{color:#f0b23f;font-size:calc(var(--board-text) * 1.05);background:#000000bf;border-radius:4px;padding:1px 6px;position:absolute;bottom:4px;left:4px}.action-slot-card.committed img{opacity:.65}.control-actions{scrollbar-width:thin;flex:auto;align-items:center;gap:8px;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.control-actions>*{white-space:nowrap;flex-shrink:0}.control-error{color:#ff9d9d;font-size:calc(var(--board-text) * 1.15)}.control-bar.simple .control-actions{flex:0 auto;justify-content:center;gap:10px;padding:4px 6px 6px}.control-bar.simple .control-phase{color:#e8c98a;font-size:calc(var(--board-text) * 1.2);letter-spacing:.12em;text-transform:uppercase;text-shadow:0 1px 6px #e8c98a40;font-weight:700}.control-bar.simple .control-phase.control-gameover{font-family:Cinzel,Kanit,serif;font-size:calc(var(--board-text) * 2);letter-spacing:.08em;text-transform:none;background:linear-gradient(#fff3d0,#d9a74a);color:#0000;text-shadow:none;filter:drop-shadow(0 2px 10px #d9a74a59);-webkit-background-clip:text;background-clip:text}.control-bar.simple button{color:#cdd3e4;font-size:calc(var(--board-text) * 1.35);letter-spacing:.05em;background:#141a28cc;border-color:#b4c5f047;border-radius:9px;padding:7px 18px;font-weight:600;transition:transform .12s,filter .16s,background .16s}.control-bar.simple button.primary{--move-a:#3f6ae0;--move-b:#2a4bb0;--move-glow:#5a8cff8c;border:1px solid color-mix(in srgb, var(--move-a) 70%, #fff);background:linear-gradient(180deg, var(--move-a), var(--move-b));color:#fff;font-size:calc(var(--board-text) * 1.5);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 2px #00000073;box-shadow:0 4px 14px var(--move-glow), inset 0 1px 0 #ffffff40;padding:8px 26px;font-weight:700;animation:2.2s ease-in-out infinite move-breathe}.control-bar.simple button.primary:hover:not(:disabled){background:linear-gradient(180deg, var(--move-a), var(--move-b));filter:brightness(1.12);transform:translateY(-1px)}.control-bar.simple button:active:not(:disabled){transform:translateY(1px)scale(.97)}.control-bar.simple button.primary:disabled{opacity:1;color:#e8c98a;text-shadow:none;box-shadow:none;cursor:default;background:#141a28b3;border:1px dashed #e8c98a73;animation:none}.control-bar.simple .control-hint{color:#b9c6e8;font-size:calc(var(--board-text) * 1.25);letter-spacing:.04em;align-items:center;gap:8px;display:inline-flex}.control-bar.simple .control-hint:before{content:"";background:#7aa2ff;border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite hint-pulse;box-shadow:0 0 8px #7aa2ff}@keyframes hint-pulse{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.control-bar.simple button.primary,.control-bar.simple .control-hint:before{animation:none}}.log-lines{color:#c3c7d4;margin:0;padding-left:0;font-size:.8rem;line-height:1.45;list-style:none}.log-lines li{border-bottom:1px solid #ffffff12;border-radius:5px;align-items:flex-start;gap:.4rem;margin:0 -.35rem;padding:.3rem .35rem;transition:background .1s,box-shadow .1s;display:flex}.log-lines li:hover{background:#ffffff14;box-shadow:inset 2px 0 #dce1eb80}.log-lines li:last-child{border-bottom:none}.log-thumb{opacity:.85;background:#12182c;border-radius:3px;flex-shrink:0;width:1.5rem;height:2.1rem;overflow:hidden}.log-thumb.empty{background:0 0}.log-thumb img,.log-thumb .card-art-missing{object-fit:cover;width:100%;height:100%;font-size:.45rem;display:block}.log-text{min-width:0}.manual-effects{background:#2a2312;border:1px solid #6a5220;border-radius:6px;margin-bottom:10px;padding:8px}.manual-effects h4{color:#f0b23f;margin:0 0 4px;font-size:.8rem}.manual-effects ul{color:#e0d6bd;margin:0;padding-left:16px;font-size:.8rem;line-height:1.5}.detail-effects{color:#c3c7d4;margin:8px 0 0;padding-left:16px;font-size:.85rem;line-height:1.55}.detail-effects li.manual{color:#e0d6bd}.manual-tag{color:#f0e0bd;background:#6a5220;border-radius:3px;margin-left:6px;padding:0 5px;font-size:.65rem}.card-art-missing{box-sizing:border-box;text-align:center;width:100%;height:100%;font-size:var(--board-text,.56rem);color:#aab0c0;background:#1a2140;justify-content:center;align-items:center;padding:4px;line-height:1.25;display:flex}.control-bar button.danger{color:#ffb4b4;border-color:#6b3434}.control-bar button.danger:hover:not(:disabled){background:#4a2323}.character-slot{width:var(--card-w);height:calc(var(--card-h) + 20px);position:relative}.character-layer{width:var(--card-w);height:var(--card-h);border:1px solid #ffffff40;border-radius:6px;position:absolute;left:0;overflow:hidden;box-shadow:0 2px 6px #00000073}.character-layer img{object-fit:cover;width:100%;height:100%;display:block}.character-slot.empty{border:1px dashed #343946;border-radius:6px;justify-content:center;align-items:center;display:flex}.character-position{font-size:var(--board-text);color:#5c6377}.character-slot.leader:not(.picking) .character-layer.top{box-shadow:0 0 0 2px #f0b23f}.character-slot.facedown .character-layer.top{box-shadow:0 2px 6px #00000073}.character-slot.clickable{cursor:pointer}.character-slot.picked .character-layer.top{box-shadow:0 0 0 2px #6fe38a}.character-slot-wrap,.hand-card-wrap{position:relative}.hand-card-wrap{display:flex}.hand-card.menu-open{outline-offset:2px;outline:2px solid #7aa2ff;transform:translateY(-8px)}.character-slot.menu-open .character-layer.top{box-shadow:0 0 0 2px #7aa2ff,0 0 14px #7aa2ff80}.card-menu{z-index:40;background:#1b1d24;border:1px solid #3a3f4d;border-radius:8px;flex-direction:column;gap:2px;min-width:170px;max-height:46vh;padding:4px;display:flex;position:absolute;bottom:calc(100% + 6px);left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 8px 24px #0009}.card-menu-head{color:#8d93a5;font-size:var(--board-text);white-space:nowrap;padding:3px 8px}.card-menu button{color:#e6e8ef;font-size:calc(var(--board-text) * 1.15);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:5px 8px;display:flex}.card-menu button:hover{background:#262a34;border-color:#3a3f4d}.card-menu button small{opacity:.65;font-size:var(--board-text);display:block}.card-menu-thumb{width:calc(var(--board-text) * 2.2);height:calc(var(--board-text) * 3);background:#12182c;border-radius:3px;flex-shrink:0;overflow:hidden}.card-menu-thumb img,.card-menu-thumb .card-art-missing{object-fit:cover;width:100%;height:100%;font-size:calc(var(--board-text) * .7);display:block}.levelup-confirm{justify-content:center;align-items:center;gap:.75rem;margin:.5rem 0 .25rem;display:flex}.levelup-confirm-cost{gap:.35rem;display:flex}.levelup-confirm-arrow{color:#8d93a5}.levelup-confirm-target img,.levelup-confirm-card img,.levelup-confirm-target .card-art-missing,.levelup-confirm-card .card-art-missing{width:calc(var(--card-w) * .9);height:calc(var(--card-h) * .9);object-fit:cover;border-radius:6px;display:block}.levelup-confirm-target img{box-shadow:0 0 0 2px #f0b23f}.levelup-confirm-card img{opacity:.75}.character-slot.clickable:hover .character-layer.top{outline-offset:1px;outline:2px solid #fff}.character-count{z-index:9;color:#e6e8ef;min-width:14px;font-size:var(--board-text);text-align:center;background:#000c;border-radius:8px;padding:0 4px;position:absolute;top:2px;right:2px}.hand-card.unplayable img{filter:grayscale(.7)brightness(.55)}.hand-card.unplayable:after{content:"";pointer-events:none;border:1px solid #ff787880;border-radius:8px;position:absolute;inset:0}.kw-tag{color:#fff;white-space:nowrap;border-radius:.25em;margin:0 .1em;padding:.05em .35em;font-weight:600;display:inline}@media (orientation:portrait){.phase-track-step{padding:2px 5px}.control-bar.simple{flex-wrap:wrap}.card-menu{min-width:140px;max-width:70vw}.card-menu button{white-space:normal}}.hand-card.draggable,.character-slot.draggable{touch-action:none}.drag-ghost{z-index:1200;width:calc(var(--card-w,70px) * 1.05);aspect-ratio:.72;pointer-events:none;opacity:.95;border:2px solid #ffffffd9;border-radius:8px;position:fixed;top:0;left:0;overflow:hidden;box-shadow:0 16px 36px #0009,0 0 18px #7aa2ff8c}.drag-ghost img,.drag-ghost .card-art-missing{object-fit:cover;width:100%;height:100%;display:block}.drop-target{outline-offset:3px;outline:2px dashed #7ac8ffd9;animation:1s ease-in-out infinite drop-pulse}.drop-target.drop-over{background-color:#7ad3ff24;outline:3px solid #7ad3ff;animation:none;box-shadow:0 0 22px #7ad3ff99}@keyframes drop-pulse{0%,to{outline-color:#7ac8ff73}50%{outline-color:#7ac8ff}}.deck-page{color:#e6e8ef;background:#0d1017;min-height:100vh;padding:0;display:block}.deck-builder{flex-direction:column;height:100vh;display:flex}.deck-bar{z-index:20;background:#1b1d24;border-bottom:1px solid #2c2f3a;flex-shrink:0;align-items:center;gap:8px;padding:10px 14px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0000004d}.deck-bar-spacer{flex:1}.deck-bar button{color:#e6e8ef;cursor:pointer;background:#262a34;border:1px solid #3a3f4d;border-radius:6px;padding:6px 14px;font-size:.72rem}.deck-bar button:hover:not(:disabled){background:#323848}.deck-bar button.primary{background:#3f6ae0;border-color:#4d79ef}.deck-bar button.primary:hover:not(:disabled){background:#4d79ef}.deck-name{color:#e6e8ef;background:#262a34;border:1px solid #3a3f4d;border-radius:6px;width:260px;padding:6px 10px;font-size:.78rem}.deck-count{color:#ff9d9d;font-variant-numeric:tabular-nums;background:#d6454526;border:1px solid #5a3a3a;border-radius:999px;padding:4px 10px;font-size:.72rem}.deck-count.ok{color:#7ee2a8;background:#3fe0841f;border-color:#2f6b45}.image-preload-pill{color:#8fa6dd;font-variant-numeric:tabular-nums;white-space:nowrap;background:#4f79ef1f;border:1px solid #3a3f4d;border-radius:999px;padding:3px 10px;font-size:.68rem}.deck-body{flex:1;grid-template-columns:1fr clamp(330px,27vw,460px);min-height:0;display:grid}.deck-main{min-width:0;padding:14px 16px 32px;overflow-y:auto}.deck-heading{letter-spacing:.06em;text-transform:uppercase;opacity:.75;margin:0 0 8px;font-size:.85rem}.deck-heading small{text-transform:none;letter-spacing:0;opacity:.7}.deck-note,.deck-empty{opacity:.6;margin:0 0 16px;font-size:.8rem}.character-picker{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.character-chip{color:#e6e8ef;cursor:pointer;background:#171b25;border:2px solid #2c2f3a;border-radius:10px;flex-direction:column;align-items:center;gap:4px;width:92px;padding:6px 6px 8px;font-size:.67rem;transition:border-color .12s,transform .12s;display:flex}.character-chip:hover:not(:disabled){border-color:#4d79ef;transform:translateY(-2px)}.character-chip.picked{background:#232014;border-color:#f0b23f}.character-chip:disabled{opacity:.35;cursor:not-allowed}.character-chip-art{aspect-ratio:5/7;border-radius:6px;width:100%;display:block;overflow:hidden}.character-chip-art img,.character-chip-art .card-art-missing{object-fit:cover;width:100%;height:100%;font-size:.44rem;display:block}.character-chip-name{text-align:center;line-height:1.2}.leader-levels{background:linear-gradient(160deg,#171b27 0%,#131620 100%);border:1px solid #2c2f3a;border-radius:12px;margin-bottom:18px;padding:12px 14px}.leader-levels .deck-heading{margin-bottom:10px}.leader-levels-rows{flex-direction:column;gap:10px;display:flex}.leader-levels-row{align-items:center;gap:12px;display:flex}.leader-levels-name{opacity:.85;flex-shrink:0;width:84px;font-size:.76rem;font-weight:600}.leader-levels-cards{gap:10px;display:flex}.leader-level-card{aspect-ratio:5/7;background:#10192e;border:2px solid #2c2f3a;border-radius:7px;width:64px;transition:transform .14s,border-color .14s,box-shadow .14s;position:relative;overflow:hidden}.leader-level-card:hover{border-color:#4d79ef;transform:translateY(-3px);box-shadow:0 6px 14px #0006}.leader-level-card.level-1:hover{border-color:#f0b23f}.leader-level-card.level-2:hover{border-color:#ff8a5c}.leader-level-card img,.leader-level-card .card-art-missing{object-fit:cover;width:100%;height:100%;font-size:.4rem;display:block}button.leader-level-card{cursor:pointer;font:inherit;color:inherit;padding:0}.leader-level-card.on-cover{border-color:#f0b23f;box-shadow:0 0 0 2px #f0b23f59,0 6px 14px #0006}.leader-level-card.cover-full{opacity:.55;cursor:not-allowed}.leader-cover-badge{color:#1b1d24;background:#f0b23f;border-radius:50%;place-items:center;width:18px;height:18px;font-size:.62rem;font-weight:800;display:grid;position:absolute;top:3px;right:3px}.leader-level-badge{background:#000000b8;border-radius:4px;padding:0 5px;font-size:.58rem;font-weight:600;position:absolute;bottom:3px;left:3px}@media (width<=640px){.leader-levels-row{flex-wrap:wrap}.leader-levels-name{width:100%}}.card-pool{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;display:grid}.pool-card{border-radius:8px;flex-direction:column;gap:4px;display:flex}.pool-card-art{aspect-ratio:5/7;cursor:pointer;background:#10192e;border:2px solid #0000;border-radius:8px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.pool-card-art img,.pool-card-art .card-art-missing{object-fit:cover;width:100%;height:100%;font-size:.5rem;display:block}.pool-card.in-deck .pool-card-art{border-color:#f0b23f}.pool-card-art:disabled{cursor:not-allowed}.pool-card-art:disabled img{filter:brightness(.75)}.pool-card-cost{text-align:center;background:#000000b8;border-radius:4px;min-width:16px;padding:0 4px;font-size:.61rem;position:absolute;top:3px;left:3px}.pool-card-copies{color:#17130a;text-align:center;background:#f0b23f;border-radius:999px;min-width:20px;padding:1px 5px;font-size:.67rem;font-weight:700;position:absolute;bottom:3px;right:3px}.pool-card-controls{align-items:center;gap:4px;display:flex}.pool-card-controls button{color:#e6e8ef;cursor:pointer;background:#262a34;border:1px solid #3a3f4d;border-radius:5px;flex-shrink:0;width:22px;height:22px;font-size:.78rem;line-height:1}.pool-card-controls button:hover:not(:disabled){background:#323848}.pool-card-controls button:disabled{opacity:.3;cursor:not-allowed}.pool-card-name{text-overflow:ellipsis;white-space:nowrap;opacity:.7;text-align:center;flex:1;min-width:0;font-size:.56rem;overflow:hidden}.deck-side{background:#10131a;border-left:1px solid #2c2f3a;flex-direction:column;min-height:0;display:flex}.deck-side-preview{flex-shrink:0;justify-content:center;padding:10px;display:flex}.deck-side-preview .hover-preview-panel img,.deck-side-preview .hover-preview-panel .card-art-missing{border-radius:8px;max-width:100%;max-height:min(52vh,560px)}.deck-side-detail{border-top:1px solid #2c2f3a;flex:1;min-height:0;display:flex;overflow:hidden}.deck-side-issues{border-top:1px solid #2c2f3a;flex-shrink:0;max-height:25%;padding:8px 12px;font-size:.75rem;overflow-y:auto}.deck-side-issues ul{color:#ff9d9d;margin:0;padding-left:1.1em}.deck-ok{color:#7ee2a8;margin:0}.deck-dialog-backdrop{z-index:400;background:#000000b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.deck-dialog{background:#151923;border:1px solid #3a3f4d;border-radius:12px;flex-direction:column;gap:10px;width:min(92%,560px);padding:16px 18px;display:flex;box-shadow:0 18px 48px #0000008c}.deck-dialog h3{margin:0;font-size:1rem}.deck-dialog-hint{opacity:.65;margin:0;font-size:.78rem}.deck-dialog-hint code{background:#ffffff14;border-radius:4px;padding:1px 4px}.deck-dialog-text{color:#e6e8ef;resize:vertical;background:#0d1017;border:1px solid #3a3f4d;border-radius:8px;height:260px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.67rem;line-height:1.5}.deck-dialog-errors{color:#ff9d9d;max-height:90px;margin:0;padding-left:1.1em;font-size:.75rem;overflow-y:auto}.deck-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.deck-dialog-actions button,.deck-dialog-actions a{color:#e6e8ef;cursor:pointer;background:#262a34;border:1px solid #3a3f4d;border-radius:6px;align-items:center;padding:6px 16px;font-size:.72rem;text-decoration:none;display:inline-flex}.deck-dialog-actions button.primary,.deck-dialog-actions a.primary{background:#3f6ae0;border-color:#4d79ef}.deck-dialog-actions button:disabled{opacity:.4;cursor:not-allowed}.share-deck-dialog{width:min(92%,680px)}.share-deck-preview{background:#0d1017;border:1px solid #2c2f3a;border-radius:8px;justify-content:center;align-items:center;max-height:70vh;padding:8px;display:flex;overflow:auto}.share-deck-preview img{border-radius:6px;width:100%;height:auto;display:block}.share-deck-preview .deck-dialog-hint{padding:40px 0}.deck-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));align-items:start;gap:16px;width:min(96%,1400px);margin:0 auto;padding:24px 0 40px;display:grid}.deck-list-head,.deck-list>.deck-empty{grid-column:1/-1}.deck-list-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.deck-list-head h1{color:#eef2ff;margin:0;font-size:1.6rem}.deck-row{background:linear-gradient(135deg,#1a1f2c 0%,#141824 100%);border:1px solid #2c2f3a;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"cover cover cover""main main main""status.actions";align-items:center;gap:12px;padding:14px 16px 10px;transition:border-color .14s,box-shadow .14s;display:grid}.deck-row:hover{border-color:#3a4260;box-shadow:0 8px 24px #00000059}.deck-row.selectable{cursor:pointer}.deck-row.selectable:hover{border-color:#4d79ef}.deck-row.chosen{background:#232014;border-color:#f0b23f}.deck-row-status{grid-area:status;width:40px;height:40px;display:flex}.deck-row-status svg{width:100%;height:100%}.deck-row-status.ok{color:#4ade80}.deck-row-status.bad{color:#fbbf24}.deck-cover{grid-area:cover;gap:6px;display:flex}.deck-cover-card{aspect-ratio:.72;background:#10192e;border:1px solid #ffffff24;border-radius:9px;flex:1;min-width:0;display:block;overflow:hidden;box-shadow:0 6px 16px #00000073}.deck-cover-card img,.deck-cover-card .card-art-missing{object-fit:cover;transform-origin:50% 32%;width:100%;height:100%;font-size:.5rem;transition:transform .25s;display:block;transform:scale(1.4)}.deck-row:hover .deck-cover-card img{transform:scale(1.48)}.deck-cover-empty{box-sizing:border-box;border:1px dashed #3a3f4d;border-radius:9px;width:100%;height:100%;display:block}.deck-row-main{flex-direction:column;grid-area:main;gap:4px;min-width:0;display:flex}.deck-row-name{align-items:baseline;gap:8px;font-size:1.15rem;font-weight:700;display:flex}.deck-row-tag{color:#b79dff;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#864ffe24;border:1px solid #864ffeb3;border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:.62rem;font-weight:700}.deck-row-sub{opacity:.65;font-size:.8rem}.deck-row-why{color:#fbbf24}.deck-row-badge{color:#ff9d9d;background:#d6454526;border:1px solid #5a3a3a;border-radius:999px;flex-shrink:0;padding:2px 9px;font-size:.72rem}.deck-row-badge.ok{color:#7ee2a8;background:#3fe0841f;border-color:#2f6b45}.deck-row-actions{grid-area:actions;align-items:center;display:flex}.deck-row-actions .deck-icon-button+.deck-icon-button{border-left:2px solid #3a3f4d}.deck-row-actions button.deck-icon-button{color:#aab0c0;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;width:64px;height:56px;padding:0;display:flex}.deck-row-actions button.deck-icon-button svg{width:30px;height:30px;transition:transform .12s}.deck-row-actions button.deck-icon-button:hover{color:#fff}.deck-row-actions button.deck-icon-button:hover svg{transform:scale(1.12)}.deck-row-actions button.deck-icon-button.danger{color:#f26b6b}.deck-row-actions button.deck-icon-button.danger:hover{color:#ff9d9d}.deck-row-actions button{color:#e6e8ef;cursor:pointer;background:#262a34;border:1px solid #3a3f4d;border-radius:6px;padding:4px 10px;font-size:.67rem}.deck-row-actions button.danger{color:#ffb4b4;border-color:#6b3434}@media (width<=900px){.deck-body{grid-template-columns:1fr}.deck-side{display:none}}@media (width<=640px){.deck-row{gap:10px;padding:12px 12px 8px}.deck-row-status{width:30px;height:30px}.deck-row-actions button.deck-icon-button{width:52px;height:44px}.deck-row-actions button.deck-icon-button svg{width:24px;height:24px}}.menu-page,.play-page{color:#e6e8ef;min-height:100vh;font-family:"Rajdhani", var(--sans,system-ui), sans-serif;background:radial-gradient(circle at 50% 0,#1a2340 0%,#0d1017 60%);justify-content:center;align-items:center;display:flex}.menu{background:#141822e6;border:1px solid #2c2f3a;border-radius:16px;flex-direction:column;gap:12px;width:min(92%,400px);padding:32px 28px;display:flex;box-shadow:0 24px 60px #00000080}.menu-corner{z-index:10;align-items:stretch;gap:8px;display:flex;position:fixed;top:.9rem;right:.9rem}.music-toggle{cursor:pointer;background:#141822e6;border:1px solid #3a3f4d;border-radius:8px;justify-content:center;align-items:center;width:38px;padding:0;transition:background .12s,color .12s;display:inline-flex;box-shadow:0 8px 20px #00000059}.music-toggle.on{color:#8fb3ff}.music-toggle.off{color:#6b7285}.music-toggle:hover{color:#e6e8ef;background:#ffffff14}.lang-switch{background:#141822e6;border:1px solid #3a3f4d;border-radius:8px;display:inline-flex;overflow:hidden;box-shadow:0 8px 20px #00000059}.lang-switch button{color:#8fa0c9;font-family:"Rajdhani", var(--sans,system-ui), sans-serif;letter-spacing:.04em;cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:.75rem;font-weight:600;transition:background .12s,color .12s}.lang-switch button:hover{color:#e6e8ef;background:#ffffff0f}.lang-switch button.on{color:#fff;background:#3f6ae0}.menu-credit{z-index:10;letter-spacing:.02em;color:#5a6178;margin:0;font-size:.65rem;position:fixed;bottom:.75rem;left:.9rem}.menu-credit a{color:inherit;text-decoration:none}.menu-credit a:hover{color:#8fa0c9;text-decoration:underline}.menu-credit{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.menu-credit a.menu-discord{color:#7a82a0;align-items:center;gap:.5rem;transition:color .15s,transform .15s;display:inline-flex}.menu-discord-text{letter-spacing:.03em;font-size:.8rem;font-weight:600}.menu-credit a.menu-discord:hover{color:#5865f2;text-decoration:none;transform:translateY(-2px)}.menu-title{text-align:center;letter-spacing:.1em;background:linear-gradient(#fefefe 0%,#b9c4e8 70%,#7a8fce 100%);color:#0000;text-shadow:0 2px 18px #4d79ef59;-webkit-background-clip:text;background-clip:text;margin:0;font-family:Cinzel,serif;font-size:2.1rem;font-weight:700}.menu-sub{text-align:center;letter-spacing:.03em;opacity:.55;margin:0 0 8px;font-size:.85rem}.menu-name{opacity:.85;flex-direction:column;gap:4px;font-size:.8rem;display:flex}.menu-name input{color:#e6e8ef;background:#262a34;border:1px solid #3a3f4d;border-radius:8px;padding:9px 11px;font-size:.83rem}.menu-button{color:#1a1e2b;text-align:left;cursor:pointer;isolation:isolate;background:linear-gradient(135deg,#f5f6fa 0%,#e2e5ee 100%);border:1px solid #c7ccdc;border-radius:10px;align-items:center;min-height:78px;padding:14px 96px 14px 16px;transition:background .12s,border-color .12s,transform .12s,box-shadow .12s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff80}.menu-button:hover:not(:disabled){background:linear-gradient(135deg,#fff 0%,#eaeefa 100%);border-color:#4d79ef;transform:translateY(-1px);box-shadow:inset 0 1px #fff9,0 6px 16px #141e3c2e}.menu-button:active:not(:disabled){transform:translateY(0)}.menu-button:disabled{opacity:.55;cursor:not-allowed}.menu-button.primary{background:linear-gradient(135deg,#f2f5ff 0%,#cbd8ff 100%);border-color:#8fa3ea}.menu-button.primary:hover:not(:disabled){background:linear-gradient(135deg,#fff 0%,#d7e0ff 100%);border-color:#4d79ef}.menu-button-text{z-index:1;flex-direction:column;gap:2px;max-width:100%;display:flex;position:relative}.menu-button-label{letter-spacing:.03em;color:#1c2340;font-family:Cinzel,serif;font-size:1.2rem;font-weight:600}.menu-button.primary .menu-button-label{color:#1f3487}.menu-button-sub{letter-spacing:.02em;color:#4a4f63;opacity:.85;font-size:.78rem}.menu-button-art{z-index:0;object-fit:contain;object-position:bottom right;pointer-events:none;filter:drop-shadow(0 4px 8px #1e284640);opacity:.95;width:auto;max-width:46%;height:150%;transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .2s;position:absolute;bottom:-6px;right:-6px;transform:translateY(4%)scale(1);-webkit-mask-image:linear-gradient(270deg,#000 55%,#0000 100%);mask-image:linear-gradient(270deg,#000 55%,#0000 100%)}.menu-button:hover:not(:disabled) .menu-button-art{opacity:1;transform:translateY(0%)scale(1.1)}.menu-button-art.chibi{max-width:34%;height:92%;bottom:-2px;right:6px;transform:none;-webkit-mask-image:radial-gradient(circle closest-side,#000 78%,#0000 100%);mask-image:radial-gradient(circle closest-side,#000 78%,#0000 100%)}.menu-button:hover:not(:disabled) .menu-button-art.chibi{transform:scale(1.08)}.menu-link{color:#8fa6dd;cursor:pointer;background:0 0;border:none;margin-top:4px;padding:6px;font-size:.78rem;text-decoration:underline}.play-page{align-items:flex-start;padding:28px 0 48px}.play-panel{flex-direction:column;gap:14px;width:min(92%,640px);display:flex}.play-head{align-items:center;gap:10px;display:flex}.play-head h1{margin:0;font-size:1.4rem}.play-spacer{flex:1}.play-card{background:#141822e6;border:1px solid #2c2f3a;border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.play-card h2{letter-spacing:.06em;text-transform:uppercase;opacity:.7;margin:0;font-size:.85rem}.play-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.play-row input{color:#e6e8ef;background:#262a34;border:1px solid #3a3f4d;border-radius:8px;flex:1;min-width:140px;padding:8px 10px;font-size:.78rem}.play-panel button{color:#e6e8ef;cursor:pointer;white-space:nowrap;background:#262a34;border:1px solid #3a3f4d;border-radius:8px;padding:8px 16px;font-size:.72rem}.play-panel button:hover:not(:disabled){background:#323848}.play-panel button:disabled{opacity:.4;cursor:not-allowed}.play-panel button.primary{background:#3f6ae0;border-color:#4d79ef}.play-panel button.primary:hover:not(:disabled){background:#4d79ef}.visibility-toggle{border:1px solid #3a3f4d;border-radius:8px;display:inline-flex;overflow:hidden}.visibility-toggle button{background:#1c2029;border:none;border-radius:0;padding:8px 14px;font-size:.67rem}.visibility-toggle button.on{color:#fff;background:#3f6ae0}.room-list{flex-direction:column;gap:8px;max-height:46vh;display:flex;overflow-y:auto}.room-row{background:#171b25;border:1px solid #2c2f3a;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.room-row-main{flex:1;min-width:0}.room-row-host{font-weight:600}.room-row-sub{opacity:.6;font-size:.76rem}.room-code{letter-spacing:.12em;opacity:.8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.play-empty{text-align:center;opacity:.5;margin:0;padding:14px 0;font-size:.8rem}.play-error{color:#ff9d9d;margin:0;font-size:.82rem}.server-notice{z-index:9999;box-sizing:border-box;text-align:center;color:var(--text-h);background:var(--accent-bg);border-bottom:1px solid var(--accent-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.5rem 1rem;font-size:.8rem;position:fixed;top:0;left:0;right:0}
