@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}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}.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;align-items:center;gap:.3rem;width:80px;padding:.5rem .4rem;display:flex}.charge-area-label{font-size:var(--board-text);opacity:.7;letter-spacing:.05em}.charge-area-stack{width:100%;min-height:calc(var(--card-h) * .74);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:-8px;display:flex}.charge-area-empty{border:1px dashed #fff3;border-radius:6px;width:70%;height:60%}.charge-card{border:1px solid #ffffff59;border-radius:4px;width:58px;height:40px;margin-top:-14px;position:relative;overflow:hidden;box-shadow:0 2px 4px #0006}.charge-card:first-child{margin-top:0}.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}.stats-bar{flex-direction:column;justify-content:center;align-items:flex-end;gap:.3rem;min-width:100px;display:flex}.player-name{font-weight:600;font-size:calc(var(--board-text) * 1.55)}.stat{font-size:calc(var(--board-text) * 1.5);opacity:.9;white-space:nowrap}.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{min-height:var(--hand-card-h);flex-wrap:wrap;flex:1;justify-content:center;gap:.4rem;display:flex}.hand-card{width:var(--hand-card-w);height:var(--hand-card-h);background:#10192e;border:1px solid #fff3;border-radius:8px;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{width:calc(var(--hand-card-w) * .64);height:calc(var(--hand-card-h) * .64)}.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}.control-bar{font-size:calc(var(--board-text) * 1.25);background:#1b1d24;border-top:1px solid #2c2f3a;border-bottom:1px solid #2c2f3a;flex-wrap:nowrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.control-side{scrollbar-width:none;flex:1 1 0;align-items:center;gap:8px;min-width:0;display:flex;overflow-x:auto}.control-side::-webkit-scrollbar{display:none}.control-side-end{justify-content:flex-end}.control-phase{color:#e6e8ef;white-space:nowrap;margin-right:4px;font-weight:600}.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 10px;font-weight:600;transition:color .12s,background .12s}.phase-track-step.pressable{cursor:pointer;color:#cdd3e4;background:#2a2f3d;border-color:#4b5164;font-family:inherit}.phase-track-step.pressable:hover{color:#fff;background:#3a4256;border-color:#6b90f5}.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}.phase-track-step.active.pressable:hover{background:#4d78ec}.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-bar>button,.control-phase{flex-shrink:0}.control-actions>*{white-space:nowrap;flex-shrink:0}.control-error{color:#ff9d9d;font-size:calc(var(--board-text) * 1.15)}.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;align-items:flex-start;gap:.4rem;padding:.3rem 0;display:flex}.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 .character-layer.top{box-shadow:0 0 0 2px #f0b23f}.character-slot.clickable{cursor:pointer}.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}.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}.lang-switch{z-index:10;background:#141822e6;border:1px solid #3a3f4d;border-radius:8px;display:inline-flex;position:fixed;top:.9rem;right:.9rem;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-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-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}.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 300px;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}.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:300px}.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{flex-direction:column;gap:8px;width:min(92%,680px);margin:0 auto;padding:24px 0 40px;display:flex}.deck-list-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.deck-list-head h1{margin:0;font-size:1.4rem}.deck-row{background:#171b25;border:1px solid #2c2f3a;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;display:flex}.deck-row.selectable{cursor:pointer}.deck-row.selectable:hover{border-color:#4d79ef}.deck-row.chosen{background:#232014;border-color:#f0b23f}.deck-row-portraits{flex-shrink:0;gap:4px;display:flex}.deck-row-portrait{aspect-ratio:5/7;background:#10192e;border:1px solid #2c2f3a;border-radius:5px;width:34px;display:block;overflow:hidden}.deck-row-portrait img,.deck-row-portrait .card-art-missing{object-fit:cover;width:100%;height:100%;font-size:.32rem;display:block}.deck-row-portrait-empty{box-sizing:border-box;border:1px dashed #3a3f4d;width:100%;height:100%;display:block}.deck-row-main{flex:1;min-width:0}.deck-row-name{font-weight:600}.deck-row-sub{opacity:.65;font-size:.78rem}.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{flex-shrink:0;gap:6px;display:flex}.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}}
