
  @font-face{font-family:"Vazirmatn";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/Vazirmatn-Regular.woff2") format("woff2");}
  @font-face{font-family:"Vazirmatn";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/Vazirmatn-Medium.woff2") format("woff2");}
  @font-face{font-family:"Vazirmatn";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/Vazirmatn-SemiBold.woff2") format("woff2");}
  @font-face{font-family:"Vazirmatn";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/Vazirmatn-Bold.woff2") format("woff2");}
  @font-face{font-family:"Vazirmatn";font-style:normal;font-weight:800;font-display:swap;src:url("fonts/Vazirmatn-ExtraBold.woff2") format("woff2");}
  @font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2");}
  @font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/ibm-plex-mono-latin-600-normal.woff2") format("woff2");}

  /* ===== Design tokens — "Premium Medical SaaS Glassmorphism" ===== */
  :root{
    --bg:#f5f0e7;
    --bg-grad-1:rgba(124,148,167,.07);
    --bg-grad-2:rgba(175,153,112,.08);
    --bg-grad-3:rgba(169,144,113,.05);
    --surface:rgba(251,247,239,.80);
    --surface-strong:rgba(251,247,239,.96);
    --surface-solid:#fbf7ef;
    --surface-2:rgba(15,76,129,.045);
    --ink:#172033;
    --ink-dim:#5b6478;
    --ink-faint:#8891a3;
    --primary:#0f4c81;
    --primary-light:#2f80ed;
    --accent:#0f99a6;
    --accent-ink:#0b6b74;
    --accent-soft:rgba(22,184,200,.14);
    --warn:#9a5a17;
    --warn-soft:#fbeedd;
    --danger:#c62f3f;
    --danger-soft:#fbe6ea;
    --success:#1c8a5a;
    --success-soft:#e1f5ec;
    --border:rgba(15,76,129,.12);
    --border-strong:rgba(15,76,129,.22);
    --done-bg:rgba(22,184,200,.16);
    --shadow-sm:0 2px 10px rgba(15,76,129,.05);
    --shadow-md:0 8px 30px rgba(15,76,129,.08);
    --shadow-lg:0 18px 50px -12px rgba(15,76,129,.20);
    --blur:18px;
    --radius-sm:12px; --radius-md:16px; --radius-lg:22px; --radius-xl:28px; --radius-pill:999px;
    --ease:cubic-bezier(.2,.8,.2,1); --dur:200ms;
    --hl-yellow:#fde68a; --hl-green:#bbf0c9; --hl-pink:#fbcfe8; --hl-blue:#bfdbfe;
    --hl-purple:#ddd6fe; --hl-orange:#fed7aa;
  }
  :root:not([data-theme]){
    @media (prefers-color-scheme: dark){
      --bg:#0a0f1c;
      --bg-grad-1:rgba(47,128,237,.20); --bg-grad-2:rgba(22,184,200,.17); --bg-grad-3:rgba(123,63,201,.16);
      --surface:rgba(23,32,50,.66); --surface-strong:rgba(23,32,50,.86); --surface-solid:#121b2d;
      --surface-2:rgba(255,255,255,.05);
      --ink:#eef2fa; --ink-dim:#aab3c7; --ink-faint:#798299;
      --primary:#79b3ec; --primary-light:#4d94ef; --accent:#35d8e6; --accent-ink:#9aeef4;
      --accent-soft:rgba(53,216,230,.16);
      --warn:#e3ab5f; --warn-soft:rgba(227,171,95,.14);
      --danger:#f08a93; --danger-soft:rgba(240,138,147,.14);
      --success:#4ade80; --success-soft:rgba(74,222,128,.16);
      --border:rgba(255,255,255,.10); --border-strong:rgba(255,255,255,.20);
      --done-bg:rgba(53,216,230,.16);
      --shadow-sm:0 2px 10px rgba(0,0,0,.30); --shadow-md:0 8px 30px rgba(0,0,0,.36); --shadow-lg:0 22px 60px -14px rgba(0,0,0,.58);
      --hl-yellow:rgba(250,204,21,.38); --hl-green:rgba(52,211,153,.34); --hl-pink:rgba(244,114,182,.38); --hl-blue:rgba(96,165,250,.38);
      --hl-purple:rgba(167,139,250,.38); --hl-orange:rgba(251,146,60,.40);
    }
  }
  :root[data-theme="dark"]{
    --bg:#0a0f1c;
    --bg-grad-1:rgba(47,128,237,.20); --bg-grad-2:rgba(22,184,200,.17); --bg-grad-3:rgba(123,63,201,.16);
    --surface:rgba(23,32,50,.66); --surface-strong:rgba(23,32,50,.86); --surface-solid:#121b2d;
    --surface-2:rgba(255,255,255,.05);
    --ink:#eef2fa; --ink-dim:#aab3c7; --ink-faint:#798299;
    --primary:#79b3ec; --primary-light:#4d94ef; --accent:#35d8e6; --accent-ink:#9aeef4;
    --accent-soft:rgba(53,216,230,.16);
    --warn:#e3ab5f; --warn-soft:rgba(227,171,95,.14);
    --danger:#f08a93; --danger-soft:rgba(240,138,147,.14);
    --success:#4ade80; --success-soft:rgba(74,222,128,.16);
    --border:rgba(255,255,255,.10); --border-strong:rgba(255,255,255,.20);
    --done-bg:rgba(53,216,230,.16);
    --shadow-sm:0 2px 10px rgba(0,0,0,.30); --shadow-md:0 8px 30px rgba(0,0,0,.36); --shadow-lg:0 22px 60px -14px rgba(0,0,0,.58);
    --hl-yellow:rgba(250,204,21,.38); --hl-green:rgba(52,211,153,.34); --hl-pink:rgba(244,114,182,.38); --hl-blue:rgba(96,165,250,.38);
    --hl-purple:rgba(167,139,250,.38); --hl-orange:rgba(251,146,60,.40);
  }

  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    background-color:var(--bg);
    background-image:
      radial-gradient(640px circle at 12% -8%, var(--bg-grad-1), transparent 60%),
      radial-gradient(560px circle at 112% 8%, var(--bg-grad-2), transparent 55%),
      radial-gradient(760px circle at 50% 115%, var(--bg-grad-3), transparent 60%);
    background-attachment:fixed; background-repeat:no-repeat;
    color:var(--ink);
    font-family:"Vazirmatn",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,sans-serif;
    min-height:100vh;
  }
  .app{direction:rtl;text-align:right;max-width:1240px;margin:0 auto;padding-inline:16px;padding-block:16px 64px;}
  @media (min-width:900px){ .app{padding-inline:32px;} }
  @media (min-width:1300px){ .app{padding-inline:48px;} }
  .num{font-family:"IBM Plex Mono","Vazirmatn",monospace;font-variant-numeric:tabular-nums;}

  a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible,
  select:focus-visible, [tabindex]:focus-visible{
    outline:2px solid var(--accent); outline-offset:2px; border-radius:8px;
  }
  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{ transition-duration:.01ms !important; animation-duration:.01ms !important; scroll-behavior:auto !important; }
  }

  /* ===== Floating glass nav header ===== */
  header.top{
    position:sticky; top:calc(env(safe-area-inset-top,0px) + 10px); z-index:20;
    background:var(--surface-strong);
    -webkit-backdrop-filter:blur(var(--blur)); backdrop-filter:blur(var(--blur));
    border:1px solid rgba(255,255,255,.55);
    border-radius:var(--radius-xl);
    box-shadow:var(--shadow-md),0 0 22px color-mix(in srgb,var(--accent) 11%,transparent),inset 0 1px 0 rgba(255,255,255,.38);
    padding:14px 18px 16px; margin-bottom:24px;
  }
  :root[data-theme="dark"] header.top, :root:not([data-theme]) header.top{ border-color:rgba(255,255,255,.08); }
  @supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
    header.top{ background:var(--surface-solid); }
  }
  header.top.collapsed{padding-bottom:12px}
  .title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
  .title-row-right{display:inline-flex;align-items:center;flex-wrap:wrap}
  .title-row-extras{display:inline-flex;align-items:center;flex-wrap:wrap}
  header.top.collapsed .title-row-extras{display:none}
  .header-collapse-btn{
    font-size:.85rem;line-height:1;border:1px solid var(--border);background:var(--surface-2);
    color:var(--ink-dim);border-radius:var(--radius-pill);cursor:pointer;
    width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;
    margin-inline-start:6px;vertical-align:middle;flex-shrink:0;
    transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
  }
  .header-collapse-btn:hover{border-color:var(--accent);transform:translateY(-1px)}
  .header-collapse-btn .chev-ic{display:inline-block;transition:transform var(--dur) var(--ease)}
  header.top.collapsed .header-collapse-btn .chev-ic{transform:rotate(180deg)}
  .header-collapsible{
    max-height:20000px;overflow:hidden;
    transition:max-height .35s var(--ease), opacity .25s var(--ease), margin-top .35s var(--ease);
    opacity:1;
  }
  header.top.collapsed .header-collapsible{max-height:0;opacity:0;margin-top:0;pointer-events:none}
  .brand{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap}
  h1{font-size:1.08rem;font-weight:800;margin:0;letter-spacing:.2px;color:var(--primary)}
  .logo-badge{
    position:relative;display:inline-flex;align-items:center;justify-content:center;
    width:64px;height:64px;border-radius:50%;flex-shrink:0;
    background:radial-gradient(circle, rgba(255,255,255,.5), rgba(255,255,255,.15) 60%, transparent 78%);
  }
  .logo-badge::before{
    content:"";position:absolute;inset:-8px;border-radius:50%;z-index:0;
    background:radial-gradient(circle, rgba(255,255,255,.55), transparent 70%);
    filter:blur(7px);
  }
  .logo-badge img{
    position:relative;z-index:1;width:90%;height:90%;object-fit:contain;
    filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));
  }
  .logo-badge.logo-badge-lg{width:108px;height:108px}
  .conn{
    font-size:.72rem;color:var(--ink-faint);background:var(--surface-2);border:1px solid var(--border);
    padding:4px 10px;border-radius:var(--radius-pill);
  }
  .conn.ok{color:var(--accent-ink);background:var(--accent-soft);border-color:rgba(22,184,200,.25)}
  .conn.bad{color:var(--danger);background:var(--danger-soft);border-color:rgba(198,47,63,.25)}
  .header-clock{
    font-size:.68rem;color:var(--ink-faint);
    font-family:"IBM Plex Mono","Vazirmatn",monospace;letter-spacing:.2px;
    display:inline-flex;align-items:center;margin-inline-start:4px;
  }
  .header-clock::before{content:"—";margin-inline-end:4px;color:var(--border-strong)}
  .progress-wrap{margin-top:14px;display:flex;align-items:center;gap:12px}
  .bar{flex:1;height:10px;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);overflow:hidden}
  .bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--primary-light),var(--accent));border-radius:var(--radius-pill);transition:width .5s var(--ease)}
  .progress-pct{font-size:.92rem;font-weight:800;color:var(--primary);min-width:42px}

  .tabbar{display:flex;gap:4px;margin-top:14px;background:var(--surface-2);padding:4px;border-radius:var(--radius-pill);border:1px solid var(--border)}
  .tab-btn{
    flex:1;padding:10px 12px;border-radius:var(--radius-pill);border:none;background:transparent;
    font-family:inherit;font-weight:700;font-size:.82rem;cursor:pointer;color:var(--ink-dim);
    transition:background var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
  }
  .tab-btn.active{background:var(--surface-strong);color:var(--primary);box-shadow:var(--shadow-sm)}
  .tab-btn:hover:not(.active){color:var(--ink)}
  .tab-panel{display:none}
  .tab-panel.active{display:block}

  /* ===== Glass cards ===== */
  section.callout{
    background:var(--surface); -webkit-backdrop-filter:blur(var(--blur)); backdrop-filter:blur(var(--blur));
    border:1px solid rgba(255,255,255,.5); border-radius:var(--radius-lg);
    padding:18px 18px; margin-bottom:16px; box-shadow:var(--shadow-sm);
  }
  :root[data-theme="dark"] section.callout, :root:not([data-theme]) section.callout{ border-color:rgba(255,255,255,.07); }
  .callout.danger{border-inline-start:4px solid var(--danger);}
  .callout h2{font-size:.95rem;margin:0 0 10px;font-weight:800}
  .callout p{margin:0 0 10px;font-size:.86rem;line-height:1.95;color:var(--ink-dim)}
  .callout p:last-child{margin-bottom:0}
  .tag{
    display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:.68rem;font-weight:600;
    padding:2px 7px;border-radius:7px;margin-inline-end:7px;letter-spacing:.3px;
  }
  .tag.certain{background:var(--danger-soft);color:var(--danger)}
  .tag.likely{background:var(--warn-soft);color:var(--warn)}
  .tag.guess{background:var(--surface-2);color:var(--ink-faint)}

  /* ===== Profile / ticket card (non-admin users) & admin panel ===== */
  .profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
  @media (max-width:480px){ .profile-grid{grid-template-columns:1fr} }
  .profile-field label{display:block;font-size:.74rem;color:var(--ink-faint);margin-bottom:4px;font-weight:600}
  .profile-field input{
    width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);
    background:var(--surface-2);color:var(--ink);font-family:inherit;font-size:.85rem;min-height:40px;
    transition:border-color var(--dur) var(--ease);
  }
  .profile-field input:focus{border-color:var(--accent)}
  .profile-field-value{
    padding:9px 11px;border:1px solid transparent;border-radius:var(--radius-sm);
    background:var(--surface-2);color:var(--ink-dim);font-family:inherit;font-size:.85rem;min-height:40px;
    display:flex;align-items:center;gap:6px;
  }
  .profile-field-value .lock-ic{flex-shrink:0;opacity:.55;font-size:.78rem}
  .admin-user-edit-box{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}
  .admin-user-edit-box .profile-grid{margin-bottom:8px}
  .admin-user-edit-box .profile-field label{font-size:.7rem}
  .admin-user-edit-box .profile-field input{min-height:36px;font-size:.8rem;padding:7px 9px}
  .admin-user-save-note{font-size:.74rem;color:var(--success);font-weight:600;margin-inline-start:8px}
  .admin-user-msg-box{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}
  .admin-user-msg-box label{display:block;font-size:.72rem;color:var(--ink-faint);margin-bottom:5px;font-weight:600}
  .admin-user-msg-box textarea{
    width:100%;min-height:52px;resize:vertical;border:1px solid var(--border);border-radius:var(--radius-sm);
    background:var(--surface-solid);color:var(--ink);font-family:inherit;font-size:.8rem;padding:7px 9px;
    margin-bottom:6px;
  }
  .admin-user-msg-send{font-size:.72rem;border:none;border-radius:var(--radius-pill);background:var(--primary);color:#fff;padding:5px 13px;cursor:pointer;font-weight:700}
  .admin-user-msg-note{margin-inline-start:9px;font-size:.74rem;color:var(--success);font-weight:600}
  .admin-user-pass-box{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}
  .admin-user-pass-box label{display:block;font-size:.72rem;color:var(--ink-faint);margin-bottom:5px;font-weight:600}
  .admin-user-pass-box input{
    width:100%;padding:8px 10px;margin-bottom:7px;border:1px solid var(--border);border-radius:var(--radius-sm);
    background:var(--surface-solid);color:var(--ink);font-family:"IBM Plex Mono",monospace;font-size:.8rem;min-height:38px;
  }
  .admin-user-pass-send{font-size:.72rem;border:none;border-radius:var(--radius-pill);background:var(--warn);color:#fff;padding:5px 13px;cursor:pointer;font-weight:700}
  .admin-user-pass-note{margin-inline-start:9px;font-size:.74rem;color:var(--success);font-weight:600}
  .admin-user-pass-hint{margin:7px 0 0;font-size:.7rem;color:var(--ink-faint);line-height:1.7}
  .admin-user-pass-static{margin:0;font-size:.78rem;color:var(--ink-faint);line-height:1.8}
  .profile-save-btn{
    border:none;border-radius:var(--radius-sm);padding:9px 18px;font-family:inherit;font-weight:700;
    font-size:.82rem;cursor:pointer;min-height:40px;
    background:linear-gradient(135deg,var(--primary-light),var(--accent));color:#fff;
    box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease);
  }
  .profile-save-btn:hover{transform:translateY(-1px)}
  .profile-saved-note{font-size:.78rem;color:var(--accent-ink);margin-inline-start:10px}
  .ticket-box{margin-top:16px;padding-top:16px;border-top:1px dashed var(--border)}
  .ticket-box label{display:block;font-size:.78rem;color:var(--ink-dim);margin-bottom:6px;font-weight:600}
  .ticket-textarea{
    width:100%;min-height:70px;resize:vertical;border:1px solid var(--border);border-radius:var(--radius-sm);
    background:var(--surface-2);color:var(--ink);font-family:inherit;font-size:.84rem;padding:9px 11px;
    margin-bottom:8px;transition:border-color var(--dur) var(--ease);
  }
  .ticket-textarea:focus{border-color:var(--accent)}
  .ticket-history{margin-top:14px}
  .ticket-history-label{font-size:.74rem;color:var(--ink-faint);font-weight:600;margin-bottom:8px}
  .ticket-history-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;margin-bottom:7px;background:var(--surface-2)}
  .ticket-history-msg{font-size:.82rem;color:var(--ink);line-height:1.7;white-space:pre-wrap}
  .ticket-history-meta{font-size:.7rem;color:var(--ink-faint);margin-top:5px}
  .ticket-history-reply{
    margin-top:8px;padding:9px 11px;border-radius:var(--radius-sm);white-space:pre-wrap;
    background:var(--success-soft);border:1px solid color-mix(in srgb, var(--success) 45%, transparent);
    color:var(--success);font-size:.82rem;line-height:1.75;
    box-shadow:0 0 12px 1px color-mix(in srgb, var(--success) 40%, transparent);
  }
  .ticket-history-reply b{display:block;font-size:.68rem;margin-bottom:4px;font-weight:800;color:var(--success)}

  .admin-tabs{display:flex;gap:4px;margin:4px 0 14px;background:var(--surface-2);padding:4px;border-radius:var(--radius-pill);border:1px solid var(--border)}
  .admin-tab-btn{
    flex:1;padding:8px 10px;border-radius:var(--radius-pill);border:none;background:transparent;
    font-family:inherit;font-weight:700;font-size:.78rem;cursor:pointer;color:var(--ink-dim);
    transition:background var(--dur) var(--ease),color var(--dur) var(--ease);
  }
  .admin-tab-btn.active{background:var(--surface-strong);color:var(--primary);box-shadow:var(--shadow-sm)}
  .admin-badge{
    display:inline-block;margin-inline-start:5px;font-size:.66rem;font-weight:700;
    background:var(--danger);color:#fff;border-radius:999px;padding:1px 6px;vertical-align:middle;
  }
  .admin-user-search{
    width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);
    background:var(--surface-2);color:var(--ink);font-family:inherit;font-size:.84rem;min-height:40px;
    margin-bottom:10px;transition:border-color var(--dur) var(--ease);
  }
  .admin-user-search:focus{border-color:var(--accent)}
  .admin-user-card{border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:9px;background:var(--surface-2);overflow:hidden}
  .admin-user-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;cursor:pointer;-webkit-user-select:none;user-select:none}
  .admin-user-head-left{display:flex;align-items:center;gap:9px;min-width:0}
  .admin-user-name{font-weight:800;font-size:.88rem;color:var(--primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .admin-user-head-meta{font-size:.7rem;color:var(--ink-faint);white-space:nowrap}
  .admin-user-chev{flex-shrink:0;transition:transform var(--dur) var(--ease);color:var(--ink-faint)}
  .admin-user-card.open .admin-user-chev{transform:rotate(180deg)}
  .admin-user-body{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
  .admin-user-card.open .admin-user-body{max-height:2200px;overflow:visible}
  .admin-user-body-inner{padding:0 14px 12px}
  .admin-user-row{display:flex;justify-content:space-between;gap:10px;font-size:.8rem;padding:4px 0;border-top:1px dashed var(--border)}
  .admin-user-row:first-of-type{border-top:none}
  .admin-user-row span{color:var(--ink-faint)}
  .admin-user-row b{color:var(--ink);font-weight:600;text-align:left}
  .admin-user-recent b{font-weight:500;font-size:.74rem;color:var(--ink-dim)}
  .admin-ticket-item{border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:9px;background:var(--surface-2);border-inline-start:4px solid var(--accent)}
  .admin-ticket-item.unread{border-inline-start-color:var(--danger)}
  .admin-ticket-item.sent{border-inline-start-color:var(--primary);background:color-mix(in srgb, var(--primary) 6%, var(--surface-2))}
  .admin-ticket-from{font-weight:700;font-size:.82rem;margin-bottom:4px}
  .admin-ticket-msg{font-size:.84rem;color:var(--ink);line-height:1.8;white-space:pre-wrap;margin-bottom:6px}
  .admin-ticket-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;font-size:.72rem;color:var(--ink-faint)}
  .admin-ticket-mark-btn{font-size:.7rem;border:1px solid var(--border);background:var(--surface-solid);color:var(--ink-dim);padding:4px 9px;border-radius:var(--radius-pill);cursor:pointer}
  .admin-ticket-reply-box{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}
  .admin-ticket-reply-box label{display:block;font-size:.7rem;color:var(--ink-faint);margin-bottom:5px;font-weight:600}
  .admin-ticket-reply-box textarea{
    width:100%;min-height:52px;resize:vertical;border:1px solid var(--border);border-radius:var(--radius-sm);
    background:var(--surface-solid);color:var(--ink);font-family:inherit;font-size:.8rem;padding:7px 9px;
    margin-bottom:6px;
  }
  .admin-ticket-reply-send{font-size:.72rem;border:none;border-radius:var(--radius-pill);background:var(--success);color:#fff;padding:5px 13px;cursor:pointer;font-weight:700}
  .admin-ticket-reply-note{margin-inline-start:9px;font-size:.74rem;color:var(--success);font-weight:600}
  .admin-ticket-reply-note.warn{color:var(--warn)}

  .connect-reminder{
    display:flex;align-items:center;gap:12px;flex-wrap:wrap;
    background:var(--warn-soft);border:1px solid rgba(227,171,95,.35);border-radius:var(--radius-lg);
    padding:14px 16px;margin-bottom:16px;box-shadow:var(--shadow-sm);
  }
  .connect-reminder-icon{
    flex-shrink:0;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-size:1.1rem;font-weight:800;color:var(--warn);background:var(--surface-solid);
    box-shadow:0 0 0 2px rgba(227,171,95,.4), 0 0 14px 2px rgba(227,171,95,.55);
  }
  .connect-reminder-text{flex:1;min-width:180px;font-size:.82rem;line-height:1.85;color:var(--ink-dim)}
  .connect-reminder-text b{color:var(--warn);display:block;margin-bottom:2px;font-size:.86rem}
  .connect-reminder-btn{
    flex-shrink:0;border:none;border-radius:var(--radius-sm);padding:9px 16px;font-family:inherit;font-weight:700;
    font-size:.82rem;cursor:pointer;min-height:38px;color:#fff;
    background:linear-gradient(135deg,var(--primary-light),var(--accent));
    box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease);
  }
  .connect-reminder-btn:hover{transform:translateY(-1px)}

  .admin-signup-pending{
    display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;
    background:var(--warn-soft);border:1px solid rgba(227,171,95,.35);border-radius:var(--radius-lg);
    padding:14px 16px;margin-bottom:12px;box-shadow:var(--shadow-sm);
  }
  .admin-signup-pending-icon{
    flex-shrink:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-size:1rem;font-weight:800;color:var(--warn);background:var(--surface-solid);
    box-shadow:0 0 0 2px rgba(227,171,95,.4), 0 0 12px 2px rgba(227,171,95,.5);
  }
  .admin-signup-pending-body{flex:1;min-width:160px;font-size:.8rem;line-height:1.8;color:var(--ink-dim)}
  .admin-signup-pending-body b{color:var(--warn);display:block;margin-bottom:2px;font-size:.84rem}
  .admin-signup-pending-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap}
  .admin-signup-approve-btn{
    border:none;border-radius:var(--radius-pill);padding:7px 14px;font-family:inherit;font-weight:700;
    font-size:.76rem;cursor:pointer;min-height:32px;color:#fff;
    background:linear-gradient(135deg,var(--primary-light),var(--accent));
  }
  .admin-signup-reject-btn{
    border:1px solid var(--border);border-radius:var(--radius-pill);padding:7px 14px;font-family:inherit;
    font-weight:600;font-size:.76rem;cursor:pointer;min-height:32px;background:var(--surface-solid);color:var(--ink-dim);
  }
  .admin-add-signup-btn{
    width:100%;border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-2);
    color:var(--ink-dim);font-family:inherit;font-weight:700;font-size:.8rem;padding:10px;cursor:pointer;margin-bottom:12px;
    transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease);
  }
  .admin-add-signup-btn:hover{border-color:var(--accent);color:var(--accent-ink)}
  .admin-signup-form{margin-bottom:16px;padding-bottom:16px;border-bottom:1px dashed var(--border)}

  .removed{
    background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;font-size:.8rem;
    color:var(--ink-dim);line-height:1.85;margin-bottom:18px;
  }
  .removed b{color:var(--ink)}

  .here-card{
    background:var(--surface-strong); -webkit-backdrop-filter:blur(var(--blur)); backdrop-filter:blur(var(--blur));
    border:1px solid rgba(255,255,255,.55); border-radius:var(--radius-lg);
    padding:18px 18px; margin-bottom:20px; box-shadow:var(--shadow-md);
    border-inline-start:4px solid var(--accent);
  }
  :root[data-theme="dark"] .here-card, :root:not([data-theme]) .here-card{ border-color:rgba(255,255,255,.07); border-inline-start-color:var(--accent); }
  .here-eyebrow{font-size:.7rem;font-weight:700;color:var(--accent-ink);letter-spacing:.3px;margin-bottom:5px;text-transform:uppercase}
  .here-title{font-size:1.05rem;font-weight:800;margin:0 0 5px}
  .here-sub{font-size:.84rem;color:var(--ink-dim);line-height:1.8;margin:0}
  .here-next{font-size:.8rem;color:var(--ink-dim);margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}
  .here-next b{color:var(--ink)}
  .here-override{margin-top:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .here-override label{font-size:.74rem;color:var(--ink-faint)}
  .here-override select{
    font-family:inherit;font-size:.78rem;border:1px solid var(--border);border-radius:var(--radius-sm);
    background:var(--surface-2);color:var(--ink);padding:5px 10px;
  }

  h2.section-title{font-size:1.02rem;font-weight:800;margin:28px 2px 8px}
  p.section-desc{font-size:.82rem;color:var(--ink-dim);line-height:1.85;margin:0 2px 14px}

  .phase{
    background:var(--surface); -webkit-backdrop-filter:blur(var(--blur)); backdrop-filter:blur(var(--blur));
    border:1px solid rgba(255,255,255,.5); border-radius:var(--radius-lg);
    margin-bottom:14px;overflow:hidden;box-shadow:var(--shadow-sm);
    border-inline-start:5px solid var(--phase-color,var(--accent));
    transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
  }
  :root[data-theme="dark"] .phase, :root:not([data-theme]) .phase{ border-color:rgba(255,255,255,.07); border-inline-start-color:var(--phase-color,var(--accent)); }
  .phase:hover{box-shadow:var(--shadow-md)}
  .phase-head{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;user-select:none;min-height:44px}
  .phase-head-left{display:flex;align-items:center;gap:10px;min-width:0}
  .phase-badge{
    font-family:"IBM Plex Mono",monospace;font-size:.7rem;font-weight:700;color:#fff;
    background:var(--phase-color,var(--accent));padding:4px 10px;border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;
  }
  .phase-titles h3{margin:0;font-size:.92rem;font-weight:800}
  .phase-titles .when{font-size:.72rem;color:var(--ink-faint);margin-top:2px}
  .phase-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
  .phase-count{font-size:.75rem;color:var(--ink-faint)}
  .chev{transition:transform var(--dur) var(--ease);color:var(--ink-faint);font-size:.75rem}
  .phase.open .chev{transform:rotate(180deg)}
  .phase-body{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
  .phase.open .phase-body{max-height:20000px}
  .phase-inner{padding:2px 16px 16px}
  .goal{font-size:.8rem;color:var(--ink-dim);line-height:1.85;margin:0 0 10px}

  .item{padding:11px 4px;border-top:1px dashed var(--border);min-height:44px}
  .item:first-child{border-top:none}
  .item-row{display:flex;align-items:flex-start;gap:10px}
  .item input[type=checkbox]{
    appearance:none;-webkit-appearance:none;width:21px;height:21px;flex-shrink:0;margin-top:2px;
    border:1.5px solid var(--border-strong);border-radius:7px;background:var(--surface-solid);cursor:pointer;
    display:grid;place-content:center;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
  }
  .item input[type=checkbox]:hover{transform:scale(1.06)}
  .item input[type=checkbox]:checked{background:var(--phase-color,var(--accent));border-color:var(--phase-color,var(--accent))}
  .item input[type=checkbox]:checked::after{content:"✓";color:#fff;font-size:12px;font-weight:700}
  .item label{font-size:.85rem;line-height:1.75;cursor:pointer;flex:1}
  .item.done label{color:var(--ink-faint);text-decoration:line-through;text-decoration-color:var(--border)}
  .item textarea.note{
    width:100%;margin-top:8px;min-height:38px;resize:vertical;
    border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);
    color:var(--ink);font-family:inherit;font-size:.78rem;padding:7px 10px;
    transition:border-color var(--dur) var(--ease);
  }
  .item textarea.note:focus{border-color:var(--accent)}
  .item textarea.note::placeholder{color:var(--ink-faint)}

  .topic-cat{
    background:var(--surface); -webkit-backdrop-filter:blur(var(--blur)); backdrop-filter:blur(var(--blur));
    border:1px solid rgba(255,255,255,.5); border-radius:var(--radius-lg);
    margin-bottom:12px;overflow:hidden;box-shadow:var(--shadow-sm);
    border-inline-start:5px solid var(--cat-color,var(--accent));
    transition:box-shadow var(--dur) var(--ease);
  }
  :root[data-theme="dark"] .topic-cat, :root:not([data-theme]) .topic-cat{ border-color:rgba(255,255,255,.07); border-inline-start-color:var(--cat-color,var(--accent)); }
  .topic-cat:hover{box-shadow:var(--shadow-md)}
  .cat-head{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;user-select:none;min-height:44px}
  .cat-head-left{display:flex;align-items:center;gap:10px;min-width:0}
  .cat-dot{width:11px;height:11px;border-radius:var(--radius-pill);background:var(--cat-color,var(--accent));flex-shrink:0;box-shadow:0 0 0 3px color-mix(in srgb, var(--cat-color,var(--accent)) 18%, transparent)}
  .cat-title{font-size:.92rem;font-weight:800}
  .cat-stat{font-size:.73rem;color:var(--ink-faint)}
  .cat-body{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
  .topic-cat.open .cat-body{max-height:60000px}
  .cat-inner{padding:2px 16px 16px}

  .topic-item{border-top:1px dashed var(--border)}
  .topic-item:first-child{border-top:none}
  .topic-list-btn{
    width:100%;display:flex;align-items:center;gap:8px;padding:12px 2px;min-height:44px;
    background:none;border:none;cursor:pointer;text-align:right;font-family:inherit;
  }
  .topic-list-title{flex:1;min-width:100px;font-size:.85rem;font-weight:700;color:var(--ink);transition:color var(--dur) var(--ease)}
  .topic-item .chev{flex-shrink:0;transition:transform var(--dur) var(--ease);color:var(--ink-faint);font-size:.75rem}
  .topic-item.open .chev{transform:rotate(180deg)}
  .topic-item.open .topic-list-title{color:var(--cat-color,var(--accent))}
  .topic-detail{display:none;padding:0 2px 16px}
  .topic-item.open .topic-detail{display:block}
  .topic-pill{
    font-family:"Vazirmatn",sans-serif;font-size:.72rem;font-weight:700;border:1px solid transparent;cursor:pointer;
    padding:5px 12px;border-radius:var(--radius-pill);flex-shrink:0;min-height:30px;
    transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
  }
  .topic-pill:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
  .topic-pill.st-نامشخص{background:var(--surface-2);color:var(--ink-faint);border-color:var(--border)}
  .topic-pill.st-ضعیف{background:var(--danger-soft);color:var(--danger);border-color:rgba(198,47,63,.22)}
  .topic-pill.st-متوسط{background:var(--warn-soft);color:var(--warn);border-color:rgba(154,90,23,.22)}
  .topic-pill.st-خوب{background:var(--done-bg);color:var(--accent-ink);border-color:rgba(22,184,200,.3)}
  .content-badge{
    font-family:"Vazirmatn",sans-serif;font-size:.66rem;font-weight:600;
    padding:3px 9px;border-radius:var(--radius-pill);flex-shrink:0;white-space:nowrap;
  }
  .content-badge.has{background:var(--accent-soft);color:var(--accent-ink)}
  .content-badge.empty{background:var(--surface-2);color:var(--ink-faint)}
  .topic-note{
    width:100%;min-height:32px;resize:vertical;border:1px solid var(--border);border-radius:var(--radius-sm);
    background:var(--surface-2);color:var(--ink);font-family:inherit;font-size:.76rem;padding:7px 10px;
    margin-bottom:9px;transition:border-color var(--dur) var(--ease);
  }
  .topic-note:focus{border-color:var(--accent)}
  .topic-note::placeholder{color:var(--ink-faint)}

  .learn-row{display:flex;flex-wrap:wrap;gap:7px;width:100%;margin-top:3px}
  .learn-btn{
    font-family:"Vazirmatn",sans-serif;font-size:.7rem;font-weight:600;
    border:1px solid var(--border);background:var(--surface-2);color:var(--ink-dim);
    padding:5px 11px;border-radius:var(--radius-pill);cursor:pointer;min-height:30px;
    transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);
  }
  .learn-btn:hover{border-color:var(--cat-color,var(--accent));color:var(--cat-color,var(--accent))}
  .learn-btn.active{background:var(--cat-color,var(--accent));border-color:var(--cat-color,var(--accent));color:#fff}
  .learn-btn .cnt{font-family:"IBM Plex Mono",monospace;opacity:.8;margin-inline-start:3px}
  .learn-row-highlights{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}
  .learn-row-highlights-label{
    display:block;width:100%;font-size:.72rem;font-weight:600;color:var(--ink-faint);margin-bottom:1px;
  }
  .learn-panel{
    width:100%;max-width:860px;margin:10px auto 0;padding:18px 20px;border-radius:var(--radius-lg);
    background:var(--surface-strong);border:1px solid var(--border);box-shadow:var(--shadow-sm);
    font-size:.84rem;line-height:1.85;display:none;
  }
  .learn-panel.open{display:block}
  .learn-empty{color:var(--ink-faint);font-size:.8rem}
  .lesson-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px dashed var(--border)}
  .lesson-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
  .lesson-heading{font-weight:800;font-size:.9rem;color:var(--cat-color,var(--accent));margin-bottom:8px}
  .lesson-body{color:var(--ink);line-height:2;font-size:.88rem}
  .lesson-body p{margin:0 0 10px}
  .lesson-body p:last-child{margin-bottom:0}
  .lesson-embed-note{font-size:.78rem;color:var(--ink-faint);margin-bottom:8px;line-height:1.7}
  .lesson-embed-frame{width:100%;height:min(80vh,900px);border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;display:block}
  .lesson-group-header{margin:22px 0 14px;padding-top:14px;border-top:2px solid var(--cat-color,var(--accent))}
  .lesson-group-header:first-child{margin-top:0;padding-top:0;border-top:none}
  .lesson-group-heading{font-weight:900;font-size:1rem;color:var(--cat-color,var(--accent));letter-spacing:.01em}
  .lesson-group-note{font-size:.78rem;color:var(--ink-faint);margin-top:4px;line-height:1.7}
  .fc-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:10px;background:var(--surface-2)}
  .fc-card:last-child{margin-bottom:0}
  .fc-front{font-weight:700;margin-bottom:7px}
  .fc-back{color:var(--ink-dim);border-top:1px dashed var(--border);padding-top:7px;margin-top:7px}
  .fc-reveal{
    font-size:.72rem;border:none;background:var(--accent-soft);color:var(--accent-ink);
    padding:4px 10px;border-radius:var(--radius-pill);cursor:pointer;transition:filter var(--dur) var(--ease);
  }
  .fc-reveal:hover{filter:brightness(.95)}
  .mcq-block{border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:12px;background:var(--surface-2)}
  .mcq-block:last-child{margin-bottom:0}
  .mcq-stem{font-weight:700;margin-bottom:8px}
  .mcq-opt{
    display:block;width:100%;text-align:right;margin-bottom:6px;padding:8px 10px;min-height:40px;
    border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-solid);
    color:var(--ink);font-family:inherit;font-size:.8rem;cursor:pointer;
    transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);
  }
  .mcq-opt:hover{border-color:var(--border-strong)}
  .mcq-opt.correct{background:var(--done-bg);border-color:var(--accent);color:var(--accent-ink)}
  .mcq-opt.incorrect{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}
  .mcq-explain{margin-top:7px;color:var(--ink-dim);font-size:.78rem;border-top:1px dashed var(--border);padding-top:7px;display:none}
  .mcq-explain.show{display:block}
  .kfp-block{border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:12px;background:var(--surface-2)}
  .kfp-title{font-weight:700;margin-bottom:6px}
  .kfp-vignette{color:var(--ink-dim);margin-bottom:9px}
  .kfp-step{border-top:1px dashed var(--border);padding-top:7px;margin-top:7px}
  .kfp-prompt{font-weight:600;margin-bottom:5px}
  .kfp-answer{color:var(--ink-dim);border-top:1px dashed var(--border);margin-top:6px;padding-top:6px;display:none}
  .kfp-answer.show{display:block}

  .vent-card{
    border:1px solid var(--border);border-radius:var(--radius-md);
    margin-bottom:10px;background:var(--surface-2);overflow:hidden;
  }
  .vent-card:last-child{margin-bottom:0}
  .vent-head{
    display:flex;align-items:center;justify-content:space-between;gap:8px;
    padding:13px 15px;cursor:pointer;user-select:none;min-height:44px;
  }
  .vent-head-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
  .vent-title{font-weight:800;font-size:.92rem;color:var(--cat-color,var(--accent))}
  .vent-badge{
    font-size:.68rem;font-weight:700;background:var(--accent-soft);color:var(--accent-ink);
    padding:3px 10px;border-radius:var(--radius-pill);white-space:nowrap;
  }
  .vent-chev{transition:transform var(--dur) var(--ease);color:var(--ink-faint);font-size:.75rem;flex-shrink:0}
  .vent-card.open .vent-chev{transform:rotate(180deg)}
  .vent-body{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
  .vent-card.open .vent-body{max-height:20000px}
  .vent-body-inner{padding:8px 15px 15px;border-top:1px dashed var(--border)}
  .vent-risk{font-size:.78rem;color:var(--ink-faint);margin-bottom:6px;line-height:1.7}
  .vent-indication{font-size:.82rem;color:var(--ink-dim);line-height:1.85;margin-bottom:10px;padding-bottom:10px;border-bottom:1px dashed var(--border)}
  .vent-subtitle{font-weight:700;font-size:.8rem;color:var(--ink);margin:10px 0 7px}
  .vent-subtitle-warn{color:var(--danger)}
  .vent-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:8px}
  @media (max-width:480px){ .vent-settings-grid{grid-template-columns:1fr} }
  .vent-setting-item{
    background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-sm);
    padding:7px 10px;display:flex;flex-direction:column;gap:2px;
  }
  .vent-setting-label{font-size:.68rem;color:var(--ink-faint);font-weight:600}
  .vent-setting-value{font-size:.82rem;color:var(--ink);line-height:1.6}
  .vent-other-list{margin:0 0 8px;padding-inline-start:18px;font-size:.8rem;color:var(--ink-dim);line-height:1.9}
  .vent-other-list li{margin-bottom:2px}
  .vent-rationale{font-size:.82rem;color:var(--ink-dim);line-height:1.9;background:var(--surface-solid);border-inline-start:3px solid var(--accent);border-radius:var(--radius-sm);padding:9px 12px;margin-bottom:4px}
  .vent-abg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:6px}
  @media (max-width:480px){ .vent-abg-grid{grid-template-columns:repeat(2,1fr)} }
  .vent-abg-item{
    background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-sm);
    padding:6px 8px;text-align:center;
  }
  .vent-abg-label{display:block;font-size:.66rem;color:var(--ink-faint);font-weight:700;font-family:"IBM Plex Mono",monospace}
  .vent-abg-value{display:block;font-size:.78rem;color:var(--ink);margin-top:2px;font-family:"IBM Plex Mono","Vazirmatn",monospace}
  .vent-abg-interp{font-size:.8rem;color:var(--ink-dim);line-height:1.85;margin-bottom:4px}
  .vent-titration-row{
    display:flex;flex-direction:column;gap:2px;font-size:.8rem;line-height:1.8;
    padding:7px 0;border-top:1px dashed var(--border);
  }
  .vent-titration-row:first-of-type{border-top:none}
  .vent-trigger{color:var(--ink-dim)}
  .vent-action{color:var(--accent-ink);font-weight:600}
  .vent-pitfall-list{margin:0;padding-inline-start:18px;font-size:.8rem;color:var(--danger);line-height:1.9}
  .vent-pitfall-list li{margin-bottom:2px}

  .img-row{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:10px 0;border-top:1px dashed var(--border)}
  .img-row:first-child{border-top:none}
  .img-row a{color:var(--accent-ink);font-weight:600;text-decoration:none;font-size:.82rem}
  .img-row a:hover{text-decoration:underline}
  .img-row .img-cap{color:var(--ink);font-weight:700;font-size:.82rem}
  .img-row .img-inline{max-width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);display:block}
  .img-row .cap-note{display:block;color:var(--ink-faint);font-size:.74rem;line-height:1.7}
  .tbl-title{font-weight:700;margin-bottom:7px}
  table.md-table{width:100%;border-collapse:collapse;margin-bottom:14px;font-size:.78rem;border-radius:var(--radius-sm);overflow:hidden}
  table.md-table:last-child{margin-bottom:0}
  table.md-table th,table.md-table td{border:1px solid var(--border);padding:7px 9px;text-align:right}
  table.md-table th{background:var(--surface-2);font-weight:700}
  @media (max-width:600px){
    table.md-table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  }

  /* On a real phone width (now that the viewport meta tag actually lets the
     page render at that width — see CLAUDE.md), the padding stacked up at
     every nesting level (.app > .topic-cat > .cat-inner > .learn-panel) ate
     a large chunk of the ~390px screen before any text started, so lines
     wrapped much sooner than they needed to. Reclaim that width specifically
     for the content containers that hold readable prose. */
  @media (max-width:480px){
    .app{padding-inline:10px}
    .cat-inner{padding:2px 8px 12px}
    .learn-panel{padding:14px 11px}
    section.callout{padding:14px 13px}
  }

  footer.bottom{
    margin-top:28px;display:flex;justify-content:space-between;align-items:center;gap:10px;
    font-size:.74rem;color:var(--ink-faint);flex-wrap:wrap;
  }
  .reset-btn{
    background:var(--surface-2);border:1px solid var(--border);color:var(--ink-faint);font-size:.73rem;
    padding:8px 14px;border-radius:var(--radius-pill);cursor:pointer;font-family:inherit;min-height:36px;
    transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease);
  }
  .reset-btn:hover{border-color:var(--danger);color:var(--danger)}

  @media (max-width:420px){ h1{font-size:1rem} }

  /* ===== Login gate ===== */
  .login-gate{
    position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
    padding:16px;
    background-color:var(--bg);
    background-image:
      radial-gradient(640px circle at 12% -8%, var(--bg-grad-1), transparent 60%),
      radial-gradient(560px circle at 112% 8%, var(--bg-grad-2), transparent 55%),
      radial-gradient(760px circle at 50% 115%, var(--bg-grad-3), transparent 60%);
  }
  .login-card{
    background:var(--surface-strong); -webkit-backdrop-filter:blur(var(--blur)); backdrop-filter:blur(var(--blur));
    border:1px solid rgba(255,255,255,.6); border-radius:var(--radius-xl);
    padding:28px 24px;max-width:360px;width:100%;box-shadow:var(--shadow-lg);
    direction:rtl;text-align:right;font-family:"Vazirmatn",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;
  }
  :root[data-theme="dark"] .login-card, :root:not([data-theme]) .login-card{ border-color:rgba(255,255,255,.08); }
  .login-card .brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:18px}
  .login-card h2{font-size:1.05rem;font-weight:800;margin:0;color:var(--primary)}
  .login-card input, .login-card select{
    width:100%;padding:11px 13px;margin-bottom:11px;border:1px solid var(--border);
    border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);font-family:inherit;font-size:.9rem;
    min-height:44px;transition:border-color var(--dur) var(--ease);
  }
  .login-card input:focus, .login-card select:focus{border-color:var(--accent)}
  .login-card button{
    width:100%;padding:12px;border:none;border-radius:var(--radius-sm);
    background:linear-gradient(135deg,var(--primary-light),var(--accent));
    color:#fff;font-family:inherit;font-weight:700;font-size:.9rem;cursor:pointer;margin-top:5px;min-height:44px;
    box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
  }
  .login-card button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}
  .login-card .login-err{color:var(--danger);font-size:.8rem;margin-top:10px;display:none}
  .login-card .login-err.show{display:block}
  .login-switch{text-align:center;margin-top:16px;font-size:.8rem;color:var(--ink-faint)}
  .login-switch a{color:var(--accent-ink);text-decoration:none;font-weight:700;cursor:pointer}
  .login-switch a:hover{text-decoration:underline}

  .signup-success{
    display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;
    background:var(--surface-strong); -webkit-backdrop-filter:blur(var(--blur)); backdrop-filter:blur(var(--blur));
    border:1px solid var(--success); border-radius:var(--radius-xl);
    padding:28px 24px;max-width:360px;width:100%;box-shadow:var(--shadow-lg);
    direction:rtl;font-family:"Vazirmatn",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;
  }
  .signup-success-icon{
    flex-shrink:0;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-size:1.5rem;font-weight:900;color:var(--success);background:var(--success-soft);
    box-shadow:0 0 0 3px color-mix(in srgb, var(--success) 25%, transparent), 0 0 18px 3px color-mix(in srgb, var(--success) 55%, transparent);
  }
  .signup-success-text{font-size:.84rem;line-height:1.9;color:var(--ink-dim)}
  .signup-success-text b{color:var(--success);display:block;margin-bottom:4px;font-size:.92rem}
  .signup-success-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
  .signup-success-actions button{
    border:none;border-radius:var(--radius-sm);padding:9px 16px;font-family:inherit;font-weight:700;
    font-size:.8rem;cursor:pointer;min-height:38px;color:#fff;
    background:linear-gradient(135deg,var(--primary-light),var(--accent));
    transition:transform var(--dur) var(--ease);
  }
  .signup-success-actions button:hover{transform:translateY(-1px)}

  /* ===== GitHub connect ===== */
  .gh-connect-btn{
    font-family:"Vazirmatn",sans-serif;font-size:.7rem;font-weight:600;border:1px solid var(--border);
    background:var(--surface-2);color:var(--ink-dim);padding:5px 11px;border-radius:var(--radius-pill);cursor:pointer;
    margin-inline-start:6px;min-height:30px;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease);
  }
  .gh-connect-btn:hover{border-color:var(--accent);color:var(--accent-ink);transform:translateY(-1px)}
  .theme-toggle-btn{
    font-size:.92rem;line-height:1;border:1px solid var(--border);background:var(--surface-2);
    color:var(--ink-dim);border-radius:var(--radius-pill);cursor:pointer;
    width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;
    margin-inline-start:6px;vertical-align:middle;
    transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
  }
  .theme-toggle-btn:hover{border-color:var(--accent);transform:translateY(-1px)}
  .gh-modal{
    position:fixed;inset:0;z-index:9998;display:none;align-items:center;justify-content:center;
    background:rgba(10,18,32,.45); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); padding:16px;
  }
  .gh-modal-card{
    background:var(--surface-strong); -webkit-backdrop-filter:blur(var(--blur)); backdrop-filter:blur(var(--blur));
    border:1px solid rgba(255,255,255,.6); border-radius:var(--radius-xl);padding:24px 22px;
    max-width:400px;width:100%;box-shadow:var(--shadow-lg);direction:rtl;text-align:right;
    font-family:"Vazirmatn",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;max-height:85vh;overflow:auto;
  }
  :root[data-theme="dark"] .gh-modal-card, :root:not([data-theme]) .gh-modal-card{ border-color:rgba(255,255,255,.08); }
  .gh-modal-card h3{font-size:.97rem;font-weight:800;margin:0 0 12px;color:var(--primary)}
  .gh-modal-desc{font-size:.78rem;color:var(--ink-dim);line-height:1.9;margin:0 0 11px}
  .gh-modal-desc a{color:var(--accent-ink)}
  .gh-modal-card input{
    width:100%;padding:10px 12px;margin-bottom:9px;border:1px solid var(--border);border-radius:var(--radius-sm);
    background:var(--surface-2);color:var(--ink);font-family:"IBM Plex Mono",monospace;font-size:.8rem;min-height:42px;
  }
  .gh-modal-actions{display:flex;gap:8px;margin-top:4px}
  .gh-modal-actions button{
    flex:1;padding:10px;border:none;border-radius:var(--radius-sm);font-family:inherit;font-weight:700;
    font-size:.82rem;cursor:pointer;min-height:42px;transition:transform var(--dur) var(--ease);
  }
  .gh-modal-actions button:hover{transform:translateY(-1px)}
  #ghPatSave{background:linear-gradient(135deg,var(--primary-light),var(--accent));color:#fff}
  #ghPatCancel{background:var(--surface-2);color:var(--ink-dim)}
  .gh-modal-err{color:var(--danger);font-size:.78rem;margin-top:9px;min-height:1em}
  .gh-modal-disconnect{
    width:100%;margin-top:11px;padding:9px;border:1px solid var(--border);background:none;color:var(--danger);
    border-radius:var(--radius-sm);font-family:inherit;font-size:.78rem;cursor:pointer;min-height:40px;
  }
  .gh-token-label{
    font-size:.82rem;font-weight:800;color:var(--warn);background:var(--warn-soft);
    border:1px solid rgba(227,171,95,.35);border-radius:var(--radius-sm);
    padding:7px 12px;margin-bottom:9px;display:inline-block;
  }

  /* ===== Highlights ===== */
  mark.hl{border-radius:4px;padding:0 2px;cursor:pointer;color:inherit}
  mark.hl-yellow{background:var(--hl-yellow)}
  mark.hl-green{background:var(--hl-green)}
  mark.hl-pink{background:var(--hl-pink)}
  mark.hl-blue{background:var(--hl-blue)}
  mark.hl-purple{background:var(--hl-purple)}
  mark.hl-orange{background:var(--hl-orange)}
  mark.hl-noted{box-shadow:inset 0 -2px 0 var(--ink-faint)}

  .hl-toolbar{
    position:absolute;z-index:9997;display:none;gap:4px;
    background:var(--surface-strong); -webkit-backdrop-filter:blur(var(--blur)); backdrop-filter:blur(var(--blur));
    border:1px solid rgba(255,255,255,.6); border-radius:var(--radius-md);
    padding:5px;box-shadow:var(--shadow-md);align-items:center;
  }
  :root[data-theme="dark"] .hl-toolbar, :root:not([data-theme]) .hl-toolbar{ border-color:rgba(255,255,255,.08); }
  .hl-swatch{
    width:20px;height:20px;border-radius:var(--radius-pill);border:1.2px solid rgba(0,0,0,.1);cursor:pointer;padding:0;
    flex-shrink:0;transition:transform var(--dur) var(--ease);
  }
  .hl-swatch:hover{transform:scale(1.12)}
  .hl-swatch.hl-yellow{background:var(--hl-yellow)}
  .hl-swatch.hl-green{background:var(--hl-green)}
  .hl-swatch.hl-pink{background:var(--hl-pink)}
  .hl-swatch.hl-blue{background:var(--hl-blue)}
  .hl-swatch.hl-purple{background:var(--hl-purple)}
  .hl-swatch.hl-orange{background:var(--hl-orange)}
  .hl-note-btn{
    font-family:"Vazirmatn",sans-serif;font-size:.67rem;font-weight:600;border:1px solid var(--border);
    background:var(--surface-2);color:var(--ink-dim);padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer;
    white-space:nowrap;min-height:24px;
  }

  .hl-popover{
    position:absolute;z-index:9997;display:none;
    background:var(--surface-strong); -webkit-backdrop-filter:blur(var(--blur)); backdrop-filter:blur(var(--blur));
    border:1px solid rgba(255,255,255,.6); border-radius:var(--radius-md);
    padding:11px;box-shadow:var(--shadow-md);max-width:260px;font-size:.78rem;
    direction:rtl;text-align:right;
  }
  :root[data-theme="dark"] .hl-popover, :root:not([data-theme]) .hl-popover{ border-color:rgba(255,255,255,.08); }
  .hl-popover-note{color:var(--ink-dim);line-height:1.7;margin-bottom:9px;white-space:pre-wrap}
  .hl-popover-actions{display:flex;gap:6px;flex-wrap:wrap}
  .hl-popover-actions button{
    font-family:inherit;font-size:.72rem;border:1px solid var(--border);background:var(--surface-2);
    color:var(--ink-dim);padding:5px 9px;border-radius:var(--radius-sm);cursor:pointer;
  }
  #hlPopoverDelete{color:var(--danger)}

  .hl-list-item{
    border:1px solid var(--border);border-radius:var(--radius-md);padding:9px 11px;margin-bottom:9px;background:var(--surface-2);
    border-inline-start:4px solid var(--hl-yellow);
  }
  .hl-list-item.hl-list-green{border-inline-start-color:var(--hl-green)}
  .hl-list-item.hl-list-pink{border-inline-start-color:var(--hl-pink)}
  .hl-list-item.hl-list-blue{border-inline-start-color:var(--hl-blue)}
  .hl-list-item.hl-list-purple{border-inline-start-color:var(--hl-purple)}
  .hl-list-item.hl-list-orange{border-inline-start-color:var(--hl-orange)}
  .hl-list-quote{font-weight:700;margin-bottom:5px}
  .hl-list-meta{color:var(--ink-faint);font-size:.74rem;margin-bottom:7px}
  .hl-list-del{
    font-size:.7rem;border:none;background:var(--danger-soft);color:var(--danger);padding:4px 10px;
    border-radius:var(--radius-pill);cursor:pointer;
  }

  .login-card label{display:block;font-size:.8rem;margin:5px 0 6px}
  .login-card small{display:block;color:var(--ink-dim);font-size:.7rem;margin:-4px 0 12px}
  .search-select{position:relative}
  .search-select::after{content:"⌄";position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-54%);color:var(--accent-ink);font-size:1.1rem;pointer-events:none;transition:transform .18s var(--ease)}
  .search-select:has(input[aria-expanded="true"])::after{transform:translateY(-42%) rotate(180deg)}
  .search-select>input{padding-inline-end:38px!important;cursor:pointer}
  .search-options{position:absolute;top:calc(100% + 4px);inset-inline:0;z-index:20;max-height:220px;overflow:auto;background:var(--surface-strong);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md)}
  .search-options [role=option]{padding:10px 12px;cursor:pointer;font-size:.85rem}
  .search-options [role=option]:hover,.search-options [aria-selected=true]{background:var(--surface-2);color:var(--accent)}
  .search-options .empty-option{padding:12px;color:var(--ink-dim);font-size:.8rem}
  /* Keep the longer registration form reachable on phones and tablets. */
  .login-gate{overflow-y:auto;align-items:flex-start}
  .login-card,.signup-success{margin-block:auto;flex-shrink:0}

  .admin-user-delete-box{margin-block:14px;padding-block:12px;border-block:1px solid var(--border)}
  .admin-user-delete-btn{padding:10px 14px;background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger);border-radius:8px;font:inherit;cursor:pointer;min-height:44px}
  .admin-user-delete-btn:disabled{opacity:.6;cursor:wait}
  .admin-user-delete-note{display:block;color:var(--danger);font-size:.8rem;margin-top:8px}

  /* Persian auth forms retain a consistent reading direction for every field. */
  .login-gate .login-card,.login-gate input,.login-gate select,.login-gate textarea{
    direction:rtl;text-align:right;
  }
  .login-gate input::placeholder,.login-gate textarea::placeholder{direction:rtl;text-align:right}
  .auth-help{color:var(--ink-dim);font-size:.8rem;line-height:1.9;margin:0 0 16px}
  .auth-status{font-size:.8rem;line-height:1.9;margin-top:14px;color:var(--accent-ink);overflow-wrap:anywhere}
  .auth-status.error{color:var(--danger)}
  .login-card button:disabled{opacity:.65;cursor:wait;transform:none}
  .login-gate input:focus-visible,.login-gate select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

  /* Floating navigation: a restrained glow works with both site themes. */
  header.top{border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));box-shadow:0 10px 35px color-mix(in srgb,var(--primary) 12%,transparent),inset 0 1px 0 color-mix(in srgb,var(--accent) 15%,transparent);border-radius:22px;background:color-mix(in srgb,var(--surface-strong) 95%,transparent);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
  .title-row{gap:12px}
  .tabbar{gap:8px;padding-top:5px}
  .tab-btn{border-radius:12px}
  .tab-btn.active{box-shadow:0 0 16px color-mix(in srgb,var(--accent) 18%,transparent)}
  .header-collapse-btn{width:38px;height:38px;border-radius:12px;color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--accent-soft);box-shadow:0 0 14px color-mix(in srgb,var(--accent) 15%,transparent)}
  .header-collapse-btn .chev-ic{width:22px;height:22px}
  .header-collapse-btn:focus-visible,.topic-favorite:focus-visible,.favorite-shortcut:focus-visible,.favorite-rank:focus-visible,.topic-open-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
  .topic-open-btn{flex:1;min-width:0;text-align:right;font:inherit;color:inherit;border:0;background:none;padding:6px 0;cursor:pointer}
  .topic-list-title{min-width:0;display:block}
  .topic-item{scroll-margin-top:var(--intmed-header-height,220px)}
  .topic-favorite{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:8px;border-radius:12px;cursor:pointer;color:var(--ink-dim);background:var(--surface-2);border:1px solid var(--border);transition:color .2s,box-shadow .2s,background .2s,transform .2s}
  .topic-favorite svg,.favorite-shortcut svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .topic-favorite:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-1px)}
  .topic-favorite.liked{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 13px color-mix(in srgb,var(--accent) 30%,transparent)}
  .topic-favorite.liked svg{fill:currentColor;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent) 55%,transparent))}
  .section-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
  .section-heading h2,.section-heading h3{margin:0}
  .section-caption,.favorites-empty{color:var(--ink-dim);font-size:.78rem;line-height:1.9}
  .neon-count{display:inline-block;padding:2px 9px;border-radius:20px;color:var(--accent-ink);background:var(--accent-soft);font-size:.8rem}
  .favorite-list{display:flex;gap:8px;flex-wrap:wrap}
  .favorite-shortcut{display:flex;align-items:center;gap:9px;text-align:right;padding:10px 14px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:12px;color:var(--ink);background:var(--surface-2);font:inherit;font-size:.82rem;cursor:pointer;min-height:44px;max-width:100%}
  .favorite-shortcut span{color:var(--accent);flex-shrink:0}
  .favorite-shortcut:hover{border-color:var(--accent);box-shadow:0 0 16px var(--accent-soft)}
  .favorites-card{border-inline-start:3px solid var(--accent)}
  .profile-favorites{margin-block:18px;padding-block:12px;border-top:1px solid var(--border)}
  .profile-favorites h3,.favorite-analytics h3{font-size:.9rem}
  .favorite-analytics{margin:18px 0 24px;padding:18px;background:var(--surface-2);border:1px solid var(--border);border-radius:16px}
  .stats-refresh{font:inherit;font-size:.75rem;padding:8px 12px;border:1px solid var(--accent);border-radius:10px;color:var(--accent-ink);background:var(--accent-soft);cursor:pointer}
  .stats-summary{color:var(--primary);font-weight:700;margin-block:14px;font-size:.85rem}
  .favorite-ranking{display:grid;gap:8px;max-height:440px;overflow:auto}
  .favorite-rank{isolation:isolate;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-strong);color:var(--ink);font:inherit;font-size:.8rem;text-align:right;cursor:pointer}
  .favorite-rank::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:var(--rank-width);background:var(--accent-soft);z-index:-1;border-inline-end:2px solid var(--accent)}
  .favorite-rank b{color:var(--accent-ink);flex-shrink:0}

  /* Distinct neon accents make the admin's people list easier to scan. */
  .admin-user-card{--user-neon:var(--accent);border:1px solid color-mix(in srgb,var(--user-neon) 38%,var(--border));border-inline-start:3px solid var(--user-neon);border-radius:16px;overflow:hidden;margin-block:12px;background:var(--surface-strong);box-shadow:0 4px 20px color-mix(in srgb,var(--user-neon) 9%,transparent)}
  .admin-user-card:nth-child(4n+2){--user-neon:#a78bfa}
  .admin-user-card:nth-child(4n+3){--user-neon:#2dd4bf}
  .admin-user-card:nth-child(4n){--user-neon:var(--primary)}
  .admin-user-card.open{box-shadow:0 0 22px color-mix(in srgb,var(--user-neon) 15%,transparent)}
  .admin-user-head{background:linear-gradient(110deg,color-mix(in srgb,var(--user-neon) 9%,transparent),transparent)}
  .admin-user-name{color:var(--ink);text-shadow:0 0 18px color-mix(in srgb,var(--user-neon) 22%,transparent)}
  .admin-user-card .admin-user-chev{color:var(--user-neon)}
  @media(max-width:480px){header.top{border-radius:16px}.topic-list-btn{gap:6px;flex-wrap:wrap}.topic-open-btn{flex-basis:calc(100% - 145px)}.topic-list-btn>.content-badge{display:none}.topic-pill{padding:5px 8px}.topic-favorite{width:34px;height:34px;padding:7px}.section-caption{flex-basis:100%}.favorite-analytics{padding:12px}.favorite-rank{gap:8px}}
  @media(prefers-reduced-motion:reduce){.topic-favorite,.header-collapse-btn .chev-ic{transition:none}.topic-favorite:hover{transform:none}}
  .tab-btn.active,.admin-tab-btn.active{background:linear-gradient(120deg,var(--accent-soft),var(--surface-strong));color:var(--accent-ink);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));box-shadow:0 0 16px color-mix(in srgb,var(--accent) 12%,transparent)}
  .topic-favorite:disabled{opacity:.5;cursor:wait}

  :root{--like:#e94d9d;--like-soft:rgba(233,77,157,.13)}
  :root[data-theme="dark"]{--like:#ff70bc;--like-soft:rgba(255,112,188,.14)}
  .topic-favorite.liked{color:var(--like);border-color:var(--like);background:var(--like-soft);box-shadow:0 0 15px color-mix(in srgb,var(--like) 35%,transparent)}
  .topic-favorite.liked svg{filter:drop-shadow(0 0 4px var(--like))}
  .favorite-shortcut span{color:var(--like)}
  .favorite-shortcut svg{fill:var(--like-soft)}
  .study-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));background:linear-gradient(125deg,var(--surface-strong),var(--accent-soft));border-radius:24px;padding:24px;margin:20px 0;box-shadow:0 0 28px color-mix(in srgb,var(--accent) 10%,transparent)}
  .study-hero h2{font-size:1.3rem;margin:4px 0 8px}.study-hero p{color:var(--ink-dim);margin:0;font-size:.83rem}.study-hero .eyebrow{color:var(--accent-ink);font-size:.72rem;letter-spacing:.4px}.hero-orbit{display:grid;place-items:center;width:74px;height:74px;border:1px solid var(--accent);border-radius:24px;color:var(--accent);font-size:2.4rem;box-shadow:inset 0 0 28px var(--accent-soft),0 0 20px var(--accent-soft);flex-shrink:0}
  .metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-block:16px}
  .metric-card{--metric-accent:var(--accent);display:flex;flex-direction:column;gap:10px;min-width:0;padding:18px;border:1px solid color-mix(in srgb,var(--metric-accent) 35%,var(--border));border-block-start:3px solid var(--metric-accent);background:var(--surface-strong);border-radius:16px;box-shadow:0 8px 22px color-mix(in srgb,var(--metric-accent) 7%,transparent)}
  .metric-card:nth-child(4n+2){--metric-accent:#a78bfa}.metric-card:nth-child(4n+3){--metric-accent:var(--like)}.metric-card:nth-child(4n){--metric-accent:var(--primary)}
  .metric-card>span{color:var(--ink-dim);font-size:.75rem}.metric-card strong{color:var(--ink);font-size:1.4rem;font-weight:800;text-shadow:0 0 20px color-mix(in srgb,var(--metric-accent) 28%,transparent)}.metric-card small{font-size:.68rem;color:var(--ink-faint);line-height:1.8}
  .dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block:20px}.neon-panel{min-width:0;padding:20px;background:var(--surface-strong);border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:20px;box-shadow:inset 0 1px 0 var(--accent-soft)}.neon-panel>h3{font-size:.9rem;margin:0 0 16px}.neon-panel select,.chart-controls select{font:inherit;font-size:.75rem;max-width:100%;padding:7px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--ink)}
  .week-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:16px}.week-column{display:flex;align-items:center;flex-direction:column;gap:7px;font-size:.68rem;color:var(--ink-dim)}.week-track{width:100%;height:100px;border-radius:7px;background:var(--surface-2);position:relative;overflow:hidden}.week-track span{position:absolute;bottom:0;inset-inline:15%;border-radius:5px 5px 0 0;background:linear-gradient(var(--accent),var(--primary));box-shadow:0 0 14px var(--accent-soft)}
  .insight-list{display:grid;gap:8px;max-height:280px;overflow:auto}.insight-topic{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--surface-2);color:var(--ink);font:inherit;font-size:.8rem;text-align:right;cursor:pointer;min-height:44px}.insight-topic small{font-size:.67rem;color:var(--ink-dim)}.insight-topic:hover{border-color:var(--accent)}
  .study-tag-controls{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.study-tag-button,.secondary-action,.admin-account-actions button{font:inherit;font-size:.75rem;min-height:40px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--ink);padding:8px 12px;cursor:pointer}.study-tag-button.selected{color:var(--accent-ink);background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 12px var(--accent-soft)}
  .account-security{margin:20px 0;padding:16px;border:1px solid var(--border);border-radius:14px}.account-security summary{cursor:pointer;color:var(--accent-ink);font-size:.86rem;font-weight:700}.account-security label{display:block;margin-top:14px;font-size:.78rem}.account-security input,.profile-field select{width:100%;margin:6px 0;padding:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink);border-radius:9px;direction:rtl;text-align:right;font:inherit}.profile-field input[readonly]{opacity:.75}.account-security button{margin-inline-end:8px;margin-top:10px}
  .chart-controls{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0;font-size:.74rem}.analytics-bars{display:grid;gap:8px;max-height:410px;overflow:auto}.analytics-bar{isolation:isolate;position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;overflow:hidden;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--ink);font:inherit;font-size:.76rem;text-align:right}.analytics-bar::before{content:"";position:absolute;z-index:-1;inset-block:0;inset-inline-start:0;width:var(--bar-width);background:var(--accent-soft);border-inline-end:2px solid var(--accent)}.analytics-bar b{color:var(--accent-ink);white-space:nowrap}.admin-account-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.admin-account-actions [role=status]{font-size:.75rem;flex-basis:100%}.admin-user-analytics{font-size:.75rem;line-height:1.9;color:var(--accent-ink);padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--accent-soft);margin-bottom:12px}
  @media(max-width:700px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.metric-card{padding:14px}.study-hero{padding:18px;gap:12px}.hero-orbit{width:52px;height:52px;border-radius:16px;font-size:1.8rem}.insight-topic{flex-wrap:wrap}.study-hero h2{font-size:1.05rem}.neon-panel{padding:16px}}
  .notification-panel{border:1px solid var(--border);border-radius:14px;padding:16px;margin:16px 0;background:var(--surface-2)}.notification-panel summary{cursor:pointer;color:var(--accent-ink);font-size:.85rem;font-weight:700}.notification-panel button:disabled,.account-security button:disabled{opacity:.55;cursor:wait}
  .profile-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;color:var(--accent-ink);font-weight:700;font-size:.95rem}.profile-editor>summary small{font-size:.72rem;font-weight:400;color:var(--ink-dim)}.profile-editor-body{padding-top:18px}.admin-status-filter{display:flex;gap:12px;align-items:center;margin:14px 0;font-size:.8rem}.admin-status-filter select{font:inherit;background:var(--surface-2);color:var(--ink);padding:8px;border:1px solid var(--border);border-radius:9px}.account-state{font-size:.67rem;color:var(--accent-ink);padding:3px 8px;background:var(--accent-soft);border-radius:20px}
  .quiz-summary-panel{margin-block:18px}.quiz-summary-panel .section-heading strong{font-size:.9rem;color:var(--accent-ink)}

  /* Warm, cream reading canvas; Night Shift is a site palette, not a display filter. */
  :root[data-theme="light"]{color-scheme:light}
  :root[data-theme="night-shift"]{
    color-scheme:light;--bg:#eee1cb;--bg-grad-1:rgba(165,107,47,.06);--bg-grad-2:rgba(177,126,62,.08);--bg-grad-3:rgba(146,99,49,.05);
    --surface:rgba(246,235,214,.88);--surface-strong:rgba(249,240,221,.98);--surface-solid:#f9f0dd;--surface-2:rgba(112,76,36,.065);
    --ink:#3d3023;--ink-dim:#6e5943;--ink-faint:#82705c;--primary:#79552f;--primary-light:#a77637;
    --accent:#85602e;--accent-ink:#62431e;--accent-soft:rgba(154,105,47,.13);--border:rgba(109,77,38,.18);--border-strong:rgba(109,77,38,.3);
    --done-bg:rgba(132,112,52,.14);--warn:#8b5a20;--warn-soft:#efdcba;--danger:#a43f40;--danger-soft:#f0d7ce;--success:#54713b;--success-soft:#e3e5c6;
    --shadow-sm:0 2px 10px rgba(86,60,30,.05);--shadow-md:0 8px 30px rgba(86,60,30,.08);--shadow-lg:0 18px 50px -12px rgba(86,60,30,.18);
    --hl-yellow:#e8d38c;--hl-green:#c9d8a7;--hl-pink:#e6c0bf;--hl-blue:#c6d1cc;--hl-purple:#d6c4d3;--hl-orange:#e7c497;
    --like:#b84278;--like-soft:rgba(184,66,120,.13)
  }
  :root[data-theme="dark"]{--hl-yellow:#65552a;--hl-green:#274f3b;--hl-pink:#633b54;--hl-blue:#304d70;--hl-purple:#51436e;--hl-orange:#65462f;--hl-text:#fff8ec}
  mark.hl{color:var(--hl-text,inherit);padding:.05em .14em;border-radius:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone;text-shadow:none}
  :root[data-theme="dark"] mark.hl{box-shadow:inset 0 -1px 0 rgba(255,255,255,.20)}
  :root[data-theme="dark"] mark.hl-noted{box-shadow:inset 0 -2px 0 #edc9ff}
  .theme-toggle-btn{white-space:nowrap;width:auto;min-width:44px;padding-inline:10px;font-size:.76rem}
  .favorite-entry{display:flex;align-items:stretch;max-width:100%;border:1px solid color-mix(in srgb,var(--like) 35%,var(--border));border-radius:12px;background:var(--surface-2);overflow:hidden}
  .favorite-entry .favorite-shortcut{border:0;border-radius:0;background:none;min-width:0}
  .favorite-remove{flex-shrink:0;min-width:42px;min-height:44px;padding:8px;border:0;border-inline-start:1px solid var(--border);background:var(--like-soft);color:var(--like);font:inherit;font-size:1.2rem;cursor:pointer}
  .favorite-remove:hover{background:var(--surface-strong)}
  .annotation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:22px 0 12px}.annotation-toolbar h2{font-size:1rem;margin:0}.annotation-toolbar input{font:inherit;font-size:.8rem;direction:rtl;text-align:right;color:var(--ink);background:var(--surface-solid);padding:11px;border:1px solid var(--border);border-radius:12px;min-width:220px;max-width:100%}
  .annotation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:14px 0 22px}.annotation-list{display:grid;gap:12px;max-height:520px;overflow:auto;overscroll-behavior:contain;padding:2px}
  .annotation-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface-2);min-width:0}.annotation-source{font-size:.7rem;line-height:1.9;color:var(--ink-dim);margin-bottom:10px}.annotation-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.95;font-size:.84rem;margin:0 0 12px;color:var(--ink)}
  .annotation-context{font-size:.75rem;color:var(--ink-dim);padding:8px 12px;border-inline-start:2px solid var(--accent);white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0}
  .annotation-card mark{box-decoration-break:clone;-webkit-box-decoration-break:clone;cursor:text}.annotation-open{font:inherit;font-size:.72rem;min-height:40px;padding:8px 12px;border:1px solid var(--accent);border-radius:9px;background:var(--accent-soft);color:var(--accent-ink);cursor:pointer}.annotation-open:disabled{opacity:.6;cursor:default}
  .annotation-destination{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px;scroll-margin-top:var(--intmed-header-height,220px)}
  .favorite-remove:focus-visible,.annotation-open:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
  @media(max-width:700px){.annotation-grid{grid-template-columns:1fr}.annotation-toolbar input{width:100%}.annotation-list{max-height:440px}.favorite-entry{width:100%}.favorite-entry .favorite-shortcut{flex:1}.title-row-extras{gap:4px}}

.notebook-export-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:12px 0}.notebook-export-controls label{font-size:.8rem;display:flex;gap:8px;align-items:center}.notebook-export-controls select{font:inherit;max-width:100%;padding:8px;border-radius:8px;color:var(--ink);background:var(--surface-solid);border:1px solid var(--border)}.notebook-export-controls small{flex-basis:100%;color:var(--ink-dim)}

.mcq-feedback{padding:10px 12px;border-radius:9px;line-height:1.9;font-size:.83rem}.mcq-feedback.correct{background:var(--success-soft);color:var(--success);border-inline-start:3px solid var(--success)}.mcq-feedback.incorrect{background:var(--danger-soft);color:var(--danger);border-inline-start:3px solid var(--danger)}.question-sources{font-size:.72rem;line-height:1.9;margin-top:10px}.question-sources a{display:block;color:var(--accent-ink);overflow-wrap:anywhere}.option-reasons{font-size:.8rem;line-height:1.9;padding:10px;margin-top:10px;background:var(--surface-2);border-radius:9px}.option-reasons summary{cursor:pointer;color:var(--accent-ink)}

.newsletter-preference{padding:14px;border:1px solid var(--border);border-radius:12px;margin:18px 0;background:var(--surface-2)}.newsletter-preference label{font-size:.82rem;line-height:1.9;cursor:pointer}.newsletter-preference input{accent-color:var(--accent);vertical-align:middle}

.newsletter-composer{display:grid;gap:8px}.newsletter-composer input,.newsletter-composer textarea{font:inherit;direction:rtl;color:var(--ink);background:var(--surface-solid);border:1px solid var(--border);border-radius:8px;padding:10px;max-width:100%;box-sizing:border-box}.newsletter-composer pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem}
.unsubscribe-page{padding:24px;box-sizing:border-box}.unsubscribe-page main{max-width:680px;margin:8vh auto}.unsubscribe-page h1{font-size:1.4rem}.unsubscribe-page p{line-height:2;overflow-wrap:anywhere}
/* Study workspace: restrained glass surfaces with distinct, theme-aware edges. */
:root{--neon-a:#13a99b;--neon-b:#348ed7;--panel-glow:rgba(24,166,155,.11)}
:root[data-theme="dark"]{--neon-a:#45e5d0;--neon-b:#6fa8ff;--panel-glow:rgba(69,229,208,.1)}
:root[data-theme="night-shift"]{--neon-a:#7e975c;--neon-b:#a38354;--panel-glow:rgba(126,151,92,.12)}
#tabPanelDashboard{padding-block:12px}.neon-panel,.favorites-card,.dashboard-admin,#userProfileCard{--edge:var(--neon-a);border:1px solid color-mix(in srgb,var(--edge) 48%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--edge) 8%,transparent),0 8px 30px color-mix(in srgb,var(--edge) 9%,transparent),inset 0 1px 0 var(--surface-solid);background:color-mix(in srgb,var(--surface-solid) 93%,transparent)}
.dashboard-grid>.neon-panel:nth-child(2){--edge:var(--neon-b)}.dashboard-grid>.neon-panel:nth-child(3){--edge:var(--like)}.dashboard-grid>.neon-panel:nth-child(4){--edge:#b195d9}.quiz-summary-panel{--edge:var(--neon-b)}.favorites-card{--edge:var(--like)}.dashboard-admin{--edge:#b195d9;margin-block:24px}.dashboard-admin>.notification-panel{--edge:var(--neon-b);border-color:color-mix(in srgb,var(--edge) 40%,var(--border));box-shadow:0 0 18px color-mix(in srgb,var(--edge) 7%,transparent)}
.annotation-toolbar{display:grid;justify-items:center;text-align:center;gap:16px;margin:32px auto 16px;width:100%}.annotation-toolbar input{display:block;box-sizing:border-box;width:min(100%,680px);max-width:100%;min-height:54px;padding:15px 24px;border-radius:22px;border:1px solid color-mix(in srgb,var(--neon-a) 64%,var(--neon-b));background:color-mix(in srgb,var(--surface-solid) 73%,transparent);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 0 0 3px color-mix(in srgb,var(--neon-b) 8%,transparent),0 0 24px var(--panel-glow),inset 0 1px 0 var(--surface-solid);text-align:right;transition:border-color .18s,box-shadow .18s}.annotation-toolbar input:focus{outline:2px solid var(--neon-a);outline-offset:3px;box-shadow:0 0 30px var(--panel-glow)}.notebook-export-controls{justify-content:center}.annotation-grid{align-items:start}.notebook-fold{padding:0;overflow:hidden}.notebook-fold>summary{display:flex;align-items:center;gap:12px;cursor:pointer;padding:20px;list-style:none;font-size:.95rem;font-weight:700}.notebook-fold>summary::-webkit-details-marker,.topic-tags>summary::-webkit-details-marker{display:none}.notebook-fold .annotation-list{margin:0 16px 16px}.fold-chevron{margin-inline-start:auto;transition:transform .18s}.notebook-fold[open] .fold-chevron{transform:rotate(180deg)}
.topic-tags{position:relative;flex-shrink:0}.topic-tag-pill{list-style:none;cursor:pointer;font-size:.66rem;white-space:nowrap;padding:5px 9px;border:1px solid var(--border);border-radius:999px;color:var(--ink-dim);background:var(--surface-2);user-select:none}.topic-tag-pill.tagged{border-color:var(--neon-a);color:var(--accent-ink);box-shadow:0 0 10px var(--panel-glow)}.topic-tags .study-tag-controls{position:absolute;z-index:8;inset-inline-end:0;top:calc(100% + 8px);display:grid;gap:6px;width:180px;margin:0;padding:10px;border:1px solid var(--neon-a);border-radius:14px;background:var(--surface-solid);box-shadow:var(--shadow-md)}.topic-tags[open]{z-index:8}.topic-tags .study-tag-button{text-align:right}.topic-cat.open,.topic-cat.open .cat-body{overflow:visible}.topic-list-btn{gap:7px}
.exam-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px;margin-bottom:16px;border:1px solid color-mix(in srgb,var(--neon-b) 40%,var(--border));background:var(--surface-2);border-radius:12px}.exam-toolbar strong{font-size:.85rem}.exam-toolbar-stats{font-size:.75rem;color:var(--ink-dim);flex:1;min-width:150px}.exam-reset{font:inherit;font-size:.73rem;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface-solid);color:var(--accent-ink);cursor:pointer}.mcq-opt.chosen{outline:2px solid var(--accent);outline-offset:2px}.mcq-opt:disabled{cursor:default}.kfp-response{font:inherit;width:100%;box-sizing:border-box;min-height:100px;margin:10px 0;padding:12px;line-height:1.9;color:var(--ink);border:1px solid var(--border);border-radius:12px;background:var(--surface-solid);resize:vertical}.kfp-submit{margin:4px}.kf-self-assessment{padding:12px;margin-top:10px;border:1px solid var(--border);border-radius:10px}.kf-self-assessment[hidden]{display:none}.kf-self-assessment small{display:block;color:var(--ink-dim);line-height:1.9}.self-grade{font:inherit;font-size:.78rem;margin:7px 4px;padding:8px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-solid);color:var(--ink);cursor:pointer}.self-grade.selected{border-color:var(--neon-a);color:var(--accent-ink);background:var(--accent-soft)}
#examReports{display:grid;gap:14px;margin-top:18px}.exam-report-card{padding:16px;border:1px solid var(--border);border-inline-start:3px solid var(--neon-b);border-radius:14px;background:var(--surface-2)}.exam-report-card>.section-heading{gap:10px;flex-wrap:wrap}.exam-report-card .insight-topic{background:none;border:0;padding:0;display:inline;font-weight:700}.exam-report-card small,.exam-history-row{font-size:.74rem;color:var(--ink-dim)}.exam-score{font-size:.82rem;line-height:1.9}.exam-report-card progress,.study-planner progress{display:block;width:100%;height:10px;accent-color:var(--neon-a);margin:12px 0;border:0;border-radius:20px;overflow:hidden}.exam-report-card progress::-webkit-progress-bar,.study-planner progress::-webkit-progress-bar{background:var(--surface-2)}.exam-report-card progress::-webkit-progress-value,.study-planner progress::-webkit-progress-value{background:linear-gradient(90deg,var(--neon-a),var(--neon-b));border-radius:20px}.exam-history{margin-top:12px;border-top:1px solid var(--border);padding-top:12px}.exam-history summary{cursor:pointer;font-size:.8rem;color:var(--accent-ink)}.exam-history-row{padding:10px 0;border-bottom:1px dashed var(--border);line-height:1.9}.score-up{color:var(--success);font-size:.8rem}.score-down{color:var(--danger);font-size:.8rem}
.study-planner{margin:22px 0}.study-planner>.section-heading{flex-wrap:wrap;gap:10px}.study-planner label{font-size:.78rem;line-height:1.9}.study-planner input{font:inherit;border:1px solid var(--border);border-radius:10px;padding:9px;color:var(--ink);background:var(--surface-solid);max-width:100%;box-sizing:border-box}.study-planner input[type=number]{width:85px}.study-plan-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:20px 0}.study-plan-form label{display:grid;gap:5px}.study-plan-form label:first-child{flex:1;min-width:170px}.plan-task{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:12px;margin-top:10px;background:var(--surface-2)}.plan-task.done{opacity:.7}.plan-task.overdue{border-inline-start:3px solid var(--like)}.plan-task input{accent-color:var(--neon-a)}.plan-topic{font:inherit;text-align:right;border:0;background:none;color:var(--accent-ink);cursor:pointer;flex:1;min-width:100px;font-size:.8rem}.plan-task small{font-size:.72rem;color:var(--ink-dim)}.plan-remove{background:none;border:0;color:var(--danger);font-size:1.2rem;cursor:pointer;min-width:36px;min-height:36px}
@media(max-width:600px){.topic-list-btn{flex-wrap:wrap}.topic-open-btn{flex-basis:calc(100% - 40px)}.topic-tag-pill{min-height:28px;display:flex;align-items:center}.annotation-toolbar input{border-radius:18px;min-height:50px}.study-plan-form label{flex:1}.exam-report-card{padding:13px}.plan-task small{flex-basis:100%;padding-inline-start:26px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}
.phase-body,.cat-body,.vent-body{max-height:none!important;display:none;transition:none}.phase.open>.phase-body,.topic-cat.open>.cat-body,.vent-card.open>.vent-body{display:block}.topic-tags[open] .study-tag-controls{animation:menu-arrive .16s ease-out}.disclosure-body{min-width:0}@keyframes menu-arrive{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.annotation-toolbar{grid-template-columns:minmax(0,1fr);justify-content:stretch}.annotation-toolbar input{min-width:0;justify-self:center;margin-inline:auto}.topic-tag-pill:focus-visible,.notebook-fold>summary:focus-visible{outline:2px solid var(--neon-a);outline-offset:3px}.integration-setup{margin-block:18px;line-height:2;font-size:.85rem}.integration-setup ol{padding-inline-start:22px}.integration-setup a{color:var(--accent-ink)}
.exam-report-card .exam-accuracy{height:7px;margin-bottom:16px}.exam-accuracy.low-score::-webkit-progress-value{background:var(--danger)}.exam-accuracy.mid-score::-webkit-progress-value{background:var(--warn)}.exam-accuracy.high-score::-webkit-progress-value{background:var(--success)}.attempt-answer-list{margin:10px 0;padding-inline:8px}.attempt-answer-list summary{font-size:.73rem}.attempt-answer-row{padding:12px;margin:8px 0;border:1px solid var(--border);border-radius:10px;background:var(--surface-solid);line-height:1.9}.attempt-answer-row strong{font-size:.76rem;font-weight:600;display:block}.attempt-answer-row p{white-space:pre-wrap;overflow-wrap:anywhere}
.integration-status-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.setup-status{font-size:.76rem;border:1px solid var(--border);background:var(--surface-2);padding:7px 10px;border-radius:999px;color:var(--ink-dim)}.setup-status.ready{color:var(--accent-ink);border-color:var(--neon-a);box-shadow:0 0 12px var(--panel-glow)}
@supports selector(details::details-content){.topic-tags::details-content{opacity:0;transition:opacity .16s ease,content-visibility .16s allow-discrete}.topic-tags[open]::details-content{opacity:1}}
@media(prefers-reduced-motion:reduce){.topic-tags::details-content{transition:none}}

/* Account workspace: compact, touch-friendly controls. */
.tab-btn{border-radius:999px!important}.tab-btn[hidden]{display:none!important}
.management-badge{display:inline-grid;place-items:center;min-width:1.5em;height:1.5em;margin-inline-start:.3em;background:#facc15;color:#282100;border-radius:99px;font-weight:900;box-shadow:0 0 12px #facc1570}.management-badge[hidden]{display:none}
.tab-btn.needs-attention{box-shadow:inset 0 0 0 1px #facc15,0 0 12px #facc1540}
.admin-ticket-item.unread,.admin-signup-pending{border-color:#eab308!important;box-shadow:0 0 12px #eab30820}
.annotation-card{position:relative;display:flex;flex-direction:column;align-items:stretch}.annotation-open{display:block!important;align-self:flex-end;float:none!important;font-size:.68rem!important;padding:5px 10px!important;margin:10px 0 0!important}
  .dashboard-fold{border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:20px;margin-block:14px;background:var(--surface-strong);box-shadow:var(--shadow-sm),0 14px 38px -28px color-mix(in srgb,var(--primary) 34%,transparent);overflow:visible}.dashboard-fold>summary{padding:16px 20px;cursor:pointer;font-weight:700;background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent);border-radius:inherit}.dashboard-fold[open]>summary{border-bottom:1px solid var(--border);border-end-start-radius:0;border-end-end-radius:0}.dashboard-fold section{margin:0!important;border:0!important;box-shadow:none!important}
.metric-card{position:relative;overflow:hidden;padding-inline-end:76px!important;min-height:125px}.metric-art{position:absolute;inset-inline-end:14px;top:24px;width:48px;height:48px;border-radius:15px;color:#2dd4bf;background:linear-gradient(140deg,#b5fff35c,#22d3ee19 50%,#137b7333);border:1px solid #7bfff375;box-shadow:inset 2px 2px 5px #ffffff30,inset -3px -3px 8px #0005,4px 8px 12px #0003;transform:perspective(180px) rotateY(-16deg) rotateX(9deg);filter:drop-shadow(0 0 8px #22d3ee35)}.metric-art svg{width:100%;height:100%;padding:6px;box-sizing:border-box;filter:drop-shadow(1px 3px 1px #0005)}
.logo-badge img{user-select:none;-webkit-user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}
#signupForm{width:min(1120px,100%);max-width:none;min-height:100dvh;box-sizing:border-box;border-radius:0;margin:0 auto;padding:clamp(20px,4vw,56px)}.signup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;text-align:right}.signup-field{min-width:0;padding:14px;border:1px solid #2dd4bf35;border-radius:16px;background:#22d3ee06}.signup-field label{display:block;margin:0 0 8px}.signup-field input,.signup-field select{width:100%;box-sizing:border-box;margin:0!important}.required-mark{color:#fb7185;font-weight:900}.signup-field small{display:block;margin-top:6px}.profile-field .search-select{width:100%}.search-options{z-index:1000;max-height:230px;overflow:auto;overscroll-behavior:contain}.search-options [role=option]{min-height:44px;box-sizing:border-box;cursor:pointer}
@media(max-width:600px){.signup-grid{grid-template-columns:1fr;gap:10px}#signupForm{padding:20px 14px}.signup-field{padding:10px}.tab-btn{font-size:.75rem;padding-inline:12px!important}}

.signup-field:last-child{grid-column:1/-1}

/* Authentication feedback and compact mobile navigation. */
.login-card button:disabled{cursor:wait;opacity:.82}
.login-card button[type="submit"]:disabled::before{
  content:"";display:inline-block;width:16px;height:16px;margin-inline-end:8px;
  border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;
  vertical-align:-3px;animation:auth-spin .75s linear infinite;
}
@keyframes auth-spin{to{transform:rotate(360deg)}}
.signup-recovery-guide{margin-top:10px;padding:12px;border:1px solid var(--warn);border-radius:12px;background:var(--warn-soft);color:var(--ink);font-size:.8rem;line-height:1.9}
.signup-recovery-guide[hidden]{display:none}
.signup-recovery-guide .secondary-action{width:100%;margin-top:8px;background:var(--surface-strong);color:var(--accent-ink)}

@media(max-width:600px){
  .app{padding:6px 8px 48px}
  header.top{top:calc(env(safe-area-inset-top,0px) + 4px);padding:8px 10px 10px;margin-bottom:12px;border-radius:16px}
  header.top.collapsed{padding:6px 9px}
  .title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}
  .title-row>.brand{min-width:0;gap:6px;flex-wrap:nowrap}
  .title-row>.brand .logo-badge{width:42px;height:42px}
  .title-row>.brand .logo-badge::before{inset:-3px;filter:blur(4px)}
  .title-row>.brand h1{font-size:.94rem}
  .header-clock{display:none}
  .title-row-right{display:contents}
  .header-collapse-btn{grid-column:2;grid-row:1;width:38px;height:38px;margin:0}
  .title-row-extras{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%}
  .title-row-extras .conn{display:flex;align-items:center;justify-content:center;min-width:0;min-height:34px;padding:5px 7px;text-align:center;overflow-wrap:anywhere}
  .title-row-extras .theme-toggle-btn,.title-row-extras .gh-connect-btn{width:100%;height:auto;min-height:38px;margin:0}
  .header-collapsible .progress-wrap{margin-top:9px;gap:8px}
  .header-collapsible .tabbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:9px;padding:4px;border-radius:14px}
  .header-collapsible .tab-btn{min-width:0;min-height:40px;padding:8px 6px!important;line-height:1.5;white-space:normal}
  .header-collapsible .tab-btn:not([hidden]):last-child:nth-child(odd){grid-column:1/-1}
  .dashboard-fold>summary{padding:13px 14px}
  .section-heading{align-items:stretch}
  .section-heading>.secondary-action,.admin-account-actions button{flex:1 1 140px}
  .newsletter-preference{padding:12px;margin:14px 0}
}
@media(max-width:420px){
  .metric-grid{grid-template-columns:1fr}
  .metric-card{min-height:108px}
  .study-hero{padding:14px}
  .hero-orbit{width:44px;height:44px;font-size:1.45rem}
}
@media(prefers-reduced-motion:reduce){.login-card button[type="submit"]:disabled::before{animation:none}}

/* Lightweight dashboard depth patterns inspired by Open Props/Web Awesome.
   No external runtime or copied component code is shipped. */
.theme-toggle-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:6px}.theme-toggle-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.header-quick-actions{display:inline-flex;align-items:center;gap:7px;margin-inline-end:8px;padding:4px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--surface-strong) 86%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--accent) 8%,transparent)}.header-quick-user{max-width:150px;padding-inline:8px 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-dim);font-size:.72rem;font-weight:700}header.top.collapsed .header-quick-user{display:none}.header-icon-btn,.header-icon-action,#connStatus,.title-row-extras .theme-toggle-btn,.theme-toggle-compact,.header-collapse-btn{box-sizing:border-box;width:38px;height:38px;min-width:38px;min-height:38px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--accent-ink)}.header-icon-btn{position:relative;display:grid;place-items:center;cursor:pointer;transition:color .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.header-icon-btn svg,.header-icon-action svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.header-icon-btn:hover,.header-icon-btn.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 14px color-mix(in srgb,var(--accent) 25%,transparent);transform:translateY(-1px)}.header-quick-actions>#connStatus{position:relative;display:grid;place-items:center;overflow:hidden;padding:0;font-size:0}.header-quick-actions>#connStatus::before{content:"";width:11px;height:11px;border:2px solid currentColor;border-radius:50%;box-shadow:0 0 10px currentColor}.header-quick-actions>#connStatus.ok::before{background:currentColor}.header-quick-actions>#connStatus.bad::before{border-radius:3px;transform:rotate(45deg);background:currentColor}.header-icon-action{display:grid;place-items:center;margin:0!important;cursor:pointer}.title-row-extras .theme-toggle-btn{margin:0;padding:8px;font-size:0}.title-row-extras .theme-toggle-btn span{display:none}.title-row-extras{gap:7px;margin-inline-start:7px}.header-collapse-btn{margin-inline-start:0}.theme-toggle-compact{margin-inline-start:0!important}#messagesQuickBtn:hover,#messagesQuickBtn.active{color:#b78100;border-color:#f6c945;background:color-mix(in srgb,#f6c945 16%,var(--surface-strong));box-shadow:0 0 16px color-mix(in srgb,#ffd84d 38%,transparent)}#logoutBtn:hover,#logoutBtn:focus-visible,#logoutBtn:active{color:#ff405d!important;border-color:#ff405d!important;background:color-mix(in srgb,#ff405d 12%,var(--surface-strong))!important;box-shadow:0 0 17px color-mix(in srgb,#ff405d 42%,transparent)!important}.quick-badge{position:absolute;inset-block-start:-6px;inset-inline-start:-6px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid var(--surface-solid);border-radius:999px;background:var(--danger);color:#fff;font-family:"Vazirmatn",system-ui,sans-serif;font-size:.65rem;font-weight:800;font-variant-numeric:normal}.quick-badge[hidden]{display:none}
@keyframes message-attention{0%,68%,100%{box-shadow:0 0 8px color-mix(in srgb,#ffd84d 18%,transparent)}82%{box-shadow:0 0 0 4px color-mix(in srgb,#ffd84d 10%,transparent),0 0 20px color-mix(in srgb,#ffd84d 52%,transparent)}}
#messagesQuickBtn.has-new-message{color:#b78100;border-color:#f6c945;animation:message-attention 5s ease-in-out infinite}.header-collapse-btn.has-message-notification{position:relative;color:#b78100;border-color:#f6c945;animation:message-attention 5s ease-in-out infinite}.header-collapse-btn.has-message-notification::after{content:attr(data-message-count);position:absolute;inset-block-start:-7px;inset-inline-start:-7px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;border:2px solid var(--surface-solid);border-radius:999px;background:var(--danger);color:#fff;font-family:"Vazirmatn",system-ui,sans-serif;font-size:.62rem;font-weight:800}
.account-panel,.messages-panel{max-width:960px;margin-inline:auto}.account-panel #userProfileCard{display:block!important;margin-block:20px}.messages-workspace{margin-block:20px!important}.messages-workspace .section-heading{align-items:center}.messages-workspace .eyebrow{margin:0 0 3px}.messages-workspace-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid color-mix(in srgb,#f6c945 45%,var(--border));border-radius:15px;color:#b78100;background:color-mix(in srgb,#f6c945 14%,var(--surface-strong));box-shadow:0 0 18px color-mix(in srgb,#ffd84d 22%,transparent)}.messages-panel .ticket-box{margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}.study-notebook-shell{margin-block:20px;padding:18px;border:1px solid color-mix(in srgb,var(--primary) 20%,var(--border));border-radius:22px;background:linear-gradient(145deg,var(--surface-strong),color-mix(in srgb,var(--primary) 4%,var(--surface-solid)));box-shadow:var(--shadow-sm)}.study-notebook-shell .annotation-toolbar{margin-top:0}
.metric-card{isolation:isolate;box-shadow:0 1px 0 rgba(255,255,255,.72) inset,0 9px 22px -14px color-mix(in srgb,var(--metric-accent) 45%,transparent),var(--shadow-sm);transition:transform .2s var(--ease),border-color .2s var(--ease)}.metric-card::after{content:"";position:absolute;inset-inline:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--metric-accent),transparent);opacity:.65}.metric-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--metric-accent) 58%,var(--border))}.metric-art{transform:none!important;filter:none!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 8px 18px -12px color-mix(in srgb,var(--metric-accent) 65%,transparent)!important;color:var(--metric-accent)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--metric-accent) 18%,var(--surface-solid)),var(--surface-strong))!important;border-color:color-mix(in srgb,var(--metric-accent) 32%,var(--border))!important}.metric-art svg{filter:none!important}.metric-card strong{font-variant-numeric:tabular-nums}
.hl-popover-colors{display:flex;gap:7px;margin:8px 0 11px}.hl-popover-colors .hl-swatch{width:28px;height:28px}.plan-calendar-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.plan-calendar{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 9px;border:1px solid var(--accent);border-radius:9px;background:var(--accent-soft);color:var(--accent-ink);font:inherit;font-size:.68rem;text-decoration:none;cursor:pointer}.plan-calendar-actions small{max-width:260px}.study-plan-form input[type=time]{direction:ltr;text-align:center}
.persian-date-field{position:relative;display:grid;grid-template-columns:minmax(135px,1fr) 42px;gap:5px}.study-planner .persian-date-field input{cursor:pointer;min-width:0}.persian-date-open{display:grid;place-items:center;min-width:42px;min-height:42px;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--accent-soft);color:var(--accent-ink);font:inherit;font-size:1.15rem;cursor:pointer}.persian-calendar{position:absolute;z-index:80;inset-block-start:calc(100% + 7px);inset-inline-start:0;width:min(310px,calc(100vw - 38px));padding:12px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:16px;background:var(--surface-solid);box-shadow:0 18px 48px rgba(4,14,28,.24),0 0 22px var(--accent-soft)}.persian-calendar[hidden]{display:none}.persian-calendar-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;margin-bottom:10px}.persian-calendar-head strong{text-align:center;white-space:nowrap;font-size:.82rem;color:var(--accent-ink)}.persian-calendar-nav{min-height:34px;padding:5px 7px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--ink);font:inherit;font-size:.68rem;cursor:pointer}.persian-calendar-weekdays,.persian-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.persian-calendar-weekdays span{display:grid;place-items:center;min-height:25px;color:var(--ink-dim);font-size:.68rem}.persian-calendar-day{aspect-ratio:1;min-width:0;padding:0;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ink);font:inherit;font-size:.75rem;cursor:pointer}.persian-calendar-day:hover,.persian-calendar-day:focus-visible{border-color:var(--accent);background:var(--accent-soft);outline:none}.persian-calendar-day.today{border-color:var(--neon-b);box-shadow:inset 0 0 0 1px var(--neon-b)}.persian-calendar-day.selected{background:linear-gradient(135deg,var(--neon-a),var(--neon-b));color:#07131f;font-weight:800}.persian-calendar-blank{aspect-ratio:1}

@media(pointer:coarse){
  .hl-toolbar{position:fixed!important;inset-inline:8px!important;left:8px!important;right:8px!important;top:auto!important;bottom:calc(env(safe-area-inset-bottom,0px) + 10px)!important;justify-content:center;gap:8px;padding:10px;backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--surface-solid)}
  .hl-toolbar .hl-swatch{width:38px;height:38px}.hl-toolbar .hl-note-btn{min-height:40px}
}
@media(max-width:600px){
  .title-row{grid-template-columns:minmax(0,1fr) auto auto}.header-quick-actions{grid-column:2;grid-row:1;display:flex;margin:0;padding:0;border:0;background:transparent;box-shadow:none}.header-quick-user{display:none}.header-icon-btn{width:36px;height:36px;padding:8px}.header-collapse-btn{grid-column:3;z-index:2}.study-notebook-shell{padding:12px}.plan-calendar-actions{flex-basis:100%;padding-inline-start:26px}.plan-calendar{flex:1}.metric-card:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){.metric-card{transition:none}.metric-card:hover{transform:none}}

/* Product news and warmer light-mode depth. Kept CSS-only for a fast dashboard. */
.site-updates{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.5fr);gap:22px;margin:16px 0 24px;padding:22px;border:1px solid color-mix(in srgb,var(--primary) 26%,var(--border));border-radius:24px;background:linear-gradient(130deg,color-mix(in srgb,var(--primary) 8%,var(--surface-solid)),var(--surface-strong) 47%,color-mix(in srgb,var(--accent) 8%,var(--surface-solid)));box-shadow:0 18px 44px -30px color-mix(in srgb,var(--primary) 65%,transparent),inset 0 1px 0 rgba(255,255,255,.68)}
.site-updates::before{content:"";position:absolute;z-index:-1;width:260px;height:260px;inset-inline-start:-100px;inset-block-start:-160px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 24%,transparent),transparent 68%);pointer-events:none}
.site-updates-heading{display:flex;align-items:flex-start;gap:14px}.site-updates-heading .eyebrow{margin:0 0 3px;color:var(--accent-ink);font-size:.7rem}.site-updates-heading h2{margin:0 0 7px;font-size:1.08rem}.site-updates-heading p:last-child{margin:0;color:var(--ink-dim);font-size:.75rem;line-height:1.85}.updates-orbit{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border:1px solid color-mix(in srgb,var(--accent) 44%,var(--border));border-radius:17px;color:var(--accent);background:linear-gradient(145deg,var(--surface-solid),var(--accent-soft));box-shadow:0 12px 24px -16px var(--accent)}.updates-orbit svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.site-update-list{list-style:none;display:grid;gap:8px;margin:0;padding:0}.site-update-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--primary) 13%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--surface-solid) 88%,transparent);box-shadow:0 5px 15px -14px var(--primary)}.site-update-list strong{display:block;font-size:.78rem;color:var(--ink)}.site-update-list p{margin:2px 0 0;color:var(--ink-dim);font-size:.68rem;line-height:1.75}.site-update-list time{color:var(--ink-faint);font-size:.64rem;white-space:nowrap}.update-dot{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 12%,transparent),0 0 14px currentColor}.update-dot-green{color:#16a085;background:currentColor}.update-dot-blue{color:#2f80ed;background:currentColor}.update-dot-pink{color:#d9578b;background:currentColor}
.update-dot-purple{color:#8b5cf6;background:currentColor}.update-dot-cyan{color:#12aeb5;background:currentColor}.update-dot-yellow{color:#d49a08;background:currentColor}

:root[data-theme="light"] .neon-panel,:root[data-theme="light"] .favorites-card,:root[data-theme="light"] .dashboard-fold,:root[data-theme="light"] .study-notebook-shell,:root[data-theme="light"] #userProfileCard{background:linear-gradient(145deg,rgba(255,255,255,.78),color-mix(in srgb,var(--edge,var(--accent)) 4%,var(--surface-solid)));border-color:color-mix(in srgb,var(--edge,var(--accent)) 28%,var(--border));box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 13px 32px -26px color-mix(in srgb,var(--edge,var(--primary)) 75%,transparent),0 2px 8px rgba(15,76,129,.045)}

/* Searchable figure / Harrison algorithm library */
.library-panel{--library-blue:#2f8fe8;--library-cyan:#16b8bc}.library-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 18px;padding:24px;border:1px solid color-mix(in srgb,var(--library-cyan) 34%,var(--border));border-radius:24px;background:radial-gradient(circle at 8% 15%,color-mix(in srgb,var(--library-blue) 12%,transparent),transparent 38%),linear-gradient(135deg,var(--surface-strong),color-mix(in srgb,var(--library-cyan) 6%,var(--surface-solid)));box-shadow:var(--shadow-sm),0 22px 48px -38px var(--library-blue)}.library-hero h2{margin:3px 0 7px}.library-hero p{margin:0;color:var(--ink-dim)}.library-hero-mark{display:grid;place-items:center;flex:0 0 70px;width:70px;height:70px;border-radius:22px;color:var(--library-cyan);background:color-mix(in srgb,var(--library-cyan) 11%,var(--surface-solid));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface-solid) 80%,transparent),0 0 28px color-mix(in srgb,var(--library-cyan) 18%,transparent)}.library-hero-mark svg,.library-card-placeholder svg{width:42px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.library-filters{display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(130px,1fr)) auto;align-items:end;gap:10px;margin-bottom:10px;padding:14px;border:1px solid var(--border);border-radius:18px;background:var(--surface-2)}.library-filters label{display:grid;gap:6px;font-size:.72rem;color:var(--ink-dim)}.library-filters input,.library-filters select{box-sizing:border-box;width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-strong);color:var(--ink);font:inherit}.library-filters input:focus,.library-filters select:focus{outline:2px solid color-mix(in srgb,var(--library-cyan) 72%,transparent);outline-offset:2px}.library-filters .library-favorite-filter{display:flex;align-items:center;gap:7px;min-height:44px;padding:9px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-strong);white-space:nowrap}.library-favorite-filter input{width:18px;min-height:18px;margin:0}
.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:14px;margin-top:15px}.library-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:19px;background:var(--surface-strong);box-shadow:var(--shadow-sm);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.library-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--library-blue) 42%,var(--border));box-shadow:0 17px 34px -26px var(--library-blue)}.library-card-open{display:grid;width:100%;height:100%;padding:0;border:0;background:none;color:inherit;text-align:start;cursor:pointer;font:inherit}.library-card-visual{display:block;width:100%;height:154px;object-fit:cover;background:var(--surface-2)}.library-card-placeholder{display:grid;place-items:center;color:var(--library-blue);background:linear-gradient(145deg,color-mix(in srgb,var(--library-blue) 9%,var(--surface-solid)),color-mix(in srgb,var(--library-cyan) 9%,var(--surface-2)))}.library-card-placeholder[data-kind="algorithm"]{color:#8b5cf6}.library-card-copy{display:grid;gap:7px;padding:14px 15px 16px}.library-card-copy strong{line-height:1.8;font-size:.86rem}.library-card-copy small{line-height:1.7;color:var(--ink-dim)}.library-kind{justify-self:start;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--library-cyan) 12%,var(--surface-2));color:var(--accent-ink);font-size:.65rem;font-weight:700}.library-source{border-top:1px dashed var(--border);padding-top:6px}.library-card-favorite{position:absolute;top:10px;left:10px;z-index:2;display:grid;place-items:center;width:38px;height:38px;border:1px solid color-mix(in srgb,#f4bf38 48%,var(--border));border-radius:50%;background:color-mix(in srgb,var(--surface-solid) 88%,transparent);box-shadow:0 6px 18px rgba(0,0,0,.14);color:#d69500;font-size:1.25rem;cursor:pointer;backdrop-filter:blur(8px)}.library-card-favorite[aria-pressed="true"]{background:#fff7d1;color:#bf7600}.library-more{display:block;margin:18px auto}.library-recent{margin:15px 0}.library-recent h3{font-size:.82rem}.library-recent-list{display:flex;gap:8px;overflow:auto;padding-block:3px 8px}.library-recent-list button{flex:0 0 auto;max-width:260px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface-strong);color:var(--ink);font:inherit;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.library-viewer{width:min(960px,calc(100vw - 28px));max-height:calc(100dvh - 28px);box-sizing:border-box;padding:24px;border:1px solid color-mix(in srgb,var(--library-cyan) 35%,var(--border));border-radius:24px;background:var(--surface-solid);color:var(--ink);box-shadow:0 30px 90px rgba(3,20,39,.35)}.library-viewer::backdrop{background:rgba(4,16,31,.67);backdrop-filter:blur(7px)}.library-viewer-close{position:absolute;top:13px;left:13px;width:40px;height:40px;border:1px solid var(--border);border-radius:50%;background:var(--surface-2);color:var(--ink);font:inherit;font-size:1.4rem;cursor:pointer}.library-viewer-heading{padding-inline-end:42px}.library-viewer-heading h2{font-size:1.08rem;line-height:1.8}.library-viewer-body{display:grid;gap:15px;margin-block:18px;max-height:65dvh;overflow:auto;overscroll-behavior:contain}.library-viewer-image{display:block;max-width:100%;max-height:58dvh;margin:auto;border-radius:14px;background:#fff;object-fit:contain}.library-viewer-note,.library-viewer-source{margin:0;line-height:2;color:var(--ink-dim)}.library-viewer-source{padding:10px 12px;border-radius:10px;background:var(--surface-2);font-size:.72rem}.library-viewer-actions{display:flex;justify-content:flex-end;gap:10px}.library-table-scroll{overflow:auto}.library-structured-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.78rem}.library-structured-table th,.library-structured-table td{padding:10px;border-inline-start:1px solid var(--border);border-bottom:1px solid var(--border);line-height:1.85;vertical-align:top}.library-structured-table th{background:var(--accent-soft);color:var(--accent-ink)}.library-structured{white-space:pre-wrap;line-height:1.9;direction:rtl}.library-algorithm-steps{display:grid;gap:10px;margin:0;padding-inline-start:24px}.library-algorithm-steps li{padding:12px 14px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}.library-algorithm-steps p{margin:7px 0 0;line-height:1.9;color:var(--ink-dim)}
@media(max-width:900px){.library-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.library-search{grid-column:1/-1}.library-favorite-filter{justify-content:center}}
@media(max-width:600px){.library-hero{padding:18px}.library-hero-mark{width:52px;height:52px;flex-basis:52px;border-radius:16px}.library-filters{grid-template-columns:1fr 1fr;padding:10px}.library-search,.library-favorite-filter{grid-column:1/-1}.library-grid{grid-template-columns:1fr 1fr;gap:9px}.library-card-visual{height:116px}.library-card-copy{padding:11px}.library-card-copy strong{font-size:.73rem}.library-card-copy small{font-size:.63rem}.library-card-favorite{width:34px;height:34px}.library-viewer{padding:18px 14px}.library-viewer-actions{display:grid;grid-template-columns:1fr 1fr}.library-viewer-actions button{width:100%}}
@media(max-width:390px){.library-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.library-card{transition:none}.library-card:hover{transform:none}}
:root[data-theme="light"] .dashboard-grid>.neon-panel:nth-child(even){background:linear-gradient(145deg,rgba(255,255,255,.82),color-mix(in srgb,var(--edge,var(--primary)) 5%,#f8f4ec))}

.theme-toggle-compact{display:none!important;margin-inline-start:0;width:38px;min-width:38px;height:38px;padding:7px!important}.theme-toggle-compact span{display:none}
header.top.collapsed .theme-toggle-compact{display:inline-flex!important}
@keyframes header-calm-beacon{0%,72%,100%{box-shadow:0 0 10px color-mix(in srgb,var(--accent) 15%,transparent)}82%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent),0 0 23px color-mix(in srgb,var(--accent) 48%,transparent)}90%{box-shadow:0 0 0 7px transparent,0 0 14px color-mix(in srgb,var(--accent) 24%,transparent)}}
header.top.collapsed .header-collapse-btn{animation:header-calm-beacon 7s ease-in-out infinite}
header.top.collapsed .header-collapse-btn.has-message-notification{animation:message-attention 5s ease-in-out infinite}

@media(max-width:760px){.site-updates{grid-template-columns:1fr;padding:17px;gap:16px}.site-update-list li{grid-template-columns:auto minmax(0,1fr)}.site-update-list time{grid-column:2}.site-updates-heading{align-items:center}}
@media(max-width:600px){
  .title-row{grid-template-columns:minmax(0,1fr) auto auto auto}
  .header-quick-actions{grid-column:2}.header-quick-actions .header-icon-btn{width:38px;height:38px}.theme-toggle-compact{grid-column:3;grid-row:1;margin:0}.header-collapse-btn{grid-column:4!important}
  .title-row-extras{direction:rtl;grid-template-columns:repeat(2,38px);justify-content:end;gap:7px}
  .title-row-extras .theme-toggle-btn{grid-column:1;grid-row:1;width:38px;height:38px;min-height:38px}
  .title-row-extras #logoutBtn{grid-column:2;grid-row:1;width:38px;height:38px;min-height:38px}
  .title-row-extras #ghConnectBtn:not([style*="display: none"]){grid-column:1/-1;grid-row:2;width:100%;min-height:38px}
  header.top.collapsed .header-quick-actions{display:flex;grid-column:1;grid-row:1;justify-self:end}
  header.top.collapsed .header-quick-actions #messagesQuickBtn,header.top.collapsed .header-quick-actions #connStatus{display:none!important}
  header.top.collapsed .header-quick-actions #accountQuickBtn{display:grid}
}
@media(prefers-reduced-motion:reduce){header.top.collapsed .header-collapse-btn,#messagesQuickBtn.has-new-message,.header-collapse-btn.has-message-notification{animation:none}}

/* Final floating-header alignment: full-size user actions, compact navigation controls. */
.header-quick-actions>#connStatus{
  display:inline-flex;align-items:center;justify-content:center;overflow:visible;
  width:auto;min-width:66px;height:38px;padding:0 10px;font-size:.68rem;white-space:nowrap
}
.header-quick-actions>#connStatus::before{display:none}
.title-row-extras{gap:8px;margin-inline:12px 4px}
.title-row-extras .theme-toggle-btn{
  width:auto;min-width:78px;height:38px;padding:7px 12px;font-size:.76rem
}
.title-row-extras .theme-toggle-btn span{display:inline}
.title-row-extras #logoutBtn{
  display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:72px;height:38px;
  padding:7px 14px;margin:0;border-radius:var(--radius-pill);font-size:.72rem
}
.header-collapse-btn{margin-inline-start:10px}

@media(max-width:600px){
  .title-row>.brand{grid-column:1;grid-row:1;justify-self:start;direction:rtl}
  .title-row-extras{direction:rtl;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:7px;margin:0}
  .title-row-extras .theme-toggle-btn{grid-column:1;grid-row:1;width:100%;min-width:0;height:auto;min-height:42px;padding:8px 12px;font-size:.76rem}
  .title-row-extras #logoutBtn{grid-column:2;grid-row:1;width:100%;min-width:0;height:auto;min-height:42px;padding:8px 14px;font-size:.74rem}
  .title-row-extras #ghConnectBtn:not([style*="display: none"]){grid-column:1/-1;grid-row:2;width:100%;min-height:42px}
  header.top.collapsed .title-row>.brand{grid-column:1;justify-self:start}
  header.top.collapsed .header-quick-actions{grid-column:2;justify-self:center;width:38px;height:38px;padding:0;border:0;background:transparent;box-shadow:none}
}

/* The floating command deck is intentionally distinct from dashboard cards. */
header.top{
  isolation:isolate;overflow:hidden;
  border-color:color-mix(in srgb,#25d8d2 48%,var(--border));
  background:
    radial-gradient(circle at 88% -35%,rgba(71,227,218,.25),transparent 42%),
    radial-gradient(circle at 4% 125%,rgba(70,120,255,.21),transparent 44%),
    linear-gradient(118deg,color-mix(in srgb,#092f45 93%,var(--surface-strong)),color-mix(in srgb,#133d5c 84%,var(--surface-strong)) 55%,color-mix(in srgb,#0c4d52 88%,var(--surface-strong)));
  box-shadow:0 16px 46px -26px rgba(0,40,66,.78),0 0 25px rgba(37,216,210,.16),inset 0 1px 0 rgba(255,255,255,.2);
}
header.top::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.32;
  background:
    repeating-linear-gradient(118deg,transparent 0 18px,rgba(255,255,255,.045) 18px 19px,transparent 19px 38px),
    repeating-linear-gradient(28deg,transparent 0 26px,rgba(54,239,222,.045) 26px 27px,transparent 27px 52px);
  -webkit-mask-image:linear-gradient(90deg,transparent,black 14%,black 86%,transparent);
  mask-image:linear-gradient(90deg,transparent,black 14%,black 86%,transparent);
}
header.top .brand h1,header.top .header-clock,header.top .header-quick-user{color:#e9fffd}
header.top .header-clock,header.top .header-quick-user{opacity:.82}
header.top .progress-pct{color:#d9fffb}
header.top .header-quick-actions{border-color:rgba(139,255,244,.22);background:rgba(2,27,44,.3)}
header.top .header-icon-btn,header.top .header-collapse-btn,header.top .theme-toggle-btn,header.top .gh-connect-btn,header.top #connStatus{
  border-color:rgba(155,242,237,.24);background:rgba(4,31,49,.46);color:#dffffb;
}
header.top .tabbar{background:rgba(2,26,43,.24);border-radius:16px}
header.top .tab-btn{color:#dffcf9;border-color:rgba(151,238,234,.2);background:rgba(4,35,54,.38)}
header.top .tab-btn.active{color:#062d3a;background:linear-gradient(135deg,#9ff9ee,#62d9e4);border-color:#bafff7;box-shadow:0 0 20px rgba(77,230,220,.28)}
:root[data-theme="light"] header.top{
  border-color:rgba(13,122,149,.58);
  background:
    radial-gradient(circle at 88% -35%,rgba(79,231,215,.32),transparent 42%),
    radial-gradient(circle at 4% 125%,rgba(81,132,231,.24),transparent 44%),
    linear-gradient(118deg,#15516a,#246786 55%,#176f72);
}
.learn-row-highlights .learn-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.learn-btn-icon{display:block;flex:0 0 20px;width:20px;height:20px}
.learn-btn-label{display:inline}
@media(max-width:600px){
  header.top::before{opacity:.22;background:repeating-linear-gradient(118deg,transparent 0 15px,rgba(255,255,255,.045) 15px 16px,transparent 16px 31px)}
  .learn-row-highlights .learn-btn{width:100%;min-height:44px}
}

/* Education discovery and guidance */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.education-guide{--guide-a:#22e7c4;--guide-b:#42b9ff;margin:16px 0 18px;border:1px solid color-mix(in srgb,var(--guide-a) 62%,var(--border));border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--guide-a) 9%,var(--surface-solid)),color-mix(in srgb,var(--guide-b) 7%,var(--surface-solid)));box-shadow:0 0 0 1px color-mix(in srgb,var(--guide-b) 12%,transparent),0 0 24px color-mix(in srgb,var(--guide-a) 17%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 56%,transparent);overflow:hidden}
:root[data-theme="night-shift"] .education-guide{--guide-a:#ff9d2e;--guide-b:#ffd94c;background:linear-gradient(135deg,color-mix(in srgb,var(--guide-a) 11%,var(--surface-solid)),color-mix(in srgb,var(--guide-b) 8%,var(--surface-solid)));box-shadow:0 0 0 1px color-mix(in srgb,var(--guide-b) 14%,transparent),0 0 26px color-mix(in srgb,var(--guide-a) 19%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 34%,transparent)}
.education-guide>summary{display:flex;align-items:center;gap:12px;min-height:58px;padding:12px 16px;list-style:none;cursor:pointer;color:var(--ink)}.education-guide>summary::-webkit-details-marker{display:none}.education-guide>summary>span:nth-child(2){display:grid;gap:2px}.education-guide>summary strong{font-size:.88rem;color:color-mix(in srgb,var(--guide-a) 72%,var(--ink))}.education-guide>summary small{font-size:.67rem;color:var(--ink-dim);font-weight:500}.education-guide-icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border:1px solid color-mix(in srgb,var(--guide-b) 70%,transparent);border-radius:12px;background:color-mix(in srgb,var(--guide-a) 14%,transparent);color:var(--guide-a);text-shadow:0 0 12px currentColor;box-shadow:0 0 16px color-mix(in srgb,var(--guide-a) 22%,transparent)}.education-guide .fold-chevron{color:var(--guide-b)}.education-guide[open] .fold-chevron{transform:rotate(180deg)}
.education-guide-body{padding:2px 20px 18px;border-top:1px solid color-mix(in srgb,var(--guide-a) 22%,transparent);font-size:.78rem;line-height:2;color:var(--ink-dim)}.education-guide-body ul{margin:12px 0 8px;padding-inline-start:22px}.education-guide-body p{margin:8px 0 0;color:var(--ink)}
.education-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-items:center;margin:0 0 20px;padding:14px;border:1px solid color-mix(in srgb,var(--neon-b) 38%,var(--border));border-radius:18px;background:color-mix(in srgb,var(--surface-solid) 91%,transparent);box-shadow:0 10px 28px -24px var(--neon-b)}.education-search label{display:flex;align-items:center;gap:10px;min-width:0;padding:0 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);color:var(--neon-a)}.education-search input{box-sizing:border-box;width:100%;min-width:0;min-height:48px;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:.8rem;text-align:right}.education-search label:focus-within{border-color:var(--neon-a);box-shadow:0 0 0 3px color-mix(in srgb,var(--neon-a) 13%,transparent),0 0 18px var(--panel-glow)}.education-search-clear{min-height:44px;padding:8px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--accent-ink);font:inherit;font-size:.72rem;cursor:pointer}.education-search p{grid-column:1/-1;margin:0;color:var(--ink-dim);font-size:.7rem}.topic-item[hidden],.topic-cat[hidden]{display:none!important}
.account-export-card{margin:16px 0;padding:16px;border:1px solid color-mix(in srgb,var(--neon-b) 34%,var(--border));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--neon-a) 5%,var(--surface-2)),color-mix(in srgb,var(--neon-b) 5%,var(--surface-solid)))}.account-export-card h3{margin:0 0 4px;font-size:.88rem}.account-export-card p{margin:0}.account-export-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.account-export-actions .secondary-action{flex:1;min-width:150px}
.learn-row-highlights{align-items:center;gap:8px;flex-wrap:wrap}.learn-row-highlights-label{flex-basis:100%}.learn-row-highlights .learn-btn{min-width:170px}.personal-note-context{margin:8px 0 0;padding:8px 10px;border-inline-start:2px solid var(--neon-b);color:var(--ink-dim);font-size:.72rem;line-height:1.8}
@media(max-width:600px){.education-guide>summary{padding:11px 12px}.education-search{grid-template-columns:1fr}.education-search-clear{width:100%}.learn-row-highlights .learn-btn{min-width:0;flex:1 1 100%}.account-export-actions{display:grid;grid-template-columns:1fr}.account-export-actions .secondary-action{min-width:0}}
@media(prefers-reduced-motion:reduce){header.top::before{transform:none}}
