:root{color-scheme:light;--ground:#e8e7e3;--sheet:#f3f2ee;--ink:#1c1b22;--soft:#3a3844;--muted:#65626f;--rule:#1c1b2224;--accent:#2a45c8;--on-accent:#fff;--codebg:#1b1a16;--codeink:#e6e1d4;--display:"Archivo", "Arial Narrow", system-ui, sans-serif;--body:"Fira Sans", "Helvetica Neue", Arial, sans-serif;--serif:"Literata", Georgia, "Times New Roman", serif;--mono:"Fira Code", ui-monospace, Menlo, Consolas, monospace;--osd:"VT323", ui-monospace, "Courier New", monospace;--wrap:1180px;--col:660px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ground:#12110e;--sheet:#1b1a16;--ink:#ece8dd;--soft:#cbc6b8;--muted:#949085;--rule:#ece8dd21;--accent:#8aa4ff;--on-accent:#12110e}}:root[data-theme=dark]{color-scheme:dark;--ground:#12110e;--sheet:#1b1a16;--ink:#ece8dd;--soft:#cbc6b8;--muted:#949085;--rule:#ece8dd21;--accent:#8aa4ff;--on-accent:#12110e}*,:before,:after{box-sizing:border-box}html{overflow-x:clip}body{background:var(--ground);color:var(--ink);font:16px/1.5 var(--body);-webkit-font-smoothing:antialiased;margin:0;padding-inline:16px;overflow-x:clip}a{color:inherit}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site{z-index:11;max-width:var(--wrap);flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0 auto;padding-block:16px 12px;display:flex;position:relative}.site .name{font-family:var(--display);text-transform:uppercase;letter-spacing:.03em;margin-right:auto;font-size:14px;font-weight:850;font-stretch:125%;text-decoration:none}.site nav{flex-wrap:wrap;gap:2px;display:flex}.site nav a,.pfoot nav a{font-family:var(--osd);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);border-radius:3px;padding:2px 8px 1px;font-size:19px;text-decoration:none}.site nav a:hover,.pfoot nav a:hover{color:var(--ink)}.site nav a[aria-current=page]{background:var(--ink);color:var(--ground)}.themeb{all:unset;cursor:pointer;width:31px;height:29px;color:var(--muted);border:1px solid var(--rule);border-radius:3px;justify-content:center;align-items:center;margin-left:6px;display:inline-flex}.themeb:hover{color:var(--ink)}.themeb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.themeb svg{width:16px;height:16px}.themeb .i-light,.themeb .i-dark,html[data-theme=light] .themeb .i-auto,html[data-theme=dark] .themeb .i-auto{display:none}html[data-theme=light] .themeb .i-light,html[data-theme=dark] .themeb .i-dark{display:block}@media (width<=719px){.site nav{scrollbar-width:none;flex-wrap:nowrap;flex-basis:100%;margin-left:-5px;overflow-x:auto}.site nav a{flex-shrink:0;padding:2px 5px 1px;font-size:17px}.themeb{position:absolute;top:12px;right:0}}.pfoot{max-width:var(--wrap);border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;margin:clamp(48px,7vw,80px) auto 0;padding-block:16px 22px;display:flex}.pfoot nav{flex-wrap:wrap;gap:2px;margin-left:-8px;display:flex}.pfoot nav a{font-size:17px}.pfoot .fine{font-family:var(--mono);color:var(--muted);font-size:12px}.col{max-width:var(--col);margin:0 auto}.lbl{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px}.home{padding-top:clamp(28px,6vw,76px)}.home h1{font-family:var(--serif);letter-spacing:-.012em;text-wrap:balance;margin:0;font-size:clamp(30px,4.2vw,46px);font-weight:700;line-height:1.12}.home .dek{font-family:var(--serif);color:var(--soft);text-wrap:pretty;margin:.55em 0 0;font-size:clamp(18px,2vw,21px);line-height:1.45}.home .more{border-bottom:1px solid var(--rule);font-family:var(--mono);color:var(--muted);margin:14px 0 0;padding-bottom:clamp(24px,4vw,36px);font-size:12.5px}.home .more a,.item p a{text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--rule)}.home .more a:hover,.item p a:hover{text-decoration-color:currentColor}.home section{margin-top:clamp(40px,6vw,60px);scroll-margin-top:24px}.home h2{font-family:var(--body);margin:0 0 10px;font-size:22px;font-weight:700;line-height:1.25}.grp{margin:22px 0 2px}.item{border-bottom:1px solid var(--rule);padding:13px 0}.item .hd{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.item .t{font-family:var(--serif);font-size:19.2px;font-weight:500;line-height:1.3;text-decoration:none}.item a.t:hover{text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--rule)}.item .y{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12.5px}.item p{color:var(--muted);max-width:56ch;margin:3px 0 0;font-size:14.5px;line-height:1.5}.item p a{color:var(--soft)}.idx{margin:0;padding:0;list-style:none}.yr{border-bottom:1px solid var(--rule);grid-template-columns:6ch minmax(0,1fr);gap:0 18px;padding:10px 0;display:grid}.yr>.y{font-family:var(--mono);padding-top:7px;font-size:12.5px}.idx a{border-radius:3px;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:0 16px;margin-inline:-8px;padding:5px 8px;text-decoration:none;display:grid}.idx a:hover{background:color-mix(in srgb, var(--ink) 5%, transparent)}.idx .t{font-family:var(--serif);font-size:17px;line-height:1.4}.idx .d{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}@media (width<=640px){.yr{grid-template-columns:minmax(0,1fr)}.yr>.y{color:var(--muted);padding:4px 0 2px}}.hero{margin:clamp(24px,4vw,36px) 0 0}.room{aspect-ratio:2.4;isolation:isolate;background:radial-gradient(60% 80% at 50% 108%,#ffaa5a47,#0000 70%),linear-gradient(#0b0d16 0 62%,#2a1c14 62% 100%);border-radius:4px;position:relative;overflow:hidden}.room .win{background:radial-gradient(2px 2px at 20% 70%,#ffcf7a,#0000),radial-gradient(2px 2px at 35% 76%,#ffcf7a,#0000),radial-gradient(3px 3px at 62% 68%,#fff1c8,#0000),radial-gradient(2px 2px at 78% 74%,#ffcf7a,#0000),radial-gradient(2px 2px at 48% 80%,#9ab4ff,#0000),radial-gradient(2px 2px at 88% 66%,#ffcf7a,#0000),linear-gradient(#141a2e,#1c2238 70%,#2a2a3a);border:6px solid #2b2420;border-radius:2px;position:absolute;inset:7% 22% 40%;overflow:hidden}.room .win:after{content:"";pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='90'%3E%3Cg stroke='%23c8d4ff' stroke-opacity='.45' stroke-linecap='round'%3E%3Cpath d='M12 2v22M37 47v26'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='33' height='60'%3E%3Cg stroke='%23c8d4ff' stroke-opacity='.22' stroke-linecap='round'%3E%3Cpath d='M8 10v12M24 40v11'/%3E%3C/g%3E%3C/svg%3E");background-size:50px 90px,33px 60px;animation:.5s linear infinite rain;position:absolute;inset:-30% -20%;transform:rotate(10deg)}.room .win:before{content:"";z-index:1;background:#2b2420;width:6px;margin-left:-3px;position:absolute;top:0;bottom:0;left:50%}@keyframes rain{0%{background-position:0 0,0 0}to{background-position:0 90px,0 120px}}.room .lamp{background:#b5503a;border-radius:40px 40px 6px 6px;width:70px;height:40px;position:absolute;bottom:38%;left:14%;box-shadow:0 30px 80px 30px #ffa05038}.crt{aspect-ratio:4/3;background:#1c1b1f;border-radius:10px;width:32%;position:absolute;bottom:14%;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 2px #2a292e,0 20px 40px #0009}.crt:after{content:"TAPETRON";font:9px/1 var(--mono);letter-spacing:.2em;color:#6e6c74;position:absolute;bottom:4%;left:7%}.scr{color:#e9eeff;font-family:var(--osd);background:#2440c8;border-radius:12px/16px;padding:7% 8%;position:absolute;inset:7% 8% 18%;overflow:hidden;box-shadow:0 0 40px #5078ff73,inset 0 0 30px #00001e99}.scr:before{content:"";pointer-events:none;background:repeating-linear-gradient(#0000 0 2px,#0000002e 2px 3px);position:absolute;inset:0}.scr:after{content:"";pointer-events:none;background:radial-gradient(120% 100% at 50% 40%,#0000 55%,#0000148c);position:absolute;inset:0}.scr .top{justify-content:space-between;font-size:clamp(11px,1.5vw,20px);display:flex}.scr .big{text-transform:uppercase;margin-top:12%;font-size:clamp(14px,2.4vw,32px);line-height:1}.scr .ch{opacity:.8;margin-top:6%;font-size:clamp(11px,1.3vw,18px);animation:1.4s step-end infinite softblink;display:block}@keyframes softblink{50%{opacity:.24}}.scr{animation:3.3s step-end infinite tvflick}.scr .roll{pointer-events:none;background:linear-gradient(#fff0,#ffffff17,#fff0);height:38%;animation:7s linear infinite tvroll;position:absolute;top:0;left:0;right:0}.scr .noise{opacity:0;pointer-events:none;z-index:2;background:#2440c8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .9 0 0 0 0 .93 0 0 0 0 1 0 0 0 1.4 -.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:-20%}.scr.sw .noise{animation:.45s step-end forwards tvstatic}.scr.sw .pic{animation:.45s step-end forwards tvout}@keyframes tvflick{0%{opacity:1}6%{opacity:.93}8%{opacity:1}39%{opacity:.97}41%{opacity:1}74%{opacity:.95}76%{opacity:1}}@keyframes tvroll{0%{transform:translateY(-100%)}to{transform:translateY(265%)}}@keyframes tvstatic{0%{opacity:.9;transform:translate(0)}17%{opacity:.75;transform:translate(-7%,4%)}34%{opacity:.85;transform:translate(5%,-6%)}51%{opacity:.6;transform:translate(-3%,7%)}68%{opacity:.35;transform:translate(6%,2%)}85%{opacity:.12}to{opacity:0}}@keyframes tvout{0%{opacity:1;filter:brightness(1.6)}20%{opacity:.4}40%,to{opacity:0}}.room .spill{pointer-events:none;background:radial-gradient(closest-side,#5a82ff29,#5a82ff0d 50%,#5a82ff00);width:60%;height:90%;animation:3.3s step-end infinite tvflick;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.room .lamp{animation:9s step-end infinite lamp}@keyframes lamp{0%,to{opacity:1}61%{opacity:.82}62%{opacity:1}64%{opacity:.9}65%{opacity:1}}.hero{animation:.6s both liteIn}@keyframes liteIn{0%{opacity:0;transform:translateY(6px)}}.room .desk{background:linear-gradient(#5a3a24,#3b2416);height:16%;position:absolute;bottom:0;left:0;right:0}.room .tapes{flex-direction:column-reverse;gap:2px;display:flex;position:absolute;bottom:16%;right:16%}.room .tapes i{border-radius:1px;width:90px;height:10px;display:block}.room .tapes i:first-child{background:#3a57f5}.room .tapes i:nth-child(2){background:#46a070;width:84px}.room .tapes i:nth-child(3){background:#e2b04a}.room .tapes i:nth-child(4){background:#c4553e;width:86px}.room .tapes i:nth-child(5){background:#8a62c8}@media (width<=640px){.room{aspect-ratio:16/10}.crt{width:52%}.room .tapes,.room .lamp{display:none}}@media (prefers-reduced-motion:reduce){.room .win:after,.scr,.scr .ch,.scr .roll,.room .spill,.room .lamp,.hero{animation:none}}.strip{z-index:10;background:var(--ground);border-bottom:1px solid var(--rule);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-inline:-16px;font-size:12px;position:sticky;top:0}.strip .in{max-width:var(--wrap);white-space:nowrap;align-items:baseline;gap:1.2ch;margin:0 auto;padding:9px 16px 8px;display:flex}.strip .back{color:var(--accent);text-decoration:none}.strip .ttl{color:var(--ink);text-transform:none;letter-spacing:0;font-family:var(--body);text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.strip .left{margin-left:auto}.strip .bar{background:var(--accent);width:0;height:2px}.post{max-width:var(--wrap);grid-template-columns:minmax(0, 1fr) minmax(0, var(--col)) minmax(0, 1fr);column-gap:40px;margin:0 auto;display:grid}.post>*{grid-column:2}.toc{grid-area:1/1/span 3;display:none}@media (width>=1100px){.toc{display:block}}.toc .rail{padding-top:clamp(34px,6vw,76px);position:sticky;top:64px}.toc a{color:var(--muted);padding:4px 0;font-size:13.5px;line-height:1.35;text-decoration:none;display:block}.toc a:hover,.toc a.on{color:var(--ink)}.toc a.on{box-shadow:-10px 0 0 -8px var(--accent)}.toc .d3{padding-left:1em;font-size:12.5px}.phead{border-bottom:1px solid var(--rule);padding-block:clamp(34px,6vw,76px) clamp(26px,4vw,40px)}.phead h1{font-family:var(--serif);letter-spacing:-.012em;text-wrap:balance;margin:0;font-size:clamp(32px,4.2vw,46px);font-weight:700;line-height:1.12}.phead .lede{font-family:var(--serif);color:var(--soft);margin:.6em 0 0;font-size:19px;line-height:1.45}.meta{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px 24px;margin:clamp(22px,3vw,32px) 0 0;display:grid}.meta dt{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:11.5px}.meta dd{flex-wrap:wrap;gap:.7ch;margin:0;font-size:15px;line-height:1.4;display:flex}.meta dd:before{content:"└";font-family:var(--mono);color:var(--muted)}.meta .tag{text-decoration:none}.meta .tag:hover{color:var(--accent)}.content{font-family:var(--serif);padding-top:clamp(28px,4vw,44px);font-size:18px;line-height:1.7}.content>:is(p,ul,ol,h2,h3,h4,blockquote){max-width:68ch}.content p{margin:0 0 1.15em}.content a{text-decoration-color:color-mix(in srgb, var(--ink) 45%, transparent);text-underline-offset:3px;text-decoration-thickness:1px}.content a:hover{text-decoration-color:var(--accent);text-decoration-thickness:2px}.content h2{font-family:var(--body);margin:2em 0 .6em;scroll-margin-top:80px;font-size:1.35em;font-weight:700;line-height:1.25}.content h3{font-family:var(--body);margin:1.8em 0 .45em;scroll-margin-top:80px;font-size:1.02em;font-weight:700;line-height:1.3}.content li{margin:.3em 0}.content li::marker{color:var(--muted);font-family:var(--mono);font-size:.85em}.content blockquote{border-left:2px solid var(--accent);color:var(--soft);margin:1.6em 0;padding-left:1.1em}.content hr{text-align:center;border:0;margin:2.4em 0}.content hr:after{content:"* * *";font-family:var(--mono);color:var(--muted);letter-spacing:.4em}.content :not(pre)>code{font-family:var(--mono);background:color-mix(in srgb, var(--ink) 8%, transparent);border-radius:3px;padding:.1em .3em;font-size:.82em}.content pre{font-family:var(--mono);border:1px solid var(--rule);color:var(--codeink);border-radius:4px;padding:16px 18px;font-size:14px;line-height:1.6;overflow-x:auto;background:var(--codebg)!important}.content img{border-radius:2px}.content figure{margin:2em 0}.content figcaption{font-family:var(--mono);color:var(--muted);margin-top:8px;font-size:12.5px;line-height:1.5}.content table{border-collapse:collapse;font-family:var(--body);width:100%;margin:1.4em 0;font-size:15px}.content th,.content td{text-align:left;border-bottom:1px solid var(--rule);padding:6px 10px}.content th{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11.5px}.pend{margin-top:3em}.ende{text-align:center;font-family:var(--mono);letter-spacing:.2em;color:var(--muted);font-size:12px}.author{border-block:1px solid var(--rule);gap:16px;margin-top:2.4em;padding:18px 0;display:flex}.author .av{background:var(--ink);width:52px;height:52px;color:var(--ground);font-family:var(--display);border-radius:50%;flex:none;place-items:center;font-weight:800;font-stretch:125%;display:grid}.author p{color:var(--soft);margin:0;font-size:15px;line-height:1.5}.author strong{color:var(--ink)}.author .links{font-family:var(--mono);gap:1.2ch;margin-top:6px;font-size:12.5px;display:flex}.author .links a{color:var(--muted)}.subscribe{background:var(--sheet);border:1px solid var(--rule);border-radius:4px;margin-top:2em;padding:18px 20px}.subscribe p{margin:0}.subscribe .k{font-family:var(--mono);letter-spacing:.1em;color:var(--muted);font-size:11.5px}.subscribe .h{font-family:var(--serif);margin-top:4px;font-size:20px;font-weight:600}.subscribe .f{color:var(--muted);margin-top:6px;font-size:14px}.nextprev{margin-top:2.4em}.nextprev a{border-bottom:1px solid var(--rule);grid-template-columns:11ch minmax(0,1fr);gap:16px;padding:10px 0;text-decoration:none;display:grid}.nextprev a:hover .tt{color:var(--accent)}.nextprev .k{font-family:var(--mono);color:var(--muted);padding-top:3px;font-size:12px}.nextprev .tt{font-family:var(--serif);font-size:17px}.page-head{padding-top:clamp(28px,6vw,76px);padding-bottom:18px}.page-head h1{font-family:var(--serif);letter-spacing:-.012em;margin:.2em 0 0;font-size:clamp(30px,4.2vw,46px);font-weight:700;line-height:1.12}.page-head p{color:var(--muted);margin:.5em 0 0}
