  /* ═══ COURSE LIST VIEW ═══ */
  header { display:flex; justify-content:space-between; align-items:center; padding:32px 0 0; }

  .logo { display:flex; flex-direction:column; gap:3px; font-family:'Forum', serif; }
  .logo span:first-child { font-size:14px; color:var(--cream); letter-spacing:0.04em; }
  .logo .logo-sub { font-size:11px; color:var(--muted); letter-spacing:0.03em; }

  .header-right { display:flex; flex-direction:column; align-items:flex-end; gap:6px; flex-shrink:0; }

  .streak { display:flex; align-items:center; gap:7px; font-size:12px; color:var(--orange); font-family:'Forum', serif; flex-shrink:0; }
  .streak-icon {
    display:block;
    line-height:0;
    color:var(--orange);
    filter:drop-shadow(0 0 7px rgba(239,123,46,0.4));
  }
  .streak-icon svg { display:block; overflow:visible; }

  .auth-status { display:flex; align-items:center; gap:6px; font-size:10px; color:var(--muted); letter-spacing:0.02em; }
  .auth-status .auth-email { max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .auth-status .auth-link {
    background:none; border:none; padding:0; margin:0; cursor:pointer;
    font-family:'Jost', sans-serif; font-size:10px; color:var(--gold-dim);
    text-decoration:none; transition:color 0.2s;
  }
  .auth-status .auth-link:hover { color:var(--orange); }

  .hero { margin:40px 0 0; padding-bottom:30px; border-bottom:0.5px solid var(--border); position:relative; }
  .hero::after {
    content:'';
    position:absolute; right:-60px; top:-30px;
    width:180px; height:180px;
    background:radial-gradient(circle, var(--orange-glow) 0%, transparent 65%);
    pointer-events:none;
  }
  .hero-eyebrow { font-size:11px; letter-spacing:0.14em; color:var(--gold-dim); margin-bottom:12px; }
  .hero-title { font-family:'Forum', serif; font-size:38px; font-weight:400; line-height:1.1; color:var(--cream); margin-bottom:14px; }
  .hero-title em { font-style:normal; font-weight:400; color:var(--orange); }
  .hero-sub { font-size:12px; color:var(--muted); line-height:1.8; max-width:300px; }
  .hero-sub .sep {
    display:inline-block;
    margin:0 7px;
    color:var(--orange);
    opacity:0.8;
    vertical-align:middle;
    position:relative;
    top:-0.06em;
  }

  .course-progress { margin-top:24px; display:flex; align-items:center; gap:20px; }

  /* Candle-wick progress ring */
  .ring-wrap { position:relative; width:96px; height:96px; flex-shrink:0; }

  /* Soft halo that fades out radially — never a hard square edge */
  .ring-wrap::before {
    content:'';
    position:absolute;
    left:50%; top:50%;
    width:230px; height:230px;
    transform:translate(-50%,-50%);
    background:radial-gradient(circle,
      rgba(239,123,46,0.22) 0%,
      rgba(239,123,46,0.10) 32%,
      rgba(239,123,46,0.03) 55%,
      transparent 72%);
    pointer-events:none;
    z-index:0;
  }

  .ring { transform:rotate(-90deg); overflow:visible; position:relative; z-index:1; }
  .ring-bg {
    fill:none;
    stroke:rgba(240,214,170,0.08);
    stroke-width:4;
  }
  .ring-fill {
    fill:none;
    stroke:var(--orange);
    stroke-width:4;
    stroke-linecap:round;
    stroke-dasharray:257.6;
    stroke-dashoffset:257.6;
    transition:stroke-dashoffset 1.4s cubic-bezier(.4,0,.2,1);
    filter:url(#ringGlow);
  }
  .ring-center {
    position:absolute; inset:0;
    display:flex; flex-direction:column;
    align-items:center; justify-content:center;
    gap:1px;
  }
  .ring-pct { font-family:'Forum', serif; font-size:22px; color:var(--cream); line-height:1; }
  .ring-sub { font-size:9px; color:var(--muted); letter-spacing:0.08em; }

  .ring-caption { flex:1; }
  .ring-caption-title { font-family:'Forum', serif; font-size:16px; color:var(--gold); margin-bottom:4px; }
  .ring-caption-text { font-size:11px; color:var(--muted); line-height:1.6; }

  /* Calendar grid — 21 days */
  .calendar {
    display:grid;
    grid-template-columns:repeat(7, 1fr);
    gap:9px;
  }
  .cal-cell {
    aspect-ratio:1;
    border-radius:50%;
    border:0.5px solid var(--border);
    background:var(--bg2);
    display:flex; align-items:center; justify-content:center;
    font-family:'Forum', serif;
    font-size:14px;
    color:var(--cream-dim);
    cursor:pointer;
    transition:all 0.2s;
    position:relative;
  }
  .cal-cell:hover { border-color:var(--gold-dim); color:var(--gold); transform:translateY(-1px); }
  .cal-cell.sealed {
    border-color:transparent;
    background:transparent;
    overflow:visible;
  }
  .cal-cell.sealed:hover { transform:translateY(-1px) scale(1.05); }

  .cal-cell.today {
    border-color:rgba(239,123,46,0.5);
    box-shadow:0 0 10px rgba(239,123,46,0.2);
    color:var(--orange);
  }

  /* Wax seal — SVG, sits naturally on any background */
  .seal {
    position:absolute;
    left:50%; top:50%;
    transform:translate(-50%,-50%);
    display:flex; align-items:center; justify-content:center;
    animation:stamp 0.6s cubic-bezier(.2,1.5,.4,1) both;
  }
  .wax { display:block; overflow:visible; }
  @keyframes stamp {
    0%   { transform:translate(-50%,-50%) scale(1.9) rotate(-12deg); opacity:0; }
    55%  { transform:translate(-50%,-50%) scale(0.93) rotate(3deg); opacity:1; }
    100% { transform:translate(-50%,-50%) scale(1) rotate(0deg); opacity:1; }
  }

  .phase-block { margin-top:34px; }
  .phase-head { display:flex; align-items:baseline; gap:10px; margin-bottom:14px; }
  .phase-num { font-family:'Forum', serif; font-size:13px; color:var(--orange); letter-spacing:0.1em; }
  .phase-name { font-family:'Forum', serif; font-size:19px; color:var(--cream); font-weight:400; }
  .phase-days { font-size:10px; color:var(--muted); margin-left:auto; }

  .day-list { display:flex; flex-direction:column; gap:8px; }

  .day-row {
    display:flex; align-items:center; gap:14px;
    background:var(--bg2);
    border:0.5px solid var(--border);
    border-radius:14px;
    padding:14px 16px;
    cursor:pointer;
    transition:all 0.2s;
    position:relative;
    overflow:hidden;
  }
  .day-row::before {
    content:''; position:absolute; left:0; top:0; bottom:0; width:2px;
    background:var(--gold); transform:scaleY(0); transition:transform 0.22s;
  }
  .day-row:hover { border-color:var(--border2); transform:translateX(2px); }
  .day-row:hover::before { transform:scaleY(1); }

  .day-row.done { opacity:1; }
  .day-row.done .dr-num {
    background:transparent;
    border-color:transparent;
    box-shadow:none;
    overflow:visible;
  }
  .day-row.done .dr-num .wax { margin:-3px; }

  .dr-num {
    width:36px; height:36px; flex-shrink:0;
    border:0.5px solid var(--border2);
    border-radius:10px;
    display:flex; align-items:center; justify-content:center;
    font-family:'Forum', serif;
    font-size:16px;
    color:var(--cream-dim);
    transition:all 0.2s;
  }

  .dr-body { flex:1; min-width:0; }
  .dr-title { font-size:13px; color:var(--cream); letter-spacing:0.02em; margin-bottom:2px; }
  .dr-sub { font-size:10px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

  .dr-mark { font-size:13px; color:var(--gold); flex-shrink:0; opacity:0; transition:opacity 0.2s; }
  .day-row.done .dr-mark { opacity:1; }

  .dr-tag {
    font-size:8px; letter-spacing:0.14em; text-transform:uppercase;
    padding:3px 7px; border-radius:12px; flex-shrink:0;
    background:rgba(192,90,46,0.12); color:#d98f66; border:0.5px solid rgba(192,90,46,0.3);
  }

