:root{
  --paper:#F3F2ED;
  --ink:#1E2A32;
  --muted:#5B6670;
  --line:#D8D5CC;
  --teal:#0E5C53;
  --teal-light:#E4EFEC;
  --amber:#B0682B;
  --amber-light:#F6E9DC;
  --white:#FFFFFF;
  --danger:#9A3B2E;
  --purple:#5B4B8A;
  --purple-light:#EDE9F5;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:Georgia,"Iowan Old Style","Palatino Linotype",serif;
  font-weight:400;
  margin:0 0 0.4em 0;
}
.shell{ max-width:640px; margin:0 auto; padding:32px 20px 80px 20px; }
header.top{ border-bottom:1px solid var(--line); padding-bottom:20px; margin-bottom:28px; }
header.top h1{ font-size:26px; letter-spacing:0.2px; }
header.top p{ color:var(--muted); font-size:14px; margin:6px 0 0 0; max-width:52ch; }
.disclaimer{ font-size:12.5px; color:var(--muted); border-left:2px solid var(--line); padding-left:12px; margin-top:14px; }
.trail{ margin-bottom:28px; }
.trail-item{ font-size:13px; color:var(--muted); padding:8px 0; border-bottom:1px solid var(--line); display:flex; flex-direction:column; gap:4px; }
.trail-item .q{}
.trail-item .a{ color:var(--ink); font-weight:500; }
.qcard{ margin-bottom:8px; }
.qcard .kicker{ font-size:12.5px; color:var(--teal); margin-bottom:6px; }
.qcard h2{ font-size:21px; margin-bottom:22px; }
.options{ list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.options li{ border-bottom:1px solid var(--line); }
.options button{
  width:100%; text-align:left; background:none; border:none; border-left:3px solid transparent;
  padding:16px 14px; font-size:15.5px; color:var(--ink); font-family:inherit; cursor:pointer;
  transition:background 0.12s ease, border-color 0.12s ease;
}
.options button:hover, .options button:focus-visible{ background:var(--teal-light); border-left-color:var(--teal); outline:none; }
.options.checklist button{ border-left-color:transparent; }
.options.checklist button.checked{ background:var(--purple-light); border-left-color:var(--purple); }
.nav-row{ margin-top:24px; display:flex; gap:16px; flex-wrap:wrap; }
.linklike{
  background:none; border:none; color:var(--muted); font-size:14px; font-family:inherit;
  cursor:pointer; padding:6px 0; text-decoration:underline; text-underline-offset:3px;
}
.linklike:hover{color:var(--ink);}
.stop-box{ border-left:3px solid var(--danger); background:#FBEFEC; padding:18px 18px; margin-top:4px; }
.stop-box h3{ font-size:17px; color:var(--danger); margin-bottom:8px; }
.stop-box p{margin:0;font-size:15px;}
.unbuilt-box{ border-left:3px solid var(--line); padding:18px 18px; margin-top:4px; }
.unbuilt-box h3{font-size:17px;margin-bottom:8px;}
.unbuilt-box p{margin:0;font-size:15px;color:var(--muted);}
.result{ border-left:3px solid var(--amber); background:var(--amber-light); padding:22px 22px 18px 22px; margin-bottom:16px;}
.result .kicker{ font-size:12.5px; color:var(--amber); margin-bottom:6px; }
.result h2{ font-size:22px; color:var(--ink); margin-bottom:16px; }
.result ul.steps{ margin:0 0 18px 0; padding-left:20px; }
.result ul.steps li{ margin-bottom:6px; font-size:15.5px; }
.bridge{ border-left:3px solid var(--purple); background:var(--purple-light); padding:18px 18px; margin-bottom:16px; }
.bridge .kicker{ font-size:12.5px; color:var(--purple); margin-bottom:6px; font-weight:500; }
.bridge p{ margin:0 0 8px 0; font-size:14.5px; }
.bridge p:last-child{ margin-bottom:0; }
table.rationale{ width:100%; border-collapse:collapse; font-size:14px; background:var(--white); }
table.rationale th, table.rationale td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top; }
table.rationale th{ font-weight:600; color:var(--muted); font-size:12.5px; }
.caution{ font-size:13px; color:var(--muted); margin-top:16px; border-top:1px solid var(--line); padding-top:14px; }
.header-nav{margin-top:14px;}
.save-row{ margin-top:14px; padding-top:14px; }
.reflabel{ display:block; font-size:13px; color:var(--muted); margin-bottom:10px; }
.reflabel input{
  display:block; width:100%; margin-top:6px; padding:10px 12px; font-size:15px; font-family:inherit;
  border:1px solid var(--line); border-radius:2px; background:var(--white); color:var(--ink);
}
.reflabel input:focus{ outline:none; border-color:var(--teal); }
.save-btn{ background:var(--teal); color:var(--white); border:none; padding:11px 18px; font-size:14.5px; font-family:inherit; cursor:pointer; }
.save-btn:hover{background:#0A4741;}
.saved-note{ font-size:13.5px; color:var(--teal); margin:0 0 10px 0; }
.hub-grid{ list-style:none; margin:0; padding:0; }
.hub-grid li{ border-bottom:1px solid var(--line); }
.hub-grid a{
  display:block; padding:18px 4px; text-decoration:none; color:var(--ink);
}
.hub-grid a:hover .hub-title{ color:var(--teal); }
.hub-title{ font-family:Georgia,serif; font-size:18px; }
.hub-sub{ font-size:13.5px; color:var(--muted); margin-top:4px; }
.hub-combined a .hub-title{ color:var(--purple); }
.hub-combined a:hover .hub-title{ color:#3F3468; }
