.auth-page { background: var(--paper); }
.auth-shell { min-height: 100vh; display: grid; grid-template-columns: 1.12fr .88fr; }
.auth-intro { display: grid; align-content: center; padding: clamp(40px,7vw,112px); background: var(--ink); color: var(--paper); }
.auth-intro .brand { position: absolute; top: 36px; }
.auth-intro .brand small,.auth-intro .lede { color: oklch(0.82 .02 95); }
.auth-intro .brand-mark { border-color: var(--paper); color: var(--paper); }
.auth-intro h1 { max-width: 8ch; }
.login-panel { display: grid; align-content: center; gap: var(--space-xl); padding: clamp(32px,7vw,96px); background: oklch(.98 .008 95); }
.login-panel h2 { font-size: 3.4rem; }
.login-panel>label:not(.consent) { display: grid; gap: var(--space-sm); font-weight: 650; }
.login-panel input[type=email],.login-panel input[type=password] { min-height: 52px; padding: var(--space-md) var(--space-lg); border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--ink); background: var(--paper); }
.consent { display: flex; gap: var(--space-md); align-items: flex-start; color: var(--muted); font-size: .82rem; }
.consent input { margin-top: 4px; accent-color: var(--sage); }
.form-error { min-height: 1.4em; margin: 0; color: var(--danger); font-weight: 650; }
.microcopy { margin: 0; color: var(--muted); font-size: .75rem; }

.journey-main { max-width: 1120px; margin: 0 auto; padding: clamp(32px,6vw,80px) clamp(20px,5vw,64px); }
.patient-nav { display:flex; align-items:center; gap:var(--space-sm); }
.nav-button { min-height:40px; padding:var(--space-sm) var(--space-md); border:0; border-radius:999px; color:var(--muted); background:transparent; font-weight:700; }
.nav-button.is-active { color:var(--sage); background:var(--sage-soft); }
.journey-heading h1 { max-width: none; font-size: clamp(3.2rem,8vw,6.5rem); }
.thirty-track { display: grid; grid-template-columns: repeat(15,1fr); gap: var(--space-sm); margin: var(--space-3xl) 0; }
.thirty-track span { display:grid; aspect-ratio:1; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--muted); font-size:.7rem; }
.thirty-track .done { border-color:var(--sage); color:var(--paper); background:var(--sage); }
.thirty-track .next { border-color:var(--clay); color:var(--clay); font-weight:800; }
.today-sheet { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:var(--space-2xl); padding:var(--space-2xl) 0; border-block:1px solid var(--line); }
.today-sheet>div { display:grid; }
.sheet-number { font-family:var(--font-display); font-size:3.4rem; line-height:1; }
.today-sheet small { color:var(--muted); }
.today-sheet p { max-width:52ch; color:var(--muted); }
.session-form { max-width:900px; margin:0 auto; }
.form-progress { display:flex; gap:var(--space-sm); margin-bottom:var(--space-4xl); border-bottom:1px solid var(--line); overflow-x:auto; }
.form-progress button { min-width:max-content; padding:var(--space-md); border:0; border-bottom:2px solid transparent; color:var(--muted); background:transparent; }
.form-progress button.is-current { border-color:var(--clay); color:var(--ink); font-weight:750; }
.form-step h2 { max-width:18ch; }
.metric-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-xl) var(--space-3xl); margin-top:var(--space-2xl); }
.metric-control,.single-metric,.previous-action label { display:grid; gap:var(--space-sm); padding:var(--space-lg) 0; border-bottom:1px solid var(--line); }
.metric-control>span,.single-metric { font-weight:650; }
.metric-control output,.single-metric output,.previous-action output { float:right; color:var(--sage); font-family:var(--font-display); font-size:1.45rem; }
.metric-control small { display:flex; justify-content:space-between; color:var(--muted); }
.metric-control i { font-style:normal; }
.measure-note { margin-top:var(--space-lg); color:var(--muted); font-size:.78rem; }
.belief-measure { display:grid; grid-template-columns:1fr auto; align-items:center; gap:var(--space-sm) var(--space-xl); margin-top:var(--space-xl); padding:var(--space-lg); border:1px solid var(--line); border-radius:var(--radius-sm); color:var(--muted); font-size:.9rem; }
.belief-measure output { color:var(--sage); font-family:var(--font-display); font-size:1.55rem; }
.belief-measure input { grid-column:1/-1; }
.previous-action { margin-top:var(--space-2xl); }
.writing-prompt { display:grid; gap:var(--space-md); margin-top:var(--space-2xl); font-family:var(--font-display); font-size:1.35rem; }
.writing-prompt textarea { width:100%; padding:var(--space-lg); font-family:var(--font-body); font-size:1rem; resize:vertical; }
.single-metric { max-width:620px; margin-top:var(--space-2xl); }
.discomfort-check { display:flex; gap:var(--space-md); margin-top:var(--space-2xl); padding:var(--space-lg); border:1px solid color-mix(in oklch,var(--danger) 38%,var(--line)); border-radius:var(--radius-sm); }
.review-note { margin-top:var(--space-2xl); padding:var(--space-lg); border:1px solid var(--line); border-radius:var(--radius-sm); color:var(--muted); }
.form-actions { display:flex; justify-content:space-between; gap:var(--space-md); margin-top:var(--space-3xl); padding-top:var(--space-lg); border-top:1px solid var(--line); }
.completion { max-width:760px; margin:8vh auto; }
.session-debrief { display:grid; gap:var(--space-xl); margin-top:var(--space-2xl); padding:var(--space-2xl); border:1px solid var(--line); border-radius:var(--radius-md); background:oklch(.98 .008 95); }
.session-debrief h3 { margin:0; font-family:var(--font-display); font-size:2rem; font-weight:500; }
.shift-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-md); }
.shift-grid article { display:grid; gap:var(--space-xs); padding:var(--space-lg); border-top:2px solid var(--sage); background:var(--paper); }
.shift-grid small,.shift-grid span,.strategy-receipt small,.strategy-receipt span { color:var(--muted); }
.shift-grid strong { font-family:var(--font-display); font-size:1.8rem; font-weight:500; }
.strategy-receipt { display:grid; gap:var(--space-xs); padding:var(--space-lg) 0; border-block:1px solid var(--line); }
.strategy-receipt p { display:grid; gap:var(--space-xs); margin:0; }
.strategy-receipt strong { font-family:var(--font-display); font-size:1.25rem; font-weight:500; }
.post-session-choice { display:grid; grid-template-columns:1fr auto; align-items:center; gap:var(--space-md) var(--space-2xl); margin-top:var(--space-3xl); padding-top:var(--space-xl); border-top:1px solid var(--line); }
.post-session-choice p { margin:var(--space-xs) 0 0; color:var(--muted); }.post-session-choice .text-button { grid-column:2; }
.accelerated-choice { grid-column:1/-1; display:grid; grid-template-columns:1fr auto; align-items:center; gap:var(--space-lg); margin-top:var(--space-md); padding:var(--space-lg) 0; border-block:1px solid var(--line); }
.accelerated-choice p { max-width:52ch; }
.secondary-button { min-height:48px; padding:var(--space-md) var(--space-xl); border:1px solid var(--sage); border-radius:999px; color:var(--sage); background:transparent; font-weight:750; }
.secondary-button:hover { color:var(--paper); background:var(--sage); }
.completion-actions { display:flex; flex-wrap:wrap; gap:var(--space-md); margin-top:var(--space-xl); }
.cognitive-game { max-width:860px; margin:0 auto; }
.game-heading { display:flex; justify-content:space-between; align-items:start; gap:var(--space-xl); }.game-heading h2 { max-width:14ch; }.game-heading>span { padding:var(--space-sm) var(--space-md); border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:.8rem; }
.game-board { display:grid; min-height:320px; place-items:center; margin-top:var(--space-2xl); padding:var(--space-2xl); border-block:1px solid var(--line); }
.game-principle { display:grid; gap:var(--space-sm); max-width:44ch; text-align:center; }.game-principle strong { font-family:var(--font-display); font-size:2.4rem; }.game-principle span { color:var(--muted); }
.pair-study { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); width:100%; gap:var(--space-md); }.pair-study div { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:var(--space-sm); padding:var(--space-lg); border:1px solid var(--line); border-radius:var(--radius-sm); text-align:center; }.pair-study span { color:var(--muted); font-size:.72rem; }
.memory-options,.sequence-options { display:grid; grid-template-columns:1fr 1fr; width:min(100%,620px); gap:var(--space-md); }.memory-options button,.sequence-options button,.binary-options button { min-height:64px; padding:var(--space-lg); border:1px solid var(--line); border-radius:var(--radius-sm); color:var(--ink); background:oklch(.98 .008 95); font-weight:700; }.memory-options button:hover,.sequence-options button:hover,.binary-options button:hover { border-color:var(--sage); background:var(--sage-soft); }
.symbol-sequence { display:flex; flex-wrap:wrap; justify-content:center; gap:var(--space-lg); }.symbol-sequence span,.single-symbol { display:grid; width:82px; aspect-ratio:1; place-items:center; border:1px solid var(--sage); border-radius:50%; color:var(--sage); font-size:2.4rem; }.single-symbol { width:132px; font-size:4rem; }
.binary-options { display:flex; justify-content:center; gap:var(--space-md); margin-top:var(--space-xl); }.binary-options button { min-width:140px; }
.game-feedback { min-height:1.5em; color:var(--danger); }.game-actions { display:flex; justify-content:space-between; gap:var(--space-md); margin-top:var(--space-xl); }

.clinical-body { background:oklch(.945 .012 155); }
.clinical-header { display:flex; align-items:center; justify-content:space-between; min-height:82px; padding:var(--space-lg) clamp(20px,4vw,64px); color:var(--paper); background:var(--ink); }
.clinical-header .brand-mark { border-color:var(--paper); color:var(--paper); }
.clinical-header .brand small { color:oklch(.8 .02 95); }
.clinical-header .quiet-button { margin-left:var(--space-sm); border-color:oklch(.65 .03 155); color:var(--paper); }
.dashboard { max-width:1320px; margin:0 auto; padding:clamp(32px,5vw,72px) clamp(20px,5vw,64px); }
.dashboard-title { display:flex; align-items:center; justify-content:space-between; gap:var(--space-2xl); }
.dashboard-title h1 { max-width:11ch; font-size:clamp(2.8rem,5vw,5.2rem); }
.completion-ring { --progress:0deg; display:grid; width:132px; aspect-ratio:1; place-items:center; border-radius:50%; background:conic-gradient(var(--clay) var(--progress),var(--line) 0); position:relative; }
.completion-ring::after { content:""; position:absolute; inset:10px; border-radius:50%; background:oklch(.945 .012 155); }
.completion-ring span,.completion-ring small { z-index:1; grid-area:1/1; }
.completion-ring span { margin-top:-16px; font-family:var(--font-display); font-size:2.8rem; }
.completion-ring small { margin-top:38px; color:var(--muted); }
.metric-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); margin:var(--space-4xl) 0; border-block:1px solid var(--line); }
.metric-strip article { display:grid; gap:var(--space-xs); padding:var(--space-xl); border-bottom:1px solid var(--line); }
.metric-strip small,.metric-strip span { color:var(--muted); }
.metric-strip strong { font-family:var(--font-display); font-size:2.4rem; font-weight:500; }
.chart-section { padding:var(--space-2xl) 0; }
.chart-section h2,.clinical-grid h2,.history-section h2 { max-width:none; font-size:2.6rem; }
.chart-legend { display:flex; flex-wrap:wrap; gap:var(--space-sm); margin:var(--space-xl) 0; }
.chart-legend button { padding:var(--space-sm) var(--space-lg); border:1px solid var(--line); border-radius:999px; background:transparent; }
.chart-legend button.is-active { border-color:var(--sage); color:var(--paper); background:var(--sage); }
.line-chart { min-height:280px; padding:var(--space-lg) 0; overflow-x:auto; }
.line-chart svg { min-width:680px; width:100%; }
.line-chart .grid line { stroke:var(--line); stroke-width:1; }.line-chart text { fill:var(--muted); font-size:12px; }.line-chart .trend { fill:none; stroke:var(--clay); stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }.line-chart circle { fill:var(--paper); stroke:var(--clay); stroke-width:3; }.line-chart .session-label { text-anchor:middle; }
.line-chart .trend.before,.patient-line-chart .trend.before { stroke:var(--clay); }.line-chart circle.before,.patient-line-chart circle.before { stroke:var(--clay); }
.line-chart .trend.after,.patient-line-chart .trend.after { stroke:var(--sage); }.line-chart circle.after,.patient-line-chart circle.after { stroke:var(--sage); }
.chart-key { display:flex; flex-wrap:wrap; gap:var(--space-lg); color:var(--muted); font-size:.78rem; }
.chart-key span { display:flex; align-items:center; gap:var(--space-sm); }.chart-key i { display:block; width:24px; height:3px; border-radius:999px; background:var(--clay); }.chart-key i.after,.chart-key i.self { background:var(--sage); }
.empty-state { display:grid; min-height:260px; place-items:center; color:var(--muted); border-block:1px solid var(--line); }
.clinical-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:var(--space-3xl); margin:var(--space-4xl) 0; }
.clinical-grid article { padding:var(--space-2xl); border:1px solid var(--line); border-radius:var(--radius-md); background:oklch(.97 .009 155); }
.clinical-grid article p:last-child,.attention-panel div { color:var(--muted); }
.attention-panel div p { padding:var(--space-sm) 0; border-bottom:1px solid var(--line); }
.history-section { margin-top:var(--space-4xl); }
.session-history { margin-top:var(--space-xl); border-top:1px solid var(--line); }
.session-history details { border-bottom:1px solid var(--line); }.session-history summary { display:grid; grid-template-columns:120px 1fr auto; gap:var(--space-lg); padding:var(--space-lg) 0; cursor:pointer; }.session-history summary small { color:var(--muted); }.session-history details>div { max-width:72ch; padding:0 0 var(--space-xl) 136px; color:var(--muted); }
.dashboard-footnote { max-width:72ch; margin-top:var(--space-4xl); color:var(--muted); font-size:.78rem; }

.patient-progress { padding-bottom:var(--space-4xl); }
.progress-heading { display:flex; align-items:end; justify-content:space-between; gap:var(--space-2xl); padding-bottom:var(--space-2xl); border-bottom:1px solid var(--line); }
.progress-heading h1 { max-width:none; font-size:clamp(3.2rem,7vw,5.8rem); }.progress-heading p:last-child { color:var(--muted); }
.progress-seal { display:grid; flex:0 0 132px; aspect-ratio:1; place-items:center; align-content:center; border:1px solid var(--sage); border-radius:50%; color:var(--sage); }
.progress-seal strong { font-family:var(--font-display); font-size:3rem; line-height:1; }.progress-seal span,.progress-seal small { color:var(--muted); font-size:.75rem; }
.patient-metric-strip { display:grid; grid-template-columns:repeat(3,1fr); margin:var(--space-3xl) 0; border-block:1px solid var(--line); }
.patient-metric-strip article { display:grid; gap:var(--space-xs); min-height:142px; padding:var(--space-xl); border-bottom:1px solid var(--line); }
.patient-metric-strip small,.patient-metric-strip span { color:var(--muted); }.patient-metric-strip strong { font-family:var(--font-display); font-size:2.25rem; font-weight:500; }
.patient-chart-section { margin:var(--space-4xl) 0; padding:var(--space-2xl); border:1px solid var(--line); border-radius:var(--radius-md); background:oklch(.98 .008 95); }
.patient-chart-section h2,.progress-columns h2 { max-width:none; font-size:2.3rem; }
.patient-line-chart { min-height:280px; overflow-x:auto; }.patient-line-chart svg { min-width:680px; width:100%; }
.patient-line-chart .grid line { stroke:var(--line); stroke-width:1; }.patient-line-chart text { fill:var(--muted); font-size:12px; }.patient-line-chart .trend { fill:none; stroke:var(--sage); stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }.patient-line-chart circle { fill:var(--paper); stroke:var(--sage); stroke-width:3; }.patient-line-chart .session-label { text-anchor:middle; }
.progress-columns { display:grid; grid-template-columns:.8fr 1.2fr; gap:var(--space-xl); margin:var(--space-4xl) 0; }
.milestone-panel,.strategy-panel { padding:var(--space-2xl); border:1px solid var(--line); border-radius:var(--radius-md); }
.milestone-list { display:grid; gap:var(--space-md); margin:var(--space-xl) 0 0; padding:0; list-style:none; }.milestone-list li { display:grid; gap:var(--space-xs); padding:var(--space-md) 0; border-bottom:1px solid var(--line); }.milestone-list span { color:var(--muted); font-size:.85rem; }
.strategy-panel [data-strategies] { display:grid; gap:var(--space-sm); margin-top:var(--space-xl); }.strategy-panel article { display:grid; gap:var(--space-xs); padding:var(--space-lg) 0; border-bottom:1px solid var(--line); }.strategy-panel small,.strategy-panel span { color:var(--muted); }.strategy-panel strong { font-family:var(--font-display); font-size:1.12rem; font-weight:500; }
.progress-disclaimer { max-width:78ch; margin:var(--space-3xl) 0; color:var(--muted); font-size:.8rem; }

@media(max-width:760px){.auth-shell{grid-template-columns:1fr}.auth-intro{min-height:46vh;padding-top:110px}.auth-intro .brand{top:24px}.patient-nav{gap:0}.nav-button{padding-inline:var(--space-sm);font-size:.78rem}.today-sheet{grid-template-columns:1fr}.thirty-track{grid-template-columns:repeat(10,1fr)}.metric-grid{grid-template-columns:1fr}.dashboard-title{align-items:flex-start}.completion-ring{width:104px}.clinical-grid{grid-template-columns:1fr}.session-history summary{grid-template-columns:90px 1fr}.session-history summary small{display:none}.session-history details>div{padding-left:0}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.post-session-choice{grid-template-columns:1fr}.post-session-choice .text-button{grid-column:1}.accelerated-choice{grid-template-columns:1fr}.accelerated-choice button,.completion-actions button{width:100%}.completion-actions{flex-direction:column-reverse}.memory-options,.sequence-options{grid-template-columns:1fr}.game-board{padding:var(--space-lg)}.game-actions{flex-direction:column-reverse}.game-actions button{width:100%}.shift-grid,.patient-metric-strip,.progress-columns{grid-template-columns:1fr}.progress-heading{align-items:flex-start}.progress-seal{flex-basis:104px}.patient-chart-section,.milestone-panel,.strategy-panel,.session-debrief{padding:var(--space-lg)}}
@media(max-width:520px){.topbar{align-items:flex-start}.patient-nav{display:grid;grid-template-columns:1fr 1fr}.patient-nav .quiet-button{grid-column:2}.progress-heading{display:grid}.progress-seal{width:96px}.patient-series{display:grid;grid-template-columns:1fr 1fr}.patient-series button:last-child{grid-column:1/-1}}
@media(max-width:420px){.thirty-track{grid-template-columns:repeat(6,1fr)}.dashboard-title{display:grid}.completion-ring{width:96px}.clinical-header .brand small{display:none}}
