:root{--page:#F1EDE4;--paper:#FBF9F4;--text:#14110F;--line:#14110F;--card:#14110F}
:root[data-theme="dark"]{--page:#110F0D;--paper:#1E1A17;--text:#F1EDE4;--line:#F1EDE4;--card:#27231F}
@media (prefers-color-scheme:dark){:root[data-theme="system"]{--page:#110F0D;--paper:#1E1A17;--text:#F1EDE4;--line:#F1EDE4;--card:#27231F}}
html,body{margin:0;overflow-x:clip;background:var(--page);color:var(--text);-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
*{box-sizing:border-box}
a{color:#2B4BFF;text-decoration:none}
a:hover{color:#FF6A1A}
::selection{background:#FF6A1A;color:#14110F}
:focus-visible{outline:3px solid #FF6A1A;outline-offset:3px}
summary::-webkit-details-marker{display:none}
[hidden]{display:none!important}
[data-panel="journey"]:not([hidden]){display:grid}
[data-panel="skills"]:not([hidden]){display:flex}
.no-intro [data-intro]{display:none!important}
@keyframes rise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes pop{0%{opacity:0;transform:scale(.6) rotate(var(--r,0deg))}70%{transform:scale(1.08) rotate(var(--r,0deg))}100%{opacity:1;transform:scale(1) rotate(var(--r,0deg))}}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-24px) scale(1.06)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgba(61,220,132,0.35)}50%{box-shadow:0 0 0 10px rgba(61,220,132,0)}}
@keyframes wordIn{from{transform:translateY(100%);opacity:0}to{transform:none;opacity:1}}
@keyframes load{from{width:0}to{width:100%}}
@keyframes blink{0%,55%{opacity:1}56%,100%{opacity:0}}
@keyframes flow{to{background-position:40px 0}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
