/* Shared visual language: deep teal, quiet surfaces, and explicit selection. */
:root{--navy:#183e48;--teal:#148c80;--paper:#fafbf9;--card:#fff;--ink:#193d48;--ink-70:#54707a;--rule:#dce5e4;--line:#dce5e4;--teal-soft:#e9f5f2;--r-bg:#fafbf9;--r-panel:#fff;--r-ink:#193d48;--r-muted:#54707a;--r-line:#dce5e4;--r-blue:#166b68;--r-soft:#eef7f5}
html[data-theme=dark]{--navy:#d6f0ef;--teal:#73d8c8;--paper:#10262d;--card:#19353d;--ink:#edf8f7;--ink-70:#b5cdd0;--rule:#41616a;--line:#41616a;--teal-soft:#244b4d;--r-bg:#10262d;--r-panel:#19353d;--r-ink:#edf8f7;--r-muted:#b5cdd0;--r-line:#41616a;--r-blue:#86dfd1;--r-soft:#23464b}
body{line-height:1.65}button,input,select,textarea{font-size:1rem}button,a,input,select,textarea{touch-action:manipulation}:focus-visible{outline:3px solid #168f85;outline-offset:4px}.panel,.unit-collector,.resource-card,.concept-map,.tc-card{border-radius:20px;border-color:var(--rule);box-shadow:0 4px 18px #183e4805}.btn,button.btn{border-radius:12px;min-height:46px}.btn:not(.ghost):not(.danger){background:#193f49;color:#fff}.btn.ghost:hover{background:var(--teal-soft)}.side-rail{background:#173b45}.top-in{gap:16px}.top{box-shadow:0 2px 14px #193d4805}.option{border-radius:14px;padding:18px}.option:has(input:checked){box-shadow:inset 0 0 0 1px var(--teal)}.v2-tabs a[aria-current=page]{background:#193f49;color:#fff}.concept-node,.concept-item,.list-row{transition:background .15s,border-color .15s}.concept-item.active{background:var(--teal-soft)}.form-grid{gap:8px 20px}.panel h2{line-height:1.5}small,.subtle,.eyebrow{font-size:max(.875rem,14px)}
.clinic-home .clinic-entry{display:block;padding:0;border:0;margin-top:18px}.entry-heading{background:linear-gradient(115deg,#173943,#245562);color:white;padding:28px 34px;border-radius:22px 22px 0 0;position:relative}.entry-heading .eyebrow{color:#8cd8d0;letter-spacing:.22em;margin:0}.entry-heading .clinic-home-brand{font-size:clamp(2rem,5vw,2.9rem);margin:0;color:white;line-height:1.3}.entry-heading .lead{font-size:1rem;line-height:1.6;margin:6px 0;color:#d2e8eb}.entry-heading .clinic-title{font-size:1rem;color:#e5f2f1;margin:4px 0}.entry-heading .entrance-replay{color:#d4efeb;font-size:.875rem;margin-top:8px}.clinic-home .hero-v2 .entry-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:26px;background:var(--card);padding:32px;border:1px solid var(--rule);border-radius:0 0 22px 22px}.entry-animation{display:flex;flex-direction:column;align-items:center;gap:12px;align-self:center}.entry-animation .math-motion{border-radius:24px;width:160px;height:160px;max-height:none}.motion-toggle{border:0;color:var(--teal);background:transparent;min-height:44px;font-size:.875rem;text-decoration:underline;cursor:pointer}.entry-form h2{margin:0;font-size:1.6rem}.entry-form .subtle{margin:3px 0 16px}.entry-form form{max-width:530px}.entry-form label{font-size:.875rem}.code-entry{position:relative;width:min(100%,350px);height:70px;margin:8px 0}.code-entry #code{position:absolute;inset:0;z-index:2;opacity:0;width:100%;height:100%;cursor:text}.code-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;height:100%}.code-slots span{display:grid;place-items:center;border:2px solid var(--rule);border-radius:13px;color:#8a9ca2;font:700 2.05rem/1 ui-monospace,monospace;background:var(--card)}.code-slots span.filled{color:var(--ink);border-color:#789f9f}.code-entry:focus-within .code-slots{outline:3px solid #148c8033;outline-offset:5px;border-radius:12px}.code-slots span.active{border-color:var(--teal);background:var(--teal-soft)}#code-help{display:block;color:var(--ink-70);font-size:.875rem}.entry-form form>.btn{margin-top:18px}.entry-links{margin-top:20px;gap:16px;font-size:.94rem}.entry-links a{color:var(--teal)}
.review-app .review-main{max-width:1280px}.review-app #cards{grid-template-columns:1fr;gap:14px}.review-app .study-card{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,2fr) minmax(200px,.85fr);gap:12px;align-items:center;padding:20px 22px;border-radius:22px;min-height:132px;border:1px solid var(--r-line);transition:border-color .18s,box-shadow .18s}.review-app .study-card[data-state=unknown]{border:2px solid #e78063;box-shadow:0 0 0 2px #e7806322}.review-app .study-card[data-state=known]{border-color:#81bfb6;background:color-mix(in srgb,var(--r-panel),#148c80 3%)}.study-card .item-context{padding:0}.study-card .item-context>span{font-size:.875rem}.study-card .item-context h3{margin:2px 0 5px;font-size:1.14rem;line-height:1.5;color:var(--r-ink)}.study-card .item-context small{font-size:.875rem;line-height:1.5}.study-card .item-content{padding:6px 8px;min-height:0;max-height:330px;overflow:auto;font-size:1rem}.study-card .item-content header{display:none}.study-card .item-content .katex{font-size:1.25em}.study-card .item-actions{padding:0;background:transparent;justify-content:flex-end;gap:8px}.study-card .item-actions button{min-height:46px;min-width:75px;border-radius:12px;padding:8px 12px;font-size:1rem}.study-card .item-actions [data-set=known][aria-pressed=true]{background:#178f82;border-color:#178f82}.study-card .item-actions [data-set=unknown][aria-pressed=true]{background:#cc4c2d;border-color:#cc4c2d}.study-card .item-actions [data-set=unmarked]{background:transparent;border:0;min-width:44px;min-height:44px;padding:3px;font-size:.875rem}.study-card .state-text{width:100%;text-align:right;font-size:.875rem}.review-app .summary{border:0;background:var(--r-soft);font-size:.94rem;border-radius:15px}.review-app .summary b{font-size:1.2rem}.review-app .controls{border:1px solid var(--r-line);padding:18px;border-radius:18px;background:var(--r-panel)}.review-app .book-tabs{flex-wrap:wrap}.review-app .book-tabs [aria-pressed=true],.review-app .primary{background:#193f49;border-color:#193f49;color:white}.collector-disclosure{margin:22px 0;border:1px solid var(--r-line);border-radius:16px;padding:16px;background:var(--r-panel)}.collector-disclosure>summary{font-size:1rem;font-weight:700;cursor:pointer}.collector-disclosure .unit-collector{border:0;padding:20px 0 0;margin:0;box-shadow:none}.review-quick-export{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:16px 20px;background:var(--r-panel);border:1px solid var(--r-line);border-radius:16px;margin-top:20px;position:sticky;bottom:18px;z-index:10;box-shadow:0 8px 30px #183e4812}.review-quick-export span{font-weight:700;color:var(--r-muted)}.review-app .intro{gap:20px}.review-header>.language-root{position:static;width:auto;border:0;box-shadow:none;padding:0}.top-in>.language-root{position:static;width:auto;padding:0;box-shadow:none;border:0;margin-left:auto}.language-root select{max-width:190px!important;width:auto!important;border-radius:11px;border-color:#98b9b5}.language-root [data-language-note]{font-size:.875rem!important}.language-fixed{box-shadow:0 4px 20px #153e4812}.review-app .language-fixed{bottom:90px}
@media(max-width:900px){.review-app .study-card{grid-template-columns:minmax(140px,.8fr) minmax(0,2fr)}.study-card .item-actions{grid-column:1/-1;justify-content:flex-start;border-top:1px solid var(--r-line);padding-top:12px}.study-card .state-text{width:auto;margin-left:auto!important}.clinic-home .hero-v2 .entry-card{grid-template-columns:140px minmax(0,1fr);padding:24px;gap:22px}.entry-animation .math-motion{width:130px;height:130px}}
@media(max-width:600px){.entry-heading{padding:24px}.clinic-home .hero-v2 .entry-card{grid-template-columns:1fr;gap:12px;padding:24px}.entry-animation{flex-direction:row;justify-content:flex-start}.entry-animation .math-motion{width:78px;height:78px;border-radius:18px}.entry-form h2{font-size:1.4rem}.code-entry{height:60px}.code-slots{gap:7px}.code-slots span{font-size:1.8rem}.review-app .study-card{grid-template-columns:1fr;padding:18px;gap:6px}.study-card .item-context small{display:block}.study-card .item-content{padding:8px 0;max-height:420px}.study-card .item-actions{grid-column:auto}.review-quick-export{bottom:14px;padding:12px;gap:10px}.review-quick-export span{font-size:.875rem}.review-app .controls{padding:14px}.review-app .controls>label{min-width:100%;width:100%}.review-app .book-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}.review-header strong{order:initial!important;width:auto!important}.review-header{gap:10px}.review-header>.language-root{margin-left:auto}.top-in>.language-root{margin-left:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.review-quick-export,.motion-toggle,.entry-animation,.language-root{display:none!important}.panel,.study-card{box-shadow:none}.review-app .study-card{break-inside:avoid}.collector-disclosure{display:none}}
/* The workspace starts with its controls; retain full navigation in Site Map. */
.top>.top-in{min-height:0;padding-bottom:18px;align-items:center}.top>.top-in::before{display:none}.top-in>.language-root{margin-left:auto;order:0}.clinic-home .brand span{display:none}.clinic-home .top-in{max-width:1280px}.clinic-home .top-in>.header-toolbar{width:auto;flex:1;justify-content:flex-end}.clinic-home .top-in>.language-root{flex:none}.clinic-home main{padding-top:12px}.clinic-home .entry-heading{padding:23px 32px}.clinic-home .entry-heading .clinic-title{font-weight:500;font-size:.94rem}.clinic-home .entry-heading .entrance-replay{position:absolute;right:25px;top:22px}.clinic-home .hero-v2 .entry-card{padding:28px 32px}.clinic-home .entry-card form{margin:0}.clinic-home .code-slots>span{font-size:2rem}.review-app .item-content{scrollbar-width:thin}
@media(max-width:680px){.clinic-home .top-in{padding:12px 16px;gap:10px}.clinic-home .top-in>.header-toolbar{order:3;width:100%;justify-content:flex-start}.clinic-home .entry-heading{padding:22px}.clinic-home .entry-heading .entrance-replay{position:static}.clinic-home .hero-v2 .entry-card{padding:22px}.clinic-home main{padding:12px 16px 40px}.clinic-home .top-in>.language-root{margin-left:auto;max-width:170px}.clinic-home .top-in>.language-root small{max-width:170px}}

/* Gold phi: the upper stem tip is the hotspot; the outline stays visible on both themes. */
@media(hover:hover) and (pointer:fine){html,body{cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2232%22%20viewBox%3D%220%200%2028%2032%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22gold%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23fff1cd%22%2F%3E%3Cstop%20offset%3D%22.48%22%20stop-color%3D%22%23d8bd7c%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23bd9650%22%2F%3E%3C%2FlinearGradient%3E%3Cpath%20id%3D%22phi%22%20d%3D%22M16%203C15.5%209%2014.6%2018%2012%2029M15.1%208C9.1%207.4%205.9%2012.1%206.8%2017.2C7.6%2021.9%2013.4%2024.1%2018.7%2021.8C23.5%2019.7%2023.6%2013.1%2020.1%209.9C18.9%208.8%2017.1%208.2%2015.1%208Z%22%2F%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cuse%20href%3D%22%23phi%22%20stroke%3D%22%23173d42%22%20stroke-width%3D%223.4%22%2F%3E%3Cuse%20href%3D%22%23phi%22%20stroke%3D%22url%28%23gold%29%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 16 3,auto}a,button,summary,select,[role="button"],input[type="checkbox"],input[type="radio"]{cursor:pointer}input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),textarea,[contenteditable="true"]{cursor:text}input[type="range"]{cursor:ew-resize}button:disabled,[aria-disabled="true"]{cursor:not-allowed}}
@media(forced-colors:active){html,body{cursor:auto}a,button,summary,select,[role="button"]{cursor:pointer}}

/* McKay 4.0 — quiet depth, crisp controls, generous typography. */
:root{--paper:#f5f3ed;--card:#fffefa;--rule:#d9dfd9;--line:#d9dfd9;--ink:#143a40;--ink-70:#50666a;--teal:#096e64;--teal-soft:#e7f1ed;--r-bg:#f5f3ed;--r-panel:#fffefa;--r-blue:#096e64}
body{background:radial-gradient(ellipse at 95% 0,#dce8e1 0,transparent 40%),var(--paper);background-attachment:fixed}main{min-width:0}.top{background:#103b42;border-bottom:1px solid #ffffff20}.top-in{padding-top:17px;padding-bottom:17px}.side-rail{background:#092d35}.panel,.resource-card,.tc-card,.study-card{box-shadow:0 8px 26px #183e4807}.btn:not(.ghost):not(.danger){background:#0b514c;box-shadow:0 4px 12px #103b4217}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.6}input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:10px;min-height:44px}a,button{scroll-margin:90px}.panel h2{letter-spacing:-.035em}.clinic-home main{max-width:1200px}.entry-heading{background:#103d43;border-radius:28px 28px 0 0;padding:36px 40px}.clinic-home .hero-v2 .entry-card{border-radius:0 0 28px 28px;padding:36px 40px;grid-template-columns:190px minmax(0,1fr)}.entry-heading .eyebrow{font-size:.8rem;color:#d5c29a;letter-spacing:.16em}.code-slots span{background:#f9faf7;box-shadow:0 2px 3px #173c4505}.code-slots span.active{border-color:#0b796c;background:#e7f3ec;box-shadow:0 0 0 3px #0b796c12}.entry-form form>.btn{width:min(100%,350px)}.entry-links a{font-size:.92rem}.review-app .study-card{border-radius:18px;border:1px solid var(--rule);background:var(--card);transition:box-shadow .18s,border-color .18s}.review-app .study-card:focus-within{border-color:#338b7c;box-shadow:0 0 0 3px #338b7c16}.review-app .study-card:hover{box-shadow:0 10px 25px #143a4010}.review-app .review-header{background:#103b42;color:#fff}.review-app .review-header a{color:inherit}.review-app .review-tabs{gap:6px}.review-app input[type=search]{background:var(--card)}
.welcome-gate{background:#092d35;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.welcome-copy{padding:70px clamp(28px,5.5vw,90px);z-index:1}.welcome-brand{font-weight:650;letter-spacing:-.055em}.welcome-copy h2{font-size:clamp(2.2rem,3.7vw,4rem);font-weight:550;line-height:1.25;letter-spacing:-.055em}.welcome-copy h2 em{color:#d8c29a}.welcome-copy .welcome-kicker{color:#c1b28f;font-size:.75rem;letter-spacing:.13em;margin-bottom:30px}.welcome-copy h1.clinic-title{color:#a2bdbb;font-size:.9rem}.welcome-description{color:#c0cfce;max-width:36ch}.welcome-enter{background:#eadbc0;border-radius:10px;color:#163b40;min-height:58px}.welcome-enter:hover{background:#f7ead4;color:#163b40}.welcome-release{color:#d5c29a;font-size:.9rem;margin-top:18px;align-self:flex-start;text-underline-offset:5px}.welcome-art{background:#092d35;padding:0;position:relative;overflow:hidden}.welcome-art img{border-radius:0;max-width:none;max-height:none;width:100%;height:100%;object-fit:cover;background:#092d35;box-shadow:none}.welcome-art:after{display:block;position:absolute;inset:0;background:linear-gradient(90deg,#092d35,transparent 22%);pointer-events:none}.art-edition{position:absolute;bottom:40px;right:35px;z-index:1;color:#c5b38a;letter-spacing:.25em;font-size:.8rem}.welcome-foot{font-size:.75rem}.welcome-music label,.welcome-music button{font-size:.875rem}.welcome-music small{font-size:.75rem}.welcome-music button{background:transparent;border-color:#527175}.welcome-gate .welcome-skip{background:#153a42;border-color:#6a8586;right:26px;top:22px}.entrance-language{z-index:4}
.release-teaser{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:25px;padding:52px;border-radius:28px;background:#103a42;color:#f4f1e9;margin:36px 0;overflow:hidden;position:relative}.release-teaser .eyebrow{color:#d8c29a;font-size:.8rem;letter-spacing:.14em}.release-teaser h2{font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.3;font-weight:600;margin:15px 0}.release-teaser p{color:#c5d4d2}.release-teaser .btn{background:#eadbc0!important;color:#183c40!important}.release-history-link{display:block;color:#d8c29a;font-size:.9rem;margin-top:18px}.release-numeral{font-size:clamp(8rem,20vw,17rem);line-height:1;letter-spacing:-.08em;color:#d9c8a4;font-weight:500;font-family:Georgia,serif;text-align:center}.release-numeral span{font-size:.55em}.release-nav{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 34px}.release-nav a{padding:10px 18px;border:1px solid var(--rule);border-radius:30px;text-decoration:none;background:var(--card);font-size:.9rem}.release-nav a:first-child{background:#103b42;color:#fff}.release-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.release-feature{background:var(--card);border:1px solid var(--rule);border-radius:22px;padding:30px}.release-feature .feature-number{display:block;font:italic 2.7rem Georgia,serif;color:#9e8452;margin-bottom:25px}.release-feature h3{font-size:1.25rem}.release-feature p{color:var(--ink-70);margin:14px 0}.release-feature a{font-weight:600}.version-history{margin:64px 0}.version-history h2{font-size:1.8rem;margin-bottom:26px}.version-history ol{padding:0;list-style:none}.version-history li{display:grid;grid-template-columns:110px 1fr;gap:24px;border-top:1px solid var(--rule);padding:26px 0}.version-history strong{font:2.5rem Georgia,serif;color:var(--teal)}.version-history h3{font-size:1.2rem}.version-history p{color:var(--ink-70);margin:10px 0}.archive-details{border:1px solid var(--rule);border-radius:20px;padding:22px;background:var(--card);margin:28px 0}.archive-details>summary{cursor:pointer;font-weight:650;font-size:1.1rem;min-height:44px}.archive-details .changes-list{margin-top:24px}
html[data-theme=dark] body{background:var(--paper)}html[data-theme=dark] .code-slots span{background:var(--card)}
@media(max-width:800px){.welcome-copy{padding:80px 26px 26px}.welcome-art{min-height:300px;max-height:420px;padding:0;order:1}.welcome-art img{width:100%;max-width:none;height:380px;object-fit:cover}.welcome-art:after{background:linear-gradient(#092d35,transparent 35%)}.welcome-copy h2{font-size:2.4rem}.welcome-description{font-size:1rem}.welcome-music{gap:9px}.art-edition{bottom:25px;right:25px}.release-teaser{padding:28px;gap:8px}.release-numeral{font-size:8rem}.release-feature-grid{grid-template-columns:1fr}.release-feature{padding:24px}.release-teaser h2{font-size:1.65rem}.entry-heading{padding:26px}.clinic-home .hero-v2 .entry-card{padding:26px;grid-template-columns:1fr}.entry-animation{flex-direction:row}.entry-animation .math-motion{width:88px;height:88px}.version-history li{grid-template-columns:70px 1fr;gap:14px}.release-feature .feature-number{margin-bottom:15px}}
@media(max-width:450px){.release-teaser{grid-template-columns:1fr}.release-numeral{position:absolute;right:-10px;bottom:-14px;opacity:.1;font-size:14rem;pointer-events:none}.release-teaser>div:first-child{z-index:1}.entry-links{flex-direction:column;align-items:flex-start}.code-entry{height:62px}.code-slots{gap:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.review-app .study-card{transition:none}}
@media print{body{background:#fff}.release-nav,.welcome-gate{display:none!important}.release-feature,.release-teaser{break-inside:avoid}}

.welcome-gate .welcome-skip{top:auto;bottom:20px;right:24px}.welcome-music input[type=range]{min-height:0;width:105px}html[lang=vi] .welcome-copy h2{font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.025em;line-height:1.3}@media(max-width:800px){.welcome-gate .welcome-skip{top:20px;bottom:auto;left:26px;right:auto}.welcome-copy{padding-top:86px}}

.top,.top .brand,.top .nav a,.top .admin-entry,.top .brand span,.top button,.top .top-tools a{color:#edf6f3}.top .nav a:hover,.top .nav a[aria-current=page]{color:#eadbc0;border-color:#eadbc0}.top select,.top .a11y-zoom,.top .a11y-zoom button{color:#183c40}.top [data-language-note]{color:#edcf9d}.top .accessibility-panel,.top .accessibility-panel button{color:var(--ink)}

/* Dark header controls need their own palette in both page themes. */
.top .header-toolbar :is(.btn.ghost,.top-site-map,.admin-entry){color:#f1f8f5;background:#174950;border-color:#789b9e}
.top .header-toolbar :is(.btn.ghost,.top-site-map,.admin-entry):hover{background:#286068;color:#fff}
.top .a11y-zoom-quick{background:#174950;color:#f1f8f5;border-color:#789b9e}
.top .a11y-zoom-quick output{color:#f1f8f5}
.top .a11y-panel,.top .site-tools-dialog{background:var(--card);color:var(--ink)}
.top .a11y-panel :is(.btn.ghost,select),.top .site-tools-dialog button{background:var(--card);color:var(--ink);border-color:var(--rule)}
.top .a11y-panel .btn.ghost:hover{background:var(--teal-soft);color:var(--ink)}
.top .subnav{background:var(--card)}.top .subnav a,.top .subnav a:hover{color:var(--ink)}
@media screen{
 html[data-theme=dark]{color-scheme:dark;--focus:#a4f1dc}
 html[data-theme=dark] :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:var(--card);color:var(--ink);border-color:#65848a}
 html[data-theme=dark] .top select{color:#edf8f7;background:#19353d}
 html[data-theme=dark] :is(input,textarea)::placeholder{color:#bbced1;opacity:1}
 html[data-theme=dark] .code-slots span{background:#19353d;color:#aec5c9;border-color:#6a8a91}
 html[data-theme=dark] .code-slots span.filled{color:#fff;border-color:#95c4bd}
 html[data-theme=dark] .code-slots span.active{background:#24534f;border-color:#94e9d6;color:#fff;box-shadow:0 0 0 3px #94e9d629}
 html[data-theme=dark] :is(.btn:not(.ghost):not(.danger),.review-app .primary,.review-app .book-tabs [aria-pressed=true],.v2-tabs a[aria-current=page]){background:#93e1cf;color:#102f32;border-color:#93e1cf}
 html[data-theme=dark] :is(.btn:not(.ghost):not(.danger),.review-app .primary):hover{background:#b7f3e4;color:#102f32}
 html[data-theme=dark] :is(.term-actions .selected,.filter-chip.on){background:#93e1cf;color:#102f32;border-color:#93e1cf}
 html[data-theme=dark] :is(.term-card[data-state=review],.glossary-diagnosis,.map-route-current,.term-formula){background:#24484b;color:var(--ink)}
 html[data-theme=dark] .study-card .item-actions [data-set=known][aria-pressed=true]{background:#94e3c5;color:#102f28;border-color:#94e3c5}
 html[data-theme=dark] .study-card .item-actions [data-set=unknown][aria-pressed=true]{background:#ffc0a3;color:#47200f;border-color:#ffc0a3}
 html[data-theme=dark] .release-feature .feature-number{color:#d6bc83}
 html[data-theme=dark] .release-nav a{color:var(--ink)}
 html[data-theme=dark] :is(.strategy-dropzone,.strategy-selected-file,.strategy-report-field,.strategy-publish){background:#19353d;color:var(--ink);border-color:var(--rule)}
 html[data-theme=dark] :is(.strategy-privacy,.strategy-draft-note){background:#24484b;color:var(--ink-70)}
 html[data-theme=dark] :is(.strategy-privacy,.strategy-draft-note) strong{color:#b6ebdc}
 html[data-theme=dark] .strategy-generate-row p[data-state=error]{color:#ffb5af}
 html[data-theme=dark] .strategy-generate-row p[data-state=success]{color:#9de6c5}
 html[data-theme=dark] .strategy-generate-row p[data-state=busy]{color:#b1d5ff}
 html[data-theme=dark] :focus-visible{outline-color:#a4f1dc}
}

/* Outward-opening double doors: outer hinges, forward depth, and a lit reveal. */
.entrance-doors{--door-time:1900ms;position:fixed;inset:0;z-index:10001;overflow:hidden;pointer-events:auto;perspective:max(850px,125vw);perspective-origin:50% 48%;background:transparent}
.entrance-doors:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,#e7c99030,transparent 50%),#071e27;animation:entrance-reveal var(--door-time) ease both}
.entrance-door{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;backface-visibility:hidden;will-change:transform;animation-duration:var(--door-time);animation-timing-function:cubic-bezier(.42,0,.18,1);animation-fill-mode:both;box-shadow:0 0 45px #0008}
.entrance-door--left{left:0;transform-origin:0 50%;animation-name:entrance-open-left}
.entrance-door--right{right:0;transform-origin:100% 50%;animation-name:entrance-open-right}
.entrance-door .entrance-snapshot{position:absolute;inset:0 auto 0 0;width:200%;height:100%;opacity:1;transform:none;transition:none;pointer-events:none;scrollbar-width:none}
.entrance-door--right .entrance-snapshot{left:-100%}
.entrance-door:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0002,transparent 30%,#f4d39612);border:1px solid #d5bb7966;animation:entrance-door-shade var(--door-time) ease both}
.entrance-door--left{border-right:3px solid #d6bd87}
.entrance-door--right{border-left:3px solid #d6bd87}
@keyframes entrance-open-left{0%,7%{transform:rotateY(0deg)}100%{transform:rotateY(-112deg)}}
@keyframes entrance-open-right{0%,7%{transform:rotateY(0deg)}100%{transform:rotateY(112deg)}}
@keyframes entrance-reveal{0%,12%{opacity:1}70%,100%{opacity:0}}
@keyframes entrance-door-shade{0%{background-color:#0000}65%{background-color:#06192366}100%{background-color:#061923aa}}
@media(max-width:800px){.entrance-doors{perspective:900px;perspective-origin:50% 45%}}
@media(prefers-reduced-motion:reduce){.entrance-doors{display:none}}
html[data-a11y-motion=reduced] .entrance-doors{display:none}
/* Keep the open settings panel above the language selector. */
.top .header-toolbar:has(.a11y-tools[open]){position:relative;z-index:60}
/* Language stays in the identity row, above navigation and settings. */
.top>.top-in{display:flex;flex-wrap:wrap;gap:12px 18px;padding-bottom:16px}
.header-identity{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-width:0;order:-2}
.header-identity .brand{flex:1;min-width:0}.header-identity .brand span{font-size:.875rem;color:#bcd3d1}
.header-language-slot{flex:none;max-width:48%;position:relative;z-index:2}
.header-language-slot .language-root{position:static;width:auto!important;max-width:none;margin:0;padding:0;border:0;box-shadow:none;background:none}
.header-language-slot select{min-width:152px;background:#f3f8f6!important;color:#143c43!important;border:1px solid #bed5cf!important;min-height:44px}
.header-language-slot .built-in-language>span{color:#c4e5dc;font-size:1.25rem}
.header-language-slot [data-language-note]:not([hidden]),.review-language-slot [data-language-note]:not([hidden]){display:block!important;position:absolute;top:100%;right:0;width:250px;padding:9px 12px;border:1px solid var(--rule);border-radius:10px;background:var(--card);color:var(--ink-70);box-shadow:0 7px 20px #0b233529;z-index:5;font-size:.875rem!important}
.header-language-slot [data-language-note]:not([hidden]){position:static;width:auto;max-width:270px;margin-top:5px;background:#153b42;color:#f0dab0;border-color:#688886;box-shadow:none}
.top .header-toolbar,.clinic-home .top-in>.header-toolbar{order:-1;width:100%;flex-basis:100%;justify-content:flex-end;flex-wrap:wrap;padding-top:10px;border-top:1px solid #ffffff24}
.top-in>.nav{width:100%;order:1}.review-header{align-items:center;gap:18px}.review-header-tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.review-language-slot{position:relative}.review-language-slot .language-root{position:static;width:auto;padding:0;border:0;box-shadow:none;background:none}
@media(max-width:760px){.header-identity{align-items:flex-start;gap:12px}.header-identity .brand{font-size:1.1rem}.header-identity .brand span{display:none}.header-language-slot{max-width:52%}.header-language-slot select{min-width:0;max-width:150px!important;font-size:.875rem}.header-language-slot [data-language-note]:not([hidden]){font-size:.8rem!important}.top .header-toolbar,.clinic-home .top-in>.header-toolbar{justify-content:flex-start}.review-header>strong{order:3!important;width:100%!important}.review-header-tools{gap:8px;margin-left:auto}.review-header-tools>button{font-size:.875rem;padding:8px}.review-language-slot select{max-width:135px!important}.review-header .language-root [data-language-note]:not([hidden]){max-width:250px}}
/* Matte blue-green study surface with clear, opaque reading cards. */
.review-app{background:radial-gradient(ellipse at 0 0,#dcefee 0,transparent 50%),radial-gradient(ellipse at 100% 50%,#e4eaf5,transparent 60%),#f1f5f7;background-attachment:fixed;--r-bg:#f1f5f7;--r-panel:#fff;--r-ink:#153942;--r-muted:#496571;--r-line:#ccdce1}
.review-app .review-intro{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(118deg,#123947,#19565c);color:#f5faf8;padding:30px 34px;border:1px solid #32616a;border-radius:24px;box-shadow:0 12px 35px #193c4912}
.review-intro:before{content:'';position:absolute;z-index:-1;inset:0;background-image:linear-gradient(#a4d8d00c 1px,transparent 1px),linear-gradient(90deg,#a4d8d00c 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,transparent,#000)}
.review-app .review-intro h1{color:#fff;font-size:clamp(1.65rem,3vw,2.2rem);letter-spacing:-.035em}.review-app .review-intro .eyebrow{color:#e4d2a2}.review-app .review-intro p:last-child{color:#d4e7e7}.review-app .review-intro .primary{background:#e5d4aa;color:#173943;border:0;flex-shrink:0;box-shadow:0 4px 12px #071e2820}.review-app .review-intro .primary:disabled{opacity:1;background:#55716f;color:#e2ece7}
.review-app .controls{padding:22px;background:#ffffffed;box-shadow:0 8px 32px #21465709;border-color:#c7d9df;border-radius:22px;gap:14px 18px}
.review-app .book-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:16px;flex-wrap:nowrap}
.review-app .book-tabs button{display:flex;align-items:center;text-align:left;gap:18px;padding:16px;min-height:120px;border-radius:17px;border:1px solid #c3d6dd;background:#eef5f6;color:#174250;position:relative;box-shadow:none;transition:background .2s,border-color .2s,transform .2s;min-width:0}
.review-app .book-tabs button:hover{border-color:#518c92;transform:translateY(-2px)}.review-app .book-tabs img{width:120px;height:80px;border-radius:12px;object-fit:cover;flex-shrink:0}.book-tabs button>span{display:flex;flex-direction:column;gap:4px;min-width:0}.book-tabs small{font:600 .72rem/1.4 ui-sans-serif,sans-serif;letter-spacing:.16em;color:#557780}.book-tabs strong{font-size:1.3rem;font-weight:750;line-height:1.5}.book-description{font-size:.94rem;font-weight:400;color:#466775;line-height:1.6}.book-selection{margin-left:auto;border:1px solid #abc5c9;border-radius:50%;width:26px;height:26px;flex:0 0 26px;display:grid;place-items:center;font-size:.875rem;color:transparent}
.review-app .book-tabs [aria-pressed=true]{background:#163f49;color:#fff;border:2px solid #4c938e;padding:15px;box-shadow:0 5px 18px #133c4b20}.book-tabs [aria-pressed=true] small{color:#dccb9f}.book-tabs [aria-pressed=true] .book-description{color:#d6e9e5}.book-tabs [aria-pressed=true] .book-selection{background:#ccebe0;color:#143c38;border-color:#ccebe0}
.review-motion-control{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;font-size:.875rem;color:var(--r-muted);border-bottom:1px solid var(--r-line);padding-bottom:10px}.review-motion-control .motion-toggle{border:0;background:none;padding:0 6px;font-size:.875rem}.review-app .controls>label{flex:1;min-width:140px}.review-app .controls select,.review-app .controls input{width:100%;max-width:none;min-height:48px;background:#f7fafb;border-color:#b9cfd7;color:#173e48}.review-app .controls .search-field{flex:1.5;min-width:200px}
.review-app .summary{background:#e3ecee;border:1px solid #d0dfe3;color:#30535d;padding:13px 20px}.review-app .summary b{color:#123b45}.review-app .study-card{background:#fff;border-color:#cbdce2;border-radius:19px;box-shadow:0 6px 18px #163b4907;column-gap:22px}.study-card .item-content{--ink:var(--r-ink);--sub:var(--r-muted);--line:var(--r-line);--paper:var(--r-panel);border-left:1px solid var(--r-line);padding-left:22px;line-height:1.8}.study-card .item-context>span{display:inline-block;color:#446f77;background:#edf5f6;border-radius:6px;padding:2px 8px;margin-bottom:6px}.study-card .item-actions button{border-color:#a9c4ca;background:#f2f7f8;color:#244a55}.study-card .item-actions [data-set=known][aria-pressed=true]{background:#1b7667;color:#fff}.study-card .item-actions [data-set=unknown][aria-pressed=true]{background:#b54d2c;color:#fff}.review-app .study-card[data-state=unknown]{background:#fffdfa;border-color:#cd815b}.review-app .study-card[data-state=known]{background:#f7fcfa;border-color:#80b5aa}
html[data-theme=dark] .review-app{background:radial-gradient(ellipse at 10% 0,#143b48 0,transparent 55%),#0c222d;--r-panel:#15333f;--r-ink:#eef7f8;--r-muted:#b4ced5;--r-line:#41616e}
html[data-theme=dark] .review-app .controls,html[data-theme=dark] .review-app .study-card{background:#15333f;border-color:#466775}html[data-theme=dark] .review-app .summary{background:#193e4b;color:#c8dce0;border-color:#466775}html[data-theme=dark] .review-app .summary b{color:#eef9f5}html[data-theme=dark] .review-app .controls select,html[data-theme=dark] .review-app .controls input{background:#102b37;color:#eef7f8;border-color:#64848d}html[data-theme=dark] .review-app .book-tabs button{background:#1c4050;color:#f1f9f7;border-color:#587785}html[data-theme=dark] .review-app .book-tabs [aria-pressed=true]{background:#24594f;border-color:#98dcc9;color:#fff}html[data-theme=dark] .book-tabs small{color:#d8c79d}html[data-theme=dark] .book-description{color:#c8e0e0}html[data-theme=dark] .study-card .item-context>span{background:#244a56;color:#cee8e9}html[data-theme=dark] .study-card .item-actions button{background:#214653;color:#e1f3f1;border-color:#648691}html[data-theme=dark] .review-app .study-card[data-state=unknown]{background:#3a3432;border-color:#dfaa81}html[data-theme=dark] .review-app .study-card[data-state=known]{background:#173f3d;border-color:#91cebc}html[data-theme=dark] .study-card .item-actions [data-set=known][aria-pressed=true]{background:#ace8cd;color:#153d31}html[data-theme=dark] .study-card .item-actions [data-set=unknown][aria-pressed=true]{background:#ffd3b3;color:#452711}
@media(max-width:760px){.review-app .review-intro{padding:24px}.review-app .book-tabs{gap:10px}.review-app .book-tabs button{align-items:flex-start;gap:12px;padding:14px;flex-direction:column}.review-app .book-tabs [aria-pressed=true]{padding:13px}.review-app .book-tabs img{width:100%;height:90px}.book-tabs strong{font-size:1.15rem}.book-tabs .book-description{font-size:.875rem}.book-selection{position:absolute;right:20px;top:20px;background:#183d46bb}.review-app .controls{padding:16px}.review-app .controls>label{min-width:calc(50% - 10px);width:auto}.review-app .controls .search-field{min-width:100%}.review-app .study-card .item-content{padding:14px 0;border-left:0;border-top:1px solid var(--r-line)}.review-motion-control{align-items:flex-start;flex-wrap:wrap}.review-quick-export{margin-right:58px}}
/* The entrance opens toward the viewer with a warm light seam and forward reveal. */
.entrance-doors{--door-time:2400ms;perspective:max(900px,110vw)}
.entrance-light{position:absolute;inset:-15%;background:radial-gradient(ellipse at 50% 50%,#e4cb913d 0,transparent 58%);animation:entrance-light-spread 2400ms cubic-bezier(.22,.65,.2,1) both;pointer-events:none}
.entrance-doors:after{content:'';position:absolute;top:0;bottom:0;left:calc(50% - 1px);width:2px;background:#fff4d7;box-shadow:0 0 22px 5px #f3d29370,0 0 70px 16px #f3d29335;animation:entrance-seam 1500ms ease both;pointer-events:none}
.entrance-arriving main{animation:entrance-approach 2400ms cubic-bezier(.2,.6,.2,1) both;transform-origin:50% 20%}
@keyframes entrance-approach{from{transform:scale(.92);opacity:.3;filter:blur(3px)}to{transform:scale(1);opacity:1;filter:blur(0)}}
@keyframes entrance-light-spread{0%{transform:scaleX(.03);opacity:0}25%{opacity:.7}65%{transform:scaleX(1.2);opacity:.25}100%{opacity:0;transform:scaleX(1.4)}}
@keyframes entrance-seam{0%{opacity:0;transform:scaleY(.1)}15%,35%{opacity:.8;transform:scaleY(1)}100%{opacity:0;transform:scaleX(5)}}
.welcome-orbit{position:absolute;z-index:2;bottom:70px;right:36px;width:180px;height:120px;overflow:hidden;border:1px solid #9fbda43b;border-radius:18px;box-shadow:0 12px 50px #06212b55;transform:rotate(-4deg)}.welcome-art .welcome-orbit img{display:block;position:static;width:180px;height:120px;max-height:none;object-fit:cover}.welcome-motion-toggle{align-self:flex-start;color:#c7dbd7;font-size:.875rem;padding:0;min-height:38px;margin-top:6px}.welcome-copy{background:radial-gradient(ellipse at 0% 0%,#24535750,transparent 65%)}.welcome-art>img{animation:welcome-art-drift 14s ease-in-out infinite;transform-origin:55% 50%}@keyframes welcome-art-drift{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}.welcome-enter{box-shadow:0 0 0 1px #f3deb929,0 10px 35px #0003;transition:transform .25s,background .25s,box-shadow .25s}.welcome-enter:hover{transform:translateY(-2px);box-shadow:0 0 30px #e5cd8c2b,0 12px 36px #0004}
@media(max-width:800px){.welcome-orbit{width:132px;height:88px;bottom:60px;right:24px}.welcome-art .welcome-orbit img{width:132px;height:88px}.welcome-copy{padding-top:96px}}
@media(prefers-reduced-motion:reduce){.welcome-art>img,.entrance-arriving main{animation:none!important}}
html[data-motion-paused=true] .welcome-art>img,html[data-a11y-motion=reduced] .welcome-art>img,html[data-a11y-motion=reduced] .entrance-arriving main{animation:none!important}
@media print{.review-motion-control,.welcome-orbit{display:none!important}.review-app{background:white}.review-app .review-intro{background:white;color:black}.review-intro:before{display:none}}
@media(max-width:600px){.review-quick-export{margin-right:80px}}

/* Clear role entry, compact chrome and a dimensional 4.0 wordmark. */
.entry-audiences{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:22px 32px;background:var(--card);border-inline:1px solid var(--rule)}
.entry-audiences a{display:grid;gap:5px;min-height:88px;padding:17px 20px;border:1px solid var(--rule);border-radius:14px;text-decoration:none;background:var(--paper);color:var(--ink)}
.entry-audiences strong{font-size:1.15rem}.entry-audiences span{font-size:.875rem;color:var(--ink-70);line-height:1.5}.entry-audiences a:first-child{border-color:var(--teal);background:var(--teal-soft)}
.entry-audiences a:hover{border-color:var(--teal)}.entry-audiences a:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.clinic-home .hero-v2 .entry-card{border-top:0;padding-top:18px}.entry-code-help{margin-top:18px;padding:14px 16px;border-radius:12px;background:var(--paper);font-size:.875rem;max-width:530px;line-height:1.65}.entry-code-help p{margin:5px 0 8px}.entry-code-help a{display:inline-block;margin-right:18px;color:var(--teal);text-underline-offset:3px}
.top>.top-in{gap:8px 16px;padding-top:12px;padding-bottom:12px}.top .header-toolbar,.clinic-home .top-in>.header-toolbar{flex-basis:auto;width:auto;flex:1;order:1;border-top:0;padding-top:0}.top-in>.nav{width:auto;flex:1;order:0;gap:5px}.top-in>.nav>a{padding:9px 10px;font-size:.875rem;white-space:nowrap}.header-identity{margin-bottom:3px}.side-category>summary{min-height:48px}.welcome-music #bgmStatus[hidden]{display:none}
/* Both shine layers are clipped to the glyphs; the outline follows each number. */
.release-numeral{position:relative;isolation:isolate;white-space:nowrap;transform:perspective(700px) rotateY(-12deg) rotateX(6deg);color:#f2d18e;background:none;-webkit-text-fill-color:initial;filter:drop-shadow(7px 12px 7px #041d2970)}
.release-numeral .release-digit{position:relative;display:inline-block;isolation:auto;font-size:1em;line-height:1;letter-spacing:-.06em;color:#f3d99d;background:linear-gradient(110deg,#fff0 39%,#fff9df66 45%,#fffef4 49%,#fff 51%,#fff5d899 54%,#fff0 61%),linear-gradient(135deg,#ffedb6 5%,#b48b44 27%,#f7e3b4 40%,#fff3cc 50%,#ad7834 66%,#edd193 88%);background-size:300% 100%,100% 100%;background-position:150% 0,0 0;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.5px #f4d796;animation:release-glyph-sweep 8s ease-in-out infinite}
.release-numeral .release-decimal{font-size:.55em;margin-left:.02em}
.release-digit::before,.release-digit::after{content:attr(data-glyph);position:absolute;inset:0;font:inherit;letter-spacing:inherit;line-height:inherit;pointer-events:none}
.release-digit::before{z-index:-1;transform:translate(3px,4px);color:#886028;-webkit-text-fill-color:#886028;-webkit-text-stroke:4px #735021;text-shadow:1px 1px 0 #745025,2px 2px 0 #61411c,3px 3px 0 #53391b}
.release-digit::after{z-index:1;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:2.8px #fff9df;filter:drop-shadow(0 0 2px #fff0b8);mask-image:linear-gradient(110deg,transparent 39%,#000 47%,#000 53%,transparent 61%);mask-size:300% 100%;mask-position:150% 0;animation:release-rim-sweep 8s ease-in-out infinite}
@keyframes release-glyph-sweep{0%,15%{background-position:150% 0,0 0}65%,100%{background-position:-50% 0,0 0}}
@keyframes release-rim-sweep{0%,15%{mask-position:150% 0}65%,100%{mask-position:-50% 0}}
html[data-motion-paused=true] .release-digit,html[data-motion-paused=true] .release-digit::after,html[data-a11y-motion=reduced] .release-digit,html[data-a11y-motion=reduced] .release-digit::after{animation:none}
@media(prefers-reduced-motion:reduce){.release-numeral .release-digit,.release-digit::after{animation:none}}
@media(forced-colors:active){.release-numeral{filter:none}.release-numeral .release-digit{background:none;-webkit-text-fill-color:CanvasText;-webkit-text-stroke:0;color:CanvasText;animation:none}.release-digit::before,.release-digit::after{display:none}}
@media(max-width:800px){.top-in>.nav{flex-basis:100%;flex-wrap:wrap}.top .header-toolbar,.clinic-home .top-in>.header-toolbar{flex-basis:100%;justify-content:flex-start;gap:6px}.entry-audiences{padding:18px 22px;gap:8px}.entry-audiences a{padding:14px 12px}.entry-audiences strong{font-size:1rem}}
@media(max-width:450px){.entry-audiences{grid-template-columns:1fr;padding:16px}.entry-audiences a{grid-template-columns:70px 1fr;align-items:center;min-height:58px}.release-numeral{position:relative;right:auto;bottom:auto;opacity:1;font-size:8rem;justify-self:center;margin-top:20px}.release-teaser{gap:12px}.top-in>.nav>a{padding:8px;font-size:.875rem}}

/* Reading comes first. Keep each step usable at narrow widths. */
.learning-route{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.learning-route a{display:flex;align-items:center;gap:12px;padding:12px 18px;min-height:44px;border:1px solid var(--rule);border-radius:12px;background:var(--card);color:var(--ink);text-decoration:none}.learning-route b{color:var(--teal);font-size:.85rem}.learning-route a:hover{border-color:var(--teal);background:var(--teal-soft)}#learning-books{scroll-margin-top:30px}.assessment-entry-error:empty{display:none}#code-error:empty{display:none}@media(max-width:550px){.learning-route a{flex:1 1 100%}}

/* Adult entry */
@media(min-width:761px){.entry-audiences{grid-template-columns:repeat(4,minmax(0,1fr))}}
