/* Scoped additions for the GitHub activity, repository showcase, and animated stack. */
html { overflow-x:clip; }
#neural-canvas { width:100vw; max-width:100vw; }
.modal-backdrop { width:100vw; max-width:100vw; }
.activity-links { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem .8rem; margin-top:1.1rem; color:var(--text-muted); font-size:.78rem; }
.activity-links a { color:var(--color-ochre-light); font-weight:700; text-decoration:none; }
.activity-links a:hover { color:#fff; }
.github-data-source { margin:-1rem 0 1.25rem; color:var(--text-muted); font-size:.78rem; }
.section-desc a { color:var(--color-ochre-light); }
.btn-kaggle { display:inline-flex; align-items:center; gap:.55rem; color:#fff; background:linear-gradient(135deg,#20a7e8,#1769aa); border:1px solid rgba(90,190,245,.35); box-shadow:0 8px 24px rgba(32,167,232,.16); }
.btn-kaggle:hover { color:#fff; background:linear-gradient(135deg,#37b8f5,#2084cb); box-shadow:0 10px 28px rgba(32,167,232,.28); transform:translateY(-2px); }
.heatmap-months-row { justify-content:flex-start; gap:0; }
.heatmap-months-row span { flex:1 0 auto; }
.heatmap-cell.heatmap-empty { visibility:hidden; pointer-events:none; }
.live-repos-block { margin-top:2.5rem; }
.live-repos-heading { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:1rem; }
.live-repos-heading h3 { margin:.35rem 0 0; font-size:1.35rem; }
.live-repos-heading>a { color:var(--color-ochre-light); font-size:.85rem; text-decoration:none; }
.live-repos-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:1rem; }
.live-repo-card { min-height:142px; display:flex; flex-direction:column; gap:.8rem; padding:1.15rem; color:var(--text-main); text-decoration:none; background:var(--bg-card); border:1px solid var(--border-subtle); border-radius:var(--radius-md); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.live-repo-card:hover { transform:translateY(-4px); border-color:var(--color-ochre); box-shadow:0 12px 30px rgba(0,0,0,.22); }
.live-repo-card-top { display:flex; justify-content:space-between; gap:.8rem; color:var(--color-ochre-light); }
.live-repo-card-top strong { color:var(--text-main); overflow-wrap:anywhere; }
.live-repo-card-top span { white-space:nowrap; font-size:.82rem; }
.live-repo-description { color:var(--text-secondary); font-size:.86rem; line-height:1.5; }
.live-repo-language { display:flex; align-items:center; gap:.45rem; margin-top:auto; color:var(--text-muted); font-size:.78rem; }
.live-repo-language i { width:8px; height:8px; border-radius:50%; background:var(--color-cyan); }
.live-repos-status { grid-column:1 / -1; color:var(--text-muted); }
.live-repos-status a { color:var(--color-ochre-light); }
.tech-icons-panel { margin-top:1.5rem; padding:clamp(1rem,3vw,1.7rem); overflow:hidden; border:1px solid var(--border-subtle); border-radius:var(--radius-lg); background:rgba(255,255,255,.018); }
.tech-icons-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(92px,1fr)); gap:.8rem; }
.tech-icon-item { min-height:100px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.65rem; padding:.8rem .4rem; border:1px solid transparent; border-radius:var(--radius-md); color:var(--text-secondary); font-size:.76rem; font-weight:600; text-align:center; animation:tech-icon-float 4s ease-in-out infinite; animation-delay:var(--icon-delay,0s); transition:transform .22s ease,color .22s ease,background .22s ease,box-shadow .22s ease; }
.tech-icon-item img { width:34px; height:34px; object-fit:contain; }
.tech-icon-item:hover { z-index:1; transform:translateY(-5px) scale(1.1); color:#fff; background:rgba(181,135,99,.1); border-color:rgba(181,135,99,.32); box-shadow:0 0 22px rgba(181,135,99,.2); animation-play-state:paused; }
.tech-icon-letters { width:34px; height:34px; display:grid; place-items:center; border-radius:9px; color:var(--color-ochre-light); background:rgba(181,135,99,.13); font-size:.76rem; font-weight:800; }
@keyframes tech-icon-float { 0%,100% { translate:0 0; } 50% { translate:0 -4px; } }
@media (prefers-reduced-motion:reduce) { .tech-icon-item { animation:none; } .live-repo-card,.tech-icon-item { transition:none; } }

/* Responsive refinements: retain the existing visual system while tightening layout. */
@media (min-width: 1600px) {
  :root { --container-max: 1440px; }
  .section { padding-block: 6.5rem; }
  .hero-section { padding-block: 10rem 7rem; }
}
@media (min-width: 2200px) {
  :root { --container-max: 1680px; }
  html { font-size: 17px; }
}
@media (max-width: 1200px) {
  .skills-bento { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .skill-category-card { padding:1.5rem; }
  .nav-links { gap:1.1rem; }
  .nav-link { font-size:.82rem; }
}
@media (max-width: 1100px) {
  .nav-links, .btn-nav-cta { display:none; }
  .menu-toggle { display:grid; place-items:center; min-width:44px; min-height:44px; }
}
@media (max-width: 1024px) {
  .nav-links, .btn-nav-cta { display:none; }
  .menu-toggle { display:block; }
  .nav-container { min-height:4.25rem; }
  .projects-grid, .certs-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .github-card { padding:clamp(1.25rem,4vw,2rem); }
  .github-header-row { align-items:flex-start; flex-wrap:wrap; }
  .contact-grid { gap:2rem; }
}
@media (max-width: 768px) {
  .ambient-glow { max-width:78vw; max-height:78vw; filter:blur(70px); }
  .ambient-glow-1 { left:8%; }
  .ambient-glow-2 { right:4%; }
  .ambient-glow-3 { left:0; }
  .avatar-halo { width:min(380px,88vw); height:auto; aspect-ratio:1; }
  .badge-top-left { left:0; }
  .badge-bottom-right { right:0; }
  .container { padding-inline:1.15rem; }
  .section { padding-block:4rem; }
  .section-header { margin-bottom:2.25rem; }
  .section-title { font-size:clamp(1.8rem,6vw,2.65rem); }
  .section-desc { font-size:1rem; }
  .hero-section { padding-block:7rem 3.5rem; }
  .hero-grid { gap:2rem; }
  .hero-content { gap:1.15rem; }
  .hero-title { font-size:clamp(2.15rem,8vw,3.4rem); }
  .hero-cta-group { gap:.7rem; }
  .hero-cta-group .btn { min-height:44px; }
  .hero-stats-row { gap:1rem .75rem; }
  .stat-value { font-size:clamp(1.25rem,5vw,1.7rem); }
  .stat-label { font-size:.65rem; }
  .featured-banner-grid, .mentorship-grid, .about-grid, .contact-grid, .model-interactive-grid { grid-template-columns:minmax(0,1fr); }
  .featured-banner-img-wrap, .mentorship-visual-wrap { min-height:250px; }
  .featured-banner-content, .mentorship-content, .model-studio-card, .cert-card { padding:1.5rem; }
  .projects-grid, .certs-grid { grid-template-columns:minmax(0,1fr); }
  .project-img-wrap { height:clamp(180px,55vw,260px); }
  .github-header-row { flex-direction:column; align-items:stretch; gap:1rem; }
  .github-year-switcher { align-self:flex-start; max-width:100%; flex-wrap:wrap; }
  .github-stats-footer { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
  .skills-bento { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .github-stat-card { padding:1rem; }
  .github-stat-num { font-size:1.45rem; }
  .activity-links { align-items:flex-start; flex-direction:column; }
  .live-repos-heading { align-items:flex-start; flex-direction:column; }
  .tech-icons-grid { grid-template-columns:repeat(auto-fit,minmax(78px,1fr)); gap:.4rem; }
  .tech-icon-item { min-height:88px; }
  .social-links-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-nav { gap:.75rem 1.1rem; }
  .modal-backdrop { padding:.75rem; }
  .modal-dialog { max-height:calc(100dvh - 1.5rem); border-radius:var(--radius-lg); }
  .modal-body { padding:1.25rem; }
  .modal-close-btn { top:.65rem; right:.65rem; }
  .toast-notice { left:1rem; right:1rem; bottom:1rem; justify-content:center; text-align:center; }
}
@media (max-width: 480px) {
  .container { padding-inline:.9rem; }
  .section { padding-block:3.25rem; }
  .hero-status-pill { max-width:100%; font-size:.72rem; }
  .hero-title { font-size:clamp(1.95rem,9vw,2.6rem); }
  .hero-subtitle { font-size:1rem; }
  .hero-cta-group { align-items:stretch; flex-direction:column; }
  .hero-cta-group .btn, .hero-cta-group button { width:100%; justify-content:center; }
  .hero-stats-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .projects-grid, .certs-grid { grid-template-columns:minmax(0,1fr); }
  .skills-bento { grid-template-columns:minmax(0,1fr); }
  .github-card { padding:1rem; border-radius:var(--radius-md); }
  .github-user-info { gap:.65rem; }
  .github-avatar { width:42px; height:42px; }
  .github-name { font-size:1rem; }
  .github-handle { font-size:.75rem; overflow-wrap:anywhere; }
  .github-stats-footer { grid-template-columns:minmax(0,1fr); }
  .github-stat-card { min-height:unset; }
  .heatmap-scroll-wrapper { min-width:780px; }
  .live-repo-card { min-height:unset; }
  .tech-icons-panel { padding:.75rem; }
  .tech-icons-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.25rem; }
  .tech-icon-item { min-height:80px; font-size:.68rem; }
  .social-links-grid, .mentorship-pillars, .palette-swatches-grid { grid-template-columns:minmax(0,1fr); }
  .palette-swatches-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-copy { font-size:.75rem; }
}
@media (max-width: 600px) {
  .skills-bento { grid-template-columns:minmax(0,1fr); }
  .skill-category-card { padding:1.25rem; }
  .hero-visual-card, .avatar-frame { max-width:100%; }
  .bento-card, .project-card, .cert-card, .model-column { min-width:0; }
  .project-title, .project-desc, .cert-title, .cert-details-list, .about-text { overflow-wrap:anywhere; }
  .mobile-drawer { max-height:calc(100dvh - 4.25rem); overflow-y:auto; padding:1rem 1.15rem; gap:.75rem; }
}
@media (max-width: 340px) {
  .container { padding-inline:.7rem; }
  .nav-brand { gap:.45rem; font-size:.95rem; }
  .nav-avatar-mini { width:30px; height:30px; }
  .github-user-info { align-items:flex-start; }
  .github-year-switcher { width:100%; }
  .github-year-switcher .year-btn { padding:.45rem .6rem; font-size:.72rem; }
  .tech-icons-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-height: 500px) and (orientation:landscape) {
  .hero-section { padding-block:6rem 2.5rem; }
  .hero-grid { gap:1.5rem; }
  .avatar-frame { max-height:70vh; }
  .modal-dialog { max-height:calc(100dvh - 1rem); }
}
@media (hover:none) {
  .live-repo-card:hover, .tech-icon-item:hover, .btn-kaggle:hover { transform:none; box-shadow:none; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
