/* Preview-only design tokens. No original stylesheet is edited. */
:root {
 --lp-page: #f5f6f8;
 --lp-band: #f8f9fb;
 --lp-white: #ffffff;
 --lp-raised: #edf1f5;
 --lp-paper: #f8fafc;
 --lp-ink: #20262e;
 --lp-text: #3d4856;
 --lp-muted: #596574;
 --lp-dim: #677484;
 --lp-line: #d8dfe7;
 --lp-line-strong: #b8c5d2;
 --lp-accent: #3e638d;
 --lp-accent-soft: #e8eef5;
 --lp-accent-rgb: 62,99,141;
 --lp-green: #35755e;
 --lp-green-soft: #e9f2ed;
 --lp-violet: #706184;
 --lp-violet-soft: #efedf3;
 --lp-amber: #93672f;
 --lp-red: #a44954;
 --lp-shadow: 0 10px 30px rgba(35,53,73,.055);
 --lp-shadow-raised: 0 16px 36px rgba(35,53,73,.12);
}
html[data-theme="light"] {color-scheme:light; background:var(--lp-page)}
html[data-theme="dark"] {color-scheme:dark}
html[data-theme="light"] ::selection {background:#d9e5f2;color:#203951}
html[data-theme="light"] :where(a,button,summary,input,textarea,select,[tabindex]):focus-visible {
 outline:2px solid var(--lp-accent); outline-offset:4px;
}
html[data-theme="light"] :where(input,textarea)::placeholder {color:var(--lp-dim);opacity:1}
html[data-theme="light"] :where(input,textarea,select) {accent-color:var(--lp-accent)}
/* Explicit light / dark selection adapted from the approved 02 segmented study. */
.lp-theme-toggle {
 --lp-toggle-text:#e2e7ed;--lp-toggle-muted:#a6afbb;
 --lp-toggle-line:#414852;--lp-toggle-track:#11161c;
 --lp-toggle-selected:#343d48;--lp-toggle-selected-text:#f5f7fa;
 --lp-toggle-focus:#a3c9f5;
 width:151px;min-width:151px;height:40px;flex:0 0 151px;
 padding:3px;display:inline-flex;align-items:center;gap:3px;
 border:1px solid var(--lp-toggle-line);border-radius:999px;
 background:var(--lp-toggle-track);color:var(--lp-toggle-text);
 font:500 12px/1.15 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
 white-space:nowrap;isolation:isolate;
}
.lp-theme-toggle[hidden] {display:none}
html[data-theme="light"] .lp-theme-toggle {
 --lp-toggle-text:#25303b;--lp-toggle-muted:#626e7b;
 --lp-toggle-line:#c6cfd8;--lp-toggle-track:#e9edf1;
 --lp-toggle-selected:#fff;--lp-toggle-selected-text:#17212c;
 --lp-toggle-focus:#2164ab;
}
.lp-theme-option {
 min-width:0;height:32px;flex:1 1 0;padding:0 8px;
 display:inline-flex;align-items:center;justify-content:center;gap:6px;
 border:0;border-radius:999px;background:transparent;color:var(--lp-toggle-muted);
 font:inherit;white-space:nowrap;cursor:pointer;touch-action:manipulation;
 transition:background-color 180ms ease,color 180ms ease,box-shadow 180ms ease,transform 140ms ease;
}
.lp-theme-option:hover {color:var(--lp-toggle-text)}
.lp-theme-option[aria-pressed="true"] {
 background:var(--lp-toggle-selected);color:var(--lp-toggle-selected-text);
 box-shadow:0 1px 3px rgba(0,0,0,.18);font-weight:600;
}
.lp-theme-option:active {transform:translateY(1px)}
.lp-theme-option:focus-visible {outline:2px solid var(--lp-toggle-focus);outline-offset:3px}
.lp-theme-icon {width:14px;height:14px;display:block;flex:none;stroke-width:1.65}
/* Large screens retain a genuinely centered navigation between symmetric sides. */
@media(min-width:1201px) {
 body.layout-dark-draft .vibe-header .nav-shell,
 body.layout-dark-draft .vibe-header.is-scrolled .nav-shell,
 body.layout-dark-draft .vibe-header.is-entry-theme .nav-shell {
  display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
 }
 body.layout-dark-draft .header-actions {flex-wrap:nowrap;min-width:0;gap:8px}
}
/* Give tablet navigation its own row before the long action can crowd it. */
@media(min-width:621px) and (max-width:1200px) {
 body.layout-dark-draft {--draft-header-height:104px}
 body.layout-dark-draft .vibe-header .nav-shell,
 body.layout-dark-draft .vibe-header.is-scrolled .nav-shell,
 body.layout-dark-draft .vibe-header.is-entry-theme .nav-shell {
  display:grid;width:calc(100% - 32px);grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:44px 36px;grid-template-areas:"brand actions" "links links";
  align-content:center;gap:5px 16px;padding:6px 0;
 }
 body.layout-dark-draft .vibe-brand {grid-area:brand;justify-self:start}
 body.layout-dark-draft .header-actions {grid-area:actions;justify-self:end;gap:8px;flex-wrap:nowrap}
 body.layout-dark-draft .anchor-nav {grid-area:links;justify-self:center;justify-content:center;gap:16px;overflow:visible}
 body.layout-dark-draft .anchor-nav a {white-space:nowrap}
 body.layout-dark-draft .anchor-nav a::after {top:0}
}
/* Phone: the segmented control gets a full-width row and two generous targets. */
@media(max-width:620px) {
 body.layout-dark-draft {--draft-header-height:136px}
 body.layout-dark-draft .vibe-header .nav-shell,
 body.layout-dark-draft .vibe-header.is-scrolled .nav-shell,
 body.layout-dark-draft .vibe-header.is-entry-theme .nav-shell {
  display:grid;width:100%;height:100%;grid-template-columns:minmax(0,1fr) auto auto;
  grid-template-rows:40px 40px 32px;
  grid-template-areas:"brand resume contact" "theme theme theme" "links links links";
  align-content:center;gap:4px 8px;padding:8px 12px;
 }
 body.layout-dark-draft .vibe-brand {grid-area:brand;justify-self:start}
 body.layout-dark-draft .header-actions {display:contents}
 body.layout-dark-draft .header-resume {grid-area:resume;justify-self:end}
 body.layout-dark-draft .header-contact {grid-area:contact;justify-self:end}
 body.layout-dark-draft .lp-theme-toggle {grid-area:theme;width:100%;min-width:0;min-height:40px}
 body.layout-dark-draft .anchor-nav {grid-area:links;justify-self:stretch;justify-content:space-between;gap:0;overflow:visible}
 body.layout-dark-draft .anchor-nav a {padding:8px 4px;font-size:11px;white-space:nowrap}
 body.layout-dark-draft .anchor-nav a::after {top:0}
}
@media(prefers-reduced-motion:reduce) {
 .lp-theme-option {transition:none}
}
@media(forced-colors:active) {
 .lp-theme-toggle {border-color:ButtonText}
 .lp-theme-option {color:ButtonText}
 .lp-theme-option[aria-pressed="true"] {outline:2px solid Highlight;outline-offset:-2px}
}
