:root{--bg:#07100e;--panel:#0c1714;--panel2:#101f1b;--text:#edf6f1;--muted:#8ea79d;--line:#1d332c;--accent:#4fffb0;--danger:#ff6b6b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% -10%,#12372b 0,transparent 30%),var(--bg);color:var(--text);font:16px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}header{height:72px;display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:auto;padding:0 24px;border-bottom:1px solid var(--line)}.brand{font-weight:900;letter-spacing:.12em}.brand span,.hero span,.read,.post a{color:var(--accent)}nav{display:flex;gap:22px;color:var(--muted);font-size:14px}main{max-width:1180px;margin:auto;padding:60px 24px 100px}.hero{max-width:800px;padding:40px 0 60px}.eyebrow,.meta{font-size:12px;letter-spacing:.16em;color:var(--accent);font-weight:800}.hero h1,.post h1{font-size:clamp(42px,7vw,76px);line-height:1.02;letter-spacing:-.05em;margin:14px 0 22px}.hero p,.dek{font-size:20px;color:var(--muted);max-width:700px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);background:linear-gradient(180deg,var(--panel2),var(--panel));border-radius:18px;overflow:hidden}.card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.pad{padding:24px}.card h2{margin:7px 0;font-size:23px}.card p{color:var(--muted)}.read{font-weight:800}.post{max-width:820px;margin:auto}.post .heroimg{width:100%;border-radius:18px;margin:26px 0;border:1px solid var(--line)}.prose{font-size:18px}.prose h2{margin-top:2.2em;font-size:31px}.prose h3{margin-top:1.8em}.prose pre{padding:18px;background:#030806;border:1px solid var(--line);border-radius:12px;overflow:auto}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#9effcf}.prose img{max-width:100%}.cta{margin-top:60px;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}footer{border-top:1px solid var(--line);padding:28px;text-align:center;color:var(--muted)}.auth{max-width:440px;margin:60px auto;background:var(--panel);padding:36px;border:1px solid var(--line);border-radius:18px}.auth h1{margin-top:0}label{display:block;margin:18px 0;color:var(--muted);font-size:14px;font-weight:700}input,textarea,select{display:block;width:100%;margin-top:7px;border:1px solid var(--line);background:#07100e;color:var(--text);padding:13px;border-radius:10px;font:inherit}button,.button{background:var(--accent);color:#03100b;border:0;padding:12px 18px;border-radius:10px;font-weight:900;cursor:pointer}.flash{padding:12px 16px;border:1px solid #456e5e;background:#10291f;border-radius:10px;margin-bottom:22px}.adminhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.adminhead h1{font-size:44px;margin:3px 0}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;background:var(--panel)}th,td{text-align:left;padding:17px;border-bottom:1px solid var(--line)}th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}td small{display:block;color:var(--muted)}.actions{display:flex;align-items:center;gap:14px}.actions form{margin:0}.danger{background:transparent;color:var(--danger);padding:0}.badge{font-size:12px;padding:5px 9px;border-radius:99px;background:#16251f}.badge.published{color:var(--accent)}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:18px}.bodyedit{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.5}.savebar{display:flex;justify-content:flex-end;align-items:center;gap:12px}.savebar select{width:auto;margin:0}.thumb{width:220px;max-height:130px;object-fit:cover;border-radius:10px}.empty{color:var(--muted)}@media(max-width:800px){.grid{grid-template-columns:1fr}.twocol{grid-template-columns:1fr}.hero h1,.post h1{font-size:46px}nav{gap:12px}.actions{flex-wrap:wrap}.adminhead{align-items:flex-start;gap:14px}.adminhead h1{font-size:34px}}
.muted{color:var(--muted);max-width:680px}.headbuttons{display:flex;gap:.7rem;align-items:center}.ghostbutton,.secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.14);background:transparent;color:var(--text);border-radius:10px;padding:.75rem 1rem;text-decoration:none;cursor:pointer}.admincard{margin:1.2rem 0 2rem;padding:1.25rem;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025);border-radius:16px}.admincard h2,.media-section h2{margin:.25rem 0 .5rem}.uploadrow{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-top:1rem}.uploadrow input[type=file]{flex:1;min-width:240px}.image-tools{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.image-tool-card{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025);border-radius:14px;padding:1rem}.image-tool-card small{display:block;color:var(--muted);margin-top:.55rem;line-height:1.45}.secondary{margin-top:.65rem}.markdown-help{font-size:.86rem;color:var(--muted);margin:-.35rem 0 1rem}.markdown-help code{color:var(--accent)}.media-section{margin-top:2.2rem}.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.media-grid figure{margin:0;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.02)}.media-grid img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.media-grid figcaption{font-size:.68rem;color:var(--muted);padding:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:760px){.image-tools{grid-template-columns:1fr}.media-grid{grid-template-columns:repeat(2,1fr)}.headbuttons{flex-wrap:wrap}.uploadrow{align-items:stretch}.uploadrow button{width:100%}}


/* Markdown code blocks */
.prose pre,.prose .codehilite{position:relative;margin:1.5rem 0;border:1px solid var(--line);border-radius:14px;background:#020705;overflow:auto}
.prose .codehilite pre{margin:0;border:0;border-radius:0;background:transparent;padding:1.15rem 1.25rem}
.prose pre{padding:1.15rem 1.25rem}
.prose pre code,.prose .codehilite code{display:block;color:#d9f7e9;font:14px/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;white-space:pre}
.prose :not(pre)>code{background:#10211b;border:1px solid var(--line);border-radius:6px;padding:.12em .38em;color:#92ffd0;font-size:.9em}
.prose .codehilite .k,.prose .codehilite .kd,.prose .codehilite .kn{color:#77e6ff}.prose .codehilite .s,.prose .codehilite .s1,.prose .codehilite .s2{color:#b8ff8a}.prose .codehilite .m,.prose .codehilite .mi{color:#ffcb6b}.prose .codehilite .c,.prose .codehilite .c1,.prose .codehilite .cm{color:#70877e;font-style:italic}.prose .codehilite .nf,.prose .codehilite .na{color:#82aaff}.prose .codehilite .o{color:#c792ea}
.code-tools{display:flex;gap:.8rem;align-items:end;flex-wrap:wrap;margin:1rem 0;padding:1rem;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025);border-radius:14px}.code-tools>div{flex:1;min-width:260px}.code-tools strong{display:block}.code-tools small{display:block;color:var(--muted);font-weight:400}.code-tools select{width:auto;min-width:150px;margin:0}.code-tools button{margin:0}.file-caption{font-size:.72rem;color:var(--muted);margin-top:.4rem;overflow-wrap:anywhere}
.social-preview-panel{margin:1.25rem 0;padding:1.15rem;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,rgba(79,255,176,.045),rgba(255,255,255,.018))}.preview-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.preview-heading h2{font-size:1.15rem;margin:.2rem 0 0}.preview-heading>span{font-size:.78rem;color:var(--muted)}.social-card{max-width:680px;border:1px solid #293a34;border-radius:14px;overflow:hidden;background:#0b1411;box-shadow:0 18px 50px rgba(0,0,0,.22)}.social-card-image{aspect-ratio:1200/630;background:#101d18 center/cover no-repeat;display:grid;place-items:center;color:var(--muted);font-size:.8rem}.social-card-copy{padding:1rem 1.1rem}.social-domain{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.social-card-copy h3{font-size:1.15rem;margin:.35rem 0}.social-card-copy p{color:var(--muted);margin:.25rem 0 .65rem;line-height:1.45}.social-card-copy code{font-size:.72rem;color:var(--accent);word-break:break-all}@media(max-width:760px){.preview-heading{align-items:flex-start;flex-direction:column}}

/* Complete-enough Pygments palette for technical documentation */
.prose .codehilite .hll{background:rgba(255,255,255,.06)}
.prose .codehilite .c,.prose .codehilite .ch,.prose .codehilite .cm,.prose .codehilite .c1,.prose .codehilite .cs{color:#6f8a7f;font-style:italic}
.prose .codehilite .k,.prose .codehilite .kc,.prose .codehilite .kd,.prose .codehilite .kn,.prose .codehilite .kp,.prose .codehilite .kr,.prose .codehilite .kt{color:#7dd3fc;font-weight:600}
.prose .codehilite .o,.prose .codehilite .ow{color:#c4b5fd}
.prose .codehilite .n{color:#d9f7e9}
.prose .codehilite .na,.prose .codehilite .nb,.prose .codehilite .bp,.prose .codehilite .nc,.prose .codehilite .no,.prose .codehilite .nd,.prose .codehilite .ni,.prose .codehilite .ne,.prose .codehilite .nf,.prose .codehilite .nl,.prose .codehilite .nn,.prose .codehilite .nt,.prose .codehilite .nv,.prose .codehilite .vc,.prose .codehilite .vg,.prose .codehilite .vi,.prose .codehilite .vm{color:#93c5fd}
.prose .codehilite .l,.prose .codehilite .ld,.prose .codehilite .m,.prose .codehilite .mb,.prose .codehilite .mf,.prose .codehilite .mh,.prose .codehilite .mi,.prose .codehilite .mo,.prose .codehilite .il{color:#fbbf24}
.prose .codehilite .s,.prose .codehilite .sa,.prose .codehilite .sb,.prose .codehilite .sc,.prose .codehilite .dl,.prose .codehilite .sd,.prose .codehilite .s2,.prose .codehilite .se,.prose .codehilite .sh,.prose .codehilite .si,.prose .codehilite .sx,.prose .codehilite .sr,.prose .codehilite .s1,.prose .codehilite .ss{color:#bef264}
.prose .codehilite .p{color:#cbd5e1}
.prose .codehilite .gd{color:#fca5a5}.prose .codehilite .gi{color:#86efac}.prose .codehilite .ge{font-style:italic}.prose .codehilite .gs{font-weight:700}
