@font-face { font-family:'Archivo Narrow'; src:url('/fonts/archivo-narrow-latin-variable.woff2') format('woff2'); font-weight:100 900; font-display:swap; }
@font-face { font-family:'JetBrains Mono'; src:url('/fonts/jetbrains-mono-latin-variable.woff2') format('woff2'); font-weight:100 900; font-display:swap; }
:root { --theme-scheme:dark; color-scheme:dark; }
html, body { margin:0; min-height:100%; background:var(--theme-canvas,#000); color:var(--theme-text,#f5f7fa); font-family:Arial,Helvetica,sans-serif; }
body { min-width:320px; }
button, input { font:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
::selection { background:#4dde1f; color:#071421; }
:focus-visible { outline:2px solid var(--theme-cyan,#00d9ff); outline-offset:3px; }
* { scrollbar-color:var(--theme-muted,#8b96a5) var(--theme-canvas,#05070a); }
.brand-with-byline { position:relative; padding-bottom:24px; }
.brand-with-byline::after { content:'by Ricardo Stasinski'; position:absolute; bottom:0; left:0; width:100%; text-align:center; color:var(--theme-cyan,#78cdf6); font:400 9px/1.4 Consolas,monospace; letter-spacing:2px; text-transform:uppercase; }
.app-theme-toggle { position:fixed; z-index:1000; top:48px; right:max(16px,env(safe-area-inset-right)); width:44px; height:44px; display:grid; place-items:center; padding:0; border:1px solid var(--theme-line,#384453); border-radius:50%; background:var(--theme-surface,#0e131a); color:var(--theme-text,#f5f7fa); cursor:pointer; }
.app-theme-toggle:hover { border-color:#4dde1f; }
html[data-theme="white"] {
  color-scheme:light;
  --theme-scheme:light;
  --theme-canvas:#f3f4f9;
  --theme-surface:#fafaf9;
  --theme-text:#0d131b;
  --theme-muted:#465260;
  --theme-line:#bac3cf;
  --theme-green:#4dde1f;
  --theme-cyan:#005a9c;
  --theme-red:#b42338;
  --theme-amber:#875100;
  --theme-line-soft:rgba(12,20,32,.16);
  --theme-wash:rgba(12,20,32,.06);
  --theme-surface-glass:rgba(255,255,255,.94);
}
html[data-theme="white"] .legal-document .badge-version { color:#fff; }
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; }
}
