/* Three Sides styles.
   Identity: an inverted triangle standing on its point, as Malan drew his two triangles, inked by hand with a marigold tip.
   Ink indigo for text and primary actions; marigold only for the tip, the current place, and the occasional note.
   Structure comes from rules and spacing rather than boxes. Corners are small. Pills are reserved for nothing.
   Type: Young Serif for headings and the timer, Atkinson Hyperlegible Next for everything else. */

@font-face{font-family:'Atkinson Hyperlegible Next';src:url(fonts/atkinson-hyperlegible-next-latin-variable.woff2) format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Young Serif';src:url(fonts/young-serif-latin-400.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}

:root{
  --paper:#fbfaf8;--surface:#ffffff;--mist:#ecedf5;--mist-2:#f4f4f9;
  --ink:#1f2344;--ink-2:#4e5373;--ink-3:#666a86;
  --line:#dadce6;--line-strong:#8a8ea8;
  --marigold:#edb13b;--marigold-wash:#fbf1da;--gold-deep:#a8741a;--clay-wash:#f4e4de;
  --focus:#3442b8;
  --serif:'Young Serif',Georgia,'Times New Roman',serif;
  --sans:'Atkinson Hyperlegible Next',system-ui,-apple-system,'Segoe UI',sans-serif;
  --r-card:10px;--r-panel:12px;--r-field:6px;--gold-text:#7f540d;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;font-synthesis:none;-webkit-font-smoothing:antialiased}
::selection{background:var(--marigold-wash)}
img,svg{display:block}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;line-height:1.1;text-wrap:balance}
h3{font-size:1.02rem;font-weight:700;line-height:1.35}
p{max-width:68ch;text-wrap:pretty}
a{color:var(--ink);text-decoration-line:underline;text-decoration-color:var(--gold-deep);text-decoration-thickness:2px;text-underline-offset:.2em}
a:hover{text-decoration-color:var(--ink)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
[tabindex="-1"]:focus{outline:none}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.muted{color:var(--ink-3)}
.small{font-size:.92rem}
.wrap{width:100%;max-width:1160px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}

/* ---------- Skip link ---------- */
.skip{position:absolute;left:12px;top:-80px;z-index:50;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:6px;text-decoration:none;font-weight:650}
.skip:focus{top:12px}

/* ---------- Masthead ---------- */
.masthead{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
.masthead-in{display:flex;align-items:center;gap:clamp(16px,3vw,40px);min-height:72px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--serif);font-size:1.3rem;letter-spacing:-.01em;color:var(--ink);min-height:44px}
.mark{width:32px;height:32px}
.ink{display:block;overflow:visible}
.ink-edge{fill:var(--ink)}
.ink-wash{fill:var(--marigold);mix-blend-mode:multiply}
.ink-lbl{font-family:var(--serif);font-size:22px;fill:var(--ink-2)}
.tri{width:100%;height:auto;overflow:visible}
.tri .edge{fill:none;stroke:var(--ink);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.tri .node{fill:var(--surface);stroke:var(--ink);stroke-width:2;vector-effect:non-scaling-stroke;transition:fill .3s}
.tri .node.apex{fill:var(--marigold)}
.tri .lbl{font-family:var(--sans);font-size:15px;font-weight:700;fill:var(--ink)}
.mainnav{display:flex;gap:10px}
.mainnav a,.you-link{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 10px;color:var(--ink-2);font-weight:650;text-decoration:none}
.mainnav a:hover,.you-link:hover{color:var(--ink)}
.mainnav a[aria-current],.you-link[aria-current]{color:var(--ink)}
.mainnav a[aria-current]::after{content:'';position:absolute;left:10px;right:10px;bottom:5px;height:3px;background:var(--marigold)}
.you-link{margin-left:auto;padding-left:6px}
.you-dot{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--mist);font-family:var(--serif);font-size:1.05rem;color:var(--ink)}
.you-link[aria-current] .you-dot{background:var(--marigold)}
.you-dot .icon{width:20px;height:20px}
.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Practice section bar: Session / Workbook, and the four session steps ---------- */
.subbar{border-bottom:1px solid var(--line);background:var(--paper)}
.subbar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;flex-wrap:wrap}
.subnav{display:flex;gap:6px 24px}
.subnav a{display:inline-flex;align-items:center;min-height:48px;padding:0 2px;font-weight:650;color:var(--ink-2);text-decoration:none}
.subnav a:hover{color:var(--ink)}
.subnav a[aria-current]{color:var(--ink);box-shadow:inset 0 -3px 0 var(--ink)}
.stepper{display:flex;align-items:center;list-style:none;gap:6px}
.stepper li{display:flex;align-items:center;gap:6px}
.stepper li+li::before{content:'';width:18px;height:1.5px;background:var(--line-strong)}
.stepper a,.stepper span{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 8px;border-radius:6px;color:var(--ink-2);text-decoration:none;font-weight:600;font-size:.95rem}
.stepper a:hover{color:var(--ink)}
.stepper b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line-strong);font-size:.85rem;font-weight:700;background:var(--surface)}
.stepper .done b{background:var(--mist);border-color:var(--ink-2);color:var(--ink)}
.stepper .now span{color:var(--ink)}
.stepper .now b{background:var(--ink);border-color:var(--ink);color:var(--paper)}

/* ---------- Page scaffolding ---------- */
.page{padding-top:clamp(28px,5vw,56px)}
.pagehead{margin-bottom:clamp(24px,4vw,40px)}
.pagehead h1{font-size:clamp(2.25rem,1.4rem + 2.9vw,3.6rem)}
.pagehead p{margin-top:.7em;font-size:1.13rem;color:var(--ink-2);max-width:60ch}
.sitefoot{margin-top:clamp(56px,8vw,96px);padding-bottom:40px;color:var(--ink-3);font-size:.9rem}
.sitefoot p{padding-top:24px;border-top:1px solid var(--line);max-width:none}
.sitefoot p span{display:block;max-width:70ch}

/* ---------- Buttons, links, chips ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:0 1.3em;border-radius:6px;border:1.5px solid transparent;font-weight:650;font-size:1rem;line-height:1.2;text-decoration:none;text-align:center;transition:background-color .15s,border-color .15s,color .15s}
.btn.primary{background:var(--ink);color:var(--paper)}
.btn.primary:hover{background:var(--action-hover)}
.btn.quiet{background:transparent;color:var(--ink);border-color:var(--ink-2)}
.btn.quiet:hover{border-color:var(--ink);background:var(--mist-2)}
.btn.toggle{background:transparent;border-color:var(--ink-2);color:var(--ink)}
.btn.toggle[aria-pressed="true"]{background:var(--marigold-wash);border-color:var(--gold-deep)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn.wide{width:100%}
.text-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 .25em;text-align:left;background:none;border:0;color:var(--ink);font-weight:650;text-decoration:underline;text-decoration-color:var(--gold-deep);text-decoration-thickness:2px;text-underline-offset:.22em}
.text-btn:hover{text-decoration-color:var(--ink)}
.chip{display:inline;font-size:.93rem;font-weight:650;color:var(--ink-2)}
.chip:not(.term)+.chip:not(.term)::before{content:', ';font-weight:400}
.chip.outline{font-weight:400;color:var(--ink-3)}
.chips{display:block}
.star{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
[aria-pressed="true"]>.star{fill:var(--marigold);stroke:var(--gold-deep)}

/* ---------- Forms ---------- */
label,legend{display:block;margin:1.15em 0 .45em;font-weight:650;font-size:.97rem;color:var(--ink)}
.field{display:block;width:100%;min-height:48px;padding:.65em .9em;border:1.5px solid var(--line-strong);border-radius:var(--r-field);background:var(--surface);color:var(--ink);font-size:1rem;line-height:1.45}
.field::placeholder{color:#8a8da3}
.field:hover{border-color:var(--ink-2)}
textarea.field{min-height:6.4em;resize:vertical;line-height:1.55}
select.field{appearance:none;-webkit-appearance:none;padding-right:2.6em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f2344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9em center;background-size:18px}
input[type="search"]::-webkit-search-cancel-button{cursor:pointer}
fieldset{border:0;padding:0;margin:0;min-width:0}
.segmented{margin-top:1.5em}
.segmented legend{padding:0;margin-top:0}
.seg{display:inline-flex;flex-wrap:wrap;border:1.5px solid var(--ink-2);border-radius:6px;overflow:hidden;background:var(--surface)}
.seg label{position:relative;margin:0;font-weight:600}
.seg input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.seg span{display:inline-flex;align-items:center;min-height:46px;padding:0 1.05em;border-right:1px solid var(--line)}
.seg label:last-child span{border-right:0}
.seg label:hover span{background:var(--mist-2)}
.seg input:checked+span{background:var(--ink);color:var(--paper);font-weight:700}
.seg input:focus-visible+span{outline:3px solid var(--focus);outline-offset:-4px}
.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-top:24px}

/* Progressive disclosure */
details.more>summary{display:flex;flex-wrap:wrap;align-items:center;gap:.25em .65em;min-height:46px;cursor:pointer;font-weight:650;list-style:none}
details.more>summary::-webkit-details-marker{display:none}
details.more>summary::before{content:'';flex:none;width:0;height:0;margin:0 3px 0 2px;border-style:solid;border-width:6px 0 6px 9px;border-color:transparent transparent transparent var(--ink-2);transition:transform .15s ease-out}
details.more[open]>summary::before{transform:rotate(90deg)}
details.more>summary:hover::before{border-left-color:var(--ink)}
details.more>:not(summary){margin-top:.4em}
details.more p+p{margin-top:.7em}
details.more.boxed{border-top:1px solid var(--line);padding:4px 0;margin-top:12px}
details.more.boxed[open]{padding-bottom:14px}

.notice{border-left:3px solid var(--marigold);padding:.15em 0 .15em 14px;font-size:.95rem;color:var(--ink-2);max-width:none}
.notice.strong{border-left-color:var(--gold-deep);color:var(--ink)}

/* ---------- Toast ---------- */
.toast{position:fixed;left:50%;bottom:24px;z-index:60;max-width:min(440px,calc(100% - 32px));padding:12px 18px;border-radius:8px;background:var(--ink);color:var(--paper);font-weight:600;font-size:.97rem;box-shadow:0 12px 40px var(--shadow);opacity:0;transform:translate(-50%,16px);pointer-events:none;transition:opacity .2s,transform .2s}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast:empty{display:none}

/* ---------- Home ---------- */
.page-home{padding-top:clamp(12px,4vw,44px)}
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(24px,5vw,72px);padding-bottom:clamp(40px,6vw,72px)}
.hero h1{font-size:clamp(2.5rem,1.6rem + 3.3vw,4.3rem);line-height:1.04;letter-spacing:-.015em;max-width:15ch}
.hero-lede{margin-top:22px;font-size:1.22rem;line-height:1.55;color:var(--ink-2);max-width:31em}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;margin-top:32px}
.hero-link{display:inline-flex;align-items:center;min-height:44px;font-weight:650}
.hero-art{margin:0;justify-self:end;width:100%;max-width:500px;transform:rotate(-1.6deg)}
.hero-ink{width:100%;height:auto}
.hero-ink .ink-draw{fill:none;stroke:#fff;stroke-width:18;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;animation:ink-draw .6s cubic-bezier(.5,.05,.35,1) both}
.hero-ink .d1{animation-delay:.15s}.hero-ink .d2{animation-delay:.7s}.hero-ink .d3{animation-delay:1.2s}
.hero-ink .ink-wash{animation:appear .6s ease-out 1.75s both}
.hero-ink .ink-lbl{animation:appear .5s ease-out both}
.hero-ink .l1{animation-delay:.3s}.hero-ink .l2{animation-delay:.85s}.hero-ink .l3{animation-delay:1.9s}
@keyframes ink-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes appear{from{opacity:0}to{opacity:1}}

.session-demo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,80px);align-items:start;padding-top:clamp(36px,5vw,56px);border-top:1px solid var(--line)}
.session-demo h2{font-size:clamp(1.7rem,1.3rem + 1.2vw,2.3rem)}
.sd-steps{list-style:none;counter-reset:sd;display:grid;gap:18px;margin-top:24px}
.sd-steps li{counter-increment:sd;display:grid;grid-template-columns:2.1rem minmax(0,1fr)}
.sd-steps li::before{content:counter(sd);grid-row:1/span 2;font-family:var(--serif);font-size:1.45rem;line-height:1.05;color:var(--gold-text)}
.sd-steps h3{font-size:1.08rem}
.sd-steps p{margin-top:2px;color:var(--ink-2)}
.sd-link{margin-top:22px;margin-left:2.1rem;font-weight:650}
.sd-link a{display:inline-flex;align-items:center;min-height:44px}
.sheet{margin:6px 0 0;padding:26px 30px 22px;background:var(--surface);border:1px solid var(--line);box-shadow:0 22px 40px -32px var(--shadow);transform:rotate(.5deg)}
.sl{display:grid;grid-template-columns:4.4em minmax(0,1fr);gap:10px;padding:6px 0;font-size:1.06rem;max-width:none}
.sl b{font-weight:650;color:var(--ink-3)}
.sl.you b{color:var(--ink)}
.sheet-note{margin:18px 0 0 calc(4.4em + 10px);padding-left:14px;border-left:3px solid var(--marigold);color:var(--gold-text);max-width:none}
.sheet-note strong{color:var(--ink)}
.sheet figcaption{margin-top:20px;padding-top:12px;border-top:1px solid var(--line);font-size:.9rem;color:var(--ink-3)}

.continue{margin-top:clamp(48px,7vw,80px)}
.continue h2,.partner h2{font-size:clamp(1.5rem,1.2rem + 1vw,1.95rem)}
.continue-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:18px}
.continue-list li{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-top:14px;border-top:1px solid var(--ink)}
.continue-list p{color:var(--ink-2);flex:1}
.continue-list .text-btn{padding-left:0}
.partner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:clamp(24px,6vw,80px);margin-top:clamp(48px,7vw,80px);align-items:start}
.partner-lede{margin-top:10px;color:var(--ink-2)}
.partner-list{list-style:none;border-bottom:1px solid var(--line)}
.partner-list li{display:flex;flex-direction:column;padding:12px 0 14px;border-top:1px solid var(--line)}
.partner-list a{display:inline-flex;align-items:center;align-self:flex-start;min-height:44px;font-weight:650;font-size:1.08rem}
.partner-list span{color:var(--ink-2)}
.steps li::before{display:block;flex:none;width:1.6rem;font-family:var(--serif);font-size:1.2rem;line-height:1.3;color:var(--gold-text)}

/* ---------- Learn ---------- */
.learn{display:grid;grid-template-columns:270px minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start}
.approach-list{display:flex;flex-direction:column;gap:4px;position:sticky;top:96px}
.approach-list button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px 10px 34px;border:0;border-radius:6px;background:none;text-align:left;position:relative;min-height:48px}
.approach-list button:hover{background:var(--mist-2)}
.approach-list button::before{content:'';position:absolute;left:12px;top:19px;width:11px;height:9px;clip-path:polygon(0 0,100% 0,50% 100%);background:var(--line)}
.approach-list button[aria-pressed="true"] .al-name{text-decoration:underline;text-decoration-color:var(--marigold);text-decoration-thickness:3px;text-underline-offset:.3em}
.approach-list button[aria-pressed="true"]::before{background:var(--marigold)}
.al-name{font-weight:700}
.al-sub{font-size:.9rem;color:var(--ink-3);line-height:1.35}
.lesson{padding:4px 0 0 clamp(0px,3vw,44px);border-left:1px solid var(--line)}
.lesson-sub{color:var(--ink-3);font-weight:650}
.lesson h2{font-size:clamp(1.9rem,1.4rem + 1.6vw,2.6rem);margin-top:.15em}
.unit-meta{margin-top:.5em;color:var(--ink-3);font-weight:600}
.lead{margin-top:.8em;font-size:1.15rem;color:var(--ink-2)}
.lesson h3{margin-top:1.8em}
.steps{list-style:none;counter-reset:step;margin-top:.8em}
.steps li{counter-increment:step;display:flex;gap:14px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps li::before{content:counter(step);margin-top:-2px}
.lesson-practice{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:28px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lp-case{font-family:var(--serif);font-size:1.4rem;line-height:1.2}
.lesson details.more{margin-top:18px}

/* ---------- Filters (people, cases) ---------- */
.filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,240px) auto;gap:12px 16px;align-items:end}
.filters.single{grid-template-columns:minmax(0,560px)}
.filters label{margin-top:0}
.result-count{margin:20px 0 14px;color:var(--ink-3);font-size:.95rem}

/* ---------- People ---------- */
.people{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:8px clamp(20px,3vw,36px)}
.person{display:flex;flex-direction:column;align-items:flex-start;padding:20px 0 24px;border-top:1px solid var(--ink)}
.person-top{display:flex;justify-content:space-between;align-items:center;width:100%}
.avatar{display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:50%;font-family:var(--serif);font-size:1.2rem;color:var(--ink);background:var(--marigold-wash)}
.avatar.large{width:72px;height:72px;font-size:1.6rem}
.avatar .icon{width:32px;height:32px}
.tone-1{background:var(--mist)}
.tone-2{background:var(--clay-wash)}
.save-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border-radius:6px;border:1.5px solid var(--line-strong);background:transparent;font-weight:650;font-size:.93rem}
.save-btn:hover{border-color:var(--ink)}
.save-btn[aria-pressed="true"]{background:var(--marigold-wash);border-color:var(--gold-deep)}
.person-name{font-size:1.5rem;margin-top:16px}
.person-level{color:var(--ink-3);font-size:.95rem;margin-top:2px}
.person-bio{margin-top:12px;color:var(--ink-2);flex:1}
.person-studying{margin:12px 0 16px;font-size:.95rem}
.empty{grid-column:1/-1;list-style:none;padding:32px 24px;text-align:center;border:1.5px dashed var(--line-strong);border-radius:8px}
.empty p{margin-inline:auto}
.empty .btn{margin-top:14px}

.member-dialog{width:min(580px,calc(100% - 32px));max-height:calc(100% - 32px);border:0;border-radius:var(--r-panel);padding:clamp(22px,4vw,34px);background:var(--surface);color:var(--ink);box-shadow:0 24px 70px var(--shadow)}
.member-dialog::backdrop{background:var(--shadow)}
.md-head{display:flex;align-items:center;gap:16px}
.md-head h2{font-size:1.9rem}
.close-btn{margin-left:auto;align-self:flex-start;flex:none;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line-strong);background:var(--surface);font-size:1.5rem;line-height:1}
.close-btn:hover{border-color:var(--ink)}
.md-program{margin-top:20px;font-weight:700}
.member-dialog>p{margin-top:8px}
.member-dialog .notice{margin-top:18px}
.md-actions{margin-top:22px}
.facts{margin-top:16px}
.facts dt{font-weight:650;font-size:.92rem;color:var(--ink-2);margin-top:12px}
.facts dd{margin-top:2px}

/* ---------- Cases ---------- */
.caselist{list-style:none;border-bottom:1px solid var(--line)}
.case{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:32px;row-gap:8px;align-items:center;padding:26px 0;border-top:1px solid var(--line)}
.case>*:not(.btn){grid-column:1}
.case .btn{grid-column:2;grid-row:1/span 3}
.case-meta{display:block}
.case h2{font-size:clamp(1.45rem,1.2rem + .8vw,1.85rem)}
.case p{color:var(--ink-2)}
.current-mark{display:inline-flex;align-items:center;gap:6px;margin-left:6px;font-size:.88rem;font-weight:650}
.current-mark::before{content:'';width:11px;height:9px;clip-path:polygon(0 0,100% 0,50% 100%);background:var(--marigold)}
.aside-link{margin-top:24px;color:var(--ink-2)}
.empty:only-child{margin-top:8px}

/* ---------- Case brief (setup and room) ---------- */
.card-paper{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:clamp(20px,3vw,30px)}
.brief-meta{display:block}
.brief-title{font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem);margin:14px 0 8px}
.brief>p{color:var(--ink-2)}
.brief details.more{border-top:1px solid var(--line);margin-top:12px;padding-top:4px}
.brief details.more+details.more{margin-top:0}
.ticks{list-style:none}
.ticks li{position:relative;padding:4px 0 4px 26px}
.ticks li::before{content:'';position:absolute;left:2px;top:.85em;width:11px;height:2px;background:var(--ink-3)}
.brief-change{margin-top:14px}

/* ---------- Set up ---------- */
.setup{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.setup-form .segmented:first-child{margin-top:0}
.setup-form .btn.wide{margin-top:28px}
.setup-extras{max-width:760px;margin-top:clamp(32px,5vw,48px)}
.inline-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.inline-form>div{flex:1 1 240px}
.inline-form label{margin-top:.6em}
.reminders{list-style:none;margin-top:14px}
.reminders li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.reminders li.past{opacity:.7}
#schedule-list>p,#you-reminders>p{margin-top:12px}

/* ---------- Practice room ---------- */
.room{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr);gap:clamp(24px,4vw,56px);align-items:start}
.stage{text-align:center;display:flex;flex-direction:column;align-items:center}
.stage-title{font-size:clamp(1.7rem,1.3rem + 1.2vw,2.3rem)}
.roles{width:100%;max-width:330px;margin-top:22px}
.role-mark .lbl{text-anchor:middle;dominant-baseline:central;transition:fill .3s}
.role-mark[data-role="therapist"] .n1,.role-mark[data-role="client"] .n2{fill:var(--ink)}
.role-mark[data-role="therapist"] .l1,.role-mark[data-role="client"] .l2{fill:var(--paper)}
.role-mark[data-role="either"] .n1,.role-mark[data-role="either"] .n2{fill:var(--mist)}
.role-line{margin-top:14px;font-size:1.1rem;color:var(--ink-2)}
.role-line strong{color:var(--ink)}
.timer{margin-top:18px;font-family:var(--serif);font-size:clamp(4rem,2.4rem + 6vw,6.4rem);line-height:1;font-variant-numeric:tabular-nums lining-nums;letter-spacing:.01em}
.progress{width:min(320px,80%);height:6px;margin-top:18px;border-radius:3px;background:var(--mist);overflow:hidden}
.progress span{display:block;height:100%;width:0;background:var(--marigold);border-radius:3px;transition:width .25s linear}
.timer-status{margin-top:12px;min-height:1.6em;color:var(--ink-2)}
.room-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px}
.room-actions .btn{min-width:170px}
.focus-line{margin-top:22px;color:var(--ink-2)}
.finish-row{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);width:min(420px,100%)}
.room-brief{position:sticky;top:96px}
.room-note{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.room-brief>.small:last-child{margin-top:10px}

/* ---------- Reflect ---------- */
.reflect{max-width:720px}
.reflect-case{font-size:1.05rem;color:var(--ink-2)}
.reflect-case strong{color:var(--ink)}
.reflect details.more{margin-top:18px}
#draft-status{margin-top:16px}

/* ---------- Workbook ---------- */
.tabs{display:flex;flex-wrap:wrap;gap:4px 26px;margin-top:24px;border-bottom:1px solid var(--line)}
.tabs [role="tab"]{min-height:48px;padding:0 2px;border:0;background:transparent;font-weight:650;color:var(--ink-2)}
.tabs [role="tab"]:hover{color:var(--ink)}
.tabs [role="tab"][aria-selected="true"]{color:var(--ink);box-shadow:inset 0 -3px 0 var(--ink)}
.wb-panel{margin-top:24px}
.wb-intro{color:var(--ink-2);margin-bottom:6px}
.wb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
.wb-panel>details.more{margin-top:20px}
.wb-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
#wb-status{margin-right:auto}

/* ---------- You ---------- */
.you-head{display:flex;align-items:center;gap:20px}
.you-head p{margin-top:.2em}
.you-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:start}
.journal h2,.profile-panel h2{font-size:clamp(1.5rem,1.2rem + .9vw,1.9rem)}
.journal>.muted{margin-top:4px}
.entries{margin-top:16px;border-bottom:1px solid var(--line)}
.entry{border-top:1px solid var(--line)}
.entry>summary{display:flex;justify-content:space-between;align-items:baseline;gap:16px;min-height:56px;padding:14px 0;cursor:pointer;list-style:none}
.entry>summary::-webkit-details-marker{display:none}
.entry-title{font-family:var(--serif);font-size:1.22rem;line-height:1.25}
.entry-date{flex:none;color:var(--ink-3);font-size:.93rem}
.entry>summary::after{content:'';flex:none;align-self:center;width:0;height:0;border-style:solid;border-width:6px 0 6px 9px;border-color:transparent transparent transparent var(--ink-2);transition:transform .15s ease-out}
.entry[open]>summary::after{transform:rotate(90deg)}
.entry h3{font-size:.92rem;color:var(--ink-2);margin-top:10px}
.entry p{margin-top:2px}
.entry[open]{padding-bottom:16px}
.journal .empty{margin-top:16px}
.reminders-title{margin-top:44px}
.pp-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.pp-about{margin-top:16px;font-size:1.08rem}
.profile-panel h3{margin-top:20px;margin-bottom:6px;font-size:.92rem;color:var(--ink-2)}
.profile-panel .notice{margin-top:22px}
.profile-panel form>p{margin-top:4px}

/* ---------- Mobile tab bar ---------- */
.tabbar{display:none}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .continue-list{grid-template-columns:1fr 1fr}
  .learn{grid-template-columns:220px minmax(0,1fr)}
}
@media (max-width:860px){
  .hero{grid-template-columns:1fr}
  .hero-art{justify-self:start;max-width:340px;margin-top:8px}
  .session-demo,.partner{grid-template-columns:1fr}
  .partner-list{margin-top:18px}
  .sheet{transform:none}
  .setup,.room,.you-grid{grid-template-columns:1fr}
  .room-brief{position:static}
  .learn{grid-template-columns:minmax(0,1fr)}
  .approach-list{position:static;flex-direction:row;overflow-x:auto;gap:8px;padding:2px 2px 8px;margin-inline:-2px;scroll-snap-type:x proximity;scrollbar-width:thin}
  .approach-list button{flex:none;width:auto;padding:0 14px 0 30px;min-height:46px;justify-content:center;border-radius:6px;box-shadow:inset 0 0 0 1px var(--line-strong);scroll-snap-align:start}
  .approach-list button::before{left:12px;top:50%;margin-top:-4px}
  .approach-list button[aria-pressed="true"]{box-shadow:inset 0 0 0 1.5px var(--ink)}
  .lesson{padding:0;border-left:0}
  .approach-list button[aria-pressed="true"] .al-name{text-decoration:none}
  .al-sub{display:none}
  .wb-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  .masthead{position:static}
  .masthead-in{min-height:60px}
  .mainnav,.you-link{display:none}
  .tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
  .tabbar a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:64px;color:var(--ink-3);font-size:.8rem;font-weight:650;text-decoration:none}
  .tabbar a[aria-current]{color:var(--ink)}
  .tabbar a[aria-current]::before{content:'';position:absolute;top:0;left:50%;width:32px;height:3px;margin-left:-16px;background:var(--marigold)}
  .tabbar a[aria-current] .icon{stroke-width:2.1}
  .toast{bottom:calc(84px + env(safe-area-inset-bottom))}
  .subbar-in{flex-direction:column;align-items:stretch;gap:4px;padding-block:8px}
  .subnav{flex-wrap:nowrap;overflow-x:auto;gap:0 20px;scrollbar-width:none}
  .subnav a{flex:none}
  .stepper{justify-content:space-between;gap:0}
  .stepper li{gap:0;flex:1;justify-content:center}
  .stepper li+li::before{width:10px;flex:none;align-self:flex-start;margin-top:17px}
  .stepper a,.stepper span{flex-direction:column;gap:2px;padding:4px 2px;font-size:.78rem;min-height:52px}
  .filters{grid-template-columns:1fr}
  .filters .btn.toggle{justify-self:start}
  .case{grid-template-columns:1fr}
  .case .btn{grid-column:1;grid-row:auto;justify-self:start;margin-top:6px}
  .continue-list{grid-template-columns:1fr}
  .hero-lede{font-size:1.1rem}
  .sheet{padding:20px 18px 16px}
  .sl{grid-template-columns:3.9em minmax(0,1fr);font-size:1rem}
  .sheet-note{margin-left:0}
  .you-head .avatar.large{width:56px;height:56px;font-size:1.3rem}
  .room-actions .btn{flex:1 1 140px;min-width:0}
  .seg{flex-wrap:nowrap;gap:6px}
  .seg label{flex:1 1 auto}
  .seg span{width:100%;justify-content:center;padding:0 .7em;white-space:nowrap}
  .hero-art{max-width:280px}
  .wb-actions .btn{flex:1 1 auto}
  .pagehead p{font-size:1.05rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media (forced-colors:active){
  .tri .node.apex,.tri .node.on,.ink-wash{fill:Highlight}
  .ink-edge{fill:CanvasText}
  .seg input:checked+span,.approach-list button[aria-pressed="true"]{outline:2px solid Highlight}
}

/* ---------- Three Sides additions: lesson triangles, client sides, reflection sides, triangle workbook ---------- */
.hint{margin:-.2em 0 .5em;color:var(--ink-3);font-size:.93rem}
.lesson-tri{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.lesson-tri h3{margin-top:0}
.lesson-tri p{margin-top:12px}
.lesson-tri .text-btn{margin-top:6px}
.two-tris{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:14px}
.two-tris figure{margin:0;text-align:center}
.two-tris figcaption{margin-top:6px;font-weight:650;font-size:.95rem}
.one-tri{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:20px;align-items:center;margin-top:10px}
.one-tri p{margin-top:0}
.mini-tri .lbl{font-size:16px}
.client-sides{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;margin-top:12px;padding:4px 0 4px 14px;border-left:3px solid var(--marigold)}
.client-sides dt{font-weight:700}
.client-sides dd{margin:0;color:var(--ink-2)}
.client-sides+p{margin-top:8px}
.sides{display:grid;gap:4px;margin-top:6px}
.side{position:relative;padding-left:22px}
.side::before{content:'';position:absolute;left:0;top:1.35em;bottom:.4em;width:4px;border-radius:4px;background:var(--line-strong)}
.side-3::before{background:var(--marigold)}
.side label{margin-top:1em}
.reflect>label[for="reflection-next"]{margin-top:1.6em}
.tri-pickers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;max-width:760px}
.tri-work{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:start;margin-top:22px}
.tri-figure{margin:0;position:sticky;top:96px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel)}
.form-tri .lbl{font-size:16px}
.form-tri .node.on{fill:var(--ink)}
.form-tri .node.apex.on{fill:var(--marigold);stroke-width:3.5}
.form-tri .node.apex:not(.on){fill:var(--marigold-wash)}
.tri-figure figcaption{margin-top:10px;text-align:center}
.tri-figure figcaption span{display:block;color:var(--ink-3);font-size:.9rem}
.tri-case-summary{color:var(--ink-2)}
.tri-fields label{margin-top:1.2em}
.compare{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:14px;margin-top:10px}
.compare-card{padding:12px 0 0;border-top:1px solid var(--ink)}
.cc-name{font-weight:700}
.compare-card dl{margin-top:6px}
.compare-card dt{font-size:.88rem;color:var(--ink-3);margin-top:8px}
.compare-card dd{margin:0}
@media (max-width:860px){
  .tri-work{grid-template-columns:1fr}
  .tri-figure{position:static;max-width:420px}
}
@media (max-width:760px){
  .tri-pickers{grid-template-columns:1fr}
  .one-tri{grid-template-columns:1fr}
  .one-tri svg{max-width:240px}
  .two-tris{grid-template-columns:1fr;justify-items:center;gap:18px}
  .two-tris svg{max-width:240px}
  .tabs{gap:4px 18px}
  .tabs [role="tab"]{white-space:nowrap}
}

/* ---------- Origin and story ---------- */
.foot-links{margin-top:10px;padding-top:0!important;border-top:0!important}
.foot-links a{display:inline-flex;align-items:center;min-height:44px;font-weight:650;color:var(--ink)}
.story{max-width:760px}
.story-body p{font-size:1.15rem;line-height:1.7;margin-top:1.1em;max-width:62ch}
.story-body p:first-child{margin-top:0}
.story-body .story-turn{font-family:var(--serif);font-size:clamp(1.45rem,1.2rem + .9vw,1.85rem);line-height:1.3;color:var(--ink);margin-block:1.3em}
.mission{margin-top:clamp(40px,6vw,64px);padding-top:18px;border-top:2px solid var(--ink)}
.mission h2{font-size:1rem;font-family:var(--sans);font-weight:700;letter-spacing:0}
.mission-text{margin-top:10px;font-family:var(--serif);font-size:clamp(1.35rem,1.1rem + .9vw,1.75rem);line-height:1.35;color:var(--ink);max-width:none}
.commitments ul{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,32px);margin-top:clamp(28px,4vw,40px)}
.commitments li{padding-top:14px;border-top:2px solid var(--ink)}

.commitments h3{font-family:var(--serif);font-weight:400;font-size:1.3rem}
.commitments p{margin-top:6px;color:var(--ink-2)}
.story-notes{margin-top:clamp(28px,4vw,40px)}
.story-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:32px}
.saturdays{margin:clamp(28px,4vw,40px) 0 0}
.sat-grid{list-style:none;display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:10px 8px;max-width:520px}
.sat{width:100%;height:auto}
.saturdays figcaption{margin-top:12px;color:var(--ink-3);font-size:.93rem}
@media (max-width:860px){
  .commitments ul{grid-template-columns:1fr}
}
/* Accounts, broad interests, and deeper learning retain the existing visual system. */
.account-card{max-width:850px;padding:clamp(20px,4vw,40px);margin-bottom:28px}.account-card fieldset{border:0;padding:0;margin:28px 0}.account-card legend{font-weight:700;margin-bottom:12px}.interest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.interest-option{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 0;cursor:pointer}.interest-option input{flex:none;width:18px;height:18px}.learning-core{margin:30px 0}.learning-core h4{font-size:1rem}.resource-list{padding-left:20px}.resource-list li{margin:18px 0}.hero-actions{flex-wrap:wrap}.subbar-in{flex-wrap:wrap}.subnav{flex-wrap:wrap}.filters>div{min-width:0}.filters .field{max-width:100%}#cloud-plans article{padding:20px;margin:16px 0}.support-roadmap{margin-top:clamp(28px,4vw,40px);padding:24px 0 0;border-top:1px solid var(--line)}.support-roadmap h2{font-size:clamp(1.5rem,1.2rem + 1vw,1.9rem)}.support-roadmap p{margin-top:.6em;color:var(--ink-2)}.support-roadmap h3{margin-top:1.4em}

/* Learning resource cards: use existing design tokens. */
.learning-resources{list-style:none;padding:0;margin:12px 0;display:grid;gap:12px}
.learning-resources .learning-resource{min-width:0;margin:0;padding:14px 0 4px;border-top:1px solid var(--line)}
.learning-resource p{margin:.5em 0}.learning-resource .resource-meta{margin:0 0 4px;color:var(--ink-2);font-weight:650}
.resource-title{display:inline-block;max-width:100%;overflow-wrap:anywhere;font-weight:650}.resource-concepts{display:block;font-size:.85rem;color:var(--ink-3)}
.resource-concepts span+span::before{content:', '}
.source-review{border-top:1px solid var(--line);margin-top:10px}.source-review>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:.9rem;font-weight:650}
.source-review>summary::before{content:'';width:0;height:0;margin-right:9px;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent var(--ink-2);transition:transform .15s ease-out}.source-review[open]>summary::before{transform:rotate(90deg)}.source-review>summary::-webkit-details-marker{display:none}
.theory-sources{overflow-wrap:anywhere}.theory-sources a{display:inline-block}

/* ---------- Curriculum: tabs, learning map, lessons, glossary, library ---------- */
.learn-tabs{display:flex;flex-wrap:wrap;gap:4px 26px;margin:0 0 26px;border-bottom:1px solid var(--line)}
.learn-tabs button{min-height:48px;padding:0 2px;border:0;background:none;font-weight:650;color:var(--ink-2)}
.learn-tabs button:hover{color:var(--ink)}
.learn-tabs button[aria-pressed="true"]{color:var(--ink);box-shadow:inset 0 -3px 0 var(--ink)}
.lesson .lead{margin-top:.6em}
.path-intro p+p{margin-top:.7em}
.learning-map{margin-top:8px}
.map-stages{list-style:none;display:grid;gap:14px;margin-top:14px;counter-reset:none}
.map-stage{padding:14px 0 6px;border-top:1px solid var(--line)}
.map-stage-head{display:flex;gap:12px;align-items:flex-start}
.map-stage-head h4{font-size:1rem;margin:0}
.map-num{flex:none;width:1.6rem;font-family:var(--serif);font-size:1.3rem;line-height:1.1;color:var(--gold-text)}
.map-lessons{list-style:none;display:grid;gap:0;margin-top:4px;padding-left:calc(1.6rem + 12px)}
.map-lesson{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;min-height:48px;padding:8px 0;border:0;background:none;text-align:left}
.map-lesson:hover .ml-title{text-decoration:underline;text-decoration-color:var(--gold-deep);text-decoration-thickness:2px;text-underline-offset:.2em}
.ml-title{font-weight:650}
.ml-meta{color:var(--ink-3)}
.case-thread+.case-thread{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.case-thread h4{margin:0 0 4px}
.case-thread ol{padding-left:1.2em;display:grid;gap:4px;margin-top:6px}
.quick-start h3:first-of-type{margin-top:.6em}
.unit-nav{margin:-8px 0 6px}
.unit-sec{margin-top:1.6em}
.unit-sec>h3{margin-top:0}
.unit-sec.opening p+p,.unit-sec .case-card p+p{margin-top:.75em}
.unit-sec.boxed{padding-top:16px;border-top:2px solid var(--ink)}
.term{display:inline;min-height:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline dotted;text-decoration-color:var(--gold-deep);text-decoration-thickness:2px;text-underline-offset:.22em;cursor:help}
.term:hover{text-decoration-style:solid}
.term.chip{display:inline-flex;align-items:center;min-height:44px;padding:0;font-size:inherit;font-weight:600;color:var(--ink);white-space:normal;max-width:100%;text-align:left;line-height:1.3}
.term-row{margin-top:1em;display:flex;flex-wrap:wrap;align-items:center;gap:0 18px}
.cite-line{margin-top:.6em;display:flex;flex-wrap:wrap;align-items:center;column-gap:.45em;row-gap:0}
.cite{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:none;color:var(--ink-2);font:inherit;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.18em}
.cite:hover{color:var(--ink);text-decoration-color:var(--ink)}
.case-card{border-left:3px solid var(--marigold);padding:4px 0 4px 16px;margin:0}
.case-card+.case-card{margin-top:12px}
.case-card figcaption{margin-bottom:6px}
.prompt{font-style:italic;color:var(--ink)}
.reasoning{padding-left:1.3em;display:grid;gap:6px}
.revision{margin-top:1em;border-left:3px dashed var(--gold-deep);padding:4px 0 4px 16px}
.revision h4{margin:0 0 4px;font-size:.95rem}
.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px 28px;margin-top:8px}
.choice{padding-top:12px;border-top:1px solid var(--ink)}
.choice h4{margin:0 0 6px;font-size:.98rem}
.choice p+p{margin-top:.35em}
.responses{list-style:none;display:grid;gap:10px}
.responses li{padding-top:12px;border-top:1px solid var(--line)}
.responses h4{margin:0 0 4px;font-size:.98rem}
.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:1.4em}
.two-col h4{margin:0 0 6px}
.two-col ul:not(.ticks){list-style:none}
.two-col ul:not(.ticks) li{position:relative;padding:4px 0 4px 26px}
.two-col ul:not(.ticks) li::before{content:'';position:absolute;left:2px;top:.85em;width:11px;height:2px;background:var(--ink-3)}
.traditions dt{font-weight:700;margin-top:.7em}
.traditions dd{margin:0}
.table-wrap{overflow-x:auto;margin-top:8px}
.table-wrap > table.compare{display:table;border-collapse:collapse;width:100%;min-width:560px;font-size:.92rem}
.table-wrap > table.compare th,.table-wrap > table.compare td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.table-wrap > table.compare thead th{background:var(--mist-2)}
.vignette{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}
.vignette h4{margin:0 0 4px}
.ev-theme{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}
.ev-theme h4{margin:0 0 4px}
.ladder{padding-left:1.3em;display:grid;gap:2px}
.ladder li{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.knowledge .kc{padding-top:12px;margin-top:14px;border-top:1px solid var(--line)}
.kc fieldset{border:0;padding:0;margin:0}
.kc legend{font-weight:650;padding:0;margin-bottom:6px}
.kc-opt{display:flex;gap:10px;align-items:flex-start;padding:6px 0;cursor:pointer}
.kc-opt input{margin-top:.35em;width:18px;height:18px;flex:none;accent-color:var(--ink)}
.small-btn{min-height:44px;margin-top:6px}
.kc-feedback{margin-top:6px}
.kc-feedback.ok{color:#1d5a32}
.kc-feedback.not-yet{color:#7a3b12}
.practice-box h4{margin-top:1em}
.practice-box ul{padding-left:1.2em}
.practice-lines{list-style:none;display:grid;gap:8px;margin-top:10px}
.practice-lines li{display:flex;flex-direction:column;gap:2px;border-left:3px solid var(--line-strong);padding-left:12px}
.unit-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.unit-pager{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}
.unit-pager .btn{max-width:100%;white-space:normal;text-align:left;min-height:48px;padding-block:8px}
.appraisal dt{font-weight:700;margin-top:.5em}
.appraisal dd{margin:0}
.lib-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 14px;margin:18px 0 8px}
.lib-filter.wide{grid-column:1/-1}
.lib-filter label{display:block;font-weight:650;font-size:.92rem;margin-bottom:4px}
.library>p,.glossary>p{color:var(--ink-2);max-width:62ch}
.library .resource-list,.gl-list{max-width:900px}
.library h2,.glossary h2{font-size:clamp(1.7rem,1.3rem + 1.2vw,2.3rem)}
.lib-more{list-style:none;border:0!important;padding:0!important;background:none!important}
.gl-list{display:grid;gap:0;margin-top:10px;border-top:1px solid var(--line)}
.gl-entry{border-bottom:1px solid var(--line);padding:2px 0}
.gl-entry>summary{min-height:48px;padding:8px 0;cursor:pointer;display:block}
.gl-entry[open]{padding-bottom:12px}
.gl-entry p{margin-top:.5em}
.gl-term{font-weight:700}
.term-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100% - 32px);border:0;border-radius:var(--r-panel);padding:clamp(20px,4vw,32px);background:var(--surface);color:var(--ink);box-shadow:0 24px 80px var(--shadow)}
.term-dialog::backdrop{background:var(--shadow)}
.term-dialog h2{font-size:1.6rem;margin-bottom:.4em}
.term-body p+p{margin-top:.6em}
.term-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
#skill-picker label{display:block}
@media (max-width:760px){
  .learn-tabs{gap:4px 20px}
}
@media (forced-colors:active){
  .learn-tabs button[aria-pressed="true"],.tabs [role="tab"][aria-selected="true"],.subnav a[aria-current]{outline:2px solid CanvasText}
  .term{text-decoration-color:LinkText}
}
.lesson{scroll-margin-top:96px;min-width:0;overflow-wrap:break-word}

/* Saved resources and optional profile pictures. */
.profile-photo-editor{display:flex;gap:1.25rem;align-items:start;flex-wrap:wrap;margin:1.5rem 0}.profile-photo-editor>div:last-child{flex:1 1 14rem;min-width:0}.profile-photo{object-fit:cover;width:100%;height:100%;border-radius:50%}.profile-photo.avatar{width:72px;height:72px}.avatar[hidden],.profile-photo[hidden]{display:none}.photo-preview{flex:none}.passcode-field{max-width:16rem;letter-spacing:.25em;font-size:1.4rem}.my-library-link{display:flex;align-items:center;min-height:44px;white-space:nowrap;font-weight:700}.my-library-link[aria-current]{text-decoration:underline;text-decoration-color:var(--marigold);text-decoration-thickness:3px;text-underline-offset:10px}.source-save-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem}.my-library-folder-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin:1.5rem 0}.my-library-folder-form label,.my-library-folder-form p{flex-basis:100%}.my-library-folder-form .field{flex:1 1 15rem;min-width:0}.my-library-folders{display:flex;flex-wrap:wrap;gap:.5rem 1rem;border-bottom:1px solid var(--line);margin:1.5rem 0}.my-library-folders [aria-pressed=true]{border-bottom:3px solid var(--marigold)}.my-library-resource-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.my-library-resource-tools .field{width:auto;max-width:100%;min-width:0}.my-library-search{max-width:38rem}
@media(max-width:760px){.masthead-in>.my-library-link{display:none}.tabbar a{min-width:0;flex:1}.tabbar a span{font-size:.7rem}.tabbar{grid-template-columns:repeat(5,minmax(0,1fr))}}

.my-library-resource-tools{min-width:0;max-width:100%;flex:1 1 15rem}.my-library-resource-tools .field{flex:1 1 10rem;width:100%}

.masthead-in>.my-library-link{margin-left:auto}.masthead-in>.you-link{margin-left:0}

/* Continuous field guides: reading measure, contents and notes rather than modules. */
.learn-tabs a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;text-decoration:none;border-bottom:3px solid transparent}.learn-tabs a[aria-current]{border-bottom-color:var(--gold,var(--marigold))}
.learn-home,.library,.glossary{max-width:1050px;margin:auto}.learn-home h1,.library h1,.glossary h1{margin-top:24px}.learn-orientation{margin:28px 0}.guide-families{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 64px}.guide-families ul{list-style:none;padding:0}.guide-families li{border-top:1px solid var(--rule,var(--line))}.guide-families a{display:block;min-height:44px;padding:15px 0;text-decoration:none}.guide-families a>span{display:block}.guide-families a>span:first-child{font-size:1.2rem}.guide-families a:hover>span:first-child{text-decoration:underline}.comparison-teaser{border-top:1px solid var(--rule,var(--line));padding:32px 0}.comparison-teaser>a{display:inline-flex;align-items:center;min-height:44px}
.guide-header{max-width:68ch;margin:32px auto 48px}.guide-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:36px}.continuous-guide{min-width:0;max-width:68ch;margin:auto}.guide-row{display:grid;grid-template-columns:minmax(0,1fr);min-width:0}.guide-copy{min-width:0;max-width:68ch}.guide-copy>h2{border-top:1px solid var(--rule,var(--line));padding-top:32px;margin-top:48px}.guide-copy>h3{margin-top:30px}.guide-copy p{line-height:1.75}.guide-copy h2,.guide-copy h3,.guide-note,.guide-sources li,.gl-entry{scroll-margin-top:130px}.guide-note{font-size:.85rem;line-height:1.5;color:var(--ink-2);margin:0 0 20px;padding:8px 0 8px 16px;border-left:2px solid var(--marigold);overflow-wrap:anywhere}.guide-note p{margin:6px 0}.guide-term{color:inherit;text-decoration:underline;text-decoration-style:solid;text-underline-offset:3px}.guide-cite{font-size:.8rem;padding:0 3px;color:var(--gold-text)}.note-number{color:var(--gold-text)}.guide-example{border-left:2px solid var(--ink-3);padding:0 0 0 20px;margin:12px 0 24px}.guide-example figcaption{font-size:.9rem;color:var(--ink-2)}.desktop-contents{display:none}.mobile-contents{position:sticky;top:78px;background:var(--paper);border-block:1px solid var(--line);z-index:3;margin-bottom:24px}.mobile-contents summary{min-height:44px;padding:12px}.mobile-contents nav{max-height:55vh;overflow:auto;display:grid;padding:12px}.mobile-contents a{min-height:44px;display:flex;align-items:center}.contents-3{padding-left:14px}.desktop-contents a[aria-current]{border-left:2px solid var(--marigold);font-weight:bold}.guide-sources li{padding:20px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.guide-evidence{width:100%;border-collapse:collapse;font-size:.85rem}.guide-evidence th,.guide-evidence td{vertical-align:top;text-align:left;padding:12px 8px;border-top:1px solid var(--line);overflow-wrap:anywhere;font-weight:normal}.guide-evidence thead th{font-weight:bold}.guide-evidence caption{text-align:left;font-weight:bold;padding:12px 0}.guide-evidence details summary{min-height:44px;padding:10px 0}.room-skill,.partner-drill{padding:20px 0;border-bottom:1px solid var(--line)}.skill-action{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.skill-action span{font-size:.9rem;color:var(--ink-2)}.skill-action button{min-height:44px}.timeline-step{border-left:1px solid var(--line);padding-left:20px}.timeline-step h3{margin-bottom:12px}.guide-mistakes li{margin-bottom:14px}.guide-comparisons,.shared-skill{max-width:68ch;margin:32px auto}.guide-comparisons section{border-top:1px solid var(--line);padding:24px 0}.guide-comparisons dt{font-size:1.15rem;margin-top:24px;font-weight:bold}.guide-comparisons dd{margin:0}.curated-list{list-style:none;padding:0}.curated-list li{border-top:1px solid var(--line);padding:18px 0}.curated-list a{display:inline-flex;min-height:44px;align-items:center}.gl-entry{border-top:1px solid var(--line);padding:20px 0}.format-heading h3{padding:24px 0 8px}.guide-notes{min-width:0}.guide-copy blockquote{margin-left:0;padding-left:20px;border-left:1px solid var(--line-strong)}
@media(min-width:1100px){.guide-layout{grid-template-columns:190px minmax(0,1fr)}.desktop-contents{display:flex;flex-direction:column;position:sticky;top:110px;align-self:start;max-height:calc(100vh - 140px);overflow:auto;font-size:.85rem}.desktop-contents a{padding:8px 12px;min-height:44px;display:flex;align-items:center;text-decoration:none}.desktop-contents .contents-3{padding-left:22px}.mobile-contents{display:none}}
@media(min-width:1200px){.guide-layout{gap:28px}.continuous-guide{max-width:none;width:100%}.guide-row{grid-template-columns:minmax(0,68ch) minmax(170px,220px);gap:32px}.guide-notes{grid-column:2;grid-row:1;padding-top:8px}.guide-copy{grid-column:1}.guide-header{margin-left:218px;margin-right:250px}}
@media(max-width:650px){.guide-families{grid-template-columns:minmax(0,1fr);gap:12px}.guide-header{margin:24px 0}.mobile-contents{top:64px}.guide-evidence thead{display:none}.guide-evidence tr{display:block;border-bottom:1px solid var(--line);padding:12px 0}.guide-evidence th,.guide-evidence td{display:block;width:100%;border:none;padding:8px 0}.guide-evidence td:nth-child(2):before{content:'Finding: ';font-weight:bold}.guide-evidence td:nth-child(3):before{content:'Limitation: ';font-weight:bold}.library .lib-filters{grid-template-columns:minmax(0,1fr)}.guide-copy>h2{font-size:1.6rem}.skill-action{gap:4px}.guide-row{max-width:100%}}
@media(prefers-reduced-motion:reduce){.guide-layout *{scroll-behavior:auto;transition:none;animation:none}}

/* Four destinations, one practice navigation bar, calm lists and secondary actions. */
.tabbar{grid-template-columns:repeat(4,minmax(0,1fr))}.practice-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin:36px 0}.practice-choices>a{padding:24px 0;border-block:1px solid var(--line);text-decoration:none}.practice-choices>a:hover h2{text-decoration:underline}.you-links{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:32px}.you-links>a{min-height:44px;display:flex;align-items:center}.page-profile .journal{margin-top:40px}.practice-time-form{max-width:640px}.practice-time{border-top:1px solid var(--line);padding:24px 0}.practice-time>a,.practice-time button{min-height:44px;margin-right:18px}.person{position:relative}.person-open{position:absolute;inset:0;border-radius:6px}.person-open:focus-visible{outline:3px solid var(--gold-text);outline-offset:4px}.person .save-btn{position:relative;z-index:1}.people-more{margin-bottom:24px}.people-more .filters{padding-top:16px}.source-save-actions button{min-height:44px}.subbar .stepper{justify-content:center;margin:0}.subbar .wrap{padding-block:4px}.my-library [hidden]{display:none!important}.learn-search-results a,#learn-search-results a{display:inline-flex;align-items:center;min-height:44px}.room .room-note{font-size:.9rem}.guide-sources li{font-size:.95rem}
@media(max-width:650px){.practice-choices{grid-template-columns:minmax(0,1fr);gap:20px}.subbar .stepper{gap:8px}.subbar .stepper a,.subbar .stepper span{font-size:.85rem}.library .lib-filters .wide{grid-column:auto}}

.continuous-guide>.guide-row:first-child h2{margin-top:0}
@media(min-width:1200px){.continuous-guide{position:relative}.guide-row{display:block}.guide-copy{width:calc(100% - 252px)}.guide-notes{position:absolute;right:0;width:220px;padding:0}.guide-note{font-size:.8rem;line-height:1.4;padding:6px 0 6px 12px;margin-bottom:12px}}


/* Reading hierarchy across guides, resources, examples, and general page content. */
a{text-decoration-color:currentColor;text-decoration-thickness:1px}
main p+p{margin-top:1em}
main h2+p,main h3+p,main h4+p{margin-top:.75em}
main h4{margin:0 0 .65em;font-size:1.05rem;font-weight:700;line-height:1.4}
main h2,main h3{color:var(--ink)}
.guide-copy>h2{font-size:clamp(1.8rem,1.5rem + .8vw,2.25rem);line-height:1.2;margin-bottom:24px}
.guide-copy>h3{font-size:1.3rem;font-weight:700;line-height:1.35;margin-bottom:16px}
.guide-copy p{margin:0 0 1.15em;line-height:1.75}
.guide-copy p+p{margin-top:0}
.guide-copy>h2+p,.guide-copy>h3+p,.guide-copy h4+p{margin-top:0}
.guide-copy ul,.guide-copy ol{margin:14px 0 24px}
.guide-copy li+li{margin-top:10px}
.guide-copy blockquote{margin:18px 0 24px;padding:4px 0 4px 20px;border-left:3px solid var(--line-strong)}
.guide-copy blockquote p:last-child{margin-bottom:0}
.guide-example{padding:16px 0 16px 22px;margin:18px 0 30px}
.guide-example figcaption{font-weight:700;font-size:.9rem;color:var(--ink-2);margin-bottom:12px}
.guide-example p:last-child{margin-bottom:0}
.guide-term{text-decoration-thickness:1.5px;text-decoration-color:var(--ink)}
.guide-cite{display:inline-flex;align-items:center;justify-content:center;min-width:1.6em;padding:1px 4px;margin-left:4px;border:1px solid var(--gold-deep);border-radius:4px;color:var(--gold-text);font-size:.75rem;font-weight:700;line-height:1.3;text-decoration:none;vertical-align:baseline}
.guide-note{color:var(--ink-2);font-size:.875rem;line-height:1.55}
.guide-note>strong{display:block;font-weight:700;color:var(--ink)}
.guide-note p{margin:8px 0;line-height:1.55}
.guide-note .note-title{font-weight:650;margin-top:10px}
.guide-note .note-byline{font-size:.8rem;color:var(--ink-3)}
.guide-note .note-label{font-size:.75rem;letter-spacing:.025em;color:var(--gold-text)}
.guide-note>a:last-child{display:inline-block;margin-top:6px}
.guide-reading-item{padding:26px 0 30px;border-bottom:1px solid var(--line);margin-bottom:0}
.guide-copy .resource-title,.resource-title{font-family:var(--sans);font-weight:700;font-size:1.22rem;line-height:1.4;margin:8px 0 10px;letter-spacing:0;text-wrap:pretty}
.resource-title a{text-decoration-thickness:1px;text-underline-offset:3px}
.resource-meta{font-size:.8rem;font-weight:650;color:var(--ink-3);line-height:1.4;margin-bottom:8px}
.guide-copy .resource-meta{margin-bottom:8px}
.resource-byline,.guide-copy .resource-byline{font-size:.93rem;color:var(--ink-2);line-height:1.55;margin:0 0 16px}
.resource-description,.guide-copy .resource-description{margin:0 0 18px}
.resource-scope,.guide-copy .resource-scope{font-size:.85rem;line-height:1.6;color:var(--ink-3);margin-bottom:0}
.resource-scope a{font-weight:650;color:var(--ink-2)}
.src-card{padding-block:26px!important}
.src-card>p{margin:12px 0;line-height:1.65}
.src-card>.resource-meta{margin:0 0 8px}
.src-card>.resource-byline{margin-top:0}
.curated-list li{padding:24px 0}
.curated-list li>p{margin:12px 0;line-height:1.65}
.curated-list .resource-title a{min-height:0;display:inline}
.guide-sources li{padding:28px 0}
.guide-sources li>p{margin:12px 0}
.shared-skill>h2,.guide-comparisons>section>h2{margin:38px 0 16px;font-size:1.8rem}
.shared-skill>p,.guide-comparisons dd>p{margin-bottom:16px;line-height:1.7}
.gl-entry h3{font-size:1.3rem;line-height:1.4;margin-bottom:14px}
.gl-entry p{margin:12px 0;line-height:1.7}
.gl-entry{padding:28px 0}
.entry h3{font-size:1.15rem;margin:24px 0 10px}
.entry p{margin:10px 0 18px;line-height:1.7}
.practice-time h2{margin-bottom:14px}
.practice-time p{margin-bottom:12px}
.guide-families a>span:first-child{font-weight:650;margin-bottom:6px}
.desktop-contents a.contents-2{font-weight:650;margin-top:8px}
.desktop-contents a.contents-3{font-weight:400;color:var(--ink-2)}
.desktop-contents a[aria-current]{color:var(--ink);font-weight:700}
@media(min-width:1200px){.guide-note{font-size:.84rem;line-height:1.55;padding:10px 0 10px 14px;margin-bottom:18px}}
@media(max-width:650px){.guide-copy>h2{font-size:1.8rem}.guide-copy>h3,.gl-entry h3{font-size:1.25rem}.guide-copy .resource-title,.resource-title{font-size:1.16rem}.guide-reading-item{padding:24px 0}.guide-example{padding-left:16px}}

.src-card>.resource-description,.curated-list .resource-description{font-size:1rem;color:var(--ink);line-height:1.7}
@media(max-width:760px){.mobile-contents{top:0}.guide-copy h2,.guide-copy h3,.guide-note,.guide-sources li,.gl-entry{scroll-margin-top:68px}}

/* ---------- Simplicity pass (Claude, October 13): calmer guides ---------- */
/* Margin notes are compact: label, title, one byline line. */
.guide-note .note-label{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.025em;color:var(--gold-text);text-decoration:none}
.guide-note .note-label:hover{text-decoration:underline}
.guide-note .note-title{margin:4px 0 2px}
.guide-note .note-byline{margin:0}
/* Below the desktop margin, notes stay closed until their number or term is tapped. */
@media(max-width:1199px){
 .guide-notes{margin:0 0 4px}
 .guide-notes .guide-note{display:none}
 .guide-notes .guide-note.note-open{display:block;margin:4px 0 18px;padding:10px 0 10px 14px;border-left:3px solid var(--gold,var(--marigold))}
}
/* Collapsible topics, drills, and the full source list */
.guide-more,.partner-drill,.guide-sources-wrap{border-top:1px solid var(--rule,var(--line))}
.continuous-guide .guide-more{max-width:68ch}
@media(min-width:1200px){.continuous-guide .guide-more{width:calc(100% - 252px);max-width:none}}
.guide-more>summary,.partner-drill>summary,.guide-sources-wrap>summary{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 0;cursor:pointer;list-style:none}
.guide-more>summary::-webkit-details-marker,.partner-drill>summary::-webkit-details-marker,.guide-sources-wrap>summary::-webkit-details-marker{display:none}
.guide-more>summary::before,.partner-drill>summary::before,.guide-sources-wrap>summary::before{content:'';flex:none;width:0;height:0;border-left:7px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent;transition:transform .15s}
.guide-more[open]>summary::before,.partner-drill[open]>summary::before,.guide-sources-wrap[open]>summary::before{transform:rotate(90deg)}
.guide-more>summary h3,.partner-drill>summary h3{margin:0;font-size:1.08rem;font-family:inherit;font-weight:650;line-height:1.35}
.guide-more[open]{padding-bottom:12px}
.guide-sources-wrap>summary{font-weight:650}
.continuous-guide .guide-more .guide-copy{width:100%}
@media(prefers-reduced-motion:reduce){.guide-more>summary::before,.partner-drill>summary::before,.guide-sources-wrap>summary::before{transition:none}}
/* Learn home, Library, Glossary */
.learn-home h1+p,.library .page-lede,.glossary .page-lede{margin-bottom:22px;max-width:62ch}
#lib-curated{margin-top:36px}
.library>h2{margin-top:56px}
@media(min-width:651px){.guide-families{display:block;columns:2;column-gap:64px}.guide-families>section{break-inside:avoid;margin-bottom:28px}}
.gl-letters{display:flex;flex-wrap:wrap;gap:2px;margin:14px 0 4px}
.gl-letters a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;text-decoration:none;font-weight:650;border-radius:6px}
.gl-letters a:hover{background:var(--paper-2,#f1efe9)}
.glossary #gl-results>h2{scroll-margin-top:84px}
.gl-entry{padding:22px 0}
.gl-entry h3{margin-bottom:6px}
.gl-entry .gl-short{margin:6px 0;font-size:1.04rem}
.gl-entry .gl-approaches{margin:4px 0 6px}
.gl-more>summary{display:inline-flex;align-items:center;min-height:44px;cursor:pointer;font-weight:600;color:var(--ink-2)}
.gl-more[open]>summary{color:var(--ink)}
/* Practice start: each choice reads as something to click */
.practice-choices>a{display:flex;flex-direction:column;gap:6px;color:inherit}
.practice-choices>a h2{margin:0}
.practice-choices .choice-action{align-self:flex-start;margin-top:10px;display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:6px;background:var(--ink,var(--ink));color:var(--paper,var(--paper));font-weight:650}
.practice-choices>a:hover .choice-action{filter:brightness(1.15)}
.practice-choices>a:focus-visible{outline:3px solid var(--gold,var(--marigold));outline-offset:4px}
/* Profile: checkbox grids no longer inherit the label's top margin */
.interest-grid .interest-option{margin:0}
details:not([open]) .guide-notes{display:none}
.you-links+p.small{margin:4px 0 32px}
/* Set up: one skill field with suggestions */
.setup-form .field-hint{margin:6px 0 18px}
/* Learn tabs sit under the page title */
.learn-home .learn-tabs,.library .learn-tabs,.glossary .learn-tabs,.guide-comparisons .learn-tabs,.pagehead+.learn-tabs{margin:22px 0 28px}
/* Evidence: one study per block at every width, so findings are readable */
.guide-evidence{width:100%;border-collapse:collapse}
.guide-evidence thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.guide-evidence caption{text-align:left;font-weight:700;margin-bottom:8px}
.guide-evidence tr{display:block;border-top:1px solid var(--rule,var(--line));padding:16px 0}
.guide-evidence th,.guide-evidence td{display:block;width:auto;border:none;padding:6px 0;text-align:left;font-weight:400}
.guide-evidence th>a{font-weight:650}
.guide-evidence th p{margin:6px 0;color:var(--ink-2)}
.guide-evidence td:nth-child(2)::before{content:'Finding: ';font-weight:700}
.guide-evidence td:nth-child(3)::before{content:'Limitation: ';font-weight:700}

/* In the room: choose one intervention, then follow a quiet reading flow. */
.clinical-intervention,.room-reference{border-top:1px solid var(--line,var(--line))}
.clinical-intervention>summary,.room-reference>summary,.clinical-alternatives>summary,.clinical-source-list>summary{display:flex;align-items:center;gap:12px;min-height:52px;padding:14px 0;cursor:pointer;list-style:none}
.clinical-intervention>summary::-webkit-details-marker,.room-reference>summary::-webkit-details-marker,.clinical-alternatives>summary::-webkit-details-marker,.clinical-source-list>summary::-webkit-details-marker{display:none}
.clinical-intervention>summary::before,.room-reference>summary::before,.clinical-alternatives>summary::before,.clinical-source-list>summary::before{content:'';flex:none;width:0;height:0;border-left:6px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent}
.clinical-intervention[open]>summary::before,.room-reference[open]>summary::before,.clinical-alternatives[open]>summary::before,.clinical-source-list[open]>summary::before{transform:rotate(90deg)}
.clinical-intervention>summary h3{margin:0;font-family:inherit;font-size:1.1rem;font-weight:600;line-height:1.5}
.clinical-intervention[open]>summary{padding-block:20px 12px}
.clinical-walkthrough{margin:0 0 36px;max-width:60ch}
.clinical-case-label{margin:0 0 18px!important;color:var(--ink-2);font-size:.9rem}
.clinical-walkthrough>p{margin:0 0 20px;line-height:1.8}
.clinical-walkthrough h4{margin:36px 0 16px;font-family:inherit;font-size:1.04rem;font-weight:650}
.clinical-steps{padding-left:1.45rem;margin:0 0 28px}
.clinical-steps li{margin-bottom:14px;padding-left:6px;line-height:1.75}
.clinical-steps li::marker{color:var(--ink-2)}
.clinical-dialogue{margin:24px 0 30px;padding:0;border:0}
.clinical-dialogue figcaption{margin-bottom:20px;font-size:.95rem;font-weight:600}
.clinical-exchange{display:grid;grid-template-columns:86px minmax(0,1fr);gap:18px 16px;margin:0}
.clinical-exchange dt{margin:0;color:var(--ink-2);font-size:.85rem;font-weight:400;line-height:1.9}
.clinical-exchange dd{margin:0;line-height:1.8}
.clinical-explanation{margin:24px 0 0!important;color:var(--ink-2);font-size:.94rem;line-height:1.7!important}
.clinical-alternatives{border-top:1px solid var(--line,var(--line));margin:24px 0 0}
.clinical-alternatives>summary{font-size:.95rem;color:var(--ink-2)}
.clinical-alternatives .clinical-dialogue+.clinical-dialogue{padding-top:24px;border-top:1px solid var(--line,var(--line))}
.clinical-footer{margin-top:28px;padding-top:12px;border-top:1px solid var(--line,var(--line))}
.clinical-footer .text-btn{padding-left:0}
.clinical-source-list>summary{font-size:.9rem;color:var(--ink-2);min-height:44px}
.clinical-source-list ul{padding-left:18px;margin:12px 0}
.clinical-source-list li{margin-bottom:20px;font-size:.92rem}
.clinical-source-list li p{margin:8px 0;font-size:.85rem;color:var(--ink-2)}
.room-reference{margin-top:24px;color:var(--ink)}
.room-reference>summary{font-size:.95rem;color:var(--ink-2)}
.room-reference .guide-copy{width:100%;max-width:none}
.room-reference .guide-notes{position:static;width:auto}
.room-reference h3{font-family:inherit;font-size:1.05rem}
.room-skill{scroll-margin-top:130px}
.legacy-move-anchor{display:block;scroll-margin-top:110px}
@media(max-width:650px){.clinical-exchange{grid-template-columns:64px minmax(0,1fr);gap:16px 12px}.clinical-exchange dt{font-size:.85rem}.clinical-intervention>summary h3{font-size:1.04rem}.room-skill{scroll-margin-top:68px}}

/* Personal calls stay secondary to the rehearsal. */
.practice-video-setup{margin:18px 0}.video-provider-links,.video-call-actions{display:flex;gap:12px;flex-wrap:wrap}.video-help ol{padding-left:22px}.video-help li{margin:14px 0;line-height:1.7}.video-fields{padding:8px 0}.video-call-actions .text-btn{padding-left:0}.video-copy-status:empty,#video-copy-status:empty{display:none}#practice-video-room{margin:14px 0 20px}.stage .practice-video-setup{font-size:.95rem;text-align:left;max-width:520px;margin:12px auto}.video-fields .form-actions{margin-top:8px}.video-link-status{margin:6px 0}

.password-auth-form{max-width:440px;margin:28px 0 48px}.password-auth-form>p{margin:14px 0;line-height:1.65}.password-auth-form>button{margin-top:18px}.password-auth-form .small{font-size:.9rem}.password-auth-form a.text-btn{padding-left:0}

/* =====================================================================
   Warm theme (Claude, October 13): a lamplit consulting room.
   Plaster walls, walnut text, moss for actions; the marigold triangle is the lamp.
   Dark theme is the same room in the evening. Literata carries reading; Atkinson
   Hyperlegible stays for small interface text (buttons, labels, navigation).
   ===================================================================== */
@font-face{font-family:'Literata';src:url(fonts/literata-latin-opsz-normal.woff2) format('woff2');font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:'Literata';src:url(fonts/literata-latin-opsz-italic.woff2) format('woff2');font-weight:200 900;font-style:italic;font-display:swap}
:root{
  --paper:#efe9e0;--surface:#f8f4ee;--mist:#e6dfd3;--mist-2:#f3eee6;
  --ink:#2e2620;--ink-2:#55493f;--ink-3:#6c5f53;
  --line:#d9cfc1;--rule:#d9cfc1;--line-strong:#9c8e7d;
  --marigold:#e2a43a;--marigold-wash:#f4e3c3;--gold-deep:#9a6a1c;--clay-wash:#efe0d4;--gold-text:#7a520f;
  --action:#3d5a45;--action-hover:#2f4836;--on-action:#f8f4ee;
  --link-line:#7f9a83;--focus:#3d5a45;--shadow:rgba(46,38,32,.16);
  --serif:'Literata',Georgia,'Times New Roman',serif;
  --sans:'Atkinson Hyperlegible Next',system-ui,-apple-system,'Segoe UI',sans-serif;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --paper:#1e1a17;--surface:#28231f;--mist:#332c26;--mist-2:#2c2621;
  --ink:#ece3d6;--ink-2:#cdbfae;--ink-3:#ad9f8f;
  --line:#3d352e;--rule:#3d352e;--line-strong:#7a6c5d;
  --marigold:#e8b04c;--marigold-wash:#4a3a22;--gold-deep:#d6a656;--clay-wash:#3a2e27;--gold-text:#e3bb72;
  --action:#a7c3a9;--action-hover:#bcd4bd;--on-action:#1e1a17;
  --link-line:#7f9a83;--focus:#e8b04c;--shadow:rgba(0,0,0,.45);
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#1e1a17;--surface:#28231f;--mist:#332c26;--mist-2:#2c2621;
  --ink:#ece3d6;--ink-2:#cdbfae;--ink-3:#ad9f8f;
  --line:#3d352e;--rule:#3d352e;--line-strong:#7a6c5d;
  --marigold:#e8b04c;--marigold-wash:#4a3a22;--gold-deep:#d6a656;--clay-wash:#3a2e27;--gold-text:#e3bb72;
  --action:#a7c3a9;--action-hover:#bcd4bd;--on-action:#1e1a17;
  --link-line:#7f9a83;--focus:#e8b04c;--shadow:rgba(0,0,0,.45);
  color-scheme:dark;
}}
html{background:var(--paper)}
body{background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.125rem;line-height:1.72;font-optical-sizing:auto;transition:background-color .25s,color .25s}
@media (prefers-reduced-motion:reduce){body{transition:none}}
/* Reading type: one book family, set with care */
h1,h2,h3,h4{font-family:var(--serif);font-optical-sizing:auto;text-wrap:balance}
h1,h2{font-weight:560;letter-spacing:-.012em;line-height:1.12}
h3{font-weight:620;line-height:1.35}
h4{font-weight:620}
em,i{font-style:italic}
p,li,dd{hanging-punctuation:first}
/* Interface type: buttons, fields, labels, navigation, small meta */
button,input,select,textarea,label,legend,.btn,.text-btn,.field,.seg,.mainnav,.tabbar,.you-link,.brand span,.learn-tabs,.subbar,.stepper,.small,.muted,.resource-meta,.note-label,.toast,.skip,.lib-filters,.gl-letters,.clinical-meta,.clinical-case-label,.sitefoot,.choice-action,.form-actions,.hero-actions,.skill-action,.theme-toggle,summary,.desktop-contents,.mobile-contents,.guide-header .small,figcaption{font-family:var(--sans)}
.brand span{font-family:var(--serif);font-weight:600;letter-spacing:-.01em}
/* Links: walnut text, moss underline */
a{color:var(--ink);text-decoration-color:var(--link-line)}
a:hover{text-decoration-color:var(--ink)}
::selection{background:var(--marigold-wash);color:var(--ink)}
/* Actions use moss rather than ink, so both themes keep a clear primary button */
.btn.primary,.seg input:checked+span,.stepper .now b,.choice-action,.skip,.toast{background:var(--action);color:var(--on-action);border-color:var(--action)}
.btn.primary:hover{background:var(--action-hover)}
.practice-choices .choice-action{background:var(--action);color:var(--on-action)}
.stepper .now b{border-color:var(--action)}
.masthead,.tabbar,.subbar,.mobile-contents{background:var(--paper)}
.sheet{box-shadow:0 22px 40px -30px var(--shadow)}
.member-dialog,.term-dialog{box-shadow:0 24px 70px var(--shadow)}
/* The inked triangle: multiply disappears on a dark wall, so the lamp glows instead */
:root[data-theme="dark"] .ink-wash{mix-blend-mode:normal;opacity:.92}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ink-wash{mix-blend-mode:normal;opacity:.92}}
/* Theme toggle */
.theme-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:0 12px;margin-left:4px;border:1.5px solid var(--line);border-radius:999px;background:transparent;color:var(--ink-2);font-size:.9rem;font-weight:650}
.theme-toggle svg{width:18px;height:18px;fill:currentColor}
.theme-toggle:hover{color:var(--ink);border-color:var(--line-strong)}
.theme-toggle[aria-pressed="true"]{color:var(--marigold);border-color:var(--line-strong)}
@media (max-width:760px){.theme-toggle{margin-left:auto}.theme-toggle .theme-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
/* Long reading is easier with a little more air */
.continuous-guide .guide-copy p,.clinical-walkthrough>p{line-height:1.78}
.guide-note{color:var(--ink-2)}
/* Remaining fixed colors, now themed */
.field::placeholder{color:var(--ink-3)}
.guide-cite{border-color:var(--gold-deep);color:var(--gold-text)}
.guide-note{color:var(--ink-2)}
.practice-choices>a{border-block-color:var(--line)}
.gl-letters a:hover{background:var(--mist-2)}
.kc-feedback.ok{color:var(--action)}
.kc-feedback.not-yet{color:var(--gold-text)}
.toast{box-shadow:0 12px 40px var(--shadow)}
.member-dialog::backdrop,.term-dialog::backdrop{background:rgba(20,16,13,.5)}
.clinical-exchange dt{font-family:var(--sans);font-size:.88rem;font-weight:650;color:var(--ink-3)}

.stage .video-call-actions{justify-content:center}
/* Case list: search plus approach and level */
.case-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) minmax(0,1fr);gap:12px 16px;align-items:end;max-width:900px}
@media (max-width:760px){.case-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.case-filters .f-search{grid-column:1/-1}}

/* Keep the bibliography from stretching short paragraphs into large blank areas. */
.guide-note.source-note{padding-top:0;padding-bottom:0}
.source-note>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;list-style:none}
.source-note>summary::-webkit-details-marker{display:none}
.source-note>summary::before{content:'▸';color:var(--gold-text)}
.source-note[open]>summary::before{content:'▾'}
.source-note>summary .small{margin-left:auto;font-size:.72rem}

/* Full skill guides: quiet bibliographic subtitle, clear clinical sections. */
.depth-intervention>summary .book-skill-label { margin: .45rem 0 0; font-weight: 400; line-height: 1.5; }
.depth-intervention .clinical-walkthrough>h4,.depth-scene>h4 { margin-top: 2rem; margin-bottom: .65rem; }
.depth-intervention .clinical-walkthrough>p,.depth-scene>p { margin-bottom: 1.2rem; }
.depth-intervention .clinical-footer .skill-action { margin: 0; }

.depth-intervention>summary { display:grid; grid-template-columns:6px minmax(0,1fr); gap:.35rem 12px; align-items:start; }
.depth-intervention>summary::before { grid-column:1; grid-row:1; margin-top:.65rem; }
.depth-intervention>summary h3 { grid-column:2; grid-row:1; }
.depth-intervention>summary .book-skill-label { grid-column:2; grid-row:2; margin:0; }
/* Members, practice partners, and invitations */
.members-band{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:14px 0 6px}
.community-links{display:flex;flex-wrap:wrap;gap:6px 20px}
.community-note{padding:20px 0;border-top:1px solid var(--line);max-width:62ch}
.community-note h2{font-size:1.35rem;margin-bottom:8px}
.community-section{margin:28px 0;max-width:72ch}
.community-section>h2{font-size:1.4rem;margin-bottom:10px}
.member-list{list-style:none;padding:0;margin:0}
.member-row{padding:20px 0;border-top:1px solid var(--line)}
.member-row:last-child{border-bottom:1px solid var(--line)}
.member-row h2,.member-row h3{font-size:1.15rem;margin:0 0 4px}
.member-row blockquote{margin:10px 0;padding-left:14px;border-left:3px solid var(--marigold)}
.member-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 16px;margin:12px 0;font-size:.95rem}
.member-facts dt{font-family:var(--sans);font-weight:650;color:var(--ink-2)}
.member-facts dd{margin:0}
@media (max-width:560px){.member-facts{grid-template-columns:minmax(0,1fr)}.member-facts dd{margin-bottom:6px}}
.member-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px}
#community-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 16px;align-items:end}
.invite-btn{margin-top:12px}
.invite-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:14px}
.invite-dialog textarea{font-size:.95rem;line-height:1.55}
.join-invite{max-width:720px}
.join-invite .brief{margin:18px 0}

/* Self-contained partner rehearsals, using the warm theme’s existing rules and typography. */
.contextual-drill h4{margin:28px 0 12px;font-size:1.08rem;line-height:1.4}
.contextual-drill .drill-intervention-name{font-weight:700;margin-bottom:12px}
.contextual-drill .drill-round{border-top:1px solid var(--line);padding:8px 0 20px}
.contextual-drill .drill-response>summary{min-height:44px;padding:12px 0;cursor:pointer}
.contextual-drill .clinical-dialogue{margin-top:16px}

.case-reminder h5,.contextual-drill h5{font-size:1rem;margin:20px 0 10px;font-weight:700}.case-outline h4{margin:28px 0 12px}.case-course li{margin-bottom:20px}.case-course a{display:inline-flex;align-items:center;min-height:44px}.case-course p{margin-top:8px}

.depth-scene{scroll-margin-top:130px}@media(max-width:760px){.depth-scene{scroll-margin-top:68px}}
/* Meet the case: a full case presentation before In the room */
.case-outline .case-lede{font-size:1.08rem}
.case-outline h3{font-size:1.15rem;margin:32px 0 10px}
.case-outline .case-goals{margin:0 0 16px;padding-left:1.2em}
.case-outline .case-goals li{margin-bottom:8px}
.case-outline .case-conceptualization-summary{border-left:3px solid var(--line-strong);padding:4px 0 4px 14px;margin:18px 0}

.case-outline{scroll-margin-top:130px}@media(max-width:760px){.case-outline{scroll-margin-top:68px}}
