
/* Borbolla Operator Mode — isolated additive experience; does not alter the normal portfolio layout. */
:root{--bo-green:#4ade80;--bo-green2:#22c55e;--bo-bg:#03070d;--bo-panel:#071019;--bo-line:rgba(74,222,128,.22);--bo-text:#d8e0e8;--bo-muted:#7f8b98;--bo-danger:#fb7185;--bo-warn:#facc15}
body.bo-open{overflow:hidden!important}
#bo-root{position:fixed;inset:0;z-index:2147483000;display:none;color:var(--bo-text);background:radial-gradient(circle at 70% 20%,rgba(34,197,94,.09),transparent 32%),linear-gradient(180deg,#03070d,#02050a 62%,#010306);font-family:"JetBrains Mono",monospace;overflow:hidden}
#bo-root.bo-visible{display:block}
#bo-root *{box-sizing:border-box}
.bo-scan{position:absolute;inset:0;pointer-events:none;opacity:.13;background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(255,255,255,.025) 4px);mix-blend-mode:screen}
.bo-gridbg{position:absolute;pointer-events:none;inset:38px 0 44px;background-image:linear-gradient(rgba(74,222,128,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(74,222,128,.025) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,transparent,black 15%,black 85%,transparent)}
.bo-top{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--bo-line);background:rgba(3,7,13,.92);position:relative;z-index:4}
.bo-brand{display:flex;align-items:center;gap:9px;color:var(--bo-green);font-size:11px;letter-spacing:.08em}.bo-brand strong{color:#ecfdf5}.bo-status{display:flex;gap:14px;color:var(--bo-muted);font-size:10px}.bo-status b{color:var(--bo-green);font-weight:500}.bo-top-actions{display:flex;align-items:center;gap:6px}.bo-top button{border:1px solid rgba(255,255,255,.09);background:#070d14;color:#aab5c0;border-radius:5px;padding:5px 8px;font:10px "JetBrains Mono",monospace;cursor:pointer}.bo-top button:hover{border-color:var(--bo-line);color:var(--bo-green)}
.bo-desktop{position:absolute;z-index:1;inset:38px 0 44px;padding:26px 24px 20px;overflow:auto}.bo-intro{max-width:660px;margin:1vh 0 24px 1vw}.bo-kicker{color:var(--bo-green);font-size:11px;letter-spacing:.18em}.bo-intro h2{font:600 clamp(28px,4vw,54px)/1 "Space Grotesk",sans-serif;margin:10px 0;color:#e9eef3;letter-spacing:-.035em}.bo-intro p{max-width:620px;color:#8e9aa7;font:13px/1.7 "JetBrains Mono",monospace}.bo-intro .bo-command{color:var(--bo-green);opacity:.9}
.bo-app-grid{display:grid;grid-template-columns:repeat(5,minmax(116px,1fr));gap:11px;max-width:900px;margin-left:1vw}.bo-app{min-height:98px;text-align:left;border:1px solid rgba(148,163,184,.13);background:linear-gradient(145deg,rgba(10,18,28,.87),rgba(4,9,15,.84));border-radius:10px;padding:12px;cursor:pointer;color:#d8e0e8;transition:.18s transform,.18s border-color,.18s background}.bo-app:hover{transform:translateY(-2px);border-color:rgba(74,222,128,.42);background:linear-gradient(145deg,rgba(9,26,24,.96),rgba(4,9,15,.88))}.bo-app-icon{width:30px;height:30px;border:1px solid rgba(74,222,128,.28);display:flex;align-items:center;justify-content:center;border-radius:7px;color:var(--bo-green);font-size:14px;margin-bottom:13px;background:rgba(74,222,128,.05)}.bo-app b{display:block;font:600 11px "JetBrains Mono",monospace;color:#dfe8ef}.bo-app span{display:block;margin-top:5px;color:#65727e;font-size:9px;line-height:1.35}
.bo-dock{position:absolute;left:0;right:0;bottom:0;height:44px;border-top:1px solid var(--bo-line);background:rgba(3,7,13,.94);display:flex;align-items:center;justify-content:center;gap:9px;z-index:40}.bo-dock button{height:28px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#081019;color:#97a4b1;font:10px "JetBrains Mono",monospace;padding:0 10px;cursor:pointer}.bo-dock button:hover{color:var(--bo-green);border-color:rgba(74,222,128,.4)}
.bo-window{position:absolute;width:min(860px,calc(100vw - 48px));height:min(610px,calc(100vh - 108px));left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(4,9,15,.985);border:1px solid rgba(74,222,128,.25);border-radius:11px;box-shadow:0 28px 100px rgba(0,0,0,.64),0 0 0 1px rgba(255,255,255,.02);overflow:hidden;display:none;pointer-events:none;z-index:20}.bo-window.bo-active{display:block;pointer-events:auto}.bo-window.bo-front{z-index:30}.bo-titlebar{height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid rgba(74,222,128,.18);background:#071019}.bo-title-left{display:flex;align-items:center;gap:8px}.bo-dots{display:flex;gap:5px}.bo-dot{width:8px;height:8px;border-radius:50%}.bo-dot.r{background:#ef4444}.bo-dot.y{background:#eab308}.bo-dot.g{background:#22c55e}.bo-title{font-size:10px;color:#8fa0ad}.bo-close{border:0;background:transparent;color:#7d8a96;font:16px/1 monospace;cursor:pointer;padding:2px 6px}.bo-close:hover{color:#fff}.bo-body{height:calc(100% - 36px);overflow:auto;padding:18px}.bo-section-title{font:600 22px/1.1 "Space Grotesk",sans-serif;color:#e8eef4;margin:0 0 7px}.bo-sub{font-size:10px;color:#6e7c88;line-height:1.5;margin-bottom:18px}.bo-green{color:var(--bo-green)}
.bo-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}.bo-tabs button,.bo-chip{border:1px solid rgba(148,163,184,.16);background:#071019;color:#8d9aa6;border-radius:6px;padding:7px 9px;font:10px "JetBrains Mono",monospace;cursor:pointer}.bo-tabs button.bo-selected,.bo-tabs button:hover,.bo-chip:hover{border-color:rgba(74,222,128,.45);color:var(--bo-green);background:rgba(74,222,128,.055)}
.bo-lab-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}.bo-card{border:1px solid rgba(148,163,184,.12);border-radius:9px;background:rgba(7,16,25,.65);padding:13px}.bo-card h4{font-size:11px;color:#dce5ec;margin:0 0 8px}.bo-card p{font-size:10px;color:#7d8a96;line-height:1.55}.bo-choice{display:block;width:100%;text-align:left;border:1px solid rgba(148,163,184,.12);background:#050b12;color:#9ca8b4;border-radius:7px;padding:10px;margin:7px 0;font:10px/1.5 "JetBrains Mono",monospace;cursor:pointer}.bo-choice:hover{border-color:rgba(74,222,128,.43);color:#dff8e8}.bo-choice.bo-good{border-color:rgba(74,222,128,.48);background:rgba(74,222,128,.07);color:#b7f7ca}.bo-choice.bo-bad{border-color:rgba(251,113,133,.35);background:rgba(251,113,133,.05)}.bo-path{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.bo-node{border:1px solid rgba(74,222,128,.25);color:#9feab6;background:#06100b;border-radius:5px;padding:6px 7px;font-size:9px}.bo-arrow{color:#3c6850}.bo-score{font-size:28px;color:var(--bo-green);font-weight:700}.bo-score small{font-size:10px;color:#73808c;font-weight:400}
.bo-terminal{height:100%;display:flex;flex-direction:column;background:#02060a}.bo-terminal-output{flex:1;overflow:auto;padding:14px;font-size:10px;line-height:1.6;color:#9ba8b4;white-space:pre-wrap}.bo-terminal-output .ok{color:var(--bo-green)}.bo-terminal-output .muted{color:#65727d}.bo-terminal-output .warn{color:#facc15}.bo-term-inputrow{display:flex;align-items:center;border-top:1px solid rgba(74,222,128,.16);padding:9px 12px;background:#050a10}.bo-prompt{color:var(--bo-green);font-size:10px;margin-right:7px}.bo-term-input{flex:1;background:transparent;border:0;outline:0;color:#dce6ee;font:10px "JetBrains Mono",monospace}.bo-term-suggest{display:flex;gap:5px;flex-wrap:wrap;padding:8px 12px;border-top:1px solid rgba(255,255,255,.04)}.bo-term-suggest button{border:1px solid rgba(148,163,184,.12);background:#061018;color:#73808c;border-radius:5px;padding:5px 7px;font:9px "JetBrains Mono",monospace;cursor:pointer}.bo-term-suggest button:hover{color:var(--bo-green)}
.bo-mitre{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.bo-tactic{border:1px solid rgba(148,163,184,.12);border-radius:8px;background:#061018;padding:9px}.bo-tactic h5{margin:0 0 8px;color:#b8c4ce;font-size:10px}.bo-tech{display:block;width:100%;text-align:left;margin:5px 0;padding:6px;border:1px solid transparent;background:#040a10;border-radius:5px;color:#73818e;font:9px "JetBrains Mono",monospace;cursor:pointer}.bo-tech:hover,.bo-tech.bo-selected{border-color:rgba(74,222,128,.32);color:var(--bo-green)}.bo-tech-detail{margin-top:12px;border-left:2px solid var(--bo-green);padding:10px 12px;background:rgba(74,222,128,.035);font-size:10px;color:#8d9aa6;line-height:1.55}
.bo-radar{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.bo-radar-item{position:relative;border:1px solid rgba(148,163,184,.12);background:#061018;border-radius:8px;padding:12px;overflow:hidden}.bo-radar-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#22c55e}.bo-radar-item.critical:before{background:#fb7185}.bo-radar-item.high:before{background:#f59e0b}.bo-radar-item.medium:before{background:#38bdf8}.bo-radar-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px}.bo-radar-id{color:#dbe5ec;font-size:10px}.bo-badge{border:1px solid rgba(148,163,184,.16);color:#71808d;border-radius:999px;padding:2px 6px;font-size:8px}.bo-radar-item p{font-size:9px;color:#778591;line-height:1.5}.bo-radar-meta{margin-top:9px;color:#4ade80;font-size:8px}
.bo-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bo-form label{display:block;font-size:9px;color:#6f7d88}.bo-form select{width:100%;margin-top:6px;background:#061018;border:1px solid rgba(148,163,184,.16);color:#c7d1d9;border-radius:6px;padding:8px;font:10px "JetBrains Mono",monospace}.bo-report{margin-top:14px;border:1px solid rgba(148,163,184,.12);background:#050b12;border-radius:8px;padding:14px}.bo-report h4{color:#dfe8ef;font-size:12px;margin:0 0 9px}.bo-report dl{display:grid;grid-template-columns:110px 1fr;gap:6px 10px;font-size:9px}.bo-report dt{color:#64727e}.bo-report dd{margin:0;color:#9ba8b4;line-height:1.45}.bo-sev{font-weight:700}.bo-sev.high{color:#f59e0b}.bo-sev.critical{color:#fb7185}.bo-sev.medium{color:#38bdf8}
.bo-chain{position:relative;padding-left:22px}.bo-chain:before{content:"";position:absolute;left:7px;top:4px;bottom:4px;width:1px;background:linear-gradient(var(--bo-green),rgba(74,222,128,.08))}.bo-stage{position:relative;margin-bottom:15px;padding:10px 12px;border:1px solid rgba(148,163,184,.12);border-radius:8px;background:#061018}.bo-stage:before{content:"";position:absolute;left:-20px;top:16px;width:7px;height:7px;border-radius:50%;background:var(--bo-green);box-shadow:0 0 10px rgba(74,222,128,.55)}.bo-stage b{display:block;color:#dce6ed;font-size:10px}.bo-stage span{display:block;color:#687681;font-size:9px;margin-top:5px}.bo-stage em{font-style:normal;color:var(--bo-green);font-size:8px;letter-spacing:.08em}
.bo-posture-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.bo-posture-item{display:flex;justify-content:space-between;gap:12px;border:1px solid rgba(148,163,184,.11);background:#061018;border-radius:7px;padding:9px;font-size:9px}.bo-posture-item span:last-child{color:#facc15}.bo-posture-item.pass span:last-child{color:var(--bo-green)}.bo-posture-item.fail span:last-child{color:#fb7185}.bo-run{margin-top:12px;border:1px solid rgba(74,222,128,.38);background:rgba(74,222,128,.06);color:var(--bo-green);border-radius:6px;padding:8px 10px;font:10px "JetBrains Mono",monospace;cursor:pointer}
.bo-cardgen{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:14px;align-items:start}.bo-card-preview{border:1px solid rgba(74,222,128,.22);border-radius:9px;overflow:hidden;background:#050b12}.bo-card-preview canvas{display:block;width:100%;height:auto}.bo-card-actions{border:1px solid rgba(148,163,184,.12);border-radius:9px;background:#061018;padding:12px}.bo-card-actions p{font-size:9px;color:#73818d;line-height:1.55}.bo-card-actions button{width:100%;margin-top:9px;border:1px solid rgba(74,222,128,.36);background:rgba(74,222,128,.06);color:var(--bo-green);border-radius:6px;padding:8px;font:10px "JetBrains Mono",monospace;cursor:pointer}
.bo-easter{position:absolute;left:50%;bottom:55px;transform:translateX(-50%) translateY(15px);opacity:0;pointer-events:none;border:1px solid rgba(74,222,128,.45);background:#02070c;color:#a6f5be;padding:9px 12px;border-radius:7px;font-size:9px;transition:.25s;z-index:50}.bo-easter.show{opacity:1;transform:translateX(-50%) translateY(0)}
.bo-helpnote{border:1px dashed rgba(74,222,128,.25);background:rgba(74,222,128,.025);color:#74828e;border-radius:8px;padding:10px;font-size:9px;line-height:1.55;margin-top:12px}
@media(max-width:900px){.bo-app-grid{grid-template-columns:repeat(3,minmax(100px,1fr))}.bo-mitre{grid-template-columns:repeat(2,1fr)}.bo-lab-grid,.bo-cardgen{grid-template-columns:1fr}.bo-card-actions{order:-1}.bo-radar{grid-template-columns:1fr}}
@media(max-width:640px){.bo-status{display:none}.bo-desktop{padding:18px 12px}.bo-intro{margin-left:0}.bo-intro h2{font-size:33px}.bo-app-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-left:0}.bo-app{min-height:88px}.bo-window{width:calc(100vw - 16px);height:calc(100vh - 94px);top:43px;left:8px;transform:none}.bo-body{padding:12px}.bo-mitre{grid-template-columns:1fr}.bo-form{grid-template-columns:1fr}.bo-posture-grid{grid-template-columns:1fr}.bo-dock{justify-content:flex-start;overflow-x:auto;padding:0 8px}.bo-dock button{flex:0 0 auto}}
@media(prefers-reduced-motion:reduce){.bo-app,.bo-easter{transition:none}}

/* SAST hardening: styles previously emitted as inline attributes in Operator Mode */
.bo-lab-question{margin-top:12px}
.bo-score-wrap{margin-top:18px}
.bo-lab-question-text{color:#cbd5df!important;margin-bottom:9px!important}
.bo-path-empty{font-size:9px;color:#65727e}
.bo-tech-map{color:#5f6c77}
.bo-radar-title{color:#b9c4ce}
.bo-term-line{min-height:1.6em}

/* Operator interaction hardening */
#bo-root.bo-visible{pointer-events:auto}
.bo-top,.bo-dock,.bo-desktop,.bo-window.bo-active{pointer-events:auto}
.bo-close{position:relative;z-index:3;min-width:28px;min-height:28px;display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation}
.bo-dock{isolation:isolate}


/* Discreet keyboard-only entry point in the normal site footer. */
.bo-shortcut-hint{display:block;width:max-content;max-width:100%;margin:8px auto 0;color:currentColor;opacity:.24;font:500 9px/1.2 "JetBrains Mono",monospace;letter-spacing:.08em;text-align:center;user-select:none;pointer-events:none}

/* Globe visibility tuning: +20% over the immediately previous final values. */
.hero-dotted-globe{opacity:.396}
@media (min-width:1536px){.hero-dotted-globe{opacity:.593}}
@media (max-width:1023px){.hero-dotted-globe{opacity:.497}}
@media (max-width:767px){.hero-dotted-globe{opacity:.353}}
@media (prefers-reduced-motion:reduce){.hero-dotted-globe{opacity:.497}}

/* Larger Operator Mode workspace and typography on desktop only. */
@media (min-width:1024px){
  .bo-top{height:44px;padding:0 16px}
  .bo-brand{font-size:12px;gap:10px}.bo-status{font-size:11px;gap:16px}.bo-top button{font-size:11px;padding:6px 10px}
  .bo-desktop{inset:44px 0 50px;padding:30px 30px 24px}
  .bo-intro{max-width:760px;margin-bottom:28px}.bo-kicker{font-size:12px}.bo-intro h2{font-size:clamp(38px,4vw,62px)}.bo-intro p{max-width:720px;font-size:14px;line-height:1.75}
  .bo-app-grid{grid-template-columns:repeat(5,minmax(130px,1fr));gap:14px;max-width:1100px}.bo-app{min-height:116px;padding:15px}.bo-app-icon{width:36px;height:36px;font-size:17px;margin-bottom:15px}.bo-app b{font-size:13px}.bo-app span{font-size:11px;line-height:1.45}
  .bo-dock{height:50px;gap:10px}.bo-dock button{height:32px;font-size:11px;padding:0 12px}
  .bo-window{width:min(1120px,calc(100vw - 80px));height:min(740px,calc(100vh - 90px));border-radius:12px}
  .bo-titlebar{height:42px;padding:0 12px}.bo-title{font-size:12px}.bo-dot{width:9px;height:9px}.bo-close{min-width:34px;min-height:34px;font-size:19px}
  .bo-body{height:calc(100% - 42px);padding:24px}.bo-section-title{font-size:28px;margin-bottom:9px}.bo-sub{font-size:12px;line-height:1.65;margin-bottom:22px}
  .bo-tabs{gap:8px;margin-bottom:19px}.bo-tabs button,.bo-chip{padding:9px 12px;font-size:12px}
  .bo-lab-grid{gap:18px}.bo-card{padding:17px}.bo-card h4{font-size:14px;margin-bottom:10px}.bo-card p{font-size:12px;line-height:1.65}.bo-choice{padding:12px;margin:9px 0;font-size:12px;line-height:1.55}.bo-node{padding:7px 9px;font-size:11px}.bo-score{font-size:34px}.bo-score small{font-size:12px}
  .bo-terminal-output{padding:18px;font-size:12.5px;line-height:1.7}.bo-term-inputrow{padding:11px 15px}.bo-prompt{font-size:12px}.bo-term-input{font-size:12.5px}.bo-term-suggest{gap:7px;padding:10px 15px}.bo-term-suggest button{padding:7px 9px;font-size:11px}
  .bo-mitre{gap:10px}.bo-tactic{padding:12px}.bo-tactic h5{font-size:12px;margin-bottom:10px}.bo-tech{padding:8px;font-size:11px}.bo-tech-detail{padding:12px 14px;font-size:12px;line-height:1.65}
  .bo-radar{gap:12px}.bo-radar-item{padding:15px}.bo-radar-id{font-size:12px}.bo-badge{font-size:10px;padding:3px 7px}.bo-radar-item p{font-size:11px;line-height:1.6}.bo-radar-meta{font-size:10px}
  .bo-form{gap:14px}.bo-form label{font-size:11px}.bo-form select{padding:10px;font-size:12px}.bo-report{padding:18px}.bo-report h4{font-size:15px}.bo-report dl{grid-template-columns:135px 1fr;gap:8px 12px;font-size:11.5px}.bo-report dd{line-height:1.55}
  .bo-chain{padding-left:26px}.bo-stage{padding:13px 15px;margin-bottom:18px}.bo-stage b{font-size:12px}.bo-stage span{font-size:11px;line-height:1.5}.bo-stage em{font-size:10px}
  .bo-posture-grid{gap:10px}.bo-posture-item{padding:11px;font-size:11px}.bo-run{padding:10px 13px;font-size:12px}
  .bo-cardgen{grid-template-columns:minmax(0,1fr) 285px;gap:18px}.bo-card-actions{padding:15px}.bo-card-actions p{font-size:11px;line-height:1.65}.bo-card-actions button{padding:10px;font-size:12px}
  .bo-helpnote{padding:12px;font-size:11px;line-height:1.65}.bo-path-empty{font-size:11px}.bo-easter{font-size:11px}
}


/* === FINAL AMBIENT SITE SHELL =============================================
   Global background requested by the user: #000205. A subtle technical grid
   sits above it; all normal page sections remain transparent so this base is
   visible across the complete portfolio. */
:root{--background:#000205!important;--primary-foreground:#000205!important;--accent-foreground:#000205!important}
html{
  background-color:#000205!important;
  background-image:
    linear-gradient(rgba(71,102,88,.105) 1px,transparent 1px),
    linear-gradient(90deg,rgba(71,102,88,.105) 1px,transparent 1px),
    radial-gradient(circle at 50% -16%,rgba(32,74,57,.10),transparent 48%);
  background-size:64px 64px,64px 64px,100% 100%;
  background-attachment:fixed,fixed,fixed;
}
body{background-color:transparent!important;background-image:none!important;min-height:100%;}
#root{position:relative;z-index:1;background:transparent!important;}
#root>.bg-background,
main#main-content.bg-background{background-color:transparent!important;}

/* Keep navigation readable without reverting to the previous navy shell. */
nav.bg-background\/80{
  background-color:rgba(0,2,5,.58)!important;
  -webkit-backdrop-filter:blur(14px) saturate(125%);
  backdrop-filter:blur(14px) saturate(125%);
  border-bottom-color:rgba(74,222,128,.10)!important;
  box-shadow:0 10px 32px rgba(0,0,0,.10);
}
/* Mobile drawer remains slightly denser for text legibility. */
nav .bg-background{background-color:rgba(0,2,5,.82)!important;}

/* Remove alternating solid section bands. Every named portfolio section now
   reveals the same #000205 technical-grid shell; cards/panels keep their
   elevated surfaces for hierarchy and readability. */
section[id]{background-color:transparent!important;background-image:none!important;}

/* Light-green PCB traces inspired by the supplied references. The branches
   originate at the viewport edges and fan toward the content, while remaining
   non-interactive and visually subordinate to the portfolio. */
@media (min-width:1024px){
  body::before,body::after{
    content:"";
    position:fixed;
    top:58px;
    bottom:0;
    width:300px;
    pointer-events:none;
    z-index:0;
    opacity:.31;
    background-image:url('/assets/circuit-hud-left-e8bf87a53643.svg');
    background-repeat:no-repeat;
    background-position:left center;
    background-size:300px 100%;
    filter:drop-shadow(0 0 5px rgba(134,239,172,.10));
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 4%,#000 96%,transparent 100%);
    mask-image:linear-gradient(to bottom,transparent 0,#000 4%,#000 96%,transparent 100%);
  }
  body::before{left:0;}
  body::after{right:0;transform:scaleX(-1);transform-origin:center;}
}
@media (min-width:1536px){
  body::before,body::after{width:330px;background-size:330px 100%;opacity:.34}
}
@media (max-width:1023px){body::before,body::after{display:none!important;}}

/* Footer easter-egg shortcut tooltip bound to the existing hacker GIF. */
.bo-footer-gif-host{position:relative!important;}
.contact-hacker-gif.bo-shortcut-gif{cursor:help;}
.bo-gif-tooltip{
  position:absolute;
  left:50%;
  bottom:62px;
  transform:translate(-50%,7px);
  z-index:30;
  padding:5px 8px;
  border:1px solid rgba(74,222,128,.28);
  border-radius:5px;
  background:rgba(6,14,24,.96);
  color:#a8efbb;
  box-shadow:0 8px 24px rgba(0,0,0,.28),0 0 16px rgba(74,222,128,.06);
  font:500 9px/1.2 "JetBrains Mono",monospace;
  letter-spacing:.06em;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
.bo-gif-tooltip.show{opacity:.92;visibility:visible;transform:translate(-50%,0);}

/* #000205 globe-stage tuning */
.hero-dotted-globe{filter:drop-shadow(0 0 16px rgba(74,222,128,.10))!important}


/* === FINAL VISUAL FORMAT — 2026-09 ========================================
   Matches the approved reference: compact floating glass nav, continuous
   #000205 shell, denser green PCB rails at the viewport edges, and a permanent
   Ctrl+Shift+O callout above the footer hacker GIF. */
@media (min-width:1024px){
  nav.bg-background\/80{
    top:18px!important;
    left:50%!important;
    right:auto!important;
    width:min(920px,calc(100vw - 56px))!important;
    transform:translateX(-50%)!important;
    background:rgba(0,2,5,.26)!important;
    border:1px solid rgba(134,239,172,.15)!important;
    border-radius:10px!important;
    -webkit-backdrop-filter:blur(18px) saturate(128%)!important;
    backdrop-filter:blur(18px) saturate(128%)!important;
    box-shadow:0 10px 34px rgba(0,0,0,.20),inset 0 0 0 1px rgba(255,255,255,.012)!important;
  }
  nav.bg-background\/80>div:first-child{
    width:100%!important;
    max-width:none!important;
    height:50px!important;
    padding-left:15px!important;
    padding-right:15px!important;
  }
  nav.bg-background\/80>div:first-child>a{
    max-width:230px;
    font-size:10px!important;
    line-height:1.35!important;
  }
  nav.bg-background\/80>div:first-child>.hidden.md\:flex{
    gap:14px!important;
  }
  nav.bg-background\/80>div:first-child>.hidden.md\:flex a,
  nav.bg-background\/80>div:first-child>.hidden.md\:flex button{
    font-size:10px!important;
  }
  nav.bg-background\/80>div:first-child>.hidden.md\:flex>button:last-child{
    padding:6px 10px!important;
  }

  /* Side rails: narrow enough to frame the portfolio rather than occupy it. */
  body::before,body::after{
    top:0!important;
    bottom:0!important;
    width:190px!important;
    opacity:.46!important;
    background-size:190px 100%!important;
    filter:drop-shadow(0 0 6px rgba(74,222,128,.14))!important;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 2.5%,#000 97.5%,transparent 100%)!important;
    mask-image:linear-gradient(to bottom,transparent 0,#000 2.5%,#000 97.5%,transparent 100%)!important;
  }
}
@media (min-width:1440px){
  body::before,body::after{width:220px!important;background-size:220px 100%!important;opacity:.49!important}
}
@media (min-width:1720px){
  body::before,body::after{width:250px!important;background-size:250px 100%!important;opacity:.51!important}
}

/* The reference uses one uninterrupted stage rather than dark section bands. */
main#main-content,main#main-content>section,section[id]{background-color:transparent!important;background-image:none!important}

/* Permanent keyboard callout above the footer GIF. */
.bo-shortcut-hint{display:none!important}
#contact .bo-footer-gif-host{position:relative!important}
#contact .contact-hacker-gif.bo-shortcut-gif{pointer-events:auto!important;cursor:help!important}
#contact .bo-gif-tooltip{
  display:block!important;
  left:50%!important;
  bottom:56px!important;
  transform:translateX(-50%)!important;
  opacity:.96!important;
  visibility:visible!important;
  padding:6px 9px!important;
  border:1px solid rgba(74,222,128,.72)!important;
  border-radius:5px!important;
  background:rgba(0,2,5,.76)!important;
  color:#86efac!important;
  box-shadow:0 0 14px rgba(74,222,128,.12),0 8px 22px rgba(0,0,0,.26)!important;
  font:600 9px/1.15 "JetBrains Mono",monospace!important;
  letter-spacing:.04em!important;
}
#contact .bo-gif-tooltip::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-5px;
  width:9px;
  height:9px;
  transform:translateX(-50%) rotate(45deg);
  background:rgba(0,2,5,.92);
  border-right:1px solid rgba(74,222,128,.72);
  border-bottom:1px solid rgba(74,222,128,.72);
}
@media (max-width:767px){
  #contact .bo-gif-tooltip{bottom:48px!important;font-size:8px!important;padding:5px 7px!important}
}


/* === BOR BOLLA CYBER CIRCUIT HUD v1.0 ====================================
   Applied from circuitos-tech-spec.json. Four asymmetric PCB clusters per
   side, terminal/open/glow nodes, HUD microcopy, subtle pulse animation and
   a protected 1180px content breakpoint. */
html{
  background-color:#000205!important;
  background-image:
    linear-gradient(rgba(74,222,128,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(74,222,128,.055) 1px,transparent 1px),
    radial-gradient(circle at 50% -16%,rgba(32,74,57,.10),transparent 48%)!important;
  background-size:64px 64px,64px 64px,100% 100%!important;
}
@media (min-width:1180px){
  body::before,body::after{
    content:""!important;
    display:block!important;
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    width:clamp(140px,11vw,220px)!important;
    z-index:2!important;
    pointer-events:none!important;
    opacity:.72!important;
    background-repeat:no-repeat!important;
    background-position:center!important;
    background-size:100% 100%!important;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 2%,#000 98%,transparent 100%)!important;
    mask-image:linear-gradient(to bottom,transparent 0,#000 2%,#000 98%,transparent 100%)!important;
  }
  body::before{left:0!important;background-image:url('/assets/circuit-hud-left-e8bf87a53643.svg')!important;filter:drop-shadow(0 0 3px rgba(74,222,128,.35))!important;}
  body::after{right:0!important;left:auto!important;background-image:url('/assets/circuit-hud-right-1d7cf4fa4dcc.svg')!important;transform:none!important;transform-origin:center!important;filter:drop-shadow(0 0 3px rgba(74,222,128,.35))!important;}
}
@media (max-width:1179px){body::before,body::after{display:none!important}}
@media (prefers-reduced-motion:reduce){body::before,body::after{filter:none!important}}


/* === OPERATOR MODE SOLID STAGE + GLOBE VISIBILITY FINAL FIX ==============
   Operator Mode is intentionally opaque. The normal portfolio and its HUD
   rails must never bleed through the fullscreen layer or app windows. */
body.bo-open::before,body.bo-open::after{display:none!important}
#bo-root.bo-visible{
  background-color:#02050a!important;
  background-image:radial-gradient(circle at 70% 20%,rgba(34,197,94,.055),transparent 32%),linear-gradient(180deg,#02050a 0%,#02050a 100%)!important;
  opacity:1!important;
  isolation:isolate!important;
}
#bo-root.bo-visible .bo-desktop{
  background-color:#02050a!important;
  background-image:linear-gradient(rgba(74,222,128,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(74,222,128,.018) 1px,transparent 1px)!important;
  background-size:34px 34px!important;
}
#bo-root.bo-visible .bo-window{background:#04090f!important;opacity:1!important}
#bo-root.bo-visible .bo-window .bo-body{background:#04090f!important}
