
html,body{height:100%;overflow:hidden}
#stack{display:flex;margin-top:var(--bar);height:calc(100dvh - var(--bar));overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}
.pane{--k:var(--link);flex:0 0 auto;width:100vw;height:calc(100dvh - var(--bar));background:var(--bg)}
.scroll{position:relative;height:100%;overflow-y:auto}
h1{font-size:30px;line-height:1.2;margin:8px 0 4px}
h1 .num{color:var(--mute)}
main{padding-bottom:80px}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--chg);vertical-align:0}

.prov{margin:0}
.prov p{margin:0 0 8px}
.d2,.d3,.d4,.d5,.d6{margin-left:var(--indent)}
.d1{margin-top:20px}
.pin{position:relative;font:600 14px var(--sans);color:var(--link);background:var(--pinbg);border:1px solid var(--pinline);padding:1px 7px;border-radius:5px;cursor:pointer;white-space:nowrap}
.pin:hover{background:var(--link);border-color:var(--link);color:var(--bg);text-decoration:none}
.pin:hover::after,.pin.copied::after{content:attr(aria-label);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);
background:var(--ink);color:var(--bg);font:500 11px var(--sans);padding:3px 7px;border-radius:4px;white-space:nowrap;pointer-events:none}
.pin.copied::after{content:"Copied"}
.hd{font-weight:600;margin-right:.3em}

.prov p a:not(.pin),.regbody a:not(.pin),.abs a,.acts a,.chg a,.disc a,.facts a,.srcs a,.meta a,.cap a{text-decoration:underline;
text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent)}
.prov p a:not(.pin):hover,.regbody a:not(.pin):hover{text-decoration-color:currentColor}

.prov p a.term,.regbody a.term{color:inherit;text-decoration-style:dotted;text-decoration-thickness:2px}
.prov p a.moved,.regbody a.moved{text-decoration:underline wavy var(--chg) 1px}
.prov p a.gone,.regbody a.gone{text-decoration:underline wavy var(--gd) 1px}

.prov>.line,.gbody>.line,.regbody>p{position:relative}
:is(.h1,.h2,.h3,.h4)>.line::before,:is(.h1,.h2,.h3,.h4)>.gbody>.line::before,.regbody>p[class^=h]::before{content:"";position:absolute;left:var(--heat);top:.2em;bottom:.2em;border-radius:2px;background:var(--k);transform:scaleX(var(--heat-scale));transform-origin:left}
:is(.h1,.h1>.gbody)>.line::before,p.h1::before{width:4px;opacity:.55}
:is(.h2,.h2>.gbody)>.line::before,p.h2::before{width:5px;opacity:.7}
:is(.h3,.h3>.gbody)>.line::before,p.h3::before{width:6px;opacity:.85}
:is(.h4,.h4>.gbody)>.line::before,p.h4::before{width:8px}
.n{float:right;margin-left:10px;padding:0 7px;border:0;border-radius:9px;background:none;font:12px/1.7 var(--sans);color:var(--k);cursor:pointer}
.n:hover{background:var(--panel)}
:is(.h4,.h4>.gbody)>.line>.n,p.h4>.n{font-weight:700}
.by:not([open]),.ctx:has(>.by:only-child:not([open])){display:none}
.d1>.line>.hd,.d1>.gbody>.line>.hd{font-size:19px}
:target{scroll-margin-top:36px}
.prov:target>.line,.prov:target>.gbody>.line{background:var(--panel);box-shadow:-6px 0 0 var(--panel),6px 0 0 var(--panel);border-radius:3px}

.ctx{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;margin:0 0 10px;font:12.5px/1.45 var(--sans)}
.ctx details[open]{flex-basis:100%}
.chip,details{border:1px solid var(--line);border-radius:6px;background:var(--panel)}
.chip{display:block;padding:3px 9px 3px 7px;color:var(--ink);border-left:3px solid var(--kind)}
.chip:hover{text-decoration:none;border-color:var(--kind)}
.chip b{color:var(--kind)}
.chip span{color:var(--mute)}
.go.chip.prop{--kind:var(--chg)}
.go.reg{--kind:var(--reg);color:var(--reg)}
.go.form{--kind:var(--form);color:var(--form)}
.go.usc{--kind:var(--link)}
.go.act{--kind:var(--chg);color:var(--chg)}
.go.gd{--kind:var(--gd);color:var(--gd)}
.chip.go{color:var(--ink)}
.go.src{background:color-mix(in srgb,var(--kind) 16%,transparent);border-radius:3px}
.chip.go.src{border-color:var(--kind)}
summary{padding:3px 9px;cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
summary::before{content:"\25B8";color:var(--mute);margin-right:6px;display:inline-block;transition:transform .1s}
details[open]>summary::before{transform:rotate(90deg)}
.chg summary b{color:var(--chg)}
.chg ul{margin:0;padding:6px 14px 8px;list-style:none;border-top:1px solid var(--line)}
.chg li{margin:0 0 8px}
.chg li>b{color:var(--chg);margin-right:4px}
.rs{font:13.5px/1.55 var(--sans)}
.rs summary b{color:var(--mute)}
.cases{font:13.5px/1.55 var(--sans);margin:6px 0;color:var(--mute)}
.rs ul{margin:0;padding:6px 14px 8px 28px;border-top:1px solid var(--line)}
.rs li{margin:0 0 6px}
.by ul{margin:0;padding:6px 14px 8px;list-style:none;border-top:1px solid var(--line);columns:12rem}
.by li{margin:0 0 4px;break-inside:avoid}
.src{font:12px var(--sans);color:var(--mute)}
blockquote{margin:6px 0 0;padding:6px 10px;border-left:3px solid var(--chg);font:14px/1.5 var(--serif);color:var(--mute)}
blockquote p{margin:0 0 4px}

a[target="_blank"]::after{content:"\2009\2197";font:.8em var(--sans);color:var(--mute)}
main.has-notes{padding-right:15rem}
@keyframes flash{0%,40%{background:var(--hlink)}100%{background:var(--hl)}}

[data-key]:not([data-key=""])::after{content:attr(data-key);display:inline-block;margin-left:6px;font:600 10px/1 var(--sans);
padding:2px 4px;border-radius:4px;border:1px solid var(--line);color:var(--mute);vertical-align:1px}
main{position:relative}
@keyframes think{to{margin-left:60%}}
@media (hover:none){kbd{display:none}.pin:hover::after{content:none}.pin.copied:hover::after{content:"Copied"}}
@media (pointer:coarse){kbd,[data-key]:not([data-key=""])::after{display:none}.exp>.x{width:40px;height:40px;font-size:22px}#ask .ax{font-size:30px;padding:6px 10px;margin:-6px -8px -6px 0}
#ask textarea,#pop textarea{font-size:16px}.chip{padding:6px 10px 6px 8px}summary{padding:7px 10px}.toc .tg{padding:6px 12px}.n{padding:5px 10px;margin:-5px -6px 0 6px}
.sw{width:38px;height:24px;border-radius:12px;vertical-align:-6px}.sw::after{width:20px;height:20px}.sw:checked::after{transform:translateX(14px)}.sw.req::after{transform:translateX(7px)}}
.prov{position:relative}
.prov:has(>.prov)::after{content:"";position:absolute;left:var(--rail);top:2.1em;bottom:12px;border-left:1px dotted var(--track);pointer-events:none}
.prov.path:has(>.prov)::after{border-left:2px solid var(--pinline)}
.prov.path>.line>.pin,.prov.path>.gbody>.line>.pin{background:var(--pinline)}
.prov.kfocus>.line,.prov.kfocus>.gbody>.line{animation:kf 1.2s ease-out}
@keyframes kf{from{background:var(--hl)}to{background:transparent}}

:root{--yes:#1c7a3e;--yes-bg:#e3f3e8;--no:#b42a1f;--no-bg:#fbe5e2;--yes-tint:rgba(28,122,62,.12);--no-tint:rgba(180,42,31,.14);--fc:#a8620c;--fc-bg:#f8ebd8;--rg:#6a4c9c;--rg-bg:#efeaf7;--req:#8a6200}
@media (prefers-color-scheme:dark){:root{--yes:#6ccb8a;--yes-bg:#15301e;--no:#f08a7e;--no-bg:#3a1c18;--yes-tint:rgba(108,203,138,.12);--no-tint:rgba(240,138,126,.16);--fc:#e4a85a;--fc-bg:#3a2a14;--rg:#bca6ea;--rg-bg:#2a2238;--req:#e2ba67}}
.gbadge{display:grid;grid-template-columns:max-content max-content max-content minmax(0,1fr);align-items:center;gap:6px;margin:8px 0;font:500 12.5px/1.4 var(--sans);color:var(--mute)}

:root{--indent:1.4rem;--heat:-16px;--heat-scale:1;--rail:-5px;--wiz:#6d28d9;--wiz-hi:#5b21b6;--wiz-ink:#fff}
@media (prefers-color-scheme:dark){:root{--wiz:#a78bfa;--wiz-hi:#c4b5fd;--wiz-ink:#1e1033}}
.wl{display:inline-block;padding:8px 18px;border-radius:8px;background:var(--wiz);font:700 15px/1.3 var(--sans);color:var(--wiz-ink);white-space:nowrap}
.wl:hover{text-decoration:none;background:var(--wiz-hi)}
.wl::after{color:inherit}
@media (max-width:1199.98px){.gbadge{display:flex;flex-wrap:wrap}.gbadge>.wl{padding:4px 12px;font-size:14px}}
.gbadge .conf,.gbadge .op,.gbadge .st{white-space:nowrap}
.gbadge .means{overflow-wrap:anywhere}
.gbadge .op,.unl,.not{font:700 10.5px var(--sans);letter-spacing:.08em;padding:2px 7px;border-radius:4px;color:var(--ink)}
.gbadge .op{background:var(--ink);color:var(--bg)}
.gate{--state:var(--no);--tint:var(--no-tint);position:relative;margin-bottom:12px}
.gate>.gbody{position:relative;display:flow-root;padding:2px 0 2px 12px;border-radius:6px;background:linear-gradient(var(--tint),var(--tint)),var(--bg)}
.gate>.ctx{margin-left:12px;margin-top:8px}
.gate.on{--state:var(--yes);--tint:var(--yes-tint)}
.gate.unknown{--state:var(--mute);--tint:transparent}
.gate.off{--state:var(--no);--tint:var(--no-tint)}
.gate.off>.gbody{--yes:var(--no);--yes-bg:var(--no-bg)}
.gate.off>.gbody .sw{background:var(--no)}
body:not(.nologic) .gate>.gbody>.line{background:none}
body:not(.nologic) .gate>.gbody>.line::before{display:none}
.gk{padding:2px 0;margin:0 0 8px}
.gate[data-op="any"]>.gbody>.gbadge .op{background:none;color:var(--ink);border:1.5px dashed var(--ink)}
.unl,.not{border:3px double var(--ink);padding:0 6px}
.not{margin-right:6px}
.conf{font:600 10.5px var(--sans);letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:4px;color:var(--yes);background:var(--yes-bg);border:1px solid var(--yes)}
.conf::before{content:"✓ "}
.conf.amb{color:var(--fc);background:var(--fc-bg);border-color:var(--fc)}
.conf.amb::before{content:"? "}
.why.amb{color:var(--fc);margin:-4px 0 8px}
.st{font:600 11.5px var(--mono);padding:1px 6px;border-radius:4px;background:var(--no-bg);color:var(--no)}
.on>.st,.on>.gbody>.gbadge>.st,.answer.on{background:var(--yes-bg);color:var(--yes)}
.unknown>.st,.unknown>.gbody>.gbadge>.st,.answer.unknown{background:var(--panel);color:var(--mute)}
.sw{appearance:none;width:30px;height:18px;border-radius:9px;background:var(--line);position:relative;margin:0 8px 0 0;vertical-align:-3px;cursor:pointer;flex:none}
.sw::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--bg);transition:transform .15s}
.sw:checked{background:var(--yes)}
.sw:checked::after{transform:translateX(12px)}
.sw.req{outline:2px solid var(--req);outline-offset:2px}
.sw.req::after{transform:translateX(6px)}
.needs{margin-left:6px;font:500 12px var(--sans);color:var(--mute)}
.why{margin:2px 0 6px;font:500 12.5px/1.45 var(--sans)}
.why.fc{color:var(--fc)}
.why.regs{color:var(--rg)}
.why.ptr{color:var(--mute)}
body:not(.nologic) .in:not(.gate):has(>.why.fc){background:var(--fc-bg);box-shadow:inset 3px 0 0 var(--fc);border-radius:4px;padding-left:6px}
body:not(.nologic) .in:not(.gate):has(>.why.regs){background:var(--rg-bg);box-shadow:inset 3px 0 0 var(--rg);border-radius:4px;padding-left:6px}
.qg{margin:6px 0 10px}
.qg .in{margin:0 0 6px;font:inherit}
.qt{color:var(--ink)}
.nest{margin:6px 0 4px 6px;padding:8px 10px 2px;border:1px solid var(--line);border-radius:8px}
.nest>.src,.unless>.src,.extra>.src{margin:0 0 4px;font:500 12.5px var(--sans);color:var(--mute)}
.unless{margin:4px 0 0}
body.nologic .gbadge,body.nologic .sw,body.nologic .needs,body.nologic .qg,body.nologic .extra,body.nologic .why:not(.ptr),body.nologic .nest,body.nologic .unless,body.nologic .gmark{display:none}
body.nologic .gate>.gbody{padding-left:0;background:none}
body.nologic .gate>.ctx{margin-left:0}
@media (max-width:700px){
.gbadge{grid-template-columns:max-content max-content minmax(0,1fr)}
.gbadge>.conf,.gbadge>.means{grid-column:1/-1;justify-self:start}
}
.moot{opacity:.45}
.moot .moot{opacity:1}
.answer{border:1px solid currentColor;cursor:pointer}

@media (max-width:700px){
:root{--indent:.7rem;--heat:-7px;--heat-scale:.55;--rail:-3px}
h1{font-size:26px}.d1>.line>.hd,.d1>.gbody>.line>.hd{font-size:18px}
.gate>.gbody{padding-left:6px}.gate>.ctx{margin-left:6px}.nest{margin-left:0;padding:6px 8px 2px}
}
