/* Raltan shared tokens and base styles (dark console look). Used by every page. */
:root{
  color-scheme:dark;
  --bg:#0C0F12; --side:#101418; --line:#222A33; --line2:#2A3340; --panel:#12171C; --panel2:#141C22; --well:#0E1317; --hover:#1A232C; --pill:#151A22;
  --ink:#E6EDF3; --ink2:#C3CDD7; --mut:#9AA7B4; --faint:#6F7C89;
  --green:#3DDC97; --green-ink:#04130C; --green-bg:#0F1F18; --green-line:#1F4D3A; --green-hi:#5BE4A9;
  --violet:#B69CFF; --violet-bg:#1A1530; --violet-line:#3A2E66; --violet-hi:#2A2150;
  --blue:#7CC7FF; --blue-bg:#0E1A24; --blue-line:#1E3A52;
  --amber:#F5D38A; --amber-bg:#1F1A10; --amber-line:#4A3A14;
  --me:#12301F; --off:#1E2A24; --off-ink:#6C7A72; --danger:#FF8A8A; --danger-line:#5A2A2A; --avbg:#1C2630;
  --f-sans:"IBM Plex Sans","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-sans);font-size:14px;line-height:1.5;-webkit-text-size-adjust:100%}
a{color:var(--green)}
a:hover{color:var(--green-hi)}
img,video{max-width:100%}
.mono{font-family:var(--f-mono)}
.muted{color:var(--mut)}.ink2{color:var(--ink2)}.faint{color:var(--faint)}.strong{font-weight:600}.small{font-size:13px}.nomargin{margin:0}
.c-green{color:var(--green)}.c-violet{color:var(--violet)}.c-danger{color:var(--danger)}
.ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brandmark{width:26px;height:26px;border:2px solid var(--green);border-radius:6px;display:inline-block;flex:0 0 auto;position:relative}
.brandmark::after{content:"";position:absolute;left:5px;top:5px;width:8px;height:8px;border-radius:2px;background:var(--green)}
.btn{min-height:44px;padding:0 18px;border-radius:6px;font:inherit;font-weight:600;cursor:pointer;border:1px solid #2E3843;background:transparent;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.btn:hover{background:var(--hover);color:var(--ink)}
.btn.primary{background:var(--green);border-color:var(--green);color:var(--green-ink);font-weight:700}
.btn.primary:hover{background:var(--green-hi);color:var(--green-ink)}
.btn.fb{border-color:var(--green);color:var(--green)}
.btn.fb:hover{background:var(--green-bg)}
.btn.text{border-color:transparent;background:none;color:var(--mut);font-weight:500;font-size:13px;padding:0 10px}
.btn.text:hover{color:var(--ink)}
.btn.danger{color:var(--danger)}
.btn.danger-btn{border-color:var(--danger-line);color:var(--danger)}
.btn.small-btn{min-height:36px;padding:0 12px;font-size:13px}
.btn.wide{width:100%}
.btn[disabled],.btn[disabled]:hover{background:var(--off);border-color:var(--off);color:var(--off-ink);cursor:not-allowed}
.tag{display:inline-flex;align-items:center;gap:4px;font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;border-radius:4px;padding:1px 6px;border:1px solid var(--line2);color:var(--mut);white-space:nowrap}
.tag.ok{color:var(--green);background:var(--green-bg);border-color:var(--green-line)}
.tag.vi{color:var(--violet);background:var(--violet-bg);border-color:var(--violet-line)}
.tag.bl{color:var(--blue);background:var(--blue-bg);border-color:var(--blue-line)}
.tag.am{color:var(--amber);background:var(--amber-bg);border-color:var(--amber-line)}
.tag.dg{color:var(--danger);border-color:var(--danger-line)}
textarea,input[type=text],input[type=email],input[type=search],input[type=url],input[type=number],select{width:100%;min-height:44px;padding:10px 12px;border-radius:6px;border:1px solid var(--line2);background:var(--well);color:var(--ink);font:inherit}
textarea{min-height:90px;resize:vertical;line-height:1.5}
input::placeholder,textarea::placeholder{color:var(--faint)}
:focus-visible{outline:2px solid var(--green);outline-offset:2px}
