/* PrepMode homepage-specific styles. Shared styles live in styles.css. */

:root{
      --ink:#1f2b28;
      --muted:#71827b;
      --bg:#f6f2e9;
      --surface:#fffdf8;
      --line:#e6dfd0;
      --clarity:#0f6b5c;
      --clarity-light:#1f9c85;
      --amber:#e8a23d;
      --amber-deep:#a5701c;
      --merit-blue:#1234df;
      --max:1120px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}

    body{
      margin:0;
      font-family:'Inter',ui-sans-serif,system-ui,-apple-system,sans-serif;
      color:var(--ink);
      background:
        radial-gradient(circle at 8% 2%, rgba(232,162,61,.10), transparent 24%),
        radial-gradient(circle at 92% 8%, rgba(15,107,92,.10), transparent 24%),
        var(--bg);
      -webkit-font-smoothing:antialiased;
    }

    a{color:inherit;text-decoration:none}
    button{font:inherit}

    .container{
      width:min(calc(100% - 34px),var(--max));
      margin:0 auto;
    }

    header{
      position:sticky;
      top:0;
      z-index:20;
      background:rgba(246,242,233,.90);
      backdrop-filter:blur(14px);
      border-bottom:1px solid var(--line);
    }

    .nav{
      min-height:64px;
      display:flex;
      align-items:center;
      justify-content:space-between;
    }

    .brand{
      display:inline-flex;
      align-items:center;
      gap:9px;
      font-family:'Space Grotesk',sans-serif;
      font-size:1.35rem;
      font-weight:900;
      letter-spacing:-.035em;
      line-height:1;
    }

    .brand-logo{
      width:32px;
      height:32px;
      display:block;
      object-fit:contain;
      flex:0 0 auto;
      border-radius:7px;
    }

    .brand span{color:var(--clarity)}

    @media(max-width:700px){
      .brand{gap:8px}
      .brand-logo{
        width:29px;
        height:29px;
        border-radius:6px;
      }
    }

    .nav-meta{
      font-family:'JetBrains Mono',monospace;
      color:var(--muted);
      font-size:.72rem;
      letter-spacing:.06em;
      text-transform:uppercase;
    }

    .nav-meta::before{
      content:"● ";
      color:var(--amber);
    }

    .hero{
      padding:38px 0 30px;
    }

    .hero-inner{
      display:block;
    }

    .hero-inner > div{
      width:100%;
    }

    .eyebrow{
      display:flex;
      align-items:center;
      gap:8px;
      margin-bottom:12px;
      font-family:'JetBrains Mono',monospace;
      color:var(--clarity);
      font-size:.72rem;
      font-weight:700;
      letter-spacing:.13em;
    }

    .eyebrow::before{
      content:"";
      width:7px;
      height:7px;
      border-radius:50%;
      background:var(--amber);
    }

    h1{
      margin:0;
      font-family:'Space Grotesk',sans-serif;
      font-size:clamp(2.8rem,7vw,5.4rem);
      line-height:.94;
      letter-spacing:-.055em;
      font-weight:900;
      white-space:nowrap;
    }

    /* "Clarity" is intentionally solid: calm, decisive, and cognitively clean. */
    .clarity-word{
      color:var(--clarity);
      position:relative;
      white-space:nowrap;
    }

    .clarity-word::after{
      content:"";
      position:absolute;
      left:2%;
      right:2%;
      bottom:-.05em;
      height:.06em;
      border-radius:999px;
      background:linear-gradient(90deg,var(--clarity),var(--clarity-light));
      opacity:.35;
    }

    .hero-copy{
      margin-top:16px;
      max-width:none;
      width:100%;
      font-size:clamp(.58rem,2.5vw,1.15rem);
      letter-spacing:-.02em;
      color:var(--ink);
      white-space:nowrap;
    }

    .hero-copy strong{font-weight:600}

    .primary-cta{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      margin-top:22px;
      padding:13px 21px;
      border-radius:12px;
      color:#fff;
      background:linear-gradient(105deg,var(--clarity) 0%,var(--clarity-light) 100%);
      font-weight:700;
      box-shadow:0 10px 24px rgba(15,107,92,.18);
      transition:transform .18s ease, box-shadow .18s ease;
    }

    .primary-cta:hover{
      transform:translateY(-2px);
      box-shadow:0 14px 30px rgba(15,107,92,.24);
    }

    .primary-cta:focus-visible{
      outline:3px solid rgba(31,156,133,.28);
      outline-offset:3px;
    }

    .quick-start{
      padding:26px 0 30px;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
      background:rgba(255,253,248,.78);
    }

    .quick-head{margin-bottom:18px}

    .quick-head h2{
      margin:0;
      font-family:'Space Grotesk',sans-serif;
      font-size:clamp(1.6rem,3vw,2.3rem);
      letter-spacing:-.035em;
    }

    .class-line{
      display:flex;
      align-items:center;
      gap:12px;
      flex-wrap:wrap;
    }

    .class-label{
      margin-right:6px;
      color:var(--muted);
      font-family:'JetBrains Mono',monospace;
      font-size:.72rem;
      font-weight:700;
      letter-spacing:.10em;
      text-transform:uppercase;
    }

    .class-btn{
      border:2px solid var(--line);
      background:transparent;
      color:var(--ink);
      padding:10px 20px;
      border-radius:999px;
      cursor:pointer;
      font-family:'Space Grotesk',sans-serif;
      font-size:1rem;
      font-weight:700;
      transition:.15s ease;
    }

    .class-btn:hover{border-color:var(--clarity-light)}

    .class-btn.active{
      background:var(--clarity);
      border-color:var(--clarity);
      color:#fff;
      box-shadow:0 7px 18px rgba(15,107,92,.18);
    }

    .subject-line{
      display:flex;
      align-items:center;
      gap:12px;
      flex-wrap:wrap;
      margin-top:16px;
      min-height:44px;
    }

    .subject-btn{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:10px 18px;
      border:1px solid var(--line);
      border-radius:999px;
      background:var(--surface);
      color:var(--clarity);
      font-family:'Space Grotesk',sans-serif;
      font-size:.96rem;
      font-weight:700;
      text-decoration:none;
      transition:.15s ease;
    }

    .subject-btn:hover,
    .subject-btn:focus-visible{
      border-color:var(--clarity-light);
      background:rgba(31,156,133,.07);
    }

    .subject-note{
      color:var(--muted);
      font-size:.82rem;
    }

    .subject-line.is-empty .subject-btn{display:none}

    .next-section{padding:42px 0 46px}

    .next-layout{
      display:grid;
      grid-template-columns:1fr auto;
      align-items:center;
      gap:28px;
      padding:20px 0 20px 20px;
      border-left:4px solid var(--amber);
    }

    .next-kicker{
      margin-bottom:7px;
      color:var(--amber-deep);
      font-family:'JetBrains Mono',monospace;
      font-size:.70rem;
      font-weight:700;
      letter-spacing:.14em;
    }

    .next-title{
      font-family:'Space Grotesk',sans-serif;
      font-size:clamp(1.35rem,3vw,1.95rem);
      font-weight:700;
      letter-spacing:-.025em;
    }

    .next-topic{
      margin-top:4px;
      color:var(--muted);
      font-size:.95rem;
    }

    .continue{
      color:var(--clarity);
      font-weight:700;
      white-space:nowrap;
      padding:10px 18px;
      border:2px solid var(--clarity);
      border-radius:999px;
      transition:.15s ease;
    }

    .continue:hover{
      background:var(--clarity);
      color:#fff;
    }

    /* Open, integrated closing area rather than a standalone dark box. */
    .message{
      position:relative;
      margin:0;
      padding:58px 0 50px;
      border-top:1px solid var(--line);
      background:
        radial-gradient(circle at 20% 100%,rgba(232,162,61,.09),transparent 32%),
        radial-gradient(circle at 82% 100%,rgba(15,107,92,.09),transparent 34%),
        linear-gradient(180deg,rgba(255,253,248,.45),rgba(246,242,233,.95));
    }

    .closing-grid{
      display:grid;
      grid-template-columns:1.2fr .8fr;
      align-items:center;
      gap:48px;
    }

    .message-copy h2{
      margin:0;
      font-family:'Space Grotesk',sans-serif;
      font-size:clamp(1.05rem,4.5vw,3.5rem);
      letter-spacing:-.04em;
      line-height:1.02;
      font-weight:900;
      white-space:nowrap;
    }

    .message-copy h2 span{
      color:var(--clarity);
    }

    @media(max-width:700px){
      .container{width:min(calc(100% - 24px),var(--max))}
      .nav-meta{display:none}

      .hero{padding:28px 0 24px}

      h1{font-size:clamp(1.85rem,8.5vw,4rem)}
      .hero-copy{font-size:clamp(.58rem,2.5vw,.95rem)}

      .primary-cta{
        width:100%;
        justify-content:center;
      }

      .quick-start{padding:22px 0 26px}
      .class-line{gap:10px}

      .class-label{
        width:100%;
        margin-bottom:2px;
      }

      .class-btn{
        padding:10px 18px;
        font-size:.95rem;
      }


      .subject-line{gap:10px;margin-top:14px}
      .subject-line .class-label{width:100%;margin-bottom:2px}
      .subject-btn{padding:9px 16px;font-size:.92rem}
      .subject-note{font-size:.74rem}

      .next-section{padding:34px 0 38px}

      .next-layout{
        grid-template-columns:1fr auto;
        gap:14px;
        padding-left:16px;
      }

      .continue{
        padding:8px 13px;
        font-size:.88rem;
      }

      .message{padding:46px 0 40px}

      .closing-grid{
        grid-template-columns:1fr;
        gap:30px;
      }

      .message-copy{
        text-align:center;
      }

      .message-copy h2{
        font-size:clamp(1.05rem,5.4vw,2.05rem);
      }
    }
  
    .initiative-credit{
      display:block;
      width:max-content;
      max-width:100%;
      margin:0;
      color:var(--muted);
      font-size:clamp(.88rem,1.75vw,1.14rem);
      line-height:1.4;
      text-align:center;
      white-space:nowrap;
    }

    .initiative-credit a{
      color:var(--clarity);
      font-weight:700;
      text-decoration:none;
      transition:color .16s ease, opacity .16s ease;
    }

    .initiative-credit a:hover{
      color:var(--clarity-light);
    }

    .initiative-credit a:focus-visible{
      outline:2px solid rgba(31,156,133,.3);
      outline-offset:3px;
      border-radius:4px;
    }

    @media(max-width:700px){
      .initiative-credit{
        width:max-content;
        max-width:100%;
        margin:0;
        font-size:clamp(.56rem,2.65vw,.90rem);
        white-space:nowrap;
      }
    }


    .hero-credit-band{
      padding:0 0 24px;
    }

    .hero-credit-band .initiative-credit{
      padding-top:2px;
    }

    @media(max-width:700px){
      .hero-credit-band{
        padding:0 0 18px;
      }
    }



    /* Theme toggle */
    .nav-actions{
      display:flex;
      align-items:center;
      gap:14px;
    }

    .theme-toggle{
      width:42px;
      height:42px;
      border:1px solid var(--line);
      border-radius:12px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:0;
      cursor:pointer;
      color:var(--ink);
      background:rgba(255,253,248,.72);
      transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease;
    }

    .theme-toggle:hover{
      transform:translateY(-1px);
      border-color:rgba(15,107,92,.34);
      background:var(--surface);
    }

    .theme-toggle:focus-visible{
      outline:3px solid rgba(31,156,133,.24);
      outline-offset:3px;
    }

    .theme-toggle svg{
      width:19px;
      height:19px;
      stroke:currentColor;
      stroke-width:1.8;
      fill:none;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    .theme-toggle .moon-icon{display:block}
    .theme-toggle .sun-icon{display:none}

    html[data-theme="dark"]{
      --ink:#edf3ef;
      --muted:#a6b3ad;
      --bg:#16201d;
      --surface:#1d2925;
      --line:#33433d;
      --clarity:#57c2a9;
      --clarity-light:#79d7c1;
      --amber:#e6ad56;
      --amber-deep:#f0bd6d;
    }

    html[data-theme="dark"] body{
      background:
        radial-gradient(circle at 8% 2%,rgba(230,173,86,.08),transparent 24%),
        radial-gradient(circle at 92% 8%,rgba(87,194,169,.10),transparent 24%),
        var(--bg);
    }

    html[data-theme="dark"] header{
      background:rgba(22,32,29,.90);
    }

    html[data-theme="dark"] .theme-toggle{
      background:rgba(29,41,37,.82);
      color:#f5d28f;
    }

    html[data-theme="dark"] .theme-toggle .moon-icon{display:none}
    html[data-theme="dark"] .theme-toggle .sun-icon{display:block}

    html[data-theme="dark"] .primary-cta{
      color:#10201b;
      box-shadow:0 10px 24px rgba(0,0,0,.20);
    }

    html[data-theme="dark"] .quick-start{
      background:rgba(29,41,37,.78);
    }

    html[data-theme="dark"] .class-btn{
      color:var(--ink);
      background:transparent;
    }

    html[data-theme="dark"] .class-btn.active{
      background:#79d7c1;
      border-color:#79d7c1;
      color:#10201b;
      box-shadow:0 8px 22px rgba(87,194,169,.28);
    }

    html[data-theme="dark"] .continue{
      color:var(--clarity-light);
      border-color:var(--clarity);
    }

    html[data-theme="dark"] .continue:hover{
      color:#10201b;
    }

    html[data-theme="dark"] .message{
      background:
        radial-gradient(circle at 20% 100%,rgba(230,173,86,.07),transparent 32%),
        radial-gradient(circle at 82% 100%,rgba(87,194,169,.09),transparent 34%),
        linear-gradient(180deg,rgba(29,41,37,.45),rgba(22,32,29,.96));
    }

    html[data-theme="dark"] .initiative-credit a{
      color:var(--clarity-light);
    }

    html[data-theme="dark"] .clarity-word{
      color:var(--clarity);
    }


    html[data-theme="dark"] .switch::after{
      background:var(--surface);
      box-shadow:0 8px 18px rgba(0,0,0,.24);
    }

    @media(max-width:700px){
      .nav-actions{gap:8px}
      .theme-toggle{
        width:38px;
        height:38px;
        border-radius:11px;
      }
    }


    /* Theme toggle: dual-icon pill */
    .nav-actions{
      display:flex;
      align-items:center;
      gap:14px;
    }

    .theme-pill{
      position:relative;
      width:72px;
      height:36px;
      padding:3px;
      border:1px solid var(--line);
      border-radius:999px;
      background:rgba(255,253,248,.78);
      display:flex;
      align-items:center;
      justify-content:space-between;
      cursor:pointer;
      color:var(--muted);
      transition:.18s ease;
    }

    .theme-pill::before{
      content:"";
      position:absolute;
      width:28px;
      height:28px;
      left:3px;
      top:3px;
      border-radius:50%;
      background:var(--surface);
      box-shadow:0 3px 10px rgba(31,43,40,.10);
      transition:transform .22s ease, background .18s ease;
    }

    .pill-icon{
      position:relative;
      z-index:1;
      width:28px;
      height:28px;
      display:grid;
      place-items:center;
    }

    .pill-icon svg{
      width:16px;
      height:16px;
      fill:none;
      stroke:currentColor;
      stroke-width:1.8;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    .sun-side{color:var(--amber-deep)}
    .moon-side{color:#63706b}

    html[data-theme="dark"] .theme-pill{
      background:rgba(29,41,37,.82);
      border-color:var(--line);
    }

    html[data-theme="dark"] .theme-pill::before{
      transform:translateX(36px);
      background:#26342f;
      box-shadow:0 3px 12px rgba(0,0,0,.22);
    }

    html[data-theme="dark"] .sun-side{color:#87918d}
    html[data-theme="dark"] .moon-side{color:#f2c66f}

    @media(max-width:700px){
      .nav-actions{gap:8px}
      .theme-pill{
        width:66px;
        height:34px;
      }
      .theme-pill::before{
        width:26px;
        height:26px;
      }
      html[data-theme="dark"] .theme-pill::before{
        transform:translateX(32px);
      }
      .pill-icon{width:26px;height:26px}
    }
