:root{color-scheme:dark;--bg: #0d0f0e;--bg-soft: #131614;--panel: #151816;--panel-strong: #1b1f1c;--text: #f3f0e8;--muted: #999d96;--muted-strong: #c9cbc4;--line: #30352f;--accent: #b5ee73;--accent-strong: #d2ff9c;--accent-warm: #c9c9c9;--accent-green: #c9c9c9;--shadow: none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 12% 8%,rgba(181,238,115,.045),transparent 25rem),var(--bg);color:var(--text);line-height:1.6}a{color:inherit}svg{flex:0 0 auto}.site-header,main{width:min(1080px,calc(100% - 40px));margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 0;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--text);font-family:Georgia,Times New Roman,serif;font-size:.98rem;font-weight:600;text-decoration:none}.brand-mark{display:grid;width:33px;height:33px;place-items:center;border:1px solid var(--text);border-radius:50%;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;font-weight:800;letter-spacing:-.05em}.brand:hover,nav a:hover,.text-link:hover,.post-list a:hover,.notes a:hover,.publication-card h2 a:hover{color:var(--accent)}.header-links{display:flex;align-items:center;gap:20px}nav{display:flex;align-items:center;gap:16px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}nav a{text-decoration:none}nav a.active{color:var(--text)}nav a.active:before{margin-right:.4rem;color:var(--accent);content:"•"}main *{min-width:0}h1,h2,h3,p{margin-top:0}h1{max-width:760px;margin-bottom:16px;font-size:clamp(2.1rem,4vw,3.25rem);line-height:1.08;font-family:Georgia,Times New Roman,serif;font-weight:500;letter-spacing:-.035em;overflow-wrap:break-word}h2{margin-bottom:12px;font-size:clamp(1.22rem,2vw,1.55rem);line-height:1.2;font-family:Georgia,Times New Roman,serif;letter-spacing:-.015em}.eyebrow{margin:0 0 10px;color:var(--muted);font-size:.78rem;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase}.lede,.lead{max-width:660px;color:var(--muted-strong);font-size:clamp(1.02rem,1.55vw,1.18rem);line-height:1.55}.intro-copy>p:not(.eyebrow):not(.lead),.post p,.notes p,.post-list p,.publication-detail,.citation{max-width:700px;color:var(--muted)}.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,220px);align-items:center;gap:clamp(32px,7vw,72px);padding:68px 0 56px}.home-hero{border-bottom:1px solid var(--line)}.topic-strip{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0}.topic-strip>span{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:.9rem}.emoji{display:inline-block;line-height:1}.text-link{display:inline-flex;align-items:center;gap:7px;width:fit-content;color:var(--accent);font-weight:700;text-decoration:none}.social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.social-links a{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:36px;padding:0 11px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--muted);font-weight:700;text-decoration:none}.social-links a:hover{border-color:var(--accent);color:var(--accent)}.social-links svg{width:17px;height:17px;fill:currentColor}.social-links.compact{flex-wrap:nowrap;margin-top:0}.social-links.compact a{width:34px;min-height:34px;padding:0}.social-links.compact span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.portrait-panel{display:grid;justify-items:center}.portrait{width:min(210px,56vw);height:auto;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;object-fit:cover;box-shadow:var(--shadow)}.notes,.post-list,.page-heading,.post,.publication-list{padding:52px 0}.publication-list{display:grid;gap:18px}.note-row,.publication-card{border:1px solid var(--line);border-radius:2px;background:transparent;box-shadow:none}.publication-icon{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--muted)}.publication-card h2{margin:0 0 10px}.section-heading{max-width:760px}.notes,.post-list,.page-heading,.post,.publication-list{border-top:1px solid var(--line)}.note-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px}.notes a,.post-list a,.publication-card h2 a{color:var(--text);font-size:1.15rem;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.note-row p{margin-bottom:0}.post{max-width:760px}.post h1,.page-heading h1{font-size:clamp(2rem,3.8vw,3rem)}.publications-heading{padding-bottom:42px}.publication-list{padding-top:26px}.publication-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;padding:24px}.publication-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.publication-meta span{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border-radius:999px;background:transparent;border:1px solid var(--line);color:var(--muted);font-size:.84rem;font-weight:700}.publication-authors{margin-bottom:8px;color:var(--muted-strong)}.publication-detail{margin-bottom:12px}.citation{margin-bottom:18px;padding-left:14px;border-left:2px solid var(--line);font-size:.95rem}@media(max-width:820px){.site-header{align-items:flex-start;flex-direction:column}.header-links{width:100%;align-items:flex-start;justify-content:space-between}.intro{grid-template-columns:1fr}.intro{padding-top:38px}.portrait-panel{grid-row:1;justify-items:start}.portrait{width:148px}.note-row{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.site-header,main{width:min(100% - 28px,1080px)}.header-links{flex-direction:column;gap:14px}nav{flex-wrap:wrap}.social-links:not(.compact) a{width:100%}.publication-card{grid-template-columns:1fr}}.post-list{padding-top:0}.post-list .note-row{position:relative;display:grid;grid-template-columns:50px minmax(220px,.9fr) minmax(260px,1.1fr) 42px;align-items:center;gap:20px;padding:28px 0;border-width:0 0 1px;background:transparent;transition:padding .18s ease,color .18s ease}.post-list .note-row:first-child{border-top:1px solid var(--line)}.post-list .note-row:hover{padding-left:12px;color:var(--accent)}.post-number{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.post-title-wrap{display:flex;align-items:flex-start;gap:10px}.post-title-wrap .emoji{margin-top:.2rem;filter:grayscale(1)}.post-list .post-title-wrap a{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.25rem,2.2vw,1.7rem);font-weight:500;line-height:1.15}.post-list .note-row p{font-size:.9rem;line-height:1.5}.post-list .read-arrow{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:1rem}body.theme-pokemon{--bg: #071311;--line: #28423b;--accent: #8be8bb;background:linear-gradient(rgba(139,232,187,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(139,232,187,.025) 1px,transparent 1px),#071311;background-size:32px 32px}body.theme-comics{--bg: #121118;--line: #3c3945;--accent: #ffdd44;background:radial-gradient(circle,rgba(255,221,68,.055) 1px,transparent 1.5px),#121118;background-size:10px 10px}body.theme-spire{--bg: #130b0b;--line: #50352d;--accent: #e5b761;background:radial-gradient(ellipse at 50% 0%,rgba(157,48,34,.2),transparent 34rem),#130b0b}body.theme-pokemon .site-header,body.theme-comics .site-header,body.theme-spire .site-header{max-width:1080px}@media(max-width:820px){.post-list .note-row{grid-template-columns:34px minmax(0,1fr) 38px}.post-list .note-row p{grid-column:2 / -1}}@media(max-width:560px){.post-list .note-row{gap:12px}}.home-hero{grid-template-columns:minmax(0,1fr) 160px;gap:clamp(30px,6vw,64px);padding:42px 0 46px}.home-hero .intro-copy{max-width:760px}.home-hero h1{max-width:740px;margin-bottom:12px;font-size:clamp(1.85rem,3.5vw,2.55rem);line-height:1.08}.home-hero .lead{max-width:680px;margin-bottom:6px;font-family:inherit;font-size:1rem}.home-about{max-width:640px;margin:0;color:var(--muted);font-size:1rem;line-height:1.55}.home-hero .portrait-panel{position:relative;justify-items:stretch}.home-hero .portrait-panel:after{position:absolute;inset:7px -7px -7px 7px;z-index:-1;border:1px solid var(--accent);content:""}.home-hero .portrait{width:100%;aspect-ratio:1;border-radius:1px;filter:saturate(.78) contrast(1.04);object-position:center}.selected-writing{padding:38px 0 52px}.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:16px}.section-heading-row .eyebrow,.section-heading-row h2{margin-bottom:0}.section-heading-row h2{margin-top:5px;font-size:clamp(1.4rem,2.4vw,1.8rem);font-weight:500}.writing-grid{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}.writing-card{--card-accent: var(--accent);position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 36px;align-items:center;gap:16px;min-height:0;padding:18px 0;overflow:visible;border:0;border-bottom:1px solid var(--line);background:transparent;transition:color .16s ease}.writing-card-1{--card-accent: #ffda3d}.writing-card-2{--card-accent: #e5b761}.writing-card-3{--card-accent: #8be8bb}.writing-card:hover{color:var(--card-accent)}.writing-index{color:var(--card-accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;font-weight:800;letter-spacing:.08em}.writing-card h3{margin:0 0 4px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.05rem,1.8vw,1.25rem);font-weight:500;line-height:1.16}.writing-card h3 a,.card-arrow{color:var(--text);text-decoration:none}.writing-card p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}.card-arrow{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--line);border-radius:50%}.writing-card:hover .card-arrow{border-color:var(--card-accent);color:var(--card-accent)}.publications-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.publications-cta p{margin:0;color:var(--muted-strong);font-family:Georgia,Times New Roman,serif;font-size:1.08rem}@media(max-width:820px){.home-hero{grid-template-columns:minmax(0,1fr) 130px}.home-hero .portrait-panel{grid-row:auto;width:130px}.writing-grid{grid-template-columns:1fr}}@media(max-width:560px){.section-heading-row,.publications-cta{align-items:flex-start;flex-direction:column}.home-hero{grid-template-columns:1fr;padding:34px 0 38px}.home-hero .portrait-panel{display:none}.writing-card{grid-template-columns:28px minmax(0,1fr) 32px;gap:10px}}body.minimal{color-scheme:light;--bg: #faf9f6;--text: #30312e;--muted: #666862;--muted-strong: #494b46;--line: #deded6;--accent: #365f91;--heading-accent: #486653;background:var(--bg);font-family:Georgia,Times New Roman,serif;font-size:17px;line-height:1.65}.minimal .site-header,.minimal main{width:min(780px,calc(100% - 48px))}.minimal .site-header{padding:28px 0 20px;gap:24px}.minimal .brand{font-size:.93rem;font-weight:400}.minimal .header-links{gap:22px;margin-left:auto}.minimal nav,.minimal .social-links{font-family:inherit;font-size:.9rem;letter-spacing:0;text-transform:none}.minimal .brand-mark,.minimal nav a.active:before,.minimal .social-links svg,.minimal .writing-index,.minimal .card-arrow,.minimal .post-number,.minimal .emoji,.minimal .read-arrow,.minimal .publication-icon,.minimal .publication-meta svg,.minimal .icon-link svg,.minimal .text-link>span{display:none}.minimal .social-links.compact{gap:16px}.minimal .social-links.compact a{width:auto;min-height:0;border:0;border-radius:0;font-weight:400}.minimal .social-links.compact span{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.minimal a{text-underline-offset:3px}.minimal a:hover{color:var(--accent);text-decoration:underline}.minimal a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.minimal nav a.active{text-decoration:underline}.minimal h1,.minimal h2,.minimal h3{font-weight:400;letter-spacing:-.015em}.minimal h1,.minimal .section-heading-row h2{color:var(--heading-accent)}.minimal nav a,.minimal .social-links a{color:var(--accent)}.minimal .home-hero{grid-template-columns:minmax(0,1fr) 100px;gap:36px;padding:58px 0 40px;border:0}.minimal .home-hero h1{font-size:clamp(1.7rem,4vw,2rem);line-height:1.25;margin-bottom:18px}.minimal .home-hero .lead,.minimal .home-about{font-size:1.06rem;line-height:1.65}.minimal .home-hero .lead{margin-bottom:12px}.minimal .home-hero .portrait-panel{width:100px}.minimal .home-hero .portrait-panel:after{content:none}.minimal .home-hero .portrait{border:0;border-radius:2px;filter:none}.minimal .selected-writing{padding:6px 0 64px;border:0}.minimal .section-heading-row{align-items:baseline;margin-bottom:26px}.minimal .section-heading-row h2{margin:0;font-size:1.35rem}.minimal .text-link,.minimal .notes a.text-link{color:var(--accent);font-size:.94rem;font-weight:400}.minimal .writing-grid{border:0;gap:25px}.minimal .writing-card{display:block;padding:0;border:0}.minimal .writing-card h3{margin-bottom:6px;line-height:1.4}.minimal .writing-card h3 a,.minimal .post-list .post-title-wrap a{color:var(--accent);font-size:1.13rem;font-weight:400;line-height:1.4}.minimal .writing-card p{font-size:.98rem;line-height:1.6}.minimal .publications-cta{margin-top:36px;padding-top:22px}.minimal .publications-cta p{font-size:.96rem;color:var(--muted)}.minimal .page-heading{padding:48px 0 28px;border:0}.minimal .page-heading h1{font-size:2rem}.minimal .page-heading .lede{font-size:1.06rem;margin:0}.minimal .post-list{border:0;padding-bottom:64px}.minimal .post-list .note-row,.minimal .post-list .note-row:first-child{display:block;padding:0 0 28px;border:0;transition:none}.minimal .post-title-wrap{margin-bottom:6px}.minimal .post-list .note-row p{font-size:.98rem;line-height:1.6}.minimal .publication-list{border:0;padding:0 0 64px;gap:32px}.minimal .publication-card{display:block;padding:0 0 28px;border-width:0 0 1px}.minimal .publication-meta{gap:12px;margin-bottom:8px}.minimal .publication-meta span{padding:0;min-height:0;border:0;font-weight:400}.minimal .publication-card h2{line-height:1.4}.minimal .publication-card h2 a{color:var(--accent);font-weight:400}.minimal .publication-authors,.minimal .publication-detail{font-size:.96rem}.minimal .citation{font-size:.88rem}@media(max-width:820px){.minimal .site-header{flex-direction:row;align-items:center;gap:16px}.minimal .header-links{width:auto;justify-content:flex-end;flex-wrap:nowrap}}@media(max-width:560px){.minimal .site-header,.minimal main{width:calc(100% - 40px)}.minimal .site-header{flex-wrap:wrap}.minimal .header-links{flex-direction:row;flex-wrap:wrap;gap:16px}.minimal .home-hero{grid-template-columns:1fr;padding:36px 0}.minimal .section-heading-row{flex-direction:row;gap:14px}.minimal .publications-cta{gap:8px}}body.minimal .post{--ink: #30312e;--muted: #666862;--line: #deded6;--panel: #f4f3ef;--panel-strong: #eeede7;--figure-bg: #fff;--figure-caption: #666862;--accent: #365f91;--accent-strong: #365f91;--accent-soft: #edf1f5;--good: #486653;--good-soft: #eef2ec;--bad: #995449;--bad-soft: #f7eeeb;--gold: #80602d;--gold-soft: #f5f0e6;max-width:100%;padding:44px 0 64px;border:0;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.06rem;line-height:1.7}body.minimal .post h1{max-width:100%;margin:0 0 20px;color:var(--heading-accent);font-family:inherit;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:400;line-height:1.2;letter-spacing:-.02em;text-align:left;text-transform:none;text-shadow:none}body.minimal .post .lede{max-width:100%;margin:0 0 36px;padding:0;border:0;color:var(--muted);font-size:1.1rem;line-height:1.65;text-align:left}body.minimal .post h2{display:block;margin:0 0 18px;padding:0;border:0;background:none;color:var(--heading-accent);font-family:inherit;font-size:1.55rem;font-weight:400;line-height:1.3;letter-spacing:-.015em;text-align:left;text-transform:none;transform:none}body.minimal .post h3,body.minimal .post h4{color:var(--ink);font-family:inherit;line-height:1.4}body.minimal .post p{max-width:100%}body.minimal .post section{margin-bottom:44px}body.minimal .post a{font-weight:400}body.minimal .post .abstract{padding:0;border:0;background:none;box-shadow:none;clip-path:none}body.minimal .post :is(.figure,.result-figure){border:1px solid var(--line);border-radius:2px;background:var(--figure-bg);box-shadow:none;transform:none}body.minimal .post :is(.figure,.result-figure) img{height:auto;max-height:none;border-radius:0}body.minimal .post figcaption{font-family:inherit;line-height:1.6}body.minimal .post :is(.contribution,.stat-card,.corpus-card,.engine-strip,.derivation,.combo-card,.case-study){border-color:var(--line);border-radius:2px;background:var(--panel);box-shadow:none}body.minimal .post .contribution span{background:none;color:var(--accent);box-shadow:none;transform:none}body.minimal .post :is(.engine-relic-frame,.equation-step.result){background:none}body.minimal .post :is(.engine-card-img,.engine-relic-img,.chip-img,.card-thumb,.scaled-card-img){filter:none;box-shadow:none}body.minimal .post .sprite-card.fainted{background:var(--panel-strong)}body.minimal .post .card-overlay-badge{color:#fff}body.minimal .post .card-overlay-badge.neutral{background:var(--panel-strong);color:var(--ink)}body.minimal .post .combo-card{grid-template-columns:1fr}body.minimal .post .combo-pieces{justify-content:center}body.minimal .post .combo-metrics-strip{grid-template-columns:repeat(2,minmax(0,1fr))}body.minimal .post .pokemon-stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));width:100%}body.minimal .post .team-builder .team-layout{grid-template-columns:1fr}body.minimal .post :is(.team-builder,.dynamics-example) .sprites{grid-template-columns:repeat(3,minmax(0,1fr))}body.minimal .post :is(.team-builder,.dynamics-example) .sprite-card{grid-template-rows:72px minmax(2.2em,auto) auto minmax(1.15em,auto);align-content:start}body.minimal .post .sprite-card img{max-width:100%}body.minimal .post .team-builder .suggestion-list li{grid-template-columns:1.5rem 42px minmax(0,1fr) 3.5rem}body.minimal .post .team-builder .suggestion-list em{text-align:right}body.minimal .post .team-builder .suggestion-note{grid-column:3 / -1;margin:-4px 0 6px;color:var(--muted);font-size:.86rem;line-height:1.5}body.minimal .post .dynamics-example .team>p{text-align:left}@media(max-width:400px){body.minimal .post :is(.team-builder,.dynamics-example) .sprites{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){body.minimal .post{padding-top:32px}}html[data-theme=light]{background:#faf9f6;color-scheme:light}html[data-theme=dark]{background:#1c1f21;color-scheme:dark}html[data-theme=dark] body.minimal{color-scheme:dark;--bg: #1c1f21;--text: #deded8;--muted: #acafa9;--muted-strong: #c4c7c0;--line: #383d3f;--accent: #9ab7d5;--heading-accent: #b2c5b3}html[data-theme=dark] body.minimal .post{--ink: #deded8;--muted: #acafa9;--line: #383d3f;--panel: #24282a;--panel-strong: #2c3133;--figure-bg: #24282a;--figure-caption: #acafa9;--accent: #9ab7d5;--accent-strong: #b5cce2;--accent-soft: #28323b;--good: #a8c5ae;--good-soft: #28342d;--bad: #d7a099;--bad-soft: #392c2c;--gold: #d2bc92;--gold-soft: #373229}.theme-toggle{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:32px;height:32px;margin:-4px 0;padding:0;border:0;border-radius:50%;background:none;color:var(--muted);cursor:pointer}.theme-toggle[hidden]{display:none}.theme-toggle:hover{background:var(--line);color:var(--text)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}html[data-theme=dark] .moon-icon,html[data-theme=light] .sun-icon{display:none}html[data-theme=dark] .article-icon{filter:brightness(1.35)}html[data-theme=dark] body.minimal .post .card-overlay-badge{color:#1c1f21}html[data-theme=dark] body.minimal .post .card-overlay-badge.neutral{color:var(--ink)}@media(min-width:561px)and (max-width:700px){.minimal .header-links{gap:12px}.minimal nav,.minimal .social-links.compact{gap:12px}}
