/* V29 / LedgerLegend-inspired emerald, antique gold, near-black. */
:root,:root[data-theme="dark"]{
 color-scheme:dark;
 --bg:#09150f; --panel:#14281d; --panel2:#1c3527; --line:rgba(203,177,109,.28);
 --text:#eef5e8; --muted:#b8cbbb; --faint:#829b86;
 --accent:#75c695; --accent-dark:#4b9874; --accent-rgb:117,198,149;
 --header:rgba(9,22,16,.85);--shadow:rgba(0,0,0,.29);
 --scene26-base:#09150f;--scene26-panel:rgba(27,71,45,.19);--scene26-border:rgba(219,196,137,.34);
 --scene26-sheen:linear-gradient(128deg,rgba(245,251,227,.14),rgba(83,143,100,.10) 27%,rgba(11,38,24,.04) 73%,rgba(188,167,106,.10));
 --v27-glass:rgba(23,68,40,.18);--v27-wash:linear-gradient(124deg,rgba(227,246,211,.14),rgba(67,142,85,.09) 34%,rgba(11,34,21,.035) 69%,rgba(216,183,107,.085));
 --v27-rim:rgba(222,201,146,.38);--v27-bottom-rim:rgba(178,147,80,.22);
 --v25-panel:rgba(33,77,48,.15);--v25-panel-raised:rgba(62,113,74,.21);--v25-panel-faint:rgba(33,77,48,.11);
 --v25-border:rgba(222,200,145,.29);
 --v29-bg:radial-gradient(ellipse 70% 91% at 72% 9%,rgba(39,89,61,.44),rgba(19,49,34,.27) 43%,transparent 85%),linear-gradient(152deg,#09130e 0%,#112319 56%,#07110b 100%);
 --v29-gold:#cbb17a;
}
:root[data-theme="light"]{
 color-scheme:light;
 --bg:#eef5e9;--panel:#e4efe1;--panel2:#d4e7d5;--line:rgba(82,110,71,.27);
 --text:#163424;--muted:#41634a;--faint:#6d8872;
 --accent:#277e50;--accent-dark:#216840;--accent-rgb:39,126,80;
 --header:rgba(240,247,237,.90);--shadow:rgba(32,74,41,.12);
 --scene26-base:#eaf4e8;--scene26-panel:rgba(241,255,236,.39);--scene26-border:rgba(103,135,87,.32);
 --scene26-sheen:linear-gradient(128deg,rgba(255,255,255,.60),rgba(220,244,213,.23) 43%,rgba(181,217,177,.13));
 --v27-glass:rgba(235,252,228,.36);--v27-wash:linear-gradient(128deg,rgba(255,255,255,.61),rgba(231,248,225,.24) 48%,rgba(191,226,190,.17));
 --v27-rim:rgba(140,166,115,.53);--v27-bottom-rim:rgba(108,136,99,.22);
 --v25-panel:rgba(242,255,236,.30);--v25-panel-raised:rgba(241,255,235,.46);--v25-panel-faint:rgba(238,254,231,.24);
 --v25-border:rgba(92,124,83,.30);
 --v29-bg:radial-gradient(ellipse 68% 88% at 72% 8%,rgba(146,202,151,.37),rgba(223,240,216,.22) 49%,transparent 83%),linear-gradient(152deg,#edf6e9,#e5f1e4 50%,#d7e9d8);
 --v29-gold:#80683e;
}
/* One uninterrupted emerald scene across all six chapters. */
html,body{background:var(--scene26-base)!important}
body main#main{background:var(--v29-bg)!important;background-image:var(--v29-bg)!important;background-color:var(--scene26-base)!important;}
body main#main::before{background:var(--v29-bg)!important;}
body main#main > section[id],body main#main > section[id].deck-active,
body main#main > section#home.hero.hero-v14,body main#main > section#home.hero.hero-v14.deck-active,
body main#main #experience .journey-sticky,body main#main #experience .journey-viewport,
body main#main #skills .talent-forest,body main#main #credentials .v21-gallery-stage{background:transparent!important;background-image:none!important;}
/* Legacy gold and teal components are now matched to the current palette. */
#experience .journey-heading h2 em,#experience .journey-head strong,
#experience .journey-counter,#experience .journey-date,#experience .journey-number,
#experience .journey-card .journey-date{color:var(--v29-gold)!important;}
#experience .journey-card{border-top-color:var(--v29-gold)!important;}
#experience .journey-progress-fill,#experience .journey-progress-active{background:var(--accent)!important;}
#home.hero-v14 .hero-v14-last,.v21-gallery-label{color:var(--accent)!important;}
body .site-header{background:var(--header)!important;border-bottom:1px solid var(--v25-border)!important;}
/* Maintain a legible, translucent glass surface even on old nested cards. */
body main#main .v27-glass {
 background-color:var(--v27-glass)!important;
 background-image:var(--v27-wash)!important;
 border:1px solid var(--v27-rim)!important;
 box-shadow:0 16px 45px rgba(0,0,0,.25),inset 0 1px rgba(252,255,241,.22),inset 0 0 26px rgba(102,172,110,.045)!important;
 -webkit-backdrop-filter:blur(12px) saturate(130%)!important;
 backdrop-filter:blur(12px) saturate(130%)!important;
}
/* The real CodePen uses a 12px blurred scene and 31.25% frost wash. */
body main#main .v27-glass::before{
 background:linear-gradient(133deg,rgba(228,249,208,.19),rgba(26,63,36,.02) 45%,rgba(220,199,134,.075))!important;
 opacity:.3125;pointer-events:none!important;
}
/* Paired drop highlight + lens shadow, positioned like the author's 100-drop SCSS. */
body main#main .v27-glass .v27-rain{position:absolute!important;inset:0!important;opacity:1!important;pointer-events:none!important;overflow:hidden!important;z-index:1!important;contain:paint!important;}
body main#main .v27-glass .v27-rain .v27-drop{
 left:var(--rx);top:var(--ry);width:var(--rw);height:var(--rh);
 border-radius:100%;opacity:0;
 background:radial-gradient(ellipse at 33% 26%,rgba(248,255,238,.87),rgba(212,255,218,.27) 28%,rgba(13,43,28,.13) 62%,rgba(251,255,231,.38) 94%);
 border:0!important;
 box-shadow:2px 1px 0 1px rgba(0,0,0,.105),inset 1px 1px 2px rgba(255,255,255,.30),inset -1px -1px 2px rgba(0,0,0,.26);
 filter:blur(.5px);
 transform:rotateY(180deg);
 animation:v29-streaking var(--rd) linear var(--rdelay) infinite!important;
 will-change:transform,opacity;
}
body main#main .v27-glass .v27-rain .v27-drop::after{
 content:"";position:absolute;left:2px;top:1px;width:calc(100% - 4px);height:calc(100% - 2px);
 background:radial-gradient(ellipse at 30% 18%,rgba(247,255,237,.6),transparent 53%);
 border-radius:inherit;opacity:.6;filter:none;
}
@keyframes v29-streaking{
 0%{opacity:0;transform:translate3d(0,0,0) rotateY(180deg)}
 5%{opacity:.5}
 50%{opacity:.5;transform:translate3d(0,23vh,0) rotateY(180deg)}
 96%{opacity:.48}
 100%{opacity:0;transform:translate3d(0,80vh,0) rotateY(180deg)}
}
#experience .journey-card:not(.is-current) .v27-drop{animation-play-state:paused!important;}
/* Keep the original single-job timeline absolute, preventing the v27 card regression. */
body main#main #experience .journey-track > .journey-card.v27-glass{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;}
/* The landing-intro inherits the same emerald/black/antique-gold identity. */
.v15-intro{background:radial-gradient(ellipse at 49% 42%,#234c32 0%,#0b1c11 65%,#07110c 100%)!important;color:#eef5e8!important;}
.v15-intro:before{background:radial-gradient(circle at center,transparent 26%,rgba(0,0,0,.4) 90%),linear-gradient(90deg,transparent 49.93%,rgba(203,177,122,.13) 50%,transparent 50.07%)!important}
.v15-intro-wing{border-color:#bda16c!important;filter:drop-shadow(0 0 15px rgba(184,176,106,.25))!important;}
.v15-intro-letters{color:#eef5e8!important}
.v15-intro-letters span:nth-child(2){color:#7bd399!important}
.v15-intro-letters i,.v15-intro-sub b{color:#cbb17a!important}
.v15-intro-name{color:#eff5e9!important}
.v15-intro-sub,.v15-intro-bottom{color:#b7c9b3!important}
.v15-intro-line{background:linear-gradient(90deg,transparent,#cbb17a,transparent)!important}
.v15-intro-skip{color:#e6ebdf!important;border-color:rgba(206,183,126,.38)!important}
.v15-intro-skip:hover,.v15-intro-skip:focus-visible{color:#fff!important;border-color:#cbb17a!important}
:root[data-theme="light"] .v15-intro{background:radial-gradient(ellipse at center,#d1e7cf,#f0f6ea 71%)!important;color:#163424!important}
:root[data-theme="light"] .v15-intro-name,:root[data-theme="light"] .v15-intro-letters{color:#173b25!important}
:root[data-theme="light"] .v15-intro-sub,:root[data-theme="light"] .v15-intro-bottom{color:#50745c!important}
/* Droplet effects are disabled for accessibility preferences. */
@media(prefers-reduced-motion:reduce){body main#main .v27-glass .v27-rain .v27-drop{animation:none!important;will-change:auto!important}}
@media(prefers-reduced-transparency:reduce){body main#main .v27-rain{display:none!important}}
