:root{--amber:#ffb54a;--amber2:#ffd899;--bg:#050301;--line:rgba(255,181,74,.28)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:#000;color:var(--amber2);font-family:Consolas,Monaco,'Courier New',monospace;overflow:hidden}button{font:inherit}.hidden{display:none!important}.boot-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#000;color:var(--amber);z-index:50}.boot-content{position:relative;z-index:3;display:flex;align-items:center;gap:12px;font-size:30px;letter-spacing:.05em;text-shadow:0 0 10px rgba(255,181,74,.35);transition:opacity .06s linear}.boot-line{display:flex;align-items:center;gap:12px}.boot-cursor{margin-left:8px;width:18px;height:24px;background:var(--amber);display:inline-block;box-shadow:0 0 10px rgba(255,181,74,.45);animation:blink 1s steps(1) infinite}.boot-powerline{position:absolute;left:0;right:0;top:50%;height:2px;background:rgba(255,194,98,1);box-shadow:0 0 30px rgba(255,181,74,.6);transform:translateY(-50%) scaleX(0);opacity:0}.boot-noise{position:absolute;inset:0;opacity:.06;background-image:radial-gradient(circle at 20% 30%, rgba(255,255,255,.18) 0 1px, transparent 1px),radial-gradient(circle at 76% 62%, rgba(255,255,255,.12) 0 1px, transparent 1px),radial-gradient(circle at 42% 74%, rgba(255,255,255,.16) 0 1px, transparent 1px);background-size:7px 7px,9px 9px,11px 11px}.boot-screen.fade{animation:fadeOut .35s ease forwards}@keyframes powerOn{0%{opacity:1;transform:translateY(-50%) scaleX(0)}35%{opacity:1;transform:translateY(-50%) scaleX(.2)}65%{opacity:1;transform:translateY(-50%) scaleX(1)}100%{opacity:1;transform:translateY(-50%) scaleX(1);height:120vh}}@keyframes fadeOut{to{opacity:0;visibility:hidden}}@keyframes blink{0%,50%{opacity:1}50.01%,100%{opacity:0}}.desktop{position:fixed;inset:0;background:radial-gradient(circle at center,#150b04 0%,var(--bg) 55%,#020100 100%)}@keyframes screenOn{0%{opacity:0;transform:scaleY(.03)}45%{opacity:.85;transform:scaleY(.08)}100%{opacity:1;transform:scaleY(1)}}.crt-overlay,.screen-static,.screen-vignette{position:fixed;inset:0;pointer-events:none}.crt-overlay{background:linear-gradient(rgba(255,181,74,.016),rgba(255,181,74,.01)),repeating-linear-gradient(to bottom,rgba(255,181,74,.03) 0px,rgba(255,181,74,.03) 1px,transparent 2px,transparent 4px);opacity:.5}.screen-static{opacity:.04;background-image:radial-gradient(circle at 14% 18%, rgba(255,255,255,.24) 0 1px, transparent 1px),radial-gradient(circle at 74% 28%, rgba(255,255,255,.14) 0 1px, transparent 1px),radial-gradient(circle at 34% 68%, rgba(255,255,255,.14) 0 1px, transparent 1px),radial-gradient(circle at 82% 82%, rgba(255,255,255,.16) 0 1px, transparent 1px);background-size:8px 8px,10px 10px,12px 12px,9px 9px}.screen-vignette{box-shadow:inset 0 0 120px rgba(0,0,0,.65)}.pi-layer{position:fixed;inset:0;z-index:1;pointer-events:none}.pi-cluster{position:absolute;width:54px;height:54px;opacity:.16;pointer-events:auto}.pi-core{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:30px;color:rgba(255,201,123,.32)}.pi-ring{position:absolute;inset:0;animation:orbit 24s linear infinite}.pi-cluster:hover{opacity:.28;transform:scale(1.05)}.pi-cluster:hover .pi-ring{animation-duration:22.8s}.pi-digit{position:absolute;left:50%;top:50%;font-size:8px;color:rgba(255,216,160,.5);transform-origin:0 0}@keyframes orbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.hub{position:absolute;inset:0;z-index:2}.hub-card{
  position:absolute;
  left:50%;
  top:50%;
  width:230px;
  height:230px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(255,181,74,.26);
  background:rgba(10,6,3,.8);
  box-shadow:0 0 0 1px rgba(255,181,74,.05) inset,0 0 18px rgba(255,181,74,.08);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:14px;
  border-radius:50%;
}.hub-name{
  font-size:18px;
  line-height:1.05;
  white-space:nowrap;
  letter-spacing:0;
  color:#ffe3b0;
}.hub-sub{
  margin-top:10px;
  font-size:9px;
  line-height:1.1;
  white-space:nowrap;
  letter-spacing:.08em;
  color:rgba(255,215,149,.72);
}.hub-pi{
  margin-top:18px;
  font-size:30px;
  color:rgba(255,191,97,.78);
}.node{border-radius:40px;position:absolute;width:190px;height:66px;border:1px solid rgba(255,181,74,.26);background:rgba(11,7,4,.86);color:var(--amber2);box-shadow:0 0 0 1px rgba(255,181,74,.05) inset;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,color .18s ease}.node:hover{border-color:rgba(255,208,141,.72);box-shadow:0 0 16px rgba(255,181,74,.15),0 0 0 1px rgba(255,181,74,.08) inset;color:#ffe3b0}.node-about{left:50%;top:8%;transform:translateX(-50%)}.node-experience{right:15%;top:31%}.node-skills{right:15%;bottom:24%}.node-projects{left:50%;bottom:8%;transform:translateX(-50%)}.node-education{left:15%;bottom:24%}.node-contact{left:15%;top:31%}.window-layer{position:fixed;inset:0;z-index:5;pointer-events:none}.window{border-radius:10px;position:absolute;background:linear-gradient(180deg,rgba(18,11,6,.96),rgba(8,5,3,.97));border:1px solid rgba(255,181,74,.28);box-shadow:0 0 0 1px rgba(255,181,74,.05) inset,0 0 20px rgba(255,181,74,.12);display:none;pointer-events:auto;min-width:260px;min-height:160px}.window.open{display:block}.titlebar{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 10px;background:rgba(255,181,74,.06);border-bottom:1px solid rgba(255,181,74,.18);cursor:move;user-select:none}.title-left{display:flex;align-items:center;gap:8px}.title-dot{width:8px;height:8px;background:rgba(255,181,74,.8)}.title-text{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#ffe1a7}.controls{display:flex;gap:6px}.control{width:22px;height:22px;border:1px solid rgba(255,181,74,.22);background:#0e0905;color:var(--amber2);cursor:pointer}.control:hover{border-color:rgba(255,208,141,.72)}.window-body{height:calc(100% - 34px);overflow:auto;padding:14px 16px;font-size:14px;line-height:1.6}.window-body.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.window-body hr{border:none;border-top:1px solid rgba(255,181,74,.16);margin:16px 0}.entry{margin-bottom:14px}.entry-title{color:#ffe2ad;font-weight:bold}.entry-meta{color:rgba(255,215,149,.68);font-size:12px;margin:4px 0 6px}.project-card{border:1px solid rgba(255,181,74,.14);background:#090502;padding:10px 12px;margin-bottom:10px}.resize-handle{position:absolute;right:0;bottom:0;width:14px;height:14px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 0 38%,rgba(255,181,74,.6) 38% 46%,transparent 46% 58%,rgba(255,181,74,.6) 58% 66%,transparent 66%)}ul{margin:8px 0 0 18px}p{margin:0 0 12px 0}h4{margin:0 0 8px}@media (max-width:980px){.hub-card{
  position:absolute;
  left:50%;
  top:50%;
  width:230px;
  height:230px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(255,181,74,.26);
  background:rgba(10,6,3,.8);
  box-shadow:0 0 0 1px rgba(255,181,74,.05) inset,0 0 18px rgba(255,181,74,.08);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:14px;
  border-radius:50%;
}.hub-name{
  font-size:18px;
  line-height:1.05;
  white-space:nowrap;
  letter-spacing:0;
  color:#ffe3b0;
}.node{border-radius:40px;width:148px;height:58px;font-size:13px}}

/* NEW CRT POWER ANIMATION */
.boot-screen.powering .boot-content {
  opacity: 0;
}

.boot-flash-line {
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:2px;
  background:#ffc46b;
  box-shadow:0 0 40px #ffb54a;
  transform:translateY(-50%) scaleX(0);
  opacity:0;
}

.boot-screen.powering .boot-flash-line {
  animation:crtLine 0.25s ease forwards, crtExpand 0.5s 0.25s ease forwards;
}

@keyframes crtLine {
  0% {opacity:0; transform:translateY(-50%) scaleX(0);}
  40% {opacity:1; transform:translateY(-50%) scaleX(0.3);}
  100% {opacity:1; transform:translateY(-50%) scaleX(1);}
}

@keyframes crtExpand {
  0% {height:2px;}
  100% {height:120vh;}
}

/* slight flicker when screen turns on */
.desktop.turn-on {
  animation:crtOn 0.6s ease;
}

@keyframes crtOn {
  0% {opacity:0; filter:brightness(2);}
  30% {opacity:1; filter:brightness(1.5);}
  60% {filter:brightness(0.8);}
  100% {filter:brightness(1);}
}


/* Node active glow */
.node.active {
  border-color: rgba(255,210,140,0.9);
  box-shadow: 0 0 18px rgba(255,181,74,0.35);
}

/* Remove square control */
.control.focus {
  display:none;
}


/* flat control style */
.control {
  border-radius: 0;
}

/* Only X button, flat */
.controls {
  justify-content: flex-end;
}

.control {
  border: none;
  background: transparent;
  color: #ffd899;
  font-size: 16px;
}
.control:hover {
  color: #ffb54a;
}


/* Better dragging behavior */
.titlebar{
  user-select:none;
  -webkit-user-select:none;
}
.window.dragging,
.window.dragging *{
  user-select:none !important;
  -webkit-user-select:none !important;
  cursor:move !important;
}
body.dragging-window,
body.dragging-window *{
  user-select:none !important;
  -webkit-user-select:none !important;
}
.window-body{
  user-select:text;
  -webkit-user-select:text;
}

  35%{opacity:1; filter:brightness(1.3) contrast(1.02);}
  65%{filter:brightness(.92);}
  100%{opacity:1; filter:brightness(1);}
}


/* Straightforward CRT startup */
.boot-screen{
  overflow:hidden;
}
.boot-screen.powering .boot-content{
  opacity:0;
}
.boot-powerline{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:2px;
  background:#ffc46b;
  box-shadow:
    0 0 18px rgba(255,181,74,.95),
    0 0 42px rgba(255,181,74,.45);
  transform:translateY(-50%) scaleX(0);
  transform-origin:center center;
  opacity:0;
}
.boot-screen.powering .boot-powerline{
  animation: bootLineAcross .12s ease-out forwards, bootLineOpen .42s .12s ease-out forwards;
}
.desktop{
  opacity:0;
  clip-path: inset(50% 0 50% 0);
}
.desktop.turn-on{
  animation: desktopReveal .46s ease-out forwards;
}
@keyframes bootLineAcross{
  0%{
    opacity:0;
    transform:translateY(-50%) scaleX(0);
  }
  100%{
    opacity:1;
    transform:translateY(-50%) scaleX(1);
  }
}
@keyframes bootLineOpen{
  0%{
    height:2px;
    opacity:1;
  }
  45%{
    height:18vh;
    opacity:1;
  }
  100%{
    height:120vh;
    opacity:1;
  }
}
@keyframes desktopReveal{
  0%{
    opacity:0;
    clip-path: inset(50% 0 50% 0);
    filter:brightness(1.75);
  }
  18%{
    opacity:1;
    clip-path: inset(48% 0 48% 0);
    filter:brightness(1.95);
  }
  55%{
    opacity:1;
    clip-path: inset(14% 0 14% 0);
    filter:brightness(1.15);
  }
  100%{
    opacity:1;
    clip-path: inset(0 0 0 0);
    filter:brightness(1);
  }
}


.cert-list a{
  color:#ffe2ad;
  text-decoration:underline;
}
.cert-list a:hover{
  color:#ffb54a;
}


.hub-name{
  font-size:18px;
  line-height:1.05;
  white-space:nowrap;
  letter-spacing:0;
  color:#ffe3b0;
}

.hub-sub{
  margin-top:10px;
  font-size:9px;
  line-height:1.1;
  white-space:nowrap;
  letter-spacing:.08em;
  color:rgba(255,215,149,.72);
}


/* Make center hub feel clickable like the other buttons */
.hub-card{
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
}

.hub-card:hover{
  border-color:rgba(255,208,141,.72);
  box-shadow:0 0 16px rgba(255,181,74,.15), 0 0 0 1px rgba(255,181,74,.08) inset;
  transform:translate(-50%,-50%) scale(1.02);
}

.hub-card:active{
  transform:translate(-50%,-50%) scale(.99);
}
