.mw{--mw-accent:#9ef4ff;--mw-on-accent:#0b0b10;--mw-bg:#0d0d12;--mw-fg:#f2f1ee;--mw-muted:color-mix(in srgb,var(--mw-fg) 58%,transparent);--mw-faint:color-mix(in srgb,var(--mw-fg) 34%,transparent);--mw-line:color-mix(in srgb,var(--mw-fg) 10%,transparent);--mw-line-strong:color-mix(in srgb,var(--mw-fg) 20%,transparent);--mw-card:color-mix(in srgb,var(--mw-fg) 4%,var(--mw-bg));--mw-card-hover:color-mix(in srgb,var(--mw-fg) 7%,var(--mw-bg));--mw-accent-soft:color-mix(in srgb,var(--mw-accent) 14%,transparent);--mw-radius:28px;--mw-radius-sm:16px;--mw-ease:cubic-bezier(0.22,1,0.36,1);position:relative;min-height:100vh;background:var(--mw-bg);color:var(--mw-fg);font-family:var(--mw-font-body),"Onest",system-ui,sans-serif;font-size:16px;line-height:1.5;overflow-x:clip;isolation:isolate}.mw a{color:inherit;text-decoration:none}.mw button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.mw :focus-visible{outline:2px solid var(--mw-accent);outline-offset:3px;border-radius:8px}.mw ::selection{background:var(--mw-accent);color:var(--mw-on-accent)}.mw-accent{color:var(--mw-accent)}.mw-aura{position:absolute;inset:0 0 auto 0;height:900px;z-index:-1;pointer-events:none;background:radial-gradient(60% 55% at 78% 8%,color-mix(in srgb,var(--mw-accent) 22%,transparent),transparent 70%),radial-gradient(40% 40% at 5% 30%,color-mix(in srgb,var(--mw-accent) 8%,transparent),transparent 70%)}.mw-aura:after{content:"";position:absolute;inset:0;background-image:radial-gradient(color-mix(in srgb,var(--mw-fg) 14%,transparent) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(180deg,black,transparent 85%);-webkit-mask-image:linear-gradient(180deg,black,transparent 85%);opacity:.35}.mw-top{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;gap:1rem;padding:14px max(20px,calc((100vw - 1200px) / 2));backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);background:color-mix(in srgb,var(--mw-bg) 70%,transparent);border-bottom:1px solid var(--mw-line)}.mw-logo,.mw-top{align-items:center}.mw-logo{display:inline-flex;gap:10px;font-family:var(--mw-font-display),sans-serif;font-weight:600;font-size:15px;letter-spacing:-.01em}.mw-logo-mark{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:38%;overflow:hidden;background:var(--mw-card);box-shadow:0 0 0 1px var(--mw-line-strong);font-size:13px;font-weight:800;color:var(--mw-accent)}.mw-logo-mark img{width:100%;height:100%;object-fit:cover;display:block}.mw-logo-tld{color:var(--mw-faint)}.mw-top-right{display:flex;align-items:center;gap:10px}.mw-chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--mw-line);border-radius:999px;font-family:var(--mw-font-mono),monospace;font-size:13px;font-variant-numeric:tabular-nums}.mw-chip-dim{color:var(--mw-faint);font-size:11px}.mw-blink{animation:mw-blink 1s steps(2,start) infinite}@keyframes mw-blink{to{visibility:hidden}}.mw-lang{position:relative;display:flex;height:34px;padding:3px;border:1px solid var(--mw-line);border-radius:999px}.mw-lang button{position:relative;z-index:1;width:40px;font-family:var(--mw-font-mono),monospace;font-size:12px;font-weight:600;color:var(--mw-faint);transition:color .25s}.mw-lang button.active{color:var(--mw-on-accent)}.mw-lang-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:40px;border-radius:999px;background:var(--mw-accent);transition:transform .35s var(--mw-ease)}.mw-lang-thumb.en{transform:translateX(40px)}.mw-shell{max-width:1200px;margin:0 auto;padding:0 20px}.mw-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:48px;padding:72px 0 64px}.mw-hero-text{container-type:inline-size;min-width:0}.mw-name{margin:0 0 22px;font-family:var(--mw-font-display),sans-serif;font-weight:800;font-size:clamp(2.6rem,15cqi,7.2rem);line-height:.92;letter-spacing:-.045em}.mw-name-dot{color:var(--mw-accent);display:inline-block;transition:transform .4s var(--mw-ease)}.mw-name:hover .mw-name-dot{transform:translateY(-.12em) scale(1.25)}.mw-letter{display:inline-block;transition:transform .35s var(--mw-ease),color .2s}.mw-letter:hover{transform:translateY(-.1em) rotate(-6deg);color:var(--mw-accent)}.mw-sub{max-width:34ch;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.55;color:var(--mw-muted)}.mw-hero-tags{position:relative;display:flex;flex-direction:column;gap:6px;max-width:520px;margin-top:28px}.mw-hero-tags:before{content:"";position:absolute;left:21px;top:22px;bottom:22px;width:1px;background:var(--mw-line-strong)}.mw-tag{position:relative;display:flex;align-items:center;gap:14px;min-width:0;padding:6px 12px 6px 6px;border-radius:14px;transition:background .25s,transform .3s var(--mw-ease)}.mw-tag.lit{background:var(--mw-card);transform:translateX(6px)}.mw-tag-icon{position:relative;display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:10px;background:color-mix(in srgb,var(--mw-fg) 6%,var(--mw-bg));border:1px solid var(--mw-line);color:var(--mw-fg);transition:background .25s,color .25s,border-color .25s,transform .4s var(--mw-ease)}.mw-tag.lit .mw-tag-icon{background:var(--mw-accent);border-color:var(--mw-accent);color:var(--mw-on-accent);transform:rotate(-8deg)}.mw-tag-icon svg{width:16px;height:16px}.mw-tag-text{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 10px;min-width:0}.mw-tag-title{font-weight:600;font-size:15px}.mw-tag-desc{color:var(--mw-faint);font-size:13px}.mw-hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px}.mw-btn{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 22px 0 18px;border-radius:999px;font-weight:600;font-size:15px;transition:transform .25s var(--mw-ease),background .25s,border-color .25s}.mw-btn svg{width:16px;height:16px;flex-shrink:0}.mw-btn-icon{display:grid;place-items:center}.mw-btn-icon,.mw-btn-icon svg{width:20px;height:20px}.mw-btn:hover{transform:translateY(-2px)}.mw .mw-btn-solid{background:var(--mw-accent);color:var(--mw-on-accent)}.mw-btn-ghost{border:1px solid var(--mw-line-strong)}.mw-btn-ghost:hover{border-color:var(--mw-accent)}.mw-btn-sm{height:40px;padding:0 16px;font-size:14px;align-self:flex-start}.mw-hero-art{display:flex;flex-direction:column;align-items:center;gap:18px}.mw-avatar-stage{position:relative;width:min(100%,400px);aspect-ratio:1;display:grid;place-items:center}.mw-ring{position:absolute;inset:0;width:100%;height:100%;animation:mw-spin 28s linear infinite;overflow:visible}.mw-ring text{fill:var(--mw-muted);font-family:var(--mw-font-mono),monospace;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}@keyframes mw-spin{to{transform:rotate(1turn)}}.mw-avatar{position:relative;width:72%;aspect-ratio:1;border-radius:38%;overflow:hidden;background:var(--mw-card);box-shadow:0 0 0 1px var(--mw-line-strong),0 0 0 10px color-mix(in srgb,var(--mw-fg) 4%,transparent),0 30px 60px -30px rgba(0,0,0,.8);transform:perspective(700px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:border-radius .6s var(--mw-ease),transform .25s ease-out}.mw-avatar-stage:hover .mw-avatar{border-radius:50%}.mw-avatar img{width:100%;height:100%;object-fit:cover;display:block}.mw-avatar-letter{place-items:center;width:100%;height:100%;font-size:6rem;color:var(--mw-accent)}.mw-avatar-letter,.mw-sticker{display:grid;font-family:var(--mw-font-display),sans-serif;font-weight:800}.mw-sticker{position:absolute;right:9%;bottom:12%;place-items:center;width:64px;height:64px;border-radius:50%;font-size:20px;transform:rotate(12deg);box-shadow:0 10px 24px -8px rgba(0,0,0,.6);cursor:pointer;user-select:none;animation:mw-pop .45s var(--mw-ease);transition:transform .3s var(--mw-ease)}.mw .mw-sticker,.mw-sticker{background:var(--mw-accent);color:var(--mw-on-accent)}.mw-sticker:hover{transform:rotate(0deg) scale(1.08)}.mw-sticker:active{transform:scale(.92)}@keyframes mw-pop{0%{transform:rotate(-30deg) scale(.6)}to{transform:rotate(12deg) scale(1)}}.js .mw-in{animation:mw-rise .9s var(--mw-ease) both}.js .mw-in-1{animation-delay:.05s}.js .mw-in-2{animation-delay:.12s}.js .mw-in-3{animation-delay:.2s}.js .mw-in-4{animation-delay:.28s}.js .mw-in-5{animation-delay:.36s}@keyframes mw-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.mw-marquee{margin:0 -20px 56px;padding:18px 0;border-block:1px solid var(--mw-line);overflow:hidden;mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}.mw-marquee-track{display:flex;width:max-content;animation:mw-marquee 40s linear infinite}.mw-marquee-group{display:flex}.mw-marquee-item{display:inline-flex;align-items:center;gap:28px;padding-right:28px;font-family:var(--mw-font-display),sans-serif;font-size:clamp(1.4rem,3vw,2.2rem);font-weight:700;letter-spacing:-.02em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px var(--mw-line-strong)}.mw-marquee-item:nth-child(3n+1){color:var(--mw-fg);-webkit-text-stroke:0}.mw-marquee-star{color:var(--mw-accent);-webkit-text-stroke:0;font-size:.6em}@keyframes mw-marquee{to{transform:translateX(-50%)}}.mw-bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.mw-card{position:relative;display:flex;flex-direction:column;gap:18px;padding:28px;border:1px solid var(--mw-line);border-radius:var(--mw-radius);background:var(--mw-card);transition:background .3s,border-color .3s;min-width:0}.mw-card:hover{background:var(--mw-card-hover);border-color:var(--mw-line-strong)}.mw-c-about{grid-column:span 4}.mw-c-stack{grid-column:span 8}.mw-c-links{grid-column:span 5}.mw-c-github{grid-column:span 7}.mw-c-now{grid-column:span 5}.mw-c-dc,.mw-c-uptime{grid-column:span 7}.mw-c-visit{grid-column:span 5}.mw-c-now.wide,.mw-c-visit.wide{grid-column:span 12}.mw-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.mw-card-label{font-weight:500;letter-spacing:.1em;text-transform:uppercase}.mw-card-label,.mw-card-meta{font-family:var(--mw-font-mono),monospace;font-size:12px;color:var(--mw-faint)}.mw-fact,.mw-facts{display:flex;flex-direction:column}.mw-fact{gap:2px;padding:12px 0;border-top:1px solid var(--mw-line)}.mw-fact:first-child{border-top:0;padding-top:0}.mw-fact dt{font-size:13px;color:var(--mw-faint)}.mw-fact dd{font-family:var(--mw-font-display),sans-serif;font-size:18px;font-weight:600;letter-spacing:-.01em}.mw-skills{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mw-skill{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--mw-line);border-radius:var(--mw-radius-sm);transition:border-color .25s}.mw-skill:hover{border-color:var(--mw-line-strong)}.mw-skill-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;background:var(--mw-accent-soft);color:var(--mw-accent)}.mw-skill-icon svg{width:20px;height:20px}.mw-skill-main{display:flex;flex-direction:column;min-width:0;flex:1}.mw-skill-title{display:flex;align-items:baseline;gap:8px;font-weight:600}.mw-skill-ver{font-family:var(--mw-font-mono),monospace;font-size:11px;color:var(--mw-faint);font-weight:400}.mw-skill-desc{font-size:13px;color:var(--mw-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mw-level{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.mw-level-bars{display:flex;gap:3px}.mw-level-bars span{width:14px;height:5px;border-radius:3px;background:var(--mw-line-strong)}.mw-level-bars span.on{background:var(--mw-accent)}.mw-level-bars span{transform-origin:left}.mw-skill:hover .mw-level-bars span.on{animation:mw-bar .5s var(--mw-ease) both}.mw-skill:hover .mw-level-bars span.on:nth-child(2){animation-delay:.08s}.mw-skill:hover .mw-level-bars span.on:nth-child(3){animation-delay:.16s}@keyframes mw-bar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.mw-level-label{font-family:var(--mw-font-mono),monospace;font-size:10px;color:var(--mw-faint);text-transform:uppercase;letter-spacing:.06em}.mw-links{display:flex;flex-direction:column;gap:8px}.mw-link{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--mw-radius-sm);border:1px solid var(--mw-line);transition:background .25s,color .25s,border-color .25s,padding .3s var(--mw-ease)}.mw-link-icon{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0}.mw-link-icon svg{width:24px;height:24px}.mw-link-text{display:flex;flex-direction:column;flex:1;min-width:0}.mw-link-label{font-weight:600;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mw-link-type{font-family:var(--mw-font-mono),monospace;font-size:11px;color:var(--mw-faint);text-transform:lowercase}.mw-link-arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--mw-line);transition:transform .3s var(--mw-ease),background .25s,border-color .25s}.mw-link-arrow svg{width:15px;height:15px}.mw-link:hover{background:var(--mw-accent);color:var(--mw-on-accent);border-color:var(--mw-accent);padding-left:20px}.mw-link:hover .mw-link-type{color:inherit;opacity:.6}.mw-link:hover .mw-link-arrow{transform:rotate(45deg);border-color:currentColor}.mw-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;flex:1}.mw-stat{container-type:inline-size;min-width:0;transition:border-color .25s;display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:20px;border-radius:var(--mw-radius-sm);border:1px solid var(--mw-line)}.mw-stat-val{font-family:var(--mw-font-display),sans-serif;font-size:min(3.6rem,23cqi);font-weight:700;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap}.mw-stat-label{font-size:13px;color:var(--mw-muted)}.mw-stat:not(.mw-stat-accent):hover{border-color:var(--mw-line-strong)}.mw-stat-accent{background:var(--mw-accent);color:var(--mw-on-accent);border-color:var(--mw-accent)}.mw-stat-accent .mw-stat-label{color:inherit;opacity:.7}.mw-clock{display:flex;align-items:baseline;gap:10px;font-family:var(--mw-font-display),sans-serif;font-size:clamp(3.4rem,7vw,5.4rem);font-weight:700;line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.mw-clock-tz{font-family:var(--mw-font-mono),monospace;font-size:13px;letter-spacing:0;color:var(--mw-faint);font-weight:400}.mw-now-note{display:flex;flex-direction:column;gap:6px;color:var(--mw-muted);font-size:15px;line-height:1.45}.mw-now-part{color:var(--mw-fg);font-family:var(--mw-font-display),sans-serif;font-size:18px;font-weight:600;letter-spacing:-.01em}.mw-now-strong{font-family:var(--mw-font-mono),monospace;font-variant-numeric:tabular-nums}.mw-now-strong,.mw-now-uptime{color:var(--mw-fg)}.mw-dc-profile{display:flex;align-items:center;gap:14px}.mw-dc-ava{position:relative;flex-shrink:0;width:48px;height:48px}.mw-dc-ava img,.mw-dc-ava svg{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.mw-dc-ava svg{padding:11px;background:var(--mw-accent-soft);color:var(--mw-accent)}.mw-dc-ava i{position:absolute;right:-1px;bottom:-1px;width:14px;height:14px;border-radius:50%;border:3px solid var(--mw-card);background:#80848e;transition:border-color .3s}.mw-card:hover .mw-dc-ava i{border-color:var(--mw-card-hover)}.mw-c-dc[data-status=online] .mw-dc-ava i{background:#23a55a}.mw-c-dc[data-status=idle] .mw-dc-ava i{background:#f0b232}.mw-c-dc[data-status=dnd] .mw-dc-ava i{background:#f23f43}.mw-dc-who{display:flex;flex-direction:column;gap:2px;min-width:0}.mw-dc-who b{font-family:var(--mw-font-display),sans-serif;font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.15}.mw-dc-who>span{font-family:var(--mw-font-mono),monospace;font-size:12px;color:var(--mw-muted)}.mw-dc-skel{display:block;width:90px;height:12px;margin-top:3px;border-radius:999px;background:var(--mw-line)}.mw-dc-now{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:12px;border:1px solid var(--mw-line);border-radius:var(--mw-radius-sm)}.mw-dc-art{display:grid;place-items:center;flex-shrink:0;width:60px;height:60px;overflow:hidden;border-radius:14px;background:var(--mw-accent-soft);color:var(--mw-accent)}.mw-dc-art.small{width:24px;height:24px;border-radius:6px}.mw-dc-art-wrap{position:relative;display:inline-flex;flex-shrink:0;align-self:center}.mw-dc-badge{position:absolute;right:-5px;bottom:-5px;width:24px;height:24px;border-radius:50%;border:3px solid var(--mw-card);background:var(--mw-card);object-fit:cover;transition:border-color .3s,background .3s}.mw-card:hover .mw-dc-badge{border-color:var(--mw-card-hover);background:var(--mw-card-hover)}.mw-dc-line{font-size:14px;color:var(--mw-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mw-dc-art img{width:100%;height:100%;object-fit:cover;display:block}.mw-dc-art svg{width:55%;height:55%}.mw-dc-now-text{display:flex;flex-direction:column;gap:3px;min-width:0}.mw-dc-cap{font-family:var(--mw-font-mono),monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mw-faint)}.mw-dc-now-text b{font-size:17px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mw-dc-time{font-family:var(--mw-font-mono),monospace;font-size:13px;color:var(--mw-muted);font-variant-numeric:tabular-nums}.mw-dc-now.idle{border-style:dashed;border-color:var(--mw-line-strong)}.mw-dc-now.idle .mw-dc-art{background:transparent;border:1px solid var(--mw-line);color:var(--mw-faint)}.mw-dc-now.idle .mw-dc-art svg{width:42%;height:42%}.mw-dc-now.idle b{font-family:var(--mw-font-mono),monospace;font-size:14px;font-weight:500;color:var(--mw-muted)}.mw-dc-recent{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:16px;border-top:1px dashed var(--mw-line-strong)}.mw-dc-rlabel{font-family:var(--mw-font-mono),monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mw-faint)}.mw-dc-recent ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.mw-dc-recent li{display:flex;align-items:center;gap:10px;min-width:0;font-size:14px}.mw-dc-rname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mw-dc-rago{font-family:var(--mw-font-mono),monospace;font-size:12px;color:var(--mw-faint);white-space:nowrap}.mw-chip-ping:before{content:"·";margin-right:6px}.mw-now-row{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:16px;justify-content:space-between;flex-wrap:wrap;border-top:1px dashed var(--mw-line-strong);font-family:var(--mw-font-mono),monospace;font-size:13px;color:var(--mw-muted);font-variant-numeric:tabular-nums}.js .mw-reveal{opacity:0;transform:translateY(28px) scale(.985)}.js .mw-reveal[data-in-view]{animation:mw-reveal .8s var(--mw-ease) both}@keyframes mw-reveal{to{opacity:1;transform:none}}.mw-projects{margin-top:72px}.mw-section-title{display:inline-flex;align-items:flex-start;gap:10px;margin-bottom:24px;font-family:var(--mw-font-display),sans-serif;font-size:clamp(2rem,5vw,3.4rem);font-weight:800;letter-spacing:-.04em;line-height:1}.mw-section-title sup{font-size:.35em;color:var(--mw-accent);font-weight:600;margin-top:.3em}.mw-chev{font-size:.45em;color:var(--mw-faint);margin-top:.4em;transition:transform .3s var(--mw-ease)}.mw-collapse{display:grid;transition:grid-template-rows .45s var(--mw-ease)}.mw-collapse>div{overflow:hidden}.mw-project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.mw-project{gap:14px;padding:16px 16px 22px}.mw-project-media{display:block;width:100%;aspect-ratio:16/10;border-radius:18px;overflow:hidden;cursor:zoom-in}.mw-project-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--mw-ease)}.mw-project-media:hover img{transform:scale(1.05)}.mw-project-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 6px}.mw-project-head h3{font-family:var(--mw-font-display),sans-serif;font-size:20px;font-weight:700;letter-spacing:-.02em}.mw-project-tag{flex-shrink:0;padding:3px 10px;border-radius:999px;background:var(--mw-accent-soft);color:var(--mw-accent);font-family:var(--mw-font-mono),monospace;font-size:11px}.mw-project-desc{padding:0 6px;color:var(--mw-muted);font-size:15px}.mw-pills{display:flex;flex-wrap:wrap;gap:6px;padding:0 6px}.mw-pill{padding:4px 10px;border:1px solid var(--mw-line);border-radius:999px;font-size:12px;color:var(--mw-muted)}.mw-project .mw-btn{margin:0 6px}.mw-footer{margin-top:96px;padding:0 20px 28px;border-top:1px solid var(--mw-line);overflow:hidden}.mw-footer-big{font-family:var(--mw-font-display),sans-serif;font-weight:800;font-size:clamp(3rem,14vw,15rem);line-height:.85;letter-spacing:-.06em;text-align:center;white-space:nowrap;color:transparent;-webkit-text-stroke:1px var(--mw-line-strong);padding-top:32px;user-select:none}.mw-footer-row{max-width:1200px;margin:24px auto 0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 24px;font-family:var(--mw-font-mono),monospace;font-size:12px;color:var(--mw-faint)}.mw-footer-row a:hover{color:var(--mw-fg)}.mw-footer-credits{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}@media (max-width:560px){.mw-footer-row{flex-direction:column;align-items:flex-start}.mw-footer-credits{align-items:flex-start;text-align:left}}@media (max-width:1000px){.mw-c-about,.mw-c-links,.mw-c-now{grid-column:span 6}.mw-c-github,.mw-c-stack,.mw-c-uptime{grid-column:span 12}.mw-c-about{order:1}.mw-c-links{order:2}.mw-c-stack{order:3}.mw-c-github{order:4}.mw-c-now{order:5}.mw-c-uptime{order:6;grid-column:span 6}.mw-c-now.wide{grid-column:span 12}.mw-c-dc{order:7;grid-column:span 6}.mw-c-visit{order:8;grid-column:span 6}.mw-c-visit.wide{grid-column:span 12}}@media (max-width:760px){.mw-hero{grid-template-columns:1fr;gap:12px;padding:32px 0 44px}.mw-hero-art{order:-1}.mw-avatar-stage{width:min(78vw,300px)}.mw-sticker{width:52px;height:52px;font-size:16px}.mw-bento{grid-template-columns:minmax(0,1fr);gap:12px}.mw-bento>.mw-card{grid-column:auto;order:0}.mw-card{padding:22px;border-radius:24px}.mw-skills{grid-template-columns:minmax(0,1fr)}.mw-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.mw-stat-accent{grid-column:span 2;order:-1}.mw-chip-time{display:none}.mw-tag-text{flex-direction:column;gap:0}.mw-btn{flex:1 1 auto;justify-content:center}}@media (prefers-reduced-motion:reduce){.mw-blink,.mw-marquee-track,.mw-ring{animation:none!important}}.mw-oops{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;overflow:hidden}.mw-oops-code{font-size:clamp(7rem,30vw,20rem);line-height:.8;letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1px var(--mw-line-strong);user-select:none}.mw-oops-code,.mw-oops-title{font-family:var(--mw-font-display),sans-serif;font-weight:800}.mw-oops-title{margin-top:28px;font-size:clamp(1.8rem,5vw,3rem);letter-spacing:-.04em;line-height:1.05}.mw-oops-en{margin-top:8px;font-family:var(--mw-font-mono),monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mw-faint)}.mw-oops-text{max-width:38ch;margin-top:18px;color:var(--mw-muted);font-size:16px}.mw-oops-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:32px}.mw-gift{position:relative;width:.62em;height:.62em;margin-left:.22em;vertical-align:.02em;display:inline-grid;place-items:center;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;flex-shrink:0}.mw-gift-mode-tooltip,.mw-status{cursor:default}.mw-status-repaint svg path{fill:var(--mw-fg)}.mw-gift-anim{display:block;width:100%;height:100%}.mw-gift-anim svg{display:block}.mw-gift:focus-visible{outline:2px solid var(--mw-accent);outline-offset:4px;border-radius:10px}.mw-gift-tip{position:absolute;top:calc(100% + 10px);left:50%;z-index:60;display:flex;flex-direction:column;gap:2px;padding:9px 13px;border:1px solid var(--mw-line-strong);border-radius:14px;background:var(--mw-card);box-shadow:0 12px 32px rgba(0,0,0,.35);font-family:var(--mw-font-body),sans-serif;font-size:13px;font-weight:400;line-height:1.35;letter-spacing:0;text-align:left;white-space:nowrap;color:var(--mw-muted);opacity:0;pointer-events:none;transform:translate(-50%,-4px);transition:opacity .2s,transform .2s var(--mw-ease)}.mw-gift-tip b{font-weight:600;color:var(--mw-fg)}.mw-gift:focus .mw-gift-tip,.mw-gift:hover .mw-gift-tip{opacity:1;transform:translate(-50%)}.mw-gift-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.62);backdrop-filter:blur(6px);animation:mw-gift-fade .2s ease both}.mw-gift-card{position:relative;width:min(380px,100%);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--mw-line-strong);border-radius:28px;background:var(--mw-card);box-shadow:0 30px 80px rgba(0,0,0,.5);animation:mw-gift-pop .3s var(--mw-ease) both}.mw .mw-gift-close{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:rgba(0,0,0,.22);color:#fff;font-size:20px;line-height:1;cursor:pointer}.mw-gift-hero{position:relative;aspect-ratio:3/2;overflow:hidden}.mw-gift-bg{position:absolute;inset:0;width:100%;height:100%}.mw-gift-model{position:absolute;top:4%;left:50%;width:40%;aspect-ratio:1;transform:translateX(-50%)}.mw-gift-title{left:0;right:0;bottom:17%;text-align:center;font-family:var(--mw-font-display),sans-serif;font-size:22px;font-weight:600}.mw-gift-num,.mw-gift-title{position:absolute;color:#fff}.mw-gift-num{left:50%;bottom:6%;transform:translateX(-50%);padding:3px 11px;border-radius:999px;font-size:13px;white-space:nowrap}.mw-gift-table{width:calc(100% - 36px);margin:16px 18px 4px;border-collapse:collapse;font-size:14px}.mw-gift-table td,.mw-gift-table th{padding:10px 0;border-top:1px solid var(--mw-line);text-align:left;vertical-align:baseline}.mw-gift-table tr:first-child td,.mw-gift-table tr:first-child th{border-top:0}.mw-gift-table th{width:38%;font-weight:400;color:var(--mw-faint)}.mw-gift-table td{color:var(--mw-fg);font-weight:500}.mw-gift-table mark{margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--mw-accent-soft);color:var(--mw-accent);font-family:var(--mw-font-mono),monospace;font-size:11px;font-weight:500}.mw .mw-gift-open{display:flex;align-items:center;justify-content:center;height:48px;margin:12px 18px 18px;border-radius:999px;background:var(--mw-accent);color:var(--mw-on-accent);font-weight:600;font-size:15px;transition:transform .25s var(--mw-ease)}.mw .mw-gift-open:hover{transform:translateY(-1px)}.mw-gift-overlay.closing{animation:mw-gift-fade-out .2s ease both;pointer-events:none}.mw-gift-overlay.closing .mw-gift-card{animation:mw-gift-pop-out .2s ease both}@keyframes mw-gift-fade{0%{opacity:0}to{opacity:1}}@keyframes mw-gift-fade-out{0%{opacity:1}to{opacity:0}}@keyframes mw-gift-pop-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(12px) scale(.97)}}@keyframes mw-gift-pop{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.mw-gift-card,.mw-gift-overlay{animation:none}}.mw-player{max-width:520px;margin-top:22px;padding:12px;border:1px solid var(--mw-line);border-radius:22px;background:var(--mw-card)}.mw-player-now{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px}.mw-music-cover{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;overflow:hidden;border-radius:10px;background:var(--mw-accent-soft);color:var(--mw-accent)}.mw-music-cover.big{width:56px;height:56px;border-radius:14px}.mw-music-cover img{width:100%;height:100%;object-fit:cover;display:block}.mw-music-cover svg{width:45%;height:45%}.mw-player-main{min-width:0}.mw-player-meta{display:flex;align-items:baseline;gap:8px;min-width:0;margin-bottom:8px}.mw-player-meta b{flex-shrink:1;font-weight:600;font-size:15px}.mw-player-meta b,.mw-player-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mw-player-meta span{flex-shrink:2;color:var(--mw-muted);font-size:13px}.mw .mw-music-play{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;background:var(--mw-accent);color:var(--mw-on-accent);transition:transform .25s var(--mw-ease)}.mw .mw-music-play:hover{transform:scale(1.05)}.mw-music-play svg{width:19px;height:19px}.mw-music-bar{position:relative;height:5px;border-radius:999px;background:var(--mw-line-strong);cursor:pointer;overflow:hidden}.mw-music-bar span{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--mw-accent)}.mw-music-times{display:flex;justify-content:space-between;margin-top:5px;font-family:var(--mw-font-mono),monospace;font-size:11px;color:var(--mw-faint);font-variant-numeric:tabular-nums}.mw .mw-player-more{display:flex;align-items:center;gap:8px;width:100%;margin-top:10px;padding:8px 6px 2px;border-top:1px solid var(--mw-line);font-size:13px;color:var(--mw-muted);transition:color .2s}.mw .mw-player-more:hover{color:var(--mw-fg)}.mw-player-count{padding:0 7px;border-radius:999px;background:var(--mw-accent-soft);color:var(--mw-accent);font-family:var(--mw-font-mono),monospace;font-size:11px}.mw-player-chev{margin-left:auto;transition:transform .3s var(--mw-ease)}.mw-player.open .mw-player-chev{transform:rotate(180deg)}.mw-player-fold{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--mw-ease)}.mw-player.lyrics>.mw-lyrics-fold,.mw-player.open>.mw-player-fold:not(.mw-lyrics-fold){grid-template-rows:1fr}.mw-player-fold>*{overflow:hidden;min-height:0}.mw-music-list{list-style:none;display:flex;flex-direction:column;gap:2px;margin:0;padding:0}.mw-player.open .mw-music-list{padding-top:6px}.mw .mw-music-list button{display:flex;align-items:center;gap:12px;width:100%;padding:6px 8px 6px 6px;border-radius:12px;text-align:left;transition:background .2s}.mw .mw-music-list button:hover{background:var(--mw-card-hover)}.mw-music-row{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.3}.mw-music-row b{font-size:14px;font-weight:600}.mw-music-row b,.mw-music-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mw-music-row span{font-size:13px;color:var(--mw-muted)}.mw-music-dur{font-family:var(--mw-font-mono),monospace;font-size:12px;color:var(--mw-faint)}@media (max-width:760px){.mw-player{max-width:none}.mw-player-meta{flex-direction:column;gap:0;align-items:flex-start}.mw-player-meta b,.mw-player-meta span{max-width:100%}}.mw-player-actions{display:flex;align-items:center;gap:8px}.mw .mw-player-lyrics-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--mw-line-strong);border-radius:999px;font-size:13px;color:var(--mw-muted);transition:background .2s,color .2s,border-color .2s}.mw .mw-player-lyrics-btn:hover{color:var(--mw-fg)}.mw .mw-player-lyrics-btn.on{background:var(--mw-accent-soft);border-color:transparent;color:var(--mw-accent)}.mw-player-lyrics-btn svg{width:15px;height:15px}.mw-lyrics{position:relative;height:108px;margin-top:12px;overflow:hidden;mask-image:linear-gradient(180deg,transparent,#000 28%,#000 72%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 28%,#000 72%,transparent)}.mw-player-fold>*{opacity:0;transform:translateY(-6px);transition:opacity .25s,transform .35s var(--mw-ease)}.mw-player.lyrics>.mw-lyrics-fold>*,.mw-player.open>.mw-player-fold:not(.mw-lyrics-fold)>*{opacity:1;transform:none;transition:opacity .3s .08s,transform .35s var(--mw-ease)}.mw-lyrics-track{will-change:transform;animation:mw-lyrics-in .4s var(--mw-ease)}.mw-lyrics-track.ready{transition:transform .5s var(--mw-ease)}@keyframes mw-lyrics-in{0%{opacity:0}to{opacity:1}}.mw-lyrics p{margin:0;padding:3px 6px;font-size:15px;line-height:1.35;color:var(--mw-faint);cursor:pointer;transform-origin:left center;transition:color .3s,transform .3s var(--mw-ease)}.mw-lyrics p:hover{color:var(--mw-muted)}.mw-lyrics p.on{color:var(--mw-fg);font-weight:600;transform:scale(1.04)}.mw-lyrics-skeleton{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:0 6px}.mw-lyrics-skeleton span{display:block;height:10px;border-radius:999px;background:linear-gradient(90deg,var(--mw-line) 25%,var(--mw-line-strong) 50%,var(--mw-line) 75%) 0 0 /300% 100%;animation:mw-shimmer 1.4s linear infinite}.mw-lyrics-skeleton span:first-child{width:46%}.mw-lyrics-skeleton span:nth-child(2){width:68%;height:12px}.mw-lyrics-skeleton span:nth-child(3){width:38%}@keyframes mw-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.mw-lyrics-note{padding:2px 6px 0;font-family:var(--mw-font-mono),monospace;font-size:10px;color:var(--mw-faint)}@media (prefers-reduced-motion:reduce){.mw-lyrics p,.mw-lyrics-track,.mw-lyrics-track.ready,.mw-player-fold,.mw-player-fold>*{transition:none;animation:none}.mw-lyrics-skeleton span{animation:none}}@media (max-width:760px){.mw .mw-player-lyrics-btn{width:34px;padding:0;justify-content:center}.mw-player-lyrics-btn span{display:none}}.mw-uptime-big{font-family:var(--mw-font-display),sans-serif;font-size:clamp(3.4rem,7vw,5.4rem);font-weight:700;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}.mw-uptime-bars{display:flex;align-items:stretch;gap:3px;height:38px}.mw-uptime-bar{flex:1;min-width:2px;border-radius:3px;background:var(--mw-line-strong);transition:transform .2s var(--mw-ease),opacity .2s}.mw-uptime-bar.ok{background:#3fb950}.mw-uptime-bar.minor{background:#c9d34a}.mw-uptime-bar.major{background:#e3a13a}.mw-uptime-bar.down{background:#f85149}.mw-uptime-bars:hover .mw-uptime-bar{opacity:.55}.mw-uptime-bars .mw-uptime-bar.hot{opacity:1;transform:scaleY(1.12)}.mw-uptime-caption{display:flex;justify-content:space-between;font-family:var(--mw-font-mono),monospace;font-size:11px;color:var(--mw-faint)}.mw-uptime-hover{color:var(--mw-fg)}.mw-uptime-head{display:flex;flex-direction:column;gap:18px}@media (max-width:760px){.mw-c-uptime,.mw-uptime-head{gap:14px}.mw-uptime-big{font-size:3rem}.mw-uptime-bars{gap:2px;height:28px}.mw-c-uptime .mw-now-row{display:none}}.mw-toast{position:fixed;right:24px;bottom:24px;z-index:60;width:min(380px,calc(100vw - 32px));padding:16px 18px 18px;overflow:hidden;border:1px solid var(--mw-line-strong);border-radius:var(--mw-radius-sm);background:var(--mw-card);box-shadow:0 18px 50px rgba(0,0,0,.45);animation:mw-toast-in .45s var(--mw-ease) both}.mw-toast.out{animation:mw-toast-out .35s var(--mw-ease) both}.mw-toast-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.mw-toast-title{font-family:var(--mw-font-mono),monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mw-faint)}.mw .mw-toast-close{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:var(--mw-muted);transition:color .2s,background .2s}.mw .mw-toast-close:hover{color:var(--mw-fg);background:var(--mw-card-hover)}.mw-toast-close svg{width:12px;height:12px}.mw-toast p{margin:0;font-size:14px;line-height:1.5;color:var(--mw-muted)}.mw-toast b{color:var(--mw-fg);font-weight:600}.mw-toast-timer{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--mw-accent);transform-origin:left;animation:mw-toast-timer 5s linear forwards}.mw-toast:hover .mw-toast-timer{animation-play-state:paused}@keyframes mw-toast-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes mw-toast-out{to{opacity:0;transform:translateY(16px)}}@keyframes mw-toast-timer{to{transform:scaleX(0)}}@media (max-width:760px){.mw-toast{right:16px;bottom:16px}}@media (prefers-reduced-motion:reduce){.mw-toast,.mw-toast.out{animation-duration:.01s}}