:root{--orange:#e0591b;--orange-dark:#b8430f;--ink:#161412;--paper:#fbf7f1;--card:#fff;--line:#e6ddd0;--muted:#6f665c;--danger:#b3261e;--radius:10px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--orange-dark)}
header.site{background:var(--ink);color:#fff;border-bottom:4px solid var(--orange)}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.8rem 1rem}
header.site a.brand{color:#fff;text-decoration:none;font-weight:800;font-size:1.35rem;letter-spacing:.02em}
header.site a.brand span{color:var(--orange)}
header.site nav{margin-left:auto;display:flex;gap:1rem;flex-wrap:wrap}
header.site nav a{color:#f0e6da;text-decoration:none;font-size:.95rem}
header.site nav a:hover{color:var(--orange)}
.tagline{background:#241f1b;color:#d9cfc2;font-size:.85rem;padding:.35rem 1rem;text-align:center}
.wrap{max-width:820px;margin:0 auto;padding:0 1rem}
main.wrap{padding-top:1.2rem;padding-bottom:3rem;min-height:60vh}
footer.site{border-top:1px solid var(--line);color:var(--muted);font-size:.82rem;padding:1.2rem 0 2rem}
.btn{display:inline-block;background:var(--orange);color:#fff;border:0;border-radius:8px;padding:.6rem 1.1rem;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--orange-dark)}
.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn.danger{background:var(--danger)}
.btn.small,.linkbtn{font-size:.82rem;padding:.25rem .6rem}
.linkbtn{background:none;border:0;color:var(--muted);cursor:pointer;text-decoration:underline;padding:.2rem .3rem;font:inherit;font-size:.82rem}
.linkbtn:hover{color:var(--orange-dark)}
.tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:.2rem 0 1rem}
.tab{white-space:nowrap;padding:.35rem .85rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;font-size:.9rem}
.tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.toolbar{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.8rem}
.toolbar input[type=search]{flex:1;min-width:150px}
input[type=text],input[type=search],input[type=password],textarea,select{width:100%;font:inherit;padding:.6rem .7rem;border:1px solid #cfc4b4;border-radius:8px;background:#fff;color:var(--ink)}
input:focus,textarea:focus,select:focus{outline:2px solid var(--orange);outline-offset:1px}
textarea{min-height:130px;resize:vertical}
label{display:block;font-weight:600;margin:.9rem 0 .3rem}
.hint{color:var(--muted);font-size:.82rem;font-weight:400}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem;margin-bottom:.7rem}
.card.post-row{display:block;text-decoration:none;color:inherit}
.card.post-row:hover{border-color:var(--orange)}
.post-row h3{margin:.2rem 0;font-size:1.1rem}
.snippet{color:#463f38;font-size:.93rem;margin:.2rem 0 .4rem;overflow-wrap:anywhere}
.meta{color:var(--muted);font-size:.82rem}
.badge{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--orange);color:#fff;padding:.1rem .5rem;border-radius:4px}
.post-body,.c-body{white-space:pre-wrap;overflow-wrap:anywhere}
h1{font-size:1.5rem;margin:.2rem 0 .6rem}
.comment{border-left:3px solid var(--line);padding:.4rem 0 .4rem .8rem;margin:.6rem 0}
.comment .comment{margin-left:.2rem}
.comment.d0{border-left-color:var(--orange)}
.c-head{font-size:.82rem;color:var(--muted)}
.c-head b{color:var(--ink)}
.c-head b.op{color:var(--orange-dark)}
.c-actions{margin-top:.15rem}
.removed{color:var(--muted);font-style:italic}
.error{background:#fdecea;color:var(--danger);border:1px solid #f3b8b3;padding:.6rem .8rem;border-radius:8px;margin:.6rem 0}
.ok{background:#e9f6ec;color:#1e6b34;border:1px solid #b6dfc1;padding:.6rem .8rem;border-radius:8px;margin:.6rem 0}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.notice{background:#fff4e8;border:1px solid #f1cfae;border-radius:8px;padding:.6rem .9rem;font-size:.88rem;margin-bottom:1rem}
dialog{border:1px solid var(--line);border-radius:12px;padding:1.1rem;max-width:min(92vw,420px);width:100%}
dialog::backdrop{background:rgba(0,0,0,.45)}
.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.admin-tabs{display:flex;gap:.4rem;margin-bottom:1rem}
.pill{font-size:.72rem;background:#eee;border-radius:4px;padding:.05rem .4rem;font-family:ui-monospace,monospace}
.pill.banned{background:#fdecea;color:var(--danger)}
.deleted-flag{color:var(--danger);font-weight:700;font-size:.78rem}
.pager{display:flex;justify-content:space-between;margin-top:1rem}
.rules li{margin:.4rem 0}
a.uname,span.uname{color:var(--orange-dark);font-weight:700;text-decoration:none;cursor:pointer}
a.uname:hover,span.uname:hover{text-decoration:underline}
header.site nav a.nav-user{color:var(--orange);font-weight:700}
.ident{margin:.6rem 0 .2rem}
.ident select{width:auto;padding:.3rem .5rem}
.c-head a.uname{color:var(--orange-dark)}
@media (max-width:520px){header.site nav{margin-left:0;width:100%}main.wrap{padding-top:.8rem}}
label.check{font-weight:400;display:flex;gap:.5rem;align-items:center}label.check input{width:auto;margin:0}
