:root {
  --bg: #f3f0e6; --panel: #fffcf4; --input:#f9f6ed; --text:#262b24;
  --muted:#5c6256; --line:#d8d5c8; --accent:#3b5e4f; --on-accent:#fff;
}
.hero { display:flex; align-items:center; justify-content:space-between; gap: 28px; padding: 40px 0 31px; }
.hero h1 { font-size:clamp(3rem, 7.4vw, 6.1rem); letter-spacing:-.065em; margin:0 0 12px; }
.hero p:last-child { color:var(--muted); font-size:1.06rem; margin:0; max-width: 55ch; }
.orbits { flex: 0 1 268px; }
.workbook { display:grid; grid-template-columns: 222px minmax(0,1fr); gap: 27px; align-items:start; }
.steps { padding-top:19px; }
.steps nav { display:grid; gap:3px; }
.step-link { text-align:left; display:flex; align-items:center; gap:10px; border:1px solid transparent; border-radius:7px; padding:8px; background:transparent; min-height:44px; color:var(--muted); font-size:.87rem; }
.step-link:hover { border-color:var(--line); }
.step-link[aria-current] { background:#e6eadf; color:#283d32; border-color:#ccd8c9; font-weight:700; }
.step-link .mono { width: 22px; color:var(--accent); }
.privacy { border-top:1px solid var(--line); margin:20px 0 0; padding-top:13px; max-width:25ch; }
.sheet { border:1px solid var(--line); background:var(--panel); padding:clamp(19px,4vw,38px); border-radius:14px; min-width:0; min-height: 475px; }
.sheet-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.sheet-head p { margin:0; }
.progress { display:flex; gap:4px; }
.progress i { width:12px; height:3px; background:var(--line); border-radius:4px; }
.progress i.active { background:var(--accent); }
#step h2 { margin:14px 0 9px; font-size:clamp(2rem,4.3vw,3.25rem); letter-spacing:-.04em; }
#step > p { color:var(--muted); max-width:62ch; }
.fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; }
.field.wide, .field:only-child { grid-column:1 / -1; }
.sheet-actions { border-top:1px solid var(--line); padding-top:15px; margin-top:7px; }
.sheet-actions .primary { margin-left:auto; }
.notes-grid { display:grid; gap:9px; grid-template-columns:repeat(2,minmax(0,1fr)); margin:14px 0; }
.note { background:var(--input); border:1px solid var(--line); padding:14px; border-radius:8px; min-width:0; }
.note h3 { margin-bottom:5px; font-size:.85rem; }
.note p { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.review-extra { border-top:1px solid var(--line); margin:8px 0 12px; }
.review-extra .note { margin-bottom:8px; }
.resource { margin:15px 0; padding:13px 15px; background:#e8ecdf; border-radius:8px; }
.resource p { margin:0; }
@media(max-width:780px) {
  .workbook { grid-template-columns: 1fr; gap: 14px; }
  .steps { padding:0; }
  .steps .kicker, .privacy { display:none; }
  .steps nav { display:flex; overflow-x:auto; padding:3px 4px 7px; }
  .step-link { flex:0 0 auto; }
  .orbits { flex-basis: 145px; }
}
@media(max-width:515px) {
  .hero { gap:5px; align-items:flex-start; padding-top:29px; }
  .hero p:last-child { font-size:.94rem; }
  .orbits { flex-basis: 73px; min-width:0; margin-top:26px; }
  .fields, .notes-grid { grid-template-columns:1fr; }
  .sheet { min-height:0; }
}

.theory-button { margin-top:15px; }
.theory { min-height:0; }
.theory h2 { font-size:clamp(2rem,5vw,3.5rem); margin:0 0 14px; letter-spacing:-.04em; }
.theory-lead { max-width:70ch; color:var(--muted); }
.theory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 27px; margin:25px 0 18px; }
.theory-grid section { border-top:1px solid var(--line); padding-top:12px; }
.theory-grid h3 { font-size:1rem; margin:0 0 5px; }
.theory-grid p { margin-bottom:5px; color:var(--muted); }
@media(max-width:600px) { .theory-grid { grid-template-columns:1fr; } }

.capture-exit { display:none; }
.compass-site-name { margin:14px 0 0; text-align:right; font-size:.82rem; }
.compass-capture .mast,
.compass-capture .hero,
.compass-capture .steps,
.compass-capture footer,
.compass-capture .progress,
.compass-capture .review-extra,
.compass-capture .resource,
.compass-capture .sheet-actions > :not(.capture-exit) { display:none; }
.compass-capture .workbook { display:block; max-width:820px; margin:16px auto; }
.compass-capture .sheet { min-height:0; }
.compass-capture .capture-exit { display:inline-flex; }
