:root{
  --bg:#0d1117;
  --card:#111722;
  --soft:#0f131a;
  --line:#1f2937;
  --text:#c9d1d9;
  --muted:#8b949e;
  --red:#e11d48;
  --redGlow:#f43f5e22;
  --blue:#3ea0ff;
  --green:#24d66b;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:"Courier New",monospace;line-height:1.55}

a{color:#fff;text-decoration:none}
.muted{color:var(--muted)}

.nav{
  position:sticky;top:0;z-index:20;
  background:linear-gradient(180deg,#0b0f15 0%, #0d1117 100%);
  border-bottom:1px solid #0f172a; padding:12px 18px;
  display:flex;align-items:center;justify-content:space-between
}
.brand{font-weight:700;letter-spacing:.5px}
.brand span{color:var(--red)}
.nav nav a,.nav nav button{margin-left:16px;color:#b8c0cc}
.nav nav .btn-ghost{background:#0e1420;border:1px solid #2a3347;border-radius:10px;padding:8px 12px;cursor:pointer}

main{max-width:1100px;margin:0 auto;padding:28px 16px}

.hero{
  position:relative;
  display:flex;align-items:center;gap:18px;
  padding:28px 18px;margin:8px 0 16px;border-radius:18px;
  background:radial-gradient(120% 120% at 100% 0%, #1b2232 0%, #131a26 50%, #0f151f 100%);
  border:1px solid var(--line);
}
.avatar-ring{
  width:84px;height:84px;border-radius:999px;border:2px dashed #2b3a52;flex:0 0 auto;
  background:conic-gradient(from 0deg, #ff3350, #7e1b2c, #12233c, #ff3350);
  -webkit-mask: radial-gradient(circle 38px at 50% 50%, transparent 39px, #000 40px);
          mask: radial-gradient(circle 38px at 50% 50%, transparent 39px, #000 40px);
  animation: spin 10s linear infinite;
}
@keyframes spin{to{transform:rotate(1turn)}}

.hero-copy h1{font-size:clamp(28px,4vw,44px);margin:0 0 6px}
.glow{text-shadow:0 0 16px var(--red),0 0 32px var(--red)}
.tagline{color:#aab4c3;margin:0 0 10px}
.contact{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;
  border:1px solid #2a3347;background:#0f1522;color:#dbe6ff
}

.panel{
  background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;margin:18px 0
}

.logos h2,.summary h2,.skills h2,.experience h2,.projects h2,.certs h2,.military h2,.goals h2{margin:0 0 8px}

.logo-row{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px
}
.logo{
  display:flex;align-items:center;justify-content:center;height:56px;border:1px dashed #2a3347;border-radius:12px;
  color:#9fb2d1;background:#0f1624
}

.summary .highlights{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.pill{padding:6px 10px;border-radius:999px;border:1px solid #27344a;background:#0e1522;color:#d6e3ff}

.skills .skill-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px
}
.skills .group{background:#0f1624;border:1px solid #24314a;border-radius:12px;padding:12px}
.skills .group h3{margin:0 0 6px;font-size:1.02rem}
.skills .group ul{margin:0;padding-left:18px}
.skills .bars{margin-top:14px}
.bar{
  position:relative;background:#0e1522;border:1px solid #24314a;border-radius:10px;margin:8px 0;height:16px;overflow:hidden
}
.bar span{
  position:absolute;left:10px;top:-22px;font-size:.9rem;color:#9fb2d1
}
.bar em{
  display:block;height:100%;width:0;background:linear-gradient(90deg, #ff3350, #b3122c);
  box-shadow:0 0 18px var(--redGlow);transition:width 1.2s ease
}

.experience .job header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.experience .job .meta{color:#8ba1bf}
.experience ul{margin:8px 0 0;padding-left:18px}

.projects .cards{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px
}
.projects .card{
  background:#0f1624;border:1px solid #24314a;border-radius:12px;padding:12px;transition:transform .15s ease, box-shadow .2s ease
}
.projects .card:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(255,39,64,.18)}
.projects .tags{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.projects .tags span{padding:2px 8px;border-radius:999px;border:1px solid #2a3347;color:#cfe3ff}

.cta{margin:28px 0}
.cta .cta-inner{
  border:1px solid #24314a;background:radial-gradient(120% 120% at 100% 0%, #1a2333 0%, #121a27 50%, #0e1522 100%);
  border-radius:16px;padding:18px;text-align:center
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:12px;border:1px solid #2a3347;cursor:pointer;
  transition:transform .1s ease, box-shadow .2s ease, background .2s ease
}
.btn-primary{
  background:linear-gradient(180deg,#ff3350,#b3122c);
  border-color:#751427;box-shadow:0 0 18px var(--redGlow)
}
.btn-outline{background:transparent;color:#fff}
.btn-outline:hover{background:#131a23}

.footer{border-top:1px solid #111827;padding:24px;text-align:center;color:#9aa3ae}

/* Fade-up animation */
.fade-up { opacity:0; transform: translateY(14px); transition: opacity .6s ease-out, transform .6s ease-out; }
.fade-up.visible { opacity:1; transform: translateY(0); }

/* =============================== */
/*      LIGHT PDF EXPORT THEME     */
/* =============================== */
body.pdf-export{
  /* Switch to a clean, legible system font and white paper bg */
  background:#ffffff !important;
  color:#0a0a0a !important;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}

/* Hide chrome elements in the PDF */
body.pdf-export .nav,
body.pdf-export .cta,
body.pdf-export .footer,
body.pdf-export #downloadPdf{ display:none !important; }

/* Cards & hero become white with subtle borders and no glow */
body.pdf-export .panel,
body.pdf-export .hero{
  background:#ffffff !important;
  border:1px solid #d7d7d7 !important;
  box-shadow:none !important;
}

/* Remove gradients/animations that look muddy on print */
body.pdf-export .hero{ background:#ffffff !important; }
body.pdf-export .avatar-ring{
  background:#ffffff !important;
  border:2px solid #cfcfcf !important;
  -webkit-mask:none; mask:none; animation:none;
}
body.pdf-export .glow{ text-shadow:none !important; }

/* Text & link colors for print legibility */
body.pdf-export a{ color:#0056b3 !important; text-decoration:underline; }
body.pdf-export .muted{ color:#333 !important; }
body.pdf-export .tagline{ color:#222 !important; }
body.pdf-export .chip, body.pdf-export .pill{
  background:#f7f7f7 !important; border:1px solid #cccccc !important; color:#111 !important;
}

/* Tables/cards/labels in projects/skills */
body.pdf-export .projects .card{ background:#fff !important; border-color:#d7d7d7 !important; box-shadow:none !important; }
body.pdf-export .projects .tags span{ border-color:#cfcfcf !important; color:#111 !important; }
body.pdf-export .skills .group{ background:#fff !important; border-color:#d7d7d7 !important; }

/* Skill bars switch to solid gray for clarity */
body.pdf-export .bar{ border-color:#cfcfcf !important; background:#eee !important; }
body.pdf-export .bar em{ background:#444 !important; box-shadow:none !important; }
body.pdf-export .bar span{ color:#111 !important; }

/* Logo tiles */
body.pdf-export .logo{ background:#fff !important; border:1px solid #d7d7d7 !important; color:#000 !important; }

/* Headings in print */
body.pdf-export h1, 
body.pdf-export h2, 
body.pdf-export h3{ color:#000 !important; text-shadow:none !important; }

/* Improve spacing & avoid awkward breaks in PDF */
body.pdf-export .panel,
body.pdf-export .hero{ break-inside: avoid; page-break-inside: avoid; }
body.pdf-export h2{ page-break-after: avoid; margin-top:0.2in; }
body.pdf-export .panel{ padding:14px !important; margin:12px 0 !important; }

/* Make links show as full URLs only if you want (disabled by default) */
/*
body.pdf-export a::after{
  content:" (" attr(href) ")";
  font-size:0.9em; color:#444;
}
*/
