@font-face{font-family:Nunito;src:url(/fonts/nunito.ttf)format("truetype");font-style:normal;font-weight:200 1000;font-display:swap}@font-face{font-family:Pixelify;src:url(/fonts/pixelify-sans.ttf)format("truetype");font-weight:400 700;font-display:swap}:root{color-scheme:light;--bg:#eeeadd;--panel:var(--tone-15);--ink:#303e35;--muted:#687369;--line:#ced3c3;--border:#5a7060;--toolbar:#d0dcc7;--accent:#ddc184;--active:#bfd0ac;--tone-0:#75887030;--tone-1:#956531;--tone-2:#9e783c;--tone-3:#bac4b3;--tone-4:#b99b63;--tone-5:#e6dec7;--tone-6:#bcc6b4;--tone-7:#dce6df;--tone-8:#a27e36;--tone-9:#eeeede;--tone-10:#d0d5c6;--tone-11:#728a62;--tone-12:#a7b997;--tone-13:#e4d3ab;--tone-14:#aa8c55;--tone-15:#fcfaf1;--tone-16:#e0e3d5;--tone-17:#83917d;--tone-18:#fbf9ed;--tone-19:#bec8b6;--tone-20:#a4b797;--tone-21:#d3dcc9;--tone-22:#e0e8d2;--tone-23:#4c6947;--tone-24:#a1b18d;--tone-25:#8e6b32;--tone-26:#f2f1e5;--tone-27:#a5b393;--tone-28:#c0cbb3;--tone-29:#b3bfa6;--tone-30:#667d56;--tone-31:#e5e9d9;--tone-32:#bac6ac;--tone-33:#748752;--tone-34:#86917b;--tone-35:#c2cbb6;--tone-36:#f1f2e5;--tone-37:#bdc7b0;--tone-38:#5d7652;--tone-39:#ecefdf;--tone-40:#a7ba91;--tone-41:#b0bf9d;--tone-42:#c0cfac;--tone-43:#7d6834;--tone-44:#a06f2f;--tone-45:#4b5b4d;--tone-46:#e1e5d6;--tone-47:#8d9f6f;--tone-48:#f5f4e8;--tone-49:#a0b38d;--tone-50:#cbd5bc;--tone-51:#758b4f;--display:Pixelify, monospace;--body:Nunito, system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background-color:var(--bg);background-image:radial-gradient(var(--tone-0) 1px, transparent 1px);color:var(--ink);font:17px/1.7 var(--body);background-size:12px 12px;margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a:hover{color:var(--tone-1)}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--tone-2);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.skip{background:var(--accent);border:3px solid var(--ink);z-index:20;padding:10px 20px;position:fixed;top:-80px;left:20px}.skip:focus{top:12px}.site-top{max-width:1120px;margin:auto}header{background:var(--panel);border:3px solid var(--border);max-width:1120px;box-shadow:5px 5px 0 var(--tone-3);z-index:2;align-items:center;gap:34px;margin:24px auto 0;padding:20px 25px;display:flex;position:relative}.brand{font:700 27px/1 var(--display);letter-spacing:1px;flex-shrink:0;align-items:center;gap:13px;display:flex}.brand-icon{flex-shrink:0;width:40px}.brand-icon img{width:40px;height:32px;image-rendering:pixelated}.brand-sub{font:400 10px/1.4 var(--display);letter-spacing:1px;color:var(--muted);margin-top:6px;display:block}header nav{font:500 16px/1.3 var(--display);align-items:center;gap:19px;display:flex}header nav a{border-bottom:2px solid #0000;padding:7px 0}header nav a:hover{border-color:var(--tone-4)}.personal-link{background:var(--tone-5);border:2px solid var(--border);box-shadow:3px 3px 0 var(--tone-6);font:500 13px/1.2 var(--display);white-space:nowrap;align-items:center;gap:12px;margin-left:auto;padding:8px 12px;display:flex}.personal-link:hover{background:var(--accent)}.pixel-banner{border:3px solid var(--border);box-shadow:5px 5px 0 var(--tone-3);background:var(--tone-7);margin:22px 0 0;overflow:hidden}.pixel-banner img{width:100%;height:auto;image-rendering:pixelated}.posts-page{max-width:1120px;margin:30px auto 0;padding:0}.library{background:var(--panel);border:3px solid var(--border);box-shadow:6px 6px 0 var(--tone-3);padding:25px}.section-title{background:var(--toolbar);border-bottom:3px solid var(--border);align-items:center;gap:18px;margin:-25px -25px 24px;padding:13px 23px;display:flex}.section-title h1{font:600 28px/1.2 var(--display);letter-spacing:0}.pixel-stars{font:22px/1 var(--display);color:var(--tone-8);letter-spacing:3px;white-space:nowrap;margin-left:auto}.section-title>p{font:13px/1.4 var(--display);color:var(--muted)}.library-tools{border-bottom:2px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-bottom:22px;display:flex}.filters{flex-wrap:wrap;gap:9px;display:flex}.filters button{font:400 15px/1.3 var(--display);border:2px solid var(--line);background:var(--tone-9);color:var(--ink);box-shadow:2px 2px 0 var(--tone-10);padding:8px 11px}.filters button.active{background:var(--active);border-color:var(--tone-11);box-shadow:2px 2px 0 var(--tone-12)}.filters button:hover:not(.active){background:var(--tone-13);border-color:var(--tone-14)}.search{width:205px;display:block;position:relative}.search>span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.search input{font:400 15px/1.4 var(--display);border:2px solid var(--border);background:var(--tone-15);width:100%;color:var(--ink);box-shadow:inset 2px 2px 0 var(--tone-16);border-radius:0;padding:9px 30px 9px 11px}.search input::placeholder{color:var(--tone-17)}.search svg{fill:none;width:15px;height:15px;stroke:var(--border);stroke-width:2px;pointer-events:none;position:absolute;top:13px;right:11px}.entries{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:25px;display:grid}.entry-card{background:var(--tone-18);border:2px solid var(--border);min-width:0;box-shadow:4px 4px 0 var(--tone-19);flex-direction:column;padding:0 16px 16px;transition:transform .12s steps(2,end),box-shadow .12s steps(2,end);display:flex}.entry-card:hover{box-shadow:6px 6px 0 var(--tone-20);color:var(--ink);transform:translate(-2px,-2px)}.entry-cover{aspect-ratio:16/10;background:var(--tone-21);border-bottom:2px solid var(--border);place-items:center;margin:0 -16px 17px;display:grid;overflow:hidden}.entry-cover img{object-fit:cover;width:100%;height:100%}.entry-cover>span{font:32px var(--display);color:var(--border)}.entry-meta{font:12px/1.5 var(--display);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;display:flex}.entry-type{background:var(--tone-22);color:var(--tone-23);border:1px solid var(--tone-24);padding:2px 6px}.entry-card h3{font:600 24px/1.15 var(--display);overflow-wrap:anywhere;margin:17px 0 12px}.entry-excerpt{color:var(--muted);margin-bottom:20px;font-size:16px;line-height:1.95}.entry-bottom{border-top:2px dashed var(--line);font:14px/1.4 var(--display);color:var(--muted);justify-content:space-between;align-items:center;gap:15px;margin-top:auto;padding-top:12px;display:flex}.entry-score{color:var(--tone-25)}.empty{text-align:center;border:2px dashed var(--line);background:var(--tone-26);color:var(--muted);grid-column:1/-1;padding:50px 20px}.empty-symbol{font:30px/1 var(--display);color:var(--tone-27);margin-bottom:15px}.empty h3{font:500 23px/1.3 var(--display)}.clear-search{font:15px var(--display);border:2px solid var(--border);background:var(--accent);color:var(--ink);box-shadow:3px 3px 0 var(--tone-28);margin-top:20px;padding:8px 14px}footer{border-top:2px dashed var(--tone-29);max-width:1120px;color:var(--muted);font:12px/1.5 var(--display);justify-content:space-between;align-items:center;gap:22px;margin:40px auto 0;padding:22px 0 30px;display:flex}.footer-brand{font:600 18px/1.2 var(--display);color:var(--ink)}.footer-brand span{font:400 10px/1.4 var(--display);color:var(--muted);margin-top:5px;display:block}.article-page{background:var(--panel);border:3px solid var(--border);max-width:1120px;box-shadow:6px 6px 0 var(--tone-3);margin:30px auto 0;padding:28px}.article-back{font:16px/1.4 var(--display);color:var(--tone-30);background:var(--tone-31);border:2px solid var(--tone-32);padding:6px 10px;display:inline-block}.article-heading{max-width:850px;margin:28px 0}.eyebrow{font:400 12px/1.5 var(--display);letter-spacing:1px;color:var(--tone-33)}.article-heading>.eyebrow{margin-bottom:16px}.article-heading h1{font:600 clamp(35px, 4.3vw, 54px)/1.1 var(--display);letter-spacing:0;overflow-wrap:anywhere}.article-deck{color:var(--muted);max-width:720px;margin-top:22px;font-size:18px;line-height:1.9}.article-meta{font:14px/1.7 var(--display);color:var(--muted);margin-top:23px}.article-archive-date{color:var(--tone-34);margin-top:9px;font-size:13px}.article-cover{aspect-ratio:16/9;object-fit:cover;border:3px solid var(--border);width:100%;height:auto;box-shadow:4px 4px 0 var(--tone-35);margin-bottom:35px}.article-layout{grid-template-columns:190px minmax(0,1fr);gap:32px;display:grid}.article-layout.without-toc{display:block}.article-contents{border:2px solid var(--border);box-shadow:3px 3px 0 var(--tone-19);background:var(--tone-36);align-self:start;padding:15px;position:sticky;top:25px}.article-contents>.eyebrow{border-bottom:2px solid var(--border);background:var(--toolbar);margin:-15px -15px 8px;padding:11px 13px;font-size:12px}.article-contents>a{font:14px/1.5 var(--display);border-bottom:1px dashed var(--tone-37);color:var(--tone-38);padding:10px 0;display:block}.article-contents>a:last-child{border:0}.article-contents>a:hover{color:var(--tone-1)}.article-content{min-width:0;max-width:820px}.article-note{color:var(--muted);background:var(--tone-39);border-left:4px solid var(--tone-40);margin-bottom:30px;padding:16px;font-size:15px;line-height:1.9}.article-content section{border-bottom:2px dashed var(--line);margin-bottom:35px;padding-bottom:30px;scroll-margin-top:25px}.article-content .section-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.article-content .section-heading .eyebrow{margin-bottom:12px;font-size:11px}.article-content h2{font:600 31px/1.15 var(--display);overflow-wrap:anywhere;margin-bottom:22px}.article-content .number{font:500 32px/1 var(--display);color:var(--tone-41)}.article-content .source{color:var(--muted);border-left:3px solid var(--tone-42);overflow-wrap:anywhere;margin-bottom:20px;padding-left:14px;font-size:14px;line-height:1.9}.article-content .source p+p{margin-top:10px}.article-content .source h3{font:500 20px/1.3 var(--display);margin-bottom:10px}.article-content a{color:var(--tone-43);text-underline-offset:3px;text-decoration:underline}.article-content a:hover{color:var(--tone-44)}.article-content ul{margin:0;padding-left:20px;list-style-type:square}.article-content li{color:var(--tone-45);border-bottom:1px solid var(--tone-46);padding:7px 0 7px 3px;font-size:17px;line-height:1.95}.article-content li::marker{color:var(--tone-47)}.article-content>p{color:var(--muted);margin:0;font-size:18px;line-height:1.75}.article-content>h2,.article-content>h3,.article-content>ul,.article-content>ol{margin:0}.article-content>:not(:first-child){margin-top:20px}.article-content>h2:not(:first-child),.article-content>h3:not(:first-child){margin-top:36px}.article-content>h2+:not(:first-child),.article-content>h3+:not(:first-child){margin-top:14px}.article-content .news-card{background:var(--tone-48);border:2px solid var(--tone-49);box-shadow:3px 3px 0 var(--tone-50);margin:20px 0;padding:20px}.article-content .news-meta{font:12px/1.4 var(--display);color:var(--muted);justify-content:space-between;gap:15px;margin-bottom:16px;display:flex}.article-content .news-badge{color:var(--tone-51)}.article-content .news-card h3{font:600 25px/1.2 var(--display);margin-bottom:14px}.article-content .news-card>p{color:var(--muted);font-size:17px;line-height:1.9}.article-content .news-card-links{font:13px/1.5 var(--display);flex-wrap:wrap;gap:20px;margin-top:20px;display:flex}.art-credit{color:var(--muted);margin-bottom:10px;font-size:13px}@media (width<=1180px){.site-top,.posts-page,.article-page,footer{margin-left:30px;margin-right:30px}header{gap:24px;padding:20px}.brand{font-size:24px}header nav{gap:16px;font-size:15px}.personal-link{padding:8px 9px;font-size:12px}.search{width:180px}.entries{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){header{flex-wrap:wrap;gap:20px}header nav{border-top:2px dashed var(--line);order:3;justify-content:space-between;width:100%;padding-top:15px}.personal-link{margin-left:auto}.article-layout{grid-template-columns:1fr}.article-contents{grid-template-columns:1fr 1fr;gap:0 20px;display:grid;position:static}.article-contents>.eyebrow{grid-column:1/-1;margin-bottom:7px}.article-contents>a{font-size:14px}.article-content{max-width:none}.article-cover{aspect-ratio:16/9}.library-tools{gap:18px}.search{width:100%}}@media (width<=600px){.site-top,.posts-page,.article-page,footer{margin-left:16px;margin-right:20px}header{gap:17px;margin-top:16px;padding:16px}.brand{gap:10px;font-size:22px}.brand-icon,.brand-icon img{width:32px;height:auto}.brand-sub{font-size:9px}.personal-link{gap:8px;padding:6px 8px;font-size:11px}header nav{flex-wrap:wrap;justify-content:flex-start;gap:10px;font-size:14px}header nav a{padding:4px 0}.pixel-banner{margin-top:18px}.pixel-banner img{object-fit:cover;width:180%;max-width:none;height:125px;transform:translate(-30%)}.posts-page{margin-top:23px}.library{padding:17px}.section-title{flex-wrap:wrap;gap:12px;margin:-17px -17px 20px;padding:12px 15px}.section-title h1{font-size:25px}.pixel-stars{letter-spacing:1px;font-size:17px}.section-title>p{font-size:11px}.filters{gap:8px}.filters button{padding:7px 9px;font-size:14px}.entries{grid-template-columns:1fr;gap:22px;padding-top:22px}.entry-card h3{font-size:27px}.entry-excerpt{font-size:16px}.entry-meta{font-size:13px}.empty{padding:40px 15px}.empty h3{font-size:21px}footer{flex-wrap:wrap;gap:17px;margin-top:30px;padding:20px 0 25px;font-size:11px}.footer-brand{font-size:17px}footer>a:last-child{margin-left:auto}.article-page{margin-top:24px;padding:18px}.article-heading{margin:25px 0}.article-heading h1{font-size:35px}.article-deck{margin-top:18px;font-size:18px}.article-meta{font-size:13px}.article-archive-date{font-size:13px;line-height:1.8}.article-cover{margin-bottom:28px}.article-layout{gap:25px}.article-contents{gap:0 15px;padding:12px}.article-contents>.eyebrow{margin:-12px -12px 5px;padding:10px}.article-content h2{font-size:28px}.article-content .number{font-size:27px}.article-content .section-heading{gap:10px}.article-content .section-heading .eyebrow{font-size:10px}.article-content li{font-size:17px;line-height:1.95}.article-content .source{font-size:14px}.article-content .news-card{padding:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media (width<=600px){header nav{gap:9px;font-size:12px}.article-content li{font-size:17px}.article-content .source{font-size:14px}}@media (width<=1180px){body>header{margin-left:30px;margin-right:30px}}@media (width<=600px){body>header{margin-left:16px;margin-right:20px}}:root[data-theme=dark]{color-scheme:dark;--bg:#18231e;--panel:#222e26;--ink:#e8eadc;--muted:#b0bba9;--line:#465443;--border:#849578;--toolbar:#344731;--accent:#826d3d;--active:#4d653e;--tone-0:#75887030;--tone-1:#e4c787;--tone-2:#b4c69b;--tone-3:#3d5140;--tone-4:#b4c69b;--tone-5:#293a30;--tone-6:#3d5140;--tone-7:#293a30;--tone-8:#b4c69b;--tone-9:#293a30;--tone-10:#293a30;--tone-11:#b4c69b;--tone-12:#3d5140;--tone-13:#3d5140;--tone-14:#b4c69b;--tone-15:#293a30;--tone-16:#293a30;--tone-17:#b4c69b;--tone-18:#293a30;--tone-19:#3d5140;--tone-20:#3d5140;--tone-21:#293a30;--tone-22:#293a30;--tone-23:#e4c787;--tone-24:#b4c69b;--tone-25:#e4c787;--tone-26:#293a30;--tone-27:#3d5140;--tone-28:#3d5140;--tone-29:#3d5140;--tone-30:#e4c787;--tone-31:#293a30;--tone-32:#3d5140;--tone-33:#b4c69b;--tone-34:#b4c69b;--tone-35:#3d5140;--tone-36:#293a30;--tone-37:#3d5140;--tone-38:#e4c787;--tone-39:#293a30;--tone-40:#3d5140;--tone-41:#3d5140;--tone-42:#3d5140;--tone-43:#e4c787;--tone-44:#e4c787;--tone-45:#e4c787;--tone-46:#293a30;--tone-47:#b4c69b;--tone-48:#293a30;--tone-49:#b4c69b;--tone-50:#3d5140;--tone-51:#b4c69b}.theme-switch{font:14px/1.3 var(--display);align-items:center;gap:8px;margin-left:auto;display:flex}.theme-switch select{border:2px solid var(--border);background:var(--panel);min-height:36px;color:var(--ink);font:inherit;cursor:pointer;border-radius:0;padding:5px 8px}.theme-switch select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}header{flex-wrap:wrap;gap:20px}.personal-link{margin-left:0}.pixel-banner .garden-night,:root[data-theme=dark] .garden-day{display:none}:root[data-theme=dark] .garden-night{display:block}@media (width<=600px){.theme-switch{margin-left:0}.theme-switch>span{display:none}}@media (any-pointer:fine){html,body{cursor:url(/assets/cursor-pixel.svg) 2 2,default}a,button,select,summary,.theme-switch select,[role=button],label[for]{cursor:url(/assets/cursor-pointer-pixel.svg) 14 2,pointer}input,textarea,[contenteditable=true]{cursor:text}button:disabled,select:disabled{cursor:not-allowed}}
