:root{--bg:#0a0d14;--panel:#111722;--line:#263143;--text:#e9eef6;--muted:#8290a7;--cyan:#4be3ff;--red:#ff5d6c;--yellow:#ffd166;--green:#6df0a7;--purple:#b18cff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#152033 0,#0a0d14 45%,#080a10 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,"Segoe UI",sans-serif;min-height:100vh}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#151d2a;color:var(--text);border-radius:12px;padding:11px 14px;transition:.15s}button:hover{border-color:#48566e;transform:translateY(-1px)}button:disabled{opacity:.38;cursor:not-allowed;transform:none}.primary{background:linear-gradient(135deg,#174957,#142a36);border-color:#2a8298}.screen{max-width:1400px;margin:0 auto;padding:28px}.hidden{display:none!important}.tag{font-size:11px;letter-spacing:.18em;color:var(--cyan)}.hero{text-align:center;padding:80px 20px 35px}.hero h1{font-size:clamp(46px,8vw,96px);margin:10px 0;letter-spacing:-.05em}.hero p{max-width:820px;margin:0 auto;color:var(--muted);font-size:17px}.lobby-grid{max-width:780px;margin:25px auto;display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:linear-gradient(180deg,rgba(17,23,34,.96),rgba(12,17,26,.96));border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.2);padding:18px}.panel h2{margin:0 0 14px;font-size:16px}.panel input{width:100%;background:#0b1018;border:1px solid var(--line);color:var(--text);padding:12px;border-radius:10px;margin-bottom:10px;outline:none}.hint{text-align:center;color:var(--muted);font-size:13px;max-width:820px;margin:15px auto}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:4px 6px}.topbar strong{margin-left:10px}.dashboard{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.arena,.resources,.actions,.log,.chat{min-height:120px}.arena{grid-column:1/-1}.versus{display:grid;grid-template-columns:1fr 90px 1fr;align-items:center;gap:10px}.vs{text-align:center;font-weight:800;color:var(--muted);font-size:24px}.playercard{min-height:100px;padding:12px;background:#0c121c;border-radius:14px;border:1px solid #202b3a}.playercard .name{font-weight:750;font-size:20px}.sub{color:var(--muted);font-size:12px}.minirow{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}.stat{padding:5px 8px;border:1px solid #202b3a;border-radius:999px;font-size:12px}.corebar{display:grid;grid-template-columns:90px 1fr 90px 1fr;gap:10px;align-items:center;margin-top:12px;font-size:12px}.bar{height:9px;background:#0a0f17;border:1px solid #1b2634;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),#87f2ff);width:0%}.bar:last-child i{background:linear-gradient(90deg,#ff9da7,var(--red))}.resources{grid-column:1}.resourcegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.res{background:#0c121c;border:1px solid #202b3a;border-radius:12px;padding:10px}.res b{font-size:22px;display:block}.res span{font-size:11px;color:var(--muted)}.actions{grid-column:2}.sectionhead{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.sectionhead h2{margin:0}.sectionhead span{font-size:12px;color:var(--muted)}.actiongrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.attack{border-color:#79313a}.sabotage{border-color:#745129}.strategyrow{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.strategyrow button.active{border-color:var(--cyan);box-shadow:0 0 0 1px rgba(75,227,255,.2) inset}.build{grid-column:1/-1}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.buildcard{background:#0c121c;border:1px solid #202b3a;border-radius:13px;padding:12px;min-height:144px}.buildcard h3{margin:0 0 5px;font-size:15px}.buildcard p{font-size:12px;color:var(--muted);min-height:32px}.cost{font-size:11px;color:#b3bfd1;line-height:1.7}.buildcard footer{display:flex;justify-content:space-between;align-items:center;margin-top:7px}.buildcard button{padding:8px 10px;font-size:12px}.skills{grid-column:1/-1}.skilltree{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.branch{background:#0b1018;border:1px solid #202b3a;border-radius:14px;padding:11px}.branch h3{margin:0 0 8px;font-size:14px}.skillnode{border:1px solid #242f3d;border-radius:10px;padding:9px;margin-top:7px;background:#101724}.skillnode.locked{opacity:.55}.skillnode.owned{border-color:var(--green);background:#0c1b17}.skillnode .title{font-size:12px;font-weight:700}.skillnode .desc{font-size:10px;color:var(--muted);margin-top:4px}.skillnode button{width:100%;margin-top:7px;padding:7px;font-size:10px}.log{grid-column:1}.log #events{max-height:250px;overflow:auto}.event{padding:8px 0;border-bottom:1px solid #1c2633;font-size:12px}.event small{color:#66758b;margin-right:7px}.chat{grid-column:2}.chat #chatlog{height:180px;overflow:auto;background:#0a0f17;border-radius:10px;padding:8px}.chatline{font-size:12px;padding:5px 0}.chatline b{color:var(--cyan)}.chatrow{display:flex;gap:8px;margin-top:8px}.chatrow input{margin:0;flex:1}.overlay{position:fixed;inset:0;background:#080b11;z-index:20;display:grid;place-items:center}.bootcard{width:min(520px,90vw);padding:28px;border:1px solid var(--line);border-radius:18px;background:#101723}.logo{font-weight:800;letter-spacing:.2em;color:var(--cyan);margin-bottom:10px}#toast{position:fixed;right:16px;bottom:16px;padding:12px 14px;border-radius:10px;background:#182130;border:1px solid #2c394a;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none;max-width:360px}#toast.show{opacity:1;transform:none}.winner{color:var(--green)}@media(max-width:1050px){.dashboard{grid-template-columns:1fr}.resources,.actions,.log,.chat{grid-column:1}.cards{grid-template-columns:repeat(2,1fr)}.skilltree{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.screen{padding:14px}.lobby-grid{grid-template-columns:1fr}.cards,.skilltree{grid-template-columns:1fr}.resourcegrid{grid-template-columns:repeat(2,1fr)}.versus{grid-template-columns:1fr 50px 1fr}.corebar{grid-template-columns:65px 1fr}.corebar span:nth-of-type(2){grid-column:1;grid-row:3}.corebar .bar:nth-of-type(2){grid-column:2;grid-row:3}}
