@font-face{font-family:Fraunces;font-style:normal;font-weight:300 900;font-display:swap;src:url(fonts/fraunces-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Fraunces;font-style:normal;font-weight:300 900;font-display:swap;src:url(fonts/fraunces-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(fonts/source-serif-4-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(fonts/source-serif-4-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibmplexsans-normal-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibmplexsans-normal-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibmplexsans-normal-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibmplexsans-normal-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* Terapia pentru autism decontată: warm amber = children with paid sessions; hatched = zero. */
:root,html[data-theme="dark"]{
  --bg:#14110e;--panel:#1d1813;--panel-2:#272017;--ink:#f6efe5;--ink-2:#e2d8c9;--muted:#c7bba9;
  --line:#4a3f30;--line-soft:#2a231a;--accent:#ffc861;--focus:#7cc4ff;--edge:#14110e;--on-lit:#14110e;
  --c1:#7a5a22;--c2:#b07a22;--c3:#e29a2c;--c4:#ffcf6b;--zbg:#1d1813;--zline:#8a7d68;
  --serif:"Source Serif 4",Georgia,serif;--display:Fraunces,"Source Serif 4",Georgia,serif;--sans:"IBM Plex Sans",system-ui,sans-serif;color-scheme:dark}
html[data-theme="light"]{
  --bg:#f7f2ea;--panel:#fffdf8;--panel-2:#efe7da;--ink:#1d1812;--ink-2:#2e271d;--muted:#4f4638;
  --line:#b9ab95;--line-soft:#e5dac8;--accent:#753300;--focus:#1a56b0;--edge:#8c7d65;--on-lit:#1d1812;
  --c1:#ecd09a;--c2:#e7b866;--c3:#cf8420;--c4:#8f4a00;--zbg:#fffdf8;--zline:#7d7261;color-scheme:light}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){--bg:#f7f2ea;--panel:#fffdf8;--panel-2:#efe7da;--ink:#1d1812;--ink-2:#2e271d;--muted:#4f4638;--line:#b9ab95;--line-soft:#e5dac8;--accent:#753300;--focus:#1a56b0;--edge:#8c7d65;--on-lit:#1d1812;--c1:#ecd09a;--c2:#e7b866;--c3:#cf8420;--c4:#8f4a00;--zbg:#fffdf8;--zline:#7d7261;color-scheme:light}}
*{box-sizing:border-box}
[hidden]{display:none!important}
svg[hidden]{display:none}
html{background:var(--bg);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.06rem/1.62 var(--serif);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:0}.skip:focus{left:12px;top:8px;z-index:50;background:var(--panel);padding:8px 12px;border-radius:8px}
.topbar{position:fixed;top:0;left:0;right:0;z-index:30;height:44px;display:flex;align-items:center;gap:8px;padding:0 12px;font:500 .86rem/1 var(--sans);background:var(--bg);border-bottom:1px solid var(--line-soft)}
.topbar .brand{color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.brand-mark{width:20px;height:20px;flex:none}
.topnav{display:none;gap:2px;margin-left:10px}
@media(min-width:1100px){.topnav{display:flex}}
.topnav a{color:var(--muted);text-decoration:none;padding:6px 7px;border-radius:6px;white-space:nowrap}
.topnav a:hover{color:var(--ink)}
.topbar .spacer{flex:1}
.topbar .chip{color:var(--muted);text-decoration:none;border:1px solid var(--line);border-radius:99px;padding:5px 9px}
.topbar .chip[aria-current]{color:var(--ink);border-color:var(--muted)}
.icon-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer;flex:none}
main{padding-top:44px}
main:focus{outline:none}
h1{font:600 clamp(1.7rem,3.2vw,2.6rem)/1.1 var(--display);letter-spacing:-.012em;margin:0 0 14px;text-wrap:balance}
h2{font:600 1.5rem/1.22 var(--display);margin:0 0 14px;scroll-margin-top:60px;text-wrap:balance}
h3{font:600 1rem/1.3 var(--sans);margin:0 0 8px}
.anchor{margin-left:8px;color:var(--muted);text-decoration:none;font-size:.75em;opacity:0}
h2:hover .anchor,.anchor:focus{opacity:1}
.kicker{font:600 .76rem/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}
.deck{font-size:1.1rem;line-height:1.5;color:var(--ink-2);margin:0 0 12px;max-width:62ch}
.note{font:500 .84rem/1.45 var(--sans);color:var(--muted)}
/* top: hero, stage, result */
.top{max-width:1160px;margin:0 auto;padding:22px 16px 6px;display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.hero,.result,.stagebox{min-width:0}
.hero{max-width:820px}
.lead{margin:0 0 12px;color:var(--ink-2);font-size:1rem}
.stagebox{display:grid;gap:14px;grid-template-columns:minmax(0,1fr);background:var(--panel);border:1px solid var(--line-soft);border-radius:14px;padding:14px}
.controls{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media(min-width:760px){.controls{grid-template-columns:minmax(0,260px) minmax(0,1fr);align-items:end}}
.fld{display:grid;gap:5px;font:600 .82rem/1.2 var(--sans);color:var(--ink-2)}
.fld select{font:500 1rem/1.2 var(--sans);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-height:44px}
.tlrow{display:flex;align-items:center;gap:10px}
.playbtn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer;flex:none}
.playbtn:hover{border-color:var(--accent);color:var(--accent)}
input[type=range]{flex:1;min-width:0;height:44px;accent-color:var(--accent);background:transparent}
.ticks{display:flex;justify-content:space-between;font:500 .7rem/1 var(--sans);color:var(--muted);padding:0 4px 0 54px}
#plabel{color:var(--ink);font-weight:600}
.mapcol,.barcol{min-width:0}
@media(min-width:900px){
.stagebox{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-areas:"lead lead" "controls controls" "map result" "map bars";align-items:start}
.lead{grid-area:lead}.controls{grid-area:controls}.mapcol{grid-area:map;position:sticky;top:56px;align-self:start}.stagebox>.result{grid-area:result;grid-column:auto}.barcol{grid-area:bars}
.stagebox>.sr{grid-column:1/-1}}
.mapwrap{position:relative}
#map{display:block;width:100%;height:auto}
.co{stroke:var(--edge);stroke-width:.7;cursor:pointer;transition:fill .25s}
.co.c0{fill:url(#hatch)}.co.c1{fill:var(--c1)}.co.c2{fill:var(--c2)}.co.c3{fill:var(--c3)}.co.c4{fill:var(--c4)}
.hbg{fill:var(--zbg)}.hline{stroke:var(--zline)}
.co.c0{stroke:var(--zline);stroke-width:1.1}
.co:hover{stroke:var(--ink);stroke-width:1.8}
.co.sel{stroke:var(--ink);stroke-width:3.4}
.co:focus-visible{outline:none;stroke:var(--focus);stroke-width:3}
.inlab{font:600 12px var(--sans);fill:var(--ink-2)}
.leader{stroke:var(--line);stroke-width:1;stroke-dasharray:3 3}
.legend{list-style:none;margin:8px 0 2px;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font:500 .8rem/1.2 var(--sans);color:var(--ink-2)}
.legend li{display:flex;align-items:center;gap:6px}
.sw{width:16px;height:16px;border-radius:4px;border:1px solid var(--line);display:inline-block}
.sw.c0{background:repeating-linear-gradient(45deg,var(--zbg) 0 3px,var(--zline) 3px 5px)}.sw.c1{background:var(--c1)}.sw.c2{background:var(--c2)}.sw.c3{background:var(--c3)}.sw.c4{background:var(--c4)}
.legtitle{margin:0;font:500 .78rem/1.4 var(--sans);color:var(--muted)}
.rows{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:1px}
@media(min-width:520px) and (max-width:899px){.rows{grid-template-columns:1fr 1fr;column-gap:14px}}
.stagebox,.step{scroll-margin-top:56px}
@media(pointer:coarse){.row{min-height:40px}}
.row{all:unset;box-sizing:border-box;display:grid;grid-template-columns:minmax(96px,1.15fr) minmax(0,2fr) 36px;align-items:center;gap:8px;width:100%;padding:3px 6px;border-radius:6px;cursor:pointer;font:500 .84rem/1.2 var(--sans);color:var(--ink-2);min-height:26px}
.row:hover{background:var(--panel-2)}
.row:focus-visible{outline:2px solid var(--focus)}
.row.sel{background:var(--panel-2);color:var(--ink);box-shadow:inset 3px 0 0 var(--accent)}
.rb{height:9px;border-radius:5px;background:var(--line-soft);overflow:hidden}
.rb i{display:block;height:100%;border-radius:5px;background:var(--c3)}
.row.c1 .rb i{background:var(--c1)}.row.c2 .rb i{background:var(--c2)}.row.c4 .rb i{background:var(--c4)}
.row.c0 .rb{background:repeating-linear-gradient(45deg,var(--zbg) 0 3px,var(--line) 3px 5px)}
.rv{text-align:right;font-weight:600;color:var(--ink)}
.result{background:var(--panel-2);border:1px solid var(--line-soft);border-left:4px solid var(--accent);border-radius:12px;padding:14px 16px;min-width:0}

.sent{font:600 1.15rem/1.4 var(--display);margin:0 0 8px;color:var(--ink)}
.facts{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:6px;font:500 .95rem/1.45 var(--sans);color:var(--ink-2)}
.facts li{padding-left:14px;position:relative}.facts li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--c3)}
.rownote{margin:6px 0 0}
.casline{font:500 .9rem/1.45 var(--sans);margin:8px 0 0}
.resultshare,.share-end{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 0}
.share-end{margin:28px 0 8px;gap:10px}
.share-row{display:flex;gap:8px;flex-wrap:wrap}
.sbtn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer;text-decoration:none}
.sbtn:hover,.sbtn.ok{border-color:var(--accent);color:var(--accent)}
@media (pointer:coarse){.sbtn{width:44px;height:44px}}
/* story */
.wrap{max-width:760px;margin:0 auto;padding:0 16px}
.step{padding:30px 0 12px;border-top:1px solid var(--line-soft)}
.step p{margin:0 0 .95em}
.step strong{font-weight:650}
.method p{font-size:.98rem}
.fig{margin:16px 0 14px}
.fig svg{display:block;width:100%;height:auto}
.fig figcaption{font:500 .84rem/1.45 var(--sans);color:var(--muted);margin-top:6px}
.fig .grid{stroke:var(--line-soft)}
.fig .ax{font:500 12px var(--sans);fill:var(--muted)}.fig .mv{font:600 13px var(--sans);fill:var(--ink)}.fig .mv.on{fill:var(--on-lit)}
.fig .lit{fill:var(--c3)}.fig .zerobox{fill:none;stroke:var(--zline);stroke-width:1.4;stroke-dasharray:4 3}
@media (max-width:640px){.fig .ax,.fig .mv{font-size:20px}.fig .tk{font-size:17px}}
.steps{padding-left:1.2em;margin:0 0 18px}.steps li{margin:0 0 .6em}
.qbox{background:var(--panel);border:1px solid var(--line-soft);border-radius:12px;padding:14px 16px;margin:0 0 18px}
.qbox ol{margin:0 0 10px;padding-left:1.2em;font:500 .96rem/1.5 var(--sans)}
.reset{font:600 .86rem/1 var(--sans);color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:99px;padding:11px 16px;cursor:pointer;min-height:44px}
.reset:hover{border-color:var(--accent);color:var(--accent)}
.sources{font:500 .86rem/1.5 var(--sans);padding-left:1.2em}
.sources li{margin:0 0 .4em}
.site-footer{display:flex;flex-wrap:wrap;gap:6px 18px;margin:30px 0 40px;padding:16px 0 0;border-top:1px solid var(--line-soft);font:500 .84rem/1.4 var(--sans);color:var(--muted)}
.site-footer a{color:var(--muted)}
.sharepage{max-width:640px;margin:70px auto;padding:0 16px}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
:root{--mut:var(--muted);--acc:var(--accent);--fg:var(--ink)}
.rail{display:none}
@media(min-width:1500px){
.rail{--col:1160px;--gut:1.25rem;display:flex;flex-direction:column;position:fixed;top:50%;left:calc(50% + var(--col)/2 + var(--gut));transform:translateY(-50%);z-index:40;margin:0;padding:.4rem 0;max-height:calc(100vh - 7rem)}
.rail::before{content:"";position:absolute;left:calc(.875rem - .5px);top:1.1rem;bottom:1.1rem;width:1px;background:var(--line)}
.rail-dot{position:relative;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;text-decoration:none;border-radius:50%}
.rail-dot .dot{width:7px;height:7px;border-radius:50%;background:var(--mut);box-shadow:0 0 0 3px var(--bg);transition:transform .2s,background .2s,box-shadow .2s;flex:none}
.rail-dot:hover .dot,.rail-dot:focus-visible .dot{background:var(--acc);transform:scale(1.25)}
.rail-dot[aria-current=true] .dot{background:var(--acc);transform:scale(1.45);box-shadow:0 0 0 3px var(--bg),0 0 0 4.5px color-mix(in srgb,var(--acc) 38%,transparent)}
.rail-dot:focus-visible{outline:2px solid var(--acc);outline-offset:-1px}
.rail-label{position:absolute;left:calc(100% + .15rem);top:50%;transform:translate(-4px,-50%);max-width:calc(50vw - var(--col)/2 - var(--gut) - 3.25rem);overflow:hidden;text-overflow:ellipsis;padding:.1rem .2rem;background:transparent;color:var(--mut);font-size:.82rem;font-weight:600;line-height:1.3;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}
.rail-dot:hover .rail-label,.rail-dot:focus-visible .rail-label{opacity:1;transform:translate(0,-50%);color:var(--acc)}
}
@media(forced-colors:active){.rail::before{background:CanvasText}.rail-dot .dot{background:CanvasText;box-shadow:none}.rail-dot[aria-current=true] .dot{background:Highlight}}
@media(max-width:640px){.deck{font-size:1rem;line-height:1.45}.deck .d1{display:none}.lead{display:none}.top{padding-top:14px}.kicker{font-size:.7rem}h1{margin-bottom:10px}}
.todo{margin:8px 0 0;font:600 .95rem/1.4 var(--sans)}
