:root{--paper: #f4f0e6;--paper-2: #ece6d6;--card: #faf7ef;--ink: #1c1a17;--ink-soft: #4a463e;--ink-faint: #6f6a5e;--rule: #d8d0bd;--rule-strong: #b9ae93;--burgundy: #7a1f2b;--burgundy-dk: #5e1721;--gold: #9a7b2e;--link: #3a4a6b;--up: #7a1f2b;--down: #3a4a6b;--good: #2f5d3a;--shadow: 0 1px 0 rgba(28,26,23,.04), 0 2px 8px rgba(28,26,23,.06);--serif-display: "Fraunces", Georgia, serif;--serif-body: "Newsreader", Georgia, serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--maxw: 1180px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--serif-body);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.5;background-image:radial-gradient(rgba(120,110,80,.05) 1px,transparent 1px);background-size:4px 4px}#root{position:relative;z-index:1}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--serif-display);font-weight:600;line-height:1.15}input,textarea,select,button{font-family:var(--serif-body);font-size:1rem}button{cursor:pointer}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}.masthead{border-bottom:2px solid var(--ink);background:var(--paper);position:sticky;top:0;z-index:20}.masthead-inner{max-width:var(--maxw);margin:0 auto;padding:10px 20px;display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}.brand{font-family:var(--serif-display);font-weight:700;font-size:1.55rem;letter-spacing:-.02em;color:var(--ink);display:flex;align-items:baseline;gap:8px}.brand .up{color:var(--burgundy)}.brand:hover{text-decoration:none}.brand small{font-family:var(--mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--rule-strong);padding:2px 5px;border-radius:2px}.nav{display:flex;gap:16px;align-items:baseline;margin-left:auto;flex-wrap:wrap}.nav a,.nav button.linklike{font-family:var(--mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);background:none;border:none;padding:0}.nav a:hover,.nav button.linklike:hover{color:var(--burgundy);text-decoration:none}.nav .badge{background:var(--burgundy);color:var(--paper);border-radius:10px;padding:0 6px;font-size:.65rem;margin-left:4px}.page{padding:26px 0 80px}.layout-3{display:grid;grid-template-columns:220px minmax(0,1fr) 240px;gap:28px;align-items:start}.layout-2{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:28px;align-items:start}@media (max-width: 900px){.layout-3,.layout-2{grid-template-columns:1fr}.side-left{order:2}.side-right{order:3}}.panel{background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:16px;margin-bottom:20px;box-shadow:var(--shadow)}.panel h3{font-size:.72rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--burgundy);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--rule)}.panel .meta-row{margin-bottom:9px;font-size:.92rem}.panel .meta-row .k{display:block;font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint)}.panel .meta-row .v{color:var(--ink);word-break:break-word}.feed-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:6px;margin-bottom:4px}.feed-head h1{font-size:1.4rem;margin:0}.sortbar{display:flex;gap:12px}.sortbar button{background:none;border:none;font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);padding:2px 0}.sortbar button.active{color:var(--burgundy);border-bottom:2px solid var(--burgundy)}.doc-row{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--rule)}.doc-rank{font-family:var(--serif-display);font-size:1.1rem;color:var(--ink-faint);text-align:right;padding-top:2px}.doc-title{font-family:var(--serif-display);font-size:1.12rem;font-weight:600}.doc-title a{color:var(--ink)}.doc-title a:hover{color:var(--burgundy)}.doc-host{font-family:var(--mono);font-size:.72rem;color:var(--ink-faint);margin-left:7px}.doc-summary{color:var(--ink-soft);font-size:.96rem;margin:5px 0 6px}.doc-meta{font-family:var(--mono);font-size:.72rem;color:var(--ink-faint);display:flex;gap:14px;flex-wrap:wrap;align-items:center}.doc-meta a{color:var(--ink-faint)}.doc-meta .tag{background:var(--paper-2);border:1px solid var(--rule);padding:1px 7px;border-radius:2px;color:var(--burgundy)}.kw{color:var(--ink-faint)}.votes{display:flex;flex-direction:column;align-items:center;gap:1px;padding-top:2px}.votes button{background:none;border:none;padding:0;line-height:.8;font-size:1.05rem;color:var(--rule-strong)}.votes button:hover{color:var(--ink)}.votes button.up.on{color:var(--up)}.votes button.down.on{color:var(--down)}.votes .score{font-family:var(--mono);font-size:.82rem;color:var(--ink)}.form-card{background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:26px;box-shadow:var(--shadow)}.field{margin-bottom:16px}.field label{display:block;font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:5px}.field input,.field textarea,.field select{width:100%;padding:9px 11px;background:var(--paper);border:1px solid var(--rule-strong);border-radius:2px;color:var(--ink)}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--burgundy)}.field textarea{min-height:120px;resize:vertical;font-family:var(--serif-body)}.field .hint{font-size:.82rem;color:var(--ink-faint);margin-top:4px}.btn{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;background:var(--burgundy);color:var(--paper);border:1px solid var(--burgundy-dk);border-radius:2px;padding:9px 18px}.btn:hover{background:var(--burgundy-dk)}.btn.secondary{background:var(--paper);color:var(--ink);border-color:var(--rule-strong)}.btn.secondary:hover{background:var(--paper-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.error-box{background:#f5e3e0;border:1px solid var(--burgundy);color:var(--burgundy-dk);padding:10px 14px;border-radius:2px;font-size:.9rem;margin-bottom:16px}.comment{border-left:2px solid var(--rule);padding:8px 0 0 14px;margin-top:12px}.comment.automod{border-left-color:var(--gold);background:#9a7b2e0f;padding:8px 14px;border-radius:2px}.comment-head{font-family:var(--mono);font-size:.72rem;color:var(--ink-faint);display:flex;gap:10px;align-items:center}.comment-head .author{color:var(--burgundy)}.comment-head .author.bot{color:var(--gold)}.comment-body{font-size:.96rem;margin:4px 0 6px;white-space:pre-wrap}.comment-actions{font-family:var(--mono);font-size:.7rem;display:flex;gap:12px}.comment-actions button{background:none;border:none;color:var(--ink-faint);padding:0;text-transform:uppercase;letter-spacing:.05em}.comment-actions button:hover{color:var(--burgundy)}.collapsed-link{font-family:var(--mono);font-size:.74rem;color:var(--link);background:none;border:none;padding:4px 0}.muted{color:var(--ink-faint)}.center{text-align:center}.pagination{display:flex;gap:8px;justify-content:center;align-items:center;margin:26px 0;font-family:var(--mono);font-size:.8rem}.pagination button{background:var(--paper);border:1px solid var(--rule-strong);border-radius:2px;padding:6px 12px}.pagination button:disabled{opacity:.4}.spinner{text-align:center;padding:50px;font-family:var(--mono);color:var(--ink-faint);letter-spacing:.1em;text-transform:uppercase;font-size:.8rem}.tabs{display:flex;gap:4px;border-bottom:2px solid var(--ink);margin-bottom:18px}.tabs button{background:none;border:none;font-family:var(--mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;padding:8px 14px;color:var(--ink-faint)}.tabs button.active{color:var(--burgundy);border-bottom:2px solid var(--burgundy);margin-bottom:-2px}.searchbar{display:flex;gap:8px;margin-bottom:22px}.searchbar input{flex:1;padding:11px 14px;background:var(--card);border:1px solid var(--rule-strong);border-radius:2px;font-size:1.05rem}.searchbar input:focus{outline:none;border-color:var(--burgundy)}.pill{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border:1px solid var(--rule-strong);border-radius:10px;color:var(--ink-soft);background:var(--paper)}.hero-tag{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
