/* HYDRACRO // THREE SEPARATE SYSTEM MODULES — hacker-terminal identity */
:root{--section-glow:rgba(96,245,176,.14)}
body{background:#040d0c;color:var(--text)}
body::before{background-image:linear-gradient(90deg,rgba(60,220,139,.032) 1px,transparent 1px),linear-gradient(rgba(60,220,139,.025) 1px,transparent 1px),radial-gradient(circle at 75% 4%,var(--section-glow),transparent 43%);background-size:48px 48px,48px 48px,auto}
.section-nav .nav-item{font:800 12px/1.4 var(--mono)}
.section-nav .nav-item.active{box-shadow:inset 2px 0 var(--accent),0 0 21px rgba(83,255,174,.08)}
.section-main{max-width:1450px}
.section-hero{position:relative;isolation:isolate;overflow:hidden;border:1px solid #386d55;border-radius:12px;background:linear-gradient(115deg,rgba(8,37,27,.96),rgba(5,15,17,.94) 70%);padding:clamp(20px,4.8vw,54px);margin-bottom:22px;box-shadow:0 15px 55px #0008}
.section-hero:before{content:"";position:absolute;z-index:-1;width:min(50vw,520px);height:min(50vw,520px);border:1px solid rgba(104,255,179,.22);border-radius:50%;right:-110px;top:-205px;box-shadow:0 0 0 39px #42fda807,0 0 0 80px #42fda805,0 0 0 140px #42fda803}
.section-kicker{display:flex;gap:8px;align-items:center;color:var(--accent);font:800 11px/1.5 var(--mono);letter-spacing:.13em}
.section-kicker::before{content:"●";text-shadow:0 0 12px currentColor;animation:module-pulse 2s ease-in-out infinite}
.section-hero h1{font:900 clamp(36px,5.9vw,76px)/1.07 var(--mono);letter-spacing:-.06em;margin:18px 0 15px;color:#e5fff0;text-wrap:balance}
.section-hero h1 em{color:var(--accent);font-style:normal}
.section-hero p{font:15px/1.8 var(--sans);max-width:720px;color:#b4d2c3;margin:0 0 19px}
.section-hero .section-terminal{display:flex;flex-wrap:wrap;gap:9px;font:11px/1.5 var(--mono);color:#baf9d7}
.section-terminal code{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #36785a;border-radius:4px;background:#061911;color:var(--accent)}
.section-terminal code:before{content:"$";color:#e6ebda}
.section-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 26px}
.section-tabs a{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid #304b3f;border-radius:9px;background:#0c211d;color:#b5cdbd;font:850 13px/1.5 var(--mono);transition:transform .15s,border-color .15s}
.section-tabs a:hover,.section-tabs a.active{border-color:#73ecad;background:#163e2c;color:#dbffe9;transform:translateY(-1px)}
.section-tabs a .index{color:#81db9e;font-size:10px}
.section-tabs a .tab-symbol{font-size:20px}
.section-group{margin:25px 0 30px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:13px;margin:0 0 13px}
.section-heading h2{font:900 16px/1.4 var(--mono);color:#d8ffdf;margin:0;letter-spacing:.035em}
.section-heading h2::before{content:">_ ";color:var(--accent)}
.section-heading small{font:10px var(--mono);color:#80c39c}
.section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.section-card{position:relative;display:flex;flex-direction:column;gap:7px;min-width:0;min-height:171px;padding:23px;border:1px solid #2e5b47;border-radius:9px;background:linear-gradient(155deg,#10271f,#071a18);transition:transform .17s,border-color .17s,box-shadow .17s}
.section-card:focus-visible,.section-card:hover{transform:translateY(-3px);border-color:#7cf6b5;box-shadow:0 12px 28px #0008,0 0 19px #47eb8d17}
.section-card .module-id{color:#81bd9d;font:800 10px/1.5 var(--mono);letter-spacing:.13em}
.section-card h3{font:900 clamp(16px,1.7vw,22px)/1.35 var(--mono);color:#ebfff2;margin:2px 0}
.section-card p{font:13px/1.7 var(--sans);color:#aac6b7;margin:0}
.section-card .launch{font:850 11px var(--mono);color:#8bffc1;margin-top:auto;padding-top:13px}
.section-card.is-featured{border-color:#63a77b;background:linear-gradient(130deg,#123a28,#0a1b1b)}
.section-note{border-left:2px solid var(--accent);padding:10px 15px;margin:19px 0;color:#b4d5c2;background:#0a211b;font:12px/1.7 var(--mono)}
.section-note code{color:#8cffbc}
.section-back{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 0;font:11px/1.6 var(--mono);color:#96baa7}
.section-back a{color:#9ff4c3}
.section-site-footer{margin-top:28px;border-top:1px solid #295444;padding:18px 0;font:11px/1.6 var(--mono);color:#769b86}
body[data-area="learning"]{--section-glow:rgba(45,190,126,.17)}
body[data-area="calculation"]{--section-glow:rgba(52,223,191,.14)}
body[data-area="gaming"]{--section-glow:rgba(95,204,127,.16)}
@keyframes module-pulse{50%{opacity:.35}}
@media(max-width:940px){.section-tabs{gap:6px}.section-tabs a{padding:10px;font-size:11px;gap:6px}.section-grid{grid-template-columns:1fr}}
@media(max-width:600px){.section-hero{padding:22px}.section-tabs a{display:grid;justify-items:center;text-align:center;font-size:10px;gap:3px}.section-tabs a .tab-symbol{font-size:23px}.section-heading{align-items:flex-start;flex-direction:column;gap:3px}.section-card{padding:18px;min-height:150px}.section-back{display:block}.section-hero h1{font-size:clamp(35px,9vw,53px)}}
@media(prefers-reduced-motion:reduce){.section-kicker:before{animation:none}.section-card,.section-tabs a{transition:none}}

/* Root terminal launcher: three sectors only; legacy course UI stays at /?legacy=1. */
.portal-shell{display:flex;flex-direction:column;gap:23px}
.portal-intro{padding:clamp(22px,4vw,42px);border:1px solid #3f7756;
 border-radius:9px;background:linear-gradient(118deg,#0b2a1e,#071516);position:relative;overflow:hidden}
.portal-intro:after{content:"010101 001011 110101";position:absolute;right:-8px;top:-8px;
 font:900 clamp(20px,3vw,48px)/1.6 var(--mono);letter-spacing:.2em;
 color:rgba(105,255,173,.055);max-width:350px;overflow-wrap:anywhere;pointer-events:none}
.portal-intro .portal-kicker{font:800 11px/1.5 var(--mono);letter-spacing:.14em;color:#8ef5b4}
.portal-intro h1{margin:16px 0;font:900 clamp(35px,5.4vw,70px)/1.09 var(--mono);
 color:#e6fff1;letter-spacing:-.06em}
.portal-intro h1 span{color:#76ffb7}
.portal-intro p{font:14px/1.8 var(--sans);color:#aecebb;max-width:720px;margin:0}
.portal-sector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.portal-sector{min-width:0;display:flex;flex-direction:column;gap:10px;
 padding:24px 20px;border:1px solid #3c6f50;border-radius:9px;
 background:linear-gradient(140deg,#0e2b20,#081a19);color:#e5fff0;
 transition:transform .16s,border-color .16s}
.portal-sector:hover,.portal-sector:focus-visible{transform:translateY(-3px);
 border-color:#8dfbc0;background:linear-gradient(145deg,#174430,#0c2220)}
.portal-sector .portal-index{font:750 10px/1.4 var(--mono);letter-spacing:.14em;color:#79e3a2}
.portal-sector .portal-icon{font:900 43px/1.2 var(--mono);color:#81f7b5}
.portal-sector h2{font:900 clamp(21px,2vw,28px)/1.25 var(--mono);margin:0}
.portal-sector p{color:#afcbb7;font:13px/1.6 var(--sans);margin:0;flex:1}
.portal-sector strong{color:#97ffc2;font:900 11px/1.4 var(--mono)}
.portal-terminal .terminal-window{max-width:100%;margin:0}
.portal-terminal .terminal-head{font-size:11px}
.portal-legacy{margin:0;font:11px/1.7 var(--mono);color:#9dbcaa}
.portal-legacy a{color:#93f4b5}
@media(max-width:980px){.portal-sector-grid{grid-template-columns:1fr}.portal-sector{
 min-height:0;display:grid;grid-template-columns:44px 1fr;gap:8px 15px;align-items:center}
 .portal-sector .portal-index{grid-column:1/-1}.portal-sector .portal-icon{grid-row:2/4}
 .portal-sector h2,.portal-sector p{grid-column:2}.portal-sector strong{grid-column:2}}
@media(prefers-reduced-motion:reduce){.portal-sector{transition:none}}

/* HydraCro home v3: compact module launcher and animated terminal HUD. */
.portal-shell{gap:16px}
.portal-intro{padding:clamp(19px,2.8vw,32px)}
.portal-intro h1{font-size:clamp(31px,4.7vw,56px);margin:10px 0 7px}
.portal-intro p{font:800 12px/1.5 var(--mono);letter-spacing:.14em;color:#91f6b9}
.portal-sector{position:relative;isolation:isolate;overflow:hidden;padding:17px 18px;gap:7px}
.portal-sector::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;background:linear-gradient(115deg,transparent 20%,rgba(96,245,176,.09) 50%,transparent 80%);transform:translateX(-100%);transition:opacity .22s}
.portal-sector:hover::before,.portal-sector:focus-visible::before{opacity:1;animation:hydra-card-sweep .8s ease-out both}
.portal-sector .portal-icon{font-size:32px}
.portal-sector h2{font-size:clamp(18px,1.8vw,25px)}
.portal-sector p{color:#b3cbb9;font:800 11px/1.55 var(--mono);letter-spacing:.02em}
.portal-terminal .terminal-window{position:relative;isolation:isolate;overflow:hidden;border:1px solid #427b5b;background:#041510;box-shadow:0 0 28px #4dff9811,inset 0 0 24px #28e47a0a;transition:border-color .2s,box-shadow .2s}
.portal-terminal .terminal-window:focus-within{border-color:#7effb2;box-shadow:0 0 30px #4dff9826,inset 0 0 24px #28e47a0d}
.portal-terminal .terminal-window::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.16;background:repeating-linear-gradient(0deg,transparent 0 3px,#62ffae22 4px 5px)}
.portal-terminal .terminal-window::after{content:"";position:absolute;left:0;right:0;top:0;height:32%;z-index:2;pointer-events:none;opacity:.35;background:linear-gradient(to bottom,transparent,rgba(98,255,175,.09),transparent);animation:hydra-scan 7s linear infinite}
.portal-terminal .terminal-head{background:#0b2519;border-bottom-color:#356345;color:#a2eec0;letter-spacing:.05em}
.portal-terminal .shell-status{color:#87ffc0;text-shadow:0 0 10px #4cff99;animation:hydra-ready 2.4s ease-in-out infinite}
.portal-terminal .terminal-body{padding:14px 18px 12px}
.portal-terminal .terminal-log{height:170px;font:12px/1.65 var(--mono);color:#c8f5dc}
.portal-terminal .terminal-log .line{min-height:1em;margin-bottom:4px}
.portal-terminal .terminal-log .line:last-child::after{content:"▋";color:#89ffc1;margin-left:3px;animation:hydra-cursor 1s steps(1,end) infinite}
.portal-terminal .terminal-log .line.ok{color:#84ffc0;text-shadow:0 0 12px #5aff991b}
.portal-terminal .terminal-form{border-top:1px solid #224732;padding:8px 0 1px}
.portal-terminal .terminal-form:focus-within .prompt{text-shadow:0 0 12px #5affaa}
.portal-terminal .terminal-form input{font:12px/1.6 var(--mono);color:#eaffef}
.portal-terminal .terminal-help{font:10px/1.5 var(--mono);color:#84a991}
@keyframes hydra-card-sweep{to{transform:translateX(100%)}}
@keyframes hydra-scan{from{transform:translateY(-280%)}to{transform:translateY(450%)}}
@keyframes hydra-cursor{50%{opacity:0}}
@keyframes hydra-ready{50%{opacity:.48;text-shadow:none}}
@media(max-width:600px){.portal-sector{padding:16px}.portal-sector .portal-icon{font-size:29px}.portal-terminal .terminal-body{padding:12px}.portal-terminal .terminal-log{height:155px}.portal-terminal .prompt{font-size:10px}}
@media(prefers-reduced-motion:reduce){.portal-sector::before,.portal-sector:hover::before,.portal-sector:focus-visible::before,.portal-terminal .terminal-window::after,.portal-terminal .shell-status,.portal-terminal .terminal-log .line:last-child::after{animation:none!important}.portal-sector::before{display:none}}
