/* ============================================================
   GHL Command Member Hub — design mockup of the member experience
   on a Circle-style community platform, in the house look and feel
   (Warm Cream / Deep Navy / Champagne Gold, Playfair Display + DM Sans)
   ============================================================ */
:root{
  --bg:#FAF7F2; --bg-2:#F0EBE1; --surface:#FFFFFF; --surface-2:#F6F2EA;
  --line:#E4DFD6; --line-2:#D6DDE8;
  --ink:#2D2D2D; --ink-2:#5A5A5A; --ink-3:#8A857D;
  --heading:#1B2A4A; --navy:#1B2A4A; --navy-2:#253659; --navy-deep:#111D33;
  --gold:#B8934A; --gold-light:#CEAB6A; --gold-soft:rgba(184,147,74,.14); --gold-ink:#8C6C2E;
  --rose:#C97B84; --rose-soft:rgba(201,123,132,.12);
  --side-bg:#1B2A4A; --side-ink:rgba(250,247,242,.74); --side-strong:#FAF7F2; --side-active:rgba(255,255,255,.09); --side-line:rgba(255,255,255,.09);
  --ok:#2F7A5A; --ok-soft:#E3F1EA; --warn:#B9621C; --warn-soft:#F8EAD9; --wait:#5F6E8C; --wait-soft:#E6EAF2;
  --btn-ink:#1B2A4A; --on-accent:#FFFFFF;
  --shadow-sm:0 1px 3px rgba(27,42,74,.05), 0 1px 2px rgba(27,42,74,.06);
  --shadow:0 4px 16px rgba(27,42,74,.06), 0 1px 3px rgba(27,42,74,.04);
  --shadow-gold:0 4px 20px rgba(184,147,74,.18);
  --video:#1B2A4A;
  --font-display:'Playfair Display',Georgia,'Times New Roman',serif;
  --font-body:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --radius:10px; --radius-sm:6px; --radius-lg:16px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0E1727; --bg-2:#131F35; --surface:#1B2A4A; --surface-2:#223354;
    --line:#2C3D61; --line-2:#2C3D61;
    --ink:#EDE8DF; --ink-2:#C4BEB2; --ink-3:#8F95A3;
    --heading:#FAF7F2; --navy:#FAF7F2; --navy-2:#E4DED2; --navy-deep:#0B1322;
    --gold:#CEAB6A; --gold-light:#DCBF85; --gold-soft:rgba(206,171,106,.18); --gold-ink:#E2C889;
    --rose-soft:rgba(201,123,132,.22);
    --side-bg:#0B1322; --side-ink:rgba(250,247,242,.72); --side-strong:#FAF7F2; --side-active:rgba(255,255,255,.08); --side-line:rgba(255,255,255,.08);
    --ok:#7ECBA5; --ok-soft:rgba(47,122,90,.32); --warn:#E8A264; --warn-soft:rgba(185,98,28,.3); --wait:#B3BED4; --wait-soft:rgba(95,110,140,.36);
    --btn-ink:#FAF7F2; --on-accent:#111D33;
    --shadow-sm:0 1px 3px rgba(0,0,0,.35); --shadow:0 4px 16px rgba(0,0,0,.35); --shadow-gold:0 4px 20px rgba(0,0,0,.35);
    --video:#0B1322;
  }
}
:root[data-theme="dark"]{
  --bg:#0E1727; --bg-2:#131F35; --surface:#1B2A4A; --surface-2:#223354;
  --line:#2C3D61; --line-2:#2C3D61;
  --ink:#EDE8DF; --ink-2:#C4BEB2; --ink-3:#8F95A3;
  --heading:#FAF7F2; --navy:#FAF7F2; --navy-2:#E4DED2; --navy-deep:#0B1322;
  --gold:#CEAB6A; --gold-light:#DCBF85; --gold-soft:rgba(206,171,106,.18); --gold-ink:#E2C889;
  --rose-soft:rgba(201,123,132,.22);
  --side-bg:#0B1322; --side-ink:rgba(250,247,242,.72); --side-strong:#FAF7F2; --side-active:rgba(255,255,255,.08); --side-line:rgba(255,255,255,.08);
  --ok:#7ECBA5; --ok-soft:rgba(47,122,90,.32); --warn:#E8A264; --warn-soft:rgba(185,98,28,.3); --wait:#B3BED4; --wait-soft:rgba(95,110,140,.36);
  --btn-ink:#FAF7F2; --on-accent:#111D33;
  --shadow-sm:0 1px 3px rgba(0,0,0,.35); --shadow:0 4px 16px rgba(0,0,0,.35); --shadow-gold:0 4px 20px rgba(0,0,0,.35);
  --video:#0B1322;
}

*,*::before,*::after{box-sizing:border-box}
html{font-size:22px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);font-size:1rem;line-height:1.55;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;color:var(--heading);line-height:1.2;text-wrap:balance}
h1,h2{font-family:var(--font-display);font-weight:500;letter-spacing:-.01em}
h1{font-size:1.75rem}
h2{font-size:1.3rem}
h3{font-family:var(--font-body);font-weight:600;font-size:1.05rem}
h4{font-family:var(--font-body);font-weight:600;font-size:.92rem}
p{margin:0;color:var(--ink-2)}
a{color:var(--gold-ink);text-decoration:none}
a:hover{text-decoration:underline}
button{font-family:inherit;font-size:inherit;cursor:pointer;border:0;background:none;color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
input,textarea{font-family:inherit;font-size:inherit;color:var(--ink)}
svg.i{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--ink-3)}
.small{font-size:.82rem}
.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink)}

/* ---------- App shell ---------- */
.app{min-height:100vh;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:1rem;height:3rem;padding:0 1rem;background:var(--surface);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.55rem;min-width:0}
.brand-mark{width:1.6rem;height:1.6rem;border-radius:.35rem;background:var(--navy-deep);color:#CEAB6A;display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:.95rem;flex:none}
:root[data-theme="dark"] .brand-mark{background:#CEAB6A;color:#111D33}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .brand-mark{background:#CEAB6A;color:#111D33}}
.brand-name{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--heading);white-space:nowrap}
.brand-sub{font-size:.75rem;color:var(--ink-3);white-space:nowrap}
.mock-pill{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);background:var(--gold-soft);padding:.2rem .5rem;border-radius:999px;white-space:nowrap}
.search{flex:1;display:flex;align-items:center;gap:.5rem;max-width:20rem;margin:0 auto;padding:.35rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink-3);font-size:.85rem}
.search input{flex:1;border:0;background:transparent;min-width:0}
.search input::placeholder{color:var(--ink-3)}
.topbar-right{display:flex;align-items:center;gap:.6rem;margin-left:auto}
.stepper{display:flex;align-items:center;gap:.15rem;border:1px solid var(--line);border-radius:999px;padding:.1rem .25rem;background:var(--bg)}
.stepper button{width:1.7rem;height:1.5rem;border-radius:999px;font-weight:700;font-size:.8rem;color:var(--heading)}
.stepper button:hover{background:var(--gold-soft)}
.stepper button:disabled{opacity:.35;cursor:default;background:none}
.stepper output{font-size:.72rem;min-width:2.4rem;text-align:center;color:var(--ink-2)}
.iconbtn{position:relative;width:1.9rem;height:1.9rem;border-radius:999px;display:grid;place-items:center;color:var(--heading)}
.iconbtn:hover{background:var(--gold-soft)}
.iconbtn .dot{position:absolute;top:.35rem;right:.4rem;width:.4rem;height:.4rem;border-radius:999px;background:var(--rose);border:2px solid var(--surface)}
.avatar{width:1.9rem;height:1.9rem;border-radius:999px;display:grid;place-items:center;font-weight:700;font-size:.72rem;letter-spacing:.02em;color:#FAF7F2;background:var(--navy-2);flex:none}
:root[data-theme="dark"] .avatar{color:#111D33;background:#CEAB6A}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .avatar{color:#111D33;background:#CEAB6A}}
.avatar.host{background:var(--gold);color:#FFFFFF}
.avatar.lg{width:2.6rem;height:2.6rem;font-size:.9rem}
.menu-toggle{display:none}

.notice{display:flex;gap:.6rem;align-items:center;padding:.45rem 1rem;font-size:.78rem;background:var(--gold-soft);color:var(--gold-ink);border-bottom:1px solid var(--line)}
.notice strong{color:var(--gold-ink)}

.shell{display:flex;flex:1;min-height:0}
.side{width:13rem;flex:none;background:var(--side-bg);color:var(--side-ink);padding:1rem .6rem 3rem;position:sticky;top:3rem;height:calc(100vh - 3rem);overflow-y:auto}
.side-group{margin-bottom:1rem}
.side-label{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(250,247,242,.42);padding:.3rem .7rem}
.side a{display:flex;align-items:center;gap:.55rem;padding:.38rem .7rem;border-radius:.45rem;color:var(--side-ink);font-size:.86rem;font-weight:500;text-decoration:none}
.side a:hover{background:var(--side-active);color:var(--side-strong);text-decoration:none}
.side a.active{background:var(--side-active);color:var(--side-strong);box-shadow:inset .18rem 0 0 var(--gold-light)}
.side a .count{margin-left:auto;font-size:.68rem;color:rgba(250,247,242,.5);font-variant-numeric:tabular-nums}
.side a .newdot{margin-left:auto;width:.4rem;height:.4rem;border-radius:999px;background:var(--gold-light)}
.side-foot{margin-top:.6rem;padding:.7rem .7rem;border-top:1px solid var(--side-line);font-size:.7rem;color:rgba(250,247,242,.45);line-height:1.45}

.main{flex:1;min-width:0;padding:1.4rem 1.6rem 4rem}
.screen{display:none;max-width:60rem;margin:0 auto}
.screen.on{display:block}
.screen-head{margin-bottom:1.2rem}
.screen-head p.lead{margin-top:.35rem;max-width:36rem;font-size:.95rem}
.two{display:grid;grid-template-columns:minmax(0,1fr) 15rem;gap:1.4rem;align-items:start}
.rail{display:flex;flex-direction:column;gap:1rem;position:sticky;top:4rem}

/* ---------- Building blocks ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.card.pad{padding:1rem 1.1rem}
.stack{display:flex;flex-direction:column;gap:.9rem}
.row{display:flex;align-items:center;gap:.6rem}
.between{justify-content:space-between}
.wrap{flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1.05rem;font-weight:600;font-size:.85rem;letter-spacing:.01em;border-radius:var(--radius-sm);white-space:nowrap;transition:transform .2s ease,background .2s ease}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:var(--gold);color:#FFFFFF;box-shadow:var(--shadow-gold)}
.btn-primary:hover{background:var(--gold-light)}
.btn-outline{border:1.5px solid var(--btn-ink);color:var(--btn-ink);background:transparent}
.btn-outline:hover{background:var(--btn-ink);color:var(--surface)}
.btn-quiet{color:var(--heading);background:var(--bg-2)}
.btn-quiet:hover{background:var(--line)}
.btn.sm{padding:.32rem .7rem;font-size:.76rem}
.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.14rem .55rem;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.02em;background:var(--bg-2);color:var(--ink-2);white-space:nowrap}
.chip.space{background:var(--gold-soft);color:var(--gold-ink)}
.chip.free{background:var(--ok-soft);color:var(--ok)}
.chip.full{background:var(--wait-soft);color:var(--wait)}
.chip.host{background:var(--gold);color:#FFFFFF}
.chip.pinned{background:var(--navy);color:var(--bg)}
:root[data-theme="dark"] .chip.pinned{background:#CEAB6A;color:#111D33}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .chip.pinned{background:#CEAB6A;color:#111D33}}
.state{display:inline-flex;align-items:center;gap:.35rem;padding:.16rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap}
.state::before{content:'';width:.5rem;height:.5rem;border-radius:999px;background:currentColor}
.state.ok{background:var(--ok-soft);color:var(--ok)}
.state.warn{background:var(--warn-soft);color:var(--warn)}
.state.wait{background:var(--wait-soft);color:var(--wait)}
.state.live{background:var(--gold-soft);color:var(--gold-ink)}
.divider{height:1px;background:var(--line);margin:.9rem 0}
.progress{height:.4rem;border-radius:999px;background:var(--bg-2);overflow:hidden}
.progress i{display:block;height:100%;background:var(--gold);border-radius:999px}
.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line);margin-bottom:1rem;overflow-x:auto}
.tabs button{padding:.5rem .8rem;font-weight:600;font-size:.88rem;color:var(--ink-2);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs button.on{color:var(--heading);border-bottom-color:var(--gold)}
.filters{display:flex;gap:.4rem;flex-wrap:wrap}
.filters button{padding:.25rem .7rem;border-radius:999px;font-size:.76rem;font-weight:600;background:var(--bg-2);color:var(--ink-2)}
.filters button.on{background:var(--navy);color:var(--bg)}
:root[data-theme="dark"] .filters button.on{background:#CEAB6A;color:#111D33}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .filters button.on{background:#CEAB6A;color:#111D33}}
.field{display:flex;align-items:center;gap:.5rem;padding:.45rem .8rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-3)}
.field input{flex:1;border:0;background:transparent;min-width:0}
.field input::placeholder{color:var(--ink-3)}
.scroll-x{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.86rem}
th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:700}

/* ---------- Posts ---------- */
.post{padding:1rem 1.1rem}
.post-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.55rem}
.post-who{display:flex;flex-direction:column;line-height:1.25}
.post-who b{color:var(--heading);font-size:.9rem;font-weight:600}
.post-who span{font-size:.72rem;color:var(--ink-3)}
.post h3{font-family:var(--font-display);font-weight:500;font-size:1.15rem;margin-bottom:.35rem}
.post p{font-size:.92rem}
.post p + p{margin-top:.5rem}
.post-foot{display:flex;gap:1rem;margin-top:.7rem;font-size:.76rem;color:var(--ink-3);font-weight:600}
.post-foot span{display:inline-flex;align-items:center;gap:.3rem}
.reply{margin-top:.8rem;padding:.7rem .85rem;border-left:3px solid var(--gold);background:var(--surface-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.reply p{font-size:.86rem}
.composer{padding:.9rem 1.1rem;display:flex;gap:.7rem;align-items:flex-start}
.composer textarea{flex:1;resize:vertical;min-height:2.6rem;padding:.55rem .8rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);line-height:1.45;font-size:.9rem}
.composer textarea::placeholder{color:var(--ink-3)}
.attach{display:inline-block;padding:.9rem;border:1px dashed var(--line-2);border-radius:var(--radius-sm);color:var(--ink-3);font-size:.78rem;background:var(--bg);margin-top:.6rem}

/* ---------- Rail widgets ---------- */
.check{display:flex;gap:.6rem;align-items:flex-start;padding:.45rem 0;border-top:1px solid var(--line)}
.check:first-of-type{border-top:0}
.tick{width:1.15rem;height:1.15rem;border-radius:999px;border:2px solid var(--line-2);display:grid;place-items:center;flex:none;margin-top:.1rem;font-size:.7rem;font-weight:700;color:var(--on-accent)}
.tick.done{background:var(--ok);border-color:var(--ok)}
.tick.now{border-color:var(--gold);color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.check b{display:block;font-size:.85rem;color:var(--heading);font-weight:600;line-height:1.3}
.check span{font-size:.74rem;color:var(--ink-3)}
.date-block{width:3rem;flex:none;text-align:center;border-radius:var(--radius-sm);background:var(--bg-2);padding:.35rem 0;line-height:1.1}
.date-block b{display:block;font-family:var(--font-display);font-size:1.3rem;color:var(--heading);font-weight:600}
.date-block span{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink)}
.online{display:flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--ink-2)}
.online i{width:.5rem;height:.5rem;border-radius:999px;background:var(--ok)}
.faces{display:flex}
.faces .avatar{width:1.5rem;height:1.5rem;font-size:.58rem;margin-left:-.35rem;border:2px solid var(--surface)}
.faces .avatar:first-child{margin-left:0}

/* ---------- Start Here stepper ---------- */
.steps{display:flex;flex-direction:column;gap:0;counter-reset:step}
.step{display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:.9rem;padding:1rem 0;position:relative}
.step + .step::before{content:'';position:absolute;left:1.3rem;top:-1rem;height:1rem;width:2px;background:var(--line-2)}
.step-n{width:2.6rem;height:2.6rem;border-radius:999px;display:grid;place-items:center;font-family:var(--font-display);font-size:1.25rem;font-weight:600;border:2px solid var(--line-2);color:var(--ink-3);background:var(--surface)}
.step.done .step-n{background:var(--ok);border-color:var(--ok);color:#FFFFFF}
.step.now .step-n{border-color:var(--gold);color:var(--gold);box-shadow:0 0 0 4px var(--gold-soft)}
.step-body .card{padding:1rem 1.1rem}
.step.now .step-body .card{border-color:var(--gold);box-shadow:var(--shadow-gold)}
.step-body h3{font-family:var(--font-display);font-weight:500;font-size:1.2rem}
.done-means{margin-top:.7rem;padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--surface-2);font-size:.84rem}
.done-means b{color:var(--heading)}

/* ---------- Layers + modules ---------- */
.layers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem}
.layer{padding:.75rem .8rem;border-radius:var(--radius);background:var(--navy);color:rgba(250,247,242,.85);min-height:6.4rem}
.layer b{display:block;font-family:var(--font-display);font-size:1rem;color:#FAF7F2;font-weight:500}
.layer i{display:block;font-style:normal;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#CEAB6A;margin-bottom:.25rem}
.layer span{display:block;font-size:.74rem;line-height:1.35;margin-top:.2rem}
.layer.active{background:var(--gold);color:#FFFFFF}
.layer.active i{color:rgba(255,255,255,.85)}
:root[data-theme="dark"] .layer{background:#223354}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .layer{background:#223354}}
.module{display:grid;grid-template-columns:3.2rem minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem 1.1rem}
.module-n{font-family:var(--font-display);font-size:1.9rem;font-weight:600;color:var(--gold);line-height:1}
.module h3{font-family:var(--font-display);font-weight:500;font-size:1.15rem}
.module .meta{font-size:.78rem;color:var(--ink-3);margin-top:.15rem}
.module .progress{margin-top:.55rem;max-width:18rem}
.lib{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.8rem}
.lib .card{padding:.9rem 1rem}
.lib h4{font-size:.95rem;margin-bottom:.25rem}
.lib p{font-size:.8rem}

/* ---------- Lesson ---------- */
.crumbs{display:flex;gap:.4rem;flex-wrap:wrap;font-size:.76rem;color:var(--ink-3);margin-bottom:.6rem}
.crumbs a{color:var(--ink-2)}
.video{aspect-ratio:16/9;border-radius:var(--radius);background:var(--video);display:grid;place-items:center;color:#FAF7F2;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.video::after{content:'';position:absolute;inset:0;background:radial-gradient(60% 80% at 50% 50%,rgba(206,171,106,.18),transparent 70%)}
.play{width:3.2rem;height:3.2rem;border-radius:999px;background:var(--gold);display:grid;place-items:center;z-index:1}
.play svg{width:1.3rem;height:1.3rem;fill:#FFFFFF;margin-left:.2rem}
.video .label{position:absolute;left:.8rem;bottom:.7rem;font-size:.72rem;color:rgba(250,247,242,.8);z-index:1}
.lesson h1{margin-top:1rem}
.lesson-text{margin-top:.8rem;max-width:36rem}
.lesson-text p{font-size:.95rem}
.lesson-text p + p{margin-top:.75rem}
.paste-wrap{margin-top:1.2rem}
.paste-label{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.4rem;flex-wrap:wrap}
pre.paste{margin:0;padding:.9rem 1rem;border-radius:var(--radius-sm);background:var(--navy-deep);color:#EDE8DF;font-family:var(--font-body);font-size:.88rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;border-left:4px solid var(--gold);cursor:text}
pre.paste::selection,pre.paste *::selection{background:var(--gold);color:#111D33}
.lesson-nav{display:flex;justify-content:space-between;gap:.6rem;margin-top:1.2rem;flex-wrap:wrap}
.lessons{padding:.4rem 0}
.lessons a{display:flex;gap:.55rem;align-items:flex-start;padding:.45rem .9rem;font-size:.8rem;color:var(--ink-2);text-decoration:none}
.lessons a:hover{background:var(--surface-2);text-decoration:none}
.lessons a.now{background:var(--gold-soft);color:var(--heading);font-weight:600}
.lessons .tick{width:1rem;height:1rem;font-size:.6rem;margin-top:.15rem}

/* ---------- Guide library ---------- */
.guides{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.8rem;margin-top:1rem}
.guide{padding:.9rem 1rem;display:flex;flex-direction:column;gap:.4rem}
.guide h4{font-size:.98rem;line-height:1.3}
.guide p{font-size:.8rem;flex:1}
.guide .row{font-size:.72rem;color:var(--ink-3)}

/* ---------- Client builds ---------- */
.summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-bottom:1rem}
.summary .card{padding:.7rem .9rem}
.summary b{display:block;font-family:var(--font-display);font-size:1.6rem;font-weight:600;color:var(--heading);line-height:1.1}
.summary span{font-size:.74rem;color:var(--ink-3)}
.client{padding:1rem 1.1rem}
.client-head{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.client-head h3{font-family:var(--font-display);font-weight:500;font-size:1.2rem}
.client-head .meta{font-size:.78rem;color:var(--ink-3)}
.track{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;margin-top:.9rem}
.stage{text-align:center;font-size:.68rem;font-weight:600;color:var(--ink-3);line-height:1.2}
.stage i{display:block;height:.45rem;border-radius:999px;background:var(--bg-2);margin-bottom:.35rem}
.stage.ok{color:var(--ok)} .stage.ok i{background:var(--ok)}
.stage.now{color:var(--gold-ink)} .stage.now i{background:var(--gold)}
.stage.wait{color:var(--wait)} .stage.wait i{background:var(--wait)}
.stage.warn{color:var(--warn)} .stage.warn i{background:var(--warn)}
.line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:start;padding:.5rem 0;border-top:1px solid var(--line)}
.line b{display:block;font-size:.88rem;color:var(--heading);font-weight:600}
.line span{display:block;font-size:.78rem;color:var(--ink-2)}
.legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
.legend .card{padding:.7rem .85rem}
.legend p{font-size:.78rem;margin-top:.35rem}

/* ---------- Events ---------- */
.event{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;gap:.9rem;align-items:center;padding:.85rem 1.1rem;border-top:1px solid var(--line)}
.event:first-child{border-top:0}
.event h4{font-size:.98rem}
.event .meta{font-size:.76rem;color:var(--ink-3);margin-top:.1rem}
.event.past{opacity:.75}

/* ---------- Members ---------- */
.members{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));gap:.8rem;margin-top:1rem}
.member{padding:.9rem 1rem;display:flex;gap:.7rem;align-items:flex-start}
.member b{display:block;font-size:.92rem;color:var(--heading);font-weight:600;line-height:1.25}
.member span{display:block;font-size:.74rem;color:var(--ink-3)}
.member .chip{margin-top:.35rem}

.notice a.fb{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:.15em}
.notice a.fb:hover{opacity:.8}

/* ---------- Design notes drawer ---------- */
.notes-btn{position:fixed;right:1rem;bottom:1rem;z-index:50;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .9rem;border-radius:999px;background:var(--navy);color:#FAF7F2;font-weight:600;font-size:.8rem;box-shadow:var(--shadow)}
:root[data-theme="dark"] .notes-btn{background:#CEAB6A;color:#111D33}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .notes-btn{background:#CEAB6A;color:#111D33}}
.notes{position:fixed;right:1rem;bottom:3.6rem;z-index:50;width:min(22rem,calc(100vw - 2rem));max-height:calc(100vh - 5rem);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1rem 1.1rem;display:none}
.notes.open{display:block}
.notes h2{font-size:1.15rem;margin-bottom:.2rem}
.notes ol{margin:.6rem 0 0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.55rem}
.notes li{font-size:.82rem;color:var(--ink-2)}
.notes li b{color:var(--heading)}

/* ---------- Responsive ---------- */
@media (max-width: 64rem){
  .two{grid-template-columns:1fr}
  .rail{position:static}
  .layers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .summary,.legend{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 46rem){
  .menu-toggle{display:grid}
  .side{position:fixed;left:0;top:3rem;height:calc(100vh - 3rem);transform:translateX(-100%);transition:transform .25s ease;z-index:45;width:min(15rem,85vw)}
  .side.open{transform:none}
  .main{padding:1rem .9rem 4rem}
  .search{display:none}
  .brand-sub,.mock-pill{display:none}
  .track{grid-template-columns:repeat(4,minmax(0,1fr))}
  .module{grid-template-columns:2.4rem minmax(0,1fr)}
  .module .btn{grid-column:2}
  .event{grid-template-columns:3rem minmax(0,1fr)}
  .event .btn{grid-column:2;justify-self:start}
}
@media (prefers-reduced-motion: reduce){
  *{transition:none !important}
}

/* ---------- generated content pages (guides, lessons, prompts) ---------- */
.article{max-width:46rem}
.article h1{font-family:"Playfair Display",Georgia,serif;font-weight:600;font-size:1.9rem;line-height:1.15;margin:.2rem 0 .6rem;text-wrap:balance}
.article h2{font-family:"Playfair Display",Georgia,serif;font-weight:600;font-size:1.35rem;margin:1.6rem 0 .5rem}
.article h3{font-size:1.05rem;font-weight:700;margin:1.2rem 0 .4rem}
.article h4{font-size:1rem;font-weight:700;margin:1rem 0 .3rem}
.article p,.article li{line-height:1.6;color:var(--ink)}
.article ul,.article ol{padding-left:1.3rem;margin:.4rem 0 .9rem}
.article li{margin:.25rem 0}
.article pre{background:var(--navy);color:#F4EFE6;padding:.9rem 1rem;border-radius:.6rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word;font-size:.9rem;line-height:1.5;margin:.6rem 0 1rem}
.article code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}
.article p code,.article li code{background:var(--surface-2);padding:.05em .35em;border-radius:.3em}
.article blockquote{border-left:3px solid var(--gold);margin:.8rem 0;padding:.2rem 0 .2rem .9rem;color:var(--muted)}
.article hr{border:0;border-top:1px solid var(--line);margin:1.4rem 0}
.tablewrap{overflow-x:auto;margin:.6rem 0 1rem}
.article table{border-collapse:collapse;min-width:100%;font-size:.95rem}
.article th,.article td{border:1px solid var(--line);padding:.45rem .6rem;text-align:left;vertical-align:top}
.article th{background:var(--surface-2);font-weight:700}
.article .meta-row{display:flex;flex-wrap:wrap;gap:.4rem .6rem;align-items:center;margin:.2rem 0 1rem}
.article .promise{font-size:1.1rem;color:var(--muted);margin:0 0 .8rem}
.pagenav{display:flex;justify-content:space-between;gap:1rem;margin:2rem 0 0;padding-top:1rem;border-top:1px solid var(--line);flex-wrap:wrap}
.dl{display:flex;gap:.8rem;align-items:flex-start;padding:.9rem 1rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface);margin:.5rem 0}
.dl .ico{flex:0 0 auto;width:2.2rem;height:2.2rem;border-radius:.5rem;background:var(--surface-2);display:grid;place-items:center;font-weight:700;color:var(--navy);font-size:.8rem}
.dl h4{margin:0 0 .15rem}
.dl p{margin:0 0 .4rem;color:var(--muted);font-size:.95rem}
.dl .size{font-size:.85rem;color:var(--muted)}
.built{font-size:.85rem;color:var(--muted);margin-top:1.4rem}

