:root{--bg:#070a0f;--surface:#0d1117;--surface2:#101722;--border:#1b2635;--text:#f8fafc;--muted:#94a3b8;--accent:#5eead4;--blue:#60a5fa;--green:#22c55e;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;line-height:1.6}.bg-grid{position:fixed;inset:0;pointer-events:none;opacity:.35;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 80%);z-index:-1}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.site-header{position:fixed;top:0;left:0;right:0;z-index:20;background:rgba(7,10,15,.78);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06)}.nav{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{font:700 22px 'JetBrains Mono',monospace;color:#fff;text-decoration:none}.brand span{color:var(--accent)}.nav-links{display:flex;gap:25px;align-items:center}.nav-links a{color:#b8c2d1;text-decoration:none;font-size:14px}.nav-links a:hover{color:#fff}.nav-resume{border:1px solid var(--accent);padding:8px 12px;color:var(--accent)!important}.menu-toggle{display:none;background:none;color:#fff;border:1px solid var(--border);padding:7px 10px}.hero{min-height:820px;padding-top:150px;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.eyebrow,.section-label,.project-kicker,.timeline-meta,.skill-card span,.notes-grid span,.credential-grid span{font:600 12px 'JetBrains Mono',monospace;letter-spacing:.12em;color:var(--accent)}h1{font-size:clamp(56px,8vw,102px);line-height:.95;letter-spacing:-.065em;margin:20px 0 28px}h1 span,h2 span{color:var(--accent)}.hero-lead{font-size:20px;color:var(--muted);max-width:700px}.hero-lead strong{color:#dbe4ef;font-weight:500}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;gap:12px;align-items:center;padding:12px 17px;text-decoration:none;font-weight:600;font-size:14px;border:1px solid var(--border)}.btn-primary{background:var(--accent);color:#06100f;border-color:var(--accent)}.btn-ghost{color:#dbe4ef;background:rgba(255,255,255,.02)}.btn-ghost:hover{border-color:#526173}.social-row{display:flex;gap:22px;margin-top:28px}.social-row a{font:500 12px 'JetBrains Mono',monospace;color:#7f8da0;text-decoration:none}.social-row a:hover{color:#fff}.system-card{border:1px solid var(--border);background:linear-gradient(145deg,rgba(16,23,34,.96),rgba(7,10,15,.95));padding:20px;box-shadow:0 25px 80px rgba(0,0,0,.25)}.card-top{display:flex;justify-content:space-between;font:600 11px 'JetBrains Mono',monospace;color:#6f7d90;border-bottom:1px solid var(--border);padding-bottom:14px}.online{color:var(--green)}.core-node{display:flex;align-items:center;gap:15px;padding:28px 4px}.core-node strong,.core-node small{display:block}.core-node strong{font:600 13px 'JetBrains Mono',monospace}.core-node small{color:#687689;font-size:10px;margin-top:4px}.core-ring{width:46px;height:46px;border:1px solid var(--accent);border-radius:50%;position:relative;box-shadow:0 0 25px rgba(94,234,212,.12)}.core-ring:after{content:'';position:absolute;width:7px;height:7px;background:var(--accent);border-radius:50%;top:18px;left:18px;box-shadow:0 0 16px var(--accent)}.status-list{border:1px solid var(--border)}.status-list div{display:grid;grid-template-columns:30px 1fr auto auto;gap:12px;padding:13px;border-bottom:1px solid var(--border);align-items:center}.status-list div:last-child{border:0}.status-list span,.status-list em,.terminal-line{font:10px 'JetBrains Mono',monospace;color:#627084}.status-list b{font-size:12px}.status-list i{font:500 9px 'JetBrains Mono',monospace;color:var(--green);font-style:normal}.terminal-line{padding-top:18px}.terminal-line span{color:var(--accent)}.metrics{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.metric{padding:25px 15px;border-right:1px solid var(--border)}.metric:last-child{border:0}.metric strong{display:block;font:600 26px 'JetBrains Mono',monospace}.metric span{display:block;color:#738096;font-size:11px;margin-top:3px}.section{padding:120px 0}.section-dark{background:rgba(13,17,23,.72);border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:50px}.two-col h2,.section-heading h2,.contact h2{font-size:clamp(38px,5vw,62px);line-height:1.05;letter-spacing:-.04em;margin:0}.copy{color:#8997aa;font-size:17px}.copy p{margin:0 0 22px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:18px 0 50px}.section-heading p{max-width:390px;color:#738096;margin:0}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.skill-card{background:var(--surface);border:1px solid var(--border);padding:24px;min-height:220px}.skill-card h3{font-size:20px;margin:20px 0 12px}.skill-card p{color:#7f8da0;font-size:13px;margin:0}.featured-project{display:grid;grid-template-columns:1.1fr .9fr;border:1px solid var(--border);background:linear-gradient(145deg,#0f1822,#0b0f15);margin-bottom:12px}.project-main{padding:40px}.project-main h3{font-size:42px;margin:12px 0}.project-main p{color:#8997aa;max-width:560px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.tags span{font:10px 'JetBrains Mono',monospace;border:1px solid var(--border);padding:7px 9px;color:#a6b2c2}.project-actions{display:flex;gap:10px;flex-wrap:wrap}.pipeline{padding:30px;border-left:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;gap:8px}.pipeline div{border:1px solid var(--border);padding:13px 15px}.pipeline b,.pipeline small{display:block}.pipeline b{font:600 12px 'JetBrains Mono',monospace}.pipeline small{color:#667489;font-size:10px}.pipeline>span{text-align:center;color:#435064;font-family:'JetBrains Mono',monospace}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.project-card{padding:24px;border:1px solid var(--border);background:var(--surface);text-decoration:none;color:inherit;min-height:220px}.project-card:hover{border-color:#3b4b5e;transform:translateY(-2px)}.project-card span{font:600 10px 'JetBrains Mono',monospace;color:#667489}.project-card h3{font-size:20px;margin:22px 0 10px}.project-card p{color:#7f8da0;font-size:13px}.project-card b{font-size:12px;color:#c9d4e2}.timeline{max-width:850px;margin-top:55px;border-left:1px solid #273343;padding-left:30px}.timeline-item{position:relative;padding-bottom:55px}.timeline-dot{position:absolute;width:9px;height:9px;background:#334155;border-radius:50%;left:-35px;top:5px;border:2px solid var(--bg);box-sizing:content-box}.timeline-item.active .timeline-dot{background:var(--accent);box-shadow:0 0 0 5px rgba(94,234,212,.08)}.timeline-item h3{font-size:24px;margin:7px 0 12px}.timeline-item ul{margin:0;padding-left:18px;color:#7f8da0;font-size:14px}.timeline-item li{margin:6px 0}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-left:1px solid var(--border)}.method-grid div{padding:28px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.method-grid strong{font:600 12px 'JetBrains Mono',monospace;color:var(--accent)}.method-grid h3{margin:14px 0 5px}.method-grid p{color:#7f8da0;font-size:13px;margin:0}.notes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.notes-grid article{padding:25px;border:1px solid var(--border);background:var(--surface)}.notes-grid h3{font-size:18px}.notes-grid p{color:#7f8da0;font-size:13px}.credential-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:40px}.credential-grid>div{border:1px solid var(--border);padding:24px;background:var(--surface)}.credential-grid h3{font:600 20px 'JetBrains Mono',monospace;margin:15px 0 5px}.credential-grid p{color:#7f8da0;font-size:13px}.contact{padding-top:90px}.contact-box{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:60px 0;border-top:1px solid var(--border)}.contact h2{margin-top:20px}.contact p{color:#7f8da0}.contact-links a{display:block;text-decoration:none;color:#e7edf5;border-bottom:1px solid var(--border);padding:18px 0;font-size:15px}.contact-links small{display:block;color:#627084;font:600 10px 'JetBrains Mono',monospace;letter-spacing:.12em;margin-bottom:5px}.footer{padding:25px 0 35px;border-top:1px solid var(--border);display:flex;justify-content:space-between;color:#58677b;font:10px 'JetBrains Mono',monospace}.reveal{opacity:0;transform:translateY(16px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.15s}@media(max-width:900px){.nav-links{position:absolute;top:72px;left:20px;right:20px;display:none;flex-direction:column;align-items:stretch;background:#0b1017;border:1px solid var(--border);padding:12px}.nav-links.open{display:flex}.nav-links a{padding:9px}.menu-toggle{display:block}.hero{grid-template-columns:1fr;gap:40px;padding-top:120px}.metrics{grid-template-columns:repeat(3,1fr)}.metric:nth-child(3){border:0}.metric:nth-child(4),.metric:nth-child(5){border-top:1px solid var(--border)}.two-col,.featured-project,.contact-box{grid-template-columns:1fr;gap:35px}.pipeline{border-left:0;border-top:1px solid var(--border)}.skill-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.notes-grid,.credential-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.container{width:min(var(--max),calc(100% - 28px))}.hero{min-height:auto;padding-bottom:80px}.metrics{grid-template-columns:repeat(2,1fr)}.metric{border-bottom:1px solid var(--border)}.metric:nth-child(2){border-right:0}.metric:last-child{grid-column:1/-1}.section{padding:85px 0}.section-heading{display:block}.section-heading p{margin-top:15px}.skill-grid,.project-grid,.notes-grid,.credential-grid,.method-grid{grid-template-columns:1fr}.status-list div{grid-template-columns:24px 1fr auto}.status-list em{display:none}.footer{display:block}.footer span{display:block;margin:5px 0}.hero-actions .btn{width:100%;justify-content:center}h1{font-size:58px}.project-main{padding:28px}.project-main h3{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.project-card{transition:none}}

/* Light theme */
html[data-theme="light"]{--bg:#f7f9fc;--surface:#ffffff;--border:#d9e1ea;--text:#101722;--muted:#5f6d7e;--accent:#0f766e;--green:#15803d;color-scheme:light}
html[data-theme="light"] body{background:var(--bg);color:var(--text)}
html[data-theme="light"] .site-header{background:rgba(247,249,252,.86)}
html[data-theme="light"] .bg-grid{opacity:.18}
html[data-theme="light"] .nav-links a{color:#536174}
html[data-theme="light"] .nav-links a:hover{color:#101722}
html[data-theme="light"] .nav-resume{color:var(--accent)!important}
html[data-theme="light"] .hero-lead strong{color:#243243}
html[data-theme="light"] .btn-ghost{color:#253142;background:rgba(15,118,110,.03)}
html[data-theme="light"] .system-card,.html[data-theme="light"] .featured-project{background:linear-gradient(145deg,#ffffff,#f3f7fa)}
html[data-theme="light"] .section-dark{background:#eef3f7;border-color:#dbe3eb}
html[data-theme="light"] .skill-card,.html[data-theme="light"] .project-card,.html[data-theme="light"] .credential-grid>div,.html[data-theme="light"] .notes-grid article,.html[data-theme="light"] .education-card{background:#fff}
html[data-theme="light"] .copy,.html[data-theme="light"] .hero-lead,.html[data-theme="light"] .section-heading p,.html[data-theme="light"] .skill-card p,.html[data-theme="light"] .project-main p,.html[data-theme="light"] .project-card p,.html[data-theme="light"] .timeline-item ul,.html[data-theme="light"] .method-grid p,.html[data-theme="light"] .notes-grid p,.html[data-theme="light"] .credential-grid p,.html[data-theme="light"] .contact p,.html[data-theme="light"] .education-card p{color:#5f6d7e}
html[data-theme="light"] .social-row a{color:#637185}
html[data-theme="light"] .social-row a:hover{color:#101722}
html[data-theme="light"] .theme-toggle{color:#111827;background:#fff;border-color:#cfd8e3;box-shadow:0 3px 12px rgba(15,23,42,.08)}
html[data-theme="light"] .menu-toggle{color:#111827;background:#fff}
html[data-theme="light"] .pipeline div{background:#fff}
html[data-theme="light"] .terminal-line{color:#667487}
.theme-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid #fff;background:#fff;color:#0b1017;padding:8px 11px;font:600 11px 'JetBrains Mono',monospace;cursor:pointer;min-width:82px;justify-content:center}.theme-icon{font-size:14px;line-height:1}.theme-toggle:hover{transform:translateY(-1px)}
.education-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:45px}.education-card{position:relative;border:1px solid var(--border);background:var(--surface);padding:28px;min-height:230px}.education-card.current{border-color:rgba(94,234,212,.55)}.education-year,.education-status{font:600 10px 'JetBrains Mono',monospace;letter-spacing:.1em;color:var(--accent)}.education-status{position:absolute;right:20px;top:20px}.education-card h3{font-size:24px;line-height:1.15;margin:34px 0 10px;max-width:90%}.education-card h4{font-size:15px;line-height:1.5;margin:0;color:var(--text);font-weight:600}.education-card p{font-size:13px;color:#7f8da0;line-height:1.6;margin:16px 0 0}.notes-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:-20px 0 25px}.notes-grid-wide{grid-template-columns:repeat(3,1fr)}.note-card-link{display:block;color:inherit;text-decoration:none}.notes-grid article{min-height:235px;transition:transform .25s ease,border-color .25s ease}.note-card-link:hover article{transform:translateY(-3px);border-color:#3b4b5e}.notes-grid article b{display:inline-block;margin-top:15px;color:var(--accent);font-size:12px}.footer a{color:inherit}
@media(max-width:900px){.theme-toggle{align-self:stretch}.education-grid,.notes-grid-wide{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.education-grid,.notes-grid-wide{grid-template-columns:1fr}.notes-toolbar .btn{width:100%;justify-content:center}}

/* ========================================
   V3 POLISH — SCROLL / EDUCATION / MEDIUM
   ======================================== */

html{
  scroll-padding-top:92px;
}

/* Page progress indicator */
.scroll-progress{
  position:fixed;
  right:22px;
  bottom:22px;
  width:82px;
  height:82px;
  z-index:50;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(7,10,15,.82);
  backdrop-filter:blur(14px);
  display:grid;
  place-items:center;
  border-radius:50%;
  box-shadow:0 14px 40px rgba(0,0,0,.28);
}

.scroll-progress::before{
  content:"";
  position:absolute;
  inset:6px;
  border-radius:50%;
  background:conic-gradient(var(--accent) calc(var(--progress, 0) * 1%), rgba(255,255,255,.08) 0);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));
}

.scroll-progress-label{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  line-height:1.1;
}

.scroll-progress-label b{
  color:var(--text);
  font:600 12px 'JetBrains Mono',monospace;
}

.scroll-progress-label small{
  margin-top:3px;
  color:#657388;
  font:500 7px 'JetBrains Mono',monospace;
  letter-spacing:.02em;
}

/* Education — visual academic timeline */
.education-track{
  position:relative;
  max-width:980px;
  margin:55px auto 0;
  padding:0 0 5px 78px;
}

.education-line{
  position:absolute;
  left:22px;
  top:22px;
  bottom:35px;
  width:1px;
  background:linear-gradient(to bottom,var(--accent),#263447 82%,transparent);
}

.education-card{
  position:relative;
  display:block;
  min-height:0;
  padding:30px 32px;
  margin-bottom:16px;
  overflow:hidden;
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}

.education-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(115deg,rgba(94,234,212,.045),transparent 42%);
  opacity:0;
  transition:opacity .35s ease;
}

.education-card:hover{
  transform:translateX(5px);
  border-color:#3c5366;
  box-shadow:0 18px 55px rgba(0,0,0,.16);
}

.education-card:hover::after{
  opacity:1;
}

.education-marker{
  position:absolute;
  left:-78px;
  top:28px;
  width:45px;
  height:45px;
  border:1px solid #334155;
  background:var(--bg);
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#738096;
  font:600 11px 'JetBrains Mono',monospace;
  z-index:2;
}

.education-card.current .education-marker{
  border-color:var(--accent);
  color:var(--accent);
  box-shadow:0 0 0 6px rgba(94,234,212,.06);
}

.education-content{
  position:relative;
  z-index:1;
}

.education-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}

.education-card h3{
  font-size:25px;
  margin:18px 0 8px;
  max-width:800px;
}

.education-card h4{
  font-size:15px;
  max-width:760px;
}

.education-card p{
  max-width:720px;
}

.education-tags{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:18px;
}

.education-tags span{
  border:1px solid var(--border);
  padding:5px 8px;
  color:#6e7d91;
  font:600 9px 'JetBrains Mono',monospace;
  letter-spacing:.08em;
}

/* Medium cards — intentional editorial design, no browser-blue links */
.note-card-link,
.note-card-link:visited,
.note-card-link:hover,
.note-card-link:active{
  display:block;
  color:inherit;
  text-decoration:none;
}

.notes-grid-wide{
  grid-template-columns:repeat(3,1fr);
}

.note-card{
  position:relative;
  min-height:285px!important;
  padding:25px!important;
  overflow:hidden;
  background:linear-gradient(145deg,#10161f,#0c1118)!important;
  border:1px solid var(--border)!important;
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}

.note-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:2px;
  background:var(--accent);
  transform:scaleY(0);
  transform-origin:bottom;
  transition:transform .3s ease;
}

.note-card-link:hover .note-card{
  transform:translateY(-5px);
  border-color:#3c5366!important;
  box-shadow:0 20px 50px rgba(0,0,0,.2);
}

.note-card-link:hover .note-card::before{
  transform:scaleY(1);
}

.note-card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  color:#68778b;
  font:600 10px 'JetBrains Mono',monospace;
  letter-spacing:.1em;
}

.note-card-top strong{
  color:var(--accent);
  font-weight:600;
}

.medium-mark{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  margin:24px 0 18px;
  border:1px solid #334155;
  border-radius:50%;
  color:#e8edf4;
  background:#111820;
  font:800 20px Georgia,serif;
}

.note-card h3,
.note-card p,
.note-card .note-read{
  color:inherit;
}

.note-card h3{
  margin:0 0 12px!important;
  color:#edf2f7!important;
  font-size:19px!important;
  line-height:1.35;
}

.note-card p{
  color:#7f8da0!important;
  font-size:13px!important;
  line-height:1.65;
  margin:0!important;
}

.note-read{
  position:absolute;
  left:25px;
  bottom:22px;
  color:var(--accent)!important;
  font:600 11px 'JetBrains Mono',monospace;
}

.note-read span{
  color:var(--accent)!important;
  font-size:13px;
  letter-spacing:0;
}

/* Credentials as linked cards */
.credential-grid{
  grid-template-columns:repeat(4,1fr);
}

.credential-card,
.credential-card:visited,
.credential-card:hover,
.credential-card:active{
  display:block;
  color:inherit;
  text-decoration:none;
}

.credential-card{
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}

.credential-card:hover{
  transform:translateY(-4px);
  border-color:#3c5366!important;
  box-shadow:0 18px 45px rgba(0,0,0,.16);
}

.credential-card b{
  display:inline-block;
  margin-top:14px;
  color:var(--accent);
  font:600 10px 'JetBrains Mono',monospace;
}

.learning-card b{
  color:#69788d;
}

/* Staggered reveal animation */
.reveal{
  will-change:transform,opacity;
}

.stagger-item{
  transition-delay:calc(var(--delay, 0) * 70ms);
}

/* Active navigation */
.nav-links a.nav-active:not(.nav-resume){
  color:var(--accent)!important;
}

/* Light theme refinements */
html[data-theme="light"] .scroll-progress{
  background:rgba(255,255,255,.88);
  border-color:#d7e0e9;
}

html[data-theme="light"] .note-card{
  background:linear-gradient(145deg,#ffffff,#f5f8fb)!important;
}

html[data-theme="light"] .note-card h3{
  color:#172131!important;
}

html[data-theme="light"] .medium-mark{
  background:#fff;
  color:#172131;
  border-color:#d6dee8;
}

html[data-theme="light"] .education-card:hover,
html[data-theme="light"] .credential-card:hover,
html[data-theme="light"] .note-card-link:hover .note-card{
  box-shadow:0 18px 45px rgba(15,23,42,.08);
}

@media(max-width:900px){
  .education-track{
    padding-left:62px;
  }

  .education-line{
    left:17px;
  }

  .education-marker{
    left:-62px;
  }

  .notes-grid-wide{
    grid-template-columns:repeat(2,1fr);
  }

  .credential-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:600px){
  .scroll-progress{
    right:14px;
    bottom:14px;
    width:68px;
    height:68px;
  }

  .scroll-progress-label b{
    font-size:10px;
  }

  .scroll-progress-label small{
    font-size:6px;
  }

  .education-track{
    padding-left:48px;
  }

  .education-line{
    left:13px;
  }

  .education-marker{
    left:-48px;
    width:35px;
    height:35px;
    font-size:9px;
    top:27px;
  }

  .education-card{
    padding:23px;
  }

  .education-top{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }

  .education-status{
    position:static;
  }

  .education-card h3{
    font-size:21px;
  }

  .notes-grid-wide,
  .credential-grid{
    grid-template-columns:1fr;
  }
}
