:root,[data-theme=retro]{--bg:#0d0b1a;--bg-deep:#08060f;--panel:#14102b;--panel-2:#1a1440;--border:#3b2f7a;--border-soft:#4b3da0;--text:#d8ffe8;--text-dim:#7f8cff;--accent:#00ff9d;--accent-2:#ff5edb;--good:#00ff9d;--warn:#ffd23f;--bad:#ff3864;--shadow:6px 6px 0 rgba(0,0,0,.65);--shadow-sm:3px 3px 0 rgba(0,0,0,.6);--panel-grad:linear-gradient(180deg,#171233,#100d24);--scanlines:repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 1px,transparent 1px 3px);--font:"IBM Plex Mono",Consolas,"Courier New",ui-monospace,monospace;--font-pixel:"Press Start 2P","IBM Plex Mono",monospace}[data-theme=matrix]{--bg:#010703;--bg-deep:#000200;--panel:#03130a;--panel-2:#051d10;--border:#0b4a28;--border-soft:#12874a;--text:#b7ffc9;--text-dim:#3fae6a;--accent:#00ff41;--accent-2:#7cff9e;--good:#00ff41;--warn:#ffe600;--bad:#ff2941;--panel-grad:linear-gradient(180deg,#04170c,#021008)}[data-theme=amber]{--bg:#120c04;--bg-deep:#0a0602;--panel:#1d1307;--panel-2:#2a1c0a;--border:#6b4712;--border-soft:#8f6116;--text:#ffd79a;--text-dim:#b3813a;--accent:#ffb000;--accent-2:#ff7b00;--good:#9dff5e;--warn:#ffb000;--bad:#ff4b2b;--panel-grad:linear-gradient(180deg,#201509,#150e05)}*,:after,:before{box-sizing:border-box}body,html{padding:0;margin:0}body{min-height:100vh;background:var(--bg);background-image:radial-gradient(circle at 20% -10%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 55%),radial-gradient(circle at 90% 0,color-mix(in srgb,var(--accent-2) 6%,transparent),transparent 45%);background-attachment:fixed;color:var(--text);font-family:var(--font);font-size:14px;line-height:1.65;scrollbar-width:thin;scrollbar-color:var(--border-soft) transparent;display:flex;flex-direction:column}body:after{content:"";position:fixed;inset:0;pointer-events:none;background:var(--scanlines,none);z-index:900}::selection{background:var(--accent);color:var(--bg-deep)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{font-family:var(--font-pixel);font-weight:400;line-height:1.5;letter-spacing:.04em;margin:0;text-shadow:2px 2px 0 var(--bg-deep)}h1{font-size:18px}h2{font-size:15px}h3{font-size:12px}h4{font-size:11px}code,pre{font-family:var(--font)}.shell{flex:1 0 auto;width:100%;max-width:1180px;margin:0 auto;padding:22px clamp(12px,3vw,26px) 60px}.stack{gap:16px}.stack,.stack-sm{display:flex;flex-direction:column}.stack-sm{gap:9px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spacer{flex:1 1 auto}.grid-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:16px;gap:16px}.split{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:18px;gap:18px;align-items:start}@media (max-width:900px){.split{grid-template-columns:minmax(0,1fr)}}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg-deep) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:3px solid var(--border-soft)}.site-header-inner{max-width:1180px;margin:0 auto;padding:10px clamp(12px,3vw,26px);gap:14px;flex-wrap:wrap}.brand,.site-header-inner{display:flex;align-items:center}.brand{gap:10px;color:var(--text)}.brand:hover{text-decoration:none}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border:3px solid var(--border-soft);background:var(--panel-2);color:var(--accent);box-shadow:var(--shadow-sm);flex:0 0 auto}.brand-name{font-family:var(--font-pixel);font-size:13px;color:var(--accent);text-shadow:2px 2px 0 var(--bg-deep);letter-spacing:.08em}.brand-sub{font-size:10px;color:var(--text-dim);letter-spacing:.2em;text-transform:uppercase}.nav{display:flex;gap:6px;flex-wrap:wrap}.nav-link{font-size:11px;text-transform:uppercase;letter-spacing:.1em;padding:6px 11px;border:2px solid transparent;color:var(--text-dim)}.nav-link:hover{color:var(--text);border-color:var(--border);text-decoration:none}.nav-link.is-active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.panel{background:var(--panel-grad);border:3px solid var(--border-soft);box-shadow:var(--shadow);padding:16px;position:relative}.panel-tight{padding:0}.panel-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 14px;border-bottom:3px solid var(--border-soft);background:color-mix(in srgb,var(--panel-2) 70%,transparent)}.panel-title{font-family:var(--font-pixel);font-size:11px;color:var(--accent);letter-spacing:.1em;text-transform:uppercase}.panel-body{padding:14px}.bracketed:after,.bracketed:before{content:"";position:absolute;width:10px;height:10px;border:2px solid var(--accent);opacity:.55;pointer-events:none}.bracketed:before{top:4px;left:4px;border-right:0;border-bottom:0}.bracketed:after{bottom:4px;right:4px;border-left:0;border-top:0}.btn{display:inline-flex;align-items:center;gap:7px;font-family:var(--font);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:8px 14px;background:var(--panel-2);border:2px solid var(--border-soft);color:var(--text-dim);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .08s steps(2),color .12s,border-color .12s}.btn:hover{color:var(--text);border-color:var(--accent);text-decoration:none}.btn:active{transform:translate(3px,3px);box-shadow:none}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{color:var(--bg-deep);background:var(--accent);border-color:var(--accent);text-shadow:none}.btn-primary:hover{color:var(--bg-deep);background:color-mix(in srgb,var(--accent) 82%,#fff)}.btn-danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 60%,transparent)}.btn-danger:hover{color:var(--bg-deep);background:var(--bad);border-color:var(--bad)}.btn-sm{padding:5px 9px;font-size:10px;box-shadow:none}.btn-ghost{background:transparent;box-shadow:none}.badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border:2px solid var(--border-soft);color:var(--text-dim);white-space:nowrap}.badge-accent{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.badge-warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent)}.badge-bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,transparent);background:color-mix(in srgb,var(--bad) 10%,transparent)}.badge-alt{color:var(--accent-2);border-color:color-mix(in srgb,var(--accent-2) 45%,transparent);background:color-mix(in srgb,var(--accent-2) 10%,transparent)}.field{display:flex;flex-direction:column;gap:5px}.field>span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-dim)}.input,.select,.textarea{width:100%;background:var(--bg-deep);border:2px solid var(--border);color:var(--text);font-family:var(--font);font-size:13px;padding:9px 11px;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.textarea{resize:vertical;min-height:120px;line-height:1.6}.input::placeholder,.textarea::placeholder{color:color-mix(in srgb,var(--text-dim) 70%,transparent)}.hint{font-size:11px;color:var(--text-dim)}.form-error{border:2px solid var(--bad);color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent)}.form-error,.form-ok{padding:8px 11px;font-size:12px}.form-ok{border:2px solid var(--good);color:var(--good);background:color-mix(in srgb,var(--good) 10%,transparent)}input[type=file]{font-size:12px;color:var(--text-dim)}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}.card{display:block;background:var(--panel-grad);border:3px solid var(--border);box-shadow:var(--shadow-sm);padding:14px;color:var(--text);transition:border-color .12s,transform .08s steps(2)}.card:hover{border-color:var(--accent);text-decoration:none;transform:translate(-2px,-2px);box-shadow:var(--shadow)}.card-title{font-family:var(--font-pixel);font-size:12px;color:var(--text);line-height:1.6}.card:hover .card-title{color:var(--accent)}.card-meta{font-size:11px;color:var(--text-dim);display:flex;gap:10px;flex-wrap:wrap}.card-text{font-size:13px;color:color-mix(in srgb,var(--text) 78%,var(--text-dim))}.card-cover{width:100%;aspect-ratio:16/9;object-fit:cover;border:2px solid var(--border);image-rendering:pixelated;margin-bottom:10px;display:block}.list{display:flex;flex-direction:column}.list-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:2px solid var(--border);color:var(--text)}.list-row:last-child{border-bottom:0}.list-row:hover{background:color-mix(in srgb,var(--accent) 6%,transparent);text-decoration:none}.list-main{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:3px}.list-title{font-size:13px;font-weight:700;overflow-wrap:anywhere}.list-row:hover .list-title{color:var(--accent)}.list-sub{font-size:11px;color:var(--text-dim);display:flex;gap:10px;flex-wrap:wrap}.list-num{font-family:var(--font-pixel);font-size:11px;color:var(--accent);text-align:right;min-width:46px}.list-num small{display:block;font-family:var(--font);font-size:9px;color:var(--text-dim);letter-spacing:.1em}.empty{padding:26px 14px;text-align:center;color:var(--text-dim);font-size:12px}.avatar{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:2px solid var(--border-soft);background:var(--panel-2);color:var(--accent);font-family:var(--font-pixel);font-size:11px;image-rendering:pixelated;object-fit:cover}.avatar-lg{width:72px;height:72px;font-size:20px;border-width:3px;box-shadow:var(--shadow-sm)}.avatar-sm{width:24px;height:24px;font-size:8px}.comment{display:flex;gap:12px;padding:14px;border-bottom:2px solid var(--border)}.comment:last-of-type{border-bottom:0}.comment-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--text-dim)}.comment-author{color:var(--accent);font-weight:700;font-size:12px}.comment-body{min-width:0;flex:1 1 auto}.comment-deleted{color:var(--text-dim);font-style:italic}.prose{font-size:14px;line-height:1.75;overflow-wrap:anywhere}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose p{margin:0 0 12px}.prose h1,.prose h2,.prose h3{margin:22px 0 10px;color:var(--accent)}.prose ol,.prose ul{margin:0 0 12px;padding-left:22px}.prose li{margin:4px 0}.prose li::marker{color:var(--accent)}.prose code{border:1px solid var(--border);padding:1px 5px;font-size:12.5px;color:var(--accent-2)}.prose code,.prose pre{background:var(--bg-deep)}.prose pre{border:2px solid var(--border);padding:12px;overflow-x:auto;margin:0 0 14px}.prose pre code{background:none;border:0;padding:0;color:var(--text)}.prose blockquote{margin:0 0 14px;padding:6px 14px;border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent);color:var(--text-dim)}.prose img{max-width:100%;height:auto;border:2px solid var(--border);image-rendering:pixelated}.prose hr{border:0;border-top:2px dashed var(--border-soft);margin:20px 0}.prose table{width:100%;border-collapse:collapse;margin:0 0 14px;display:block;overflow-x:auto}.prose td,.prose th{border:2px solid var(--border);padding:6px 10px;text-align:left;font-size:13px}.prose th{background:var(--panel-2);color:var(--accent);text-transform:uppercase;font-size:11px;letter-spacing:.08em}.file-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:2px solid var(--border);flex-wrap:wrap}.file-row:last-child{border-bottom:0}.file-main{min-width:0;flex:1 1 220px}.file-icon{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:2px solid var(--border-soft);background:var(--bg-deep);color:var(--accent);font-size:9px;font-weight:700}.file-name{font-size:13px;font-weight:700;overflow-wrap:anywhere}.file-meta{font-size:11px;color:var(--text-dim);display:flex;gap:10px;flex-wrap:wrap}.file-hash{font-size:10px;color:color-mix(in srgb,var(--text-dim) 75%,transparent);overflow-wrap:anywhere}.hero{border:3px solid var(--border-soft);background:var(--panel-grad);box-shadow:var(--shadow);padding:clamp(18px,4vw,34px);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--accent) 8%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 8%,transparent) 1px,transparent 1px);background-size:16px 16px;pointer-events:none;mask-image:linear-gradient(160deg,#000,transparent 70%);-webkit-mask-image:linear-gradient(160deg,#000,transparent 70%)}.hero>*{position:relative}.hero h1{font-size:clamp(16px,3.4vw,26px);color:var(--accent)}.hero p{color:var(--text-dim);max-width:62ch}.stat{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:2px solid var(--border);background:var(--bg-deep)}.stat b{font-family:var(--font-pixel);font-size:15px;color:var(--accent)}.stat span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:10px;gap:10px}.tag{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:2px 7px;border:2px solid var(--border);color:var(--text-dim)}.tag:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.pager{display:flex;gap:8px;justify-content:center;padding:6px 0}.site-footer{flex:0 0 auto;border-top:3px solid var(--border-soft);background:var(--bg-deep);padding:18px clamp(12px,3vw,26px);font-size:11px;color:var(--text-dim)}.site-footer-inner{max-width:1180px;margin:0 auto;display:flex;gap:14px;flex-wrap:wrap;align-items:center}.blink{animation:blink 1.1s steps(2,start) infinite}@keyframes blink{50%{opacity:0}}.crumbs{font-size:11px;display:flex;gap:7px;flex-wrap:wrap;text-transform:uppercase;letter-spacing:.08em}.crumbs,.notice{color:var(--text-dim)}.notice{border:2px dashed var(--border-soft);padding:10px 12px;font-size:12px}@media (prefers-reduced-motion:reduce){.blink{animation:none}.btn:active,.card:hover{transform:none}}.header-search{flex:0 1 190px;min-width:120px}.header-search .input{padding:6px 10px;font-size:12px}@media (max-width:720px){.header-search{display:none}}.list-last{text-align:right;font-size:10.5px;color:var(--text-dim);min-width:120px}.list-last b{display:block;color:var(--accent);font-weight:700}@media (max-width:600px){.list-last{display:none}}