:root {
  --bg: #0b1020;
  --bg2: #111831;
  --card: rgba(24, 31, 58, .72);
  --card-strong: rgba(31, 39, 72, .94);
  --border: rgba(255,255,255,.09);
  --text: #f7f8ff;
  --muted: #9da8c7;
  --gold: #ffc857;
  --gold-2: #ffdf8a;
  --purple: #8b7cff;
  --blue: #67c8ff;
  --green: #51d99b;
  --danger: #ff7a8b;
  --shadow: 0 24px 80px rgba(0,0,0,.32);
  --radius: 24px;
}

* { box-sizing: border-box; }
html { background: var(--bg); }
body {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  font-family: Tahoma, "Segoe UI", Arial, sans-serif;
  background:
    radial-gradient(circle at 80% 0%, rgba(139,124,255,.18), transparent 34%),
    radial-gradient(circle at 15% 80%, rgba(103,200,255,.12), transparent 36%),
    linear-gradient(165deg, var(--bg) 0%, #0b1225 48%, #11152b 100%);
  color: var(--text);
  overflow-x: hidden;
}
button, input, textarea, select { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }

.ambient {
  position: fixed;
  pointer-events: none;
  filter: blur(80px);
  border-radius: 999px;
  opacity: .4;
  z-index: 0;
}
.ambient-one { width: 220px; height: 220px; background: #6e5cff; top: -80px; right: -80px; }
.ambient-two { width: 260px; height: 260px; background: #1ca9ff; bottom: 10%; left: -130px; opacity: .18; }

.app-shell {
  position: relative;
  z-index: 1;
  width: min(100%, 580px);
  min-height: 100dvh;
  margin: 0 auto;
  padding: max(14px, env(safe-area-inset-top)) 16px calc(100px + env(safe-area-inset-bottom));
}

.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 6px 2px 18px;
}
.brand { display: flex; align-items: center; gap: 11px; }
.brand-mark {
  width: 48px; height: 48px; display: grid; place-items: center;
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(255,200,87,.18), rgba(139,124,255,.12));
  border: 1px solid rgba(255,222,138,.22);
  box-shadow: inset 0 0 22px rgba(255,200,87,.06), 0 10px 28px rgba(0,0,0,.22);
}
.brand-mark svg { width: 34px; height: 34px; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.lantern-frame { stroke: #f7d983; stroke-width: 3; }
.lantern-glow { fill: #ffc857; stroke: #ffe6a6; stroke-width: 1.6; filter: drop-shadow(0 0 8px rgba(255,200,87,.8)); animation: glow 2.8s ease-in-out infinite; }
.brand strong { display:block; font-size: 19px; letter-spacing: -.4px; }
.brand span { display:block; color: var(--muted); font-size: 11px; margin-top: 3px; }
.grade-pill { background: rgba(255,255,255,.06); border: 1px solid var(--border); border-radius: 999px; color: #dce3ff; padding: 8px 12px; font-size: 12px; }

.content { display: grid; gap: 14px; animation: fadeIn .35s ease both; }
.hidden { display: none !important; }
.glass-card {
  background: linear-gradient(155deg, rgba(31,39,72,.78), rgba(18,24,49,.72));
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-radius: var(--radius);
}
.loading-card { min-height: 62vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 30px; }
.loading-card h1 { font-size: 18px; margin: 18px 0 7px; }
.loading-card p { margin: 0; color: var(--muted); font-size: 13px; }
.loader-orbit { width: 58px; height: 58px; border-radius: 50%; border: 1px solid rgba(255,255,255,.1); display:grid; place-items:center; animation: spin 2s linear infinite; }
.loader-orbit span { width: 13px; height: 13px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 24px rgba(255,200,87,.8); transform: translateY(-22px); }

.hero {
  position: relative;
  overflow: hidden;
  padding: 24px;
  min-height: 230px;
}
.hero::before {
  content: "";
  position:absolute; inset:0;
  background: radial-gradient(circle at 15% 5%, rgba(255,200,87,.18), transparent 35%), linear-gradient(135deg, rgba(139,124,255,.12), transparent 54%);
  pointer-events:none;
}
.hero-copy { position:relative; z-index:2; width: 67%; }
.hero-eyebrow { color: var(--gold-2); font-size: 12px; margin-bottom: 9px; }
.hero h1 { font-size: 25px; line-height: 1.55; margin: 0 0 9px; letter-spacing: -.5px; }
.hero p { color: var(--muted); font-size: 12px; line-height: 1.9; margin: 0; }
.lantern-stage { position:absolute; left: 14px; bottom: 5px; width: 128px; height: 190px; display:grid; place-items:center; }
.lantern-aura { position:absolute; width: 115px; height: 115px; border-radius:50%; background: radial-gradient(circle, rgba(255,214,116,.34), rgba(255,200,87,.10) 42%, transparent 72%); filter: blur(4px); animation: breathe 3s ease-in-out infinite; }
.lantern-big { width: 104px; filter: drop-shadow(0 22px 36px rgba(0,0,0,.36)); position:relative; z-index:2; }
.lantern-big .frame { stroke: #f7d983; stroke-width: 2.5; fill: rgba(22,28,52,.84); }
.lantern-big .flame { fill: var(--gold); stroke:#fff0b8; stroke-width:1.3; filter: drop-shadow(0 0 12px rgba(255,200,87,.92)); animation: glow 2.2s ease-in-out infinite; }

.stats-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:10px; }
.stat-card { padding: 15px 12px; text-align:center; border-radius: 20px; background: rgba(255,255,255,.045); border:1px solid var(--border); }
.stat-card span { display:block; font-size: 20px; font-weight: 800; margin-bottom: 5px; }
.stat-card small { color:var(--muted); font-size:10px; }

.section-title { display:flex; align-items:end; justify-content:space-between; margin: 6px 2px 0; }
.section-title h2 { font-size: 15px; margin: 0; }
.section-title span { color: var(--muted); font-size: 10px; }
.actions { display:grid; grid-template-columns: 1fr 1fr; gap:11px; }
.action-card {
  appearance:none; border:1px solid var(--border); color:var(--text); text-align:right;
  padding:17px; border-radius:22px; background:rgba(255,255,255,.045); cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}
.action-card:active { transform:scale(.98); }
.action-card .icon { width:42px;height:42px;border-radius:15px;display:grid;place-items:center;margin-bottom:14px;font-size:20px;background:rgba(139,124,255,.14); }
.action-card.gold .icon { background:rgba(255,200,87,.14); }
.action-card.green .icon { background:rgba(81,217,155,.14); }
.action-card.blue .icon { background:rgba(103,200,255,.14); }
.action-card strong { display:block;font-size:13px;margin-bottom:5px; }
.action-card small { color:var(--muted);font-size:10px;line-height:1.7; }

.panel { padding: 22px; }
.panel-head { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px; }
.panel-head h1 { font-size:20px;margin:0; }
.panel-head p { color:var(--muted);font-size:11px;margin:6px 0 0;line-height:1.7; }
.back-btn { width:40px;height:40px;border:1px solid var(--border);background:rgba(255,255,255,.05);border-radius:14px;color:var(--text);cursor:pointer; }

.form-group { display:grid; gap:8px; margin-bottom:15px; }
.form-group label { font-size:11px;color:#dfe5ff; }
.input, .textarea, .select {
  width:100%; border:1px solid var(--border); background:rgba(8,12,28,.54); color:var(--text); border-radius:16px; padding:14px 15px; outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.input:focus, .textarea:focus, .select:focus { border-color:rgba(139,124,255,.55); box-shadow:0 0 0 3px rgba(139,124,255,.09); }
.textarea { resize:vertical; min-height:120px; line-height:1.9; }
.primary-btn {
  width:100%; border:0; color:#161822; font-weight:800; background:linear-gradient(135deg, #ffd166, #ffbd4a); border-radius:17px; padding:15px 18px; cursor:pointer;
  box-shadow:0 12px 28px rgba(255,190,74,.20); transition:transform .18s ease, filter .18s ease;
}
.primary-btn:active { transform:scale(.985); }
.primary-btn:disabled { opacity:.5; cursor:not-allowed; }
.secondary-btn { width:100%;border:1px solid var(--border);color:var(--text);background:rgba(255,255,255,.05);border-radius:17px;padding:14px;cursor:pointer; }

.register-wrap { padding: 28px 22px; }
.register-hero { text-align:center; padding:12px 6px 24px; }
.register-icon { width:84px;height:84px;margin:0 auto 17px;border-radius:27px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,200,87,.20),rgba(139,124,255,.14));border:1px solid rgba(255,220,130,.22);font-size:38px;box-shadow:0 20px 45px rgba(0,0,0,.25); }
.register-hero h1 { font-size:23px;margin:0 0 8px; }
.register-hero p { color:var(--muted);font-size:12px;line-height:1.8;margin:0; }
.note { color:var(--muted);font-size:10px;line-height:1.9;margin-top:12px;text-align:center; }

.pending { min-height:62vh;padding:32px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center; }
.pending .status-orb { width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:rgba(255,200,87,.10);border:1px solid rgba(255,200,87,.22);font-size:36px;margin-bottom:22px;box-shadow:0 0 50px rgba(255,200,87,.10); }
.pending h1 { margin:0 0 10px;font-size:21px; }
.pending p { margin:0;color:var(--muted);font-size:12px;line-height:2;max-width:320px; }

.progress-ring { width:92px;height:92px;position:relative;display:grid;place-items:center; }
.progress-ring svg { width:92px;height:92px;transform:rotate(-90deg); }
.progress-ring circle { fill:none;stroke-width:8; }
.progress-ring .track { stroke:rgba(255,255,255,.07); }
.progress-ring .value { stroke:var(--green);stroke-linecap:round;transition:stroke-dashoffset .5s ease; }
.progress-ring b { position:absolute;font-size:18px; }
.report-card { padding:18px;border-radius:20px;background:rgba(255,255,255,.045);border:1px solid var(--border); }
.report-card + .report-card { margin-top:10px; }
.report-row { display:flex;align-items:center;justify-content:space-between;gap:14px; }
.report-row strong { font-size:13px; }
.report-row span { color:var(--muted);font-size:11px; }
.chart { height:150px;display:flex;align-items:end;gap:8px;padding-top:16px; }
.bar-wrap { flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;height:100%;justify-content:end; }
.bar { width:100%;max-width:28px;min-height:4px;border-radius:9px 9px 5px 5px;background:linear-gradient(180deg,var(--purple),#5c79ff);box-shadow:0 8px 20px rgba(100,100,255,.16); }
.bar-wrap small { color:var(--muted);font-size:9px; }
.badges-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.badge { padding:17px;border-radius:19px;text-align:center;background:rgba(255,255,255,.04);border:1px solid var(--border); }
.badge .emoji { font-size:28px;margin-bottom:7px; }
.badge strong { display:block;font-size:12px;margin-bottom:5px; }
.badge small { color:var(--muted);font-size:9px;line-height:1.7; }

.subjects { display:flex;flex-wrap:wrap;gap:8px;margin:5px 0 18px; }
.chip { border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--text);border-radius:999px;padding:9px 12px;font-size:11px;cursor:pointer; }
.chip.selected { border-color:rgba(255,200,87,.55);background:rgba(255,200,87,.11);color:#ffe4a0; }
.range-row { display:flex;align-items:center;gap:12px; }
.range { flex:1;accent-color:var(--gold); }
.range-value { min-width:72px;text-align:center;font-weight:800;color:var(--gold-2); }
.moods { display:grid;grid-template-columns:repeat(5,1fr);gap:7px; }
.mood { border:1px solid var(--border);background:rgba(255,255,255,.04);border-radius:15px;padding:11px 4px;font-size:21px;cursor:pointer; }
.mood.selected { border-color:rgba(81,217,155,.5);background:rgba(81,217,155,.10);transform:translateY(-1px); }

.profile-card { text-align:center;padding:26px 20px; }
.avatar { width:76px;height:76px;border-radius:25px;margin:0 auto 14px;display:grid;place-items:center;font-size:28px;font-weight:800;background:linear-gradient(145deg,#725cff,#435be8);box-shadow:0 18px 36px rgba(68,84,225,.22); }
.profile-card h2 { margin:0 0 5px;font-size:18px; }
.profile-card p { color:var(--muted);font-size:11px;margin:0; }
.meta-list { margin-top:18px;display:grid;gap:9px;text-align:right; }
.meta-item { display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:15px;background:rgba(255,255,255,.04); }
.meta-item span { color:var(--muted);font-size:10px; }
.meta-item b { font-size:11px; }

.bottom-nav {
  position:fixed; z-index:20; bottom:max(10px, env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%);
  width:min(calc(100% - 28px), 550px); padding:9px; border-radius:24px;
  display:grid;grid-template-columns:repeat(5,1fr);gap:3px;
  background:rgba(15,20,42,.88); border:1px solid rgba(255,255,255,.10); box-shadow:0 20px 50px rgba(0,0,0,.38); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
}
.nav-item { border:0;background:transparent;color:#7782a4;border-radius:17px;padding:8px 3px 6px;cursor:pointer; }
.nav-item span { display:block;font-size:18px;line-height:1;margin-bottom:5px; }
.nav-item small { font-size:9px; }
.nav-item.active { color:#ffe29a;background:rgba(255,200,87,.08); }

.toast {
  position:fixed; z-index:50; left:50%; bottom:92px; transform:translate(-50%, 18px); width:min(calc(100% - 42px), 470px);
  opacity:0; pointer-events:none; background:#202846;border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 40px rgba(0,0,0,.32);border-radius:16px;padding:13px 15px;text-align:center;color:#f6f7ff;font-size:11px;line-height:1.7;transition:.25s ease;
}
.toast.show { opacity:1;transform:translate(-50%,0); }
.toast.error { border-color:rgba(255,122,139,.34); }
.toast.success { border-color:rgba(81,217,155,.34); }

.error-card { padding:28px;text-align:center; }
.error-card .emoji { font-size:38px;margin-bottom:12px; }
.error-card h1 { font-size:18px;margin:0 0 9px; }
.error-card p { color:var(--muted);font-size:11px;line-height:1.9;margin:0; }

@keyframes spin { to { transform:rotate(360deg); } }
@keyframes fadeIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
@keyframes glow { 50% { transform:scale(1.08); opacity:.82; } }
@keyframes breathe { 50% { transform:scale(1.12); opacity:.75; } }

@media (max-width: 390px) {
  .hero-copy { width:72%; }
  .hero h1 { font-size:22px; }
  .lantern-stage { left:2px; transform:scale(.9); transform-origin:bottom left; }
  .actions { gap:9px; }
  .action-card { padding:15px; }
}

/* Study flow v2 */
.study-panel { overflow:hidden; }
.study-progress { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 22px;position:relative; }
.study-progress::before { content:"";position:absolute;top:17px;right:16%;left:16%;height:2px;background:rgba(255,255,255,.08);z-index:0; }
.study-progress-item { position:relative;z-index:1;display:grid;place-items:center;gap:6px;color:var(--muted); }
.study-progress-item span { width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#151b35;border:1px solid var(--border);font-size:11px;font-weight:800; }
.study-progress-item small { font-size:9px; }
.study-progress-item.active { color:#ffe6a9; }
.study-progress-item.active span { color:#1c1c25;background:linear-gradient(135deg,#ffe29a,#ffc34f);border-color:rgba(255,211,111,.75);box-shadow:0 8px 22px rgba(255,195,79,.18); }
.study-step-head { display:flex;align-items:center;gap:12px;margin-bottom:17px;padding:14px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid var(--border); }
.study-step-icon { flex:0 0 46px;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-size:22px;background:rgba(255,200,87,.11); }
.study-step-head h2 { margin:0 0 5px;font-size:15px; }
.study-step-head p { margin:0;color:var(--muted);font-size:10px;line-height:1.7; }
.minute-presets { display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:14px; }
.choice-tile { appearance:none;border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--text);border-radius:17px;padding:13px;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease; }
.choice-tile:active { transform:scale(.98); }
.choice-tile:hover { border-color:rgba(255,200,87,.33); }
.choice-tile.selected { border-color:rgba(255,200,87,.58);background:rgba(255,200,87,.11);box-shadow:inset 0 0 0 1px rgba(255,215,130,.05); }
.minute-tile { min-height:70px;display:flex;align-items:baseline;justify-content:center;gap:5px; }
.minute-tile strong { font-size:22px;color:#ffe3a0; }
.minute-tile small { font-size:9px;color:var(--muted); }
.custom-minute-box { padding:15px;border-radius:18px;background:rgba(139,124,255,.055);border:1px solid rgba(139,124,255,.16); }
.custom-minute-box label { display:block;font-size:11px;margin-bottom:9px; }
.custom-minute-box > small { display:block;color:var(--muted);font-size:9px;line-height:1.8;margin-top:8px; }
.custom-minute-row { display:grid;grid-template-columns:1fr auto;gap:8px; }
.compact-btn { border:0;border-radius:15px;padding:0 17px;background:linear-gradient(135deg,#8d7cff,#625ff1);color:white;font-weight:800;cursor:pointer; }
.input-error { border-color:rgba(255,122,139,.72)!important;box-shadow:0 0 0 3px rgba(255,122,139,.08)!important; }
.subject-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:10px; }
.subject-tile { min-height:54px;font-size:11px;font-weight:700;display:grid;place-items:center;text-align:center; }
.type-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:10px; }
.type-tile { min-height:78px;display:grid;place-items:center;gap:5px; }
.type-tile .type-icon { font-size:23px; }
.type-tile strong { font-size:11px; }
.study-inline-action { margin-top:8px; }
.selected-soft { border-color:rgba(255,200,87,.44);background:rgba(255,200,87,.07); }
.study-summary { display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 12px; }
.study-summary span { padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--border);font-size:9px;color:#dfe5ff; }
.text-action { width:100%;border:0;background:transparent;color:#9eabd0;padding:12px 8px 4px;font-size:10px;cursor:pointer; }
.cancel-study-btn { width:100%;border:0;background:transparent;color:#d18b98;padding:16px 8px 0;font-size:10px;cursor:pointer; }

@media (max-width: 370px) {
  .minute-presets,.subject-grid,.type-grid { grid-template-columns:1fr 1fr;gap:7px; }
  .study-step-head { padding:12px; }
  .choice-tile { padding:11px 8px; }
}

/* Fanoos V4: effort notebook, progress, program, secure entry */
.effort-total {
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:16px;padding:17px 18px;border-radius:20px;
  background:linear-gradient(135deg,rgba(81,217,155,.10),rgba(103,200,255,.06));
  border:1px solid rgba(81,217,155,.18);
}
.effort-total small { display:block;color:var(--muted);font-size:10px;margin-bottom:5px; }
.effort-total strong { font-size:19px; }
.effort-total > span { padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.055);font-size:10px;color:#dce3ff; }
.effort-presets { grid-template-columns:repeat(3,1fr); }
.effort-category-wrap { margin-top:14px; }
.category-grid { display:flex;flex-wrap:wrap;gap:8px; }
.compact-textarea { min-height:86px; }
.future-note { margin:13px 0 20px;padding:12px 14px;border-radius:15px;background:rgba(139,124,255,.07);border:1px dashed rgba(139,124,255,.25);font-size:10px;color:#b7c0df;line-height:1.8; }
.activity-list { display:grid;gap:9px;margin-top:10px; }
.activity-item { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:13px 14px;border-radius:17px;background:rgba(255,255,255,.04);border:1px solid var(--border); }
.activity-icon { width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:rgba(255,200,87,.08);font-size:17px; }
.activity-item strong { display:block;font-size:11px;margin-bottom:4px; }
.activity-item small { display:block;color:var(--muted);font-size:9px;line-height:1.6; }
.activity-item b { font-size:10px;color:#ffe09a;white-space:nowrap; }
.empty-state { text-align:center;color:var(--muted);font-size:10px;padding:18px;border-radius:16px;background:rgba(255,255,255,.025);border:1px dashed var(--border); }

.progress-level-card { display:grid;gap:14px;padding:20px;border-radius:22px;margin-bottom:11px;background:linear-gradient(135deg,rgba(255,200,87,.10),rgba(139,124,255,.09));border:1px solid rgba(255,210,120,.18); }
.progress-level-card small { display:block;color:var(--muted);font-size:10px;margin-bottom:5px; }
.progress-level-card strong { display:block;font-size:21px;color:#ffe09b;margin-bottom:5px; }
.progress-level-card span { color:#bac4e2;font-size:10px; }
.level-dots { display:grid;grid-template-columns:repeat(5,1fr);gap:6px; }
.level-dots i { height:7px;border-radius:999px;background:rgba(255,255,255,.07); }
.level-dots i.on { background:linear-gradient(90deg,#ffc857,#8b7cff);box-shadow:0 0 12px rgba(255,200,87,.12); }
.compare-grid { display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:11px; }
.compare-card { padding:15px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid var(--border); }
.compare-card small { display:block;color:var(--muted);font-size:9px;margin-bottom:6px; }
.compare-card strong { display:block;font-size:14px;margin-bottom:6px; }
.compare-card span { display:block;color:#9da8c7;font-size:9px;line-height:1.5; }
.compare-card .positive { color:var(--green); }
.compare-card .negative { color:#ff9ca9; }
.compare-card .neutral { color:var(--muted); }
.chart-14 { gap:4px;overflow:hidden; }
.chart-14 .bar { max-width:18px;background:linear-gradient(180deg,#5d669a,#3d476e); }
.chart-14 .bar.current-bar { background:linear-gradient(180deg,var(--gold),#8b7cff); }
.chart-14 .bar-wrap small { font-size:7px; }
.chart-legend { display:flex;justify-content:center;gap:18px;padding-top:8px;color:var(--muted);font-size:8px; }
.chart-legend span { display:flex;align-items:center;gap:5px; }
.chart-legend i { width:12px;height:5px;border-radius:999px;display:inline-block; }
.legend-old { background:#4a537e; }
.legend-current { background:linear-gradient(90deg,var(--gold),var(--purple)); }

.program-list { display:grid;gap:10px; }
.program-item { padding:17px;border-radius:19px;background:rgba(255,255,255,.04);border:1px solid var(--border); }
.program-item strong { display:block;font-size:13px;margin-bottom:7px;color:#ffe3a0; }
.program-item p { margin:0;color:var(--muted);font-size:10px;line-height:1.9;white-space:pre-line; }
.coming-card { padding:35px 22px;text-align:center;border-radius:22px;background:rgba(255,255,255,.035);border:1px dashed rgba(255,255,255,.12); }
.coming-card > div { font-size:38px;margin-bottom:12px; }
.coming-card h2 { margin:0 0 8px;font-size:16px; }
.coming-card p { margin:0;color:var(--muted);font-size:10px;line-height:1.9; }
.blocked-card { margin-top:8vh; }
.blocked-hint { margin-top:16px;padding:13px;border-radius:15px;background:rgba(255,200,87,.07);border:1px solid rgba(255,200,87,.15);color:#e6d6ad;font-size:10px;line-height:1.8; }
.profile-back { margin-top:18px; }

@media (max-width:390px) {
  .effort-presets { grid-template-columns:repeat(2,1fr); }
  .compare-grid { grid-template-columns:1fr 1fr; }
  .activity-item { grid-template-columns:auto 1fr; }
  .activity-item b { grid-column:2; }
}
