:root{--paper:#f4f4f0;--paper-2:#eae8e3;--ink:#111;--ink-2:#3a3a3a;--ink-3:#777570;--rule:#111;--rule-soft:#c9c7c0;--red:#e61919;--white:#fff;--font-display:"Archivo Black", "Inter", system-ui, sans-serif;--font-sans:"Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--bw:2px;--gutter:16px;--header-h:64px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.4;position:relative}body:after{content:"";pointer-events:none;z-index:9999;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:fixed;inset:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4,p{margin:0}img{max-width:100%;display:block}::selection{background:var(--red);color:var(--paper)}.display{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.04em;line-height:.9}.display-xl{font-size:clamp(2.6rem,7vw,6.5rem)}.display-lg{font-size:clamp(1.8rem,4vw,3.4rem)}.display-md{font-size:clamp(1.25rem,2.4vw,1.9rem)}.mono{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.mono-sm{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.muted{color:var(--ink-3)}.red{color:var(--red)}.num{font-variant-numeric:tabular-nums}.shell{grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid}.topbar{border-bottom:var(--bw) solid var(--rule);background:var(--paper);z-index:50;min-height:var(--header-h);grid-template-columns:auto 1fr auto;align-items:stretch;display:grid;position:sticky;top:0}.brand{padding:0 var(--gutter);border-right:var(--bw) solid var(--rule);flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;text-decoration:none;display:flex}.brand-logo{width:auto;height:24px;display:block}.brand-sub{font-family:var(--font-mono);letter-spacing:.14em;color:var(--ink-3);font-size:9px;display:block}.login-logo{width:auto;height:40px;display:block}.nav{align-items:stretch;display:flex;overflow-x:auto}.nav a{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-right:1px solid var(--rule-soft);white-space:nowrap;align-items:center;gap:8px;padding:0 18px;font-size:11px;text-decoration:none;display:flex}.nav a .idx{color:var(--ink-3)}.nav a.active{background:var(--ink);color:var(--paper)}.nav a.active .idx{color:var(--red)}.nav a:hover:not(.active){background:var(--paper-2)}.userbox{padding:0 var(--gutter);border-left:var(--bw) solid var(--rule);align-items:center;gap:14px;display:flex}.userbox .who{text-align:right;line-height:1.15}.userbox .who b{font-size:13px;font-weight:800;display:block}.main{padding:0 0 48px}.container{padding:0 var(--gutter);width:100%;max-width:1440px;margin:0 auto}.footer{border-top:var(--bw) solid var(--rule);padding:10px var(--gutter);flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.stripe{background:repeating-linear-gradient(135deg, var(--ink) 0 12px, transparent 12px 24px);height:10px}.page-head{border-bottom:var(--bw) solid var(--rule);grid-template-columns:1fr auto;align-items:end;gap:16px;margin-bottom:0;padding:28px 0 18px;display:grid}.page-head .kicker{color:var(--ink-3);gap:14px;margin-bottom:10px;display:flex}.page-head .actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (width<=720px){.page-head{grid-template-columns:1fr;align-items:start}.page-head .actions{justify-content:flex-start}}.grid{background:var(--rule);border:var(--bw) solid var(--rule);gap:1px;display:grid}.grid>*{background:var(--paper);min-width:0}.cell{padding:16px}.cell-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}@media (width<=1000px){.cols-6{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.cols-3,.cols-2,.cols-4{grid-template-columns:1fr}.cols-6{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat .label{color:var(--ink-3);margin-bottom:8px}.stat .value{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(2rem,4vw,3.2rem);line-height:.9}.stat .foot{color:var(--ink-3);margin-top:8px}.btn{appearance:none;cursor:pointer;border:var(--bw) solid var(--ink);background:var(--paper);height:36px;color:var(--ink);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:11px;font-weight:700;text-decoration:none;transition:background 80ms linear,color 80ms linear;display:inline-flex}.btn:hover{background:var(--ink);color:var(--paper)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--red);border-color:var(--red)}.btn-danger{border-color:var(--red);color:var(--red)}.btn-danger:hover{background:var(--red);color:var(--paper)}.btn-ghost{border-color:#0000}.btn-ghost:hover{border-color:var(--ink);color:var(--ink);background:0 0}.btn-sm{height:28px;padding:0 10px;font-size:10px}.btn-block{width:100%}.field{gap:6px;display:grid}.field label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-size:10px}.field label .req{color:var(--red)}.input,.select,.textarea{border:var(--bw) solid var(--ink);background:var(--white);width:100%;height:38px;font-family:var(--font-sans);border-radius:0;outline:none;padding:0 10px;font-size:14px}.textarea{resize:vertical;height:auto;min-height:88px;padding:8px 10px;line-height:1.4}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);background-position:calc(100% - 16px) 15px,calc(100% - 11px) 15px;background-repeat:no-repeat;background-size:5px 5px;padding-right:28px}.input:focus,.select:focus,.textarea:focus{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}.input.mono-input{font-family:var(--font-mono);font-size:13px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid .span-2{grid-column:span 2}@media (width<=640px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}}.form-actions{border-top:1px solid var(--rule);justify-content:flex-end;gap:8px;margin-top:16px;padding-top:16px;display:flex}.error-box{border:var(--bw) solid var(--red);color:var(--red);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:10px 12px;font-size:11px}.checkbox{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.checkbox input{width:16px;height:16px;accent-color:var(--ink)}.toolbar{background:var(--rule);border:var(--bw) solid var(--rule);border-top:0;flex-wrap:wrap;gap:1px;display:flex}.toolbar>*{background:var(--paper);align-items:center;gap:8px;padding:10px 12px;display:flex}.toolbar .input,.toolbar .select{border-width:1px;height:32px;font-size:13px}.toolbar .grow{flex:220px}.table-wrap{border:var(--bw) solid var(--rule);border-top:0;overflow-x:auto}table.table{border-collapse:collapse;width:100%}.table th{text-align:left;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border-bottom:var(--bw) solid var(--rule);background:var(--paper-2);white-space:nowrap;padding:10px 12px;font-size:10px;font-weight:700}.table td{border-bottom:1px solid var(--rule-soft);vertical-align:top;padding:10px 12px}.table tr:last-child td{border-bottom:0}.table tr.row-link{cursor:pointer}.table tr.row-link:hover td{background:var(--white)}.table td .primary{font-weight:700}.table .clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:420px;display:-webkit-box;overflow:hidden}.badge{border:1px solid var(--ink);height:20px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:6px;padding:0 7px;font-size:9.5px;font-weight:700;line-height:1;display:inline-flex}.badge:before{content:"";background:currentColor;width:6px;height:6px}.badge.fill{background:var(--ink);color:var(--paper)}.badge.red{border-color:var(--red);color:var(--red)}.badge.red.fill{background:var(--red);color:var(--paper)}.badge.soft{border-color:var(--rule-soft);color:var(--ink-3)}.badge.plain:before{display:none}.detail{border:var(--bw) solid var(--rule);border-top:0;grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);gap:0;display:grid}.detail>*{min-width:0}.detail>*+*{border-left:var(--bw) solid var(--rule)}@media (width<=900px){.detail{grid-template-columns:1fr}.detail>*+*{border-left:0;border-top:var(--bw) solid var(--rule)}}.dl{grid-template-columns:140px 1fr;margin:0;display:grid}.dl>dt,.dl>dd{border-bottom:1px solid var(--rule-soft);margin:0;padding:10px 14px}.dl>dt{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);background:var(--paper-2);font-size:10px}.dl>dd{white-space:pre-wrap;word-break:break-word}.section-title{border-bottom:var(--bw) solid var(--rule);background:var(--paper-2);justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.thread{flex-direction:column;display:flex}.comment{border-bottom:1px solid var(--rule-soft);gap:6px;padding:12px 14px;display:grid}.comment-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.comment-head b{font-size:13px}.comment-body{white-space:pre-wrap;line-height:1.45}.comment.suggestion{border-left:4px solid var(--red)}.comment-form{gap:10px;padding:14px;display:grid}.kind-toggle{border:var(--bw) solid var(--ink);display:inline-flex}.kind-toggle button{background:var(--paper);cursor:pointer;height:28px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:0;padding:0 12px;font-size:10px;font-weight:700}.kind-toggle button+button{border-left:var(--bw) solid var(--ink)}.kind-toggle button.on{background:var(--ink);color:var(--paper)}.kind-toggle button.on.sugg{background:var(--red)}.modal-backdrop{z-index:100;background:#1111118c;place-items:start center;padding:40px 16px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--paper);border:var(--bw) solid var(--ink);width:100%;max-width:760px;box-shadow:10px 10px 0 var(--ink)}.modal-head{border-bottom:var(--bw) solid var(--ink);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.modal-body{padding:16px}.modal-close{cursor:pointer;font-family:var(--font-mono);background:0 0;border:0;padding:4px 8px;font-size:14px}.modal-close:hover{color:var(--red)}.cal-nav{background:var(--rule);border:var(--bw) solid var(--rule);border-top:0;flex-wrap:wrap;align-items:center;gap:1px;display:flex}.cal-nav>*{background:var(--paper);align-items:center;display:flex}.cal-nav .month{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.02em;height:44px;padding:0 16px;font-size:clamp(1.1rem,2.4vw,1.6rem)}.cal-nav .nav-btn{cursor:pointer;background:var(--paper);width:44px;height:44px;font-family:var(--font-mono);border:0;justify-content:center;font-size:14px}.cal-nav .nav-btn:hover{background:var(--ink);color:var(--paper)}.cal-nav .spacer{flex:1;min-width:8px}.cal-nav .legend{flex-wrap:wrap;gap:10px;height:auto;min-height:44px;padding:0 12px}.calendar{background:var(--rule);border:var(--bw) solid var(--rule);border-top:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid}.calendar .dow{background:var(--paper-2);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;padding:6px 8px;font-size:10px;font-weight:700}.day{background:var(--paper);cursor:pointer;flex-direction:column;gap:4px;min-height:120px;padding:6px;display:flex;position:relative}.day:hover{background:var(--white)}.day.other{background:var(--paper-2);color:var(--ink-3)}.day.today .daynum{background:var(--red);color:var(--paper)}.daynum{font-family:var(--font-mono);align-self:flex-start;padding:1px 4px;font-size:11px;font-weight:700}.day .dow-inline{display:none}.chip{text-align:left;border:1px solid var(--ink);background:var(--paper);cursor:pointer;width:100%;font-size:11px;line-height:1.25;font-family:var(--font-sans);text-overflow:ellipsis;white-space:nowrap;padding:3px 5px;font-weight:600;display:block;overflow:hidden}.chip:hover{background:var(--ink);color:var(--paper)}.chip .tag{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-3);margin-right:4px;font-size:9px}.chip:hover .tag{color:var(--paper)}.chip.st-PUBLISHED{background:var(--ink);color:var(--paper)}.chip.st-PUBLISHED .tag{color:var(--paper)}.chip.st-APPROVED,.chip.st-SCHEDULED{border-width:2px}.chip.st-IN_REVIEW{border-color:var(--red);color:var(--red)}.chip.st-IN_REVIEW .tag{color:var(--red)}.chip.st-IDEA{color:var(--ink-2);border-style:dashed}.chip.st-CANCELLED{color:var(--ink-3);border-color:var(--rule-soft);text-decoration:line-through}.chip.more{color:var(--ink-3);font-family:var(--font-mono);border:0;font-size:10px}@media (width<=760px){.calendar{grid-template-columns:1fr}.calendar .dow{display:none}.day{min-height:0}.day.other.empty{display:none}.day .dow-inline{color:var(--ink-3);margin-left:6px;font-weight:400;display:inline}}.login{grid-template-columns:minmax(0,1.2fr) minmax(320px,480px);min-height:100dvh;display:grid}.login-hero{border-right:var(--bw) solid var(--ink);padding:24px var(--gutter);grid-template-rows:auto 1fr auto;gap:24px;display:grid;position:relative;overflow:hidden}.login-form{align-content:center;gap:22px;padding:48px 32px;display:grid}.login-meta{grid-template-columns:repeat(3,auto);justify-content:start;gap:24px;display:grid}@media (width<=860px){.login{grid-template-columns:1fr}.login-hero{border-right:0;border-bottom:var(--bw) solid var(--ink);min-height:40dvh}.login-form{padding:32px var(--gutter)}}.empty{text-align:center;color:var(--ink-3);padding:40px 16px}.empty .display{color:var(--ink);margin-bottom:8px}.loading{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:32px 16px;font-size:11px}.loading:after{content:"_";animation:.9s step-end infinite blink}@keyframes blink{50%{opacity:0}}.list{flex-direction:column;display:flex}.list-row{border-bottom:1px solid var(--rule-soft);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;display:grid}.list-row:hover{background:var(--white)}.list-row:last-child{border-bottom:0}.list-row .date{font-family:var(--font-mono);color:var(--ink-3);min-width:78px;font-size:11px}.list-row .title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.pager{border:var(--bw) solid var(--rule);border-top:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.inline-actions{flex-wrap:wrap;gap:6px;display:flex}.hr-red{background:var(--red);height:6px}.toast-stack{z-index:200;gap:8px;display:grid;position:fixed;bottom:16px;right:16px}.toast{border:var(--bw) solid var(--ink);background:var(--paper);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;box-shadow:6px 6px 0 var(--ink);max-width:360px;padding:10px 14px;font-size:11px}.toast.err{border-color:var(--red);color:var(--red);box-shadow:6px 6px 0 var(--red)}.password-wrap{position:relative}.password-wrap .input{padding-right:64px}.password-toggle{top:var(--bw);right:var(--bw);bottom:var(--bw);border:0;border-left:var(--bw) solid var(--ink);background:var(--paper-2);cursor:pointer;font-family:var(--font-mono);letter-spacing:.1em;padding:0 10px;font-size:10px;font-weight:700;position:absolute}.password-toggle:hover{background:var(--ink);color:var(--paper)}.password-wrap .input:focus+.password-toggle{border-left-color:var(--red)}.board{background:var(--rule);border:var(--bw) solid var(--rule);border-top:0;gap:1px;display:grid}.post{background:var(--paper);grid-template-columns:72px 1fr;min-width:0;display:grid}.post.pinned{background:var(--white)}.vote{border:0;border-right:1px solid var(--rule-soft);background:var(--paper-2);cursor:pointer;font-family:var(--font-mono);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:12px 0;font-weight:700;display:flex}.vote .arrow{font-size:14px;line-height:1}.vote .count{font-size:18px;line-height:1}.vote:hover{background:var(--ink);color:var(--paper)}.vote.on{background:var(--red);color:var(--paper);border-right-color:var(--red)}.vote:disabled{cursor:default}.vote:disabled:hover{background:var(--paper-2);color:var(--ink)}.post-main{min-width:0;color:inherit;gap:6px;padding:12px 14px;text-decoration:none;display:grid}.post-main:hover .post-title{text-decoration:underline;text-decoration-thickness:2px}.post-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.post-title{letter-spacing:-.01em;font-size:15px;font-weight:800}.post-body{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.post-foot{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.pin{font-family:var(--font-mono);letter-spacing:.1em;background:var(--ink);color:var(--paper);padding:2px 5px;font-size:9px}.post-article{white-space:pre-wrap;padding:18px 16px;font-size:15px;line-height:1.6}
