@import url("https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;800;900&family=JetBrains+Mono:wght@500&display=swap");:root{--paper:#fbf9f8;--white:#fff;--ink:#000;--muted:#4c4546;--gray:#5e5e5e;--yellow:#f6e600;--low:#f5f3f3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Hanken Grotesk,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit;border-radius:0}a,button{-webkit-tap-highlight-color:transparent}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:4px solid var(--ink)}.header-inner{justify-content:space-between;width:100%;padding:16px 32px}.brand,.header-inner{display:flex;align-items:center}.brand{gap:16px;transition:opacity .15s}.brand:hover{opacity:.8}.brand-logo{display:block;width:auto;max-width:220px;height:42px;object-fit:contain}.brand-mark{display:grid;width:48px;height:48px;place-items:center;border:2px solid var(--ink);background:var(--white);font:900 13px/1 JetBrains Mono,monospace;letter-spacing:-.08em}.brand-name,.footer-brand strong{font-size:48px;line-height:44px;font-weight:900;letter-spacing:-.04em}.desktop-nav,.footer-right nav{display:flex;gap:24px}.archive-all,.archive-row small,.desktop-nav a,.footer-brand span,.footer-right nav a,.footer-right p,.news-badge,.online-chip,.published,.subscribe-form p{font:500 14px/20px JetBrains Mono,monospace;letter-spacing:.05em}.desktop-nav a{color:var(--muted);padding:4px 8px;text-transform:uppercase;border-bottom:2px solid transparent}.desktop-nav a:hover{color:var(--ink);background:var(--yellow);border-bottom-color:var(--ink)}.header-trailing{display:flex;align-items:center}.news-badge{display:inline-block;padding:4px 12px;color:var(--white);background:var(--ink);text-transform:uppercase}.mobile-menu{display:none;border:0;background:transparent;padding:0;margin-left:16px;cursor:pointer}.menu-icon{width:32px;height:32px}.page-shell{width:min(1440px,100%);margin:auto;padding:32px}.brutal-border{border:4px solid var(--ink)}.hero{position:relative;margin-bottom:24px;padding:32px;background-color:var(--paper);background-image:repeating-linear-gradient(45deg,var(--paper) 25%,transparent 25%,transparent 75%,var(--paper) 75%,var(--paper)),repeating-linear-gradient(45deg,var(--paper) 25%,var(--paper) 25%,var(--paper) 75%,var(--paper) 75%,var(--paper));background-position:0 0,10px 10px;background-size:20px 20px}.hero:before{content:"";position:absolute;inset:16px;border:2px solid var(--ink);pointer-events:none}.hero-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(32px,7vw,96px);background:var(--paper)}.hero-copy{flex:1 1;max-width:760px}.online-chip{display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;padding:4px 12px;background:var(--yellow);border:2px solid var(--ink);font-weight:900;text-transform:uppercase}.online-dot{width:12px;height:12px;background:var(--ink);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}h1{margin:0 0 24px;font-size:clamp(48px,7vw,84px);line-height:.95;font-weight:900;letter-spacing:-.04em;text-transform:uppercase}h1 span{display:inline-block;padding-bottom:8px;margin-top:8px;color:var(--gray);border-bottom:4px solid var(--ink)}.hero-description{max-width:640px;margin:0;padding:8px 16px;border-left:4px solid var(--ink);background:var(--low);color:var(--muted);font-size:20px;line-height:30px;font-weight:500}.subscribe-card{width:400px;flex:0 0 400px;padding:24px;background:var(--white)}.hard-shadow{box-shadow:4px 4px 0 var(--ink);transition:transform .1s,box-shadow .1s}.hard-shadow:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.subscribe-card h2{margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid var(--ink);font-size:32px;line-height:36px;font-weight:900;text-transform:uppercase}.subscribe-form{display:flex;flex-direction:column;gap:16px}.subscribe-form input{width:100%;padding:16px;border:2px solid var(--ink);outline:none;background:var(--paper);color:var(--ink);font:500 14px/20px JetBrains Mono,monospace}.subscribe-form input:focus{border-width:4px;padding:14px;background:var(--white)}.outline-button,.yellow-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid var(--ink);padding:16px;cursor:pointer;font:700 14px/20px JetBrains Mono,monospace;text-transform:uppercase}.yellow-button{width:100%;background:var(--yellow);color:var(--ink)}.yellow-button:hover{background:var(--ink);color:var(--yellow)}.yellow-button:disabled{cursor:wait;opacity:.65}.subscribe-form p{margin:8px 0 0;color:var(--gray);text-align:center;font-size:12px;text-transform:uppercase}.form-message{margin:16px 0 0;padding:8px;border:2px solid var(--ink);background:var(--yellow);font:500 12px/18px JetBrains Mono,monospace}.form-error{background:#ffdad6;color:#93000a}.icon{width:24px;height:24px;flex:0 0 auto}.content-grid{display:grid;grid-template-columns:7fr 5fr;grid-gap:24px;gap:24px}.archive,.latest-issue{display:flex;min-height:420px;flex-direction:column;background:var(--white)}.archive-header,.black-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:4px solid var(--ink)}.black-header{color:var(--white);background:var(--ink)}.archive-header h2,.black-header h2{margin:0;font-size:32px;line-height:36px;font-weight:900;letter-spacing:-.01em;text-transform:uppercase}.section-icon{width:40px;height:40px}.issue-content{display:flex;flex:1 1;flex-direction:column;justify-content:space-between;padding:32px}.issue-state{margin:auto 0;color:var(--gray);font:500 14px/20px JetBrains Mono,monospace;letter-spacing:.05em}.issue-state-error{color:#93000a}.archive-state{padding:24px}.published{margin:0 0 16px;padding-left:8px;border-left:2px solid var(--ink);color:var(--gray);text-transform:uppercase}.issue-content h3{margin:0 0 24px;font-size:48px;line-height:52px;font-weight:800;letter-spacing:-.02em}.issue-summary{position:relative;margin:0 0 32px;padding:16px;border:2px solid var(--ink);background:var(--low);color:var(--muted);font-size:20px;line-height:30px}.issue-summary span{position:absolute;top:-14px;left:-14px;padding:2px 8px;border:2px solid var(--ink);background:var(--yellow);color:var(--ink);font:700 10px/16px JetBrains Mono,monospace}.outline-button{align-self:flex-start;background:var(--paper);color:var(--ink)}.outline-button:hover{background:var(--yellow)}.archive{background:var(--paper)}.archive-header{border-bottom-width:4px}.archive-list{display:flex;flex:1 1;flex-direction:column}.archive-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;border-bottom:4px solid var(--ink);background:var(--white)}.archive-row:hover{background:var(--yellow)}.archive-row small,.archive-row strong{display:block}.archive-row small{margin-bottom:4px;color:var(--gray);font-size:12px;text-transform:uppercase}.archive-row strong{font-size:24px;line-height:30px;font-weight:900}.archive-row:hover strong{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}.row-arrow{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border:2px solid var(--ink);background:var(--paper)}.archive-row:hover .row-arrow{color:var(--white);background:var(--ink)}.archive-all{display:flex;flex:1 1;align-items:center;justify-content:center;padding:16px;text-align:center;font-weight:700;text-transform:uppercase}.archive-all:hover{color:var(--white);background:var(--ink)}.site-footer{margin-top:auto;border-top:4px solid var(--ink)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1440px,100%);margin:auto;padding:32px}.footer-brand{display:flex;flex-direction:column;gap:8px}.footer-brand span{width:max-content;padding:4px 8px;border:2px solid var(--ink);background:var(--yellow);font-weight:700}.footer-right{display:flex;align-items:center;gap:32px}.footer-right nav a{color:var(--muted)}.footer-right nav a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.footer-right p{margin:0;padding-left:16px;border-left:2px solid var(--ink);color:var(--gray);font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.confirm-page{display:flex;min-height:100vh;flex-direction:column;background:var(--paper)}.confirm-header{justify-content:space-between;padding:16px 32px;border-bottom:4px solid var(--ink)}.confirm-frame,.confirm-header{display:flex;align-items:center}.confirm-frame{width:min(680px,calc(100% - 32px));min-height:420px;margin:auto;flex-direction:column;justify-content:center;padding:48px;background:var(--white);text-align:center}.confirm-status{display:grid;width:64px;height:64px;place-items:center;margin-bottom:24px;border:4px solid var(--ink);background:var(--yellow)}.confirm-status-error{background:var(--paper)}.confirm-icon{width:36px;height:36px}.confirm-loader{width:24px;height:24px;border:4px solid var(--ink);border-right:4px solid transparent;animation:confirm-spin .8s linear infinite}@keyframes confirm-spin{to{transform:rotate(1turn)}}.confirm-label{margin:0 0 12px;color:var(--gray);font:500 14px/20px JetBrains Mono,monospace;letter-spacing:.05em}.confirm-frame h1{margin-bottom:24px;font-size:clamp(48px,8vw,84px)}.confirm-message{max-width:42ch;margin:0 0 32px;color:var(--muted);font-size:20px;line-height:30px}.confirm-frame .yellow-button{width:auto;min-width:240px}.confirm-footer{padding:24px 32px;border-top:4px solid var(--ink);color:var(--gray);text-align:center;font:500 12px/18px JetBrains Mono,monospace;letter-spacing:.05em}.reader-page{min-height:100vh;background:var(--paper)}.reader-header{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;border-bottom:4px solid var(--ink)}.reader-back{padding:8px 12px;border:2px solid var(--ink);background:var(--yellow);font:700 12px/18px JetBrains Mono,monospace;letter-spacing:.05em}.reader-back:hover{color:var(--yellow);background:var(--ink)}.reader-article{width:min(900px,calc(100% - 32px));margin:48px auto;padding:clamp(24px,6vw,72px);background:var(--white)}.reader-kicker{margin-bottom:24px;color:var(--gray);font:500 13px/20px JetBrains Mono,monospace;letter-spacing:.05em}.reader-article h1{max-width:16ch;margin:0 0 32px;font-size:clamp(48px,8vw,84px);line-height:.95}.reader-rule{height:4px;margin-bottom:32px;background:var(--ink)}.reader-body{max-width:70ch;color:var(--muted);font-size:19px;line-height:1.7}.reader-body h1,.reader-body h2,.reader-body h3{color:var(--ink);line-height:1.1}.reader-body a{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.reader-body img{max-width:100%;height:auto}.info-page{min-height:100vh;background:var(--paper)}.info-header{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;border-bottom:4px solid var(--ink)}.info-hero{width:min(1200px,calc(100% - 64px));margin:32px auto 24px;padding:clamp(32px,8vw,96px);background:var(--white)}.info-kicker{margin:0 0 24px;color:var(--gray);font:500 14px/20px JetBrains Mono,monospace;letter-spacing:.05em}.info-hero h1{margin-bottom:28px}.info-hero h1 span{color:var(--gray)}.info-lede{max-width:660px;margin:0;padding:12px 16px;border-left:4px solid var(--ink);background:var(--low);color:var(--muted);font-size:20px;line-height:30px}.info-grid{display:grid;width:min(1200px,calc(100% - 64px));margin:0 auto 24px;grid-template-columns:3fr 2fr;grid-gap:24px;gap:24px}.feed-panel,.info-block{background:var(--white)}.yellow-block{background:var(--yellow)}.info-block-body{padding:32px;color:var(--muted);font-size:19px;line-height:30px}.info-block-body p{margin:0 0 20px}.info-block-body p:last-child{margin-bottom:0}.rule-quote{color:var(--ink);font-size:42px;line-height:42px;font-weight:900;letter-spacing:-.04em}.info-footer{display:flex;align-items:center;justify-content:space-between;margin-top:48px;padding:24px 32px;border-top:4px solid var(--ink);font:500 12px/18px JetBrains Mono,monospace;letter-spacing:.05em}.info-footer>a{font-size:24px;font-weight:900;letter-spacing:-.04em}.info-footer a:hover{text-decoration:underline;text-underline-offset:4px}.feed-panel{width:min(1200px,calc(100% - 64px));margin:0 auto}.feed-mark{padding:4px 8px;border:2px solid var(--white);color:var(--yellow);font:700 12px/16px JetBrains Mono,monospace}.feed-list{display:flex;flex-direction:column}.feed-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 32px;border-bottom:4px solid var(--ink);background:var(--white)}.feed-row:hover{background:var(--yellow)}.feed-row small,.feed-row strong{display:block}.feed-row small{margin-bottom:4px;color:var(--gray);font:500 12px/18px JetBrains Mono,monospace;letter-spacing:.05em}.feed-row strong{font-size:24px;line-height:30px;font-weight:900}.feed-row>span:last-child{font-size:28px}@media (max-width:900px){.hero-inner{flex-direction:column;align-items:stretch}.subscribe-card{width:100%;flex-basis:auto}.content-grid{grid-template-columns:1fr}.footer-inner,.footer-right{align-items:flex-start;flex-direction:column}.footer-right{gap:24px}}@media (max-width:640px){.confirm-header,.footer-inner,.header-inner,.info-header,.reader-header{padding:16px}.brand-logo{height:48px;max-width:180px}.brand-name,.desktop-nav,.news-badge{display:none}.mobile-menu{display:block}.hero,.page-shell{padding:16px}.hero:before{inset:8px}.hero-inner{padding:32px 24px}h1{font-size:48px;line-height:44px}.hero-description{font-size:18px;line-height:28px}.issue-content{padding:24px}.issue-content h3{font-size:40px;line-height:44px}.archive-header h2,.black-header h2{font-size:28px;line-height:32px}.footer-right nav{flex-wrap:wrap;gap:16px}.confirm-frame{min-height:360px;padding:32px 24px}.confirm-frame h1{font-size:48px;line-height:44px}.confirm-footer{padding:16px}.reader-header{gap:16px}.reader-back{font-size:10px}.reader-article{margin:16px auto;padding:24px}.info-header{gap:16px}.feed-panel,.info-hero{width:calc(100% - 32px);margin-top:16px}.info-hero{padding:32px 24px}.info-grid{width:calc(100% - 32px);grid-template-columns:1fr}.info-block-body{padding:24px}.rule-quote{font-size:36px;line-height:38px}.feed-row{padding:20px 24px}.feed-row strong{font-size:20px;line-height:26px}.info-footer{align-items:flex-start;flex-direction:column;gap:12px;padding:24px 16px}}