@font-face{font-family:Zen Old Mincho;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/zen-old-mincho-latin-600-normal.BKXbpXGC.woff2)format("woff2"),url(/_astro/zen-old-mincho-latin-600-normal.CYWhlHQM.woff)format("woff")}@font-face{font-family:Zen Old Mincho;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/zen-old-mincho-latin-700-normal.BxCta6jg.woff2)format("woff2"),url(/_astro/zen-old-mincho-latin-700-normal.B8XWAIv0.woff)format("woff")}@font-face{font-family:Zen Old Mincho;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/zen-old-mincho-japanese-600-normal.BT-HM2kD.woff2)format("woff2"),url(/_astro/zen-old-mincho-japanese-600-normal.BHg-F_Y_.woff)format("woff")}@font-face{font-family:Zen Old Mincho;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/zen-old-mincho-japanese-700-normal.CWtI8pER.woff2)format("woff2"),url(/_astro/zen-old-mincho-japanese-700-normal.CCZY8j12.woff)format("woff")}@font-face{font-family:Zen Kaku Gothic New;src:url(/fonts/modern/zen-kaku-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+3000-9FFF,U+F900-FAFF,U+FF00-FFEF,U+2E80-2FFF}@font-face{font-family:Zen Kaku Gothic New;src:url(/fonts/modern/zen-kaku-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+3000-9FFF,U+F900-FAFF,U+FF00-FFEF,U+2E80-2FFF}@font-face{font-family:Zen Kaku Gothic New;src:url(/fonts/modern/zen-kaku-latin-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0-7F,U+A0-FF,U+100-24F}@font-face{font-family:Zen Kaku Gothic New;src:url(/fonts/modern/zen-kaku-latin-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0-7F,U+A0-FF,U+100-24F}@font-face{font-family:IBM Plex Mono;src:url(/fonts/modern/ibm-plex-mono-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/modern/ibm-plex-mono-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--modern-bg:#171817;--modern-bg-soft:#1d1f1e;--modern-surface:#242625;--modern-surface-raised:#2b2e2c;--modern-paper:#e8e4da;--modern-ink:#ece9e1;--modern-muted:#a6aaa5;--modern-line:#3a3d3a;--modern-cyan:#86a5b5;--modern-warm:#c89268;--modern-silver:#c6c8c3;--modern-ok:#7fa78d;--modern-danger:#c37f78;--modern-display:"Zen Old Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;--modern-sans:"Zen Kaku Gothic New", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;--modern-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--modern-nav-font:var(--modern-sans);--modern-display-leading:1.2;--modern-display-pad-block:.04em .06em;--modern-text:20px;--modern-text-leading:1.75;--modern-text-xs:.875rem;--modern-text-sm:.9375rem;--modern-text-md:1.0625rem;--modern-text-lg:1.1875rem;--modern-space-1:8px;--modern-space-2:16px;--modern-space-3:24px;--modern-space-4:40px;--modern-space-5:64px;--modern-space-6:96px;--modern-radius:8px;--modern-nav-h:60px;--modern-prose:36rem;--modern-ease:cubic-bezier(.22, 1, .36, 1);--modern-duration:.16s}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--modern-bg);scroll-behavior:smooth;overflow-x:clip}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.modern-body{min-height:100svh;color:var(--modern-ink);background:var(--modern-bg);font:400 var(--modern-text)/var(--modern-text-leading) var(--modern-sans);margin:0;overflow-x:clip}.modern-page{isolation:isolate;--scroll-progress:0;--hero-parallax:0;--pointer-x:50%;--pointer-y:50%;--tilt-x:0deg;--tilt-y:0deg;--reveal-delay:0s;position:relative;overflow-x:clip}a,button{-webkit-tap-highlight-color:transparent}button{font:inherit}:focus-visible{outline:2px solid var(--modern-cyan);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.modern-skip{z-index:100;border:1px solid var(--modern-cyan);border-radius:var(--modern-radius);color:var(--modern-ink);background:var(--modern-surface);font:400 var(--modern-text-md)/1.45 var(--modern-sans);padding:10px 14px;text-decoration:none;position:fixed;top:-80px;left:12px}.modern-skip:focus{top:12px}.modern-scroll-progress{z-index:50;width:100%;height:3px;transform:scaleX(var(--scroll-progress,0));transform-origin:0;background:var(--modern-cyan);opacity:.8;pointer-events:none;position:fixed;top:0;left:0}.modern-nav{z-index:40;align-items:center;gap:8px var(--modern-space-2);min-height:var(--modern-nav-h);background:var(--modern-bg);border-bottom:1px solid var(--modern-line);flex-wrap:wrap;padding:10px clamp(14px,3vw,40px);display:flex;position:fixed;top:0;left:0;right:0}.modern-nav-brand{min-width:0;max-width:min(100%,18rem);color:var(--modern-ink);font:600 var(--modern-text-lg)/1.35 var(--modern-display);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;order:1;text-decoration:none;overflow:hidden}.modern-nav-readout{min-width:0;color:var(--modern-muted);font:500 var(--modern-text-sm)/1.45 var(--modern-nav-font);letter-spacing:.02em;white-space:nowrap;order:2;align-items:baseline;gap:.35em;margin:0;display:inline-flex}.modern-nav-readout:before{content:none}.modern-nav-readout-label{color:color-mix(in srgb, var(--modern-ink) 78%, var(--modern-muted));text-overflow:ellipsis;max-width:9rem;overflow:hidden}.modern-nav-readout.is-swap .modern-nav-readout-label{animation:modern-readout-settle .24s var(--modern-ease) both}.modern-nav-classic{color:var(--modern-muted);font:500 var(--modern-text-sm)/1.3 var(--modern-nav-font);letter-spacing:.02em;white-space:nowrap;transition:color var(--modern-duration) var(--modern-ease);text-decoration:none}.modern-nav-classic--bar{flex:none;order:4;margin-left:auto}.modern-nav-classic--panel{display:none}.modern-nav-classic:hover,.modern-nav-classic:focus-visible{color:var(--modern-cyan)}.modern-nav-menu-btn{border:1px solid var(--modern-line);border-radius:var(--modern-radius);min-width:5.5rem;min-height:44px;color:var(--modern-ink);background:var(--modern-surface);cursor:pointer;font:500 var(--modern-text-md)/1.2 var(--modern-nav-font);z-index:2;flex:none;order:5;justify-content:center;align-items:center;padding:0 14px;display:none;position:relative}.modern-nav-panel{flex:auto;order:3;justify-content:center;min-width:0;display:flex}.modern-nav-list-wrap{justify-content:center;width:100%;min-width:0;display:flex;position:relative}.modern-nav-list{z-index:1;flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;list-style:none;display:flex;position:relative}.modern-nav-list a{min-height:44px;color:var(--modern-muted);font:500 var(--modern-text-md)/1.45 var(--modern-nav-font);letter-spacing:.01em;transition:color .32s var(--modern-ease), letter-spacing .42s var(--modern-ease);align-items:center;gap:.4em;text-decoration:none;display:inline-flex;position:relative}.modern-nav-label{position:relative}.modern-nav-list a:after{content:"";background:var(--modern-cyan);transform-origin:0;height:2px;transition:transform .42s var(--modern-ease);opacity:.9;position:absolute;bottom:10px;left:0;right:0;transform:scaleX(0)}.modern-nav-list a[aria-current=true]{color:var(--modern-ink)}.modern-nav-list a[aria-current=true]:after{transform:scaleX(1)}@media (width>=901px){.modern-nav-item--menu{display:none}.modern-nav-item--end{margin-inline-start:.35rem}}.modern-main{z-index:1;padding-top:var(--modern-nav-h);position:relative}.modern-section{padding:var(--modern-space-5) clamp(14px, 4vw, 48px);scroll-margin-top:calc(var(--modern-nav-h) + 12px);position:relative}.modern-hash-alias{width:0;height:0;scroll-margin-top:calc(var(--modern-nav-h) + 12px);position:absolute}.modern-section-inner{width:min(1120px,100%);margin-inline:auto}.modern-section-heading{margin-bottom:clamp(28px, 4vw, var(--modern-space-4));overflow:visible}.modern-section-title{max-width:100%;color:var(--modern-ink);font:inherit;letter-spacing:normal;flex-wrap:nowrap;align-items:baseline;gap:.2em .32em;margin:0;padding-block:.02em;display:flex;position:relative;overflow:visible}.modern-section-title:after{content:none}.modern-section-title__en{min-width:0;color:var(--modern-muted);font:500 clamp(.86rem, 1.15vw, 1rem)/1.35 var(--modern-sans);letter-spacing:.015em;flex:0 auto}.modern-section-title__divider{color:color-mix(in srgb, var(--modern-muted) 72%, var(--modern-line));font:400 clamp(.9rem, 1.4vw, 1.1rem)/1 var(--modern-sans);letter-spacing:0;flex:none;transform:translateY(-.05em)}.modern-section-title__ja{min-width:0;color:var(--modern-ink);font:600 clamp(1.8rem, 3vw, 2.45rem)/1.35 var(--modern-display);letter-spacing:.01em;flex:auto}.modern-skills-lede{max-width:var(--modern-prose);margin:calc(var(--modern-space-2) * -1) 0 var(--modern-space-4);color:var(--modern-muted)}.modern-subhead{margin:0 0 var(--modern-space-3);font:600 1.2rem/1.4 var(--modern-sans)}.modern-prose{max-width:var(--modern-prose);color:color-mix(in srgb, var(--modern-ink) 88%, var(--modern-muted));font-size:var(--modern-text-lg);white-space:pre-line;margin:0;line-height:1.75}.modern-prose--pre{white-space:pre-wrap}.modern-mono-label{color:var(--modern-muted);font:400 var(--modern-text-sm)/1.45 var(--modern-mono);margin:0 0 6px}.modern-note{margin:0 0 var(--modern-space-2);color:var(--modern-muted);font-size:var(--modern-text-lg)}.modern-empty{color:var(--modern-muted);margin:0}.modern-text-link{min-height:44px;color:var(--modern-cyan);text-underline-offset:3px;transition:color var(--modern-duration) var(--modern-ease), text-underline-offset var(--modern-duration) var(--modern-ease), transform var(--modern-duration) var(--modern-ease);align-items:center;text-decoration:underline;display:inline-flex}.modern-text-link:hover{color:var(--modern-warm);text-underline-offset:5px;transform:translateY(-1px)}.modern-closed-link{min-height:44px;color:var(--modern-muted);cursor:default;flex-direction:column;justify-content:center;gap:1px;display:inline-flex}.modern-closed-link:focus{outline:none}.modern-closed-link:focus-visible{outline:2px solid var(--modern-cyan);outline-offset:4px;border-radius:2px}.modern-closed-name{font:400 var(--modern-text)/1.4 var(--modern-sans);color:color-mix(in srgb, var(--modern-ink) 72%, var(--modern-muted))}.modern-closed-note{font:400 var(--modern-text-xs)/1.3 var(--modern-mono);letter-spacing:.04em;color:var(--modern-muted)}.modern-hero{isolation:isolate;min-height:calc(100svh - var(--modern-nav-h));padding-top:var(--modern-space-5);padding-bottom:var(--modern-space-5);align-items:center;display:grid;position:relative;overflow:visible}.modern-interface-portals{width:100%;margin:0 0 var(--modern-space-3);grid-template-columns:repeat(2,minmax(0,340px));gap:12px;display:grid}.aero-portal{--portal-pointer-x:50%;--portal-pointer-y:50%;--portal-rotate-x:0deg;--portal-rotate-y:0deg;--portal-lit:0;width:min(100%,340px);color:inherit;border:1px solid color-mix(in srgb, #7ea8c9 42%, var(--modern-line));background:linear-gradient(165deg, #b4d2eb17, color-mix(in srgb, var(--modern-surface) 72%, transparent));-webkit-backdrop-filter:blur(8px);transform:perspective(800px) rotateX(var(--portal-rotate-x)) rotateY(var(--portal-rotate-y)) translate3d(0, var(--shift-portal,0px), 0);transform-origin:50% 40%;transition:border-color .28s var(--modern-ease), box-shadow .28s var(--modern-ease), background .28s var(--modern-ease);isolation:isolate;border-radius:6px;outline:none;grid-template-rows:auto 1fr;margin:0;text-decoration:none;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff47,0 10px 28px #14304e38}.aero-portal:focus-visible{outline:2px solid color-mix(in srgb, var(--modern-cyan) 70%, white);outline-offset:4px}.aero-portal:active{border-color:color-mix(in srgb, #c5e4ff 55%, var(--modern-cyan));box-shadow:inset 0 1px 0 #fff6, 0 0 0 1px color-mix(in srgb, var(--modern-cyan) 28%, transparent), 0 8px 22px #286eaa47;transform:perspective(800px) rotateX(var(--portal-rotate-x)) rotateY(var(--portal-rotate-y)) translate3d(0, var(--shift-portal,0px), 0) scale(.985)}.aero-portal__chrome{z-index:2;background:linear-gradient(#d2e8f86b 0%,#aacde62e 55%,#8cafcd14 100%);border-bottom:1px solid #9bb8d059;align-items:center;gap:8px;min-height:28px;padding:5px 8px 5px 9px;display:flex;position:relative;overflow:hidden}.aero-portal__chrome-icon{color:color-mix(in srgb, #d7ecff 70%, var(--modern-cyan));opacity:.9;flex:none;place-items:center;display:grid}.aero-portal__chrome-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:color-mix(in srgb, #e8f4ff 78%, var(--modern-ink));font:500 var(--modern-text-xs)/1.25 var(--modern-mono);letter-spacing:.08em;text-transform:uppercase;flex:auto;overflow:hidden}.aero-portal__chrome-controls{flex:none;align-items:center;gap:4px;display:inline-flex}.aero-portal__chrome-btn{background:#dcebf83e;border:1px solid #8aa8c073;border-radius:1px;width:10px;height:10px;box-shadow:inset 0 1px #ffffff59}.aero-portal__chrome-btn--close{background:#d1cad682}.aero-portal__body{z-index:2;gap:6px;padding:12px 14px 13px;display:grid;position:relative}.aero-portal__eyebrow{color:color-mix(in srgb, var(--modern-ink) 88%, var(--modern-cyan));font:600 var(--modern-text-md)/1.3 var(--modern-sans);letter-spacing:.01em}.aero-portal__description{color:var(--modern-muted);font:400 var(--modern-text-sm)/1.45 var(--modern-sans)}.aero-portal__action{color:color-mix(in srgb, var(--modern-cyan) 82%, white);font:500 var(--modern-text-sm)/1.3 var(--modern-mono);letter-spacing:.06em;align-items:center;gap:.35em;margin-top:4px;display:inline-flex;position:relative}.aero-portal__arrow{transition:transform .28s var(--modern-ease);display:inline-block}.aero-portal__glass{z-index:1;pointer-events:none;opacity:calc(.12 + var(--portal-lit) * .28);background:radial-gradient(circle 120px at var(--portal-pointer-x) var(--portal-pointer-y), #e6f5ff47, transparent 70%);mix-blend-mode:soft-light;position:absolute;inset:0}.aero-portal__chrome:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(115deg,#0000 28%,#ffffff6b 48%,#0000 64%) 140% 0/220% 100%;position:absolute;inset:0}.aero-portal__action:after{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--modern-cyan) 70%, white), transparent);transform-origin:0;opacity:0;pointer-events:none;width:3.2em;height:1px;position:absolute;bottom:-.15em;left:0;transform:scaleX(0)}@media (pointer:fine) and (hover:hover){@media (prefers-reduced-motion:no-preference){.aero-portal:hover,.aero-portal:focus-visible{border-color:color-mix(in srgb, #a9cce6 58%, var(--modern-cyan));box-shadow:inset 0 1px 0 #ffffff61, 0 14px 34px #18466e4d, 0 0 0 1px color-mix(in srgb, var(--modern-cyan) 16%, transparent);transform:perspective(800px) rotateX(var(--portal-rotate-x)) rotateY(var(--portal-rotate-y)) translate3d(0, calc(var(--shift-portal,0px) - 2px), 0) scale(1.01)}.aero-portal:hover .aero-portal__chrome,.aero-portal:focus-visible .aero-portal__chrome{background:linear-gradient(#dceefc80 0%,#b4d6ee3d 55%,#96bad81f 100%)}.aero-portal:hover .aero-portal__chrome:after,.aero-portal:focus-visible .aero-portal__chrome:after{opacity:1;animation:aero-portal-chrome-sheen .62s var(--modern-ease) both}.aero-portal:hover .aero-portal__action,.aero-portal:focus-visible .aero-portal__action{letter-spacing:.09em}.aero-portal:hover .aero-portal__arrow,.aero-portal:focus-visible .aero-portal__arrow{transform:translate(4px)}.aero-portal:hover .aero-portal__action:after,.aero-portal:focus-visible .aero-portal__action:after{opacity:.85;animation:aero-portal-action-scan .48s var(--modern-ease) both}}@media (prefers-reduced-motion:reduce){.aero-portal:hover,.aero-portal:focus-visible{border-color:color-mix(in srgb, #a9cce6 58%, var(--modern-cyan));box-shadow:inset 0 1px #ffffff61,0 12px 28px #18466e42}}}@keyframes aero-portal-chrome-sheen{0%{background-position:140% 0}to{background-position:-50% 0}}@keyframes aero-portal-action-scan{0%{opacity:.95;transform:scaleX(0)}to{opacity:.45;transform:scaleX(1)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.aero-portal{background:linear-gradient(165deg, color-mix(in srgb, #b4d2eb33 50%, var(--modern-surface)), var(--modern-surface))}}@media (prefers-reduced-motion:reduce){.aero-portal:active{transform:none}.aero-portal__chrome:after,.aero-portal__action:after,.aero-portal__glass{opacity:0!important;animation:none!important}}.modern-hero-inner{z-index:1;gap:clamp(var(--modern-space-3), 4vw, var(--modern-space-5));grid-template-columns:minmax(0,1.75fr) minmax(220px,.5fr);align-items:start;display:grid;position:relative}.modern-hero-copy,.modern-hero-discord{min-width:0}.modern-hero-copy{container:hero-copy/inline-size}.modern-hero-name{width:100%;max-width:100%;font:700 clamp(2.7rem, 9.5cqi, 5.4rem)/var(--modern-display-leading) var(--modern-display);letter-spacing:.01em;padding-block:var(--modern-display-pad-block);color:var(--modern-ink);white-space:nowrap;transform-origin:0;transform:translate3d(0, var(--shift-name,0px), 0) scale(calc(1 - var(--shift-name-scale,0)));transition:letter-spacing .42s var(--modern-ease), color .42s var(--modern-ease);margin:0;padding-inline:.04em;font-size:clamp(2.7rem,10.5cqi,5.4rem);position:relative;overflow:visible}.modern-hero-name:hover,.modern-hero-name:focus-visible{color:inherit;letter-spacing:.01em}.modern-hero-letters{flex-wrap:nowrap;display:inline-flex}.modern-hero-letter{padding-inline:.01em;display:inline-block}.modern-hero-role{margin:var(--modern-space-3) 0 0;max-width:var(--modern-prose);font-size:clamp(1.15rem,1.9vw,1.4rem)}.modern-hero-actions{margin-top:var(--modern-space-4);flex-wrap:wrap;gap:8px 20px;display:flex;position:relative;overflow:visible}.modern-hero-aside{gap:var(--modern-space-3);flex-direction:column;min-height:0;display:flex;position:relative}.modern-hero-discord{z-index:3;min-width:0;transform:translate3d(0, var(--shift-discord,0px), 0);margin-top:auto;position:relative}.modern-hero-counter:first-child{margin-top:auto}.modern-hero-counter{z-index:2;width:100%;transform:translate3d(0, var(--shift-aside,0px), 0);margin:0;position:relative}.modern-hero-counter-link{outline-offset:3px;border-radius:4px;line-height:0;display:block;overflow:hidden}.modern-hero-counter-image{width:100%;height:auto;display:block}.modern-work-list{gap:var(--modern-space-5);perspective:1200px;margin:0;padding:0;list-style:none;display:grid}.modern-work-item{position:relative}.modern-work{gap:var(--modern-space-4);grid-template-columns:minmax(0,1.45fr) minmax(260px,.7fr);align-items:stretch;display:grid}.modern-work--feature{grid-template-columns:minmax(0,1.7fr) minmax(220px,.55fr);align-items:end}.modern-work--essay{grid-template-columns:minmax(220px,.55fr) minmax(0,1.7fr);align-items:center;max-width:none}.modern-work--essay .modern-work-media{order:2}.modern-work--essay .modern-work-frame{box-shadow:none}.modern-work-frame{border:1px solid var(--modern-line);border-radius:var(--modern-radius);box-shadow:none;transition:border-color .22s var(--modern-ease);transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-origin:50% 42%;background:#0a0b0d;margin:0;position:relative;overflow:hidden}.modern-work:hover .modern-work-frame{border-color:color-mix(in srgb, var(--modern-line) 70%, var(--modern-ink))}.modern-work-frame--placeholder{aspect-ratio:16/9;background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--modern-cyan) 8%, transparent), transparent 55%), #0a0b0d}.modern-work-image{object-fit:contain;transform-origin:50%;clip-path:inset(0);width:100%;height:auto;display:block}.modern-work-gloss{pointer-events:none;opacity:var(--ptr-lit,0);background:radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,50%), #ffffff29, transparent 58%);position:absolute;inset:0}.modern-work-copy{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.modern-work-copy-lead,.modern-work-copy-body{width:100%}.modern-work--essay .modern-work-title{font-size:clamp(1.35rem,2.2vw,1.85rem)}.modern-work-title{margin:0 0 var(--modern-space-2);font:600 clamp(1.65rem, 2.8vw, 2.35rem)/1.3 var(--modern-sans);letter-spacing:-.015em;color:var(--modern-ink);padding-block:.04em .08em;overflow:visible}.modern-work-langs{width:100%;margin:var(--modern-space-3) 0 0;flex-wrap:wrap;align-items:baseline;gap:.2rem 1.15rem;padding:0;list-style:none;display:flex}.modern-work-langs>li{margin:0;padding:0}.modern-work-lang{min-height:32px;color:var(--modern-muted);background:0 0;border:0;align-items:center;gap:.4rem;padding:0;display:inline-flex}.modern-work-lang-thumb{background:0 0;border:0;flex:none;place-items:center;width:16px;height:16px;display:grid;position:relative;overflow:hidden}.modern-work-lang-image{object-fit:contain;width:16px;height:16px;display:block}.modern-work-lang-fallback{font:600 .65rem/1 var(--modern-mono);color:var(--modern-muted);letter-spacing:.04em;text-transform:uppercase}.modern-work-lang-name{font:400 var(--modern-text-sm)/1.4 var(--modern-sans);letter-spacing:0;white-space:nowrap}.modern-work-lang:hover .modern-work-lang-name,.modern-work-lang:focus-visible .modern-work-lang-name,.modern-work-lang.is-lang-active .modern-work-lang-name{color:var(--modern-ink)}@media (width>=901px){.modern-work-media{top:calc(var(--modern-nav-h) + 20px);position:sticky}}[data-mark=trace]{position:relative}@media (pointer:fine){@media (prefers-reduced-motion:no-preference){.modern-nav-list a.is-nav-preview,.modern-nav-list a:hover{color:var(--modern-ink)}}}.legacy-portal{border:1px solid color-mix(in srgb, var(--modern-cyan) 30%, var(--modern-line));color:#eef2f1;isolation:isolate;width:min(100%,340px);transition:translate .28s var(--modern-ease), border-color .28s var(--modern-ease), box-shadow .28s var(--modern-ease);background:linear-gradient(150deg,#151a1e,#090c0f 78%);border-radius:6px;outline:none;grid-template-rows:auto 1fr;text-decoration:none;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff12,0 10px 28px #0003}.legacy-portal:focus-visible{outline:2px solid color-mix(in srgb, var(--modern-cyan) 72%, white);outline-offset:4px}.legacy-portal:active{border-color:color-mix(in srgb, var(--modern-cyan) 55%, var(--modern-line));translate:0;scale:.985;box-shadow:inset 0 1px #ffffff1a,0 8px 22px #0000003d}.legacy-portal__bar{z-index:2;border-bottom:1px solid color-mix(in srgb, var(--modern-cyan) 22%, transparent);background:color-mix(in srgb, var(--modern-cyan) 5%, #101519);color:#b8c9cb;min-height:28px;font:500 var(--modern-text-xs)/1.25 var(--modern-mono);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:5px 9px;display:grid;position:relative}.legacy-portal__signal{background:var(--modern-cyan);width:7px;height:7px;box-shadow:0 0 9px color-mix(in srgb, var(--modern-cyan) 75%, transparent);border-radius:50%}.legacy-portal__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.legacy-portal__code{color:#617074;font-size:.72em}.legacy-portal__body{z-index:2;gap:6px;padding:12px 14px 13px;display:grid;position:relative}.legacy-portal__eyebrow{color:#f0f2ef;font:600 var(--modern-text-md)/1.3 var(--modern-sans)}.legacy-portal__description{color:#929a9d;font:400 var(--modern-text-sm)/1.45 var(--modern-sans)}.legacy-portal__action{color:color-mix(in srgb, var(--modern-cyan) 82%, white);font:500 var(--modern-text-sm)/1.3 var(--modern-mono);letter-spacing:.06em;align-items:center;gap:.35em;margin-top:4px;display:inline-flex}.legacy-portal__arrow{transition:transform .28s var(--modern-ease);display:inline-block}.legacy-portal__scan{z-index:1;pointer-events:none;opacity:.28;background:linear-gradient(105deg,#0000 35%,#65d7e421 49%,#0000 63%);position:absolute;inset:0;translate:-110%}@media (pointer:fine) and (hover:hover){@media (prefers-reduced-motion:no-preference){.legacy-portal:hover,.legacy-portal:focus-visible{border-color:color-mix(in srgb, var(--modern-cyan) 62%, var(--modern-line));box-shadow:inset 0 1px 0 #ffffff14, 0 15px 34px #00000047, 0 0 28px color-mix(in srgb, var(--modern-cyan) 9%, transparent);translate:0 -2px}.legacy-portal:hover .legacy-portal__scan,.legacy-portal:focus-visible .legacy-portal__scan{animation:legacy-portal-scan .68s var(--modern-ease) both}.legacy-portal:hover .legacy-portal__arrow,.legacy-portal:focus-visible .legacy-portal__arrow{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.legacy-portal:hover,.legacy-portal:focus-visible{border-color:color-mix(in srgb, var(--modern-cyan) 62%, var(--modern-line));box-shadow:inset 0 1px #ffffff14,0 12px 28px #00000042}}}@media (prefers-reduced-motion:reduce){.legacy-portal:active{scale:1}.legacy-portal__scan{opacity:0!important;animation:none!important}}@keyframes legacy-portal-scan{0%{translate:-110%}to{translate:110%}}@container hero-copy (width<=700px){.modern-interface-portals{grid-template-columns:minmax(0,1fr)}.aero-portal,.legacy-portal{width:100%}}@media (width<=640px){.modern-interface-portals{grid-template-columns:minmax(0,1fr)}.aero-portal,.legacy-portal{width:100%}}.modern-work-lang.is-tap-pulse .modern-work-lang-name{color:var(--modern-ink)}.modern-map-shell{width:100%;min-width:0}.modern-interests{max-width:980px}.modern-map-frame{aspect-ratio:16/10;min-height:360px;margin:0 0 var(--modern-space-2);border:1px solid var(--modern-line);border-radius:var(--modern-radius);background:#0a0b0d;transition:outline-color .2s;position:relative;overflow:hidden}.modern-map-frame.is-active{outline:1px solid var(--modern-cyan)}.modern-map{border:0;width:100%;height:100%;display:block}.modern-device-list,.modern-timeline-list,.modern-photo-fallback{margin:0;padding:0;list-style:none}.modern-timeline-list{--year-track:7.5rem;position:relative}.modern-device-list>li+li{border-top:1px solid var(--modern-line)}@media (width>=901px){.modern-device-list>li+li{border-top:0}}.modern-toolkit-layout{gap:var(--modern-space-5);grid-template-columns:1fr;align-items:start;max-width:980px;display:grid}.modern-skill-groups{gap:var(--modern-space-4);grid-template-columns:1fr;display:grid}.modern-skill-group{position:relative}.modern-skill-group-head{border-bottom:1px solid var(--modern-line);flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:0 0 14px;padding-bottom:8px;display:flex;position:relative}.modern-skill-group-title{color:var(--modern-ink);font:600 1.05rem/1.35 var(--modern-sans);letter-spacing:.01em;margin:0}.modern-devices-spec{background:0 0;border:0;border-radius:0;max-width:980px;padding:0}@media (width>=901px){.modern-device-list.modern-spec-list{column-gap:clamp(var(--modern-space-3), 3vw, var(--modern-space-5));grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;row-gap:0;display:grid}.modern-device-list.modern-spec-list>.modern-spec-row{padding:var(--modern-space-3) 0;border-top:1px solid var(--modern-line);margin-top:0}.modern-device-list.modern-spec-list>.modern-spec-row:nth-child(-n+2){border-top:0;padding-top:0}}.modern-archive-layout{max-width:980px;display:block}.modern-photo-layout{width:100%;min-width:0;margin-top:var(--modern-space-5)}.modern-timeline-item{grid-template-columns:var(--year-track,7.5rem) minmax(0, 1fr);border-top:1px solid var(--modern-line);align-items:start;gap:10px 1.25rem;padding:18px 0;display:grid;position:relative}.modern-timeline-item:last-child{border-bottom:1px solid var(--modern-line)}.modern-timeline-when{top:calc(var(--modern-nav-h) + 18px);color:var(--modern-muted);font:400 .8rem/1.4 var(--modern-mono);white-space:nowrap;margin:0;position:sticky}.modern-timeline-body{min-width:0}.modern-timeline-title{max-width:100%;font:600 1.25rem/1.4 var(--modern-sans);margin:0 0 8px;display:inline-block;position:relative}.modern-photo-stage{aspect-ratio:3/2;margin:0 0 var(--modern-space-2);border:1px solid var(--modern-line);isolation:isolate;background:#0a0b0d;position:relative;overflow:hidden}.modern-photo-current{z-index:2;background:#07080a;margin:0;position:absolute;inset:0 10%;overflow:hidden}.modern-photo-current img,.modern-photo-peek{object-fit:contain;width:100%;height:100%;display:block}.modern-photo-peek{z-index:1;object-fit:cover;opacity:.38;filter:saturate(.7)brightness(.78);width:18%;height:76%;position:absolute;top:12%;transform:scale(.92)}.modern-photo-peek--prev{left:-7%}.modern-photo-peek--next{right:-7%}.modern-photo-gate{z-index:4;pointer-events:none;background:linear-gradient(90deg,#0a0b0d8c,#0000 16% 84%,#0a0b0d8c);position:absolute;inset:0}.modern-photo-stage:before,.modern-photo-stage:after{content:"";z-index:5;pointer-events:none;opacity:.45;background:repeating-linear-gradient(90deg, var(--modern-line) 0 12px, transparent 12px 22px);height:7px;position:absolute;left:0;right:0}.modern-photo-stage:before{top:0}.modern-photo-stage:after{bottom:0}.modern-photo-current{transition:opacity .16s linear, transform .18s var(--modern-ease)}.modern-photo-peek{transition:opacity .18s var(--modern-ease), transform .22s var(--modern-ease), filter .18s linear}.modern-photo-stage.is-dimming .modern-photo-current{opacity:.42}.modern-photo-stage.is-advancing .modern-photo-current{transform:translate(-10%)}.modern-photo-stage.is-rewinding .modern-photo-current{transform:translate(10%)}.modern-photo-stage.is-advancing .modern-photo-peek--next,.modern-photo-stage.is-rewinding .modern-photo-peek--prev{opacity:.72;filter:saturate(.85)brightness(.9);transform:scale(.98)translate(0,0)}.modern-photo-stage.is-advancing .modern-photo-peek--prev{opacity:.18;transform:scale(.88)translate(-8%)}.modern-photo-stage.is-rewinding .modern-photo-peek--next{opacity:.18;transform:scale(.88)translate(8%)}.modern-photo-stage.is-advancing .modern-photo-nav,.modern-photo-stage.is-rewinding .modern-photo-nav{pointer-events:none}.modern-photo-nav{z-index:6;border:1px solid var(--modern-line);border-radius:var(--modern-radius);width:44px;height:44px;color:var(--modern-ink);cursor:pointer;transition:border-color var(--modern-duration), color var(--modern-duration);background:#0d0e10e0;position:absolute;bottom:12px}.modern-photo-nav:hover{border-color:var(--modern-cyan);color:var(--modern-cyan)}.modern-photo-nav--prev{right:64px}.modern-photo-nav--next{right:12px}.modern-photo-meta{margin-bottom:var(--modern-space-2);grid-template-columns:auto 1fr auto;gap:10px 14px;display:grid}.modern-photo-meta p{margin:0}.modern-photo-caption{font-size:var(--modern-text-lg)}.modern-photo-side{color:var(--modern-muted);font:400 var(--modern-text-sm)/1.45 var(--modern-mono)}.modern-photo-fallback{margin-bottom:var(--modern-space-2);gap:6px;display:grid}.modern-js .modern-photo-fallback{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.modern-film-strip{scrollbar-width:thin;scroll-snap-type:x proximity;gap:8px;min-width:0;max-width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.modern-film-thumb{cursor:pointer;opacity:.55;height:56px;transition:opacity var(--modern-duration), border-color var(--modern-duration);scroll-snap-align:center;background:#0a0b0d;border:1px solid #0000;border-radius:4px;flex:0 0 88px;padding:0;overflow:hidden}.modern-film-thumb:hover,.modern-film-thumb.is-selected{border-color:var(--modern-cyan);opacity:1}.modern-film-thumb img{object-fit:cover;width:100%;height:100%}.modern-footer{padding-bottom:var(--modern-space-6)}.modern-contact-list{border-top:1px solid var(--modern-line);max-width:980px;margin:0;padding:0;list-style:none}.modern-contact-row{border:0;border-bottom:1px solid var(--modern-line);width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:1.5rem 9rem minmax(0,1fr) auto;align-items:center;gap:4px 16px;padding:14px 0;text-decoration:none;display:grid}button.modern-contact-row{appearance:none}.modern-contact-icon{width:1.5rem;height:1.5rem;color:var(--modern-muted);transition:color .22s var(--modern-ease);flex-shrink:0;grid-column:1;justify-content:center;align-items:center;display:inline-flex}.modern-contact-icon svg{display:block}a.modern-contact-row:hover .modern-contact-icon,a.modern-contact-row:focus-visible .modern-contact-icon,button.modern-contact-row:hover .modern-contact-icon,button.modern-contact-row:focus-visible .modern-contact-icon{color:var(--modern-ink)}.modern-contact-service{font:600 var(--modern-text-lg)/1.4 var(--modern-sans);grid-column:2}.modern-contact-identity{color:var(--modern-muted);font:400 var(--modern-text-md)/1.45 var(--modern-mono);overflow-wrap:anywhere;grid-column:3}.modern-contact-action{color:var(--modern-muted);font:400 var(--modern-text-sm)/1.4 var(--modern-sans);white-space:nowrap;grid-column:4}a.modern-contact-row:hover .modern-contact-action,a.modern-contact-row:focus-visible .modern-contact-action,button.modern-contact-row:hover .modern-contact-action,button.modern-contact-row:focus-visible .modern-contact-action{color:var(--modern-ink)}.contact-copy-feedback{color:var(--modern-muted);font:400 var(--modern-text-sm)/1.35 var(--modern-sans);margin-left:.75em;display:none}[data-copied] .contact-copy-feedback{display:inline}.contact-copy-live{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.modern-footer-meta{max-width:980px;margin-top:var(--modern-space-3)}.modern-footer-brand{max-width:980px;margin:var(--modern-space-3) 0 var(--modern-space-2);color:color-mix(in srgb, var(--modern-ink) 28%, transparent);font:700 clamp(1.35rem, 2.4vw, 1.75rem)/1.2 var(--modern-display);letter-spacing:-.03em}.modern-page .discord-slip--modern{background:0 0;border:0;border-radius:0;padding:0}.modern-page .discord-slip--modern h2{color:var(--modern-muted);font:500 var(--modern-text-xs)/1.3 var(--modern-sans);letter-spacing:.02em;margin:0 0 6px}.modern-page .discord-member{align-items:center;gap:10px;display:flex}.modern-page .discord-avatar-wrap{flex:none;position:relative}.modern-page .discord-avatar{object-fit:cover;background:#0a0b0d;border-radius:6px;width:40px;height:40px;display:block}.modern-page .discord-dot{border:2px solid var(--modern-surface);background:var(--modern-muted);border-radius:50%;width:10px;height:10px;position:absolute;bottom:-1px;right:-1px}.modern-page [data-discord-state=online] .discord-dot{background:var(--modern-ok)}.modern-page [data-discord-state=idle] .discord-dot{background:var(--modern-warm)}.modern-page [data-discord-state=dnd] .discord-dot{background:var(--modern-danger)}.modern-page .discord-meta{min-width:0}.modern-page .discord-name-row,.modern-page .discord-presence-text,.modern-page .entry-title,.modern-page .entry-detail{margin:0}.modern-page .discord-name-row{font-size:var(--modern-text-md);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.modern-page .discord-presence-text{color:var(--modern-muted);font-size:var(--modern-text-md)}.modern-page .discord-clan{color:var(--modern-muted);font-size:var(--modern-text-xs);align-items:center;gap:4px;display:inline-flex}.modern-page .discord-clan[hidden]{display:none}.modern-page .discord-clan-badge{width:14px;height:14px}.modern-page .discord-now{margin-top:12px}.modern-page .discord-now[hidden]{display:none}.modern-page .discord-now-heading{color:var(--modern-muted);font:600 var(--modern-text-xs)/1.4 var(--modern-sans);letter-spacing:.02em;margin:0 0 6px}.modern-page .discord-activity-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.modern-page .discord-activity-item{grid-template-columns:40px minmax(0,1fr);gap:8px;display:grid}.modern-page .discord-activity-thumb-wrap{background:var(--modern-bg-soft);border-radius:4px;width:40px;height:40px;position:relative;overflow:hidden}.modern-page .discord-activity-thumb{object-fit:cover;background:#0a0b0d;border-radius:4px;width:40px;height:40px;display:block}.modern-page .discord-activity-thumb[hidden]{display:none}.modern-page .discord-activity-thumb[data-thumb-zoom]{object-fit:contain;box-sizing:border-box;background:color-mix(in srgb, var(--modern-ink) 8%, var(--modern-bg));padding:4px}.modern-page .discord-activity-thumb-fallback{width:100%;height:100%;font:600 1rem/1 var(--modern-display);color:var(--modern-muted);background:var(--modern-bg-soft);text-transform:uppercase;place-items:center;display:grid}.modern-page .discord-activity-thumb-fallback[hidden]{display:none}.modern-page .discord-activity-kind,.modern-page .discord-activity-detail,.modern-page .discord-activity-elapsed{color:var(--modern-muted);font-size:var(--modern-text-xs);margin:0}.modern-page .discord-activity-title{font-size:var(--modern-text-md);overflow-wrap:anywhere;margin:1px 0}.modern-page .discord-activity-mode,.modern-page .discord-activity-progress{display:none}.modern-page .discord-empty{color:var(--modern-muted);font-size:var(--modern-text-md);margin:8px 0 0}@media (width<=900px){.modern-hero-inner,.modern-work,.modern-toolkit-layout,.modern-archive-layout{grid-template-columns:1fr}.modern-work--feature,.modern-work--essay{grid-template-columns:1fr;align-items:start;max-width:none}.modern-work--feature .modern-work-copy{display:contents}.modern-work--feature .modern-work-copy-lead{order:1}.modern-work--feature .modern-work-media{order:2}.modern-work--feature .modern-work-copy-body{order:3}.modern-work--essay .modern-work-copy{order:1}.modern-work--essay .modern-work-media{order:2}.modern-map-frame{min-height:320px}.modern-skill-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.modern-timeline-item{gap:8px 12px}.modern-photo-peek{opacity:.28;width:12%}.modern-photo-peek--prev{left:-4%}.modern-photo-peek--next{right:-4%}.modern-photo-current{inset:0 6%}.modern-work-frame{transform:perspective(900px) rotateX(calc(var(--tilt-x,0deg) * .45)) rotateY(calc(var(--tilt-y,0deg) * .45))}.modern-nav{justify-content:space-between;gap:8px}.modern-nav-brand{flex:auto;min-width:0;max-width:min(40vw,14rem)}.modern-nav-readout-label{max-width:min(24vw,7rem)}.modern-nav-menu-btn{flex:none;order:5;min-width:6.25rem;min-height:44px;margin-left:0;display:inline-flex}.modern-nav-classic--bar{margin-left:0;display:none}.modern-nav-classic--panel{border-top:1px solid var(--modern-line);font-size:var(--modern-text-md);margin-top:10px;padding-top:12px;display:none}.modern-nav.is-open .modern-nav-classic--panel{display:block}.modern-nav-panel{border-top:1px solid var(--modern-line);background:var(--modern-bg);flex:100%;order:6;justify-content:stretch;width:100%;padding:12px 0 8px;display:none}.modern-nav.is-open .modern-nav-panel{display:block}.modern-nav-list-wrap{justify-content:stretch}.modern-nav-list{flex-direction:column;align-items:stretch;gap:0;width:100%}.modern-nav-list a{width:100%}.modern-nav-item--menu{display:list-item}}@media (width<=640px){.modern-nav{justify-content:space-between;gap:8px}.modern-nav-brand{flex:auto;min-width:0;max-width:min(48vw,10rem)}.modern-nav-readout{flex:0 auto;order:2;justify-content:flex-end;min-width:0;margin-right:0}.modern-nav-readout-label{max-width:min(28vw,5.5rem)}.modern-nav-menu-btn{flex:none;order:5;min-width:6.25rem;min-height:44px;margin-left:0;display:inline-flex!important}.modern-nav-classic--bar{margin-left:0;display:none!important}.modern-nav-classic--panel{border-top:1px solid var(--modern-line);font-size:var(--modern-text-md);margin-top:10px;padding-top:12px;display:none}.modern-nav.is-open .modern-nav-classic--panel{display:block}.modern-nav-panel{border-top:1px solid var(--modern-line);background:var(--modern-bg);flex:100%;order:6;justify-content:stretch;width:100%;padding:12px 0 8px;display:none}.modern-nav.is-open .modern-nav-panel{display:block}.modern-nav-list-wrap{justify-content:stretch}.modern-nav-list{flex-direction:column;align-items:stretch;gap:0;width:100%}.modern-nav-list a{width:100%}.modern-hero{min-height:auto}.modern-section-title{flex-wrap:wrap;gap:.15em .4em}.modern-section-title__en{letter-spacing:.1em;font-size:clamp(.65rem,2.4vw,.78rem)}.modern-section-title__divider{font-size:clamp(.8rem,2.8vw,.95rem)}.modern-section-title__ja{font-size:clamp(1.5rem,6.4vw,1.9rem)}.modern-hero-name{letter-spacing:0;max-width:100%;line-height:var(--modern-display-leading);padding-inline-end:16px;font-size:clamp(1.5rem,9vw,2.45rem)!important}.modern-hero-copy{padding-inline-end:2px}.modern-contact-row{grid-template-columns:1.5rem minmax(0,1fr) auto;gap:4px 12px}.modern-contact-row .modern-contact-icon{grid-area:1/1}.modern-contact-row .modern-contact-service{grid-area:1/2}.modern-contact-row .modern-contact-action{grid-area:1/3}.modern-contact-row .modern-contact-identity{grid-area:2/2}.modern-interest-list li{grid-template-columns:1fr;gap:4px}.modern-skill-tiles{grid-template-columns:1fr}.modern-timeline-list{--year-track:min(6.25rem, 30vw)}.modern-work-frame{transform:none}.modern-timeline-when{white-space:normal}.modern-photo-meta{grid-template-columns:1fr}.modern-map-frame{aspect-ratio:4/5;min-height:280px}.modern-section{padding-inline:20px}}@media (prefers-reduced-motion:no-preference){.modern-nav-readout.is-swap .modern-nav-readout-label{animation:modern-readout-settle .24s var(--modern-ease)}.modern-motion [data-reveal-root]:not(.is-in) [data-reveal=clip] .modern-work-image{opacity:.65;transform:translateY(16px)scale(.99)}.modern-motion [data-reveal-root].is-in [data-reveal=clip] .modern-work-image{opacity:1;transition:opacity .68s var(--modern-ease), transform .68s cubic-bezier(.22, 1, .36, 1);transform:translateY(0)scale(1)}.modern-motion [data-reveal=map]:not(.is-in){opacity:.72;transform:translateY(12px)scale(.985)}.modern-motion [data-reveal=map].is-in{opacity:1;transition:opacity .7s var(--modern-ease), transform .7s var(--modern-ease);transform:translateY(0)scale(1)}.modern-motion .modern-section:not(.is-present) .modern-section-heading{opacity:.58;translate:0 10px}.modern-motion .modern-section.is-present .modern-section-heading{opacity:1;transition:opacity .56s var(--modern-ease), translate .62s var(--modern-ease);translate:0}.modern-motion .modern-section:not(.is-present) .modern-section-title__en{opacity:.58;translate:-10px}.modern-motion .modern-section:not(.is-present) .modern-section-title__divider{opacity:.35;scale:.25 1}.modern-motion .modern-section:not(.is-present) .modern-section-title__ja{opacity:.72;translate:0 12px}.modern-motion .modern-section.is-present .modern-section-title__en{animation:modern-heading-en-settle .52s var(--modern-ease) both}.modern-motion .modern-section.is-present .modern-section-title__divider{animation:modern-heading-divider-settle .62s var(--modern-ease) 70ms both;transform-origin:0}.modern-motion .modern-section.is-present .modern-section-title__ja{animation:modern-heading-ja-settle .72s var(--modern-ease) 90ms both}.modern-motion .modern-projects:not(.is-present) .modern-work-frame{filter:saturate(.78)brightness(.82);translate:0 18px;scale:.985}.modern-motion .modern-projects.is-present .modern-work-frame{animation:.82s cubic-bezier(.22,1,.36,1) both modern-surface-seat}.modern-motion .modern-projects:not(.is-present) .modern-work-copy-lead{opacity:.64;translate:14px}.modern-motion .modern-projects:not(.is-present) .modern-work-copy-body{opacity:.72;translate:18px}.modern-motion .modern-projects.is-present .modern-work-copy-lead{animation:modern-copy-seat .62s var(--modern-ease) .13s both}.modern-motion .modern-projects.is-present .modern-work-copy-body{animation:modern-copy-seat .68s var(--modern-ease) .22s both}.modern-motion .modern-field:not(.is-present) .modern-map{filter:saturate(.76)contrast(.94);scale:1.025}.modern-motion .modern-field.is-present .modern-map{animation:.9s cubic-bezier(.22,1,.36,1) 90ms both modern-map-focus}.modern-motion .modern-toolkit:not(.is-present) .modern-skill-icon{opacity:.55;transform:translateY(8px)scale(.94)}.modern-motion .modern-toolkit.is-present .modern-skill-icon{animation:modern-skill-icon-settle .56s var(--modern-ease) both;animation-delay:calc(var(--skill-i,0) * 55ms)}.modern-motion .modern-toolkit.is-present .modern-skill-tile:after{animation:modern-skill-line-trace .72s var(--modern-ease) both;animation-delay:calc(var(--skill-i,0) * 55ms)}.modern-motion .modern-toolkit:not(.is-present) .modern-skill-group-head:after{transform:scaleX(0)}.modern-motion .modern-skill-group-head:after{content:"";background:color-mix(in srgb, var(--modern-silver) 48%, var(--modern-line));transform-origin:0;height:1px;position:absolute;inset:auto 0 -1px}.modern-motion .modern-toolkit.is-present .modern-skill-group-head:after{animation:modern-rule-draw .76s var(--modern-ease) both}.modern-motion .modern-toolkit.is-present .modern-skill-group:nth-child(2) .modern-skill-group-head:after{animation-delay:90ms}.modern-motion .modern-toolkit.is-present .modern-skill-group:nth-child(3) .modern-skill-group-head:after{animation-delay:.15s}.modern-motion .modern-toolkit.is-present .modern-skill-group:nth-child(4) .modern-skill-group-head:after{animation-delay:.21s}.modern-motion .modern-toolkit:not(.is-present) .modern-skill-tile-copy{opacity:.72;translate:6px}.modern-motion .modern-toolkit.is-present .modern-skill-tile-copy{animation:modern-skill-copy-seat .52s var(--modern-ease) both;animation-delay:calc(90ms + var(--skill-i,0) * 55ms)}.modern-motion .modern-interests-section:not(.is-present) .modern-interest-list li{translate:-8px}.modern-motion .modern-interests-section.is-present .modern-interest-list li{animation:modern-row-settle .54s var(--modern-ease) both}.modern-motion .modern-interests-section.is-present .modern-interest-list li:nth-child(2),.modern-motion .modern-devices.is-present .modern-spec-row:nth-child(2){animation-delay:60ms}.modern-motion .modern-interests-section.is-present .modern-interest-list li:nth-child(3),.modern-motion .modern-devices.is-present .modern-spec-row:nth-child(3){animation-delay:.12s}.modern-motion .modern-interests-section.is-present .modern-interest-list li:nth-child(4),.modern-motion .modern-devices.is-present .modern-spec-row:nth-child(4){animation-delay:.18s}.modern-motion .modern-interests-section.is-present .modern-interest-list li:nth-child(n+5){animation-delay:.22s}.modern-motion .modern-devices:not(.is-present) .modern-spec-row{translate:0 7px}.modern-motion .modern-devices.is-present .modern-spec-row{animation:modern-device-settle .56s var(--modern-ease) both}.modern-motion .modern-devices:not(.is-present) .modern-spec-line{opacity:.68;translate:-6px}.modern-motion .modern-devices.is-present .modern-spec-line{animation:modern-spec-line-seat .48s var(--modern-ease) .14s both}.modern-motion .modern-devices.is-present .modern-spec-line:nth-child(2){animation-delay:.18s}.modern-motion .modern-devices.is-present .modern-spec-line:nth-child(3){animation-delay:.22s}.modern-motion .modern-devices.is-present .modern-spec-line:nth-child(4){animation-delay:.26s}.modern-motion .modern-devices.is-present .modern-spec-line:nth-child(n+5){animation-delay:.3s}.modern-motion .modern-archive:not(.is-present) .modern-timeline-when{opacity:.62}.modern-motion .modern-archive.is-present .modern-timeline-when{transition:opacity .52s var(--modern-ease)}.modern-motion .modern-footer:not(.is-present) .modern-contact-action{opacity:.5;translate:-6px}.modern-motion .modern-footer.is-present .modern-contact-action{animation:modern-contact-action-seat .44s var(--modern-ease) both}.modern-motion .modern-hero:not(.is-in) .aero-portal,.modern-motion .modern-hero:not(.is-in) .legacy-portal,.modern-motion .modern-hero:not(.is-in) .modern-hero-role,.modern-motion .modern-hero:not(.is-in) .modern-hero-meta,.modern-motion .modern-hero:not(.is-in) .modern-hero-actions,.modern-motion .modern-hero:not(.is-in) .modern-hero-discord,.modern-motion .modern-hero:not(.is-in) .modern-hero-counter{opacity:0;translate:0 12px}.modern-motion .modern-hero:not(.is-in) .modern-hero-name{opacity:0;translate:0 8px}.modern-motion .modern-hero.is-in .aero-portal,.modern-motion .modern-hero.is-in .legacy-portal{transition:opacity .68s var(--modern-ease), translate .68s var(--modern-ease)}.modern-motion .modern-hero.is-in .modern-hero-name{opacity:1;transition:opacity .82s var(--modern-ease), translate .82s var(--modern-ease);transition-delay:70ms;translate:0}.modern-motion .modern-hero.is-in .modern-hero-role{transition:opacity .64s var(--modern-ease), translate .64s var(--modern-ease);transition-delay:.18s}.modern-motion .modern-hero.is-in .modern-hero-meta{transition:opacity .64s var(--modern-ease), translate .64s var(--modern-ease);transition-delay:.24s}.modern-motion .modern-hero.is-in .modern-hero-actions{transition:opacity .64s var(--modern-ease), translate .64s var(--modern-ease);transition-delay:.3s}.modern-motion .modern-hero.is-in .modern-hero-discord{transition:opacity .64s var(--modern-ease), translate .64s var(--modern-ease);transition-delay:.38s}.modern-motion .modern-hero.is-in .modern-hero-counter{transition:opacity .64s var(--modern-ease), translate .64s var(--modern-ease);transition-delay:.46s}}@keyframes modern-readout-settle{0%{opacity:.45;translate:0 4px}to{opacity:1;translate:0}}@keyframes modern-heading-en-settle{0%{opacity:.58;translate:-10px}to{opacity:1;translate:0}}@keyframes modern-heading-divider-settle{0%{opacity:.35;scale:.25 1}to{opacity:1;scale:1}}@keyframes modern-heading-ja-settle{0%{opacity:.72;translate:0 12px}to{opacity:1;translate:0}}@keyframes modern-surface-seat{0%{filter:saturate(.78)brightness(.82);translate:0 18px;scale:.985}to{filter:saturate()brightness();translate:0;scale:1}}@keyframes modern-copy-seat{0%{opacity:.66;translate:16px}to{opacity:1;translate:0}}@keyframes modern-map-focus{0%{filter:saturate(.76)contrast(.94);scale:1.025}to{filter:saturate()contrast();scale:1}}@keyframes modern-rule-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes modern-skill-icon-settle{0%{opacity:.55;transform:translateY(8px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modern-skill-line-trace{0%{opacity:0;transform:scaleX(0)}42%{opacity:.72}to{opacity:0;transform:scaleX(1)}}@keyframes modern-skill-copy-seat{0%{opacity:.72;translate:6px}to{opacity:1;translate:0}}@keyframes modern-row-settle{0%{translate:-8px}to{translate:0}}@keyframes modern-device-settle{0%{translate:0 7px}to{translate:0}}@keyframes modern-spec-line-seat{0%{opacity:.68;translate:-6px}to{opacity:1;translate:0}}@keyframes modern-contact-action-seat{0%{opacity:.5;translate:-6px}to{opacity:1;translate:0}}@media (pointer:fine) and (width>=901px) and (prefers-reduced-motion:no-preference){.modern-work-image{transition:transform .48s cubic-bezier(.22,1,.36,1)}.modern-work-title,.modern-work .modern-text-link{transition:translate .48s cubic-bezier(.22,1,.36,1)}.modern-work:hover .modern-work-image,.modern-work:focus-within .modern-work-image{transform:scale(1.02)}.modern-work:hover .modern-work-title,.modern-work:focus-within .modern-work-title{translate:3px}.modern-work:hover .modern-text-link,.modern-work:focus-within .modern-text-link{translate:5px}}@media (pointer:fine) and (width<=900px) and (width>=641px) and (prefers-reduced-motion:no-preference){.modern-work:hover .modern-work-image,.modern-work:focus-within .modern-work-image{transform:scale(1.01)}.modern-work:hover .modern-work-title,.modern-work:focus-within .modern-work-title{translate:2px}}@media (pointer:fine) and (prefers-reduced-motion:no-preference){.modern-skill-name{transition:color .32s var(--modern-ease)}.modern-skill-tile.is-skill-active .modern-skill-name,.modern-skill-tile:hover .modern-skill-name,.modern-skill-tile:focus-within .modern-skill-name{color:color-mix(in srgb, var(--modern-ink) 88%, white)}.modern-skill-group.is-skill-linked .modern-skill-group-head{border-bottom-color:color-mix(in srgb, var(--modern-cyan) 45%, var(--modern-line))}.modern-skill-group.is-skill-linked .modern-skill-group-head:before{background:var(--modern-cyan);box-shadow:0 0 8px color-mix(in srgb, var(--modern-cyan) 45%, transparent);transition:transform .36s var(--modern-ease), background .28s var(--modern-ease);transform:scaleX(1.35)}.modern-skill-group.is-skill-linked .modern-skill-group-title{color:color-mix(in srgb, var(--modern-ink) 80%, var(--modern-cyan))}.modern-skill-group.is-skill-linked .modern-skill-tile:not(.is-skill-active):not(:hover){opacity:.72}.modern-interest-name{transition:background-size .28s var(--modern-ease);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px}.modern-interest-list li:hover .modern-interest-name,.modern-interest-list li:focus-within .modern-interest-name{background-size:100% 1px}.modern-interest-list .modern-prose{transition:translate .28s var(--modern-ease)}.modern-interest-list li:hover .modern-prose,.modern-interest-list li:focus-within .modern-prose{translate:0 3px}}.modern-work.is-tap-pulse .modern-work-frame{border-color:color-mix(in srgb, var(--modern-ink) 35%, var(--modern-line))}.modern-skill-tile.is-tap-pulse{background:color-mix(in srgb, var(--modern-surface) 58%, transparent);padding-left:10px}@media (prefers-reduced-motion:reduce){.modern-nav.is-section-tick:after,.modern-nav-readout.is-swap .modern-nav-readout-label,.modern-nav.is-section-tick .modern-nav-list a[aria-current=true]{animation:none!important}.modern-nav-list a:after{transition:none!important}.modern-work-gloss,.modern-nav-label:after,.modern-work-lang-thumb:after{display:none!important}.modern-nav-list a,.modern-work-lang,.modern-work-lang-thumb,.modern-work-lang-image,.modern-skill-name,.modern-skill-icon,.modern-skill-icon-image,.modern-skill-tile:after,.modern-skill-tile-copy,.modern-skill-group-head:after,.modern-section-heading,.modern-section-title__en,.modern-section-title__divider,.modern-section-title__ja,.modern-work-copy-lead,.modern-work-copy-body,.modern-map,.modern-interest-list li,.modern-spec-row,.modern-spec-line,.modern-timeline-when,.modern-contact-action{letter-spacing:inherit;opacity:1!important;filter:none!important;transition:none!important;animation:none!important;transform:translate(0,0)!important}.modern-hero-letter{opacity:1!important;transform:translate(0,0)!important}.modern-motion [data-reveal],.modern-motion [data-reveal=map],.modern-work-image{opacity:1!important;clip-path:none!important;transition:none!important;animation:none!important;translate:none!important;scale:none!important}.modern-motion .modern-hero .aero-portal,.modern-motion .modern-hero .legacy-portal,.modern-motion .modern-hero .modern-hero-name,.modern-motion .modern-hero .modern-hero-role,.modern-motion .modern-hero .modern-hero-actions,.modern-motion .modern-hero .modern-hero-discord,.modern-motion .modern-hero .modern-hero-counter,.modern-js .aero-portal,.modern-js .legacy-portal,.modern-js .modern-hero-name,.modern-js .modern-hero-role,.modern-js .modern-hero-actions,.modern-js .modern-hero-discord,.modern-js .modern-hero-counter,.modern-work-image,.modern-work-frame,.modern-work-copy,.modern-work-langs,.modern-photo-stage img,.modern-photo-current,.modern-photo-peek{opacity:1!important;filter:none!important;transition:none!important;animation:none!important;transform:translate(0,0)!important}.modern-skill-group-head:before{transition:none!important;transform:none!important}.modern-text-link:hover,.modern-section-title:hover,.modern-section-title:focus-visible,.modern-work-title:hover,.modern-work-title:focus-visible,.modern-hero-name:hover,.modern-hero-name:focus-visible,.modern-timeline-title:hover,.modern-timeline-title:focus-visible{letter-spacing:inherit;color:inherit;transform:none}.modern-section-title:before,.modern-work-title:before,.modern-work-title:after,.modern-timeline-title:after{display:none!important}.modern-section-title:after{animation:none!important;transform:scaleX(1)!important}[data-mark=trace]:after{animation:none!important;transform:translate(-140%)!important}.modern-work-media{position:static!important}}.modern-hero-meta{margin:var(--modern-space-3) 0 0;color:var(--modern-muted);font:400 var(--modern-text-sm)/1.5 var(--modern-sans);letter-spacing:.01em;flex-wrap:wrap;align-items:baseline;gap:.35em .55em;display:flex}.modern-hero-meta [data-hero-clock]{font-family:var(--modern-mono)}.modern-hero-meta-item{font-variant-numeric:tabular-nums}.modern-hero-meta-sep{opacity:.55}.modern-skill-tiles{border-top:1px solid var(--modern-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}.modern-skill-tile{border:1px solid var(--modern-line);min-width:0;transition:color .22s var(--modern-ease), background-color .22s var(--modern-ease), padding-left .26s var(--modern-ease);border-width:0 0 1px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:12px;padding:13px 16px 14px 0;display:grid;position:relative;overflow:hidden}.modern-skill-icon{border:1px solid color-mix(in srgb, var(--modern-line) 82%, var(--modern-silver));background:var(--modern-surface-raised);width:36px;height:36px;color:var(--modern-silver);border-radius:5px;place-items:center;display:inline-grid;overflow:hidden;box-shadow:inset 0 1px #ffffff14}.modern-skill-icon-image{object-fit:contain;width:22px;height:22px;transition:transform .3s var(--modern-ease);display:block}.modern-skill-icon-fallback{font:600 .8rem/1 var(--modern-sans)}.modern-skill-tile:after{content:"";background:var(--modern-cyan);opacity:0;transform-origin:0;pointer-events:none;height:1px;position:absolute;inset:auto 0 -1px;transform:scaleX(0)}.modern-skill-tile-copy{gap:3px;min-width:0;display:grid}.modern-skill-name{font:500 var(--modern-text-lg)/1.4 var(--modern-sans);color:var(--modern-ink);overflow-wrap:anywhere}.modern-skill-detail{color:var(--modern-muted);font:400 var(--modern-text-sm)/1.5 var(--modern-sans)}@media (pointer:fine){.modern-skill-tile:hover,.modern-skill-tile:focus-within,.modern-skill-tile.is-skill-active{background:color-mix(in srgb, var(--modern-surface) 58%, transparent);padding-left:10px}.modern-skill-tile:hover .modern-skill-icon,.modern-skill-tile:focus-within .modern-skill-icon,.modern-skill-tile.is-skill-active .modern-skill-icon{border-color:color-mix(in srgb, var(--modern-cyan) 58%, var(--modern-line));background:color-mix(in srgb, var(--modern-surface-raised) 78%, var(--modern-cyan))}.modern-skill-tile:hover .modern-skill-icon-image,.modern-skill-tile:focus-within .modern-skill-icon-image,.modern-skill-tile.is-skill-active .modern-skill-icon-image{transform:translateY(-1px)scale(1.06)}}.modern-interest-list,.modern-spec-list{margin:0;padding:0;list-style:none}.modern-interest-list{border-top:1px solid var(--modern-line)}.modern-interest-name{font:600 1.15rem/1.4 var(--modern-sans);margin:0 0 .25rem}.modern-interest-list li{border-bottom:1px solid var(--modern-line);align-items:baseline;margin:0;padding:14px 0 16px;display:grid}@media (width>=641px){.modern-interest-list li{grid-template-columns:10rem minmax(0,1fr);gap:6px 28px}}.modern-interest-list .modern-interest-name{margin:0}.modern-interest-list .modern-prose{max-width:none;color:color-mix(in srgb, var(--modern-ink) 82%, var(--modern-muted));font-size:var(--modern-text-md);margin:0;line-height:1.7}.modern-spec-row+.modern-spec-row{border-top:1px solid var(--modern-line);margin-top:1.1rem;padding-top:1.1rem}@media (width>=901px){.modern-device-list.modern-spec-list>.modern-spec-row+.modern-spec-row{padding-top:var(--modern-space-3);border-top:0;margin-top:0}}.modern-spec-head{flex-wrap:wrap;align-items:baseline;gap:.4rem .8rem;display:flex}.modern-device-kind{color:var(--modern-muted);font:400 var(--modern-text-sm)/1.45 var(--modern-sans)}.modern-device-name{font:600 1.15rem/1.4 var(--modern-sans);margin:0}.modern-spec-body{color:var(--modern-muted);font:400 var(--modern-text-sm)/1.55 var(--modern-mono);margin:.45rem 0 0}.modern-spec-line{display:block}@media (width<=640px){.modern-skill-tiles{grid-template-columns:1fr}.modern-skill-tile{padding-right:0}}
