:root{
  --bg:#000;
  --green:#00e65f;
  --green2:#00ff78;
  --green3:#00ab44;
  --red:#ff3038;
  --muted:#7ecb99;
  --panel:rgba(0,13,6,.72);
  --border:rgba(0,230,95,.68);
  --shadow:0 0 24px rgba(0,230,95,.28), inset 0 0 24px rgba(0,230,95,.05);
}
*{box-sizing:border-box}
html{background:#000;color-scheme:dark;min-height:100%;scrollbar-color:#00ab44 #000}
body{margin:0;min-height:100dvh;background:#000;color:var(--green);font-family:"Ubuntu Mono",monospace;overflow-x:hidden}
a{color:inherit}
.scene{position:fixed;inset:0;background:#000;overflow:hidden;z-index:0}
#sphereCanvas{display:block;width:100%;height:100%;background:#000}
.scene-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 48%,transparent 0 24%,rgba(0,0,0,.04) 34%,rgba(0,0,0,.45) 75%,#000 100%)}
.scene-noise{position:absolute;inset:0;opacity:.08;mix-blend-mode:screen;pointer-events:none;background-image:repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,255,100,.11) 4px)}
.hud-header{position:fixed;left:clamp(18px,2.5vw,42px);right:clamp(18px,2.5vw,42px);top:clamp(16px,2.1vh,30px);z-index:5;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;text-shadow:0 0 12px rgba(0,255,100,.35)}
.hud-brand,.hud-clock{pointer-events:auto;text-decoration:none;display:flex;flex-direction:column;gap:3px;letter-spacing:.06em}
.hud-brand strong{font-size:clamp(16px,1.15vw,21px);font-weight:500}
.hud-brand span{font-size:clamp(13px,.86vw,16px)}
.hud-brand small,.hud-clock span{font-size:clamp(11px,.72vw,13px);color:#08aa4c}
.hud-clock{align-items:flex-end}
.hud-clock time{font-size:clamp(15px,1vw,19px);color:#14ff79}
.blink{animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}
.portal-shell{position:relative;z-index:2;min-height:100dvh;padding:11vh clamp(18px,5vw,78px) 118px;display:flex;align-items:center;justify-content:center}
.core-menu{position:relative;width:min(390px,31vw);display:flex;flex-direction:column;gap:clamp(11px,1.3vh,17px);z-index:3}
.portal-button,.tool-card{position:relative;display:flex;align-items:center;text-decoration:none;border:1px solid var(--border);background:linear-gradient(180deg,rgba(0,30,13,.55),rgba(0,5,2,.82));box-shadow:var(--shadow);transition:.24s ease;overflow:hidden}
.portal-button::before,.tool-card::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(0,255,120,.12),transparent);transform:translateX(-130%);transition:transform .6s ease}
.portal-button:hover::before,.tool-card:hover::before{transform:translateX(130%)}
.portal-button:hover,.portal-button:focus-visible,.tool-card:hover,.tool-card:focus-visible{border-color:#38ff87;box-shadow:0 0 30px rgba(0,255,110,.55),inset 0 0 30px rgba(0,255,110,.08);transform:translateY(-2px);outline:none}
.portal-button{min-height:clamp(64px,8vh,84px);padding:12px 20px;border-radius:11px;justify-content:center}
.button-copy{display:flex;flex-direction:column;align-items:center;gap:4px;line-height:1.08}
.button-copy strong{font-family:"Ubuntu",sans-serif;font-weight:500;font-size:clamp(21px,1.65vw,29px);letter-spacing:.03em;text-shadow:0 0 12px rgba(0,255,120,.2)}
.button-copy small{font-size:clamp(11px,.88vw,15px);color:#20ef74;letter-spacing:.04em}
.portal-button i,.tool-card i{position:absolute;right:18px;font-style:normal;font-size:36px;line-height:1;color:#19ff7a;text-shadow:0 0 10px rgba(0,255,100,.75)}
.threat-label,.blocked{position:absolute;z-index:2;font-size:clamp(12px,1vw,17px);letter-spacing:.04em;text-shadow:0 0 10px currentColor;white-space:nowrap}
.threat-label{left:clamp(24px,8vw,145px);color:#ff424a;font-weight:700}
.threat-1{top:17%}.threat-2{top:35%}.threat-3{top:57%}.threat-4{top:71%}
.blocked{right:clamp(24px,7vw,128px);color:#00f66c}
.blocked b{font-size:1.35em}.blocked-1{top:21%}.blocked-2{top:41%}.blocked-3{top:61%}.blocked-4{top:77%}
.tools{position:absolute;left:clamp(18px,4.5vw,74px);right:clamp(18px,4.5vw,74px);bottom:78px;z-index:4}
.tools h2{margin:0 0 12px;text-align:center;font-size:clamp(14px,1vw,18px);font-weight:400;letter-spacing:.16em;color:#29ea78;text-shadow:0 0 12px rgba(0,255,120,.28)}
.tools h2 span{color:#00ff6f}
.tools-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,2vw,32px)}
.tool-card{height:clamp(68px,8vh,82px);border-radius:11px;padding:10px 42px 10px 18px;gap:14px}
.tool-card>span:nth-child(2){display:flex;flex-direction:column;gap:4px;min-width:0}
.tool-card strong{font-family:"Ubuntu",sans-serif;font-weight:500;font-size:clamp(17px,1.2vw,22px);color:#e9fff2;white-space:nowrap}
.tool-card small{font-size:clamp(9px,.7vw,12px);color:#00d75b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tool-icon{width:38px;height:38px;border:1px solid #00f76b;border-radius:50%;display:grid;place-items:center;font-size:22px;flex:0 0 auto;color:#00ff70;box-shadow:0 0 15px rgba(0,255,100,.15)}
.site-footer{position:fixed;left:0;right:0;bottom:0;z-index:6;min-height:48px;padding:10px clamp(18px,2.6vw,42px);border-top:1px solid rgba(0,171,68,.28);background:rgba(0,0,0,.84);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:space-between;gap:22px;font-size:clamp(12px,.85vw,15px);color:#05cf5a}
.site-footer p{margin:0;line-height:1.35}.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer p span{opacity:.55;margin:0 5px}
.social-links{display:flex;gap:10px;flex:0 0 auto}.social-links a{width:30px;height:30px;border:1px solid rgba(0,255,100,.45);border-radius:50%;display:grid;place-items:center;text-decoration:none;font-family:"Ubuntu",sans-serif;font-weight:700;box-shadow:0 0 12px rgba(0,255,100,.14)}.social-links a:hover{background:#00d65b;color:#000}
@media (max-width:1000px){
  .portal-shell{padding-top:105px;padding-bottom:240px;align-items:flex-start}
  .core-menu{width:min(520px,75vw);margin-top:7vh}
  .threat-label,.blocked{display:none}
  .tools{bottom:72px}
  .tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .tool-card{height:64px}
}
@media (max-width:620px){
  body{overflow-y:auto}
  .hud-header{position:absolute;top:14px}.hud-clock{display:none}
  .portal-shell{min-height:100dvh;padding:86px 16px 280px;align-items:flex-start}
  .core-menu{width:100%;margin-top:11vh;gap:10px}
  .portal-button{min-height:62px;border-radius:9px}.button-copy strong{font-size:20px}.button-copy small{font-size:11px}.portal-button i{font-size:29px}
  .tools{position:absolute;left:16px;right:16px;bottom:92px}.tools h2{font-size:12px;letter-spacing:.09em}.tools-grid{grid-template-columns:1fr 1fr;gap:8px}.tool-card{height:58px;padding-left:12px;padding-right:28px;gap:8px}.tool-icon{width:30px;height:30px;font-size:17px}.tool-card strong{font-size:14px}.tool-card small{font-size:8px}.tool-card i{right:9px;font-size:24px}
  .site-footer{position:absolute;min-height:74px;align-items:flex-start;font-size:11px;padding:10px 16px}.site-footer p{max-width:calc(100% - 95px)}
}
@media (max-width:430px){.tools-grid{grid-template-columns:1fr}.portal-shell{padding-bottom:405px}.tools{bottom:88px}.tool-card{height:56px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.scene-noise{display:none}}

/* v2: mobile flow, larger streams, extended project grid and centered footer */
.portal-shell{min-height:calc(100dvh - 126px);padding-bottom:152px}
.tools{bottom:22px}
.tools-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.site-footer{position:relative;left:auto;right:auto;bottom:auto;z-index:6;min-height:126px;padding:18px clamp(18px,3.5vw,56px) 16px;border-top:1px solid rgba(0,171,68,.32);background:#000;backdrop-filter:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;text-align:center;font-size:clamp(13px,.9vw,16px);color:#05cf5a}
.site-footer p{margin:0;line-height:1.45;max-width:1100px}
.social-links{display:flex;justify-content:center;align-items:flex-start;gap:clamp(18px,3vw,38px)}
.social-links a{width:auto;height:auto;border:0;border-radius:0;display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;font-family:"Ubuntu",sans-serif;font-weight:700;box-shadow:none;color:#0aff70}
.social-links a>span{width:54px;height:54px;border:1px solid rgba(0,255,100,.72);border-radius:50%;display:grid;place-items:center;font-size:22px;line-height:1;background:rgba(0,25,10,.78);box-shadow:0 0 18px rgba(0,255,100,.22),inset 0 0 16px rgba(0,255,100,.05);transition:.22s ease}
.social-links a:nth-child(3)>span{font-size:12px;letter-spacing:.02em}
.social-links a small{font:500 11px/1 "Ubuntu Mono",monospace;letter-spacing:.04em;color:#5be58d}
.social-links a:hover{background:transparent;color:#0aff70;text-decoration:none}
.social-links a:hover>span,.social-links a:focus-visible>span{background:#00d65b;color:#000;box-shadow:0 0 28px rgba(0,255,100,.55);transform:translateY(-2px)}

@media (max-width:1000px){
  .portal-shell{min-height:auto;padding:105px 18px 40px;display:block}
  .core-menu{width:min(520px,75vw);margin:7vh auto 0}
  .tools{position:relative;left:auto;right:auto;bottom:auto;margin:clamp(42px,8vh,76px) auto 0;width:min(900px,100%)}
  .tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .site-footer{min-height:150px;margin-top:0;padding:20px 18px 24px}
}
@media (max-width:620px){
  .portal-shell{min-height:auto;padding:86px 16px 34px;display:block}
  .core-menu{width:100%;margin:11vh auto 0;gap:10px}
  .tools{position:relative;left:auto;right:auto;bottom:auto;margin:46px 0 0;width:100%}
  .tools h2{font-size:13px;letter-spacing:.09em;margin-bottom:14px}
  .tools-grid{grid-template-columns:1fr;gap:9px}
  .tool-card{height:64px;padding-left:14px;padding-right:32px;gap:10px}
  .tool-icon{width:34px;height:34px;font-size:18px}.tool-card strong{font-size:16px}.tool-card small{font-size:9px}.tool-card i{right:11px;font-size:27px}
  .site-footer{position:relative;min-height:178px;align-items:center;font-size:12px;padding:22px 16px 28px;gap:16px}
  .site-footer p{max-width:340px;text-align:center}
  .social-links{gap:24px}.social-links a>span{width:52px;height:52px;font-size:22px}.social-links a small{font-size:10px}
}
@media (max-width:430px){
  .portal-shell{padding-bottom:30px}.tools{margin-top:42px}.tool-card{height:62px}
}


/* v3: desktop vertical spacing + HardVPN moved into project grid */
@media (min-width:1001px){
  .portal-shell{
    min-height:max(940px,calc(100dvh + 180px));
    padding-top:11vh;
    padding-bottom:245px;
  }
  .core-menu{
    transform:translateY(-70px);
  }
  .tools{
    bottom:38px;
  }
  .tools h2{
    margin-bottom:18px;
  }
  .tools-grid{
    row-gap:18px;
  }
}

/* HardVPN is a normal project card; footer keeps only social profiles */
.tool-card .tool-icon{font-size:18px}
.social-links{gap:clamp(24px,4vw,46px)}

@media (max-width:1000px){
  .core-menu{transform:none}
  .tools{margin-top:clamp(62px,10vh,94px)}
}
@media (max-width:620px){
  .tools{margin-top:58px}
  .site-footer{margin-top:8px}
}


/* v4: two additional project cards, aligned under HardJob and SocialBoost */
@media (min-width:1001px){
  .portal-shell{
    min-height:max(1100px,calc(100dvh + 340px));
    padding-bottom:345px;
  }
  .tool-card-antihack{grid-column:2;}
  .tool-card-plugins{grid-column:3;}
}
@media (max-width:1000px){
  .tool-card-antihack,.tool-card-plugins{grid-column:auto;}
}
