:root{
  /* base palette using cold blue from QR code */
  --bg:#0d0d0d;
  --text-main:#e8e8e8;
  --accent:#5F9DF8; /* cold blue sampled from QR code */
  --accent-dim:#4A7CC4; /* darker shade for hover/focus */
  /* warm accent for project fragments (tuned toward QR left‑upper corner) */
  --warm:#ffa26e;
  --warm-dim:#d88555;
  --white:#FFFFFF;
  --bullet:#999;
  --font-body:"Inter","Segoe UI",sans-serif;

  /* compatibility with previous vars (map all accents to cyan) */
  --gold-main:var(--accent);
  --gold-soft:var(--accent);
  --link-accent:var(--accent);

  /* layout */
  --sidebar-gap:24px; /* base spacing between sidebar items */
  --mobile-nav-width:150px; /* reserved space for fixed right nav on small screens */
}

html,body{margin:0;background:var(--bg);color:var(--text-main);font-family:var(--font-body);scroll-behavior:smooth;}
body{font-size:0.95rem;}
a{color:var(--accent);text-decoration:none;} 
a:hover{color:var(--accent-dim);text-decoration:underline;}
h1{color:var(--accent);font-size:1.4rem;margin:0 0 1rem;}
h2{color:var(--accent);margin:2rem 0 1rem;font-size:1.65rem;}
h3{color:var(--accent);margin:2rem 0 1rem;font-size:1.1rem;}
/* Company headings larger in experience section */
.job h3{font-size:1.375rem;color:var(--text-main);}

.container{display:flex;gap:32px;max-width:1200px;margin:0 auto;padding:32px;align-items:flex-start;}
.main-wrapper{display:flex;gap:32px;flex:1;align-items:flex-start;}

/* Shared sidebar styles */
.sidebar{display:flex;flex-direction:column;align-items:center;gap:var(--sidebar-gap);position:sticky;top:0;height:100vh;padding:24px 0;}
/* Reduce spacing in left sidebar by 40% */
.sidebar-left{gap:calc(0.6 * var(--sidebar-gap));}
/* Name and role at top */
.sidebar-left{text-align:center;}
.sidebar-name{color:var(--white);font-size:1.4rem;margin:0;}
.sidebar-role{color:var(--white);margin:0;font-size:1.4rem;}
.sidebar h2,.sidebar p,.sidebar img{margin:0;}
.sidebar h2{color:var(--white);}
.sidebar .location{margin-bottom:calc(-0.5 * var(--sidebar-gap));}

/* Left sidebar: keep content fitting without scroll; scale images if needed */
.sidebar-left{min-width:280px;max-width:360px;overflow:hidden;justify-content:flex-start;}
.sidebar-left .profile-photo,.sidebar-left .qr{
  display:block;border-radius:8px;max-width:100%;height:auto;
  object-fit:contain; /* preserve aspect ratio */
  max-height:34vh; /* 20% bigger than 28vh */
}
/* add breathing space above and below */
.sidebar-left .profile-photo{margin-top:8px;margin-bottom:8px;}
.sidebar-left .qr{margin-top:8px;margin-bottom:8px;border-radius:10px;}
/* Location and email same size as h2 (Контакты) */
.sidebar-left .location{font-size:1.25rem;color:var(--white);margin-top:calc(-0.2 * var(--sidebar-gap));}

/* Right sidebar: nav buttons blue outline only (transparent fill) */
.sidebar-right{min-width:308px;max-width:392px;overflow:auto;}
.sidebar-right .sidebar-nav ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;width:100%;}
.sidebar-right .sidebar-nav a{display:block;padding:8.4px 14px;border-radius:8.4px;color:var(--accent);background:transparent;border:1.4px solid var(--accent);font-weight:600;font-size:1.1rem;}
.sidebar-right .sidebar-nav a:hover{color:var(--accent-dim);border-color:var(--accent-dim);} 
.sidebar-right .sidebar-nav a:focus{outline:2px solid var(--accent-dim);}

/* Content */
.sidebar-nav a {
    text-align: center;
}
.content{flex:1;min-width:0;max-width:700px;}
.section{padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,0.06);} 
.section:last-of-type{border-bottom:0;}
.section h2{margin-top:0;}
.job{margin-bottom:28px;}
.meta{color:#bbb;}
.stack{margin-top:8px;}

ul{list-style:disc;margin-left:20px;}
ul li::marker{color:var(--bullet);} 
.skills span{color:inherit;font-weight:inherit;}

/* download link as button (blue outline only) */
.download-link{display:inline-block;padding:8px 12px;border:1px solid var(--accent);border-radius:6px;color:var(--accent);background:transparent;font-weight:600;}
.download-link:hover{color:var(--accent-dim);border-color:var(--accent-dim);}

/* Project links: emphasize only key fragment with blue color */
a.proj{color:var(--text-main);text-decoration:none;}
a.proj:hover{text-decoration:underline;}
a.proj-frag{color:var(--accent);text-decoration:underline;font-weight:700;}
a.proj-frag:hover{color:var(--accent-dim);}

/* Skills header lines: bigger by 20% and no special color */
.skills{text-align:center;line-height:1.6;font-size:1.2em;color:var(--text-main);} 
.skills .highlight{color:inherit;font-weight:600;}
.skills .separator{color:var(--text-main);} /* pipes plain */

/* Accent highlighting for key terms */
.highlight{color:inherit;font-weight:600;}

/* Job titles styling: plain white and 20% smaller than headers (~1.1rem) */
.job-title{color:var(--text-main);font-weight:600;font-size:1.1rem;}

/* Collapsible sections */
.collapsible{cursor:pointer;background:rgba(255,255,255,0.05);padding:8px 12px;border-radius:6px;margin:16px 0 8px;display:flex;align-items:center;justify-content:space-between;}
.collapsible:hover{background:rgba(255,255,255,0.08);}
.collapsible::after{content:'▼';font-size:0.8rem;transition:transform 0.3s;}
.collapsible.collapsed::after{transform:rotate(-90deg);}
.collapsible-content{overflow:hidden;transition:max-height 0.3s ease-out;}
.collapsible-content.collapsed{max-height:0;}
.collapsible-content.expanded{max-height:1000px;}

/* Section collapsibility (details/summary) */
details.fold{margin:1rem 0;}
details.fold > summary{color:var(--white);font-size:1.375rem;cursor:pointer;list-style:none;}
details.fold > summary::-webkit-details-marker{display:none;}
details.fold > summary::marker{content:'';}
details.fold > summary::after{content:'▼';font-size:0.92rem;margin-left:8px;display:inline-block;color:var(--accent);transform:rotate(-90deg);transition:transform 0.2s ease, color 0.2s ease;}
details.fold[open] > summary::after{transform:rotate(0);color:var(--accent-dim);}
/* Collapsible job sub-section: white label, blue triangle on the LEFT */
details.collapsible-details > summary{color:var(--text-main);cursor:pointer;position:relative;padding-left:18px;}
details.collapsible-details > summary::-webkit-details-marker{display:none;}
details.collapsible-details > summary::marker{content:'';}
details.collapsible-details > summary::before{content:'\25BA'; /* ► */ color:var(--accent); position:absolute; left:0; font-size:1.035rem; transform:rotate(0deg); transition:transform 0.2s ease, color 0.2s ease;}
details.collapsible-details[open] > summary::before{transform:rotate(90deg); color:var(--accent-dim);}
/* Email link styling - 25% larger */
.email-link{
  font-size:1.25rem; /* 25% larger than default */
  display:block;
  margin-top:8px;
}

/* Responsive layout adjustments for narrow viewports */
@media (max-width: 768px){
  .container{flex-direction:column;gap:24px;padding:16px;}
  .sidebar{position:static;height:auto;width:100%;max-width:none;}
  .sidebar-left{min-width:0;max-width:none;}
  .main-wrapper{display:flex;flex-direction:column;gap:24px;width:100%;}
  .sidebar-right{order:1;min-width:0;max-width:none;width:100%;overflow:visible;}
  .content{order:2;max-width:none;}
}
