.studio-root{display:flex;flex-direction:column;min-height:100vh;background:radial-gradient(circle at 50% 10%,#171c26,#0c0e14 60%,#07080b);color:#e5e9f0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden;position:relative;z-index:1}.studio-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#12161fd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:50;flex-wrap:wrap;gap:12px}.studio-brand{display:flex;align-items:center;gap:12px}.studio-logo{font-size:26px;line-height:1;filter:drop-shadow(0 0 8px rgba(243,156,18,.4))}.studio-title-block h1{font-size:18px;font-weight:700;letter-spacing:.5px;margin:0;color:#fff;display:flex;align-items:center;gap:8px}.studio-tag{font-size:11px;font-weight:600;text-transform:uppercase;background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;padding:2px 6px;border-radius:4px;letter-spacing:.8px}.studio-subtitle{font-size:12px;color:#8892b0;margin:0}.studio-nav{display:flex;align-items:center;gap:4px;background:#00000059;padding:4px;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.studio-nav-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;background:transparent;color:#a0aec0;font-size:13px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .15s ease}.studio-nav-btn:hover{color:#fff;background:#ffffff0f}.studio-nav-btn.active{color:#fff;background:#e67e2238;border:1px solid rgba(230,126,34,.4);box-shadow:0 0 10px #e67e2226}.studio-nav-badge{font-size:11px;background:#ffffff1f;padding:1px 6px;border-radius:10px}.studio-header-actions{display:flex;align-items:center;gap:8px}.btn-studio{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#ffffff0f;color:#e2e8f0;cursor:pointer;transition:all .15s ease}.btn-studio:hover{background:#ffffff1f;color:#fff}.btn-studio-primary{background:linear-gradient(135deg,#e67e22,#d35400);border-color:#f39c12;color:#fff;box-shadow:0 2px 8px #d3540059}.btn-studio-primary:hover{background:linear-gradient(135deg,#f39c12,#e67e22);box-shadow:0 4px 12px #d3540080;transform:translateY(-1px)}.btn-studio-ghost{background:transparent;border-color:transparent;color:#94a3b8}.btn-studio-ghost:hover{background:#ffffff0d;color:#fff}.btn-studio-danger{background:#c0392b33;border-color:#c0392b80;color:#e74c3c}.btn-studio-danger:hover{background:#c0392b59;color:#fff}.studio-content{flex:1;padding:24px;max-width:1600px;width:100%;margin:0 auto;box-sizing:border-box}.studio-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:20px;background:#161b2699;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:14px 18px;border-radius:10px;border:1px solid rgba(255,255,255,.06)}.studio-search-box{display:flex;align-items:center;gap:8px;background:#0a0d13b3;border:1px solid rgba(255,255,255,.1);padding:6px 12px;border-radius:6px;min-width:260px;flex:1;max-width:400px}.studio-search-box input{background:transparent;border:none;color:#fff;font-size:13px;width:100%;outline:none}.studio-search-box input::placeholder{color:#64748b}.studio-filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.studio-select{background:#0a0d13b3;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;padding:7px 10px;border-radius:6px;font-size:13px;outline:none;cursor:pointer}.studio-select:hover,.studio-select:focus{border-color:#e67e2280}.view-toggle-group{display:flex;border:1px solid rgba(255,255,255,.1);border-radius:6px;overflow:hidden}.view-toggle-btn{background:#0a0d13b3;border:none;color:#94a3b8;padding:6px 10px;cursor:pointer;transition:all .15s ease}.view-toggle-btn.active{background:#e67e2240;color:#fff}.studio-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-bottom:30px}.studio-card-item{background:#161b26b3;border-radius:12px;border:1px solid rgba(255,255,255,.08);padding:14px;display:flex;flex-direction:column;align-items:center;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;box-shadow:0 4px 12px #0003}.studio-card-item:hover{transform:translateY(-4px);border-color:#e67e2266;box-shadow:0 8px 24px #0006,0 0 15px #e67e221a}.studio-card-badge-row{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:10px;font-size:11px}.studio-faction-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-weight:600;font-size:11px;background:#ffffff14;border:1px solid rgba(255,255,255,.1)}.studio-status-pill{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:4px}.studio-card-actions{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06);gap:6px}.studio-card-actions button{flex:1}.studio-table-wrap{overflow-x:auto;background:#161b26b3;border-radius:10px;border:1px solid rgba(255,255,255,.08);margin-bottom:30px}.studio-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.studio-table th{background:#0e121ae6;padding:12px 14px;color:#94a3b8;font-weight:600;border-bottom:1px solid rgba(255,255,255,.1);white-space:nowrap}.studio-table td{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle}.studio-table tr:hover td{background:#ffffff08}.studio-table-card-name{font-weight:600;color:#fff;display:flex;align-items:center;gap:8px}.studio-table-card-id{font-family:monospace;font-size:11px;color:#64748b}.studio-factions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;margin-bottom:30px}.studio-faction-card{background:#161b26b3;border-radius:12px;border:1px solid rgba(255,255,255,.08);padding:20px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;transition:all .2s ease}.studio-faction-card:hover{transform:translateY(-2px);border-color:var(--faction-color, #f39c12);box-shadow:0 8px 24px #0000004d,0 0 20px rgba(var(--faction-color-rgb, 243, 156, 18),.15)}.studio-faction-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--faction-color, #f39c12)}.studio-faction-header{display:flex;align-items:center;justify-content:space-between}.studio-faction-title{display:flex;align-items:center;gap:10px}.studio-faction-icon{font-size:28px}.studio-faction-title h3{margin:0;font-size:18px;color:#fff}.studio-faction-tier{font-size:11px;color:#8892b0}.studio-faction-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;background:#0a0d1399;padding:10px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.studio-stat-item dt{font-size:11px;color:#64748b;text-transform:uppercase}.studio-stat-item dd{font-size:16px;font-weight:700;color:#fff;margin:2px 0 0}.studio-faction-playstyle{font-size:12px;font-weight:600;color:var(--faction-color, #f39c12)}.studio-faction-desc{font-size:13px;color:#94a3b8;line-height:1.5;margin:0}.studio-faction-mechanics{display:flex;flex-wrap:wrap;gap:6px}.studio-tag-chip{font-size:11px;padding:2px 8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:4px;color:#cbd5e1}.studio-analytics-container{display:flex;flex-direction:column;gap:24px}.studio-metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.studio-metric-box{background:#161b26b3;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:6px}.studio-metric-box .label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.studio-metric-box .value{font-size:28px;font-weight:700;color:#fff}.studio-metric-box .subtext{font-size:12px;color:#94a3b8}.studio-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:20px}.studio-chart-card{background:#161b26b3;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:20px}.studio-chart-card h3{margin:0 0 16px;font-size:16px;color:#fff;display:flex;align-items:center;justify-content:space-between}.studio-bar-list{display:flex;flex-direction:column;gap:12px}.studio-bar-row{display:flex;flex-direction:column;gap:4px}.studio-bar-labels{display:flex;justify-content:space-between;font-size:12px;color:#cbd5e1}.studio-progress-track{height:8px;background:#0000004d;border-radius:4px;overflow:hidden;position:relative}.studio-progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.studio-warnings-list{display:flex;flex-direction:column;gap:8px}.studio-warning-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:6px;font-size:13px}.studio-warning-error{background:#c0392b33;border:1px solid rgba(192,57,43,.4);color:#e74c3c}.studio-warning-warning{background:#f39c1226;border:1px solid rgba(243,156,18,.3);color:#f39c12}.studio-warning-info{background:#2980b926;border:1px solid rgba(41,128,185,.3);color:#3498db}.studio-sandbox-wrap{display:flex;flex-direction:column;gap:20px}.sandbox-board{display:grid;grid-template-columns:1fr;gap:16px;background:#0e121acc;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:20px}.sandbox-zone{background:#161b2680;border:1px dashed rgba(255,255,255,.15);border-radius:10px;padding:14px;min-height:120px}.sandbox-zone-title{font-size:13px;font-weight:700;color:#94a3b8;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between}.sandbox-zone-cards{display:flex;flex-wrap:wrap;gap:12px;min-height:80px;align-items:center}.studio-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#05070acc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.studio-modal-card{background:#151a24;border:1px solid rgba(255,255,255,.12);border-radius:14px;width:100%;max-width:960px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 50px #0009;overflow:hidden}.studio-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;background:#121721e6;border-bottom:1px solid rgba(255,255,255,.08)}.studio-modal-header h2{margin:0;font-size:18px;color:#fff}.studio-modal-body{padding:22px;overflow-y:auto;display:flex;gap:24px;flex-wrap:wrap}.studio-modal-preview-pane{flex:0 0 260px;display:flex;flex-direction:column;align-items:center;gap:16px}.studio-modal-form-pane{flex:1;min-width:320px;display:flex;flex-direction:column;gap:16px}.studio-modal-footer{padding:14px 22px;background:#121721e6;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between}.studio-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.studio-field{display:flex;flex-direction:column;gap:6px}.studio-field label{font-size:12px;font-weight:600;color:#94a3b8}.studio-input,.studio-textarea{background:#0a0d13cc;border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:8px 12px;color:#fff;font-size:13px;outline:none;font-family:inherit}.studio-input:focus,.studio-textarea:focus{border-color:#e67e22;box-shadow:0 0 8px #e67e2240}.studio-textarea{resize:vertical;min-height:70px}.studio-code-editor{font-family:Fira Code,Consolas,Monaco,monospace;font-size:12px;line-height:1.5;background:#090c12;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:10px;color:#a5d6a7;min-height:120px;resize:vertical}.studio-keywords-bar{display:flex;flex-wrap:wrap;gap:4px}.studio-keyword-btn{font-size:11px;font-weight:700;background:#e67e2226;border:1px solid rgba(230,126,34,.3);color:#f39c12;border-radius:4px;padding:2px 6px;cursor:pointer}.studio-keyword-btn:hover{background:#e67e224d}.studio-export-wrap{display:flex;flex-direction:column;gap:20px}.studio-code-box{background:#090c12;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:16px;position:relative}.studio-code-box pre{margin:0;font-family:Fira Code,Consolas,Monaco,monospace;font-size:12px;line-height:1.6;color:#cbd5e1;max-height:500px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.studio-code-box-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}.home-studio-btn{margin-top:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#e67e2226,#8e44ad26);border:1px solid rgba(230,126,34,.3);border-radius:8px;color:#f39c12;font-weight:600;font-size:13px;cursor:pointer;transition:all .2s ease;width:100%}.home-studio-btn:hover{background:linear-gradient(135deg,#e67e224d,#8e44ad4d);border-color:#f39c12;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #e67e2233}.home-studio-btn .glyph{width:18px;height:18px;flex:none}.studio-content>div{animation:studioFadeIn .25s ease-out}@keyframes studioFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.studio-modal-overlay{animation:modalOverlayIn .2s ease-out}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}.studio-modal-card{animation:modalCardIn .25s cubic-bezier(.16,1,.3,1)}@keyframes modalCardIn{0%{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.studio-faction-card{cursor:pointer}.studio-card-item{will-change:transform}@keyframes shakeError{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.studio-root ::-webkit-scrollbar{width:8px;height:8px}.studio-root ::-webkit-scrollbar-track{background:#0003;border-radius:4px}.studio-root ::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.studio-root ::-webkit-scrollbar-thumb:hover{background:#ffffff40}.studio-toast{position:fixed;bottom:24px;right:24px;background:linear-gradient(135deg,#27ae60,#229954);color:#fff;padding:12px 20px;border-radius:10px;box-shadow:0 8px 24px #0006;z-index:999;font-weight:600;font-size:13px;animation:toastSlideIn .3s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;gap:8px}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 1200px){.studio-header{flex-direction:column;align-items:stretch}.studio-nav{overflow-x:auto;-webkit-overflow-scrolling:touch}.studio-charts-grid{grid-template-columns:1fr}}@media (max-width: 768px){.studio-content{padding:12px}.studio-card-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.studio-factions-grid{grid-template-columns:1fr}.studio-toolbar{flex-direction:column}.studio-search-box{max-width:none;min-width:0}}:root{--bg: #0d0b14;--bg-raise: #16121f;--surface: #1d1729;--surface-2: #251d33;--line: rgba(255, 255, 255, .09);--scrim: rgba(5, 3, 10, .72);--text: #efe9dd;--text-dim: #b9b0a3;--text-faint: #857d72;--ember: #f59e42;--ember-strong: #ff8a2a;--gold: #f4d03f;--teal: #48c9b0;--danger: #e5533d;--ok: #58d68d;--font-display: "Baloo 2", "Nunito", system-ui, sans-serif;--font-body: "Nunito", "Nunito Sans", system-ui, -apple-system, sans-serif;--dragon: #ff8a4c;--dragon-deep: #b8401a;--dragon-soft: rgba(255, 138, 76, .18);--unicorn: #ff7ac8;--unicorn-deep: #a8308a;--unicorn-soft: rgba(255, 122, 200, .18);--neutral: #9fb4ff;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--shadow-1: 0 2px 8px rgba(0, 0, 0, .45);--shadow-2: 0 8px 28px rgba(0, 0, 0, .55);--scroll-track: rgba(20, 14, 40, .84);--scroll-thumb: #75613b;--scroll-thumb-hover: #b48a49;--z-table: 1;--z-drawer: 40;--z-banner: 60;--z-modal: 100;--z-toast: 1000}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;max-width:100%}html{overflow-x:hidden;overflow-x:clip;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}body{margin:0;background:radial-gradient(1200px 700px at 70% -10%,rgba(245,158,66,.07),transparent 60%),radial-gradient(900px 600px at 10% 110%,rgba(72,201,176,.05),transparent 60%),var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:999px;box-shadow:inset 0 0 0 1px #e7ca8c14}*::-webkit-scrollbar-thumb{min-height:36px;border:2px solid #07110b;border-radius:999px;background:linear-gradient(180deg,#a2834b,#594b31);box-shadow:inset 0 1px #ffefbe47,0 0 8px #00000057}*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#c29a54,#735d36)}*::-webkit-scrollbar-corner{background:transparent}button{font:inherit;color:inherit}input{font:inherit}h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:700;letter-spacing:.02em}p{margin:.4em 0}.app{min-height:100dvh;position:relative;z-index:var(--z-table)}.embers{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.ember{position:absolute;bottom:-12px;left:calc((var(--i) * 7.3%) + 2%);width:5px;height:5px;border-radius:50%;background:radial-gradient(circle,#ffd9a0 0%,var(--ember) 55%,transparent 75%);opacity:0;animation:rise calc(9s + var(--i) * 1.7s) linear infinite;animation-delay:calc(var(--i) * -1.9s);filter:blur(.4px)}@keyframes rise{0%{transform:translateY(0) translate(0) scale(1);opacity:0}8%{opacity:.75}60%{opacity:.45}to{transform:translateY(-105dvh) translate(4vw) scale(.4);opacity:0}}.btn{min-height:44px;padding:10px 18px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;touch-action:manipulation;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease;font-weight:700}.btn:hover:not(:disabled){background:var(--surface-2);border-color:#ffffff2e}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.btn-primary{background:linear-gradient(160deg,var(--ember-strong),#c25e12);border-color:#ffb46480;color:#1c0e02;text-shadow:none}.btn-primary:hover:not(:disabled){background:linear-gradient(160deg,#ffa14a,#d26a18)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-dim);display:flex;justify-content:center;align-items:center}.btn-ghost:hover:not(:disabled){color:var(--text);background:#ffffff0f}.btn-sm{min-height:40px;padding:8px 14px;font-size:.9rem}.btn-lg{min-height:52px;font-size:1.05rem}.field{display:flex;flex-direction:column;gap:6px;text-align:left}.field>span{font-size:.85rem;font-weight:700;color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase}.field input{min-height:48px;padding:10px 14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-raise);color:var(--text)}.field input:focus-visible{outline:3px solid var(--ember);outline-offset:1px;border-color:transparent}.code-input{letter-spacing:.35em;text-transform:uppercase;font-weight:800;font-size:1.1rem}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:800;letter-spacing:.03em;background:#ffffff14;color:var(--text-dim);white-space:nowrap}.badge-host{background:#f4d03f26;color:var(--gold)}.badge-dragons{background:#f59e422e;color:var(--ember);font-variant-numeric:tabular-nums}.badge-bot{background:#5dade229;color:#85c1e9}.badge-mod{background:#48c9b024;color:var(--teal)}.badge-mod.mod-toads,.badge-mod.mod-noInstants,.badge-mod.mod-barbedWire,.badge-mod.mod-suppress,.badge-mod.mod-noUpgrades,.badge-mod.mod-maxFive,.badge-mod.mod-handVisible{background:#e5533d29;color:#f0907f}.dot{width:9px;height:9px;border-radius:50%;flex:none}.dot-on{background:var(--ok);box-shadow:0 0 6px #58d68dcc}.dot-off{background:var(--text-faint)}.muted-text{color:var(--text-dim)}.home{min-height:100dvh;display:grid;place-items:center;padding:24px 16px calc(24px + env(safe-area-inset-bottom))}.home-card{width:min(420px,100%);background:linear-gradient(180deg,var(--surface),var(--bg-raise));border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:36px 28px;display:flex;flex-direction:column;gap:20px;text-align:center}.title{display:flex;flex-direction:column;line-height:1.05}.title-un{font-size:1.4rem;color:var(--text-dim);font-weight:500;letter-spacing:.45em;text-transform:uppercase}.title-dragons{font-size:3rem;font-weight:900;background:linear-gradient(180deg,#ffd9a0,var(--ember-strong) 55%,#a34708);-webkit-background-clip:text;background-clip:text;color:transparent;text-transform:uppercase}.tagline{color:var(--text-dim);margin:0}.home-actions{display:flex;flex-direction:column;gap:12px}.home-hint{color:var(--text-faint);font-size:.85rem;margin:0}.language-switcher{align-self:flex-end;display:inline-flex;align-items:center;gap:10px;color:var(--text-dim);font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.language-switcher select{min-height:44px;padding:8px 34px 8px 12px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--bg-raise);color:var(--text);font:inherit;letter-spacing:.02em;text-transform:none;cursor:pointer}.language-switcher select:focus-visible{outline:3px solid var(--ember);outline-offset:2px}html[lang=ru] .title-un{letter-spacing:.18em}.lobby{min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.lobby-card{width:min(460px,100%);background:linear-gradient(180deg,var(--surface),var(--bg-raise));border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:32px 26px;display:flex;flex-direction:column;gap:18px;text-align:center}.lobby-title{font-size:2rem;color:var(--gold)}.lobby-sub{color:var(--text-dim);margin:0}.room-code{display:flex;flex-direction:column;gap:2px;padding:14px;background:var(--bg-raise);border:1px dashed rgba(245,158,66,.5);border-radius:var(--r-md);cursor:pointer}.room-code:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.room-code-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-faint)}.room-code-value{font-family:var(--font-display);font-size:2.2rem;font-weight:900;letter-spacing:.3em;color:var(--ember)}.room-code-copy{font-size:.8rem;color:var(--text-dim)}.lobby-players{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lobby-players li{display:flex;align-items:center;gap:10px;background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;min-height:46px}.lobby-player-name{font-weight:700}.lobby-players .player-away{opacity:.55}.player-empty{color:var(--text-faint);font-style:italic;justify-content:center;border-style:dashed}.lobby-wait{color:var(--text-dim)}.bot-row{display:flex;gap:10px;align-items:flex-end}.bot-field{flex:1}.bot-field select{min-height:44px;padding:8px 12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-raise);color:var(--text)}.bot-field select:focus-visible{outline:3px solid var(--ember);outline-offset:1px}.bot-remove{margin-left:auto;min-height:32px;padding:4px 10px}.game{min-height:100dvh;display:flex;flex-direction:column;gap:10px;padding:8px 10px calc(10px + env(safe-area-inset-bottom));max-width:1500px;margin:0 auto}.topbar{display:flex;align-items:center;gap:10px;padding:4px 2px;position:sticky;top:0;z-index:var(--z-banner);background:linear-gradient(180deg,var(--bg) 70%,transparent)}.topbar-mid{flex:1;display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center}.topbar-code{font-family:var(--font-display);letter-spacing:.25em;color:var(--text-faint);font-size:.72rem}.topbar-status{font-weight:800;color:var(--text-dim);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-status.is-you{color:var(--ember)}.topbar-actions{display:flex;gap:4px}.opponents{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.player-panel{background:linear-gradient(180deg,var(--surface),var(--bg-raise));border:1px solid var(--line);border-radius:var(--r-lg);padding:10px 12px;box-shadow:var(--shadow-1);transition:border-color .2s ease,box-shadow .2s ease}.player-panel.is-turn{border-color:#f59e428c;box-shadow:0 0 0 1px #f59e4259,var(--shadow-1)}.player-panel.is-away{opacity:.65}.player-panel.is-me{background:linear-gradient(180deg,#211a30,var(--bg-raise))}.player-panel.is-pickable{cursor:pointer;border-color:var(--teal);animation:pulse-pick 1.4s ease-in-out infinite}.player-panel.is-pickable:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.player-head{display:flex;align-items:center;gap:8px;min-height:28px}.player-name{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-meta{margin-left:auto;display:flex;gap:6px}.player-mods{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.stable{display:flex;flex-direction:column;gap:6px;margin-top:8px}.stable-row{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;min-height:30px}.stable-empty{color:var(--text-faint);font-size:.85rem;font-style:italic;padding:4px 2px}.table-center{display:flex;align-items:flex-start;gap:16px;padding:10px 12px;background:radial-gradient(600px 200px at 50% 0%,rgba(245,158,66,.05),transparent 70%),var(--bg-raise);border:1px solid var(--line);border-radius:var(--r-lg);flex-wrap:wrap}.pile{display:flex;flex-direction:column;align-items:center;gap:4px}.pile-label{font-size:.72rem;color:var(--text-faint);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.pile-empty{display:grid;place-items:center;color:var(--text-faint);cursor:pointer}.nest{display:grid;place-items:center;color:var(--ember);position:relative}.nest .glyph{width:42px;height:42px}.goal{margin-left:auto;align-self:center;color:var(--text-dim);font-size:.9rem}.goal strong{color:var(--ember);font-size:1.2rem}.chain{display:flex;gap:10px;padding:8px 12px;border:1px dashed rgba(229,83,61,.55);border-radius:var(--r-md);background:#e5533d0f}.chain-item{display:flex;flex-direction:column;align-items:center;gap:4px}.chain-owner{font-size:.7rem;color:var(--text-dim);font-weight:700}.card{--w: 168px;width:var(--w);aspect-ratio:5 / 7;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow-1);display:flex;flex-direction:column;overflow:hidden;position:relative;flex:none;transition:box-shadow .18s ease,border-color .18s ease,opacity .18s ease,transform .18s ease}.card-sm{--w: 118px}.card-mini{--w: 74px}.card-clickable{cursor:pointer}.card-clickable:hover{transform:translateY(-3px)}.card-clickable:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.card-dimmed{opacity:.4}.card-selected{border-color:var(--gold);box-shadow:0 0 0 3px #f4d03f8c,var(--shadow-1)}.card-head{padding:5px 8px;background:linear-gradient(90deg,color-mix(in srgb,var(--card-color, #666) 55%,#14101d),#14101d);border-bottom:1px solid rgba(0,0,0,.4);min-height:26px;display:flex;align-items:center}.card-name{font-family:var(--font-display);font-weight:700;font-size:.78rem;line-height:1.15;color:#fdf6ea;text-shadow:0 1px 2px rgba(0,0,0,.6)}.card-mini .card-name{font-size:.58rem}.card-art{flex:1.2;position:relative;min-height:0;background:#0a0810}.card-art img{width:100%;height:100%;object-fit:cover;display:block}.card-art-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(120% 90% at 30% 20%,color-mix(in srgb,var(--card-color, #666) 42%,transparent),transparent 70%),radial-gradient(100% 100% at 80% 90%,color-mix(in srgb,var(--card-color, #666) 24%,transparent),#0a0810 75%);color:color-mix(in srgb,var(--card-color, #999) 75%,white)}.card-art-placeholder .glyph{width:46%;height:46%;opacity:.9;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}.card-body{padding:6px 8px 8px;display:flex;flex-direction:column;gap:3px;flex:1;min-height:0}.card-type{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.card-text{margin:0;font-size:.68rem;line-height:1.35;color:var(--text-dim);overflow:hidden}.card-baby .card-type{color:#e8905a}.card-upgrade .card-type{color:var(--ok)}.card-downgrade .card-type{color:#f0907f}.card-magic .card-type{color:#b18cd9}.card-instant .card-type{color:var(--danger)}.card-back{background:repeating-linear-gradient(135deg,#1b1526 0,#1b1526 10px,#150f1f 10px,#150f1f 20px);display:grid;place-items:center}.card-count{position:absolute;right:6px;bottom:6px;background:#000000a6;border:1px solid var(--line);color:var(--text);font-weight:800;font-size:.85rem;border-radius:999px;padding:1px 9px;font-variant-numeric:tabular-nums}.card-flag{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-12deg);font-weight:900;font-size:.7rem;letter-spacing:.12em;padding:3px 8px;border-radius:4px;background:#000000bf;border:1px solid currentColor}.flag-toad{color:var(--ok)}.flag-fog{color:var(--text-dim)}.flag-stopped{color:var(--danger)}.glow-play{border-color:#f59e42e6;animation:pulse-play 1.6s ease-in-out infinite}.glow-pick{border-color:var(--teal);animation:pulse-pick 1.4s ease-in-out infinite}.glow-roar{border-color:var(--danger);animation:pulse-roar 1.1s ease-in-out infinite}@keyframes pulse-play{0%,to{box-shadow:0 0 4px #f59e4259,var(--shadow-1)}50%{box-shadow:0 0 16px 3px #f59e4299,var(--shadow-1)}}@keyframes pulse-pick{0%,to{box-shadow:0 0 4px #48c9b059,var(--shadow-1)}50%{box-shadow:0 0 16px 3px #48c9b099,var(--shadow-1)}}@keyframes pulse-roar{0%,to{box-shadow:0 0 4px #e5533d66,var(--shadow-1)}50%{box-shadow:0 0 18px 4px #e5533db3,var(--shadow-1)}}.hand-area{position:sticky;bottom:0;z-index:var(--z-drawer);background:linear-gradient(180deg,transparent,var(--bg) 22%);padding-top:6px;margin-top:auto}.action-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;min-height:44px;padding:2px 0 6px}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.55}}.hand{display:flex;gap:8px;overflow-x:auto;padding:6px 4px 10px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.hand .card{scroll-snap-align:center}.hand-empty{color:var(--text-faint);font-style:italic;margin:auto}.host-tools{position:relative}.host-tools summary{list-style:none;display:inline-flex;align-items:center}.host-tools summary::-webkit-details-marker{display:none}.host-tools-menu{position:absolute;bottom:110%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:8px;box-shadow:var(--shadow-2);width:max-content;z-index:var(--z-modal)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:18px;z-index:var(--z-modal);animation:fade-in .18s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{width:min(440px,100%);max-height:min(80dvh,640px);overflow-y:auto;background:linear-gradient(180deg,var(--surface),var(--bg-raise));border:1px solid rgba(245,158,66,.35);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:18px;display:flex;flex-direction:column;gap:14px;animation:modal-in .22s ease}@keyframes modal-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.modal-wide{width:min(760px,100%)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.modal-head h2{font-size:1.15rem;color:var(--gold)}.modal-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.card-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.player-choices{display:flex;flex-direction:column;gap:8px}.player-choice{text-align:center}.win-text{text-align:center;font-size:1.05rem;color:var(--text)}.log-drawer{position:fixed;top:0;right:0;bottom:0;width:min(340px,88vw);background:var(--bg-raise);border-left:1px solid var(--line);box-shadow:var(--shadow-2);transform:translate(102%);transition:transform .25s ease;z-index:var(--z-modal);display:flex;flex-direction:column;padding:14px}.log-drawer.open{transform:none}.log-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.log-head h2{font-size:1.05rem;color:var(--gold)}.log-list{list-style:none;margin:0;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:7px;font-size:.86rem;color:var(--text-dim)}.log-list li{padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.05)}.reconnect-banner{position:fixed;top:10px;left:50%;transform:translate(-50%);background:#e5533deb;color:#fff;font-weight:800;padding:10px 18px;border-radius:999px;z-index:var(--z-toast);box-shadow:var(--shadow-2)}.toast{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:var(--surface-2);border:1px solid var(--line);color:var(--text);padding:12px 20px;border-radius:var(--r-md);box-shadow:var(--shadow-2);z-index:var(--z-toast);max-width:min(480px,92vw);text-align:center;animation:fade-in .18s ease}.toast-error{border-color:#e5533d99}@media (max-width: 760px){.opponents{display:flex;overflow-x:auto;gap:8px;padding-bottom:4px;-webkit-overflow-scrolling:touch}.opponents .player-panel{min-width:230px}.table-center{gap:10px;padding:8px}.goal{width:100%;margin-left:0;text-align:center;order:10}.card-sm{--w: 100px}.card{--w: 132px}.topbar-actions .btn{padding:8px 10px}}@media (min-width: 1100px){.game{padding:12px 20px}}@media (prefers-reduced-motion: reduce){.ember{animation:none;opacity:0}.glow-play,.glow-pick,.glow-roar,.player-panel.is-pickable{animation:none}.glow-play{box-shadow:0 0 12px 2px #f59e428c,var(--shadow-1)}.glow-pick{box-shadow:0 0 12px 2px #48c9b08c,var(--shadow-1)}.glow-roar{box-shadow:0 0 12px 2px #e5533d99,var(--shadow-1)}.modal,.modal-scrim,.toast{animation:none}.log-drawer{transition:none}.card-clickable:hover{transform:none}}:root{--bg: #120c22;--bg-raise: #1d1538;--surface: #251b46;--surface-2: #2f2458;--surface-glass: rgba(34, 24, 62, .88);--line: rgba(224, 198, 137, .2);--line-strong: rgba(239, 204, 123, .45);--scrim: rgba(9, 6, 20, .82);--text: #f6edd8;--text-dim: #cabfa8;--text-faint: #928b7b;--ember: #ffb85c;--ember-strong: #ee842c;--gold: #f4d18b;--teal: #73d5b1;--danger: #ee735c;--ok: #73d58c;--font-display: "Cinzel", Georgia, serif;--font-body: "Nunito Sans", system-ui, sans-serif;--r-sm: 7px;--r-md: 11px;--r-lg: 18px;--shadow-1: 0 5px 16px rgba(0, 0, 0, .42);--shadow-2: 0 22px 70px rgba(0, 0, 0, .62)}body{background:radial-gradient(circle at 16% 0%,rgba(130,100,220,.18),transparent 36rem),linear-gradient(150deg,#120c22,#1a1030 72%)}button,input,select{font-family:inherit}button{-webkit-tap-highlight-color:transparent}.glyph{width:1.25em;height:1.25em;display:block;flex:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{border-color:var(--line);background:linear-gradient(180deg,#483678f5,#2c204ef5);box-shadow:inset 0 1px #ffffff0f,0 4px 12px #00000047;border-radius:999px}.btn:hover:not(:disabled){background:linear-gradient(180deg,#5a4590,#372a62);border-color:var(--line-strong)}.btn-primary{color:#211408;border-color:#f8cf82;background:linear-gradient(180deg,#ffe1a0,#e9953d 56%,#a94c1e);box-shadow:inset 0 1px #ffffffbf,0 0 0 1px #351908b3,0 7px 22px #d96d2447}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#ffebbd,#f5aa51 58%,#bd5a24)}.icon-button{width:44px;height:44px;min-width:44px;display:inline-grid;place-items:center;padding:0;border-radius:50%;cursor:pointer;border:1px solid var(--line);color:var(--text-dim);background:#101c15c7;box-shadow:inset 0 1px #ffffff0d,0 4px 14px #00000052;transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease}.icon-button:hover{color:var(--gold);border-color:var(--line-strong);background:#233126f5}.icon-button:active{transform:scale(.96)}.icon-button:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.icon-button .glyph{width:21px;height:21px}.home,.lobby{position:relative;isolation:isolate;overflow:hidden}.home:before,.lobby:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background-image:linear-gradient(90deg,#0c081aed,#100b2099 46%,#180c24a8),linear-gradient(0deg,rgba(17,11,34,.9),transparent 52%),var(--home-hero, url(/hero-dragons-vs-unicorns.webp));background-size:cover;background-position:center;transform:scale(1.02)}.home:after,.lobby:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 72% 45%,transparent 0 12%,rgba(6,4,14,.12) 40%,rgba(6,4,14,.66) 100%)}.home{place-items:center start;padding:clamp(24px,6vw,88px)}.home-card,.lobby-card{border:1px solid var(--line-strong);background:linear-gradient(145deg,#382960f0,#1b1332eb),radial-gradient(circle at 80% 0%,rgba(233,166,84,.15),transparent 45%);box-shadow:inset 0 1px #ffffff14,0 28px 90px #0000009e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.home-card{width:min(470px,100%);padding:clamp(28px,4vw,48px);text-align:left}.home-card .title{text-align:left}.title-un{color:var(--gold);font-size:1rem;letter-spacing:.56em}.title-dragons{font-size:clamp(2.7rem,6vw,4.4rem);letter-spacing:-.045em}.tagline{font-family:var(--font-display);font-size:1.06rem;line-height:1.65;color:#e2d7c3}.lobby-card{width:min(520px,100%)}.field input,.bot-field select{background:#140d26c2;border-color:#e5ce9742}.room-code{background:#140d26b8;border-color:var(--line-strong)}.room-code-value{color:var(--gold)}.lobby-players li{background:#07100bb8}.codex-fab{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:70;min-height:46px;padding:0 17px 0 13px;display:flex;align-items:center;gap:9px;color:#241608;font-weight:900;cursor:pointer;border:1px solid #f4d28e;border-radius:999px;background:linear-gradient(180deg,#ffe2a5,#d99643);box-shadow:inset 0 1px #ffffffd9,0 10px 30px #0000007a}.codex-fab .glyph{width:21px;height:21px}.codex-fab:hover{filter:brightness(1.08)}.codex-fab:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.game~.codex-fab{bottom:14px;right:14px}.card{--w: 166px;width:var(--w);aspect-ratio:5 / 7;border-radius:10px;border:1px solid color-mix(in srgb,var(--card-color, #b4935e) 52%,#d7ba78);background:#0b100d;box-shadow:inset 0 0 0 2px #0c0805d1,inset 0 0 0 3px #e8cc8f33,0 6px 16px #0000008c;isolation:isolate;overflow:hidden}.card-sm{--w: 106px}.card-mini{--w: 58px;border-radius:6px}.card-ornament{position:absolute;top:3px;right:3px;bottom:3px;left:3px;z-index:3;pointer-events:none;border:1px solid rgba(255,231,174,.36);border-radius:7px;clip-path:polygon(0 0,35% 0,39% 2px,61% 2px,65% 0,100% 0,100% 100%,65% 100%,61% calc(100% - 2px),39% calc(100% - 2px),35% 100%,0 100%)}.card-head{position:absolute;left:5px;right:5px;bottom:5px;z-index:3;min-height:35px;padding:6px 7px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid rgba(244,215,157,.32);border-radius:5px;background:linear-gradient(90deg,#160f28f5,color-mix(in srgb,var(--card-color, #777) 35%,rgba(22,15,40,.96)));box-shadow:0 -5px 15px #0000007a}.card-name{display:block;width:100%;font-size:.7rem;letter-spacing:.02em;line-height:1.08;overflow-wrap:break-word;text-wrap:balance}.card-art{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0}.card-art img{width:100%;height:100%;object-fit:cover}.card-art-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,rgba(4,8,6,.12),transparent 48%,rgba(3,7,5,.8) 90%),radial-gradient(circle at 50% 45%,transparent 50%,rgba(6,4,14,.3))}.card-body{position:absolute;left:7px;right:7px;bottom:46px;z-index:3;padding:7px 8px;max-height:42%;border:1px solid rgba(238,215,167,.28);border-radius:5px;background:#090f0be8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.card-type{color:#e8d3a7;font-size:.59rem}.card-text{color:#e7dfcf;font-size:.67rem}.card-sm .card-body,.card-mini .card-body{display:none}.card-clickable:hover{transform:translateY(-6px) scale(1.02);box-shadow:inset 0 0 0 2px #100b06,0 13px 25px #0000009e}.card-action-hit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;padding:0;border:0;border-radius:inherit;cursor:pointer;color:transparent;background:transparent}.card-action-hit:focus-visible{outline:3px solid var(--teal);outline-offset:-4px}.card-touch-inspect,.card-touch-action{display:none}.card-info-button{position:absolute;z-index:5;right:8px;top:8px;width:26px;height:26px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:50%;color:#171008;background:#ffe2a5f0;cursor:pointer;font-family:Georgia,serif;font-size:.85rem;font-weight:900;box-shadow:0 3px 9px #0000008c}.card-info-button:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.card-back{background:radial-gradient(circle,transparent 0 22%,rgba(224,168,72,.18) 23% 24%,transparent 25%),conic-gradient(from 45deg,#2f2358,#140d28,#3a2c66,#140d28,#2f2358)}.card-back:before{content:"";position:absolute;top:8%;right:8%;bottom:8%;left:8%;border:1px solid rgba(240,201,123,.42);border-radius:50% 50% 42% 42%}.pile-empty{color:var(--text-faint);border-style:dashed;align-items:center;justify-content:center;gap:5px}.pile-empty .glyph{width:28px;height:28px}.card-flag{z-index:6}.game{position:relative;isolation:isolate;width:100%;max-width:none;height:100dvh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;margin:0;padding:max(7px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));overflow:hidden}.game:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background-image:linear-gradient(180deg,#0b071861,#0d091c9e),radial-gradient(ellipse at center,#3c2e6805 0,#3c2e6805 42%,#0906144d 90%),var(--battlefield-image, url(/battlefield-arena.webp));background-size:cover;background-position:center center}.game:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,rgba(120,96,190,.16),transparent 52%),repeating-radial-gradient(ellipse at center,transparent 0 42px,rgba(228,190,111,.025) 43px 44px)}.topbar{position:relative;top:auto;z-index:20;min-height:50px;padding:4px 7px;border:1px solid var(--line);border-radius:999px;background:#160f2adb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 30px #00000059}.topbar-mid{align-items:flex-start;text-align:left;padding-left:2px}.topbar-code{color:var(--gold);font-size:.66rem}.topbar-status{color:#efe7d6;font-size:.88rem}.topbar-status.is-you{color:#ffd38c}.topbar-actions{gap:6px}.turn-tracker{display:flex;align-items:center;gap:2px}.turn-tracker span{position:relative;display:flex;align-items:center;gap:4px;color:#716d62}.turn-tracker span:not(:last-child):after{content:"";width:13px;height:1px;margin:0 2px;background:#4d5148}.turn-tracker i{width:24px;height:24px;display:grid;place-items:center;border:1px solid #4b5147;border-radius:50%;font-style:normal;font-size:.67rem;font-weight:900}.turn-tracker b{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em}.turn-tracker .is-done{color:#83ad8e}.turn-tracker .is-current i{border-color:var(--gold);box-shadow:0 0 12px #f1c27059}.game-board{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);grid-template-rows:minmax(122px,.62fr) minmax(190px,1fr) minmax(130px,.7fr);grid-template-areas:"opponents opponents" "table inspector" "mine inspector";gap:8px}.opponents{grid-area:opponents;min-width:0;min-height:0;display:grid;grid-template-columns:repeat(var(--opponent-count),minmax(0,1fr));gap:7px;overflow:hidden}.table-center{grid-area:table;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(225px,.8fr) minmax(160px,1fr) minmax(178px,.65fr);align-items:center;gap:11px;padding:10px 12px;overflow:hidden;border:1px solid rgba(231,202,140,.2);border-radius:28px 12px;background:radial-gradient(ellipse at center,rgba(73,104,68,.28),transparent 72%),linear-gradient(115deg,#142319b8,#07110ba8);-webkit-backdrop-filter:blur(1.5px) saturate(.82);backdrop-filter:blur(1.5px) saturate(.82);box-shadow:inset 0 0 80px #00000075,0 10px 28px #00000040}.arena-piles{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0}.pile{position:relative;gap:4px}.pile-label{max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ada793;font-size:.62rem}.nest-count{position:absolute;right:-3px;top:-3px;z-index:7;min-width:25px;height:25px;display:grid;place-items:center;border:1px solid #efca81;border-radius:50%;background:#221840;color:#ffe0a4;font-weight:900;font-size:.74rem}.arena-focus{min-width:0;display:grid;place-items:center}.chain{max-width:100%;padding:7px;overflow-x:auto;flex-wrap:nowrap;background:#3d140e6b}.chain .card-sm{--w: 92px}.action-pedestal{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}.goal{margin:0;display:flex;align-items:baseline;gap:5px;color:var(--text-faint);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.goal strong{color:var(--gold);font-family:var(--font-display);font-size:1.75rem;line-height:1}.action-bar{min-height:0;padding:0;flex-direction:column;flex-wrap:nowrap;gap:6px}.player-panel{position:relative;min-width:0;min-height:0;height:100%;padding:7px 9px;overflow:hidden;border-color:#e3ca962e;border-radius:13px;background:linear-gradient(180deg,#18271dd1,#1c1334b8);-webkit-backdrop-filter:blur(1.5px) saturate(.82);backdrop-filter:blur(1.5px) saturate(.82);box-shadow:inset 0 1px #ffffff0a,0 7px 18px #00000047}.player-panel.is-turn{border-color:#e4b966;box-shadow:inset 0 0 26px #e3aa4b14,0 0 18px #d9973a2e}.player-panel.is-me{background:linear-gradient(180deg,#1d3125db,#09160ec7)}.player-head{min-width:0;min-height:24px;gap:5px}.player-name{font-family:var(--font-display);color:#f5e8cc;font-size:.76rem}.player-meta{gap:3px}.player-head .badge{padding:2px 6px;font-size:.58rem}.player-mods{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.player-mods .badge{font-size:.53rem}.stable{min-height:0;margin-top:5px;gap:3px}.stable-row{flex-wrap:nowrap;min-width:0;min-height:0;gap:4px;overflow:visible}.opponents .stable-row .card-mini+.card-mini{margin-left:clamp(-34px,calc((var(--opponent-count) - 2) * -5px),-12px)}.player-target{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;width:100%;border:2px solid var(--teal);border-radius:inherit;cursor:pointer;background:#071e18d1;color:#dffff3;font-weight:900}.player-target:focus-visible{outline:3px solid #fff;outline-offset:-5px}.my-area{grid-area:mine;min-width:0;min-height:0}.my-area .player-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}.my-area .stable{flex-direction:row;align-items:center;overflow-x:auto}.my-area .card-sm{--w: clamp(74px, 7vw, 102px)}.hand-area{position:relative;bottom:auto;z-index:10;min-height:0;margin:0;padding:4px 8px 1px;border:1px solid rgba(226,200,143,.18);border-radius:15px;background:linear-gradient(180deg,#09140de0,#130d24f7);box-shadow:0 -10px 30px #0000004d}.hand{justify-content:center;gap:7px;padding:1px 44px 4px;overflow-x:auto}.hand .card-sm{--w: clamp(82px, 8.2vw, 118px)}:is(.hand,.chain,.type-filters,.player-mods,.my-area .stable,.opponents){scrollbar-width:none}:is(.hand,.chain,.type-filters,.player-mods,.my-area .stable,.opponents)::-webkit-scrollbar{display:none}.card-details{min-height:0;display:grid;grid-template-columns:minmax(132px,182px) minmax(0,1fr);gap:18px;align-items:start}.card-details-preview{display:grid;place-items:center}.card-details-preview .card{--w: min(176px, 100%)}.card-details-copy{min-width:0}.card-details-copy h2{margin:9px 0 8px;color:#ffe8b7;font-size:clamp(1.25rem,2.2vw,2rem);line-height:1.12}.type-pill{width:fit-content;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;color:var(--gold);font-size:.66rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.type-pill .glyph{width:15px;height:15px}.card-rules-text{color:#eee4d2;font-size:1rem;line-height:1.55}.card-flavor{margin-top:12px;color:var(--text-faint);font-family:Georgia,serif;font-style:italic}.card-facts{display:flex;gap:8px;margin:18px 0 0}.card-facts div{min-width:86px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#100a2073}.card-facts dt{color:var(--text-faint);font-size:.58rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.card-facts dd{margin:2px 0 0;color:var(--gold);font-size:.78rem;font-weight:800}.card-details.is-compact{grid-template-columns:96px minmax(0,1fr);gap:11px}.card-details.is-compact .card-details-preview .card{--w: 92px}.card-details.is-compact .card-details-copy h2{margin:7px 0 6px;font-size:1.02rem}.card-details.is-compact .card-rules-text{font-size:.78rem;line-height:1.42}.card-details.is-compact .card-flavor{font-size:.7rem}.card-details.is-compact .card-facts{display:none}.card-details.is-compact .type-pill{padding:3px 7px;font-size:.55rem}.codex-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:18px;background:#020704d6;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.codex{width:min(1440px,96vw);height:min(900px,94dvh);min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border:1px solid var(--line-strong);border-radius:20px;background:radial-gradient(circle at 86% 0%,rgba(164,112,54,.14),transparent 32%),linear-gradient(145deg,#17251b,#08110c);box-shadow:inset 0 1px #ffffff12,0 30px 100px #000000b8;animation:modal-in .22s ease}.codex-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 13px;border-bottom:1px solid var(--line)}.codex-head h1{color:#ffe8b3;font-size:clamp(1.55rem,3vw,2.45rem)}.codex-head p{margin:4px 0 0;color:var(--text-dim);font-size:.82rem}.eyebrow{color:var(--gold);font-size:.62rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.codex-tools{display:flex;align-items:center;gap:12px;padding:10px 22px;border-bottom:1px solid var(--line);background:#140d267a}.search-field{position:relative;flex:0 1 330px}.search-field .glyph{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--text-faint)}.search-field input{width:100%;min-height:44px;padding:9px 13px 9px 42px;color:var(--text);border:1px solid var(--line);border-radius:999px;background:#110b22bd}.search-field input:focus-visible{outline:3px solid var(--teal);outline-offset:1px}.type-filters{min-width:0;display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin}.type-filters button{min-height:38px;padding:7px 11px;white-space:nowrap;cursor:pointer;border:1px solid var(--line);border-radius:999px;color:var(--text-dim);background:#1d2b21b8;font-size:.72rem;font-weight:800}.type-filters button.is-active{color:#241507;border-color:#f1c77d;background:linear-gradient(#ffe3a7,#d79543)}.type-filters button:focus-visible{outline:3px solid var(--teal);outline-offset:1px}.codex-body{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,460px)}.codex-results{min-height:0;padding:16px 18px 26px;overflow-y:auto;display:flex;flex-wrap:wrap;align-content:flex-start;justify-content:center;gap:12px;scrollbar-color:#5f765f #0b160e}.codex-results .card-sm{--w: clamp(96px, 8vw, 116px)}.codex-detail{min-height:0;padding:22px;overflow-y:auto;border-left:1px solid var(--line);background:#130d2475}.empty-state{width:100%;min-height:240px;display:grid;place-items:center;align-content:center;gap:7px;color:var(--text-faint);text-align:center}.empty-state .glyph{width:42px;height:42px}.modal-scrim{background:var(--scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal{border-color:var(--line-strong);background:linear-gradient(155deg,#2c2050,#150e2a)}.log-drawer{background:linear-gradient(160deg,#1c2b21,#08110c);border-color:var(--line)}.host-tools-menu{background:#221840}@media (max-width: 1180px){.game-board{grid-template-columns:minmax(0,1fr) 245px}.opponents .card-mini{--w: 51px}.table-center{grid-template-columns:minmax(190px,.8fr) minmax(145px,1fr) 165px;padding:8px;gap:7px}.arena-piles .card-sm{--w: 88px}.turn-tracker b{display:none}.turn-tracker span:not(:last-child):after{width:7px}.hand .card-sm{--w: clamp(78px, 8.5vw, 102px)}}@media (orientation: portrait) and (max-width: 800px){.game{height:auto;min-height:100dvh;overflow-y:auto;grid-template-rows:auto auto auto}.topbar{border-radius:14px}.turn-tracker{display:none}.game-board{display:flex;flex-direction:column}.opponents{display:flex;overflow-x:auto;min-height:130px}.opponents .player-panel{min-width:210px}.table-center{min-height:230px;grid-template-columns:1fr;overflow:visible}.arena-piles{order:1}.arena-focus{order:0}.action-pedestal{order:2}.hand-area{position:sticky;bottom:0}.codex-body{grid-template-columns:1fr}.codex-detail{display:none}.codex-tools{align-items:stretch;flex-direction:column}.search-field{flex-basis:auto}}@media (orientation: landscape) and (max-height: 650px){.game{grid-template-rows:46px minmax(0,1fr) 104px;gap:4px;padding:max(3px,env(safe-area-inset-top)) max(5px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left))}.topbar{min-height:46px;height:46px;padding:1px 4px;border-radius:10px}.topbar .icon-button{width:44px;height:44px;min-width:44px}.topbar-mid{padding-left:0}.topbar-code{font-size:.51rem}.topbar-status{font-size:.69rem}.turn-tracker{gap:0}.turn-tracker i{width:20px;height:20px;font-size:.56rem}.turn-tracker span:not(:last-child):after{width:5px;margin:0 1px}.game-board{grid-template-columns:minmax(0,1fr) 155px 186px;grid-template-rows:67px minmax(0,1fr);grid-template-areas:"opponents opponents opponents" "table mine inspector";gap:4px}.opponents{gap:3px}.opponents .player-panel{padding:3px 5px;border-radius:7px}.opponents .player-head{min-height:17px}.opponents .player-name{font-size:.56rem}.opponents .player-head .badge{font-size:.46rem;padding:1px 4px}.opponents .player-head .dot{width:6px;height:6px}.opponents .player-mods{display:none}.opponents .stable{margin-top:2px}.opponents .card-mini{--w: 32px;border-radius:4px}.opponents .stable-row .card-mini+.card-mini{margin-left:-20px}.opponents .card-mini .card-head{display:none}.table-center{grid-template-columns:minmax(145px,.85fr) minmax(110px,1fr) minmax(115px,.6fr);gap:4px;padding:4px 6px;border-radius:10px}.arena-piles{gap:4px}.arena-piles .card-sm,.chain .card-sm{--w: clamp(47px, 7.4vh, 60px)}.pile-label{font-size:.45rem;max-width:60px}.nest-count{width:19px;min-width:19px;height:19px;font-size:.55rem}.goal{font-size:.46rem}.goal strong{font-size:1.1rem}.action-bar{gap:3px}.my-area .player-panel{padding:4px 5px;border-radius:8px}.my-area .player-head{min-height:20px}.my-area .player-name{font-size:.58rem}.my-area .player-head .badge{font-size:.47rem;padding:1px 4px}.my-area .player-mods{display:none}.my-area .stable{margin-top:1px;align-items:flex-start}.my-area .card-sm{--w: clamp(43px, 9.5vh, 60px)}.my-area .stable-row .card-sm+.card-sm{margin-left:-28px}.hand-area{padding:2px 4px;border-radius:9px}.hand{height:84px;align-items:flex-start;gap:4px;padding:0 38px 2px}.hand .card-sm{--w: clamp(55px, 16vh, 72px)}.hand .card-info-button{width:21px;height:21px;right:4px;top:4px}.codex-fab{right:6px;bottom:6px;width:44px;min-height:44px;padding:0;justify-content:center}.codex-fab span{display:none}.codex{width:98vw;height:96dvh}.codex-head{padding:8px 12px 6px}.codex-head h1{font-size:1.1rem}.codex-head p,.eyebrow{font-size:.5rem}.codex-tools{padding:5px 10px}.search-field input{min-height:38px}.type-filters button{min-height:34px;padding:5px 8px;font-size:.58rem}.codex-body{grid-template-columns:minmax(0,1fr) 310px}.codex-results{padding:8px;gap:7px}.codex-results .card-sm{--w: 75px}.codex-detail{padding:10px}.codex-detail .card-details{grid-template-columns:100px 1fr;gap:10px}.codex-detail .card-details-preview .card{--w: 96px}.codex-detail .card-details-copy h2{font-size:1rem}.codex-detail .card-rules-text{font-size:.68rem}.codex-detail .card-flavor{font-size:.6rem}.codex-detail .card-facts{display:none}}@media (orientation: landscape) and (max-height: 950px){.lobby{padding:12px 16px}.lobby-card{padding:18px 26px;gap:10px}.lobby-title{font-size:1.8rem}.lobby-sub{line-height:1.25}.room-code{padding:9px 14px}.room-code-value{font-size:1.9rem}.lobby-players{gap:5px}.lobby-players li{min-height:44px;padding:7px 12px}.bot-remove{min-width:44px;min-height:44px;padding:4px}}@media (prefers-reduced-motion: reduce){.codex{animation:none}.card,.icon-button{transition:none}.card-clickable:hover{transform:none}}.game-board{grid-template-columns:minmax(0,1fr) clamp(112px,9vw,148px);grid-template-rows:minmax(118px,.62fr) minmax(190px,1fr) minmax(132px,.72fr);grid-template-areas:"opponents rail" "table rail" "mine rail"}.opponents{align-content:stretch}.player-panel{border-radius:11px}.opponents .player-panel,.my-area .player-panel{border-left:none;border-right:none;border-radius:6px;border-color:#e7ca8c42;background:linear-gradient(90deg,#1d1436c7,#0e1a1280 18%,#0e1a1280 82%,#1d1436c7),linear-gradient(180deg,#291e488c,#160f2a8c)}.opponents.few-foes .player-panel{display:grid;grid-template-columns:minmax(132px,172px) minmax(0,1fr);align-items:center;column-gap:12px}.opponents.few-foes .player-head{flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.opponents.few-foes .player-meta{margin-left:0}.opponents.few-foes .stable{margin-top:0}.opponents.few-foes .card-mini{--w: clamp(56px, 5.4vw, 74px)}.avatar{position:relative;flex:none;width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(244,215,157,.55);border-radius:50%;color:#fff3d8;font-family:var(--font-display);font-weight:900;font-size:.82rem;background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.25),transparent 44%),linear-gradient(160deg,#7a5b2c,#3c2c14 70%);filter:hue-rotate(calc(var(--seat, 0) * 44deg));box-shadow:inset 0 1px #ffffff40,0 3px 8px #00000080}.avatar-dot{position:absolute;right:-2px;bottom:-2px;width:10px;height:10px;border-radius:50%;border:2px solid #0a130d;filter:hue-rotate(calc(var(--seat, 0) * -44deg))}.opponents.few-foes .avatar,.my-area .avatar{width:38px;height:38px;font-size:.95rem}.player-panel.is-turn .avatar{border-color:#ffd98f;box-shadow:0 0 12px #f0b95c8c,inset 0 1px #ffffff40}.side-rail{grid-area:rail;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:10px;padding:10px 6px;border:1px solid rgba(231,202,140,.22);border-radius:14px;background:linear-gradient(180deg,#0b160fd1,#130d24db);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:inset 0 1px #ffffff0d,0 9px 24px #0000004d}.rail-score{width:100%;display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 4px;border:1px solid rgba(231,202,140,.18);border-radius:10px;background:linear-gradient(180deg,#16241a99,#08100b99);text-align:center}.rail-score.is-turn{border-color:#f0c56c99;box-shadow:0 0 16px #e4a84a38}.rail-score-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);font-size:.6rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.rail-score strong{font-family:var(--font-display);font-weight:900;font-size:clamp(1.7rem,2.6vw,2.5rem);line-height:1.05;color:#e8f0f6;text-shadow:0 0 18px rgba(140,190,235,.35);font-variant-numeric:tabular-nums}.rail-score-you strong{color:#ffd98f;text-shadow:0 0 18px rgba(255,180,80,.4)}.rail-score-goal{color:var(--text-faint);font-size:.58rem;letter-spacing:.06em;text-transform:uppercase}.rail-middle{display:flex;flex-direction:column;align-items:center;gap:7px}.rail-turn{max-width:100%;color:var(--text-dim);font-size:.6rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;text-align:center}.hand-area{transition:border-color .25s ease,box-shadow .25s ease}.hand-area.is-ready{border-color:#7ee08180;box-shadow:0 -8px 38px #54d06e38,inset 0 1px #9affaa1a}.hand-area.is-roar{border-color:#ee735c99;box-shadow:0 -8px 38px #ee735c4d,inset 0 1px #ffaa961f}.hand{overflow:visible;align-items:flex-end;padding-top:12px;padding-bottom:6px}.fan-slot{position:relative;flex:none;transform:rotate(calc(var(--k, 0) * 2.1deg)) translateY(calc(var(--k, 0) * var(--k, 0) * 1.4px));transform-origin:50% 120%;transition:transform .18s ease}.fan-slot+.fan-slot{margin-left:clamp(-58px,calc(-6px - var(--n, 5) * 4px),-12px)}.fan-slot:hover,.fan-slot:focus-within{transform:translateY(-16px) scale(1.07);z-index:99!important}.hand .card-sm{--w: clamp(88px, 8.6vw, 122px)}.action-pedestal{justify-content:center}.table-center{grid-template-columns:auto minmax(0,1fr) auto}@media (max-width: 1180px){.game-board{grid-template-columns:minmax(0,1fr) 108px;grid-template-areas:"opponents rail" "table rail" "mine rail"}.rail-score strong{font-size:1.5rem}}@media (orientation: portrait) and (max-width: 800px){.game-board{display:flex;flex-direction:column}.side-rail{order:4;flex-direction:row;justify-content:space-between;padding:6px 10px;border-radius:12px}.rail-score{width:auto;flex:1;padding:4px 8px}.rail-score strong{font-size:1.35rem}.rail-middle{flex-direction:row;gap:8px}.rail-turn{display:none}.fan-slot+.fan-slot{margin-left:clamp(-48px,calc(-4px - var(--n, 5) * 4px),-10px)}}@media (orientation: landscape) and (max-height: 650px){.game-board{grid-template-columns:minmax(0,1fr) 155px 92px;grid-template-rows:67px minmax(0,1fr);grid-template-areas:"opponents opponents opponents" "table mine rail"}.side-rail{padding:5px 3px;gap:4px;border-radius:9px}.rail-score{padding:3px 2px;border-radius:7px}.rail-score strong{font-size:1.05rem}.rail-score-name,.rail-score-goal,.rail-turn{font-size:.44rem}.opponents.few-foes .player-panel{grid-template-columns:108px minmax(0,1fr)}.opponents.few-foes .card-mini{--w: 46px}.avatar{width:22px;height:22px;font-size:.6rem}.opponents.few-foes .avatar,.my-area .avatar{width:24px;height:24px;font-size:.62rem}.fan-slot+.fan-slot{margin-left:clamp(-40px,calc(-4px - var(--n, 5) * 3px),-8px)}}@media (prefers-reduced-motion: reduce){.fan-slot{transition:none}.fan-slot:hover,.fan-slot:focus-within{transform:none}}.game:before{background-image:linear-gradient(180deg,#0b071824,#0d091c52),var(--battlefield-image, url(/battlefield-arena.webp))}.game:after{background:radial-gradient(ellipse at center,transparent 56%,rgba(9,6,20,.4) 100%)}.battlefield-ambience{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict}.battlefield-ambience:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none}html[data-ambience=rain] .battlefield-ambience:before{opacity:1;background:linear-gradient(180deg,#192a333d,#1020262b 48%,#08151942)}html[data-ambience=snow] .battlefield-ambience:before{opacity:1;background:linear-gradient(180deg,rgba(103,137,162,.07),transparent 52%,rgba(157,185,201,.07))}html[data-ambience=ash] .battlefield-ambience:before{opacity:1;background:linear-gradient(180deg,rgba(50,28,19,.12),transparent 46%,rgba(34,20,14,.17))}html[data-ambience=underwater] .battlefield-ambience:before{opacity:1;background:linear-gradient(180deg,rgba(24,112,132,.05),transparent 45%,rgba(10,74,91,.09))}.ambience-particles,.ambience-haze,.ambience-aurora{position:absolute}.ambience-particles{top:0;right:0;bottom:0;left:0}.ambience-particle{position:absolute;left:var(--x);display:block;opacity:0;filter:blur(var(--blur))}.ambience-haze,.ambience-aurora{display:none;pointer-events:none;will-change:transform,opacity}html[data-ambience=rain] .ambience-haze{display:block;top:-12%;right:-12%;bottom:-12%;left:-12%;background:radial-gradient(ellipse at 65% 12%,rgba(106,145,163,.09),transparent 48%),linear-gradient(112deg,transparent 22%,rgba(174,205,215,.045) 47%,transparent 68%);animation:ambience-weather-haze 18s ease-in-out infinite alternate}html[data-ambience=rain] .ambience-haze-b{animation-duration:27s;animation-delay:-11s;transform:scaleX(-1)}html[data-ambience=rain] .ambience-particle{top:-14vh;width:var(--rain-width);height:var(--rain-length);background:linear-gradient(180deg,transparent 0%,rgba(205,229,239,.16) 18%,rgba(218,239,247,.86) 100%);animation:ambience-rain var(--rain-duration) linear infinite var(--rain-delay)}html[data-ambience=rain] .ambience-particle.is-near{box-shadow:0 0 1px #dbf0f757}html[data-ambience=snow] .ambience-haze{display:block;left:-15%;right:-15%;bottom:-7%;height:42%;background:radial-gradient(ellipse at 50% 100%,rgba(195,221,234,.13),transparent 66%);animation:ambience-ground-mist 24s ease-in-out infinite alternate}html[data-ambience=snow] .ambience-haze-b{bottom:14%;opacity:.45;animation-duration:33s;animation-delay:-14s}html[data-ambience=snow] .ambience-particle:nth-child(n+53){display:none}html[data-ambience=snow] .ambience-particle{top:-8vh;width:var(--snow-size);aspect-ratio:1;border-radius:48% 52% 46% 54%;background:#f1f8fceb;box-shadow:0 0 5px #ddf0f94d;animation:ambience-snow var(--snow-duration) linear infinite var(--snow-delay)}html[data-ambience=ash] .ambience-haze{display:block;left:-20%;bottom:-25%;width:82%;height:82%;border-radius:50%;background:radial-gradient(ellipse,rgba(107,55,31,.16),rgba(43,35,30,.08) 44%,transparent 70%);filter:blur(22px);animation:ambience-smoke 23s ease-in-out infinite alternate}html[data-ambience=ash] .ambience-haze-b{left:42%;bottom:-38%;animation-duration:31s;animation-delay:-17s}html[data-ambience=ash] .ambience-particle:nth-child(n+39){display:none}html[data-ambience=ash] .ambience-particle{top:-7vh;width:var(--ash-width);height:var(--ash-height);border-radius:64% 18% 57% 31%;background:#c1a688b8;box-shadow:0 0 4px #e4713224;animation:ambience-ash var(--ash-duration) cubic-bezier(.32,.05,.67,.97) infinite var(--ash-delay)}html[data-ambience=ash] .ambience-particle:nth-child(7n+2){background:#f17630c7;box-shadow:0 0 7px 1px #f65b1f5c}html[data-ambience=fireflies] .ambience-haze{display:block;left:-12%;right:-12%;bottom:-9%;height:45%;background:radial-gradient(ellipse at 50% 100%,rgba(88,118,73,.12),transparent 68%);filter:blur(16px);animation:ambience-ground-mist 29s ease-in-out infinite alternate}html[data-ambience=fireflies] .ambience-haze-b{bottom:19%;opacity:.38;animation-duration:37s;animation-delay:-18s}html[data-ambience=fireflies] .ambience-particle:nth-child(n+23){display:none}html[data-ambience=fireflies] .ambience-particle{top:var(--y);width:var(--firefly-size);aspect-ratio:1;animation:ambience-firefly-path var(--firefly-duration) cubic-bezier(.45,.08,.52,.94) infinite var(--firefly-delay)}html[data-ambience=fireflies] .ambience-particle:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:50%;background:#f3ed75;box-shadow:0 0 6px 2px #beee5985,0 0 14px #9cd8463d;animation:ambience-firefly-pulse var(--pulse-duration) ease-in-out infinite var(--pulse-delay)}html[data-ambience=underwater] .ambience-haze{display:block;top:-25%;right:-25%;bottom:-25%;left:-25%;background:radial-gradient(ellipse at 34% 8%,rgba(93,226,220,.11),transparent 34%),radial-gradient(ellipse at 73% 17%,rgba(107,182,222,.09),transparent 28%);mix-blend-mode:screen;filter:blur(20px);animation:ambience-caustic 19s ease-in-out infinite alternate}html[data-ambience=underwater] .ambience-haze-b{transform:scaleX(-1);animation-duration:28s;animation-delay:-12s}html[data-ambience=underwater] .ambience-particle{top:var(--y);width:var(--bubble-size);aspect-ratio:1}html[data-ambience=underwater] .ambience-particle:nth-child(n+57){display:none}html[data-ambience=underwater] .ambience-particle.is-mote{border-radius:50%;background:#b9e9e07a;box-shadow:0 0 3px #6edad13d;animation:ambience-underwater-mote var(--mote-duration) ease-in-out infinite var(--mote-delay)}html[data-ambience=underwater] .ambience-particle.is-bubble{top:auto;bottom:-10vh;border:1px solid rgba(187,235,239,.46);border-radius:50%;background:radial-gradient(circle at 31% 27%,rgba(241,255,255,.34),rgba(96,200,207,.06) 43%,transparent 68%);box-shadow:inset -1px -1px 2px #1768792e;animation:ambience-bubble var(--bubble-duration) ease-in infinite var(--bubble-delay)}html[data-ambience=aurora] .ambience-aurora{display:block;top:-18%;left:-12%;width:125%;height:48%;border-radius:42% 58% 51% 49%;mix-blend-mode:screen;filter:blur(22px);transform-origin:50% 0;mask-image:linear-gradient(180deg,#000 7%,rgba(0,0,0,.82) 50%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 7%,rgba(0,0,0,.82) 50%,transparent 100%);background:linear-gradient(104deg,transparent 4%,rgba(63,202,151,.04) 17%,rgba(70,239,175,.27) 31%,rgba(67,165,214,.13) 46%,rgba(108,92,207,.19) 61%,rgba(73,218,178,.1) 77%,transparent 95%);animation:ambience-aurora 18s ease-in-out infinite alternate}html[data-ambience=aurora] .ambience-aurora-b{top:-9%;left:9%;width:112%;height:39%;opacity:.62;background:linear-gradient(96deg,transparent 5%,rgba(99,95,218,.13) 24%,rgba(81,224,190,.25) 43%,rgba(91,163,222,.12) 59%,rgba(156,92,211,.13) 76%,transparent 96%);animation-duration:25s;animation-delay:-9s}html[data-ambience=aurora] .ambience-aurora-c{top:2%;left:-18%;width:105%;height:31%;opacity:.42;background:linear-gradient(112deg,transparent 7%,rgba(74,191,157,.12) 29%,rgba(116,85,201,.17) 53%,rgba(70,209,176,.12) 71%,transparent 94%);animation-duration:32s;animation-delay:-19s}html[data-ambience=aurora] .ambience-particle:nth-child(n+31){display:none}html[data-ambience=aurora] .ambience-particle{top:var(--y);width:var(--star-size);aspect-ratio:1;border-radius:50%;background:#dbf1f7d6;box-shadow:0 0 4px #8ee0d56b;animation:ambience-star var(--star-duration) ease-in-out infinite var(--star-delay)}@keyframes ambience-rain{0%{opacity:0;transform:translate3d(6vw,-10vh,0) rotate(8deg)}7%{opacity:var(--alpha)}88%{opacity:var(--alpha)}to{opacity:0;transform:translate3d(-14vw,124vh,0) rotate(8deg)}}@keyframes ambience-snow{0%{opacity:0;transform:translate3d(0,-9vh,0) rotate(0)}9%{opacity:var(--alpha)}24%{transform:translate3d(var(--drift-a),23vh,0) rotate(.2turn)}51%{transform:translate3d(var(--drift-b),55vh,0) rotate(.55turn)}76%{transform:translate3d(var(--drift-c),84vh,0) rotate(.78turn)}91%{opacity:var(--alpha)}to{opacity:0;transform:translate3d(var(--drift-a),118vh,0) rotate(1turn)}}@keyframes ambience-ash{0%{opacity:0;transform:translate3d(0,-8vh,0) rotate(0)}10%{opacity:var(--alpha)}31%{transform:translate3d(var(--drift-a),30vh,0) rotate(.28turn)}48%{transform:translate3d(var(--drift-c),47vh,0) rotate(.45turn)}69%{transform:translate3d(var(--drift-b),72vh,0) rotate(.72turn)}90%{opacity:var(--alpha)}to{opacity:0;transform:translate3d(var(--drift-c),116vh,0) rotate(var(--spin))}}@keyframes ambience-firefly-path{0%,to{opacity:.82;transform:translateZ(0)}17%{transform:translate3d(var(--drift-a),-2.4vh,0)}39%{transform:translate3d(var(--drift-b),1.6vh,0)}62%{transform:translate3d(var(--drift-c),-1.1vh,0)}81%{transform:translate3d(var(--drift-a),2.2vh,0)}}@keyframes ambience-firefly-pulse{0%,12%,32%,to{opacity:.08;transform:scale(.68)}18%,24%{opacity:.92;transform:scale(1.12)}52%,67%{opacity:.18;transform:scale(.76)}59%{opacity:.72;transform:scale(1)}}@keyframes ambience-bubble{0%{opacity:0;transform:translate3d(0,8vh,0) scale(.72)}13%{opacity:var(--alpha)}36%{transform:translate3d(var(--drift-a),-32vh,0) scale(.86)}67%{transform:translate3d(var(--drift-b),-69vh,0) scale(1.02)}88%{opacity:var(--alpha)}to{opacity:0;transform:translate3d(var(--drift-c),-118vh,0) scale(1.12)}}@keyframes ambience-underwater-mote{0%,to{opacity:.12;transform:translate3d(-1vw,2vh,0) scale(.8)}28%{opacity:var(--alpha-soft);transform:translate3d(var(--drift-a),-1vh,0) scale(1)}61%{opacity:.2;transform:translate3d(var(--drift-b),1vh,0) scale(.86)}82%{opacity:var(--alpha-dim);transform:translate3d(var(--drift-c),-2.2vh,0) scale(.94)}}@keyframes ambience-aurora{0%{opacity:.38;transform:translate3d(-3%,-2%,0) rotate(-2deg) skew(-7deg) scaleY(.86)}48%{opacity:.66;transform:translate3d(2%,1%,0) rotate(.6deg) skew(3deg) scaleY(1.04)}to{opacity:.48;transform:translate3d(6%,-1%,0) rotate(2deg) skew(-2deg) scaleY(.94)}}@keyframes ambience-star{0%,18%,to{opacity:.08;transform:scale(.7)}46%{opacity:var(--alpha);transform:scale(1)}59%{opacity:.16;transform:scale(.78)}78%{opacity:var(--alpha-star);transform:scale(.92)}}@keyframes ambience-weather-haze{0%{opacity:.42;transform:translate3d(-2%,0,0) scale(1.02)}to{opacity:.72;transform:translate3d(3%,-1%,0) scale(1.08)}}@keyframes ambience-ground-mist{0%{opacity:.38;transform:translate3d(-4%,1%,0) scaleX(.96)}to{opacity:.7;transform:translate3d(5%,-2%,0) scaleX(1.08)}}@keyframes ambience-smoke{0%{opacity:.34;transform:translate3d(-3%,5%,0) rotate(-2deg) scale(.94)}to{opacity:.66;transform:translate3d(6%,-5%,0) rotate(3deg) scale(1.12)}}@keyframes ambience-caustic{0%{opacity:.34;transform:translate3d(-3%,-2%,0) rotate(-1deg) scale(.96)}to{opacity:.68;transform:translate3d(4%,3%,0) rotate(2deg) scale(1.07)}}@media (max-width: 640px){html[data-ambience=rain] .ambience-particle:nth-child(n+29),html[data-ambience=snow] .ambience-particle:nth-child(n+27),html[data-ambience=underwater] .ambience-particle:nth-child(n+28){display:none}}.topbar{border-color:#e7ca8c24;background:#140d268c;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:none}.opponents .player-panel,.my-area .player-panel{border:0;border-top:1px solid rgba(231,202,140,.2);border-bottom:1px solid rgba(231,202,140,.2);border-radius:0;background:linear-gradient(180deg,#0f0a1e4d,#0f0a1e1f);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.player-panel.is-turn{border-color:#f0c56c99;box-shadow:inset 0 0 40px #e3aa4b1a;background:linear-gradient(180deg,#18120552,#0a080324)}.player-name,.stable-empty{text-shadow:0 1px 3px rgba(0,0,0,.85)}.table-center{border:0;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.pile-label{color:#d6cdb4;text-shadow:0 1px 3px rgba(0,0,0,.9)}.side-rail{border:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;padding:6px 2px}.rail-score{border:0;background:none;padding:4px 2px}.rail-score.is-turn{box-shadow:none}.rail-score strong{text-shadow:0 2px 6px rgba(0,0,0,.95),0 0 22px rgba(140,190,235,.55)}.rail-score-you strong{text-shadow:0 2px 6px rgba(0,0,0,.95),0 0 24px rgba(255,180,80,.6)}.rail-score.is-turn strong{text-shadow:0 2px 6px rgba(0,0,0,.95),0 0 26px rgba(255,214,130,.8)}.rail-score-name,.rail-score-goal,.rail-turn{color:#e3d9c2;text-shadow:0 1px 3px rgba(0,0,0,.9)}.hand-area,.hand-area.is-ready,.hand-area.is-roar{border:0;border-radius:0;background:none;box-shadow:none;padding:0;overflow:visible;margin-bottom:calc(-30px - env(safe-area-inset-bottom,0px))}.hand{position:relative;padding:12px 44px 0}.hand:before{content:"";position:absolute;left:50%;bottom:-44px;transform:translate(-50%);width:min(700px,92%);height:110px;border-radius:50%;pointer-events:none;opacity:0;filter:blur(4px);transition:opacity .25s ease}.hand-area.is-ready .hand:before{opacity:1;background:radial-gradient(ellipse,rgba(84,208,110,.45),transparent 68%)}.hand-area.is-roar .hand:before{opacity:1;background:radial-gradient(ellipse,rgba(238,115,92,.5),transparent 68%)}.fan-slot:hover,.fan-slot:focus-within{transform:translateY(-44px) scale(1.08);z-index:99!important}.hand-empty{text-shadow:0 1px 3px rgba(0,0,0,.9);padding-bottom:34px}@media (orientation: portrait) and (max-width: 800px){.hand-area,.hand-area.is-ready,.hand-area.is-roar{position:sticky;bottom:0;margin-bottom:calc(-24px - env(safe-area-inset-bottom,0px))}.fan-slot:hover,.fan-slot:focus-within{transform:translateY(-34px) scale(1.06)}}@media (orientation: landscape) and (max-height: 650px){.hand-area,.hand-area.is-ready,.hand-area.is-roar{margin-bottom:-16px}.hand{height:84px;padding-top:4px}.fan-slot:hover,.fan-slot:focus-within{transform:translateY(-26px) scale(1.05)}}@media (prefers-reduced-motion: reduce){.fan-slot:hover,.fan-slot:focus-within{transform:translateY(-44px)}}.game-board{grid-template-rows:minmax(150px,.72fr) minmax(180px,1fr) minmax(168px,.82fr)}.player-panel .stable{width:100%;min-width:0;min-height:0;display:flex;flex-direction:row;align-items:center;justify-content:center;margin-top:4px;overflow:hidden}.player-panel .stable-row{width:max-content;max-width:100%;min-width:0;display:flex;flex-flow:row nowrap;align-items:center;justify-content:center;margin-inline:auto;overflow:visible}.player-panel .stable-row .card{flex:none}.opponents .card-mini{--w: clamp(58px, 5.1vw, 72px)}.opponents:not(.few-foes) .stable-row .card-mini+.card-mini{margin-left:-42px}.opponents.few-foes .stable-row .card-mini+.card-mini{margin-left:-10px}.my-area .stable{justify-content:center;overflow:hidden}.my-area .stable-row{align-items:center}.my-area .stable-row .card-sm+.card-sm{margin-left:0}.my-area .card-sm{--w: clamp(96px, 8.5vw, 126px)}.fan-slot{transform:none}.card-cursor-popup{position:fixed;z-index:110;width:min(350px,calc(100vw - 24px));max-height:min(250px,calc(100dvh - 24px));padding:11px;overflow:hidden;pointer-events:none;border:1px solid rgba(239,202,126,.58);border-radius:12px;background:radial-gradient(circle at 90% 0%,rgba(188,126,48,.14),transparent 42%),linear-gradient(150deg,#18261dfa,#140d26fa);box-shadow:inset 0 1px #ffffff12,0 16px 42px #000000b3;animation:cursor-popup-in .16s ease-out both}.card-cursor-popup .card-details{grid-template-columns:86px minmax(0,1fr);gap:11px}.card-cursor-popup .card-details-preview .card{--w: 82px}.card-cursor-popup .card-details-copy h2{margin:5px 0;font-size:1.02rem}.card-cursor-popup .card-rules-text{font-size:.76rem;line-height:1.4}.card-cursor-popup .card-flavor{display:none}@keyframes cursor-popup-in{0%{opacity:0;transform:translateY(5px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.played-card-flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:94;pointer-events:none;display:grid;place-items:center;background:radial-gradient(circle,rgba(22,15,42,.2),rgba(2,7,4,.58) 52%,transparent 76%);animation:played-flash-life 2.3s ease both}.played-card-flash-content{display:grid;place-items:center;gap:5px;color:#ffebbf;text-align:center;text-shadow:0 2px 8px #000;animation:played-card-pop 2.3s cubic-bezier(.2,.8,.25,1) both}.played-card-flash-content>span{font-size:.7rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.played-card-flash-content>strong{font-family:var(--font-display);font-size:1.15rem}.played-card-flash-content>small{color:var(--text-dim);font-weight:800}.played-card-flash-content .card{--w: clamp(126px, 11vw, 164px);box-shadow:0 0 38px #f1bf6094,0 20px 50px #000000b3}@keyframes played-flash-life{0%,to{opacity:0}12%,74%{opacity:1}}@keyframes played-card-pop{0%{transform:translateY(28px) scale(.58)}16%,72%{transform:translateY(0) scale(1)}to{transform:translateY(-10px) scale(1.04)}}@media (max-width: 1180px){.game-board{grid-template-rows:minmax(138px,.7fr) minmax(180px,1fr) minmax(154px,.78fr)}.my-area .card-sm{--w: clamp(88px, 8vw, 112px)}}@media (orientation: landscape) and (max-height: 650px){.game-board{grid-template-rows:78px minmax(0,1fr);grid-template-areas:"opponents opponents opponents" "table mine rail"}.opponents .card-mini{--w: 40px}.opponents:not(.few-foes) .stable-row .card-mini+.card-mini{margin-left:-22px}.opponents.few-foes .stable-row .card-mini+.card-mini{margin-left:-7px}.my-area .card-sm{--w: clamp(50px, 11.5vh, 68px)}.my-area .stable-row .card-sm+.card-sm{margin-left:-44px}.hand-area,.hand-area.is-ready,.hand-area.is-roar{height:104px;max-height:104px;margin-bottom:0}.hand{height:104px;padding-top:4px;padding-bottom:2px;align-items:flex-start}.hand .card-sm{--w: 64px}.fan-slot:hover,.fan-slot:focus-within{transform:translateY(-18px) scale(1.04)}.card-cursor-popup{width:min(285px,calc(100vw - 24px));padding:8px}.card-cursor-popup .card-details{grid-template-columns:66px minmax(0,1fr);gap:8px}.card-cursor-popup .card-details-preview .card{--w: 62px}.card-cursor-popup .card-details-copy h2{font-size:.82rem}.card-cursor-popup .card-rules-text{font-size:.62rem}.played-card-flash-content .card{--w: 92px}.played-card-flash-content>span{font-size:.55rem}.played-card-flash-content>strong{font-size:.88rem}}@media (prefers-reduced-motion: reduce){.card-cursor-popup{animation:none}.played-card-flash,.played-card-flash-content{animation:played-flash-life 2.3s linear both}}.game-board{--battle-rail: clamp(112px, 9vw, 148px);position:relative;grid-template-columns:minmax(0,1fr) var(--battle-rail);grid-template-rows:repeat(2,minmax(0,1fr));grid-template-areas:"opponents rail" "mine rail"}.opponents,.my-area{position:relative;z-index:1;min-height:0}.opponents .player-panel,.opponents.few-foes .player-panel,.my-area .player-panel{display:block;padding:0;overflow:hidden}.opponents .player-head,.my-area .player-head,.opponents.few-foes .player-head{position:absolute;top:8px;left:10px;z-index:14;width:max-content;max-width:min(360px,48%);min-height:38px;padding:4px 9px 4px 4px;display:flex;flex-direction:row;align-items:center;gap:6px;overflow:hidden;border:1px solid rgba(238,207,143,.3);border-radius:999px;background:linear-gradient(90deg,#140d26e6,#08120bad);box-shadow:0 5px 16px #00000057;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.opponents .player-head>.badge-host,.opponents .player-head>.badge-bot,.my-area .player-head>.badge-host,.my-area .player-head>.badge-bot{display:none}.opponents .player-head .player-name,.my-area .player-head .player-name{flex:0 1 auto;min-width:0;font-size:.8rem}.opponents .player-head .player-meta,.my-area .player-head .player-meta{flex:none;margin-left:0}.opponents .has-compact-stable .player-head{max-width:calc(100% - 20px)}.opponents .has-compact-stable .player-name{flex:1 1 auto;min-width:36px}.opponents .has-compact-stable .player-meta .badge:not(.badge-dragons){display:none}.my-area .player-head{top:auto;bottom:8px}.opponents .player-mods,.my-area .player-mods{position:absolute;top:52px;left:12px;z-index:13;max-width:42%;margin:0}.my-area .player-mods{top:auto;bottom:52px}.player-panel .stable,.my-area .stable{width:100%;height:100%;margin:0;padding:10px 12px;display:flex;align-items:center;justify-content:center;overflow:hidden}.player-panel .stable-row,.opponents.few-foes .stable-row,.my-area .stable-row{width:max-content;max-width:100%;height:100%;margin:0 auto;display:flex;flex-flow:row nowrap;align-items:center;justify-content:center;gap:6px;overflow:visible}.player-panel .stable-row .card{flex:none;height:auto;aspect-ratio:5 / 7}.opponents .has-full-stable .card-sm{--w: clamp(108px, 17vh, 154px)}.opponents .has-full-stable .stable-row .card-sm+.card-sm{margin-left:clamp(-18px,-1vw,-8px)}.opponents .has-compact-stable .card-mini{--w: clamp(58px, 5vw, 76px)}.opponents .has-compact-stable .stable-row .card-mini+.card-mini{margin-left:-40px}.my-area .has-full-stable .card-sm{--w: clamp(118px, 18vh, 166px)}.my-area .stable-row .card-sm+.card-sm{margin-left:clamp(-14px,-.7vw,-6px)}.table-center{grid-area:auto;position:absolute;top:50%;left:0;right:var(--battle-rail);z-index:18;min-width:0;min-height:0;padding:0 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;overflow:visible;transform:translateY(-50%);pointer-events:none}.table-center>*{pointer-events:auto}.arena-focus:empty{pointer-events:none}.arena-piles{gap:6px}.arena-piles .card-sm{--w: clamp(58px, 5vw, 74px)}.arena-piles .pile-label{font-size:.54rem}.arena-focus .chain{max-height:min(148px,20vh)}.arena-focus .chain .card-sm{--w: clamp(64px, 6vw, 84px)}.fan-slot{transform:rotate(calc(var(--k, 0) * 2.1deg)) translateY(calc(var(--k, 0) * var(--k, 0) * 1.4px));transform-origin:50% 120%}.fan-slot:hover,.fan-slot:focus-within{transform:translateY(-44px) scale(1.08)}@media (max-width: 1180px){.game-board{--battle-rail: 108px}.opponents .has-full-stable .card-sm{--w: clamp(94px, 16vh, 132px)}.my-area .has-full-stable .card-sm{--w: clamp(102px, 17vh, 142px)}}@media (orientation: portrait) and (max-width: 800px){.game-board{position:static;display:flex}.opponents{order:1;min-height:190px}.table-center{position:relative;inset:auto;order:2;width:100%;min-height:96px;padding:4px 8px;transform:none}.my-area{order:3;min-height:210px}.side-rail{order:4}.opponents .has-full-stable .card-sm{--w: clamp(86px, 24vw, 112px)}.my-area .has-full-stable .card-sm{--w: clamp(94px, 26vw, 120px)}.opponents .player-head,.my-area .player-head,.opponents.few-foes .player-head{max-width:72%}}@media (orientation: landscape) and (max-height: 650px){.game-board{--battle-rail: 92px;grid-template-columns:minmax(0,1fr) var(--battle-rail);grid-template-rows:repeat(2,minmax(0,1fr));grid-template-areas:"opponents rail" "mine rail"}.opponents .player-panel,.opponents.few-foes .player-panel,.my-area .player-panel{display:block;padding:0;border-radius:0}.opponents .player-head,.opponents.few-foes .player-head{top:3px;left:4px;max-width:48%;min-height:26px;padding:2px 6px 2px 2px;gap:4px}.my-area .player-head{top:auto;bottom:3px;left:4px;max-width:48%;min-height:26px;padding:2px 6px 2px 2px;gap:4px}.opponents .player-head .player-name,.my-area .player-head .player-name{font-size:.58rem}.opponents .has-compact-stable .player-head{max-width:calc(100% - 8px)}.opponents .player-head .player-meta,.my-area .player-head .player-meta{gap:2px}.opponents .player-head .badge,.my-area .player-head .badge{padding:1px 4px;font-size:.46rem}.opponents .player-mods,.my-area .player-mods{display:none}.player-panel .stable,.my-area .stable{padding:4px 6px;align-items:center}.player-panel .stable-row,.opponents.few-foes .stable-row,.my-area .stable-row{gap:3px;align-items:center}.opponents .has-full-stable .card-sm{--w: clamp(42px, 13vh, 84px)}.opponents .has-full-stable .stable-row .card-sm+.card-sm{margin-left:-6px}.opponents .has-compact-stable .card-mini{--w: clamp(34px, 10.5vh, 62px);border-radius:4px}.opponents .has-compact-stable .stable-row .card-mini+.card-mini{margin-left:-24px}.opponents .card-mini .card-head{display:flex}.my-area .has-full-stable .card-sm{--w: clamp(44px, 14vh, 88px)}.my-area .stable-row .card-sm+.card-sm{margin-left:-8px}.table-center{right:var(--battle-rail);padding:0 5px;gap:4px}.arena-piles{gap:3px}.arena-piles .card-sm{--w: clamp(30px, 8vh, 42px)}.arena-piles .pile-label{display:none}.nest-count{width:17px;min-width:17px;height:17px;font-size:.48rem}.arena-focus .chain{max-height:80px;padding:3px}.arena-focus .chain .card-sm{--w: clamp(34px, 9vh, 48px)}.fan-slot{transform:rotate(calc(var(--k, 0) * 1.7deg)) translateY(calc(var(--k, 0) * var(--k, 0) * .8px))}.fan-slot:hover,.fan-slot:focus-within{transform:translateY(-18px) scale(1.04)}}@media (prefers-reduced-motion: reduce){.fan-slot{transition:none}.fan-slot:hover,.fan-slot:focus-within{transform:translateY(-18px)}}.log-drawer{width:min(430px,94vw);padding:0;overflow:hidden;border-left-color:#e7c47a66;background:radial-gradient(circle at 100% 0%,rgba(154,112,49,.18),transparent 38%),linear-gradient(160deg,#19281efc,#160f2afe);box-shadow:-24px 0 70px #0000009e,inset 1px 0 #fff5d50d}.log-head{flex:none;min-height:76px;margin:0;padding:14px 16px;border-bottom:1px solid rgba(231,196,122,.22);background:linear-gradient(180deg,rgba(255,224,159,.045),transparent)}.log-head>div{min-width:0}.log-head h2{margin:1px 0 0;color:#f0d28d;font-family:var(--font-display);font-size:1.2rem;letter-spacing:.045em}.log-eyebrow{display:block;color:#9ebaa6;font-size:.56rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase}.log-head .btn{min-width:64px;min-height:44px}.log-list{flex:1;min-height:0;margin:0;padding:12px 12px 18px;gap:9px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#9c7942 rgba(17,11,34,.75)}.log-list::-webkit-scrollbar{width:9px}.log-list::-webkit-scrollbar-track{background:#110b22bf;border-left:1px solid rgba(225,194,125,.1)}.log-list::-webkit-scrollbar-thumb{border:2px solid rgba(17,11,34,.92);border-radius:999px;background:linear-gradient(180deg,#b9924d,#6c512d)}.log-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#d2ad63,#88683a)}.log-list li{padding:0;border:0}.log-entry{position:relative;flex:none;border:1px solid rgba(225,194,125,.12)!important;border-radius:12px;background:linear-gradient(145deg,#ffffff09,#0000001f);box-shadow:inset 0 1px #ffffff06}.log-entry-text{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;min-height:48px;padding:8px 10px!important}.log-seq{display:grid;place-items:center;width:26px;height:26px;border:1px solid rgba(225,194,125,.25);border-radius:50%;color:#a98e5b;font-size:.56rem;font-weight:900;font-variant-numeric:tabular-nums}.log-entry p{margin:0;line-height:1.42}.log-entry-card{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:11px;min-height:124px;padding:9px 10px!important;border-color:#e1c27d40!important;background:radial-gradient(circle at 0 50%,rgba(205,154,70,.12),transparent 42%),linear-gradient(145deg,#223729f5,#1c1436e6)}.chronicle-card{display:grid;place-items:center;min-width:0;perspective:700px}.chronicle-card .card{--w: 72px;flex:none;box-shadow:0 8px 20px #00000085,0 0 0 1px #f4cf7f2e}.chronicle-card .card-clickable:hover,.chronicle-card .card-clickable:focus-within{z-index:2;transform:translateY(-3px) scale(1.04)}.chronicle-card .card-action-hit:focus-visible{outline:3px solid #72d8c1;outline-offset:3px;border-radius:inherit}.log-copy{min-width:0}.log-kicker{display:flex;align-items:center;gap:5px;margin-bottom:3px;color:#8fcbb6;font-size:.52rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.log-kicker .glyph{width:13px;height:13px}.log-copy>strong{display:block;overflow:hidden;margin-bottom:4px;color:#f3d998;font-family:var(--font-display);font-size:.94rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.log-copy p{color:#c8c1b1;font-size:.72rem}.log-list .log-end{min-height:1px}.rail-middle{width:100%}@media (orientation: landscape) and (max-height: 650px){.log-drawer{width:min(360px,76vw)}.log-head{min-height:56px;padding:6px 10px}.log-head h2{font-size:.94rem}.log-eyebrow{font-size:.44rem}.log-list{padding:7px 8px 10px;gap:6px}.log-entry-text{min-height:38px;padding:5px 7px!important}.log-entry-card{grid-template-columns:60px minmax(0,1fr);gap:8px;min-height:92px;padding:6px 7px!important}.chronicle-card .card{--w: 54px}.log-copy>strong{font-size:.76rem}.log-copy p{font-size:.6rem;line-height:1.3}.log-kicker{font-size:.43rem}}@media (prefers-reduced-motion: reduce){.chronicle-card .card-clickable:hover,.chronicle-card .card-clickable:focus-within{transform:none}}.game-board{--battle-rail: clamp(154px, 12vw, 184px)}@media (orientation: landscape) and (max-height: 650px){.game-board{--battle-rail: 118px}}.card-back{isolation:isolate;overflow:hidden;border-color:#f1ca77b8;background:radial-gradient(circle at 50% 45%,rgba(231,181,80,.2),transparent 32%),repeating-linear-gradient(45deg,rgba(255,224,142,.045) 0 1px,transparent 1px 7px),linear-gradient(145deg,#2b432f,#0b1810 52%,#21130e);box-shadow:inset 0 0 0 2px #160f2ac7,inset 0 0 20px #00000073,0 7px 16px #0000005c}.card-back:before,.card-back:after{content:"";position:absolute;z-index:-1;pointer-events:none}.card-back:before{top:5%;right:5%;bottom:5%;left:5%;border:1px solid rgba(247,213,139,.72);border-radius:5px;box-shadow:inset 0 0 0 3px #1c1436b8,inset 0 0 0 4px #e6b34b33}.card-back:after{top:12%;right:12%;bottom:12%;left:12%;border:1px solid rgba(234,194,112,.38);border-radius:50%;background:radial-gradient(ellipse at center,transparent 48%,rgba(231,181,80,.08) 49% 52%,transparent 53%)}.card-back-frame{position:relative;z-index:1;display:grid;place-items:center;width:100%;height:100%;color:#f0c56f}@media (hover: none),(pointer: coarse){button,.card-action-hit,.card-info-button,.card-touch-inspect,.card-touch-action{touch-action:manipulation}.btn,.btn-sm,.type-filters button{min-height:48px}.icon-button{width:48px;height:48px;min-width:48px}.card-info-button{top:6px;right:6px;width:34px;height:34px;border-width:2px;font-size:.9rem}.card-info-button:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%}.card-touch-split .card-info-button{display:none}.card-touch-split .card-touch-inspect{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:block;padding:0;border:0;border-radius:inherit;background:transparent}.card-touch-split .card-touch-inspect:active{background:#ffe8b71f}.card-touch-split .card-touch-inspect:focus-visible{outline:3px solid var(--teal);outline-offset:-4px}.card-touch-split .card-touch-action{position:absolute;z-index:7;top:6px;right:6px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:2px solid rgba(255,244,215,.72);border-radius:50%;color:#211408;background:linear-gradient(180deg,#ffe1a0,#e9953d);box-shadow:0 4px 12px #00000094}.card-touch-split .card-touch-action:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%}.card-touch-split .card-touch-action .glyph{width:20px;height:20px}.card-touch-split .card-touch-action:active{transform:scale(.94)}.card-touch-split .card-touch-action:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.card-clickable:hover,.fan-slot:hover,.fan-slot:focus-within,.chronicle-card .card-clickable:hover,.chronicle-card .card-clickable:focus-within{transform:none}:is(.hand,.opponents,.type-filters,.codex-results,.card-grid){-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}}@media (orientation: portrait) and (max-width: 1100px){:root{overflow-y:auto}.game{width:100%;height:auto;min-height:100dvh;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left));overflow:visible}.topbar{position:sticky;top:max(6px,env(safe-area-inset-top));z-index:40;min-height:56px;padding:4px 6px;border-radius:18px;background:#140d26e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 10px 28px #00000061}.topbar-mid{align-items:flex-start;text-align:left}.topbar-status{max-width:100%;font-size:clamp(.76rem,2.3vw,.92rem)}.turn-tracker{display:none}.game-board{--battle-rail: auto;position:static;width:100%;max-width:100%;min-width:0;display:flex;flex-direction:column;gap:10px;min-height:0}.side-rail{order:0;position:sticky;top:calc(max(6px,env(safe-area-inset-top)) + 64px);z-index:34;width:100%;max-width:100%;min-width:0;min-height:76px;padding:6px 8px;display:grid;grid-template-columns:minmax(58px,.7fr) minmax(156px,1.5fr) minmax(58px,.7fr);grid-template-rows:1fr;align-items:center;gap:6px;border:1px solid rgba(231,202,140,.28);border-radius:16px;background:#140d26e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 9px 24px #00000061}.rail-score{width:100%;min-width:0;min-height:62px;justify-content:center;padding:4px;border:1px solid rgba(231,202,140,.16);border-radius:11px;background:#121f169e}.rail-score-name{width:100%;font-size:.52rem;letter-spacing:.04em}.rail-score strong{font-size:1.35rem}.rail-score-goal{font-size:.48rem}.rail-middle{width:100%;min-width:0;flex-direction:row;justify-content:center;gap:8px}.rail-turn{display:none}.turn-dial{--dial-size: 88px;--ring-w: 6px;--dial-gap: 5px}.coin strong{font-size:.76rem}.coin em{font-size:.43rem}.coin-idle strong{font-size:1.1rem}.opponents{order:1;width:100%;max-width:100%;min-width:0;min-height:204px;padding:0 2px 4px;display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:2px}.opponents .player-panel,.opponents.few-foes .player-panel{flex:0 0 min(78vw,360px);min-width:min(78vw,360px);min-height:200px;scroll-snap-align:start;border:1px solid rgba(231,202,140,.22);border-radius:16px;background:linear-gradient(180deg,#0f0a1ead,#0f0a1e6b)}.opponents .has-full-stable .card-sm{--w: clamp(90px, 24vw, 126px)}.opponents .has-compact-stable .card-mini{--w: clamp(54px, 14vw, 72px)}.opponents .has-compact-stable .stable-row .card-mini+.card-mini{margin-left:-34px}.table-center{order:2;position:relative;inset:auto;width:100%;max-width:100%;min-width:0;min-height:112px;padding:8px;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;overflow:visible;transform:none;border-top:1px solid rgba(231,202,140,.16);border-bottom:1px solid rgba(231,202,140,.16);background:#140d2652}.arena-piles{gap:4px}.arena-piles .card-sm{--w: clamp(52px, 14vw, 72px)}.arena-piles .pile-label{max-width:70px;font-size:.52rem}.arena-focus .chain{max-width:100%;max-height:130px}.action-bar{align-items:stretch}.action-bar .btn{width:100%}.my-area{order:3;width:100%;max-width:100%;min-width:0;min-height:230px}.my-area .player-panel{min-height:230px;border:1px solid rgba(231,202,140,.24);border-radius:16px;background:linear-gradient(180deg,#0c1c12ad,#0f0a1e6b)}.my-area .has-full-stable .card-sm{--w: clamp(98px, 25vw, 136px)}.hand-area,.hand-area.is-ready,.hand-area.is-roar{position:sticky;bottom:0;z-index:38;width:100%;max-width:100%;min-width:0;min-height:156px;max-height:32dvh;margin:0;padding:10px 0 max(10px,env(safe-area-inset-bottom));overflow:hidden;border-top:1px solid rgba(231,202,140,.28);border-radius:18px 18px 0 0;background:linear-gradient(180deg,#1c1334f0,#030905fb);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 -12px 34px #00000075}.hand{width:100%;height:auto;min-height:136px;padding:4px 12px 8px;display:flex;justify-content:flex-start;align-items:flex-start;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:12px}.hand:before{display:none}.fan-slot,.fan-slot:hover,.fan-slot:focus-within{flex:none;margin:0;transform:none;scroll-snap-align:start}.fan-slot+.fan-slot{margin-left:0}.hand .card-sm{--w: clamp(94px, 26vw, 122px)}.hand-empty{min-width:100%;padding:42px 16px;text-align:center}.game~.codex-fab{right:max(10px,env(safe-area-inset-right));bottom:calc(166px + env(safe-area-inset-bottom))}.game~.toast{bottom:calc(166px + env(safe-area-inset-bottom))}.card-cursor-popup{left:12px!important;right:12px;top:auto!important;bottom:calc(166px + env(safe-area-inset-bottom));width:auto;max-height:min(230px,34dvh)}.codex-scrim{padding:0;place-items:stretch}.codex{width:100vw;max-width:100vw;height:100dvh;grid-template-columns:minmax(0,1fr);border:0;border-radius:0}.codex-head{width:100%;min-width:0;padding:max(14px,env(safe-area-inset-top)) 14px 10px}.codex-head>div{min-width:0}.codex-head h1{font-size:clamp(1.35rem,5vw,1.85rem)}.codex-head p{max-width:58ch;font-size:.72rem;line-height:1.35}.codex-tools{width:100%;max-width:100%;min-width:0;padding:8px 12px 10px;flex-direction:column;align-items:stretch;gap:8px;overflow:hidden}.search-field{flex-basis:auto}.search-field input{min-height:48px;font-size:1rem}.type-filters{width:100%;max-width:100%;padding-bottom:2px}.codex-body{width:100%;max-width:100%;min-width:0;display:flex;flex-direction:column;overflow:hidden}.codex-results{width:100%;max-width:100%;flex:1 1 auto;min-height:0;min-width:0;padding:12px;gap:9px;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-auto-rows:clamp(130px,40vw,157px);align-content:start;justify-content:stretch;overflow-y:auto}.codex-results .card-sm{--w: 100%;width:100%;max-width:112px;justify-self:center}.codex-detail{width:100%;max-width:100%;min-width:0;flex:0 0 auto;display:block;max-height:min(38dvh,310px);padding:12px 14px max(14px,env(safe-area-inset-bottom));overflow-y:auto;border-top:1px solid var(--line);border-left:0;background:#130d24fa;box-shadow:0 -12px 28px #00000061}.codex-detail .card-details{display:block}.codex-detail .card-details-preview{display:none}.codex-detail .card-details-copy h2{margin:6px 0;font-size:1.1rem}.codex-detail .card-rules-text{font-size:.86rem;line-height:1.45}.codex-detail .card-flavor,.codex-detail .card-facts{display:none}.modal-scrim{place-items:end stretch;padding:0}.modal,.modal-wide{width:100%;max-height:88dvh;padding:18px 16px max(18px,env(safe-area-inset-bottom));border-right:0;border-bottom:0;border-left:0;border-radius:22px 22px 0 0}.modal-head{position:sticky;top:0;z-index:2}.modal-actions .btn,.player-choice{flex:1 1 140px}.card-grid{flex-wrap:nowrap;justify-content:flex-start;padding:4px 2px 10px;overflow-x:auto;scroll-snap-type:x proximity}.card-grid .card{flex:none;scroll-snap-align:start}.log-drawer{width:min(100vw,480px);padding-bottom:env(safe-area-inset-bottom)}}@media (max-width: 640px){.home,.lobby{min-height:100dvh;place-items:end stretch;padding:max(72px,env(safe-area-inset-top)) 0 0;overflow-y:auto}.home:before,.lobby:before{background-position:62% center}.home:after,.lobby:after{background:linear-gradient(180deg,#06040e0d,#06040ebd 52%,#06100a)}.home-card,.lobby-card{width:100%;max-width:none;padding:22px 18px calc(82px + env(safe-area-inset-bottom));gap:16px;border-right:0;border-bottom:0;border-left:0;border-radius:24px 24px 0 0;text-align:left}.home-card .title{text-align:left}.title-un{font-size:.82rem;letter-spacing:.42em}.title-dragons{font-size:clamp(2.35rem,13vw,3.5rem)}.tagline{font-size:.95rem;line-height:1.5}.home-hint{line-height:1.35}.home-actions .btn{width:100%}.lobby-title{font-size:1.65rem}.lobby-sub{line-height:1.35}.room-code{padding:11px 12px}.room-code-value{font-size:clamp(1.75rem,10vw,2.2rem)}.lobby-players{gap:6px}.lobby-players li{min-width:0;padding:8px 10px}.lobby-player-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-players .badge-bot{max-width:38%;overflow:hidden;text-overflow:ellipsis}.bot-row{flex-direction:column;align-items:stretch}.bot-field,.bot-row .btn{width:100%}.codex-fab{right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));width:48px;min-width:48px;min-height:48px;padding:0;justify-content:center}.codex-fab span{display:none}.game~.codex-fab{bottom:calc(166px + env(safe-area-inset-bottom))}.topbar{gap:4px}.topbar-code{display:none}.topbar-actions{gap:2px}.topbar .icon-button{width:46px;height:46px;min-width:46px}.side-rail{grid-template-columns:minmax(54px,.62fr) minmax(144px,1.4fr) minmax(54px,.62fr);padding-inline:6px;gap:4px}.turn-dial{--dial-size: 84px;--ring-w: 6px;--dial-gap: 4px}.opponents .player-panel,.opponents.few-foes .player-panel{flex-basis:min(86vw,330px);min-width:min(86vw,330px)}.opponents .player-head,.my-area .player-head,.opponents.few-foes .player-head{max-width:calc(100% - 16px)}.opponents .player-mods,.my-area .player-mods{max-width:68%}.table-center{grid-template-columns:minmax(0,1fr) auto}.arena-piles{justify-content:flex-start;overflow-x:auto}.arena-focus{display:none}.action-pedestal{justify-self:end}.action-pedestal:has(.action-bar:empty){display:none}.codex-head p{display:none}.codex-results{grid-template-columns:repeat(3,minmax(0,1fr))}.codex-detail{max-height:min(40dvh,280px)}.reconnect-banner{top:max(8px,env(safe-area-inset-top));width:calc(100% - 24px);text-align:center}.toast{width:calc(100% - 24px);padding:11px 14px}}@media (orientation: landscape) and (max-height: 650px) and (pointer: coarse){.game{grid-template-rows:48px minmax(0,1fr) 112px;gap:4px}.topbar-code{display:none}.topbar-status{font-size:.72rem}.game-board{--battle-rail: 108px}.side-rail{padding-inline:2px}.turn-dial{--dial-size: 80px;--ring-w: 5px;--dial-gap: 4px}.hand-area,.hand-area.is-ready,.hand-area.is-roar{height:112px;max-height:112px;margin:0;overflow:hidden}.hand{height:112px;padding:4px 8px 8px;justify-content:flex-start;gap:7px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity}.hand .card-sm{--w: 70px}.fan-slot,.fan-slot:hover,.fan-slot:focus-within{margin:0;transform:none;scroll-snap-align:start}.fan-slot+.fan-slot{margin-left:0}.game~.codex-fab{bottom:8px}.card-cursor-popup{display:block;right:auto;bottom:auto;width:min(300px,calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right)));max-height:calc(100dvh - 48px - env(safe-area-inset-top))}.card-cursor-popup .card-details{display:block}.card-cursor-popup .card-details-preview{display:none}}@media (orientation: landscape) and (min-height: 651px) and (max-width: 1100px){.game-board{--battle-rail: 132px}.turn-dial{--dial-size: 104px;--ring-w: 7px;--dial-gap: 6px}.opponents .has-full-stable .card-sm{--w: clamp(86px, 14vh, 118px)}.my-area .has-full-stable .card-sm{--w: clamp(94px, 15vh, 128px)}.hand .card-sm{--w: clamp(88px, 10vw, 106px)}}.home-settings{overflow:clip;border:1px solid rgba(231,202,140,.2);border-radius:16px;background:#140d2694;text-align:left;transition:border-color .2s ease,background .2s ease}.home-settings[open]{border-color:#e7ca8c57;background:#140d26c2}.home-settings summary{min-height:56px;display:grid;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:11px;padding:8px 12px;color:var(--text);cursor:pointer;list-style:none;touch-action:manipulation}.home-settings summary::-webkit-details-marker{display:none}.home-settings summary:hover{background:#ffffff09}.home-settings summary:focus-visible{outline:3px solid var(--teal);outline-offset:-3px;border-radius:15px}.settings-summary-icon{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(231,202,140,.25);border-radius:11px;background:#e7ca8c14;color:var(--gold)}.settings-summary-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.settings-summary-copy{min-width:0;display:flex;flex-direction:column;gap:1px}.settings-summary-copy strong{font-size:.92rem;font-weight:850;letter-spacing:.01em}.settings-summary-copy>span{overflow:hidden;color:var(--text-dim);font-size:.75rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.settings-chevron{width:22px;height:22px;fill:none;stroke:var(--text-dim);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}.home-settings[open] .settings-chevron{transform:rotate(180deg)}.settings-body{display:flex;flex-direction:column;gap:16px;padding:4px 12px 14px;border-top:1px solid rgba(231,202,140,.12)}.settings-group{min-inline-size:0;margin:0;padding:14px 0 0;border:0}.settings-group legend{padding:0;color:#f1ddba;font-size:.72rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.battlefield-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}.battlefield-option{position:relative;min-width:0;cursor:pointer}.battlefield-option input,.settings-toggle input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.battlefield-choice{min-height:98px;display:flex;flex-direction:column;gap:7px;padding:5px 5px 8px;border:1px solid rgba(231,202,140,.15);border-radius:12px;background:#291e48ad;color:var(--text-dim);font-size:clamp(.67rem,1.9vw,.76rem);font-weight:800;line-height:1.2;text-align:center;transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease}.battlefield-option:hover .battlefield-choice{color:var(--text);border-color:#e7ca8c52;transform:translateY(-1px)}.battlefield-thumb{position:relative;width:100%;aspect-ratio:1.55;overflow:hidden;display:block;border-radius:8px;background-image:linear-gradient(180deg,#00000008,#00000057),var(--battlefield-thumb);background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px #ffffff1a}.battlefield-check{position:absolute;top:5px;right:5px;width:22px;height:22px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.46);border-radius:50%;background:#040b08c7;color:transparent;transform:scale(.82);opacity:.72;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease,opacity .18s ease}.battlefield-check svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.battlefield-option input:checked+.battlefield-choice{color:#fff0cf;border-color:#f4d03fb8;background:#f4d03f1a;box-shadow:inset 0 0 0 1px #f4d03f1f}.battlefield-option input:checked+.battlefield-choice .battlefield-check{border-color:var(--gold);background:var(--gold);color:#152015;transform:scale(1);opacity:1}.battlefield-option input:focus-visible+.battlefield-choice{outline:3px solid var(--teal);outline-offset:2px}.settings-select{min-height:64px;display:grid;grid-template-columns:minmax(0,1fr) minmax(132px,42%);align-items:center;gap:12px;padding:9px 10px 9px 12px;border:1px solid rgba(231,202,140,.13);border-radius:13px;background:#291e4880}.settings-select select{width:100%;min-width:0;min-height:44px;padding:8px 28px 8px 10px;border:1px solid rgba(231,202,140,.28);border-radius:10px;background:#07110b;color:var(--text);font:inherit;font-size:.72rem;cursor:pointer}.settings-select select:hover{border-color:#e7ca8c7a}.settings-select select:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.settings-toggles{overflow:hidden;border:1px solid rgba(231,202,140,.13);border-radius:13px;background:#291e4880}.settings-toggle{position:relative;min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:center;gap:12px;padding:9px 10px 9px 12px;cursor:pointer;touch-action:manipulation}.settings-toggle+.settings-toggle{border-top:1px solid rgba(231,202,140,.11)}.settings-toggle:hover{background:#ffffff06}.settings-toggle-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.settings-toggle-copy strong{color:var(--text);font-size:.82rem;line-height:1.25}.settings-toggle-copy>span{color:var(--text-dim);font-size:.69rem;line-height:1.35}.settings-switch{position:relative;width:44px;height:26px;border:1px solid rgba(231,202,140,.3);border-radius:999px;background:#040a07eb;transition:border-color .2s ease,background .2s ease}.settings-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#b8b6aa;box-shadow:0 2px 5px #0000006b;transition:transform .2s ease,background .2s ease}.settings-toggle input:checked+.settings-switch{border-color:#f4d03fb8;background:#f4d03f3d}.settings-toggle input:checked+.settings-switch:after{background:var(--gold);transform:translate(18px)}.settings-toggle input:focus-visible+.settings-switch{outline:3px solid var(--teal);outline-offset:3px}html[data-ambience=none] .battlefield-ambience,html[data-effects=reduced] :is(.embers,.battlefield-ambience){display:none}.app:has(.game)>.embers{display:none}html[data-effects=reduced] :is(.played-card-flash,.played-card-flash-content,.coin-draw,.coin-pass,.turn-aura,.turn-dial.is-urgent,.turn-dial.is-urgent .dial-sweep){animation:none!important}html[data-effects=reduced] [class*=glow-]{animation:none!important}html[data-effects=reduced] .hand .card[class*=glow-]:after{display:none}html[data-effects=reduced] .turn-banner{animation-name:turn-banner-hold}@keyframes turn-banner-hold{0%,78%{opacity:1}to{opacity:0}}html[data-effects=reduced] :is(.card,.btn,.coin,.battlefield-choice){transition-duration:.01ms!important}@media (max-width: 640px){.home-settings summary{min-height:60px;padding-inline:11px}.settings-body{padding-inline:10px}.battlefield-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home:has(.home-settings[open])~.codex-fab{visibility:hidden}.battlefield-choice{min-height:92px;padding:4px 4px 7px;font-size:clamp(.65rem,3vw,.75rem)}.settings-toggle{min-height:62px}.settings-select{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.battlefield-ambience{display:none}}.card{container-type:inline-size;container-name:card;display:flex;flex-direction:column;justify-content:flex-end}.card-art{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;min-height:0}.card-ornament{inset:clamp(2px,2.2cqw,10px);z-index:3;border-radius:clamp(3px,4cqw,18px)}.card-body{order:1;position:static;z-index:3;flex:0 1 auto;min-height:0;max-height:46%;margin:0 clamp(4px,4.8cqw,14px) clamp(3px,2.6cqw,10px);padding:clamp(4px,3.6cqw,12px) clamp(4px,4.2cqw,14px);gap:clamp(1px,1.6cqw,6px);border-radius:clamp(3px,3.4cqw,14px);overflow:hidden}.card-head{order:2;position:static;z-index:3;flex:none;min-height:0;margin:0 clamp(4px,4.4cqw,13px) clamp(4px,4.4cqw,13px);padding:clamp(3px,3.4cqw,12px) clamp(3px,3.8cqw,13px);border-radius:clamp(3px,3.4cqw,14px)}.card-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;width:100%;font-size:clamp(6.5px,8.6cqw,13px);line-height:1.14;overflow-wrap:normal;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.card-type{font-size:clamp(6px,5.6cqw,10px);line-height:1.2}.card-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;line-clamp:6;overflow:hidden;font-size:clamp(7px,6.4cqw,12px);line-height:1.3}.card-flag{font-size:clamp(6px,7cqw,11px);padding:clamp(1px,1.6cqw,6px) clamp(3px,4cqw,14px)}.card-count{font-size:clamp(8px,9cqw,14px)}.card .card-info-button{right:clamp(3px,5.5cqw,12px);top:clamp(3px,5.5cqw,12px);width:clamp(15px,17cqw,26px);height:clamp(15px,17cqw,26px);font-size:clamp(7px,9cqw,14px)}@container card (max-width: 84px){.card-body{display:none}}@container card (max-width: 62px){.card .card-info-button{display:none}}@container card (max-width: 40px){.card-head{display:none}}@media (hover: none),(pointer: coarse){.card .card-info-button{top:clamp(3px,5cqw,12px);right:clamp(3px,5cqw,12px);width:clamp(18px,24cqw,34px);height:clamp(18px,24cqw,34px)}.card-touch-split .card-touch-action{top:clamp(3px,5cqw,12px);right:clamp(3px,5cqw,12px);width:clamp(24px,42cqw,40px);height:clamp(24px,42cqw,40px)}.card-touch-split .card-touch-action .glyph{width:56%;height:56%}}.topbar-status{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow:hidden;text-overflow:clip;line-height:1.18}.pile-label{max-width:100%}.turn-aura{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;box-shadow:inset 0 0 30px #ffd08229,inset 0 0 110px #ffb04629;animation:turn-aura-breathe 2.8s ease-in-out infinite}.game.is-my-response .turn-aura{box-shadow:inset 0 0 30px #ff9a8033,inset 0 0 110px #e2543c33;animation-duration:1.5s}@keyframes turn-aura-breathe{0%,to{opacity:.45}50%{opacity:1}}.turn-banner{position:fixed;left:50%;top:26%;z-index:68;display:flex;align-items:center;gap:14px;pointer-events:none;transform:translate(-50%,-50%);animation:turn-banner-life 2s cubic-bezier(.2,.85,.3,1) forwards}.turn-banner strong{font-family:var(--font-display);font-size:clamp(1.15rem,3.4vw,2.3rem);font-weight:900;letter-spacing:.22em;text-transform:uppercase;color:#ffeec4;text-shadow:0 0 22px rgba(255,176,70,.75),0 3px 10px rgba(0,0,0,.85);white-space:nowrap}.turn-banner-rule{width:clamp(28px,9vw,96px);height:1px;background:linear-gradient(90deg,transparent,rgba(255,216,150,.9),transparent);box-shadow:0 0 10px #ffbe64b3}@keyframes turn-banner-life{0%{opacity:0;transform:translate(-50%,-50%) scale(.86)}16%{opacity:1;transform:translate(-50%,-50%) scale(1)}72%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-58%) scale(1.04)}}.hand .card[class*=glow-]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;border-radius:inherit;background:linear-gradient(112deg,transparent 40%,rgba(255,243,214,.55) 50%,transparent 60%);background-size:280% 100%;background-repeat:no-repeat;mix-blend-mode:screen;animation:card-sheen 2.9s ease-in-out infinite}.hand .card.glow-roar:after{animation-duration:1.7s}@keyframes card-sheen{0%{background-position:165% 0;opacity:0}14%{opacity:1}46%{background-position:-75% 0;opacity:0}to{background-position:-75% 0;opacity:0}}.rail-turn.is-you{color:#ffe0a6;text-shadow:0 0 12px rgba(255,179,76,.55)}.game.is-my-turn .topbar{border-color:#ffce8473}.hand{--pop-shift: 15px;--pop-lift: -46px;--pop-scale: 1.24}.fan-slot{--lift: 0px;--shift: 0px;--pop: 1;--tilt: 1;position:relative;flex:none;transform-origin:50% 120%;--arc: max(-34px, calc((var(--k, 0) * var(--k, 0) - (var(--n, 5) - 1) * (var(--n, 5) - 1) / 4) * 1.4px));transform:translate(var(--shift),calc(var(--arc) + var(--lift))) rotate(calc(var(--k, 0) * 2.1deg * var(--tilt))) scale(var(--pop));transition:transform .2s cubic-bezier(.2,.9,.3,1.15)}.fan-slot.is-popped{--lift: var(--pop-lift);--pop: var(--pop-scale);--tilt: 0;z-index:99!important}.fan-slot:has(~.fan-slot.is-popped){--shift: calc(var(--pop-shift) * -1)}.fan-slot.is-popped~.fan-slot{--shift: var(--pop-shift)}@media (hover: hover) and (pointer: fine){.fan-slot:hover,.fan-slot:focus-within{--lift: var(--pop-lift);--pop: var(--pop-scale);--tilt: 0;z-index:99!important}.fan-slot:has(~.fan-slot:hover),.fan-slot:has(~.fan-slot:focus-within){--shift: calc(var(--pop-shift) * -1)}.fan-slot:hover~.fan-slot,.fan-slot:focus-within~.fan-slot{--shift: var(--pop-shift)}}.fan-slot.is-popped>.card,.fan-slot:hover>.card,.fan-slot:focus-within>.card{border-color:#ffe2a0e6;box-shadow:inset 0 0 0 2px #0c0805d1,0 0 0 1px #ffe2a0b3,0 18px 34px #0000009e,0 0 30px #ffbf6061}.hand .card-clickable:hover{transform:none}.hand-area,.hand-area.is-ready,.hand-area.is-roar{margin-bottom:0;z-index:19}.hand{overflow:visible;padding-bottom:2px}@media (orientation: portrait) and (max-width: 1100px),(orientation: landscape) and (max-height: 650px) and (pointer: coarse){.hand-area,.hand-area.is-ready,.hand-area.is-roar{overflow:visible}.hand{--pop-shift: 10px;--pop-lift: -26px;--pop-scale: 1.14;height:auto;max-height:none;margin-top:-50px;padding-top:54px;overflow-x:auto;overflow-y:hidden}.fan-slot{--tilt: 0;transform:translate(var(--shift),var(--lift)) scale(var(--pop))}}@media (orientation: landscape) and (max-height: 650px) and (pointer: coarse){.hand-area,.hand-area.is-ready,.hand-area.is-roar{height:auto;max-height:none}}.rail-score-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow:hidden;text-overflow:clip;line-height:1.15}@media (prefers-reduced-motion: reduce){.fan-slot{transition:none}.fan-slot.is-popped,.fan-slot:hover,.fan-slot:focus-within{--pop: 1.06}.turn-aura,.hand .card[class*=glow-]:after{animation:none}.turn-banner{animation-name:turn-banner-hold}}.hand-area{--hand-drop: 12px;--hand-idle-drop: 38px}.hand-area.is-idle{--hand-drop: var(--hand-idle-drop)}.hand-area,.hand-area.is-ready,.hand-area.is-roar{transform:translateY(var(--hand-drop));transition:transform .28s cubic-bezier(.2,.9,.3,1)}.player-panel .stable,.my-area .stable{container-type:inline-size;container-name:stable;justify-content:center;justify-content:safe center;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.player-panel .stable::-webkit-scrollbar,.my-area .stable::-webkit-scrollbar{width:0;height:0;display:none}.player-panel .stable-row,.opponents.few-foes .stable-row,.my-area .stable-row{flex:none;max-width:none;margin:0;justify-content:flex-start}.player-panel .stable-row .card{--overlap: .07;--share: calc( (92cqi - var(--stable-count, 1) * 5px) / (var(--stable-count, 1) * (1 - var(--overlap))) )}.opponents .has-compact-stable .stable-row .card-mini{--overlap: .5}.opponents .has-full-stable .card-sm{--w: max(30px, min(clamp(94px, 15vh, 136px), var(--share, 999px)))}.opponents .has-compact-stable .card-mini{--w: max(24px, min(clamp(50px, 4.4vw, 67px), var(--share, 999px)))}.my-area .has-full-stable .card-sm{--w: max(32px, min(clamp(102px, 15.8vh, 146px), var(--share, 999px)))}.opponents .has-full-stable .stable-row .card-sm+.card-sm,.my-area .stable-row .card-sm+.card-sm{margin-left:calc(var(--w) * -1 * var(--overlap))}.opponents .has-compact-stable .stable-row .card-mini+.card-mini{margin-left:calc(var(--w) * -1 * var(--overlap))}@media (max-width: 1180px){.opponents .has-full-stable .card-sm{--w: max(30px, min(clamp(82px, 14vh, 116px), var(--share, 999px)))}.my-area .has-full-stable .card-sm{--w: max(32px, min(clamp(90px, 15vh, 125px), var(--share, 999px)))}}@media (orientation: landscape) and (min-height: 651px) and (max-width: 1100px){.opponents .has-full-stable .card-sm{--w: max(30px, min(clamp(76px, 12.3vh, 104px), var(--share, 999px)))}.my-area .has-full-stable .card-sm{--w: max(32px, min(clamp(82px, 13.2vh, 113px), var(--share, 999px)))}}@media (orientation: portrait) and (max-width: 1100px){.opponents .has-full-stable .card-sm{--w: max(30px, min(clamp(79px, 21vw, 111px), var(--share, 999px)))}.opponents .has-compact-stable .card-mini{--w: max(24px, min(clamp(47px, 12.3vw, 63px), var(--share, 999px)))}.my-area .has-full-stable .card-sm{--w: max(32px, min(clamp(86px, 22vw, 120px), var(--share, 999px)))}}@media (orientation: landscape) and (max-height: 650px){.opponents .has-full-stable .card-sm{--w: max(24px, min(clamp(38px, 11.5vh, 74px), var(--share, 999px)))}.opponents .has-compact-stable .card-mini{--w: max(20px, min(clamp(30px, 9.5vh, 56px), var(--share, 999px)))}.my-area .has-full-stable .card-sm{--w: max(26px, min(clamp(40px, 12vh, 78px), var(--share, 999px)))}}@media (orientation: landscape) and (max-height: 650px) and (pointer: coarse){.game{grid-template-rows:42px minmax(0,1fr) clamp(118px,38vh,158px)}.hand-area{--hand-drop: 12px;--hand-idle-drop: 32px}.hand-area,.hand-area.is-ready,.hand-area.is-roar{height:auto;max-height:none;overflow:visible}.hand{height:auto;align-items:flex-start;gap:8px;margin-top:-50px;padding:54px 10px 0}.hand .card-sm{--w: clamp(78px, 24vh, 100px)}}@media (orientation: portrait) and (max-width: 1100px){.hand-area,.hand-area.is-ready,.hand-area.is-roar{transform:none}.hand{--hand-drop: 10px;transform:translateY(var(--hand-drop));transition:transform .28s cubic-bezier(.2,.9,.3,1)}.hand-area.is-idle .hand{--hand-drop: 30px}}@media (orientation: landscape) and (max-height: 650px) and (pointer: coarse){.card-cursor-popup{display:block;right:auto;bottom:auto;width:min(300px,calc(100vw - 24px));max-height:min(215px,calc(100dvh - 24px))}}@media (prefers-reduced-motion: reduce){.hand-area,.hand-area.is-ready,.hand-area.is-roar,.hand{transition:none}}.card{--tilt-x: 0deg;--tilt-y: 0deg;--glare-x: 50%;--glare-y: 50%;--glare-opacity: 0;transform-style:preserve-3d;perspective:1000px;will-change:transform}.card:not([data-flying]):not(.card-landing-impact){transform:perspective(800px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}.card-corner{position:absolute;width:7px;height:7px;pointer-events:none;z-index:4;opacity:.45;transition:opacity .2s ease}.card:hover .card-corner{opacity:.85}.card-holo-glare{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:6;border-radius:inherit;background:radial-gradient(circle 130px at var(--glare-x) var(--glare-y),rgba(255,255,255,.45),rgba(255,255,255,.08) 40%,transparent 80%);opacity:var(--glare-opacity);mix-blend-mode:overlay;transition:opacity .22s ease-out}.card[data-flying-to-stable]{box-shadow:0 16px 36px #000000a6,0 0 18px color-mix(in srgb,var(--card-color, #f59e42) 40%,transparent)}.card.card-landing-impact{animation:stableCardImpact .38s ease-out forwards}@keyframes stableCardImpact{0%{transform:translateY(-6px);box-shadow:0 0 16px var(--card-color, #f59e42)}60%{transform:translateY(1px)}to{transform:translateY(0);box-shadow:var(--shadow-1)}}.card-animation-tester{display:flex;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);flex-wrap:wrap}.test-play-btn{display:inline-flex;align-items:center;gap:6px}:root{--bg: #17102b;--bg-raise: #201741;--surface: #2a1f52;--surface-2: #34286a;--line: rgba(255, 255, 255, .12);--text: #fff6fb;--text-dim: #d9cfee;--text-faint: #a293c6;--ember: #ffb15c;--ember-strong: #ff8a4c;--gold: #ffd166;--teal: #6ef0d6;--danger: #ff6b8a;--ok: #7ef29c;--r-sm: 10px;--r-md: 14px;--r-lg: 22px}body{background:radial-gradient(900px 600px at 12% -10%,rgba(255,122,200,.16),transparent 60%),radial-gradient(900px 600px at 88% 110%,rgba(255,138,76,.14),transparent 60%),radial-gradient(600px 400px at 50% 50%,rgba(111,90,255,.12),transparent 70%),var(--bg)}h1,h2,h3{font-family:var(--font-display);font-weight:800;letter-spacing:0}.btn{border-radius:999px;font-family:var(--font-display);font-weight:700}.btn-primary{background:linear-gradient(135deg,var(--unicorn),var(--dragon));color:#23102a;border-color:transparent;box-shadow:0 6px 18px #ff7ac847}.btn-primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.field input,.bot-field select{border-radius:14px;background:#140c28bf;border-color:#ffffff24}.ember{background:radial-gradient(circle,#fff 0%,#ffd1f0 45%,transparent 75%)}.ember:nth-child(2n){background:radial-gradient(circle,#fff 0%,#ffd9a0 45%,transparent 75%)}.home-card,.lobby-card{border-radius:28px;border:1px solid rgba(255,255,255,.14);background:#180e2ed1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.title-un{color:var(--gold);font-size:.95rem;letter-spacing:.5em;font-family:var(--font-display);font-weight:700}.title-vs{display:flex;align-items:baseline;gap:.35em;flex-wrap:wrap}.title-dragons,.title-unicorns{font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,5.6vw,3.9rem);line-height:1;letter-spacing:-.02em;text-transform:none;-webkit-background-clip:text;background-clip:text;color:transparent}.title-dragons{background-image:linear-gradient(180deg,#ffe0b0,var(--dragon) 55%,var(--dragon-deep))}.title-unicorns{background-image:linear-gradient(180deg,#ffe0f4,var(--unicorn) 55%,var(--unicorn-deep))}.title-versus{font-family:var(--font-display);font-weight:800;font-size:clamp(1rem,2vw,1.4rem);color:var(--text-faint);font-style:italic}.tagline{font-family:var(--font-body);color:var(--text-dim);font-size:1rem}.home-factions{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:6px}.home-factions li{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:14px;font-size:.86rem;color:var(--text-dim);border:1px solid var(--line)}.home-factions .glyph{width:20px;height:20px;flex:none}.home-factions .faction-dragon{background:var(--dragon-soft);color:#ffd9b8}.home-factions .faction-unicorn{background:var(--unicorn-soft);color:#ffd6ee}.home-factions .faction-dragon .glyph{color:var(--dragon)}.home-factions .faction-unicorn .glyph{color:var(--unicorn)}.lobby-title{color:var(--gold)}.faction-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.faction-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 14px 12px;border-radius:20px;border:2px solid var(--line);background:#ffffff0a;color:var(--text);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.faction-option:hover{transform:translateY(-2px)}.faction-option .faction-emblem{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#ffffff14}.faction-option .faction-emblem .glyph{width:24px;height:24px}.faction-option .faction-copy{display:flex;flex-direction:column;gap:3px}.faction-option strong{font-family:var(--font-display);font-size:1.05rem}.faction-option small{color:var(--text-dim);font-size:.76rem;line-height:1.35}.faction-option em{font-style:normal;font-size:.7rem;color:var(--text-faint);line-height:1.3}.faction-option .faction-count{position:absolute;top:10px;right:12px;min-width:24px;padding:2px 8px;border-radius:999px;background:#ffffff1a;font-weight:800;font-size:.78rem;text-align:center}.faction-option.faction-dragon .faction-emblem{color:var(--dragon)}.faction-option.faction-unicorn .faction-emblem{color:var(--unicorn)}.faction-option.faction-dragon.is-active{border-color:var(--dragon);background:var(--dragon-soft);box-shadow:0 0 0 4px #ff8a4c2e,0 10px 26px #ff8a4c33}.faction-option.faction-unicorn.is-active{border-color:var(--unicorn);background:var(--unicorn-soft);box-shadow:0 0 0 4px #ff7ac82e,0 10px 26px #ff7ac833}.lobby-faction{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%}.lobby-faction .glyph{width:15px;height:15px}.lobby-faction.faction-dragon{background:var(--dragon-soft);color:var(--dragon)}.lobby-faction.faction-unicorn{background:var(--unicorn-soft);color:var(--unicorn)}.lobby-players li{border-radius:14px}.lobby-players li.row-dragon{border-left:3px solid var(--dragon)}.lobby-players li.row-unicorn{border-left:3px solid var(--unicorn)}.bot-row{flex-wrap:wrap}.toggle-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:16px;border:1px solid var(--line);background:#ffffff0a;cursor:pointer}.toggle-row input{width:20px;height:20px;accent-color:var(--unicorn)}.toggle-row span{display:flex;flex-direction:column}.toggle-row strong{font-family:var(--font-display)}.toggle-row small{color:var(--text-dim);font-size:.78rem}.lobby-rule{color:var(--gold);font-size:.85rem;margin:0}@media (max-width: 520px){.faction-pick{grid-template-columns:1fr}}.player-panel{border-radius:20px}.player-panel.panel-dragon{--side: var(--dragon);--side-soft: var(--dragon-soft)}.player-panel.panel-unicorn{--side: var(--unicorn);--side-soft: var(--unicorn-soft)}.player-panel.is-turn{box-shadow:0 0 0 2px var(--side),0 0 24px color-mix(in srgb,var(--side) 45%,transparent)}.avatar{border-radius:50%;display:grid;place-items:center;background:var(--side-soft, rgba(255,255,255,.1));color:var(--side, var(--text))}.avatar .glyph{width:60%;height:60%}.badge{border-radius:999px}.badge-faction{font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:.6rem}.badge-faction.faction-dragon{background:var(--dragon-soft);color:#ffcfae}.badge-faction.faction-unicorn{background:var(--unicorn-soft);color:#ffd0ea}.badge-dragons{background:#ffd1662e;color:var(--gold)}.badge-wild{background:#9fb4ff2e;color:#cdd8ff}.badge-mod{background:#6ef0d624;color:var(--teal)}.badge-mod.is-bad{background:#ff6b8a29;color:#ffb3c4}.nest-stack{position:relative}.nest-stack .card+.card{position:absolute;left:10px;top:-8px;transform:rotate(7deg)}.nest-stack .card:first-child{transform:rotate(-5deg)}.win-banner{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 10px;border-radius:50%}.win-banner .glyph{width:48px;height:48px}.win-banner.faction-dragon{background:var(--dragon-soft);color:var(--dragon);box-shadow:0 0 40px #ff8a4c73}.win-banner.faction-unicorn{background:var(--unicorn-soft);color:var(--unicorn);box-shadow:0 0 40px #ff7ac873}.win-sub{text-align:center;color:var(--text-dim);margin:0 0 8px}.modal{border-radius:24px}.type-filters button{border-radius:999px}.faction-filters button{display:inline-flex;align-items:center;gap:6px}.faction-filters button .glyph{width:14px;height:14px}.faction-filters .filter-dragon.is-active{background:var(--dragon-soft);color:#ffcfae;border-color:var(--dragon)}.faction-filters .filter-unicorn.is-active{background:var(--unicorn-soft);color:#ffd0ea;border-color:var(--unicorn)}.type-pill.faction-dragon{background:var(--dragon-soft);color:#ffcfae}.type-pill.faction-unicorn{background:var(--unicorn-soft);color:#ffd0ea}.card{--frame: #f2e7ff;--frame-deep: #7a5cff;--plate: rgba(28, 16, 54, .92);--side: var(--neutral);border-radius:clamp(8px,9cqw,18px);border:clamp(2px,2.4cqw,4px) solid var(--frame);background:linear-gradient(160deg,var(--frame) 0%,var(--frame-deep) 100%);box-shadow:0 0 0 1px #00000059,0 8px 20px #00000073;overflow:hidden;color:var(--text)}.card.faction-dragon{--side: var(--dragon);--frame: #ffd4b8;--frame-deep: #c9502a}.card.faction-unicorn{--side: var(--unicorn);--frame: #ffd6ef;--frame-deep: #c74aa3}.card.faction-neutral{--side: var(--neutral);--frame: #dfe5ff;--frame-deep: #6a7bd6}.card-art{inset:clamp(4px,5cqw,10px);border-radius:clamp(6px,6cqw,12px);overflow:hidden;background:#1a1030}.card-art img{object-fit:cover}.card-art-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000 45%,#140a288c);pointer-events:none}.card-art-placeholder{background:radial-gradient(120% 90% at 30% 20%,color-mix(in srgb,var(--side) 45%,transparent),#1a1030 75%);color:var(--side)}.card-ornament,.card-corner{display:none}.card-emblem{position:absolute;z-index:4;top:clamp(6px,7cqw,14px);left:clamp(6px,7cqw,14px);width:clamp(14px,16cqw,30px);height:clamp(14px,16cqw,30px);display:grid;place-items:center;border-radius:50%;background:var(--plate);color:var(--side);border:1px solid color-mix(in srgb,var(--side) 65%,white);box-shadow:0 2px 6px #00000073}.card-emblem .glyph{width:62%;height:62%}.card-head{background:var(--plate);border:1px solid color-mix(in srgb,var(--side) 55%,white);border-radius:999px;text-align:center;box-shadow:0 3px 8px #0006}.card-name{font-family:var(--font-display);font-weight:800;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.6)}.card-body{background:#fffafff5;color:#2b1a44;border:1px solid color-mix(in srgb,var(--side) 45%,white)}.card-type{display:inline-flex;align-items:center;gap:.35em;color:var(--side-deep, #5a3a7a);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.card-type .glyph{width:1.1em;height:1.1em}.card.faction-dragon .card-type{color:var(--dragon-deep)}.card.faction-unicorn .card-type{color:var(--unicorn-deep)}.card-text{color:#3b2a55;font-weight:600}.card-baby{--frame: #fff1c9;--frame-deep: #ffd166;border-style:dotted;border-radius:40% 40% 34% 34%/26% 26% 22% 22%}.card-baby .card-art{border-radius:40% 40% 34% 34%/26% 26% 22% 22%}.card-baby .card-head{background:#fff7e0;border-color:#f4b860}.card-baby .card-name{color:#7a4a10;text-shadow:none}.card-basic{border-style:solid}.card-basic .card-frame-deco .deco-a{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 clamp(1px,1.6cqw,3px) #ffffff59;pointer-events:none}.card-magical{border-style:double;border-width:clamp(3px,3.6cqw,6px)}.card-magical .card-frame-deco .deco{position:absolute;z-index:5;width:clamp(8px,9cqw,16px);height:clamp(8px,9cqw,16px);pointer-events:none;background:radial-gradient(circle,#fff 0 18%,transparent 20%),conic-gradient(from 0deg,transparent 0 20%,#fff 25%,transparent 30% 45%,#fff 50%,transparent 55% 70%,#fff 75%,transparent 80% 95%,#fff 100%);border-radius:50%;opacity:.9;animation:sparkle 2.4s ease-in-out infinite}.card-magical .deco-a{top:4%;left:4%}.card-magical .deco-b{top:4%;right:4%;animation-delay:.6s}.card-magical .deco-c{bottom:30%;left:3%;animation-delay:1.2s}.card-magical .deco-d{bottom:30%;right:3%;animation-delay:1.8s}@keyframes sparkle{0%,to{transform:scale(.6) rotate(0);opacity:.5}50%{transform:scale(1) rotate(45deg);opacity:1}}.card-magical.sub-pegasus .card-head,.card-magical.sub-wyvern .card-head,.card-magical.sub-hydra .card-head{border-style:dashed}.card-upgrade{--frame: #d8ffe4;--frame-deep: #2f9e63;border-radius:clamp(8px,9cqw,18px) clamp(8px,9cqw,18px) 50% 50% / clamp(8px,9cqw,18px) clamp(8px,9cqw,18px) 18% 18%}.card-upgrade .card-art{border-radius:clamp(6px,6cqw,12px) clamp(6px,6cqw,12px) 45% 45% / clamp(6px,6cqw,12px) clamp(6px,6cqw,12px) 16% 16%}.card-upgrade .card-head{background:linear-gradient(180deg,#2f9e63,#1c6b42);border-color:#b6ffd1}.card-upgrade .card-type{color:#1c6b42}.card-upgrade .card-frame-deco .deco-a,.card-upgrade .card-frame-deco .deco-b{position:absolute;z-index:5;top:3%;width:clamp(5px,6cqw,10px);height:clamp(5px,6cqw,10px);border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#ffd166 60%,#a06a00);box-shadow:0 1px 3px #00000080}.card-upgrade .deco-a{left:3%}.card-upgrade .deco-b{right:3%}.card-downgrade{--frame: #e9d3ff;--frame-deep: #5a2d8a;border-style:dashed;border-color:#b78cff}.card-downgrade .card-art{filter:saturate(.85)}.card-downgrade .card-frame-deco .deco-a{position:absolute;z-index:5;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(45deg,transparent 0 8px,rgba(90,45,138,.35) 8px 10px);mask:linear-gradient(#000,transparent 12%,transparent 88%,#000);-webkit-mask:linear-gradient(#000,transparent 12%,transparent 88%,#000)}.card-downgrade .card-head{background:linear-gradient(180deg,#5a2d8a,#35174f);border-color:#d9b8ff}.card-downgrade .card-type{color:#5a2d8a}.card-magic{--frame: #fff3d6;--frame-deep: #c98d3a;border-style:solid}.card-magic .card-body{background:#fff8e6;border-color:#e3bd7a;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px #e3bd7a}.card-magic .card-head{background:linear-gradient(180deg,#8a5a1c,#5a3a0c);border-color:#ffd9a0;border-radius:6px}.card-magic .card-type{color:#8a5a1c}.card-magic .card-frame-deco .deco-a,.card-magic .card-frame-deco .deco-b{position:absolute;z-index:5;left:6%;right:6%;height:clamp(4px,5cqw,9px);pointer-events:none;background:radial-gradient(circle at 50% 0,transparent 0 40%,#c98d3a 42% 55%,transparent 57%) 0 0 / clamp(8px,9cqw,16px) 100% repeat-x;opacity:.85}.card-magic .deco-a{top:1.5%}.card-magic .deco-b{bottom:1.5%;transform:scaleY(-1)}.card-instant{--frame: #ffe36b;--frame-deep: #ff4d6d;border-style:solid;border-color:#ffe36b;border-radius:clamp(4px,4cqw,8px);box-shadow:0 0 0 clamp(2px,2cqw,4px) #ff4d6d,0 0 18px #ff4d6d8c,0 8px 20px #00000073}.card-instant .card-art{border-radius:clamp(3px,3cqw,6px)}.card-instant .card-frame-deco .deco-a{position:absolute;z-index:5;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-conic-gradient(from 0deg,#ffe36b 0 4deg,transparent 4deg 22deg);mask:radial-gradient(circle,transparent 62%,#000 63%);-webkit-mask:radial-gradient(circle,transparent 62%,#000 63%);opacity:.35}.card-instant .card-head{background:linear-gradient(180deg,#ff4d6d,#a3153a);border-color:#ffe36b;transform:rotate(-2deg)}.card-instant .card-type{color:#a3153a}.card-instant.faction-unicorn .card-head{background:linear-gradient(180deg,#ff5fa8,#8a1d66)}.card-instant.faction-unicorn{box-shadow:0 0 0 clamp(2px,2cqw,4px) #ff5fa8,0 0 18px #ff5fa88c,0 8px 20px #00000073}.card-wild .card-art img{filter:saturate(.55) contrast(.95)}.card-wild .card-emblem{opacity:.55}.card-flag{border-radius:999px;font-family:var(--font-display);font-weight:800}.flag-wild{background:#46507a;color:#dfe6ff}.flag-tamed{background:#ffd166;color:#5a3a00}.glow-play{box-shadow:0 0 0 3px #7ef29c,0 0 22px #7ef29c99}.glow-roar{box-shadow:0 0 0 3px #ff4d6d,0 0 22px #ff4d6db3}.glow-pick{box-shadow:0 0 0 3px var(--gold),0 0 22px #ffd166b3}.card-back{border-color:#ffd6ef;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.12),transparent 40%),repeating-conic-gradient(from 0deg,rgba(255,255,255,.06) 0 12deg,transparent 12deg 24deg),linear-gradient(135deg,#ff7ac8,#7a5cff 50%,#ff8a4c)}.card-back:before{top:6%;right:6%;bottom:6%;left:6%;border:2px dashed rgba(255,255,255,.55);border-radius:12px;box-shadow:none}.card-back:after{display:none}.back-emblem-dragon{color:var(--dragon)}.back-emblem-unicorn{color:var(--unicorn)}.card-details-copy h2{font-family:var(--font-display);color:#fff}.card-rules-text{color:#f5eefc}.lore-panel .lore-body{display:grid;gap:10px;padding:2px 14px 16px}.lore-panel .lore-body .eyebrow{margin-top:2px}.lore-panel .lore-body>p{margin:0;color:var(--text-dim);font-size:.86rem;line-height:1.62}.lore-panel .lore-body>p:first-of-type:first-letter{float:left;margin:4px 6px 0 0;font-family:var(--font-display);font-size:2.3em;line-height:.8;color:var(--gold)}.lore-panel .lore-nest{padding-top:8px;border-top:1px dashed var(--line)}.lore-panel .lore-nest strong{color:var(--gold)}.lore-factions{display:grid;gap:8px;margin-top:2px}.lore-faction{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:12px}.lore-faction.faction-dragon{background:var(--dragon-soft)}.lore-faction.faction-unicorn{background:var(--unicorn-soft)}.lore-faction strong{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:1rem}.lore-faction.faction-dragon strong{color:#ffd9b8}.lore-faction.faction-unicorn strong{color:#ffd6ee}.lore-faction strong .glyph{width:18px;height:18px}.lore-faction.faction-dragon .glyph{color:var(--dragon)}.lore-faction.faction-unicorn .glyph{color:var(--unicorn)}.lore-motto{color:var(--gold);font-family:Georgia,serif;font-style:italic;font-size:.8rem}.lore-faction p{margin:0;color:var(--text-dim);font-size:.8rem;line-height:1.55}.lore-passive{color:var(--text-faint);font-style:normal;font-size:.72rem;line-height:1.4}.faction-option .faction-motto{color:var(--gold);font-family:Georgia,serif;font-style:italic;font-size:.72rem;line-height:1.3}.lobby-lore{border:1px solid var(--line);border-radius:12px;background:#140d2673}.lobby-lore summary{padding:9px 12px;color:var(--gold);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;list-style:none}.lobby-lore summary::-webkit-details-marker{display:none}.lobby-lore summary:before{content:"›";display:inline-block;margin-right:8px;transition:transform .18s ease}.lobby-lore[open] summary:before{transform:rotate(90deg)}.lobby-lore .lore-faction{margin:0 8px 8px}.battlefield-name{display:grid;gap:2px}.battlefield-tagline{color:var(--text-faint);font-size:.58rem;font-weight:600;line-height:1.25}.battlefield-option input:checked+.battlefield-choice .battlefield-tagline{color:var(--text-dim)}.battlefield-lore{margin:9px 2px 0;color:var(--text-dim);font-family:Georgia,serif;font-style:italic;font-size:.78rem;line-height:1.5}.codex-lore{margin-top:10px;max-width:760px}.codex-lore summary{min-height:46px}.codex-lore .lore-factions{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}html[data-effects=reduced] .lore-panel .lore-body>p:first-of-type:first-letter{float:none;font-size:inherit;color:inherit;margin:0}.scene-video{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;overflow:hidden;pointer-events:none}.scene-video video{display:block;width:100%;height:100%;object-fit:cover}.scene-video-scrim{position:absolute;top:0;right:0;bottom:0;left:0}.game .scene-video-scrim{background:linear-gradient(180deg,#0b071829,#0d091c57)}.home .scene-video-scrim,.lobby .scene-video-scrim{background:linear-gradient(90deg,#0c081ad6,#100b206b 46%,#180c2480),linear-gradient(0deg,rgba(17,11,34,.78),transparent 52%)}.lobby .scene-video-scrim{background:linear-gradient(180deg,#0c081a9e,#100b20b8)}html[data-effects=reduced] .scene-video{display:none}@media (prefers-reduced-motion: reduce){.scene-video{display:none}}.battlefield-option:first-child{grid-column:1 / -1}.battlefield-option:first-child .battlefield-choice{flex-direction:row;align-items:center;text-align:left;min-height:0}.battlefield-option:first-child .battlefield-thumb{width:42%;flex:none}:root{--bg: #130d24;--bg-raise: #1c1438;--surface: #261c4a;--surface-2: #322663;--surface-glass: rgba(30, 20, 58, .86);--line: rgba(255, 226, 180, .16);--line-strong: rgba(255, 214, 140, .42);--scrim: rgba(12, 7, 26, .78);--text: #fff4e2;--text-dim: #d9cbea;--text-faint: #a897c7;--ember: #ffb15c;--ember-strong: #ff8a4c;--gold: #ffd166;--teal: #6ee7d3;--danger: #ff5f7e;--ok: #8fe3a1;--neutral: #a6b8ff;--scroll-track: rgba(20, 14, 40, .84);--scroll-thumb: #5a4590;--scroll-thumb-hover: #8a6fd0;--shadow-1: 0 5px 16px rgba(8, 4, 24, .5);--shadow-2: 0 22px 70px rgba(8, 4, 24, .66)}body{background:radial-gradient(900px 600px at 12% -10%,rgba(110,231,211,.12),transparent 60%),radial-gradient(900px 600px at 88% 110%,rgba(255,138,76,.14),transparent 60%),radial-gradient(700px 500px at 50% 40%,rgba(255,122,200,.08),transparent 70%),linear-gradient(180deg,#1a1030,#120c22 70%)}.btn{border-color:var(--line);background:linear-gradient(180deg,#403070f0,#261c4af5);box-shadow:inset 0 1px #fff0d224,0 4px 14px #08041859;color:var(--text)}.btn:hover:not(:disabled){background:linear-gradient(180deg,#5a4590,#3a2c66);border-color:#6ee7d380;box-shadow:inset 0 1px #fff0d22e,0 6px 18px #6ee7d32e}.btn-primary{color:#2a1408;border-color:#ffe2a0cc;background:linear-gradient(180deg,#ffe9b0,#ffcf5c 42%,#ff8a4c);box-shadow:inset 0 1px #fffc,0 0 0 1px #5a280a73,0 8px 24px #ffa05052}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#fff1c8,#ffd97a 42%,#ff9a5c);filter:none;transform:translateY(-1px)}.btn-ghost{background:transparent;box-shadow:none}.btn-ghost:hover:not(:disabled){background:#ffe2b414;border-color:transparent;box-shadow:none}.btn:focus-visible,.icon-button:focus-visible,.card-clickable:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.home-card,.lobby-card{border:1px solid var(--line-strong);border-radius:28px;background:linear-gradient(180deg,rgba(255,240,210,.06),transparent 30%),radial-gradient(circle at 85% 0%,rgba(255,209,102,.14),transparent 42%),linear-gradient(150deg,#30225aeb,#181030f0);box-shadow:inset 0 1px #fff0d229,0 28px 90px #080418a8}.home-settings,.lore-panel,.lobby-lore{border-color:var(--line);background:#1810309e}.home-settings[open],.lore-panel[open]{border-color:var(--line-strong);background:#181030d1}.settings-summary-icon{border-color:var(--line-strong);background:#ffd1661a;color:var(--gold)}.field input,.bot-field select,.code-input{background:#120c24c7;border-color:var(--line);color:var(--text)}.field input:focus,.bot-field select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #6ee7d338;outline:none}.topbar,.hand-area,.player-panel,.host-tools-menu,.modal,.codex,.toast{border-color:var(--line);background-color:var(--surface-glass)}.modal{background:linear-gradient(155deg,#2c2050,#150e2a);border-color:var(--line-strong)}.codex{background:linear-gradient(160deg,#221840,#140d28)}.player-panel.is-me{border-color:#ffd16680}h1,h2,h3{color:#fff1cf}.eyebrow,.title-un{color:var(--gold);text-shadow:0 0 18px rgba(255,209,102,.35)}.tagline{color:#ead9ff}.home-factions .faction-dragon{background:#ff8a4c29;border-color:#ffaa784d}.home-factions .faction-unicorn{background:#ff7ac829;border-color:#ffa0dc4d}.faction-option{border-color:var(--line);background:#18103099}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}:root{--font-display: "Baloo 2", "Nunito", system-ui, sans-serif}h1,h2,h3,.lobby-title,.room-code-value,.card-details-copy h2,.codex-head h1{font-family:var(--font-display);letter-spacing:0}.room-code-value{letter-spacing:.18em}:root{--llama: #62c6ff;--llama-deep: #1f6fa8;--llama-soft: rgba(98, 198, 255, .18)}.home-factions .faction-llama{background:#62c6ff29;border-color:#8cd2ff4d;color:#d6efff}.home-factions .faction-llama .glyph{color:var(--llama)}.faction-pick{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 640px){.faction-pick{grid-template-columns:1fr}}.faction-option.faction-llama .faction-emblem{color:var(--llama)}.faction-option.faction-llama.is-active{border-color:var(--llama);background:var(--llama-soft);box-shadow:0 0 0 4px #62c6ff2e,0 10px 26px #62c6ff33}.lobby-faction.faction-llama{background:var(--llama-soft);color:var(--llama)}.lobby-players li.row-llama{border-left:3px solid var(--llama)}.player-panel.panel-llama{--side: var(--llama);--side-soft: var(--llama-soft)}.badge-faction.faction-llama{background:var(--llama-soft);color:#d6efff}.win-banner.faction-llama{background:var(--llama-soft);color:var(--llama);box-shadow:0 0 40px #62c6ff73}.faction-filters .filter-llama.is-active{background:var(--llama-soft);color:#d6efff;border-color:var(--llama)}.type-pill.faction-llama{background:var(--llama-soft);color:#d6efff}.card.faction-llama{--side: var(--llama);--frame: #d6efff;--frame-deep: #2a7fb8}.card.faction-llama .card-type{color:var(--llama-deep)}.card-magical.sub-alpaca .card-head{border-style:dashed}.card-instant.faction-llama .card-head{background:linear-gradient(180deg,#62c6ff,#1f6fa8)}.card-instant.faction-llama{box-shadow:0 0 0 clamp(2px,2cqw,4px) #62c6ff,0 0 18px #62c6ff8c,0 8px 20px #00000059}.back-emblem-llama{color:var(--llama)}.lore-faction.faction-llama{background:var(--llama-soft)}.lore-faction.faction-llama strong{color:#d6efff}.lore-faction.faction-llama .glyph{color:var(--llama)}.lore-factions{grid-template-columns:1fr}.game-board:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(13,7,30,.58),rgba(13,7,30,.16) 18%,transparent 34%),linear-gradient(0deg,rgba(13,7,30,.56),rgba(13,7,30,.14) 17%,transparent 33%)}.opponents .player-panel,.opponents.few-foes .player-panel,.my-area .player-panel{border:0;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.opponents .player-panel.is-turn{background:radial-gradient(72% 116% at 50% 0%,rgba(255,198,108,.2),transparent 68%);box-shadow:none}.my-area .player-panel.is-turn{background:radial-gradient(72% 116% at 50% 100%,rgba(255,198,108,.22),transparent 68%);box-shadow:none}.opponents .player-head,.opponents.few-foes .player-head,.my-area .player-head{border:0;border-radius:0;padding:2px 26px 2px 2px;background:radial-gradient(118% 168% at 8% 50%,rgba(11,6,26,.78),rgba(11,6,26,.36) 46%,transparent 74%);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.opponents .player-head .player-name,.my-area .player-head .player-name{color:#fff4de;font-weight:800;text-shadow:0 1px 4px rgba(0,0,0,.95),0 0 16px rgba(0,0,0,.7)}.opponents .player-head .badge,.my-area .player-head .badge{border:1px solid rgba(255,236,198,.2);box-shadow:0 2px 6px #08041680}.opponents .player-mods,.my-area .player-mods{filter:drop-shadow(0 2px 5px rgba(8,4,22,.75))}.stable-empty{color:#e7d9be}.avatar{border-color:color-mix(in srgb,var(--side, var(--gold)) 60%,#fff2d2);background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.42),transparent 48%),linear-gradient(160deg,color-mix(in srgb,var(--side, var(--gold)) 52%,#2a1a52),#1a1038 78%);color:color-mix(in srgb,var(--side, var(--gold)) 50%,#ffffff);filter:none;box-shadow:inset 0 1px #ffffff4d,0 3px 10px #0804168c}.avatar-dot{filter:none;border-color:#150c30}.arena-piles{gap:10px}.pile-label{color:#f2e6cb;font-weight:800;letter-spacing:.07em;text-transform:uppercase;text-shadow:0 1px 4px rgba(0,0,0,.95)}.pile-empty{border:1px dashed rgba(255,226,180,.42);background:#120b288c;color:var(--text-dim)}.nest-count{border-color:#fff0c8e6;background:linear-gradient(180deg,#ffe3a6,#dd9530);color:#3d2005;box-shadow:0 3px 10px #08041699}.topbar{min-height:54px;padding:5px 8px;border:1px solid var(--line-strong);border-radius:999px;background:linear-gradient(180deg,rgba(255,240,210,.1),transparent 44%),linear-gradient(180deg,#342660d1,#1a1136e0);box-shadow:inset 0 1px #fff0d233,0 10px 30px #08041873;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-status{font-family:var(--font-display);font-weight:700;color:#f7edda;text-shadow:0 1px 3px rgba(8,4,22,.8)}.topbar-status.is-you{color:var(--gold);text-shadow:0 0 18px rgba(255,209,102,.45),0 1px 3px rgba(8,4,22,.8)}.icon-button{border-color:var(--line-strong);background:linear-gradient(180deg,#423174d1,#221844e0);color:#ffe6b8;box-shadow:inset 0 1px #fff0d229}.icon-button:hover{color:#2a1408;border-color:#ffe2a0d9;background:linear-gradient(180deg,#ffe9b0,#ffbe63)}.turn-tracker{gap:0;padding:3px 12px;border:1px solid var(--line);border-radius:999px;background:#100a2280}.turn-tracker span{gap:6px;color:var(--text-faint)}.turn-tracker span:not(:last-child):after{width:16px;height:2px;margin:0 5px;border-radius:2px;background:#ffe2b42e}.turn-tracker i{width:11px;height:11px;border:0;border-radius:50%;background:#ffe2b42e;box-shadow:inset 0 0 0 1px #ffe2b44d}.turn-tracker b{font-size:.6rem;font-weight:800;letter-spacing:.1em}.turn-tracker .is-done{color:var(--teal)}.turn-tracker .is-done i{background:radial-gradient(circle at 34% 30%,#eafff9,var(--teal) 68%);box-shadow:0 0 9px #6ee7d38c}.turn-tracker .is-done:after{background:#6ee7d373}.turn-tracker .is-current{color:var(--gold)}.turn-tracker .is-current i{width:15px;height:15px;border:0;background:radial-gradient(circle at 34% 30%,#fff7dc,var(--gold) 62%,#d98b2c);box-shadow:0 0 16px #ffd166bf}.side-rail{gap:10px;padding:8px 4px}.rail-score{--score-tint: var(--gold);width:100%;display:flex;flex-direction:column;align-items:center;gap:4px;padding:2px 0;border:0;background:none}.rail-score.score-dragon{--score-tint: var(--dragon)}.rail-score.score-unicorn{--score-tint: var(--unicorn)}.rail-score.score-llama{--score-tint: var(--llama)}.rail-score-name{color:#f5ead0;font-size:.58rem;letter-spacing:.12em;text-shadow:0 1px 4px rgba(0,0,0,.95)}.rail-score strong{font-size:clamp(1.8rem,2.9vw,2.6rem);color:#fff6e4;text-shadow:0 2px 6px rgba(0,0,0,.95),0 0 26px color-mix(in srgb,var(--score-tint) 75%,transparent)}.rail-score.is-turn strong{color:#fffaf0}.rail-score-goal{color:#ded0b4;text-shadow:0 1px 4px rgba(0,0,0,.95)}.rail-pips{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;max-width:100%}.rail-pips i{flex:none;width:8px;height:8px;border-radius:50%;background:#fff4e224;box-shadow:inset 0 0 0 1px #fff4e257}.rail-pips i.is-lit{background:radial-gradient(circle at 34% 30%,#ffffff,var(--score-tint) 72%);box-shadow:0 0 9px color-mix(in srgb,var(--score-tint) 78%,transparent)}.rail-turn{color:#f2e6cb;font-size:.58rem;letter-spacing:.12em;text-shadow:0 1px 4px rgba(0,0,0,.95)}.rail-turn.is-you{color:var(--gold)}@property --dial-progress{syntax: "<number>"; inherits: true; initial-value: 1;}.turn-dial{--dial-size: clamp(104px, 8.8vw, 132px);--ring-w: 9px;--dial-gap: 8px;--dial-tint: 255, 209, 102;position:relative;width:var(--dial-size);aspect-ratio:1;display:grid;place-items:center;transition:--dial-progress .28s linear}.turn-dial.is-warning{--dial-tint: 255, 163, 84}.turn-dial.is-urgent{--dial-tint: 255, 96, 122}.dial-track,.dial-sweep,.dial-notches{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;-webkit-mask:radial-gradient(closest-side,transparent calc(100% - var(--ring-w)),#000 calc(100% - var(--ring-w)));mask:radial-gradient(closest-side,transparent calc(100% - var(--ring-w)),#000 calc(100% - var(--ring-w)))}.dial-track{background:#0e0822b3;box-shadow:inset 0 0 0 1px #fff0d229}.dial-sweep{background:conic-gradient(rgba(var(--dial-tint),.38),rgb(var(--dial-tint)) calc(var(--dial-progress) * 360deg),transparent 0)}.dial-notches{background:repeating-conic-gradient(from -1.4deg,rgba(255,240,210,.45) 0 2.8deg,transparent 2.8deg 30deg);-webkit-mask:radial-gradient(closest-side,transparent calc(100% - var(--ring-w) - 7px),#000 calc(100% - var(--ring-w) - 7px),#000 calc(100% - var(--ring-w) - 3px),transparent calc(100% - var(--ring-w) - 3px));mask:radial-gradient(closest-side,transparent calc(100% - var(--ring-w) - 7px),#000 calc(100% - var(--ring-w) - 7px),#000 calc(100% - var(--ring-w) - 3px),transparent calc(100% - var(--ring-w) - 3px))}.dial-clock{position:absolute;z-index:3;bottom:-7px;left:50%;transform:translate(-50%);min-width:32px;padding:1px 8px 2px;border:1px solid rgba(var(--dial-tint),.85);border-radius:999px;background:linear-gradient(180deg,#2e2058fa,#130b2cfa);color:rgb(var(--dial-tint));font-family:var(--font-display);font-weight:900;font-size:.76rem;line-height:1.3;font-variant-numeric:tabular-nums;text-align:center;box-shadow:0 3px 10px #080418a6}.coin{--coin-glow: 255, 190, 100;position:relative;z-index:2;width:calc(100% - (var(--ring-w) + var(--dial-gap)) * 2);aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px;border:0;border-radius:50%;cursor:pointer;color:#4a2708;text-align:center;background:radial-gradient(circle at 33% 26%,rgba(255,255,255,.62),transparent 46%),conic-gradient(from 212deg,#e5a441,#ffeab6 13%,#dd9a3a,#fff3d4,#d99435,#ffe7b0,#e5a441 93%,#e5a441);box-shadow:inset 0 0 0 3px #fff0c8eb,inset 0 0 0 5px #9658188c,inset 0 -8px 16px #7a420c61,inset 0 8px 14px #ffffff6b,0 7px 20px #0a051c8c;transition:transform .18s ease,filter .18s ease}.coin strong{font-family:var(--font-display);font-weight:900;font-size:clamp(.82rem,1.1vw,1.06rem);letter-spacing:.05em;line-height:1}.coin em{font-style:normal;font-size:.5rem;font-weight:800;letter-spacing:.04em;line-height:1.15;text-transform:uppercase;opacity:.8}.coin:not(.coin-idle):hover{transform:scale(1.05)}.coin:not(.coin-idle):active{transform:scale(.97)}.coin:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.coin-draw{animation:coin-breathe 2.4s ease-in-out infinite alternate}.coin-pass{--coin-glow: 255, 112, 142;color:#58101f;background:radial-gradient(circle at 33% 26%,rgba(255,255,255,.6),transparent 46%),conic-gradient(from 212deg,#ef6f8e,#ffd3de 13%,#e05a7c,#ffe2ea,#db5074,#ffcfdc,#ef6f8e 93%,#ef6f8e);box-shadow:inset 0 0 0 3px #ffe4eceb,inset 0 0 0 5px #8c1e3a80,inset 0 -8px 16px #78142e59,inset 0 8px 14px #ffffff73,0 7px 20px #0a051c8c;animation:coin-breathe 1.35s ease-in-out infinite alternate}.coin-idle{cursor:default;color:#efe4ff;background:radial-gradient(circle at 33% 26%,rgba(255,255,255,.24),transparent 46%),conic-gradient(from 212deg,#443474,#6d5aa8 14%,#3b2c66,#7c68bc,#392a63,#6a57a6,#443474 94%,#443474);box-shadow:inset 0 0 0 3px #e2d4ff73,inset 0 0 0 5px #180e3099,inset 0 -8px 16px #0c062080,inset 0 8px 14px #ffffff29,0 6px 16px #0a051c80}.coin-idle strong{font-size:clamp(1.2rem,1.8vw,1.7rem);color:var(--gold)}.coin-idle em{opacity:.68}.coin-idle.is-you{box-shadow:inset 0 0 0 3px #ffe2a0bf,inset 0 0 0 5px #180e3099,inset 0 -8px 16px #0c062080,inset 0 8px 14px #ffffff2e,0 0 20px #ffc86e4d,0 6px 16px #0a051c80}@keyframes coin-breathe{0%{filter:brightness(1)}to{filter:brightness(1.13) drop-shadow(0 0 12px rgba(var(--coin-glow),.5))}}.turn-dial.is-urgent .dial-sweep{animation:dial-flare .85s ease-in-out infinite alternate}@keyframes dial-flare{0%{filter:none}to{filter:drop-shadow(0 0 7px rgba(var(--dial-tint),.85))}}.card-back{--back-ink: #ffe7b4;--back-core: #4a3690;--back-mid: #2a1d5c;--back-edge: #170f36;border:0;background:radial-gradient(circle at 50% 43%,var(--back-core),var(--back-mid) 46%,var(--back-edge) 100%);box-shadow:inset 0 0 0 clamp(2px,2.4cqw,4px) var(--back-ink),inset 0 0 0 clamp(3px,3.4cqw,6px) #7a5cc0e6,0 8px 20px #08041880}.card-back:before,.card-back:after{display:none}.card-back.back-dragon{--back-ink: #ffd9b0;--back-core: #8a4423;--back-mid: #4a2411;--back-edge: #23110a}.card-back.back-unicorn{--back-ink: #ffd6ef;--back-core: #8a2f74;--back-mid: #4e1846;--back-edge: #250f28}.card-back.back-llama{--back-ink: #d6efff;--back-core: #1f6fa8;--back-mid: #123f66;--back-edge: #0b2136}.card-back-frame{position:relative;display:block}.card-back-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.back-frame-outer{fill:none;stroke:var(--back-ink);stroke-width:1.3;opacity:.8}.back-frame-inner{fill:none;stroke:var(--back-ink);stroke-width:.7;stroke-dasharray:3 2.6;opacity:.5}.back-rays path{fill:var(--back-ink);opacity:.2}.back-halo{fill:none;stroke:var(--back-ink);stroke-width:1;opacity:.55}.back-halo-thin{fill:none;stroke:var(--back-ink);stroke-width:.6;stroke-dasharray:1.6 3.4;opacity:.45}.back-sparks path{fill:#fff;opacity:.78}.back-rule path{fill:var(--back-ink);stroke:var(--back-ink);stroke-width:.6;opacity:.45}.back-wordmark{fill:var(--back-ink);font-family:var(--font-display);font-size:6.4px;font-weight:800;letter-spacing:1.6px;opacity:.78}.card-back-seal{position:absolute;top:42.9%;left:50%;z-index:1;width:42%;aspect-ratio:1;padding:7%;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 40% 32%,#ffffff29,#0a061af0 62%);box-shadow:inset 0 0 0 1.5px var(--back-ink),0 0 16px #00000080;transform:translate(-50%,-50%)}.card-back-seal .glyph{width:100%;height:100%}.card-back-seal.is-trio{grid-template-columns:1fr 1fr;gap:3%;padding:10%}.card-back-seal.is-trio .back-emblem-dragon{grid-column:span 2;width:48%;justify-self:center}.back-emblem-dragon{color:#ff9d63}.back-emblem-unicorn{color:#ff8fd0}.back-emblem-llama{color:#7ccfff}@container card (max-width: 74px){.back-wordmark,.back-rule,.back-frame-inner{display:none}}@container card (max-width: 46px){.back-sparks,.back-halo-thin{display:none}.card-back-seal{width:52%;padding:12%}}@container card (max-width: 74px){.pile-empty span{display:none}}.nest-stack .card+.card{left:30%;top:-11%}@media (orientation: landscape) and (max-height: 650px){.turn-dial{--dial-size: 76px;--ring-w: 6px;--dial-gap: 4px}.dial-notches{display:none}.dial-clock{bottom:-6px;min-width:26px;padding:0 6px 1px;font-size:.62rem}.coin strong{font-size:.58rem;letter-spacing:.02em}.coin em{display:none}.coin-idle strong{font-size:.95rem}.side-rail{gap:5px;padding:5px 3px}.rail-score{gap:2px}.rail-score strong{font-size:1.15rem}.rail-score-name{font-size:.44rem;letter-spacing:.06em}.rail-pips{gap:2px}.rail-pips i{width:5px;height:5px}.rail-turn{font-size:.44rem;letter-spacing:.06em}.topbar{min-height:44px}.turn-tracker{padding:2px 6px}.turn-tracker i{width:8px;height:8px}.turn-tracker .is-current i{width:11px;height:11px}.turn-tracker span:not(:last-child):after{width:8px;margin:0 3px}.opponents .player-head,.opponents.few-foes .player-head,.my-area .player-head{padding:2px 14px 2px 2px}.arena-piles{gap:6px}.arena-piles .card-sm{--w: clamp(38px, 11vh, 54px)}}@media (orientation: portrait) and (max-width: 1100px){.rail-pips{gap:3px}.rail-pips i{width:6px;height:6px}.rail-score strong{font-size:1.4rem}.side-rail{border:1px solid var(--line-strong);border-radius:18px;background:linear-gradient(180deg,rgba(255,240,210,.1),transparent 44%),linear-gradient(180deg,#342660d1,#1a1136e0);box-shadow:inset 0 1px #fff0d22e,0 9px 24px #0804186b}.rail-score{border:0;background:none}.opponents .player-panel,.opponents.few-foes .player-panel,.my-area .player-panel{border:0;border-radius:20px;background:linear-gradient(180deg,#0d071e85,#0d071e33)}.opponents .player-panel.is-turn,.opponents.few-foes .player-panel.is-turn{background:radial-gradient(78% 62% at 50% 0%,rgba(255,198,108,.24),transparent 72%),linear-gradient(180deg,#0d071e85,#0d071e33)}.my-area .player-panel.is-turn{background:radial-gradient(78% 62% at 50% 100%,rgba(255,198,108,.24),transparent 72%),linear-gradient(180deg,#0d071e85,#0d071e33)}.table-center{border-top:0;border-bottom:0;background:linear-gradient(180deg,transparent,rgba(13,7,30,.36) 26%,rgba(13,7,30,.36) 74%,transparent)}}@media (prefers-reduced-motion: reduce){.coin-draw,.coin-pass,.turn-dial.is-urgent .dial-sweep{animation:none}.turn-dial{transition:none}}.foe-hand{--foe-card: clamp(42px, 6.4vh, 64px);--foe-sink: .3;--foe-arc: 2.4px;position:absolute;top:calc(-1 * var(--foe-card) * 1.4 * var(--foe-sink));right:12px;z-index:3;display:flex;justify-content:flex-end;max-width:calc(100% - 24px);pointer-events:none}.opponents .player-panel .foe-hand .card{--w: var(--foe-card)}.foe-slot{position:relative;flex:none;transform-origin:50% -30%;--arc: min(26px, calc(((var(--n, 5) - 1) * (var(--n, 5) - 1) / 4 - var(--k, 0) * var(--k, 0)) * var(--foe-arc)));transform:translateY(var(--arc)) rotate(calc(var(--k, 0) * -3deg))}.foe-slot+.foe-slot{margin-left:calc(var(--foe-card) * -.46)}.opponents .player-panel:only-child .foe-hand{right:auto;left:50%;max-width:72%;justify-content:center;transform:translate(-50%)}.foe-hand .card-back{box-shadow:inset 0 0 0 clamp(2px,2.4cqw,4px) var(--back-ink),inset 0 0 0 clamp(3px,3.4cqw,6px) #7a5cc0e6,0 5px 12px #08041899;filter:brightness(.88) saturate(.9)}.foe-hand.is-revealed{pointer-events:auto}.foe-hand.is-revealed .card{box-shadow:0 0 0 2px var(--gold),0 5px 14px #0804188c}.player-panel.is-turn .foe-hand{--foe-sink: .18}.has-compact-stable .foe-hand{--foe-card: clamp(28px, 4.2vh, 44px);--foe-arc: 1.7px}@media (max-width: 1180px){.foe-hand{--foe-card: clamp(36px, 5.4vh, 54px)}}@media (orientation: landscape) and (max-height: 650px){.foe-hand{--foe-card: clamp(26px, 7vh, 44px);--foe-sink: .24;--foe-arc: 1.2px}.player-panel.is-turn .foe-hand{--foe-sink: .14}}@media (orientation: portrait) and (max-width: 1100px){.foe-hand,.opponents .player-panel:only-child .foe-hand{--foe-card: clamp(34px, 10vw, 54px);--foe-sink: .08;right:12px;left:auto;max-width:calc(100% - 24px);justify-content:flex-end;transform:none}.foe-slot+.foe-slot{margin-left:calc(var(--foe-card) * -.62)}.opponents .player-head,.opponents.few-foes .player-head{max-width:60%}.opponents .player-head .badge-faction{display:none}}@media (hover: hover) and (pointer: fine){html,body{cursor:url(/cursors/dragon-default.svg) 3 3,default}html body :is(a[href],button:not(:disabled),summary,select:not(:disabled),[role=button]:not([aria-disabled=true]),[role=link]:not([aria-disabled=true]),[role=option]:not([aria-disabled=true]),[role=tab]:not([aria-disabled=true]),[role=menuitem]:not([aria-disabled=true]),[tabindex]:not([tabindex="-1"]):not([aria-disabled=true]),.card-clickable,.is-pickable,.pile-empty,.room-code,.animal-option){cursor:url(/cursors/dragon-pointer.svg) 3 3,pointer}html body :is(input:not(:disabled),textarea:not(:disabled),[contenteditable=true]){cursor:url(/cursors/dragon-text.svg) 16 16,text}html body :is(a[href],button:not(:disabled),summary,[role=button]:not([aria-disabled=true]),[role=link]:not([aria-disabled=true]),[role=option]:not([aria-disabled=true]),[role=tab]:not([aria-disabled=true]),[role=menuitem]:not([aria-disabled=true]),[tabindex]:not([tabindex="-1"]):not([aria-disabled=true]),.card-clickable,.is-pickable,.pile-empty,.room-code,.animal-option):active{cursor:url(/cursors/dragon-active.svg) 3 3,pointer}html body :is(:disabled,[aria-disabled=true]){cursor:url(/cursors/dragon-blocked.svg) 16 16,not-allowed}}
