/* Horizon Matrix — Base: variables, reset, typography, login */
  :root{
    /* Colors */
    --navy:#1a2744;--navy-mid:#243357;--navy-light:#2e4070;
    --amber:#f0a030;--amber-light:#f5b455;--amber-dim:rgba(240,160,48,0.15);
    --red-dim:rgba(192,57,43,0.12);--green-dim:rgba(26,122,74,0.12);
    --slate:#a0b4d0;--border:rgba(255,255,255,0.08);--white:#f4f6fb;--text:#e8ecf4;
    /* Type scale */
    --text-xs:11px;--text-sm:12px;--text-base:14px;--text-lg:16px;--text-xl:18px;--text-2xl:24px;
    /* Spacing */
    --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;
    /* Z-index scale */
    --z-dropdown:10;--z-sticky:20;--z-overlay:100;--z-modal:200;--z-toast:300;--z-login:500;
    /* Horizon brand */
    --hz-amber:#ed9137;--hz-amber-warm:#d78444;--hz-gold:#f1c239;--hz-canyon:#586193;--hz-iris:#3c54a4;
    --hz-iris-dim:rgba(60,84,164,.12);--hz-iris-border:rgba(60,84,164,.3);--hz-amber-dim:rgba(237,145,55,.12);
    /* Fonts */
    --mono:'DM Mono',monospace;--sans:'DM Sans',sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  /* Global interaction: cursor + focus */
  button,a,[onclick],[role="button"],.card,.sidebar-btn,.board-item,.profile-btn{cursor:pointer;}
  /* Focus states — keyboard accessibility */
  :focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:4px;}
  button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none;}
  /* Reduced motion */
  @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important;}}
  body{background:var(--navy);color:var(--text);font-family:var(--sans);height:100dvh;min-height:100vh;overflow:hidden;}

  /* ── C6: SKIP LINKS ──────────────────────────────────────────────────────── */
  .skip-links{position:absolute;top:0;left:0;z-index:999;}
  .skip-link{position:absolute;top:-50px;left:0;background:var(--amber);color:var(--navy);padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;border-radius:0 0 6px 0;transition:top .15s;white-space:nowrap;}
  .skip-link:focus{top:0;position:relative;display:block;}

  /* ── C12: TOOLTIPS ───────────────────────────────────────────────────────── */
  [data-tooltip]{position:relative;}
  [data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--navy-light);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:11px;font-family:var(--mono);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:var(--z-toast);}
  [data-tooltip]:hover::after,[data-tooltip]:focus::after{opacity:1;}

  /* ── C14: TOUCH TARGETS ──────────────────────────────────────────────────── */
  .toggle-switch,.profile-btn,.nav-select,.clb{min-height:44px;}
  /* Compact buttons globally */
  button,.btn{padding:4px 8px;border-radius:4px;}

  /* LOGIN */
  #login-screen{position:fixed;inset:0;background:var(--navy);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;z-index:var(--z-login);}
  .login-card{background:var(--navy-mid);border:1px solid var(--border);border-radius:14px;padding:40px;text-align:center;max-width:340px;width:90%;}
  .login-logo{font-family:var(--mono);font-size:13px;letter-spacing:.18em;color:var(--amber);text-transform:uppercase;margin-bottom:8px;}
  .login-logo span{color:var(--slate);}
  .login-sub{font-size:13px;color:var(--slate);margin-bottom:28px;}
  .g-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px;background:#fff;color:#3c3c3c;border:none;border-radius:8px;font-family:var(--sans);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;}
  .g-btn:hover{background:#f0f0f0;}
  .g-btn svg{width:18px;height:18px;}
  .login-mode-toggle{display:flex;gap:0;margin-bottom:16px;border:1px solid var(--border);border-radius:8px;overflow:hidden;}
  .login-mode-btn{flex:1;padding:8px;background:transparent;border:none;color:var(--slate);font-family:var(--mono);font-size:11px;letter-spacing:.06em;cursor:pointer;transition:all .15s;}
  .login-mode-btn.active{background:var(--amber-dim);color:var(--amber);}
  .login-mode-btn:hover:not(.active){background:rgba(255,255,255,.04);}
  .login-input{width:100%;padding:10px 12px;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:8px;color:var(--white);font-family:var(--sans);font-size:13px;outline:none;margin-bottom:8px;transition:border-color .15s;}
  .login-input:focus{border-color:rgba(232,149,42,.4);}
  .login-input::placeholder{color:rgba(136,153,187,.35);}
  .login-link{font-family:var(--mono);font-size:11px;color:var(--amber);cursor:pointer;margin-top:12px;transition:opacity .15s;}
  .login-link:hover{opacity:.7;}
