
@import url('https://fonts.googleapis.com/css2?family=VT323&family=Source+Serif+4:ital,wght@0,300;0,400;1,300&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#0a0f0a;--bg2:#111711;--bg3:#161e16;--green:#3ddc3d;--gdim:#1e6b1e;--amber:#e8a020;
--text:#c8d8c8;--dim:#6a8a6a;--brd:#1f341f;--brd2:#2c4a2c;
--mono:'VT323',monospace;--body:'Source Serif 4',Georgia,serif}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.65;min-height:100vh}
body::before{content:'';position:fixed;inset:0;
background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.18) 2px,rgba(0,0,0,.18) 4px);
pointer-events:none;z-index:9999}
a{color:var(--green);text-decoration:none}a:hover{color:var(--amber);text-decoration:underline}
.site-header{background:var(--bg2);border-bottom:2px solid var(--gdim);padding:18px 32px;display:flex;align-items:baseline;gap:20px}
.logo{font-family:var(--mono);font-size:2.6rem;color:var(--green);letter-spacing:2px;text-shadow:0 0 14px rgba(61,220,61,.4)}
.sub{font-family:var(--mono);font-size:1rem;color:var(--dim)}.site-header a{text-decoration:none}
.container{max-width:960px;margin:0 auto;padding:28px 20px 60px}
.sh{font-family:var(--mono);font-size:1.05rem;color:var(--dim);letter-spacing:2px;text-transform:uppercase;
border-bottom:1px solid var(--brd2);padding-bottom:6px;margin-bottom:18px}
.sw{display:flex;gap:10px;margin-bottom:20px;align-items:center}
.sw input{flex:1;background:var(--bg2);border:1px solid var(--brd2);color:var(--green);
font-family:var(--mono);font-size:1.1rem;padding:8px 14px;outline:none;border-radius:2px}
.sw input::placeholder{color:var(--dim);opacity:.6}
.sw input:focus{border-color:var(--gdim);box-shadow:0 0 8px rgba(61,220,61,.15)}
.sc{font-family:var(--mono);font-size:.88rem;color:var(--dim);white-space:nowrap}
.topic-table{width:100%;border-collapse:collapse}
.topic-table thead tr{background:var(--bg3);border-bottom:1px solid var(--brd2)}
.topic-table th{font-family:var(--mono);font-size:.9rem;color:var(--dim);text-align:left;
padding:8px 14px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;user-select:none;
white-space:nowrap;transition:color .15s}
.topic-table th:hover{color:var(--green)}
.topic-table th.sort-asc::after{content:' ▲';font-size:.7rem;color:var(--green)}
.topic-table th.sort-desc::after{content:' ▼';font-size:.7rem;color:var(--green)}
.topic-table td{padding:10px 14px;border-bottom:1px solid var(--brd);vertical-align:middle}
.topic-table tr:hover{background:var(--bg3)}
.meta{font-family:var(--mono);font-size:.82rem;color:var(--dim);white-space:nowrap}
.badge{display:inline-block;background:var(--bg3);border:1px solid var(--brd2);color:var(--dim);
font-family:var(--mono);font-size:.78rem;padding:1px 7px;border-radius:2px}
.no-posts{color:var(--dim);font-style:italic}
.post{background:var(--bg2);border:1px solid var(--brd);border-radius:2px;margin-bottom:14px;overflow:hidden}
.ph{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;
background:var(--bg3);border-bottom:1px solid var(--brd);gap:12px}
.pa{font-family:var(--mono);font-size:1rem;color:var(--green);letter-spacing:1px}
.pm{font-family:var(--mono);font-size:.75rem;color:var(--dim)}
.ps{font-family:var(--mono);font-size:.82rem;color:var(--amber);
padding:3px 16px 4px;border-bottom:1px solid var(--brd);background:rgba(232,160,32,.05)}
.pb{padding:14px 18px;font-size:15px;line-height:1.7;word-break:break-word;overflow-x:auto}
.pb img{max-width:100%;height:auto;opacity:.85}
.pb pre{background:var(--bg);border:1px solid var(--brd);padding:10px;
font-family:var(--mono);font-size:1rem;overflow-x:auto;white-space:pre-wrap}
.pb blockquote{border-left:3px solid var(--gdim);padding-left:12px;color:var(--dim);margin:8px 0}
.pb a{color:var(--amber)}
.th{font-family:var(--mono);font-size:1.5rem;color:var(--green);letter-spacing:2px;
margin-bottom:6px;text-shadow:0 0 10px rgba(61,220,61,.25)}
.tm{font-family:var(--mono);font-size:.82rem;color:var(--dim);margin-bottom:14px}
.sort-bar{display:flex;align-items:center;gap:12px;margin-bottom:18px;
font-family:var(--mono);font-size:.88rem;color:var(--dim)}
.sort-btn{background:var(--bg2);border:1px solid var(--brd2);color:var(--dim);
font-family:var(--mono);font-size:.88rem;padding:4px 12px;cursor:pointer;border-radius:2px;
transition:color .15s,border-color .15s}
.sort-btn:hover,.sort-btn.active{color:var(--green);border-color:var(--gdim)}
.back{margin-bottom:22px;display:inline-block;font-family:var(--mono);font-size:.9rem}
.back::before{content:'← '}
footer{text-align:center;font-family:var(--mono);font-size:.78rem;color:var(--dim);
padding:20px;border-top:1px solid var(--brd);letter-spacing:1px}
