html.dark{--page-bg:#0b151e;--card-bg:#12212b;--primary:#8cd0c7}
html:not(.dark){--page-bg:#f1f5f4;--card-bg:#fff;--primary:#2f7777}
.aaron-home .aaron-card,.aaron-home .topic{border:1px solid color-mix(in srgb,var(--primary) 10%,transparent);box-shadow:0 12px 38px #00000008}
.aaron-home .eyebrow{color:#a87d46;letter-spacing:.19em}
.dark .aaron-home .eyebrow{color:#d5b484}
.aaron-home .aaron-intro{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 9%,var(--card-bg)),var(--card-bg))}
a:has(img[alt="Aaron Yuan"]){display:block;width:96px!important;height:96px!important;margin:1rem auto 1.15rem!important;border-radius:28px!important;overflow:hidden}
#banner-wrapper #banner{isolation:isolate}
#banner-wrapper #banner::after,#banner-mobile-reveal::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(5,17,26,.78),rgba(5,17,26,.25) 48%,rgba(5,17,26,.08)),linear-gradient(0deg,rgba(5,17,26,.38),transparent 55%)}
#banner-overlay{align-items:flex-start!important;text-align:left!important;padding-left:clamp(32px,7vw,160px)!important;padding-right:24px!important}
#banner-title{font-family:Georgia,"Times New Roman",serif;font-weight:500!important;font-size:clamp(4rem,7.2vw,7rem)!important;line-height:1.02!important;letter-spacing:-.04em;max-width:9ch;text-shadow:0 3px 30px #0005!important}
#banner-subtitle-wrapper{margin-top:1.45rem!important;letter-spacing:.16em}
#banner-subtitle{font-size:.95rem!important;line-height:1.8}
#banner-cursor{display:none!important}
#banner-links{margin-top:2rem!important;gap:.75rem!important}
#banner-links>a{padding:.75rem 1.15rem!important;border-radius:.65rem!important;border:1px solid #ffffff4d!important;background:#ffffff14!important;backdrop-filter:blur(8px);color:#fff!important;font-size:.86rem!important;font-weight:500!important}
#banner-links>a:first-child{background:#c5e7df!important;border-color:#c5e7df!important;color:#102a30!important}
#aaron-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .65s;z-index:0}
#aaron-bg-video.is-playing{opacity:1}
#aaron-motion-control{position:absolute;bottom:6.5rem;right:2rem;z-index:25;border:1px solid #ffffff40;border-radius:999px;padding:.6rem .9rem;background:#07182288;backdrop-filter:blur(10px);color:#e9f4f2;font-size:.73rem;letter-spacing:.04em;cursor:pointer}
#aaron-motion-control:focus-visible{outline:2px solid #c5e7df;outline-offset:4px}
#aaron-music-control{position:fixed;left:24px;bottom:24px;z-index:45;min-height:40px;padding:.6rem 1rem;border:1px solid #c5e7df55;border-radius:999px;background:#102731ed;color:#e7f4f0;box-shadow:0 4px 20px #0002;font-size:.78rem;cursor:pointer;backdrop-filter:blur(8px)}
#aaron-music-control::before{content:"♪";margin-right:.5rem;color:#a2d6cc}
#aaron-music-control[aria-pressed="true"]{border-color:#a2d6cc}
#aaron-music-control:focus-visible{outline:2px solid #c5e7df;outline-offset:4px}
body:not(.is-home) #banner-title{font-size:clamp(2.5rem,4vw,4rem)!important;max-width:none}
body:not(.is-home) #banner-subtitle-wrapper,body:not(.is-home) #banner-links{display:none!important}
@media(max-width:899px){
 #aaron-music-control{left:16px;bottom:16px;min-height:44px}
 .is-home :is(#search-switch,#scheme-switch,#nav-menu-switch){background:#07182266!important;color:#fff!important;border:1px solid #ffffff22;border-radius:12px}
 #banner-overlay{justify-content:flex-end!important;padding:0 26px 22vh!important}
 #banner-title{font-size:clamp(3.8rem,14.5vw,5.5rem)!important;max-width:9ch}
 #banner-subtitle{font-size:.82rem!important;letter-spacing:.1em}
 #banner-links{margin-top:1.5rem!important}
 #banner-mobile-reveal::after{background:linear-gradient(0deg,#05111aeb,rgba(5,17,26,.15) 70%,rgba(5,17,26,.05))}
 #aaron-motion-control{right:16px;bottom:6.5rem;min-height:40px}
 body:not(.is-home) #banner-overlay{justify-content:center!important;padding:4rem 26px 1rem!important}
}
@media(prefers-reduced-motion:reduce){#aaron-bg-video{transition:none}.aaron-home a{transition:none!important;transform:none!important}}
