:root{--paper:#fcfcfa;--ink:#1a1d24;--body:#2a2e38;--soft:#333844;--graphite:#5a5f6b;--rule:#e4e4de;--wash:#f2f3ef;--field:#cfd0c8;--marker:#ffe36e;--accent:#4a2f8c;--accent-dark:#3a2470;--accent-tint:#f7f4fc;--pen:#c8372d;--ok:#17704f;--display:"Bricolage Grotesque", system-ui, sans-serif;--serif:"Newsreader", Georgia, serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--display);margin:0;font-size:16px;line-height:1.5}a{color:var(--ink);text-decoration:none}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}button{font:inherit;color:inherit}img{max-width:100%}.wrap{max-width:1180px;margin:0 auto;padding:0 28px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.hl{background-image:linear-gradient(100deg, transparent 0 2%, var(--marker) 3% 97%, transparent 98%);-webkit-box-decoration-break:clone;box-decoration-break:clone;background-position:0 85%;background-repeat:no-repeat;background-size:100% 62%;margin:0 -.06em;padding:0 .12em}.btn{border:1px solid var(--field);cursor:pointer;min-height:44px;color:var(--ink);white-space:nowrap;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink);color:var(--ink)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-dark);color:#fff}.btn.quiet{color:var(--graphite);background:0 0;border-color:#0000}.btn.quiet:hover{background:var(--wash);color:var(--ink)}.btn.danger{color:var(--pen)}.btn.block{width:100%;display:flex}.btn.small{min-height:36px;padding:0 12px;font-size:14px}.linkish{color:var(--graphite);cursor:pointer;background:0 0;border:0;min-height:36px;padding:0;font-size:14px;font-weight:600}.linkish:hover{color:var(--ink)}.site-header{border-bottom:1px solid var(--rule);background:var(--paper)}.hdr{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:16px;padding-bottom:16px;display:flex}.hdr-left{flex-wrap:wrap;align-items:baseline;gap:34px;display:flex}.brand{letter-spacing:-.03em;font-variation-settings:"opsz" 60;font-size:22px;font-weight:750}.brand span{font-weight:350}.brand:hover{color:var(--ink)}.main-nav{flex-wrap:wrap;gap:24px;font-size:15px;display:flex}.main-nav a{color:var(--graphite)}.main-nav a:hover,.main-nav a[aria-current=page]{color:var(--ink)}.hdr-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.user-link{padding:0 6px;font-size:15px;font-weight:600}.band{border-bottom:1px solid var(--rule);background:#9a9a96;position:relative;overflow:hidden}.band .photo{filter:brightness(.82);background:url(/hero.jpg) 50% 35%/cover no-repeat;position:absolute;inset:-10px;transform:scale(1.02)}.band:after{content:"";background:radial-gradient(120% 110% at 40% 45%,#0000 45%,#10101480 100%),linear-gradient(90deg,#fcfcfad6 0%,#fcfcfaa8 50%,#fcfcfa52 100%);position:absolute;inset:0}.band-inner{z-index:1;position:relative}.hero{padding:64px 0 56px}.hero h1{letter-spacing:-.04em;font-variation-settings:"opsz" 96;max-width:17ch;margin:0;font-size:clamp(40px,6.6vw,82px);font-weight:760;line-height:.98}.standfirst{font-family:var(--serif);color:var(--soft);max-width:52ch;margin:22px 0 0;font-size:22px;line-height:1.45}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.page-head{padding:52px 0 48px}.page-head .type{font-size:15px;display:block}.page-head h1{letter-spacing:-.04em;overflow-wrap:anywhere;max-width:22ch;margin:12px 0 0;font-size:clamp(32px,5.2vw,60px);font-weight:750;line-height:1.02}.page-head h1:first-child{margin-top:0}.byline{color:var(--graphite);flex-wrap:wrap;gap:6px 20px;margin-top:18px;font-size:15px;display:flex}.byline a{color:var(--ink);font-weight:650}.dek{font-family:var(--serif);color:var(--soft);max-width:56ch;margin:16px 0 0;font-size:20px}.dek i{color:var(--graphite)}.layout{flex-wrap:wrap;align-items:flex-start;gap:56px;padding:36px 0 72px;display:flex}.col-main{flex:999 560px;min-width:0}.col-side{flex-direction:column;flex:280px;gap:36px;min-width:0;display:flex}.narrow{max-width:680px;padding:40px 0 72px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-bottom:6px;display:flex}.tabs{gap:4px 22px;max-width:100%;padding:2px 2px 4px;display:flex;overflow-x:auto}.tab{letter-spacing:-.01em;min-height:44px;color:var(--graphite);background-image:linear-gradient(100deg, transparent 0 2%, var(--marker) 3% 97%, transparent 98%);background-position:0 72%;background-repeat:no-repeat;background-size:0% 38%;flex-shrink:0;align-items:center;padding:0 2px;font-size:16px;font-weight:620;transition:background-size .2s,color .15s;display:inline-flex}.tab:hover{color:var(--ink);background-size:100% 12%}.tab[aria-current=page]{color:var(--ink);background-size:100% 38%}.sort{gap:18px;font-size:14px;display:flex}.sort a{color:var(--graphite)}.sort a[aria-current=page]{color:var(--ink);font-weight:650}.item{border-top:1px solid var(--rule);gap:18px;padding:24px 0;display:flex}.vote{flex-direction:column;flex-shrink:0;align-items:center;gap:3px;width:48px;display:flex}.vote-btn{cursor:pointer;width:46px;height:44px;color:var(--graphite);background:#fff;border:1px solid #d6d7d0;border-radius:10px;justify-content:center;align-items:center;display:flex}.vote-btn:hover{border-color:var(--ink);color:var(--ink)}.vote-btn[aria-pressed=true]{background:var(--marker);color:var(--ink);border-color:#e9c93a}.vote-btn:disabled{cursor:default;opacity:.5}.vote-count{font-variant-numeric:tabular-nums;font-size:14px;font-weight:650}.item-body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.type{color:var(--graphite);font-size:14px;font-weight:650}.type.case{color:var(--accent)}.item-title{letter-spacing:-.02em;overflow-wrap:anywhere;max-width:40ch;font-size:21px;font-weight:680;line-height:1.25}.host{color:var(--graphite);letter-spacing:0;margin-left:6px;font-size:14px;font-weight:500}.desc{color:var(--graphite);font-size:15px}.figline{flex-wrap:wrap;align-items:baseline;gap:6px 22px;font-size:15px;display:flex}.figline span{color:var(--graphite)}.figline b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.why{font-family:var(--serif);color:var(--soft);max-width:60ch;margin:0;font-size:18px;line-height:1.55}.meta{color:var(--graphite);flex-wrap:wrap;gap:4px 18px;font-size:14px;display:flex}.meta a{color:var(--graphite)}.meta a:hover{color:var(--ink)}.feed-end{border-top:1px solid var(--rule);align-items:center;gap:10px;padding-top:24px;display:flex}.side h2{letter-spacing:-.015em;margin:0 0 10px;font-size:19px;font-weight:720}.side p{font-family:var(--serif);color:var(--soft);margin:0 0 14px;font-size:17px;line-height:1.5}.small{color:var(--graphite);font-size:14px}.boxed{background:var(--wash);border-radius:16px;padding:22px}.related a{border-top:1px solid var(--rule);padding:10px 0;font-weight:620;line-height:1.35;display:block}.rules{font-family:var(--serif);color:var(--soft);margin:0;padding-left:20px;font-size:16px;line-height:1.5}.rules li+li{margin-top:6px}.article{flex-direction:column;gap:40px;display:flex}.article h2,.comments h2{letter-spacing:-.025em;margin:0 0 12px;font-size:26px;font-weight:720}.sec p,.sec ul,.sec ol{font-family:var(--serif);color:var(--body);white-space:pre-line;overflow-wrap:anywhere;max-width:62ch;margin:0;font-size:20px;line-height:1.65}.sec ul,.sec ol{white-space:normal;padding-left:24px}.sec li+li{margin-top:8px}.sec a.src{font-family:var(--display);color:var(--accent);font-weight:650}.pen h2{color:var(--pen);margin-bottom:22px;display:inline-block;position:relative}.pen h2 svg{width:calc(100% + 8px);height:12px;position:absolute;bottom:-12px;left:-4px}.fig-note{color:var(--graphite);margin:0 0 18px;font-size:14px}.ctx{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px 24px;padding:18px 0;display:grid}.ctx div{flex-direction:column;display:flex}.ctx span:first-child{color:var(--graphite);font-size:14px}.ctx span:last-child{font-size:16px;font-weight:620}table.nums{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:6px}table.nums th,table.nums td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:baseline;padding:12px 0;font-size:16px}table.nums th{color:var(--graphite);width:46%;font-weight:500}table.nums td.v{text-align:right;font-size:18px;font-weight:650}table.nums td.f{color:var(--graphite);padding-left:16px;font-size:14px}table.nums tr.group th{color:var(--ink);border-bottom:0;padding-top:24px;font-size:15px;font-weight:700}table.nums tr.calc td.v{letter-spacing:-.02em;font-size:24px;font-weight:740}.steps{counter-reset:step;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.steps li{font-family:var(--serif);color:var(--body);grid-template-columns:72px 1fr;gap:12px;font-size:19px;line-height:1.5;display:grid}.steps li:before{counter-increment:step;content:"Step " counter(step);font-family:var(--display);color:var(--accent);padding-top:4px;font-size:14px;font-weight:700}.post-actions{border-top:1px solid var(--rule);flex-wrap:wrap;gap:10px;padding-top:22px;display:flex}.comments{flex-direction:column;gap:22px;padding-top:8px;display:flex}.cform{flex-direction:column;gap:8px;display:flex}textarea,.field input[type=text],.field input[type=url],.field input[type=email],.field input[type=number],select{border:1px solid var(--field);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:10px;font-size:16px}.field input[type=text],.field input[type=url],.field input[type=email],.field input[type=number],select{min-height:46px;padding:0 14px}textarea{min-height:96px;font-family:var(--serif);resize:vertical;padding:12px 14px;font-size:17px;line-height:1.5}.thread{flex-direction:column;display:flex}.cm{border-top:1px solid var(--rule);padding:18px 0}.cm .cm{box-shadow:inset 2px 0 0 var(--rule);border-top:0;margin-left:2px;padding:14px 0 0 20px}.cm-head{color:var(--graphite);flex-wrap:wrap;align-items:baseline;gap:4px 14px;font-size:14px;display:flex}.cm-head b{color:var(--ink);font-weight:650}.cm-head .op{color:var(--accent);font-weight:650}.cm-body{font-family:var(--serif);color:var(--body);white-space:pre-line;overflow-wrap:anywhere;max-width:62ch;margin:6px 0 8px;font-size:18px;line-height:1.55}.cm-body.gone{color:var(--graphite);font-style:italic}.cm-actions{flex-wrap:wrap;gap:4px 14px;display:flex}.cm-actions button[aria-pressed=true]{color:var(--accent)}.cm-reply{margin:8px 0 4px}.sform{flex-direction:column;gap:30px;display:flex}fieldset{border:0;min-width:0;margin:0;padding:0}fieldset.group{border-top:1px solid var(--rule);flex-direction:column;gap:16px;padding-top:26px;display:flex}legend{letter-spacing:-.02em;margin-bottom:12px;padding:0;font-size:24px;font-weight:720}fieldset.group>legend{float:left;width:100%;margin-bottom:4px}fieldset.group>legend+*{clear:both}.field{flex-direction:column;gap:6px;display:flex}.field label,.label{font-size:15px;font-weight:620}.hint{color:var(--graphite);margin:0;font-size:14px}.field.err input,.field.err textarea,.field.err select{border-color:var(--pen)}.field .err-msg{color:var(--pen);font-size:14px}.grid2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.grid3{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;display:grid}.kinds{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.kopt{cursor:pointer;background:#fff;border:1px solid #d6d7d0;border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px 14px 44px;display:flex;position:relative}.kopt input{width:18px;height:18px;accent-color:var(--accent);margin:0;position:absolute;top:17px;left:16px}.kopt b{font-size:16px;font-weight:680}.kopt span{color:var(--graphite);font-size:14px;line-height:1.4}.kopt:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--accent-tint)}.calc-box{background:var(--wash);border-radius:14px;flex-direction:column;gap:10px;padding:16px 18px;display:flex}.calc-title{font-size:14px;font-weight:650}.calcs{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.calcs div{flex-direction:column;display:flex}.calcs span{color:var(--graphite);font-size:13px}.calcs b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:720}.pen-field label{color:var(--pen)}.pen-field textarea{border-color:#e6b3ae}.check{cursor:pointer;align-items:center;gap:10px;min-height:40px;font-size:16px;display:flex}.check input{width:18px;height:18px;accent-color:var(--accent);margin:0}.send-row{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:14px;padding-top:26px;display:flex}.notice{background:var(--wash);border-radius:16px;padding:22px 24px}.notice h2{letter-spacing:-.02em;margin:0 0 8px;font-size:24px}.notice p{font-family:var(--serif);color:var(--soft);margin:0 0 16px;font-size:18px}.notice p:last-child{margin-bottom:0}.error-text{color:var(--pen);margin:0;font-size:15px}.ok-text{color:var(--ok);margin:0;font-size:15px}.empty{border-top:1px solid var(--rule);font-family:var(--serif);color:var(--graphite);padding:32px 0;font-size:18px}.loading{color:var(--graphite);padding:32px 0}.status{background:var(--wash);color:var(--graphite);border-radius:999px;padding:3px 9px;font-size:13px;font-weight:700}.status.pending{color:#6b4e00;background:#fff3c4}.status.approved{color:var(--ok);background:#ddf1e7}.status.rejected{color:#9a2a21;background:#f8dedb}.mod-card{border-top:1px solid var(--rule);flex-direction:column;gap:14px;padding:26px 0;display:flex}.mod-card h3{letter-spacing:-.02em;margin:0;font-size:22px}.mod-preview{border:1px solid var(--rule);background:#fff;border-radius:12px;max-height:420px;padding:18px 20px;overflow:auto}.mod-preview dl{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:15px;display:grid}.mod-preview dt{color:var(--graphite)}.mod-preview dd{white-space:pre-line;overflow-wrap:anywhere;font-family:var(--serif);margin:0;font-size:16px}.mod-actions{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.mod-actions .field{flex:260px}.subnav{gap:18px;margin-bottom:20px;font-size:15px;display:flex}.subnav button{cursor:pointer;min-height:40px;color:var(--graphite);background:0 0;border:0;padding:0;font-weight:620}.subnav button[aria-pressed=true]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink)}.site-footer .foot{color:var(--graphite);border-top:1px solid var(--rule);flex-wrap:wrap;gap:24px;padding-top:28px;padding-bottom:44px;font-size:14px;display:flex}.site-footer a{color:var(--graphite)}@media (prefers-reduced-motion:reduce){.tab{transition:none}}@media (width<=720px){.wrap{padding:0 18px}.main-nav{display:none}.hdr-left{gap:16px}.hero{padding:40px 0 36px}.page-head{padding:36px 0 32px}.standfirst,.item-title{font-size:19px}.vote{width:44px}.layout{gap:44px}.sec p,.sec ul,.sec ol{font-size:18px}table.nums td.f{display:none}.steps li{grid-template-columns:1fr;gap:2px}}
