:root{--bg:#fff;--surface:#f7f8fa;--ink:#0b0d12;--ink-2:#4a5060;--muted:#8a909c;--rule:#e8eaee;--accent:#3a5ccc;--accent-soft:#eef1fb;--sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0a0b0e;--surface:#121419;--ink:#edeef1;--ink-2:#a3a8b3;--muted:#6e7480;--rule:#1e2128;--accent:#8fa6f5;--accent-soft:#171c2c;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:400 17px/1.7 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px));padding-block:env(safe-area-inset-top,0px) env(safe-area-inset-bottom,0px);margin:0}a{color:inherit;text-decoration-color:var(--rule);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--accent);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}::selection{background:var(--accent-soft);color:var(--ink)}.top,main,.foot{max-width:1080px;margin-inline:auto}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:28px;display:flex}.mark{align-items:center;gap:10px;text-decoration:none;display:flex}.glyph{background:var(--ink);width:28px;height:28px;color:var(--bg);font:500 17px/1 var(--sans);border-radius:7px;place-items:center;padding-bottom:3px;display:grid}.who{font:500 15px/1 var(--sans);letter-spacing:-.01em}.top nav{font:400 15px/1 var(--sans);gap:28px;display:flex}.top nav a{color:var(--ink-2);padding-block:6px;text-decoration:none}.top nav a:hover{color:var(--ink)}.top nav a[aria-current=page]{color:var(--ink);font-weight:500}.foot{border-top:1px solid var(--rule);font:400 13.5px/1.4 var(--sans);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:120px;padding-block:28px 44px;display:flex}.kicker{font:500 12.5px/1 var(--mono);letter-spacing:.04em;color:var(--muted);align-items:center;gap:10px;margin:0;display:flex}.kicker:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px}h1,h2,h3{font-family:var(--sans);text-wrap:balance}h1{letter-spacing:-.035em;margin:.35em 0;font-size:clamp(38px,6.4vw,64px);font-weight:600;line-height:1.04}h2{letter-spacing:-.025em;margin:0;font-size:28px;font-weight:600;line-height:1.2}h3{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600;line-height:1.35}p{margin:0}.lede{color:var(--ink-2);max-width:36em;font-size:20px;font-weight:400;line-height:1.6}.rail{border-top:1px solid var(--rule);gap:18px 48px;padding-block:56px;display:grid}.rail>.label{font:500 12.5px/1.6 var(--mono);letter-spacing:.04em;color:var(--muted)}.rail>.content{gap:24px;min-width:0;display:grid}@media (width>=860px){.rail{grid-template-columns:220px minmax(0,1fr)}.rail>.label{padding-top:2px}}.hero{gap:18px;padding-block:72px 64px;display:grid}.hero h1{max-width:15em}.strengths{grid-template-columns:1fr;gap:36px 48px;display:grid}@media (width>=640px){.strengths{grid-template-columns:1fr 1fr}}.strength{align-content:start;gap:8px;display:grid}.strength p{color:var(--ink-2);font-size:16px;line-height:1.65}.results{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:36px 40px;margin:0;padding:0;list-style:none;display:grid}.results li{align-content:start;gap:4px;display:grid}.results .fig{font:500 46px/1.05 var(--sans);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.results .unit{font:500 12.5px/1.4 var(--mono);letter-spacing:.02em;color:var(--accent)}.results p{color:var(--ink-2);margin-top:8px;font-size:15.5px;line-height:1.6}.career{margin:0;padding:0;list-style:none;display:grid}.career li{border-top:1px solid var(--rule);gap:4px 32px;padding-block:22px;display:grid}.career li:first-child{border-top:0;padding-top:0}@media (width>=640px){.career li{grid-template-columns:110px minmax(0,1fr)}}.career .when{font:400 13.5px/1.9 var(--mono);color:var(--muted);font-variant-numeric:tabular-nums}.career p{color:var(--ink-2);margin-top:6px;font-size:16px}.posts{margin:0;padding:0;list-style:none;display:grid}.posts li{border-top:1px solid var(--rule);gap:4px 32px;padding-block:20px;display:grid}.posts li:first-child{border-top:0;padding-top:0}@media (width>=640px){.posts li{grid-template-columns:150px minmax(0,1fr)}}.posts time,.meta{font:400 13.5px/1.8 var(--mono);color:var(--muted);text-decoration:none}.posts a.t{font:600 20px/1.3 var(--sans);letter-spacing:-.02em;text-decoration:none}.posts a.t:hover{color:var(--accent)}.posts p{color:var(--ink-2);margin-top:6px;font-size:16px}.draft{font:500 11px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);vertical-align:3px;border-radius:999px;margin-left:10px;padding:4px 8px}.more{font:500 15px/1 var(--sans);color:var(--accent);text-decoration:none}.more:hover{text-decoration:underline}.notes{display:grid}.note{border-top:1px solid var(--rule);gap:8px 32px;padding-block:24px;scroll-margin-top:20px;display:grid}.note:first-child{border-top:0;padding-top:0}@media (width>=640px){.note{grid-template-columns:150px minmax(0,1fr)}}.note .side{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (width>=640px){.note .side{flex-direction:column;align-items:flex-start;gap:6px}}.kind{font:500 11.5px/1 var(--mono);letter-spacing:.03em;background:var(--surface);border:1px solid var(--rule);color:var(--ink-2);border-radius:999px;padding:5px 9px}.note .body{min-width:0}.note .body>*+*{margin-top:.7em}.note .body p:first-child{color:var(--ink);font-size:18px}.note .body p{color:var(--ink-2)}.article-head{gap:14px;padding-block:72px 48px;display:grid}.article-head h1{max-width:17em;font-size:clamp(34px,5.4vw,54px)}.prose{border-top:1px solid var(--rule);min-width:0;max-width:40em;padding-block:48px;font-size:18px;line-height:1.75}.prose>*+*{margin-top:1.1em}.prose h2{margin-top:2.2em;font-size:24px}.prose h3{margin-top:1.6em;font-size:19px}.prose ul,.prose ol{padding-left:1.2em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--muted)}.prose strong{font-weight:600}.prose blockquote{border-left:2px solid var(--accent);color:var(--ink-2);margin-inline:0;padding:2px 0 2px 20px}.prose code{font:.86em var(--mono);background:var(--surface);border:1px solid var(--rule);border-radius:5px;padding:.08em .36em}.prose pre{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:16px 18px;font-size:14.5px;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;border:0;padding:0}.prose table{border-collapse:collapse;width:100%;font-size:15.5px;line-height:1.5;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:10px 16px 10px 0}.prose th{font:500 12.5px/1.3 var(--mono);letter-spacing:.02em;color:var(--muted)}.prose hr{border:0;border-top:1px solid var(--rule);margin-block:2.2em}.content.prose{border-top:0;font-size:17px}.principles{counter-reset:p;gap:16px;margin:0;padding:0;list-style:none;display:grid}.principles li{counter-increment:p;color:var(--ink-2);grid-template-columns:40px minmax(0,1fr);gap:4px;display:grid}.principles li:before{content:counter(p, decimal-leading-zero);font:400 13.5px/1.9 var(--mono);color:var(--muted)}.principles b{color:var(--ink);font-weight:600}.stack{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.stack li{font:400 13.5px/1 var(--sans);border:1px solid var(--rule);color:var(--ink-2);border-radius:999px;padding:8px 12px}@media (prefers-reduced-motion:no-preference){a,.top nav a{transition:color .15s,text-decoration-color .15s}}.hero-split{grid-template-columns:minmax(0,1fr);align-items:start;gap:40px}.hero-main{gap:18px;min-width:0;display:grid}@media (width>=980px){.hero-split{grid-template-columns:minmax(0,1fr) 300px;gap:56px}}.glance{background:var(--surface);border:1px solid var(--rule);border-radius:16px;gap:20px;padding:22px;display:grid}.glance-label{font:500 12px/1 var(--mono);letter-spacing:.04em;color:var(--muted)}.stats{grid-template-columns:1fr 1fr;gap:16px;margin:14px 0 0;display:grid}.stats div{gap:2px;display:grid}.stats dt{color:var(--muted);font-size:13px}.stats dd{font:500 30px/1.1 var(--sans);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:0}.glance>.glance-label+.stats{margin-top:0}.fact{border-top:1px solid var(--rule);gap:10px;padding-top:18px;display:grid}.fact p:not(.glance-label){color:var(--ink);min-height:5em;font-size:15.5px;line-height:1.6}.fact-next{font:500 14.5px var(--sans);color:var(--accent);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0}.fact-next:hover{text-decoration:underline}.links{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.links li{border:1px solid var(--rule);border-radius:14px;align-content:start;gap:8px;padding:18px 20px;transition:border-color .15s;display:grid}.links li:hover{border-color:var(--ink-2)}.links a{gap:2px;text-decoration:none;display:grid}.links .lt{font:600 17px/1.3 var(--sans);letter-spacing:-.01em}.links a:hover .lt{color:var(--accent)}.links .lh{font:400 12.5px/1.4 var(--mono);color:var(--muted);overflow-wrap:anywhere}.links p{color:var(--ink-2);font-size:15px;line-height:1.6}.quote{gap:10px;margin:0;display:grid}.quote blockquote{font:500 clamp(22px, 3.4vw, 30px)/1.35 var(--sans);letter-spacing:-.02em;text-wrap:balance;max-width:26em;margin:0}.quote figcaption{font:400 14px var(--mono);color:var(--muted)}.quote figcaption:before{content:"— "}.poem{border-top:1px solid var(--rule);gap:14px;margin:12px 0 0;padding-top:24px;display:grid}.poem-title{font:600 18px var(--sans)}.poem-title span{font:400 14px var(--mono);color:var(--muted);margin-left:10px}.stanza{color:var(--ink-2);font-size:17px;font-style:italic;line-height:1.75;display:grid}.stanza span:nth-child(2n){padding-left:1.6em}.poem details{gap:18px;display:grid}.poem details[open] .stanza{margin-top:18px}.poem summary{cursor:pointer;font:500 15px var(--sans);color:var(--accent);list-style:none}.poem summary::-webkit-details-marker{display:none}.poem details[open] summary{display:none}.kicker a{color:inherit;text-decoration:none}.kicker a:hover{color:var(--accent)}.game-cards{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.game-cards a{border:1px solid var(--rule);border-radius:16px;align-content:start;gap:8px;height:100%;padding:20px;text-decoration:none;transition:border-color .15s,transform .15s;display:grid}.game-cards a:hover{border-color:var(--ink-2);color:inherit}.gc-top{justify-content:space-between;align-items:center;display:flex}.gc-no{font:400 13px var(--mono);color:var(--muted)}.gc-level{font:500 11.5px/1 var(--mono);background:var(--surface);border:1px solid var(--rule);color:var(--ink-2);border-radius:999px;padding:5px 9px}.gc-level[data-level="3"]{background:var(--accent-soft);color:var(--accent);border-color:#0000}.gc-title{font:600 19px/1.3 var(--sans);letter-spacing:-.02em}.game-cards a:hover .gc-title{color:var(--accent)}.gc-blurb{color:var(--ink-2);font-size:15px;line-height:1.55}.gc-move{font:400 12.5px var(--mono);color:var(--muted);margin-top:4px}.game{max-width:620px}.status{min-height:2.6em;font-size:18px}.status.win{color:var(--accent);font-weight:600}.status.lose{color:var(--ink);font-weight:500}.controls{flex-wrap:wrap;gap:10px;display:flex}.btn{font:500 15px/1 var(--sans);border:1px solid var(--rule);background:var(--bg);color:var(--ink);cursor:pointer;border-radius:999px;padding:12px 16px}.btn:hover:not(:disabled){border-color:var(--ink-2)}.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn:disabled{opacity:.4;cursor:default}.btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.log{font:400 14.5px/1.7 var(--mono);color:var(--ink-2);margin:0;padding-left:1.3em}.log:empty{display:none}.hint{border-top:1px solid var(--rule);color:var(--ink-2);padding-top:16px}.hint summary{cursor:pointer;color:var(--ink);font-weight:500}.hint p{margin-top:10px;font-size:16px}.hint .hint-move{font:500 12.5px var(--mono);color:var(--accent)}.pager-links{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.pager-links a{font:600 17px/1.3 var(--sans);gap:4px;text-decoration:none;display:grid}.pager-links a span{font:400 12.5px var(--mono);color:var(--muted)}.pager-links a.next{text-align:right;margin-left:auto}.chip{font:500 15px/1 var(--sans);border:1px solid var(--rule);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;padding:11px 15px}.chip:disabled{cursor:default;opacity:.5}.chip.sel{background:var(--ink);color:var(--bg);border-color:var(--ink)}.panel{border:1px solid var(--rule);background:var(--surface);border-radius:16px;align-content:start;gap:12px;min-height:120px;padding:18px;display:grid}.panel h3{font:500 12.5px var(--mono);color:var(--muted)}.panel .pieces{flex-wrap:wrap;gap:8px;display:flex}@media (prefers-reduced-motion:no-preference){.game-cards a:hover{transform:translateY(-2px)}}
