.hacker-page{--terminal:#ede7e1;--dim:#a7abb1;--edge:#613342;background:#101923}
.hacker-main{max-width:1320px;margin:auto;padding:28px 5.2% 64px;font-family:Consolas,'Cascadia Mono','Courier New',monospace}
.hacker-main [hidden]{display:none!important}
.terminal-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;color:#a7abb1;font-size:11px;letter-spacing:.04em}
.terminal-topline button{border:1px solid #663747;padding:8px 12px;color:var(--terminal);background:#241c29;font:inherit;cursor:pointer}
.terminal-hero{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:62px 0 48px}
.terminal-eyebrow{font-size:11px;letter-spacing:.16em;color:var(--dim);margin:0 0 22px}
.terminal-eyebrow>span{color:#a94364}
.terminal-hero h1{font:700 clamp(40px,6.5vw,85px)/1.05 Consolas,'Courier New',monospace;color:#ede7e1;letter-spacing:-.06em;margin:0;text-shadow:0 0 30px #ae344325}
.terminal-cursor{color:#cc758d;animation:terminal-blink 1.4s steps(2,end) infinite}
.terminal-hero-subtitle{font-size:clamp(20px,2.5vw,29px);color:#e1ccd2;margin:22px 0 10px}
.terminal-description{font-size:13px;color:#a7abb1;margin:0}



.terminal-window{position:relative;border:1px solid var(--edge);background:#0c141e;box-shadow:0 25px 75px #0005;isolation:isolate}
.terminal-window::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#e9cbd805 3px 4px);opacity:.65}
.terminal-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--edge);padding:15px 22px;background:#1b202b;color:#d2b6c2;font-size:11px}
.terminal-lights{color:#ba7186;letter-spacing:5px;font-size:12px}
.terminal-readonly{color:#b78092;font-size:10px}
.terminal-command{padding:23px;border-bottom:1px solid #4c2d3b;background:#0b121b}
#terminal-log{white-space:pre-line;color:#aaa8b4;font-size:13px;line-height:1.8;min-height:26px;overflow-wrap:anywhere}
#terminal-form{display:flex;align-items:center;gap:12px;margin-top:14px}
#terminal-form label{color:#cf8aa1;font-size:13px;white-space:nowrap}
#terminal-input{font:15px Consolas,'Courier New',monospace;background:transparent;color:#ede7e1;min-width:0;flex:1;padding:10px 5px;border:0;border-bottom:1px solid #713c4e;border-radius:0}
#terminal-input:focus{outline:1px solid #ce8299;outline-offset:3px}
#terminal-form button{padding:7px 12px;border:1px solid #754359;background:#2a1d2c;color:var(--terminal);font-size:20px;cursor:pointer}
.terminal-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--edge)}
.terminal-nav a{display:flex;gap:10px;align-items:center;padding:18px 15px;font-size:12px;line-height:1.5;color:#cfc3ce;border-right:1px solid #4b2b3b}
.terminal-nav a>span{color:#d1839c;font-size:10px}
.terminal-nav a:hover{background:#6b29443f;color:#fff0f4}
.terminal-files{padding:12px 28px 26px}
.terminal-section{border:0;border-bottom:1px solid #493040;scroll-margin-top:24px}
.terminal-section>summary{padding:26px 0;display:flex;align-items:center;justify-content:flex-start;gap:18px}
.terminal-section>summary>span{transform:none;font:inherit;color:inherit;line-height:1.4}
.terminal-section>summary>.terminal-index{color:#b66e87;font-size:12px}
.terminal-section>summary>.terminal-title{font-size:20px;font-weight:bold;color:#e0c1ce;flex:1}
.terminal-section>summary>.terminal-plus{font-size:25px;color:#b98d9e}
.terminal-section[open]>summary>.terminal-plus{transform:rotate(45deg)}
.terminal-document{padding:0 0 22px 34px;color:#c7c6d0}
.terminal-document h2{font-size:21px;color:var(--terminal);margin:20px 0}
.terminal-document h3{font-size:17px;line-height:1.6;color:#e6cbd6;margin:28px 0 15px}
.terminal-document p,.terminal-document li{font:15px/1.9 Consolas,'Courier New',monospace;color:#c4c8d2;margin:16px 0;overflow-wrap:anywhere}
.terminal-document ul,.terminal-document ol{padding-left:24px}
.terminal-document li::marker{color:#cc7d98}
.terminal-document strong{color:#ede7e1}
.terminal-document .info-box{padding:0 22px 12px;border-left:2px solid #9f4c68;margin:25px 0;background:linear-gradient(90deg,#55213820,transparent)}
.terminal-document .important{padding:8px 22px 12px;border:1px solid #865165;background:#4c203c21}
.terminal-document .warning{color:#ed9cb3;font-weight:bold}
.terminal-document .highlight{color:#ecc4d1}
.terminal-document code{font:inherit;color:#e7b4c6;background:#66314940;padding:2px 5px;border:1px solid #81435d4d}
.terminal-bottom{display:flex;justify-content:space-between;padding:18px 23px;font-size:10px;letter-spacing:.08em;color:#aa8396;border-top:1px solid #523244}
.hacker-page.effects-off .terminal-window::after{display:none}
.hacker-page.effects-off .terminal-cursor{animation:none}
.hacker-page.effects-off .terminal-hero h1,.hacker-page.effects-off 
@keyframes terminal-blink{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.terminal-cursor{animation:none}.terminal-window::after{display:none}}
@media(max-width:750px){.terminal-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.terminal-hero{padding:40px 0 30px}.terminal-files{padding:8px 18px 20px}.terminal-document{padding-left:0}.terminal-document .info-box{padding-left:15px}.terminal-bar{padding:13px}.terminal-readonly{display:none}.terminal-command{padding:18px}.terminal-topline>span{display:none}}
@media(max-width:450px){.hacker-main{padding:22px 5% 40px}.terminal-nav a{font-size:11px;padding:14px 10px}.terminal-section>summary{gap:12px}.terminal-section>summary>.terminal-title{font-size:17px}.terminal-document p,.terminal-document li{font-size:14px}#terminal-form{gap:7px}#terminal-form label{font-size:11px}}

/* Console layout, using the site's ink and burgundy palette. */
.terminal-topline{margin-bottom:20px}
.terminal-window{box-shadow:0 20px 65px #0005,inset 0 0 60px #69263808}
.terminal-hero{display:block;padding:26px 28px 10px}
.terminal-hero h1{font:700 clamp(21px,3vw,34px)/1.4 Consolas,'Courier New',monospace;letter-spacing:-.03em;margin:22px 0 10px;text-shadow:0 0 18px #b8547522}
.terminal-eyebrow{font-size:11px;letter-spacing:.06em;margin:0 0 20px}
.terminal-boot{font:12px/1.9 Consolas,'Courier New',monospace;color:#aaa3b1;margin:0}
.terminal-boot>span{color:#d493a9;margin-right:12px}
.terminal-description{font-size:13px;padding-left:2ch;line-height:1.7}
.terminal-command{padding:16px 28px 23px}
.terminal-bar{font-family:Consolas,'Courier New',monospace;background:#201e2b}
.terminal-nav{display:flex;flex-wrap:wrap;padding:12px 28px;gap:8px 24px;background:#141923}
.terminal-nav a{display:block;padding:7px 0;border:0;font-size:12px}
.terminal-nav a>span{display:block;font-size:12px;color:#dda0b7;margin-bottom:3px}
.terminal-section>summary{padding:19px 0;gap:15px}
.terminal-section>summary>.terminal-title{font-size:16px;font-weight:700}
.terminal-section>summary>.terminal-index{font-size:12px;color:#a6758d}
.terminal-section>summary>.terminal-plus{font-size:20px}
.terminal-document{border-left:1px solid #503044;margin:0 0 24px 19px;padding:0 22px 12px}
.terminal-document h2{font:700 17px/1.6 Consolas,'Courier New',monospace}
.terminal-document h3{font:700 15px/1.7 Consolas,'Courier New',monospace}
.terminal-document h3::before{content:'# ';color:#b96b89}
.terminal-document p,.terminal-document li{font-size:14px;line-height:1.85}
.terminal-document .info-box{background:none;border-left:1px dashed #794559;padding:0 18px 6px}
.terminal-document .important{background:#49213722}
.terminal-bottom{background:#171a25}
#terminal-form label{font-size:12px}
#terminal-input{border-bottom:0;caret-color:#e1a2bb}
#terminal-input:focus{outline:none;box-shadow:0 1px #8c4d67}
@media(max-width:750px){.terminal-hero{padding:22px 18px 10px}.terminal-command{padding:14px 18px 20px}.terminal-nav{padding:12px 18px}.terminal-document{margin-left:0;padding:0 12px 12px}.terminal-bar{flex-wrap:wrap;font-size:10px}.terminal-lights{letter-spacing:0}}
@media(max-width:450px){#terminal-form{flex-wrap:wrap}#terminal-form label{width:100%}.terminal-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.terminal-section>summary>.terminal-title{font-size:14px}.terminal-document p,.terminal-document li{font-size:13px}.terminal-document .info-box{padding-left:12px}}

/* Keep the footer at the viewport bottom when the archive is collapsed. */
.hacker-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.hacker-page>.header,.hacker-page>footer{flex-shrink:0}
.hacker-page>.hacker-main{width:100%;flex:1 0 auto;margin:0 auto}
