:root{
  --ink:#1a1a18;--charcoal:#22221f;--ivory:#f6f1e7;--paper:#fffdf8;--gold:#a47b28;--gold-dark:#725318;
  --muted:#66635c;--line:#d8d0c0;--focus:#0b63ce;--success:#205e42;--danger:#8b2f2b;--shadow:0 16px 40px rgba(26,26,24,.10);
  --radius:18px;--base:17px;
}
*{box-sizing:border-box}html{font-size:var(--base);scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.62}
body.large-text{--base:19px}body.reduce-motion *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
a{color:var(--gold-dark)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.skip-link{position:absolute;left:1rem;top:-5rem;background:#fff;color:#000;padding:.75rem 1rem;z-index:1000}.skip-link:focus{top:1rem}
.site-header{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem clamp(1rem,4vw,2rem);background:rgba(246,241,231,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.brand-wrap{display:flex;align-items:center;gap:.85rem}.brand{text-decoration:none;letter-spacing:.16em;color:#111;font-size:1.05rem}.brand b{font-weight:500;color:#8b8b87}.eyebrow,.stage-label{display:block}.eyebrow{font-size:.69rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-dark);font-weight:700}.stage-label{font-size:.78rem;color:var(--muted)}
.icon-button,.text-button,.secondary-button,.primary-button,.nav-button,.lane-button{font:inherit;cursor:pointer;border-radius:999px;min-height:44px;padding:.66rem 1rem}.icon-button,.secondary-button,.text-button{background:transparent;border:1px solid var(--line);color:var(--ink)}.primary-button,.nav-button.primary{background:var(--charcoal);color:#fff;border:1px solid var(--charcoal);font-weight:700}.primary-button:hover,.nav-button.primary:hover{background:#000}.secondary-button:hover,.icon-button:hover,.lane-button:hover{border-color:var(--gold);background:#fffaf0}.text-button{border:0;text-decoration:underline;text-underline-offset:3px}
.global-progress{height:4px;background:linear-gradient(90deg,var(--gold) var(--global,0%),#e5dece var(--global,0%));transition:background .2s}
main{max-width:980px;margin:0 auto;padding:clamp(1rem,3vw,2.25rem)}main:focus{outline:none}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;line-height:1.2;color:#171713}h1{font-size:clamp(2rem,7vw,4rem);margin:.25rem 0 1rem}h2{font-size:clamp(1.55rem,4vw,2.45rem);margin:.2rem 0 1rem}h3{font-size:1.25rem;margin:1.4rem 0 .55rem}p,li{max-width:72ch}blockquote{margin:1.25rem 0;padding:1rem 1.15rem;border-left:4px solid var(--gold);background:#fff8e8;font-family:"Playfair Display",Georgia,serif;font-size:1.15rem}
.hero{padding:clamp(2rem,8vw,5.5rem) 0 2rem}.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:2rem;align-items:end}.hero-card,.panel,.lesson-card,.screen-card,.summary-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card{padding:1.4rem}.section-kicker{display:inline-block;color:var(--gold-dark);font-size:.75rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.lead{font-size:1.12rem;color:#44413b}.support-note,.microcopy{font-size:.86rem;color:var(--muted)}
.consent-card{padding:1.25rem;margin:1.5rem 0}.consent-card label{display:flex;gap:.8rem;align-items:flex-start}.consent-card input{margin-top:.35rem;width:20px;height:20px}
.dashboard-head{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1.25rem}.day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.lesson-card{padding:1.25rem;display:flex;flex-direction:column;gap:.8rem}.lesson-card h2{font-family:Inter,sans-serif;font-size:1.13rem;margin:0}.lesson-card .day-number{font-family:"Playfair Display",Georgia,serif;font-size:2rem;color:var(--gold-dark)}.lesson-meta{display:flex;justify-content:space-between;gap:.75rem;font-size:.8rem;color:var(--muted)}.status{font-weight:700;color:var(--success)}.lesson-card .primary-button{align-self:flex-start}
.lesson-shell{max-width:760px;margin:0 auto}.lesson-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.lesson-top h1{font-size:clamp(1.8rem,5vw,2.75rem);margin:.15rem 0}.screen-progress{font-size:.83rem;color:var(--muted);white-space:nowrap}.screen-progress-bar{height:8px;border-radius:999px;background:#e4ddcf;overflow:hidden;margin:.75rem 0 1.2rem}.screen-progress-bar span{display:block;height:100%;background:var(--gold);width:var(--screen,0%)}
.screen-card{padding:clamp(1.1rem,4vw,2rem);min-height:430px}.screen-card header{border-bottom:1px solid var(--line);padding-bottom:.85rem;margin-bottom:1rem}.screen-card header h2{margin:.2rem 0}.screen-card table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;font-size:.9rem}.screen-card th,.screen-card td{padding:.65rem;border:1px solid var(--line);vertical-align:top;min-width:140px}.screen-card th{background:#f0eadf;text-align:left}.screen-card ul,.screen-card ol{padding-left:1.25rem}.screen-card strong{font-weight:700}
.screen-nav{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin:1rem 0 2rem}.screen-nav .nav-group{display:flex;gap:.6rem;flex-wrap:wrap}.nav-button{background:transparent;border:1px solid var(--line)}
.lane-tabs{display:flex;gap:.55rem;flex-wrap:wrap;margin-bottom:1rem}.lane-button{background:#fff;border:1px solid var(--line)}.lane-button[aria-selected="true"]{background:var(--charcoal);color:#fff;border-color:var(--charcoal)}.lane-panel{border-left:3px solid var(--gold);padding-left:1rem}
.practice-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.choice-card{position:relative}.choice-card input{position:absolute;opacity:0}.choice-card label{display:block;border:1px solid var(--line);border-radius:14px;padding:1rem;min-height:100%;cursor:pointer;background:#fff}.choice-card input:checked+label{border:2px solid var(--gold-dark);background:#fff9ea}.prompt-box,.feedback-box,.notice-box{padding:1rem;border-radius:14px;background:#f2ecdf;border:1px solid var(--line);margin:1rem 0}.feedback-box{background:#edf5ef;border-color:#bdd6c6}.feedback-box h3{font-family:Inter,sans-serif;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--success);margin:.8rem 0 .25rem}.feedback-box h3:first-child{margin-top:0}
.chat{display:grid;gap:.7rem;margin:1rem 0}.bubble{padding:.8rem 1rem;border-radius:15px;max-width:88%}.bubble.ai{background:#eee7d8}.bubble.you{background:#242421;color:#fff;justify-self:end}.chat-entry{display:grid;gap:.5rem}.chat-entry textarea{min-height:90px}.field-note{font-size:.8rem;color:var(--muted)}
label{font-weight:600}input[type="text"],input[type="password"],textarea,select{width:100%;font:inherit;border:1px solid #aaa397;border-radius:10px;padding:.75rem;background:#fff;color:#171713}textarea{min-height:100px;resize:vertical}.form-group{margin:1rem 0}.rating-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.45rem}.rating-option input{position:absolute;opacity:0}.rating-option label{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:90px;border:1px solid var(--line);border-radius:12px;padding:.5rem;background:#fff;cursor:pointer}.rating-option input:checked+label{border:2px solid var(--gold-dark);background:#fff8e4}.rating-option strong{font-size:1.2rem}.rating-option small{font-size:.7rem;font-weight:500}.check-list{display:grid;gap:.7rem}.check-row{display:flex;gap:.7rem;align-items:flex-start;padding:.75rem;border:1px solid var(--line);border-radius:12px;background:#fff}.check-row input{width:20px;height:20px;margin-top:.2rem}
.question-card,.rubric-item{padding:1rem;border:1px solid var(--line);border-radius:14px;margin:1rem 0;background:#fff}.question-card fieldset,.rubric-item fieldset{border:0;padding:0;margin:0}.question-card legend,.rubric-item legend{font-weight:700;margin-bottom:.7rem}.option-row{display:flex;gap:.65rem;align-items:flex-start;padding:.55rem 0}.option-row input{margin-top:.35rem}.answer-note{padding:.75rem;border-left:3px solid var(--gold);background:#fff8e8;margin-top:.65rem}.score-display{font-family:"Playfair Display",Georgia,serif;font-size:2rem;color:var(--gold-dark);margin:1rem 0}.range-card{border-left:4px solid var(--gold);padding:.9rem 1rem;background:#fff;margin:.8rem 0}.range-card.active{box-shadow:0 0 0 3px rgba(164,123,40,.23)}
.time-details{border:1px solid var(--line);border-radius:12px;padding:.75rem 1rem;margin-bottom:1rem;background:#fff}.time-details summary{cursor:pointer;font-weight:700}.time-details[open] summary{margin-bottom:.75rem}.meta-stack>table{margin-bottom:1rem}.screen-tools{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}.listen-button{font-size:.85rem}.completion-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.summary-card{padding:1rem;text-align:center}.summary-card strong{display:block;font-family:"Playfair Display",Georgia,serif;font-size:2rem;color:var(--gold-dark)}
.dialog-card{max-width:560px;padding:1.4rem;border:0}dialog{border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);max-width:calc(100vw - 2rem)}dialog::backdrop{background:rgba(0,0,0,.45)}.dialog-heading{display:flex;justify-content:space-between;gap:1rem}.close-button{border:0;background:transparent;font-size:2rem;cursor:pointer}.switch-row{display:flex;gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--line)}.switch-row input{width:22px;height:22px}.switch-row span,.switch-row small{display:block}.switch-row small{font-weight:400;color:var(--muted)}
.toast:empty{display:none}.toast{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%) translateY(130%);background:#171713;color:#fff;padding:.75rem 1rem;border-radius:999px;transition:transform .2s;z-index:100}.toast.show{transform:translateX(-50%) translateY(0)}
.facilitator-main{max-width:1000px}.narrow-panel{max-width:640px;margin:3rem auto;padding:2rem}.facilitator-day{padding:1.25rem;margin:1rem 0}.private-tag{display:inline-block;background:#3c2f17;color:#fff5dd;padding:.25rem .55rem;border-radius:999px;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.form-message{color:var(--danger)}
@media(max-width:740px){.hero-grid{grid-template-columns:1fr}.day-grid{grid-template-columns:1fr}.dashboard-head,.lesson-top{align-items:flex-start;flex-direction:column}.screen-progress{white-space:normal}.practice-choice{grid-template-columns:1fr}.rating-grid{grid-template-columns:1fr}.rating-option label{min-height:56px;flex-direction:row;gap:.55rem;justify-content:flex-start}.completion-summary{grid-template-columns:1fr}.screen-card{min-height:0}.site-header{align-items:flex-start}.icon-button{padding:.55rem .7rem}.eyebrow{font-size:.62rem}}
@media print{.site-header,.global-progress,.screen-nav,.screen-tools,.icon-button{display:none!important}body{background:#fff}.screen-card,.panel{box-shadow:none;border:0}main{max-width:none}.screen-card{min-height:auto}}
