:root{--bg: #07080d;--bg-2: #0c0f17;--panel: #11141e;--panel-2: #171b28;--panel-3: #1f2433;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--text: #eef1f8;--muted: #8b93a7;--dim: #5b6377;--gold: #ffc531;--gold-deep: #ff9a1f;--danger: #ff4f5e;--vanguard: #4aa8ff;--duelist: #ff4f6a;--strategist: #33e0a1;--multi: #c77dff;--cut: 16px;--font-display: "Bebas Neue", "Impact", sans-serif;--font-condensed: "Barlow Condensed", "Arial Narrow", sans-serif;--font-body: "Barlow", system-ui, sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1);color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.4;overflow-x:hidden;padding-bottom:120px}button,input{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}button:disabled{cursor:not-allowed}svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}[hidden]{display:none!important}.backdrop{position:fixed;inset:0;z-index:-1;background:radial-gradient(900px 500px at 12% -10%,rgba(255,197,49,.13),transparent 60%),radial-gradient(800px 600px at 100% 0%,rgba(255,79,106,.1),transparent 60%),radial-gradient(900px 700px at 50% 120%,rgba(74,168,255,.1),transparent 60%),linear-gradient(180deg,var(--bg-2),var(--bg))}.backdrop:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.022) 0 2px,transparent 2px 28px);mask-image:linear-gradient(180deg,black,transparent 75%)}.backdrop:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.4px);background-size:22px 22px;mask-image:radial-gradient(ellipse at 50% 30%,black,transparent 70%)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1680px;margin:0 auto;padding:22px 24px 8px}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:44px;height:44px;fill:var(--gold);stroke:none;filter:drop-shadow(0 0 18px rgba(255,197,49,.45));animation:brand-spin 12s linear infinite}.brand-mark-inner{fill:var(--bg)}@keyframes brand-spin{to{transform:rotate(360deg)}}.brand h1{margin:0;font-family:var(--font-display);font-weight:400;font-size:40px;line-height:.9;letter-spacing:.02em;transform:skew(-8deg);text-transform:uppercase}.brand h1 span{color:var(--gold);text-shadow:0 0 24px rgba(255,197,49,.35)}.brand-sub{margin:4px 0 0;font-family:var(--font-condensed);font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.top-actions{display:flex;gap:8px}.ghost-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#ffffff08;font-family:var(--font-condensed);font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--text);transition:background .2s,border-color .2s,transform .2s}.ghost-btn svg{width:18px;height:18px;color:var(--gold)}.ghost-btn:hover{background:#ffffff12;border-color:var(--line-strong)}.badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--danger);color:#fff;font-size:12px;line-height:20px;text-align:center}.layout{max-width:1680px;margin:0 auto;padding:12px 24px 24px}.control-strip{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px 28px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#171b28d9,#11141ed9);backdrop-filter:blur(10px)}.control-group{display:flex;flex-direction:column;gap:8px}.control-label{font-family:var(--font-condensed);font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.stepper{display:inline-flex;align-items:center;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--bg-2);overflow:hidden}.stepper button{width:42px;height:100%;font-size:22px;color:var(--gold);transition:background .15s}.stepper button:hover:not(:disabled){background:#ffc5311a}.stepper button:disabled{color:var(--dim)}.stepper output{min-width:44px;text-align:center;font-family:var(--font-display);font-size:28px;line-height:1;padding-top:3px}.stepper.small{height:32px}.stepper.small button{width:30px;font-size:18px}.stepper.small output{min-width:28px;font-size:22px}.segmented{display:inline-flex;padding:3px;gap:2px;border:1px solid var(--line);border-radius:11px;background:var(--bg-2)}.segmented button{height:34px;padding:0 14px;border-radius:8px;font-family:var(--font-condensed);font-weight:600;font-size:15px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);transition:background .2s,color .2s}.segmented button:hover{color:var(--text)}.segmented button.is-active{background:var(--gold);color:#17130a;box-shadow:0 4px 18px #ffc5314d}.segmented.small button{height:30px;padding:0 11px;font-size:14px}.comp-meter{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap}.comp-pill{--role-color: var(--muted);display:flex;align-items:center;gap:10px;height:46px;padding:0 14px 0 10px;border:1px solid color-mix(in srgb,var(--role-color) 35%,transparent);border-radius:12px;background:color-mix(in srgb,var(--role-color) 9%,var(--bg-2));transition:border-color .25s,background .25s,transform .25s}.comp-pill .role-icon{flex-shrink:0;width:26px;height:26px;color:var(--role-color)}.comp-pill-count{font-family:var(--font-display);font-size:30px;line-height:1;padding-top:3px;min-width:16px}.comp-pill-text{display:flex;flex-direction:column;font-family:var(--font-condensed);line-height:1.05}.comp-pill-text strong{font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.comp-pill-text small{font-size:13px;color:var(--muted)}.comp-pill.is-under{border-color:#ffc531b3;background:#ffc53114}.comp-pill.is-under .comp-pill-text small{color:var(--gold)}.comp-pill.is-over{border-color:#ff4f5ed9;background:#ff4f5e1f;animation:nudge .5s var(--ease-out)}.comp-pill.is-over .comp-pill-text small{color:var(--danger)}.comp-status{font-family:var(--font-condensed);font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 4px;min-width:110px}.comp-status.is-good{color:var(--strategist)}.comp-status.is-bad{color:var(--danger)}@keyframes nudge{25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}.rules-editor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.rule-block{--role-color: var(--muted);display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--role-color);border-radius:12px;background:#11141ed9}.rule-block .role-icon{width:26px;height:26px;color:var(--role-color);flex-shrink:0}.rule-block-name{font-family:var(--font-condensed);font-weight:700;font-size:16px;letter-spacing:.06em;text-transform:uppercase;margin-right:auto}.rule-field{display:flex;flex-direction:column;align-items:center;gap:4px}.rule-field span{font-family:var(--font-condensed);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.preset-hint{margin:10px 4px 0;min-height:20px;font-size:14px;color:var(--muted)}.preset-hint.is-warning{color:var(--gold)}.player-grid{--columns: 4;--grid-gap: 18px;--card-max: 236px;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--grid-gap);max-width:calc(var(--columns) * var(--card-max) + (var(--columns) - 1) * var(--grid-gap));margin:14px auto 0}.player-card{--role-color: var(--line-strong);--edge: rgba(255, 255, 255, .1);position:relative;flex:0 0 calc((100% - (var(--columns) - 1) * var(--grid-gap)) / var(--columns));min-width:0;transition:transform .35s var(--ease-out),filter .35s;animation:card-in .45s var(--ease-out) both}@keyframes card-in{0%{opacity:0;transform:translateY(14px) scale(.97)}}.player-card.role-vanguard{--role-color: var(--vanguard)}.player-card.role-duelist{--role-color: var(--duelist)}.player-card.role-strategist{--role-color: var(--strategist)}.player-card.is-selected{--edge: var(--gold);transform:translateY(-4px);filter:drop-shadow(0 10px 24px rgba(255,197,49,.25))}.player-card.is-revealed{animation:card-glow 1.2s var(--ease-out)}@keyframes card-glow{0%{filter:drop-shadow(0 0 0 transparent)}20%{filter:drop-shadow(0 0 28px color-mix(in srgb,var(--role-color) 85%,transparent))}to{filter:drop-shadow(0 0 0 transparent)}}.card-frame{clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)));background:linear-gradient(160deg,var(--edge),color-mix(in srgb,var(--role-color) 55%,transparent) 70%);padding:1.5px;transition:background .3s}.player-card.is-selected .card-frame{padding:2px;background:var(--gold)}.card-inner{clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)));background:linear-gradient(180deg,var(--panel-2),var(--panel))}.card-head{display:flex;align-items:center;gap:6px;padding:8px 8px 8px 10px}.select-toggle{flex-shrink:0;width:18px;height:18px;border:1.5px solid var(--line-strong);border-radius:5px;display:grid;place-items:center;transition:background .15s,border-color .15s}.select-toggle svg{width:12px;height:12px;stroke-width:3;color:#17130a;opacity:0}.player-card.is-selected .select-toggle{background:var(--gold);border-color:var(--gold)}.player-card.is-selected .select-toggle svg{opacity:1}.name-input{flex:1;min-width:0;height:30px;padding:0 6px;border:1px solid transparent;border-radius:7px;background:transparent;font-family:var(--font-condensed);font-weight:700;font-size:17px;letter-spacing:.04em;text-transform:uppercase;transition:background .15s,border-color .15s}.name-input:hover{background:#ffffff0a}.name-input:focus{outline:none;border-color:var(--line-strong);background:var(--bg-2)}.icon-btn{flex-shrink:0;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--muted);transition:background .15s,color .15s}.icon-btn svg{width:17px;height:17px}.icon-btn:hover{background:#ffffff12;color:var(--text)}.lock-btn.is-on{color:#17130a;background:var(--gold)}.stage{position:relative;aspect-ratio:5 / 7;margin:0 8px;overflow:hidden;border-radius:6px;cursor:pointer;isolation:isolate;background:radial-gradient(120% 70% at 50% 20%,color-mix(in srgb,var(--role-color) 32%,transparent),transparent 70%),linear-gradient(180deg,#1a1f2e,#0b0d14)}.stage:before{content:"";position:absolute;inset:0;z-index:0;background-image:radial-gradient(color-mix(in srgb,var(--role-color) 30%,transparent) 1.2px,transparent 1.6px);background-size:9px 9px;mask-image:linear-gradient(180deg,black 0%,transparent 65%);opacity:.6}.stage:after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;box-shadow:inset 0 0 0 1px #ffffff0f;border-radius:inherit}.portrait-slot{position:absolute;inset:0;z-index:1;transition:opacity .2s}.hero-img-portrait{width:100%;height:100%;object-fit:cover;object-position:50% 8%;user-select:none}.reel{position:absolute;inset:0;z-index:2;opacity:0;pointer-events:none;mask-image:linear-gradient(180deg,transparent 0%,black 22%,black 78%,transparent 100%)}.reel-strip{will-change:transform}.reel-item{aspect-ratio:3 / 2;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.05)}.reel-item .hero-img-icon{width:100%;height:100%;object-fit:cover;object-position:50% 20%}.reel-marker{position:absolute;left:0;right:0;top:50%;z-index:3;aspect-ratio:3 / 2;transform:translateY(-50%);pointer-events:none;opacity:0;border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);box-shadow:0 0 22px #ffc53159,inset 0 0 22px #ffc53126}.reel-marker:before,.reel-marker:after{content:"";position:absolute;top:50%;width:0;height:0;border:8px solid transparent;transform:translateY(-50%)}.reel-marker:before{left:0;border-left-color:var(--gold)}.reel-marker:after{right:0;border-right-color:var(--gold)}.player-card.is-spinning .reel,.player-card.is-spinning .reel-marker{opacity:1}.player-card.is-spinning .portrait-slot,.player-card.is-spinning .hero-banner,.player-card.is-spinning .stage-empty{opacity:0}.stage-empty{position:absolute;inset:0;z-index:1;display:grid;place-content:center;justify-items:center;gap:4px;color:var(--dim);transition:opacity .2s}.stage-empty b{font-family:var(--font-display);font-weight:400;font-size:96px;line-height:1;color:#ffffff14;text-shadow:0 0 40px rgba(255,197,49,.12)}.stage-empty span{font-family:var(--font-condensed);font-weight:600;font-size:13px;letter-spacing:.2em;text-transform:uppercase}.hero-banner{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:44px 12px 10px;background:linear-gradient(180deg,transparent,rgba(7,8,13,.82) 45%,rgba(7,8,13,.96));transition:opacity .2s}.hero-banner h3{margin:4px 0 0;font-family:var(--font-display);font-weight:400;font-size:30px;line-height:.95;letter-spacing:.02em;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.6)}.role-tag{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px 0 6px;border-radius:6px;background:color-mix(in srgb,var(--role-color) 22%,rgba(7,8,13,.6));border:1px solid color-mix(in srgb,var(--role-color) 60%,transparent);font-family:var(--font-condensed);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--role-color) 70%,white)}.role-tag .role-icon{width:13px;height:13px}.role-tag.flex-note{margin-left:4px;background:#c77dff2e;border-color:#c77dff80;color:#e3c4ff}.lock-ribbon{position:absolute;top:10px;right:-30px;z-index:4;width:110px;padding:3px 0;transform:rotate(45deg);background:var(--gold);color:#17130a;font-family:var(--font-condensed);font-weight:700;font-size:11px;letter-spacing:.18em;text-align:center;text-transform:uppercase;box-shadow:0 2px 10px #0006;opacity:0;transition:opacity .2s}.player-card.is-locked .lock-ribbon{opacity:1}.player-card.is-spinning .lock-ribbon{opacity:0}.reveal-flash{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.9),color-mix(in srgb,var(--role-color) 60%,transparent) 40%,transparent 72%);mix-blend-mode:screen}.player-card.is-revealed .reveal-flash{animation:flash .7s ease-out}.player-card.is-revealed .hero-img-portrait,.player-card.is-revealed .portrait-slot .name-card{animation:portrait-in .9s var(--ease-out)}.player-card.is-revealed .hero-banner{animation:banner-in .6s var(--ease-out) .08s both}@keyframes flash{0%{opacity:.95}to{opacity:0}}@keyframes portrait-in{0%{transform:scale(1.18);filter:brightness(2.2) saturate(.4)}to{transform:scale(1);filter:none}}@keyframes banner-in{0%{transform:translateY(18px);opacity:0}}.name-card{--role-color: var(--muted);position:relative;width:100%;height:100%;display:grid;place-content:center;justify-items:center;overflow:hidden;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--role-color) 45%,transparent),transparent 70%),linear-gradient(160deg,color-mix(in srgb,var(--role-color) 30%,#10131c),#0b0d14)}.name-card.role-vanguard{--role-color: var(--vanguard)}.name-card.role-duelist{--role-color: var(--duelist)}.name-card.role-strategist{--role-color: var(--strategist)}.name-card.role-multi{--role-color: var(--multi)}.name-card-watermark{position:absolute;width:78%;height:78%;color:color-mix(in srgb,var(--role-color) 30%,transparent);stroke-width:1.2}.name-card-initials{position:relative;font-family:var(--font-display);font-size:92px;line-height:.9;color:#fff;text-shadow:0 0 30px color-mix(in srgb,var(--role-color) 80%,transparent),0 4px 0 rgba(0,0,0,.35);transform:skew(-8deg)}.name-card-name{position:relative;max-width:90%;font-family:var(--font-condensed);font-weight:700;font-size:15px;letter-spacing:.1em;text-align:center;text-transform:uppercase;color:#ffffffd9}.name-card-icon .name-card-initials,.name-card-tile .name-card-initials{font-size:54px}.name-card-icon .name-card-name,.name-card-tile .name-card-name{font-size:12px}.name-card-portrait{padding-bottom:30%}.role-filter{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:8px 8px 0}.role-chip{--chip-color: var(--muted);height:30px;display:inline-flex;align-items:center;justify-content:center;gap:4px;border:1px solid var(--line);border-radius:8px;background:#ffffff05;color:var(--dim);font-family:var(--font-condensed);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;transition:background .15s,color .15s,border-color .15s}.role-chip .role-icon{width:15px;height:15px}.role-chip[data-role=vanguard]{--chip-color: var(--vanguard)}.role-chip[data-role=duelist]{--chip-color: var(--duelist)}.role-chip[data-role=strategist]{--chip-color: var(--strategist)}.role-chip.is-on{color:var(--chip-color);border-color:color-mix(in srgb,var(--chip-color) 50%,transparent);background:color-mix(in srgb,var(--chip-color) 13%,transparent)}.role-chip:hover{border-color:color-mix(in srgb,var(--chip-color) 70%,transparent)}.card-actions{display:flex;gap:6px;padding:8px 8px 12px}.reroll-btn{flex:1;height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;background:#ffffff0f;border:1px solid var(--line);font-family:var(--font-condensed);font-weight:700;font-size:15px;letter-spacing:.08em;text-transform:uppercase;transition:background .15s,border-color .15s,color .15s}.reroll-btn svg{width:16px;height:16px;color:var(--gold)}.reroll-btn:hover:not(:disabled){background:#ffc5311f;border-color:#ffc53173}.reroll-btn:disabled{opacity:.4}.more-btn{width:36px;height:36px;border:1px solid var(--line);background:#ffffff0a}.ban-dot{position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:var(--danger)}.more-btn{position:relative}.card-menu{position:fixed;z-index:50;min-width:220px;max-height:calc(100vh - 24px);overflow-y:auto;padding:6px;border:1px solid var(--line-strong);border-radius:12px;background:#171b28f7;backdrop-filter:blur(14px);box-shadow:0 18px 50px #0000008c;animation:menu-in .16s var(--ease-out)}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.menu-item{width:100%;display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:8px;text-align:left;font-weight:500;font-size:14px;color:var(--text)}.menu-item:hover:not(:disabled){background:#ffffff12}.menu-item:disabled{opacity:.4}.menu-item .role-icon,.menu-item svg{width:17px;height:17px;flex-shrink:0}.menu-item[data-role=vanguard] .role-icon{color:var(--vanguard)}.menu-item[data-role=duelist] .role-icon{color:var(--duelist)}.menu-item[data-role=strategist] .role-icon{color:var(--strategist)}.menu-item small{margin-left:auto;color:var(--muted)}.menu-divider{height:1px;margin:5px 4px;background:var(--line)}.menu-label{padding:6px 10px 4px;font-family:var(--font-condensed);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.keyboard-hint{margin:26px 0 0;text-align:center;font-size:13px;color:var(--dim)}kbd{padding:1px 6px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:5px;font-family:var(--font-condensed);font-size:12px;color:var(--muted)}.action-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:0 16px calc(14px + env(safe-area-inset-bottom));pointer-events:none}.action-bar-inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 14px;max-width:980px;margin:0 auto;padding:10px 12px;border:1px solid var(--line-strong);border-radius:18px;background:#0d1018db;backdrop-filter:blur(16px);box-shadow:0 -10px 40px #00000073;pointer-events:auto}.selection-tools,.main-actions{display:flex;align-items:center;gap:8px}.selection-tools{padding-right:14px;border-right:1px solid var(--line);animation:menu-in .2s var(--ease-out)}.selection-count{font-family:var(--font-condensed);font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);white-space:nowrap}.reroll-as{display:flex;align-items:center;gap:4px;color:var(--muted);font-family:var(--font-condensed);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.role-mini{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#ffffff08;transition:background .15s,border-color .15s}.role-mini .role-icon{width:18px;height:18px}.role-mini[data-reroll-as=vanguard]{color:var(--vanguard)}.role-mini[data-reroll-as=duelist]{color:var(--duelist)}.role-mini[data-reroll-as=strategist]{color:var(--strategist)}.role-mini:hover:not(:disabled){border-color:currentColor;background:color-mix(in srgb,currentColor 12%,transparent)}.tool-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 14px;border:1px solid var(--line-strong);border-radius:10px;background:#ffffff0d;font-family:var(--font-condensed);font-weight:700;font-size:15px;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;transition:background .15s,border-color .15s,opacity .15s,color .15s}.tool-btn svg{width:17px;height:17px}.tool-btn:hover:not(:disabled){background:#ffffff1a}.tool-btn:disabled{opacity:.35}.tool-btn.subtle{border-color:transparent;background:transparent;color:var(--muted)}.tool-btn.subtle:hover:not(:disabled){color:var(--text)}.tool-btn.primary{background:var(--gold);border-color:var(--gold);color:#17130a}.tool-btn.primary:hover:not(:disabled){background:#ffd45c}.tool-btn.danger{border-color:#ff4f5e80;color:var(--danger);background:#ff4f5e14}.tool-btn.icon-only{width:40px;padding:0}#fixComp:not(:disabled){border-color:#ffc53199;color:var(--gold);background:#ffc5311a;animation:pulse-border 1.6s ease-in-out infinite}@keyframes pulse-border{50%{box-shadow:0 0 0 4px #ffc5311f}}.roll-btn{position:relative;height:52px;min-width:170px;padding:0 34px;overflow:hidden;clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%);background:linear-gradient(180deg,#ffd45c,var(--gold) 45%,var(--gold-deep));color:#17130a;font-family:var(--font-display);font-size:32px;letter-spacing:.08em;line-height:1;transition:transform .15s var(--ease-out),filter .2s}.roll-btn span{position:relative;z-index:1;display:inline-block;padding-top:4px}.roll-btn:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);transform:skew(-20deg);animation:shine 3.2s ease-in-out infinite}@keyframes shine{0%,60%{left:-60%}to{left:130%}}.roll-btn:hover:not(:disabled){filter:brightness(1.08) drop-shadow(0 0 18px rgba(255,197,49,.5))}.roll-btn:active:not(:disabled){transform:scale(.97)}.roll-btn:disabled{filter:grayscale(.6) brightness(.7)}.roll-btn:disabled:after{animation:none}body.is-busy .roll-btn span{animation:busy .6s ease-in-out infinite alternate}@keyframes busy{to{opacity:.5}}.sheet{width:min(920px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 48px));padding:0;border:1px solid var(--line-strong);border-radius:20px;background:linear-gradient(180deg,var(--panel-2),var(--panel));color:var(--text);box-shadow:0 30px 90px #0009;overflow:hidden}.sheet[open]{display:flex;flex-direction:column;animation:sheet-in .28s var(--ease-out)}.sheet.narrow{width:min(560px,calc(100vw - 32px))}.sheet::backdrop{background:#030408b8;backdrop-filter:blur(4px)}@keyframes sheet-in{0%{opacity:0;transform:translateY(16px) scale(.98)}}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 12px}.sheet-head h2{margin:0;font-family:var(--font-display);font-weight:400;font-size:34px;line-height:1;letter-spacing:.03em;text-transform:uppercase}.sheet-head p{margin:4px 0 0;color:var(--muted);font-size:14px}.close-btn{width:38px;height:38px;border-radius:10px;font-size:26px;line-height:1;color:var(--muted)}.close-btn:hover{background:#ffffff12;color:var(--text)}.sheet-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px 18px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.sheet-foot-actions{display:flex;gap:8px}.picker-filters{display:flex;flex-wrap:wrap;gap:10px;padding:0 22px 14px}.picker-filters input{flex:1;min-width:180px;height:38px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg-2)}.picker-filters input:focus{outline:none;border-color:var(--gold)}.picker-grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));grid-auto-rows:max-content;align-content:start;gap:10px;padding:4px 22px 20px}.picker-tile{--role-color: var(--muted);position:relative;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--bg-2);text-align:left;transition:transform .15s var(--ease-out),border-color .15s,opacity .15s}.picker-tile:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--role-color) 70%,transparent)}.picker-tile.role-vanguard{--role-color: var(--vanguard)}.picker-tile.role-duelist{--role-color: var(--duelist)}.picker-tile.role-strategist{--role-color: var(--strategist)}.picker-tile.role-multi{--role-color: var(--multi)}.picker-tile-art{aspect-ratio:3 / 2;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--role-color) 30%,transparent),transparent 70%)}.picker-tile-art .hero-img-icon{width:100%;height:100%;object-fit:cover;object-position:50% 20%}.picker-tile-name{display:flex;align-items:center;gap:6px;padding:6px 8px 7px;border-top:2px solid var(--role-color);font-family:var(--font-condensed);font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;line-height:1.1}.picker-tile-name .role-icon{width:13px;height:13px;color:var(--role-color);flex-shrink:0}.picker-tile.is-banned .picker-tile-art{filter:grayscale(1) brightness(.45)}.picker-tile.is-banned .picker-tile-name{color:var(--muted);border-top-color:var(--danger)}.picker-tile.is-banned:after{content:"";position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;background:var(--danger) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E") center / 14px no-repeat;box-shadow:0 2px 10px #00000080}.picker-tile.is-current{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.picker-tile.is-unavailable{opacity:.35}.picker-empty{grid-column:1 / -1;padding:30px;text-align:center;color:var(--muted)}.history-list{flex:1;overflow-y:auto;padding:0 22px 16px;display:flex;flex-direction:column;gap:10px}.history-entry{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg-2)}.history-meta{display:flex;justify-content:space-between;margin-bottom:8px;font-family:var(--font-condensed);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.lineup-chips{display:flex;flex-wrap:wrap;gap:6px}.lineup-chip{--role-color: var(--muted);display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 10px 0 3px;border:1px solid color-mix(in srgb,var(--role-color) 35%,transparent);border-radius:9px;background:color-mix(in srgb,var(--role-color) 9%,transparent);font-size:13px;white-space:nowrap}.lineup-chip.role-vanguard{--role-color: var(--vanguard)}.lineup-chip.role-duelist{--role-color: var(--duelist)}.lineup-chip.role-strategist{--role-color: var(--strategist)}.lineup-chip.is-kept{opacity:.55}.lineup-chip-art{width:40px;height:27px;border-radius:6px;overflow:hidden;flex-shrink:0}.lineup-chip-art .hero-img-icon{width:100%;height:100%;object-fit:cover;object-position:50% 20%}.lineup-chip-art .name-card-initials{font-size:16px}.lineup-chip-art .name-card-name,.lineup-chip-art .name-card-watermark{display:none}.lineup-chip b{font-weight:600}.lineup-chip span{color:var(--muted)}.history-empty{padding:40px 10px;text-align:center;color:var(--muted)}.settings-body{overflow-y:auto;padding:0 22px 18px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer}.setting-row.stacked,.setting-row.danger{cursor:default;flex-wrap:wrap}.setting-row strong{display:block;font-weight:600}.setting-row small{display:block;margin-top:2px;color:var(--muted);font-size:13px;max-width:340px}.danger-actions{display:flex;gap:8px}.switch{appearance:none;flex-shrink:0;position:relative;width:46px;height:26px;margin:0;border-radius:999px;background:var(--panel-3);border:1px solid var(--line-strong);cursor:pointer;transition:background .2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--muted);transition:transform .25s var(--ease-out),background .2s}.switch:checked{background:var(--gold);border-color:var(--gold)}.switch:checked:after{transform:translate(20px);background:#17130a}.shared-lineup{overflow-y:auto;padding:0 22px 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.shared-card{--role-color: var(--muted);overflow:hidden;border:1px solid color-mix(in srgb,var(--role-color) 45%,transparent);border-radius:12px;background:var(--bg-2)}.shared-card.role-vanguard{--role-color: var(--vanguard)}.shared-card.role-duelist{--role-color: var(--duelist)}.shared-card.role-strategist{--role-color: var(--strategist)}.shared-card-art{aspect-ratio:3 / 2;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--role-color) 30%,transparent),transparent 70%)}.shared-card-art .hero-img-icon{width:100%;height:100%;object-fit:cover;object-position:50% 20%}.shared-card-text{padding:8px 10px 10px;border-top:2px solid var(--role-color)}.shared-card-text small{display:block;color:var(--muted);font-family:var(--font-condensed);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.shared-card-text b{font-family:var(--font-display);font-weight:400;font-size:22px;letter-spacing:.02em;text-transform:uppercase}.toast-stack{position:fixed;left:50%;bottom:104px;z-index:60;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translate(-50%);pointer-events:none;width:min(520px,calc(100vw - 32px))}.toast{padding:11px 16px;border:1px solid var(--line-strong);border-left:3px solid var(--gold);border-radius:10px;background:#171b28f7;box-shadow:0 12px 40px #00000080;font-size:14px;animation:toast-in .3s var(--ease-out)}.toast.is-error{border-left-color:var(--danger)}.toast.is-good{border-left-color:var(--strategist)}.toast.is-leaving{opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.ghost-btn.accent{border-color:#ffc53173;background:#ffc5311a;color:var(--gold)}.ghost-btn.accent:hover{background:#ffc5312e;border-color:#ffc531b3}.room-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;margin-bottom:12px;padding:12px 16px;border:1px solid rgba(255,197,49,.28);border-radius:16px;background:linear-gradient(90deg,rgba(255,197,49,.1),transparent 40%),linear-gradient(180deg,#171b28e6,#11141ee6);animation:menu-in .3s var(--ease-out)}.room-code-block{display:flex;flex-direction:column;gap:2px}.room-code{display:flex;align-items:center;gap:10px}.room-code b{font-family:var(--font-display);font-weight:400;font-size:34px;line-height:1;letter-spacing:.14em;color:var(--gold);text-shadow:0 0 20px rgba(255,197,49,.35)}.room-status{width:10px;height:10px;border-radius:50%;background:var(--gold);animation:busy .7s ease-in-out infinite alternate}.room-status.is-live{background:var(--strategist);box-shadow:0 0 10px #33e0a1b3;animation:none}.member-list{flex:1;display:flex;flex-wrap:wrap;gap:6px;min-width:0}.member-loading{color:var(--muted);font-size:14px}.member-chip{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 10px 0 4px;border:1px solid var(--line);border-radius:999px;background:#ffffff0a;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,opacity .2s}.member-chip:not(:disabled):hover{background:#ffffff17;border-color:var(--line-strong)}.member-chip:disabled{cursor:default}.member-chip.is-you{border-color:#ffc53180}.member-chip.is-offline{opacity:.5}.member-chip small{font-weight:500;color:var(--muted)}.member-avatar{position:relative;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:hsl(var(--avatar-hue) 65% 45%);color:#fff;font-family:var(--font-display);font-size:16px;padding-top:2px}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--strategist);border:2px solid var(--panel)}.member-avatar .status-dot{position:absolute;right:-2px;bottom:-2px}.member-chip.is-offline .status-dot,.seat-tag.is-offline .status-dot{background:var(--dim)}.member-name{white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.member-badge{display:grid;place-items:center;width:20px;height:20px;border-radius:6px}.member-badge svg{width:14px;height:14px}.member-badge.is-leader{background:#ffc5312e;color:var(--gold)}.member-badge.is-roller{background:#4aa8ff29;color:var(--vanguard)}.member-badge.is-watcher{color:var(--muted)}.bench-chip{cursor:pointer;border-style:solid;transition:background .15s,border-color .15s}.bench-chip:hover{background:#ffffff12;border-color:#ffc5318c;color:var(--text)}#lockSeats.is-locked{border-color:#ffc53199;background:#ffc5311f;color:var(--gold)}#lockSeats:disabled{opacity:.85;cursor:default}.tool-btn.small{height:32px;padding:0 12px;font-size:13px}.member-avatar.small{width:22px;height:22px;font-size:13px;flex-shrink:0}.menu-empty{padding:6px 10px 10px;color:var(--muted);font-size:13px}.bench-body{flex:1;overflow-y:auto;padding:0 22px 16px}.bench-mine{margin-bottom:14px;padding:14px;border:1px solid rgba(255,197,49,.35);border-radius:14px;background:#ffc5310f}.bench-mine h3{margin:0;font-family:var(--font-condensed);font-weight:700;font-size:17px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}.bench-mine p{margin:4px 0 12px;color:var(--muted);font-size:14px}.bench-roles{padding:0}.bench-mine-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.bench-list{display:flex;flex-direction:column;gap:6px}.bench-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--bg-2)}.bench-row.is-offline{opacity:.6}.bench-row.is-offline .status-dot{background:var(--dim)}.bench-name{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bench-name small{font-weight:500;color:var(--muted)}.bench-actions{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}.bench-roll.is-on{color:var(--vanguard);background:#4aa8ff24}.tool-btn.subtle.danger-text{color:var(--danger)}.tool-btn.subtle.danger-text:hover:not(:disabled){color:#ff7a85;background:#ff4f5e1a}.viewer-chip{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1px dashed var(--line-strong);border-radius:999px;color:var(--muted);font-size:14px;font-weight:600;cursor:default}.viewer-chip svg{width:16px;height:16px}.viewer-chip b{color:var(--text)}.viewer-chip small{font-weight:500}.viewer-chip.is-you{border-color:#ffc53180}.menu-item.danger{color:var(--danger)}.seat-tag{position:absolute;top:8px;left:8px;z-index:4;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 50px);height:22px;padding:0 8px;border-radius:6px;background:#07080db8;border:1px solid var(--line-strong);backdrop-filter:blur(6px);font-family:var(--font-condensed);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden}.seat-tag .status-dot{border-color:transparent;width:7px;height:7px;flex-shrink:0}.seat-tag.is-you{background:var(--gold);border-color:var(--gold);color:#17130a}.seat-tag.is-open{color:var(--muted);border-style:dashed}.player-card.is-spinning .seat-tag{opacity:0}.player-card.is-mine{--edge: rgba(255, 197, 49, .55)}.take-seat-btn{position:absolute;left:50%;top:40px;z-index:4;display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 16px;transform:translate(-50%);border-radius:999px;background:var(--gold);color:#17130a;font-family:var(--font-condensed);font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;box-shadow:0 6px 20px #ffc5314d;transition:transform .15s var(--ease-out),filter .15s}.take-seat-btn svg{width:16px;height:16px}.take-seat-btn:hover{transform:translate(-50%) translateY(-2px);filter:brightness(1.08)}.player-card.is-spinning .take-seat-btn{display:none}.name-input[readonly]{cursor:default}.name-input[readonly]:hover{background:transparent}.role-chip:disabled{cursor:default}.role-chip:disabled:hover{border-color:var(--line)}.role-chip.is-on:disabled:hover{border-color:color-mix(in srgb,var(--chip-color) 50%,transparent)}.icon-btn:disabled{opacity:.35}.icon-btn:disabled:hover{background:none;color:var(--muted)}.lock-btn.is-on:disabled{opacity:.8}.lock-btn.is-on:disabled:hover{background:var(--gold);color:#17130a}.control-strip.is-readonly .segmented button:not(.is-active){opacity:.45}.control-strip .segmented button:disabled,.stepper button:disabled{cursor:default}.picker-grid.is-readonly .picker-tile{cursor:default}.picker-grid.is-readonly .picker-tile:hover{transform:none}.wait-note{font-family:var(--font-condensed);font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.settings-note{margin:0 0 4px;padding:10px 12px;border:1px solid rgba(255,197,49,.3);border-radius:10px;background:#ffc53112;color:var(--gold);font-size:14px}.segmented button:disabled,.switch:disabled{cursor:default;opacity:.55}.online-body{padding:0 22px 18px}.field{display:flex;flex-direction:column;gap:8px}.field input{height:46px;padding:0 14px;border:1px solid var(--line-strong);border-radius:12px;background:var(--bg-2);font-size:17px;font-weight:600}.field input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #ffc53126}.field input.is-invalid{border-color:var(--danger);animation:nudge .4s var(--ease-out)}.online-explainer{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.online-explainer li{display:flex;align-items:flex-start;gap:12px;color:var(--muted);font-size:14px}.online-explainer svg{flex-shrink:0;width:20px;height:20px;color:var(--gold);margin-top:1px}.online-explainer b{color:var(--text)}:root{--team-1: #ffc531;--team-2: #b57bff}.match-board{margin-top:12px}.team-panel{--team-color: var(--team-1);position:relative;padding:10px 12px 12px;border:1px solid color-mix(in srgb,var(--team-color) 30%,transparent);border-radius:16px;background:linear-gradient(90deg,color-mix(in srgb,var(--team-color) 12%,transparent),transparent 35%),#11141ebf}.team-panel.team-2{--team-color: var(--team-2)}.team-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-bottom:8px}.team-badge{display:flex;align-items:center;gap:10px}.team-badge i{width:6px;height:28px;border-radius:3px;background:var(--team-color);box-shadow:0 0 14px var(--team-color)}.team-name{field-sizing:content;min-width:4ch;max-width:16ch;padding:3px 6px 0;border:1px solid transparent;border-radius:8px;background:transparent;font-family:var(--font-display);font-size:30px;line-height:1;letter-spacing:.04em;color:var(--team-color)}.team-name:not([readonly]):hover{background:#ffffff0a}.team-name:focus{outline:none;border-color:var(--line-strong);background:var(--bg-2)}.team-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.mini-comp{display:flex;gap:4px}.mini-comp span{display:inline-flex;align-items:center;gap:4px;height:30px;padding:2px 9px 0;border:1px solid color-mix(in srgb,var(--c) 35%,transparent);border-radius:8px;background:color-mix(in srgb,var(--c) 10%,transparent);font-family:var(--font-display);font-size:19px}.mini-comp span.is-over{border-color:var(--danger);background:#ff4f5e24}.mini-comp span.is-under{border-color:var(--gold)}.mini-comp .role-icon{width:15px;height:15px;color:var(--c)}.team-status{font-family:var(--font-condensed);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.team-status.is-good{color:var(--strategist)}.team-status.is-bad{color:var(--danger)}.team-actions{display:flex;gap:6px;margin-left:auto}.team-actions .tool-btn{height:34px;padding:0 12px;font-size:14px}.team-actions .tool-btn.team-roll{border-color:color-mix(in srgb,var(--team-color) 60%,transparent);background:color-mix(in srgb,var(--team-color) 12%,transparent);color:var(--team-color)}.match-board{--team-columns: 6}.team-row{display:grid;grid-template-columns:repeat(var(--team-columns),minmax(0,var(--team-card-max, 260px)));justify-content:center;gap:12px}.vs-band{position:relative;display:grid;place-items:center;height:40px}.vs-band:before{content:"";position:absolute;left:4%;right:4%;top:50%;height:2px;background:linear-gradient(90deg,transparent,var(--team-1) 30%,rgba(255,255,255,.8) 50%,var(--team-2) 70%,transparent);opacity:.6}.vs-band b{position:relative;padding:2px 18px 0;background:var(--bg);font-family:var(--font-display);font-weight:400;font-size:34px;letter-spacing:.08em;color:#fff;text-shadow:-3px 0 12px var(--team-1),3px 0 12px var(--team-2);transform:skew(-8deg)}.vs-band.is-clash b{animation:vs-clash .9s var(--ease-out)}.vs-band.is-clash:before{animation:vs-line .9s ease-out}@keyframes vs-clash{0%{transform:skew(-8deg) scale(1)}25%{transform:skew(-8deg) scale(1.6);text-shadow:-10px 0 30px var(--team-1),10px 0 30px var(--team-2),0 0 40px white}to{transform:skew(-8deg) scale(1)}}@keyframes vs-line{25%{opacity:1;height:4px}}.player-card.is-compact{--edge: color-mix(in srgb, var(--team-color, var(--team-1)) 55%, transparent)}.player-card.is-compact.team-1{--team-color: var(--team-1)}.player-card.is-compact.team-2{--team-color: var(--team-2)}.player-card.is-compact .card-head{padding:6px 6px 6px 8px}.player-card.is-compact .name-input{height:26px;font-size:15px}.player-card.is-compact .stage{aspect-ratio:5 / 4;margin:0 6px}.layout.is-custom .preset-hint:not(.is-warning){display:none}.player-card.is-compact .stage-empty b{font-size:64px}.player-card.is-compact .hero-banner{padding:30px 10px 8px}.player-card.is-compact .hero-banner h3{font-size:23px}.player-card.is-compact .role-tag{height:19px;font-size:11px}.player-card.is-compact .role-filter{display:none}.player-card.is-compact .card-actions{gap:5px;padding:6px 6px 8px}.player-card.is-compact .reroll-btn{height:32px;font-size:14px}.player-card.is-compact .icon-btn{width:32px;height:32px}.player-card.is-compact .take-seat-btn{top:34px}.role-dots{display:none}.player-card.is-compact .role-dots{display:flex;align-items:center;justify-content:center;gap:3px;width:44px;border:1px solid var(--line);background:#ffffff08}.role-dots i{width:7px;height:7px;border-radius:50%;background:var(--c)}.role-dots i.is-off{opacity:.18}.menu-item.role-toggle small svg{width:15px;height:15px;color:var(--strategist)}.menu-item.role-toggle:not(.is-on){color:var(--muted)}.team-chip{--team-color: var(--team-1);display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px 0 10px;border:1px solid color-mix(in srgb,var(--team-color) 45%,transparent);border-radius:999px;background:color-mix(in srgb,var(--team-color) 10%,transparent);font-size:14px}.team-chip.team-2{--team-color: var(--team-2)}.team-chip>i{width:8px;height:8px;border-radius:50%;background:var(--team-color)}.team-chip b{color:var(--team-color);font-weight:700}.team-chip span{font-weight:600}.team-chip small{display:inline-flex;align-items:center;gap:4px;color:var(--muted)}.team-chip small .status-dot{border-color:transparent}.tool-btn.team-give.team-1{background:var(--team-1);border-color:var(--team-1)}.tool-btn.team-give.team-2{background:var(--team-2);border-color:var(--team-2);color:#1a0f2b}.history-team{margin:8px 0 6px;font-family:var(--font-condensed);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--team-1)}.history-team.team-2{color:var(--team-2)}.picker-team-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:0 22px 12px}.picker-team-tabs .segmented button:first-child.is-active{background:var(--team-1)}.picker-team-tabs .segmented button:last-child.is-active{background:var(--team-2);color:#1a0f2b;box-shadow:0 4px 18px #b57bff4d}@media(max-width:1100px){.comp-meter{margin-left:0;width:100%}}@media(max-width:760px){body{padding-bottom:170px}.topbar{padding:16px 16px 6px;flex-wrap:wrap}.brand h1{font-size:32px}.brand-mark{width:36px;height:36px}.top-actions{width:100%}.ghost-btn{flex:1;justify-content:center;padding:0 8px}.layout{padding:8px 16px 16px}.control-strip{padding:14px;gap:14px}.segmented button{padding:0 10px;font-size:14px}.comp-pill{flex:1;min-width:0;padding:0 10px 0 8px;gap:7px}.comp-pill-text strong{display:none}.comp-pill .role-icon{width:22px;height:22px}.card-head{gap:2px;padding:6px 6px 6px 8px}.card-head .remove-btn{display:none}.name-input{font-size:15px;padding:0 4px}.preset-hint{font-size:13px}.team-actions{width:100%;margin-left:0}.team-actions .tool-btn{flex:1}.team-name{font-size:26px}.team-row{grid-template-columns:repeat(2,minmax(0,1fr))}.player-card.is-compact .hero-banner h3{font-size:19px}.player-card.is-compact .reroll-btn{gap:4px;font-size:13px}.player-card.is-compact .reroll-btn svg{width:14px;height:14px}.player-card.is-compact .role-dots{width:30px;gap:2px}.player-card.is-compact .role-dots i{width:5px;height:5px}.player-card.is-compact .icon-btn{width:28px}.picker-team-tabs{padding:0 16px 12px}.room-bar{padding:12px;gap:10px}.room-code b{font-size:28px}.member-list{order:3;flex-basis:100%}.room-bar #copyWatchLink,.room-bar #lockSeats,.room-bar #closeRoom,.room-bar #leaveRoom{width:40px;padding:0;gap:0;font-size:0}.room-bar #copyWatchLink svg,.room-bar #lockSeats svg,.room-bar #closeRoom svg,.room-bar #leaveRoom svg{width:18px;height:18px}.top-actions{flex-wrap:wrap}.ghost-btn.accent{flex-basis:100%}.main-actions{flex-wrap:wrap;justify-content:center}.wait-note{flex-basis:100%;text-align:center;order:-1;font-size:12px}.online-body{padding:0 16px 16px}.comp-status{width:100%;min-width:0}.rules-editor{grid-template-columns:1fr}.player-grid{--grid-gap: 12px}.hero-banner h3{font-size:24px}.role-chip span,.keyboard-hint{display:none}.action-bar{padding:0 10px calc(10px + env(safe-area-inset-bottom))}.action-bar-inner{gap:8px;padding:8px}.selection-tools{width:100%;justify-content:center;padding:0 0 8px;border-right:0;border-bottom:1px solid var(--line)}.roll-btn{min-width:120px;padding:0 22px}#fixComp .fix-label{display:none}.toast-stack{bottom:150px}.picker-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));padding:4px 16px 16px}.sheet-head,.picker-filters,.sheet-foot,.history-list,.settings-body,.shared-lineup{padding-left:16px;padding-right:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
