:root{
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:#293a33;
  background:#f6f8f5;
  --bg:#f6f8f5;
  --paper:#ffffff;
  --paper-soft:#fbfcfa;
  --sage-50:#f0f6f1;
  --sage-100:#e3eee6;
  --sage-500:#4f7766;
  --sage-700:#355b4c;
  --blue-50:#edf4f7;
  --blue-500:#648393;
  --ink:#293a33;
  --muted:#6f7d76;
  --soft:#9ca9a2;
  --line:#dbe4de;
  --line-strong:#cbd8d0;
  --danger:#a66059;
  --amber:#a67748;
  --shadow:0 18px 55px rgba(56,75,65,.08);
  --shadow-small:0 6px 22px rgba(56,75,65,.06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:
  radial-gradient(circle at 88% 0%,rgba(223,238,227,.92) 0,rgba(246,248,245,0) 34%),
  radial-gradient(circle at 0% 18%,rgba(228,239,244,.72) 0,rgba(246,248,245,0) 25%),
  var(--bg);color:var(--ink)}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.shell{width:min(1180px,92vw);margin:0 auto}
.public-nav{
  min-height:76px;display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid rgba(203,216,208,.75)
}
.brand-link{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:850;letter-spacing:.15em}
.brand-mark{
  display:grid;place-items:center;width:31px;height:31px;border:1px solid #9fb7ab;
  border-radius:11px;background:rgba(255,255,255,.9);color:var(--sage-700)
}
.nav-actions{display:flex;align-items:center;gap:10px}
.nav-link{
  border:0;background:transparent;color:var(--muted);padding:10px 12px;font-size:13px
}
.nav-link:hover{color:var(--ink)}
.nav-button,.hero-primary,.hero-secondary{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:12px;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease
}
.nav-button{
  padding:11px 15px;background:var(--sage-700);color:#fff;font-weight:750;
  box-shadow:0 7px 18px rgba(53,91,76,.14)
}
.nav-button:hover,.hero-primary:hover{transform:translateY(-1px)}
.nav-ghost{border:1px solid var(--line);border-radius:10px;background:#fff}
.story-kicker,.section-eyebrow,.mini-label{
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage-500);font-weight:800
}
.story-hero{padding:70px 0 55px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.story-hero h1{
  margin:17px 0 20px;font-size:clamp(50px,7vw,84px);line-height:.95;letter-spacing:-.065em;
  font-weight:820
}
.story-hero h1 em{font-style:normal;color:var(--sage-500)}
.hero-copy{max-width:650px;margin:0;color:var(--muted);font-size:18px;line-height:1.7}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.hero-primary{
  border:1px solid var(--sage-700);padding:13px 17px;background:var(--sage-700);
  color:#fff;font-weight:800;box-shadow:0 10px 25px rgba(53,91,76,.15)
}
.hero-secondary{
  border:1px solid var(--line-strong);padding:13px 17px;background:#fff;color:var(--ink);font-weight:700
}
.hero-secondary:hover{background:var(--paper-soft);border-color:#aebeb5}
.trust-line{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px;color:var(--soft);font-size:11px}
.journey-card{
  min-height:390px;position:relative;overflow:hidden;border:1px solid var(--line);
  border-radius:28px;background:linear-gradient(145deg,#fff,#eef4ef);box-shadow:var(--shadow);
  padding:28px
}
.journey-orbit{
  position:absolute;width:250px;height:250px;right:-45px;top:-55px;border-radius:50%;
  border:1px solid rgba(102,135,118,.18);box-shadow:0 0 0 28px rgba(225,238,229,.28),0 0 0 57px rgba(225,238,229,.2)
}
.journey-label{font-size:10px;letter-spacing:.16em;color:var(--muted);font-weight:800}
.journey-steps{
  position:relative;margin-top:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px
}
.journey-steps span{
  padding:15px 12px;border:1px solid rgba(197,213,204,.9);border-radius:14px;background:rgba(255,255,255,.76);
  font-size:13px;color:var(--sage-700);font-weight:700
}
.five-w{padding:55px 0 80px}
.section-intro{max-width:700px;margin-bottom:28px}
.section-intro h2,.journey-strip h2,.final-cta h2{
  margin:12px 0 9px;font-size:clamp(31px,4.5vw,52px);line-height:1.02;letter-spacing:-.05em
}
.section-intro p,.journey-strip p,.final-cta p{margin:0;color:var(--muted);line-height:1.65}
.question-path{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.question-card{
  position:relative;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-small);
  min-height:250px;overflow:hidden
}
.question-card:nth-child(1){grid-column:span 7}
.question-card:nth-child(2){grid-column:span 5;background:var(--sage-50)}
.question-card:nth-child(3){grid-column:span 5;background:var(--blue-50)}
.question-card:nth-child(4){grid-column:span 7}
.question-card:nth-child(5){grid-column:span 6;background:#fbf4ea}
.question-card:nth-child(6){grid-column:span 6;background:var(--sage-50)}
.question-index{position:absolute;right:20px;top:18px;font:28px/1 Georgia,serif;color:#a7b4ad}
.question-symbol{font-size:10px;letter-spacing:.18em;color:var(--sage-500);font-weight:850}
.question-card h3{margin:18px 0 9px;font-size:25px;letter-spacing:-.03em}
.question-card p{margin:0;max-width:560px;color:var(--muted);font-size:14px;line-height:1.65}
.journey-strip{padding:20px 0 75px;display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:center}
.journey-rail{
  display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto;align-items:center;
  padding:20px 22px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-small)
}
.rail-step{display:grid;gap:3px}
.rail-step span{font-size:9px;color:var(--soft);letter-spacing:.12em}
.rail-step b{font-size:13px}.rail-step small{font-size:10px;color:var(--muted)}
.rail-line{height:1px;background:var(--line);margin:0 12px}
.final-cta{padding:0 0 90px}
.cta-card{
  display:flex;justify-content:space-between;align-items:center;gap:28px;padding:28px;
  border:1px solid #c9d9cf;border-radius:22px;background:linear-gradient(135deg,#eff6f0,#fbfdfb);
  box-shadow:var(--shadow-small)
}
.auth-page{display:grid;place-items:center;padding:35px 20px}
.auth-shell{width:min(540px,94vw)}
.auth-shell>.brand-link{margin-bottom:24px}
.auth-card{
  border:1px solid var(--line);border-radius:26px;background:rgba(255,255,255,.94);padding:32px;
  box-shadow:var(--shadow)
}
.auth-intro h1{margin:12px 0;font-size:42px;line-height:1.02;letter-spacing:-.05em}
.auth-intro p{margin:0;color:var(--muted);line-height:1.65}
.auth-form{display:grid;gap:15px;margin-top:28px}
.auth-form label{display:grid;gap:7px;font-size:11px;color:var(--muted);font-weight:700}
.auth-form input{
  border:1px solid var(--line-strong);border-radius:12px;padding:13px;background:#fff;color:var(--ink)
}
.auth-submit{width:100%;margin:0}
.auth-switch{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.auth-switch a{color:var(--sage-700);font-weight:800}
.auth-status{min-height:18px;color:var(--danger);font-size:12px}
.expert-main{padding:45px 0 85px}
.dashboard-hero{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;padding:30px 0 45px}
.dashboard-hero h1,.case-review-hero h1{
  margin:13px 0 14px;font-size:clamp(44px,6vw,72px);line-height:.96;letter-spacing:-.06em
}
.dashboard-hero h1 em,.case-review-hero h1 em{font-style:normal;color:var(--sage-500)}
.dashboard-hero p,.case-review-hero p{max-width:730px;margin:0;color:var(--muted);line-height:1.7;font-size:16px}
.dashboard-summary{display:grid;grid-template-columns:repeat(2,130px);gap:10px}
.dashboard-summary div{
  padding:17px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:right;box-shadow:var(--shadow-small)
}
.dashboard-summary span{display:block;color:var(--soft);font-size:9px;letter-spacing:.14em}
.dashboard-summary strong{display:block;margin-top:7px;color:var(--sage-700);font-size:24px}
.dashboard-toolbar{
  display:flex;justify-content:space-between;align-items:end;gap:25px;padding:20px 0;border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.dashboard-toolbar h2{margin:8px 0 5px;font-size:30px;letter-spacing:-.04em}
.dashboard-toolbar p{margin:0;color:var(--muted);font-size:13px}
.button-like{font-weight:750}
.dashboard-toolbar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.notice{min-height:26px;padding:15px 0;color:var(--muted);font-size:12px}
.notice[data-error="true"]{color:var(--danger)}
.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.queue-card{
  display:grid;grid-template-columns:auto 1fr auto;gap:17px;padding:22px;border:1px solid var(--line);border-radius:19px;background:#fff;
  box-shadow:var(--shadow-small);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease
}
.queue-card:hover{transform:translateY(-2px);border-color:#aec4b7;box-shadow:var(--shadow)}
.queue-number{font:29px/1 Georgia,serif;color:#a9b5ae}
.queue-main h3{margin:13px 0 7px;font-size:24px;letter-spacing:-.03em}
.queue-main p{margin:0;color:var(--muted);line-height:1.6;font-size:13px}
.queue-meta{display:flex;align-items:center;gap:8px;color:var(--soft);font-size:10px;letter-spacing:.06em}
.status-pill{
  padding:5px 8px;border-radius:999px;background:#eef1ef;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em
}
.status-pill.draft{background:#fbf0e4;color:var(--amber)}
.status-pill.review{background:var(--blue-50);color:#5c7583}
.status-pill.clinically_reviewed,.status-pill.approved,.status-pill.published{background:var(--sage-100);color:var(--sage-700)}
.queue-cta{margin-top:18px;color:var(--sage-700);font-size:12px;font-weight:800}
.queue-arrow{align-self:center;color:#96a49d;font-size:24px}
.case-review-main{padding:45px 0 95px}
.case-loading{padding:100px 0}
.case-review-hero{display:flex;justify-content:space-between;gap:40px;align-items:end;padding:20px 0 38px}
.case-review-hero>div:first-child{max-width:760px}
.case-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.case-story-nav{
  display:flex;gap:6px;flex-wrap:wrap;padding:9px;border:1px solid var(--line);border-radius:14px;background:#fff;
  position:sticky;top:10px;z-index:30;box-shadow:var(--shadow-small);margin-bottom:18px
}
.case-story-nav a{padding:9px 12px;border-radius:9px;font-size:11px;color:var(--muted);font-weight:700}
.case-story-nav a:hover{background:var(--sage-50);color:var(--sage-700)}
.case-section{
  display:grid;grid-template-columns:60px 1fr;gap:20px;padding:48px 0;border-bottom:1px solid var(--line)
}
.section-number{font:30px/1 Georgia,serif;color:#a7b3ac}
.case-section-content{min-width:0}
.case-section h2{margin:8px 0 9px;font-size:35px;letter-spacing:-.045em}
.section-copy{max-width:800px;color:var(--muted);line-height:1.65;margin:0 0 20px}
.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.detail-card{
  border:1px solid var(--line);border-radius:15px;background:#fff;padding:18px;box-shadow:var(--shadow-small)
}
.detail-card.wide{grid-column:1/-1}
.detail-card h3{margin:8px 0 7px;font-size:18px}
.detail-card p{margin:0;color:var(--muted);line-height:1.6;font-size:13px}
.step-flow{display:flex;flex-wrap:wrap;gap:8px}
.step-flow span{display:inline-flex;gap:7px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper-soft);font-size:12px}
.step-flow b{font-size:9px;color:var(--soft)}
.detail-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.interaction-legend{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0}
.legend{padding:7px 10px;border-radius:999px;font-size:10px;font-weight:750}
.legend.expected{background:var(--sage-100);color:var(--sage-700)}
.legend.unsafe{background:#faecea;color:var(--danger)}
.legend.available{background:#f0f2f1;color:var(--muted)}
.interaction-list{display:grid;gap:12px}
.interaction-card{
  border:1px solid var(--line);border-radius:17px;background:#fff;padding:18px;box-shadow:var(--shadow-small)
}
.interaction-card.expected{border-left:4px solid #74a58f}
.interaction-card.unsafe{border-left:4px solid #cf7b72}
.interaction-card.available{border-left:4px solid #b7c2bc}
.interaction-head{display:flex;justify-content:space-between;gap:18px;align-items:start}
.interaction-head h3{margin:7px 0 0;font-size:20px}
.interaction-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.interaction-tags span{padding:5px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:9px}
.response-path{
  margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--paper-soft)
}
.response-path>span,.consequence>b{font-size:9px;letter-spacing:.12em;color:var(--soft)}
.response-path p{margin:6px 0 0;color:var(--ink);line-height:1.55;font-size:13px}
.response-path small{display:block;color:var(--muted);margin-top:7px;font-size:10px}
.consequence{margin-top:12px;padding:12px;border-radius:12px;background:#fbf1ef}
.consequence b{color:var(--danger)}
.consequence p{margin:5px 0 0;color:#734b46;font-size:12px;line-height:1.5}
.variant-list{display:grid;gap:9px;margin-top:18px}
.variants-head{margin-top:28px}
.variant-card{display:flex;justify-content:space-between;gap:15px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--sage-50)}
.variant-card p{margin:7px 0 0;color:var(--muted);line-height:1.5;font-size:12px}
.variant-card small{color:var(--muted);white-space:nowrap}
.accent-section{background:linear-gradient(135deg,rgba(239,246,241,.72),rgba(255,255,255,.32))}
.simulation-launch-card{
  display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border:1px solid #c9dbcf;
  border-radius:17px;background:#fff;box-shadow:var(--shadow-small)
}
.simulation-launch-card>div{display:flex;gap:13px;align-items:center}
.launch-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--sage-100);color:var(--sage-700);font-weight:900}
.simulation-launch-card strong{display:block;font-size:15px}
.simulation-launch-card small{display:block;margin-top:4px;color:var(--muted);line-height:1.5}
.feedback-form{display:grid;gap:12px}
.feedback-form label{display:grid;gap:7px}
.feedback-form label>span{font-size:10px;letter-spacing:.12em;color:var(--muted);font-weight:800}
.feedback-form textarea{
  resize:vertical;min-height:120px;border:1px solid var(--line-strong);border-radius:14px;background:#fff;padding:14px;color:var(--ink);
  line-height:1.5
}
.feedback-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:2px}
.feedback-actions .hero-primary{margin:0}
.feedback-history-head{display:flex;justify-content:space-between;align-items:end;margin-top:30px}
.feedback-history-head h3{margin:0;font-size:20px}
.feedback-history-head span{color:var(--soft);font-size:11px}
.feedback-history{display:grid;gap:10px;margin-top:12px}
.saved-feedback{display:grid;gap:13px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:16px}
.saved-feedback-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px}
.saved-feedback p{margin:5px 0 0;color:var(--muted);line-height:1.55;font-size:13px}
.feedback-label{font-size:9px;letter-spacing:.12em;font-weight:850}
.feedback-label.good{color:var(--sage-700)}
.feedback-label.change{color:var(--danger)}
.feedback-label.tip{color:var(--blue-500)}
.empty-state,.error-card{
  border:1px dashed var(--line-strong);border-radius:15px;background:var(--paper-soft);padding:18px;color:var(--muted);line-height:1.6
}
.error-card strong{color:var(--ink)}
.error-card p{margin:6px 0 15px}
.user-chip{
  padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:11px
}
@media(max-width:900px){
  .hero-grid,.journey-strip,.dashboard-hero,.detail-grid,.detail-columns{grid-template-columns:1fr}
  .question-card:nth-child(n){grid-column:span 12}
  .dashboard-summary{grid-template-columns:repeat(2,1fr)}
  .dashboard-toolbar,.case-review-hero,.cta-card,.simulation-launch-card{align-items:stretch;flex-direction:column}
  .case-grid{grid-template-columns:1fr}
  .case-section{grid-template-columns:40px 1fr}
  .case-header-actions{justify-content:flex-start}
  .journey-rail{grid-template-columns:1fr;gap:12px}
  .rail-line{width:1px;height:18px;margin:0 0 0 8px}
}
@media(max-width:650px){
  .public-nav{min-height:68px}
  .nav-actions{gap:4px}
  .user-chip{display:none}
  .story-hero{padding-top:45px}
  .story-hero h1{font-size:52px}
  .journey-card{min-height:320px}
  .journey-steps{grid-template-columns:repeat(2,1fr)}
  .auth-card{padding:24px}
  .auth-intro h1{font-size:35px}
  .dashboard-summary{grid-template-columns:1fr 1fr}
  .queue-card{grid-template-columns:auto 1fr}
  .queue-arrow{display:none}
  .case-story-nav{position:static}
  .case-section{grid-template-columns:1fr}
  .section-number{font-size:24px}
  .interaction-head{flex-direction:column}
  .interaction-tags{justify-content:flex-start}
  .detail-card.wide{grid-column:auto}
  .simulation-launch-card .hero-primary{width:100%}
}
