/* Design tokens (v2 item 18). Dark theme and plasma ramp unchanged; this only normalises scale, spacing and components. */
:root{
  --fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-16:16px;--fs-20:20px;--fs-28:28px;
  --sp-4:4px;--sp-8:8px;--sp-12:12px;--sp-16:16px;--sp-24:24px;
  --radius:12px;--radius-sm:8px;
  --shadow:0 8px 30px rgba(0,0,0,.35);
  --border:1px solid #22304a;
  --btn-bg:#15203a;--btn-bg-h:#1d2c4a;--focus:0 0 0 2px #4cc9f0;
}
/* buttons: three styles */
.btn,.tbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 var(--sp-12);border:var(--border);border-radius:var(--radius-sm);background:var(--btn-bg);color:#e6edf7;font:inherit;font-size:var(--fs-13);line-height:1;cursor:pointer;white-space:nowrap}
.btn:hover,.tbtn:hover{background:var(--btn-bg-h)}
.btn.primary{background:#4cc9f0;border-color:#4cc9f0;color:#04121f;font-weight:600}.btn.primary:hover{filter:brightness(1.08);background:#4cc9f0}
.btn.ghost{background:transparent;border-color:transparent;color:#8ea0bd}.btn.ghost:hover{color:#e6edf7;background:rgba(255,255,255,.04)}
.btn.sm{min-height:28px;padding:0 var(--sp-8);font-size:var(--fs-12)}
.btn:focus-visible,.tbtn:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:none;box-shadow:var(--focus)}
.btn:disabled,.tbtn:disabled{opacity:.45;cursor:default}
.tbtn.icon{width:32px;padding:0}
.ic{flex:none;display:block}
button .ic+span{margin-left:0}
/* custom checkbox */
input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;width:16px;height:16px;margin:0;border:1.5px solid #4a5d80;border-radius:4px;background:#0d1426;display:inline-grid;place-content:center;cursor:pointer;vertical-align:-3px;transition:background .12s,border-color .12s}
input[type=checkbox]::after{content:'';width:9px;height:5px;border:2px solid #04121f;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px);opacity:0}
input[type=checkbox]:checked{background:var(--cb,#4cc9f0);border-color:var(--cb,#4cc9f0)}input[type=checkbox]:checked::after{opacity:1}
input[type=checkbox]:hover{border-color:#7f93b5}
/* custom select */
select{appearance:none;-webkit-appearance:none;min-height:32px;padding:0 28px 0 var(--sp-8);border:var(--border);border-radius:var(--radius-sm);background:var(--btn-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238ea0bd' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center;color:#e6edf7;font:inherit;font-size:var(--fs-13);cursor:pointer}
select:hover{background-color:var(--btn-bg-h)}
select option{background:#0f1729;color:#e6edf7}
/* cards: one radius, one shadow, one border */
.card{border-radius:var(--radius);box-shadow:var(--shadow);border:var(--border)}
/* type scale helpers */
.t12{font-size:var(--fs-12)}.t13{font-size:var(--fs-13)}.t14{font-size:var(--fs-14)}.t16{font-size:var(--fs-16)}.t20{font-size:var(--fs-20)}.t28{font-size:var(--fs-28)}
