:root{font-family:Plus Jakarta Sans,Inter,system-ui,sans-serif;color:#172b35;background:#f7f9f8;font-synthesis:none;--ink: #172b35;--brand: #2d5a6b;--action: #0e7490;--clinical: #eaf7f5;--surface: #ffffff;--background: #f7f9f8;--line: #d7e1e3;--muted: #566b75;--success: #13795b;--review: #9a6700;--danger: #b42318}*{box-sizing:border-box}html{background:var(--background)}body{margin:0;min-width:320px;background:var(--background);line-height:1.55}a{color:var(--action)}button,input,select{font:inherit}button,a{touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.55}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:1rem;z-index:30;background:var(--surface);padding:.75rem 1rem}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid var(--action);outline-offset:3px}.site-header{min-height:72px;padding:0 clamp(1rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fffffff7;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;font-weight:750;color:var(--ink)}.brand>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;background:var(--brand)}.brand small{font-size:.65rem;letter-spacing:.14em;color:var(--action)}.site-header nav{display:flex;gap:.2rem;align-items:center}.site-header nav a,.site-header nav button{min-height:44px;padding:.65rem .8rem;border:0;background:none;text-decoration:none;color:var(--muted);border-radius:12px}.site-header nav a.active{color:var(--brand);background:var(--clinical)}.page-shell,.player-shell{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:clamp(2rem,5vw,4.5rem) 0 7rem}.hero{max-width:720px;margin-bottom:2.5rem}.eyebrow{margin:0 0 .35rem;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:750;color:var(--action)}.hero h1,.result-hero h1,.prose-page h1,.status-page h1{font-size:clamp(2.25rem,5vw,4.25rem);line-height:1.05;margin:.3rem 0 1rem;letter-spacing:-.035em;color:var(--brand)}.supporting-copy{color:var(--muted);font-size:.9rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.1rem;border-radius:12px;border:1px solid var(--action);font-weight:750;text-decoration:none;cursor:pointer}.button-primary{background:var(--action);color:#fff}.button-secondary{background:var(--surface);color:var(--action)}.hero .button{margin-top:1rem}.week-card,.question-card,.clinical-story,.result-card,.capsule,.report-grid>section,.confidence,.statement-control,.microcheck{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.4rem}.week-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem}.status{padding:.3rem .65rem;border-radius:999px;font-size:.75rem;font-weight:750}.status-available{background:var(--clinical);color:var(--success)}.status-locked{background:#eef1f2;color:var(--muted)}.episode-list{padding:0;margin:1rem 0 0;list-style:none}.episode-list li,.review-actions li{display:flex;align-items:center;justify-content:space-between;min-height:58px;border-top:1px solid var(--line);gap:1rem}.episode-list span:first-child,.review-actions span{display:flex;flex-direction:column}.episode-list small,.review-actions small{color:var(--muted)}.episode-state{font-size:.78rem;color:var(--muted)}.state-in_progress{color:var(--review);font-weight:750}.state-completed{color:var(--success);font-weight:700}.player-shell{max-width:820px}.player-header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.6rem}.player-shell progress{width:100%;height:7px;accent-color:var(--action)}.clinical-story{margin:1.5rem 0;background:var(--clinical)}.question-card{padding:clamp(1.2rem,4vw,2.2rem)}fieldset{border:0;padding:0;margin:0}legend{font-size:clamp(1.25rem,3vw,1.8rem);line-height:1.3;font-weight:750;margin-bottom:1.25rem;color:var(--ink)}.answer-option{display:flex;gap:.8rem;align-items:center;min-height:56px;padding:.8rem;border:1px solid var(--line);border-radius:12px;margin:.65rem 0;cursor:pointer}.answer-option:has(input:checked){border-color:var(--action);background:var(--clinical)}.answer-option input,.microcheck input,.statement-control input{width:20px;height:20px;accent-color:var(--action)}.statement-control,.microcheck{margin:.75rem 0;padding:1rem}.statement-control legend,.microcheck legend{font-size:1rem;margin-bottom:.6rem}.statement-control label,.microcheck label{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;margin-right:1.4rem}.association-control{display:grid;gap:.4rem;margin:.8rem 0;font-weight:700}.association-control select{min-height:48px;padding:.5rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.save-status{min-height:1.6rem;margin:.8rem 0;color:var(--muted)}.player-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;position:sticky;bottom:0;padding:1rem 0;background:var(--background)}.result-hero{max-width:720px;margin-bottom:2rem}.result-card{margin:1rem 0}.result-card dl{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.result-card dl>div{padding:1rem;background:var(--background);border-radius:12px}.result-card dt{color:var(--muted);font-size:.8rem}.result-card dd{margin:.3rem 0;font-weight:700}.structured-answer{margin:.5rem 0 0;padding-left:1.25rem}.capsule{margin:2rem 0;background:var(--clinical);border-color:#b8dcda}.result-actions{display:flex;gap:1rem;margin-top:1.5rem}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.report-grid ul{padding:0;list-style:none}.report-grid li{display:flex;flex-direction:column;padding:.8rem 0;border-top:1px solid var(--line)}.report-grid span{color:var(--muted)}.report-disclaimer{margin-top:2rem;padding:1rem;border-left:4px solid var(--review);background:#fff8e7}.loading{display:flex;align-items:center;gap:1rem}.loader{width:24px;height:24px;border:3px solid var(--clinical);border-top-color:var(--action);border-radius:50%;animation:spin .8s linear infinite}.prose-page{max-width:760px}.global-alert{padding:.75rem 1rem;text-align:center;background:#fff1f0;color:var(--danger)}.mobile-nav{display:none}.admin-app{min-height:100vh;background:#f4f7f7}.admin-header{min-height:72px;padding:.75rem clamp(1rem,3vw,2.5rem);display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--line);background:var(--surface)}.admin-header .brand{margin-right:auto}.admin-header button{min-width:44px;min-height:44px;padding:.55rem .9rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--brand);cursor:pointer}.admin-identity{display:grid;justify-items:end;color:var(--muted);font-size:.78rem}.admin-identity code{color:var(--brand)}.admin-nav{padding:1rem;display:flex;flex-direction:column;gap:.25rem;background:var(--surface);border-right:1px solid var(--line)}.admin-nav a{min-height:44px;display:flex;align-items:center;padding:.65rem .8rem;border-radius:10px;text-decoration:none;color:var(--muted)}.admin-nav a.active{color:var(--brand);background:var(--clinical);font-weight:700}.admin-placeholder{max-width:840px}.admin-placeholder h1{margin:.2rem 0 1rem;color:var(--brand);font-size:clamp(2rem,4vw,3.25rem);line-height:1.1}.commerce-card,.commerce-summary,.commerce-list{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.25rem;margin:1.25rem 0}.consent-control{display:flex;align-items:center;gap:.75rem;min-height:44px;margin:.5rem 0}.consent-control input{width:20px;height:20px;accent-color:var(--action)}.commerce-actions{display:flex;flex-wrap:wrap;gap:.75rem}.commerce-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.commerce-summary dt,.commerce-list span{color:var(--muted);font-size:.9rem}.commerce-summary dd{margin:.25rem 0 0;font-weight:700}.commerce-list{list-style:none}.commerce-list li{display:grid;gap:.2rem;padding:.8rem 0;border-top:1px solid var(--line)}textarea{display:block;width:100%;min-height:140px;margin:.5rem 0 1rem;padding:.75rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.identity-page{max-width:560px}.identity-page h1{margin:.3rem 0 1rem;color:var(--brand);font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.08}.identity-form{display:grid;gap:1rem;margin-top:1.5rem}.identity-field{display:grid;gap:.35rem;font-weight:700}.identity-field input{min-height:48px;width:100%;padding:.7rem .8rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.identity-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.25rem}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){.site-header nav{display:none}.site-header{min-height:64px}.report-grid{grid-template-columns:1fr}.page-shell,.player-shell{width:min(100% - 1.25rem,1120px);padding-top:2rem}.mobile-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));overflow-x:hidden;position:fixed;bottom:0;left:0;right:0;z-index:10;background:var(--surface);border-top:1px solid var(--line);padding:.35rem}.mobile-nav a,.mobile-nav button{min-width:44px;min-height:50px;display:grid;place-items:center;padding:.35rem .15rem;border:0;background:none;color:var(--brand);text-decoration:none;font-size:.68rem}.mobile-nav .active{background:var(--clinical);border-radius:12px}.player-header{font-size:.86rem}.player-actions .button{flex:1}.result-card dl,.commerce-summary{grid-template-columns:1fr}.admin-header{min-height:64px}.admin-header .brand small{display:none}.admin-identity{justify-items:start;margin-left:auto}.admin-nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:.5rem}.admin-nav a{flex:0 0 auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.status-locked{color:#52615d}.admin-dialog :focus-visible,.admin-pager button:focus-visible,.admin-card-list a:focus-visible,.admin-card-list button:focus-visible{outline:3px solid var(--action);outline-offset:3px}.program-layout{display:grid;grid-template-columns:minmax(210px,270px) minmax(0,1fr);gap:1.5rem;align-items:start}.admin-layout{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);min-height:calc(100vh - 72px)}.admin-layout>main{min-width:0;padding:clamp(1.5rem,4vw,3rem)}.admin-table-wrap{overflow-x:auto}.admin-data-view table{width:100%;border-collapse:collapse;background:var(--surface)}.admin-data-view th,.admin-data-view td{padding:.8rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.admin-card-list{display:none;margin:0;padding:0;list-style:none}.admin-card-list>li{margin-bottom:.75rem;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.admin-card-list dl,.admin-action-summary{margin:0}.admin-card-list dl>div,.admin-action-summary>div{display:grid;grid-template-columns:minmax(7rem,.6fr) 1fr;gap:.75rem;padding:.4rem 0}.admin-card-list dt,.admin-action-summary dt{color:var(--muted);font-size:.8rem;font-weight:700}.admin-card-list dd,.admin-action-summary dd{min-width:0;margin:0;overflow-wrap:anywhere}.admin-status{min-height:120px;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.admin-pager{display:flex;justify-content:flex-end;padding:1rem 0}.admin-pager button,.admin-dialog button{min-height:44px;min-width:44px}.admin-data-view button,.admin-data-view a,.admin-data-view input,.admin-data-view select{min-width:44px;min-height:44px}.admin-dialog-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1rem;background:#172b35a3}.admin-dialog{width:min(600px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;padding:clamp(1.25rem,4vw,2rem);border-radius:16px;background:var(--surface);box-shadow:0 18px 60px #00000040}.admin-dialog h2{margin:.25rem 0 1rem;color:var(--brand)}.admin-dialog textarea{min-height:100px}.admin-confirmation{display:flex;align-items:center;gap:.65rem;min-height:44px}.admin-confirmation input{width:20px;height:20px}.admin-dialog-error{color:var(--danger)}.admin-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.admin-dialog-actions button{padding:.65rem 1rem;border:1px solid var(--action);border-radius:10px;cursor:pointer}.admin-page-stack{display:grid;gap:2rem}.admin-page-stack>header h1{margin:.2rem 0 .5rem;color:var(--brand);font-size:clamp(2rem,4vw,3.25rem)}.readiness-evidence{display:grid;gap:1.5rem}.readiness-hero{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.readiness-hero h2{margin:.2rem 0;color:var(--brand)}.readiness-hero dl{margin:0}.readiness-hero code{overflow-wrap:anywhere;word-break:break-all}.admin-evidence-panel{border:1px solid var(--line);border-radius:1rem;padding:1rem}.admin-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:.75rem}.admin-detail-grid>div{min-width:0}.admin-detail-grid dt{color:var(--muted);font-size:.85rem}.admin-detail-grid dd{margin:.25rem 0 0;overflow-wrap:anywhere}.admin-detail-grid code,.admin-data-view code{overflow-wrap:anywhere;word-break:break-all}.admin-inline-actions{display:flex;flex-wrap:wrap;gap:.5rem}.legal-markdown-detail{white-space:pre-wrap;overflow-wrap:anywhere;max-height:32rem;overflow:auto}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.75rem;padding-block:1rem}.admin-form-grid label{display:grid;gap:.3rem}.admin-form-grid textarea{min-height:10rem}.readiness-checks,.readiness-gauges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.readiness-checks>div,.readiness-gauges>div{min-width:0;padding:.85rem;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.readiness-checks dt,.readiness-gauges dt{color:var(--muted);font-size:.8rem}.readiness-checks dd,.readiness-gauges dd{margin:.25rem 0 0;overflow-wrap:anywhere;font-weight:700}.check-pass{color:var(--success)}.check-fail{color:var(--danger)}.week-trail{position:sticky;top:100px;padding:1.25rem;border-left:1px solid var(--line)}.trail-week{display:flex;gap:.85rem;align-items:center;min-height:72px;padding:.65rem;border-radius:14px;color:var(--muted)}.trail-week.active-week{background:var(--clinical);color:var(--brand)}.week-number{display:grid;place-items:center;flex:0 0 38px;height:38px;border:1px solid currentColor;border-radius:50%;font-weight:700}.trail-week h2{margin:0;font:700 1.1rem Plus Jakarta Sans,Inter,system-ui,sans-serif}.trail-week small{display:block}.week-title{margin:0;font:700 1.8rem Plus Jakarta Sans,Inter,system-ui,sans-serif}.active-week-card{padding:1.6rem 2rem}.player-nav{display:flex;justify-content:space-between;align-items:center;min-height:48px;margin-bottom:1.5rem}.player-nav a{font-weight:700;text-decoration:none}.player-nav button{min-height:44px;border:0;background:none;color:var(--brand);cursor:pointer;font-weight:700}.confidence{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.confidence legend{font:700 1rem Plus Jakarta Sans,Inter,system-ui,sans-serif;margin-bottom:.5rem}.confidence div{display:flex;gap:.5rem}.confidence label{display:grid;place-items:center;min-width:48px;min-height:48px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.confidence input{position:absolute;opacity:0}.confidence label:has(input:checked){background:var(--clinical);border-color:var(--brand)}@media(max-width:760px){.admin-layout{grid-template-columns:1fr;min-height:calc(100vh - 64px)}.admin-layout>main{padding:1.25rem}.admin-dialog-actions{flex-direction:column-reverse}.admin-dialog-actions button{width:100%}.readiness-hero{flex-direction:column}.readiness-checks,.readiness-gauges,.program-layout{grid-template-columns:1fr}.week-trail{position:static;display:grid;grid-template-columns:repeat(6,minmax(72px,1fr));overflow-x:auto;border-left:0;padding:.5rem 0}.trail-week{flex-direction:column;text-align:center;gap:.25rem;padding:.4rem}.trail-week h2{font:700 .8rem Plus Jakarta Sans,Inter,system-ui,sans-serif}.trail-week small{display:none}.active-week-card{padding:1.2rem}}@media(max-width:720px){.admin-table-wrap{display:none}.admin-card-list{display:block}}
