:root{--bg-soft: #efe8ed;--bg-strong: #ddd1d8;--bg-shell: #f7f2f5;--ink-base: #2f2f31;--ink-muted: rgb(47 47 49 / 76%);--ink-strong: #ffffff;--blob-purple: #74627b;--blob-rose: #8d5f72;--surface-ghost: rgb(255 255 255 / 70%);--surface-elevated: color-mix(in srgb, var(--bg-soft) 86%, white 14%);--surface-border: #8d5f72;--home-strip: #816176;--home-orb-a: #8d5f72;--home-orb-b: #6f6177;--home-dot: #9a979d;--home-button-border: #4f4950;--home-button-hover: rgb(255 255 255 / 28%);--overlay-soft: rgb(27 20 30 / 34%);--header-icon: #fff;--hint-ink: #737373;--projects-bg: radial-gradient(circle at 50% 15%, rgb(255 255 255 / 38%), transparent 28%), linear-gradient(180deg, #e7dfe4 0%, #e6dde3 24%, #dccfd8 100%);--projects-ink: #493740;--projects-muted: rgb(92 69 80 / 82%);--projects-nav: #80677d;--projects-nav-ink: #f8eff5;--projects-frame-border: #403339;--projects-frame-bg: linear-gradient(145deg, #8d7668, #654a3b 32%, #7f6554 76%, #54423a);--projects-panel-border: #372a31;--projects-panel-bg: linear-gradient(180deg, #c3beb0, #8f857f 52%, #69585a);--projects-dial-border: #57464e;--projects-dial-bg: radial-gradient(circle at 35% 30%, rgb(255 255 255 / 45%), transparent 30%), conic-gradient(from 0deg, #47464d 0 10%, #c1bbb3 10% 60%, #655764 60% 100%);--about-console-bg: radial-gradient(circle at 15% 8%, rgb(255 255 255 / 20%), transparent 40%), radial-gradient(circle at 84% 24%, rgb(255 255 255 / 12%), transparent 42%), linear-gradient(180deg, color-mix(in srgb, var(--blob-rose) 70%, #67465f 30%), #684d68);--about-joycon-border: #aeb0a8;--about-joycon-bg: radial-gradient(circle at 22% 14%, rgb(255 255 255 / 50%), transparent 40%), linear-gradient(175deg, #f0efe6, #d5d4c8 55%, #c2c1b7);--about-shell-border: #b7bbb3}:root[data-theme=dark]{--bg-soft: #1d1820;--bg-strong: #130f15;--bg-shell: #241d28;--ink-base: #efe8ed;--ink-muted: rgb(239 232 237 / 74%);--ink-strong: #ffffff;--blob-purple: #5b4b63;--blob-rose: #7a4e60;--surface-ghost: rgb(39 31 42 / 75%);--surface-elevated: color-mix(in srgb, var(--bg-soft) 92%, black 8%);--surface-border: #a17788;--home-strip: #4e3f55;--home-orb-a: #6f495a;--home-orb-b: #463f61;--home-dot: #736a79;--home-button-border: #cbb9d2;--home-button-hover: rgb(255 255 255 / 10%);--overlay-soft: rgb(8 6 10 / 62%);--header-icon: #f9f0f5;--hint-ink: rgb(239 232 237 / 62%);--projects-bg: radial-gradient(circle at 50% 12%, rgb(255 255 255 / 10%), transparent 24%), linear-gradient(180deg, #201922 0%, #19131c 28%, #120e15 100%);--projects-ink: #f7eef4;--projects-muted: rgb(228 213 222 / 78%);--projects-nav: #624b63;--projects-nav-ink: #fff6fb;--projects-frame-border: #2d222b;--projects-frame-bg: linear-gradient(145deg, #5e4957, #2d232c 34%, #473741 76%, #241b22);--projects-panel-border: #2f242d;--projects-panel-bg: linear-gradient(180deg, #64515f, #342732 52%, #221921);--projects-dial-border: #443541;--projects-dial-bg: radial-gradient(circle at 35% 30%, rgb(255 255 255 / 22%), transparent 30%), conic-gradient(from 0deg, #372e37 0 10%, #7d6f79 10% 60%, #4a3b47 60% 100%);--about-console-bg: radial-gradient(circle at 15% 8%, rgb(255 255 255 / 10%), transparent 34%), radial-gradient(circle at 84% 24%, rgb(255 255 255 / 08%), transparent 36%), linear-gradient(180deg, #201822, #161018 58%, #120d14 100%);--about-joycon-border: #4a4550;--about-joycon-bg: radial-gradient(circle at 22% 14%, rgb(255 255 255 / 12%), transparent 32%), linear-gradient(175deg, #3b3640, #24212a 55%, #18151b);--about-shell-border: #5b5562}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg-soft)}body{background:var(--bg-soft);color:var(--ink-base);font-family:Suranna,serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .18s ease,color .18s ease}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}::view-transition-old(root),::view-transition-new(root){animation-duration:.62s;animation-timing-function:cubic-bezier(.22,1,.36,1)}:root[data-route-direction=forward]::view-transition-old(root){animation-name:route-slide-out-up}:root[data-route-direction=forward]::view-transition-new(root){animation-name:route-slide-in-bottom}:root[data-route-direction=backward]::view-transition-old(root){animation-name:route-slide-out-down}:root[data-route-direction=backward]::view-transition-new(root){animation-name:route-slide-in-top}@keyframes route-slide-out-up{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes route-slide-in-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes route-slide-out-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes route-slide-in-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}
