:root{--bg: #05060f;--panel: rgba(11, 13, 32, .58);--panel-solid: #0b0d20;--text: #eceeff;--muted: #a3a8cc;--dim: #6c7199;--line: rgba(160, 170, 255, .14);--a: #6b6bff;--b: #1fc6c0;--c: #f0567a;--grad: linear-gradient(100deg, #8a8aff 0%, #1fc6c0 45%, #f0567a 100%);--ease: cubic-bezier(.2, .8, .2, 1);--ease-io: cubic-bezier(.7, 0, .2, 1);--header-h: 72px;--font: "Noto Sans JP", system-ui, sans-serif;--font-en: "Outfit", "Noto Sans JP", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:clip}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.9;letter-spacing:.02em;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.is-loading{overflow:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit}.mono{font-family:var(--font-mono);letter-spacing:.04em}.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.pc-only{display:none}@media(min-width:900px){.pc-only{display:inline}}#stage{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0;touch-action:pan-y}.no-webgl #stage{display:none}.no-webgl body,body.no-webgl{background:radial-gradient(60vw 60vw at 80% 10%,rgba(107,107,255,.28),transparent 60%),radial-gradient(50vw 50vw at 10% 60%,rgba(31,198,192,.18),transparent 60%),radial-gradient(40vw 40vw at 60% 100%,rgba(240,86,122,.18),transparent 60%),var(--bg);background-attachment:fixed}.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}@keyframes grain{0%{background-position:0 0}20%{background-position:-37px 23px}40%{background-position:29px -41px}60%{background-position:-19px -13px}80%{background-position:43px 31px}to{background-position:0 0}}main:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(120% 80% at 50% 40%,transparent 50%,rgba(5,6,15,.75) 100%),linear-gradient(180deg,rgba(5,6,15,.35),transparent 20%,transparent 80%,rgba(5,6,15,.6))}main,.site-footer,.site-header{position:relative;z-index:2}.loader{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--bg);transition:clip-path 1s var(--ease-io) .1s,visibility 0s 1.2s;clip-path:inset(0 0 0 0)}.is-ready .loader{clip-path:inset(0 0 100% 0);visibility:hidden}.loader-inner{width:min(320px,70vw)}.loader-logo{margin:0 0 14px;font-family:var(--font-en);font-weight:700;font-size:28px;letter-spacing:.04em}.loader-bar{height:2px;background:var(--line);overflow:hidden}.loader-bar span{display:block;height:100%;width:100%;background:var(--grad);transform-origin:left;transform:scaleX(var(--progress, 0));transition:transform .4s var(--ease)}.loader-log{margin:10px 0 0;font-size:11px;color:var(--dim)}.blink{animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.site-header{position:fixed;inset:0 0 auto;height:var(--header-h);display:flex;align-items:center;gap:16px;padding:0 clamp(16px,3vw,40px);z-index:50;transition:transform .5s var(--ease)}.site-header:before{content:"";position:absolute;inset:0;z-index:-1;background:#05060f8c;backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--line);opacity:0;transition:opacity .4s}.site-header.is-scrolled:before{opacity:1}.nav-open .site-header{transform:none}.nav-open .site-header:before{opacity:0}.site-header.is-hidden{transform:translateY(-100%)}.logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-en);font-weight:700;font-size:20px;letter-spacing:.03em;text-decoration:none;margin-right:auto}.logo img{transition:transform .15s}.beat .logo img{transform:scale(1.12)}.site-nav{display:flex;align-items:center;gap:4px}.site-nav a{position:relative;padding:6px 12px;font-family:var(--font-en);font-size:14px;font-weight:500;letter-spacing:.06em;text-decoration:none;color:var(--muted);transition:color .3s}.site-nav a:not(.nav-cta):after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:1px;background:var(--grad);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}.site-nav a:hover,.site-nav a.is-current{color:var(--text)}.site-nav a:hover:after,.site-nav a.is-current:after{transform:scaleX(1);transform-origin:left}.site-nav .nav-cta{margin-left:8px;padding:7px 18px;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:var(--text);font-family:var(--font);font-size:13px;transition:background .3s,border-color .3s}.site-nav .nav-cta.is-current,.site-nav .nav-cta:hover{background:#ffffff14;border-color:#ffffff80}.lang-toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#0a0c1e80;color:var(--dim);font-size:11px;cursor:pointer;transition:border-color .3s}.lang-toggle:hover{border-color:#ffffff59}.lang-toggle span{transition:color .3s}html[lang=ja] .lang-ja,html[lang=en] .lang-en{color:var(--text)}.lang-sep{opacity:.5}.sound-toggle{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#0a0c1e80;color:var(--muted);font-size:11px;cursor:pointer;transition:color .3s,border-color .3s,box-shadow .3s}.sound-toggle:hover{color:var(--text);border-color:#ffffff59}.sound-toggle[aria-pressed=true]{color:var(--text);border-color:#1fc6c099;box-shadow:0 0 24px #1fc6c040}.eq{display:inline-flex;align-items:flex-end;gap:2px;height:12px}.eq i{width:2px;height:4px;background:currentColor;border-radius:1px;transition:height .3s}.eq i:nth-child(2){height:9px}.eq i:nth-child(3){height:6px}.eq i:nth-child(4){height:11px}[aria-pressed=true] .eq i{background:var(--b);animation:eq .9s ease-in-out infinite alternate}[aria-pressed=true] .eq i:nth-child(2){animation-delay:-.3s}[aria-pressed=true] .eq i:nth-child(3){animation-delay:-.6s}[aria-pressed=true] .eq i:nth-child(4){animation-delay:-.15s}@keyframes eq{0%{height:3px}to{height:12px}}.nav-toggle{display:none}@media(max-width:899px){.site-header{gap:8px;padding:0 16px}.site-header .logo{font-size:17px;gap:8px}.site-header .logo img{width:24px;height:24px}.lang-toggle{height:40px;padding:0 11px;gap:4px}.sound-label{display:none}.sound-toggle{height:40px;padding:0 12px}.nav-toggle{display:grid;place-content:center;gap:6px;width:40px;height:40px;flex:none;border:1px solid var(--line);border-radius:50%;background:#0a0c1e80;cursor:pointer}.nav-toggle span{display:block;width:18px;height:1.5px;background:var(--text);transition:transform .4s var(--ease)}.nav-open .nav-toggle span:first-child{transform:translateY(3.75px) rotate(45deg)}.nav-open .nav-toggle span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.site-nav{position:fixed;inset:0;z-index:-1;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:0 32px;background:var(--bg);clip-path:circle(0 at calc(100% - 38px) 36px);transition:clip-path .7s var(--ease-io)}.nav-open .site-nav{clip-path:circle(150% at calc(100% - 38px) 36px)}.site-nav a{font-size:34px;font-weight:700;padding:4px 0;color:var(--text);opacity:0;transform:translateY(20px);transition:opacity .5s,transform .6s var(--ease)}.nav-open .site-nav a{opacity:1;transform:none}.nav-open .site-nav a:nth-child(2){transition-delay:.05s}.nav-open .site-nav a:nth-child(3){transition-delay:.1s}.nav-open .site-nav a:nth-child(4){transition-delay:.15s}.nav-open .site-nav a:nth-child(5){transition-delay:.2s}.nav-open .site-nav a:nth-child(6){transition-delay:.25s}.site-nav a:after{display:none}.site-nav .nav-cta{margin:16px 0 0;font-size:16px;padding:12px 28px}}.btn{--mx: 0px;--my: 0px;position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;border-radius:999px;font-weight:700;font-size:15px;text-decoration:none;overflow:hidden;isolation:isolate;transform:translate(var(--mx),var(--my));transition:transform .4s var(--ease),box-shadow .4s}.btn span{position:relative;z-index:1}.btn-primary{color:#fff;background:linear-gradient(100deg,#5b5bf0,#1fa6c6 55%,#e04f86);background-size:200% 100%;box-shadow:0 10px 40px -10px #5b5bf0b3;animation:hue 6s linear infinite alternate}@keyframes hue{to{background-position:100% 0}}.btn-primary:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translate(-120%);transition:transform .8s var(--ease)}.btn-primary:hover:before{transform:translate(120%)}.btn-primary:hover{box-shadow:0 16px 60px -10px #1fc6c0b3}.btn-ghost{color:var(--text);border:1px solid rgba(255,255,255,.25);background:#0a0c1e59;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn-ghost:before{content:"";position:absolute;inset:0;background:#fff;transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease);z-index:0}.btn-ghost:hover{color:var(--bg)}.btn-ghost:hover:before{transform:scaleY(1)}.btn-lg{min-height:64px;padding:0 40px;font-family:var(--font-mono);font-size:clamp(15px,2vw,19px);font-weight:500}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:calc(var(--header-h) + 24px) clamp(20px,6vw,96px) 120px}.hero-inner{max-width:980px}.hero-title .line{white-space:nowrap}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:12px;color:var(--muted);text-transform:uppercase}.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--b);box-shadow:0 0 12px var(--b);transition:transform .12s}.beat .eyebrow .dot{transform:scale(1.6)}.hero-title{margin:0 0 28px;text-shadow:0 4px 40px rgba(5,6,15,.6);font-size:clamp(1.6rem,8.4vw,5.2rem);font-weight:700;line-height:1.22;letter-spacing:.01em}.hero-title .line{display:block;overflow:hidden;padding-bottom:.06em}.split .ch{display:inline-block;transform:translateY(110%) rotate(6deg);opacity:0;filter:blur(8px);transition:transform 1.1s var(--ease) calc(var(--i) * 32ms + .4s),opacity .8s var(--ease) calc(var(--i) * 32ms + .4s),filter 1s var(--ease) calc(var(--i) * 32ms + .4s)}.split.grad .ch{background:var(--grad);background-size:var(--w, 10em) 100%;background-position:calc(var(--x, 0) * -1) 0;-webkit-background-clip:text;background-clip:text;color:transparent}.split.grad{background:none}.is-ready .split .ch{transform:none;opacity:1;filter:none}.is-ready .hero-title.is-hidden .ch{transform:translateY(110%) rotate(6deg);opacity:0;filter:blur(8px);transition:none}html[lang=en] body{line-height:1.7;letter-spacing:.005em}html[lang=en] .hero-title{font-family:var(--font-en);font-weight:700;line-height:1.08;letter-spacing:-.015em}html[lang=en] .section-head h2,html[lang=en] .about-lead,html[lang=en] .card h3,html[lang=en] .flow h3,html[lang=en] .portrait-name{font-family:var(--font-en);letter-spacing:0}html[lang=en] .about-lead{line-height:1.25}.lead{max-width:34em;text-shadow:0 2px 16px rgba(5,6,15,.9);margin:0 0 40px;color:var(--muted);font-size:clamp(14px,1.4vw,16px)}.hero-actions{display:flex;flex-wrap:wrap;gap:14px}.hero-meta{position:absolute;right:clamp(20px,3vw,40px);bottom:40px;display:flex;gap:22px;font-size:11px;color:var(--dim)}.hero-meta b{color:var(--text);font-weight:500;margin-left:6px}.hero-hint{position:absolute;left:50%;bottom:96px;transform:translate(-50%);margin:0;font-size:10px;color:var(--dim);text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity 1s 2.4s}.is-ready .hero-hint{opacity:1}.scroll-cue{position:absolute;left:50%;bottom:28px;width:1px;height:56px;margin-left:-.5px;background:var(--line);overflow:hidden}.scroll-cue span{display:block;width:100%;height:50%;background:var(--grad);animation:cue 2s var(--ease-io) infinite}@keyframes cue{0%{transform:translateY(-100%)}to{transform:translateY(200%)}}@media(max-width:759px){.hero{align-items:flex-end;padding-bottom:140px}.hero-meta{left:20px;right:auto;bottom:32px;gap:16px}.hero-hint{bottom:100px}.scroll-cue{left:auto;right:28px}}.marquee{overflow:hidden;padding:3vh 0;border-block:1px solid var(--line);background:#05060f59;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.marquee-track{display:flex;width:max-content;align-items:center;gap:.4em;font-family:var(--font-en);font-weight:800;font-size:clamp(48px,10vw,150px);line-height:1;white-space:nowrap;animation:marquee 28s linear infinite;will-change:transform}.marquee-track span{color:transparent;-webkit-text-stroke:1px rgba(236,238,255,.4);transition:color .4s,-webkit-text-stroke-color .4s}.marquee-track span:hover{color:var(--text)}.marquee-track em{font-style:normal;font-weight:300;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}@keyframes marquee{to{transform:translate(-50%)}}.section{padding:clamp(96px,16vh,180px) 0}.container{width:min(1180px,100% - clamp(40px,8vw,120px));margin:0 auto}.section-head{margin-bottom:clamp(40px,7vh,72px)}.section-head .eyebrow{margin-bottom:12px}.idx{display:inline-grid;place-items:center;min-width:34px;height:22px;padding:0 6px;border:1px solid var(--line);border-radius:4px;color:var(--b)}.section-head h2,.contact-title{margin:0;font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.25;font-weight:700}.reveal{opacity:0;transform:translateY(48px);transition:opacity 1.1s var(--ease),transform 1.2s var(--ease);transition-delay:var(--d, 0s)}.reveal.is-in{opacity:1;transform:none}.about-body{display:grid;gap:32px}.about-lead{margin:0;font-size:clamp(1.6rem,3.4vw,2.6rem);font-weight:700;line-height:1.5}.about-body p:not(.about-lead){color:var(--muted);margin:0 0 1.2em}@media(min-width:900px){.about-body{grid-template-columns:1fr 1fr;gap:64px;align-items:start}}.cards{display:grid;gap:20px}@media(min-width:900px){.cards{grid-template-columns:repeat(3,1fr)}.cards .card:nth-child(2){--d: .12s}.cards .card:nth-child(3){--d: .24s}}.card{--mx: 50%;--my: 50%;--rx: 0deg;--ry: 0deg;--accent: var(--b);position:relative;padding:32px 28px 30px;border-radius:20px;background:var(--panel);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid var(--line);overflow:hidden;transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .6s var(--ease),border-color .4s,opacity 1.1s var(--ease)}.card.reveal:not(.is-in){transform:perspective(900px) translateY(48px)}.card[data-accent=music]{--accent: var(--c)}.card[data-accent=app]{--accent: var(--b)}.card[data-accent=web]{--accent: var(--a)}.card:hover{border-color:color-mix(in srgb,var(--accent) 55%,transparent);transition:transform .15s linear,border-color .4s}.card-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(360px circle at var(--mx) var(--my),color-mix(in srgb,var(--accent) 28%,transparent),transparent 60%);opacity:0;transition:opacity .4s}.card:hover .card-glow{opacity:1}.card>*:not(.card-glow){position:relative}.card-tag{margin:0 0 22px;font-size:11px;color:var(--dim)}.card-icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:20px;border-radius:16px;background:color-mix(in srgb,var(--accent) 16%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent),0 0 30px -6px var(--accent)}.card-icon svg{width:26px;height:26px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.card h3{margin:0 0 12px;font-size:22px}.card p{margin:0 0 20px;color:var(--muted);font-size:14.5px}.card ul{margin:0;padding:18px 0 0;list-style:none;border-top:1px dashed var(--line);font-size:14px}.card li{display:flex;align-items:center;gap:10px;padding:3px 0}.card li:before{content:"";width:6px;height:6px;border-radius:1px;background:var(--accent);box-shadow:0 0 8px var(--accent)}.works{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.works .work:nth-child(2){--d: .12s}.works .work:nth-child(3){--d: .24s}.work{--accent: var(--b);display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:var(--panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);text-decoration:none;transition:border-color .4s,box-shadow .6s,transform 1.2s var(--ease),opacity 1.1s var(--ease)}.work[data-accent=music]{--accent: var(--c)}.work[data-accent=web]{--accent: var(--a)}.work:hover{border-color:color-mix(in srgb,var(--accent) 60%,transparent);box-shadow:0 30px 80px -30px color-mix(in srgb,var(--accent) 70%,transparent)}.work-media{position:relative;overflow:hidden;aspect-ratio:9 / 13}.work-media img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform 1.2s var(--ease),filter .6s;filter:saturate(.85)}.work-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 60%,rgba(11,13,32,.9)),repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px);transition:opacity .6s}.work:hover .work-media img{transform:scale(1.04);filter:saturate(1.1)}.work-media-zubo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px;background:radial-gradient(120% 70% at 50% 100%,rgba(255,199,115,.55),transparent 60%),linear-gradient(180deg,#141a4a,#3b3f9c 45%,#f08a7a 85%,#ffc773)}.zubo-sun{width:84px;height:84px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff6d8,#ffc773 55%,#f0567a);box-shadow:0 0 60px 10px #ffc7738c;transition:transform 1.2s var(--ease)}.work:hover .zubo-sun{transform:translateY(-10px) scale(1.06)}.zubo-title{font-size:clamp(30px,3vw,40px);font-weight:700;letter-spacing:.08em;color:#fff;text-shadow:0 4px 24px rgba(20,26,74,.6)}.zubo-list{width:min(78%,240px);margin:0;padding:0;list-style:none;display:grid;gap:8px}.zubo-list li{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:#ffffff29;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.25);font-family:var(--font-mono);font-size:12px;color:#fff;transform:translate(0);transition:transform .8s var(--ease)}.zubo-list li:nth-child(2){transition-delay:.05s}.zubo-list li:nth-child(3){transition-delay:.1s}.work:hover .zubo-list li{transform:translate(6px)}.zubo-list b{font-weight:500}.zubo-list i{flex:1;height:6px;border-radius:3px;background:#ffffff8c}.zubo-list li:nth-child(2) i{margin-right:22%}.zubo-list li:nth-child(3) i{margin-right:38%}.work-body{display:flex;flex-direction:column;flex:1;padding:22px 24px 26px}.work-body h3{margin:0 0 10px;font-family:var(--font-en);font-size:26px;line-height:1.2}.work-body p:not(.card-tag){margin:0 0 20px;color:var(--muted);font-size:14px;line-height:1.8}.work-body .card-tag{margin-bottom:10px;color:var(--accent)}.work-link{margin-top:auto;align-self:flex-start;display:inline-flex;gap:8px;font-size:12px;padding-bottom:4px;border-bottom:1px solid var(--line);transition:border-color .4s;word-break:break-all}.work:hover .work-link{border-color:var(--accent)}.work-link span{display:inline-block;transition:transform .4s var(--ease)}.work:hover .work-link span{transform:translate(3px,-3px)}@media(max-width:899px){.works{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(78vw,320px);gap:16px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scroll-snap-type:x mandatory;margin-inline:calc(50% - 50vw);padding:4px max(20px,calc(50vw - 50%)) 20px;scroll-padding-inline:max(20px,calc(50vw - 50%));scrollbar-width:none}.works::-webkit-scrollbar{display:none}.work{scroll-snap-align:start}.works .work.reveal{transform:none}}.flow{--p: 0;position:relative;margin:0;padding:0;list-style:none;max-width:860px}.flow:before,.flow:after{content:"";position:absolute;z-index:0;left:27px;top:28px;bottom:28px;width:2px;border-radius:2px}.flow:before{background:var(--line)}.flow:after{background:linear-gradient(180deg,#8a8aff,#1fc6c0,#f0567a);transform-origin:top;transform:scaleY(var(--p));box-shadow:0 0 16px #1fc6c099}.flow li{position:relative;z-index:1;display:grid;grid-template-columns:56px 1fr;gap:24px;align-items:start;padding:18px 0}.flow-num{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--panel-solid);border:1px solid var(--line);color:var(--dim);font-size:15px;z-index:1;transition:color .4s,border-color .4s,box-shadow .4s,background .4s}.flow li.is-active .flow-num{color:var(--text);border-color:var(--b);background:color-mix(in srgb,var(--b) 18%,var(--panel-solid));box-shadow:0 0 28px -4px var(--b)}.flow h3{margin:10px 0 4px;font-size:20px;transition:color .4s}.flow p{margin:0;color:var(--muted);font-size:14.5px}.flow li:not(.is-active) h3{color:var(--muted)}.profile-grid{display:grid;gap:32px;align-items:center}@media(min-width:900px){.profile-grid{grid-template-columns:340px 1fr;gap:64px}.profile-grid .profile{--d: .12s}}.portrait{margin:0;width:min(340px,78vw);justify-self:center}.portrait-frame{position:relative;aspect-ratio:1;padding:3px;border-radius:50%;isolation:isolate}.portrait-frame:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from var(--spin, 0deg),#8a8aff,#1fc6c0,#f0567a,#ffc773,#8a8aff);animation:spin 8s linear infinite;z-index:-1}.portrait-frame:after{content:"";position:absolute;inset:-18px;border-radius:50%;border:1px dashed rgba(160,170,255,.28);animation:spin-rev 40s linear infinite;transition:transform .15s}.beat .portrait-frame:after{inset:-22px}@property --spin{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes spin{to{--spin: 360deg}}@keyframes spin-rev{to{rotate:-360deg}}.portrait-photo{width:100%;height:100%;border-radius:50%;border:4px solid var(--bg);overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.02);transition:filter .6s}.portrait:hover img{filter:saturate(1.1)}.portrait figcaption{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:28px}.portrait-name{font-size:20px;font-weight:700;letter-spacing:.12em}.portrait-role{font-size:11px;color:var(--dim)}.profile{margin:0;max-width:860px;border-radius:18px;background:var(--panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);overflow:hidden}.profile:before{content:"●  ●  ●     ~/minecreate/profile.json";display:block;padding:12px 20px;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:11px;color:var(--dim);white-space:pre;background:#ffffff05}.profile div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:18px 24px;border-bottom:1px solid var(--line)}.profile div:last-child{border-bottom:0}.profile dt{color:var(--b);font-size:13px;padding-top:2px}.profile dt:after{content:":";color:var(--dim)}.profile dd{margin:0;word-break:break-word}@media(max-width:599px){.profile div{grid-template-columns:1fr;gap:2px}}.contact{padding-bottom:clamp(120px,20vh,220px)}.contact-inner{text-align:center;display:flex;flex-direction:column;align-items:center}.contact-inner .eyebrow{justify-content:center}.contact-title{font-family:var(--font-en);font-size:clamp(2.6rem,8vw,6.4rem);font-weight:800;line-height:1.05;letter-spacing:-.01em;margin-bottom:32px}.contact-inner>p:not(.eyebrow){color:#c4c8e6;text-shadow:0 0 12px rgba(5,6,15,1),0 0 30px rgba(5,6,15,.9);margin:0 0 40px}.site-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:28px clamp(20px,3vw,40px) calc(28px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#05060f99;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.logo-sm{font-size:16px;margin:0}.copyright{margin:0;font-size:11px;color:var(--dim)}.cursor{position:fixed;top:0;left:0;z-index:90;width:36px;height:36px;margin:-18px 0 0 -18px;border:1px solid rgba(255,255,255,.6);border-radius:50%;pointer-events:none;mix-blend-mode:difference;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .35s,opacity .3s;opacity:0}.cursor.is-visible{opacity:1}.cursor.is-link{width:64px;height:64px;margin:-32px 0 0 -32px;background:#fff}.cursor-dot{position:fixed;top:0;left:0;z-index:91;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:#fff;pointer-events:none;mix-blend-mode:difference}:focus-visible{outline:2px solid var(--b);outline-offset:3px;border-radius:6px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;transition-delay:0s!important}.reveal{opacity:1;transform:none}}@media(max-width:359px){.site-header .logo{font-size:15px;gap:6px}.lang-toggle,.sound-toggle{padding:0 9px}}
