
/* GRAPHITE theme (2026-07-20) — replaces the earlier warm-brown/cream palette, which read as
   "yellowish/golden" across every surface (bg, cards, and body text all carried a brown/tan
   cast). This pass keeps the same eye-comfort rules (no pure black/white, no harsh contrast,
   same alpha structure for card elevation) but re-hues the NEUTRAL/SURFACE/TEXT family to true
   neutral gray. Category accent colors (--c-blue/purple/teal/amber/green/red/pink/cyan/orange)
   and --c-late are deliberately UNCHANGED — they were never the source of the "golden"
   complaint, only the base surfaces were, so this stays a contained token swap, not a redesign. */
:root {
  --bg:#1a1a1a; --bg2:#202020;
  --card:rgba(37,37,37,.85); --card2:rgba(32,32,32,.72); --card3:rgba(42,42,42,.45);
  --border:rgba(255,255,255,.08); --border2:rgba(255,255,255,.12);
  --text:#e2e2e2; --text2:#c4c4c4; --muted:#8f8f8f; --muted2:#5c5c5c;
  --fg:#e2e2e2;
  --c-blue:#7ba3c9; --c-purple:#a08dc4; --c-teal:#5daa7a; --c-amber:#c9a04a;
  --c-green:#5daa7a; --c-red:#c95a4a; --c-pink:#c47a8d; --c-cyan:#6aaa9a; --c-orange:#c98a4a;
  /* Dedicated, LOW-STAKES "late/attention" accent — deliberately separate from --c-red
     (which stays untouched everywhere it means delete/cancel/error, so those destructive
     cues keep their full clarity). Used only for the Today-card "Late" cue text and the
     high-priority dot: a softer, desaturated terracotta so it informs without shouting. */
  --c-late:#c07a68;
  /* Recessed tone for section shells — distinct from --bg (page) and darker than --card. */
  --panel:#141414;
  --badge-purple-bg:rgba(160,141,196,.15); --badge-purple-text:#c4b8e0;
  --badge-blue-bg:rgba(123,163,201,.15); --badge-blue-text:#a0c4e0;
  --badge-teal-bg:rgba(93,170,122,.12); --badge-teal-text:#8acaa0;
  --badge-amber-bg:rgba(201,160,74,.12); --badge-amber-text:#dcc080;
  --badge-pink-bg:rgba(196,122,141,.12); --badge-pink-text:#daa0b0;
  --glass:rgba(255,255,255,.04); --glass-border:rgba(255,255,255,.06); --glass-hover:rgba(255,255,255,.06);
  --gradient-page:none;
}
[data-theme="light"] {
  /* Light Graphite — same neutral-gray direction, kept at the same comfortable card-vs-page
     brightness step (~.92 alpha) that the earlier eye-comfort pass already tuned; only the hue
     changes, not the brightness relationship. */
  --bg:#efefec; --bg2:#e6e6e2;
  --card:rgba(250,250,248,.92); --card2:rgba(242,242,239,.75); --card3:rgba(234,234,230,.55);
  --border:rgba(0,0,0,.08); --border2:rgba(0,0,0,.13);
  --text:#2a2a28; --text2:#4a4a46; --muted:#6e6e6a; --muted2:#9a9a94;
  --fg:#2a2a28;
  --c-blue:#5a8ab0; --c-purple:#8a7ab0; --c-teal:#5daa7a; --c-amber:#b89a44;
  --c-green:#5daa7a; --c-red:#d45a4a; --c-pink:#c07080; --c-cyan:#5a9a9a; --c-orange:#c08040;
  /* Same low-stakes "late/attention" accent as dark theme — see note above --c-late in the
     :root block. Kept separate from --c-red so destructive/error color stays untouched. */
  --c-late:#a9583f;
  /* Same recessed-shell tone as dark theme — a step behind --card, neutral gray not tan. */
  --panel:#e0e0dc;
  --badge-purple-bg:rgba(138,122,176,.1); --badge-purple-text:#6a5a90;
  --badge-blue-bg:rgba(90,138,176,.1); --badge-blue-text:#4a6a8a;
  --badge-teal-bg:rgba(93,170,122,.08); --badge-teal-text:#3a7a5a;
  --badge-amber-bg:rgba(184,154,68,.08); --badge-amber-text:#8a7030;
  --badge-pink-bg:rgba(192,112,128,.08); --badge-pink-text:#904050;
  --glass:rgba(240,240,237,.55); --glass-border:rgba(0,0,0,.04); --glass-hover:rgba(240,240,237,.85);
  --gradient-page:none;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{overflow-x:hidden;}body{background:var(--bg);color:var(--text);font-family:'Outfit',sans-serif;line-height:1.6;min-height:100vh;transition:background .2s,color .2s;overflow-x:hidden;}

button{cursor:pointer;font-family:'Outfit',sans-serif;}
input,select{font-family:'Outfit',sans-serif;}

/* HEADER */
.appheader{position:relative;z-index:1;padding:22px 36px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:1600px;margin:0 auto;}
.hdr-greeting{font-size:15px;color:var(--muted);font-weight:400;}
.hdr-title{font-size:26px;font-weight:700;letter-spacing:-.4px;color:var(--text);}
.hdr-right{display:flex;align-items:center;gap:12px;}
/* XP bar / level badge styles removed with the points system. */
.hdr-av{width:42px;height:42px;border-radius:50%;background:var(--c-teal);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0;}
.hdr-notes-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:background 150ms cubic-bezier(0.16,1,0.3,1),border-color 150ms cubic-bezier(0.16,1,0.3,1);flex-shrink:0;}.hdr-notes-btn:hover{background:var(--glass-hover);border-color:var(--c-blue);}
.theme-btn{font-size:13px;padding:6px 12px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--muted);transition:all .15s;font-weight:500;position:relative;z-index:1;}
.theme-btn:hover{background:var(--glass-hover);color:var(--text);}

/* LAYOUT */
.wrap{max-width:1600px;margin:0 auto;padding:0 36px 80px;position:relative;z-index:1;overflow-x:hidden;}

/* LOGIN SCREEN */
.login-screen{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px;}
.login-card{width:100%;max-width:360px;background:var(--card2);border:1px solid var(--border2);border-radius:16px;padding:36px 32px;display:flex;flex-direction:column;gap:16px;}
.login-title{font-size:20px;font-weight:700;color:var(--text);text-align:center;margin-bottom:4px;}
.login-input{width:100%;padding:10px 14px;border-radius:8px;border:1px solid var(--border2);background:var(--card);color:var(--text);font-family:'Outfit',sans-serif;font-size:14px;outline:none;transition:border-color .15s;}
.login-input:focus{border-color:var(--c-blue);}
.login-btn{width:100%;padding:11px 14px;border-radius:8px;border:none;background:var(--c-blue);color:#fff;font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s;}
.login-btn:hover{opacity:.88;}
.login-btn:disabled{opacity:.5;cursor:default;}
.login-error{font-size:13px;color:var(--c-red);min-height:18px;text-align:center;}
.login-sent{font-size:13px;color:var(--c-teal);min-height:18px;text-align:center;}
.login-hint{font-size:13px;color:var(--muted);line-height:1.5;text-align:center;}
.login-link{background:none;border:none;color:var(--muted);font-family:'Outfit',sans-serif;font-size:13px;cursor:pointer;text-align:center;padding:0;transition:color .15s;}
.login-link:hover{color:var(--text);}
#login-forgot-pane,#login-reset-pane{display:flex;flex-direction:column;gap:12px;}
@media(max-width:480px){.login-card{padding:28px 20px;}}
.content-row{display:flex;gap:24px;align-items:flex-start;}