  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{
    background:var(--bg-app);
    color:var(--text-hi);
    font-family:"Onest","Golos Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
    line-height:1.45;
    position:relative;
  }
  body::before{
    content:"";
    position:fixed; inset:0; z-index:0; pointer-events:none;
    background:
      radial-gradient(600px 400px at 88% -6%, rgba(36,107,253,0.05), transparent 60%),
      radial-gradient(500px 380px at 6% 104%, rgba(25,175,163,0.04), transparent 60%);
  }
  #app{position:relative;z-index:1;min-height:100vh;}
  h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-0.01em;}
  p{margin:0;}
  button{font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;}
  input,select,textarea{font-family:inherit;}
  a{color:inherit;}
  ::-webkit-scrollbar{width:10px;height:10px;}
  ::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;}
  ::-webkit-scrollbar-track{background:transparent;}

  .text-primary{color:var(--text-hi);}
  .text-secondary{color:var(--text-mid);}
  .text-muted{color:var(--text-low);}
  .text-disabled{color:var(--text-disabled);}
  .text-accent{color:var(--accent-2);}
  .text-on-accent{color:var(--text-on-accent);}

  .eyebrow{text-transform:uppercase;letter-spacing:0.09em;font-size:11px;font-weight:700;color:var(--accent-2);}

  button:focus-visible,
  .btn:focus-visible,
  .nav-item:focus-visible,
  .action-card:focus-visible,
  .quiz-option:focus-visible,
  .chip-toggle:focus-visible,
  .dir-card button:focus-visible,
  input:focus-visible, select:focus-visible{
    outline:2px solid var(--accent);
    outline-offset:2px;
  }
  button:disabled{opacity:0.5;cursor:not-allowed;filter:grayscale(0.2);}
  button:not(:disabled):active{transform:scale(0.98);}

  .skip-link{
    position:absolute; left:-9999px; top:0; z-index:1000;
    background:var(--accent); color:var(--text-on-accent);
    padding:10px 16px; border-radius:0 0 8px 0; font-weight:600; font-size:13px;
  }
  .skip-link:focus{ left:0; }
  #app:focus{ outline:none; }

