:root{--bg:#0b0e17;--panel:#131828;--panel2:#1a2138;--line:#263052;--text:#dde3f5;--dim:#8791ad;--accent:#7c5cff;--accent2:#35d0ba;--gold:#f0c33c;--black:#3a3f4d;--blue:#3f7ad9;--green:#2ea865;--red:#d94f4f;--white:#e8e6df}*{box-sizing:border-box}body{background:radial-gradient(1200px 600px at 70% -10%, #1a2140 0%, var(--bg) 55%);color:var(--text);min-height:100vh;margin:0;font:15px/1.45 -apple-system,Segoe UI,Roboto,Helvetica,sans-serif}#root{max-width:1180px;margin:0 auto;padding:0 20px 60px}.topbar{border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:18px 0;display:flex}.brand{letter-spacing:3px;color:var(--text);font-size:20px;font-weight:700}.brand span{color:var(--accent)}.nav{flex:1;gap:6px;display:flex}.nav button{color:var(--dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:7px 14px;font-size:14px}.nav button.on{color:var(--text);border-color:var(--line);background:var(--panel)}.nav button:hover{color:var(--text)}.userchip{color:var(--dim);font-size:13px}.userchip b{color:var(--accent2)}.login{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:14px;max-width:420px;margin:12vh auto;padding:32px}.login input{border:1px solid var(--line);background:var(--panel2);width:100%;color:var(--text);border-radius:8px;margin:16px 0;padding:10px 12px;font-size:15px}h2{margin:26px 0 10px;font-size:17px}.grid{gap:14px;display:grid}.cols2{grid-template-columns:1fr 1fr}.cols3{grid-template-columns:repeat(3,1fr)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}.panel h3{color:var(--dim);text-transform:uppercase;letter-spacing:1px;margin:0 0 8px;font-size:14px;font-weight:600}.dim{color:var(--dim);font-size:13px}.big{font-size:26px;font-weight:700}.btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:9px 18px;font-size:14px;font-weight:600}.btn.alt{background:var(--panel2);border:1px solid var(--line);color:var(--text)}.btn:disabled{opacity:.4;cursor:default}.btn.small{padding:4px 10px;font-size:12px}.gamecard{justify-content:space-between;align-items:center;display:flex}.locked{opacity:.45}.tag{border:1px solid var(--line);color:var(--dim);border-radius:20px;padding:2px 8px;font-size:11px}.tag.unlocked{color:var(--accent2);border-color:var(--accent2)}.ledger{font-size:13px}.ledger div{border-bottom:1px dashed var(--line);justify-content:space-between;padding:5px 0;display:flex}.table{grid-template-columns:1fr 290px;gap:16px;margin-top:16px;display:grid}.chip{cursor:pointer;-webkit-user-select:none;user-select:none;border:2px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-right:6px;font-weight:700;display:inline-flex}.chip.sel{outline:3px solid var(--accent)}.chip.dis{opacity:.35;cursor:default}.chip.black{background:var(--black)}.chip.blue{background:var(--blue)}.chip.green{background:var(--green)}.chip.red{background:var(--red)}.chip.white{background:var(--white);color:#222}.chip.gold{background:var(--gold);color:#222}.chip.mini{border-width:1px;width:24px;height:24px;margin-right:3px;font-size:12px}.tier{align-items:stretch;gap:10px;margin-bottom:10px;display:flex}.deck{background:var(--panel2);border:1px solid var(--line);width:66px;color:var(--dim);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;font-size:12px;display:flex}.deck b{color:var(--text);font-size:18px}.card{background:var(--panel2);border:1px solid var(--line);cursor:pointer;border-radius:10px;flex-direction:column;width:108px;min-height:140px;padding:8px;display:flex;position:relative}.card:hover{border-color:var(--accent)}.card .pts{font-size:20px;font-weight:800}.card .bonus{border-radius:4px;width:18px;height:18px;position:absolute;top:8px;right:8px}.bonus.black{background:var(--black)}.bonus.blue{background:var(--blue)}.bonus.green{background:var(--green)}.bonus.red{background:var(--red)}.bonus.white{background:var(--white)}.card .cost{flex-wrap:wrap;gap:3px;margin-top:auto;display:flex}.costpip{border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex}.costpip.black{background:var(--black)}.costpip.blue{background:var(--blue)}.costpip.green{background:var(--green)}.costpip.red{background:var(--red)}.costpip.white{background:var(--white);color:#222}.noblerow{gap:8px;margin-bottom:12px;display:flex}.noble{background:linear-gradient(160deg, #2a2344, var(--panel2));border:1px solid var(--line);border-radius:10px;width:76px;height:76px;padding:6px;font-size:11px}.noble .pts{font-size:14px;font-weight:800}.pl{border:1px solid var(--line);background:var(--panel);border-radius:10px;margin-bottom:10px;padding:10px}.pl.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.pl h4{justify-content:space-between;margin:0 0 6px;font-size:14px;display:flex}.pl .row{flex-wrap:wrap;align-items:center;gap:2px;min-height:24px;margin:4px 0;display:flex}.rsv{border:1px dashed var(--line);cursor:pointer;border-radius:6px;margin:2px 4px 0 0;padding:2px 6px;font-size:12px;display:inline-block}.rsv:hover{border-color:var(--accent)}.actionbar{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding:10px 14px;display:flex;position:sticky;bottom:0}.log{max-height:150px;color:var(--dim);font-size:12px;overflow-y:auto}.log div{padding:2px 0}.banner{background:linear-gradient(90deg, var(--accent), var(--accent2));color:#fff;border-radius:10px;margin-top:14px;padding:14px 18px;font-weight:700}.pop{z-index:5;background:var(--panel);border:1px solid var(--accent);border-radius:8px;gap:6px;padding:8px;display:flex;position:absolute;top:100%;left:0}
