/* ══════════════════════════════════════
   INTERESTS
══════════════════════════════════════ */
.interests-grid {
  display: grid; grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 8px;
}
.interest-pill {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px; padding: 12px 14px;
  text-align: center; transition: all 0.2s;
}
.interest-pill:hover {
  border-color: var(--border2); background: var(--surface2);
  transform: translateY(-2px);
}
.interest-icon { font-size: 20px; margin-bottom: 5px; }
.interest-name {
  font-size: 11px; color: var(--text2); font-weight: 400;
}

/* ══════════════════════════════════════
   DIVIDER
══════════════════════════════════════ */
.section-divider {
  height: 1px;
  background: linear-gradient(90deg, var(--border2) 0%, transparent 80%);
  margin: 24px 0;
}

/* ══════════════════════════════════════
   ACADEMIC PROJECTS (minor)
══════════════════════════════════════ */
.minor-list { display: flex; flex-direction: column; gap: 6px; }
.minor-item {
  display: flex; align-items: flex-start; gap: 11px;
  padding: 9px 13px; border-radius: 6px;
  font-size: 12px; color: var(--text2);
  line-height: 1.5;
  transition: background 0.15s;
}
.minor-item:hover { background: var(--surface2); }
.minor-bullet {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--accent); flex-shrink: 0; margin-top: 6px;
  box-shadow: 0 0 5px rgba(201,168,76,0.4);
}
/* ══════════════════════════════════════
   ACADEMIC PROJECT CARDS (ac-card)
══════════════════════════════════════ */
.ac-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ac-card {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 10px; padding: 16px 17px;
  transition: all 0.2s; position: relative; overflow: hidden;
  display: flex; flex-direction: column;
}
.ac-card-top-bar { position: absolute; top: 0; left: 0; right: 0; height: 2px; }
.ac-card-body { flex: 1; }
.ac-card-emoji { font-size: 20px; margin-bottom: 7px; }
.ac-card-title { font-size: 12.5px; font-weight: 600; margin-bottom: 6px; color: var(--text); line-height: 1.4; }
.ac-card-desc { font-size: 11px; color: var(--text3); line-height: 1.6; margin-bottom: 9px; }
.ac-card-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 10px; }
.ac-card-tag { padding: 2px 7px; border-radius: 4px; font-size: 9.5px; font-family: 'DM Mono', 'JetBrains Mono', monospace; }
.ac-card-actions { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; padding-top: 10px; margin-top: auto; border-top: 1px solid var(--border); }
.ac-action-label { font-size: 9px; font-family: 'DM Mono', 'JetBrains Mono', monospace; color: var(--text3); flex-shrink: 0; opacity: 0; transition: opacity 0.18s; }
.ac-card:hover .ac-action-label { opacity: 1; }
.ac-action-btn { display: inline-flex; align-items: center; gap: 3px; padding: 3px 9px; border-radius: 4px; font-size: 9.5px; font-family: 'DM Mono', 'JetBrains Mono', monospace; text-decoration: none; flex-shrink: 0; opacity: 0; transition: all 0.18s ease; white-space: nowrap; border: 1px solid var(--border); background: var(--bg); color: var(--text3); }
.ac-card:hover .ac-action-btn { opacity: 1; }
.ac-action-btn.view:hover { color: var(--blue); border-color: rgba(91,159,212,0.4); background: rgba(91,159,212,0.08); }
.ac-action-btn.dl:hover { color: var(--accent); border-color: rgba(201,168,76,0.4); background: rgba(201,168,76,0.08); }
@media (max-width: 700px) { .ac-grid { grid-template-columns: 1fr; } }


/* confetti */
.k-confetti {
  position: fixed; pointer-events: none; z-index: 3000;
  border-radius: 2px;
  animation: confetti-fall 2.5s ease-in forwards;
}
@keyframes confetti-fall {
  0% { transform: translateY(0) rotate(0deg); opacity: 1; }
  100% { transform: translateY(100vh) rotate(540deg); opacity: 0; }
}

/* cert chips */
a.cert-chip {
  text-decoration: none; cursor: pointer;
  color: var(--text2); border-color: var(--border2);
  transition: all 0.15s;
}
a.cert-chip:hover { color: var(--accent); border-color: var(--accent-dim); background: var(--accent-glow); }

/* cert-more collapsible */
.cert-more-details { border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.cert-more-summary {
  padding: 10px 14px;
  font-family: 'DM Mono', 'JetBrains Mono', monospace; font-size: 10.5px; color: var(--text3);
  cursor: pointer; list-style: none; transition: color 0.15s;
}
.cert-more-summary:hover { color: var(--accent); }
.cert-more-grid { padding: 10px 14px 12px; }
.cert-more-item { font-size: 11.5px; color: var(--text2); line-height: 1.7; }
.cert-more-issuer { font-family: 'DM Mono', 'JetBrains Mono', monospace; font-size: 10px; color: var(--accent); margin-right: 6px; }


/* ══════════════════════════════════════
   MOBILE MENU BUTTON
══════════════════════════════════════ */
#mobile-menu-btn {
  display: none;
  position: fixed; top: 16px; left: 16px; z-index: 1100;
  width: 40px; height: 40px; border-radius: 8px;
  background: var(--surface2); border: 1px solid var(--border2);
  cursor: pointer; padding: 8px 7px;
  flex-direction: column; justify-content: space-between;
  transition: all 0.2s;
}
#mobile-menu-btn span {
  display: block; height: 2px; background: var(--text);
  border-radius: 2px; transition: all 0.25s;
}
#mobile-menu-btn.open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
#mobile-menu-btn.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
#mobile-menu-btn.open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
#mobile-menu-btn:hover { border-color: var(--border2); background: var(--surface3); }

#sidebar-overlay {
  display: none;
  position: fixed; inset: 0; z-index: 1050;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(2px);
  opacity: 0; transition: opacity 0.25s;
}
#sidebar-overlay.visible { opacity: 1; }

/* ══════════════════════════════════════
   RESPONSIVE — MOBILE
══════════════════════════════════════ */
@media (max-width: 768px) {
  #mobile-menu-btn { display: flex; }

  .sidebar {
    position: fixed; top: 0; left: 0; height: 100vh;
    z-index: 1060; width: 280px;
    transform: translateX(-100%);
    transition: transform 0.3s cubic-bezier(0.23,1,0.32,1);
    box-shadow: none;
  }
  .sidebar.mobile-open {
    transform: translateX(0);
    box-shadow: 4px 0 40px rgba(0,0,0,0.5);
  }
  #sidebar-overlay { display: block; }

  .main { margin-left: 0 !important; width: 100% !important; }
  #app { flex-direction: column; }

  .hero-title { font-size: clamp(36px, 10vw, 64px); }
  .hero-content { padding: 60px 20px 40px; }
  .hero-tags { gap: 6px; }
  .tag { font-size: 10px; padding: 4px 10px; }

  .stats-bar { grid-template-columns: 1fr 1fr; gap: 12px; padding: 20px 16px; }
  .stat:last-child { grid-column: 1 / -1; }

  .content { padding: 24px 16px; }
  .section { padding: 0; }

  .project-grid { grid-template-columns: 1fr; }
  .mini-grid { grid-template-columns: 1fr; }

  .interests-grid { grid-template-columns: 1fr 1fr; }

  .skills-tabs { flex-wrap: wrap; gap: 4px; }
  .skills-tab { padding: 6px 10px; font-size: 11px; }


  /* disable custom cursor on touch */
  #cursor-dot, #cursor-ring { display: none; }
  * { cursor: auto !important; }
}

@media (max-width: 480px) {
  .hero-actions { flex-direction: column; gap: 10px; }
  .btn-primary, .btn-secondary { width: 100%; text-align: center; }
  .ac-grid { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr 1fr; }
  .hero-eyebrow { margin-top: 50px; }
}

/* ══════════════════════════════════════
   PAPER THEME — clean light, recruiter-friendly
══════════════════════════════════════ */
[data-theme="paper"] {
  --bg: #F7F5F0; --bg2: #EDEAE3; --surface: #FFFFFF;
  --surface2: #F2F0EB; --surface3: #E8E5DE;
  --border: #D8D4CC; --border2: #C4BFB5;
  --accent: #9A6F2E; --accent-glow: rgba(154,111,46,0.10);
  --accent-dim: rgba(154,111,46,0.55);
  --blue: #2B5FAA; --blue-glow: rgba(43,95,170,0.08);
  --purple: #6B4DA8; --purple-glow: rgba(107,77,168,0.08);
  --green: #2A7A4B; --green-glow: rgba(42,122,75,0.08);
  --text: #1A1916; --text2: #4A4740; --text3: #908C84;
}

/* Base */
[data-theme="paper"] body { background: #F7F5F0; color: #1A1916; }

/* Sidebar */
[data-theme="paper"] .sidebar {
  background: #FFFFFF;
  border-right: 1px solid #D8D4CC;
}
[data-theme="paper"] .sidebar-footer { border-top-color: #D8D4CC; }

/* Hero */
[data-theme="paper"] .hero {
  background: linear-gradient(180deg, #EDEAE3 0%, #F7F5F0 60%, #F7F5F0 100%);
}
[data-theme="paper"] .hero-line {
  background: linear-gradient(90deg, transparent 0%, #9A6F2E 30%, rgba(154,111,46,0.3) 70%, transparent 100%);
}
[data-theme="paper"] .hero-title { color: #1A1916; }
[data-theme="paper"] .hero-title em {
  background: linear-gradient(120deg, #1A1916 0%, #9A6F2E 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
[data-theme="paper"] .hero-subtitle { color: #4A4740; }
[data-theme="paper"] .hero-blob-1 { background: radial-gradient(circle, rgba(154,111,46,0.05) 0%, transparent 65%); }
[data-theme="paper"] .hero-blob-2 { background: radial-gradient(circle, rgba(107,77,168,0.04) 0%, transparent 65%); }

/* Cursor */
[data-theme="paper"] #cursor-dot { background: #9A6F2E; box-shadow: 0 0 8px rgba(154,111,46,0.4); }
[data-theme="paper"] #cursor-ring { border-color: rgba(154,111,46,0.4); }
[data-theme="paper"] body.hovering #cursor-ring { border-color: #9A6F2E; }

/* Buttons */
[data-theme="paper"] .btn-primary { background: #9A6F2E; color: #FFFFFF; box-shadow: 0 2px 12px rgba(154,111,46,0.25); }
[data-theme="paper"] .btn-primary:hover { background: #B07E35; box-shadow: 0 4px 20px rgba(154,111,46,0.35); }
[data-theme="paper"] .btn-secondary { border-color: #C4BFB5; color: #4A4740; }
[data-theme="paper"] .btn-secondary:hover { border-color: #9A6F2E; color: #9A6F2E; }

/* Nav */
[data-theme="paper"] .nav-item { color: #4A4740; }
[data-theme="paper"] .nav-item:hover { color: #1A1916; }
[data-theme="paper"] .nav-item.active { color: #9A6F2E; }
[data-theme="paper"] .nav-item.active::after { background: #9A6F2E; box-shadow: none; }
[data-theme="paper"] .nav-section-label { color: #908C84; }

/* Cards */
[data-theme="paper"] .exp-card { background: #FFFFFF; border-color: #D8D4CC; box-shadow: 0 1px 4px rgba(0,0,0,0.06); }
[data-theme="paper"] .exp-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.10); border-color: #C4BFB5; }
[data-theme="paper"] .exp-card-accent { background: linear-gradient(180deg, #9A6F2E 0%, transparent 100%); }
[data-theme="paper"] .project-card { background: #FFFFFF; border-color: #D8D4CC; box-shadow: 0 1px 4px rgba(0,0,0,0.06); }
[data-theme="paper"] .project-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.10); }

/* Stats bar */
[data-theme="paper"] .stats-bar { background: #EDEAE3; border-color: #D8D4CC; }
[data-theme="paper"] .stat-number { color: #9A6F2E; }
[data-theme="paper"] .stat:nth-child(1) .stat-number { color: #9A6F2E; }
[data-theme="paper"] .stat-eyebrow { color: #908C84; }
[data-theme="paper"] .stat:nth-child(1)::before { background: linear-gradient(90deg, #9A6F2E, transparent); }

/* Availability badge */
[data-theme="paper"] .avail-dot { background: #2A7A4B; box-shadow: 0 0 5px rgba(42,122,75,0.4); }
[data-theme="paper"] .avail-badge { border-color: rgba(42,122,75,0.3); color: #2A7A4B; background: rgba(42,122,75,0.07); }

/* Callout / section */
[data-theme="paper"] .callout { background: #FFFFFF; border-color: #D8D4CC; }
[data-theme="paper"] .callout::before { background: linear-gradient(180deg, #9A6F2E 0%, rgba(154,111,46,0.15) 100%); }
[data-theme="paper"] .section-icon-wrap { background: rgba(154,111,46,0.07); border-color: rgba(154,111,46,0.2); }

/* Chips */
[data-theme="paper"] .dp-chip { background: #F2F0EB; border-color: #D8D4CC; color: #4A4740; }
[data-theme="paper"] .dp-chip.blue { background: rgba(43,95,170,0.07); border-color: rgba(43,95,170,0.2); color: #2B5FAA; }
[data-theme="paper"] .dp-chip.green { background: rgba(42,122,75,0.07); border-color: rgba(42,122,75,0.2); color: #2A7A4B; }
[data-theme="paper"] .dp-chip.purple { background: rgba(107,77,168,0.07); border-color: rgba(107,77,168,0.2); color: #6B4DA8; }
[data-theme="paper"] .dp-chip.gold { background: rgba(154,111,46,0.08); border-color: rgba(154,111,46,0.22); color: #9A6F2E; }

/* Misc */
[data-theme="paper"] .minor-bullet { background: #9A6F2E; box-shadow: none; }
[data-theme="paper"] .cert-dot { background: #9A6F2E; box-shadow: none; }
[data-theme="paper"] .skills-tabs { background: #F2F0EB; border-right-color: #D8D4CC; }
[data-theme="paper"] .skills-tab { border-bottom-color: #D8D4CC; }
[data-theme="paper"] .contact-cta-btn { background: #9A6F2E; box-shadow: 0 4px 16px rgba(154,111,46,0.2); }
[data-theme="paper"] .contact-cta-btn:hover { background: #B07E35; }
[data-theme="paper"] .hero-seeking strong { color: #9A6F2E; background: rgba(154,111,46,0.08); border-color: rgba(154,111,46,0.25); }
[data-theme="paper"] .section-divider { background: #D8D4CC; }
[data-theme="paper"] .tag { background: #F2F0EB; border-color: #D8D4CC; color: #4A4740; }

/* ══════════════════════════════════════
   SIDEBAR THEME SWITCHER — full-width split buttons
══════════════════════════════════════ */
.sidebar-theme-row {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 6px 4px 12px;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--border);
}
.sidebar-theme-label {
  font-family: 'DM Mono', 'JetBrains Mono', monospace;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.20em;
  color: rgba(140, 130, 115, 0.75);
}
.sidebar-theme-swatches {
  display: flex;
  gap: 6px;
  width: 100%;
}

/* Full-width split theme buttons */
.theme-swatch {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 8px;
  border-radius: 5px;
  cursor: pointer;
  border: 1.5px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  transition: all 0.2s ease;
}
.theme-swatch:hover {
  border-color: rgba(201,168,76,0.45);
  background: rgba(201,168,76,0.08);
}
.theme-swatch.active {
  border-color: var(--accent);
  background: rgba(201,168,76,0.13);
  box-shadow: 0 0 0 1px rgba(201,168,76,0.22);
}

/* Color dot indicator */
.theme-btn-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
}
.dot-dark {
  background: #08080a;
  border: 1.5px solid #444;
  box-shadow: inset 0 0 0 2px #1a1820;
}
.dot-ink {
  background: linear-gradient(135deg, #0F0D0B 50%, #F5F2EC 50%);
  border: 1.5px solid #666;
}

/* Theme button label */
.theme-btn-name {
  font-family: 'DM Mono', 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(180, 170, 155, 0.85);
  transition: color 0.15s;
}
.theme-swatch:hover .theme-btn-name,
.theme-swatch.active .theme-btn-name {
  color: #FFFFFF;
}

/* Keep old swatch classes working (unused but safe) */
.swatch-preview { display: none; }
.swatch-name { display: none; }

/* ══════════════════════════════════════
   LANG TOGGLE — compact, inline, typographic
══════════════════════════════════════ */
#lang-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin-bottom: 8px !important;
  padding: 8px 0 !important;
  border-radius: 5px !important;
  cursor: pointer !important;
  font-family: 'DM Mono', 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.20em !important;
  text-transform: uppercase !important;
  /* High contrast on dark sidebar (default dark theme) */
  color: rgba(200, 190, 170, 0.90) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  transition: color 0.2s, background 0.2s, border-color 0.2s !important;
}
#lang-toggle:hover {
  color: #FFFFFF !important;
  background: rgba(201,168,76,0.13) !important;
  border-color: rgba(201,168,76,0.50) !important;
}
[data-theme="ink"] #lang-toggle {
  color: rgba(200, 190, 165, 0.88) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
}
[data-theme="ink"] #lang-toggle:hover {
  color: #FFFFFF !important;
  background: rgba(196,144,53,0.14) !important;
  border-color: rgba(196,144,53,0.48) !important;
}


/* ══════════════════════════════════════
   FLOATING THEME TOGGLE (bottom-left)
══════════════════════════════════════ */
#theme-float-btn {
  display: none !important;
}

/* ══════════════════════════════════════
   INK THEME — split personality
   Dark dramatic sidebar + warm editorial main
══════════════════════════════════════ */
[data-theme="ink"] {
  --bg:          #F5F2EC;
  --bg2:         #0F0D0B;
  --surface:     #FAFAF7;
  --surface2:    #EDEAD3;
  --surface3:    #E4E0D5;
  --border:      #D6D1C4;
  --border2:     #C4BDA8;
  --accent:      #8B5E19;
  --accent-glow: rgba(139,94,25,0.12);
  --accent-dim:  rgba(139,94,25,0.55);
  --blue:        #2752A0;
  --blue-glow:   rgba(39,82,160,0.09);
  --purple:      #5C3E96;
  --purple-glow: rgba(92,62,150,0.09);
  --green:       #246640;
  --green-glow:  rgba(36,102,64,0.09);
  --text:        #0D0B09;
  --text2:       #3E3A32;
  --text3:       #857F72;
}

/* ── Base ── */
[data-theme="ink"] body { background: #F5F2EC; color: #0D0B09; }

/* ── Sidebar: near-black, editorial ── */
[data-theme="ink"] .sidebar {
  background: linear-gradient(180deg, #141008 0%, #0F0D0B 40%, #0A0806 100%);
  border-right: 1px solid rgba(139,94,25,0.18);
}
[data-theme="ink"] .sidebar::before {
  background: radial-gradient(ellipse at 50% 0%, rgba(196,144,53,0.13) 0%, rgba(139,94,25,0.04) 50%, transparent 75%);
  height: 220px;
}
[data-theme="ink"] .sidebar-footer { border-top-color: #2A2520; }
[data-theme="ink"] .sidebar-profile::before { background: linear-gradient(90deg, #C49035, rgba(196,144,53,0.25)); }
[data-theme="ink"] .sidebar-name   { color: #E8E4DC; }
[data-theme="ink"] .sidebar-role   { color: rgba(196,144,53,0.7); }
[data-theme="ink"] .nav-label      { color: #4A4540; }
[data-theme="ink"] .nav-item       { color: #9A9488; }
[data-theme="ink"] .nav-item:hover { color: #E8E4DC; }
[data-theme="ink"] .nav-item.active { color: #C49035; }
[data-theme="ink"] .nav-item.active::before {
  background: linear-gradient(90deg, rgba(196,144,53,0.16) 0%, rgba(196,144,53,0.04) 100%);
  opacity: 1;
}
[data-theme="ink"] .nav-item.active::after {
  background: #C49035;
  box-shadow: 0 0 10px rgba(196,144,53,0.7), 0 0 20px rgba(196,144,53,0.3);
}
[data-theme="ink"] .nav-item::before { background: rgba(139,94,25,0.08); }
[data-theme="ink"] .nav-icon        { opacity: 0.5; }
[data-theme="ink"] .nav-item:hover .nav-icon,
[data-theme="ink"] .nav-item.active .nav-icon { opacity: 1; }
[data-theme="ink"] .nav-chevron     { color: #4A4540; }

/* Sidebar contact links */
[data-theme="ink"] .contact-link {
  background: #1A1712;
  border-color: #2A2520;
  color: #9A9488;
}
[data-theme="ink"] .contact-link:hover {
  border-color: rgba(196,144,53,0.4);
  color: #C49035;
  background: rgba(196,144,53,0.07);
  box-shadow: 0 0 12px rgba(196,144,53,0.10);
}
[data-theme="ink"] .contact-link-label { color: #6A6458; }

/* Availability badge — green on dark sidebar */
[data-theme="ink"] .avail-dot   { background: #4AA870; box-shadow: 0 0 6px rgba(74,168,112,0.5); }
[data-theme="ink"] .avail-badge {
  border-color: rgba(74,168,112,0.3);
  color: #4AA870;
  background: rgba(74,168,112,0.07);
}

/* ── Hero ── */
[data-theme="ink"] .hero {
  background:
    radial-gradient(ellipse 70% 55% at 10% 110%, rgba(139,94,25,0.09) 0%, transparent 60%),
    radial-gradient(ellipse 50% 45% at 90% -5%, rgba(92,62,150,0.04) 0%, transparent 55%),
    linear-gradient(175deg, #EDEACF 0%, #F5F2EC 50%, #F5F2EC 100%);
  border-bottom-color: #D6D1C4;
}
[data-theme="ink"] .hero-line {
  background: linear-gradient(90deg, transparent 0%, #8B5E19 25%, rgba(139,94,25,0.25) 70%, transparent 100%);
}
[data-theme="ink"] .hero-title { color: #0D0B09; }
[data-theme="ink"] .hero-title em {
  background: linear-gradient(120deg, #0D0B09 0%, #8B5E19 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
[data-theme="ink"] .hero-subtitle { color: #857F72; }
[data-theme="ink"] #typewriter-text { color: #3E3A32; }
[data-theme="ink"] #typewriter-cursor { color: #8B5E19; }
[data-theme="ink"] .hero-eyebrow { color: #8B5E19; }
[data-theme="ink"] .hero-eyebrow::before { background: #8B5E19; box-shadow: none; }
[data-theme="ink"] .hero-blob-1 { background: radial-gradient(circle, rgba(139,94,25,0.07) 0%, transparent 65%); }
[data-theme="ink"] .hero-blob-2 { background: radial-gradient(circle, rgba(92,62,150,0.04) 0%, transparent 65%); }
[data-theme="ink"] .hero-value-prop {
  color: #3E3A32;
  border-left-color: rgba(139,94,25,0.35);
}

/* Achievement badge */
[data-theme="ink"] .hero-achievement {
  background: rgba(139,94,25,0.06);
  border-color: rgba(139,94,25,0.22);
  box-shadow: none;
}
[data-theme="ink"] .hero-achievement:hover {
  background: rgba(139,94,25,0.10);
  border-color: rgba(139,94,25,0.38);
}
[data-theme="ink"] .hero-achievement-text { color: #8B5E19; }
[data-theme="ink"] .hero-achievement-sub  { color: #857F72; }

/* ── Tags ── */
[data-theme="ink"] .tag { background: #EDEAE0; }
[data-theme="ink"] .tag-gold   { border-color: rgba(139,94,25,0.3);  color: #8B5E19;  background: rgba(139,94,25,0.06); }
[data-theme="ink"] .tag-blue   { border-color: rgba(39,82,160,0.3);  color: #2752A0;  background: rgba(39,82,160,0.06); }
[data-theme="ink"] .tag-purple { border-color: rgba(92,62,150,0.3);  color: #5C3E96;  background: rgba(92,62,150,0.06); }
[data-theme="ink"] .tag-green  { border-color: rgba(36,102,64,0.3);  color: #246640;  background: rgba(36,102,64,0.06); }

/* ── Buttons ── */
[data-theme="ink"] .btn-primary {
  background: #8B5E19; color: #FFF8EE;
  box-shadow: 0 2px 14px rgba(139,94,25,0.28);
}
[data-theme="ink"] .btn-primary:hover {
  background: #A06E20;
  box-shadow: 0 4px 22px rgba(139,94,25,0.38);
}
[data-theme="ink"] .btn-secondary { border-color: #C4BDA8; color: #3E3A32; }
[data-theme="ink"] .btn-secondary:hover { border-color: #8B5E19; color: #8B5E19; background: rgba(139,94,25,0.05); }

/* ── Cursor ── */
[data-theme="ink"] #cursor-dot  { background: #8B5E19; box-shadow: 0 0 8px rgba(139,94,25,0.4); }
[data-theme="ink"] #cursor-ring { border-color: rgba(139,94,25,0.38); }
[data-theme="ink"] body.hovering #cursor-ring { border-color: #8B5E19; }
[data-theme="ink"] body.cur-hover #cursor-ring { border-color: #8B5E19; }

/* ── Stats bar ── */
[data-theme="ink"] .stats-bar {
  background: #EDEACF;
  border-color: #D6D1C4;
  border-radius: 10px;
}
[data-theme="ink"] .stat-number { color: #0D0B09; }
[data-theme="ink"] .stat:nth-child(1) .stat-number { color: #8B5E19; }
[data-theme="ink"] .stat:nth-child(3) .stat-number { color: #2752A0; }
[data-theme="ink"] .stat:nth-child(5) .stat-number { color: #246640; }
[data-theme="ink"] .stat-label { color: #857F72; }
[data-theme="ink"] .stat-sep   { background: #C4BDA8; }

/* ── Content area ── */
[data-theme="ink"] .content { background: transparent; }

/* ── Section ── */
[data-theme="ink"] .section-title { color: #0D0B09; }
[data-theme="ink"] .section-rule  { background: linear-gradient(90deg, #C4BDA8 0%, transparent 60%); }
[data-theme="ink"] .section-divider { background: #D6D1C4; opacity: 0.7; }
[data-theme="ink"] .section-icon-wrap {
  background: rgba(139,94,25,0.09);
  border-color: rgba(139,94,25,0.22);
}
[data-theme="ink"] .section-count {
  background: #EDEAE0;
  border-color: #D6D1C4;
  color: #857F72;
}

/* ── Cards ── */
[data-theme="ink"] .exp-card {
  background: #FAFAF7;
  border-color: #D6D1C4;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
[data-theme="ink"] .exp-card:hover {
  border-color: #C4BDA8;
  box-shadow: 0 8px 28px rgba(0,0,0,0.12), 0 0 0 1px rgba(139,94,25,0.07);
  transform: translateY(-3px);
}
[data-theme="ink"] .exp-card-accent {
  background: linear-gradient(180deg, #8B5E19 0%, transparent 100%);
}
[data-theme="ink"] .exp-card::before {
  background: radial-gradient(circle 200px at var(--mx,50%) var(--my,50%), rgba(139,94,25,0.04) 0%, transparent 70%);
}
[data-theme="ink"] .exp-company { color: #0D0B09; }
[data-theme="ink"] .exp-role    { color: #8B5E19; }
[data-theme="ink"] .exp-date    { color: #857F72; }
[data-theme="ink"] .exp-desc    { color: #3E3A32; }

[data-theme="ink"] .project-card {
  background: #FAFAF7;
  border-color: #D6D1C4;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
[data-theme="ink"] .project-card:hover {
  box-shadow: 0 10px 32px rgba(0,0,0,0.12), 0 0 0 1px rgba(139,94,25,0.08);
  border-color: #C4BDA8;
}

/* ── Badges ── */
[data-theme="ink"] .badge-gold   { background: rgba(139,94,25,0.07); border-color: rgba(139,94,25,0.25); color: #8B5E19; }
[data-theme="ink"] .badge-blue   { background: rgba(39,82,160,0.07); border-color: rgba(39,82,160,0.25); color: #2752A0; }
[data-theme="ink"] .badge-purple { background: rgba(92,62,150,0.07); border-color: rgba(92,62,150,0.25); color: #5C3E96; }
[data-theme="ink"] .badge-green  { background: rgba(36,102,64,0.07); border-color: rgba(36,102,64,0.25); color: #246640; }

/* ── Callout ── */
[data-theme="ink"] .callout {
  background: #FAFAF7;
  border-color: #D6D1C4;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
[data-theme="ink"] .callout::before {
  background: linear-gradient(180deg, #8B5E19 0%, rgba(139,94,25,0.12) 100%);
}
[data-theme="ink"] .callout-row { color: #0D0B09; }
[data-theme="ink"] .callout-icon-box { background: #EDEAE0; border-color: #D6D1C4; }

/* ── Chips / dp-chip ── */
[data-theme="ink"] .dp-chip        { background: #EDEAE0; border-color: #D6D1C4; color: #3E3A32; }
[data-theme="ink"] .dp-chip.blue   { background: rgba(39,82,160,0.07); border-color: rgba(39,82,160,0.2); color: #2752A0; }
[data-theme="ink"] .dp-chip.green  { background: rgba(36,102,64,0.07); border-color: rgba(36,102,64,0.2); color: #246640; }
[data-theme="ink"] .dp-chip.purple { background: rgba(92,62,150,0.07); border-color: rgba(92,62,150,0.2); color: #5C3E96; }
[data-theme="ink"] .dp-chip.gold   { background: rgba(139,94,25,0.07); border-color: rgba(139,94,25,0.22); color: #8B5E19; }

/* ── Minor bullets, cert dots ── */
[data-theme="ink"] .minor-bullet { background: #8B5E19; box-shadow: none; }
[data-theme="ink"] .cert-dot     { background: #8B5E19; box-shadow: none; }

/* ── Skills tabs ── */
[data-theme="ink"] .skills-panel {
  background: #FAFAF7;
  border-color: #D6D1C4;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
[data-theme="ink"] .skills-tabs {
  background: #F0EDE4;
  border-right-color: #D6D1C4;
}
[data-theme="ink"] .skills-tab {
  background: transparent;
  border-bottom-color: #E0DDD4;
  color: #857F72;
}
[data-theme="ink"] .skills-tab:hover {
  background: #E8E5DC;
  color: #3E3A32;
}
/* Active tab: clean left-bar approach, no heavy fill */
[data-theme="ink"] .skills-tab.active {
  background: #FAFAF7;
  color: #0D0B09;
  border-color: #D6D1C4;
}
[data-theme="ink"] .skills-tab.active::after {
  box-shadow: none;
}
[data-theme="ink"] .skills-tab-name { color: inherit; }
[data-theme="ink"] .skills-tab.active .skills-tab-name { color: #0D0B09; font-weight: 500; }

/* Skills content area */
[data-theme="ink"] .skills-content { background: #FAFAF7; }
[data-theme="ink"] .skills-pane-header { border-bottom-color: #D6D1C4; }
[data-theme="ink"] .skills-pane-title  { color: #0D0B09; }
[data-theme="ink"] .skills-pane-desc   { color: #857F72; }

/* Skill level labels */
[data-theme="ink"] .skill-level-label[data-level="expert"]     { color: #3E3A32; }
[data-theme="ink"] .skill-level-label[data-level="proficient"] { color: #857F72; }
[data-theme="ink"] .skill-level-label[data-level="familiar"]   { color: #A8A29A; }

/* Skill pills — richer contrast per category */
[data-theme="ink"] .cat-eng  { --sk-bg: rgba(139,94,25,0.07);  --sk-border: rgba(139,94,25,0.22);  --sk-color: #7A5218; --sk-hover: rgba(139,94,25,0.13); }
[data-theme="ink"] .cat-prod { --sk-bg: rgba(39,82,160,0.06);  --sk-border: rgba(39,82,160,0.22);  --sk-color: #2752A0; --sk-hover: rgba(39,82,160,0.12); }
[data-theme="ink"] .cat-biz  { --sk-bg: rgba(92,62,150,0.06);  --sk-border: rgba(92,62,150,0.22);  --sk-color: #5C3E96; --sk-hover: rgba(92,62,150,0.12); }
[data-theme="ink"] .cat-des  { --sk-bg: rgba(36,102,64,0.06);  --sk-border: rgba(36,102,64,0.22);  --sk-color: #246640; --sk-hover: rgba(36,102,64,0.12); }
[data-theme="ink"] .cat-math { --sk-bg: rgba(185,55,55,0.06);  --sk-border: rgba(185,55,55,0.22);  --sk-color: #B93737; --sk-hover: rgba(185,55,55,0.12); }

/* Pill opacity: keep all tiers more readable on light bg */
[data-theme="ink"] .proficient-level .sk { opacity: 0.80; }
[data-theme="ink"] .familiar-level   .sk { opacity: 0.58; }

/* Cert group */
[data-theme="ink"] .cert-group        { background: #FAFAF7; border-color: #D6D1C4; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
[data-theme="ink"] .cert-group-header { background: #F0EDE4; border-bottom-color: #D6D1C4; }
[data-theme="ink"] .cert-group-title  { color: #0D0B09; }
[data-theme="ink"] .cert-count        { background: #FAFAF7; border-color: #D6D1C4; color: #857F72; }
[data-theme="ink"] .cert-item         { color: #3E3A32; border-bottom-color: rgba(0,0,0,0.07); }
[data-theme="ink"] .cert-item:hover   { background: #F0EDE4; }

/* Cert chips — inherit category accent, visible on light bg */
[data-theme="ink"] .cert-chip:hover {
  border-color: var(--sk-color, #8B5E19) !important;
  background: var(--sk-bg, rgba(139,94,25,0.08)) !important;
  color: var(--sk-color, #8B5E19) !important;
  box-shadow: 0 3px 10px rgba(0,0,0,0.08);
}

/* ── Interests grid ── */
[data-theme="ink"] .interest-pill { background: #FAFAF7; border-color: #D6D1C4; }
[data-theme="ink"] .interest-pill:hover { background: #EDEAE0; border-color: #C4BDA8; }
[data-theme="ink"] .interest-name { color: #857F72; }

/* ── Academic cards ── */
[data-theme="ink"] .ac-card { background: #FAFAF7; border-color: #D6D1C4; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
[data-theme="ink"] .ac-card-title { color: #0D0B09; }
[data-theme="ink"] .ac-card-desc  { color: #857F72; }
[data-theme="ink"] .ac-action-btn { background: #F5F2EC; border-color: #D6D1C4; color: #857F72; }
[data-theme="ink"] .ac-card:hover .ac-action-btn { opacity: 1; }

/* ── Misc ── */
[data-theme="ink"] .section-divider { opacity: 0.6; }

/* ── Cert chips ── */
[data-theme="ink"] a.cert-chip { color: #3E3A32; border-color: #C4BDA8; }
[data-theme="ink"] a.cert-chip:hover { color: #8B5E19; border-color: rgba(139,94,25,0.4); background: rgba(139,94,25,0.06); }

/* ── Mobile menu button ── */
[data-theme="ink"] #mobile-menu-btn { background: #EDEAE0; border-color: #C4BDA8; }
[data-theme="ink"] #mobile-menu-btn span { background: #0D0B09; }

/* ── Scroll progress ── */
[data-theme="ink"] #scroll-progress { background: linear-gradient(90deg, #8B5E19, #C49035); }

/* ══════════════════════════════════════
   DARK THEME — SUBPAGE OVERRIDES
══════════════════════════════════════ */

/* 1. dp-project-card hover — deeper shadow + color glow */
:root .dp-project-card:hover,
html:not([data-theme]) .dp-project-card:hover {
  box-shadow: 0 12px 36px rgba(0,0,0,0.5), 0 0 0 1px rgba(201,168,76,0.07);
  transform: translateY(-2px);
}
html:not([data-theme]) .dp-project-card.gold:hover   { box-shadow: 0 12px 36px rgba(0,0,0,0.5), 0 0 0 1px rgba(201,168,76,0.10), 0 0 24px rgba(201,168,76,0.07); }
html:not([data-theme]) .dp-project-card.blue:hover   { box-shadow: 0 12px 36px rgba(0,0,0,0.5), 0 0 0 1px rgba(91,159,212,0.10),  0 0 24px rgba(91,159,212,0.07); }
html:not([data-theme]) .dp-project-card.purple:hover { box-shadow: 0 12px 36px rgba(0,0,0,0.5), 0 0 0 1px rgba(155,127,212,0.10), 0 0 24px rgba(155,127,212,0.07); }
html:not([data-theme]) .dp-project-card.green:hover  { box-shadow: 0 12px 36px rgba(0,0,0,0.5), 0 0 0 1px rgba(93,186,138,0.10),  0 0 24px rgba(93,186,138,0.07); }

/* 2. dp-impact-banner — surface2 για να ξεχωρίζει + subtle top glow */
html:not([data-theme]) .dp-impact-banner {
  background: var(--surface2);
  border-color: var(--border2);
  box-shadow: 0 0 0 1px var(--border), inset 0 1px 0 rgba(201,168,76,0.06);
}
html:not([data-theme]) .dp-impact-cell:hover { background: var(--surface3); }

/* 3. dp-tldr + dp-closing — subtle radial glow + deeper border */
html:not([data-theme]) .dp-tldr {
  background: var(--surface);
  border-color: var(--border2);
  box-shadow: 0 4px 20px rgba(0,0,0,0.25), inset 0 0 40px rgba(201,168,76,0.025);
}
html:not([data-theme]) .dp-tldr::before {
  background: linear-gradient(90deg, var(--accent), var(--purple), transparent);
  height: 2px;
}
html:not([data-theme]) .dp-closing {
  background: var(--surface);
  border-color: var(--border2);
  box-shadow: 0 4px 24px rgba(0,0,0,0.3), inset 0 0 60px rgba(201,168,76,0.02);
}

/* ══════════════════════════════════════
   INK THEME — SUBPAGE OVERRIDES
══════════════════════════════════════ */

/* 4. dp-project-card — lift shadow στο resting state */
[data-theme="ink"] .dp-project-card {
  box-shadow: 0 2px 8px rgba(0,0,0,0.07);
}
[data-theme="ink"] .dp-project-card:hover {
  box-shadow: 0 10px 32px rgba(0,0,0,0.12), 0 0 0 1px rgba(139,94,25,0.08);
  border-color: #C4BDA8;
}
[data-theme="ink"] .dp-project-card.gold:hover   { box-shadow: 0 10px 32px rgba(0,0,0,0.12), 0 0 0 1px rgba(139,94,25,0.12),  0 0 20px rgba(139,94,25,0.06); }
[data-theme="ink"] .dp-project-card.blue:hover   { box-shadow: 0 10px 32px rgba(0,0,0,0.12), 0 0 0 1px rgba(39,82,160,0.12),  0 0 20px rgba(39,82,160,0.06); }
[data-theme="ink"] .dp-project-card.purple:hover { box-shadow: 0 10px 32px rgba(0,0,0,0.12), 0 0 0 1px rgba(92,62,150,0.12),  0 0 20px rgba(92,62,150,0.06); }
[data-theme="ink"] .dp-project-card.green:hover  { box-shadow: 0 10px 32px rgba(0,0,0,0.12), 0 0 0 1px rgba(36,102,64,0.12),  0 0 20px rgba(36,102,64,0.06); }

/* 5. dp-h3 border — πιο ορατό */
[data-theme="ink"] .dp-h3 {
  border-bottom-color: #C4BDA8;
  color: #6B6358;
}

/* 6. dp-detail-label — font-weight για contrast στο light bg */
[data-theme="ink"] .dp-detail-label {
  font-weight: 500;
  color: #8B5E19;
}
[data-theme="ink"] .dp-project-card.purple .dp-detail-label { color: #5C3E96; }
[data-theme="ink"] .dp-project-card.blue   .dp-detail-label { color: #2752A0; }
[data-theme="ink"] .dp-project-card.green  .dp-detail-label { color: #246640; }
[data-theme="ink"] .dp-detail-row {
  background: #F5F2E8;
  border-color: #D6D1C4;
}
[data-theme="ink"] .dp-detail-row:hover { border-color: #C4BDA8; background: #EDEACF; }

/* 7. back-to-portfolio — accent hint, ξεχωρίζει */
[data-theme="ink"] .back-to-portfolio {
  background: #F5F2E8;
  border-color: #C4BDA8;
  color: #6B6358;
}
[data-theme="ink"] .back-to-portfolio:hover {
  border-color: rgba(139,94,25,0.45);
  color: #8B5E19;
  background: rgba(139,94,25,0.06);
}

/* 7b. dark theme back-to-portfolio — ίδια λογική */
html:not([data-theme]) .back-to-portfolio:hover {
  border-color: var(--accent-dim);
  color: var(--accent);
}



/* ══════════════════════════════════════
   SUBPAGE SIDEBAR THEME DOTS
   (.sidebar-theme-dots / .sidebar-theme-dot / .std-dot / .std-name)
   Used by subpage-common.js — different class names from the index swatches
══════════════════════════════════════ */
.sidebar-theme-dots {
  display: flex;
  gap: 6px;
  width: 100%;
}

.sidebar-theme-dot {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 8px;
  border-radius: 5px;
  cursor: pointer;
  border: 1.5px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  transition: all 0.2s ease;
  /* reset browser button defaults */
  font-family: inherit;
  text-align: center;
  outline: none;
}

.sidebar-theme-dot:hover {
  border-color: rgba(201,168,76,0.45);
  background: rgba(201,168,76,0.08);
}

.sidebar-theme-dot.active {
  border-color: var(--accent, #C9A84C);
  background: rgba(201,168,76,0.13);
  box-shadow: 0 0 0 1px rgba(201,168,76,0.22);
}

/* The colour dot indicator */
.std-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
  /* default = dark theme dot */
  background: #08080a;
  border: 1.5px solid #444;
  box-shadow: inset 0 0 0 2px #1a1820;
}

/* Ink-button dot: split half-dark / half-light */
.sidebar-theme-dot[data-theme="ink"] .std-dot {
  background: linear-gradient(135deg, #0F0D0B 50%, #F5F2EC 50%);
  border: 1.5px solid #666;
  box-shadow: none;
}

/* The text label */
.std-name {
  font-family: 'DM Mono', 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(180, 170, 155, 0.85);
  transition: color 0.15s;
}

.sidebar-theme-dot:hover .std-name,
.sidebar-theme-dot.active .std-name {
  color: #FFFFFF;
}

/* ── Ink theme overrides for the dots ── */
[data-theme="ink"] .sidebar-theme-dot {
  border-color: rgba(139,94,25,0.18);
  background: rgba(255,255,255,0.04);
}

[data-theme="ink"] .sidebar-theme-dot:hover {
  border-color: rgba(196,144,53,0.45);
  background: rgba(196,144,53,0.09);
}

[data-theme="ink"] .sidebar-theme-dot.active {
  border-color: #C49035;
  background: rgba(196,144,53,0.14);
  box-shadow: 0 0 0 1px rgba(196,144,53,0.22);
}

[data-theme="ink"] .std-name {
  color: rgba(160, 150, 130, 0.85);
}

[data-theme="ink"] .sidebar-theme-dot:hover .std-name,
[data-theme="ink"] .sidebar-theme-dot.active .std-name {
  color: #E8E4DC;
}
