/* Reading the prompt · quiet production layout, the case log's tokens. White page, Georgia headings, system body.
   Components carry the color: pastel washes with dark text on tiles, chips and the signal cards; maroon for actions.
   Hairline cards, 6px radius, 44px tap targets, single column under 600px. */
:root{--ink:#302B29;--muted:#5C544E;--line:#D9D9D9;--soft:#EFEDE8;--accent:#800000;--deep:#4B1020;--focus:#315873}
*{box-sizing:border-box}
html{scroll-padding-top:calc(var(--harper-header-height,90px) + 24px)}
body{margin:0;background:#fff;color:var(--ink);font:15px/1.6 system-ui,-apple-system,sans-serif}
main{max-width:1160px;margin:auto;padding:24px 32px 64px}
a{color:var(--accent);text-underline-offset:4px}
a,button,summary{touch-action:manipulation}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.skip{position:absolute;top:-80px;left:16px;padding:12px;background:#fff}.skip:focus{top:0}
.eyebrow{margin:0;font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
h1,h2,h3,h4{font-family:Georgia,serif;font-weight:400;text-wrap:balance}
h1{font-size:32px;line-height:1.25;margin:8px 0 16px}
h2{font-size:24px;line-height:1.3;margin:0 0 8px;padding-left:12px;border-left:4px solid var(--deep)}
h3{font-size:19px;line-height:1.35;margin:0 0 8px}
h4{font-size:15px;line-height:1.35;margin:14px 0 4px;color:var(--deep)}
.lede{max-width:760px;margin:0 0 12px}
.note{font-size:13px;color:var(--muted);max-width:760px;margin:0}
p,li,dt,dd,code,a,span,th,td{overflow-wrap:anywhere}
main>header{padding:8px 0 0}
section{margin-top:48px}

/* Hues: the same pastels the case log uses, keyed by name so a card, a tile and the demo stage agree. */
[data-hue=goldenrod]{--wash:#FBF0D1;--tint-ink:#5C4300;--tint-line:#E9D28A}
[data-hue=lake]{--wash:#D6E9EE;--tint-ink:#002A3A;--tint-line:#9CC7D3}
[data-hue=ivy]{--wash:#E7EDDE;--tint-ink:#284734;--tint-line:#B9CDA0}
[data-hue=violet]{--wash:#E6DCE8;--tint-ink:#41273B;--tint-line:#BFAEC3}
[data-hue=terracotta]{--wash:#FAEAD6;--tint-ink:#A9431E;--tint-line:#EFC39B}
[data-hue=rose]{--wash:#F3E3E4;--tint-ink:#643335;--tint-line:#D9AEB0}

/* On this page: anchor pills. */
.page-anchors{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0}
.page-anchors a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--deep);font-weight:600;text-decoration:none}
.page-anchors a:hover{border-color:#A4343A;background:#FAF4F4}

/* The gear shift: the worked prompt, its signals, the shift, and the table that draws itself. */
.gear h2{border-left-color:#41273B}
.gear-stage{margin-top:16px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:6px}
.gear-prompt{max-width:820px;margin:0;padding:16px 20px;background:#F7F7F7;border:1px solid var(--line);border-radius:6px;font-size:17px;line-height:1.7}
.signal{padding:1px 3px;margin:0 -2px;border-radius:3px;color:var(--ink);background:#FBF0D1;box-shadow:inset 0 -2px 0 #E9D28A;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.signal[data-signal="2"]{background:#D6E9EE;box-shadow:inset 0 -2px 0 #9CC7D3}
.signal[data-signal="3"]{background:#E6DCE8;box-shadow:inset 0 -2px 0 #BFAEC3}
.signal-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none}
.signal-notes li{position:relative;padding:12px 14px 12px 44px;border:1px solid var(--line);border-radius:6px;font-size:14px;line-height:1.5}
.signal-n{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#5C4300;color:#fff;font:700 12px/1 system-ui,-apple-system,sans-serif}
.signal-notes li[data-for="2"] .signal-n{background:#002A3A}
.signal-notes li[data-for="3"] .signal-n{background:#41273B}
.shift-label{margin:18px 0 0;padding:12px 16px;border-left:4px solid var(--tint-ink);background:var(--wash);color:var(--tint-ink);border-radius:0 6px 6px 0}
.shift-tag{display:inline-block;margin-right:8px;padding:0 8px;border-radius:3px;background:var(--tint-ink);color:#fff;font:700 11px/20px system-ui,-apple-system,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.predraw-wrap{margin-top:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.predraw{width:100%;min-width:640px;border-collapse:separate;border-spacing:0;border:1px solid var(--ink);border-radius:3px;background:#fff;box-shadow:4px 4px 0 var(--soft)}
.predraw caption{caption-side:top;text-align:left;padding:0 0 8px;font:700 11px/1.4 system-ui,-apple-system,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--tint-ink)}
.predraw th{padding:10px 12px;border-bottom:1px solid var(--ink);border-right:1px dashed var(--line);background:var(--wash);color:var(--tint-ink);font:600 13px/1.35 system-ui,-apple-system,sans-serif;text-align:left;vertical-align:top}
.predraw th small{display:block;font-weight:400;color:var(--muted)}
.predraw th:last-child,.predraw td:last-child{border-right:0}
.predraw td{height:52px;padding:8px 12px;border-right:1px dashed var(--line)}
.blank{display:block;height:12px;border-bottom:1px dotted #A6A6A6}
.gear-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 0}
.gear-status{font-size:13px;color:var(--muted)}
.action{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;background:#fff;border:1px solid var(--line);border-radius:4px;color:var(--accent);font:600 15px/1.4 system-ui,-apple-system,sans-serif;text-decoration:none;cursor:pointer}
.action:hover{border-color:#A4343A;background:#FAF4F4}
.action.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.action.primary:hover{background:#641C2D;border-color:#641C2D}
.action[disabled]{opacity:.6;cursor:default}
.after{max-width:760px;margin:16px 0 0}
/* Enhanced state: before the button is pressed the signals, notes, shift and columns wait; each one settles in on cue. */
.gear-stage[data-enhanced] .signal:not(.is-lit){background:transparent;box-shadow:none}
.gear-stage[data-enhanced] .signal-notes li:not(.is-on){opacity:.3}
.gear-stage[data-enhanced] .shift-label:not(.is-on){opacity:0;transform:translateY(4px)}
.gear-stage[data-enhanced] .predraw th:not(.is-drawn),.gear-stage[data-enhanced] .predraw td:not(.is-drawn){opacity:0;transform:translateY(6px)}
@media(prefers-reduced-motion:no-preference){.signal,.signal-notes li,.shift-label,.predraw th,.predraw td{transition:background-color .3s ease,box-shadow .3s ease,opacity .32s ease,transform .32s ease}}

/* How to listen. */
.listening h2{border-left-color:#302B29}
.method{max-width:820px;margin:0;padding-left:24px}
.method li{margin:10px 0;padding-left:6px}
.method strong{color:var(--deep);font-weight:650}
.group-label{margin:28px 0 10px;font:600 15px/1.3 system-ui,-apple-system,sans-serif;color:var(--deep)}
.reminders{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.reminder{padding:14px 16px;background:#fff;border:1px solid var(--line);border-top:4px solid #302B29;border-radius:6px}
.reminder[data-n="3"]{border-top-color:#800000}
.reminder h3{margin:0 0 6px;font-size:18px}
.reminder[data-n="3"] h3{color:#800000}
.reminder .ask{margin:0 0 8px;font-size:14px}
.reminder .worked{margin:0;padding-top:8px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.reminder .worked strong{color:var(--ink);font-weight:650}

/* Clarifying shapes. */
.shapes h2{border-left-color:#5C4300}
.shape-list{max-width:900px}
.shape{border-top:1px solid var(--line)}
.shape:last-child{border-bottom:1px solid var(--line)}
.shape summary{display:flex;align-items:center;gap:12px;min-height:52px;padding:10px 0;font:400 19px/1.35 Georgia,serif;color:var(--ink);cursor:pointer}
.shape-n{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;border-radius:50%;background:#FBF0D1;border:1px solid #E9D28A;color:#5C4300;font:700 12px/1 system-ui,-apple-system,sans-serif}
.shape-line{max-width:760px;margin:4px 0 10px 38px;padding:12px 16px;background:#F7F7F7;border-left:4px solid #5C4300;border-radius:0 6px 6px 0;font-size:16px;line-height:1.55}
.shape-worked{max-width:760px;margin:0 0 12px 38px;font-size:14px;color:var(--muted)}
.shape-worked strong{color:var(--ink);font-weight:650}
.when-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px 38px}
.when,.when-not{padding:12px 14px;border-radius:6px;border:1px solid var(--tint-line,var(--line));background:var(--wash,#fff)}
.when{--wash:#E7EDDE;--tint-ink:#284734;--tint-line:#B9CDA0}
.when-not{--wash:#F3E3E4;--tint-ink:#643335;--tint-line:#D9AEB0}
.when h4,.when-not h4{margin:0 0 4px;font:600 13px/1.3 system-ui,-apple-system,sans-serif;letter-spacing:.02em;color:var(--tint-ink)}
.when p,.when-not p{margin:0;font-size:14px;line-height:1.5}
.closing{max-width:760px;margin:16px 0 0;padding:12px 16px;border:1px solid var(--line);border-radius:6px;font-size:14px}

/* Twelve signals as cards, one pastel per case type. */
.signals h2{border-left-color:#41273B}
.signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.signal-card{position:relative;padding:16px 18px 18px;background:#fff;border:1px solid var(--tint-line);border-top:4px solid var(--tint-ink);border-radius:6px;background:color-mix(in srgb,var(--wash) 55%,#fff)}
.card-n{position:absolute;right:14px;top:10px;margin:0;font:700 12px/1 system-ui,-apple-system,sans-serif;letter-spacing:.06em;color:var(--tint-ink)}
.signal-phrase{margin:0 0 8px;padding-right:32px;font-size:21px;line-height:1.3;color:var(--deep)}
.signal-phrase::before{content:'\201C';color:var(--tint-ink)}.signal-phrase::after{content:'\201D';color:var(--tint-ink)}
.type-chip{display:inline-block;margin:0 0 6px;padding:2px 10px;border-radius:999px;background:var(--wash);border:1px solid var(--tint-line);color:var(--tint-ink);font:600 12px/1.6 system-ui,-apple-system,sans-serif}
.signal-card h4{color:var(--tint-ink);font:600 12px/1.4 system-ui,-apple-system,sans-serif;letter-spacing:.06em;text-transform:uppercase;margin:14px 0 4px}
.signal-card p{margin:0;font-size:14px;line-height:1.55}
.cols{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.cols li{padding:5px 9px;background:#fff;border:1px solid var(--ink);border-radius:3px;font:600 12px/1.3 system-ui,-apple-system,sans-serif;color:var(--ink)}
.cols li small{display:block;font-weight:400;color:var(--muted)}
.rule{margin-top:8px!important;padding:8px 10px;border-left:3px solid var(--tint-ink);background:#fff;font-size:13px!important;color:var(--muted)}
.first-q{padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:6px;font-size:15px!important;color:var(--ink)}
.card-worked{margin-top:12px!important;padding-top:10px;border-top:1px solid var(--tint-line);font-size:13px!important;color:var(--muted)}
.card-worked strong,.signal-card .first-q strong{color:var(--ink);font-weight:650}

/* Keep going. */
.keep-going h2{border-left-color:#643335}
.keep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.keep{display:flex;flex-direction:column;gap:4px;min-height:44px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--tint-ink);border-radius:6px;color:var(--ink);text-decoration:none}
.keep strong{font:400 19px/1.3 Georgia,serif;color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.keep span{font-size:14px;color:var(--muted)}
.keep:hover{border-color:#A4343A}

@media(max-width:1000px){.signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reminders{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:899px){main{padding:16px 16px 48px}h1{font-size:26px}.signal-notes{grid-template-columns:1fr}.gear-stage{padding:16px}.when-grid{grid-template-columns:1fr}.keep-grid{grid-template-columns:1fr}}
@media(max-width:600px){section{margin-top:36px}.signal-grid,.reminders{grid-template-columns:1fr}.gear-prompt{padding:14px 16px;font-size:16px}.shape-line,.shape-worked,.when-grid{margin-left:0}.shape summary{font-size:17px}.signal-phrase{font-size:19px}.page-anchors a{flex:1 1 calc(50% - 8px);justify-content:center}.gear-controls .action{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.signal,.signal-notes li,.shift-label,.predraw th,.predraw td{transition:none}}
@media print{.skip,.recruiting-nav,.page-anchors,.gear-controls{display:none!important}.gear-stage[data-enhanced] .signal:not(.is-lit){background:#FBF0D1}.gear-stage[data-enhanced] .predraw th,.gear-stage[data-enhanced] .predraw td,.gear-stage[data-enhanced] .shift-label{opacity:1;transform:none}.signal-grid{grid-template-columns:1fr 1fr}.shape{break-inside:avoid}}
