:root{color-scheme:dark;--black:#000;--white:#fff;--gray:#9a9a9a;--gray-block:#3a3a3a;--line:#ffffff47;--font:"Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono:ui-monospace, Menlo, Consolas, monospace;--col:680px;--pad:20px;--nav-h:44px;--term-bg:#0d1117;--term-panel:#161b22;--term-bar:#21262d;--kw:#ff7b72;--var:#ffa657;--num:#79c0ff;--fn:#d2a8ff;--cursor:#58a6ff;--ok:#3fb950;--cmt:#8b949e;--term-fg:#c9d1d9}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--black);color:var(--white);-webkit-text-size-adjust:100%}body{font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--black);min-height:100vh;font-size:17px;line-height:1.55}body:after{content:"";z-index:1000;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px;position:fixed;inset:0}::selection{background:var(--white);color:var(--black)}a{color:inherit;text-underline-offset:3px;text-decoration:underline 1px}a:hover,a:focus-visible{background:var(--white);color:var(--black)}:focus-visible{outline:2px solid var(--white);outline-offset:2px}.skip{z-index:1001;background:var(--white);color:var(--black);padding:8px 12px;position:absolute;top:0;left:-9999px}.skip:focus{left:0}.label{color:var(--gray);letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;font-size:14px;font-weight:400}.band{opacity:.35;background-image:radial-gradient(var(--white) 1px, transparent 1.2px);background-size:6px 6px;height:24px;margin:56px 0}.block-btn{background:var(--gray-block);color:var(--white);letter-spacing:.06em;text-transform:uppercase;padding:12px 18px;font-size:14px;font-weight:500;text-decoration:none;display:inline-block}.nav{min-height:var(--nav-h);border-bottom:1px solid var(--line);align-items:stretch;display:flex}.nav-brand{background:var(--white);color:var(--black);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:0 16px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.nav-brand:hover,.nav-brand:focus-visible{background:var(--black);color:var(--white)}.nav-links{padding:0 var(--pad);white-space:nowrap;align-items:center;gap:20px;display:flex;overflow:auto hidden}.nav-links a{letter-spacing:.04em;text-transform:uppercase;font-size:14px}.split{min-height:calc(100vh - var(--nav-h));border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.split-text{flex-direction:column;justify-content:center;gap:32px;min-width:0;padding:48px 40px;display:flex}.art{grid-template-rows:minmax(0,1fr) auto;min-width:0;display:grid}.art img{object-fit:cover;width:100%;height:100%;min-height:0;display:block}.art-credit{padding:8px var(--pad);border-top:1px solid var(--line);background:var(--black);color:var(--white);letter-spacing:.04em;font-size:12px}.wordmark-name{letter-spacing:-.01em;text-transform:uppercase;font-size:clamp(56px,6.6vw,140px);font-weight:700;line-height:.9}.wordmark-suffix{letter-spacing:.02em;margin-left:.15em;font-size:.28em;font-weight:400}.flyer-stack{letter-spacing:.06em;text-transform:uppercase;flex-direction:column;gap:4px;margin-top:24px;font-size:clamp(18px,1.7vw,26px);line-height:1.05;display:flex}.flyer-stack span:nth-child(odd){font-weight:700}.flyer-info{color:var(--cmt);letter-spacing:.06em;text-transform:uppercase;margin-top:16px;font-size:14px}.term{border:1px solid var(--term-bar);background:var(--term-bg);max-width:520px;color:var(--term-fg);font-family:var(--mono);font-size:15px;line-height:1.6}.term-bar{background:var(--term-panel);gap:8px;padding:10px 14px;display:flex}.term-bar span{background:#ff5f56;width:10px;height:10px}.term-bar span:nth-child(2){background:#ffbd2e}.term-bar span:nth-child(3){background:#27c93f}.term-body{padding:16px 18px 18px}.term code{font-family:inherit}.t-cmt{color:var(--cmt)}.t-kw{color:var(--kw)}.t-var{color:var(--var)}.t-num{color:var(--num)}.t-fn{color:var(--fn)}.t-code{white-space:nowrap;margin-top:4px}.cursor{vertical-align:text-bottom;background:var(--cursor);width:.6em;height:1.1em;margin-left:.3em;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.cursor{animation:none}}.debt{margin-top:18px;font-size:13px}.debt-row{flex-wrap:wrap;justify-content:space-between;gap:0 12px;display:flex}.debt-bar{background:var(--term-bar);height:10px;margin-top:8px;position:relative}.debt-bar span{width:var(--fill);background:var(--ok);position:absolute;inset:0 auto 0 0}.debt-pct{color:var(--ok);text-align:right;margin-top:6px}.wrap{max-width:1080px;padding:56px var(--pad) 0;margin:0 auto}.about-card{border:1px solid var(--line);grid-template-columns:168px minmax(0,1fr);display:grid}.about-tag{border-bottom:1px solid var(--line);color:var(--gray);letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;padding:5px 12px;font-size:12px}.about-photo{aspect-ratio:1;object-fit:cover;filter:grayscale()contrast(1.05);border-right:1px solid var(--line);align-self:start;width:100%;height:auto;display:block}.about-content{min-width:0;color:var(--gray);align-self:center;padding:16px 20px}.about-content strong{color:var(--white);text-transform:uppercase;margin-bottom:8px;font-size:26px;font-weight:700;line-height:1;display:block}.about-content p+p{margin-top:8px}.about-content .now{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:15px}.about-content .now span{color:var(--white);letter-spacing:.08em;text-transform:uppercase;margin-right:8px;font-size:12px}.pane-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pane{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;min-height:210px;padding:16px;text-decoration:none;display:flex;position:relative}.pane-kind{letter-spacing:.08em;text-transform:uppercase;border:1px solid;padding:1px 6px;font-size:11px;position:absolute;top:12px;right:12px}.pane h3{text-transform:uppercase;text-underline-offset:4px;margin-top:28px;font-size:26px;font-weight:700;line-height:1;text-decoration:underline 1px}.pane p{color:var(--gray);margin-top:10px;font-size:15.5px;line-height:1.45}.pane-foot{color:var(--gray);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:10px;margin-top:auto;padding-top:16px;font-size:12px;display:flex}.pane-go:after{content:" →"}.pane:hover p,.pane:hover .pane-foot,.pane:focus-visible p,.pane:focus-visible .pane-foot{color:var(--black)}.pane-art{isolation:isolate;overflow:hidden}.pane-bg{z-index:-1;object-fit:cover;filter:blur(12px)brightness(.3)saturate(1.2);width:calc(100% + 48px);height:calc(100% + 48px);position:absolute;inset:-24px}.pane-art p,.pane-art .pane-foot{color:#ffffffd9}.pane-art:hover,.pane-art:focus-visible{background:var(--black);color:var(--white)}.pane-art:hover .pane-bg,.pane-art:focus-visible .pane-bg{filter:brightness(.45);width:100%;height:100%;inset:0}.pane-art:hover p,.pane-art:hover .pane-foot,.pane-art:focus-visible p,.pane-art:focus-visible .pane-foot{color:var(--white)}.empty{border:1px solid var(--line);color:var(--gray);padding:14px}.post-list{border-top:1px solid var(--line);list-style:none}.post-row{border-bottom:1px solid var(--line);grid-template-columns:120px minmax(0,1fr) auto;gap:16px;padding:14px 0;display:grid}.post-row time,.post-tags{color:var(--gray);font-variant-numeric:tabular-nums;font-size:14px}.post-row a{font-size:20px;font-weight:700}.post-row p{color:var(--gray);margin-top:4px;font-size:15.5px}.follow{flex-wrap:wrap;align-items:center;gap:16px 32px;display:flex}.follow .label{margin:0}.follow-links{flex-wrap:wrap;gap:8px;display:flex}.subscribe-inline{max-width:var(--col);border-top:1px solid var(--line);margin-top:56px;padding-top:24px}.subscribe-pitch{color:var(--gray);font-size:15.5px}.subscribe-form{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.subscribe-form input[type=email]{border:1px solid var(--line);min-width:0;color:var(--white);font:inherit;background:0 0;border-radius:0;flex:240px;padding:12px 14px;font-size:15px}.subscribe-form button{cursor:pointer;border:0;font-family:inherit}.subscribe-form button:hover,.subscribe-form button:focus-visible{background:var(--white);color:var(--black)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.all-posts{letter-spacing:.04em;text-transform:uppercase;margin-top:16px;font-size:14px}.archive-title{margin-bottom:32px;font-size:clamp(36px,6vw,64px);font-weight:700;line-height:.95}.lost-code{font-size:clamp(96px,12vw,200px);font-weight:700;line-height:.85}.post-split{border-bottom:1px solid var(--line);grid-template-columns:40vw minmax(0,1fr);display:grid}.art-post{height:calc(100vh - var(--nav-h));align-self:start;position:sticky;top:0}.post{min-width:0;max-width:calc(var(--col) + 80px);padding:40px 40px 96px}.back{letter-spacing:.04em;text-transform:uppercase;margin-bottom:32px;font-size:14px;display:inline-block}.back:before{content:"← "}.post-hero{border-bottom:1px solid var(--line);margin-bottom:36px;padding-bottom:28px}.post-hero .meta{color:var(--gray);letter-spacing:.04em;text-transform:uppercase;font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;font-size:14px;display:flex}.post-hero h1{letter-spacing:-.01em;text-transform:uppercase;text-wrap:balance;overflow-wrap:anywhere;font-size:clamp(36px,5vw,72px);font-weight:700;line-height:.95}.post-hero .subtitle{max-width:52ch;color:var(--gray);margin-top:16px;font-size:19px;line-height:1.4}.meta-stats{align-items:center;gap:12px;margin-left:auto;display:inline-flex}.view-count{align-items:center;gap:5px;display:inline-flex}.like-btn{border:1px solid var(--line);color:var(--gray);font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;align-items:center;gap:6px;padding:3px 8px;display:inline-flex}.like-btn:hover{border-color:var(--white);color:var(--white)}.like-btn svg{display:block}.like-btn.liked{border-color:var(--kw);color:var(--kw)}.like-btn.liked svg{fill:currentColor}.share-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.share-state{color:var(--gray);font-size:14px}.share-state.shared{color:var(--ok)}.share-state.error{color:var(--kw)}.prose{max-width:var(--col);font-size:18px;line-height:1.65}.prose>*+*{margin-top:1.1em}.prose h2{border-top:1px solid var(--line);text-transform:uppercase;text-wrap:balance;margin-top:2.2em;padding-top:.7em;font-size:clamp(24px,3vw,32px);font-weight:700;line-height:1.05}.prose h3{text-transform:uppercase;margin-top:1.8em;font-size:20px;font-weight:700;line-height:1.2}.prose p{text-wrap:pretty}.prose strong{font-weight:700}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.45em}.prose li::marker{color:var(--gray)}.prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}.prose blockquote{border-left:2px solid var(--white);color:var(--gray);padding-left:16px}.prose img{max-width:100%;height:auto}.prose code{border:1px solid var(--term-bar);background:var(--term-bg);font-family:var(--mono);overflow-wrap:anywhere;padding:1px 5px;font-size:.86em}.prose pre{border:1px solid var(--term-bar);background:var(--term-bg);padding:14px 16px;font-size:14px;line-height:1.55;overflow:auto hidden}.prose pre code{font-size:inherit;overflow-wrap:normal;background:0 0;border:0;padding:0}.footer{max-width:1080px;padding:16px var(--pad) 40px;border-top:1px solid var(--line);color:var(--gray);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin:56px auto 0;font-size:13px;display:flex}.footer>a{color:var(--white)}.footer>a:hover,.footer>a:focus-visible{color:var(--black)}.footer-links{gap:16px;display:flex}@media (width<=1023px){.nav{flex-direction:column}.nav-brand{min-height:var(--nav-h);align-self:flex-start}.nav-links{min-height:var(--nav-h);border-top:1px solid var(--line)}.split,.post-split{min-height:0;display:block}.art,.art-post{height:auto;display:block;position:static}.art img{aspect-ratio:4/3;height:auto;max-height:55vh}.art-post img{max-height:45vh}.split-text{padding:32px var(--pad) 40px}.post{padding:32px var(--pad) 64px}.pane-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.wordmark-name{font-size:min(56px,14vw)}.term{font-size:13px}.band{margin:40px 0}.about-card{grid-template-columns:116px minmax(0,1fr)}.about-content{padding:12px 14px;font-size:15.5px}.about-content strong{font-size:22px}.pane-grid{grid-template-columns:minmax(0,1fr)}.pane{min-height:0}.post-row{grid-template-columns:minmax(0,1fr);gap:4px}.meta-stats{width:100%;margin-left:0}.prose{font-size:17px}}.tcp-fig{margin:2em 0}.tcp-fig figcaption{color:var(--gray);font-family:var(--mono);margin-top:10px;font-size:13px;line-height:1.5}.tcp-box{border:1px solid var(--term-bar);background:var(--term-bg);padding:16px}.tcp-scroll{overflow-x:auto}.tcp-fig svg{width:100%;height:auto;display:block}.tcp-fig svg text{font-family:var(--mono)}.tcp-a{color:var(--var)}.tcp-b{color:var(--num)}.tcp-swap-a{animation:2.4s cubic-bezier(.6,0,.3,1) infinite tcp-swap-a}.tcp-swap-b{animation:2.4s cubic-bezier(.6,0,.3,1) infinite tcp-swap-b}@keyframes tcp-swap-a{0%,38%{transform:translateY(0)}50%,88%{transform:translateY(66px)}to{transform:translateY(0)}}@keyframes tcp-swap-b{0%,38%{transform:translateY(0)}50%,88%{transform:translateY(-66px)}to{transform:translateY(0)}}.tcp-count{font-variant-numeric:tabular-nums;color:var(--kw);font-weight:700}.tcp-steps{gap:8px;display:grid}.tcp-step{border:1px solid var(--term-bar);background:var(--term-bg);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.tcp-chips{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.tcp-chip{border:1px solid var(--line);font-family:var(--mono);color:var(--term-fg);border-radius:999px;padding:1px 8px;font-size:12px}.tcp-chip.tcp-a{border-color:var(--var);color:var(--var)}.tcp-chip.tcp-b{border-color:var(--num);color:var(--num)}.tcp-chip.tcp-gone{color:var(--cmt);border-color:var(--term-bar);text-decoration:line-through}.tcp-pill{font-family:var(--mono);text-transform:uppercase;white-space:nowrap;padding:2px 8px;font-size:12px;font-weight:700}.tcp-pill.tcp-dead{color:var(--black);background:var(--kw)}.tcp-pill.tcp-alive{color:var(--black);background:var(--ok)}.tcp-stack{font-family:var(--mono);color:var(--term-fg);white-space:pre;margin:12px 0 0;font-size:13px;line-height:1.6}.tcp-stack .tcp-hl{color:var(--kw)}.tcp-duo{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;display:grid}.tcp-duo h3{text-transform:uppercase;margin:0 0 10px;font-size:15px;font-weight:700}.tcp-draw{font-family:var(--mono);grid-template-columns:56px minmax(0,1fr);align-items:center;gap:8px;margin-bottom:8px;font-size:12px;display:grid}.tcp-draw>span:first-child{color:var(--cmt)}.tcp-order{color:var(--cmt);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.tcp-verdict{font-family:var(--mono);margin-top:6px;font-size:13px}.tcp-verdict.tcp-ok{color:var(--ok)}.tcp-verdict.tcp-bad{color:var(--kw)}.tcp-bars{gap:7px;display:grid}.tcp-bar{font-family:var(--mono);grid-template-columns:140px minmax(0,1fr) 52px;align-items:center;gap:10px;font-size:12px;display:grid}.tcp-bar>span:first-child{color:var(--cmt);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tcp-track{background:var(--term-bar);height:10px}.tcp-fill{min-width:3px;height:100%;display:block}.tcp-fill.tcp-dead{background:var(--kw)}.tcp-fill.tcp-alive{background:var(--ok)}.tcp-bar>span:last-child{text-align:right;font-variant-numeric:tabular-nums;color:var(--term-fg)}.tcp-tree{font-family:var(--mono);white-space:pre;color:var(--term-fg);margin:0;font-size:13px;line-height:1.75}.tcp-tree .tcp-m{color:var(--cmt)}.tcp-bounce{border-left:3px solid var(--kw)}.tcp-bounce-from{color:var(--cmt);font-family:var(--mono);font-size:12px}.tcp-bounce-msg{color:var(--term-fg);font-family:var(--mono);margin-top:6px;font-size:14px}.tcp-sig{color:var(--white);justify-content:flex-end;align-items:center;gap:8px;margin-top:3em;display:flex}.tcp-sig svg{flex:none;width:28px;height:28px}.tcp-sig span{font-family:var(--mono);letter-spacing:.12em;text-transform:lowercase;font-size:12px}@media (prefers-reduced-motion:reduce){.tcp-swap-a,.tcp-swap-b{animation:none}}@media (width<=640px){.tcp-bar{grid-template-columns:96px minmax(0,1fr) 44px}}.pj-total{margin-top:10px;font-size:14px}.pj-wave{width:100%;height:56px;margin-top:16px;display:block}.pj-wave rect{fill:var(--ok)}.pj-wave-years{height:16px;color:var(--cmt);margin-top:4px;font-size:11px;position:relative}.pj-wave-years span{position:absolute;top:0}.pj-jump{z-index:50;border-bottom:1px solid var(--line);background:var(--black);display:flex;position:sticky;top:0;overflow:auto hidden}.pj-jump a{border-right:1px solid var(--line);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;flex:1 0 auto;padding:12px 16px;font-size:13px;text-decoration:none}.pj-jump a span{color:var(--gray);margin-right:6px}.pj-jump a:hover span,.pj-jump a:focus-visible span{color:inherit}.pj-wrap{max-width:1200px}.pj-legend{color:var(--gray);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:8px 24px;margin-bottom:40px;font-size:12px;display:flex}.pj-key{align-items:center;gap:8px;display:inline-flex}.pj-key .node{margin:0}.ch{border-top:1px solid var(--line);grid-template-columns:250px minmax(0,1fr);gap:0 28px;padding:48px 0 16px;scroll-margin-top:44px;display:grid}.ch-head{align-self:start;position:sticky;top:72px}.ch-no{letter-spacing:.08em;text-transform:uppercase;border:1px solid;padding:1px 6px;font-size:11px;display:inline-block}.ch-title{text-transform:uppercase;margin-top:14px;font-size:clamp(28px,2.6vw,38px);font-weight:700;line-height:.95}.ch-years{color:var(--var);font-family:var(--mono);margin-top:10px;font-size:13px}.ch-line{color:var(--gray);margin-top:12px;font-size:15px;line-height:1.45}.tl{list-style:none;position:relative}.tl:before{content:"";background:var(--line);width:1px;position:absolute;top:6px;bottom:0;left:111.5px}.tl-row{grid-template-columns:100px 24px minmax(0,1fr);align-items:start;padding-bottom:32px;scroll-margin-top:64px;display:grid;position:relative}.tl-date{color:var(--gray);font-family:var(--mono);font-variant-numeric:tabular-nums;padding-top:1px;font-size:13px}.node{background:var(--white);justify-self:center;width:11px;height:11px;margin-top:4px;display:block}.node-small{border:1px solid var(--white);background:var(--black);width:7px;height:7px;margin-top:6px}.tone-start .node{background:var(--num)}.tone-move .node{background:var(--fn)}.tone-win .node{background:var(--ok)}.tone-end .node{background:var(--kw)}.is-now .node{background:var(--cursor);animation:1s step-end infinite blink}.is-now .tl-date{color:var(--cursor)}.pj{border:1px solid var(--line);grid-template-columns:minmax(0,5fr) minmax(0,6fr);display:grid}.pj-media{aspect-ratio:16/10;border-right:1px solid var(--line);background:var(--term-bg);position:relative;overflow:hidden}.pj-shot{object-fit:cover;object-position:top center;filter:grayscale()contrast(1.1);width:100%;height:100%;display:block}.tl-pj:hover .pj-shot,.tl-pj:focus-within .pj-shot{filter:none}@media (hover:none){.pj-shot{filter:none}}.pj-body{flex-direction:column;min-width:0;padding:14px 18px 16px;display:flex}.pj-top{flex-wrap:wrap;gap:6px;display:flex}.pj-kind{letter-spacing:.08em;text-transform:uppercase;border:1px solid;padding:1px 6px;font-size:11px}.tone-win .pj-kind{color:var(--ok)}.pj-live{color:var(--cursor)}.pj-name{text-transform:uppercase;text-wrap:balance;overflow-wrap:anywhere;margin-top:12px;font-size:clamp(22px,2.2vw,30px);font-weight:700;line-height:1}.pj-blurb{color:var(--gray);margin-top:10px;font-size:15.5px;line-height:1.5}.pj-commit{margin-top:12px;font-size:12.5px}.pj-commit code{border:1px solid var(--term-bar);background:var(--term-bg);max-width:100%;color:var(--term-fg);font-family:var(--mono);overflow-wrap:anywhere;padding:3px 8px;display:inline-block}.pj-commit-note{color:var(--cmt);font-family:var(--mono);margin-top:4px;font-size:12px;display:block}.pj-stats{color:var(--gray);letter-spacing:.06em;text-transform:uppercase;margin-top:auto;padding-top:14px;font-size:12px;line-height:1.7}.pj-stats .pj-n{white-space:nowrap}.pj-stats span+span:before{content:"·";margin:0 8px}.pj-links{letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:13px;display:flex}.pj-go:after{content:" →" / ""}.pj-go.is-closed{color:var(--gray);text-underline-offset:3px;cursor:not-allowed;text-decoration:underline dotted}.pj-go.is-closed:after{content:" ×" / ""}.pj-tile{background-color:var(--black);flex-direction:column;justify-content:space-between;padding:14px 16px;display:flex;position:absolute;inset:0}.pj-tile-0{background-image:radial-gradient(#ffffff52 1px,#0000 1.2px);background-size:6px 6px}.pj-tile-1{background-image:repeating-linear-gradient(135deg,#ffffff29 0 1px,#0000 1px 7px)}.pj-tile-2{background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:22px 22px}.pj-tile-year{background:var(--black);color:var(--cmt);font-family:var(--mono);align-self:flex-start;padding:1px 6px;font-size:12px}.pj-tile-name{background:var(--white);max-width:100%;color:var(--black);font-variant-numeric:tabular-nums;text-transform:uppercase;overflow-wrap:anywhere;align-self:flex-start;padding:6px 12px 4px;font-size:clamp(40px,5vw,72px);font-weight:700;line-height:.92}.pj-tile-name small{letter-spacing:.08em;margin-top:2px;font-size:13px;display:block}.pj-tile-stack{background:var(--black);color:var(--term-fg);font-family:var(--mono);align-self:flex-start;padding:2px 6px;font-size:12px}.pj-art{width:100%;height:100%;position:absolute;inset:0}.pj-map{background:var(--term-bg)}.pj-map-cmt{fill:var(--cmt);font-family:var(--mono);font-size:17px}.pj-map-ring{fill:none;stroke:var(--term-bar);stroke-width:1px}.pj-map-m{fill:var(--cmt);font-family:var(--mono);font-size:15px}.pj-map-route{stroke:var(--ok);stroke-width:2.5px;stroke-dasharray:6 5;animation:1.2s linear infinite pj-route}@keyframes pj-route{to{stroke-dashoffset:-11px}}.pj-map-stop{fill:var(--ok)}.pj-map-start{fill:var(--white)}.pj-map-label{fill:var(--term-fg);font-family:var(--mono);font-size:20px}.pj-term{background:var(--term-bg);color:var(--term-fg);font-family:var(--mono);padding:16px 18px;font-size:12.5px;line-height:1.6;overflow:hidden}.pj-line{white-space:pre-wrap;animation:7s steps(28,end) infinite backwards pj-type;animation-delay:calc(var(--i) * .9s)}.pj-line.t-ok{color:var(--ok)}@keyframes pj-type{0%{clip-path:inset(0 100% 0 0)}14%,to{clip-path:inset(0)}}.tl-bsides .tl-date{letter-spacing:.06em;text-transform:uppercase;font-size:12px}.bs-list{border:1px solid var(--line);list-style:none}.bs{border-bottom:1px solid var(--line);grid-template-columns:92px minmax(0,1fr);gap:4px 16px;padding:10px 14px;scroll-margin-top:64px;display:grid}.bs:last-child{border-bottom:0}.bs time{color:var(--gray);font-family:var(--mono);font-variant-numeric:tabular-nums;padding-top:2px;font-size:12px}.bs-name{letter-spacing:.02em;text-transform:uppercase;font-size:15px;font-weight:700}.bs p{color:var(--gray);font-size:14.5px;line-height:1.45}.bs-meta{color:var(--gray);font-family:var(--mono);flex-wrap:wrap;grid-column:2;gap:2px 12px;font-size:12px;display:flex}.ms-name{text-transform:uppercase;font-size:clamp(20px,2vw,26px);font-weight:700;line-height:1.05}.tone-start .ms-name{color:var(--num)}.tone-move .ms-name{color:var(--fn)}.tone-win .ms-name{color:var(--ok)}.tone-end .ms-name{color:var(--kw)}.ms p{max-width:60ch;color:var(--gray);margin-top:6px;font-size:15.5px}.ms-link:after{content:" →" / ""}.pj-end{border-top:1px solid var(--line);justify-items:start;gap:16px;padding-top:40px;display:grid}.pj-end-line{color:var(--gray)}@media (prefers-reduced-motion:reduce){.pj-line,.pj-map-route,.is-now .node{animation:none}}@media (width<=1023px){.ch{grid-template-columns:minmax(0,1fr)}.ch-head{margin-bottom:28px;position:static}.pj{grid-template-columns:minmax(0,1fr)}.pj-media{border-right:0;border-bottom:1px solid var(--line)}}@media (width<=640px){.tl:before{left:9.5px}.tl-row{grid-template-columns:20px minmax(0,1fr);padding-bottom:28px}.tl-row>.node{grid-area:1/1}.tl-row>.tl-date{grid-area:1/2;padding-bottom:8px}.tl-row>:last-child{grid-column:2}.bs{grid-template-columns:minmax(0,1fr)}.bs-meta{grid-column:1}.pj-term{padding:14px;font-size:12px}.pj-legend{margin-bottom:28px}}
