*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:#1c1424;color:#f4eefa}
button{font-size:1rem;border:0;border-radius:10px;padding:12px 14px;background:#5b3b7a;color:#fff;cursor:pointer;min-height:48px}
button.sel{background:#e05aa8}button.ghost{background:#3a2c48}button.go{background:#2f9e62}button.warn{background:#c0392b}
input,select,textarea{font-size:1rem;padding:10px;border-radius:8px;border:1px solid #6b5580;background:#2a2036;color:#fff}
#statusbar .training{background:#ffcc00;color:#000;font-weight:800;text-align:center;padding:8px;font-size:1.2rem;letter-spacing:1px}
#statusbar .lane{background:#ff8c1a;color:#000;font-weight:700;text-align:center;padding:6px}
.sb{display:flex;gap:8px;align-items:center;padding:6px 10px;background:#120c18;font-size:.85rem;flex-wrap:wrap}
.dot{width:12px;height:12px;border-radius:50%;display:inline-block}.dot.on{background:#2ecc71}.dot.off{background:#e74c3c}
.card{background:#2a2036;border-radius:12px;padding:12px;margin:8px}
table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid #3d2f4c;padding:6px;text-align:left;font-size:.9rem}
