@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"LINE Seed JP", "Hiragino Sans", "Noto Sans JP", sans-serif;--font-mono:"M PLUS 1 Code", "Cascadia Code", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-bold:700;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Space Grotesk", sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.min-h-screen{min-height:100vh}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-16{padding-block:calc(var(--spacing) * 16)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.uppercase{text-transform:uppercase}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (min-width:40rem){.sm\:px-10{padding-inline:calc(var(--spacing) * 10)}.sm\:py-20{padding-block:calc(var(--spacing) * 20)}}}:root{--bg-base:#0a0e1a;--aurora-1:#1e3a8a;--aurora-2:#7c3aed;--aurora-3:#0d9488;--mx:50%;--my:50%;--text:#f1f5f9;--text-sub:#94a3b8;--heading:#fff;--brand:#a78bfa;--accent:#67e8f9;--accent-hover:#a5f3fc;--highlight:#f472b6;--glass-bg:#0a0e1a8c;--glass-bg-strong:#0a0e1ab3;--glass-bg-soft:#0a0e1a59;--glass-border:#ffffff1a;--glass-border-strong:#ffffff2e;--code-bg:#020617b3;--theme-bg:transparent;--theme-surface:var(--glass-bg);--theme-border:var(--glass-border);--theme-text:var(--text);--theme-text-sub:var(--text-sub);--theme-accent:var(--accent);--theme-accent-hover:var(--accent-hover);--theme-code-bg:var(--code-bg);--theme-heading:var(--heading);--theme-brand:var(--brand);--theme-highlight:var(--highlight)}html[data-light]{--bg-base:#f5f3ff;--aurora-1:#c7d2fe;--aurora-2:#fbcfe8;--aurora-3:#a7f3d0;--text:#1e293b;--text-sub:#64748b;--heading:#0f172a;--brand:#6d28d9;--accent:#0891b2;--accent-hover:#06b6d4;--highlight:#db2777;--glass-bg:#f5f3ffc7;--glass-bg-strong:#f5f3ffe0;--glass-bg-soft:#f5f3ff9e;--glass-border:#fff9;--glass-border-strong:#0f172a14;--code-bg:#f5f3ffd9}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background:var(--bg-base);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scrollbar-width:none;font-size:clamp(15px,1vw + 12px,17px);overflow-x:clip}@media (pointer:coarse){html{scroll-snap-type:y proximity}[data-snap]{scroll-snap-align:start}}html::-webkit-scrollbar{display:none}body{scrollbar-width:none}body::-webkit-scrollbar{display:none}html[data-light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{font-family:var(--font-sans);letter-spacing:.01em;color:var(--text);min-height:100vh;font-size:1rem;line-height:1.75;transition:color .3s;position:relative}body:before{content:"";z-index:-3;background:radial-gradient(ellipse 55vmax 45vmax at 18% 28%, var(--aurora-1) 0%, transparent 62%), radial-gradient(ellipse 50vmax 55vmax at 82% 18%, var(--aurora-2) 0%, transparent 58%), radial-gradient(ellipse 70vmax 40vmax at 50% 82%, var(--aurora-3) 0%, transparent 60%), var(--bg-base);filter:blur(60px)saturate(125%);opacity:.7;animation:36s ease-in-out infinite alternate aurora-drift;position:fixed;inset:-25vmax}html[data-light] body:before{opacity:.55}body:after{content:"";z-index:-2;pointer-events:none;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");position:fixed;inset:0}html[data-light] body:after{opacity:.04}@keyframes aurora-drift{0%{transform:translate(0)rotate(0)scale(1)}50%{transform:translate(3%,-2%)rotate(2deg)scale(1.04)}to{transform:translate(-2%,3%)rotate(-1deg)scale(.98)}}@media (prefers-reduced-motion:reduce){body:before{animation:none}}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px)saturate(140%);border:1px solid var(--glass-border);border-radius:16px}.glass-strong{background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(28px)saturate(160%);border:1px solid var(--glass-border-strong);border-radius:16px}.glass-soft{background:var(--glass-bg-soft);-webkit-backdrop-filter:blur(14px)saturate(130%);border:1px solid var(--glass-border);border-radius:12px}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px)saturate(140%);border:1px solid var(--glass-border);border-radius:16px;transition:transform .3s,border-color .3s,background .3s}.glass-card:hover{border-color:var(--glass-border-strong);background:var(--glass-bg-strong);transform:translateY(-2px)}.jelly-card{isolation:isolate;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px)saturate(140%);border:1px solid var(--glass-border);color:inherit;border-radius:16px;text-decoration:none;display:block;position:relative;overflow:hidden}.jelly-card:before{content:"";border-radius:inherit;background:radial-gradient(var(--sheen-size,280px) circle at var(--sx,50%) var(--sy,50%), #ffffff2e 0%, #a78bfa1a 35%, transparent 70%);opacity:var(--sheen-opacity,0);pointer-events:none;z-index:0;transition:opacity .4s;position:absolute;inset:0}html[data-light] .jelly-card:before{background:radial-gradient(var(--sheen-size,280px) circle at var(--sx,50%) var(--sy,50%), #fff9 0%, #7c3aed14 40%, transparent 70%)}.jelly-card:hover{border-color:var(--glass-border-strong)}.jelly-card>*{z-index:1;position:relative}@media (prefers-reduced-motion:reduce){.jelly-card{transition:none!important}.jelly-card:before{display:none}}.prose{max-width:none;color:var(--text);letter-spacing:.02em;word-break:auto-phrase;overflow-wrap:break-word;font-size:1rem;line-height:1.85}.prose h1{color:var(--heading);letter-spacing:-.01em;margin-top:2.5rem;margin-bottom:1rem;font-size:clamp(1.5rem,4vw,2rem);font-weight:700;line-height:1.3}.prose h2{color:var(--brand);letter-spacing:-.005em;margin-top:2.5rem;margin-bottom:.75rem;font-size:clamp(1.25rem,3vw,1.5rem);font-weight:700;line-height:1.35}.prose h3{color:var(--heading);margin-top:2rem;margin-bottom:.5rem;font-size:clamp(1.1rem,2.5vw,1.25rem);font-weight:600;line-height:1.4}.prose p{margin:1.25em 0}.prose ul{margin:1.25em 0;padding-left:1.5em;list-style:outside}.prose ol{margin:1.25em 0;padding-left:1.5em;list-style:decimal}.prose li{margin:.35em 0;line-height:1.75}.prose li>ul,.prose li>ol{margin:.25em 0}.prose a{color:var(--accent);text-underline-offset:.15em;text-decoration:underline}.prose a:hover{color:var(--accent-hover)}.prose blockquote{border-left:3px solid var(--highlight);color:var(--text-sub);margin:1.5em 0;padding-left:1.25em;font-style:italic;line-height:1.7}.prose table{border-collapse:collapse;width:100%;margin:1.5em 0;font-size:.9em;line-height:1.5}.prose th{border:1px solid var(--glass-border);background:var(--glass-bg);text-align:left;padding:.5em .75em;font-weight:600}.prose td{border:1px solid var(--glass-border);padding:.5em .75em}.prose pre{font-family:var(--font-mono);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:.75rem;margin:1.5em 0;padding:1em;font-size:.85em;line-height:1.6;overflow-x:auto;background:var(--code-bg)!important}.prose code{font-family:var(--font-mono)}.prose code:not(pre code){background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-radius:.25em;padding:.15em .4em;font-size:.875em}.prose img{border:1px solid var(--glass-border);border-radius:.75rem;max-width:100%;height:auto;margin:1.5em 0}.prose hr{border:none;border-top:1px solid var(--glass-border);margin:2.5em 0}.prose strong{color:var(--accent)}.heading-anchor{color:var(--glass-border-strong);opacity:0;margin-right:.4em;font-size:.85em;font-weight:400;text-decoration:none;transition:opacity .2s}.prose h1:hover .heading-anchor,.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor{opacity:1}.prose h1:target,.prose h2:target,.prose h3:target{scroll-margin-top:5rem}.toc a{transition:color .2s}.toc a:hover{color:var(--brand)!important}.tag-btn{background:var(--glass-bg);color:var(--text-sub);border:1px solid var(--glass-border);cursor:pointer;-webkit-backdrop-filter:blur(10px);transition:all .2s}.tag-btn:hover{background:var(--glass-bg-strong);color:var(--text)}.tag-btn.active{background:var(--brand);color:var(--bg-base);border-color:var(--brand)}html[data-light] .tag-btn.active{color:#fff}#theme-icon-moon{display:none!important}#theme-icon-sun,html[data-light] #theme-icon-moon{display:block!important}html[data-light] #theme-icon-sun{display:none!important}.post-title{color:var(--heading);transition:color .2s}.group:hover .post-title{color:var(--brand)}.shiki,.shiki span{color:var(--shiki-dark)!important;background-color:#0000!important}html[data-light] .shiki,html[data-light] .shiki span{color:var(--shiki-light)!important}.scroll-mt-header{scroll-margin-top:5rem}::selection{background:var(--brand);color:var(--bg-base)}.custom-cursor-active,.custom-cursor-active *{cursor:none!important}.custom-cursor-dot,.custom-cursor-ring{pointer-events:none;z-index:9999;mix-blend-mode:difference;will-change:transform, width, height;opacity:0;transition:opacity .2s,width .3s cubic-bezier(.22,1,.36,1),height .3s cubic-bezier(.22,1,.36,1),border-color .3s,background .3s;position:fixed;top:0;left:0}.custom-cursor-dot.visible,.custom-cursor-ring.visible{opacity:1}.custom-cursor-dot{background:#fff;border-radius:50%;width:6px;height:6px}.custom-cursor-dot.hover{background:0 0;width:0;height:0}.custom-cursor-ring{background:0 0;border:1px solid #fff;border-radius:50%;width:32px;height:32px}.custom-cursor-ring.hover{background:#ffffff14;border-color:#fff9;width:56px;height:56px}.nav-link:hover{color:var(--text);background:var(--glass-bg)}section[id]{scroll-margin-top:6rem}.hero-letter{background:linear-gradient(135deg, var(--brand) 0%, var(--accent) 50%, var(--highlight) 100%) fixed;-webkit-text-fill-color:transparent;color:#0000;clip-path:inset(110% 0 -10%);opacity:0;will-change:clip-path, transform, opacity;-webkit-background-clip:text;background-clip:text;animation:1.2s cubic-bezier(.22,1,.36,1) forwards hero-letter-reveal;display:inline-block;transform:translateY(.35em)}@keyframes hero-letter-reveal{0%{clip-path:inset(110% 0 -10%);opacity:0;transform:translateY(.35em)}60%{opacity:1}to{clip-path:inset(-10% 0);opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hero-letter{clip-path:none;opacity:1;animation:none;transform:none}}.hero-scroll-indicator{opacity:0;cursor:none;flex-direction:column;align-items:center;gap:.85rem;text-decoration:none;animation:.9s cubic-bezier(.22,1,.36,1) 2.2s forwards hero-fade-up;display:flex;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}.hero-scroll-text{color:var(--text-sub);letter-spacing:.4em;font-size:.65rem;font-family:var(--font-mono);text-transform:uppercase;padding-left:.4em;transition:color .3s}.hero-scroll-indicator:hover .hero-scroll-text{color:var(--text)}.hero-scroll-line{background:linear-gradient(to bottom, transparent 0%, var(--text-sub) 30%, var(--text-sub) 70%, transparent 100%);opacity:.5;width:1px;height:60px;position:relative;overflow:hidden}.hero-scroll-dot{background:linear-gradient(to bottom, transparent 0%, var(--brand) 50%, transparent 100%);width:1px;height:16px;animation:2.4s cubic-bezier(.65,0,.35,1) infinite scroll-dot-travel;position:absolute;top:0;left:0}@keyframes scroll-dot-travel{0%{opacity:0;transform:translateY(-16px)}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translateY(60px)}}@media (prefers-reduced-motion:reduce){.hero-scroll-dot{opacity:.6;animation:none;transform:translateY(20px)}.hero-scroll-indicator{opacity:1;animation:none}}.hero-subtitle,.hero-tagline{opacity:0;animation:.9s cubic-bezier(.22,1,.36,1) forwards hero-fade-up;transform:translateY(18px)}.hero-subtitle{animation-delay:1.5s}.hero-tagline{animation-delay:1.8s}@keyframes hero-fade-up{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hero-subtitle,.hero-tagline{opacity:1;animation:none;transform:none}}.hscroll-sticky{opacity:calc(1 - var(--curtain,0));transition:opacity 50ms linear}.hscroll-header{z-index:10;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:2rem;left:2.5rem;right:2.5rem}.hscroll-label{color:var(--text-sub);letter-spacing:.3em;font-size:.78rem;font-family:var(--font-display);text-transform:uppercase}.hscroll-progress{color:var(--text-sub);font-size:.78rem;font-family:var(--font-mono);letter-spacing:.1em;align-items:center;gap:.4rem;display:flex}.hscroll-progress-num{color:var(--text);transition:color .3s}.role-panel{box-sizing:border-box;flex-direction:column;flex:none;justify-content:center;width:100vw;height:100vh;padding:6rem 8vw;display:flex;position:relative;overflow:hidden}.role-panel-bgnum{font-size:clamp(16rem,42vw,52rem);font-family:var(--font-display);color:var(--text);opacity:0;letter-spacing:-.05em;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:700;line-height:.75;transition:opacity 1.2s cubic-bezier(.22,1,.36,1) .2s,transform 1.2s cubic-bezier(.22,1,.36,1) .2s;position:absolute;bottom:-2vw;right:3vw;transform:translateY(20px)}.role-panel[data-active=true] .role-panel-bgnum{opacity:.05;transform:translateY(0)}.role-panel-meta{font-family:var(--font-mono);letter-spacing:.15em;opacity:0;align-items:center;gap:.85rem;margin-bottom:2rem;font-size:.78rem;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);display:flex;transform:translateY(12px)}.role-panel[data-active=true] .role-panel-meta{opacity:1;transform:translateY(0)}.role-panel-meta-line{background:var(--brand);width:0;height:1px;transition:width .9s cubic-bezier(.22,1,.36,1) .2s;display:inline-block}.role-panel[data-active=true] .role-panel-meta-line{width:36px}.role-panel-meta-num{color:var(--brand);font-weight:500}.role-panel-meta-total{color:var(--text-sub)}.role-panel-name{font-size:clamp(2.5rem,9vw,7.5rem);font-weight:600;font-family:var(--font-display);letter-spacing:-.04em;margin-bottom:2rem;line-height:.95;position:relative;overflow:hidden}.role-panel-name-inner{background:linear-gradient(135deg, var(--brand) 0%, var(--accent) 60%, var(--highlight) 100%) fixed;-webkit-text-fill-color:transparent;color:#0000;clip-path:inset(110% 0 -10%);-webkit-background-clip:text;background-clip:text;transition:clip-path 1s cubic-bezier(.22,1,.36,1) .15s,transform 1s cubic-bezier(.22,1,.36,1) .15s;display:inline-block;transform:translateY(.4em)}.role-panel[data-active=true] .role-panel-name-inner{clip-path:inset(-10% 0);transform:translateY(0)}.role-panel-desc{color:var(--text);opacity:0;max-width:38rem;font-size:clamp(.95rem,1.4vw,1.15rem);line-height:1.75;transition:opacity .8s cubic-bezier(.22,1,.36,1) .35s,transform .8s cubic-bezier(.22,1,.36,1) .35s;transform:translateY(15px)}.role-panel[data-active=true] .role-panel-desc{opacity:1;transform:translateY(0)}.role-panel-tags{flex-wrap:wrap;gap:.5rem;margin-top:2rem;display:flex}.role-panel-tag{color:var(--text-sub);border:1px solid var(--glass-border);background:var(--glass-bg-soft);-webkit-backdrop-filter:blur(10px);font-size:.75rem;font-family:var(--font-mono);letter-spacing:.05em;opacity:0;border-radius:999px;padding:.35rem .85rem;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);transform:translateY(10px)}.role-panel[data-active=true] .role-panel-tag{opacity:1;transform:translateY(0)}.role-panel-content{z-index:1;max-width:56rem;position:relative}.hscroll-dots{z-index:10;pointer-events:none;gap:.6rem;display:flex;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}.hscroll-dot{background:var(--text-sub);opacity:.3;border-radius:50%;width:6px;height:6px;transition:opacity .3s,transform .3s,background .3s}.hscroll-dot.active{opacity:1;background:var(--brand);transform:scale(1.4)}.curtain-wrapper{z-index:5;background:0 0;margin-top:-100vh;position:relative}.dyn-container{flex-direction:column;gap:12rem;width:100%;max-width:min(82rem,100%);margin:0 auto;padding:6rem 2rem;display:flex}.reveal{opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transform:translateY(40px)}.reveal.is-revealed{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{transition:none}}.dyn-section{scroll-margin-top:4rem;position:relative}.dyn-section-header{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:1rem;margin-bottom:2rem;font-size:.78rem;display:flex}.dyn-section-num{color:var(--brand);font-weight:600}.dyn-section-line{background:linear-gradient(90deg, var(--brand), transparent);width:64px;height:1px;display:inline-block}.dyn-section-label{color:var(--text-sub)}.dyn-heading{font-family:var(--font-display);letter-spacing:-.04em;color:var(--heading);margin-bottom:4rem;font-size:clamp(2.5rem,7.5vw,6rem);font-weight:600;line-height:.98}.dyn-heading-grad{background:linear-gradient(135deg, var(--brand) 0%, var(--accent) 60%, var(--highlight) 100%) fixed;-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.dyn-heading-count{font-family:var(--font-mono);color:var(--text-sub);letter-spacing:.1em;vertical-align:super;font-size:.35em;font-weight:400}.word-flip{perspective:1200px;vertical-align:top;display:inline-block}.word-flip-word{opacity:0;transform-origin:50% 100%;will-change:transform, opacity;transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);display:inline-block;transform:rotateX(75deg)translateY(.4em)}.word-flip.is-revealed .word-flip-word{opacity:1;transform:rotateX(0)translateY(0)}.dyn-heading-grad .word-flip-word{background:linear-gradient(135deg, var(--brand) 0%, var(--accent) 60%, var(--highlight) 100%) fixed;-webkit-background-clip:text;background-clip:text}@media (prefers-reduced-motion:reduce){.word-flip-word{opacity:1;transition:none;transform:none}}.scramble-text{font-family:var(--font-mono);letter-spacing:.03em;display:inline-block}.dyn-profile-bio p{opacity:0;margin-bottom:1.25rem;transition:opacity .95s cubic-bezier(.22,1,.36,1),transform .95s cubic-bezier(.22,1,.36,1)}.dyn-profile-bio p:first-child{transform:translate(-40px)}.dyn-profile-bio p:nth-child(2){transition-delay:.18s;transform:translate(40px)}.dyn-profile-bio.is-revealed p{opacity:1;transform:translate(0)}@media (prefers-reduced-motion:reduce){.dyn-profile-bio p{opacity:1;transition:none;transform:none}}.dyn-profile-grid{grid-template-columns:1.6fr 1fr;gap:4rem;display:grid}@media (max-width:768px){.dyn-profile-grid{grid-template-columns:1fr;gap:2.5rem}}.dyn-profile-bio p{color:var(--text);margin-bottom:1.25rem;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.85}.dyn-profile-bio p:last-child{color:var(--text-sub)}.dyn-profile-meta dl{flex-direction:column;gap:1rem;display:flex}.dyn-profile-meta dl>div{border-bottom:1px solid var(--glass-border);align-items:baseline;gap:1.5rem;padding-bottom:1rem;display:flex}.dyn-profile-meta dl>div:last-child{border-bottom:none}.dyn-profile-meta dt{font-family:var(--font-mono);letter-spacing:.2em;color:var(--text-sub);flex:0 0 4.5rem;font-size:.7rem}.dyn-profile-meta dd{font-family:var(--font-display);color:var(--text);margin:0;font-size:1rem}.works-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem;display:grid}.work-card{isolation:isolate;background:radial-gradient(75% 60% at 15% 10%, rgba(var(--card-accent,167, 139, 250), .32) 0%, transparent 65%), radial-gradient(60% 70% at 90% 90%, rgba(var(--card-accent,167, 139, 250), .22) 0%, transparent 60%), var(--glass-bg);-webkit-backdrop-filter:blur(20px)saturate(140%);border:1px solid var(--glass-border);cursor:pointer;text-align:left;min-height:16rem;color:inherit;font:inherit;transform-style:preserve-3d;transform:perspective(1000px) translateY(var(--lift,0px)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));will-change:transform;border-radius:18px;flex-direction:column;padding:1.75rem 1.6rem 1.5rem;transition:transform .55s cubic-bezier(.22,1.1,.36,1),border-color .3s,background .3s;display:flex;position:relative;overflow:hidden}.work-card:hover{background:radial-gradient(75% 60% at 15% 10%, rgba(var(--card-accent,167, 139, 250), .42) 0%, transparent 65%), radial-gradient(60% 70% at 90% 90%, rgba(var(--card-accent,167, 139, 250), .3) 0%, transparent 60%), var(--glass-bg-strong);border-color:var(--glass-border-strong)}.work-card:focus-visible{outline:2px solid var(--brand);outline-offset:4px}.work-card:before{content:"";border-radius:inherit;background:radial-gradient(var(--sheen-size,300px) circle at var(--sx,50%) var(--sy,50%), #ffffff29 0%, #a78bfa1a 35%, transparent 70%);opacity:var(--sheen-opacity,0);pointer-events:none;z-index:0;transition:opacity .4s;position:absolute;inset:0}.work-card-index-bg{font-family:var(--font-display);color:var(--text);opacity:.05;pointer-events:none;z-index:0;font-size:8rem;font-weight:700;line-height:.8;position:absolute;bottom:-1.5rem;right:-.5rem}.work-card>*{z-index:1;position:relative}.work-card-top{justify-content:space-between;align-items:baseline;margin-bottom:1.5rem;display:flex}.work-card-index{font-family:var(--font-mono);letter-spacing:.2em;color:var(--brand);font-size:.78rem;font-weight:500}.work-card-tag{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);border:1px solid var(--glass-border);border-radius:999px;padding:.22rem .65rem;font-size:.65rem}.work-card-name{font-family:var(--font-display);color:var(--heading);letter-spacing:-.02em;margin-bottom:1rem;font-size:1.35rem;font-weight:600;line-height:1.2}.work-card-thumb{aspect-ratio:16/9;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);background:var(--glass-bg-soft);width:calc(100% + 3.2rem);margin-bottom:1.25rem;margin-left:-1.6rem;margin-right:-1.6rem;position:relative;overflow:hidden}.work-card-img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.22,1,.36,1);display:block}.work-card:hover .work-card-img{transform:scale(1.04)}.work-card-placeholder{background:radial-gradient(60% 80% at 30% 30%, var(--brand) 0%, transparent 60%), radial-gradient(60% 80% at 80% 70%, var(--accent) 0%, transparent 65%), linear-gradient(135deg, #a78bfa26, #67e8f926);filter:saturate(120%);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.work-card-placeholder[data-tag=App]{background:radial-gradient(70% 90% at 25% 35%, var(--brand) 0%, transparent 55%), radial-gradient(60% 80% at 80% 75%, var(--accent) 0%, transparent 60%)}.work-card-placeholder[data-tag=Web]{background:radial-gradient(70% 90% at 30% 40%, var(--accent) 0%, transparent 55%), radial-gradient(60% 80% at 75% 70%, var(--highlight) 0%, transparent 60%)}.work-card-placeholder[data-tag=Client]{background:radial-gradient(70% 90% at 25% 25%, var(--highlight) 0%, transparent 60%), radial-gradient(60% 80% at 80% 80%, var(--brand) 0%, transparent 60%)}.work-card-placeholder[data-tag=Data]{background:radial-gradient(70% 90% at 30% 30%, var(--accent) 0%, transparent 60%), radial-gradient(60% 80% at 80% 75%, var(--brand) 0%, transparent 65%)}.work-card-placeholder:before{content:"";opacity:.15;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");position:absolute;inset:0}.work-card-placeholder-name{font-family:var(--font-display);letter-spacing:-.02em;color:#ffffffd9;text-shadow:0 2px 16px #00000080;z-index:1;font-size:1.6rem;font-weight:600;position:relative}.work-card-foot{justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;display:flex}.work-card-tech{flex-wrap:wrap;flex:1;gap:.4rem;min-width:0;display:flex}.work-card-tech-pill{font-size:.68rem;font-family:var(--font-mono);color:var(--text-sub);background:var(--glass-bg-soft);border:1px solid var(--glass-border);letter-spacing:.02em;border-radius:999px;padding:.2rem .55rem}.work-card-tech-more{font-size:.68rem;font-family:var(--font-mono);color:var(--text-sub);letter-spacing:.05em;padding:.2rem .55rem}.work-card-cta{font-family:var(--font-mono);color:var(--accent);letter-spacing:.05em;opacity:.7;flex-shrink:0;align-items:center;gap:.4rem;font-size:.78rem;transition:opacity .3s,gap .3s;display:flex}.work-card:hover .work-card-cta{opacity:1;gap:.7rem}.work-card-arrow{transition:transform .4s cubic-bezier(.22,1,.36,1);display:inline-block}.work-card:hover .work-card-arrow{transform:translate(4px)}.work-modal{z-index:200;opacity:0;pointer-events:none;isolation:isolate;background:#0a0e1a8c;justify-content:stretch;align-items:stretch;width:100vw;height:100vh;padding:0;transition:opacity .4s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;inset:0;overflow:hidden}.work-modal:before{content:"";background-image:var(--modal-bg-image,none);filter:blur(80px)saturate(160%);z-index:-1;opacity:.9;pointer-events:none;background-position:50%;background-size:cover;position:absolute;inset:-80px;transform:scale(1.1)}html[data-light] .work-modal{background:#f5f3ff8c}.work-modal.open{opacity:1;pointer-events:auto}.work-modal-content{box-sizing:border-box;opacity:0;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;width:100vw;max-width:none;height:100vh;max-height:none;padding:4.5rem clamp(2rem,6vw,6rem) 3rem;transition:transform .55s cubic-bezier(.22,1,.36,1) 50ms,opacity .55s cubic-bezier(.22,1,.36,1) 50ms;display:flex;position:relative;overflow:hidden;transform:translateY(40px)}.work-modal.open .work-modal-content{opacity:1;transform:translateY(0)}.work-modal-close{background:var(--glass-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-border);width:44px;height:44px;color:var(--text);cursor:pointer;z-index:10;border-radius:999px;justify-content:center;align-items:center;transition:background .2s,transform .2s,border-color .2s;display:flex;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.work-modal-close:hover{background:var(--glass-bg-strong);border-color:var(--glass-border-strong);transform:translate(-50%)scale(1.1)}.work-modal-close:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.work-modal-inner{grid-template-columns:1.25fr 1fr;align-items:center;gap:clamp(2rem,5vw,5rem);width:100%;max-width:86rem;display:grid}.work-modal-main,.work-modal-side{min-width:0}@media (max-width:900px){.work-modal-inner{grid-template-columns:1fr;gap:1.5rem}}.work-modal-meta{font-family:var(--font-mono);color:var(--text-sub);letter-spacing:.1em;align-items:center;gap:.7rem;margin-bottom:1rem;font-size:.78rem;display:flex}.work-modal-index{color:var(--brand);font-weight:500}.work-modal-total{color:var(--text-sub);font-weight:400}.work-modal-divider{color:var(--glass-border-strong)}.work-modal-tag{text-transform:uppercase;color:var(--accent)}.work-modal-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--heading);margin-bottom:1.25rem;font-size:clamp(2rem,5.5vw,4.5rem);font-weight:600;line-height:1.05}.work-modal-title-grad{background:linear-gradient(135deg, var(--brand) 0%, var(--accent) 60%, var(--highlight) 100%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.work-modal-lead{color:var(--text);letter-spacing:.01em;border-top:1px solid var(--glass-border);margin-bottom:1rem;padding-top:1.25rem;font-size:clamp(1rem,1.4vw,1.2rem);font-weight:500;line-height:1.55;position:relative}.work-modal-lead:before{content:"";background:var(--brand);width:36px;height:1px;position:absolute;top:-1px;left:0}.work-modal-long{color:var(--text-sub);margin-bottom:1.75rem;font-size:clamp(.88rem,1.1vw,.98rem);line-height:1.75}.work-modal-section{margin-bottom:1.5rem}.work-modal-section:last-child{margin-bottom:0}.work-modal-section-links{margin-top:1.5rem}.work-modal-h3{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--text-sub);margin-bottom:.85rem;font-size:.72rem;font-weight:600}.work-modal-side .work-modal-h3{margin-bottom:1.25rem}.work-modal-highlights{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.work-modal-highlights li{color:var(--text);border-bottom:1px solid var(--glass-border);gap:1rem;padding-bottom:.7rem;font-size:clamp(.85rem,1vw,.95rem);line-height:1.6;display:flex}.work-modal-highlights li:last-child{border-bottom:none}.work-modal-highlight-num{font-family:var(--font-mono);color:var(--brand);letter-spacing:.15em;flex:0 0 2.4rem;padding-top:.25rem;font-size:.7rem}.work-modal-tech-grid{flex-wrap:wrap;gap:.4rem;display:flex}.work-modal-tech-pill{font-family:var(--font-mono);color:var(--text);background:var(--glass-bg-soft);border:1px solid var(--glass-border);border-radius:999px;padding:.35rem .75rem;font-size:.74rem}.work-modal-links{flex-wrap:wrap;gap:.85rem;display:flex}.work-modal-link{font-family:var(--font-display);color:var(--accent);border:1px solid var(--glass-border-strong);border-radius:999px;padding:.5rem 1rem;font-size:.9rem;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}.work-modal-link:hover{background:var(--glass-bg-strong);border-color:var(--accent);transform:translate(3px)}@media (max-width:640px){.work-modal-content{padding:4rem 1.25rem 2rem}.work-modal-title{font-size:clamp(1.6rem,8vw,2.5rem)}}@media (prefers-reduced-motion:reduce){.work-modal,.work-modal-content{transition-duration:.15s}}.dyn-skills-list{flex-direction:column;gap:2.5rem;display:flex}.dyn-skill-group{border-top:1px solid var(--glass-border);grid-template-columns:12rem 1fr;align-items:start;gap:2rem;padding:1.5rem 0;display:grid}.dyn-skill-group:last-child{border-bottom:1px solid var(--glass-border)}@media (max-width:640px){.dyn-skill-group{grid-template-columns:1fr;gap:.75rem}}.dyn-skill-group-label{font-family:var(--font-display);color:var(--brand);letter-spacing:-.01em;font-size:1.05rem;font-weight:600}.dyn-skill-pills{flex-wrap:wrap;gap:.5rem;display:flex}.dyn-skill-pill{font-size:.82rem;font-family:var(--font-mono);color:var(--text);background:var(--glass-bg-soft);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);letter-spacing:.02em;border-radius:999px;padding:.45rem .95rem;transition:background .2s,border-color .2s,transform .2s}.dyn-skill-pill:hover{background:var(--glass-bg-strong);border-color:var(--glass-border-strong);transform:translateY(-1px)}.dyn-recent-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}.dyn-recent-head .dyn-heading{margin-bottom:0}.dyn-recent-link{color:var(--accent);font-size:.85rem;font-family:var(--font-mono);letter-spacing:.05em;margin-bottom:.3rem;text-decoration:none;transition:color .2s}.dyn-recent-link:hover{color:var(--accent-hover)}.dyn-recent-list{flex-direction:column;gap:1rem;margin-top:4rem;display:flex}.dyn-recent-card{padding:1.6rem 1.8rem!important}.dyn-recent-meta{color:var(--text-sub);font-size:.78rem;font-family:var(--font-mono);letter-spacing:.05em;gap:.75rem;margin-bottom:.6rem;display:flex}.dyn-recent-dot{color:var(--glass-border-strong)}.dyn-recent-title{font-family:var(--font-display);color:var(--heading);letter-spacing:-.015em;margin-bottom:.6rem;font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:600;line-height:1.3}.dyn-recent-summary{color:var(--text-sub);max-width:48rem;font-size:.92rem;line-height:1.7}.dyn-section-contact{flex-direction:column;justify-content:center;min-height:70vh;display:flex}.dyn-heading-cta{margin-bottom:3rem}.dyn-contact-mail{font-family:var(--font-display);color:var(--text);letter-spacing:-.02em;border-bottom:1px solid var(--glass-border-strong);align-items:center;gap:1rem;padding-bottom:.4rem;font-size:clamp(1.25rem,2.5vw,2rem);font-weight:500;text-decoration:none;transition:color .3s,border-color .3s;display:inline-flex;position:relative}.dyn-contact-mail:hover{color:var(--accent);border-color:var(--accent)}.dyn-contact-arrow{transition:transform .4s cubic-bezier(.22,1,.36,1);display:inline-block}.dyn-contact-mail:hover .dyn-contact-arrow{transform:translate(8px)}.dyn-contact-side{gap:2rem;margin-top:3rem;display:flex}.dyn-contact-side a{color:var(--text-sub);font-size:.85rem;font-family:var(--font-mono);letter-spacing:.05em;border-bottom:1px solid #0000;text-decoration:none;transition:color .2s,border-color .2s}.dyn-contact-side a:hover{color:var(--text);border-bottom-color:var(--brand)}.hamburger-btn{cursor:pointer;z-index:100;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:36px;height:36px;padding:0;transition:transform .3s;display:flex;position:fixed;top:1.5rem;right:1.5rem}.hamburger-btn:hover{transform:scale(1.1)}body[data-work-modal-open] .hamburger-btn{opacity:0;pointer-events:none;transition:opacity .3s}.hamburger-line{background:var(--text);transform-origin:50%;border-radius:2px;width:22px;height:2px;transition:transform .4s cubic-bezier(.65,0,.35,1),opacity .3s,background .3s;display:block}.hamburger-line.open-1{transform:translateY(7px)rotate(45deg)}.hamburger-line.open-2{opacity:0;transform:scaleX(0)}.hamburger-line.open-3{transform:translateY(-7px)rotate(-45deg)}.menu-overlay{z-index:90;-webkit-backdrop-filter:blur(28px)saturate(150%);opacity:0;pointer-events:none;background:#0a0e1ad9;flex-direction:column;justify-content:center;align-items:stretch;padding:6rem 2rem 2rem;transition:opacity .45s cubic-bezier(.65,0,.35,1);display:flex;position:fixed;inset:0}html[data-light] .menu-overlay{background:#f5f3ffcc}.menu-overlay.open{opacity:1;pointer-events:auto}.menu-brand{opacity:0;align-items:center;gap:.5rem;text-decoration:none;transition:opacity .5s cubic-bezier(.22,1,.36,1) .15s,transform .5s cubic-bezier(.22,1,.36,1) .15s;display:flex;position:absolute;top:1.5rem;left:2rem;transform:translateY(-10px)}.menu-overlay.open .menu-brand{opacity:1;transform:translateY(0)}.menu-brand-name{font-family:var(--font-display);color:var(--brand);letter-spacing:-.02em;font-size:1.05rem;font-weight:600}.menu-brand-tag{color:var(--text-sub);letter-spacing:.02em;margin-left:.4rem;font-size:.78rem}@media (max-width:540px){.menu-brand-tag{display:none}}.menu-nav{flex-direction:column;flex:1;justify-content:center;gap:.4rem;width:100%;max-width:64rem;margin:0 auto;display:flex}.menu-item{color:var(--text);font-family:var(--font-display);letter-spacing:-.03em;opacity:0;align-items:baseline;gap:1.25rem;padding:.55rem 0;font-size:clamp(2.25rem,7vw,4.5rem);font-weight:600;line-height:1.05;text-decoration:none;transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1),color .2s;display:flex;position:relative;transform:translateY(28px)}.menu-overlay.open .menu-item{opacity:1;transform:translateY(0)}.menu-item:hover{color:#0000;background:linear-gradient(135deg, var(--brand) 0%, var(--accent) 60%, var(--highlight) 100%);-webkit-background-clip:text;background-clip:text}.menu-item-num{font-family:var(--font-mono);color:var(--text-sub);letter-spacing:.1em;flex-shrink:0;align-self:center;min-width:2rem;font-size:.7rem;font-weight:400}.menu-item-label{display:inline-block}.menu-footer{border-top:1px solid var(--glass-border);opacity:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;width:100%;max-width:64rem;margin:0 auto;padding-top:2rem;transition:opacity .5s cubic-bezier(.22,1,.36,1) .4s;display:flex}.menu-overlay.open .menu-footer{opacity:1}.menu-footer-links{flex-wrap:wrap;gap:1.5rem;display:flex}.menu-footer-links a{color:var(--text-sub);font-size:.85rem;font-family:var(--font-mono);text-decoration:none;transition:color .2s}.menu-footer-links a:hover{color:var(--text)}@media (prefers-reduced-motion:reduce){.menu-overlay,.menu-item,.menu-footer{transition:opacity .15s!important}.hamburger-line{transition:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
