:root{--bg:#14120F;--ink:#ECE6D8;--muted:#B5AC9A;--amber:#F2B544;--line:#3A342B;--card:#1C1915;--code:#1E1B16;--em:#F6D58E;--display:Fraunces,Georgia,serif;--body:Newsreader,Georgia,serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--pad:clamp(1rem,5vw,4rem)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:1.2rem/1.7 var(--body)}img{max-width:100%;height:auto}a{color:inherit}:focus-visible{outline:3px solid var(--amber);outline-offset:3px}::selection{background:var(--amber);color:var(--bg)}.skip{position:absolute;left:-999px;top:0;background:var(--amber);color:var(--bg);padding:.5rem 1rem;font-family:var(--mono);z-index:10}.skip:focus{left:1rem}.top{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.2rem var(--pad);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}.mark{width:26px;height:26px;border-radius:50%;border:2px solid var(--amber);box-shadow:inset 0 0 0 5px var(--bg),inset 0 0 0 20px var(--amber)}.name{font:600 1.3rem var(--display);letter-spacing:-.01em}.name i{font-weight:300;color:var(--amber)}.top nav{display:flex;flex-wrap:wrap;gap:.2rem 1.1rem;font:.78rem var(--mono);text-transform:lowercase}.top nav a{text-decoration:none;color:var(--muted);padding:.2rem 0}.top nav a:hover,.top nav a[aria-current]{color:var(--amber);text-decoration:underline;text-underline-offset:5px}.menu{display:none}.menu summary{cursor:pointer;list-style:none;font:.85rem var(--mono);color:var(--amber);border:1px solid var(--amber);padding:.3rem .8rem;border-radius:99px}.menu summary::-webkit-details-marker{display:none}main{max-width:1200px;margin:0 auto;padding:0 var(--pad)}main.article{max-width:calc(780px + 2*var(--pad))}.kicker,time,.crumb,.meta,.sec,.kb .n,.all,.more,.pn{font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;color:var(--muted)}.crumb a,.meta a{color:var(--amber)}.sec{text-transform:uppercase;margin:4rem 0 1.5rem;color:var(--amber);font-weight:400}.sec::before{content:"◐  "}.hero{padding:clamp(3rem,9vw,7rem)0 4rem;border-bottom:1px solid var(--line)}.lede{max-width:56ch;color:var(--muted);font-size:1.3rem}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.feature{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;text-decoration:none}.feature img{display:block;width:100%;max-height:460px;object-fit:cover;border-radius:4px;filter:sepia(.35)saturate(.8)brightness(.9)}.feature h3{font:600 clamp(2rem,4vw,3.2rem)/1.05 var(--display);letter-spacing:-.02em;margin:.4rem 0}.feature p{color:var(--muted);font-style:italic}.feature:hover h3{color:var(--amber)}.more,.all{color:var(--amber)}.all{display:inline-block;margin-top:1.2rem}.list{list-style:none;padding:0;margin:3rem 0 0;border-top:1px solid var(--line)}.list a{display:grid;grid-template-columns:9rem 1fr 1.2fr;gap:1.5rem;align-items:baseline;padding:1.1rem 0;border-bottom:1px solid var(--line);text-decoration:none}.list h3{font:600 1.45rem/1.25 var(--display);margin:0}.list p{margin:0;color:var(--muted);font-size:1rem;font-style:italic}.list a:hover h3,.list a:focus-visible h3{color:var(--amber)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.kb{display:block;text-decoration:none;background:var(--bg);padding:1.6rem 1.4rem;min-height:150px;transition:background .3s}.kb:hover{background:var(--card)}.kb:hover h3{color:var(--amber)}.kb .n{color:var(--amber)}.kb .n::after{content:" entries"}.kb h3{font:600 1.5rem var(--display);margin:.6rem 0 .2rem}.kb p{margin:0;color:var(--muted);font-size:1rem}.ahead{padding:4rem 0 1rem}.ahead h1{font:300 clamp(2.8rem,8vw,5.2rem)/1 var(--display);letter-spacing:-.03em;margin:.8rem 0}.sub{font:300 italic 1.6rem/1.3 var(--display);color:var(--amber);margin:0}.meta{margin-top:2rem}.wikihead{padding-bottom:0}.prose{max-width:68ch;overflow-wrap:break-word}.prose a{color:var(--amber);text-underline-offset:3px;text-decoration-thickness:1px}.prose a:hover{text-decoration-thickness:2px}.prose h1{font:300 clamp(2.4rem,7vw,4.4rem)/1.05 var(--display);letter-spacing:-.03em;margin:1rem 0 1.5rem}.prose h2{font:600 2rem/1.2 var(--display);margin-top:3rem;letter-spacing:-.01em}.prose h3{font:600 1.5rem/1.25 var(--display);margin-top:2.2rem}.prose h4,.prose h5,.prose h6{font:.85rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--amber);margin-top:2rem}.prose em{color:var(--em)}.prose strong{color:#fff;font-weight:600}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}.prose blockquote{margin:2rem 0;padding:.2rem 0 .2rem 1.4rem;border-left:2px solid var(--amber);color:var(--ink);font-style:italic}.prose img{display:block;margin:2rem auto;border-radius:4px}.prose ul,.prose ol{padding-left:1.4rem}.prose li::marker{color:var(--amber)}.dropcap>p:first-of-type::first-letter{font:600 4.2em/.8 var(--display);float:left;margin:.08em .1em 0 0;color:var(--amber)}.prose .right{float:right;margin:.3rem 0 1rem 1.5rem;max-width:45%}.prose .left{float:left;margin:.3rem 1.5rem 1rem 0;max-width:45%}.prose .right img,.prose .left img{margin:0}.prose .center{text-align:center}.prose::after{content:"";display:block;clear:both}.prose code,.prose kbd{font:.85em/1.5 var(--mono);background:var(--code);color:var(--ink);padding:.1em .35em;border-radius:3px;border:1px solid var(--line)}.prose pre{background:var(--code);color:var(--ink);border:1px solid var(--line);border-left:2px solid var(--amber);padding:1rem 1.2rem;overflow-x:auto;font:.85rem/1.6 var(--mono);border-radius:4px;tab-size:4}.prose pre code{background:0 0;border:0;padding:0;font-size:inherit}.highlight pre{background:var(--code)!important}.prose table{display:block;overflow-x:auto;border-collapse:collapse;margin:2rem 0;font-size:1rem;max-width:100%}.prose th,.prose td{border-bottom:1px solid var(--line);padding:.45rem .8rem;text-align:left;vertical-align:top}.prose th{font:.78rem var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--amber);border-bottom-color:var(--amber)}.prose tr:nth-child(even) td{background:var(--card)}.pn{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1.2rem;margin-top:3rem}.pn a,.tags a{color:var(--amber);text-decoration:none}.pn a:hover{text-decoration:underline}.foot{margin-top:5rem;border-top:1px solid var(--line);padding:2rem var(--pad);color:var(--muted);font-size:.95rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.foot a{color:var(--amber)}#search{--pagefind-ui-primary:var(--amber);--pagefind-ui-text:var(--ink);--pagefind-ui-background:var(--card);--pagefind-ui-border:var(--line);--pagefind-ui-tag:var(--card);--pagefind-ui-font:var(--body)}@media(max-width:760px){.top{position:relative}.top nav.full{display:none}.menu{display:block}.menu[open]{width:100%}.menu[open] summary{display:inline-block;margin-bottom:.8rem}.menu[open] nav{display:flex;flex-direction:column;font-size:.95rem}.menu nav a{padding:.5rem 0;border-top:1px solid var(--line)}.feature{grid-template-columns:1fr;gap:1.2rem}.list a{grid-template-columns:1fr;gap:.2rem}.foot{flex-direction:column}.prose .right,.prose .left{float:none;max-width:100%;margin:1.5rem 0}}.logo{height:34px;width:auto;display:block}.hero{display:grid;grid-template-columns:minmax(0,1fr)minmax(180px,34%);align-items:center;gap:clamp(1rem,4vw,3rem)}.hero-char{margin:0;position:relative;justify-self:center;max-width:420px;width:100%}.hero-char::before{content:"";position:absolute;inset:8% 4% 2%;border-radius:50%;border:1px solid var(--amber);box-shadow:0 0 0 10px rgba(242,181,68,6%),inset 0 0 80px rgba(242,181,68,.12);z-index:0}.hero-char img{position:relative;z-index:1;width:100%;height:auto;display:block;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}.intro{max-width:68ch;padding:2.5rem 0 0}.intro .prose p:first-child{font-size:1.25rem}.prose .sig,.prose img[src*=sig-light]{width:150px;height:auto;margin:.5rem 0}.more-links{display:flex;gap:1.5rem;flex-wrap:wrap}.vikidhead{display:flex;gap:2rem;align-items:center;flex-wrap:wrap}.vikidhead .badge{width:150px;height:150px}@media(max-width:760px){.hero{grid-template-columns:1fr}.hero-char{order:-1;max-width:220px}}.prose p.portrait{float:right;width:min(300px,40%);margin:0 0 1rem 2rem;border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(242,181,68,.16),transparent 68%)}.prose p.portrait img{display:block;width:100%;max-width:none;height:auto;margin:0;float:none}@media(max-width:760px){.prose p.portrait{float:none;width:220px;margin:0 auto 1.5rem}}.withart{display:grid;grid-template-columns:minmax(0,1fr)auto;align-items:center;gap:clamp(1rem,4vw,3rem)}.art{margin:0;justify-self:end}.art img{display:block;height:auto}.art-cutout img{max-height:260px;width:auto;max-width:min(320px,34vw);filter:drop-shadow(0 14px 24px rgba(0,0,0,.5))}.art-badge img{width:150px;height:150px}.art-panel{position:relative;border:1px solid rgba(242,181,68,.55);border-radius:14px;overflow:hidden;box-shadow:0 0 0 6px rgba(242,181,68,5%),0 18px 40px rgba(0,0,0,.45);width:min(320px,34vw)}.art-panel img{width:100%;height:260px;object-fit:cover;object-position:50% 15%}.art-panel::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 55%,rgba(20,18,15,.6) 100%)}.art a{text-decoration:none}.art figcaption{font:.75rem var(--mono);color:var(--amber);text-align:center;margin-top:.4rem}.notfound{padding:clamp(3rem,8vw,6rem)0}.notfound h1{font:300 clamp(2.4rem,6vw,4.5rem)/1 var(--display);margin:.5rem 0 1rem}.foot-tag{display:flex;align-items:center;gap:.7rem}.foot-av{width:40px;height:auto;flex:none}@media(max-width:760px){.withart{grid-template-columns:1fr}.withart .art{order:-1;justify-self:start}.art-cutout img{max-height:170px;max-width:70vw}.withart .art-panel{justify-self:stretch;width:auto}.art-panel img{height:180px}.art-badge img{width:96px;height:96px}}.headline{font:600 clamp(3rem,9vw,7.5rem)/.95 var(--display);letter-spacing:-.035em;margin:.5rem 0 2rem;color:var(--ink)}.headline em{display:block;font-style:italic;font-weight:300;color:var(--amber)}.katex{color:var(--em);font-size:1.08em}.math-display{overflow-x:auto;overflow-y:hidden;max-width:100%;margin:1.2rem 0;padding:.3rem 0;-webkit-overflow-scrolling:touch}.math-display .katex-display{margin:0}pre.mermaid{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:1rem;overflow-x:auto;text-align:center}