.app-error-boundary{min-height:100vh;padding:var(--space-8);background-color:var(--color-bg);color:var(--color-text);justify-content:center;align-items:center;display:flex}.app-error-boundary__panel{max-width:var(--max-width-xs);text-align:center}.app-error-boundary__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-4)}.app-error-boundary__message{color:var(--color-text-muted);margin-bottom:var(--space-6);line-height:var(--line-height-relaxed)}.app-error-boundary__retry{background:var(--gradient-secondary);color:var(--color-bg);padding:var(--space-3) var(--space-6);border-radius:var(--border-radius-md);font-weight:var(--font-weight-semibold);border:none}.app-error-boundary__retry:hover{opacity:.92;border-color:#0000}.app-error-boundary__details{margin-top:var(--space-6);text-align:left}.app-error-boundary__summary{cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-2)}.app-error-boundary__pre{font-size:var(--font-size-xs);color:var(--color-text-muted);background-color:var(--color-surface);padding:var(--space-4);border-radius:var(--border-radius-md);overflow:auto}[data-snes=red]{--snes-color:var(--snes-red);--snes-glow:var(--snes-glow-red)}[data-snes=yellow]{--snes-color:var(--snes-yellow);--snes-glow:var(--snes-glow-yellow)}[data-snes=green]{--snes-color:var(--snes-green);--snes-glow:var(--snes-glow-green)}[data-snes=blue]{--snes-color:var(--snes-blue);--snes-glow:var(--snes-glow-blue)}.link-underline-snes{position:relative}.link-underline-snes:after{content:"";bottom:var(--link-underline-offset);width:0;height:var(--link-underline-height);border-radius:var(--border-radius-sm);position:absolute;left:0}.link-underline-snes:hover{color:var(--snes-color,var(--color-text))}.link-underline-snes:hover:after{animation:underline-expand var(--duration) var(--ease) forwards}.link-underline-snes[data-snes]:after{background:var(--snes-color)}.link-underline-snes[data-snes]:hover:after{box-shadow:var(--snes-glow)}.contact-item[data-snes]:hover .contact-icon-wrap{color:var(--snes-color)}.link-snes-rainbow,.link-snes-rainbow.contact-item .contact-icon-wrap{animation:snes-rainbow var(--duration) var(--ease-emphasis) forwards}.hero-wallpaper{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-cursor-glow{background:radial-gradient(circle, color-mix(in srgb, var(--snes-blue) 20%, transparent) 0%, color-mix(in srgb, var(--snes-green) 8%, transparent) 30%, transparent 70%);pointer-events:none;border-radius:50%;width:280px;height:280px;margin-top:-140px;margin-left:-140px;position:absolute}@media (prefers-reduced-motion:reduce){.hero-cursor-glow{display:none}}.wallpaper-programming{background-image:repeating-linear-gradient(0deg, transparent, transparent 23px, var(--wallpaper-line-blue) 23px, var(--wallpaper-line-blue) 24px), repeating-linear-gradient(90deg, transparent, transparent 47px, var(--wallpaper-line-green) 47px, var(--wallpaper-line-green) 48px), radial-gradient(circle at 1px 1px, var(--wallpaper-dot) 1px, transparent 0);background-size:100% 24px,48px 100%,14px 14px}@keyframes fly-in{0%{opacity:0;transform:translate(var(--fly-x,0), var(--fly-y,0))}to{opacity:1;transform:translate(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes stack-spread{0%{opacity:0;transform:translate(calc((var(--stack-col,1) - 1) * -1 * (100% + var(--stack-spread-gap))), calc((var(--stack-row,1) - 1) * -1 * (100% + var(--stack-spread-gap)) + var(--stack-layer,0) * var(--stack-in-layer-gap))) scale(calc(1 - var(--stack-layer,0) * var(--stack-in-scale-step)))}to{opacity:1;transform:translate(0)scale(1)}}@keyframes underline-expand{to{width:100%}}@keyframes gradient-shift{to{background-position:100%}}@keyframes shimmer-glow{0%,to{filter:drop-shadow(var(--shimmer-glow-shadow))}50%{filter:drop-shadow(var(--shimmer-glow-shadow-strong))}}@keyframes color-scheme-toggle-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes snes-rainbow{0%,to{color:var(--snes-red)}25%{color:var(--snes-yellow)}50%{color:var(--snes-green)}75%{color:var(--snes-blue)}}@keyframes color-scheme-toggle-pop{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes color-scheme-toggle-wobble{0%,to{transform:rotate(0)}20%{transform:rotate(-10deg)}40%{transform:rotate(8deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(4deg)}}.fly-in-left{--fly-x:calc(var(--fly-in-distance) * -1);--fly-y:0;animation-name:fly-in}.fly-in-right{--fly-x:var(--fly-in-distance);--fly-y:0;animation-name:fly-in}.fly-in-down{--fly-x:0;--fly-y:calc(var(--fly-in-distance) * -1);animation-name:fly-in}.fly-in-up{--fly-x:0;--fly-y:var(--fly-in-distance);animation-name:fly-in}.fly-in-top-left{--fly-x:calc(var(--fly-in-distance) * -.75);--fly-y:calc(var(--fly-in-distance-sm) * -1);animation-name:fly-in}.fly-in-top-right{--fly-x:calc(var(--fly-in-distance) * .75);--fly-y:calc(var(--fly-in-distance-sm) * -1);animation-name:fly-in}.fly-in-bottom-left{--fly-x:calc(var(--fly-in-distance) * -.75);--fly-y:var(--fly-in-distance-sm);animation-name:fly-in}.fly-in-bottom-right{--fly-x:calc(var(--fly-in-distance) * .75);--fly-y:var(--fly-in-distance-sm);animation-name:fly-in}.motion-enter{animation-duration:var(--duration);animation-timing-function:var(--ease);animation-fill-mode:both}.motion-enter-emphasis{animation-duration:var(--duration);animation-timing-function:var(--ease-emphasis);animation-fill-mode:both}.motion-view-reveal{animation-duration:var(--duration);animation-timing-function:var(--ease);animation-fill-mode:both;animation-timeline:view();animation-range:entry entry 35%}.motion-transition{transition-duration:var(--duration);transition-timing-function:var(--ease)}.motion-transition-emphasis{transition-duration:var(--duration);transition-timing-function:var(--ease-emphasis)}.stagger-1{animation-delay:calc(var(--stagger-step) * 1)}.stagger-2{animation-delay:calc(var(--stagger-step) * 2)}.stagger-3{animation-delay:calc(var(--stagger-step) * 3)}.stagger-4{animation-delay:calc(var(--stagger-step) * 4)}.stagger-5{animation-delay:calc(var(--stagger-step) * 5)}.stagger-6{animation-delay:calc(var(--stagger-step) * 6)}@supports not (animation-timeline:view()){.about-large-text,.about-description,.contact-intro-large,.contact-item,.motion-view-reveal{animation-timeline:auto}}@media (prefers-reduced-motion:reduce){.about-large-text,.about-description,.contact-intro-large,.contact-item,.color-scheme-toggle--spinning,.color-scheme-toggle:hover:not(.color-scheme-toggle--spinning) .color-scheme-toggle-icon,.link-snes-rainbow,.link-snes-rainbow.contact-item .contact-icon-wrap{animation:none!important}.color-scheme-toggle--spinning .color-scheme-toggle-icon{filter:none;animation:color-scheme-toggle-spin var(--duration) var(--ease-emphasis) forwards!important}.skills-stack--revealed .skill-card{opacity:1!important;animation:none!important;transform:none!important}}:root{--scrollbar-size:10px;--scrollbar-track-bg:var(--color-surface);--scrollbar-thumb-border:var(--color-surface-light);--scrollbar-thumb-color:var(--snes-blue);--scrollbar-thumb-fill:linear-gradient(180deg, color-mix(in srgb, var(--scrollbar-thumb-color) 80%, white) 0%, var(--scrollbar-thumb-color) 50%, color-mix(in srgb, var(--scrollbar-thumb-color) 70%, var(--color-bg)) 100%)}html{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-bg)}::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}::-webkit-scrollbar-track{background:var(--scrollbar-track-bg);border-radius:var(--radius-sm);border:var(--border-width-sm) solid var(--color-border);box-shadow:inset 0 1px 3px #0000001f}[data-color-scheme=light] ::-webkit-scrollbar-track{box-shadow:inset 0 1px 2px #0000000f}::-webkit-scrollbar-thumb{border-radius:var(--radius-sm);border:var(--border-width-md) solid var(--scrollbar-thumb-border);background:var(--scrollbar-thumb-fill);min-width:48px;min-height:48px;box-shadow:inset 0 1px #fff3,0 1px 2px #00000026}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-fill);border-color:var(--scrollbar-thumb-border);box-shadow:inset 0 1px #fff3,0 1px 2px #00000026}::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-fill);border-color:var(--scrollbar-thumb-border);box-shadow:inset 0 1px #fff3,0 1px 2px #00000026}::-webkit-scrollbar-corner{background:var(--scrollbar-track-bg);border:var(--border-width-sm) solid var(--color-border)}@media (width<=768px){.nav-logo,.mobile-menu-btn,.hero-title-large,.section-title,.skill-card,.contact-item,.contact-icon-wrap,.link-underline-snes{transition:none!important}a:hover{color:var(--color-primary)}button:hover{border-color:#0000}.nav-logo:hover{transform:none}.nav-logo:hover .logo-gradient{background-position:0;animation:none}.mobile-menu-btn:hover,.mobile-menu-btn:active{transform:none}.mobile-menu .mobile-menu-link.link-underline-snes:hover{color:var(--snes-color,var(--color-text))}.hero-title-wrapper:hover .hero-title-large{transform:none}.hero-title-wrapper:hover .hero-title-large:first-child,.hero-title-wrapper:hover .hero-title-accent{filter:drop-shadow(0 2px 4px var(--hero-title-shadow))}.contact-item:hover{color:var(--snes-color,var(--color-text));transform:none}.contact-item:hover .contact-icon-wrap,.contact-item[data-snes]:hover .contact-icon-wrap{color:var(--snes-color,var(--color-text-muted));transform:none}.link-underline-snes:hover{color:inherit}.link-underline-snes:hover:after{width:0;box-shadow:none;animation:none}}:root{--color-accent:var(--snes-red);--color-accent-yellow:var(--snes-yellow);--color-accent-green:var(--snes-green);--color-accent-blue:var(--snes-blue);--gradient-primary:linear-gradient(135deg, var(--snes-blue) 0%, var(--snes-green) 100%);--gradient-secondary:linear-gradient(135deg, var(--snes-red) 0%, var(--snes-yellow) 100%);--gradient-accent:var(--gradient-secondary);--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:3rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--spacing-xs:var(--space-2);--spacing-sm:var(--space-4);--spacing-md:var(--space-6);--spacing-lg:var(--space-8);--spacing-xl:var(--space-12);--spacing-2xl:var(--space-16);--spacing-3xl:var(--space-24);--nav-height:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:50%;--border-radius-sm:var(--radius-sm);--border-radius-md:var(--radius-md);--border-radius-lg:var(--radius-lg);--border-radius-full:var(--radius-full);--border-width-sm:1px;--border-width-md:2px;--border-width-lg:3px;--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 4px 8px #00000026;--shadow-lg:0 8px 24px #00000014;--shadow-xl:0 20px 40px #0000004d;--shadow-menu:-10px 0 50px #00000080;--max-width-xs:400px;--max-width-md:800px;--max-width-lg:900px;--max-width-xl:1200px;--icon-size-md:48px;--z-index-base:1;--z-index-menu:999;--z-index-nav:1000;--z-index-nav-toggle:1001;--ease:cubic-bezier(.4, 0, .2, 1);--ease-emphasis:cubic-bezier(.34, 1.56, .64, 1);--duration:.45s;--stagger-step:calc(var(--duration) / 4);--fly-in-distance:3rem;--fly-in-distance-sm:2rem;--stack-in-layer-gap:.75rem;--stack-in-scale-step:.02;--stack-spread-gap:var(--space-6);--hover-transform:translateY(-2px);--hover-shadow:var(--shadow-lg);--link-underline-height:var(--border-width-md);--link-underline-offset:5px;--shimmer-glow-shadow:0 0 4px rgb(var(--snes-rgb-blue) / .35);--shimmer-glow-shadow-strong:0 0 12px rgb(var(--snes-rgb-blue) / .55);--link-underline-glow:0 0 8px rgb(var(--snes-rgb-blue) / .3);--link-underline-glow-red:var(--snes-glow-red);--link-underline-glow-yellow:var(--snes-glow-yellow);--link-underline-glow-green:var(--snes-glow-green);--link-underline-glow-blue:var(--snes-glow-blue);font-family:Monaspace Neon,Fira Code,Consolas,Monaco,Courier New,monospace;line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-display:swap}[data-color-scheme=light]{--color-primary:#6b6b78;--color-secondary:#9ca3af;--color-bg:#e8e8ed;--color-surface:#d4d4dc;--color-surface-light:#f0f0f4;--color-text:#2d2d33;--color-text-muted:#6b6b78;--color-border:#00000014;--nav-bg:#e8e8ed8c;--nav-border:#fff6;--nav-blur:16px;--nav-saturate:180%;--menu-bg-start:#e8e8edfa;--menu-bg-end:#d4d4dcfa;--menu-item-border:#0000000f;--pattern-dot:#0000000f;--wallpaper-line-blue:color-mix(in srgb, var(--snes-blue) 10%, transparent);--wallpaper-line-green:color-mix(in srgb, var(--snes-green) 6%, transparent);--wallpaper-dot:color-mix(in srgb, var(--snes-blue) 12%, transparent);--title-glow-shadow:#0000000f;--hero-title-shadow:#00000014;color-scheme:light}[data-color-scheme=dark]{--color-primary:#9ca3af;--color-secondary:#6b6b78;--color-bg:#1f1f24;--color-surface:#2a2a32;--color-surface-light:#36363f;--color-text:#e8e8ed;--color-text-muted:#9ca3af;--color-border:#ffffff1a;--nav-bg:#1f1f2499;--nav-border:#ffffff1a;--nav-blur:16px;--nav-saturate:180%;--menu-bg-start:#1f1f24fa;--menu-bg-end:#2a2a32fa;--menu-item-border:#ffffff0f;--pattern-dot:#ffffff0f;--wallpaper-line-blue:color-mix(in srgb, var(--snes-blue) 14%, transparent);--wallpaper-line-green:color-mix(in srgb, var(--snes-green) 10%, transparent);--wallpaper-dot:color-mix(in srgb, var(--snes-blue) 18%, transparent);--title-glow-shadow:#00000040;--hero-title-shadow:#00000059;--shadow-sm:0 2px 4px #0000004d;--shadow-md:0 4px 8px #00000059;--shadow-lg:0 8px 24px #0006;color-scheme:dark}:root{color:var(--color-text);background-color:var(--color-bg)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--color-bg);max-width:100%;overflow-x:clip}body{background-color:var(--color-bg);min-width:320px;max-width:100%;min-height:100vh;margin:0;overflow-x:clip}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}a{font-weight:var(--font-weight-medium);color:var(--color-primary);transition:color var(--duration) var(--ease);text-decoration:none}a:hover{color:var(--color-secondary)}.highlight{background:var(--gradient-primary);-webkit-text-fill-color:transparent;background-size:200%;background-clip:text;display:inline-block}button{border-radius:var(--border-radius-md);border:var(--border-width-sm) solid transparent;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:border-color var(--duration) var(--ease);padding:.6em 1.2em;font-family:inherit}button:hover{border-color:var(--color-primary)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.bg-pattern{background-image:radial-gradient(circle at 1px 1px, var(--pattern-dot) 1px, transparent 0);background-size:24px 24px}.section-divider{height:var(--space-6);background:repeating-linear-gradient(90deg, transparent, transparent var(--space-2), var(--color-surface) var(--space-2), var(--color-surface) var(--space-4));opacity:.5;margin:0}main{max-width:100%;min-height:100vh;position:relative;overflow-x:clip}.section-fallback{min-height:var(--space-24)}.container{max-width:var(--max-width-xl);padding:0 var(--space-6);margin:0 auto}.section{padding:var(--space-24) 0;position:relative}.section-alt{background:linear-gradient(135deg, var(--color-bg) 0%, var(--color-surface) 50%, var(--color-bg) 100%)}.section-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin:var(--space-8) 0;text-align:center;color:var(--scrollbar-thumb-color,var(--snes-blue));width:100%;display:inline-block}.content-centered{text-align:center;margin:0 auto}@media (width<=768px){.section{padding:var(--space-16) 0}.container{padding:0 var(--space-4)}.section-title{font-size:var(--font-size-3xl);margin:var(--space-6) 0}}@media (width<=480px){.container{padding:0 var(--space-4)}.section{padding:var(--space-12) 0}.section-title{font-size:var(--font-size-2xl);margin:var(--space-6) 0}}html[data-manga]{--font-family-japanese:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif;font-family:var(--font-family-japanese)}html[data-manga] :is(h1,h2,h3,.section-title,.hero-title-large,.hero-name,.skill-card-title,.about-large-text,.contact-intro-large,.logo-gradient,.skills-interests-trigger){font-family:var(--font-family-japanese)}html[data-manga] .section-title,html[data-manga] .hero-title-large,html[data-manga] .nav-links-desktop a,html[data-manga] .mobile-menu-link{letter-spacing:.04em}html[data-manga] .skill-card:hover{transform:translate(-2px,-2px)}html[data-manga][data-color-scheme=light]{--manga-sakura:#f2b8c8;--manga-lavender:#c4c0e8;--manga-mint:#b8e8dc;--manga-peach:#f8dcc8;--manga-ink:#3a3344;--color-primary:#8a7a96;--color-secondary:#b8a8c4;--color-bg:#fdf8f4;--color-surface:#f5e8f0;--color-surface-light:#fffbf8;--color-text:var(--manga-ink);--color-text-muted:#7d7288;--color-border:#3a334414;--gradient-primary:linear-gradient(135deg, var(--manga-lavender) 0%, var(--manga-mint) 100%);--gradient-secondary:linear-gradient(135deg, var(--manga-sakura) 0%, #f2d9a0 100%);--gradient-accent:var(--gradient-secondary);--nav-bg:#fdf8f4c7;--nav-border:#f2b8c873;--nav-blur:18px;--nav-saturate:140%;--menu-bg-start:#fdf8f4fa;--menu-bg-end:#f5e8f0fa;--menu-item-border:#3a33440f;--pattern-dot:#e8a0b81f;--wallpaper-line-blue:color-mix(in srgb, var(--manga-lavender) 22%, transparent);--wallpaper-line-green:color-mix(in srgb, var(--manga-mint) 18%, transparent);--wallpaper-dot:color-mix(in srgb, var(--manga-sakura) 20%, transparent);--title-glow-shadow:#f2b8c840;--hero-title-shadow:#3a33441a;--shadow-sm:0 2px 8px #e8a0b81f;--shadow-md:0 4px 16px #a8b4e824;--shadow-lg:0 8px 28px #98d4c429;--shadow-menu:-10px 0 40px #3a33441f;--shimmer-glow-shadow:0 0 6px #a8b4e859;--shimmer-glow-shadow-strong:0 0 14px #f2b8c873;--link-underline-glow:0 0 10px #a8b4e859;--scrollbar-track-bg:var(--color-surface);--scrollbar-thumb-border:var(--color-surface-light)}html[data-manga][data-color-scheme=dark]{--manga-sakura:#e8a0b0;--manga-lavender:#9890c8;--manga-mint:#88c8b8;--manga-peach:#d8b8a8;--manga-ink:#ede8f5;--color-primary:#c4b8d0;--color-secondary:#9888a8;--color-bg:#16141f;--color-surface:#252033;--color-surface-light:#2f2940;--color-text:var(--manga-ink);--color-text-muted:#a89bb8;--color-border:#ede8f51a;--gradient-primary:linear-gradient(135deg, #7870b8 0%, var(--manga-mint) 100%);--gradient-secondary:linear-gradient(135deg, var(--manga-sakura) 0%, #d8c090 100%);--gradient-accent:var(--gradient-secondary);--nav-bg:#16141fd1;--nav-border:#9888b047;--nav-blur:18px;--nav-saturate:130%;--menu-bg-start:#16141ffa;--menu-bg-end:#252033fa;--menu-item-border:#ede8f50f;--pattern-dot:#b8c4f014;--wallpaper-line-blue:color-mix(in srgb, var(--manga-lavender) 28%, transparent);--wallpaper-line-green:color-mix(in srgb, var(--manga-mint) 22%, transparent);--wallpaper-dot:color-mix(in srgb, var(--manga-sakura) 24%, transparent);--title-glow-shadow:#e8a0b033;--hero-title-shadow:#0006;--shadow-sm:0 2px 8px #00000059;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #7860a033;--shadow-menu:-10px 0 48px #00000073;--shimmer-glow-shadow:0 0 8px #b8c4f066;--shimmer-glow-shadow-strong:0 0 16px #e8a0b059;--link-underline-glow:0 0 10px #a8e0d04d;--scrollbar-track-bg:var(--color-surface);--scrollbar-thumb-border:var(--color-surface-light)}html[data-manga]{transition:background-color var(--duration) var(--ease), color var(--duration) var(--ease)}@media (width<=768px){html[data-manga] body{background-attachment:scroll}}html[data-manga] body{background-color:var(--color-bg);background-image:radial-gradient(ellipse 80% 50% at 10% 0%, color-mix(in srgb, var(--manga-sakura) 18%, transparent), transparent 55%), radial-gradient(ellipse 70% 45% at 90% 10%, color-mix(in srgb, var(--manga-lavender) 16%, transparent), transparent 50%), radial-gradient(ellipse 60% 40% at 50% 100%, color-mix(in srgb, var(--manga-mint) 12%, transparent), transparent 45%);background-attachment:fixed}html[data-manga] .section-alt{background:linear-gradient(145deg, var(--color-bg) 0%, color-mix(in srgb, var(--manga-sakura) 12%, var(--color-surface)) 45%, color-mix(in srgb, var(--manga-lavender) 10%, var(--color-surface)) 100%)}html[data-manga] .navigation{box-shadow:0 1px 0 color-mix(in srgb, var(--manga-sakura) 25%, white) inset, 0 4px 24px color-mix(in srgb, var(--manga-lavender) 12%, transparent)}html[data-manga][data-color-scheme=dark] .navigation{box-shadow:0 1px 0 color-mix(in srgb, var(--manga-lavender) 15%, white) inset, 0 4px 28px #00000059}html[data-manga] .section-title{color:color-mix(in srgb, var(--manga-lavender) 72%, var(--manga-sakura))}html[data-manga] .skill-card{background:color-mix(in srgb, var(--color-surface-light) 92%, var(--color-bg));border:var(--border-width-sm) solid var(--color-border);border-top-width:var(--border-width-lg);box-shadow:4px 4px 0 color-mix(in srgb, var(--manga-lavender) 18%, transparent)}html[data-manga][data-color-scheme=dark] .skill-card{background:color-mix(in srgb, var(--color-surface) 88%, var(--color-bg));box-shadow:4px 4px #00000059}html[data-manga] .skill-card:hover{box-shadow:6px 6px 0 color-mix(in srgb, var(--manga-sakura) 22%, transparent)}html[data-manga][data-color-scheme=dark] .skill-card:hover{box-shadow:6px 6px 0 color-mix(in srgb, var(--manga-lavender) 25%, transparent)}html[data-manga] .section-divider{background:repeating-linear-gradient(90deg, transparent, transparent var(--space-2), color-mix(in srgb, var(--manga-sakura) 20%, var(--color-surface)) var(--space-2), color-mix(in srgb, var(--manga-lavender) 15%, var(--color-surface)) var(--space-4))}html[data-manga] ::-webkit-scrollbar-thumb{box-shadow:0 0 8px color-mix(in srgb, var(--scrollbar-thumb-color) 40%, transparent)}.color-scheme-toggle{color:var(--color-text);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--duration) var(--ease);background:0 0;border:none;border-radius:0;outline:none;justify-content:center;align-items:center;padding:0;display:flex}.color-scheme-toggle:focus{outline:none}.color-scheme-toggle:focus-visible{outline:2px solid var(--snes-blue);outline-offset:2px;border-radius:var(--radius-sm)}.color-scheme-toggle-icon{transform-origin:50% 85%;outline:none;width:1.25rem;height:1.25rem;display:block}.color-scheme-toggle:hover:not(.color-scheme-toggle--spinning) .color-scheme-toggle-icon{animation:color-scheme-toggle-wobble var(--duration) var(--ease) infinite}.color-scheme-toggle--spinning{animation:color-scheme-toggle-pop var(--duration) var(--ease-emphasis) forwards}.color-scheme-toggle--spinning .color-scheme-toggle-icon{transform-origin:50%;animation:color-scheme-toggle-spin var(--duration) var(--ease-emphasis) forwards, snes-rainbow var(--duration) var(--ease-emphasis) forwards;filter:drop-shadow(var(--shimmer-glow-shadow))}.skills-interests-trigger{font:inherit;font-weight:inherit;letter-spacing:inherit;color:inherit;cursor:inherit;text-align:inherit;line-height:inherit;background:0 0;border:none;margin:0;padding:0}.skills-interests-trigger:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:2px}.navigation{z-index:var(--z-index-nav);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);background:var(--nav-bg);-webkit-backdrop-filter:blur(var(--nav-blur)) saturate(var(--nav-saturate));border-bottom:var(--border-width-sm) solid var(--nav-border);transition:background-color var(--duration) var(--ease), border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);position:fixed;top:0;left:0;right:0;overflow-x:clip;box-shadow:inset 0 1px #ffffff14,0 4px 20px #0000000a}[data-color-scheme=dark] .navigation{box-shadow:inset 0 1px #ffffff0f,0 4px 24px #0003}.nav-content{width:100%;max-width:100%;padding:var(--space-4) var(--space-6);min-height:var(--nav-height);justify-content:space-between;align-items:center;display:flex}.nav-logo{font-size:1.5rem;font-weight:700;text-decoration:none}.logo-gradient{background:var(--gradient-primary);-webkit-text-fill-color:transparent;background-size:200%;background-clip:text;display:inline-block}.nav-logo:hover{transform:scale(1.05)}.nav-logo:hover .logo-gradient{animation:gradient-shift var(--duration) var(--ease) forwards, shimmer-glow var(--duration) var(--ease) infinite}.nav-actions{align-items:center;gap:var(--space-6);display:flex}.nav-links-desktop{gap:var(--space-8);align-items:center;display:flex}.nav-links-desktop a{color:var(--color-text-muted);font-weight:var(--font-weight-medium);font-size:var(--font-size-lg);padding:var(--space-2) 0;transition:color var(--duration) var(--ease), transform var(--duration) var(--ease-emphasis);text-decoration:none;display:inline-block}.nav-links-desktop a:hover{color:var(--snes-color,var(--color-text));transform:translateY(-1px)}.mobile-menu-btn{--hamburger-bar-gap:6px;--hamburger-bar-height:3px;--hamburger-bar-width:26px;cursor:pointer;width:44px;height:44px;z-index:var(--z-index-nav-toggle);border-radius:var(--radius-md);background:0 0;border:none;flex-shrink:0;padding:0;display:none;position:relative}.mobile-menu-btn span{width:var(--hamburger-bar-width);height:var(--hamburger-bar-height);margin-left:calc(var(--hamburger-bar-width) / -2);background:var(--gradient-primary);border-radius:var(--border-radius-sm);transform-origin:50%;transition:top var(--duration) var(--ease), transform var(--duration) var(--ease), opacity var(--duration) var(--ease);position:absolute;left:50%}.mobile-menu-btn span:first-child{top:calc(50% - var(--hamburger-bar-height) - var(--hamburger-bar-gap) - var(--hamburger-bar-height) / 2)}.mobile-menu-btn span:nth-child(2){top:calc(50% - var(--hamburger-bar-height) / 2)}.mobile-menu-btn span:nth-child(3){top:calc(50% + var(--hamburger-bar-gap) + var(--hamburger-bar-height) / 2)}.mobile-menu-btn.active span:first-child,.mobile-menu-btn.active span:nth-child(3){top:calc(50% - var(--hamburger-bar-height) / 2)}.mobile-menu-btn.active span:first-child{transform:rotate(45deg)}.mobile-menu-btn.active span:nth-child(2){opacity:0;transform:scaleX(0)}.mobile-menu-btn.active span:nth-child(3){transform:rotate(-45deg)}.mobile-menu{z-index:var(--z-index-menu);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration) var(--ease), visibility var(--duration) var(--ease);position:fixed;inset:0}.mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto}.mobile-menu-content{width:100%;height:100%;min-height:100dvh;padding:calc(var(--nav-height) + var(--space-6)) var(--space-6) var(--space-8);background:linear-gradient(165deg, var(--menu-bg-start) 0%, var(--menu-bg-end) 55%, color-mix(in srgb, var(--menu-bg-end) 90%, var(--snes-blue) 10%) 100%);-webkit-backdrop-filter:blur(24px)saturate(1.2);opacity:0;transition:transform var(--duration) var(--ease-emphasis), opacity var(--duration) var(--ease);flex-direction:column;display:flex;transform:translateY(-12px)}.mobile-menu.open .mobile-menu-content{opacity:1;transform:translateY(0)}.mobile-menu-nav{justify-content:center;gap:var(--space-2);flex-direction:column;flex:1;display:flex}.mobile-menu-link{padding:var(--space-5) 0;color:var(--snes-color,var(--color-text));font-size:clamp(1.75rem,8vw,2.5rem);font-weight:var(--font-weight-bold);letter-spacing:-.02em;border-bottom:none;line-height:1.15;text-decoration:none;display:block}.mobile-menu .mobile-menu-link.link-underline-snes{transition:none}.mobile-menu .mobile-menu-link.link-underline-snes:after{display:none}.mobile-menu-footer{padding-top:var(--space-8);border-top:var(--border-width-sm) solid var(--menu-item-border);justify-content:center;align-items:center;margin-top:auto;display:flex}@media (width<=768px){.nav-links-desktop,.nav-actions{display:none}.mobile-menu-btn{margin-left:auto;display:flex}.nav-content{justify-content:flex-start;gap:var(--space-4);padding:var(--space-3) 0}.nav-logo{font-size:var(--font-size-xl);min-width:0}}@media (width<=480px){.nav-content{padding:var(--space-3) var(--space-4)}.nav-logo{font-size:var(--font-size-lg)}.mobile-menu-content{padding:calc(var(--nav-height) + var(--space-4)) var(--space-5) var(--space-6)}.mobile-menu-link{padding:var(--space-4) 0}}.hero{min-height:100vh;padding:calc(var(--nav-height) + var(--space-8)) var(--space-6) var(--space-8);background-color:var(--color-bg);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;pointer-events:none;position:absolute;inset:0}.hero-bg-orb{filter:blur(80px);opacity:.35;border-radius:50%;position:absolute}.hero-bg-orb--1{background:radial-gradient(circle, color-mix(in srgb, var(--snes-blue) 50%, transparent) 0%, color-mix(in srgb, var(--snes-blue) 15%, transparent) 50%, transparent 70%);width:70vmax;height:70vmax;top:-20%;left:-15%}.hero-bg-orb--2{background:radial-gradient(circle, color-mix(in srgb, var(--snes-green) 45%, transparent) 0%, color-mix(in srgb, var(--snes-green) 12%, transparent) 50%, transparent 70%);width:55vmax;height:55vmax;bottom:-15%;right:-10%}.hero-bg-orb--3{background:radial-gradient(circle, color-mix(in srgb, var(--snes-yellow) 40%, transparent) 0%, color-mix(in srgb, var(--snes-yellow) 10%, transparent) 50%, transparent 70%);width:45vmax;height:45vmax;top:40%;left:50%;transform:translate(-50%,-50%)}.hero-bg-orb--4{background:radial-gradient(circle, color-mix(in srgb, var(--snes-red) 35%, transparent) 0%, color-mix(in srgb, var(--snes-red) 8%, transparent) 50%, transparent 70%);width:50vmax;height:50vmax;top:60%;left:10%}.hero-bg-orb--5{background:radial-gradient(circle, color-mix(in srgb, var(--snes-blue) 30%, transparent) 0%, color-mix(in srgb, var(--snes-green) 8%, transparent) 50%, transparent 70%);width:40vmax;height:40vmax;top:15%;right:20%}.hero-content{z-index:var(--z-index-base);text-align:center;max-width:var(--max-width-lg);position:relative}.hero-title-wrapper{display:inline-block;position:relative}.hero-name{gap:var(--space-2);margin-bottom:var(--space-8);flex-direction:column;max-width:100%;display:flex}.hero-title-large{font-size:clamp(3.5rem,12vw,9rem);font-weight:var(--font-weight-black);line-height:var(--line-height-tight);letter-spacing:-.02em;overflow-wrap:anywhere;max-width:100%;display:inline-block;position:relative}.hero-title-large:first-child{background:var(--gradient-primary);-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 4px var(--hero-title-shadow));background-clip:text}.hero-title-accent{background:var(--gradient-secondary);-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 4px var(--hero-title-shadow));background-clip:text}.hero-gradient-overlay{background:radial-gradient(circle at 30% 50%, color-mix(in srgb, var(--snes-blue) 8%, transparent) 0%, transparent 50%), radial-gradient(circle at 70% 50%, color-mix(in srgb, var(--snes-green) 8%, transparent) 0%, transparent 50%);width:100%;height:100%;z-index:var(--z-index-base);pointer-events:none;position:absolute;top:0;left:0}@media (width<=480px){.hero{padding:calc(var(--nav-height) + var(--space-4)) var(--space-4) var(--space-6)}.hero-title-large{font-size:clamp(2.5rem,12vw,8rem)}}
