@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-leading:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-9xl:8rem;--text-9xl--line-height:1;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--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)}}@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{.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.max-w-\[65ch\],.max-w-prose{max-width:65ch}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.text-center{text-align:center}.text-start{text-align:start}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.\[font-feature-settings\:\"ss02\"\]{font-feature-settings:"ss02"}.text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.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))}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.hyphens-auto{-webkit-hyphens:auto;hyphens:auto}.whitespace-nowrap{white-space:nowrap}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.decoration-wavy{text-decoration-style:wavy}.decoration-1{text-decoration-thickness:1px}.decoration-2{text-decoration-thickness:2px}.decoration-from-font{text-decoration-thickness:from-font}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.grayscale{--tw-grayscale:grayscale(100%);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,)}.invert{--tw-invert:invert(100%);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))}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\[-webkit-text-stroke\:1px_currentColor\]{-webkit-text-stroke:1px currentColor}.\[font-kerning\:none\]{font-kerning:none}.\[font-optical-sizing\:auto\]{font-optical-sizing:auto}.\[font-synthesis\:none\]{font-synthesis:none}.\[font-variant-caps\:small-caps\]{font-variant-caps:small-caps}.\[font-variant-ligatures\:none\]{font-variant-ligatures:none}.\[font-variant-position\:super\]{font-variant-position:super}.\[font-variation-settings\:\"SOFT\"_80\]{font-variation-settings:"SOFT" 80}.\[initial-letter\:3\]{initial-letter:3}.\[text-box\:trim-both_cap_alphabetic\]{text-box:trim-both cap alphabetic}.\[text-decoration-skip-ink\:auto\]{text-decoration-skip-ink:auto}.\[text-underline-position\:from-font\]{text-underline-position:from-font}@media (min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}}:root{--ink:#101218;--muted:#5f6675;--line:#10121829;--blue:#315cf5;--paper:#f5f6f2;--type-meta:.75rem;--type-body:.875rem;--type-heading:1.5rem;--type-display:3rem;--leading-meta:1.35;--leading-body:1.55;--leading-heading:1.1;--leading-display:1.05;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--font-geist-sans:"PingFang SC", "PingFang TC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;--font-geist-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html,body{font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;min-height:100%;margin:0}body{color:var(--ink);font-family:var(--font-geist-sans);line-height:var(--leading-body);background:#dfe5ef;overflow:hidden}button,a{color:inherit;font:inherit}button{border:0}:where(.clock-copy,.calendar-widget,.weather-widget,.project-pagination,.window-status,.system-status){font-variant-numeric:tabular-nums}:where(.project-case-copy,.project-overlay>p,.cv-intro>p,.wallpaper-library-label p){text-wrap:pretty}@media (max-width:700px){input,textarea,select{font-size:1rem!important}}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.landing{color:#0c0c0d;background:#fafaf8;width:100vw;min-height:100dvh;animation:.5s both landing-in;position:relative;overflow:hidden}.landing:after{content:"";opacity:.12;pointer-events:none;background-image:radial-gradient(#0f111417 .55px,#0000 .55px);background-size:5px 5px;position:absolute;inset:0}.landing-system{z-index:2;font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;justify-content:space-between;font-size:10px;display:flex;position:absolute;top:20px;left:28px;right:28px}.landing-drive{z-index:3;cursor:grab;background:0 0;justify-items:center;gap:6px;width:86px;padding:0;font-size:10px;display:grid;position:absolute;top:54px;right:36px}.drive-body{background:linear-gradient(150deg,#ffffffd9,#0000 44%),linear-gradient(#d9dce1,#9197a0);border:1px solid #888e98;border-radius:5px;width:55px;height:42px;display:block;position:relative;box-shadow:inset 0 1px #fff,0 7px 12px #1e222829}.drive-body:before{content:"";background:#c9cdd3;border:1px solid #0000002e;border-radius:2px;height:4px;position:absolute;bottom:5px;left:6px;right:6px}.drive-body i{background:#315cf5;border-radius:50%;width:3px;height:3px;position:absolute;bottom:6px;right:6px;box-shadow:0 0 5px #315cf5}.landing-copy{z-index:2;position:absolute;top:25%;left:6.5%}.landing-label{font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;margin:0 0 24px;font-size:10px}.landing-copy h1{letter-spacing:-.075em;margin:0;font-size:clamp(62px,7.5vw,138px);font-weight:480;line-height:.89}.landing-copy h1 button{cursor:pointer;letter-spacing:inherit;background:0 0;padding:0 0 7px;position:relative}.landing-copy h1 button:after{transform-origin:0;content:"";background:#0c0c0d;height:3px;transition:transform .35s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(.36)}.landing-copy h1 button:hover:after{transform:scaleX(1)}.landing-index{z-index:2;width:min(760px,70vw);font-family:var(--font-geist-mono), monospace;letter-spacing:.025em;grid-template-columns:1.3fr .8fr .9fr;align-items:end;gap:65px;font-size:10px;display:grid;position:absolute;bottom:8%;left:6.5%}.landing-index p{margin:0 0 9px}.landing-index button{cursor:pointer;background:0 0;border-bottom:1px solid;width:fit-content;padding:0;line-height:1.55;display:block}.landing-links,.landing-past{justify-items:start;display:grid}.landing-past>span{color:#777b82;margin-bottom:7px}.landing-hint{z-index:2;color:#92959b;font-family:var(--font-geist-mono), monospace;letter-spacing:.05em;margin:0;font-size:8px;position:absolute;bottom:24px;right:30px}@keyframes landing-in{0%{opacity:0}to{opacity:1}}.desktop{isolation:isolate;border:1px solid #ffffff29;border-radius:18px;width:100vw;height:100dvh;min-height:100dvh;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff1f}.desktop-mode{animation:.44s both desktop-in}@keyframes desktop-in{0%{opacity:0;transform:scale(1.018)}to{opacity:1;transform:scale(1)}}.wallpaper{z-index:-3;background:#151515;position:absolute;inset:0;overflow:hidden}.wallpaper-image{opacity:0;will-change:opacity, transform;background-position:50% 44%;background-repeat:no-repeat;background-size:cover;transition:opacity 1.8s cubic-bezier(.4,0,.2,1),transform 2.4s cubic-bezier(.4,0,.2,1);position:absolute;inset:-1px;transform:scale(1.008)}.wallpaper-image.is-active{opacity:1;animation:1.1s cubic-bezier(.22,.8,.2,1) both wallpaper-reveal;transform:scale(1)}.wallpaper-webgl{opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .9s cubic-bezier(.22,.8,.2,1);position:absolute;inset:0}.wallpaper-webgl.is-ready{opacity:1}.wallpaper-webgl.is-panorama{display:block}html.is-panning-panorama,html.is-panning-panorama *{cursor:grabbing!important}@keyframes wallpaper-reveal{0%{opacity:0;transform:scale(1.014)}to{opacity:1;transform:scale(1)}}.wallpaper:after{content:"";pointer-events:none;background:linear-gradient(#0000003d 0%,#0000 23%),linear-gradient(#0000 64%,#00000057 100%),radial-gradient(at 50% 45%,#0000 42%,#00000038 100%);display:block;position:absolute;inset:0}.system-bar{z-index:2000;color:#fff;text-shadow:0 1px 2px #000000d1,0 0 8px #00000061;background:0 0;align-items:center;height:34px;padding:0 18px;font-size:10px;display:flex;position:fixed;top:0;left:0;right:0}.brand-mark{width:auto;height:22px;color:inherit;cursor:pointer;font-family:var(--font-geist-mono), monospace;white-space:nowrap;background:0 0;place-items:center;padding:0 2px;font-size:9px;font-weight:700;display:grid}.brand-menu-wrap{align-self:stretch;align-items:center;display:flex;position:relative}.brand-mark.is-open{opacity:.72}.brand-menu{-webkit-backdrop-filter:blur(28px)saturate(125%);width:228px;text-shadow:none;background:linear-gradient(#ffffff12,#0000 34%),#191919d1;border:1px solid #ffffff29;border-radius:13px;padding:6px;display:grid;position:absolute;top:30px;left:-6px;box-shadow:inset 0 1px #ffffff1a,0 18px 48px #00000057}.brand-menu button{color:#fff;cursor:pointer;background:0 0;border-radius:7px;width:100%;padding:7px 9px;font-size:12px}.brand-menu button:hover,.brand-menu button:focus-visible{background:#2f63e9}.brand-menu-divider{background:#ffffff24;height:1px;margin:5px 7px}.brand-language-group{gap:7px;padding:4px 7px;display:grid}.brand-language-group>span{color:#ffffff8a;font-size:10px}.brand-language-group>div{background:#00000024;border:1px solid #ffffff17;border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:3px;display:grid}.brand-menu .brand-language-group button{color:#ffffffad;border-radius:6px;padding:6px 8px;font-size:11px}.brand-menu .brand-language-group button.is-active{color:#fff;background:#ffffff26;box-shadow:inset 0 1px #ffffff1a}.active-label{margin-left:10px;font-size:10px;font-weight:600}.system-menu{align-items:center;gap:14px;margin-left:16px;display:flex}.system-menu button{cursor:pointer;background:0 0;padding:0;font-size:10px}.system-menu button:hover{text-underline-offset:3px;text-decoration:underline}.language-menu-wrap{align-items:center;display:flex;position:relative}.language-menu{-webkit-backdrop-filter:blur(26px)saturate(120%);width:142px;text-shadow:none;background:linear-gradient(#ffffff12,#0000 34%),#191919db;border:1px solid #ffffff29;border-radius:11px;padding:5px;display:grid;position:absolute;top:23px;left:-9px;box-shadow:inset 0 1px #ffffff1a,0 16px 42px #00000052}.system-menu .language-menu button{color:#fff;text-align:left;border-radius:7px;justify-content:space-between;align-items:center;width:100%;padding:7px 9px;font-size:11px;display:flex}.system-menu .language-menu button:hover,.system-menu .language-menu button:focus-visible{background:#2f63e9;text-decoration:none}.language-menu b{font-size:10px;font-weight:600}.system-status{font-family:var(--font-geist-mono), monospace;align-items:center;gap:16px;margin-left:auto;font-size:9px;display:flex}.system-status button{cursor:pointer;background:0 0;padding:0}.desktop-statement{z-index:2;color:#0b1020;width:calc(100vw - 11.6%);max-width:none;position:absolute;top:27%;left:5.8%}.desktop-statement>p{font-family:var(--font-geist-mono), monospace;letter-spacing:.07em;margin:0 0 18px;font-size:10px}.desktop-statement h1{letter-spacing:-.078em;white-space:nowrap;margin:0;font-size:clamp(58px,5.55vw,112px);font-weight:520;line-height:.9}.desktop-statement h1 button{cursor:pointer;font-weight:inherit;letter-spacing:inherit;background:0 0;padding:0 0 9px;position:relative}.desktop-statement h1 button:after{transform-origin:0;content:"";background:currentColor;height:4px;transition:transform .38s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(.38)}.desktop-statement h1 button:hover:after,.desktop-statement h1 button:focus-visible:after{transform:scaleX(1)}.desktop-profile{z-index:2;width:min(520px,48vw);font-family:var(--font-geist-mono), monospace;letter-spacing:.035em;grid-template-columns:1.2fr .8fr;gap:60px;font-size:9px;display:grid;position:absolute;bottom:17%;left:6%}.desktop-profile span{color:#586174;margin-bottom:8px;display:block}.desktop-profile p{max-width:280px;margin:0;line-height:1.5}.desktop-profile button{cursor:pointer;background:0 0;border-bottom:1px solid;width:fit-content;padding:0;line-height:1.55;display:block}.hero{z-index:2;max-width:920px;position:absolute;top:16%;left:6.5%}.hero-kicker,.work-intro>p,.photos-app header p,.cv-label,.notes-app>p,.music-app>p{font-family:var(--font-geist-mono), monospace;letter-spacing:.07em;margin:0 0 18px;font-size:11px}.hero h1{letter-spacing:-.075em;max-width:820px;margin:0;font-size:clamp(58px,7.45vw,136px);font-weight:520;line-height:.88}.hero h1 button{cursor:pointer;letter-spacing:inherit;background:0 0;padding:0 0 5px;position:relative}.hero h1 button:after{transform-origin:0;background:var(--ink);content:"";height:3px;transition:transform .35s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(.32)}.hero h1 button:hover:after{transform:scaleX(1)}.hero-meta{grid-template-columns:1.2fr 1fr;gap:70px;max-width:640px;margin-top:40px;font-size:14px;line-height:1.45;display:grid}.hero-meta p{margin:0}.hero-instruction{color:var(--muted)}.visual-clips{z-index:1;pointer-events:none;position:absolute;inset:0}.visual-clip{cursor:pointer;pointer-events:auto;background:#e8ebf0;border:1px solid #ffffffa3;padding:0;transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s;display:grid;position:absolute;overflow:hidden;box-shadow:0 22px 55px #16203c47,inset 0 1px #ffffffd1}.visual-clip:hover{z-index:5;box-shadow:0 32px 75px #141c385c,inset 0 1px #ffffffd1}.visual-clip>img{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.visual-clip:hover>img{transform:scale(1.045)}.visual-clip>span:last-child{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;background:#f4f6f9db;justify-content:space-between;padding:8px 10px;font-size:8px;display:flex;position:absolute;bottom:0;left:0;right:0}.visual-clip>span b{font-weight:500}.clip-installation{width:230px;height:290px;bottom:11%;right:23%;transform:rotate(2.8deg)}.clip-installation:hover{transform:rotate(0)translateY(-12px)}.clip-photo{width:174px;height:205px;bottom:24%;right:5%;transform:rotate(-3.5deg)}.clip-photo:hover{transform:rotate(0)translateY(-10px)}.clip-ui{width:196px;height:150px;top:12%;right:18%;transform:rotate(-1.8deg)}.clip-ui:hover{transform:rotate(0)translateY(-9px)}.ui-fragment{background:linear-gradient(145deg,#ffffff70,#0000),#315cf5;grid-template-rows:repeat(3,1fr);grid-template-columns:40px 1fr;gap:5px;padding:18px 18px 40px;display:grid;position:absolute;inset:0}.ui-fragment i{border:1px solid #ffffffa3;border-radius:50%;grid-column:1;display:block}.ui-fragment strong{color:#fff;letter-spacing:-.055em;text-align:right;grid-area:1/2/4;align-self:center;font-size:21px;font-weight:520;line-height:.85}.desktop-widgets{z-index:1;color:#fff;text-shadow:0 1px 4px #00000094;flex-direction:column;gap:10px;width:244px;display:flex;position:absolute;top:62px;left:24px}.clock-widget,.calendar-widget,.weather-widget{-webkit-backdrop-filter:blur(24px)saturate(115%);background:linear-gradient(#ffffff0f,#0000 34%),#191919ad;border:1px solid #ffffff29;border-radius:18px;box-shadow:inset 0 1px #ffffff1f,0 14px 34px #0000002e}.clock-widget{align-items:center;gap:18px;padding:16px;display:flex}.analog-clock{background:#ffffff14;border:1px solid #ffffff6b;border-radius:50%;flex:0 0 96px;width:96px;height:96px;position:relative;box-shadow:inset 0 0 20px #ffffff0f,0 8px 24px #00000029}.analog-clock i{transform-origin:50% 42px;background:#ffffff9e;width:1px;height:4px;position:absolute;inset:6px 50% auto}.clock-hand{transform-origin:50% 100%;background:#fff;border-radius:999px;width:1px;position:absolute;bottom:50%;left:calc(50% - .5px)}.hour-hand{width:2px;height:27px}.minute-hand{height:36px}.second-hand{background:#ffffff9e;height:39px}.analog-clock b{background:#fff;border-radius:50%;width:4px;height:4px;position:absolute;top:calc(50% - 2px);left:calc(50% - 2px)}.clock-copy{flex-direction:column;min-width:0;display:flex}.clock-copy strong{letter-spacing:-.05em;font-size:27px;font-weight:430}.clock-copy span,.calendar-widget header,.calendar-weekdays,.weather-widget span{font-family:var(--font-geist-mono), monospace;letter-spacing:.05em;font-size:9px}.clock-copy span{color:#ffffffa8;margin-top:4px}.calendar-widget{padding:14px 14px 16px;position:relative}.calendar-widget header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.calendar-month-pill{color:#ffffffe0;cursor:pointer;width:112px;min-height:30px;font-family:var(--font-geist-mono), monospace;letter-spacing:0;background:#ffffff1a;border:0;border-radius:999px;outline:none;align-items:center;padding:0 11px;font-size:9px;font-weight:600;display:inline-flex}.calendar-month-pill span{color:#ffffff94;margin-left:auto;font-size:12px}.calendar-month-pill:hover,.calendar-month-pill:focus-visible{background:#ffffff29}.calendar-picker{z-index:5;-webkit-backdrop-filter:blur(24px)saturate(120%);background:#191919eb;border:1px solid #ffffff21;border-radius:14px;padding:10px;position:absolute;top:52px;left:12px;right:12px;box-shadow:0 14px 34px #00000047}.calendar-year-picker{text-align:center;grid-template-columns:28px 1fr 28px;align-items:center;margin-bottom:8px;display:grid}.calendar-year-picker button,.calendar-month-grid button{color:#ffffffbd;cursor:pointer;background:0 0;border:0}.calendar-year-picker button{border-radius:50%;height:28px;font-size:18px}.calendar-year-picker button:hover,.calendar-month-grid button:hover{color:#fff;background:#ffffff1a}.calendar-year-picker strong{font-size:11px;font-weight:600}.calendar-month-grid{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.calendar-month-grid button{border-radius:7px;min-height:28px;font-size:9px}.calendar-month-grid button.is-active{color:#fff;background:#ffffff2e}.calendar-controls{gap:7px;display:flex}.calendar-controls button{color:#ffffffc2;cursor:pointer;background:#ffffff1a;border:0;border-radius:50%;place-items:center;width:30px;height:30px;font-size:20px;font-weight:300;line-height:1;transition:background .16s,color .16s,transform .16s;display:grid}.calendar-controls button:hover,.calendar-controls button:focus-visible{color:#fff;background:#ffffff2e;transform:scale(1.04)}.calendar-weekdays,.calendar-days{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays{color:#ffffff94;letter-spacing:0;margin-bottom:8px;font-size:7px}.calendar-days{row-gap:5px;font-size:10px}.calendar-days span{place-items:center;height:24px;display:grid}.calendar-days .is-today{background:#fff3;border:0;border-radius:50%;justify-self:center;width:24px}.weather-widget{grid-template-columns:62px minmax(0,1fr);align-items:center;gap:10px;padding:17px 16px;display:grid;overflow:hidden}.weather-main{align-items:center;display:flex}.weather-main strong{letter-spacing:-.06em;font-size:34px;font-weight:420}.weather-widget>div:last-child{flex-direction:column;gap:4px;min-width:0;display:flex}.weather-widget b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.weather-widget>div:last-child span{color:#ffffffa3;white-space:normal;font-size:7.5px;line-height:1.35}.desktop-files{gap:22px;display:grid;position:absolute;top:72px;right:34px}.desktop-pet-route{z-index:4;pointer-events:none;opacity:0;will-change:transform;width:138px;height:90px;position:absolute;bottom:82px;left:0}.desktop-pet-route[data-ready=true]{opacity:1}.desktop-pet{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:auto;filter:drop-shadow(0 3px #0000002e);background:0 0;border:0;width:138px;height:90px;padding:0;display:block;position:relative}.desktop-pet canvas{width:100%;height:100%;image-rendering:pixelated;-webkit-user-select:none;user-select:none;display:block}.desktop-pet:focus-visible{outline-offset:3px;outline:2px dashed #f8d7a0}.desktop-pet-route[data-dragging=true] .desktop-pet{cursor:grabbing}.desktop-pet-reaction{color:#b95742;white-space:nowrap;background:#fff3d8;border:2px solid #543628;border-radius:3px;padding:3px 7px;font-size:16px;font-weight:650;animation:1.4s ease-out both desktop-pet-reaction;position:absolute;top:0;left:55%;box-shadow:3px 3px #3721194d}@keyframes desktop-pet-reaction{0%{opacity:0;transform:translate(-50%,8px)scale(.8)}18%,72%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-12px)scale(.95)}}@media (max-width:720px){.desktop-pet-route{width:115px;height:75px;bottom:72px}.desktop-pet{width:115px;height:75px}}@media (prefers-reduced-motion:reduce){.desktop-pet-reaction{animation-name:desktop-pet-static-reaction}}@keyframes desktop-pet-static-reaction{0%,99%{opacity:1}to{opacity:0}}.desktop-file{color:#fff;cursor:pointer;text-align:center;touch-action:none;-webkit-user-select:none;user-select:none;text-shadow:0 1px 2px #000000eb,0 0 6px #0000008c;background:0 0;place-items:center;gap:7px;width:100px;padding:4px;font-size:11px;transition:transform .18s cubic-bezier(.2,.75,.25,1);display:grid}.desktop-file[data-dragging=true]{transition:none}.desktop-file:active{cursor:grabbing}.desktop-file:hover>span:last-child,.desktop-file:focus-visible>span:last-child{color:#fff;text-shadow:0 1px 2px #00000080;background:#0000006b;border-radius:3px;padding:1px 4px}.desktop-file:focus-visible{outline:none}.desktop-file:focus-visible .file-icon{outline-offset:3px;outline:1px solid #ffffffb8}.file-icon{color:#344461;width:62px;height:52px;font-family:var(--font-geist-mono), monospace;background:linear-gradient(145deg,#fff,#d7dde7);border:1px solid #ffffff47;border-radius:13px;place-items:center;font-size:13px;font-weight:700;display:grid;position:relative;box-shadow:inset 0 1px #ffffffb3,0 8px 20px #00000038}.file-icon.folder{background:linear-gradient(#ffffff4d,#0000 35%),linear-gradient(155deg,#78c7ff,#287ad7);border-color:#ffffff38;border-radius:7px 11px 11px;height:47px;margin-top:5px}.file-icon.folder:before{content:"";background:#77c5fa;border-radius:6px 6px 0 0;width:27px;height:10px;position:absolute;top:-6px;left:5px}.file-icon.web{background:radial-gradient(circle at 50% 48%,#fffffff2 0 11%,#0000 12%),conic-gradient(from 18deg,#4fd7ff,#3578ef,#744ae8,#4fd7ff);border:3px solid #ffffffc7;border-radius:17px;width:58px;height:58px;overflow:hidden;box-shadow:inset 0 1px 2px #ffffffbf,0 8px 20px #00000038}.file-icon.web:before{content:"";border:1px solid #ffffffb8;border-radius:50%;position:absolute;inset:10px;box-shadow:inset 0 0 10px #ffffff57}.file-icon.web:after{content:"";background:linear-gradient(#fff 0 47%,#e95c68 48% 100%);border-radius:4px;width:4px;height:33px;position:absolute;top:12px;left:27px;transform:rotate(35deg);box-shadow:0 1px 3px #00000040}.file-icon.photo{color:#0000;background:conic-gradient(from -18deg,#ff3b30,#ff9500,#fc0,#34c759,#00c7be,#32ade6,#007aff,#5856d6,#af52de,#ff2d55,#ff3b30);border:4px solid #fafafaf0;border-radius:16px;width:58px;height:58px;overflow:hidden}.file-icon.photo:before{content:"";background:#fffffff0;border-radius:50%;position:absolute;inset:16px;box-shadow:0 0 0 2px #ffffff57}.file-icon.document{color:#2f63e9;background:linear-gradient(135deg,#0000 0 12px,#e1e7f0 13px),linear-gradient(#fff 0 26%,#f2f5f9 27% 100%);border-color:#ffffff85;border-radius:7px;width:46px;height:58px;font-size:11px;box-shadow:inset 0 1px #ffffffeb,0 8px 20px #00000038}.file-icon.game{background:radial-gradient(circle at 34% 42%,#fff 0 3px,#0000 4px),radial-gradient(circle at 66% 42%,#fff 0 3px,#0000 4px),radial-gradient(circle at 30% 66%,#fff 0 2px,#0000 3px),radial-gradient(circle at 70% 66%,#fff 0 2px,#0000 3px),linear-gradient(145deg,#8a68ff,#4030a8);border-color:#ffffff42;border-radius:17px;width:60px;height:60px;box-shadow:inset 0 1px #ffffff4d,inset 0 -8px 18px #120a462e,0 9px 22px #0000003d}.file-icon.game:before,.file-icon.game:after{content:"";background:#fff;position:absolute}.file-icon.game:before{border-radius:2px;width:15px;height:5px;top:27px;left:15px}.file-icon.game:after{border-radius:2px;width:5px;height:15px;top:22px;left:20px}.app-window{-webkit-backdrop-filter:blur(42px)saturate(170%)contrast(103%);resize:both;background:radial-gradient(circle at 16% 0,#ffffff47,#0000 38%),linear-gradient(135deg,#f8fcff38,#e0ebf41a),#e1ebf214;border:1px solid #ffffff8a;border-radius:22px;flex-direction:column;width:min(760px,100vw - 32px);min-width:360px;height:min(640px,100dvh - 100px);min-height:300px;display:flex;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 34px 90px #19263438,0 8px 24px #1926341a,inset 0 1px #ffffffb8,inset 1px 0 #ffffff47,inset 0 -1px #ffffff29}.window-wallpapers{width:min(920px,100vw - 32px);height:min(700px,100dvh - 88px)}.wallpaper-library{background:#ecf2f657;flex-direction:column;gap:14px;height:100%;padding:18px;display:flex;overflow:auto}.wallpaper-controls{-webkit-backdrop-filter:blur(18px)saturate(145%);background:#ffffff38;border:1px solid #ffffff70;border-radius:16px;gap:14px;padding:16px;display:grid;box-shadow:inset 0 1px #ffffff7a}.wallpaper-control-heading,.wallpaper-library-label,.wallpaper-interval{justify-content:space-between;align-items:center;gap:16px;display:flex}.wallpaper-control-heading>div{gap:3px;display:grid}.wallpaper-control-heading strong,.wallpaper-library-label strong{font-size:13px;font-weight:650}.wallpaper-control-heading>div span,.wallpaper-library-label span,.wallpaper-interval>span{color:#0f182294;font-size:11px}.wallpaper-switch{cursor:pointer;align-items:center;gap:7px;display:flex}.wallpaper-switch input{opacity:0;width:1px;height:1px;position:absolute}.wallpaper-switch>span{background:#3a424c4d;border:1px solid #0a121c29;border-radius:999px;width:38px;height:22px;transition:background .22s;position:relative;box-shadow:inset 0 1px 2px #0000001f}.wallpaper-switch>span:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .22s;position:absolute;top:2px;left:2px;box-shadow:0 2px 5px #12192342}.wallpaper-switch input:checked+span{background:#2087ed}.wallpaper-switch input:checked+span:after{transform:translate(16px)}.wallpaper-switch input:focus-visible+span{outline-offset:2px;outline:2px solid #2087edb3}.wallpaper-switch b{color:#0f18229e;min-width:20px;font-size:10px;font-weight:600}.wallpaper-interval{grid-template-columns:88px minmax(120px,1fr) 42px;display:grid}.wallpaper-interval input{accent-color:#2087ed;cursor:pointer;width:100%}.wallpaper-interval output{text-align:center;background:#ffffff47;border:1px solid #ffffff75;border-radius:8px;padding:5px 7px;font-size:11px}.wallpaper-interval.is-disabled{opacity:.44}.wallpaper-library-label{padding:0 3px}.wallpaper-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.wallpaper-thumbnails button{text-align:left;background:0 0;border:1px solid #0000;border-radius:11px;gap:6px;min-width:0;padding:5px;display:grid}.wallpaper-thumbnails button:hover,.wallpaper-thumbnails button.is-selected{background:#ffffff47;border-color:#ffffff94}.wallpaper-thumbnails button.is-selected{box-shadow:0 0 0 2px #2087edb3}.wallpaper-thumbnails button:active{opacity:.8}.wallpaper-thumbnails img{aspect-ratio:16/10;object-fit:cover;border-radius:8px;width:100%}.wallpaper-thumbnails span{text-overflow:ellipsis;white-space:nowrap;padding:0 2px 2px;font-size:10px;overflow:hidden}@media (max-width:760px){.wallpaper-library{padding:10px}.wallpaper-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.wallpaper-image.is-active{animation:none}.wallpaper-webgl:not(.is-panorama){display:none}}@media (pointer:coarse){.wallpaper-webgl:not(.is-panorama){display:none}}.app-window.is-maximized{resize:none;width:auto;height:auto;position:fixed;inset:42px 10px 88px;transform:none!important}.window-work.is-maximized{inset:27px 2px 78px}.window-photos{width:min(830px,100vw - 32px)}.window-tools{width:min(1120px,100vw - 32px);height:min(760px,100dvh - 88px)}.window-tools .window-content{overflow:hidden}.window-cv{width:min(920px,100vw - 32px);height:min(620px,100dvh - 100px)}.window-notes,.window-music,.window-trash,.window-system,.window-guide,.window-contact,.window-game{width:min(480px,100vw - 32px);height:min(440px,100dvh - 100px)}.window-bar{-webkit-backdrop-filter:blur(30px)saturate(150%);cursor:move;-webkit-user-select:none;user-select:none;background:linear-gradient(#ffffff4d,#e2ecf41a);border-bottom:1px solid #ffffff61;grid-template-columns:1fr auto 1fr;align-items:center;min-height:32px;display:grid}.window-bar strong{font-size:12px;font-weight:520}.window-controls{gap:7px;padding-left:12px;display:flex}.window-controls button{cursor:pointer;background:#fb695e;border:1px solid #0003;border-radius:50%;width:11px;height:11px;padding:0;transition:filter .14s,transform .14s;display:block;position:relative}.window-controls button:hover,.window-controls button:focus-visible{filter:brightness(1.08);transform:scale(1.12)}.window-controls button:nth-child(2){background:#f5bf4f}.window-controls button:nth-child(3){background:#62c554}.window-controls button:after{color:#231e1cb8;font-family:var(--font-geist-sans);opacity:0;content:"";place-items:center;font-size:9px;font-weight:700;line-height:1;display:grid;position:absolute;inset:-4px}.window-controls:hover button:after,.window-controls button:focus-visible:after{opacity:1}.window-controls .control-close:after{content:"×"}.window-controls .control-minimize:after{content:"−"}.window-controls .control-maximize:after{content:"+";font-size:8px}.window-status{color:var(--muted);font-family:var(--font-geist-mono), monospace;justify-self:end;padding-right:12px;font-size:9px}.window-content{-webkit-backdrop-filter:blur(34px)saturate(145%);scrollbar-color:#30363e6b transparent;scrollbar-width:thin;background:linear-gradient(145deg,#ffffff29,#e8f0f612),#eff5f80d;flex:1;min-height:0;overflow:auto}.window-content::-webkit-scrollbar{width:12px;height:12px}.window-content::-webkit-scrollbar-track{background:0 0}.window-content::-webkit-scrollbar-corner{background:0 0}.window-content::-webkit-scrollbar-thumb{background:#30363e61 padding-box content-box;border:4px solid #0000;border-radius:999px;min-height:44px}.window-content::-webkit-scrollbar-thumb:hover{background:#23283094 padding-box content-box}.window-content::-webkit-scrollbar-button{width:0;height:0;display:none}@media (prefers-reduced-transparency:reduce){.app-window{-webkit-backdrop-filter:none;background:#ebf1f6f7}.window-bar,.window-content{-webkit-backdrop-filter:none;background:#f0f5f8f5}}.work-intro{-webkit-backdrop-filter:blur(24px)saturate(135%);backdrop-filter:blur(24px)saturate(135%);background:#edf0f67a;align-content:space-between;min-height:330px;padding:38px;display:grid}.work-intro h2{letter-spacing:-.065em;max-width:620px;margin:0;font-size:clamp(36px,5vw,70px);font-weight:480;line-height:.92}.project-card{color:#fff;background:#111;min-height:470px;position:relative;overflow:hidden}.project-card img{object-fit:cover;opacity:.78;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.8,.2,1);position:absolute}.project-card:hover img{transform:scale(1.035)}.project-card-action{z-index:2;cursor:pointer;background:0 0;border:0;width:100%;position:absolute;inset:0}.project-card-action:focus-visible{outline-offset:-7px;outline:2px solid #ffffffe0}.project-card:after{content:"";background:linear-gradient(#0000 20%,#000000b3);position:absolute;inset:0}.project-overlay{z-index:1;pointer-events:none;grid-template-rows:1fr auto auto;padding:28px;display:grid;position:absolute;inset:0}.project-overlay>div:first-child{align-items:flex-start;gap:15px;display:flex}.project-overlay h3{letter-spacing:-.06em;margin:0;font-size:clamp(38px,6vw,72px);font-weight:480;line-height:.92}.project-overlay>p{max-width:340px;margin:0 0 26px;font-size:17px;line-height:1.3}.project-meta{font-family:var(--font-geist-mono), monospace;text-transform:uppercase;border-top:1px solid #ffffff73;align-items:center;gap:20px;padding-top:14px;font-size:10px;display:flex}.project-enter-mark{font-family:var(--font-geist-sans);margin-left:auto;font-size:18px;transition:transform .22s}.project-card:hover .project-enter-mark{transform:translate(3px,-3px)}.project-secondary-page{min-height:100%;color:var(--ink);background:#eef3faeb}.case-toolbar{z-index:80;-webkit-backdrop-filter:blur(22px)saturate(135%);background:#ebf0f4c2;border-bottom:1px solid #ffffff6b;align-items:center;min-height:70px;padding:0 38px;display:flex;position:sticky;top:0;box-shadow:0 10px 30px #1a222c14}.case-back{color:inherit;cursor:pointer;font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;text-transform:uppercase;background:0 0;border-bottom:1px solid #14181e47;align-items:center;gap:10px;margin:0;padding:7px 0;font-size:11px;display:inline-flex}.case-back span{font-size:17px;transition:transform .18s}.case-back:hover span{transform:translate(-4px)}.case-back:active{transform:translateY(1px)}@media (prefers-reduced-transparency:reduce){.case-toolbar{-webkit-backdrop-filter:none;background:#eef3fafa}}.project-case-page{padding:30px 38px 70px}.project-case-hero{aspect-ratio:16/9;background:#111;border-radius:12px;overflow:hidden}.project-case-hero img{object-fit:cover;width:100%;height:100%}.project-case-heading{grid-template-columns:minmax(0,1.2fr) minmax(260px,.7fr);align-items:end;gap:36px;margin-top:34px;display:grid}.project-case-heading p{margin:0}.project-case-heading h2{letter-spacing:-.065em;margin:10px 0 0;font-size:clamp(36px,5.5vw,70px);font-weight:480;line-height:.9}.project-case-copy{max-width:520px;font-size:17px;line-height:1.55}.project-case-meta{border-top:1px solid #14181e33;gap:60px;margin-top:46px;padding-top:18px;display:flex}.project-case-meta span{color:var(--muted);font-family:var(--font-geist-mono), monospace;gap:8px;font-size:10px;display:grid}.project-case-meta b{color:var(--ink);font-size:12px;font-weight:500}.buxi-case{--buxi-blue:#178ede;color:#111820;background:#f7f9fb;padding:34px 38px 90px}.buxi-hero{background:#fff;border-radius:14px;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);min-height:520px;display:grid;overflow:hidden}.buxi-hero-copy{flex-direction:column;justify-content:flex-end;padding:48px;display:flex}.buxi-hero-copy p,.buxi-section-title p,.buxi-intro>p{color:var(--buxi-blue);font:500 10px/1.2 var(--font-geist-mono), monospace;letter-spacing:.08em;margin:0}.buxi-hero-copy h2{letter-spacing:-.09em;margin:22px 0 0;font-size:clamp(72px,11vw,150px);font-weight:560;line-height:.78}.buxi-hero-copy h3{letter-spacing:-.045em;max-width:430px;margin:34px 0 0;font-size:clamp(22px,2.7vw,38px);font-weight:450;line-height:1.05}.buxi-hero>img{object-fit:cover;width:100%;height:100%}.buxi-intro{grid-template-columns:150px minmax(0,1fr);gap:28px;padding:78px 4px;display:grid}.buxi-intro h3{letter-spacing:-.055em;max-width:900px;margin:0;font-size:clamp(28px,4vw,54px);font-weight:450;line-height:1.06}.buxi-intro dl{border-top:1px solid #1118202e;grid-column:2;grid-template-columns:repeat(3,1fr);gap:24px;margin:48px 0 0;padding-top:18px;display:grid}.buxi-intro dl div{gap:8px;display:grid}.buxi-intro dt{color:#66717d;font:500 9px/1.2 var(--font-geist-mono), monospace}.buxi-intro dd{margin:0;font-size:14px}.buxi-section{border-top:1px solid #11182029;padding:64px 0}.buxi-section-title{grid-template-columns:44px minmax(0,1fr);gap:22px;margin-bottom:36px;display:grid}.buxi-section-title>span{font:500 10px/1.2 var(--font-geist-mono), monospace}.buxi-section-title h3{letter-spacing:-.055em;margin:9px 0 0;font-size:clamp(28px,4vw,54px);font-weight:450;line-height:1}.buxi-grid{gap:12px;display:grid}.buxi-grid img,.buxi-feature-pair img{object-fit:cover;background:#fff;border-radius:12px;width:100%;height:100%;display:block}.buxi-grid-logo{grid-template-columns:repeat(2,minmax(0,1fr))}.buxi-grid-logo img{aspect-ratio:16/10;object-fit:contain}.buxi-feature-pair{grid-template-columns:1.4fr .6fr;gap:12px;display:grid}.buxi-feature-pair img{object-fit:contain;background:#fff;min-height:460px}.buxi-grid-editorial{grid-template-columns:1fr 1fr 1fr;margin-top:12px}.buxi-grid-editorial img{aspect-ratio:4/3;object-fit:contain}.buxi-grid-apps{grid-template-columns:repeat(2,minmax(0,1fr))}.buxi-grid-apps figure{background:#fff;border-radius:12px;min-height:360px;margin:0;overflow:hidden}.buxi-grid-apps img{object-fit:contain}.buxi-end{border-top:1px solid #11182029;grid-template-columns:180px minmax(0,1fr);align-items:end;gap:24px;padding-top:64px;display:grid}.buxi-end p{color:#66717d;font:500 10px/1.4 var(--font-geist-mono), monospace;margin:0}.buxi-end img{border-radius:12px;width:100%}@media (max-width:760px){.buxi-case{padding:18px 14px 60px}.buxi-hero{grid-template-columns:1fr}.buxi-hero-copy{padding:32px 24px 38px}.buxi-hero>img{min-height:330px}.buxi-intro{grid-template-columns:1fr;padding:54px 2px}.buxi-intro dl{grid-column:1;grid-template-columns:1fr}.buxi-grid-logo,.buxi-feature-pair,.buxi-grid-editorial,.buxi-grid-apps,.buxi-end{grid-template-columns:1fr}.buxi-feature-pair img,.buxi-grid-apps figure{min-height:260px}}.project-meta a{text-underline-offset:3px;margin-left:auto}.project-detail-trigger{color:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;margin-left:auto;padding:0;text-decoration:underline}.ai-theater-case{color:var(--ink);background:#eef3faeb;padding:56px 38px 70px}.ai-theater-case>header{grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);align-items:end;gap:24px 48px;margin-bottom:48px;display:grid}.ai-theater-case>header>p:first-child{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;grid-column:1/-1;margin:0;font-size:10px}.ai-theater-case>header h2{letter-spacing:-.06em;margin:0;font-size:clamp(31px,4vw,54px);font-weight:500;line-height:.94}.ai-theater-case>header>p:last-child{color:#414958;margin:0;font-size:14px;line-height:1.65}.ai-theater-facts{border-top:1px solid #1012182e;border-bottom:1px solid #1012182e;grid-template-columns:repeat(3,1fr);margin-bottom:42px;display:grid}.ai-theater-facts>div{gap:8px;padding:18px 18px 18px 0;display:grid}.ai-theater-facts span{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;font-size:9px}.ai-theater-facts b{font-size:13px;font-weight:500}.ai-theater-flow{gap:30px;display:grid}.ai-theater-flow figure{margin:0}.ai-theater-flow img{border-radius:12px;width:100%;display:block;box-shadow:0 22px 50px #1c365e24}.ai-theater-flow figcaption{color:#465062;gap:12px;padding-top:10px;font-size:12px;display:flex}.ai-theater-flow figcaption span{font-family:var(--font-geist-mono), monospace}.starlight-case{color:#f4f4ef;background:#0d0f0f;padding:30px 38px 80px}.starlight-hero{background:#131615;border-radius:12px;min-height:520px;position:relative;overflow:hidden}.starlight-hero:after{content:"";background:linear-gradient(#0000000d 25%,#030705c7 100%);position:absolute;inset:0}.starlight-hero>img{object-fit:contain;background:#080a09;width:100%;height:100%;min-height:520px}.starlight-hero-copy{z-index:1;position:absolute;bottom:30px;left:32px;right:32px}.starlight-hero-copy p,.starlight-hero-copy span{font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;margin:0;font-size:10px}.starlight-hero-copy h2{letter-spacing:-.075em;max-width:850px;margin:12px 0 17px;font-size:clamp(44px,7.5vw,96px);font-weight:460;line-height:.82}.starlight-intro{grid-template-columns:minmax(0,1.15fr) minmax(270px,.65fr);align-items:start;gap:54px;margin:76px 0 60px;display:grid}.starlight-intro p{color:#f4f4efad;margin:0;font-size:15px;line-height:1.75}.starlight-intro .starlight-lead{color:#f4f4ef;letter-spacing:-.045em;font-size:clamp(30px,4vw,52px);line-height:1.06}.starlight-status-note{background:#ffffff0d;border:1px solid #ffffff29;border-radius:8px;grid-template-columns:120px minmax(0,1fr);gap:24px;margin:-20px 0 56px;padding:16px 18px;display:grid}.starlight-status-note span{color:#f4f4ef7a;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;font-size:9px}.starlight-status-note p{color:#f4f4efb8;margin:0;font-size:12px;line-height:1.55}.starlight-facts{border-top:1px solid #ffffff2e;border-bottom:1px solid #ffffff2e;grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.starlight-facts div{gap:11px;padding:18px 18px 18px 0;display:grid}.starlight-facts span,.starlight-chapter p{color:#f4f4ef7a;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;font-size:9px}.starlight-facts b{max-width:190px;font-size:12px;font-weight:480;line-height:1.35}.starlight-brief{grid-template-columns:repeat(3,1fr);gap:38px;margin-bottom:58px;display:grid}.starlight-brief div{border-top:1px solid #ffffff2e;padding-top:14px}.starlight-brief span,.starlight-journey span,.starlight-outcome span{color:#f4f4ef7a;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;font-size:9px}.starlight-brief p{color:#f4f4efbd;margin:15px 0 0;font-size:13px;line-height:1.65}.starlight-scheme-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:48px;display:grid}.starlight-scheme-grid img{object-fit:contain;height:360px}.starlight-scheme-grid--dark{margin-top:12px}.starlight-journey{background:#ffffff29;border:1px solid #ffffff29;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:64px;display:grid}.starlight-journey div{background:#0d0f0f;grid-template-columns:35px 1fr;gap:12px 6px;padding:22px;display:grid}.starlight-journey b{font-size:12px;font-weight:520}.starlight-journey p{color:#f4f4ef94;grid-column:2;margin:0;font-size:12px;line-height:1.55}.starlight-chapter{border-top:1px solid #ffffff2e;grid-template-columns:80px 1fr;gap:22px;margin:92px 0 28px;padding-top:18px;display:grid}.starlight-chapter>span{color:#f4f4ef73;font-family:var(--font-geist-mono), monospace;font-size:11px}.starlight-chapter p{margin:0 0 14px}.starlight-chapter h3{letter-spacing:-.055em;max-width:720px;margin:0;font-size:clamp(28px,4vw,52px);font-weight:470;line-height:.95}.starlight-season-grid,.starlight-story-grid,.starlight-process-grid{gap:12px;display:grid}.starlight-season-grid{grid-template-columns:1fr 1fr}.starlight-story-grid{grid-template-columns:1.55fr .7fr;align-items:stretch}.starlight-process-grid{grid-template-columns:1.35fr .65fr;align-items:start}.starlight-case figure{background:#080909;border-radius:9px;margin:0;overflow:hidden}.starlight-case figure img{cursor:zoom-in;object-fit:contain;background:#080909;width:100%;min-height:260px;display:block}.starlight-lightbox{z-index:10000;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:zoom-out;background:#050606eb;place-items:center;padding:56px 4vw 46px;display:grid;position:fixed;inset:0}.starlight-lightbox img{object-fit:contain;cursor:default;border-radius:4px;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 116px);box-shadow:0 28px 90px #0000008c}.starlight-lightbox button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff3d;border-radius:50%;width:34px;height:34px;font-size:22px;line-height:1;position:absolute;top:18px;right:24px}.starlight-lightbox p{color:#ffffffad;font-family:var(--font-geist-mono), monospace;margin:0;font-size:10px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.starlight-season-grid img{height:330px}.starlight-story-grid figure:first-child img,.starlight-story-grid figure:last-child img,.starlight-process-grid figure:first-child img,.starlight-process-grid figure:last-child img{object-fit:contain;height:430px}.starlight-wide-diagram{margin-top:12px!important}.starlight-wide-diagram img{object-fit:contain;height:430px}.starlight-chapter-note{color:#f4f4ef9e;max-width:680px;margin:-4px 0 34px 102px;font-size:13px;line-height:1.65}.starlight-storyboards{gap:48px;display:grid}.starlight-storyboards>section{border-top:1px solid #ffffff24;padding-top:16px}.starlight-storyboards header{justify-content:space-between;align-items:baseline;margin-bottom:16px;display:flex}.starlight-storyboards header span{color:#f4f4ef73;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;font-size:9px}.starlight-storyboards h4{letter-spacing:-.035em;margin:0;font-size:18px;font-weight:480}.starlight-storyboards section>div{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.starlight-storyboards section>.storyboard-four{grid-template-columns:repeat(4,1fr)}.starlight-storyboards img{object-fit:contain;height:240px}.starlight-implementation{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.starlight-implementation img{object-fit:contain;height:380px}.starlight-outcome{border-top:1px solid #ffffff2e;grid-template-columns:100px minmax(0,1fr);gap:24px;margin-top:96px;padding-top:22px;display:grid}.starlight-outcome p{letter-spacing:-.045em;max-width:820px;margin:0;font-size:clamp(27px,4vw,48px);line-height:1.08}.starlight-case figcaption{color:#f4f4ef8c;font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;padding:10px 2px 0;font-size:9px}@media (max-width:760px){.starlight-case{padding:20px 18px 60px}.starlight-hero,.starlight-hero>img{min-height:420px}.starlight-hero-copy{bottom:22px;left:20px;right:20px}.starlight-intro,.starlight-brief,.starlight-season-grid,.starlight-story-grid,.starlight-process-grid,.starlight-scheme-grid,.starlight-journey,.starlight-implementation,.starlight-outcome{grid-template-columns:1fr}.starlight-status-note{grid-template-columns:1fr;gap:10px}.starlight-facts{grid-template-columns:1fr 1fr}.starlight-season-grid img,.starlight-story-grid figure:first-child img,.starlight-story-grid figure:last-child img,.starlight-process-grid figure:first-child img,.starlight-process-grid figure:last-child img{height:auto;min-height:220px}.starlight-scheme-grid img,.starlight-wide-diagram img,.starlight-implementation img{height:auto;min-height:210px}.starlight-outcome{gap:18px;margin-top:66px}.starlight-chapter-note{margin-left:0}.starlight-storyboards section>div,.starlight-storyboards section>.storyboard-four{grid-template-columns:1fr}.starlight-storyboards img{height:auto;min-height:220px}}.tower-case{color:#f3f5f7;background:#090a0c;padding:30px 38px 80px}.tower-hero{background:#050608;border-radius:12px;min-height:570px;position:relative;overflow:hidden}.tower-hero:after{content:"";background:linear-gradient(#0000 24%,#010307d6 100%);position:absolute;inset:0}.tower-hero>img{object-fit:cover;width:100%;height:570px}.tower-hero>div{z-index:1;position:absolute;bottom:30px;left:32px;right:32px}.tower-hero p,.tower-hero span,.tower-facts span,.tower-system p,.tower-chapters-heading p,.tower-outcome span{color:#f3f5f78c;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;margin:0;font-size:9px}.tower-hero h2{letter-spacing:-.075em;max-width:980px;margin:12px 0 18px;font-size:clamp(44px,7vw,90px);font-weight:450;line-height:.84}.tower-built{border-top:1px solid #ffffff29;margin-top:72px;padding-top:18px}.tower-built header{grid-template-columns:80px minmax(0,1fr) minmax(240px,.55fr);align-items:start;gap:22px;margin-bottom:30px;display:grid}.tower-built header p,.tower-built header span,.tower-built figcaption{color:#f3f5f78c;font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;margin:0;font-size:9px;line-height:1.55}.tower-built h3{letter-spacing:-.058em;max-width:720px;margin:0;font-size:clamp(28px,4vw,52px);font-weight:460;line-height:.95}.tower-built-grid{grid-template-columns:minmax(0,1.65fr) minmax(260px,.65fr);align-items:stretch;gap:10px;display:grid}.tower-built figure{background:#111318;border-radius:8px;grid-template-rows:minmax(0,1fr) auto;margin:0;display:grid;overflow:hidden}.tower-built img{object-fit:cover;cursor:zoom-in;width:100%;height:100%;min-height:520px;display:block}.tower-built figure:first-child img{object-position:center}.tower-built figure:last-child img{object-position:center 42%}.tower-built figcaption{border-top:1px solid #ffffff1a;min-height:44px;padding:10px 12px}.tower-intro{grid-template-columns:minmax(0,1.2fr) minmax(280px,.65fr);gap:58px;margin:78px 0 62px;display:grid}.tower-intro p{color:#f3f5f7a3;margin:0;font-size:15px;line-height:1.72}.tower-intro p:first-child{color:#f3f5f7;letter-spacing:-.052em;font-size:clamp(32px,4.4vw,58px);line-height:1.02}.tower-facts{border-top:1px solid #ffffff29;border-bottom:1px solid #ffffff29;grid-template-columns:repeat(4,1fr);display:grid}.tower-facts div{gap:10px;padding:18px 18px 18px 0;display:grid}.tower-facts b{max-width:190px;font-size:12px;font-weight:480;line-height:1.4}.tower-system,.tower-chapters-heading{border-top:1px solid #ffffff29;grid-template-columns:80px minmax(0,1fr) minmax(260px,.65fr);gap:22px;margin-top:92px;padding-top:18px;display:grid}.tower-system>span,.tower-chapters-heading>span{color:#f3f5f76b;font-family:var(--font-geist-mono), monospace;font-size:10px}.tower-system h3,.tower-chapters-heading h3{letter-spacing:-.058em;max-width:700px;margin:13px 0 0;font-size:clamp(28px,4vw,52px);font-weight:460;line-height:.95}.tower-system-list{align-content:start;display:grid}.tower-system-list p{color:#f3f5f7a8;border-bottom:1px solid #ffffff1f;grid-template-columns:28px 1fr;gap:8px;padding:13px 0;line-height:1.5;display:grid}.tower-system-list b{color:#f3f5f7;font-weight:500}.tower-chapters-heading{grid-template-columns:80px 1fr;margin-bottom:32px}.tower-chapters{border-top:1px solid #ffffff2e}.tower-chapters details{border-bottom:1px solid #ffffff2e}.tower-chapters summary{cursor:pointer;grid-template-columns:62px 1fr 60px 28px;align-items:center;gap:16px;padding:22px 0;list-style:none;display:grid}.tower-chapters summary::-webkit-details-marker{display:none}.tower-chapters summary span,.tower-chapters summary b,.tower-chapters summary i{color:#f3f5f77a;font-family:var(--font-geist-mono), monospace;font-size:10px;font-style:normal;font-weight:400}.tower-chapters summary i{font-size:18px;transition:transform .22s}.tower-chapters details[open] summary i{transform:rotate(45deg)}.tower-chapters h4{letter-spacing:-.045em;margin:0;font-size:clamp(21px,2.4vw,34px);font-weight:470}.tower-chapter-copy{justify-content:space-between;align-items:end;gap:30px;padding:4px 0 24px 78px;display:flex}.tower-chapter-copy p{color:#f3f5f7ad;max-width:620px;margin:0;font-size:13px;line-height:1.65}.tower-chapter-copy span,.tower-frame-grid figcaption{color:#f3f5f76b;font-family:var(--font-geist-mono), monospace;font-size:9px}.tower-frame-grid{grid-template-columns:repeat(2,1fr);gap:10px;padding-bottom:28px;display:grid}.tower-frame-grid figure{background:#111318;border-radius:8px;margin:0;overflow:hidden}.tower-frame-grid img{object-fit:contain;cursor:zoom-in;width:100%;height:310px;display:block}.tower-frame-grid figcaption{padding:8px 10px 10px}.tower-frame-grid--5 figure:first-child{grid-column:1/-1}.tower-frame-grid--5 figure:first-child img{height:410px}.tower-outcome{border-top:1px solid #ffffff2e;grid-template-columns:110px minmax(0,1fr);gap:24px;margin-top:88px;padding-top:20px;display:grid}.tower-outcome p{letter-spacing:-.048em;max-width:840px;margin:0;font-size:clamp(28px,4vw,49px);line-height:1.08}.tower-lightbox{z-index:10000;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:zoom-out;background:#030407f0;place-items:center;padding:56px 4vw 46px;display:grid;position:fixed;inset:0}.tower-lightbox img{object-fit:contain;cursor:default;border-radius:4px;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 116px);box-shadow:0 28px 90px #0009}.tower-lightbox button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff3d;border-radius:50%;width:34px;height:34px;font-size:22px;position:absolute;top:18px;right:24px}.tower-lightbox p{color:#ffffff9e;font-family:var(--font-geist-mono), monospace;margin:0;font-size:10px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}@media (max-width:760px){.tower-case{padding:20px 18px 60px}.tower-built{margin-top:52px}.tower-built header,.tower-built-grid{grid-template-columns:1fr}.tower-built header{gap:14px}.tower-built img{object-fit:contain;height:auto;min-height:0;max-height:70dvh}.tower-hero,.tower-hero>img{height:430px;min-height:430px}.tower-hero>div{bottom:22px;left:20px;right:20px}.tower-intro,.tower-facts,.tower-system,.tower-chapters-heading,.tower-outcome{grid-template-columns:1fr}.tower-facts{grid-template-columns:1fr 1fr}.tower-system-list{margin-top:12px}.tower-chapter-copy{padding-left:0;display:grid}.tower-frame-grid{grid-template-columns:1fr}.tower-frame-grid--5 figure:first-child{grid-column:auto}.tower-frame-grid img,.tower-frame-grid--5 figure:first-child img{height:auto;min-height:220px}}.photos-app{padding:28px}.photos-app header{justify-content:space-between;align-items:end;margin-bottom:28px;display:flex}.photos-app h2,.notes-app h2,.music-app h2,.trash-app h2{letter-spacing:-.05em;margin:0;font-size:38px;font-weight:480}.photos-app header span{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:10px}.photo-grid{columns:3;column-gap:8px}.photo-grid button{break-inside:avoid;cursor:zoom-in;background:#ddd;width:100%;margin:0 0 8px;padding:0;display:block;overflow:hidden}.photo-grid img{width:100%;height:auto;transition:transform .3s;display:block}.photo-grid button:hover img{transform:scale(1.04)}.photo-viewer{color:#161719;background:#fafaf8f0;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.photo-viewer-bar{min-height:44px;font-family:var(--font-geist-mono), monospace;letter-spacing:.05em;border-bottom:1px solid #14181e1a;justify-content:space-between;align-items:center;padding:0 18px;font-size:9px;display:flex}.photo-viewer-bar button{color:inherit;cursor:pointer;background:0 0;padding:0}.photo-viewer-layout{flex-direction:column;flex:1 1 0;height:0;min-height:0;padding:clamp(14px,2.2vw,28px) clamp(18px,3vw,42px) 18px;display:flex;overflow:hidden}.photo-viewer-main{flex:1 1 0;grid-template-columns:clamp(44px,7vw,104px) minmax(0,1fr) clamp(44px,7vw,104px);align-items:center;min-width:0;min-height:0;display:grid}.photo-stage{background:0 0;place-items:center;width:100%;min-width:0;height:100%;min-height:0;margin:0;display:grid;position:relative;overflow:hidden}.photo-stage img{object-position:center center;margin:auto;display:block;position:absolute;inset:0;object-fit:contain!important;width:auto!important;max-width:100%!important;height:auto!important;max-height:100%!important}.photo-arrow{color:#17191c;cursor:pointer;opacity:.72;background:0 0;border:0;border-radius:50%;justify-self:center;place-items:center;width:44px;height:44px;padding:0 0 4px;font-size:42px;font-weight:200;line-height:1;transition:opacity .16s,transform .16s;display:grid}.photo-arrow:focus-visible{opacity:1;outline-offset:3px;outline:1px solid #14181e42}.photo-arrow:hover{opacity:1;transform:scale(1.08)}.photo-arrow-left{grid-column:1}.photo-arrow-right{grid-column:3}.photo-information{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;min-width:0;padding:14px clamp(44px,7vw,104px) 12px;display:grid}.photo-information dt,.photo-viewer-count{color:#1e21268a;font-family:var(--font-geist-mono), monospace;letter-spacing:.07em;font-size:8px}.photo-information dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2.4vw,34px);margin:0;display:grid}.photo-information dl div{flex-direction:column;gap:5px;min-width:0;display:flex}.photo-information dd{color:#202226;font-family:var(--font-geist-sans), "PingFang SC", sans-serif;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:10px;line-height:1.3;overflow:hidden}.photo-viewer-count{color:#363940;letter-spacing:0;white-space:nowrap;margin:0;font-family:Georgia,Times New Roman,serif;font-size:18px}.photo-viewer-count span{color:#1e212657;margin:0 6px}.photo-filmstrip{scrollbar-color:#1e212638 transparent;scrollbar-width:thin;scroll-snap-type:x proximity;gap:2px;min-height:68px;padding:0 clamp(44px,7vw,104px) 4px;display:flex;overflow-x:auto}.photo-filmstrip button{cursor:pointer;opacity:.52;scroll-snap-align:center;background:#d9d9d7;border:0;width:clamp(72px,10vw,126px);min-width:clamp(72px,10vw,126px);height:60px;padding:0;transition:opacity .16s,transform .16s;position:relative;overflow:hidden}.photo-filmstrip button:hover,.photo-filmstrip button.is-selected{opacity:1}.photo-filmstrip button.is-selected:after{content:"";pointer-events:none;border:1px solid #14171cb8;position:absolute;inset:0}.photo-filmstrip img{object-fit:cover;width:100%;height:100%;display:block}.cv-app{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffbd;min-height:100%;padding:42px clamp(24px,4vw,58px) 56px}.cv-intro{color:#111;padding:10px 0 46px;display:block}.cv-intro .cv-label{color:#111;margin-bottom:24px}.cv-app h2{letter-spacing:-.055em;white-space:nowrap;margin:0;font-size:clamp(44px,5vw,66px);font-weight:620;line-height:1}.cv-role{letter-spacing:-.022em;max-width:760px;margin:34px 0 0;font-size:clamp(18px,2vw,27px);font-weight:430;line-height:1.18}.cv-profile-card{width:min(58%,620px);margin:-18px auto 42px;transform:rotate(-.8deg)}.cv-profile-card img{filter:drop-shadow(0 18px 24px #15191f2e);width:100%;height:auto;display:block}.cv-experience{border-top:1px solid var(--line)}.cv-section-heading{justify-content:space-between;align-items:center;padding:18px 0 14px;display:flex}.cv-section-heading h3,.cv-section-heading span{font-family:var(--font-geist-mono), monospace;text-transform:uppercase;margin:0;font-size:10px;font-weight:500}.cv-section-heading span{color:var(--muted);font-size:9px}.cv-timeline{border-bottom:1px solid var(--line)}.cv-job{border-top:1px solid #1118271f}.cv-job summary{cursor:pointer;grid-template-columns:34px minmax(120px,.55fr) minmax(300px,1.45fr) 28px;align-items:start;gap:18px;padding:19px 0;list-style:none;transition:opacity .18s;display:grid}.cv-job summary::-webkit-details-marker{display:none}.cv-job summary:hover{opacity:.68}.cv-job-index,.cv-job-date{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:9px;line-height:1.45}.cv-job-date small{font:inherit;margin-top:4px;display:block}.cv-job-heading strong,.cv-job-heading em{display:block}.cv-job-heading strong{font-size:14px;font-weight:560;line-height:1.35}.cv-job-heading em{color:var(--muted);font-family:var(--font-geist-mono), monospace;margin-top:5px;font-size:9px;font-style:normal;line-height:1.45}.cv-job-toggle{width:26px;height:26px;color:var(--muted);border:1px solid #1118272e;border-radius:50%;place-items:center;transition:transform .22s,background .18s;display:grid}.cv-job[open] .cv-job-toggle{background:#ffffff94;transform:rotate(45deg)}.cv-job-body{grid-template-columns:minmax(160px,.55fr) minmax(280px,1.45fr);gap:18px;padding:0 46px 28px 52px;animation:.24s both cvReveal;display:grid}.cv-job-profile,.cv-job-summary,.cv-job-body li{margin:0;font-size:12px;line-height:1.6}.cv-job-profile{color:var(--muted)}.cv-job-summary{margin-bottom:15px;font-size:14px;font-weight:520;line-height:1.5}.cv-project-links{flex-wrap:wrap;gap:8px;margin:8px 0 16px;display:flex}.cv-project-links button,.project-return-cv{color:#25282b;font:inherit;cursor:pointer;text-align:left;background:#fff;border:1px solid #d5d8da;border-radius:8px;padding:9px 12px;font-size:13px}.cv-project-links button:hover,.project-return-cv:hover{background:#edf0f2;border-color:#90969a}.project-return-cv{white-space:nowrap}.project-process{color:#25282b;background:#f5f6f7;border-bottom:1px solid #dfe2e4;padding:clamp(18px,4%,40px)}.project-process header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.project-process h3{margin:0;font-size:18px;font-weight:600}.project-process-controls{flex-wrap:wrap;gap:6px;display:flex}.project-process-controls button{font:inherit;color:#41464a;cursor:pointer;background:#fff;border:1px solid #d5d8da;border-radius:7px;padding:10px 14px;font-size:14px}.project-process-controls button[aria-pressed=true]{color:#fff;background:#30363a;border-color:#30363a}.project-process-controls button:hover{border-color:#626a70}.project-process-controls button:focus-visible,.cv-project-links button:focus-visible,.project-return-cv:focus-visible{outline-offset:3px;outline:2px solid #2776c1}.project-process figure{margin:0}.project-process figure img{object-fit:contain;background:#e9ebed;border-radius:8px;width:100%;height:clamp(180px,42vh,440px);display:block}.project-process figcaption{align-items:baseline;gap:14px;margin-top:12px;font-size:14px;line-height:1.7;display:flex}.project-process figcaption span{color:#626a70;font-variant-numeric:tabular-nums;flex-shrink:0}.cv-job-body ul{grid-column:2;margin:0;padding-left:1.15em}.cv-job-body li+li{margin-top:8px}@keyframes cvReveal{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.cv-columns{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:35px;margin-top:36px;padding-top:20px;display:grid}.cv-columns h3{font-family:var(--font-geist-mono), monospace;text-transform:uppercase;margin:0 0 22px;font-size:10px;font-weight:500}.cv-columns p{margin:0 0 18px;font-size:13px;line-height:1.4}.cv-columns p span{color:var(--muted);font-family:var(--font-geist-mono), monospace;margin-bottom:5px;font-size:9px;display:block}.cv-selected-projects{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:34px}.cv-selected-projects ol{margin:0;padding:0;list-style:none}.cv-selected-projects li{border-top:1px solid #1118271a;grid-template-columns:70px 1fr;gap:16px;padding:11px 0;font-size:12px;line-height:1.45;display:grid}.cv-selected-projects time{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:9px}.cv-actions{gap:12px;margin-top:40px;display:flex}.cv-actions a{border:1px solid var(--ink);background:var(--ink);color:#fff;padding:10px 14px;font-size:12px;text-decoration:none}.cv-actions span{color:var(--muted);font-family:var(--font-geist-mono), monospace;align-self:center;font-size:9px}.notes-app,.music-app,.trash-app{min-height:100%;padding:34px}.notes-app{color:#17191d;-webkit-backdrop-filter:blur(22px)saturate(108%);background:#f6f6f8f7}.notes-library{padding:clamp(28px,4vw,46px)}.notes-library-header{border-bottom:1px solid #17191d17;justify-content:space-between;align-items:center;gap:24px;padding-bottom:22px;display:flex}.notes-library-header h2{letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(1.75rem,3.2vw,2rem);font-weight:650;line-height:1.08}.notes-library-header p{color:#17191d85;font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:.8125rem;line-height:1.4}.notes-create-button{color:#25200f;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#f3c623;border:1px solid #976f002e;border-radius:999px;align-items:center;gap:7px;min-height:38px;padding:8px 14px 8px 11px;font-size:.8125rem;font-weight:620;line-height:1;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 4px 12px #835e001c}.notes-create-button span{font-size:1rem;font-weight:430}.notes-create-button:hover{transform:translateY(-1px);box-shadow:0 7px 18px #835e0029}.notes-create-button:active{transform:scale(.97)}.notes-create-button:focus-visible{outline-offset:3px;outline:2px solid #765800ad}.notes-library-section{margin-top:clamp(24px,3vw,30px)}.notes-library-section>h3{letter-spacing:-.015em;margin:0 0 14px;font-size:1rem;font-weight:650;line-height:1.2}.notes-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:26px clamp(14px,2vw,18px);width:min(100%,760px);display:grid}.note-card{width:100%;min-width:0;color:inherit;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;transition:transform .16s}.note-card:hover{transform:translateY(-3px)}.note-card:active{transform:translateY(0)scale(.985)}.note-card:focus-visible{outline-offset:4px;border-radius:13px;outline:2px solid #17191dad}.note-card-preview{aspect-ratio:4/3;background:#fffffffc;border:1px solid #17191d1a;border-radius:14px;padding:15px;transition:border-color .16s,box-shadow .16s;display:block;overflow:hidden;box-shadow:0 1px 2px #3a3d470a,0 8px 22px #3a3d4717}.note-card:hover .note-card-preview{border-color:#976f0038;box-shadow:0 2px 4px #3a3d470d,0 12px 28px #3a3d471f}.note-card-preview b,.note-card-preview em,.note-card-preview>span{text-overflow:ellipsis;display:block;overflow:hidden}.note-card-preview b{letter-spacing:-.02em;white-space:nowrap;font-size:.8125rem;font-weight:620;line-height:1.3}.note-card-preview em{color:#17191d94;text-wrap:pretty;max-height:3em;margin-top:8px;font-size:.75rem;font-style:normal;line-height:1.5}.note-card-preview>span{color:#17191d7a;border-top:1px solid #17191d1a;max-height:3em;margin-top:10px;padding-top:9px;font-size:.75rem;line-height:1.5}.note-card-caption{text-align:left;margin-top:10px;padding-inline:3px;display:block}.note-card-caption strong,.note-card-caption small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.note-card-caption strong{letter-spacing:-.01em;font-size:.8125rem;font-weight:620;line-height:1.35}.note-card-caption small{color:#17191d80;font-variant-numeric:tabular-nums;margin-top:3px;font-size:.75rem;font-weight:420;line-height:1.35}.notes-detail{background:#fffffff5;flex-direction:column;min-height:100%;padding:0;display:flex;position:relative}.notes-detail-toolbar{z-index:2;-webkit-backdrop-filter:blur(18px)saturate(110%);background:#fafaf9e0;border-bottom:1px solid #17191d17;grid-template-columns:1fr auto 1fr;align-items:center;min-height:54px;padding:7px 14px;display:grid;position:sticky;top:0}.notes-detail-toolbar>span{text-overflow:ellipsis;white-space:nowrap;max-width:28ch;font-size:11px;font-weight:560;overflow:hidden}.notes-detail-toolbar>span:first-of-type{justify-self:center}.notes-back-button,.notes-done-button,.notes-delete-button,.notes-delete-cancel,.notes-delete-confirm{cursor:pointer;border:0}.notes-back-button{background:#efeff0eb;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;font-size:27px;line-height:1;display:grid}.notes-back-button span{transform:translate(-1px,-1px)}.notes-done-button{color:#17191d;background:#e7bd12;border-radius:999px;padding:8px 14px;font-size:11px;font-weight:620}.notes-detail-actions{justify-self:end;align-items:center;gap:7px;display:flex}.notes-delete-button{color:#fff;white-space:nowrap;background:#c7352d;border-radius:999px;min-height:34px;padding:8px 12px;font-size:11px;font-weight:650;line-height:1;transition:background-color .15s,box-shadow .15s,transform .15s;box-shadow:0 4px 12px #9f241d2e}.notes-delete-button:hover{background:#ad2923;box-shadow:0 6px 16px #9f241d38}.notes-back-button:active,.notes-done-button:active,.notes-delete-button:active,.notes-delete-cancel:active,.notes-delete-confirm:active{transform:scale(.97)}.notes-back-button:focus-visible,.notes-done-button:focus-visible,.notes-delete-button:focus-visible,.notes-delete-cancel:focus-visible,.notes-delete-confirm:focus-visible{outline-offset:2px;outline:2px solid #17191db8}.notes-paper{background:#fffffff5;flex:1;min-height:350px;padding:clamp(30px,5vw,52px)}.notes-date{color:#17191d6b;margin:0 0 24px;font-size:10px}.notes-paper h2{letter-spacing:-.045em;max-width:22ch;margin:0;font-size:clamp(28px,4.4vw,40px);font-weight:590;line-height:1.08}.notes-guide-content h2{font-size:28px;line-height:50px}.notes-lead{color:#17191dad;max-width:42em;margin:20px 0 0;font-size:14px;line-height:1.65}.notes-update{background:#17191d08;border:1px solid #17191d1a;border-radius:16px;margin-top:28px;padding:18px 20px}.notes-update>p{color:#17191d7a;font-variant-numeric:tabular-nums;margin:0 0 8px;font-size:12px}.notes-update h3{margin:0;font-size:16px;font-weight:620}.notes-update>div{color:#17191dad;max-width:52em;margin-top:8px;font-size:14px;line-height:1.7}.notes-guide-list{border-top:1px solid #17191d1f;margin:34px 0 0;padding:0;list-style:none}.notes-guide-list li{border-bottom:1px solid #17191d1a;grid-template-columns:30px minmax(0,1fr);gap:16px;padding:17px 0;display:grid}.notes-guide-list li>span{color:#17191d94;width:28px;height:28px;font-family:var(--font-geist-mono), monospace;background:#17191d12;border-radius:50%;place-items:center;font-size:9px;display:grid}.notes-guide-list h3{margin:0;font-size:14px;font-weight:610}.notes-guide-list p{color:#17191d9e;margin:5px 0 0;font-size:12px;line-height:1.55}.notes-title,.notes-editor{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;display:block}.notes-title{letter-spacing:-.05em;border-bottom:1px solid #17191d21;margin-top:0;padding:0 0 17px;font-size:clamp(28px,4.4vw,40px);font-weight:590;line-height:1.05}.notes-editor{resize:none;min-height:300px;margin-top:18px;padding:0 4px 18px 0;font-size:14px;line-height:1.7}.notes-title::placeholder,.notes-editor::placeholder{color:#17191d57}.notes-title:focus,.notes-editor:focus{caret-color:#a47f00}.notes-delete-backdrop{z-index:8;-webkit-backdrop-filter:blur(4px);background:#18191c29;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.notes-delete-dialog{color:#17191d;background:#fffffff5;border:1px solid #ffffffb8;border-radius:16px;width:min(100%,320px);padding:22px;box-shadow:inset 0 1px #ffffffc7,0 20px 56px #2d2f372e}.notes-delete-dialog h3{letter-spacing:-.025em;margin:0;font-size:17px;font-weight:650;line-height:1.3}.notes-delete-dialog p{color:#17191d99;margin:7px 0 0;font-size:13px;line-height:1.5}.notes-delete-dialog-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:20px;display:grid}.notes-delete-cancel,.notes-delete-confirm{border-radius:12px;min-height:42px;padding:9px 14px;font-size:13px;font-weight:620}.notes-delete-cancel{color:#17191d;background:#17191d12}.notes-delete-confirm{color:#fff;background:#c7352d}.notes-delete-confirm:hover{background:#ad2923}@media (max-width:720px){.notes-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notes-editor{font-size:1rem}}@media (max-width:460px){.notes-library{padding:24px 18px 36px}.notes-library-header{gap:14px}.notes-create-button{min-height:38px;padding-inline:10px 12px}.notes-detail-toolbar{grid-template-columns:40px minmax(0,1fr) auto;padding-inline:10px}.notes-detail-actions{gap:5px}.notes-delete-button,.notes-done-button{padding-inline:10px;font-size:10px}.notes-card-grid{gap:26px 12px}.notes-paper{padding:28px 22px 44px}.notes-guide-list li{gap:12px}}@media (prefers-reduced-transparency:reduce){.notes-app,.notes-detail-toolbar,.notes-paper,.notes-delete-dialog{-webkit-backdrop-filter:none;background:#f8f8f8}.notes-delete-backdrop{-webkit-backdrop-filter:none;background:#18191c47}}.personal-panel{background:#f4f6f270;min-height:100%;padding:36px}.personal-eyebrow{color:#191c208f;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;margin:0 0 16px;font-size:9px}.personal-panel h2{letter-spacing:-.055em;margin:0;font-size:34px;font-weight:470;line-height:.98}.system-computer-icon{color:#fff;width:72px;height:58px;font-family:var(--font-geist-mono), monospace;background:#191919c2;border:1px solid #ffffff42;border-radius:10px;place-items:center;margin-bottom:28px;font-size:14px;font-weight:700;display:grid;box-shadow:inset 0 1px #ffffff24,0 14px 32px #0000002e}.system-version{color:#191c2094;font-family:var(--font-geist-mono), monospace;margin:10px 0 30px;font-size:10px}.system-specs{gap:0;margin:0;display:grid}.system-specs div{border-top:1px solid #191c201f;grid-template-columns:90px 1fr;padding:11px 0;font-size:12px;display:grid}.system-specs dt{color:#191c2085}.system-specs dd{margin:0}.guide-app{-webkit-backdrop-filter:blur(26px)saturate(118%);background:linear-gradient(145deg,#ffffff38,#0000 48%),#f4f6f2e0}.guide-app h2{max-width:13ch;line-height:1.06}.guide-intro{color:#191c20b8;max-width:34em;margin:18px 0 0;font-size:12px;line-height:1.6}.guide-app ul{gap:0;margin:24px 0 0;padding:0;list-style:none;display:grid}.guide-app li{border-top:1px solid #191c201f;grid-template-columns:38px 1fr;gap:12px;padding:12px 0;display:grid}.guide-app li>span{color:#191c208a;font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;font-size:8px}.guide-app strong{font-size:13px}.guide-app li p{color:#191c20ad;margin:3px 0 0;font-size:11px;line-height:1.45}@media (prefers-reduced-transparency:reduce){.guide-app{-webkit-backdrop-filter:none;background:#f4f6f2fa}}.contact-app>p:not(.personal-eyebrow){color:#191c209e;margin:26px 0;line-height:1.55}.contact-app a{color:inherit;text-underline-offset:5px;font-size:18px;display:inline-block}.contact-app small{color:#191c2075;margin-top:18px;font-size:9px;display:block}.tools-app{color:#171a1f;min-height:100%}.tools-library{background:radial-gradient(circle at 86% 0,#a3cdff52,#0000 34%),linear-gradient(145deg,#ffffffbd,#e8eff79e);padding:clamp(24px,4vw,46px)}.tools-library-heading{border-bottom:1px solid #121b2621;justify-content:space-between;align-items:end;gap:24px;padding-bottom:22px;display:flex}.tools-library-heading p,.tool-card-copy small{color:#131b2580;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;margin:0 0 7px;font-size:9px}.tools-library-heading h2{letter-spacing:-.055em;margin:0;font-size:clamp(30px,4vw,48px);font-weight:520}.tools-library-heading>span{color:#131b2585;font-size:11px}.tools-grid{grid-template-columns:minmax(0,1.55fr) minmax(210px,.7fr);gap:14px;margin-top:22px;display:grid}.tool-card{min-height:250px;color:inherit;text-align:left;background:linear-gradient(145deg,#ffffffb8,#e3edf97a),#ebf1f8c2;border:1px solid #ffffffb3;border-radius:24px;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:22px;padding:26px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe0,0 18px 42px #233e5d1f}button.tool-card{cursor:pointer;transition:transform .18s,box-shadow .18s}button.tool-card:hover,button.tool-card:focus-visible{transform:translateY(-3px);box-shadow:inset 0 1px #fffffff2,0 24px 52px #233e5d2e}.tool-card-icon{width:142px;height:142px;display:block}.tool-card-icon img{object-fit:contain;filter:drop-shadow(0 15px 16px #1a304f2e);width:100%;height:100%;display:block}.tool-card-copy{gap:8px;display:grid}.tool-card-copy strong{letter-spacing:-.045em;font-size:clamp(24px,3vw,36px);font-weight:560}.tool-card-copy>span{color:#131b259e;max-width:42ch;font-size:12px;line-height:1.65}.tool-card-open{align-self:start;font-size:24px;font-weight:300}.tool-card-coming{box-shadow:none;color:#131b2561;text-align:center;background:#ffffff38;border-style:dashed;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.tool-card-coming>span{font-size:32px;font-weight:280}.tool-card-coming strong{max-width:14ch;font-size:12px;font-weight:520}.tools-editor{background:#eeeae0;flex-direction:column;height:100%;display:flex}.tools-editor-bar{background:#f8f6eff0;border-bottom:1px solid #221f1a1f;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;min-height:46px;padding:0 14px;display:grid}.tools-editor-bar button,.tools-editor-bar a{color:#1d1c19b8;border-radius:999px;width:fit-content;padding:7px 10px;font-size:11px;text-decoration:none}.tools-editor-bar button{cursor:pointer;background:#ffffff9e;border:1px solid #221f1a1f}.tools-editor-bar button span{margin-right:4px;font-size:17px;line-height:0}.tools-editor-bar strong{font-size:12px;font-weight:560}.tools-editor-bar a{justify-self:end}.tools-calendar-frame{background:#eeeae0;border:0;flex:1;width:100%}.games-app{background:#ebe8f875;min-height:100%;padding:30px}.games-app>header{justify-content:space-between;align-items:end;margin-bottom:24px;display:flex}.games-app header p,.games-app header>span{color:#191c2085;font-family:var(--font-geist-mono), monospace;letter-spacing:.07em;margin:0 0 8px;font-size:8px}.games-app h2{letter-spacing:-.05em;margin:0;font-size:30px;font-weight:470}.game-library{grid-template-columns:1.4fr 1fr;gap:10px;display:grid}.game-slot{color:#fff;background:linear-gradient(145deg,#ffffff29,#0000 46%),#191919db;border:1px solid #ffffff38;border-radius:17px;flex-direction:column;justify-content:flex-end;min-height:210px;padding:18px;display:flex;box-shadow:inset 0 1px #ffffff1f,0 14px 30px #00000029}.game-slot-primary{background:radial-gradient(circle at 80% 15%,#8b68ffb3,#0000 42%),#191919}.game-controller{background:#ffffff1a;border:1px solid #ffffff52;border-radius:14px;place-items:center;width:50px;height:36px;margin-bottom:auto;font-size:22px;display:grid}.game-slot strong{font-size:15px}.game-slot small{color:#fff9;margin-top:6px;font-size:9px;line-height:1.45}.game-slot-empty{color:#ffffffa8;text-align:center;justify-content:center;align-items:center}.game-slot-empty>span{margin-bottom:12px;font-size:26px}.games-app-filled{background:radial-gradient(circle at 78% 14%,#9579ff2e,#0000 34%),#ebe8f894}.game-library-filled{grid-template-columns:minmax(0,1.55fr) minmax(210px,.7fr);align-items:stretch}.game-project-card{color:#fff;background:#191919eb;border:1px solid #ffffff59;border-radius:18px;grid-template-columns:minmax(180px,.86fr) minmax(230px,1.14fr);min-height:236px;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffff1f,0 18px 42px #0000002e}.game-project-visual{background:linear-gradient(#ffffff12 1px,#0000 1px) 0 0/18px 18px,linear-gradient(90deg,#ffffff12 1px,#0000 1px) 0 0/18px 18px,radial-gradient(circle at 50% 48%,#8f69ffe0,#382274b8 38%,#16131d 78%);place-items:center;min-height:236px;display:grid;position:relative;overflow:hidden}.game-project-visual:after{content:"";pointer-events:none;background:linear-gradient(120deg,#ffffff1f,#0000 32% 70%,#7052ff33);position:absolute;inset:0}.game-project-edition,.game-project-day{z-index:1;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;font-size:8px;position:absolute}.game-project-edition{inset-block-start:16px;inset-inline-start:16px}.game-project-day{color:#ffffff9e;inset-block-end:16px;inset-inline-end:16px}.game-project-monitor{z-index:1;letter-spacing:.06em;background:#0f0c15ad;border:1px solid #ffffff6b;border-radius:13px 13px 19px 19px;justify-content:center;align-items:center;gap:3px;width:112px;height:82px;font-size:19px;font-weight:600;display:flex;position:relative;box-shadow:inset 0 0 24px #9b7dff42,0 18px 35px #00000052}.game-project-monitor:after{content:"";background:#ffffff85;border-radius:99px;height:5px;position:absolute;inset-block-end:-11px;inset-inline:27px;box-shadow:0 7px 0 -1px #ffffff3d}.game-project-copy{flex-direction:column;justify-content:center;padding:25px;display:flex}.game-project-meta{gap:6px;margin-bottom:14px;display:flex}.game-project-meta span{color:#ffffff9e;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;border:1px solid #ffffff29;border-radius:99px;padding:4px 7px;font-size:7px}.game-project-copy h3{letter-spacing:-.035em;margin:0;font-size:21px;font-weight:540}.game-project-copy p{color:#ffffffa3;text-wrap:pretty;max-width:42ch;margin:10px 0 18px;font-size:10px;line-height:1.55}.game-project-status{color:#ffffffc7;align-items:center;gap:7px;font-size:9px;display:flex}.game-status-dot{background:#ffc94a;border-radius:50%;width:6px;height:6px;box-shadow:0 0 12px #ffc94ab8}.game-webgl-note{-webkit-backdrop-filter:blur(18px)saturate(125%);backdrop-filter:blur(18px)saturate(125%);background:#ffffff6b;border:1px solid #ffffff47;border-radius:18px;flex-direction:column;justify-content:flex-end;min-height:236px;padding:20px;display:flex;box-shadow:inset 0 1px #ffffff85,0 14px 30px #39275d1a}.game-webgl-icon{color:#fff;background:#191919;border-radius:50%;place-items:center;width:34px;height:34px;margin-bottom:auto;font-size:15px;display:grid}.game-webgl-note strong{font-size:13px}.game-webgl-note p{color:#191c2094;text-wrap:pretty;margin:8px 0 0;font-size:9px;line-height:1.55}@media (max-width:720px){.game-library-filled,.game-project-card{grid-template-columns:1fr}.game-project-visual{min-height:180px}.game-webgl-note{min-height:150px}}.boot-screen{z-index:11000;color:#111;will-change:opacity;background:#fff;place-items:center;animation:3.5s cubic-bezier(.4,0,.2,1) both boot-screen-sequence;display:grid;position:fixed;inset:0}.boot-content{width:min(600px,100vw - 48px);transform:translateY(-2vh)}.boot-welcome-art{aspect-ratio:934/358;width:72%;margin:0 auto;position:relative;overflow:hidden}.boot-welcome-art img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.boot-progress{background:#00000024;border-radius:999px;width:min(360px,72%);height:2px;margin:72px auto 0;overflow:hidden}.boot-progress span{transform-origin:0;border-radius:inherit;background:#111;width:100%;height:100%;animation:2.25s cubic-bezier(.22,.75,.2,1) .25s both boot-progress-fill;display:block}@keyframes boot-progress-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes boot-screen-sequence{0%{opacity:1}72%{opacity:1}to{opacity:0}}.restart-screen{z-index:10000;color:#fff;background:#080808;place-content:center;place-items:center;animation:1.4s both restart-fade;display:grid;position:fixed;inset:0}.restart-mark{width:64px;height:64px;font-family:var(--font-geist-mono), monospace;background:#191919;border:1px solid #fff3;border-radius:16px;place-items:center;font-weight:700;display:grid}.restart-screen p{color:#ffffff94;font-family:var(--font-geist-mono), monospace;margin:18px 0 0;font-size:10px}@keyframes restart-fade{0%{opacity:0}22%,72%{opacity:1}to{opacity:0}}.music-app{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:center;background:#d4d9ffad}.album-art{background:radial-gradient(circle,#fff 0 4%,#101218 5% 13%,#0000 14%),conic-gradient(from 40deg,#2b52ff,#ff5b9d,#fff6c2,#2b52ff);place-items:center;width:190px;height:190px;margin:0 auto 24px;display:grid;position:relative;box-shadow:0 20px 40px #2d346e40}.album-art span{border:1px solid #ffffff8c;border-radius:50%;width:75%;height:75%}.music-app h2{font-size:28px}.music-progress{background:#1012182e;height:3px;margin:28px 0}.music-progress span{background:var(--ink);width:42%;height:100%;display:block}.music-controls{justify-content:center;gap:32px;display:flex}.music-controls button{cursor:pointer;background:0 0;font-size:18px}.trash-app{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#dce4d8ad}.discarded-files{gap:10px;margin-top:50px;display:grid}.discarded-files span{font-family:var(--font-geist-mono), monospace;background:#ffffff59;border:1px solid #2837272e;padding:12px;font-size:11px}.dock{z-index:2500;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.dock-surface{-webkit-backdrop-filter:blur(30px)saturate(115%)contrast(103%);background:linear-gradient(#ffffff12,#0000 38%),#191919ad;border:1px solid #ffffff2e;border-radius:18px;align-items:flex-end;gap:3px;padding:7px 9px 9px;display:flex;box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #0000001f,0 16px 38px #00000047}.dock-entry{align-items:stretch;display:flex}.dock-divider{background:#ffffff2e;width:1px;margin:4px 8px}.dock-item{cursor:pointer;background:0 0;place-items:center;width:54px;height:56px;padding:0;display:grid;position:relative}.dock-icon{color:#182442;width:48px;height:48px;font-family:var(--font-geist-mono), monospace;background:linear-gradient(145deg,#fff,#bac5d5);border:1px solid #ffffff6b;border-radius:13px;place-items:center;font-size:0;font-weight:650;transition:transform .18s cubic-bezier(.2,.8,.2,1),filter .18s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px 1px #ffffff9e,inset 0 -1px 1px #141b2726,0 5px 10px #141c2842}.dock-work .dock-icon{background:linear-gradient(90deg,#0000 49%,#ffffff4d 50%),linear-gradient(145deg,#69c7ff,#1678e8);border-radius:13px;overflow:hidden}.dock-work .dock-icon:before{content:"";background:#0c3767;border-radius:50%;width:4px;height:6px;position:absolute;top:14px;left:12px;box-shadow:20px 0 #0c3767}.dock-work .dock-icon:after{content:"";border-bottom:2px solid #0c3767;border-radius:0 0 50% 50%;height:11px;position:absolute;bottom:10px;left:11px;right:11px}.dock-photos .dock-icon{background:radial-gradient(circle,#fff 0 12%,#0000 13%),conic-gradient(#ff3e63,#ffb834,#f6e44f,#55ce7b,#37bce8,#5969ef,#bd55e5,#ff3e63);border-radius:13px}.dock-photos .dock-icon:after{content:"";border:2px solid #ffffffb8;border-radius:50%;position:absolute;inset:10px}.dock-notes .dock-icon{background:repeating-linear-gradient(#fff 0 8px,#d9dce3 9px 10px),#fff;border-radius:13px;box-shadow:inset 0 12px #ffd43b,inset 0 1px 1px #ffffff9e,0 5px 10px #141c2842}.dock-music .dock-icon{background:linear-gradient(145deg,#ffffff47,#0000 45%),linear-gradient(145deg,#ff526f,#d5144c);border-radius:13px}.dock-music .dock-icon:after{color:#fff;content:"♪";font-family:var(--font-geist-sans);place-items:center;font-size:31px;font-weight:700;display:grid;position:absolute;inset:7px}.dock-cv .dock-icon{background:linear-gradient(145deg,#ffffff52,#0000 45%),linear-gradient(145deg,#5d86ff,#2753d7);border-radius:13px}.dock-cv .dock-icon:after{color:#fff;content:"CV";font-family:var(--font-geist-mono), monospace;background:#fff;border-radius:2px;padding:2px 3px;font-size:8px;position:absolute;bottom:6px;right:7px}.dock-trash .dock-icon{background:repeating-linear-gradient(90deg,#0000 0 8px,#00000014 9px 10px),linear-gradient(145deg,#f7fafb,#aeb9c3);border-radius:10px 10px 14px 14px}.dock-trash .dock-icon:before{content:"";background:#e8edef;border:1px solid #0000002e;border-radius:2px;width:30px;height:5px;position:absolute;top:5px;left:8px}.dock-item:hover .dock-icon,.dock-item:focus-visible .dock-icon{filter:drop-shadow(0 8px 6px #141c3233);transform:translateY(-9px)scale(1.22)}.dock-item:active .dock-icon{transform:translateY(-4px)scale(1.08)}.dock-tooltip{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px)saturate(120%);backdrop-filter:blur(16px)saturate(120%);opacity:0;pointer-events:none;white-space:nowrap;background:#f4f6f78a;border-radius:6px;padding:5px 8px;font-size:11px;transition:all .12s;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%,5px);box-shadow:0 5px 14px #141c3229}.icon-glass-theme .file-icon,.icon-glass-theme .dock-icon{color:#fffffff0;-webkit-backdrop-filter:blur(14px)saturate(125%);background:linear-gradient(150deg,#ffffff6b,#0000 38%),linear-gradient(145deg,#82bcffb8,#2b66d2a3);border:1px solid #e1f2ff7a;box-shadow:inset 0 1px 1px #ffffffa3,inset 0 -7px 14px #12429e2e,0 1px #fff3,0 7px 16px #0c205240}.icon-glass-theme .file-icon.folder{background:linear-gradient(#ffffff61,#0000 38%),linear-gradient(155deg,#78c1ffd1,#2767c8b8);border-radius:9px 13px 13px}.icon-glass-theme .file-icon.folder:before{background:linear-gradient(#c0e2ffe0,#589de1db);border:1px solid #e6f6ff57}.icon-glass-theme .file-icon.photo{background:radial-gradient(circle at 50% 52%,#fffffff5 0 12%,#0000 13%),conic-gradient(from 20deg,#8bc7ff,#82a9ff,#b99dff,#8edbf1,#8bc7ff);border-color:#eef8ffad}.icon-glass-theme .file-icon.document{color:#296ed2;background:linear-gradient(135deg,#0000 0 12px,#cde3fbb8 13px),linear-gradient(160deg,#ffffffe0,#97c3f1bd)}.icon-glass-theme .file-icon.game{background:radial-gradient(circle at 34% 42%,#fff 0 3px,#0000 4px),radial-gradient(circle at 66% 42%,#fff 0 3px,#0000 4px),radial-gradient(circle at 30% 66%,#fff 0 2px,#0000 3px),radial-gradient(circle at 70% 66%,#fff 0 2px,#0000 3px),linear-gradient(150deg,#ffffff59,#0000 42%),linear-gradient(145deg,#7ca4ffd6,#3e59c6c2)}.icon-glass-theme .dock-work .dock-icon{background:linear-gradient(90deg,#0000 49%,#ffffff42 50%),linear-gradient(145deg,#a4d6ffe0,#2f74d8c7)}.icon-glass-theme .dock-photos .dock-icon{background:radial-gradient(circle,#fff 0 12%,#0000 13%),conic-gradient(#a7d3ff,#8faeff,#c3aaff,#94d8ee,#a7d3ff)}.icon-glass-theme .dock-notes .dock-icon{background:repeating-linear-gradient(#ffffffeb 0 8px,#a0c7eec7 9px 10px),#aed3f8d6;box-shadow:inset 0 12px #ffffff94,inset 0 1px 1px #ffffffb3,0 6px 14px #112f6b3d}.icon-glass-theme .dock-music .dock-icon,.icon-glass-theme .dock-cv .dock-icon{background:linear-gradient(150deg,#fff6,#0000 44%),linear-gradient(145deg,#80b6ffd1,#3960cdbd)}.icon-glass-theme .dock-trash .dock-icon{background:repeating-linear-gradient(90deg,#0000 0 8px,#1f4c8e1f 9px 10px),linear-gradient(145deg,#f2faffe0,#74a6d9bf)}.icon-glass-theme .dock-trash .dock-icon:before{background:#e0f2ffe0;border-color:#28589738}.dock-item:hover .dock-tooltip,.dock-item:focus-visible .dock-tooltip{opacity:1;transform:translate(-50%)}.running-dot{background:#18203a;border-radius:50%;width:4px;height:4px;position:absolute;bottom:-5px}@media (min-width:1600px) and (min-height:900px){.system-bar{height:36px;padding-inline:22px}.desktop-statement{top:28%;left:6.4%}.desktop-statement h1{font-size:clamp(86px,5.35vw,108px);line-height:.9}.desktop-profile{gap:78px;width:580px;bottom:18%;left:6.5%}.desktop-files{gap:26px;top:84px;right:42px}.desktop-file{width:112px}.dock{bottom:20px}.dock-surface{gap:5px;padding:8px 11px 10px}.dock-item{width:60px;height:62px}.dock-icon{width:54px;height:54px}.app-window{width:min(820px,100vw - 40px);height:min(700px,100dvh - 120px)}.window-photos{width:min(900px,100vw - 40px)}}@media (min-width:900px) and (max-height:760px){.desktop-statement{top:24%}.desktop-statement h1{font-size:clamp(48px,5.1vw,78px);line-height:.9}.desktop-profile{bottom:17%}.desktop-files{transform-origin:100% 0;gap:12px;top:58px;transform:scale(.88)}.dock{transform-origin:bottom;bottom:8px;transform:translate(-50%)scale(.9)}}@media (max-width:760px){body{overflow:hidden}.desktop-widgets{display:none}.landing-system{top:14px;left:16px;right:16px}.landing-drive{transform-origin:100% 0;top:50px;right:14px;transform:scale(.86)}.landing-copy{top:20%;left:18px;right:18px}.landing-label{margin-bottom:16px}.landing-copy h1{font-size:clamp(52px,16vw,78px);line-height:.92}.landing-index{grid-template-columns:1fr 1fr;gap:22px;width:calc(100% - 36px);bottom:8%;left:18px}.landing-status{grid-column:1/-1}.landing-hint{display:none}.system-bar{padding:0 12px}.active-label{font-size:11px}.system-menu{display:none}.system-status{gap:10px}.system-status>span:first-child{display:none}.desktop-statement{top:13%;left:18px;right:18px}.desktop-statement>p{margin-bottom:14px}.desktop-statement h1{white-space:normal;font-size:clamp(50px,15.5vw,76px);line-height:.84}.desktop-profile{grid-template-columns:1fr 1fr;gap:24px;width:calc(100% - 36px);bottom:28%;left:18px}.hero{top:15%;left:20px;right:20px}.hero-kicker{margin-bottom:13px}.hero h1{font-size:clamp(48px,15vw,74px);line-height:.92}.hero-meta{grid-template-columns:1fr;gap:12px;max-width:330px;margin-top:25px;font-size:13px}.visual-clips{display:none}.desktop-files{grid-template-columns:repeat(3,1fr);gap:5px;inset:auto 15px 86px}.desktop-file{width:100%;transform:none!important}.desktop-file>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.app-window,.window-photos,.window-cv,.window-notes,.window-music,.window-trash,.window-system,.window-guide,.window-contact,.window-game,.window-tools{resize:none;border:0;border-radius:0;width:100%;min-width:0;height:calc(100dvh - 34px);min-height:0;position:fixed;inset:34px 0 0;transform:none!important}.tools-library{padding:22px 16px}.tools-library-heading{align-items:start}.tools-grid{grid-template-columns:1fr}.tool-card{border-radius:20px;grid-template-columns:96px minmax(0,1fr) auto;gap:14px;min-height:190px;padding:18px}.tool-card-icon{width:92px;height:92px}.tool-card-coming{min-height:120px}.tools-editor-bar{grid-template-columns:1fr auto}.tools-editor-bar>strong{display:none}.app-window.is-maximized{inset:34px 0 0}.window-bar{cursor:default}.work-intro{min-height:300px;padding:26px 20px}.work-intro h2{font-size:45px}.project-card{min-height:520px}.project-overlay{padding:20px}.project-overlay h3{font-size:48px}.project-meta{flex-wrap:wrap}.project-meta a{width:100%;margin:0}.photos-app,.cv-app{padding:24px 18px}.photo-grid{columns:2}.game-library{grid-template-columns:1fr}.photo-viewer-layout{flex:1 1 0;height:0;padding:12px 10px 10px;overflow:hidden}.photo-viewer{height:100%;min-height:0;overflow:hidden}.photo-viewer-main{grid-template-columns:38px minmax(0,1fr) 38px}.photo-information{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 38px 10px}.photo-information dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.photo-information dd{font-size:9px}.photo-information dl div:nth-child(3),.photo-information dl div:nth-child(4){display:none}.photo-viewer-count{font-size:15px}.photo-arrow{opacity:1;width:36px;height:36px;font-size:32px}.photo-filmstrip{min-height:58px;padding:0 38px 2px}.photo-filmstrip button{width:72px;min-width:72px;height:50px}.cv-role{margin-top:24px}.cv-intro{padding:4px 0 32px}.cv-intro .cv-label{margin-bottom:18px}.cv-profile-card{width:82%;margin-bottom:28px;transform:rotate(-.35deg)}.cv-job summary{grid-template-columns:26px 1fr 26px;gap:12px}.cv-job-date{grid-area:2/2}.cv-job-heading{grid-area:1/2}.cv-job-toggle{grid-area:1/3/span 2}.cv-job-body{grid-template-columns:1fr;padding:0 38px 24px}.cv-job-body ul{grid-column:1}.cv-columns{grid-template-columns:1fr}.dock{right:10px;bottom:max(9px, env(safe-area-inset-bottom));left:10px;transform:none}.dock-surface{justify-content:space-around;padding:6px}.dock-item{width:44px;height:48px}.dock-icon{width:40px;height:40px}.dock-item:hover .dock-icon{transform:none}.dock-tooltip{display:none}}@media (max-width:700px){.project-detail-trigger{text-align:left;width:100%;margin-left:0}.ai-theater-case{padding:40px 18px 56px}.ai-theater-case>header{grid-template-columns:1fr}.ai-theater-case>header>p:first-child{grid-column:auto}.ai-theater-facts{grid-template-columns:1fr}.ai-theater-facts>div+div{border-top:1px solid #1012181f}}.project-stack-carousel{perspective:1300px;perspective-origin:50% 40%;touch-action:pan-x;-webkit-user-select:none;user-select:none;outline:none;min-height:540px;padding-bottom:30px}.project-stack-carousel:focus-visible{box-shadow:inset 0 0 0 2px #26344442}.project-stack-track{height:440px;transform-style:preserve-3d;padding:0;display:block;position:relative}.project-stack-card{z-index:calc(var(--stack-count) - var(--stack-index));aspect-ratio:1.32;opacity:1;width:clamp(250px,31vw,370px);min-height:0;transform:translateX(-50%) translateY(calc(var(--stack-index) * 23px)) translateZ(calc(var(--stack-index) * -13px)) rotateZ(calc((var(--stack-index) - 6) * .16deg));transform-origin:50% 100%;filter:saturate(.74) brightness(calc(1 - var(--stack-index) * .014));cursor:pointer;will-change:transform, opacity;border-radius:5px 5px 13px 13px;transition:transform .78s cubic-bezier(.22,.8,.18,1),opacity .48s,filter .48s,box-shadow .55s;position:absolute;top:2px;left:50%;box-shadow:0 6px 18px #2030431f}.project-stack-card .project-overlay{opacity:.25;transition:opacity .45s}.project-stack-card .project-overlay>p,.project-stack-card .project-meta{opacity:0;transition:opacity .35s}.project-stack-carousel.has-extracted-card .project-stack-card{opacity:.16;transform:translateX(calc(-50% + var(--stack-exit-x))) translateY(calc(var(--stack-index) * 8px)) translateZ(-260px) rotateZ(calc(var(--stack-offset) * 2deg)) scale(.74);pointer-events:none}.project-stack-carousel.has-extracted-card .project-stack-card.is-active{z-index:30;opacity:1;filter:none;cursor:zoom-in;pointer-events:auto;transform:translate(-50%)translateY(18px)translateZ(80px)rotate(0)scale(1.08);box-shadow:0 36px 80px #20304347}.project-stack-card.is-active .project-overlay,.project-stack-card.is-active .project-overlay>p,.project-stack-card.is-active .project-meta{opacity:1}.project-stack-card[aria-hidden=true]{pointer-events:none}.project-stack-carousel .project-pagination{z-index:40;grid-template-columns:auto minmax(0,1fr);position:relative}.project-stack-carousel .project-page-dots{overflow:hidden}.project-stack-carousel .project-page-dots i{flex:0 8px;width:8px}.project-stack-carousel .project-page-dots i.is-active{flex-basis:28px;width:28px}.project-stack-carousel .project-edge-nav{width:16%;top:55px;bottom:20px}.project-stack-return{z-index:40;color:#263444;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;background:#ffffffa3;border:1px solid #2634442e;border-radius:999px;padding:8px 14px;font-size:10px;position:absolute;bottom:18px;right:22px}.project-stack-return:hover{background:#ffffffe0}.project-stack-return:active{transform:scale(.97)}@media (max-width:700px){.project-stack-carousel{perspective:1000px;min-height:510px}.project-stack-track{height:410px}.project-stack-card{aspect-ratio:1.18;width:min(72vw,290px)}.project-stack-carousel.has-extracted-card .project-stack-card.is-active{transform:translate(-50%)translateY(25px)translateZ(55px)scale(1.02)}.project-stack-carousel .project-edge-nav{display:none}.project-stack-return{bottom:12px;right:12px}}@media (prefers-reduced-motion:reduce){.project-stack-card,.project-stack-card .project-overlay{transition-duration:.01ms}}.icon-glass-theme .file-icon.web,.icon-glass-theme .dock-work .dock-icon,.dock-work .dock-icon{background:radial-gradient(circle at 50% 48%,#fffffff5 0 10%,#0000 11%),conic-gradient(from 18deg,#4fd7ff,#3578ef,#744ae8,#4fd7ff);border:3px solid #ffffffc7}.dock-work .dock-icon:before{background:0 0;border:1px solid #ffffffbf;border-radius:50%;width:27px;height:27px;top:8px;left:8px;box-shadow:inset 0 0 8px #ffffff52}.dock-work .dock-icon:after{background:linear-gradient(#fff 0 47%,#e95c68 48% 100%);border:0;border-radius:4px;width:4px;height:29px;inset:8px auto auto 21px;transform:rotate(35deg);box-shadow:0 1px 3px #00000038}.portfolio-browser-bar{z-index:90;-webkit-backdrop-filter:blur(22px)saturate(130%);background:#e5ebf18a;border-bottom:1px solid #2230401f;grid-template-columns:auto minmax(180px,620px) 1fr;align-items:center;gap:12px;min-height:48px;padding:7px 14px;display:grid;position:sticky;top:0;box-shadow:0 4px 18px #18253512}.portfolio-browser-controls{gap:4px;display:flex}.portfolio-browser-controls button{color:#253344;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:28px;height:28px;font-size:15px;display:grid}.portfolio-browser-controls button:hover:not(:disabled){background:#ffffffb8}.portfolio-browser-controls button:active:not(:disabled){transform:scale(.94)}.portfolio-browser-controls button:disabled{opacity:.26;cursor:default}.portfolio-address{color:#1b2939ad;min-width:0;height:30px;font-family:var(--font-geist-mono), monospace;background:#ffffffab;border:1px solid #2736471a;border-radius:9px;align-items:center;gap:8px;padding:0 12px;font-size:10px;display:flex;box-shadow:inset 0 1px 2px #202d3c0d}.portfolio-address i{background:#5e9ee7;border-radius:50%;flex:0 0 7px;width:7px;height:7px;box-shadow:0 0 0 3px #5e9ee721}.portfolio-address span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portfolio-browser-mode{color:#202f4075;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;justify-self:end;font-size:8px}@media (max-width:700px){.portfolio-browser-bar{grid-template-columns:auto minmax(0,1fr);gap:8px;padding:7px 9px}.portfolio-browser-mode{display:none}.portfolio-browser-controls button{width:25px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.siyuan-comparison{color:#202d40;background:#f5f7fa;border:1px solid #dce3ec;border-radius:16px;margin:28px 0;padding:clamp(18px,3vw,36px)}.siyuan-brief{background:#cbd7e5;border:1px solid #cbd7e5;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:28px 0;display:grid;overflow:hidden}.siyuan-brief>div{background:#fff;min-width:0;padding:clamp(20px,3vw,32px)}.siyuan-brief span{color:#526c8a;letter-spacing:.1em;margin-bottom:12px;font-size:12px;display:block}.siyuan-brief strong{color:#172b43;font-size:17px;line-height:1.5;display:block}.siyuan-brief p{color:#59697b;margin:10px 0 0;font-size:14px;line-height:1.75}.siyuan-comparison header>p:first-child{letter-spacing:.12em;color:#536882;margin:0 0 12px;font-size:12px}.siyuan-comparison h3{margin:0 0 16px;font-size:clamp(22px,2.3vw,30px);line-height:1.4}.siyuan-comparison header>p:last-child{color:#526174;max-width:780px;margin:0;font-size:15px;line-height:1.8}.siyuan-compare-toolbar{flex-wrap:wrap;justify-content:space-between;gap:16px;margin:24px 0;display:flex}.siyuan-compare-toolbar>div{flex-wrap:wrap;gap:6px;display:flex}.siyuan-compare-toolbar button{color:#253b55;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e2;border-radius:8px;padding:10px 14px;font-size:14px}.siyuan-compare-toolbar button[aria-pressed=true]{color:#fff;background:#173d68;border-color:#173d68}.siyuan-compare-toolbar button:hover{border-color:#477caf}.siyuan-compare-toolbar button:focus-visible{outline-offset:3px;outline:2px solid #277bc9}.siyuan-compare-images{gap:20px;display:grid}.siyuan-compare-images.is-paired{grid-template-columns:repeat(2,minmax(0,1fr))}.siyuan-compare-images figure{min-width:0;margin:0}.siyuan-compare-images figcaption{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:12px;font-size:14px;display:flex}.siyuan-compare-images figcaption b{letter-spacing:.08em;font-size:12px}.siyuan-compare-images img{aspect-ratio:2000/1314;object-fit:contain;background:#102b50;border-radius:8px;width:100%;height:auto;display:block}.siyuan-compare-images figure>p{color:#526174;margin:14px 0 0;font-size:14px;line-height:1.8}.siyuan-compare-note{border-top:1px solid #dce3ec;margin:24px 0 0;padding-top:20px;font-size:14px;line-height:1.8}.siyuan-demo-intro{margin:24px 0;font-size:14px;line-height:1.8}@media (max-width:700px){.siyuan-brief,.siyuan-compare-images.is-paired{grid-template-columns:minmax(0,1fr)}}.siyuan-case{--siyuan-ink:#101923;--siyuan-blue:#196ed7;min-height:100%;color:var(--siyuan-ink);background:#eef3f8;padding:32px 38px 88px}.siyuan-hero{background:#081729;border-radius:14px;min-height:460px;position:relative;overflow:hidden}.siyuan-hero>img{object-fit:cover;width:100%;height:100%;min-height:460px;display:block}.siyuan-hero:after{content:"";pointer-events:none;background:linear-gradient(#0000,#040e1cd1);position:absolute;inset:45% 0 0}.siyuan-hero>div{z-index:1;color:#fff;position:absolute;bottom:30px;left:34px;right:34px}.siyuan-hero span,.siyuan-intro>p:first-child,.siyuan-facts span{letter-spacing:.12em;font-size:11px}.siyuan-hero h2{letter-spacing:-.045em;max-width:900px;margin:8px 0 0;font-size:clamp(29px,4vw,60px);font-weight:500;line-height:.98}.siyuan-intro{color:#fff;background:#0c1c31;border-radius:14px;grid-template-columns:120px minmax(0,1.3fr) minmax(240px,.7fr);gap:34px;margin-top:18px;padding:46px 38px;display:grid}.siyuan-intro h3{letter-spacing:-.035em;margin:0;font-size:clamp(23px,2.6vw,38px);font-weight:430;line-height:1.08}.siyuan-intro>p:last-child{color:#ffffffad;margin:2px 0 0;font-size:14px;line-height:1.75}.siyuan-facts{background:#ffffff8a;border:1px solid #10192324;border-radius:12px;grid-template-columns:repeat(4,1fr);margin:18px 0 72px;display:grid}.siyuan-facts>div{flex-direction:column;justify-content:space-between;min-height:112px;padding:22px;display:flex}.siyuan-facts>div+div{border-left:1px solid #1019231f}.siyuan-facts b{font-size:15px;font-weight:520}.siyuan-group{margin-top:72px}.siyuan-group>header{border-bottom:1px solid #1019232e;grid-template-columns:50px 1fr auto;align-items:baseline;gap:16px;padding:0 2px 16px;display:grid}.siyuan-group>header span,.siyuan-group>header p{color:#10192385;font-size:12px}.siyuan-group>header h3{letter-spacing:-.035em;margin:0;font-size:clamp(20px,2.4vw,32px);font-weight:480}.siyuan-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.siyuan-gallery figure{cursor:zoom-in;background:#dbe7f4;border:1px solid #162f4e24;border-radius:10px;margin:0;overflow:hidden}.siyuan-gallery img{width:100%;transition:transform .45s cubic-bezier(.2,.7,.2,1);display:block}.siyuan-gallery figure:hover img{transform:scale(1.012)}.siyuan-gallery figcaption{color:#1019238c;letter-spacing:.06em;background:#ffffffa8;justify-content:space-between;padding:10px 12px;font-size:10px;display:flex}.siyuan-lightbox{z-index:10000;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#030910e6;place-items:center;padding:42px;display:grid;position:fixed;inset:0}.siyuan-lightbox img{border-radius:8px;max-width:min(1500px,95vw);max-height:90vh;box-shadow:0 30px 100px #0000008c}.siyuan-lightbox button{color:#fff;cursor:pointer;background:0 0;border:0;font-size:36px;font-weight:200;position:fixed;top:20px;right:24px}@media (max-width:800px){.siyuan-case{padding:18px 16px 70px}.siyuan-hero,.siyuan-hero>img{min-height:330px}.siyuan-hero>div{bottom:20px;left:20px;right:20px}.siyuan-intro{grid-template-columns:1fr;padding:30px 24px}.siyuan-facts{grid-template-columns:repeat(2,1fr)}.siyuan-facts>div:nth-child(3){border-top:1px solid #1019231f;border-left:0}.siyuan-facts>div:nth-child(4){border-top:1px solid #1019231f}.siyuan-gallery{grid-template-columns:1fr}.siyuan-lightbox{padding:12px}}.desktop{font-size:var(--type-body)}.desktop :where(.system-bar,.brand-menu,.language-menu,.window-bar,.window-status,.desktop-file>span:last-child,.dock-tooltip,figcaption,dt,.project-case-meta,.personal-eyebrow,[class*=status],[class*=eyebrow]){font-size:var(--type-meta)}.desktop :where(p,button,a,li,dd,input,textarea,select,label,.project-card small,.project-card b,.project-card span){font-size:var(--type-body)}.desktop :where(h3,h4,.project-card strong,.project-case-meta b,.wallpaper-control-heading h2){font-size:var(--type-heading)}.desktop :where(h1,h2,.project-case-heading h2,.ai-theater-case>header h2,.starlight-hero-copy h2,.tower-hero h2,.buxi-hero h2,.cv-hero h1){font-size:var(--type-display)}.siyuan-intro{grid-template-columns:minmax(0,1fr);gap:0}.siyuan-intro>p:first-child{margin:0 0 22px}.siyuan-intro h3{max-width:860px}.siyuan-intro>p:last-child{border-top:1px solid #ffffff2e;max-width:760px;margin-top:24px;padding-top:22px}.siyuan-overview{border-radius:18px;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);margin:18px 0 72px;display:grid;overflow:hidden;box-shadow:0 18px 44px #122d4c1a}.siyuan-overview .siyuan-intro{border-radius:0;flex-direction:column;justify-content:space-between;min-height:520px;margin:0;padding:clamp(36px,5vw,64px);display:flex}.siyuan-overview .siyuan-intro h3{max-width:680px;margin:auto 0 36px;font-size:clamp(28px,3.6vw,48px);line-height:1.16}.siyuan-overview .siyuan-intro>p:last-child{max-width:660px;margin:0;padding-top:24px}.siyuan-overview .siyuan-brief{background:#d8e0e9;border:0;border-radius:0;grid-template-columns:1fr;gap:0;margin:0;display:grid}.siyuan-overview .siyuan-brief>div{grid-template-columns:92px minmax(0,1fr);align-content:center;column-gap:18px;padding:24px 30px;display:grid}.siyuan-overview .siyuan-brief>div+div{border-top:1px solid #d8e0e9}.siyuan-overview .siyuan-brief span{grid-row:1/span 2;margin:3px 0 0}.siyuan-overview .siyuan-brief p{margin-top:6px}.siyuan-comparison{background:0 0;border:0;border-radius:0;margin:0 0 84px;padding:0}.siyuan-comparison>header{border-bottom:1px solid #cbd5e1;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);align-items:start;gap:22px 48px;padding-bottom:28px;display:grid}.siyuan-comparison>header>p:first-child{grid-column:1;margin:7px 0 0}.siyuan-comparison>header h3{grid-column:2;margin:0}.siyuan-comparison>header>p:last-child{grid-column:2}.siyuan-compare-toolbar{border-bottom:1px solid #d8e0e9;margin:20px 0;padding-bottom:20px}.siyuan-compare-images{gap:24px}.siyuan-compare-images figure{background:#fff;border:1px solid #d9e1e9;border-radius:12px;padding:12px}.siyuan-compare-images figcaption{padding:2px 2px 0}.siyuan-compare-images figure>p{padding:0 4px 4px}.siyuan-compare-note{max-width:820px;margin-top:30px;font-size:15px}.siyuan-demo-intro{border-bottom:1px solid #cbd5e1;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:12px 48px;margin:0 0 24px;padding-bottom:28px;display:grid}.siyuan-demo-intro>span{color:#526c8a;letter-spacing:.1em;grid-row:1/span 2;padding-top:7px;font-size:12px}.siyuan-demo-intro h3{margin:0;font-size:clamp(22px,2.3vw,30px);line-height:1.4}.siyuan-demo-intro p{color:#59697b;max-width:760px;margin:0;font-size:15px;line-height:1.8}@media (max-width:800px){.siyuan-overview{grid-template-columns:1fr;margin-bottom:56px}.siyuan-overview .siyuan-intro{min-height:auto}.siyuan-overview .siyuan-intro h3{margin:56px 0 28px}.siyuan-comparison>header,.siyuan-demo-intro{grid-template-columns:1fr;gap:12px}.siyuan-comparison>header>p:first-child,.siyuan-comparison>header h3,.siyuan-comparison>header>p:last-child{grid-column:1}.siyuan-demo-intro>span{grid-row:auto}}@media (max-width:520px){.siyuan-overview .siyuan-brief>div{grid-template-columns:1fr}.siyuan-overview .siyuan-brief span{grid-row:auto;margin-bottom:8px}}.starlight-brief{grid-template-columns:minmax(0,1fr);gap:0}.starlight-brief div{grid-template-columns:132px minmax(0,1fr);align-items:start;gap:28px;padding:20px 0;display:grid}.starlight-brief p{max-width:900px;margin:0}.starlight-journey{grid-template-columns:minmax(0,1fr)}.starlight-journey div{grid-template-columns:42px minmax(130px,.32fr) minmax(0,1fr);align-items:baseline;gap:18px}.starlight-journey p{grid-column:3}.tower-system,.tower-chapters-heading,.tower-built header{grid-template-columns:minmax(0,1fr);gap:0}.tower-system>span,.tower-chapters-heading>span,.tower-built header>p{margin-bottom:18px}.tower-system-list{width:100%;max-width:900px;margin-top:30px}.tower-built header>span{border-top:1px solid #ffffff24;max-width:760px;margin-top:22px;padding-top:18px}.project-case-heading,.ai-theater-case>header{grid-template-columns:minmax(0,1fr)}.project-case-copy,.ai-theater-case>header>p:last-child{max-width:760px}@media (max-width:720px){:root{--type-display:36px}.starlight-brief div,.starlight-journey div{grid-template-columns:minmax(0,1fr);gap:10px}.starlight-journey p{grid-column:1}}.work-app{box-sizing:border-box;-webkit-backdrop-filter:blur(32px)saturate(112%);background:linear-gradient(135deg,#f6f8fbeb,#e7edf4e0);min-height:100%;box-shadow:inset 0 1px #ffffff9e,0 18px 44px #1925342e}.work-intro{min-height:190px;padding:28px 30px 32px}.work-intro h2{letter-spacing:-.05em;max-width:520px;font-size:clamp(25px,3vw,40px);line-height:.98}.project-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px;display:grid}.project-pagination{color:#263444;font-family:var(--font-geist-mono), monospace;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:16px 18px 0;font-size:10px;display:grid}.project-carousel{padding-bottom:20px;position:relative;overflow:hidden}.project-edge-nav{z-index:8;color:#152435;cursor:pointer;opacity:0;background:0 0;border:0;width:7%;min-width:52px;transition:opacity .24s;position:absolute;top:52px;bottom:18px}.project-edge-nav:before{content:"";opacity:0;transition:opacity .24s;position:absolute;inset:0}.project-edge-prev{left:0}.project-edge-next{right:0}.project-edge-prev:before{background:linear-gradient(90deg,#e8eff77a,#0000 82%)}.project-edge-next:before{background:linear-gradient(270deg,#e8eff77a,#0000 82%)}.project-edge-nav span{-webkit-backdrop-filter:blur(14px)saturate(130%);opacity:0;background:#e5edf694;border:1px solid #ffffff5c;border-radius:50%;place-items:center;width:34px;height:34px;font-size:16px;transition:opacity .2s,transform .24s;display:grid;position:absolute;top:50%;transform:translateY(-50%)scale(.82);box-shadow:0 8px 24px #2030431f,inset 0 1px #ffffff7a}.project-edge-prev span{left:9px}.project-edge-next span{right:9px}.project-edge-nav:hover,.project-edge-nav:hover:before{opacity:1}.project-edge-nav:hover span,.project-edge-nav:focus-visible span{opacity:1;transform:translateY(-50%)scale(1)}.project-edge-nav:focus-visible{outline-offset:-4px;opacity:1;outline:2px solid #263444}.project-edge-nav:disabled{pointer-events:none;opacity:0}.project-page-dots{gap:5px;padding-left:8px;display:flex}.project-page-dots i{background:#2634442e;border-radius:2px;width:18px;height:2px;transition:width .25s,background .25s}.project-page-dots i.is-active{background:#263444;width:34px}.project-pagination button{color:#263444;cursor:pointer;background:#ffffffa3;border:1px solid #26344429;border-radius:10px;width:38px;height:34px;font-size:16px;transition:transform .18s,background .18s}.project-pagination button:hover:not(:disabled){background:#fff;transform:translateY(-1px)}.project-pagination button:active:not(:disabled){transform:scale(.96)}.project-pagination button:disabled{opacity:.28;cursor:default}.project-list-enter-next{animation:.42s cubic-bezier(.2,.7,.2,1) both project-page-next}.project-list-enter-prev{animation:.42s cubic-bezier(.2,.7,.2,1) both project-page-prev}@keyframes project-page-next{0%{opacity:0;transform:translate(34px)}to{opacity:1;transform:translate(0)}}@keyframes project-page-prev{0%{opacity:0;transform:translate(-34px)}to{opacity:1;transform:translate(0)}}.project-card{aspect-ratio:.64;transform-origin:50% 70%;border-radius:16px;min-height:0;transition:transform .36s cubic-bezier(.2,.7,.2,1),opacity .3s,box-shadow .36s;box-shadow:0 8px 22px #2030431a}.project-card:nth-child(3){transform:translateY(-10px);box-shadow:0 22px 42px #20304333}.project-list:has(.project-card:hover) .project-card{opacity:.7;transform:scale(.965)}.project-list:has(.project-card:hover) .project-card:hover{z-index:3;opacity:1;transform:translateY(-12px)scale(1.025);box-shadow:0 28px 54px #20304340}.project-card img{opacity:.9}.project-card:after{background:linear-gradient(#040a120a 22%,#040910d6 100%)}.project-overlay{grid-template-rows:1fr auto auto;padding:18px}.project-overlay>div:first-child{align-self:end;gap:9px;margin-bottom:10px}.project-overlay>div:first-child>span{color:#ffffffa3;font-family:var(--font-geist-mono), monospace;padding-top:3px;font-size:9px}.project-overlay h3{letter-spacing:-.045em;max-width:13ch;font-size:clamp(16px,1.45vw,22px);line-height:1}.project-overlay>p{color:#ffffffb8;-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:none;margin:0 0 14px;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.project-meta{letter-spacing:.02em;gap:9px;padding-top:10px;font-size:8px}.project-enter-mark{color:#14202b;background:#ffffffe0;border-radius:50%;flex:0 0 23px;place-items:center;width:23px;height:23px;font-size:12px;display:grid}@media (max-width:700px){.work-intro{min-height:170px;padding:24px 18px}.work-intro h2{font-size:29px}.project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.project-pagination{grid-template-columns:auto 1fr;padding:12px 10px 0}.project-edge-nav{opacity:.2;width:14%;min-width:44px;top:44px}.project-edge-nav span{opacity:.72;width:30px;height:30px;font-size:14px}.project-edge-prev span{left:5px}.project-edge-next span{right:5px}.project-card:nth-child(3){transform:none;box-shadow:0 8px 22px #2030431a}.project-card{aspect-ratio:.66;border-radius:12px;min-height:0}.project-overlay{padding:12px}.project-overlay h3{font-size:15px}.project-overlay>p,.project-meta>span:first-child{display:none}}.work-app .project-stack-carousel{perspective:none;touch-action:pan-y;min-height:382px;padding-bottom:20px;overflow:hidden}.work-app .project-stack-track{overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:inline mandatory;scrollbar-width:none;transform-style:flat;grid-template-columns:none;grid-auto-columns:calc(25% - 9px);grid-auto-flow:column;gap:12px;height:340px;padding:14px 18px 24px;scroll-padding-inline:18px;display:grid;position:relative;overflow:auto hidden}.work-app .project-stack-track::-webkit-scrollbar{display:none}.work-app .project-stack-carousel .project-edge-nav{z-index:50;width:46px;min-width:46px}.work-app .project-stack-carousel .project-edge-nav:before,.work-app .project-stack-carousel .project-edge-nav span{pointer-events:none}.work-app .project-stack-card{z-index:1;aspect-ratio:auto;opacity:1;transform-origin:50% 100%;filter:saturate(.88);scroll-snap-align:start;cursor:pointer;border-radius:14px;width:auto;height:100%;min-height:0;transition:transform .78s cubic-bezier(.22,.8,.18,1),opacity .48s,filter .48s,box-shadow .55s;position:relative;top:auto;left:auto;transform:none;box-shadow:0 8px 22px #2030431f}.work-app .project-stack-card:nth-child(3){opacity:1;transform:none;box-shadow:0 8px 22px #2030431f}.work-app .project-stack-track:has(.project-stack-card:hover) .project-stack-card{opacity:1;transform:none;box-shadow:0 8px 22px #2030431f}.work-app .project-stack-track:has(.project-stack-card:hover) .project-stack-card:hover{opacity:1;transform:none;box-shadow:0 8px 22px #2030431f}.work-app .project-stack-card:before{z-index:2;content:"";opacity:1;pointer-events:none;background:#ffffff85;transition:opacity .42s;position:absolute;inset:0}.work-app .project-stack-card img{opacity:.48;filter:blur(.6px)saturate(.62);transition:opacity .42s,filter .42s,transform .7s cubic-bezier(.2,.8,.2,1)}.work-app .project-stack-card .project-overlay{z-index:3;opacity:0;transition:opacity .36s}.work-app .project-stack-card.is-active:before,.work-app .project-stack-card:hover:before{opacity:0}.work-app .project-stack-card.is-active img,.work-app .project-stack-card:hover img{opacity:1;filter:none}.work-app .project-stack-card.is-active .project-overlay,.work-app .project-stack-card:hover .project-overlay{opacity:1}.work-app .project-stack-card .project-overlay>p{display:none}.work-app .project-stack-card .project-title-block{align-items:flex-start;gap:10px;display:flex}.work-app .project-stack-card .project-title-block h3{flex-direction:column;gap:3px;font-size:clamp(16px,2vw,23px);line-height:1.02;display:flex}.work-app .project-stack-card .project-title-block h3 strong{font-weight:520}.work-app .project-stack-card .project-title-block h3 small{letter-spacing:-.01em;font-size:.5em;font-weight:430;line-height:1.12;display:block}.work-app .project-stack-card .project-overlay,.work-app .project-stack-card .project-overlay>p,.work-app .project-stack-card .project-meta{opacity:1}.work-app .project-stack-carousel.has-extracted-card .project-stack-card,.work-app .project-stack-carousel.has-extracted-card .project-stack-card:nth-child(3){opacity:.48;filter:saturate(.62);pointer-events:auto;transform:scale(.965)}.work-app .project-stack-carousel.has-extracted-card .project-stack-track:has(.project-stack-card:hover) .project-stack-card{opacity:.48;filter:saturate(.62);pointer-events:auto;transform:scale(.965)}.work-app .project-stack-carousel.has-extracted-card .project-stack-card.is-active{z-index:30;opacity:1;filter:none;cursor:zoom-in;pointer-events:auto;transform:translateY(-8px)scale(1.025);box-shadow:0 24px 48px #20304342}.work-app .project-stack-carousel.has-extracted-card .project-stack-track:has(.project-stack-card:hover) .project-stack-card.is-active{z-index:30;opacity:1;filter:none;cursor:zoom-in;pointer-events:auto;transform:translateY(-8px)scale(1.025);box-shadow:0 24px 48px #20304342}.work-app .project-stack-carousel.has-extracted-card .project-stack-track:has(.project-stack-card:hover) .project-stack-card.is-active:hover{z-index:30;opacity:1;filter:none;cursor:zoom-in;pointer-events:auto;transform:translateY(-8px)scale(1.025);box-shadow:0 24px 48px #20304342}.work-app .project-stack-card.is-active .project-overlay,.work-app .project-stack-card.is-active .project-overlay>p,.work-app .project-stack-card.is-active .project-meta{opacity:1}.work-app .work-intro{min-height:142px;padding-top:22px;padding-bottom:20px}.work-app .work-intro h2{max-width:490px;font-size:clamp(24px,2.7vw,35px)}.desktop :where(.system-bar,.brand-menu,.language-menu,.window-bar,.window-status,.desktop-file>span:last-child,.dock-tooltip,figcaption,dt,.project-case-meta,.personal-eyebrow,[class*=status],[class*=eyebrow]){line-height:var(--leading-meta);letter-spacing:.04em;font-size:var(--type-meta)!important}.desktop :where(p,button,a,li,dd,input,textarea,select,label,.project-card small,.project-card b,.project-card span){line-height:var(--leading-body);overflow-wrap:break-word;font-size:var(--type-body)!important}.desktop :where(h3,h4,.project-card strong,.project-case-meta b,.wallpaper-control-heading h2){line-height:var(--leading-heading);letter-spacing:-.025em;text-wrap:balance;font-size:var(--type-heading)!important}.desktop :where(h1,h2,.project-case-heading h2,.ai-theater-case>header h2,.starlight-hero-copy h2,.tower-hero h2,.buxi-hero h2,.cv-hero h1){line-height:var(--leading-display);letter-spacing:-.04em;text-wrap:balance;font-size:var(--type-display)!important}.desktop :where(h1,h2,h3,h4) :where(span,b,strong,small){font-size:inherit!important}.desktop .work-app .work-intro{min-height:142px;padding-top:22px;padding-bottom:20px}.desktop .work-app .work-intro h2{max-width:490px;line-height:var(--leading-heading);letter-spacing:-.025em;text-wrap:balance;font-size:var(--type-heading)!important}.desktop .work-app .project-stack-card .project-title-block h3{letter-spacing:-.015em;text-wrap:balance;line-height:1.25;font-size:var(--type-body)!important}.desktop .work-app .project-stack-card .project-title-block h3 strong{font-size:1em!important}.desktop .work-app .project-stack-card .project-title-block h3 small{line-height:var(--leading-meta);letter-spacing:0;font-size:var(--type-meta)!important}.desktop .work-app .project-stack-card .project-meta,.desktop .work-app .project-stack-card .project-meta span,.desktop .work-app .project-pagination{line-height:var(--leading-meta);font-size:var(--type-meta)!important}@media (max-width:700px){.desktop .work-app .work-intro{min-height:170px;padding:24px 18px}.desktop .work-app .work-intro h2{font-size:var(--type-heading)!important}.desktop .work-app .project-stack-card .project-title-block h3{font-size:var(--type-body)!important}}@media (min-width:701px) and (max-width:1000px){.work-app .project-stack-carousel{min-height:382px}.work-app .project-stack-track{grid-auto-columns:calc(33.3333% - 8px);height:340px}}@media (max-width:700px){.work-app .project-stack-carousel{min-height:320px}.work-app .project-stack-track{grid-auto-columns:calc(50% - 4px);gap:8px;height:286px;padding:10px 10px 22px;scroll-padding-inline:10px}.work-app .project-stack-card{aspect-ratio:auto;width:auto;height:100%;transform:none}.work-app .project-stack-card:nth-child(3){transform:none}.work-app .project-stack-track:has(.project-stack-card:hover) .project-stack-card{transform:none}.work-app .project-stack-track:has(.project-stack-card:hover) .project-stack-card:hover{transform:none}.work-app .project-stack-carousel.has-extracted-card .project-stack-card,.work-app .project-stack-carousel.has-extracted-card .project-stack-card:nth-child(3){transform:scale(.96)}.work-app .project-stack-carousel.has-extracted-card .project-stack-card.is-active{transform:translateY(-5px)scale(1.015)}}.work-app{--work-gutter:clamp(var(--space-4), 2.6cqi, var(--space-6));isolation:isolate;flex-direction:column;min-width:0;display:flex;container:portfolio/inline-size}.work-app>.portfolio-browser-bar,.work-app>.work-intro,.work-app>.project-stack-carousel{flex:none;min-width:0}.desktop .work-app>.work-intro{gap:var(--space-4);min-height:0;padding:clamp(1.125rem, 2.8cqi, 1.75rem) var(--work-gutter);align-content:start}.work-app .work-intro>:where(p,h2){margin:0}.desktop .work-app .work-intro h2{max-width:28ch}.work-app .project-stack-carousel{min-height:clamp(21.75rem,45cqi + 3rem,26.75rem);padding-bottom:var(--space-3)}.work-app .project-pagination{gap:var(--space-3);padding:var(--space-4) var(--work-gutter) 0}.work-app .project-page-dots{min-width:0;padding-left:0;overflow:hidden}.work-app .project-stack-track{grid-auto-columns:calc((100% - (var(--space-3) * 3)) / 4);gap:var(--space-3);height:clamp(18.75rem,45cqi,23.75rem);padding:var(--space-3) var(--work-gutter) var(--space-5);scroll-padding-inline:var(--work-gutter)}.work-app .project-stack-card{min-width:0}.work-app .project-stack-card .project-overlay{padding:clamp(var(--space-3), 2.2cqi, var(--space-4))}.work-app .project-stack-card .project-title-block{gap:var(--space-2);min-width:0}.work-app .project-stack-card .project-title-block h3{min-width:0;max-width:15ch}@container portfolio (max-width:62.4375rem){.work-app .project-stack-track{grid-auto-columns:calc((100% - (var(--space-3) * 2)) / 3)}}@container portfolio (max-width:42.4375rem){.desktop .work-app>.work-intro{gap:var(--space-3);padding:var(--space-5) var(--work-gutter)}.work-app .project-stack-carousel{min-height:clamp(19.75rem,62cqi + 2.75rem,23rem)}.work-app .project-stack-track{grid-auto-columns:calc((100% - var(--space-2)) / 2);gap:var(--space-2);height:clamp(17rem,62cqi,20.25rem);padding-top:var(--space-2);padding-bottom:var(--space-4)}.work-app .project-stack-card .project-overlay{padding:var(--space-3)}}@container portfolio (max-width:27.5rem){.work-app .project-stack-track{grid-auto-columns:min(78cqi,17rem)}.work-app .project-page-dots i{width:.75rem}.work-app .project-page-dots i.is-active{width:1.5rem}}.siyuan-prototype-shell{color:#dcecff;background:#071729;border:1px solid #7eade147;border-radius:14px;margin-top:18px;overflow:hidden;box-shadow:0 24px 70px #08234233}.siyuan-prototype-shell>header,.siyuan-prototype-shell>footer{background:#0a1d33;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:12px 18px;display:flex}.siyuan-prototype-shell>header>div:first-child{flex-direction:column;gap:3px;display:flex}.siyuan-prototype-shell header span,.siyuan-prototype-shell footer{color:#dcecff8f;letter-spacing:.09em;font-size:10px}.siyuan-prototype-shell header strong{font-size:15px;font-weight:520}.siyuan-prototype-status{letter-spacing:.08em;align-items:center;gap:9px;font-size:10px;display:flex}.siyuan-prototype-status i{background:#57a5f2;border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #57a5f2bf}.siyuan-prototype-status i.is-playing{background:#83e8c4;animation:1.3s ease-in-out infinite siyuan-pulse}.siyuan-prototype-stage{aspect-ratio:2800/1840;isolation:isolate;background:#06152a;position:relative;overflow:hidden}.siyuan-prototype-stage>img{object-fit:contain;width:100%;height:100%;transition:opacity .17s,transform .25s;display:block}.siyuan-prototype-stage>img.is-changing{opacity:.28;transform:scale(.995)}.siyuan-hotspot,.siyuan-scene-hotspot,.siyuan-media-hotspot,.siyuan-enter-hotspot{z-index:2;color:#0000;cursor:pointer;background:0 0;border:1px solid #0000;position:absolute}.siyuan-hotspot{border-radius:12px;width:9%;height:14%;bottom:3.3%}.siyuan-hotspot-1{left:5.5%}.siyuan-hotspot-2{left:17%}.siyuan-hotspot-3{left:28.5%}.siyuan-hotspot-4{left:40%}.siyuan-hotspot-5{left:51.5%}.siyuan-hotspot-6{left:63%}.siyuan-hotspot-7{left:74.5%}.siyuan-home-hotspot{width:7%;right:4.5%}.siyuan-hotspot span{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#041428e0;border-radius:7px;padding:6px 9px;font-size:10px;transition:opacity .18s,transform .18s;position:absolute;bottom:calc(100% + 8px);right:50%;transform:translate(50%)}.siyuan-hotspot:hover{background:#50a4ec1f;border-color:#85ceffbf;box-shadow:inset 0 0 22px #5bb9ff2e}.siyuan-hotspot:hover span{opacity:1;transform:translate(50%,-3px)}.siyuan-hotspot:focus-visible,.siyuan-scene-hotspot:focus-visible,.siyuan-enter-hotspot:focus-visible,.siyuan-media-hotspot:focus-visible{outline-offset:2px;outline:3px solid #9cdbff}.siyuan-scene-hotspot{border-radius:999px;width:8.7%;height:5.5%;transition:border-color .18s,background .18s,box-shadow .18s,transform .12s;top:8.7%}.siyuan-scene-hotspot-1{left:3%}.siyuan-scene-hotspot-2{left:12%}.siyuan-scene-hotspot-3{left:21.6%}.siyuan-scene-hotspot-4{left:30.3%}.siyuan-scene-hotspot-5{left:39%}.siyuan-scene-hotspot-6{left:47.7%}.siyuan-scene-hotspot:hover{background:#50a4ec21;border-color:#9cdbffc7;box-shadow:inset 0 0 18px #5bb9ff2e}.siyuan-scene-hotspot:active{transform:scale(.98)}.siyuan-enter-hotspot{color:#fff;letter-spacing:.08em;border-radius:999px;width:18.4%;height:6.5%;font-size:12px;top:56.9%;left:72.8%}.siyuan-enter-hotspot:hover{background:#38a4eb2e;border-color:#91deffb8;box-shadow:0 0 28px #39b0ff38}.siyuan-media-hotspot{border-radius:16px;width:24%;height:34%;top:35%;left:38%}.siyuan-media-hotspot span{color:#fff;opacity:0;background:#071b34a3;border:1px solid #ffffff5c;border-radius:50%;place-items:center;width:46px;height:46px;transition:opacity .2s,transform .2s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.siyuan-media-hotspot:hover span{opacity:1;transform:translate(-50%,-50%)scale(1.05)}.siyuan-step{z-index:3;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;opacity:.5;background:#05183094;border:1px solid #fff3;width:42px;height:74px;font-size:20px;transition:opacity .18s,background .18s;position:absolute;top:50%;transform:translateY(-50%)}.siyuan-step:hover{opacity:1;background:#0f4678b8}.siyuan-step:disabled{opacity:.12;cursor:default}.siyuan-step-prev{border-radius:10px;left:10px}.siyuan-step-next{border-radius:10px;right:10px}.siyuan-prototype-shell>footer button{color:#dcecff;cursor:pointer;background:#ffffff0d;border:1px solid #dcecff3d;border-radius:8px;padding:8px 12px;font-size:11px}.siyuan-prototype-shell>footer button:hover{background:#ffffff1c}@keyframes siyuan-pulse{50%{opacity:.35;box-shadow:0 0 4px #83e8c459}}@media (max-width:800px){.siyuan-prototype-shell>header{align-items:flex-start}.siyuan-prototype-status{flex-wrap:wrap;justify-content:flex-end}.siyuan-step{width:34px;height:58px}.siyuan-hotspot span,.siyuan-prototype-shell>footer>span{display:none}.siyuan-prototype-shell>footer{justify-content:flex-end}}.icon-glass-theme .file-icon.generated-icon,.icon-glass-theme .dock-icon.generated-icon,.file-icon.generated-icon,.dock-icon.generated-icon{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;overflow:visible}.file-icon.generated-icon{border-radius:0;width:68px;height:68px;margin-top:0}.dock-icon.generated-icon{border-radius:0;width:50px;height:50px}.file-icon.generated-icon:before,.file-icon.generated-icon:after,.dock-icon.generated-icon:before,.dock-icon.generated-icon:after{display:none}.generated-icon img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 7px 7px #101e3a3d);width:100%;height:100%;display:block}.dock-item:hover .dock-icon.generated-icon,.dock-item:focus-visible .dock-icon.generated-icon{filter:none;transform:translateY(-9px)scale(1.24)}.dock-item:active .dock-icon.generated-icon{transform:translateY(-4px)scale(1.08)}@media (prefers-reduced-motion:reduce){.dock-icon.generated-icon{transition:none}}.flyyuan-case{--flyyuan-ink:#f7f4ff;--flyyuan-muted:#e6e0ffa3;--flyyuan-line:#c6b5ff2e;min-height:100%;color:var(--flyyuan-ink);background:#090712;font-family:PingFang SC,Helvetica Neue,Arial,sans-serif}.flyyuan-hero{background:#0b0716;min-height:clamp(430px,70vh,760px);position:relative;overflow:hidden}.flyyuan-hero>img{width:100%;height:100%;min-height:inherit;object-fit:cover;object-position:center;filter:saturate(.9)brightness(.72)}.flyyuan-hero-shade{background:linear-gradient(#0907120d,#090712e6);position:absolute;inset:0}.flyyuan-hero-copy{max-width:1020px;position:absolute;bottom:clamp(34px,7vw,92px);left:clamp(28px,6vw,96px);right:clamp(28px,6vw,96px)}.flyyuan-hero-copy p,.flyyuan-overview>p,.flyyuan-section-copy>p,.flyyuan-end>p{color:var(--flyyuan-muted);letter-spacing:.13em;margin:0 0 16px;font-size:11px;font-weight:600}.flyyuan-hero-copy h2{letter-spacing:-.055em;margin:0;font-size:clamp(50px,8vw,118px);font-weight:500;line-height:.94}.flyyuan-hero-copy h3{max-width:760px;margin:24px 0 0;font-size:clamp(18px,2vw,28px);font-weight:400;line-height:1.45}.flyyuan-overview,.flyyuan-section,.flyyuan-end{padding:clamp(56px,8vw,120px) clamp(28px,6vw,96px)}.flyyuan-overview{border-bottom:1px solid var(--flyyuan-line)}.flyyuan-overview>h3,.flyyuan-end h3{letter-spacing:-.045em;max-width:1100px;margin:0;font-size:clamp(34px,5.2vw,78px);font-weight:400;line-height:1.08}.flyyuan-overview-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(42px,8vw,120px);margin-top:clamp(52px,7vw,96px);display:grid}.flyyuan-overview-grid>p,.flyyuan-section-copy span{color:#f7f4ffc7;margin:0;font-size:15px;line-height:1.8}.flyyuan-overview-grid dl{margin:0}.flyyuan-overview-grid dl>div{border-top:1px solid var(--flyyuan-line);grid-template-columns:90px 1fr;gap:18px;padding:14px 0;display:grid}.flyyuan-overview-grid dt{color:var(--flyyuan-muted);letter-spacing:.12em;font-size:10px}.flyyuan-overview-grid dd{margin:0;font-size:13px;line-height:1.55}.flyyuan-section{border-bottom:1px solid var(--flyyuan-line)}.flyyuan-section-copy{grid-template-columns:.65fr 1.35fr;align-items:start;column-gap:clamp(32px,7vw,100px);margin-bottom:clamp(34px,5vw,72px);display:grid}.flyyuan-section-copy>p{grid-row:1/span 2}.flyyuan-section-copy h3{letter-spacing:-.04em;margin:0 0 20px;font-size:clamp(28px,4vw,58px);font-weight:400;line-height:1.08}.flyyuan-section-copy span{max-width:660px}.flyyuan-screen-stage{aspect-ratio:16/9;border:1px solid var(--flyyuan-line);background:#130b22;border-radius:18px;position:relative;overflow:hidden}.flyyuan-screen-stage>img{object-fit:contain;width:100%;height:100%}.flyyuan-screen-arrow{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#090712b8;border:1px solid #ffffff40;border-radius:50%;width:42px;height:42px;padding:0;position:absolute;top:50%;transform:translateY(-50%)}.flyyuan-screen-arrow.is-prev{left:18px}.flyyuan-screen-arrow.is-next{right:18px}.flyyuan-screen-count{color:#ffffffd1;letter-spacing:.12em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#090712b8;border-radius:999px;padding:7px 10px;font-size:10px;position:absolute;bottom:16px;right:18px}.flyyuan-thumb-strip{scrollbar-width:thin;grid-auto-columns:minmax(110px,1fr);grid-auto-flow:column;gap:10px;margin-top:12px;display:grid;overflow-x:auto}.flyyuan-thumb-strip button{aspect-ratio:16/9;opacity:.45;cursor:pointer;background:#130b22;border:1px solid #0000;border-radius:9px;padding:0;transition:opacity .18s,border-color .18s;overflow:hidden}.flyyuan-thumb-strip button:hover,.flyyuan-thumb-strip button.is-active{opacity:1;border-color:#d6caffa6}.flyyuan-thumb-strip img{object-fit:cover;width:100%;height:100%}.flyyuan-end{background:#120b20;flex-direction:column;justify-content:flex-end;min-height:56vh;display:flex}@media (max-width:720px){.flyyuan-overview-grid,.flyyuan-section-copy{grid-template-columns:1fr}.flyyuan-section-copy>p{grid-row:auto}.flyyuan-screen-arrow{width:38px;height:38px}.flyyuan-thumb-strip{grid-auto-columns:120px}}@media (prefers-reduced-motion:reduce){.flyyuan-thumb-strip button{transition:none}}@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-leading{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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}
