:root{color-scheme:dark;--bg:#0b151e;--panel:#14232e;--panel2:#1a2d39;--line:#2a3c46;--ink:#f1f0e7;--muted:#a6b8be;--gold:#efbe69;--mint:#7ad5b6;--red:#ff9c93;--radius:18px}*{box-sizing:border-box}body{margin:0;font:16px/1.55 system-ui,-apple-system,'Segoe UI',sans-serif;background:radial-gradient(ellipse at 75% -10%,#25403e 0,transparent 46%),var(--bg);color:var(--ink);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:11px;background:#203541;color:var(--ink);padding:11px 16px;min-height:46px;font-weight:650;transition:background .18s,transform .18s}button:hover:not(:disabled){background:#2c4552;transform:translateY(-1px)}button:disabled{opacity:.42;cursor:not-allowed}button.primary{background:var(--gold);color:#18232a;border-color:var(--gold)}button.primary:hover{background:#ffd397}button.mint{background:var(--mint);color:#102c27}button.ghost{background:transparent}button.danger{color:var(--red)}button.small{padding:7px 12px;font-size:14px;min-height:38px}input,select{width:100%;background:#0d1c26;border:1px solid #3c535f;border-radius:10px;padding:11px 12px;color:var(--ink);min-height:46px}input:focus,select:focus,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}label{display:block;font-size:14px;color:var(--muted);margin:12px 0 6px}a{color:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.1}h2{font-size:28px;letter-spacing:-.5px}h3{font-size:19px;margin-bottom:12px}.muted{color:var(--muted)}.tiny{font-size:12px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:750;text-transform:uppercase;color:var(--mint)}.flex{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1}.stack>*+*{margin-top:12px}.hidden{display:none!important}.chip{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid var(--line);border-radius:30px;color:var(--muted);font-size:12px;font-weight:650;white-space:nowrap}.chip.live{color:var(--mint)}.chip.gold{color:var(--gold)}.dot{width:7px;height:7px;border-radius:50%;background:currentColor}.top{border-bottom:1px solid var(--line);background:#0b151ee8;position:sticky;top:0;z-index:25;backdrop-filter:blur(16px)}.top-inner{max-width:1560px;margin:auto;padding:14px 28px;display:flex;align-items:center;gap:25px}.brand{display:flex;align-items:center;gap:13px;font-weight:850;letter-spacing:.4px;cursor:pointer}.brand-mark{height:37px;width:37px;border:2px solid var(--gold);transform:rotate(45deg);border-radius:7px;display:grid;place-items:center}.brand-mark span{transform:rotate(-45deg);color:var(--gold);font-size:20px}.brand small{display:block;font-weight:550;font-size:10px;letter-spacing:2px;color:var(--muted)}nav{display:flex;gap:3px;margin-left:20px}nav button{background:none;border:none;color:var(--muted);font-size:14px;padding:8px 13px}nav button.active{color:var(--ink);background:var(--panel)}.account{margin-left:auto;display:flex;gap:10px;align-items:center}.avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#325b52;color:var(--mint);font-weight:750}.shell{max-width:1500px;margin:auto;padding:32px 28px 60px}.panel{background:linear-gradient(140deg,#182a35,#12232e);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:30px;align-items:center;margin:16px 0 28px}.hero h1{font-size:clamp(44px,4.6vw,72px);font-weight:900;letter-spacing:-3px;line-height:.99;margin:18px 0 24px}.hero h1 span{color:var(--gold)}.hero p{font-size:18px;color:var(--muted);max-width:510px;line-height:1.65}.hero-visual{position:relative;border-radius:25px;border:1px solid #3e564e;background:#102b28;overflow:hidden;box-shadow:0 30px 80px #0003;transform:rotate(-1deg)}.hero-visual:after{content:'YOUR ROSTER. YOUR NEXT MOVE.';position:absolute;bottom:26px;left:27px;font-size:11px;letter-spacing:2px;color:#c7d5c8;background:#112924cc;padding:8px 13px;border-radius:20px}.hero-visual canvas{width:100%;display:block}.beta-note{padding:11px 15px;border:1px solid #4c4535;background:#29291f;color:#e4cfaa;border-radius:10px;font-size:13px;margin:18px 0}.launch-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.launch-grid .panel{position:relative;padding:24px}.launch-grid .panel p{color:var(--muted);font-size:14px;min-height:44px}.launch-grid .number{font-size:11px;letter-spacing:2px;color:var(--gold);margin-bottom:14px}.launch-grid button.primary,.launch-grid button.mint{width:100%;margin-top:15px}.form-row{display:flex;gap:10px}.form-row>*{min-width:0;flex:1}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.preset{text-align:left;border-radius:14px;padding:18px;background:#132630;min-height:130px}.preset.chosen{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.preset strong{display:block;font-size:18px;margin-bottom:8px}.preset span{display:block;color:var(--muted);font-size:13px}.section-heading{margin:32px 0 18px}.page-title{margin:5px 0 25px}.room-header{margin-bottom:22px}.room-code{font:700 24px ui-monospace,monospace;letter-spacing:3px;color:var(--gold)}.players-wait{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.manager-wait{border:1px solid var(--line);border-radius:13px;padding:18px;background:#0d1c26}.manager-wait .avatar{margin-bottom:14px}.manager-wait strong{display:block;margin-bottom:10px}.wait-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px}.score-strip{display:flex;gap:10px;overflow:auto;padding:2px 0 16px;margin-bottom:8px}.score-tile{min-width:153px;flex:1;border:1px solid var(--line);border-radius:12px;background:#142530;padding:13px 15px}.score-tile.active{border-color:var(--gold);background:#2a2d26}.score-tile .name{font-size:13px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.score-tile.active .name{color:var(--gold)}.score-tile .score{font-size:30px;font-weight:800;line-height:1.2}.bases-mini{display:flex;gap:5px;margin:9px 0 3px}.bases-mini i{width:8px;height:8px;border:1px solid #849b9e;transform:rotate(45deg);display:block}.bases-mini i.on{background:var(--gold);border-color:var(--gold)}.match-grid{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:18px;align-items:start}.stadium-panel{padding:0;overflow:hidden}.stadium-top{padding:17px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;justify-content:space-between}.stadium-top h3{margin:0}.field-wrap{width:100%;aspect-ratio:1000/620;position:relative;background:#10232d;overflow:hidden}.field-wrap canvas{display:block;width:100%;height:100%}.field-bottom{padding:14px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;min-height:53px}.action-panel{padding:22px;min-height:500px}.timer{font:700 20px ui-monospace,monospace;color:var(--gold)}.action-panel h2{font-size:24px;margin:15px 0}.action-hint{font-size:14px;color:var(--muted);line-height:1.55}.selected-card{background:linear-gradient(130deg,#304741,#233941);border:1px solid #577469;border-radius:14px;padding:17px;margin:18px 0}.selected-card .position{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--gold)}.selected-card h3{font-size:24px;margin:9px 0}.stat-row{display:flex;gap:12px;font-size:12px;color:var(--muted)}.stat-row b{color:var(--ink);font-size:18px;display:block}.stamina{height:5px;background:#0c1b24;border-radius:10px;overflow:hidden;margin-top:13px}.stamina i{height:100%;display:block;background:var(--mint);border-radius:10px}.stamina i.tired{background:var(--gold)}.stamina i.exhausted{background:var(--red)}.styles{display:flex;gap:5px;margin-bottom:10px}.styles button{padding:8px 6px;font-size:12px;flex:1;min-width:0}.styles button.chosen{color:var(--gold);border-color:var(--gold);background:#3d3725}.action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.action-buttons button{padding:10px 8px;font-size:14px}.action-buttons button.full{grid-column:1/-1}.activations{display:flex;gap:6px}.activations i{display:block;width:24px;height:6px;background:#344651;border-radius:4px}.activations i.used{background:var(--gold)}.roster-toolbar{margin:27px 0 12px}.roster-scroll{display:flex;gap:12px;overflow:auto;padding:3px 2px 16px;scroll-snap-type:x proximity}.card{flex:0 0 154px;padding:0;border:1px solid #405761;border-radius:14px;overflow:hidden;background:#122733;text-align:left;scroll-snap-align:start;min-height:245px}.card:hover{background:#1c3541}.card.selected{border-color:var(--gold);box-shadow:0 0 0 2px #efbe6933}.card.retired{opacity:.4}.card-cap{padding:9px 13px;background:#243d47;border-bottom:1px solid #456069;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:#c3d3d0}.card-portrait{height:74px;position:relative;background:radial-gradient(circle at 60% 40%,#496353,transparent 80%),#1d393f;overflow:hidden;display:grid;place-items:center}.card-portrait:before{content:'';width:85px;height:85px;border:1px solid #95c3a54a;position:absolute;transform:rotate(45deg)}.card-portrait .jersey{font-size:39px;font-weight:900;color:#e9d8ae;font-family:Georgia,serif;text-shadow:2px 3px #142821}.card-content{padding:12px}.card-name{font-size:15px;font-weight:750;display:block;margin-bottom:5px;line-height:1.2}.card-ability{font-size:10px;color:var(--mint);text-transform:uppercase;letter-spacing:1px}.card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:8px;font-size:10px;color:var(--muted)}.card-stats b{display:block;font-size:17px;color:var(--ink)}.card-footer{margin-top:7px;font-size:10px;color:var(--muted)}.lower-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-top:15px}.log{height:215px;overflow:auto}.log-item{font-size:13px;border-bottom:1px solid var(--line);padding:10px 0;color:var(--muted)}.log-item.battle{color:var(--ink)}.log-item.spark{color:var(--gold)}.chat-messages{height:190px;overflow:auto;font-size:14px}.chat-message{margin:8px 0;word-break:break-word}.chat-message strong{color:var(--mint);font-size:12px;display:block}.chat-form{display:flex;gap:8px;margin-top:12px}.chat-form input{min-width:0}.guide{max-width:1000px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.guide .panel p{color:var(--muted);font-size:15px}.guide table{width:100%;border-collapse:collapse;font-size:14px}.guide td,.guide th{padding:10px;text-align:left;border-bottom:1px solid var(--line)}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.collection-grid .card{width:100%}.result-banner{text-align:center;padding:32px;background:linear-gradient(130deg,#343c29,#193a35);border:1px solid #748058;border-radius:18px;margin-bottom:20px}.result-banner h2{color:var(--gold);font-size:37px;margin-bottom:10px}.footer{text-align:center;color:#718c97;font-size:12px;margin-top:40px}.error-bar{padding:13px 17px;background:#3e2728;border:1px solid #785453;border-radius:12px;margin-bottom:18px;color:#ffcbc3}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 30px);background:#30484c;color:#fff;border:1px solid #6b8883;border-radius:12px;padding:13px 20px;z-index:100;box-shadow:0 8px 30px #0005;font-size:14px}.toast.error{background:#512f32;border-color:#9c6261}dialog{background:#142630;color:var(--ink);border:1px solid #47616a;border-radius:20px;padding:28px;width:min(450px,calc(100vw - 30px));max-height:90vh;overflow:auto;box-shadow:0 30px 130px #0008}dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}dialog h2{font-size:27px;margin:8px 0 16px}dialog .close{float:right;padding:2px 10px;background:none;border:none;font-size:25px;min-height:32px}dialog form .primary{width:100%;margin-top:21px}.auth-tabs{display:flex;gap:8px;margin-bottom:18px}.auth-tabs button{flex:1;font-size:14px}.auth-tabs .chosen{border-color:var(--gold);color:var(--gold)}.admin-user{padding:13px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}.admin-user small{display:block;color:var(--muted)}.history-row{padding:16px 0;border-bottom:1px solid var(--line)}.history-row span{display:block;color:var(--muted);font-size:14px}.update{position:fixed;bottom:15px;right:15px;max-width:340px;z-index:80;background:#213e3c;border:1px solid var(--mint);border-radius:13px;padding:18px}.update p{font-size:13px;margin-bottom:10px}
@media(min-width:1500px){.match-grid{grid-template-columns:minmax(0,1fr) 355px}.card{flex-basis:168px}}
@media(max-width:1100px){.top-inner{padding:12px 18px;gap:14px}nav{margin-left:0}.shell{padding:22px 18px 50px}.hero{gap:20px}.hero h1{font-size:52px}.match-grid{grid-template-columns:minmax(0,1fr) 305px}.action-panel{padding:18px}.players-wait{grid-template-columns:repeat(3,1fr)}.account .chip{display:none}}
@media(max-width:820px){.top-inner{flex-wrap:wrap}.brand{font-size:14px}.brand small{font-size:9px}.account{margin-left:auto}nav{order:3;width:100%;justify-content:space-around;border-top:1px solid var(--line);padding-top:7px}nav button{flex:1}.hero{grid-template-columns:1fr;margin-top:5px}.hero h1{font-size:52px;letter-spacing:-2px}.hero p{max-width:100%;font-size:16px}.hero-visual{max-height:300px;transform:none}.launch-grid{grid-template-columns:1fr}.launch-grid .panel p{min-height:0}.preset-grid{grid-template-columns:1fr;gap:10px}.preset{min-height:95px}.match-grid{grid-template-columns:1fr}.action-panel{min-height:0}.action-panel h2{margin:12px 0}.selected-card{margin:12px 0}.selected-card .stat-row{justify-content:space-between}.action-buttons button{min-height:50px;font-size:16px}.styles button{font-size:14px;min-height:46px}.lower-grid{grid-template-columns:1fr}.score-tile{min-width:130px}.players-wait{grid-template-columns:1fr 1fr}.guide-grid{grid-template-columns:1fr}.card{flex-basis:162px;min-height:250px}.stadium-top{padding:14px}.stadium-top h3{font-size:16px}.field-bottom{font-size:13px}.room-header{align-items:flex-start}.room-code{font-size:18px}.panel{padding:20px}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-toolbar h3{font-size:17px}.hero-visual:after{bottom:14px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
