/* NoCode Outlaws design tokens and base styles. Syne for display, Inter for text. */
/* Syne is self-hosted (SIL OFL, see assets/fonts/OFL-Syne.txt). The Google Fonts copy clipped the tail of g in headings on Windows. */
@font-face{font-family:'Syne';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/syne-ext-700.woff2') format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Syne';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/syne-700.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Syne';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/syne-ext-800.woff2') format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Syne';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/syne-800.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root {
  --ink-950: #0b0a08;
  --ink-900: #14120e;
  --ink-800: #1d1a14;
  --ink-700: #2a261d;
  --ink-600: #3a3528;
  --ink-500: #5c5541;
  --ink-400: #8a8268;
  --ink-300: #b8b09a;
  --ink-200: #ddd6c4;
  --ink-100: #f0ece2;
  --ink-50: #faf8f2;
  --amber-600: #c47a12;
  --amber-500: #e3931a;
  --amber-400: #f2a93b;
  --amber-300: #f7c46f;
  --amber-100: #fdefd4;
  --ok: #2f9e6a;
  --warn: #d9881c;
  --err: #d64545;
  --radius: 10px;
  --radius-lg: 16px;
  --font-display: "Syne", system-ui, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
  --shadow: 0 10px 30px rgba(0,0,0,.25);
  color-scheme: dark;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  color: var(--ink-100);
  background: var(--ink-950);
}
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 700; line-height: 1.1; margin: 0 0 .5em; letter-spacing: -.01em; }
h1 { font-size: clamp(2rem, 4.5vw, 3.4rem); }
h2 { font-size: clamp(1.5rem, 3vw, 2.2rem); }
h3 { font-size: 1.25rem; }
p { margin: 0 0 1em; }
a { color: var(--amber-400); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; }
code, pre { font-family: var(--font-mono); font-size: .9em; }
pre { background: var(--ink-800); padding: 12px 14px; border-radius: var(--radius); overflow: auto; }
hr { border: 0; border-top: 1px solid var(--ink-700); margin: 24px 0; }
.wrap { width: min(1120px, 100% - 32px); margin-inline: auto; }
.wrap-narrow { width: min(560px, 100% - 32px); margin-inline: auto; }
.muted { color: var(--ink-400); }
.small { font-size: .875rem; }
.mono { font-family: var(--font-mono); }
.eyebrow { font-family: var(--font-display); text-transform: uppercase; letter-spacing: .14em; font-size: .75rem; color: var(--amber-400); font-weight: 700; }
.stack > * + * { margin-top: 16px; }
.row { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.between { justify-content: space-between; }
.right { text-align: right; }
.hide { display: none !important; }

/* Buttons */
.btn {
  display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
  font: 600 .95rem/1 var(--font-body); padding: 12px 18px; border-radius: var(--radius);
  border: 1px solid transparent; text-decoration: none; transition: .15s; white-space: nowrap;
}
.btn:hover { text-decoration: none; transform: translateY(-1px); }
.btn-primary { background: var(--amber-500); color: var(--ink-950); }
.btn-primary:hover { background: var(--amber-400); }
.btn-ghost { background: transparent; color: var(--ink-100); border-color: var(--ink-600); }
.btn-ghost:hover { border-color: var(--ink-300); }
.btn-danger { background: transparent; color: var(--err); border-color: rgba(214,69,69,.4); }
.btn-sm { padding: 8px 12px; font-size: .85rem; }
.btn-block { width: 100%; justify-content: center; white-space: normal; text-align: center; line-height: 1.25; }
.btn[disabled] { opacity: .5; cursor: not-allowed; transform: none; }

/* Forms */
label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: 6px; }
.field { margin-bottom: 18px; }
.field .help { font-size: .82rem; color: var(--ink-400); margin-top: 6px; }
input[type=text], input[type=email], input[type=password], input[type=url], input[type=number], input[type=search], input[type=datetime-local], input[type=date], input[type=time], select, textarea {
  width: 100%; font: inherit; color: var(--ink-100); background: var(--ink-900);
  border: 1px solid var(--ink-600); border-radius: var(--radius); padding: 11px 13px; outline: none;
}
input:focus, select:focus, textarea:focus { border-color: var(--amber-400); box-shadow: 0 0 0 3px rgba(242,169,59,.18); }
textarea { min-height: 110px; resize: vertical; }
select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--ink-300) 50%), linear-gradient(135deg, var(--ink-300) 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 36px; }
.toggle { display: flex; align-items: center; gap: 10px; cursor: pointer; font-weight: 600; }
.toggle input { width: 44px; height: 24px; appearance: none; background: var(--ink-600); border-radius: 12px; position: relative; cursor: pointer; margin: 0; }
.toggle input::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: .15s; }
.toggle input:checked { background: var(--amber-500); }
.toggle input:checked::after { left: 23px; }
.grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }

/* Flash */
.flashes { position: fixed; top: 16px; right: 16px; z-index: 50; display: grid; gap: 8px; max-width: min(420px, calc(100% - 32px)); }
.flash { padding: 12px 16px; border-radius: var(--radius); background: var(--ink-800); border-left: 4px solid var(--ink-400); box-shadow: var(--shadow); font-size: .92rem; }
.flash-ok { border-color: var(--ok); }
.flash-error { border-color: var(--err); }
.flash-warn { border-color: var(--warn); }

/* Cards and tables */
.card { background: var(--ink-900); border: 1px solid var(--ink-700); border-radius: var(--radius-lg); padding: 22px; }
.card h3 { margin-top: 0; }
.table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.table th, .table td { text-align: left; padding: 10px 10px; border-bottom: 1px solid var(--ink-700); vertical-align: top; }
.table th { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-400); font-weight: 600; }
.table tr:hover td { background: rgba(255,255,255,.02); }
.table-wrap { overflow-x: auto; }
.pill { display: inline-block; padding: 3px 9px; border-radius: 999px; font-size: .75rem; font-weight: 600; background: var(--ink-700); color: var(--ink-200); }
.pill-ok { background: rgba(47,158,106,.18); color: #6fd6a3; }
.pill-warn { background: rgba(217,136,28,.18); color: var(--amber-300); }
.pill-err { background: rgba(214,69,69,.18); color: #f08f8f; }
.pill-off { background: var(--ink-800); color: var(--ink-400); }
.stat { padding: 18px; border-radius: var(--radius); background: var(--ink-800); }
.stat .n { font: 700 2rem/1 var(--font-display); }
.stat .l { color: var(--ink-400); font-size: .82rem; margin-top: 6px; }
.pager { display: flex; gap: 8px; align-items: center; margin-top: 16px; font-size: .9rem; }

/* Public layout */
.site-header { border-bottom: 1px solid var(--ink-800); background: rgba(11,10,8,.85); backdrop-filter: blur(10px); position: sticky; top: 0; z-index: 20; }
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; height: 68px; gap: 16px; }
.wordmark { font-family: var(--font-display); font-weight: 800; font-size: 1.15rem; color: var(--ink-50); letter-spacing: -.02em; }
.wordmark span { color: var(--amber-400); }
.nav { display: flex; gap: 22px; align-items: center; font-weight: 500; font-size: .95rem; }
.nav a { color: var(--ink-200); }
.nav a:hover { color: var(--amber-300); text-decoration: none; }
.site-footer { border-top: 1px solid var(--ink-800); padding: 40px 0; color: var(--ink-400); font-size: .88rem; margin-top: 80px; }
.hero { padding: clamp(60px, 10vw, 120px) 0 60px; }
.hero p.lead { font-size: 1.2rem; color: var(--ink-300); max-width: 620px; }
.signup-box { background: linear-gradient(135deg, var(--ink-900), var(--ink-800)); border: 1px solid var(--ink-700); border-radius: var(--radius-lg); padding: 28px; }
.signup-box form { display: flex; gap: 10px; flex-wrap: wrap; }
.signup-box input[type=email] { flex: 1; min-width: 220px; }
.banner-impersonate { background: #e3931a; color: #14120e; padding: 8px 16px; font-size: .9rem; font-weight: 600; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.banner-impersonate form { margin: 0; }
.banner-impersonate button { background: #14120e; color: #fff8ec; border: 0; padding: 6px 12px; border-radius: 6px; cursor: pointer; font-weight: 600; }
.banner-maint { background: var(--ink-800); color: var(--amber-300); text-align: center; padding: 8px; font-size: .85rem; }

/* Auth layout */
.auth-wrap { min-height: 100vh; display: grid; place-items: center; padding: 32px 16px; }
.auth-card { width: min(440px, 100%); }
.auth-card .card { padding: 32px; }

/* App (student) layout */
.app-shell { display: grid; grid-template-columns: 240px 1fr; min-height: 100vh; }
.app-side { background: var(--ink-900); border-right: 1px solid var(--ink-800); padding: 20px 16px; display: flex; flex-direction: column; gap: 6px; }
.app-side .wordmark { padding: 8px 10px 18px; display: block; }
.app-side a.item { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 8px; color: var(--ink-200); font-weight: 500; font-size: .95rem; }
.app-side a.item:hover, .app-side a.item.active { background: var(--ink-800); color: var(--ink-50); text-decoration: none; }
.app-side a.item.active { color: var(--amber-300); }
.app-main { padding: 28px 32px; }
.app-side .group { font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; color: var(--ink-500); padding: 16px 12px 6px; font-weight: 700; }
.app-side .spacer { flex: 1; }
.page-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 22px; flex-wrap: wrap; }
.page-head h1 { font-size: 1.7rem; margin: 0; }
.tabs { display: flex; gap: 4px; flex-wrap: wrap; border-bottom: 1px solid var(--ink-700); margin-bottom: 22px; }
.tabs a { padding: 10px 14px; color: var(--ink-300); font-weight: 600; font-size: .9rem; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.tabs a.active { color: var(--amber-300); border-color: var(--amber-400); }
.tabs a:hover { text-decoration: none; color: var(--ink-100); }
.level-badge { display: inline-flex; align-items: center; gap: 8px; background: var(--ink-800); border: 1px solid var(--ink-700); border-radius: 999px; padding: 6px 12px 6px 6px; font-size: .85rem; font-weight: 600; }
.level-badge b { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--amber-500); color: var(--ink-950); font-family: var(--font-display); }
.mobile-nav { border-top: 1px solid var(--ink-800); background: var(--ink-950); }
.mobile-nav a { color: var(--ink-100); font-weight: 500; padding: 6px 0; }
.menu-toggle { display: none; background: none; border: 1px solid var(--ink-600); color: var(--ink-100); border-radius: 8px; padding: 8px 10px; cursor: pointer; }
@media (max-width: 860px) {
  .app-shell { grid-template-columns: 1fr; }
  .app-side { position: fixed; inset: 0 auto 0 0; width: 260px; transform: translateX(-100%); transition: .2s; z-index: 40; overflow-y: auto; }
  .app-side.open { transform: none; box-shadow: var(--shadow); }
  .app-main { padding: 18px 16px; }
  .menu-toggle { display: inline-flex; }
  .nav { display: none; }
}

/* ---- Marketing pages (fix 2) ---- */
.section { padding: clamp(56px, 8vw, 96px) 0; }
.section-alt { background: var(--ink-900); border-top: 1px solid var(--ink-800); border-bottom: 1px solid var(--ink-800); }
.section-head { max-width: 680px; margin-bottom: 36px; }
.section-head p { color: var(--ink-300); font-size: 1.08rem; }
.hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: center; }
.hero-art { position: relative; min-height: 360px; }
.hero-card { background: var(--ink-900); border: 1px solid var(--ink-700); border-radius: var(--radius-lg); box-shadow: var(--shadow); padding: 18px; position: absolute; }
.hero-card .bar { display: flex; gap: 6px; margin-bottom: 12px; }
.hero-card .bar i { width: 10px; height: 10px; border-radius: 50%; background: var(--ink-600); display: block; }
.hero-card .line { height: 10px; border-radius: 6px; background: var(--ink-700); margin: 8px 0; }
.hero-card .line.short { width: 55%; } .hero-card .line.amber { background: var(--amber-500); width: 40%; height: 28px; border-radius: 8px; }
.hero-card.main { right: 0; top: 0; width: min(340px, 100%); }
.hero-card.sub { left: 0; bottom: 0; width: 230px; font-size: .85rem; }
.hero-card.sub .k { display: flex; justify-content: space-between; margin: 6px 0; color: var(--ink-300); } .hero-card.sub .k b { color: var(--amber-300); }
.badge-float { position: absolute; top: -14px; left: 8px; background: var(--amber-500); color: var(--ink-950); font: 800 .75rem var(--font-display); padding: 6px 12px; border-radius: 999px; }
.proof-strip { display: flex; gap: 28px; flex-wrap: wrap; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--ink-800); color: var(--ink-300); font-size: .92rem; }
.proof-strip span::before { content: "\2726"; color: var(--amber-400); margin-right: 8px; }
.split { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--ink-700); border-radius: var(--radius-lg); overflow: hidden; }
.split > div { padding: 34px; }
.split .lie { background: var(--ink-900); }
.split .truth { background: linear-gradient(160deg, #1f1708, #14120e); }
.split h3 { font-size: 1.1rem; margin-bottom: 18px; }
.split .lie h3 { color: var(--ink-400); }
.split .truth h3 { color: var(--amber-400); }
.split ul { list-style: none; padding: 0; margin: 0; }
.split li { padding: 12px 14px; border-radius: 10px; margin-bottom: 10px; background: rgba(255,255,255,.03); font-size: .95rem; }
.split .lie li { color: var(--ink-400); text-decoration: line-through; text-decoration-color: var(--ink-600); border-left: 3px solid var(--ink-700); }
.split .truth li { color: var(--ink-100); border-left: 3px solid var(--amber-500); }
.steps { counter-reset: step; display: grid; gap: 0; }
.step { display: grid; grid-template-columns: 44px 1fr; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--ink-800); }
.step:last-child { border-bottom: 0; }
.step .n { width: 40px; height: 40px; border-radius: 50%; background: var(--amber-500); color: var(--ink-950); display: grid; place-items: center; font: 800 .95rem var(--font-display); }
.step h4 { margin: 6px 0 4px; font-size: 1.05rem; }
.step p { margin: 0; color: var(--ink-300); font-size: .95rem; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.roles { display: grid; gap: 12px; }
.role { background: var(--ink-900); border: 1px solid var(--ink-700); border-radius: var(--radius); padding: 16px 18px; display: grid; grid-template-columns: 90px 1fr; gap: 14px; align-items: center; }
.role .who { font: 800 .85rem var(--font-display); text-transform: uppercase; letter-spacing: .08em; color: var(--amber-400); }
.role p { margin: 0; font-size: .95rem; color: var(--ink-200); }
.cards-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.program { background: var(--ink-900); border: 1px solid var(--ink-700); border-radius: var(--radius-lg); padding: 26px; display: flex; flex-direction: column; }
.program.featured { border-color: var(--amber-600); box-shadow: 0 0 0 1px var(--amber-600), 0 20px 40px rgba(0,0,0,.3); }
.program .tag { color: var(--amber-400); font-size: .85rem; font-weight: 600; margin-bottom: 10px; }
.program .price { font: 800 2rem var(--font-display); margin: 8px 0; }
.program .price small { font: 500 .9rem var(--font-body); color: var(--ink-400); }
.program ul { list-style: none; padding: 0; margin: 14px 0 20px; flex: 1; }
.program li { padding: 7px 0 7px 24px; position: relative; font-size: .93rem; color: var(--ink-200); border-bottom: 1px dashed var(--ink-800); }
.program li::before { content: "\2713"; position: absolute; left: 0; color: var(--amber-400); font-weight: 700; }
.program .ribbon { position: absolute; top: -12px; left: 22px; background: var(--amber-500); color: var(--ink-950); font: 700 .72rem var(--font-body); padding: 5px 10px; border-radius: 999px; text-transform: uppercase; letter-spacing: .06em; }
.program { position: relative; }
.app-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.app-card { background: var(--ink-900); border: 1px solid var(--ink-700); border-radius: var(--radius-lg); padding: 22px; display: flex; flex-direction: column; gap: 8px; transition: .2s; }
.app-card:hover { transform: translateY(-3px); border-color: var(--ink-500); }
.app-card .name { font: 800 1.2rem var(--font-display); }
.app-card .tagline { color: var(--ink-200); }
.app-card .proves { color: var(--ink-400); font-size: .88rem; }
.app-card .proves::before { content: "Proves: "; color: var(--amber-400); font-weight: 600; }
.app-card a.visit { margin-top: auto; font-weight: 600; font-size: .9rem; }
.founder { display: grid; grid-template-columns: 300px 1fr; gap: 40px; align-items: center; }
.founder .photo { aspect-ratio: 4/5; border-radius: var(--radius-lg); background: linear-gradient(160deg, var(--ink-700), var(--ink-900)); border: 1px solid var(--ink-600); overflow: hidden; display: grid; place-items: center; color: var(--ink-500); font: 800 4rem var(--font-display); }
.founder .photo img { width: 100%; height: 100%; object-fit: cover; }
.faq details { border-bottom: 1px solid var(--ink-800); padding: 14px 0; }
.faq summary { cursor: pointer; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.faq summary::after { content: "+"; color: var(--amber-400); font-weight: 700; }
.faq details[open] summary::after { content: "\2013"; }
.faq p { margin: 10px 0 0; color: var(--ink-300); }
.cta-band { text-align: center; padding: clamp(60px, 9vw, 110px) 0; background: radial-gradient(ellipse 70% 60% at 50% 100%, rgba(227,147,26,.18), transparent 70%); }
.cta-band h2 { max-width: 760px; margin-inline: auto; }
.checks { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.checks li { padding-left: 26px; position: relative; color: var(--ink-200); }
.checks li::before { content: "\2713"; position: absolute; left: 0; color: var(--amber-400); font-weight: 700; }
.prose { max-width: 720px; font-size: 1.05rem; color: var(--ink-200); }
.prose h2, .prose h3 { margin-top: 1.6em; }
.prose p { margin-bottom: 1.1em; }
.sticky-cta { display: none; position: fixed; left: 0; right: 0; bottom: 0; padding: 10px 16px; background: rgba(11,10,8,.92); backdrop-filter: blur(10px); border-top: 1px solid var(--ink-700); z-index: 30; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 28px; margin-bottom: 28px; }
.footer-grid h4 { font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; color: var(--ink-400); margin-bottom: 12px; }
.footer-grid a { display: block; color: var(--ink-300); padding: 4px 0; font-size: .92rem; }
.footer-grid a:hover { color: var(--amber-300); text-decoration: none; }
.footer-bottom { border-top: 1px solid var(--ink-800); padding-top: 18px; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: .85rem; color: var(--ink-400); }
.callout { background: var(--ink-900); border: 1px solid var(--amber-600); border-radius: var(--radius-lg); padding: 22px 24px; display: grid; grid-template-columns: 56px 1fr; gap: 18px; align-items: center; }
.callout .shield { width: 56px; height: 56px; border-radius: 50%; background: var(--amber-500); color: var(--ink-950); display: grid; place-items: center; font: 800 1.3rem var(--font-display); }
@media (max-width: 860px) {
  .hero-grid, .split, .two-col, .founder { grid-template-columns: 1fr; }
  .hero-art { display: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .sticky-cta { display: block; }
  .program.featured { margin-top: 14px; }
  body.has-sticky { padding-bottom: 70px; }
}

/* ---- Admin top bar, bell, theme (fix 3) ---- */
.admin-topbar { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.topbar-tools { margin-left: auto; display: flex; gap: 8px; align-items: center; }
.icon-btn { position: relative; background: var(--ink-900); border: 1px solid var(--ink-700); color: var(--ink-100); width: 38px; height: 38px; border-radius: 10px; cursor: pointer; font-size: 1.05rem; display: grid; place-items: center; }
.icon-btn:hover { border-color: var(--ink-500); }
.theme-icon-light { display: none; }
html[data-theme="light"] .theme-icon-light { display: inline; }
html[data-theme="light"] .theme-icon-dark { display: none; }
.bell-badge { position: absolute; top: -6px; right: -6px; background: var(--amber-500); color: var(--ink-950); font: 700 .68rem var(--font-body); min-width: 18px; height: 18px; border-radius: 999px; display: grid; place-items: center; padding: 0 4px; }
.bell-wrap { position: relative; }
.bell-menu { position: absolute; right: 0; top: 46px; width: min(380px, 90vw); background: var(--ink-900); border: 1px solid var(--ink-700); border-radius: 12px; box-shadow: var(--shadow); z-index: 60; overflow: hidden; }
.bell-item { display: grid; grid-template-columns: 12px 1fr; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--ink-800); color: var(--ink-100); font-size: .9rem; }
.bell-item:hover { background: var(--ink-800); text-decoration: none; }
.bell-item.read { opacity: .55; }
.bell-item .dot { width: 8px; height: 8px; border-radius: 50%; margin-top: 7px; background: var(--ink-500); }
.dot-ok { background: var(--ok); } .dot-warn { background: var(--warn); } .dot-error { background: var(--err); } .dot-info { background: var(--amber-400); }
.bell-all { display: block; text-align: center; padding: 10px; font-size: .85rem; }

/* Light theme for the admin (dark sidebar stays) */
html[data-theme="light"] {
  --ink-950: #f6f4ee; --ink-900: #ffffff; --ink-800: #f0ece2; --ink-700: #ddd6c4; --ink-600: #c9c1aa; --ink-500: #8a8268;
  --ink-400: #6b6450; --ink-300: #4a4535; --ink-200: #2a261d; --ink-100: #14120e; --ink-50: #0b0a08;
  --shadow: 0 10px 30px rgba(40,30,10,.12);
  color-scheme: light;
}
html[data-theme="light"] .app-side { background: #14120e; border-right-color: #2a261d; }
html[data-theme="light"] .app-side .wordmark { color: #faf8f2; }
html[data-theme="light"] .app-side a.item { color: #ddd6c4; }
html[data-theme="light"] .app-side a.item:hover, html[data-theme="light"] .app-side a.item.active { background: #2a261d; color: #faf8f2; }
html[data-theme="light"] .app-side a.item.active { color: #f7c46f; }
html[data-theme="light"] .app-side .group { color: #8a8268; }
html[data-theme="light"] .app-side .btn-ghost { color: #ddd6c4; border-color: #3a3528; }
html[data-theme="light"] .app-side .level-badge { background: #2a261d; border-color: #3a3528; color: #ddd6c4; }
html[data-theme="light"] .btn-primary { color: #0b0a08; }
html[data-theme="light"] .pill-ok { background: rgba(47,158,106,.14); color: #1f7a4f; }
html[data-theme="light"] .pill-warn { background: rgba(217,136,28,.16); color: #9a5f0c; }
html[data-theme="light"] .pill-err { background: rgba(214,69,69,.14); color: #a83232; }
html[data-theme="light"] .banner-maint { background: #fdefd4; color: #9a5f0c; }
html[data-theme="light"] input, html[data-theme="light"] select, html[data-theme="light"] textarea { background: #fff; }
html[data-theme="light"] pre { background: #f0ece2; }

/* ---- Sidebar v2: icons, collapse, logo (fix 4) ---- */
.app-shell { grid-template-columns: 248px minmax(0, 1fr); transition: grid-template-columns .18s; }
.app-shell > * { min-width: 0; }
.app-main { min-width: 0; }
.app-side { padding: 14px 12px; gap: 0; }
.brand { display: flex; align-items: center; gap: 10px; padding: 6px 8px 16px; color: var(--ink-50); text-decoration: none; }
.brand:hover { text-decoration: none; }
.brand-full { height: 36px; width: auto; display: block; }
.brand-icon { height: 30px; width: auto; display: none; }
.brand-tag { font: 600 .7rem var(--font-body); color: var(--amber-400); text-transform: uppercase; letter-spacing: .12em; margin-top: 10px; }
.side-nav { display: flex; flex-direction: column; gap: 2px; flex: 1; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; }
.side-foot { display: grid; gap: 4px; padding-top: 10px; border-top: 1px solid var(--ink-800); margin-top: 8px; }
.app-side a.item, .app-side .item.as-btn { display: flex; align-items: center; gap: 11px; padding: 9px 10px; border-radius: 8px; color: var(--ink-200); font: 500 .92rem var(--font-body); background: none; border: 0; width: 100%; cursor: pointer; text-align: left; position: relative; white-space: nowrap; }
.app-side .item .ico { width: 20px; height: 20px; flex: 0 0 20px; color: var(--ink-400); }
.app-side .item:hover .ico, .app-side .item.active .ico { color: var(--amber-400); }
.app-side .item.soon { opacity: .45; cursor: default; }
.app-side .item .cnt { margin-left: auto; }
.app-side .group { padding: 14px 10px 6px; }
.app-side .level-badge { margin: 4px 0 6px; }
.ico-expand { display: none; }
/* Collapsed state */
html[data-side="collapsed"] .app-shell { grid-template-columns: 68px minmax(0, 1fr); }
html[data-side="collapsed"] .app-side .lbl, html[data-side="collapsed"] .brand-full, html[data-side="collapsed"] .brand-tag { display: none; }
html[data-side="collapsed"] .brand-icon { display: block; }
html[data-side="collapsed"] .brand { justify-content: center; padding: 6px 0 14px; }
html[data-side="collapsed"] .app-side .item { justify-content: center; padding: 10px 0; }
html[data-side="collapsed"] .app-side .group { padding: 10px 0 2px; border-top: 1px solid var(--ink-800); }
html[data-side="collapsed"] .app-side .item .cnt { position: absolute; top: 4px; right: 8px; margin: 0; padding: 1px 6px; font-size: .65rem; }
html[data-side="collapsed"] .ico-collapse { display: none; } html[data-side="collapsed"] .ico-expand { display: inline; }
html[data-side="collapsed"] .level-badge { justify-content: center; padding: 6px; }
html[data-theme="light"] .app-side .item .ico { color: #8a8268; }
html[data-theme="light"] .app-side .item:hover .ico, html[data-theme="light"] .app-side .item.active .ico { color: #f7c46f; }
html[data-theme="light"] .side-foot { border-top-color: #2a261d; }
html[data-theme="light"] .app-side .item.as-btn { color: #ddd6c4; }
.menu-toggle .ico { width: 20px; height: 20px; }
.icon-btn .ico { width: 19px; height: 19px; }
/* Public header logo */
.site-header .brand-full { height: 32px; }
.auth-logo { height: 44px; width: auto; }
@media (max-width: 860px) {
  html[data-side="collapsed"] .app-shell { grid-template-columns: 1fr; }
  html[data-side="collapsed"] .app-side .lbl, html[data-side="collapsed"] .brand-full { display: inline; }
  html[data-side="collapsed"] .brand-icon { display: none; }
  html[data-side="collapsed"] .app-side .item { justify-content: flex-start; padding: 9px 10px; }
  .collapse-btn { display: none; }
}
.app-side { position: sticky; top: 0; height: 100vh; overflow: hidden; }
@media (max-width: 860px) { .app-side { position: fixed; height: 100%; } }

/* Cohort sessions editor */
.session-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px 14px;align-items:end;padding:14px 0;border-top:1px solid var(--line)}
.session-row .field{margin:0;min-width:0}
.session-row .field label{font-size:12px}
.session-row input{min-width:0;width:100%}
.session-actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap;padding-bottom:2px}
.session-new{border-top:2px solid var(--line)}
@media (max-width:760px){.session-row{grid-template-columns:1fr}}

/* Learning: catalog */
.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.course-card{display:flex;flex-direction:column;background:var(--ink-900);border:1px solid var(--ink-700);border-radius:var(--radius-lg);overflow:hidden;color:inherit;text-decoration:none;transition:border-color .15s,transform .15s}
.course-card:hover{border-color:var(--amber-600);text-decoration:none;transform:translateY(-2px)}
.course-card.locked .course-cover{filter:saturate(.6)}
.course-cover{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,var(--ink-800),var(--ink-700));background-size:cover;background-position:center}
.course-cover-mark{position:absolute;inset:0;display:grid;place-items:center;font:800 3rem var(--font-display);color:var(--amber-500);opacity:.9}
.course-level{position:absolute;left:12px;bottom:10px;background:rgba(11,10,8,.8);color:var(--amber-300);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:6px}
.course-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px}
.course-body h3{margin:0;font-size:1.1rem}
.course-body p{margin:0}
.course-meta{margin-top:2px}
.progress{height:6px;background:var(--ink-700);border-radius:4px;overflow:hidden;margin-top:8px}
.progress span{display:block;height:100%;background:var(--amber-500);border-radius:4px;transition:width .3s}

/* Learning: course page */
.course-hero{display:grid;grid-template-columns:1.3fr .7fr;gap:32px;align-items:center;margin-bottom:28px}
.course-hero-art img{width:100%;border-radius:var(--radius-lg);border:1px solid var(--ink-700)}
.course-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:start}
.checks{list-style:none;padding:0;margin:0}
.checks li{padding:7px 0 7px 26px;position:relative;border-bottom:1px solid var(--ink-800)}
.checks li::before{content:"\2713";position:absolute;left:0;color:var(--amber-400);font-weight:700}
.module{margin-top:12px}
.module-title{font-family:var(--font-display);font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-300);margin:14px 0 6px}
.lesson-row{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:9px 8px;border-radius:8px;color:var(--ink-100);text-decoration:none;font-size:.95rem}
a.lesson-row:hover{background:var(--ink-800);text-decoration:none}
.lesson-row.locked{color:var(--ink-400)}
.lesson-row.current{background:var(--ink-800);box-shadow:inset 3px 0 0 var(--amber-500)}
.lesson-dot{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--ink-600);display:grid;place-items:center;font-size:.75rem;color:var(--ink-950)}
.lesson-row.done .lesson-dot{background:var(--ok);border-color:var(--ok)}
.lesson-row.locked .lesson-dot{border-style:dashed;font-size:.7rem}
.lesson-name .pill{margin-left:6px}

/* Learning: lesson player */
.lesson-shell{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:start}
.lesson-side{position:sticky;top:20px;background:var(--ink-900);border:1px solid var(--ink-700);border-radius:var(--radius-lg);padding:16px;max-height:calc(100vh - 40px);overflow:auto}
.lesson-side .lesson-row{font-size:.88rem;padding:7px 6px}
.lesson-main{min-width:0;max-width:860px}
.video{position:relative;aspect-ratio:16/9;background:#000;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--ink-700);margin-bottom:20px}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lesson-body{max-width:none}
.lesson-body img{max-width:100%;height:auto;border-radius:var(--radius)}
.lesson-body pre{background:var(--ink-900);border:1px solid var(--ink-700);border-radius:var(--radius);padding:14px;overflow:auto;font-family:var(--font-mono);font-size:.88rem}
.lesson-body code{font-family:var(--font-mono);font-size:.9em;background:var(--ink-800);padding:1px 5px;border-radius:4px}
.lesson-body pre code{background:none;padding:0}
.lesson-body blockquote{border-left:3px solid var(--amber-500);margin:1em 0;padding:4px 16px;color:var(--ink-300)}
.lesson-body table{border-collapse:collapse;width:100%} .lesson-body td,.lesson-body th{border:1px solid var(--ink-700);padding:8px;text-align:left}
.resource-row{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px dashed var(--ink-700);color:var(--ink-100)}
.resource-row:first-of-type{border-top:0}
.resource-kind{font-size:.7rem;font-weight:700;letter-spacing:.06em;background:var(--ink-700);color:var(--amber-300);padding:4px 8px;border-radius:6px;min-width:46px;text-align:center}
.quiz-q{border:1px solid var(--ink-700);border-radius:var(--radius);padding:12px 16px 8px;margin:0 0 14px}
.quiz-q legend{font-weight:600;padding:0 6px}
.quiz-opt{display:flex;gap:10px;align-items:flex-start;padding:7px 4px;cursor:pointer}
.quiz-opt input{margin-top:3px;width:auto}
.lesson-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;padding-top:18px;border-top:1px solid var(--ink-700);flex-wrap:wrap}
.comment{padding:14px 0 6px;border-top:1px solid var(--ink-800)}
.comment.reply{margin-left:28px;border-top:1px dashed var(--ink-800)}
.comment.pinned{background:rgba(217,136,28,.06);border-radius:var(--radius);padding:14px;margin-top:8px;border-top:0}
.comment.hidden-c{opacity:.55}
.comment-head{margin-bottom:6px}
.comment-body p{margin:0 0 .6em}
.comment-actions{gap:14px;margin-top:4px}
.link-btn{background:none;border:0;padding:0;color:var(--ink-300);cursor:pointer;font:inherit;font-size:.85rem}
.link-btn:hover{color:var(--amber-300)} .link-btn.danger:hover{color:#f08f8f}
.reply-form{margin:8px 0 8px 0}

/* Learning: certificate */
.cert-verify{max-width:900px}
.cert-frame{aspect-ratio:11/8.5;border:1px solid var(--ink-700);border-radius:var(--radius-lg);overflow:hidden;background:#f8f3e7;max-width:900px}
.cert-frame iframe{width:100%;height:100%;border:0}

/* Learning: admin */
.outline-module{border:1px solid var(--ink-700);border-radius:var(--radius);padding:12px 14px;margin-top:12px}
.outline-module-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.outline-lesson{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:8px 0 8px 12px;border-top:1px dashed var(--ink-800)}
.outline-lesson form{display:inline}
.quiz-edit{border:1px solid var(--ink-700);border-radius:var(--radius);padding:12px;margin-bottom:12px}
.quiz-edit .field{margin-bottom:8px}
.rich-wrap{border:1px solid var(--ink-600);border-radius:var(--radius);overflow:hidden;background:var(--ink-950)}
.rich-bar{display:flex;flex-wrap:wrap;gap:2px;padding:6px;border-bottom:1px solid var(--ink-700);background:var(--ink-900)}
.rich-bar{align-items:center}
.rich-bar button{position:relative;display:inline-grid;place-items:center;width:34px;height:34px;background:none;border:1px solid transparent;color:var(--ink-200);padding:0;border-radius:7px;cursor:pointer}
.rich-bar button:hover,.rich-bar button:focus-visible{border-color:var(--ink-600);color:var(--ink-50);outline:0}
.rich-bar button.on{background:rgba(227,147,26,.14);color:var(--amber-400);border-color:rgba(227,147,26,.3)}
.rich-bar button::after{content:attr(data-tip);position:absolute;left:50%;top:calc(100% + 6px);transform:translateX(-50%);background:var(--ink-50);color:var(--ink-950);font:600 .72rem/1.2 var(--font-body);padding:5px 8px;border-radius:6px;white-space:nowrap;pointer-events:none;z-index:20;display:none}
.rich-bar button:hover::after,.rich-bar button:focus-visible::after{display:block}
.rich-bar{border-radius:var(--radius) var(--radius) 0 0}
.rich-sep{width:1px;height:20px;background:var(--ink-700);margin:0 4px}
.rich-bar .rich-html-btn{margin-left:auto}
.rich-wrap{overflow:visible}
@media (hover:none){.rich-bar button::after{display:none}}
.rich-area{min-height:260px;padding:14px;outline:0;line-height:1.6;color:var(--ink-100)}
.rich-area:focus{box-shadow:inset 0 0 0 1px var(--amber-500)}
.rich-area h2,.rich-area h3{margin:.8em 0 .4em} .rich-area img{max-width:100%}
.rich-area pre{background:var(--ink-800);padding:10px;border-radius:6px;font-family:var(--font-mono);font-size:.85rem}
.rich-html{display:none;width:100%;min-height:260px;font-family:var(--font-mono);font-size:.85rem;border:0;border-radius:0}
.rich-wrap.html-mode .rich-area{display:none} .rich-wrap.html-mode .rich-html{display:block}
html[data-theme="light"] .rich-wrap{background:#fff} html[data-theme="light"] .rich-area{color:#1b1b1b}
@media (max-width:980px){.lesson-shell{grid-template-columns:1fr}.lesson-side{position:static;max-height:none}.course-hero,.course-layout{grid-template-columns:1fr}.course-hero-art{display:none}}
.quiz-opt-edit{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin-bottom:6px}
.quiz-opt-edit label{white-space:nowrap;display:flex;align-items:center;gap:4px;margin:0}
.quiz-opt-edit input[type=radio]{width:auto;margin:0}
.prose-card .prose h2{font-size:1.25rem;margin-top:1em} .prose-card .prose h3{font-size:1.05rem} .prose-card .prose{font-size:1rem}
/* AI help me write */
.ai-btn{font-size:.75rem;padding:3px 9px;margin-left:8px;vertical-align:middle;border-radius:999px;background:rgba(217,136,28,.12);color:var(--amber-300);border:1px solid rgba(217,136,28,.35);cursor:pointer;font-weight:600}
.ai-btn:hover{background:rgba(217,136,28,.22)} .ai-btn[disabled]{opacity:.6;cursor:wait}
.ai-box{margin:8px 0 10px;padding:10px 12px;border:1px dashed var(--amber-600);border-radius:var(--radius);background:rgba(217,136,28,.05)}
.ai-box textarea{min-height:60px;margin-bottom:8px}
.ai-box .ai-err{color:#f08f8f;font-size:.85rem;margin-top:6px}
html[data-theme="light"] .ai-btn{color:#9a5f0c}
/* Certificate (HTML rendition of the PDF) */
.cert{position:relative;background:#f8f3e7;color:#1b1b1b;border:6px solid #073c32;outline:1.5px solid #d9881c;outline-offset:-14px;box-shadow:inset 0 0 0 10px #f8f3e7,inset 0 0 0 11px #073c32;padding:46px 56px 34px;max-width:900px;text-align:center;font-family:"Inter",Arial,sans-serif;container-type:inline-size}
.cert-band{position:absolute;left:18px;top:18px;bottom:18px;width:10px;background:#073c32}
.cert-corner{position:absolute;width:12px;height:12px;background:#d9881c}
.cert-corner.tl{left:14px;top:14px}.cert-corner.tr{right:14px;top:14px}.cert-corner.bl{left:14px;bottom:14px}.cert-corner.br{right:14px;bottom:14px}
.cert-logo{width:210px;height:auto;display:block;margin:0 auto 14px}
.cert-title{font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:#073c32;font-size:13px}
.cert-rule{width:240px;height:1px;background:#d9881c;margin:8px auto 22px}
.cert-certifies{font-family:Georgia,"Times New Roman",serif;font-style:italic;color:#5c5a55;font-size:15px}
.cert-name{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:40px;line-height:1.15;margin:8px auto 4px;padding-bottom:8px;border-bottom:1.5px solid #d9881c;display:inline-block;min-width:260px;max-width:90%}
.cert-name+.cert-certifies{margin-top:18px}
.cert-course{font-family:"Syne",Arial,sans-serif;font-weight:800;color:#073c32;font-size:26px;margin:8px 0 6px}
.cert-sub{font-size:11px;color:#5c5a55;margin-bottom:34px}
.cert-row{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:end;margin-bottom:28px}
.cert-script{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:22px}
.cert-date{font-family:Georgia,"Times New Roman",serif;font-size:16px}
.cert-line{height:1px;background:#1b1b1b;margin:6px 10px}
.cert-label{font-weight:700;font-size:9px}
.cert-caps{text-transform:uppercase;letter-spacing:.12em}
.cert-small{font-size:8px;color:#5c5a55;margin-top:2px}
.cert-seal-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}
.cert-seal{width:88px;height:88px;border-radius:50%;border:3px solid #d9881c;display:grid;place-items:center;position:relative}
.cert-seal::before{content:"";position:absolute;inset:4px;border-radius:50%;border:1px solid #073c32}
.cert-seal span{position:absolute;inset:12px;border-radius:50%;background:#073c32;color:#f8f3e7;display:grid;place-items:center;font-weight:800;font-size:15px;letter-spacing:.1em;padding-bottom:8px}
.cert-seal small{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#f8f3e7;font-size:5.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;z-index:1}
.cert-foot .cert-label{color:#073c32}
@container (max-width:640px){.cert{padding:30px 26px 22px}.cert-name{font-size:28px}.cert-course{font-size:20px}.cert-row{grid-template-columns:1fr;gap:16px}.cert-logo{width:160px}}
@media print{body{background:#fff}.site-header,.site-footer,.btn,.row,.table{display:none!important}}
/* Cover image field */
.cover-preview{aspect-ratio:1200/630;border-radius:var(--radius);background:var(--ink-800) center/cover no-repeat;border:1px solid var(--ink-700);display:grid;place-items:center;color:var(--ink-400);font-size:.85rem}
.cover-preview:not(.empty) span{display:none}
.cover-preview.busy{opacity:.6}

/* Blog: public */
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.post-card{display:flex;flex-direction:column;background:var(--ink-900);border:1px solid var(--ink-700);border-radius:var(--radius-lg);overflow:hidden;color:inherit;text-decoration:none;transition:border-color .15s,transform .15s}
.post-card:hover{border-color:var(--amber-600);text-decoration:none;transform:translateY(-2px)}
.post-card.big{display:grid;grid-template-columns:1.2fr 1fr}
.post-card.big h3{font-size:1.7rem}
.post-cover{aspect-ratio:1200/630;background:linear-gradient(135deg,var(--ink-800),var(--ink-700)) center/cover no-repeat;position:relative}
.post-card.big .post-cover{aspect-ratio:auto;min-height:260px}
.post-body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:6px}
.post-card.big .post-body{padding:28px;justify-content:center}
.post-body h3{margin:0;font-size:1.15rem} .post-body p{margin:0}
.post-meta{display:flex;gap:10px;align-items:center}
.post-cat{color:var(--amber-300);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
.post-hero{padding:56px 0 20px}
.post-title{max-width:860px;margin:8px 0 12px}
.post-excerpt{max-width:760px;margin:0 0 12px}
.post-cover-img{width:100%;height:auto;border-radius:var(--radius-lg);border:1px solid var(--ink-700);margin-top:10px}
.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:start}
.post-main{min-width:0}
.post-body.prose{max-width:720px;font-size:1.08rem}
.share{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.share-top{margin-bottom:18px}
.share-btn{font:600 .8rem var(--font-body);padding:6px 11px;border-radius:999px;border:1px solid var(--ink-600);background:transparent;color:var(--ink-100);cursor:pointer;text-decoration:none}
.share-btn:hover{border-color:var(--amber-500);color:var(--amber-300);text-decoration:none}
.author-box{display:flex;gap:14px;align-items:center;margin-top:28px;padding:18px;border:1px solid var(--ink-700);border-radius:var(--radius-lg);background:var(--ink-900);max-width:720px}
.author-mark{width:48px;height:48px;border-radius:50%;background:var(--amber-500);color:var(--ink-950);display:grid;place-items:center;font:800 1.3rem var(--font-display);flex:none}
.post-cta{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px;padding:18px 20px;border:1px solid var(--amber-600);border-radius:var(--radius-lg);max-width:720px}
.post-side{position:sticky;top:20px;display:flex;flex-direction:column;gap:18px}
.side-block{background:var(--ink-900);border:1px solid var(--ink-700);border-radius:var(--radius-lg);padding:18px}
.side-block .eyebrow{margin-bottom:10px}
.side-course{display:block;color:inherit;text-decoration:none;border:1px solid var(--ink-700);border-radius:var(--radius);overflow:hidden;margin-top:10px;transition:border-color .15s}
.side-course:hover{border-color:var(--amber-600);text-decoration:none}
.side-course-cover{aspect-ratio:1200/630;background:linear-gradient(135deg,var(--ink-800),var(--ink-700)) center/cover no-repeat;position:relative}
.side-course-body{padding:12px 14px 14px}
.side-course-body b{display:block;margin:2px 0}
.side-post{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;color:inherit;text-decoration:none;padding:8px 0;border-top:1px dashed var(--ink-700)}
.side-post:first-of-type{border-top:0}
.side-post:hover b{color:var(--amber-300)} .side-post:hover{text-decoration:none}
.side-post-cover{aspect-ratio:1200/630;border-radius:6px;background:var(--ink-800) center/cover no-repeat}
.side-cohort{border-color:var(--amber-600)}
@media (max-width:900px){.post-layout{grid-template-columns:1fr}.post-side{position:static}.post-card.big{grid-template-columns:1fr}}

/* Blog: admin */
.check-row{display:flex;gap:8px;align-items:center;padding:6px 0;border-top:1px dashed var(--ink-800);font-weight:500;cursor:pointer}
.check-row input{width:auto}
.cal-head{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-400);padding:0 0 6px}
.cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}
.cal-day{min-height:96px;border:1px solid var(--ink-700);border-radius:8px;padding:6px;background:var(--ink-950)}
.cal-day.out{opacity:.45} .cal-day.today{border-color:var(--amber-500)}
.cal-num{display:inline-block;font-weight:700;font-size:.85rem;color:var(--ink-300);padding:2px 6px;border-radius:6px}
.cal-num:hover{background:var(--amber-500);color:var(--ink-950);text-decoration:none}
.cal-post{display:block;font-size:.72rem;line-height:1.3;padding:3px 6px;margin-top:4px;border-radius:5px;color:var(--ink-100);background:var(--ink-800);border-left:3px solid var(--ink-500);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cal-post.published{border-left-color:var(--ok)} .cal-post.scheduled{border-left-color:var(--amber-500)} .cal-post.draft{border-left-color:var(--ink-500);opacity:.8}
.cal-key{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:middle;background:var(--ink-500)} .cal-key.published{background:var(--ok)} .cal-key.scheduled{background:var(--amber-500)}
.related-list label{display:flex;gap:8px;align-items:flex-start;padding:6px 0;border-top:1px dashed var(--ink-700)} .related-list input{width:auto;margin-top:4px}
.link-picker{position:absolute;z-index:30;background:var(--ink-900);border:1px solid var(--ink-600);border-radius:var(--radius);padding:10px;width:min(420px,90vw);box-shadow:var(--shadow)}
.link-picker input{margin-bottom:6px}
.link-picker .lp-item{display:block;padding:6px 8px;border-radius:6px;color:var(--ink-100);cursor:pointer}
.link-picker .lp-item:hover{background:var(--ink-800)}
.link-picker .lp-type{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--amber-300);margin-right:8px}
.ai-pick{margin-top:6px} .ai-pick button{display:block;width:100%;text-align:left;background:var(--ink-800);border:1px solid var(--ink-700);color:var(--ink-100);padding:8px 10px;border-radius:6px;margin-bottom:4px;cursor:pointer;font:inherit}
.ai-pick button:hover{border-color:var(--amber-500)}

/* Office hours */
.slot-day{padding:10px 0;border-top:1px dashed var(--ink-800)}
.slot-day-label{font-weight:600;font-size:.9rem;margin-bottom:6px}
.slot{position:relative;cursor:pointer}
.slot input{position:absolute;opacity:0;width:0;height:0}
.slot span{display:inline-block;padding:7px 12px;border:1px solid var(--ink-600);border-radius:999px;font-size:.88rem;font-weight:600}
.slot input:checked+span{background:var(--amber-500);color:var(--ink-950);border-color:var(--amber-500)}
.slot.off span{opacity:.5;cursor:not-allowed}
.slot-admin{display:inline-flex;gap:4px;align-items:center;padding:5px 8px 5px 12px;border:1px solid var(--ink-600);border-radius:999px;font-size:.85rem}
.slot-admin.booked{border-color:var(--ok);background:rgba(47,158,106,.1)} .slot-admin.blocked{opacity:.55;border-style:dashed}
.slot-admin button,.slot-admin a{background:none;border:0;color:var(--ink-300);cursor:pointer;padding:0 4px;font-size:.85rem}
.slot-admin button:hover{color:var(--amber-300)}
.callout-soft{padding:14px 16px;border:1px solid var(--amber-600);border-radius:var(--radius);background:rgba(217,136,28,.06)}
.btn-ghost.active{border-color:var(--amber-500);color:var(--amber-300)}

/* Public calendar */
.pub-cal .cal-day{min-height:110px;background:var(--ink-900)}
.pub-cal .cal-num{cursor:default}
.pub-cal .cal-num:hover{background:none;color:var(--ink-300)}
.cal-item{display:block;font-size:.72rem;line-height:1.3;padding:3px 6px;margin-top:4px;border-radius:5px;color:var(--ink-100);background:var(--ink-800);border-left:3px solid var(--ink-500);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-decoration:none}
.cal-item:hover{text-decoration:none;background:var(--ink-700)}
.cal-item.cohort{border-left-color:var(--amber-500)} .cal-item.group{border-left-color:var(--ok)} .cal-item.mine{border-left-color:#6fa8ff}
.cal-key.cohort{background:var(--amber-500)} .cal-key.group{background:var(--ok)} .cal-key.mine{background:#6fa8ff}
.upcoming-list{display:flex;flex-direction:column;gap:10px}
.upcoming-row{display:flex;gap:16px;align-items:center;padding:12px 16px;border:1px solid var(--ink-700);border-radius:var(--radius-lg);background:var(--ink-900);color:inherit;text-decoration:none}
.upcoming-row:hover{border-color:var(--amber-600);text-decoration:none}
.upcoming-date{text-align:center;min-width:52px;line-height:1.15} .upcoming-date b{display:block;color:var(--amber-300);font-size:.8rem;text-transform:uppercase} .upcoming-date span{font-weight:700}
@media (max-width:760px){.pub-cal .cal-day{min-height:60px;padding:4px}.cal-item{display:none}.pub-cal .cal-day{position:relative}.pub-cal .cal-day:has(.cal-item)::after{content:"";position:absolute;bottom:6px;left:50%;width:6px;height:6px;border-radius:50%;background:var(--amber-500);transform:translateX(-50%)}}
.cal-item.booking{border-left-color:#6fa8ff} .cal-item.post{border-left-color:#c084fc} .cal-item.slot{border-left-color:var(--ink-500);color:var(--ink-400);font-style:italic}
.cal-key.booking{background:#6fa8ff} .cal-key.post{background:#c084fc} .cal-key.slot{background:var(--ink-500)}
.pill .cal-key{margin-right:2px;vertical-align:-1px}

/* Gamification */
.level-badge{text-decoration:none}
.level-badge .lbl{display:flex;flex-direction:column;gap:4px;min-width:0}
.level-bar{display:block;height:4px;border-radius:2px;background:var(--ink-700);overflow:hidden;width:120px} .level-bar i{display:block;height:100%;background:var(--amber-500)}
html[data-side="collapsed"] .level-bar{display:none}
.level-card{border-color:var(--amber-600)}
.xp-big{font:800 2rem var(--font-display);color:var(--amber-300)} .xp-big small{font:600 .9rem var(--font-body);color:var(--ink-400)}
.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.badge{border:1px dashed var(--ink-700);border-radius:var(--radius);padding:12px;text-align:center;opacity:.55}
.badge.earned{opacity:1;border-style:solid;border-color:var(--amber-600);background:rgba(217,136,28,.06)}
.badge-ico{font-size:1.6rem;color:var(--amber-400);line-height:1;margin-bottom:6px}
.badge b{display:block;font-size:.9rem}
.bounty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.bounty{position:relative;background:var(--ink-900);border:1px solid var(--ink-700);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column}
.bounty.featured{border-color:var(--amber-600);box-shadow:0 0 0 1px var(--amber-600)}
.bounty .ribbon{position:absolute;top:10px;left:10px;z-index:1;background:var(--amber-500);color:var(--ink-950);font-size:.72rem;font-weight:800;padding:3px 9px;border-radius:999px}
.bounty-cover{aspect-ratio:1200/630;background:linear-gradient(135deg,var(--ink-800),var(--ink-700)) center/cover no-repeat;position:relative}
.bounty-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1} .bounty-body h3{margin:0 0 6px;font-size:1.1rem}
.clap{background:transparent;border:1px solid var(--ink-600);color:var(--ink-100);border-radius:999px;padding:6px 12px;font:600 .85rem var(--font-body);cursor:pointer}
.clap:hover{border-color:var(--amber-500)} .clap.done{border-color:var(--amber-600);color:var(--amber-300);cursor:default}
.bounty-thumb{width:120px;aspect-ratio:1200/630;border-radius:6px;background:var(--ink-800) center/cover no-repeat;flex:none}
.toasts{position:fixed;right:18px;bottom:18px;z-index:9999;display:flex;flex-direction:column;gap:10px;max-width:min(360px,calc(100vw - 36px))}
.toast{background:var(--ink-900);border:1px solid var(--amber-600);border-left:4px solid var(--amber-500);border-radius:var(--radius);padding:12px 16px;box-shadow:var(--shadow);animation:toastIn .4s ease-out}
.toast b{display:block;color:var(--amber-300)} .toast span{font-size:.9rem;color:var(--ink-200)}
@keyframes toastIn{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}
#nco-confetti{position:fixed;inset:0;pointer-events:none;z-index:9998}

/* Avatars */
.avatar{border-radius:50%;object-fit:cover;flex:none;display:inline-block;vertical-align:middle;border:1px solid var(--ink-700);background:var(--ink-800)}
.avatar-ini{display:inline-grid;place-items:center;background:var(--amber-500);color:var(--ink-950);font-weight:800;font-family:var(--font-display);border:0}
.avatar-lg{border:2px solid var(--amber-500)}
.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px}
.avatar-pick{position:relative;cursor:pointer;border-radius:50%;display:block}
.avatar-pick input{position:absolute;opacity:0;width:0;height:0}
.avatar-pick img{width:100%;height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;border:3px solid transparent;transition:transform .15s,border-color .15s}
.avatar-pick:hover img{transform:scale(1.05)}
.avatar-pick input:checked+img{border-color:var(--amber-500);box-shadow:0 0 0 3px rgba(227,147,26,.25)}
.avatar-pick input:focus-visible+img{outline:2px solid var(--amber-300);outline-offset:2px}
.comment-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}

/* Messages */
.thread-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px dashed var(--ink-800);color:inherit;text-decoration:none}
.thread-row:first-of-type{border-top:0} .thread-row:hover{text-decoration:none} .thread-row:hover b{color:var(--amber-300)}
.thread-row.unread b{color:var(--amber-300)}
.msg{display:flex;gap:12px;padding:12px 0;border-top:1px dashed var(--ink-800)} .msg:first-child{border-top:0}
.msg-body{flex:1;min-width:0}
.msg.from-admin .msg-body .comment-body{background:rgba(217,136,28,.07);border-left:3px solid var(--amber-500);padding:8px 12px;border-radius:6px}
.spark{display:flex;align-items:flex-end;gap:3px;height:64px;margin-bottom:6px} .spark i{flex:1;background:var(--amber-500);border-radius:2px 2px 0 0;opacity:.85;min-width:3px}

/* ===== Mobile pass (fix 11) ===== */
.cal-head,.cal-week{grid-template-columns:repeat(7,minmax(0,1fr))}
.cal-day{min-width:0}
img,video,iframe{max-width:100%}
.table td,.table th{overflow-wrap:anywhere}
@media (max-width:860px){
  .grid-2{grid-template-columns:1fr !important}
  .app-main{padding:16px 14px 80px}
  .page-head{align-items:flex-start}
  .page-head h1{font-size:1.4rem}
  .card{padding:16px}
  table.table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
  table.table td,table.table th{overflow-wrap:normal;white-space:nowrap}
  table.table td:first-child{white-space:normal;min-width:160px}
  .tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}
  .tabs a{white-space:nowrap;flex:none}
  .row{min-width:0}
  .row > input,.row > select{min-width:0;flex:1 1 140px}
  .cal-day{min-height:64px;padding:4px}
  .cal-head div{font-size:.65rem;letter-spacing:.04em}
  .cal-num{font-size:.75rem;padding:1px 4px}
  .cal-post,.cal-item{font-size:.62rem;padding:2px 3px;margin-top:3px}
  .cal-item b{display:none}
  .outline-lesson{grid-template-columns:1fr;gap:4px}
  .outline-module-head form.row input{max-width:none !important}
  .quiz-opt-edit{grid-template-columns:1fr}
  .thread-row{flex-wrap:wrap}
  .msg{gap:8px}
  .slot-admin{font-size:.8rem}
  .admin-topbar{flex-wrap:wrap;gap:8px}
  .bell-menu{right:-8px;width:min(340px,calc(100vw - 24px))}
  .post-card.big h3{font-size:1.3rem}
  .cert{padding:28px 20px 20px}
  .lesson-nav{flex-direction:column;align-items:stretch}
  .lesson-nav .btn,.lesson-nav form,.lesson-nav form .btn{width:100%;justify-content:center}
  .lesson-nav > span:empty{display:none}
  .share{gap:6px}
  .upcoming-row{padding:10px 12px;gap:10px}
  .toasts{left:12px;right:12px;bottom:12px;max-width:none}
}
@media (max-width:560px){
  .wrap{width:calc(100% - 32px)}
  h1{font-size:clamp(1.7rem,8vw,2.4rem)}
  .hero{padding:44px 0 28px}
  .section{padding:44px 0}
  .btn{min-height:44px}
  .btn-sm{min-height:36px}
  .cards-3,.course-grid,.post-grid,.bounty-grid{grid-template-columns:1fr}
  .avatar-grid{grid-template-columns:repeat(4,1fr);gap:8px}
  .badge-grid{grid-template-columns:repeat(2,1fr)}
  .post-card.big{display:flex}
  .side-post{grid-template-columns:60px 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .cal-post,.cal-item{font-size:0;height:6px;padding:0;border-left-width:0;border-radius:3px}
  .cal-post.published,.cal-item.cohort{background:var(--amber-500)} .cal-item.group,.cal-post.published{background:var(--ok)} .cal-item.booking{background:#6fa8ff} .cal-item.post{background:#c084fc} .cal-post.scheduled{background:var(--amber-500)} .cal-post.draft,.cal-item.slot{background:var(--ink-500)}
}
/* iOS zooms into any field under 16px: keep them at 16 on touch screens */
@media (max-width:860px),(pointer:coarse){input,select,textarea{font-size:16px !important}}
.mobile-only{display:none}
.agenda{margin-top:16px}
.agenda-day{margin-bottom:12px}
.agenda-date{font-weight:700;font-size:.85rem;color:var(--ink-300);margin-bottom:4px} .agenda-date.today{color:var(--amber-300)}
.agenda-item{display:block;padding:10px 12px;margin-bottom:6px;border-radius:8px;background:var(--ink-900);border:1px solid var(--ink-700);border-left:4px solid var(--ink-500);color:var(--ink-100);text-decoration:none}
.agenda-item.cohort{border-left-color:var(--amber-500)} .agenda-item.group,.agenda-item.published{border-left-color:var(--ok)} .agenda-item.booking{border-left-color:#6fa8ff} .agenda-item.post{border-left-color:#c084fc} .agenda-item.scheduled{border-left-color:var(--amber-500)}
@media (max-width:560px){.mobile-only{display:block}}
.grid-2 > *,.stack > *,.cards-3 > *,.app-main > *,.card{min-width:0}
input[type=file]{max-width:100%;min-width:0}
@media (max-width:560px){.cards-3,.course-grid,.post-grid,.bounty-grid{grid-template-columns:1fr !important}}
@media (max-width:860px){.app-shell,html[data-side="collapsed"] .app-shell{grid-template-columns:minmax(0,1fr)}.app-side{width:270px !important}html[data-side="collapsed"] .app-side .lbl{display:inline}.side-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:39;display:none}.app-side.open + .side-backdrop,.app-side.open ~ .side-backdrop{display:block}}
.spark{overflow:hidden}
@media (max-width:860px){body.side-open::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:39}body.side-open{overflow:hidden}}
@media (max-width:860px){.collapse-btn{display:none !important}table.table td:first-child:has(input[type=checkbox]),table.table th:first-child:has(input[type=checkbox]){min-width:0;width:36px}}

/* Installable app (PWA) */
.install-banner{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:9997;display:flex;gap:12px;align-items:center;background:var(--ink-900);border:1px solid var(--amber-600);border-radius:14px;padding:12px 12px 12px 14px;box-shadow:0 12px 30px rgba(0,0,0,.45);animation:toastIn .35s ease-out}
.install-banner img{border-radius:10px;flex:none}
.ib-text{flex:1;min-width:0;font-size:.88rem;line-height:1.35} .ib-text b{display:block;color:var(--ink-50)} .ib-text span{color:var(--ink-300)}
.ib-actions{display:flex;gap:6px;align-items:center;flex:none}
.ib-x{background:none;border:0;color:var(--ink-400);font-size:1.5rem;line-height:1;cursor:pointer;padding:4px 6px}
@media (min-width:861px){.install-banner{left:auto;right:18px;width:380px}}
html.is-app body{padding-top:env(safe-area-inset-top)}
html.is-app .admin-topbar{padding-top:6px}
html.is-app .app-side{padding-top:calc(20px + env(safe-area-inset-top))}
html.is-app .app-main{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
html.is-app .site-header{padding-top:env(safe-area-inset-top)}
html.is-app [data-install]{display:none !important}

/* Click a day to add */
.cal-day.can-add{position:relative;cursor:pointer;transition:border-color .12s,background .12s}
.cal-day.can-add:hover{border-color:var(--amber-600);background:rgba(217,136,28,.05)}
.cal-add{position:absolute;top:4px;right:6px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.95rem;line-height:1;color:var(--ink-950);background:var(--amber-500);opacity:0;transition:opacity .12s;pointer-events:none}
.cal-day.can-add:hover .cal-add,.cal-day.can-add:focus-within .cal-add{opacity:1}
@media (hover:none){.cal-day.can-add .cal-add{opacity:.55;width:16px;height:16px;font-size:.75rem;top:3px;right:3px}}
.day-menu{position:absolute;z-index:60;background:var(--ink-900);border:1px solid var(--ink-600);border-radius:var(--radius);box-shadow:var(--shadow);padding:8px;min-width:220px}
.day-menu b{display:block;font-size:.8rem;color:var(--ink-300);padding:4px 8px 6px}
.day-menu a{display:flex;gap:8px;align-items:center;padding:9px 10px;border-radius:7px;color:var(--ink-100);text-decoration:none;font-size:.92rem}
.day-menu a:hover{background:var(--ink-800);text-decoration:none}
.day-menu i{width:10px;height:10px;border-radius:3px;flex:none}

/* ---- Popups and top banners (fix 13) ---- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nco-banner{position:relative;z-index:40;font-size:.95rem;line-height:1.4}
.nco-banner .nb-inner{max-width:1180px;margin:0 auto;padding:10px 48px 10px 16px;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;justify-content:center;text-align:center}
.nco-banner .nb-text{font-weight:600}
.nco-banner .nb-code{font-family:Consolas,Menlo,monospace;font-weight:700;letter-spacing:.06em;padding:2px 10px;border-radius:6px;border:1px dashed currentColor;background:rgba(255,255,255,.14);cursor:pointer;color:inherit;font-size:.9rem}
.nco-banner .nb-code:hover{background:rgba(255,255,255,.26)}
.nco-banner .nb-link{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.nco-banner .nb-x{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent;color:inherit;font-size:22px;line-height:1;cursor:pointer;border-radius:8px;opacity:.8}
.nco-banner .nb-x:hover{opacity:1;background:rgba(0,0,0,.12)}
.banner-primary{background:#14120e;color:#faf8f2;border-bottom:1px solid #c47a12}
.banner-primary .nb-link,.banner-primary .nb-code{color:#f2a93b}
.banner-amber{background:#e3931a;color:#14120e}
.banner-amber .nb-code{background:rgba(0,0,0,.08)}
.banner-green{background:#073c32;color:#f4efe1}
.banner-green .nb-link,.banner-green .nb-code{color:#f2c46b}
.banner-cream{background:#f4efe1;color:#14120e;border-bottom:1px solid #e3dcc6}
.banner-cream .nb-code{background:#fff;color:#7a4a06}
.banner-cream .nb-link{color:#7a4a06}
@media (max-width:640px){.nco-banner{font-size:.88rem}.nco-banner .nb-inner{padding:9px 44px 9px 12px;justify-content:flex-start;text-align:left}}
.swatch{display:inline-block;width:18px;height:18px;border-radius:5px;flex:0 0 18px;border:1px solid rgba(255,255,255,.15)}
.switch-card{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:12px 16px;border:1px solid var(--ink-700);border-radius:var(--radius);background:var(--ink-800);margin:0 0 18px}
.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 12px}
.check-grid label{display:flex;gap:8px;align-items:center;font-weight:500;font-size:.92rem;margin:0;cursor:pointer}
.check-grid input{width:auto;margin:0}
.variant-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.variant-tabs .vt{border:1px solid var(--ink-700);background:transparent;color:inherit;padding:7px 14px;border-radius:999px;cursor:pointer;font-weight:600;font-size:.88rem}
.variant-tabs .vt.active{background:var(--amber-500);border-color:var(--amber-500);color:#14120e}
.banner-preview-wrap{border:1px dashed var(--ink-600);border-radius:var(--radius);overflow:hidden;margin:0 0 18px}
html[data-theme="light"] .switch-card{background:#fff;border-color:#e3dcc6}
.mk-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#14120e;color:#faf8f2;border:1px solid #c47a12;padding:10px 18px;border-radius:999px;z-index:10002;font-weight:600;transition:opacity .4s;box-shadow:0 8px 24px rgba(0,0,0,.4)}

.nco-pop{position:fixed;inset:0;z-index:10000;pointer-events:none}
.nco-pop .pop-backdrop{position:absolute;inset:0;background:rgba(10,9,6,.66);opacity:0;transition:opacity .25s;pointer-events:auto}
.nco-pop.in .pop-backdrop{opacity:1}
.nco-pop .pop-card{position:absolute;pointer-events:auto;background:#1d1a14;color:#faf8f2;border:1px solid #3a3426;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.5);display:grid;overflow:hidden;opacity:0;transition:opacity .25s,transform .25s;max-height:calc(100vh - 32px);overflow-y:auto}
.nco-pop.in .pop-card{opacity:1}
.nco-pop .pop-body{padding:30px 28px 24px;min-width:0}
.nco-pop h2{font-family:var(--font-display);font-size:1.55rem;line-height:1.15;margin:0 34px 10px 0;color:inherit}
.nco-pop .pop-body>p{margin:0 0 18px;color:inherit;opacity:.82}
.nco-pop .pop-img{background-size:cover;background-position:center;min-height:200px}
.nco-pop .pop-x{position:absolute;top:10px;right:10px;width:38px;height:38px;border:0;border-radius:10px;background:transparent;color:inherit;font-size:26px;line-height:1;cursor:pointer;opacity:.7;z-index:2}
.nco-pop .pop-x:hover{opacity:1;background:rgba(255,255,255,.08)}
.nco-pop .pop-form{display:grid;grid-template-columns:1fr auto;gap:8px}
.nco-pop .pop-form input[type=email]{min-width:0;margin:0;padding:12px 14px;border-radius:10px;border:1px solid #3a3426;background:#14120e;color:#faf8f2;font-size:16px}
.nco-pop .pop-form .btn{white-space:nowrap}
.nco-pop .pop-err{grid-column:1/-1;color:#ff9b8a;font-size:.9rem}
.nco-pop .hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.nco-pop .pop-fine{font-size:.8rem;opacity:.6;margin:10px 0 0}
.nco-pop .pop-done h2{margin-right:34px}
.nco-pop .pop-done p{opacity:.85;margin:0 0 16px}
.nco-pop .pop-done .btn{margin:0 8px 10px 0}
.nco-pop .pop-code{display:block;width:100%;font-family:Consolas,Menlo,monospace;font-size:1.5rem;font-weight:700;letter-spacing:.12em;padding:14px;border:2px dashed #e3931a;border-radius:12px;background:rgba(227,147,26,.08);color:inherit;cursor:pointer;margin:0 0 12px}
.nco-pop .pop-code small{display:block;font-family:var(--font-body,Inter,sans-serif);font-size:.72rem;letter-spacing:0;font-weight:500;opacity:.7;margin-top:4px}
/* center */
.nco-pop.pop-center .pop-card{left:50%;top:50%;width:min(520px,calc(100vw - 32px));transform:translate(-50%,-46%)}
.nco-pop.pop-center.in .pop-card{transform:translate(-50%,-50%)}
.nco-pop.pop-center .pop-card.has-img{width:min(780px,calc(100vw - 32px));grid-template-columns:5fr 6fr}
/* slide-in */
.nco-pop.pop-slidein .pop-card{right:20px;bottom:20px;width:min(380px,calc(100vw - 32px));transform:translateY(30px)}
.nco-pop.pop-slidein.in .pop-card{transform:none}
.nco-pop.pop-slidein .pop-img{min-height:140px}
.nco-pop.pop-slidein h2{font-size:1.25rem}
.nco-pop.pop-slidein .pop-body{padding:22px 20px 18px}
.nco-pop.pop-slidein .pop-form{grid-template-columns:1fr}
/* full screen */
.nco-pop.pop-fullscreen .pop-backdrop{background:rgba(10,9,6,.94)}
.nco-pop.pop-fullscreen .pop-card{inset:0;border:0;border-radius:0;max-height:none;background:transparent;box-shadow:none;place-content:center;justify-items:center;text-align:center;transform:scale(.98)}
.nco-pop.pop-fullscreen.in .pop-card{transform:none}
.nco-pop.pop-fullscreen .pop-body{max-width:620px;padding:40px 24px}
.nco-pop.pop-fullscreen h2{font-size:clamp(2rem,5vw,3.2rem);margin:0 0 14px}
.nco-pop.pop-fullscreen .pop-img{width:min(620px,90vw);min-height:220px;border-radius:14px}
.nco-pop.pop-fullscreen .pop-card.has-img{grid-template-columns:1fr;align-content:center}
.nco-pop.pop-fullscreen .pop-x{position:fixed;top:16px;right:16px}
/* themes */
.nco-pop.theme-light .pop-card{background:#faf8f2;color:#14120e;border-color:#e3dcc6}
.nco-pop.theme-light .pop-form input[type=email]{background:#fff;color:#14120e;border-color:#d8cfb6}
.nco-pop.theme-light .pop-err{color:#b3261e}
.nco-pop.theme-light .pop-x:hover{background:rgba(0,0,0,.06)}
.nco-pop.theme-amber .pop-card{background:#e3931a;color:#14120e;border-color:#c47a12}
.nco-pop.theme-amber .btn-primary{background:#14120e;color:#faf8f2;border-color:#14120e}
.nco-pop.theme-amber .pop-form input[type=email]{background:#fff;color:#14120e;border-color:#c47a12}
.nco-pop.theme-amber .pop-err{color:#5e0b04}
.nco-pop.theme-amber .pop-code{border-color:#14120e;background:rgba(0,0,0,.06)}
.nco-pop.pop-fullscreen.theme-light .pop-backdrop{background:rgba(250,248,242,.97)}
.nco-pop.pop-fullscreen.theme-amber .pop-backdrop{background:rgba(227,147,26,.97)}
.nco-pop.pop-fullscreen .pop-card,.nco-pop.pop-fullscreen.theme-light .pop-card,.nco-pop.pop-fullscreen.theme-amber .pop-card{background:transparent;border:0}
.nco-pop.pop-fullscreen.theme-dark .pop-card{color:#faf8f2}
/* phone: bottom bar that opens to a sheet. Non-modal, page stays usable. */
.nco-pop .pop-bar{display:none}
.nco-pop.as-bar .pop-backdrop{display:none}
.nco-pop.as-bar .pop-bar{display:flex;position:absolute;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));pointer-events:auto;background:#14120e;color:#faf8f2;border:1px solid #c47a12;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.45);transform:translateY(120%);transition:transform .3s}
.nco-pop.as-bar.in .pop-bar{transform:none}
.nco-pop.as-bar.theme-light .pop-bar{background:#faf8f2;color:#14120e;border-color:#d8cfb6}
.nco-pop.as-bar.theme-amber .pop-bar{background:#e3931a;color:#14120e;border-color:#c47a12}
.nco-pop .pop-bar-open{flex:1;min-width:0;display:flex;align-items:center;gap:10px;justify-content:space-between;background:transparent;border:0;color:inherit;text-align:left;padding:12px 6px 12px 14px;font:inherit;cursor:pointer}
.nco-pop .pop-bar-open span{font-weight:600;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.nco-pop .pop-bar-open b{flex:0 0 auto;background:#e3931a;color:#14120e;padding:7px 12px;border-radius:9px;font-size:.85rem}
.nco-pop.as-bar.theme-amber .pop-bar-open b{background:#14120e;color:#faf8f2}
.nco-pop .pop-bar-x{position:static;flex:0 0 44px;height:auto}
.nco-pop.as-bar .pop-card{display:none}
.nco-pop.as-bar.sheet .pop-bar{display:none}
.nco-pop.as-bar.sheet .pop-card{display:grid;left:0;right:0;bottom:0;top:auto;width:auto;max-height:80vh;border-radius:18px 18px 0 0;transform:none;padding-bottom:env(safe-area-inset-bottom);grid-template-columns:1fr;inset:auto 0 0 0;text-align:left}
.nco-pop.as-bar.sheet .pop-img{min-height:120px;max-height:160px}
/* Phone sheet (fix 113): always a solid card over a dimmed page, whatever the desktop layout was. */
.nco-pop.as-bar.sheet .pop-backdrop{display:block;opacity:1;background:rgba(10,9,6,.7)}
.nco-pop.as-bar.sheet .pop-card{background:#1d1a14;color:#faf8f2;border:1px solid #3a3426;border-bottom:0;box-shadow:0 -16px 50px rgba(0,0,0,.55);place-content:start;justify-items:stretch;overflow-y:auto}
.nco-pop.as-bar.sheet.theme-light .pop-card{background:#faf8f2;color:#14120e;border-color:#e3dcc6}
.nco-pop.as-bar.sheet.theme-amber .pop-card{background:#e3931a;color:#14120e;border-color:#c47a12}
.nco-pop.as-bar.sheet .pop-body{padding:22px 20px calc(18px + env(safe-area-inset-bottom));max-width:none;text-align:left}
.nco-pop.as-bar.sheet h2{font-size:1.35rem;margin:0 34px 8px 0}
.nco-pop.as-bar.sheet .pop-x{position:absolute;top:10px;right:10px}
.nco-pop.as-bar.sheet .pop-img{width:auto;border-radius:0}
.nco-pop.as-bar.sheet .pop-form{grid-template-columns:1fr}
.nco-pop.as-bar.sheet .pop-body{padding:24px 18px 18px}
.nco-pop.as-bar.sheet h2{font-size:1.3rem}
.nco-pop.as-bar.sheet .pop-form{grid-template-columns:1fr}
.nco-pop.as-bar.sheet .pop-x{position:absolute}
@media (max-width:640px){.nco-pop .pop-form{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.nco-pop .pop-card,.nco-pop .pop-bar,.nco-pop .pop-backdrop{transition:none}}

/* ---- Calendar drag to reschedule (fix 14) ---- */
.cal-item.can-drag{cursor:grab}
.cal-item.dragging{opacity:.45}
body.is-dragging .cal-day{transition:background .12s,box-shadow .12s}
.cal-day.drop-target{box-shadow:inset 0 0 0 2px var(--amber-500);background:rgba(227,147,26,.10)}
.move-dlg{border:1px solid var(--ink-700);border-radius:16px;background:var(--ink-900);color:var(--ink-100);padding:22px 22px 18px;width:min(520px,calc(100vw - 24px));box-shadow:0 24px 60px rgba(0,0,0,.5)}
.move-dlg::backdrop{background:rgba(10,9,6,.6)}
.move-dlg .mv-choices{display:grid;gap:8px}
.move-dlg .mv-choices>label{display:flex;gap:8px;align-items:center;margin:0;font-weight:600}
.move-dlg .mv-choices input[type=radio]{width:auto;margin:0}
.move-dlg .mv-preview{background:var(--ink-800);border-left:3px solid var(--amber-500);padding:9px 12px;border-radius:6px;margin:0 0 4px 24px;color:var(--ink-200,#d8d2c2)}
.move-dlg .mv-err{color:#ff9b8a;margin-top:10px}
html[data-theme="light"] .move-dlg{background:#fff;color:#14120e;border-color:#e3dcc6}
html[data-theme="light"] .move-dlg .mv-preview{background:#f4efe1;color:#3a3426}
html[data-theme="light"] .move-dlg .mv-err{color:#b3261e}
.move-dlg .field[data-mv-custom]{margin-left:24px}

/* ---- Site status (fix 14) ---- */
.mode-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.mode-card{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid var(--ink-700);border-radius:12px;cursor:pointer;margin:0;font-weight:400}
.mode-card input{width:auto;margin:3px 0 0}
.mode-card>span{display:grid;gap:4px}
.mode-card:has(input:checked){border-color:var(--amber-500);background:rgba(227,147,26,.08)}
.mode-card.mode-lockdown:has(input:checked){border-color:#e5484d;background:rgba(229,72,77,.08)}
html[data-theme="light"] .mode-card{border-color:#e3dcc6}
.sec-table input[type=text]{min-width:180px}
.sec-table select,.sec-table input{margin:0}
.sec-table tr.sec-group td{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-400);font-weight:700;padding-top:16px}
.sec-table tr.is-off td:first-child b{color:var(--amber-400)}
.hp-field{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.bare-page{min-height:100vh;display:flex;background:radial-gradient(1200px 600px at 50% -10%,rgba(227,147,26,.12),transparent 60%),var(--ink-900,#14120e)}
.bare-wrap{margin:auto;width:100%;max-width:640px;padding:48px 20px;text-align:center}
.bare-logo{display:block;margin:0 auto 34px;height:auto}
.bare-card h1{font-family:var(--font-display);font-size:clamp(2rem,6vw,3rem);line-height:1.08;margin:8px 0 14px}
.bare-card .lead{color:var(--ink-200,#d8d2c2);margin:0 auto 22px;max-width:520px}
.bare-form{display:grid;grid-template-columns:1fr auto;gap:8px;max-width:460px;margin:18px auto 0}
.bare-form input[type=email]{margin:0;font-size:16px}
@media (max-width:520px){.bare-form{grid-template-columns:1fr}}
.countdown{display:flex;justify-content:center;gap:12px;margin:8px 0 6px}
.countdown span{display:grid;min-width:76px;padding:10px 8px;border:1px solid var(--ink-700);border-radius:12px;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-300,#bdb5a0)}
.countdown b{font-family:var(--font-display);font-size:1.8rem;color:var(--amber-400);letter-spacing:0}
.move-dlg .grid-2{grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:420px){.move-dlg .grid-2{grid-template-columns:1fr}}

/* ==== Page builder blocks (fix 16) ==== */
.btn-lg{padding:15px 24px;font-size:1.02rem}
.pb-narrow{max-width:780px}
.pb-hero{padding:clamp(56px,9vw,110px) 0 clamp(48px,7vw,80px)}
.pb-hero h1{font-size:clamp(2.2rem,5.2vw,3.7rem);line-height:1.04;margin:10px 0 18px;max-width:16ch}
.pb-hero .lead{max-width:56ch}
.pb-hero.is-center{text-align:center}
.pb-hero.is-center h1,.pb-hero.is-center .lead{margin-inline:auto}
.pb-hero.is-center .pb-btns{justify-content:center}
.pb-hero.is-split .pb-hero-in{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,56px);align-items:center}
.pb-hero-art img{width:100%;height:auto;border-radius:var(--radius-lg);border:1px solid var(--ink-700);display:block}
.pb-btns{gap:12px;flex-wrap:wrap;margin-top:6px}
.pb-note{color:var(--ink-400);margin:12px 0 0}
.pb-hero.theme-light,.pb-cta.theme-light{background:#f4efe1;color:#14120e}
.pb-hero.theme-light .lead,.pb-cta.theme-light .lead,.pb-hero.theme-light .pb-note{color:#4a4433}
.pb-hero.theme-light .btn-ghost,.pb-cta.theme-light .btn-ghost{color:#14120e;border-color:#c9bf9f}
.pb-hero.theme-amber,.pb-cta.theme-amber{background:linear-gradient(160deg,#e3931a,#c47a12);color:#14120e}
.pb-hero.theme-amber .eyebrow{color:#3a2604}
.pb-hero.theme-amber .lead,.pb-cta.theme-amber .lead,.pb-hero.theme-amber .pb-note,.pb-cta.theme-amber .pb-note{color:#2a1c04}
.pb-hero.theme-amber .btn-primary,.pb-cta.theme-amber .btn-primary{background:#14120e;color:#faf8f2;border-color:#14120e}
.pb-hero.theme-amber .btn-ghost{color:#14120e;border-color:rgba(20,18,14,.4)}
.pb-cta.theme-dark{background:radial-gradient(ellipse 70% 60% at 50% 100%,rgba(227,147,26,.18),transparent 70%)}
.pb-cta .pb-btns{justify-content:center}
.pb-cta .lead{max-width:560px;margin:0 auto 22px}
.pb-pains{list-style:none;padding:0;margin:22px 0;display:grid;gap:10px}
.pb-pains li{position:relative;padding:14px 16px 14px 46px;background:var(--ink-900);border:1px solid var(--ink-700);border-radius:var(--radius)}
.pb-pains li::before{content:"";position:absolute;left:16px;top:50%;width:16px;height:2px;background:#e5484d;transform:translateY(-50%)}
.pb-fix{border-left:3px solid var(--amber-500);padding:6px 0 6px 18px;margin-top:26px}
.pb-fix h3{margin:0 0 6px}
.pb-fix p{margin:0;color:var(--ink-200,#d8d2c2)}
.pb-grid{display:grid;gap:18px}
.pb-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pb-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pb-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pb-grid.cols-1{grid-template-columns:minmax(0,640px);justify-content:center}
.pb-card{background:var(--ink-900);border:1px solid var(--ink-700);border-radius:var(--radius-lg);padding:22px}
.pb-card h3{margin:10px 0 6px;font-size:1.12rem}
.pb-card p{margin:0;color:var(--ink-300)}
.pb-check{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(227,147,26,.15)}
.pb-check::after{content:"";width:10px;height:6px;border-left:2px solid var(--amber-400);border-bottom:2px solid var(--amber-400);transform:rotate(-45deg) translate(1px,-1px)}
.pb-steps{list-style:none;padding:0;margin:0;display:grid;gap:14px;counter-reset:s}
.pb-steps li{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start;padding:16px 0;border-bottom:1px solid var(--ink-800)}
.pb-steps .n{width:44px;height:44px;border-radius:50%;border:1px solid var(--amber-600);display:grid;place-items:center;font:800 1.1rem var(--font-display);color:var(--amber-400)}
.pb-steps h3{margin:4px 0 4px;font-size:1.1rem}
.pb-steps p{margin:0;color:var(--ink-300)}
.pb-plans{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));max-width:1040px;margin:0 auto}
.pb-plans .program ul{padding-left:18px;margin:12px 0 18px;color:var(--ink-300)}
.pb-plans .program .btn{margin-top:auto}
.pb-cohort{display:grid;grid-template-columns:1fr 220px;gap:20px;align-items:center;background:var(--ink-900);border:1px solid var(--amber-600);border-radius:var(--radius-lg);padding:24px;margin-top:20px}
.pb-cohort h3{margin:4px 0 10px}
.pb-facts{list-style:none;padding:0;margin:0;display:grid;gap:6px;color:var(--ink-300)}
.pb-facts b{display:inline-block;min-width:62px;color:var(--ink-100)}
.pb-cohort-buy .price{font:800 2rem var(--font-display);margin-bottom:10px;text-align:center}
.pb-course{display:grid;background:var(--ink-900);border:1px solid var(--ink-700);border-radius:var(--radius-lg);overflow:hidden;color:inherit;text-decoration:none;transition:border-color .15s}
.pb-course:hover{border-color:var(--amber-600)}
.pb-course-img{aspect-ratio:1200/630;background:linear-gradient(135deg,var(--ink-800),var(--ink-700)) center/cover}
.pb-course-body{display:grid;gap:6px;padding:16px}
.pb-link{color:var(--amber-400)}
.pb-oh{display:inline-grid;gap:2px;padding:16px 22px;border:1px solid var(--ink-700);border-radius:var(--radius-lg);margin:6px 0 20px}
.pb-oh b{font:800 1.3rem var(--font-display)}
.pb-oh span{color:var(--ink-300)}
.pb-code{display:block;margin:18px auto;font-family:Consolas,Menlo,monospace;font-size:1.8rem;font-weight:700;letter-spacing:.14em;padding:16px 28px;border:2px dashed var(--amber-500);border-radius:14px;background:rgba(227,147,26,.07);color:inherit;cursor:pointer}
.pb-code small{display:block;font:500 .75rem var(--font-body,Inter,sans-serif);letter-spacing:0;opacity:.7;margin-top:4px}
.pb-quote{margin:0;background:var(--ink-900);border:1px solid var(--ink-700);border-radius:var(--radius-lg);padding:22px;display:flex;flex-direction:column;gap:16px}
.pb-quote blockquote{margin:0;font-size:1.04rem;line-height:1.55}
.pb-quote figcaption{display:flex;gap:12px;align-items:center;margin-top:auto}
.pb-quote figcaption img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.pb-quote figcaption>span{display:grid}
.pb-quote.is-placeholder{border-style:dashed;opacity:.75}
.pb-ph-tag{font-size:.72rem;color:var(--amber-400);text-transform:uppercase;letter-spacing:.08em}
.pb-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px;text-align:center}
.pb-stats b{display:block;font:800 clamp(2rem,5vw,3rem) var(--font-display);color:var(--amber-400)}
.pb-stats span{color:var(--ink-300)}
.pb-bio{display:grid;grid-template-columns:160px 1fr;gap:26px;align-items:center}
.pb-bio:not(:has(> img,> .pb-img-empty)){grid-template-columns:1fr}
.pb-bio img{width:160px;height:160px;border-radius:50%;object-fit:cover;border:2px solid var(--amber-600)}
.pb-bio h3{margin:6px 0 2px;font-size:1.4rem}
.pb-bio p{color:var(--ink-300);margin:12px 0 0}
.pb-figure{margin:0}
.pb-figure img{width:100%;height:auto;border-radius:var(--radius-lg);display:block}
.pb-figure figcaption{margin-top:8px;text-align:center}
.pb-signup{text-align:center}
.pb-signup form{justify-content:center;max-width:520px;margin:18px auto 0}
.pb-img-empty{display:grid;place-items:center;min-height:160px;border:1px dashed var(--ink-600);border-radius:var(--radius-lg);color:var(--ink-400);font-size:.9rem;padding:16px;text-align:center}
.pb-bio-ph{width:160px;height:160px;min-height:0;border-radius:50%}
.focus-mode .site-header .wrap{justify-content:center}
.focus-links{display:flex;gap:14px;flex-wrap:wrap}
.focus-links a{color:var(--ink-400)}
@media (max-width:860px){
  .pb-hero.is-split .pb-hero-in{grid-template-columns:1fr}
  .pb-grid.cols-3,.pb-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pb-cohort{grid-template-columns:1fr}
}
@media (max-width:600px){
  .pb-grid.cols-2,.pb-grid.cols-3,.pb-grid.cols-4{grid-template-columns:1fr}
  .pb-bio{grid-template-columns:1fr;text-align:center;justify-items:center}
  .pb-hero .pb-btns .btn{width:100%;justify-content:center}
  .pb-code{font-size:1.35rem;padding:14px 18px}
}
/* in-preview editing affordances */
[data-pb]{outline:1px dashed transparent;outline-offset:3px;border-radius:3px;transition:outline-color .12s}
[data-pb]:hover{outline-color:rgba(227,147,26,.55);cursor:text}
[data-pb]:focus{outline:2px solid var(--amber-500)}
[data-pb]:empty::before{content:"Click to write";color:var(--ink-500);font-style:italic}
[data-pb-block]{position:relative}
[data-pb-block].pb-selected{box-shadow:inset 0 0 0 2px var(--amber-500)}
.pb-hidden{opacity:.35}
.pb-hidden::after{content:"Hidden from visitors";position:absolute;top:8px;right:8px;background:#14120e;color:#f2a93b;font-size:.72rem;padding:3px 8px;border-radius:999px}

/* ==== Page builder editor ==== */
.pb-editor{margin:-8px 0 0}
.pb-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.pb-title{flex:1;min-width:220px;font:800 1.35rem var(--font-display)!important;background:transparent!important;border-color:transparent!important;padding:6px 8px!important}
.pb-title:hover,.pb-title:focus{border-color:var(--ink-600)!important}
.pb-top-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pb-top-tools select{width:auto;padding:7px 10px}
.pb-saved.is-dirty{color:var(--amber-400)}
.pb-split{display:grid;grid-template-columns:400px minmax(0,1fr);gap:16px;align-items:start}
.pb-panel{background:var(--ink-900);border:1px solid var(--ink-700);border-radius:var(--radius-lg);padding:12px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}
.pb-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--ink-700);margin:-2px -2px 12px;padding-bottom:8px}
.pb-tabs button{background:transparent;border:0;color:var(--ink-300);padding:7px 10px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.86rem}
.pb-tabs button.active{background:var(--ink-800);color:var(--ink-50,#faf8f2)}
.pb-hint{margin:0 0 10px}
.pb-list{display:grid;gap:6px}
.pb-ecard{padding:0;border-radius:10px}
.pb-panel .pb-ecard{background:var(--ink-800);border:1px solid var(--ink-700)}
.pb-panel .pb-ecard.is-open{border-color:var(--amber-600)}
.pb-panel .pb-ecard.is-hidden .pb-card-title{opacity:.5}
.pb-card-head{display:flex;align-items:center;gap:4px;padding:4px 6px}
.pb-grip{cursor:grab;color:var(--ink-500);letter-spacing:-3px;padding:6px 4px;user-select:none}
.pb-card-title{flex:1;min-width:0;display:grid;text-align:left;background:transparent;border:0;color:inherit;cursor:pointer;padding:6px 4px}
.pb-card-title b{font-size:.9rem}
.pb-sum{font-size:.78rem;color:var(--ink-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-card-btns{display:flex;gap:1px;opacity:.55}
.pb-ecard:hover .pb-card-btns,.pb-ecard.is-open .pb-card-btns{opacity:1}
.pb-card-btns button,.pb-item-btns button{background:transparent;border:0;color:var(--ink-300);width:26px;height:26px;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:700}
.pb-card-btns button:hover,.pb-item-btns button:hover{background:var(--ink-700);color:var(--ink-50,#faf8f2)}
.pb-card-body{padding:0 12px}
.pb-ecard.is-open .pb-card-body{padding:4px 12px 12px}
.pb-card-body .field{margin-bottom:10px}
.pb-card-body label{font-size:.8rem}
.pb-card-body input,.pb-card-body textarea,.pb-card-body select{font-size:.88rem;padding:8px 10px}
.pb-ecard.dragging{opacity:.4}
.pb-ecard.drop-before{box-shadow:0 -3px 0 var(--amber-500)}
.pb-ecard.drop-after{box-shadow:0 3px 0 var(--amber-500)}
.pb-items{display:grid;gap:8px;margin-bottom:6px}
.pb-item{border:1px solid var(--ink-700);border-radius:8px;padding:8px 10px 2px}
.pb-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:.78rem;color:var(--ink-400)}
.pb-checks-list{display:grid;gap:4px}
.pb-checks-list label{display:flex;gap:8px;align-items:center;font-weight:500;margin:0}
.pb-checks-list input{width:auto;margin:0}
.pb-image{display:flex;gap:10px;align-items:center}
.pb-image.busy{opacity:.5;pointer-events:none}
.pb-thumb{width:96px;height:56px;flex:0 0 96px;border-radius:6px;background:var(--ink-900) center/cover;border:1px solid var(--ink-700);display:grid;place-items:center;font-size:.7rem;color:var(--ink-500)}
.pb-img-btns{display:flex;gap:4px;flex-wrap:wrap}
.pb-add{margin-top:10px;border-style:dashed}
.pb-picker{margin-top:10px;border:1px solid var(--ink-700);border-radius:10px;padding:8px;background:var(--ink-950,#0b0a08)}
.pb-picker-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.pb-picker-grid button{display:grid;gap:2px;text-align:left;background:var(--ink-800);border:1px solid var(--ink-700);border-radius:8px;padding:8px 10px;color:inherit;cursor:pointer}
.pb-picker-grid button:hover{border-color:var(--amber-600)}
.pb-picker-grid b{font-size:.85rem}
.pb-picker-grid span{font-size:.72rem;color:var(--ink-400);line-height:1.3}
.pb-ai{margin:0 10px 10px}
.pb-checks .pb-check-row{display:flex;gap:8px;align-items:center;font-size:.82rem;padding:3px 0}
.pb-check-row i{width:8px;height:8px;border-radius:50%;flex:0 0 8px}
.pb-check-row.ok i{background:var(--ok,#3fb97a)}
.pb-check-row.warn i{background:var(--amber-500)}
.pb-check-row.warn{color:var(--ink-200,#d8d2c2)}
.pb-count{font-weight:500;font-size:.75rem;color:var(--ink-400);margin-left:6px}
.pb-count.ok{color:var(--ok,#3fb97a)}
.pb-count.warn{color:var(--amber-400)}
.pb-serp{margin:4px 0 18px}
.serp{background:#fff;border-radius:10px;padding:14px 16px;font-family:Arial,sans-serif;color:#202124}
.serp-site{display:flex;gap:10px;align-items:center;font-size:12px;color:#4d5156}
.serp-site b{display:block;color:#202124;font-weight:400;font-size:14px}
.serp-fav{width:26px;height:26px;border-radius:50%;background:#f1f3f4 url(/assets/img/favicon-32.png) center/18px no-repeat;flex:0 0 26px}
.serp-title{color:#1a0dab;font-size:19px;line-height:1.3;margin:8px 0 3px}
.serp-desc{font-size:14px;line-height:1.55;color:#4d5156}
.pb-social{margin-top:14px}
.social-card{border:1px solid var(--ink-700);border-radius:10px;overflow:hidden;background:var(--ink-800)}
.social-img{aspect-ratio:1200/630;background:var(--ink-900) center/cover;display:grid;place-items:center;color:var(--ink-500);font-size:.8rem}
.social-body{display:grid;gap:3px;padding:10px 12px}
.pb-slug{display:flex;align-items:center;border:1px solid var(--ink-600);border-radius:var(--radius);overflow:hidden}
.pb-slug span{padding:0 4px 0 10px;color:var(--ink-400);font-size:.8rem;white-space:nowrap}
.pb-slug input{border:0!important;padding-left:2px!important}
.pb-opt{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;font-weight:400}
.pb-opt input{width:auto;margin:3px 0 0}
.pb-opt>span{display:grid;gap:2px}
.pb-rev{padding:6px 0;border-bottom:1px solid var(--ink-800)}
.pb-stage{min-width:0}
.pb-stage-bar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:8px;flex-wrap:wrap}
.seg{display:inline-flex;border:1px solid var(--ink-700);border-radius:9px;overflow:hidden}
.seg button{background:transparent;border:0;color:var(--ink-300);padding:6px 12px;cursor:pointer;font-weight:600;font-size:.84rem}
.seg button.active{background:var(--ink-700);color:var(--ink-50,#faf8f2)}
.pb-frame-wrap{border:1px solid var(--ink-700);border-radius:var(--radius-lg);overflow:hidden;background:#0b0a08;transition:max-width .2s;margin:0 auto}
.pb-frame-wrap.is-phone{max-width:390px}
.pb-frame{display:block;width:100%;height:calc(100vh - 150px);min-height:560px;border:0;background:#0b0a08}
.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.tpl-card{display:grid;gap:6px;align-content:start;border:1px solid var(--ink-700);border-radius:12px;padding:12px;background:var(--ink-800)}
.tpl-card .btn{justify-self:start;margin-top:4px}
.tpl-mini{display:grid;gap:3px;padding:8px;border-radius:8px;background:var(--ink-900);margin-bottom:4px;height:94px;align-content:start;overflow:hidden}
.tpl-mini i{display:block;height:8px;border-radius:3px;background:var(--ink-700)}
.tpl-mini .tm-hero{height:22px;background:linear-gradient(90deg,var(--amber-600) 40%,var(--ink-700) 40%)}
.tpl-mini .tm-cta{background:var(--amber-500)}
.tpl-mini .tm-plans,.tpl-mini .tm-cohort,.tpl-mini .tm-deal{height:14px;background:repeating-linear-gradient(90deg,var(--ink-600) 0 30%,transparent 30% 35%)}
html[data-theme="light"] .pb-panel,html[data-theme="light"] .tpl-card{background:#fff;border-color:#e3dcc6}
html[data-theme="light"] .pb-panel .pb-ecard{background:#faf8f2;border-color:#e3dcc6}
html[data-theme="light"] .pb-picker{background:#faf8f2;border-color:#e3dcc6}
html[data-theme="light"] .pb-picker-grid button{background:#fff;border-color:#e3dcc6}
html[data-theme="light"] .tpl-mini{background:#f4efe1}
html[data-theme="light"] .pb-tabs button.active,html[data-theme="light"] .seg button.active{background:#f4efe1;color:#14120e}
@media (max-width:1100px){
  .pb-split{grid-template-columns:1fr}
  .pb-panel{position:static;max-height:none}
  .pb-frame{height:70vh}
}
.pb-top-tools select{font-size:.85rem;min-width:92px}

/* ==== Build Journal and recipes (fix 17) ==== */
.je-filter{gap:8px;margin:0 0 14px;flex-wrap:wrap}
.je-filter input[type=search]{max-width:340px}
.je-filter select{width:auto}
.je-list{display:grid;gap:10px}
.je-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:16px;align-items:center;padding:12px;color:inherit;text-decoration:none;transition:border-color .15s}
.je-row:hover{border-color:var(--amber-600)}
.je-thumb{width:96px;height:64px;border-radius:8px;background:var(--ink-800) center/cover;border:1px solid var(--ink-700)}
.je-thumb-empty{background:repeating-linear-gradient(135deg,var(--ink-800) 0 8px,var(--ink-900) 8px 16px)}
.je-row-body{display:grid;gap:4px;min-width:0}
.je-snip{color:var(--ink-300);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.je-flags{display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.je-empty{max-width:720px}
.je-recipe{display:grid;gap:6px;color:inherit;text-decoration:none;align-content:start}
.je-recipe:hover{border-color:var(--amber-600)}
.je-recipe-img{aspect-ratio:1200/630;border-radius:8px;background:var(--ink-800) center/cover;margin-bottom:6px}
.je-sec{margin:0 0 28px}
.je-sec h2{font-size:1.25rem;margin:0 0 12px}
.je-text{color:var(--ink-200,#d8d2c2);line-height:1.65}
.je-links{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}
.je-shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:0 0 26px}
.je-shots img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px;border:1px solid var(--ink-700);display:block}
.je-prompt{border:1px solid var(--ink-700);border-radius:12px;padding:12px;margin-bottom:12px;background:var(--ink-900)}
.je-prompt-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.je-prompt pre{white-space:pre-wrap;word-break:break-word;margin:0;max-height:360px;overflow:auto;font-size:.86rem}
.je-prompt p{margin:8px 0 0}
.je-fix{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:1px solid var(--ink-700);border-radius:12px;padding:14px;margin-bottom:10px}
.je-fix p{margin:6px 0 0;color:var(--ink-200,#d8d2c2)}
.je-tag{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:999px}
.je-tag.broke{background:rgba(229,72,77,.15);color:#ff8f8f}
.je-tag.fixed{background:rgba(63,185,122,.15);color:#6fd6a3}
.je-note{margin:0 0 18px}
.je-share{display:flex;gap:6px;margin-bottom:8px}
.je-share input{font-size:.8rem;padding:7px 9px}
.je-rows{display:grid;gap:12px;margin-bottom:10px}
.je-rowedit{display:grid;gap:8px;border:1px solid var(--ink-700);border-radius:12px;padding:12px}
.je-rowedit select{width:auto}
.mono-area{font-family:var(--font-mono,Consolas,Menlo,monospace);font-size:.86rem}
.je-shots-edit{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.je-shot-keep{display:grid;gap:4px;font-weight:500;font-size:.82rem;margin:0}
.je-shot-keep img{width:120px;height:76px;object-fit:cover;border-radius:8px;border:1px solid var(--ink-700)}
.je-shot-keep input{width:auto}
.je-locked{position:relative;overflow:hidden}
.je-teaser{max-height:340px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent)}
.je-lock{text-align:center;max-width:520px;margin:-40px auto 10px;position:relative}
html[data-theme="light"] .je-prompt{background:#fff}
html[data-theme="light"] .je-tag.broke{color:#b3261e}
html[data-theme="light"] .je-tag.fixed{color:#1d7a4c}
@media (max-width:860px){.je-layout{grid-template-columns:1fr!important}}
@media (max-width:640px){.je-row{grid-template-columns:64px minmax(0,1fr)}.je-thumb{width:64px;height:48px}.je-flags{grid-column:1/-1;flex-direction:row;align-items:center}.je-fix{grid-template-columns:1fr}}

/* ==== Recipes library, compact (fix 18) ==== */
.rc-tools{display:grid;gap:10px;margin:0 0 20px}
.rc-tools input[type=search]{max-width:420px}
.rc-chips{display:flex;gap:6px;flex-wrap:wrap}
.rc-chips button{border:1px solid var(--ink-700);background:transparent;color:inherit;border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:600;cursor:pointer}
.rc-chips button span{opacity:.6;font-weight:500;margin-left:2px}
.rc-chips button.active{background:var(--amber-500);border-color:var(--amber-500);color:#14120e}
.rc-group{margin:0 0 26px}
.rc-group-h{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-400);margin:0 0 10px}
.rc-group-h span{font-weight:500;letter-spacing:0}
.rc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:10px}
.rc-tile{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;row-gap:8px;align-items:start;padding:14px;border:1px solid var(--ink-700);border-radius:12px;background:var(--ink-900);color:inherit;text-decoration:none!important;transition:border-color .15s,transform .15s}
.rc-tile:hover{border-color:var(--amber-600);transform:translateY(-1px)}
.rc-tile:focus-visible{outline:2px solid var(--amber-500);outline-offset:2px}
.rc-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:rgba(227,147,26,.12);color:var(--amber-400)}
.rc-icon .ico{width:22px;height:22px}
.rc-icon-sm{width:32px;height:32px;border-radius:8px}
.rc-icon-sm .ico{width:18px;height:18px}
.rc-body{display:grid;gap:3px;min-width:0}
.rc-body b{font-size:.98rem;line-height:1.3}
.rc-sum{font-size:.84rem;color:var(--ink-300);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rc-meta{grid-column:2;display:flex;gap:6px}
.rc-cover{height:140px;border-radius:var(--radius-lg);background:var(--ink-800) center/cover;margin:0 0 18px;border:1px solid var(--ink-700)}
.rc-icon-pick{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.rc-icon-pick label{margin:0;cursor:pointer}
.rc-icon-pick input{position:absolute;opacity:0;pointer-events:none}
.rc-icon-pick .rc-icon{width:100%;aspect-ratio:1;height:auto;border:1px solid transparent}
.rc-icon-pick input:checked+.rc-icon{border-color:var(--amber-500);background:rgba(227,147,26,.25)}
.rc-icon-pick input:focus-visible+.rc-icon{outline:2px solid var(--amber-500)}
html[data-theme="light"] .rc-tile{background:#fff;border-color:#e3dcc6}
html[data-theme="light"] .rc-tile:hover{border-color:#c98a1b}
html[data-theme="light"] .rc-icon{background:#f7ead2;color:#9a5d08}
html[data-theme="light"] .rc-sum{color:#5b5543}
html[data-theme="light"] .rc-group-h{color:#9a5d08}
html[data-theme="light"] .rc-chips button{border-color:#e3dcc6}
@media (max-width:640px){.rc-grid{grid-template-columns:1fr}.rc-cover{height:96px}}

/* ==== Podcast and live rooms (fix 19) ==== */
.cal-item.room{border-left-color:#2dd4bf} .cal-key.room{background:#2dd4bf}
.cal-item.episode{border-left-color:#f472b6} .cal-key.episode{background:#f472b6}
.agenda-item.room{border-left-color:#2dd4bf} .agenda-item.episode{border-left-color:#f472b6}
.pod-hero-in{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(20px,4vw,44px);align-items:center}
.pod-hero-art{aspect-ratio:1;border-radius:18px;background:linear-gradient(135deg,#2a261d,#14120e) center/cover;border:1px solid var(--ink-700);display:grid;place-items:center;color:var(--amber-400);box-shadow:0 20px 40px rgba(0,0,0,.35)}
.pod-mic{width:72px!important;height:72px!important}
.pod-subs{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.side-block .pod-subs{margin-top:8px}
.pod-list{display:grid;gap:10px}
.pod-ep{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center;padding:12px;border:1px solid var(--ink-700);border-radius:14px;background:var(--ink-900);color:inherit;text-decoration:none!important;transition:border-color .15s}
.pod-ep:hover{border-color:var(--amber-600)}
.pod-ep-cover{width:96px;aspect-ratio:1;border-radius:10px;background:var(--ink-800) center/cover;display:grid;place-items:center;color:var(--amber-400)}
.pod-ep-body{display:grid;gap:5px;min-width:0}
.pod-ep-body b{font-size:1.05rem}
.pod-ep-meta{color:var(--amber-400);font-weight:600}
.pod-ep-sum{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pod-latest .pod-ep{grid-template-columns:160px minmax(0,1fr);padding:16px;border-color:var(--amber-600)}
.pod-latest .pod-ep-cover{width:160px}
.pod-rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:12px}
.pod-room{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:start}
.pod-room-when{display:grid;place-items:center;border:1px solid #2dd4bf;border-radius:12px;padding:8px 0;color:#2dd4bf}
.pod-room-when b{font:800 1.05rem var(--font-display)}
.pod-room-when span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
.pod-room-body h3{margin:8px 0 4px;font-size:1.08rem}
.pod-room-body p{margin:0 0 8px}
.pod-room-actions{gap:8px;flex-wrap:wrap;margin-top:6px}
.pod-rsvp{display:flex;gap:6px;flex-wrap:wrap}
.pod-rsvp input[type=email]{width:200px;padding:7px 10px;font-size:16px;margin:0}
.pod-player{border:1px solid var(--ink-700);border-radius:16px;padding:14px;background:var(--ink-900)}
.pod-tabs{margin-bottom:12px}
.pod-audio{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:center}
.pod-audio-cover{width:72px;aspect-ratio:1;border-radius:10px;background:var(--ink-800) center/cover}
.pod-audio audio{width:100%}
.pod-chapters{display:grid;gap:2px;margin-top:14px;border-top:1px solid var(--ink-800);padding-top:10px}
.pod-chapters button,.pod-ts{background:transparent;border:0;color:inherit;text-align:left;padding:6px 8px;border-radius:8px;cursor:pointer;font:inherit;font-size:.92rem}
.pod-chapters button:hover{background:var(--ink-800)}
.pod-chapters button span,.pod-ts{font-family:var(--font-mono,Consolas,monospace);color:var(--amber-400);margin-right:10px;font-size:.84rem}
.pod-ts{padding:0;margin:0 6px 0 0}
.pod-ts:hover{text-decoration:underline}
.pod-tools{margin:26px 0}
.pod-tools h3{font-size:1.05rem;margin:0 0 8px}
.pod-guest img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:0 0 64px}
.pod-transcript{margin-top:24px;border:1px solid var(--ink-700);border-radius:12px;padding:12px 14px}
.pod-transcript summary{cursor:pointer;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.pod-transcript-body{max-height:520px;overflow:auto;margin-top:10px;font-size:.94rem;line-height:1.6}
.pod-transcript-body p{margin:0 0 8px}
.pod-locked{border-color:var(--amber-600)}
html[data-theme="light"] .pod-ep,html[data-theme="light"] .pod-player{background:#fff;border-color:#e3dcc6}
@media (max-width:760px){.pod-hero-in{grid-template-columns:1fr}.pod-hero-art{width:160px}.pod-latest .pod-ep{grid-template-columns:96px minmax(0,1fr)}.pod-latest .pod-ep-cover{width:96px}}
@media (max-width:520px){.pod-ep{grid-template-columns:72px minmax(0,1fr);gap:12px}.pod-ep-cover,.pod-latest .pod-ep-cover{width:72px}.pod-latest .pod-ep{grid-template-columns:72px minmax(0,1fr)}.pod-rooms{grid-template-columns:1fr}.pod-room{grid-template-columns:52px minmax(0,1fr);gap:12px}.pod-rsvp input[type=email]{width:100%}.pod-audio{grid-template-columns:1fr}.pod-audio-cover{display:none}}
@media (max-width:560px){.cal-item.room{background:#2dd4bf}.cal-item.episode{background:#f472b6}}

/* ==== Recipe store (fix 21) ==== */
.rc-bundles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:10px;margin:0 0 22px}
.rc-bundle{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--amber-600);border-radius:12px;background:linear-gradient(135deg,rgba(227,147,26,.1),transparent 60%),var(--ink-900);color:inherit;text-decoration:none!important}
.rc-bundle .eyebrow{font-size:.68rem}
.rc-buy{border-color:var(--amber-600)}
.rc-price{font:800 2.4rem var(--font-display);line-height:1;margin:6px 0 4px}
.rc-incl{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:6px;font-size:.9rem}
.rc-incl li{position:relative;padding-left:22px}
.rc-incl li::before{content:"";position:absolute;left:2px;top:6px;width:10px;height:6px;border-left:2px solid var(--amber-400);border-bottom:2px solid var(--amber-400);transform:rotate(-45deg)}
.rc-bundle-mini{display:grid;gap:4px;color:inherit;text-decoration:none!important}
.rc-bundle-mini:hover,.rc-bundle:hover{border-color:var(--amber-500)}
.rc-meta .small{align-self:center}
html[data-theme="light"] .rc-bundle{background:linear-gradient(135deg,#fbecd2,#fff 60%);border-color:#d9a74c}
@media (max-width:860px){.rc-sale{grid-template-columns:1fr!important}}
@media (max-width:400px){.rc-bundle{grid-template-columns:36px minmax(0,1fr);}.rc-bundle .pill{grid-column:2;justify-self:start}.rc-bundle .rc-icon{width:36px;height:36px}}

/* Member page: Comp access */
.comp-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:4px 14px;align-items:end}
.comp-form [hidden]{display:none!important}
.comp-form .field{margin:0}
.comp-form .comp-note{grid-column:1/-1}
.comp-form .check{display:flex;gap:8px;align-items:center;cursor:pointer;padding:8px 0}
.comp-form .check input{width:auto}
.comp-form .btn{justify-self:start}
.je-thumb-icon{display:grid;place-items:center;background:rgba(227,147,26,.10);border-color:rgba(227,147,26,.25);color:var(--amber-400)}
.je-thumb-icon .ico{width:26px;height:26px}
@media (max-width:640px){.je-thumb-icon .ico{width:22px;height:22px}}
.bare-open{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;margin-top:18px}

/* Launch check */
.lc-meter{height:10px;border-radius:99px;background:var(--ink-800);overflow:hidden}
.lc-meter span{display:block;height:100%;background:var(--amber-500);border-radius:99px}
.lc-counts{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:12px;font-size:.92rem}
.lc-counts b{font-size:1.15rem;margin-right:4px}
.lc-list{list-style:none;margin:10px 0 0;padding:0}
.lc-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-top:1px dashed var(--ink-800)}
.lc-item:first-child{border-top:0}
.lc-text{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}
.lc-dot{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-weight:700;font-size:.8rem}
.lc-ok .lc-dot{background:rgba(46,160,90,.15);color:var(--ok)}
.lc-todo .lc-dot{background:rgba(214,69,69,.15);color:var(--err)}
.lc-warn .lc-dot{background:rgba(227,147,26,.15);color:var(--amber-400)}
@media (max-width:640px){.lc-item{grid-template-columns:28px minmax(0,1fr)}.lc-item .btn{grid-column:2;justify-self:start}}
.err-links{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;margin-top:22px}
.rd-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:4px 14px;align-items:start}
.rd-form .row{grid-column:1/-1}
.contact-member{display:flex;gap:16px;align-items:center;justify-content:space-between;border-color:rgba(227,147,26,.35)}
@media (max-width:560px){.contact-member{flex-direction:column;align-items:flex-start}}
h1.auth-title{font-size:clamp(1.5rem,3vw,2.2rem)}

/* Cookie consent banner */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:720px;margin:0 auto;background:var(--ink-900);color:var(--ink-100);border:1px solid var(--ink-700);border-radius:14px;padding:16px 18px;box-shadow:0 18px 50px rgba(0,0,0,.45);display:grid;gap:12px}
.consent[hidden]{display:none}
.consent-title{font-weight:700;margin:0 0 4px}
.consent-desc{margin:0;color:var(--ink-300)}
.consent-desc a{color:var(--amber-400)}
.consent-gpc{margin:6px 0 0}
.consent-prefs{display:grid;gap:4px;border-top:1px dashed var(--ink-700);padding-top:10px}
.consent-prefs[hidden]{display:none}
.consent-row{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;margin:0;padding:6px 0;cursor:pointer;font-weight:400}
.consent-row input{width:auto;margin-top:3px}
.consent-row span{display:flex;flex-direction:column;gap:2px}
.consent-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.consent-actions [hidden]{display:none}
.linkbtn{background:none;border:0;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}
@media (max-width:560px){.consent{left:10px;right:10px;bottom:10px;padding:14px}.consent-actions .btn{flex:1 1 calc(50% - 4px);justify-content:center}}
.danger-card{border-color:rgba(214,69,69,.35)}
.rich-bar button:first-child::after{left:0;transform:none}
.rich-bar .rich-html-btn::after{left:auto;right:0;transform:none}

/* Admin calendar event card */
.ev-card{width:min(440px,calc(100vw - 32px));padding:0;border:1px solid var(--ink-700);border-radius:14px;background:var(--ink-900);color:var(--ink-100);overflow:hidden}
.ev-card::backdrop{background:rgba(0,0,0,.45)}
.ev-bar{height:6px}
.ev-body{padding:16px 18px 18px}
.ev-x{width:34px;height:34px;padding:0;justify-content:center;font-size:1.2rem;flex:0 0 auto}
.ev-facts{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.ev-facts li{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start;font-size:.92rem;overflow-wrap:anywhere}
.ev-facts li[hidden]{display:none}
.ev-ico{color:var(--ink-400);text-align:center}
.ev-slots{display:grid;gap:6px;margin-top:12px}
.ev-slots[hidden]{display:none}
.ev-slot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;border:1px solid var(--ink-700);border-radius:8px;margin:0}
.ev-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.ev-actions form{margin:0}
.ev-actions [hidden]{display:none}
.cal-item.is-past{opacity:.6}

/* Conversion review (fix 33) */
.hero-sub{margin:14px 0 0}
.hero-sub a{color:var(--amber-400)}
.hero-seats{color:var(--amber-300)}
.cards-3.cards-2{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}
.plan-guarantee{font-size:.82rem;color:var(--ink-300);text-align:center;margin:12px 0 0}
.plan-guarantee span{color:var(--ok);font-weight:700;margin-right:4px}
.fit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:14px;margin:8px 0 6px}
.fit{border:1px solid var(--ink-700);border-radius:12px;padding:14px 16px}
.fit h3{font-size:1rem;margin:0 0 8px}
.fit ul{margin:0;padding-left:18px}
.fit.yes{border-color:rgba(47,158,106,.4)}
.fit.no{border-color:rgba(214,69,69,.3)}
.teacher{display:flex;gap:14px;align-items:center;margin:6px 0 16px}
.teacher-photo{width:56px;height:56px;border-radius:50%;overflow:hidden;flex:0 0 56px;display:grid;place-items:center;background:var(--ink-800);font-weight:700;color:var(--amber-400)}
.teacher-photo img{width:100%;height:100%;object-fit:cover}
.cohort-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:28px;padding:16px 18px;border:1px solid var(--amber-600);border-radius:12px;background:rgba(227,147,26,.06)}
.signup-step{font-size:.88rem;padding:10px 12px;border:1px solid var(--amber-600);border-radius:10px;background:rgba(227,147,26,.08);margin-bottom:16px}
.signup-points{list-style:none;padding:0;margin:4px 0 18px;display:grid;gap:6px;font-size:.92rem}
.signup-points li{padding-left:24px;position:relative}
.signup-points li::before{content:"\2713";position:absolute;left:0;color:var(--ok);font-weight:700}
.signup-proof{text-align:center;margin-top:6px}
.gs-list{list-style:none;margin:10px 0 0;padding:0;counter-reset:gs}
.gs-list li{counter-increment:gs;display:grid;grid-template-columns:30px 1fr auto;gap:2px 12px;align-items:center;padding:10px 0;border-top:1px dashed var(--ink-800)}
.gs-list li::before{content:counter(gs);grid-row:span 2;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.8rem;background:var(--ink-800);color:var(--ink-200)}
.gs-list li.done::before{content:"\2713";background:rgba(47,158,106,.18);color:var(--ok)}
.gs-list li.done b{text-decoration:line-through;color:var(--ink-400)}
.gs-list li b{grid-column:2}
.gs-list li .small{grid-column:2}
.gs-list li .btn{grid-column:3;grid-row:1 / span 2}
@media (max-width:560px){.gs-list li{grid-template-columns:30px 1fr}.gs-list li .btn{grid-column:2;grid-row:auto;justify-self:start;margin-top:6px}}
.upsell-card{margin-top:22px;max-width:640px;border-color:var(--amber-600);background:rgba(227,147,26,.06)}
.plan-guarantee a{color:inherit;text-decoration:underline dotted;text-underline-offset:3px}
.guarantee-box{border:1px solid var(--ink-700);border-radius:10px;padding:10px 12px;margin:10px 0;display:grid;gap:4px}
.guarantee-box.ok{border-color:rgba(47,158,106,.5);background:rgba(47,158,106,.06)}
.guarantee-box ul{list-style:none;margin:4px 0;padding:0;display:grid;gap:3px}
.guarantee-box li::before{display:inline-block;width:18px;font-weight:700}
.guarantee-box li.yes::before{content:"\2713";color:var(--ok)}
.guarantee-box li.no::before{content:"\2715";color:var(--err)}

/* Academy (fix 35) */
.ac-hero h1{max-width:820px}
.ac-search{display:flex;gap:8px;max-width:640px;margin-top:18px}
.ac-search input{flex:1;min-width:0}
.ac-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:16px}
.ac-cat{scroll-margin-top:90px}
.ac-cat-title{font-size:1.15rem;margin:0}
.ac-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:2px}
.ac-list a{display:block;padding:7px 0;border-top:1px dashed var(--ink-800);color:var(--ink-100)}
.ac-list a:hover{color:var(--amber-400)}
.ac-results{display:grid;gap:10px;margin-top:14px}
.ac-result{display:grid;gap:3px;color:var(--ink-100);text-decoration:none}
.ac-result:hover b{color:var(--amber-400)}
.ac-help{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:22px}
.ac-crumbs{margin-bottom:14px}
.ac-crumbs a{color:var(--ink-300)}
.ac-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:36px;align-items:start}
.ac-article h1{margin-bottom:10px}
.ac-body{margin-top:18px}
.ac-body h2{scroll-margin-top:90px;margin-top:1.6em}
.ac-side{position:sticky;top:24px;display:grid;gap:18px}
.ac-toc ul,.ac-related ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.ac-toc a,.ac-related a{font-size:.9rem;color:var(--ink-300)}
.ac-toc a:hover,.ac-related a:hover{color:var(--amber-400)}
.ac-vote{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:28px 0 10px}
.ac-vote [hidden]{display:none}
.recipe-credit{margin:6px 0 0;color:var(--amber-300)}
.review-panel.review-submitted{border-color:var(--amber-600)}
@media (max-width:900px){.ac-layout{grid-template-columns:1fr}.ac-side{position:static}}
.tour-shade{position:fixed;inset:0;z-index:95;pointer-events:none}
.tour-shade.dim{background:rgba(0,0,0,.45);pointer-events:auto}
.tour-ring{position:fixed;z-index:96;border-radius:10px;box-shadow:0 0 0 3px var(--amber-500),0 0 0 9999px rgba(0,0,0,.5);pointer-events:none;transition:all .2s}
.tour-pop{position:fixed;z-index:97;width:min(340px,calc(100vw - 24px));background:var(--ink-900);color:var(--ink-100);border:1px solid var(--ink-700);border-radius:14px;padding:16px 18px;box-shadow:0 18px 50px rgba(0,0,0,.5)}
.tour-pop.center{left:50%!important;top:50%!important;transform:translate(-50%,-50%)}
.tour-pop h3{margin:4px 0 6px}
.tour-pop p{margin:0 0 14px;color:var(--ink-300);font-size:.95rem}
.tour-btns{display:flex;gap:8px;align-items:center}
.tour-btns span{flex:1}
.tour-btns [hidden]{display:none}

/* AI help */
.ai-page{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}
.ai-page.no-list{grid-template-columns:minmax(0,1fr);max-width:860px}
.ai-list{padding:12px;max-height:calc(100vh - 160px);overflow:auto;position:sticky;top:16px}
.ai-list-row{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:8px;color:var(--ink-100);text-decoration:none}
.ai-list-row .t{font-size:.92rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ai-list-row:hover{background:var(--ink-800);text-decoration:none}
.ai-list-row.active{background:var(--ink-800);box-shadow:inset 3px 0 0 var(--amber-500)}
.ai-main{padding:0;overflow:hidden}
.ai-main > .row{padding:0 18px 14px}
.ai-chat{display:flex;flex-direction:column;min-height:0}
.ai-page .ai-chat{height:calc(100vh - 220px);min-height:440px}
.ai-chat.ai-admin{height:auto;padding:0}
.ai-chat.ai-locked{padding:28px 22px}
.ai-ctx{display:flex;align-items:center;gap:6px;padding:8px 16px;border-bottom:1px solid var(--ink-700);font-size:.86rem;background:var(--ink-800)}
.ai-ctx[hidden]{display:none}
.ai-ctx b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ai-x{margin-left:auto;background:none;border:0;color:var(--ink-300);font-size:1.3rem;line-height:1;cursor:pointer;padding:2px 6px;border-radius:6px}
.ai-x:hover{background:var(--ink-700);color:var(--ink-100)}
.ai-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px;min-height:0}
.ai-chat.ai-admin .ai-log{overflow:visible}
.ai-empty p{margin:0 0 12px}
.ai-suggest{display:flex;flex-wrap:wrap;gap:8px}
.ai-chip{background:var(--ink-800);border:1px solid var(--ink-600);color:var(--ink-100);border-radius:999px;padding:6px 12px;font:inherit;font-size:.85rem;cursor:pointer}
.ai-chip:hover{border-color:var(--amber-500);color:var(--amber-300)}
.ai-msg{display:flex;flex-direction:column;max-width:100%}
.ai-user{align-items:flex-end}
.ai-user .ai-bubble{background:var(--amber-500);color:#14120e;border-radius:14px 14px 4px 14px;padding:9px 13px;max-width:85%;white-space:normal;overflow-wrap:anywhere}
.ai-bot .ai-bubble{background:var(--ink-800);border:1px solid var(--ink-700);border-radius:14px 14px 14px 4px;padding:10px 14px;max-width:100%;overflow-wrap:anywhere}
.ai-bot .ai-bubble.prose p{margin:0 0 .6em}.ai-bot .ai-bubble.prose p:last-child{margin-bottom:0}
.ai-bot .ai-bubble.prose ol,.ai-bot .ai-bubble.prose ul{margin:.2em 0 .7em;padding-left:1.3em}
.ai-bot .ai-bubble.prose li{margin:.2em 0}
.ai-bot .ai-bubble code{font-family:var(--font-mono);font-size:.86em;background:var(--ink-900);padding:1px 5px;border-radius:5px}
.ai-code{position:relative;margin:.4em 0 .8em}
.ai-code pre{margin:0;background:var(--ink-950);border:1px solid var(--ink-700);border-radius:8px;padding:12px 64px 12px 14px;overflow-x:auto;font-size:.84rem;line-height:1.5;white-space:pre-wrap}
.ai-bot .ai-code pre code{background:none;padding:0;font-size:inherit}
.ai-copy{position:absolute;top:6px;right:6px;background:var(--ink-800);border:1px solid var(--ink-600);color:var(--ink-200);border-radius:6px;font-size:.75rem;padding:3px 8px;cursor:pointer}
.ai-copy:hover{color:var(--amber-300)}
.ai-err .ai-bubble{background:rgba(214,69,69,.12);border:1px solid rgba(214,69,69,.4);border-radius:12px;padding:9px 13px;font-size:.92rem}
.ai-sources{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-top:6px;font-size:.8rem}
.ai-sources span{color:var(--ink-400)}
.ai-rate{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:.82rem;color:var(--ink-300)}
.ai-rate button{background:none;border:1px solid var(--ink-600);color:var(--ink-200);border-radius:999px;padding:2px 10px;font:inherit;font-size:.8rem;cursor:pointer}
.ai-rate button:hover{border-color:var(--amber-500);color:var(--amber-300)}
.ai-when{margin-top:4px}
.ai-dots{display:inline-flex;gap:3px;margin-right:6px;vertical-align:middle}
.ai-dots i{width:6px;height:6px;border-radius:50%;background:var(--amber-400);animation:aiDot 1.2s infinite ease-in-out}
.ai-dots i:nth-child(2){animation-delay:.15s}.ai-dots i:nth-child(3){animation-delay:.3s}
@keyframes aiDot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.ai-dots i{animation:none;opacity:.7}}
.ai-wait .ai-bubble{color:var(--ink-300);font-size:.9rem}
.ai-form{display:flex;gap:8px;padding:12px 16px 6px;border-top:1px solid var(--ink-700);align-items:flex-end}
.ai-form textarea{flex:1;min-height:44px;max-height:180px;resize:vertical;margin:0}
.ai-form .btn{flex-shrink:0}
.ai-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:0 16px;font-size:.8rem;color:var(--ink-400)}
.ai-link{background:none;border:0;padding:0;color:var(--amber-400);font:inherit;font-size:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.ai-link:hover{color:var(--amber-300)}
.ai-link:disabled{opacity:.6;cursor:default}
.ai-notice{margin:6px 16px 12px;font-size:.75rem;color:var(--ink-400);line-height:1.4}
.ai-launch{position:fixed;right:20px;bottom:20px;z-index:60;display:inline-flex;align-items:center;gap:8px;background:var(--amber-500);color:#14120e;border:0;border-radius:999px;padding:11px 16px 11px 13px;font:inherit;font-weight:600;font-size:.92rem;box-shadow:0 10px 28px rgba(0,0,0,.35);cursor:pointer}
.ai-launch:hover{background:var(--amber-400)}
.ai-launch[hidden]{display:none}
.ai-panel{position:fixed;right:20px;bottom:20px;z-index:61;width:min(420px,calc(100vw - 24px));height:min(640px,calc(100vh - 40px));background:var(--ink-900);border:1px solid var(--ink-700);border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.5);display:flex;flex-direction:column;overflow:hidden}
.ai-panel[hidden]{display:none}
.ai-panel-head{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--ink-700)}
.ai-panel-head .grow{flex:1}
.ai-panel-head .ai-x{margin-left:0}
.ai-panel .ai-chat{flex:1;min-height:0}
.ai-inline{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:22px 0 0;border:1px solid var(--ink-700);border-radius:12px;background:var(--ink-900)}
.ai-inline > div{flex:1;min-width:0}
.ai-inline-ico{color:var(--amber-400);display:flex}
aside .ai-inline{margin:0;flex-wrap:wrap}
aside .ai-inline .btn{width:100%}
@media (max-width:860px){.ai-page{grid-template-columns:minmax(0,1fr)}.ai-list{position:static;max-height:240px;order:2}.ai-page .ai-chat{height:calc(100vh - 200px);min-height:420px}}
@media (max-width:560px){.ai-panel{right:0;bottom:0;width:100vw;height:100%;max-height:100dvh;border-radius:0;border:0}.ai-launch{right:14px;bottom:14px;padding:12px}.ai-launch span{display:none}body.ai-open{overflow:hidden}.ai-inline{flex-wrap:wrap}.ai-inline .btn{width:100%}}
.slot-kind{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--amber-500);color:#14120e;border-radius:4px;padding:0 5px;margin-right:2px;vertical-align:1px}
/* Have us build it */
.hire-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:center}
.hire-price .hire-from,.hire-from{font:800 1.9rem/1.15 var(--font-display);color:var(--amber-300);margin:6px 0 10px}
.hire-price .checks li{border:0;padding:4px 0 4px 24px}
.hire-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:20px}
.slot-pick{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--ink-600);border-radius:999px;cursor:pointer;font-size:.92rem}
.slot-pick:has(input:checked){border-color:var(--amber-500);background:rgba(227,147,26,.12);color:var(--amber-300)}
.slot-pick input{accent-color:var(--amber-500);margin:0}
@media (max-width:860px){.hire-hero{grid-template-columns:1fr;gap:24px}}
.consult-pay{padding:10px 0;border-top:1px solid var(--ink-800)}
.consult-pay:first-of-type{border-top:0}
.consult-pay.canceled{opacity:.55}
/* Admin breadcrumbs */
.admin-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.84rem;color:var(--ink-400);margin:0 0 10px}
.admin-crumbs a{color:var(--ink-300);text-decoration:none}
.admin-crumbs a:hover{color:var(--amber-300);text-decoration:underline}
.admin-crumbs > span[aria-hidden]{color:var(--ink-600)}
.admin-crumbs [aria-current]{color:var(--ink-100);font-weight:500}

/* Recipe "What you'll build" gallery */
.rg{margin-bottom:16px}
.rg-video{margin-top:14px}
.rg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:14px}
.rg-item{margin:0}
.rg-open{display:block;position:relative;width:100%;aspect-ratio:16/10;padding:0;border:1px solid var(--ink-700);border-radius:10px;overflow:hidden;background:var(--ink-800);cursor:zoom-in}
.rg-open img,.rg-open video{width:100%;height:100%;object-fit:cover;display:block}
.rg-open:hover{border-color:var(--amber-500)}
.rg-play{position:absolute;inset:0;display:grid;place-items:center;font-size:1.6rem;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.rg-item figcaption{font-size:.84rem;color:var(--ink-300);margin-top:6px;line-height:1.35}
.rg-box{position:fixed;inset:0;z-index:95;background:rgba(5,4,3,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 64px 24px}
.rg-box[hidden]{display:none}
.rg-box img,.rg-box video{max-width:100%;max-height:calc(100vh - 140px);border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.rg-box .rg-cap{color:#ddd6c4;margin-top:12px;text-align:center;font-size:.95rem;max-width:760px}
.rg-box .rg-count{position:absolute;top:18px;left:20px;color:#8a8268;font-size:.85rem}
.rg-box button{position:absolute;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:999px;width:44px;height:44px;font-size:1.3rem;cursor:pointer;display:grid;place-items:center}
.rg-box button:hover{background:rgba(227,147,26,.3)}
.rg-box .rg-x{top:14px;right:16px}
.rg-box .rg-prev{left:12px;top:50%;transform:translateY(-50%)}
.rg-box .rg-next{right:12px;top:50%;transform:translateY(-50%)}
@media (max-width:640px){.rg-box{padding:56px 10px 20px}.rg-box .rg-prev,.rg-box .rg-next{top:auto;bottom:14px;transform:none}.rg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.rg-admin{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.rg-admin-item{border:1px solid var(--ink-700);border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:8px}
.rg-admin-item input[type=text]{margin:0;font-size:.85rem}
.rg-thumb{position:relative;aspect-ratio:16/10;border-radius:6px;overflow:hidden;background:var(--ink-800)}
.rg-thumb img,.rg-thumb video{width:100%;height:100%;object-fit:cover}
.rg-thumb .pill{position:absolute;top:6px;left:6px}
/* Read to me player and lesson transcripts (fix 45) */
.listen{display:flex;align-items:center;gap:12px;background:var(--ink-900);border:1px solid var(--ink-700);border-radius:var(--radius-lg);padding:10px 14px;margin:0 0 18px;max-width:640px}
.listen-btn{flex:none;width:40px;height:40px;border-radius:50%;border:0;background:var(--amber-500);color:var(--ink-950);display:grid;place-items:center;cursor:pointer}
.listen-btn:hover{background:var(--amber-400)}
.listen-btn:focus-visible,.listen-rate:focus-visible{outline:2px solid var(--amber-300);outline-offset:2px}
.listen .i-pause{display:none}.listen.playing .i-pause{display:block}.listen.playing .i-play{display:none}
.listen-main{flex:1;min-width:0}
.listen-label{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.listen-bar{width:100%;height:4px;margin:8px 0 2px;accent-color:var(--amber-500);cursor:pointer}
.listen-rate{flex:none;background:transparent;border:1px solid var(--ink-600);color:var(--ink-200);border-radius:999px;padding:4px 10px;cursor:pointer;min-width:52px}
.listen-rate:hover{border-color:var(--amber-400);color:var(--amber-300)}
.transcript{margin:18px 0;padding:0}
.transcript summary{cursor:pointer;padding:16px 22px;list-style:none;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.transcript summary::-webkit-details-marker{display:none}
.transcript summary::before{content:"\25B8";color:var(--amber-400);transition:transform .15s}
.transcript[open] summary::before{transform:rotate(90deg)}
.transcript-body{padding:0 22px 18px;max-height:480px;overflow:auto;line-height:1.65}
.transcript-body p{margin:0 0 12px}
.transcript .ts{font-family:var(--font-mono);font-size:.8rem;color:var(--amber-300);background:var(--ink-800);border:1px solid var(--ink-700);border-radius:6px;padding:1px 6px;margin-right:6px}
.transcript button.ts{cursor:pointer}.transcript button.ts:hover{border-color:var(--amber-400)}
.transcript p.now{background:rgba(227,147,26,.08);border-radius:6px}
@media (max-width:520px){.listen{padding:8px 10px;gap:10px}.listen-label .small{display:none}}
/* Read to me batch progress (fix 46) */
.au-progress{flex-basis:100%;margin-top:4px}
.au-bar{height:8px;background:var(--ink-800);border-radius:999px;overflow:hidden;margin-bottom:6px}
.au-bar span{display:block;height:100%;width:0;background:var(--amber-500);border-radius:999px;transition:width .4s ease}
.au-batch.running .au-bar span{background-image:linear-gradient(90deg,var(--amber-500),var(--amber-300),var(--amber-500));background-size:200% 100%;animation:au-move 1.4s linear infinite}
@keyframes au-move{to{background-position:-200% 0}}
.au-working{animation:au-pulse 1s ease-in-out infinite}
@keyframes au-pulse{50%{opacity:.5}}
.au-err{color:var(--err)}
.au-err[hidden]{display:none}
button.is-busy{opacity:.75;cursor:progress}
@media (prefers-reduced-motion:reduce){.au-batch.running .au-bar span,.au-working{animation:none}}
.btn[hidden],button[hidden]{display:none}
/* Light theme: on/off switches were white on white (fix 47) */
html[data-theme="light"] .toggle input{background:#c9c1aa;box-shadow:inset 0 0 0 1px #b3aa90}
html[data-theme="light"] .toggle input:checked{background:var(--amber-500);box-shadow:none}
html[data-theme="light"] .toggle input::after{box-shadow:0 1px 2px rgba(0,0,0,.25)}
.toggle input:focus-visible{outline:2px solid var(--amber-400);outline-offset:2px}
/* AI chat shown inside a message thread (fix 49) */
.ai-thread{margin:6px 0 16px;padding:0;background:var(--ink-950)}
.ai-thread summary{cursor:pointer;padding:12px 16px;list-style:none;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.ai-thread summary::-webkit-details-marker{display:none}
.ai-thread summary::before{content:"\25B8";color:var(--amber-400);transition:transform .15s}
.ai-thread[open] summary::before{transform:rotate(90deg)}
.ai-thread-body{padding:0 16px 14px;display:flex;flex-direction:column;gap:12px}
.ai-thread .ai-user{align-items:flex-end}
.ai-thread .ai-who{color:var(--ink-400);margin:0 4px 3px;font-weight:600}
.ai-thread .ai-copy{display:none}
/* Admin guides and onboarding (fix 51) */
.gd-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.gd-bar{height:6px;background:var(--ink-800);border-radius:999px;overflow:hidden;margin:10px 0 14px}
.gd-bar span{display:block;height:100%;background:var(--amber-500);border-radius:999px}
.gd-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gd-list li{display:flex;gap:12px;align-items:flex-start}
.gd-list li.done b{color:var(--ink-400);text-decoration:line-through;text-decoration-color:var(--ink-500)}
.gd-check{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--ink-600);display:grid;place-items:center;font-size:.75rem;font-weight:700;margin-top:1px}
.gd-list li.done .gd-check{background:var(--ok);border-color:var(--ok);color:#fff}
.gd-setup,.gd-start{margin-bottom:20px}
@media (min-width:900px){.gd-setup .gd-list,.gd-start .gd-list{grid-template-columns:1fr 1fr;column-gap:28px}}
.gd-area{font-size:1.1rem;margin:26px 0 12px}
.gd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.gd-card{display:flex;flex-direction:column;gap:6px;color:inherit;padding:18px}
.gd-card:hover{border-color:var(--amber-500);text-decoration:none}
.gd-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.gd-article{max-width:860px}
.gd-novideo{border:1px dashed var(--ink-600);border-radius:var(--radius);padding:10px 14px}
.gd-dash{margin-bottom:20px}
.gd-dash .gd-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.adm-areas{display:grid;gap:6px;margin:8px 0}
.adm-areas label{display:flex;gap:8px;align-items:flex-start;font-weight:500;font-size:.9rem}
.adm-areas input{margin-top:3px;width:auto}
/* Slot manager (fix 54) */
.slot-preview{margin-top:6px;display:grid;gap:4px}
.slot-preview .sp-ok{color:var(--ok)}
.slot-preview .sp-bad{color:var(--err)}
.sm-filters{display:flex;flex-wrap:wrap;gap:8px 14px;margin:12px 0}
.sm-filters label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:600;color:var(--ink-300)}
.sm-filters select{width:auto;min-width:120px;padding:6px 30px 6px 10px;font-size:.88rem}
.sm-bar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px 12px;margin:0 -12px 6px;background:var(--ink-900);border-bottom:1px solid var(--ink-700)}
.sm-all{display:flex;gap:8px;align-items:center;font-weight:600;font-size:.9rem;cursor:pointer}
.sm-all input,.sm-slot input{width:auto;margin:0;accent-color:var(--amber-500)}
.sm-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sm-actions[hidden]{display:none}
.sm-group{display:inline-flex;gap:4px;align-items:center}
.sm-group input,.sm-group select{width:auto;padding:5px 8px;font-size:.85rem}
.sm-slots{display:flex;flex-wrap:wrap;gap:6px}
.sm-slot{cursor:pointer;user-select:none}
.sm-slot[hidden],.slot-day[hidden]{display:none}
.sm-slot.picked{border-color:var(--amber-500);background:rgba(227,147,26,.12)}
.sm-lock{font-size:.75rem}
.ev-slot-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.ev-slot-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sm-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 6px;border-top:1px dashed var(--ink-800);border-radius:8px}
.sm-row-main{display:flex;gap:10px;align-items:flex-start;cursor:pointer;flex:1;min-width:0}
.sm-row-main input{margin-top:4px}
.sm-row.picked{background:rgba(227,147,26,.10)}
/* Calendar card editing (fix 56) */
.ev-edit{margin:6px 0 4px}
.ev-edit .field{margin-bottom:10px}
.ev-err{color:var(--err);margin:4px 0 8px}
.ev-series-opt{display:flex;gap:8px;align-items:center;margin:0 0 10px}
.ev-series-opt input,.mv-series input{width:auto;margin:0}
.mv-series{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;padding:10px 12px;border:1px solid var(--ink-700);border-radius:var(--radius)}
.mv-series label{display:flex;gap:8px;align-items:center;margin:0;font-weight:500}
.ev-actions[hidden],.ev-facts[hidden]{display:none}
/* Admin calendar: view toggle, selection, week view (fix 57) */
.cal-nav{gap:8px;flex-wrap:wrap;align-items:center}
.seg{display:inline-flex;border:1px solid var(--ink-600);border-radius:999px;overflow:hidden}
.seg a{padding:5px 12px;font-size:.82rem;color:var(--ink-200);text-decoration:none}
.seg a.on{background:var(--amber-500);color:#14120e;font-weight:600}
.cal-selbar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;margin:0 0 12px;border:1px solid var(--amber-600);border-radius:var(--radius);background:var(--ink-900)}
.cal-selbar[hidden]{display:none}
.cal-selbar input,.cal-selbar select{width:auto;padding:5px 8px;font-size:.85rem}
body.cal-selecting [data-sel]{cursor:copy}
.cal-item.is-selected{outline:2px solid var(--amber-400);outline-offset:1px;background:rgba(227,147,26,.18)}
body.is-saving{cursor:progress}
.wk{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));gap:4px;overflow-x:auto}
.wk-dayhead{height:34px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:.8rem;color:var(--ink-300)}
.wk-col.today .wk-dayhead b{background:var(--amber-500);color:#14120e;border-radius:999px;padding:1px 7px}
.wk-hours{height:var(--wk-h)}
.wk-hour{height:var(--wk-px);font-size:.68rem;color:var(--ink-400);text-align:right;padding-right:6px;transform:translateY(-6px)}
.wk-day{position:relative;height:var(--wk-h);border:1px solid var(--ink-700);border-radius:8px;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--wk-px) - 1px),var(--ink-800) calc(var(--wk-px) - 1px),var(--ink-800) var(--wk-px))}
.wk-col.today .wk-day{border-color:var(--amber-500)}
.wk-item{position:absolute;left:3px;right:3px;margin:0;white-space:normal;overflow:hidden;font-size:.7rem;line-height:1.25;z-index:1}
.wk-item b{display:block}
.wk-ghost{position:absolute;left:2px;right:2px;height:18px;border:2px dashed var(--amber-400);border-radius:6px;font-size:.7rem;color:var(--amber-300);padding:0 4px;pointer-events:none;z-index:3;background:rgba(227,147,26,.08)}
@media (max-width:760px){.wk-card{display:none}}
/* Public schedule (fix 58) */
.cal-key.room{background:#2dd4bf} .cal-item.room{border-left-color:#2dd4bf}
.sched-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sched-bar .seg button{background:none;border:0;padding:6px 14px;font:inherit;font-size:.85rem;color:var(--ink-200);cursor:pointer}
.sched-bar .seg button.on{background:var(--amber-500);color:#14120e;font-weight:600}
.sched-filters{display:flex;flex-wrap:wrap;gap:6px;order:3;flex:1 1 100%}
.sched-chip{display:inline-flex;align-items:center;gap:2px;font:inherit;font-size:.82rem;padding:5px 12px;border-radius:999px;border:1px solid var(--ink-600);background:transparent;color:var(--ink-300);cursor:pointer}
.sched-chip.on{border-color:var(--amber-600);color:var(--ink-50);background:rgba(227,147,26,.12)}
.sched-chip:not(.on) .cal-key{opacity:.35}
.sched-sub{position:relative}
.sched-sub summary{list-style:none}
.sched-sub summary::-webkit-details-marker{display:none}
.sched-sub-menu{position:absolute;left:0;top:calc(100% + 6px);z-index:30;width:260px;padding:10px;border:1px solid var(--ink-700);border-radius:var(--radius);background:var(--ink-900);box-shadow:var(--shadow);display:grid;gap:2px}
.sched-sub-menu a,.sched-sub-menu button{display:block;text-align:left;padding:8px 10px;border-radius:6px;color:var(--ink-100);background:none;border:0;font:inherit;cursor:pointer;text-decoration:none}
.sched-sub-menu a:hover,.sched-sub-menu button:hover{background:var(--ink-800)}
.sched-sub-menu p{margin:6px 10px 2px}
.sched-list{display:grid;gap:18px}
.sched-day{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:start}
.sched-day[hidden],.sched-list [hidden],[data-sched-pane][hidden]{display:none}
.sched-date{display:flex;flex-direction:column;align-items:center;padding:8px 0;border-radius:var(--radius);background:var(--ink-900);border:1px solid var(--ink-700)}
.sched-date b{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--amber-300)}
.sched-date span{font-weight:700}
.sched-items{display:grid;gap:8px}
.sched-items .upcoming-row{gap:12px}
@media (max-width:520px){.sched-day{grid-template-columns:1fr;gap:6px}.sched-date{flex-direction:row;gap:8px;justify-content:flex-start;padding:4px 10px;background:none;border:0}}
/* Settings: grouped side list (fix 60) */
.set-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;align-items:start}
.set-nav{position:sticky;top:20px}
.set-drop>summary{display:none}
.set-sec{margin-bottom:18px}
.set-head{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-400);padding:0 12px 6px}
.set-list a{display:block;padding:7px 12px;border-radius:8px;color:var(--ink-200);font-size:.9rem;font-weight:500;border-left:2px solid transparent}
.set-list a:hover{background:var(--ink-800);color:var(--ink-50);text-decoration:none}
.set-list a.active{background:var(--ink-800);color:var(--amber-300);border-left-color:var(--amber-400);font-weight:600}
.set-title{font-size:1.25rem;margin:0 0 14px}
.set-main .card{max-width:760px}
@media (max-width:900px){.set-layout{grid-template-columns:1fr;gap:12px}.set-nav{position:static}
.set-drop{border:1px solid var(--ink-700);border-radius:var(--radius);background:var(--ink-900)}
.set-drop>summary{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;list-style:none}
.set-drop>summary::-webkit-details-marker{display:none}
.set-drop>summary strong{flex:1}
.set-caret{width:8px;height:8px;border-right:2px solid var(--ink-300);border-bottom:2px solid var(--ink-300);transform:rotate(45deg);margin-top:-4px;transition:transform .15s}
.set-drop[open] .set-caret{transform:rotate(-135deg);margin-top:4px}
.set-drop .set-list{padding:4px 6px 10px;border-top:1px solid var(--ink-800);columns:2;column-gap:10px}
.set-drop .set-sec{break-inside:avoid;margin:10px 0 0}}
@media (max-width:420px){.set-drop .set-list{columns:1}}
/* Tab rows: one line that scrolls sideways instead of wrapping (fix 60) */
.tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}
.tabs::-webkit-scrollbar{display:none}
.tabs a{white-space:nowrap;flex:0 0 auto}
.tabs.fade-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent)}
.tabs.fade-l{-webkit-mask-image:linear-gradient(90deg,transparent,#000 48px);mask-image:linear-gradient(90deg,transparent,#000 48px)}
.tabs.fade-l.fade-r{-webkit-mask-image:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 48px),transparent)}
/* Course analytics (fix 61) */
.ca-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.ca-stats .stat{margin:0}
.ca-bar{height:8px;border-radius:99px;background:var(--ink-800);overflow:hidden;margin-bottom:4px}
.ca-bar span{display:block;height:100%;background:var(--amber-500);border-radius:99px}
.ca-funnel tr.ca-worst td{background:rgba(227,147,26,.08)}
.ca-quiz{padding:14px 0;border-top:1px solid var(--ink-800)}
.ca-quiz:first-of-type{border-top:0;padding-top:0}
.ca-quiz-head{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin-bottom:8px}
/* Reports (fix 62) */
.rp-bar{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;margin:0 0 18px}
.rp-range{display:flex;align-items:center;gap:8px}.rp-range select{width:auto;min-width:160px}
.rp-chips{display:flex;flex-wrap:wrap;gap:6px}
.rp-chip input{position:absolute;opacity:0;pointer-events:none}
.rp-chip span{display:inline-block;padding:6px 12px;border-radius:999px;border:1px solid var(--ink-600);color:var(--ink-300);font-size:.85rem;cursor:pointer}
.rp-chip input:checked+span{border-color:var(--amber-600);color:var(--ink-50);background:rgba(227,147,26,.12)}
.rp-chip input:focus-visible+span{outline:2px solid var(--amber-400);outline-offset:2px}
.rp-dates{margin-left:auto}
.rp-sec{margin:0 0 30px}
.rp-h{font-size:1.25rem;margin:0 0 12px}
.rp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:12px}
.rp-card{padding:14px 16px;border-radius:var(--radius);background:var(--ink-900);border:1px solid var(--ink-700)}
.rp-l{font-size:.8rem;color:var(--ink-300)}
.rp-v{font:700 1.7rem/1.15 var(--font-display);margin:6px 0 4px}
.rp-c{font-size:.75rem;color:var(--ink-400)}.rp-c.good{color:#5fcf8f}.rp-c.bad{color:#f0916b}
.rp-box{padding:14px 16px;border-radius:var(--radius);background:var(--ink-900);border:1px solid var(--ink-700);margin-bottom:12px;min-width:0}
.rp-box-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;font-weight:600;font-size:.9rem;margin-bottom:10px}
.rp-legend{font-weight:400;font-size:.78rem;color:var(--ink-300)}
.rp-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin:0 5px 0 10px;background:var(--amber-500)}.rp-legend i.s1{background:#5aa9a0}
.rp-chart{width:100%;height:200px;display:block}
.rp-grid{stroke:var(--ink-700);stroke-width:1}
.rp-axis{fill:var(--ink-400);font-size:11px}
.rp-bar.s0{fill:var(--amber-500)}.rp-bar.s1{fill:#5aa9a0}
.rp-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:0 12px}
.rp-table td,.rp-table th{white-space:nowrap}.rp-table td:first-child{white-space:normal;min-width:140px}
.rp-ai{margin-bottom:22px;border-left:3px solid var(--amber-500)}
.rp-ai-k{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-300);margin-bottom:8px}
.rp-ai-k.good{color:#5fcf8f}.rp-ai-k.bad{color:#f0916b}
.rp-ai-head{font-size:1.1rem;font-weight:600;margin:0 0 14px;line-height:1.45}
.rp-ai-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px 28px}
.rp-ai-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.rp-ai-list li{line-height:1.5;color:var(--ink-200)}.rp-ai-list strong{display:block;color:var(--ink-50)}
.rp-ai-note{font-size:.75rem;color:var(--ink-400);margin:14px 0 0}
.rp-newlink{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px;border-color:var(--amber-600)}
.rp-copy{display:flex;gap:8px;flex:1;min-width:260px;max-width:560px}.rp-copy input{flex:1;min-width:0}
tr.rp-dead td{opacity:.55}
.rp-dlg{width:min(640px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:0;border:1px solid var(--ink-700);border-radius:16px;background:var(--ink-900);color:var(--ink-100)}
.rp-dlg::backdrop{background:rgba(0,0,0,.55)}
.rp-dlg form{display:flex;flex-direction:column;max-height:calc(100vh - 26px)}
.rp-dlg-head{display:flex;justify-content:space-between;gap:12px;padding:20px 22px 8px}
.rp-dlg-head h2{margin:0;font-size:1.35rem}.rp-dlg-head p{margin:4px 0 0}
.rp-x{background:none;border:0;color:var(--ink-300);font-size:1.6rem;line-height:1;cursor:pointer;padding:4px 8px}
.rp-dlg-body{padding:8px 22px 6px;overflow:auto}
.rp-dlg-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--ink-800)}
.rp-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.rp-opt input{position:absolute;opacity:0}
.rp-opt span{display:flex;flex-direction:column;gap:4px;height:100%;padding:12px;border-radius:10px;border:1px solid var(--ink-700);cursor:pointer;text-align:center}
.rp-opt small{color:var(--ink-400);font-size:.75rem;line-height:1.35}
.rp-opt input:checked+span{border-color:var(--amber-500);background:rgba(227,147,26,.1)}
.rp-opt input:focus-visible+span{outline:2px solid var(--amber-400)}
.rp-to{display:flex;gap:8px}.rp-to input{flex:1;min-width:0}
.rp-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.rp-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 10px;border-radius:999px;background:var(--ink-800);font-size:.82rem}
.rp-tag button{background:none;border:0;color:var(--ink-300);cursor:pointer;font-size:1rem;line-height:1;padding:0 4px}
.rp-fs{border:1px solid var(--ink-800);border-radius:10px;padding:12px 14px 4px;margin:0 0 16px}
.rp-fs legend{padding:0 6px;font-weight:600;font-size:.9rem}
.rp-fs.dim{opacity:.5}
.rp-incl{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rp-check{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--ink-700);border-radius:9px;font-size:.88rem;cursor:pointer}
.rp-check input{accent-color:var(--amber-500);width:16px;height:16px;margin:0}
.rp-sched{display:grid;grid-template-columns:repeat(3,1fr);gap:0 10px;margin-top:12px}
.rp-sched [hidden]{display:none}
.rp-get{background:var(--ink-800);border-radius:10px;padding:12px 14px;margin-bottom:8px}
.rp-get ul{margin:6px 0 0;padding-left:18px;font-size:.85rem;color:var(--ink-200)}
@media (max-width:640px){.rp-opts{grid-template-columns:1fr}.rp-opt span{text-align:left}.rp-incl{grid-template-columns:1fr}.rp-sched{grid-template-columns:1fr}.rp-dates{margin-left:0}.rp-v{font-size:1.45rem}.rp-cards{grid-template-columns:1fr 1fr}.rp-tables{grid-template-columns:1fr}}
/* Shared report page */
.rp-page{background:var(--ink-950);min-height:100vh}
.rp-wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.rp-top{border-bottom:1px solid var(--ink-800);padding:16px 0;margin-bottom:28px}
.rp-top img{display:block;height:auto}
.rp-hero{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px}
.rp-hero h1{margin:4px 0 8px;font-size:clamp(1.6rem,4vw,2.2rem)}
.rp-msg{border-left:3px solid var(--amber-500);padding:2px 0 2px 12px;color:var(--ink-200);max-width:680px}
.rp-foot{padding:24px 20px 40px;border-top:1px solid var(--ink-800);margin-top:20px}
.rp-table th.right,.rp-table td.right{text-align:right}
.rp-fs .help{font-size:.8rem;color:var(--ink-400)}
/* Blog pager (fix 67) */
.pager{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;margin-top:28px}
.pager-gap{color:var(--ink-400);padding:0 4px}
/* Mobile menu: the header's fixed 68px row height was applying to the menu list, so items spilled over the page (fix 70) */
.site-header .mobile-nav .wrap{height:auto;display:grid;grid-template-columns:1fr;justify-content:stretch;align-items:stretch}
.site-header .mobile-nav{background:var(--ink-950);max-height:calc(100vh - 68px);max-height:calc(100dvh - 68px);overflow-y:auto}
.mobile-nav a{display:block;padding:10px 0;border-bottom:1px solid var(--ink-800)}
.mobile-nav a:last-child{border-bottom:0}
/* Lesson editor: Bunny video tools (fix 70) */
.vid-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.vid-status{display:flex;gap:12px;align-items:center;margin-top:10px;padding:10px 12px;border:1px solid var(--ink-700);border-radius:10px;background:var(--ink-900)}
.vid-status[hidden]{display:none}
.vid-status img{width:96px;aspect-ratio:16/9;object-fit:cover;border-radius:6px}
.vid-bar{height:6px;border-radius:99px;background:var(--ink-800);overflow:hidden;margin-top:8px}
.vid-bar[hidden]{display:none}
.vid-bar span{display:block;height:100%;width:0;background:var(--amber-500);transition:width .3s}
.vid-dlg{width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 40px);padding:18px 20px;border:1px solid var(--ink-700);border-radius:14px;background:var(--ink-900);color:var(--ink-100)}
.vid-dlg::backdrop{background:rgba(0,0,0,.55)}
.vid-dlg-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.vid-dlg-head h3{margin:0}
.vid-dlg input[type=search]{width:100%;margin-bottom:12px}
.vid-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;max-height:60vh;overflow:auto}
.vid-item{display:flex;flex-direction:column;gap:4px;text-align:left;padding:8px;border:1px solid var(--ink-700);border-radius:10px;background:none;color:inherit;font:inherit;cursor:pointer}
.vid-item:hover{border-color:var(--amber-500)}
.vid-item img,.vid-noimg{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;background:var(--ink-800);display:block}
.vid-item strong{font-size:.85rem;line-height:1.3}
/* Lesson prompts: wrap long lines and add a Copy button (fix 71) */
.lesson-body pre{white-space:pre-wrap;word-break:break-word;position:relative;padding-right:76px}
.pre-copy{position:absolute;top:8px;right:8px;font:600 .75rem/1 var(--font-body,inherit);padding:6px 10px;border-radius:6px;border:1px solid var(--ink-600);background:var(--ink-800);color:var(--ink-100);cursor:pointer}
.pre-copy:hover{border-color:var(--amber-500)}
/* Bigger menu button with a real icon that turns into a close X (fix 72) */
.site-header .menu-toggle{width:46px;height:46px;padding:0;align-items:center;justify-content:center;border-radius:10px}
.menu-toggle svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.menu-toggle .mt-close,.menu-toggle[aria-expanded="true"] .mt-open{display:none}
.menu-toggle[aria-expanded="true"] .mt-close{display:block}
/* Site feedback widget (fix 73) */
.fb-tab{position:fixed;z-index:35;right:0;top:50%;transform:translateY(-50%);border:0;cursor:pointer;background:#e3931a;color:#14120e;font:700 .85rem/1 var(--font-body,inherit);letter-spacing:.02em;padding:14px 9px;border-radius:10px 0 0 10px;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.fb-tab-label{writing-mode:vertical-rl;transform:rotate(180deg);display:block}
.fb-tab-ico{display:none}
.fb-tab:hover{background:#f2a93b}
.fb-tab:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media (max-width:768px){
  .fb-tab{top:auto;transform:none;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + var(--fb-lift,0px) + env(safe-area-inset-bottom));width:56px;height:56px;padding:0;border-radius:50%;display:grid;place-items:center;transition:bottom .2s}
  .fb-tab-label{display:none}
  .fb-tab-ico{display:block;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
}
.fb-dlg{padding:0;border:1px solid var(--ink-700);background:var(--ink-900);color:var(--ink-100);width:420px;max-width:calc(100vw - 24px);max-height:calc(100vh - 32px);border-radius:16px;margin:auto 16px auto auto;overflow:auto}
.fb-dlg::backdrop{background:rgba(0,0,0,.5)}
.fb-handle{display:none}
.fb-head{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 6px 20px;position:sticky;top:0;background:var(--ink-900);z-index:1}
.fb-head h2{margin:0;font-size:1.25rem}
.fb-x{width:44px;height:44px;border:0;background:none;color:var(--ink-300);font-size:1.8rem;line-height:1;cursor:pointer;border-radius:10px}
.fb-x:hover{background:var(--ink-800);color:var(--ink-50)}
.fb-body{padding:6px 20px 20px;position:relative}
.fb-sub{margin:0 0 12px;color:var(--ink-300)}
.fb-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fb-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;min-height:96px;border:1px solid var(--ink-700);border-radius:12px;background:var(--ink-950);color:var(--ink-100);font:600 .9rem/1.2 inherit;cursor:pointer;text-align:center}
.fb-card svg{width:28px;height:28px;fill:none;stroke:#e3931a;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fb-card:hover,.fb-card:focus-visible{border-color:#e3931a;outline:none}
.fb-back,.fb-link{background:none;border:0;padding:6px 0;color:var(--amber-300);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.fb-back{min-height:44px;text-decoration:none}
.fb-form-h{margin:2px 0 12px;font-size:1.1rem}
.fb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fb-err{color:#f0916b;font-size:.82rem;min-height:0;margin-top:4px}
.fb-err:empty{display:none}
.fb-err-main{margin:6px 0 10px}
.fb-label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px}
.fb-preview{display:flex;align-items:center;gap:10px;margin-top:8px}
.fb-preview[hidden]{display:none}
.fb-preview img{max-width:120px;max-height:80px;border-radius:6px;border:1px solid var(--ink-700)}
.fb-check{display:flex;gap:8px;align-items:center;margin:0 0 12px;font-size:.9rem;min-height:44px}
.fb-check[hidden]{display:none}
.fb-check input{width:18px;height:18px;accent-color:#e3931a}
.fb-note{font-size:.78rem;color:var(--ink-400);margin:4px 0 8px}
.fb-details{font-size:.72rem;white-space:pre-wrap;word-break:break-word;background:var(--ink-950);border:1px solid var(--ink-800);border-radius:8px;padding:10px;margin:0 0 12px;color:var(--ink-300)}
.fb-stars{border:0;padding:0;margin:0;display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.fb-stars legend{font-weight:600;font-size:.95rem;margin-bottom:8px;float:left;width:100%}
.fb-stars input{position:absolute;opacity:0;width:1px;height:1px}
.fb-stars label{width:44px;height:44px;display:grid;place-items:center;cursor:pointer;border-radius:8px}
.fb-stars svg{width:32px;height:32px;fill:none;stroke:var(--ink-400);stroke-width:1.6;stroke-linejoin:round}
.fb-stars input:checked~label svg,.fb-stars label:hover svg,.fb-stars label:hover~label svg{fill:#e3931a;stroke:#e3931a}
.fb-stars input:focus-visible+label{outline:2px solid #e3931a;outline-offset:2px}
.fb-done{text-align:center;padding:24px 0 8px}
.fb-done[hidden]{display:none}
.fb-done svg{width:48px;height:48px;fill:none;stroke:#5fcf8f;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.fb-done h3{margin:10px 0 18px}
.fb-confirm{position:absolute;inset:0;background:var(--ink-900);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px;text-align:center}
.fb-confirm[hidden]{display:none}
.fb-dlg [data-fb-step][hidden],.fb-dlg [data-fb-for][hidden]{display:none}
@media (max-width:768px){
  .fb-dlg{width:100vw;max-width:100vw;margin:auto 0 0 0;border-radius:18px 18px 0 0;max-height:min(88vh,calc(100dvh - env(safe-area-inset-top) - 12px));padding-bottom:env(safe-area-inset-bottom);border-bottom:0}
  .fb-handle{display:flex;justify-content:center;padding:10px 0 0;touch-action:none}
  .fb-handle span{width:44px;height:5px;border-radius:99px;background:var(--ink-600)}
  .fb-head{padding-top:4px;touch-action:none}
}
@media (prefers-reduced-motion:reduce){.fb-tab{transition:none}}

/* Admin feedback inbox */
.fbx-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}
.fbx-cards a.card{color:inherit;text-decoration:none}
.fbx-up{color:#7fc98a}.fbx-down{color:#e77b6b}
.fbx-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}
.fbx-filters input[type=search]{flex:1 1 220px;min-width:0}
.fbx-filters select{width:auto}
.fbx-more{position:relative}
.fbx-more summary{cursor:pointer;font-size:.85rem;color:var(--ink-300);padding:6px 4px}
.fbx-more-in{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding:8px 0}
.fbx-more-in label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--ink-300)}
.fbx-more-in .fb-check{flex-direction:row;align-items:center}
.fbx-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--ink-800)}
.fbx-bar select{width:auto}
.fbx-bar [data-fbx-count]{margin-right:auto}
tr.fbx-new td:nth-child(2) a{font-weight:700}
.fbx-type{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:99px;margin-right:4px;vertical-align:1px}
.t-bug{background:#5a2620;color:#ffb3a7}.t-feature{background:#2d3d5a;color:#b6cdf7}.t-rating{background:#4f3a10;color:#f6cf7c}.t-general{background:var(--ink-800);color:var(--ink-300)}
.fbx-hot{color:#ffb3a7;font-weight:700}
.fbx-shot{display:block;max-width:100%;max-height:520px;border-radius:10px;border:1px solid var(--ink-800)}
.fbx-meta th{width:150px;color:var(--ink-400);font-weight:600;vertical-align:top}
.fbx-stars{font-size:1.6rem;color:#e3931a;margin:0 0 8px;letter-spacing:2px}.fbx-stars span{color:var(--ink-700)}
.fbx-weeks{display:flex;gap:6px;align-items:end;height:170px;padding-top:6px}
.fbx-week{flex:1;display:flex;flex-direction:column;justify-content:end;height:100%;min-width:0;text-align:center}
.fbx-week small{font-size:.65rem;color:var(--ink-400);margin-top:4px;white-space:nowrap;overflow:hidden}
.fbx-stack{display:flex;flex-direction:column-reverse;border-radius:4px 4px 0 0;overflow:hidden;min-height:2px}
.fbx-stack span{display:block;min-height:2px}
.fbx-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin:0 5px 0 10px;vertical-align:-1px}
.fbx-legend i:first-child{margin-left:0}
.fbx-dist{display:grid;grid-template-columns:44px 1fr 34px;gap:8px;align-items:center;margin-bottom:6px}
.fbx-dist .ca-bar{margin:0}
@media (max-width:900px){.fbx-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.fbx-filters select{flex:1 1 40%}}
.fbx-week{max-width:56px}
.fbx-stack .t-general,.fbx-legend .t-general{background:#6d6656}

/* Fix 74: helpful votes, request voting, timed prompts */
.hlp{margin:26px 0 8px;padding:14px 16px;border:1px solid var(--ink-800);border-radius:12px;background:var(--ink-900)}
.rc-main .hlp{margin-top:14px}
.hlp-q{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.hlp-t{font-weight:600;margin:0}
.hlp-btns{display:flex;gap:8px}
.hlp-btns .btn{min-width:64px;min-height:40px}
.hlp-btns .btn[aria-pressed=true]{border-color:#e3931a;color:#f6cf7c}
.hlp-more{margin-top:14px;display:grid;gap:10px}
.hlp-more[hidden],.hlp-done[hidden]{display:none}
.hlp-more textarea{min-height:0}
.hlp-chips{display:flex;flex-wrap:wrap;gap:8px}
.hlp-chip{border:1px solid var(--ink-700);background:transparent;color:var(--ink-100);border-radius:99px;padding:8px 14px;min-height:40px;font:inherit;font-size:.88rem;cursor:pointer}
.hlp-chip:hover{border-color:var(--ink-500)}
.hlp-chip[aria-pressed=true],.hlp-chip.on{border-color:#e3931a;background:rgba(227,147,26,.14);color:#f6cf7c}
.hlp-chip:focus-visible,.nps-scale button:focus-visible{outline:2px solid #e3931a;outline-offset:2px}
.hlp-done{margin:0}
.fb-similar{margin-top:10px;border:1px solid var(--ink-800);border-radius:10px;padding:10px 12px;background:var(--ink-950)}
.fb-similar[hidden]{display:none}
.fb-similar p{margin:0 0 6px}
.fb-similar ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fb-similar li{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fb-similar li span{min-width:0}
.fb-similar li b{display:block;font-size:.9rem;font-weight:600}
.fb-similar li small{color:var(--ink-400);font-size:.75rem}
.fb-vote{flex:none;min-width:56px;min-height:40px;border:1px solid var(--ink-700);background:none;color:var(--ink-100);border-radius:10px;cursor:pointer;font:inherit;font-size:.85rem}
.fb-vote.on,.fb-vote[aria-pressed=true]{border-color:#e3931a;color:#f6cf7c}
.nco-ask{position:fixed;z-index:34;left:calc(16px + env(safe-area-inset-left));bottom:calc(16px + var(--fb-lift,0px) + env(safe-area-inset-bottom));width:380px;max-width:calc(100vw - 32px);background:var(--ink-900);color:var(--ink-100);border:1px solid var(--ink-700);border-radius:16px;padding:18px 18px 16px;box-shadow:0 18px 50px rgba(0,0,0,.45);opacity:0;transform:translateY(12px);transition:opacity .2s,transform .2s}
.nco-ask.in{opacity:1;transform:none}
.nco-ask[hidden]{display:none}
.nco-ask [data-ask-step][hidden]{display:none}
.nco-ask-h{font-size:1rem;line-height:1.35;margin:0 34px 12px 0;outline:none}
.nco-ask-x{position:absolute;top:6px;right:6px;width:40px;height:40px;border:0;background:none;color:var(--ink-300);font-size:1.6rem;cursor:pointer;border-radius:10px}
.nco-ask-x:hover{background:var(--ink-800)}
.nco-ask textarea{width:100%;margin:0 0 10px}
.nco-ask-thanks{margin:4px 34px 0 0}
.nps-scale{display:grid;grid-template-columns:repeat(11,1fr);gap:4px}
.nps-scale button{min-height:40px;border:1px solid var(--ink-700);background:var(--ink-950);color:var(--ink-100);border-radius:8px;font:inherit;font-weight:700;font-size:.85rem;cursor:pointer;padding:0}
.nps-scale button:hover{border-color:#e3931a}
.nps-scale button.on{background:#e3931a;color:#14120e;border-color:#e3931a}
.nps-ends{display:flex;justify-content:space-between;margin-top:6px}
@media (max-width:640px){
  .nco-ask{left:12px;right:12px;width:auto;max-width:none;bottom:calc(84px + var(--fb-lift,0px) + env(safe-area-inset-bottom))}
  .nps-scale{grid-template-columns:repeat(6,1fr)}
  .nps-scale button{min-height:44px}
}
@media (prefers-reduced-motion:reduce){.nco-ask{transition:none}}
.fbx-npsbig{display:flex;align-items:baseline;gap:12px;margin:0 0 10px}
.fbx-npsbig b{font:700 2.6rem/1 var(--font-display)}
.fbx-split{display:flex;height:12px;border-radius:99px;overflow:hidden;background:var(--ink-800)}
.fbx-split .pro,.fbx-legend .pro{background:#5fcf8f}.fbx-split .pas,.fbx-legend .pas{background:#8a8268}.fbx-split .det,.fbx-legend .det{background:#e77b6b}
.fbx-quotes{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.fbx-quotes a{color:inherit}
.fbx-dist-w{grid-template-columns:160px 1fr 34px}
.fbx-nps{font-size:1.1rem}.fbx-nps b{font:700 2rem/1 var(--font-display)}
.fbx-nps.pro b{color:#5fcf8f}.fbx-nps.det b{color:#e77b6b}
.t-helpful{background:#23463a;color:#a8e6c6}.t-nps{background:#3e2f55;color:#d6c2f5}.t-objection{background:#553a2a;color:#f3c4a3}
.fbx-stack .t-helpful,.fbx-legend .t-helpful{background:#3f8f6d}.fbx-stack .t-nps,.fbx-legend .t-nps{background:#7a5fb0}.fbx-stack .t-objection,.fbx-legend .t-objection{background:#b8714a}
.fbx-stack .t-bug,.fbx-legend .t-bug{background:#b9483c}.fbx-stack .t-feature,.fbx-legend .t-feature{background:#4f74b8}.fbx-stack .t-rating,.fbx-legend .t-rating{background:#c99227}
@media (max-width:640px){.fbx-dist-w{grid-template-columns:120px 1fr 30px}}
.fbx-ins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
@media (max-width:900px){.fbx-ins{grid-template-columns:1fr}.fbx-ins>[style*="grid-column"]{grid-column:auto!important}}

/* Admin posts list, WordPress style (fix 77) */
.bl-views{list-style:none;margin:6px 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:4px 0}
.bl-views li+li::before{content:"|";color:var(--ink-600);margin:0 8px}
.bl-views a{color:var(--amber-300)}.bl-views a.on{color:var(--ink-50);font-weight:700}
.bl-notice{display:flex;align-items:center;gap:8px;padding:10px 14px;border-left:4px solid #5fcf8f;background:var(--ink-900);border-radius:8px;margin:0 0 12px}
.bl-search{display:flex;gap:8px;justify-content:flex-end;margin:-46px 0 12px auto;max-width:420px}
.bl-search input{flex:1;min-width:0}
.bl-letters{display:flex;flex-wrap:wrap;gap:2px 4px;align-items:center;margin:0 0 10px}
.bl-letters a,.bl-letters span{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:6px;padding:0 4px}
.bl-letters a{color:var(--amber-300)}.bl-letters a:hover{background:var(--ink-800)}
.bl-letters a.on{background:#e3931a;color:#14120e;font-weight:700}
.bl-letters span[aria-hidden]{color:var(--ink-700)}
.bl-letters .muted{min-width:0;margin-right:4px}
.bl-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 10px}
.bl-bulk,.bl-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.bl-bulk select,.bl-filters select{width:auto;max-width:220px}
.bl-msg{color:#f0916b}
.bl-pager{display:flex;align-items:center;gap:6px;margin-left:auto}
.bl-pg{display:inline-grid;place-items:center;min-width:30px;height:30px;border:1px solid var(--ink-700);border-radius:6px;color:var(--ink-100)}
.bl-pg.off{opacity:.35}
.bl-foot{display:flex;margin-top:10px}
.bl-table th .bl-sort{color:inherit;white-space:nowrap}
.bl-table th .bl-sort.on{color:var(--ink-50)}
.bl-sort-hint{opacity:0;font-size:.7em}
.bl-table th .bl-sort:hover .bl-sort-hint,.bl-table th .bl-sort:focus .bl-sort-hint{opacity:.6}
.bl-cb{width:30px}
.bl-title strong{font-weight:600}
.bl-actions{visibility:hidden;margin-top:4px;color:var(--ink-600)}
.bl-row:hover .bl-actions,.bl-row:focus-within .bl-actions{visibility:visible}
.bl-actions a,.bl-actions button{color:var(--amber-300);background:none;border:0;padding:0;font:inherit;cursor:pointer}
.bl-actions form{display:inline}
.bl-actions .bl-danger{color:#e77b6b}
@media (hover:none){.bl-actions{visibility:visible}}
.bl-courses{position:relative}
.bl-ccount{min-width:32px;height:28px;border:1px solid var(--ink-700);border-radius:99px;background:var(--ink-900);color:var(--ink-50);font:inherit;font-weight:700;cursor:pointer}
.bl-ccount:hover,.bl-ccount[aria-expanded=true]{border-color:#e3931a}
.bl-pop{position:absolute;z-index:40;top:calc(100% - 4px);left:-40px;width:300px;background:var(--ink-900);border:1px solid var(--ink-700);border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.45);padding:12px;text-align:left}
.bl-pop.up{top:auto;bottom:calc(100% - 4px)}
.bl-pop[hidden],.bl-pop-page[hidden]{display:none}
.bl-pop-c+.bl-pop-c{border-top:1px solid var(--ink-800);margin-top:10px;padding-top:10px}
.bl-pop-t{font-weight:700;color:var(--ink-50)}
.bl-pop-c p{margin:4px 0 6px;font-size:.82rem;color:var(--ink-300);line-height:1.4}
.bl-pop-e{font-size:.8rem;color:var(--amber-300)}
.bl-pop-nav{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px;font-size:.78rem;color:var(--ink-400)}
.bl-pop-nav button{width:30px;height:30px;border:1px solid var(--ink-700);border-radius:8px;background:none;color:var(--ink-100);cursor:pointer;font-size:1.1rem;line-height:1}
.bl-quick td{background:var(--ink-950)}
.bl-qform fieldset{border:0;padding:6px 0;margin:0}
.bl-qform legend{font-weight:700;margin-bottom:8px}
.bl-qgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px;margin-bottom:12px}
.bl-qcol{display:grid;gap:8px;align-content:start}
.bl-qcol label{display:grid;gap:4px;font-size:.82rem;color:var(--ink-300)}
.bl-qcol .fb-check{display:flex;color:var(--ink-100)}
.bl-qlabel{font-size:.82rem;color:var(--ink-300)}
.bl-qcourses{max-height:170px;overflow:auto;border:1px solid var(--ink-800);border-radius:8px;padding:6px 10px}
.bl-qcourses .fb-check{min-height:32px;margin:0}
@media (max-width:900px){.bl-search{margin:0 0 12px;max-width:none}.bl-qgrid{grid-template-columns:1fr}.bl-pager{margin-left:0}}
.bl-table td .pill{white-space:nowrap}

/* Staff roles (fix 79) */
.adm-roles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.adm-role{padding:14px 16px}.adm-role p{margin:6px 0 0;line-height:1.45}
@media (max-width:1000px){.adm-roles{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.adm-roles{grid-template-columns:1fr}}
/* Health badges never wrap (WAR N) */
.table .pill{white-space:nowrap}
.pill-warn{white-space:nowrap}
/* Admin guide article */
.gd-article{max-width:980px}
.gd-article .card.prose{padding:28px 32px}
.gd-article .prose h2{font-size:1.35rem;margin:26px 0 8px}
.gd-article .prose h2:first-child{margin-top:0}
.gd-article .prose p,.gd-article .prose li{font-size:.97rem;line-height:1.6}
.gd-novideo{border:0;padding:0;margin:0 0 10px}
.gd-novideo a{color:var(--amber-300)}
.gd-top{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.gd-top .listen{flex:1 1 320px;margin:0}
@media (max-width:900px){.gd-article .card.prose{padding:20px}}

/* Write it with AI (fix 80) */
.cw{margin:0 0 16px;padding:0}
.cw-sum{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;cursor:pointer;list-style:none}
.cw-sum::-webkit-details-marker{display:none}
.cw-spark{color:#e3931a}
.cw-body{padding:0 18px 16px;display:grid;gap:10px}
.cw-body textarea{min-height:0}
.cw-qs{border-top:1px solid var(--ink-800);padding-top:10px;display:grid;gap:12px}
.cw-qs[hidden]{display:none}
.cw-q{display:grid;gap:6px}.cw-q label{font-weight:600;font-size:.9rem}
.cw-opts{display:flex;flex-wrap:wrap;gap:6px}
.cw-err{color:#f0916b}.cw-done{color:var(--ink-200);border-top:1px solid var(--ink-800);padding-top:10px}
.cw-filled{box-shadow:0 0 0 2px #e3931a!important;transition:box-shadow 1.2s}

/* Security page (fix 81) */
.sec-steps{padding-left:20px;display:grid;gap:14px}
.sec-qr{width:200px;height:200px;background:#fff;border-radius:10px;padding:6px;margin:10px 0 6px}
.sec-qr svg{width:100%;height:100%;display:block}
.sec-key{word-break:break-all;letter-spacing:.06em}
.code-input{font-size:1.4rem;letter-spacing:.3em;text-align:center}
.sec-codes{border-color:#e3931a;margin-bottom:16px}
.sec-code-list{list-style:none;padding:0;margin:0 0 12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.sec-code-list code{display:block;padding:8px 10px;background:var(--ink-950);border:1px solid var(--ink-800);border-radius:8px;font-size:1rem;text-align:center}
@media print{.sec-codes{border:1px solid #000}.site-header,.sidebar,nav,.nco-ask,.fb-tab{display:none!important}}

/* Launch plan (fix 82) */
.lc-plan{margin-bottom:18px}
.lc-days{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border-radius:99px;background:rgba(227,147,26,.14);color:#f6cf7c;font-size:.9rem}
.lc-days b{font:700 1.3rem/1 var(--font-display)}
.lc-days.past{background:rgba(95,207,143,.14);color:#a8e6c6}
.lc-dash{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px;color:inherit;text-decoration:none}
.lc-dash:hover{border-color:#e3931a}
.lc-when{margin:18px 0 6px;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-400)}
.lc-when.late{color:#e77b6b}.lc-when.done{color:var(--ink-500)}
.lc-tasks{list-style:none;margin:0;padding:0}
.lc-task{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:start;padding:10px 0;border-top:1px dashed var(--ink-800)}
.lc-task:first-child{border-top:0}
.lc-task.is-done .lc-task-text b{color:var(--ink-400);text-decoration:line-through;text-decoration-color:var(--ink-500)}
.lc-task-text{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}
.lc-tick{margin:0}
.lc-tick button{width:26px;height:26px;border-radius:50%;border:2px solid var(--ink-600);background:none;color:#fff;cursor:pointer;font-size:.85rem;display:grid;place-items:center}
.lc-tick button[aria-pressed=true]{background:var(--ok);border-color:var(--ok)}
.lc-tick button:hover{border-color:#e3931a}
.lc-edit{position:relative}
.lc-edit summary{list-style:none;cursor:pointer}
.lc-edit summary::-webkit-details-marker{display:none}
.lc-edit-form{display:grid;gap:8px;margin-top:8px;padding:12px;border:1px solid var(--ink-800);border-radius:10px;background:var(--ink-950);min-width:min(420px,90vw)}
.lc-edit .lc-edit-form{position:absolute;right:0;z-index:20;box-shadow:0 14px 40px rgba(0,0,0,.45)}
.lc-edit-form label{display:grid;gap:4px;font-size:.8rem;color:var(--ink-300)}
.lc-add{margin-top:14px}.lc-add summary{cursor:pointer;color:var(--amber-300)}
.lc-h2{font-size:1.1rem;margin:8px 0 10px}
@media (max-width:640px){.lc-task{grid-template-columns:30px minmax(0,1fr)}.lc-task>.row{grid-column:2}.lc-edit .lc-edit-form{position:static}}
.ai-box[hidden]{display:none}

/* Welcome back (fix 84) */
.wb-card{margin-bottom:16px;border-color:#e3931a}
.wb-new{display:grid;gap:10px;min-width:220px;max-width:320px;padding:12px 14px;border:1px solid var(--ink-800);border-radius:10px;background:var(--ink-950)}
.wb-new a{color:var(--amber-300)}
.wb-push{margin-bottom:16px}
.wb-push[hidden]{display:none}
@media (max-width:700px){.wb-new{max-width:none;width:100%}}

/* Home hero desert scene (fix 85) */
.hero-scene{position:relative;overflow:hidden;isolation:isolate}
.hero-scene>.wrap,.hero-scene>.wrap-narrow{position:relative;z-index:2}
.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-bg img{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;object-position:center 72%;opacity:.6}
.hero-fade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,10,8,.72) 0%,rgba(11,10,8,.45) 45%,rgba(11,10,8,.15) 100%),linear-gradient(180deg,rgba(11,10,8,.2) 0%,rgba(11,10,8,0) 50%,rgba(11,10,8,.95) 100%)}
.hero-glow{position:absolute;left:65%;top:72%;width:34vw;height:34vw;max-width:520px;max-height:520px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(242,169,59,.28) 0%,rgba(242,169,59,.10) 35%,rgba(242,169,59,0) 70%);mix-blend-mode:screen;opacity:.9}
.hero-stars{position:absolute;inset:0 0 40% 0;background-image:radial-gradient(1.5px 1.5px at 12% 18%,rgba(255,245,220,.9),transparent 60%),radial-gradient(1px 1px at 28% 32%,rgba(255,245,220,.8),transparent 60%),radial-gradient(1.5px 1.5px at 44% 12%,rgba(255,245,220,.9),transparent 60%),radial-gradient(1px 1px at 58% 26%,rgba(255,245,220,.7),transparent 60%),radial-gradient(1.5px 1.5px at 73% 16%,rgba(255,245,220,.9),transparent 60%),radial-gradient(1px 1px at 86% 30%,rgba(255,245,220,.8),transparent 60%),radial-gradient(1px 1px at 92% 8%,rgba(255,245,220,.7),transparent 60%),radial-gradient(1px 1px at 6% 40%,rgba(255,245,220,.7),transparent 60%);opacity:.75}
.hero-stars-3{inset:0 0 50% 0;background-image:radial-gradient(2px 2px at 9% 26%,rgba(255,245,220,.95),transparent 60%),radial-gradient(2px 2px at 33% 9%,rgba(255,245,220,.95),transparent 60%),radial-gradient(2px 2px at 61% 30%,rgba(255,245,220,.9),transparent 60%),radial-gradient(2px 2px at 77% 11%,rgba(255,245,220,.95),transparent 60%),radial-gradient(2px 2px at 90% 24%,rgba(255,245,220,.9),transparent 60%);opacity:.6}
.hero-shoot{position:absolute;top:14%;left:-8%;width:140px;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(255,245,220,0),rgba(255,245,220,.9));transform:rotate(14deg);opacity:0}
@keyframes hero-shoot{0%,88%{opacity:0;transform:translate3d(0,0,0) rotate(14deg)}90%{opacity:1}100%{opacity:0;transform:translate3d(70vw,18vw,0) rotate(14deg)}}
.hero-stars-2{background-image:radial-gradient(1px 1px at 20% 8%,rgba(255,245,220,.8),transparent 60%),radial-gradient(1.5px 1.5px at 36% 22%,rgba(255,245,220,.9),transparent 60%),radial-gradient(1px 1px at 50% 36%,rgba(255,245,220,.7),transparent 60%),radial-gradient(1px 1px at 66% 6%,rgba(255,245,220,.8),transparent 60%),radial-gradient(1.5px 1.5px at 80% 22%,rgba(255,245,220,.9),transparent 60%),radial-gradient(1px 1px at 95% 38%,rgba(255,245,220,.7),transparent 60%);opacity:.5}
@keyframes hero-drift{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-1.6%,-1%,0) scale(1.04)}}
@keyframes hero-twinkle{0%,100%{opacity:.15}50%{opacity:1}}
@keyframes hero-flicker{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(1)}25%{opacity:1;transform:translate(-50%,-53%) scale(1.12)}50%{opacity:.7;transform:translate(-49%,-50%) scale(.95)}75%{opacity:.95;transform:translate(-51%,-52%) scale(1.08)}}
.hero-motion .hero-bg img{animation:hero-drift 38s ease-in-out infinite alternate}
.hero-motion .hero-stars{animation:hero-twinkle 3.6s ease-in-out infinite}
.hero-motion .hero-stars-2{animation:hero-twinkle 4.9s ease-in-out infinite 1.3s}
.hero-motion .hero-stars-3{animation:hero-twinkle 6.1s ease-in-out infinite 2.6s}
.hero-motion .hero-glow{animation:hero-flicker 2.4s ease-in-out infinite}
.hero-motion .hero-shoot{animation:hero-shoot 11s linear infinite 4s}
@media (prefers-reduced-motion:reduce){.hero-motion .hero-bg img,.hero-motion .hero-stars,.hero-motion .hero-stars-2,.hero-motion .hero-stars-3,.hero-motion .hero-glow,.hero-motion .hero-shoot{animation:none}}
@media (max-width:760px){.hero-bg img{object-position:30% 72%;opacity:.5}.hero-fade{background:linear-gradient(180deg,rgba(11,10,8,.55) 0%,rgba(11,10,8,.4) 50%,rgba(11,10,8,.95) 100%)}.hero-glow{left:70%;top:80%;width:70vw;height:70vw}}
html[data-theme="light"] .hero-bg img{opacity:.22}
html[data-theme="light"] .hero-fade{background:linear-gradient(180deg,rgba(250,247,240,.6),rgba(250,247,240,.95))}

/* Back to top (fix 87) */
.to-top{position:fixed;z-index:34;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + var(--fb-lift,0px) + env(safe-area-inset-bottom));width:44px;height:44px;border-radius:50%;border:1px solid var(--ink-700);background:rgba(20,18,14,.9);color:var(--ink-100);cursor:pointer;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.3);opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s;backdrop-filter:blur(6px)}
.to-top[hidden]{display:none}
.to-top.in{opacity:1;transform:none}
.to-top:hover{border-color:#e3931a;color:#f6cf7c}
.to-top:focus-visible{outline:3px solid #e3931a;outline-offset:2px}
.to-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
/* Desktop: the Feedback tab is on the right edge, so the button sits bottom right alone. Phones: the round Feedback button is bottom right, so go above it. */
@media (max-width:768px){.to-top{bottom:calc(16px + 56px + 12px + var(--fb-lift,0px) + env(safe-area-inset-bottom))}}
html[data-theme="light"] .to-top{background:rgba(250,247,240,.92);color:#2a2418}
@media (prefers-reduced-motion:reduce){.to-top{transition:none}}

/* Cohort review survey (fix 91) */
.crv .field{margin-bottom:22px}
.crv .crv-q,.crv .field>label{font-weight:600;font-size:1rem;margin-bottom:8px;display:block}
.crv .fb-stars{flex-direction:row-reverse;justify-content:flex-end}
.crv .fb-check{font-weight:600;font-size:1rem}
.crv [data-crv-name]{margin:6px 0 0 26px;max-width:360px}
.crv-done h1{margin:6px 0 10px}

/* Image picker (fix 92) */
.imgpick-preview{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.imgpick-preview[hidden]{display:none}
.imgpick-preview img{width:180px;max-width:100%;aspect-ratio:1200/630;object-fit:cover;border-radius:8px;border:1px solid var(--ink-700);background:var(--ink-900)}
.cohort-cover{width:100%;aspect-ratio:1200/630;object-fit:cover;border-radius:14px;border:1px solid var(--ink-800);margin:18px 0 6px}
.program .program-cover{width:calc(100% + 52px);max-width:none;margin:-26px -26px 16px;aspect-ratio:1200/630;object-fit:cover;border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:block}

/* Page heroes (fix 94): shared scene, page-specific touches */
.hero-scene .hero-glow{--gx:65%;--gy:72%}
.hero-glow-2{width:18vw;height:18vw;max-width:280px;max-height:280px;background:radial-gradient(circle,rgba(247,196,111,.26) 0%,rgba(247,196,111,.08) 40%,rgba(247,196,111,0) 70%)}
.hero-motion .hero-glow-2{animation:hero-lantern 3.1s ease-in-out infinite}
.hero-motion .hero-glow-2+.hero-glow-2{animation-delay:1.4s;animation-duration:3.7s}
@keyframes hero-lantern{0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(1)}40%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}70%{opacity:.8;transform:translate(-50%,-50%) scale(.97)}}
.hero-ring{position:absolute;left:82%;top:54%;width:6vw;height:6vw;max-width:90px;max-height:90px;border:2px solid rgba(247,196,111,.55);border-radius:50%;transform:translate(-50%,-50%) scale(.3);opacity:0}
.hero-motion .hero-ring{animation:hero-ring 3.2s ease-out infinite}
.hero-motion .hero-ring-2{animation-delay:1.6s}
@keyframes hero-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}15%{opacity:.8}100%{opacity:0;transform:translate(-50%,-50%) scale(3.2)}}
.hero-sparks{position:absolute;left:88%;top:34%;width:16vw;height:40vh;max-width:260px;transform:translateX(-50%);background-image:radial-gradient(2px 2px at 20% 90%,rgba(255,180,80,.95),transparent 60%),radial-gradient(1.5px 1.5px at 45% 75%,rgba(255,150,60,.9),transparent 60%),radial-gradient(2px 2px at 70% 95%,rgba(255,200,110,.95),transparent 60%),radial-gradient(1.5px 1.5px at 60% 60%,rgba(255,170,70,.85),transparent 60%),radial-gradient(1.5px 1.5px at 30% 50%,rgba(255,190,90,.8),transparent 60%),radial-gradient(2px 2px at 85% 70%,rgba(255,160,60,.9),transparent 60%);background-size:100% 50%;background-repeat:repeat-y;opacity:0;mix-blend-mode:screen}
.hero-motion .hero-sparks{animation:hero-sparks 4.5s linear infinite}
@keyframes hero-sparks{0%{opacity:0;background-position:0 100%}10%{opacity:.9}85%{opacity:.6}100%{opacity:0;background-position:0 0}}
.hero-glint{position:absolute;left:79%;top:88%;width:14px;height:14px;opacity:0;background:radial-gradient(circle,rgba(255,235,170,1) 0%,rgba(255,235,170,0) 60%),linear-gradient(0deg,transparent 46%,rgba(255,235,170,.9) 50%,transparent 54%),linear-gradient(90deg,transparent 46%,rgba(255,235,170,.9) 50%,transparent 54%);mix-blend-mode:screen}
.hero-glint-2{left:83%;top:91%}.hero-glint-3{left:76%;top:85%}
.hero-motion .hero-glint{animation:hero-glint 5s ease-in-out infinite}
.hero-motion .hero-glint-2{animation-delay:1.7s}.hero-motion .hero-glint-3{animation-delay:3.3s}
@keyframes hero-glint{0%,100%{opacity:0;transform:scale(.4) rotate(0)}8%{opacity:1;transform:scale(1.1) rotate(25deg)}16%{opacity:0;transform:scale(.4) rotate(45deg)}}
.hero-teams.hero-motion .hero-bg img{animation:hero-roll 60s linear infinite alternate}
@keyframes hero-roll{0%{transform:translate3d(1.5%,0,0) scale(1.05)}100%{transform:translate3d(-1.5%,-.5%,0) scale(1.05)}}
.hero-hire .hero-bg img{object-position:center 60%}
.hero-blog .hero-bg img,.hero-schedule .hero-bg img{object-position:center 40%}
.hero-courses .hero-bg img{object-position:center 60%}
.hero-pod-fix{position:relative}
.pod-hero.hero-scene .pod-hero-art{position:relative;z-index:2}
@media (prefers-reduced-motion:reduce){.hero-motion .hero-glow-2,.hero-motion .hero-ring,.hero-motion .hero-sparks,.hero-motion .hero-glint,.hero-teams.hero-motion .hero-bg img{animation:none}}

/* Course catalog (fix 97) */
.cat-h{margin:0 0 4px}
.cat-bar{display:flex;gap:8px;max-width:520px;margin:0 0 12px}
.cat-bar input{flex:1;min-width:0}
.cat-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 22px}
.cat-chips .chip{display:inline-flex;gap:6px;align-items:center;padding:6px 12px;border:1px solid var(--ink-700);border-radius:999px;font-size:.85rem;color:var(--ink-200);text-decoration:none;min-height:34px}
.cat-chips .chip:hover{border-color:var(--amber-600);text-decoration:none}
.cat-chips .chip.on{background:var(--amber-500);border-color:var(--amber-500);color:#14120e;font-weight:700}
.cat-chips .chip.on .muted{color:#14120e;opacity:.7}
.cat-sep{width:1px;height:22px;background:var(--ink-700);margin:0 6px}
.cat-clear{margin-left:4px}
.cat-group{margin:0 0 30px}
.cat-group-head{margin:0 0 12px}.cat-group-head p{margin:0}
.course-next{position:absolute;right:12px;top:10px;background:var(--amber-500);color:#14120e;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 8px;border-radius:6px}
.course-next.done{background:rgba(95,207,143,.9)}
.course-card.is-next{border-color:var(--amber-500);box-shadow:0 0 0 1px var(--amber-500)}
.course-tools{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 8px}
.course-tools span{font-size:.72rem;padding:2px 8px;border-radius:999px;background:var(--ink-800);color:var(--ink-300)}
@media (max-width:760px){.cat-sep{display:none}}
.chk-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}
.crs-table th,.crs-table td{white-space:nowrap}
.crs-table td:nth-child(2){white-space:normal;min-width:300px}
.crs-table td:nth-child(2) .small{word-break:break-word}

/* Cohort page hero (fix 98): two columns on desktop, stacked on phones */
.cohort-hero-grid{grid-template-columns:1.2fr .8fr;align-items:start}
@media (max-width:760px){.cohort-hero-grid{grid-template-columns:1fr}.cohort-hero-grid .card{margin-top:8px}}

/* Library (fix 100) */
.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.lib-card{position:relative;background:var(--ink-900);border:1px solid var(--ink-700);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.lib-check{position:absolute;top:8px;left:8px;z-index:2;background:rgba(11,10,8,.75);border-radius:6px;padding:4px 6px;line-height:0}
.lib-thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;background:var(--ink-800);overflow:hidden}
.lib-thumb img{width:100%;height:100%;object-fit:cover}
.lib-ext,.res-kind{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:6px 10px;border-radius:8px;font-size:.72rem;font-weight:800;letter-spacing:.08em;background:var(--ink-700);color:var(--ink-100)}
.lib-thumb .lib-ext{font-size:1rem;padding:10px 16px}
.lib-ext-link,.res-kind.is-link{background:#1d3b4a}
.lib-meta{padding:10px 12px;display:grid;gap:4px}
.lib-title{font-weight:700;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lib-preview{background:var(--ink-800);border-radius:10px;overflow:hidden;margin-bottom:10px}
.lib-preview img{width:100%;max-height:360px;object-fit:contain;display:block}
.lib-bulkbar select{max-width:220px}
.res-panel{margin-top:4px}
.res-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px dashed var(--ink-700)}
.res-row:first-of-type{border-top:0}
.res-thumb{width:46px;height:30px;object-fit:cover;border-radius:6px;flex:none}
.res-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.res-actions{display:flex;gap:4px;flex:none}
.res-actions form{display:inline}
.res-add{margin-top:10px;padding-top:10px;border-top:1px solid var(--ink-700)}
.res-compact .res-add{margin-top:6px}
.res-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin-top:10px;max-height:320px;overflow:auto;padding:2px}
.res-pick-item{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--ink-700);border-radius:10px;background:var(--ink-900);cursor:pointer;text-align:left;color:inherit;font:inherit}
.res-pick-item:hover{border-color:var(--amber-400)}
.res-pick-item:has(input:checked){border-color:var(--amber-400);background:var(--ink-800)}
.res-pick-item input{flex:none}
.res-pick-item img{width:56px;height:36px;object-fit:cover;border-radius:6px;flex:none}
.res-pick-text{display:grid;min-width:0}
.res-pick-text b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}
.imgpick-lib{margin-top:8px}
/* Student library */
.mylib-group{margin-top:22px}
.mylib-group h2{font-size:1.1rem;margin:0 0 10px}
.mylib-list{display:grid;gap:8px}
.mylib-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--ink-900);border:1px solid var(--ink-700);border-radius:12px;color:inherit}
.mylib-row:hover{border-color:var(--amber-400);text-decoration:none}
.mylib-row .res-kind{flex:none}
.mylib-text{flex:1;min-width:0}
.mylib-text b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mylib-text .small{display:block;color:var(--ink-400)}
@media (max-width:640px){.res-row{flex-wrap:wrap}.res-text{white-space:normal;flex-basis:100%}.res-pick{grid-template-columns:1fr}}
.session-resources{padding:0 0 14px 12px;border-left:3px solid var(--ink-700);margin:-4px 0 6px}
.res-add input[type=file],#lib-upload input[type=file]{background:var(--ink-900);border:1px solid var(--ink-700);border-radius:10px;padding:8px 10px;color:var(--ink-300);font-size:.9rem}
.res-add input[type=file]::file-selector-button,#lib-upload input[type=file]::file-selector-button{background:var(--ink-700);color:var(--ink-100);border:0;border-radius:7px;padding:6px 12px;margin-right:10px;font:inherit;cursor:pointer}
.res-add input[type=text],.res-add input[type=url],.res-add input[type=search]{margin:0}

/* Mega menu (fix 103) */
.site-header{overflow:visible}
.nav{position:static}
.mega{position:static}
.mega-btn{background:none;border:0;color:var(--ink-200);font:inherit;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:8px 2px;border-radius:6px}
.mega-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.mega-btn:hover,.mega-btn[aria-expanded="true"],.mega-btn.is-here{color:var(--amber-300)}
.mega-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.mega-panel{position:absolute;left:0;right:0;top:100%;background:#110f0b;border-bottom:1px solid var(--ink-700);box-shadow:0 30px 60px -20px rgba(0,0,0,.7);z-index:30;opacity:0;transform:translateY(-8px);transition:opacity .22s ease,transform .22s ease;pointer-events:none}
.mega-panel.show{opacity:1;transform:none;pointer-events:auto}
.site-header .mega-inner{display:grid;height:auto;justify-content:normal;gap:32px;padding:28px 0 32px;align-items:start}
.mega-learn,.mega-work{grid-template-columns:1.2fr 1fr}
.mega-resources{grid-template-columns:.8fr 1.2fr 1fr}
.mega-col{min-width:0}
.mega-links{display:grid;gap:4px}
.mega-link{display:flex;gap:14px;align-items:flex-start;padding:12px 14px;border-radius:12px;color:var(--ink-100);transition:background .18s,transform .18s}
.mega-link:hover,.mega-link[aria-current]{background:var(--ink-800);text-decoration:none;transform:translateX(2px)}
.mega-link b{display:block;font-weight:700;font-size:.98rem}
.mega-link small{display:block;color:var(--ink-400);font-size:.84rem;line-height:1.35;margin-top:2px}
.mega-ico{width:22px;height:22px;flex:none;color:var(--amber-400);margin-top:2px}
.mega-ico-big{width:48px;height:48px;color:var(--amber-400)}
.mega-eyebrow{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-400);font-weight:700;margin-bottom:8px}
.mega-card{display:grid;grid-template-columns:150px 1fr;gap:16px;background:var(--ink-900);border:1px solid var(--ink-700);border-radius:16px;overflow:hidden;color:var(--ink-100);transition:border-color .2s,transform .2s}
.mega-card:hover{border-color:var(--amber-500);text-decoration:none;transform:translateY(-2px)}
.mega-card-img{display:block;min-height:150px;background:var(--ink-800) center/cover no-repeat}
.mega-card-img-plain{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,rgba(242,169,59,.22),transparent 65%),var(--ink-800)}
.mega-card-body{display:flex;flex-direction:column;gap:4px;padding:16px 16px 16px 0}
.mega-card-body b{font-size:1.05rem;line-height:1.25}
.mega-card-body small{color:var(--ink-400);font-size:.84rem;line-height:1.35}
.mega-cta{margin-top:auto;padding-top:8px;color:var(--amber-300);font-weight:700;font-size:.9rem}
.mega-posts{display:grid;gap:6px;align-content:start}
.mega-posts .mega-eyebrow{margin-bottom:4px}
.mega-post{display:grid;grid-template-columns:84px 1fr;gap:12px;align-items:center;padding:6px;border-radius:12px;color:var(--ink-100);transition:background .18s}
.mega-post:hover{background:var(--ink-800);text-decoration:none}
.mega-post-img{display:block;aspect-ratio:16/10;border-radius:8px;background:var(--ink-800) center/cover no-repeat}
.mega-post b{display:block;font-size:.92rem;line-height:1.3;font-weight:600}
.mega-post small{display:block;color:var(--ink-400);font-size:.8rem;margin-top:2px}
.mega-note{background:var(--ink-900);border:1px solid var(--ink-700);border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.mega-note b{font-size:1.05rem;word-break:break-all}
.mega-note small{color:var(--ink-400);line-height:1.4}
html[data-theme="light"] .mega-panel{background:#faf8f2}
@media (prefers-reduced-motion:reduce){.mega-panel,.mega-link,.mega-card,.mega-btn svg{transition:none}}
@media (max-width:1100px){.mega-resources{grid-template-columns:1fr 1.3fr}.mega-resources .mega-feature{display:none}}
/* Mobile accordion */
.mob-group{border-top:1px solid var(--ink-800)}
.mob-group summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:12px 0;font-weight:600;color:var(--ink-100)}
.mob-group summary::-webkit-details-marker{display:none}
.mob-group summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.mob-group[open] summary svg{transform:rotate(180deg)}
.mob-links{display:grid;gap:2px;padding-bottom:8px}
.site-header .mobile-nav .mob-links a.mega-link{display:flex;gap:12px;align-items:flex-start;padding:9px 6px;border:0}
.mobile-nav > .wrap > a{padding:12px 0;border-top:1px solid var(--ink-800)}

/* Admin side menu: collapsible groups, search, user chip (fix 103) */
.side-search{padding:6px 8px 8px}
.side-search input{width:100%;background:var(--ink-900);border:1px solid var(--ink-700);border-radius:9px;padding:8px 10px;color:var(--ink-100);font-size:.86rem;margin:0}
html[data-side="collapsed"] .side-search{display:none}
.app-side button.group{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:0;cursor:pointer;font:inherit;text-align:left}
.app-side button.group:hover{color:var(--ink-300)}
.grp-chev{flex:none;transition:transform .2s;opacity:.7}
.app-side button.group[aria-expanded="false"] .grp-chev{transform:rotate(-90deg)}
html[data-side="collapsed"] .grp-chev{display:none}
.side-nav .item.grp-hidden{display:none}
html[data-side="collapsed"] .side-nav .item.grp-hidden{display:flex}
.side-nomatch{padding:10px 12px}
.user-chip{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid transparent;border-radius:999px;padding:4px 10px 4px 6px;color:var(--ink-300);cursor:pointer;font:inherit}
.user-chip:hover,.user-chip[aria-expanded="true"]{border-color:var(--ink-700);color:var(--ink-100)}
.user-chip .ico{width:18px;height:18px}
.user-menu{right:auto;left:0;width:280px}
.user-menu .dot{background:var(--ink-600)}
@media (max-width:640px){.user-chip .small{display:none}}

/* Featured next cohort (fix 106) */
.cohort-feature{display:grid;grid-template-columns:minmax(260px,5fr) 7fr;background:var(--ink-900);border:1px solid var(--ink-700);border-radius:var(--radius-lg);overflow:hidden;position:relative;margin-bottom:28px}
.cohort-feature.featured{border-color:var(--amber-600);box-shadow:0 0 0 1px var(--amber-600),0 20px 40px rgba(0,0,0,.3)}
.cohort-feature-img{display:block;min-height:280px;background:var(--ink-800) center/cover no-repeat;position:relative}
.cohort-feature-img .ribbon{position:absolute;top:14px;left:14px;background:var(--amber-500);color:var(--ink-950);font:700 .72rem var(--font-body);padding:5px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em}
.cohort-feature-body{padding:28px 30px;display:flex;flex-direction:column;gap:6px;min-width:0}
.cohort-feature-body .tag{color:var(--amber-400);font-size:.85rem;font-weight:600}
.cohort-feature-body h3{font-size:1.7rem;margin:0;line-height:1.15}
.cohort-feature-dates{margin:0;color:var(--ink-300)}
.cohort-feature-dates b{color:var(--ink-100)}
.cohort-feature-sessions{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:6px;color:var(--ink-200);font-size:.95rem}
.cohort-feature-sessions li{padding:8px 0;border-top:1px dashed var(--ink-800)}
.cohort-feature-sessions span{display:inline-block;min-width:92px;color:var(--ink-100);font-weight:600}
.cohort-feature-foot{margin-top:auto;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cohort-feature-foot .price{font:800 2rem var(--font-display);margin:0}
.cohort-feature-foot .price small{font:500 .9rem var(--font-body);color:var(--ink-400)}
.cohort-group-head{font-size:1.05rem;color:var(--ink-300);margin:22px 0 12px;font-weight:600}
@media (max-width:760px){.cohort-feature{grid-template-columns:1fr}.cohort-feature-img{min-height:200px;aspect-ratio:16/9}.cohort-feature-body{padding:22px 20px}}

/* Admin cohorts list (fix 107) */
.nextup{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:linear-gradient(135deg,var(--ink-900),var(--ink-800));border:1px solid var(--amber-600);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:18px;box-shadow:0 0 0 1px rgba(242,169,59,.15),0 16px 40px rgba(0,0,0,.25)}
.nextup.is-live{border-color:#5fcf8f;box-shadow:0 0 0 1px rgba(95,207,143,.25),0 16px 40px rgba(0,0,0,.25)}
.nextup h2{margin:4px 0 6px;font-size:1.5rem}
.nextup h2 a{color:var(--ink-100)}
.nextup-when{margin:0;color:var(--ink-200)}
.nextup-actions{display:flex;gap:8px;flex-wrap:wrap}
.live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#5fcf8f;box-shadow:0 0 0 0 rgba(95,207,143,.6);animation:livepulse 1.4s ease-out infinite;vertical-align:middle;margin-right:4px}
@keyframes livepulse{to{box-shadow:0 0 0 9px rgba(95,207,143,0)}}
.row-next td{background:rgba(242,169,59,.06)}
.row-ended td{opacity:.6}
.coh-actions{white-space:nowrap}
.coh-actions > *{margin-left:4px}
.dup-row td{background:var(--ink-900);border-top:0;padding-top:0}
html[data-theme="light"] .nextup{background:linear-gradient(135deg,#fff,#f7f1e3)}
@media (prefers-reduced-motion:reduce){.live-dot{animation:none}}
.coh-filters input[type=search]{flex:1 1 220px;width:auto;max-width:360px}
.coh-filters select{width:auto;flex:0 0 auto;min-width:150px}
.coh-table th{white-space:nowrap}
.coh-table td:nth-child(2){white-space:nowrap}
.coh-table td:first-child{min-width:220px}.coh-table td:nth-child(2){white-space:normal;min-width:120px}
.nco-banner{z-index:15}

/* Wide screens (fix 110): foreground silhouettes on both edges of every hero so the scene fills the width, and the home mockup slides right. */
.hero-edge{display:none;position:absolute;bottom:-4px;width:clamp(180px,calc((100vw - 1120px) / 2 - 24px),520px);height:min(560px,82%);background:no-repeat bottom/contain;z-index:1;pointer-events:none;filter:drop-shadow(0 0 24px rgba(242,169,59,.12))}
.hero-edge-l{left:0;background-position:left bottom;background-image:url('/assets/img/hero/edge-left.svg')}
.hero-edge-r{right:0;background-position:right bottom;background-image:url('/assets/img/hero/edge-right.svg')}
.hero-motion .hero-edge{animation:hero-edge-sway 14s ease-in-out infinite alternate;transform-origin:bottom center}
@keyframes hero-edge-sway{to{transform:translateY(2px) rotate(.25deg)}}
@media (min-width:1300px){.hero-edge{display:block}}
@media (min-width:1440px){.hero-edge-l{left:0}.hero-edge-r{right:0}.hero-grid{gap:56px}.hero-art{margin-right:-120px}}
@media (min-width:1700px){.hero-art{margin-right:-180px}}
html[data-theme="light"] .hero-edge{opacity:.55}
@media (prefers-reduced-motion:reduce){.hero-motion .hero-edge{animation:none}}
.pw-wrap{position:relative;display:block}
.pw-wrap input{padding-right:44px;width:100%}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--ink-400);cursor:pointer;padding:6px;border-radius:6px;display:inline-flex;line-height:0}
.pw-toggle:hover,.pw-toggle:focus-visible{color:var(--amber-400);outline:none;background:var(--ink-800)}
