[hidden]{display:none!important}
/* SentiSonar design system (Oct 2026 restyle, from John's "Industry" design file).
   Light is the default; [data-theme=dark] on <html> switches. Tokens: --color-*; legacy short names (--txt, --a1 …) map onto them. */
@font-face{font-family:"Barlow";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Barlow-400.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Barlow-500.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:600 800;font-display:swap;src:url(/fonts/Barlow-700.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/BarlowCondensed-400.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:500 800;font-display:swap;src:url(/fonts/BarlowCondensed-600.woff2) format("woff2")}
:root,[data-theme=light]{
  color-scheme:light;
  --color-bg:#f2f2f3; --color-surface:#e9e9ea; --color-raised:#f7f7f8; --color-text:#1d1f20;
  --color-accent:#5980a6; --color-accent-2:#728fab;
  --color-accent-100:#eef6ff; --color-accent-200:#d6ebff; --color-accent-300:#b5d9fd; --color-accent-400:#94bce3; --color-accent-500:#749dc4;
  --color-accent-600:#597ea3; --color-accent-700:#416180; --color-accent-800:#2c455d; --color-accent-900:#1d2d3d;
  --color-link:#416180; --color-on-accent:#ffffff;
  --color-divider:color-mix(in srgb,#1d1f20 16%,transparent);
  --shadow-sm:0 1px 2px color-mix(in srgb,#2b2b2d 14%,transparent);
  --shadow-md:0 3px 10px color-mix(in srgb,#2b2b2d 16%,transparent);
  --shadow-lg:0 12px 32px color-mix(in srgb,#2b2b2d 22%,transparent);
  --pos:#2f7d5b; --neg:#b8434f; --neu:#8a8d93; --amber:#9a6412; --red:#b3373f; --green:#2f7d5b;
  --pos-bg:#e1f1e8; --neg-bg:#f8e3e5; --neu-bg:#e7e7ea; --chart-grid:rgba(29,31,32,.09); --chart-axis:#64676b; --chart-empty:#d4d4d7;
}
[data-theme=dark]{
  color-scheme:dark;
  --color-bg:#151a20; --color-surface:#1c232b; --color-raised:#222a33; --color-text:#e4e7eb;
  --color-accent:#749dc4; --color-accent-2:#7e9cb8;
  --color-accent-100:#233547; --color-accent-200:#2c455d; --color-accent-500:#749dc4;
  --color-accent-600:#94bce3; --color-accent-700:#b5d9fd; --color-accent-800:#d6ebff;
  --color-link:#94bce3; --color-on-accent:#10161c;
  --color-divider:color-mix(in srgb,#e4e7eb 16%,transparent);
  --shadow-sm:0 0 0 1px rgba(255,255,255,.03),0 1px 2px rgba(0,0,0,.35);
  --shadow-md:0 0 0 1px rgba(255,255,255,.04),0 4px 14px rgba(0,0,0,.4);
  --shadow-lg:0 0 0 1px rgba(255,255,255,.05),0 14px 36px rgba(0,0,0,.5);
  --pos:#5fc59a; --neg:#f08a98; --neu:#8d96a3; --amber:#e0b252; --red:#f08a8a; --green:#5fc59a;
  --pos-bg:#173328; --neg-bg:#3a1f26; --neu-bg:#262e38; --chart-grid:rgba(228,231,235,.08); --chart-axis:#9aa3ad; --chart-empty:#2b343f;
}
:root{
  --font-heading:"Barlow Condensed",system-ui,sans-serif; --font-body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --radius-sm:2px; --radius-md:4px; --radius-lg:7px; --radius-ctl:10px; --radius-card:18px; --radius-panel:20px;
  /* legacy names used by app.css / landing / app.js inline styles */
  --bg:var(--color-bg); --glass:var(--color-surface); --glass2:var(--color-raised);
  --line:var(--color-divider); --line2:color-mix(in srgb,var(--color-text) 30%,transparent);
  --txt:var(--color-text); --mut:color-mix(in srgb,var(--color-text) 72%,transparent); --dim:color-mix(in srgb,var(--color-text) 62%,transparent);
  --soft:color-mix(in srgb,var(--color-text) 85%,transparent);
  --a1:var(--color-accent); --a2:var(--color-link); --a3:var(--color-accent-2);
  --r:var(--radius-card);
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
body{min-height:100vh;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;letter-spacing:-.01em}
a{color:var(--color-link);text-underline-offset:3px}
::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}
.bgfx{display:none}
.mono{font-variant-numeric:tabular-nums}
.glass{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);position:relative}
.logo{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;color:var(--color-bg);background:linear-gradient(135deg,var(--color-accent-500),var(--color-accent-700));box-shadow:var(--shadow-md)}
.logo svg{width:26px;height:26px;stroke:currentColor}
.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-heading);font-weight:600;font-size:15px;line-height:1.2;letter-spacing:.01em;color:var(--color-on-accent);background:var(--color-accent);border:1px solid transparent;border-radius:999px;padding:10px 20px;cursor:pointer;text-decoration:none;box-shadow:var(--shadow-md)}
[data-theme=light] .btn{background:var(--color-accent-600)}
.btn:hover{background:var(--color-accent-700)}[data-theme=dark] .btn:hover{background:var(--color-accent-600)}
.btn:disabled{opacity:.55;cursor:progress}
.btn.ghost{background:transparent;color:var(--color-text);border:1px solid var(--color-divider);box-shadow:none}
.btn.ghost:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}
.btn.small{padding:8px 14px;font-size:14px;border-radius:var(--radius-ctl)}
:focus{outline:none}
:focus-visible,.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
input,select,textarea{font:inherit;font-size:14px;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-raised);border:1px solid var(--color-divider);border-radius:var(--radius-ctl);padding:9px 11px;width:100%;min-height:38px}
input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}
input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--color-accent);outline-offset:0}
input::placeholder{color:var(--dim)}
label.f{display:block;font-size:12px;letter-spacing:.04em;color:var(--mut);margin:12px 0 5px;font-weight:500}
.err{color:var(--red);font-size:13px;min-height:18px;margin-top:10px}
.ok{color:var(--green)}
/* theme toggle */
.themetog{appearance:none;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);font:600 13px/1 var(--font-heading);letter-spacing:.03em;cursor:pointer}
.themetog:hover{background:color-mix(in srgb,var(--color-text) 7%,var(--color-surface))}
.themetog svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round}
.themetog .i-sun{display:none}[data-theme=dark] .themetog .i-sun{display:block}[data-theme=dark] .themetog .i-moon{display:none}
