/* ════════════════════════════════════════════════════════════
   Kairos Physio — Self-Assessment, site-matched dark theme
   Same selectors as engine source; visuals remapped to site tokens.
   ════════════════════════════════════════════════════════════ */
:root{
  --teal:#2FC1B2;--teal-deep:#26A395;--teal-glow:rgba(47,193,178,0.35);
  --bg:#0A1116;--bg-2:#0F1B22;--bg-3:#14242C;
  --ink:#0a1013;--fg:#e9edee;--fg-dim:#9aa7ac;--fg-mute:#6b7a81;
  --line:rgba(255,255,255,0.08);--line-strong:rgba(255,255,255,0.14);
  --card:rgba(255,255,255,0.035);--card-2:rgba(255,255,255,0.055);

  /* engine var names, remapped */
  --cream:#0A1116;--warm-white:#0F1B22;
  --charcoal:#e9edee;--charcoal-soft:#b9c4c8;
  --sage:#2FC1B2;--sage-light:rgba(47,193,178,0.09);--sage-mid:rgba(47,193,178,0.35);
  --terracotta:#e8a87c;--terracotta-light:rgba(232,168,124,0.1);
  --gold:#2FC1B2;--gold-dark:#26A395;--gold-light:rgba(47,193,178,0.1);
  --green:#5fcf8f;--green-bg:rgba(95,207,143,0.1);--green-line:rgba(95,207,143,0.3);
  --red:#ff8177;--red-light:rgba(255,107,97,0.09);--red-line:rgba(255,107,97,0.3);
  --amber:#f0b35c;--amber-light:rgba(240,179,92,0.09);--amber-line:rgba(240,179,92,0.3);
  --blue:#7cbcec;--blue-light:rgba(124,188,236,0.08);--blue-line:rgba(124,188,236,0.28);
  --premium:#2FC1B2;--premium-light:rgba(47,193,178,0.08);
  --locked-bg:#0F1B22;
  --border:rgba(255,255,255,0.1);
  --shadow:0 1px 0 rgba(255,255,255,0.04) inset,0 24px 48px -28px rgba(0,0,0,0.55);
  --shadow-hover:0 1px 0 rgba(255,255,255,0.06) inset,0 30px 60px -28px rgba(0,0,0,0.7);
  --radius:10px;--radius-sm:6px;
  --font-serif:"Archivo",-apple-system,sans-serif;
  --font-sans:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --ease:cubic-bezier(0.22,1,0.36,1);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-sans);background:var(--bg);color:var(--fg);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.55;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}

/* ── SITE NAV (static version of Kairos chrome) ── */
.knav{position:sticky;top:0;z-index:200;padding:14px 28px;background:rgba(10,20,25,0.78);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border-bottom:1px solid var(--line);}
.knav-inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--font-serif);font-size:1.1rem;letter-spacing:-0.01em;line-height:1;}
.brand-mark{width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,0.12),0 0 20px var(--teal-glow);overflow:hidden;display:grid;place-items:center;flex-shrink:0;}
.brand-mark img{width:100%;height:100%;object-fit:cover;}
.brand-name{display:flex;flex-direction:column;line-height:1;white-space:nowrap;}
.brand-name small{font-family:var(--font-mono);font-size:0.6rem;letter-spacing:0.22em;color:var(--fg-dim);text-transform:uppercase;margin-top:3px;}
.knav-right{display:flex;align-items:center;gap:8px;}
.knav-link{padding:10px 14px;font-size:0.88rem;color:var(--fg-dim);border-radius:4px;transition:color .2s var(--ease),background .2s var(--ease);white-space:nowrap;background:none;border:0;}
.knav-link:hover{color:var(--fg);background:rgba(255,255,255,0.04);}
.hbadge{background:transparent;color:var(--fg-mute);font-family:var(--font-mono);font-size:0.62rem;font-weight:500;padding:6px 12px;border-radius:4px;letter-spacing:0.12em;text-transform:uppercase;border:1px solid var(--line);}
.hbadge:hover{color:var(--teal);border-color:var(--teal);}

main{max-width:760px;margin:0 auto;padding:40px 20px 90px;}

.screen{display:none;animation:fadeSlide 0.4s var(--ease);}
.screen.active{display:block;}
@keyframes fadeSlide{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes slideUp{from{transform:translateY(60px);opacity:0;}to{transform:translateY(0);opacity:1;}}

.progress-wrap{background:var(--line);border-radius:4px;height:3px;margin-bottom:34px;overflow:hidden;}
.progress-bar{height:100%;background:linear-gradient(90deg,var(--teal-deep),var(--teal));border-radius:4px;transition:width 0.5s var(--ease);}

.breadcrumb{font-family:var(--font-mono);font-size:0.66rem;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--teal);margin-bottom:10px;display:flex;align-items:center;gap:10px;}
.breadcrumb::before{content:'';width:20px;height:1px;background:var(--teal);}

/* ── HERO ── */
.hero-strip{background:linear-gradient(135deg,var(--bg-2) 0%,var(--bg-3) 100%);border:1px solid var(--line);border-radius:var(--radius);padding:38px 32px;color:var(--fg);margin-bottom:28px;position:relative;overflow:hidden;box-shadow:var(--shadow);}
.hero-strip::before{content:'';position:absolute;right:-40px;top:-40px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(47,193,178,0.12) 0%,transparent 70%);}
.hero-strip h1{font-family:var(--font-serif);font-weight:500;font-size:clamp(1.7rem,4vw,2.3rem);letter-spacing:-0.015em;line-height:1.12;margin-bottom:12px;position:relative;text-wrap:balance;}
.hero-strip h1 em{color:var(--teal);font-style:italic;}
.hero-strip p{font-size:0.9rem;color:var(--fg-dim);font-weight:300;line-height:1.65;max-width:520px;position:relative;text-wrap:pretty;}
.steps-row{display:flex;gap:7px;margin-top:18px;flex-wrap:wrap;position:relative;}
.step-chip{background:rgba(255,255,255,0.05);border:1px solid var(--line);border-radius:4px;padding:5px 13px;font-size:0.73rem;color:var(--fg-dim);font-weight:300;}
.step-chip span{color:var(--teal);font-family:var(--font-mono);font-size:0.66rem;font-weight:500;margin-right:5px;}

/* ── PILLS ── */
.pill{border-radius:var(--radius-sm);padding:13px 16px;font-size:0.8rem;line-height:1.55;margin-bottom:20px;display:flex;gap:10px;align-items:flex-start;}
.pill .wi{font-size:0.95rem;flex-shrink:0;margin-top:1px;}
.pill-warn{background:var(--amber-light);border:1px solid var(--amber-line);color:var(--amber);}
.pill-info{background:var(--sage-light);border:1px solid var(--sage-mid);color:var(--teal);}
.pill-red{background:var(--red-light);border:1px solid var(--red-line);color:var(--red);}
.pill-amber{background:var(--amber-light);border:1px solid var(--amber-line);color:var(--amber);}
.pill-blue{background:var(--blue-light);border:1px solid var(--blue-line);color:var(--blue);}
.pill-success{background:var(--green-bg);border:1px solid var(--green-line);color:var(--green);}

/* ── REGISTRATION FORM ── */
.reg-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);margin-bottom:20px;}
.reg-card h2{font-family:var(--font-serif);font-weight:500;font-size:1.5rem;margin-bottom:6px;line-height:1.25;letter-spacing:-0.015em;}
.reg-card p{font-size:0.85rem;color:var(--fg-dim);margin-bottom:24px;font-weight:300;line-height:1.6;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:8px;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group.full{grid-column:1/-1;}
.form-label{font-family:var(--font-mono);font-size:0.64rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--fg-dim);}
.form-input{background:rgba(255,255,255,0.04);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:12px 15px;font-family:var(--font-sans);font-size:0.9rem;color:var(--fg);outline:none;transition:border-color 0.2s,background 0.2s;}
.form-input::placeholder{color:var(--fg-mute);}
.form-input:focus{border-color:var(--teal);background:rgba(47,193,178,0.04);}
.form-select{appearance:none;background:rgba(255,255,255,0.04) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239aa7ac' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") right 12px center no-repeat;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:12px 34px 12px 15px;font-family:var(--font-sans);font-size:0.9rem;color:var(--fg);outline:none;cursor:pointer;transition:border-color 0.2s;}
.form-select:focus{border-color:var(--teal);}
.form-select option{background:var(--bg-2);color:var(--fg);}
.reg-privacy{font-size:0.72rem;color:var(--fg-mute);margin-top:14px;font-weight:300;}

/* ── NPRS PAIN SCALE ── */
.pain-scale-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);margin-bottom:16px;}
.pain-scale-card h3{font-family:var(--font-serif);font-weight:500;font-size:1.2rem;margin-bottom:6px;letter-spacing:-0.01em;}
.pain-scale-card p{font-size:0.82rem;color:var(--fg-dim);margin-bottom:20px;font-weight:300;line-height:1.55;}
.pain-scale{display:flex;gap:6px;flex-wrap:wrap;}
.pain-btn{width:44px;height:44px;border-radius:50%;border:2px solid var(--line-strong);background:rgba(255,255,255,0.03);font-weight:600;font-size:0.9rem;cursor:pointer;transition:all 0.15s;font-family:var(--font-sans);color:var(--fg);}
.pain-btn:hover{transform:scale(1.1);}
.pain-btn[data-level="0"]{border-color:#27ae60;}
.pain-btn[data-level="1"],.pain-btn[data-level="2"]{border-color:#2ecc71;}
.pain-btn[data-level="3"],.pain-btn[data-level="4"]{border-color:#f39c12;}
.pain-btn[data-level="5"],.pain-btn[data-level="6"]{border-color:#e67e22;}
.pain-btn[data-level="7"],.pain-btn[data-level="8"]{border-color:#e74c3c;}
.pain-btn[data-level="9"],.pain-btn[data-level="10"]{border-color:#c0392b;}
.pain-btn.selected{color:#fff;transform:scale(1.12);}
.pain-btn[data-level="0"].selected,.pain-btn[data-level="1"].selected,.pain-btn[data-level="2"].selected{background:#27ae60;border-color:#27ae60;}
.pain-btn[data-level="3"].selected,.pain-btn[data-level="4"].selected{background:#f39c12;border-color:#f39c12;}
.pain-btn[data-level="5"].selected,.pain-btn[data-level="6"].selected{background:#e67e22;border-color:#e67e22;}
.pain-btn[data-level="7"].selected,.pain-btn[data-level="8"].selected{background:#e74c3c;border-color:#e74c3c;}
.pain-btn[data-level="9"].selected,.pain-btn[data-level="10"].selected{background:#c0392b;border-color:#c0392b;}
.pain-labels{display:flex;justify-content:space-between;margin-top:10px;font-family:var(--font-mono);font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--fg-mute);}
.pain-feedback{margin-top:12px;font-size:0.84rem;font-weight:500;min-height:20px;transition:all 0.2s;}

/* ── FUNCTIONAL SCALE ── */
.func-scale-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);margin-bottom:16px;}
.func-scale-card h3{font-family:var(--font-serif);font-weight:500;font-size:1.15rem;margin-bottom:16px;}
.func-item{margin-bottom:16px;}
.func-item-label{font-size:0.84rem;font-weight:500;margin-bottom:8px;color:var(--charcoal-soft);}
.func-scale{display:flex;gap:5px;}
.func-btn{flex:1;padding:9px 0;border-radius:4px;border:1px solid var(--line-strong);background:transparent;font-size:0.73rem;cursor:pointer;transition:all 0.15s;font-family:var(--font-sans);font-weight:500;color:var(--fg-dim);}
.func-btn:hover{border-color:var(--teal);background:var(--sage-light);color:var(--teal);}
.func-btn.selected{background:var(--teal);border-color:var(--teal);color:#052024;font-weight:600;}

/* ── REGION GRID ── */
.region-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px;margin-bottom:26px;}
.region-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 12px 14px;cursor:pointer;transition:all 0.2s var(--ease);display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;}
.region-card:hover{border-color:var(--teal);background:rgba(47,193,178,0.05);box-shadow:0 0 24px -6px var(--teal-glow);transform:translateY(-3px);}
.rsketch{width:100%;max-width:104px;margin:0 auto 3px;line-height:0;text-align:center;}
.rsketch .region-grid-icon{width:100%;height:auto;border-radius:10px;display:block;box-shadow:0 8px 22px -12px rgba(0,0,0,0.75);}
.rsketch .region-badge-svg{width:60px;height:60px;margin:0 auto;} /* fallback if the .webp fails to load */
.rname{font-family:var(--font-serif);font-size:0.95rem;color:var(--fg);}
.rdesc{font-size:0.7rem;color:var(--fg-mute);line-height:1.35;font-weight:300;}

/* ── QUESTION CARD ── */
.q-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);margin-bottom:16px;}
.q-mode-badge{display:inline-block;font-family:var(--font-mono);font-size:0.58rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;padding:4px 11px;border-radius:4px;margin-bottom:12px;}
.badge-multi{background:var(--blue-light);color:var(--blue);border:1px solid var(--blue-line);}
.badge-single{background:var(--sage-light);color:var(--teal);border:1px solid var(--sage-mid);}
.q-text{font-family:var(--font-serif);font-weight:500;font-size:1.25rem;margin-bottom:18px;line-height:1.3;letter-spacing:-0.01em;text-wrap:balance;}
.opts-list{display:flex;flex-direction:column;gap:8px;}
.q-microfeedback{font-size:0.78rem;color:var(--teal);font-weight:500;margin-top:10px;min-height:18px;transition:all 0.2s;}

.opt-btn,.mopt-btn{background:rgba(255,255,255,0.025);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:13px 16px;text-align:left;font-family:var(--font-sans);font-size:0.89rem;cursor:pointer;transition:all 0.16s var(--ease);color:var(--fg);display:flex;align-items:center;gap:11px;}
.opt-btn::before{content:'';width:15px;height:15px;border-radius:50%;border:2px solid var(--fg-mute);flex-shrink:0;transition:all 0.16s;}
.mopt-btn::before{content:'';width:15px;height:15px;border-radius:4px;border:2px solid var(--fg-mute);flex-shrink:0;background:transparent;}
.opt-btn:hover,.mopt-btn:hover{border-color:var(--teal);background:var(--sage-light);}
.opt-btn.selected{border-color:var(--teal);background:var(--sage-light);font-weight:500;}
.opt-btn.selected::before{border-color:var(--teal);background:var(--teal);}
.mopt-btn.selected{border-color:var(--teal);background:var(--sage-light);font-weight:500;}
.mopt-btn.selected::before{border-color:var(--teal);background:var(--teal);content:'✓';color:#052024;display:flex;align-items:center;justify-content:center;font-size:0.68rem;font-weight:900;}
.opt-btn.none-opt,.mopt-btn.none-opt{border-style:dashed;color:var(--fg-dim);font-style:italic;}
.opt-btn.none-opt.selected,.mopt-btn.none-opt.selected{border-color:var(--terracotta);background:var(--terracotta-light);color:var(--terracotta);}
.opt-btn.redflag-opt{border-color:var(--red-line);background:var(--red-light);color:var(--red);}
.opt-btn.redflag-opt::before{border-color:var(--red);}
.opt-btn.redflag-opt.selected{border-color:var(--red);background:rgba(255,107,97,0.18);}
.opt-btn.redflag-opt.selected::before{background:var(--red);border-color:var(--red);}
.q-hint{font-size:0.75rem;color:var(--fg-mute);margin-top:10px;text-align:center;font-style:italic;}

/* ── REFERRAL ── */
.ref-card{background:var(--bg-2);border:1.5px solid var(--red-line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);margin-bottom:18px;}
.ref-card.amber-card{border-color:var(--amber-line);}
.ref-urgency{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:0.62rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;padding:5px 13px;border-radius:4px;margin-bottom:14px;}
.urg-emergency{background:#c0392b;color:#fff;}
.urg-urgent{background:#c87a1a;color:#fff;}
.urg-soon{background:#7a6b2a;color:#fff;}
.ref-card h2{font-family:var(--font-serif);font-weight:500;font-size:1.5rem;margin-bottom:10px;line-height:1.22;letter-spacing:-0.015em;}
.ref-card p{font-size:0.87rem;color:var(--charcoal-soft);line-height:1.65;font-weight:300;margin-bottom:12px;}
.reason-list{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.reason-item{background:var(--red-light);border:1px solid var(--red-line);border-radius:var(--radius-sm);padding:11px 14px;font-size:0.83rem;color:var(--red);display:flex;gap:8px;}
.reason-item.amber-item{background:var(--amber-light);border-color:var(--amber-line);color:var(--amber);}
.reason-item .ri{flex-shrink:0;}

/* ── RICE/PEACE ── */
.rice-box{background:var(--blue-light);border:1px solid var(--blue-line);border-radius:var(--radius-sm);padding:17px 18px;margin-top:16px;}
.rice-box h4{font-family:var(--font-mono);font-size:0.62rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--blue);margin-bottom:10px;}
.rice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;}
.rice-item{background:rgba(255,255,255,0.04);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:0.8rem;}
.rice-item strong{display:block;color:var(--blue);font-family:var(--font-mono);font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:3px;}
.rice-item span{color:var(--fg-dim);font-weight:300;line-height:1.4;display:block;}

/* ── PROTOCOL ── */
.proto-hdr{background:linear-gradient(135deg,var(--bg-2) 0%,var(--bg-3) 100%);border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;color:var(--fg);margin-bottom:20px;box-shadow:var(--shadow);}
.proto-hdr .crumb{font-family:var(--font-mono);font-size:0.6rem;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--teal);margin-bottom:8px;}
.proto-hdr h2{font-family:var(--font-serif);font-weight:500;font-size:1.7rem;margin-bottom:6px;letter-spacing:-0.015em;}
.proto-hdr p{font-size:0.86rem;color:var(--fg-dim);font-weight:300;line-height:1.55;}
.proto-confidence{display:inline-flex;align-items:center;gap:7px;background:rgba(47,193,178,0.1);border:1px solid rgba(47,193,178,0.3);border-radius:4px;padding:5px 14px;font-size:0.73rem;font-weight:600;color:var(--teal);margin-top:12px;}

.diff-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:15px 17px;margin-bottom:18px;}
.diff-box .dl{font-family:var(--font-mono);font-size:0.6rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--teal);margin-bottom:7px;}
.diff-box p{font-size:0.81rem;color:var(--charcoal-soft);line-height:1.6;font-weight:300;}
.diff-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;}
.diff-tag{background:var(--gold-light);border:1px solid rgba(47,193,178,0.25);border-radius:4px;font-size:0.69rem;color:var(--teal);padding:3px 10px;font-weight:500;}

.sec-label{font-family:var(--font-mono);font-size:0.62rem;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--teal);margin-bottom:12px;margin-top:26px;display:flex;align-items:center;gap:10px;}
.sec-label::before{content:'';flex:1;height:1px;background:var(--line);}

.ex-list{display:flex;flex-direction:column;gap:10px;}
.ex-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:17px 18px;display:flex;gap:14px;align-items:flex-start;}
.ex-num{width:28px;height:28px;border-radius:50%;background:var(--sage-light);color:var(--teal);font-weight:700;font-size:0.8rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--sage-mid);}
.ex-body{flex:1;}
.ex-name{font-weight:600;font-size:0.93rem;margin-bottom:4px;color:var(--fg);}
.ex-desc{font-size:0.81rem;color:var(--fg-dim);line-height:1.55;font-weight:300;}
.ex-meta{margin-top:8px;display:flex;flex-wrap:wrap;gap:5px;align-items:center;}
.ex-dose{display:inline-block;background:var(--gold-light);border:1px solid rgba(47,193,178,0.25);border-radius:4px;font-family:var(--font-mono);font-size:0.62rem;font-weight:500;color:var(--teal);padding:3px 10px;}
.ex-tag{display:inline-block;font-size:0.63rem;padding:2px 8px;border-radius:4px;font-weight:600;letter-spacing:0.04em;}
/* Brand-harmonised tag palette — teal/amber family only (no off-brand purple/coral/blue/green).
   Cool teals for the loading/joint categories, warm ambers for movement/soft-tissue. */
.tag-strength{background:rgba(47,193,178,0.15);color:#4bcabb;}   /* teal (primary) */
.tag-stretch{background:rgba(132,217,205,0.13);color:#8ad9cd;}   /* light teal */
.tag-nerve{background:rgba(95,185,194,0.15);color:#63bcc6;}      /* cool blue-teal */
.tag-balance{background:rgba(99,195,159,0.14);color:#66c6a2;}    /* green-teal */
.tag-mobility{background:rgba(240,179,92,0.16);color:#eeba69;}   /* brand amber */
.tag-release{background:rgba(230,199,149,0.14);color:#e6c795;}   /* soft sand */

/* ── FREE SECTION LABEL ── */
.free-badge{display:inline-flex;align-items:center;gap:5px;background:var(--green-bg);border:1px solid var(--green-line);border-radius:4px;font-family:var(--font-mono);font-size:0.58rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--green);padding:3px 10px;margin-left:8px;}
.free-section-note{background:var(--sage-light);border:1px solid var(--sage-mid);border-radius:var(--radius-sm);padding:11px 14px;font-size:0.79rem;color:var(--teal);margin-bottom:12px;font-style:italic;}

/* ── PREMIUM LOCK ── */
.premium-gate{position:relative;margin-top:22px;}
.premium-blur-wrap{position:relative;border-radius:var(--radius);overflow:hidden;}
.premium-blur-content{filter:blur(4px);pointer-events:none;user-select:none;opacity:0.45;}
.premium-lock-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,25,0) 0%,rgba(10,20,25,0.8) 25%,rgba(10,20,25,0.97) 50%,rgba(10,20,25,1) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 20px 20px;border-radius:var(--radius);z-index:2;}
.lock-icon{font-size:1.8rem;margin-bottom:8px;}
.lock-title{font-family:var(--font-serif);font-weight:500;font-size:1.3rem;color:var(--fg);margin-bottom:6px;text-align:center;letter-spacing:-0.01em;}
.lock-desc{font-size:0.82rem;color:var(--fg-dim);margin-bottom:18px;text-align:center;line-height:1.55;font-weight:300;max-width:360px;}
.btn-unlock{display:inline-flex;align-items:center;gap:8px;background:var(--teal);color:#052024;border:none;border-radius:4px;padding:14px 26px;font-family:var(--font-sans);font-size:0.92rem;font-weight:600;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease);letter-spacing:0.01em;box-shadow:0 0 0 1px rgba(255,255,255,0.2) inset,0 14px 40px -12px var(--teal-glow);}
.btn-unlock:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(255,255,255,0.3) inset,0 18px 48px -12px var(--teal-glow);}
.btn-unlock .price-tag{background:#052024;color:var(--teal);border-radius:4px;padding:2px 10px;font-size:0.78rem;font-weight:700;margin-left:4px;}
.lock-note{font-size:0.72rem;color:var(--fg-mute);margin-top:10px;font-weight:300;}
.what-you-get{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;margin-top:14px;}
.wyg-title{font-family:var(--font-mono);font-size:0.62rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--teal);margin-bottom:10px;}
.wyg-list{display:flex;flex-direction:column;gap:7px;}
.wyg-item{display:flex;align-items:flex-start;gap:9px;font-size:0.83rem;color:var(--charcoal-soft);}
.wyg-check{color:var(--teal);font-size:0.85rem;flex-shrink:0;margin-top:1px;}

/* ── TRY FIRST MESSAGE ── */
.try-first-banner{background:var(--sage-light);border:1px solid var(--sage-mid);border-radius:var(--radius-sm);padding:15px 17px;margin:18px 0;display:flex;gap:11px;align-items:flex-start;}
.try-first-banner .tf-icon{font-size:1.1rem;flex-shrink:0;margin-top:2px;}
.try-first-text strong{display:block;font-size:0.86rem;color:var(--fg);margin-bottom:3px;}
.try-first-text span{font-size:0.79rem;color:var(--fg-dim);font-weight:300;line-height:1.5;}

/* ── PROGRESSION TIMELINE ── */
.progression-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;margin-top:16px;}
.prog-title{font-family:var(--font-mono);font-size:0.62rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--teal);margin-bottom:14px;display:flex;align-items:center;gap:6px;}
.phase-timeline{display:flex;flex-direction:column;gap:0;}
.phase-block{position:relative;padding-left:30px;padding-bottom:22px;}
.phase-block:last-child{padding-bottom:0;}
.phase-block::before{content:'';position:absolute;left:9px;top:24px;bottom:0;width:1.5px;background:var(--line-strong);}
.phase-block:last-child::before{display:none;}
.phase-dot{position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.65rem;font-weight:900;flex-shrink:0;border:2px solid var(--bg);}
.phase-dot.p1{background:rgba(95,207,143,0.18);color:#7fd9a5;border-color:var(--green-line);}
.phase-dot.p2{background:rgba(124,150,236,0.18);color:#a3b3f0;border-color:rgba(124,150,236,0.4);}
.phase-dot.p3{background:rgba(47,193,178,0.15);color:var(--teal);border-color:var(--sage-mid);}
.phase-dot.p4{background:var(--terracotta-light);color:var(--terracotta);border-color:rgba(232,168,124,0.4);}
.phase-header{display:flex;align-items:baseline;gap:8px;margin-bottom:5px;}
.phase-name{font-weight:700;font-size:0.9rem;color:var(--fg);}
.phase-weeks{font-family:var(--font-mono);font-size:0.66rem;color:var(--fg-mute);font-weight:400;}
.phase-goal{font-size:0.8rem;color:var(--fg-dim);font-weight:300;margin-bottom:8px;line-height:1.45;font-style:italic;}
.phase-ex-list{display:flex;flex-direction:column;gap:5px;margin-bottom:8px;}
.phase-ex-item{font-size:0.81rem;color:var(--charcoal-soft);line-height:1.45;display:flex;gap:7px;}
.phase-ex-item::before{content:'→';color:var(--teal);flex-shrink:0;font-weight:600;}
.phase-ex-dose{font-size:0.72rem;color:var(--fg-mute);font-weight:300;}
.phase-criteria{background:var(--sage-light);border-radius:8px;padding:7px 11px;font-size:0.75rem;color:var(--teal);display:flex;gap:6px;align-items:flex-start;}
.phase-criteria::before{content:'✓';font-weight:700;flex-shrink:0;}
.prog-warning{background:var(--red-light);border:1px solid var(--red-line);border-radius:8px;padding:9px 11px;font-size:0.75rem;color:var(--red);margin-top:10px;display:flex;gap:6px;}
.references-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:15px 17px;margin-top:18px;}
.references-box h4{font-family:var(--font-mono);font-size:0.58rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--fg-mute);margin-bottom:8px;}
.references-box ol{padding-left:16px;font-size:0.72rem;color:var(--fg-mute);line-height:1.8;font-weight:300;}
.references-box ol li{margin-bottom:2px;}

/* ── SAFETY ── */
.safety-card{background:var(--red-light);border:1px solid var(--red-line);border-radius:var(--radius-sm);padding:15px 17px;margin-bottom:12px;}
.safety-card h4{font-family:var(--font-mono);font-size:0.62rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--red);margin-bottom:7px;}
.safety-card ul{padding-left:14px;font-size:0.81rem;color:#f3a8a0;line-height:1.8;font-weight:300;}
.no-redflag-banner{background:var(--green-bg);border:1px solid var(--green-line);border-radius:var(--radius-sm);padding:12px 15px;display:flex;gap:9px;align-items:center;font-size:0.81rem;color:var(--green);font-weight:500;margin-bottom:14px;}

.caution-box{background:var(--amber-light);border:1px solid var(--amber-line);border-radius:var(--radius-sm);padding:15px 17px;margin-top:22px;}
.caution-box h4{font-family:var(--font-mono);font-size:0.6rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--amber);margin-bottom:8px;}
.caution-box ul{padding-left:14px;font-size:0.8rem;color:#e8c89a;line-height:1.8;font-weight:300;}

.freq-box{background:var(--sage-light);border:1px solid var(--sage-mid);border-radius:var(--radius-sm);padding:17px 18px;margin-top:20px;}
.freq-box .fl{font-family:var(--font-mono);font-size:0.6rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--teal);margin-bottom:7px;}
.freq-box p{font-size:0.83rem;color:var(--charcoal-soft);line-height:1.7;}

/* ── ASSESSMENT REPORT ── */
.report-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);margin-bottom:20px;}
.report-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--line);}
.report-branding{display:flex;flex-direction:column;}
.report-branding-name{font-family:var(--font-serif);font-size:1.25rem;color:var(--fg);}
.report-branding-name span{color:var(--teal);}
.report-branding-sub{font-family:var(--font-mono);font-size:0.6rem;color:var(--fg-mute);font-weight:300;letter-spacing:0.18em;text-transform:uppercase;margin-top:3px;}
.report-date{font-family:var(--font-mono);font-size:0.64rem;color:var(--fg-mute);text-align:right;font-weight:300;}
.report-section{margin-bottom:20px;}
.report-section-title{font-family:var(--font-mono);font-size:0.6rem;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--teal);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(47,193,178,0.2);}
.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.report-field{display:flex;flex-direction:column;gap:2px;}
.report-field label{font-family:var(--font-mono);font-size:0.58rem;color:var(--fg-mute);text-transform:uppercase;letter-spacing:0.1em;font-weight:500;}
.report-field span{font-size:0.87rem;color:var(--fg);font-weight:500;}
.report-score-row{display:flex;gap:12px;flex-wrap:wrap;}
.report-score{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 17px;display:flex;flex-direction:column;gap:3px;}
.report-score .rs-label{font-family:var(--font-mono);font-size:0.58rem;color:var(--fg-mute);text-transform:uppercase;letter-spacing:0.1em;}
.report-score .rs-value{font-family:var(--font-serif);font-size:1.45rem;color:var(--fg);}
.report-score.pain-high .rs-value{color:var(--red);}
.report-score.pain-mid .rs-value{color:var(--amber);}
.report-score.pain-low .rs-value{color:var(--green);}
.report-diagnosis-box{background:linear-gradient(135deg,#11252c 0%,#16313a 100%);border:1px solid rgba(47,193,178,0.25);border-radius:var(--radius-sm);padding:17px 19px;color:var(--fg);}
.report-diagnosis-box .rd-label{font-family:var(--font-mono);font-size:0.58rem;color:var(--teal);letter-spacing:0.16em;text-transform:uppercase;font-weight:500;margin-bottom:5px;}
.report-diagnosis-box .rd-title{font-family:var(--font-serif);font-size:1.15rem;margin-bottom:4px;}
.report-diagnosis-box .rd-conf{font-size:0.76rem;color:var(--fg-dim);font-weight:300;}
.report-tags{display:flex;flex-wrap:wrap;gap:5px;}
.report-tag{background:var(--card);border:1px solid var(--line-strong);border-radius:4px;font-size:0.72rem;color:var(--charcoal-soft);padding:3px 11px;}
.redflag-status{display:inline-flex;align-items:center;gap:6px;border-radius:4px;padding:6px 14px;font-size:0.75rem;font-weight:600;}
.rf-clear{background:var(--green-bg);color:var(--green);border:1px solid var(--green-line);}
.rf-flagged{background:var(--amber-light);color:var(--amber);border:1px solid var(--amber-line);}

/* ── UNABLE ── */
.utd-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);}
.utd-icon{font-size:2.2rem;margin-bottom:12px;}
.utd-card h2{font-family:var(--font-serif);font-weight:500;font-size:1.45rem;margin-bottom:9px;line-height:1.22;letter-spacing:-0.015em;}
.utd-card p{font-size:0.87rem;color:var(--fg-dim);line-height:1.65;font-weight:300;margin-bottom:12px;}
.utd-diffs{display:flex;flex-direction:column;gap:7px;margin-top:14px;}
.utd-diff-item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 15px;font-size:0.82rem;line-height:1.5;}
.utd-diff-item strong{color:var(--fg);display:block;margin-bottom:2px;}
.utd-diff-item span{color:var(--fg-dim);font-weight:300;}

/* ── BUTTONS ── */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--teal);color:#052024;border:none;border-radius:4px;padding:14px 26px;font-family:var(--font-sans);font-size:0.9rem;font-weight:600;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease);margin-top:16px;box-shadow:0 0 0 1px rgba(255,255,255,0.2) inset,0 14px 40px -12px var(--teal-glow);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(255,255,255,0.3) inset,0 18px 48px -12px var(--teal-glow);}
.btn-ghost{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--fg);border:1px solid var(--line-strong);border-radius:4px;padding:11px 20px;font-family:var(--font-sans);font-size:0.84rem;cursor:pointer;transition:all 0.2s var(--ease);margin-top:16px;margin-right:9px;}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal);background:rgba(47,193,178,0.06);}
.btn-cta{display:inline-flex;align-items:center;gap:8px;background:var(--teal);color:#052024;border:none;border-radius:4px;padding:14px 24px;font-family:var(--font-sans);font-size:0.89rem;font-weight:600;cursor:pointer;transition:transform 0.2s var(--ease);margin-top:16px;text-decoration:none;box-shadow:0 0 0 1px rgba(255,255,255,0.2) inset,0 14px 40px -12px var(--teal-glow);}
.btn-cta:hover{transform:translateY(-2px);}
.btn-cta-red{background:#e05a4e;color:#fff;box-shadow:none;}
.btn-cta-red:hover{background:#c94b40;}
.btn-row{display:flex;flex-wrap:wrap;align-items:center;}

.section-intro{font-size:0.85rem;color:var(--fg-dim);font-weight:300;margin-bottom:16px;line-height:1.6;text-wrap:pretty;}
.condition-count{display:inline-flex;align-items:center;gap:6px;background:var(--gold-light);border:1px solid rgba(47,193,178,0.25);border-radius:4px;font-family:var(--font-mono);font-size:0.64rem;font-weight:500;color:var(--teal);padding:5px 13px;margin-bottom:16px;}

/* ── IMPROVE NUDGE ── */
.improve-nudge{background:var(--premium-light);border:1px solid rgba(47,193,178,0.25);border-radius:var(--radius-sm);padding:15px 17px;margin-top:20px;display:flex;gap:11px;align-items:flex-start;}
.improve-nudge .in-icon{font-size:1rem;flex-shrink:0;margin-top:2px;}
.improve-nudge strong{display:block;font-size:0.84rem;color:var(--teal);margin-bottom:3px;}
.improve-nudge span{font-size:0.78rem;color:var(--fg-dim);font-weight:300;line-height:1.5;}
.btn-nudge{display:inline-flex;align-items:center;gap:6px;background:var(--teal);color:#052024;border:none;border-radius:4px;padding:9px 17px;font-family:var(--font-sans);font-size:0.78rem;font-weight:600;cursor:pointer;transition:all 0.2s;margin-top:9px;}
.btn-nudge:hover{transform:translateY(-1px);}

/* ── v9 ADDITIONS ── */
.tier-badge{display:inline-flex;align-items:center;gap:5px;border-radius:4px;padding:3px 11px;font-family:var(--font-mono);font-size:0.58rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;margin-left:8px;}
.tier-A{background:rgba(95,207,143,0.15);border:1px solid var(--green-line);color:var(--green);}
.tier-B{background:rgba(240,179,92,0.12);border:1px solid var(--amber-line);color:var(--amber);}
.tier-A-light{background:rgba(95,207,143,0.15);color:var(--green);border:1px solid var(--green-line);}
.tier-B-light{background:rgba(240,179,92,0.12);color:var(--amber);border:1px solid var(--amber-line);}

.clinical-summary{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:15px 17px;margin-top:14px;margin-bottom:18px;}
.clinical-summary .cs-label{font-family:var(--font-mono);font-size:0.58rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--teal);margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.clinical-summary .cs-label::after{content:'';flex:1;height:1px;background:var(--line);}
.cs-grid{display:flex;flex-wrap:wrap;gap:8px;}
.cs-pill{flex:1 1 240px;background:rgba(255,255,255,0.03);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 13px;font-size:0.78rem;line-height:1.45;color:var(--charcoal-soft);}
.cs-pill strong{display:block;font-family:var(--font-mono);font-size:0.56rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--fg-mute);margin-bottom:4px;}

.diff-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.diff-row .dchip{background:var(--gold-light);border:1px solid rgba(47,193,178,0.25);border-radius:4px;font-size:0.7rem;color:var(--teal);padding:3px 11px;font-weight:500;}

.reasoning-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 18px;margin-bottom:16px;}
.reasoning-card .rc-label{font-family:var(--font-mono);font-size:0.58rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--teal);margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.reasoning-rule{display:flex;gap:8px;align-items:flex-start;margin-bottom:6px;font-size:0.8rem;color:var(--charcoal-soft);line-height:1.5;}
.reasoning-rule .rr-tick{color:var(--teal);font-weight:700;flex-shrink:0;margin-top:1px;}
.reasoning-rule .rr-cross{color:var(--fg-mute);flex-shrink:0;margin-top:1px;}

.primary-cite{display:inline-flex;align-items:center;gap:5px;background:rgba(47,193,178,0.08);border:1px solid rgba(47,193,178,0.22);border-radius:4px;padding:2px 10px;font-size:0.64rem;color:var(--teal);font-weight:500;letter-spacing:0.02em;margin-left:6px;font-style:italic;}

.phase-criteria-checkin{background:var(--sage-light);border:1px solid var(--sage-mid);border-radius:10px;padding:10px 13px;margin-top:8px;display:flex;gap:10px;align-items:flex-start;cursor:pointer;transition:all 0.15s;}
.phase-criteria-checkin:hover{background:rgba(47,193,178,0.14);}
.phase-criteria-checkin.met{background:rgba(47,193,178,0.2);border-color:var(--teal);}
.pcc-box{width:18px;height:18px;border:2px solid var(--teal);border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:transparent;margin-top:1px;}
.phase-criteria-checkin.met .pcc-box{background:var(--teal);border-color:var(--teal);}
.phase-criteria-checkin.met .pcc-box::after{content:'✓';color:#052024;font-weight:700;font-size:0.78rem;}
.pcc-text{flex:1;font-size:0.77rem;color:var(--charcoal-soft);line-height:1.45;}
.pcc-text strong{font-family:var(--font-mono);font-size:0.58rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;display:block;margin-bottom:2px;color:var(--teal);}

.phase-block.is-current{background:rgba(255,255,255,0.03);border-radius:10px;padding-top:10px;padding-bottom:16px;margin-bottom:8px;border-left:2px solid var(--teal);padding-left:20px;}
.phase-block.is-current .phase-name::after{content:'CURRENT';display:inline-block;background:var(--teal);color:#052024;font-family:var(--font-mono);font-size:0.5rem;font-weight:700;letter-spacing:0.12em;padding:2px 8px;border-radius:10px;margin-left:8px;vertical-align:middle;}
.phase-block.is-completed .phase-name::after{content:'✓ DONE';display:inline-block;background:var(--green);color:#052024;font-family:var(--font-mono);font-size:0.5rem;font-weight:700;letter-spacing:0.12em;padding:2px 8px;border-radius:10px;margin-left:8px;vertical-align:middle;}
.phase-block.is-completed{opacity:0.6;}

.imm-mgmt-box{background:var(--blue-light);border:1px solid var(--blue-line);border-radius:var(--radius-sm);padding:17px 18px;margin-top:16px;margin-bottom:14px;}
.imm-mgmt-box h4{font-family:var(--font-mono);font-size:0.62rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--blue);margin-bottom:4px;}
.imm-mgmt-box .imm-sub{font-size:0.73rem;color:var(--fg-dim);font-weight:300;margin-bottom:10px;}
.imm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;}
.imm-card{background:rgba(255,255,255,0.04);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:0.8rem;border-left:3px solid var(--blue);}
.imm-card strong{display:block;color:var(--blue);font-family:var(--font-mono);font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:4px;font-weight:500;}
.imm-card span{color:var(--charcoal-soft);font-weight:300;line-height:1.45;display:block;}

.regress-card{background:var(--amber-light);border:1px solid var(--amber-line);border-radius:var(--radius-sm);padding:14px 17px;margin-top:14px;display:flex;gap:10px;align-items:flex-start;}
.regress-card .rg-icon{font-size:1.1rem;flex-shrink:0;margin-top:1px;}
.regress-card .rg-body{flex:1;}
.regress-card .rg-label{font-family:var(--font-mono);font-size:0.6rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--amber);margin-bottom:3px;}
.regress-card .rg-text{font-size:0.8rem;color:#e8c89a;line-height:1.5;}

.pending-banner{background:var(--amber-light);border:1px dashed var(--amber-line);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:14px;display:flex;gap:8px;align-items:flex-start;font-size:0.75rem;color:var(--amber);line-height:1.45;}
.pending-banner .pb-icon{flex-shrink:0;}
.pending-banner strong{font-weight:700;}

.phase-tracker{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;margin:12px 0 8px;}
.phase-tracker .pt-label{font-family:var(--font-mono);font-size:0.58rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--fg-mute);margin-bottom:8px;display:flex;justify-content:space-between;}
.pt-bar-wrap{display:flex;gap:4px;}
.pt-bar-segment{flex:1;height:6px;background:var(--line);border-radius:3px;}
.pt-bar-segment.done{background:linear-gradient(90deg,var(--green) 0%,rgba(95,207,143,0.6) 100%);}
.pt-bar-segment.current{background:linear-gradient(90deg,var(--teal) 0%,var(--teal-deep) 100%);box-shadow:0 0 10px var(--teal-glow);}
.pt-summary{font-size:0.75rem;color:var(--fg-dim);margin-top:8px;font-weight:400;}

.ex-source{font-size:0.64rem;color:var(--fg-mute);font-style:italic;margin-top:4px;}

.btn-reset-progress{background:transparent;border:1px solid var(--line-strong);color:var(--fg-mute);border-radius:4px;padding:6px 13px;font-size:0.68rem;font-family:var(--font-sans);cursor:pointer;transition:all 0.15s;margin-top:6px;}
.btn-reset-progress:hover{border-color:var(--terracotta);color:var(--terracotta);}

/* ── AUTH ── */
.auth-card{max-width:480px;}
.phone-row{display:flex;align-items:stretch;gap:8px;}
.phone-prefix{display:flex;align-items:center;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:0.8rem;color:var(--fg-dim);background:rgba(255,255,255,0.02);}
.phone-row .form-input{flex:1;}
.pin-input{letter-spacing:0.5em;font-size:1.1rem;text-align:center;max-width:160px;}
.auth-error{background:var(--red-light);border:1px solid var(--red-line);border-radius:var(--radius-sm);color:var(--red);font-size:0.8rem;padding:10px 14px;margin-top:14px;}
.auth-spam-note{background:rgba(47,193,178,0.07);border:1px solid var(--line-strong);border-left:3px solid var(--teal);border-radius:var(--radius-sm);color:var(--fg-dim);font-size:0.78rem;line-height:1.6;font-weight:300;padding:12px 14px;margin-top:18px;}
.auth-spam-note strong{color:var(--fg);font-weight:500;}
#auth-resend.is-waiting{color:var(--fg-mute)!important;pointer-events:none;cursor:default;text-decoration:none;font-family:var(--font-mono);}
.intro-account-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:4px;}
.kai-signed-note{font-size:0.74rem;color:var(--fg-mute);font-weight:300;}
.kai-signed-note a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;}

/* ── MY REPORTS OVERLAY ── */
.kai-overlay{position:fixed;inset:0;background:rgba(5,10,13,0.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:18px;animation:fadeIn 0.25s var(--ease);}
.kai-overlay-card{background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow-hover);width:100%;max-width:560px;max-height:82vh;display:flex;flex-direction:column;overflow:hidden;}
.kai-overlay-head{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px 16px;border-bottom:1px solid var(--line);}
.kai-overlay-head h3{font-family:var(--font-serif);font-weight:500;font-size:1.3rem;margin:0;letter-spacing:-0.01em;}
.kai-overlay-sub{font-family:var(--font-mono);font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--fg-mute);display:block;margin-top:5px;}
.kai-overlay-close{width:34px;height:34px;border-radius:50%;border:1px solid var(--line-strong);background:transparent;color:var(--fg-dim);font-size:0.9rem;display:grid;place-items:center;transition:all 0.15s;}
.kai-overlay-close:hover{color:var(--fg);border-color:var(--teal);}
.kai-report-list{padding:14px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;}
.kai-report-row{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;}
.kai-report-info{display:flex;flex-direction:column;gap:3px;min-width:0;}
.kai-report-info strong{font-size:0.9rem;color:var(--fg);}
.kai-report-info span{font-size:0.72rem;color:var(--fg-mute);text-transform:capitalize;}
.kai-report-actions{display:flex;gap:8px;flex-shrink:0;}
.kai-report-actions .btn-ghost{padding:8px 14px;font-size:0.76rem;}
.kai-empty{font-size:0.85rem;color:var(--fg-dim);font-weight:300;padding:16px 0;text-align:center;}
.kai-overlay-foot{padding:14px 24px 18px;border-top:1px solid var(--line);font-size:0.78rem;}
.kai-overlay-foot a{color:var(--fg-mute);text-decoration:underline;text-underline-offset:3px;}
.kai-overlay-foot a:hover{color:var(--red);}
@media(max-width:540px){
  .kai-report-row{flex-direction:column;align-items:flex-start;}
}

/* ── PERSISTENT DISCLAIMER ── */
.disclaimer-bar{font-family:var(--font-mono);font-size:0.62rem;letter-spacing:0.06em;color:var(--fg-mute);border:1px dashed var(--line-strong);border-radius:var(--radius-sm);padding:10px 14px;margin-top:24px;line-height:1.6;}

/* ── RESPONSIVE ── */
@media(max-width:540px){
  .hero-strip{padding:28px 22px;}
  .hero-strip h1{font-size:1.45rem;}
  .region-grid{grid-template-columns:repeat(3,1fr);gap:7px;}
  .region-card{padding:12px 6px 10px;}
  .rname{font-size:0.78rem;}
  .rdesc{display:none;}
  .knav{padding:12px 16px;}
  .rice-grid{grid-template-columns:1fr 1fr;}
  .form-grid{grid-template-columns:1fr;}
  .report-grid{grid-template-columns:1fr 1fr;}
  .pain-scale{gap:4px;}
  .pain-btn{width:38px;height:38px;font-size:0.8rem;}
  .reg-card,.q-card,.pain-scale-card,.func-scale-card,.report-card{padding:20px;}
}

/* ── PRINT (report prints light) ── */
@media print{
  .knav,.btn-row,.progress-wrap,#screen-intro,#screen-register,#screen-pain,#screen-functional,#screen-redflags,#screen-questions,#screen-unable,#screen-refer,.premium-gate,.improve-nudge,.disclaimer-bar a{display:none!important;}
  #screen-protocol,#screen-report{display:block!important;}
  body{background:#fff;color:#1e1e1e;}
  main{max-width:100%;padding:0;}
  .report-card,.q-card,.ex-card,.proto-hdr,.report-diagnosis-box,.progression-box,.clinical-summary,.reasoning-card,.what-you-get,.phase-tracker{background:#fff!important;border-color:#ddd!important;box-shadow:none!important;color:#1e1e1e!important;}
  .report-field span,.report-score .rs-value,.ex-name,.phase-name,.utd-diff-item strong,.proto-hdr h2,.report-branding-name,.report-diagnosis-box .rd-title,.lock-title{color:#1e1e1e!important;}
  .ex-desc,.report-field label,.report-score .rs-label,.phase-goal,.phase-ex-item,.pt-summary,.proto-hdr p,.report-diagnosis-box .rd-conf,.report-tag,.cs-pill,.reasoning-rule{color:#444!important;}
  .report-section-title,.breadcrumb,.sec-label,.proto-hdr .crumb,.report-diagnosis-box .rd-label{color:#2a8a80!important;}
  .premium-blur-wrap{filter:none!important;}
  .premium-blur-content{filter:none!important;opacity:1!important;}
  .premium-lock-overlay{display:none!important;}
}

/* ── vNEXT Step 4A: inflammatory route-out screen ── */
.ref-subhead{font-family:var(--font-mono);font-size:0.64rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--fg-mute);margin:22px 0 8px;}
.diff-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.diff-chip{font-size:0.82rem;color:var(--fg-dim);background:var(--card);border:1px solid var(--line);border-radius:4px;padding:6px 13px;line-height:1.35;}
.assess-disclaimer{margin-top:18px;padding-top:14px;border-top:1px dashed var(--line-strong);font-family:var(--font-mono);font-size:0.7rem;letter-spacing:0.04em;color:var(--fg-mute);}
@media print{
  #screen-inflam{display:none!important;}
  .diff-chip{border-color:#ddd!important;color:#444!important;background:#fff!important;}
}


/* ── v11: GUIDED SELF-TEST CARDS ── */
#q-selftest{margin:2px 0 16px;}
.st-fig{display:flex;justify-content:center;margin:4px 0 12px;padding:14px 10px;background:rgba(47,193,178,0.04);border:1px solid var(--line);border-radius:var(--radius-sm);}
.st-fig svg{width:200px;max-width:78%;height:auto;}
/* v13: clinician-supplied blueprint diagrams */
.st-fig-img{width:100%;max-width:360px;height:auto;border-radius:var(--radius-sm);display:block;}
.st-fig-svg,.st-fig .region-badge-svg svg{width:200px;max-width:78%;height:auto;}
.st-steps{margin:0 0 12px;padding-left:20px;display:flex;flex-direction:column;gap:5px;}
.st-steps li{font-size:0.85rem;color:var(--charcoal-soft);line-height:1.55;font-weight:300;}
.st-caution{font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.05em;line-height:1.6;color:#ffce8a;border:1px dashed rgba(232,179,102,0.45);border-radius:var(--radius-sm);padding:9px 13px;margin-bottom:6px;}
@media print{ #q-selftest{display:none!important;} }

/* ── v13: REGION BLUEPRINT BADGES (plan + report) ── */
.proto-hdr{position:relative;padding-right:104px;}
.proto-region-badge{position:absolute;top:22px;right:22px;width:64px;line-height:0;}
.region-badge{width:64px;height:auto;border-radius:8px;box-shadow:0 4px 14px -6px rgba(0,0,0,0.5);display:inline-block;}
.region-badge-svg{display:inline-flex;width:64px;height:64px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px;}
.region-badge-svg svg{width:100%;height:100%;}
.region-badge-report{width:84px;flex-shrink:0;}
.report-brand-lockup{display:flex;align-items:center;gap:12px;}
.report-logo{width:42px;height:42px;border-radius:50%;background:#fff;object-fit:contain;box-shadow:0 0 0 1px rgba(255,255,255,0.12);}
@media(max-width:540px){ .proto-hdr{padding-right:82px;} .proto-region-badge{width:52px;top:18px;right:16px;} .region-badge{width:52px;} .region-badge-report{width:64px;} }

/* ── v13: PRINT LETTERHEAD + LEGAL FOOTER ── */
.print-only{display:none;}
@media print{
  .print-only{display:block;}
  .print-letterhead{display:flex!important;align-items:center;gap:14px;border-bottom:2px solid #2a8a80;padding-bottom:12px;margin-bottom:16px;}
  .pl-logo{width:48px;height:48px;object-fit:contain;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .pl-name{font-family:var(--font-serif);font-size:1.2rem;color:#14322e!important;line-height:1.1;}
  .pl-tag{font-size:0.68rem;color:#555!important;margin-top:2px;letter-spacing:0.02em;}
  .pl-contact{margin-left:auto;text-align:right;font-size:0.66rem;color:#555!important;line-height:1.5;}
  .print-foot{display:block!important;margin-top:22px;padding-top:12px;border-top:1px solid #bbb;font-size:0.6rem;color:#555!important;line-height:1.65;}
  .pf-legal{font-weight:600;color:#2a2a2a!important;}
  .pf-addr{margin-top:2px;}
  .pf-disc{margin-top:4px;font-style:italic;}
  .region-badge,.report-logo,.st-fig-img{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .proto-region-badge{position:static;width:70px;margin-bottom:8px;}
  .proto-hdr{padding-right:28px;}
}

/* ── vNEXT: PDF (print) typography + readability ──
   The printed PDF adopts an editorial serif — Source Serif 4, the brand's
   own accent serif — for headings and running text, while keeping IBM Plex
   Mono for the small technical labels. Faint on-screen greys are lifted to a
   legible ink so nothing prints too light to read. Screen design is untouched. */
@media print{
  :root{
    --font-serif:"Source Serif 4",Georgia,"Times New Roman",serif;
    --font-sans:"Source Serif 4",Georgia,"Times New Roman",serif;
  }
  .proto-hdr h2,.report-branding-name,.report-diagnosis-box .rd-title,.pl-name,.rd-title,.lock-title{letter-spacing:-0.008em;}
  /* Lift faint inline greys to a readable ink on paper */
  #proto-body [style*="color:#aaa"],#proto-body [style*="color:#bbb"],#proto-body [style*="color:#ccc"],
  #proto-body [style*="color:#999"],#proto-body [style*="color:#888"],#proto-body [style*="color:#777"],#proto-body [style*="color:#666"],
  #report-content [style*="color:#aaa"],#report-content [style*="color:#bbb"],#report-content [style*="color:#ccc"],
  #report-content [style*="color:#999"],#report-content [style*="color:#888"],#report-content [style*="color:#777"],#report-content [style*="color:#666"]{
    color:#3a403d!important;
  }
  .diff-box p,.freq-box p{color:#3a403d!important;}
}

/* ═══ vNEXT: Login-first hub (new problem vs older prescription) ═══ */
#screen-hub { max-width: 860px; margin: 0 auto; }
.hub-head h1 { font-family:var(--font-serif); font-size: clamp(30px, 4.5vw, 44px); letter-spacing:-0.01em; margin-bottom: 8px; }
.hub-head h1 span { color: var(--teal); }
.hub-sub { color: var(--text-dim, #98a8b0); font-size: 16px; margin-bottom: 28px; }
.hub-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 8px; }
@media (max-width: 640px){ .hub-choices { grid-template-columns: 1fr; } }
.hub-choice {
  position: relative; text-align: left; cursor: pointer;
  display: flex; flex-direction: column; gap: 10px;
  background: rgba(255,255,255,0.03); border: 1px solid rgba(47,193,178,0.18);
  border-radius: 18px; padding: 26px 24px; color: inherit; font-family: inherit;
  transition: transform .22s cubic-bezier(.22,1,.36,1), border-color .22s, box-shadow .22s;
  background-image: linear-gradient(180deg, rgba(47,193,178,0.05), transparent 45%);
}
.hub-choice:hover {
  transform: translateY(-3px); border-color: rgba(47,193,178,0.5);
  box-shadow: 0 14px 40px rgba(0,0,0,0.4), 0 0 0 1px rgba(47,193,178,0.1) inset;
}
.hub-choice-ic {
  width: 46px; height: 46px; border-radius: 13px; display: flex; align-items: center; justify-content: center;
  font-size: 24px; color: var(--teal);
  background: rgba(47,193,178,0.1); border: 1px solid rgba(47,193,178,0.25);
}
.hub-choice-name { font-size: 19px; font-weight: 700; }
.hub-choice-desc { font-size: 13.5px; line-height: 1.55; color: var(--text-dim, #98a8b0); }
.hub-choice-cta { font-size: 13px; font-weight: 700; color: var(--teal); letter-spacing: 0.02em; margin-top: 4px; }
.hub-choice-empty .hub-choice-cta { color: var(--text-dim, #98a8b0); }
.hub-recs { margin-top: 16px; display: flex; flex-direction: column; gap: 8px; animation: hubRecsIn .3s ease-out; }
@keyframes hubRecsIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media print { #screen-hub { display: none !important; } }


/* ── A2 retheme addendum (July 2026) ── */
h1,h2,h3,h4,.brand{letter-spacing:-0.02em;}
.hero-strip h1{font-weight:600;letter-spacing:-0.035em;}
.hero-strip h1 em,h2 em,h3 em{font-family:"Source Serif 4",Georgia,serif;font-style:italic;color:var(--teal);}


/* ===== vNEXT: hero-strip floating line-art ===== */
.hero-art{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:inherit;}
.hero-art svg{width:100%;height:100%;display:block;}
.ha-float{animation:haFloat var(--fdur,16s) ease-in-out infinite;}
.ha-f1{--fdur:18s;}
.ha-f2{--fdur:14s;animation-delay:2s;}
.ha-f3{--fdur:20s;animation-delay:4s;}
@keyframes haFloat{0%,100%{transform:translate3d(0,0,0);}50%{transform:translate3d(9px,-12px,0);}}
@media (max-width:700px){.hero-art{opacity:0.45;}}
@media (prefers-reduced-motion: reduce){.hero-art *{animation:none !important;}}
/* ── Free (locked) plans are not printable ────────────────────────────────
   Hiding the Print button is not enough on its own — Ctrl+P / the browser menu
   would still produce a clean PDF of the free view. When the plan is locked,
   `body.plan-locked` is set and printing yields only a short notice instead.
   Removed again the moment the plan is unlocked. */
@media print{
  body.plan-locked #screen-protocol,
  body.plan-locked #screen-report,
  body.plan-locked .print-letterhead,
  body.plan-locked .print-foot{ display:none!important; }
  body.plan-locked::after{
    content:"This recovery plan has not been unlocked yet. Unlock the full plan in the Kairos Physio self-assessment to save or print it.";
    display:block; padding:28mm 18mm; font-family:Georgia,'Times New Roman',serif;
    font-size:12pt; line-height:1.6; color:#1e2a24; text-align:center;
  }
}

/* Secondary action beside the WhatsApp nudge (keeps calling available without competing with it) */
.btn-nudge-alt{background:transparent;color:var(--teal);border:1px solid var(--teal);margin-left:8px;}
.btn-nudge-alt:hover{background:rgba(86,202,190,0.12);}
@media (max-width:520px){ .btn-nudge-alt{margin-left:0;} }

/* ── Terms acceptance box (sign-in screen) ── */
.consent-box{display:flex;align-items:flex-start;gap:12px;margin:4px 0 20px;padding:14px 16px;background:rgba(47,193,178,0.05);border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;}
.consent-box input[type="checkbox"]{flex:0 0 auto;width:18px;height:18px;margin-top:2px;accent-color:var(--teal);cursor:pointer;}
.consent-box span{font-size:0.78rem;line-height:1.6;color:var(--fg-dim);font-weight:300;}
.consent-box strong{color:var(--fg);font-weight:500;}
.consent-box a{color:var(--teal);text-decoration:underline;text-underline-offset:2px;}
.btn-primary:disabled{opacity:0.45;cursor:not-allowed;}

/* ── Screen footer (policy links) ── */
.kfoot{max-width:900px;margin:56px auto 0;padding:26px 24px 40px;border-top:1px solid var(--line);text-align:center;}
.kfoot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin-bottom:16px;}
.kfoot-links a{font-size:0.78rem;color:var(--fg-dim);text-decoration:none;border-bottom:1px solid transparent;}
.kfoot-links a:hover{color:var(--teal);border-bottom-color:var(--teal);}
.kfoot-legal{font-size:0.7rem;color:var(--fg-mute);line-height:1.7;font-weight:300;}
.kfoot-disc{font-size:0.68rem;color:var(--fg-mute);line-height:1.7;font-weight:300;margin-top:8px;max-width:640px;margin-left:auto;margin-right:auto;}
@media print{ .no-print{display:none!important;} }

/* ── Coupon code row (unlock modal) ── */
.coupon-row{display:flex;gap:8px;margin-bottom:10px;}
.coupon-row input{flex:1;min-width:0;padding:11px 13px;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:rgba(255,255,255,0.03);color:var(--fg);font-family:var(--font-mono);font-size:0.82rem;letter-spacing:0.08em;text-transform:uppercase;}
.coupon-row input::placeholder{font-family:var(--font-sans,inherit);letter-spacing:0;text-transform:none;color:var(--fg-mute);}
.coupon-row input:focus{outline:none;border-color:var(--teal);}
.coupon-row button{flex:0 0 auto;padding:11px 18px;border:1.5px solid var(--teal);border-radius:var(--radius-sm);background:transparent;color:var(--teal);font-family:var(--font-sans,inherit);font-size:0.82rem;font-weight:600;cursor:pointer;}
.coupon-row button:hover:not(:disabled){background:rgba(47,193,178,0.12);}
.coupon-row button:disabled{opacity:0.5;cursor:default;}
.coupon-msg{font-size:0.76rem;line-height:1.5;margin-bottom:12px;padding:8px 12px;border-radius:var(--radius-sm);}
.coupon-msg.good{color:#1c7d63;background:rgba(47,193,178,0.12);border:1px solid rgba(47,193,178,0.35);}
.coupon-msg.bad{color:#a33;background:rgba(200,60,60,0.08);border:1px solid rgba(200,60,60,0.25);}
