/* Numen / Instrument: original blue-ink and mineral-teal visual language. */
:root {
  --bg:#0b1423; --surface:#111e30; --surface2:#18283d; --line:#293a51;
  --text:#e8eef6; --muted:#a0b1c5; --accent:#78b7ff; --accent-dim:#1c3d63;
  --sel:#182f48; --radius:16px; --instrument:#59d8bd;
}
:root[data-theme="light"] {
  --bg:#f2f5f8; --surface:#fff; --surface2:#edf3f7; --line:#d8e2eb;
  --text:#163047; --muted:#536b7e; --accent:#14619c; --accent-dim:#deedf8;
  --sel:#e7f3fa; --instrument:#087f72;
}
body { background:var(--bg); letter-spacing:-.01em; }
button,input,textarea,select { font-family:inherit; }
.top { padding:14px 0 20px; }
.top .brand-mark { filter:none; }
.who { font-size:12px; }
.top .cvx-lockup { display:none; }
.tabs { gap:5px; border-bottom:1px solid var(--line); }
.tab { font-size:13px; font-weight:600; color:var(--muted); border:1px solid transparent; }
.tab.on { color:var(--accent); border-color:var(--line); background:var(--surface); box-shadow:0 2px 4px #071a2b06; }
.tab:hover { color:var(--text); background:var(--surface2); }
.ws-heading { padding:10px 0 4px; }
#overview-recent { overflow-x:auto; }
.ws-heading .eyebrow { padding:0; border:0; border-radius:0; background:none; color:var(--instrument); font-weight:600; letter-spacing:.13em; font-size:10px; }
.ws-heading h1 { font-size:34px; font-weight:600; letter-spacing:-.045em; }
.ws-card { box-shadow:0 3px 14px #071a2b04; }
.ws-metrics .ws-card { position:relative; overflow:hidden; padding:24px; }
.ws-metrics .ws-card::before { content:''; position:absolute; left:0; top:24px; bottom:24px; width:3px; background:var(--instrument); border-radius:0 4px 4px 0; }
.ws-metrics .ws-card:nth-child(2)::before { background:var(--accent); }
.ws-metrics .ws-card:nth-child(3)::before { background:var(--muted); }
.ws-number { font-size:40px; font-weight:500; font-variant-numeric:tabular-nums; }
.ws-actions button { position:relative; padding-top:26px; min-height:155px; }
.ws-actions h2 { font-size:15px; font-weight:600; }
.ws-actions p { font-size:12px; max-width:35ch; }
.ws-principle { border-left:3px solid var(--instrument); background:var(--surface2); }
.ws-table th { font-size:10px; letter-spacing:.065em; text-transform:uppercase; }
.ws-table td { font-variant-numeric:tabular-nums; }
.ws-table tbody tr:last-child td { border-bottom:0; }
.ws-table tbody tr:hover { background:var(--surface2); }
.ws-badge { border-radius:5px; color:var(--muted); background:var(--surface2); border:0; font-weight:500; }
.tile2 { padding:22px; border-radius:16px; position:relative; transition:transform .16s,border-color .16s,box-shadow .16s; box-shadow:0 4px 16px #071a2b04; }
.tile2:hover { transform:translateY(-3px); border-color:var(--accent); box-shadow:0 12px 26px #071a2b10; }
.tile2 { display:flex; flex-direction:column; height:100%; }
.tile2 h3 { font-size:16px; margin:17px 0 12px; line-height:1.4; letter-spacing:-.025em; }
.t2-ico { padding:0; width:52px; height:52px; align-items:center; justify-content:center; border-radius:14px; background:var(--surface2); border:1px solid var(--line); color:var(--accent); }
.t2-ico svg { width:34px; height:34px; }
.t2-list li { font-size:12px; line-height:1.9; }
.t2-foot { margin-top:auto; padding-top:14px; border-top:1px solid var(--line); width:100%; }
.card { padding:20px; border-radius:14px; }
.card h4 { font-size:15px; margin:14px 0 5px; letter-spacing:-.02em; }
.card .d { color:var(--muted); line-height:1.65; }
.card.sel { border-color:var(--instrument); box-shadow:inset 3px 0 0 var(--instrument); }
.numen-glyph { color:var(--accent); overflow:visible; flex-shrink:0; }
.numen-glyph .glyph-accent { stroke:var(--instrument); }
.card > .numen-glyph { width:44px; height:44px; padding:5px; background:var(--surface2); border-radius:12px; }
.lic { font-size:10px; border-radius:5px; letter-spacing:.015em; }
.hero, #v-overview > .ws-heading, #v-jobs > .ws-heading { background:linear-gradient(115deg,#163c68,#165f86 65%,#107974); border:1px solid #ffffff1c; border-radius:20px; box-shadow:none; }
.hero h1 { color:#fff; letter-spacing:-.045em; }
.hero p { color:#dbeaf3; }
.hero .eyebrow { color:#d5fff2; background:#ffffff18; }
#v-overview > .ws-heading, #v-jobs > .ws-heading { padding:24px; }
#v-overview > .ws-heading h1, #v-jobs > .ws-heading h1 { color:#fff; }
#v-overview > .ws-heading p, #v-jobs > .ws-heading p { color:#dbeaf3; }
#v-overview > .ws-heading .eyebrow, #v-jobs > .ws-heading .eyebrow { color:#d5fff2; background:transparent; }
#v-overview > .ws-heading .thispage, #v-jobs > .ws-heading .thispage, .hero .hero-thispage { color:#fff; border-color:#ffffff66; }
#v-overview > .ws-heading .thispage:hover, #v-jobs > .ws-heading .thispage:hover { background:#ffffff18; }
.hero .stat { background:#ffffff12; border-color:#ffffff24; }
.stat { background:var(--surface2); border-color:var(--line); }
.cat { border-radius:16px; background:var(--surface); }
#agent { border-left:1px solid var(--line); background:var(--surface); box-shadow:-8px 0 25px #071a2b04; }
.agent-head { padding:21px 18px; background:var(--surface); }
.agent-head strong { font-size:14px; }
.agent-sub { font-size:10px; }
.ws-evidence-hint { background:var(--surface2); line-height:1.7; }
.agent-form { padding:16px; }
#agent-input { border-radius:12px; padding:12px; font-size:13px; }
.agent-suggest button { border-radius:8px; text-align:left; line-height:1.5; }
.btn,.go { border-radius:8px; box-shadow:none; }
.btn-ghost { border-radius:7px; }
.foot { opacity:.85; font-size:11px; }
@media(max-width:600px) { .ws-heading h1 { font-size:29px; } .ws-metrics .ws-card { padding:20px; } .tile2 { padding:18px; } .who { margin-left:0; } }
@media(prefers-reduced-motion:reduce) { .tile2 { transition:none; } .tile2:hover { transform:none; } }
