/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial;--beam-angle:0deg}}}@layer theme{:root,:host{--font-sans:"Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;--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);--font-weight-medium:500;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;--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{.\!visible{visibility:visible!important}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-full{height:100%}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-full{width:100%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow: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}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--border)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-destructive\/10{background-color:oklab(77.1235% .0768808 .0266103/.1)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:#20212b}.bg-sidebar{background-color:#181920}.bg-clip-padding{background-clip:padding-box}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.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))}.text-\[0\.8rem\]{font-size:.8rem}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-destructive{color:#e4a0a0}.text-primary{color:var(--primary)}.text-primary-foreground{color:#101115}.text-secondary-foreground,.text-sidebar-foreground{color:var(--foreground)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.paused{animation-play-state:paused}.running{animation-play-state:running}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-destructive\/20:hover{background-color:oklab(77.1235% .0768808 .0266103/.2)}.hover\:bg-muted:hover{background-color:#22232d}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-destructive\/40:focus-visible{border-color:oklab(77.1235% .0768808 .0266103/.4)}.focus-visible\:border-ring:focus-visible{border-color:var(--primary)}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:oklab(77.1235% .0768808 .0266103/.2)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--primary) 50%, transparent)}}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius-lg)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:#22232d}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:#20212b}.aria-expanded\:text-foreground[aria-expanded=true],.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:#e4a0a0}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:oklab(77.1235% .0768808 .0266103/.2)}.dark\:border-input:is(.dark *){border-color:var(--border)}.dark\:bg-destructive\/20:is(.dark *){background-color:oklab(77.1235% .0768808 .0266103/.2)}.dark\:bg-input\/30:is(.dark *){background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--border) 30%, transparent)}}@media (hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:oklab(77.1235% .0768808 .0266103/.3)}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--border) 50%, transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:oklab(25.9541% .00342411 -.0184453/.5)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:oklab(77.1235% .0768808 .0266103/.4)}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:oklab(77.1235% .0768808 .0266103/.5)}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:oklab(77.1235% .0768808 .0266103/.4)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}@property --beam-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.cosmos{z-index:-1;pointer-events:none;contain:strict;background:radial-gradient(60% 40% at 72% 100%,#26469633,#0000 70%),linear-gradient(#020309 0%,#03050f 40%,#060a1f 72%,#0a1230 88%,#060a1e 100%);width:100%;height:100lvh;position:fixed;top:0;left:0;overflow:hidden}.cosmos:after{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 .09 0 0 0 -.02'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.cosmos-canvas{width:100%;height:100%;animation:cosmos-in 2.2s var(--ease-out) both;display:block;position:relative}@keyframes cosmos-in{0%{opacity:0}}.milky-way{opacity:0;width:100%;height:100%;transition:opacity 2.4s var(--ease-out);position:absolute;inset:0}.milky-way[data-ready]{opacity:1}.scroll-progress{z-index:60;opacity:0;pointer-events:none;transform-origin:0;background:linear-gradient(90deg, rgba(var(--glow-rgb), 0), var(--glow-bright) 55%, #9ec5ff);width:100%;height:2px;box-shadow:0 0 12px rgba(var(--glow-rgb), .7);position:fixed;top:0;left:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){.scroll-progress{opacity:1;animation:linear both scroll-progress;animation-timeline:scroll(root)}}@keyframes scroll-progress{to{transform:scaleX(1)}}@media (prefers-reduced-motion:no-preference){.page-transition{transition:opacity .5s var(--ease-out)}html[data-booting] .page-transition{opacity:0}[data-reveal]{--reveal-delay:calc(var(--reveal-base,0s) * var(--reveal-entrance,0) + var(--reveal-order,0) * var(--reveal-step,70ms))}[data-revealing]{transition-property:opacity,transform,filter,clip-path!important;transition-duration:.9s,1.15s,.9s,1.2s!important;transition-timing-function:var(--ease-expo)!important;transition-delay:var(--reveal-delay)!important}[data-reveal=up]:not([data-revealed]){opacity:0;transform:translateY(28px)}[data-reveal=rise]:not([data-revealed]){opacity:0;filter:blur(8px);translate:0 56px;scale:.96}[data-reveal=rise][data-revealing]{transition-property:opacity,translate,scale,filter,transform!important;transition-duration:.9s,1.15s,1.15s,.9s,.9s!important;transition-delay:var(--reveal-delay), var(--reveal-delay), var(--reveal-delay), var(--reveal-delay), 0s!important}[data-reveal=rise][data-revealing][data-tilting]{transition-duration:.9s,1.15s,1.15s,.9s,.2s!important}[data-reveal=fade]:not([data-revealed]){opacity:0}[data-reveal=pop]:not([data-revealed]){opacity:0;transform:scale(.3)}[data-reveal=scale]:not([data-revealed]){opacity:0;filter:blur(12px);transform:scale(.95)}[data-reveal=line]:not([data-revealed]){transform:scaleX(0)}[data-reveal=pop][data-revealing]{transition-timing-function:var(--ease-spring)!important}html[data-webkit] [data-reveal=rise]:not([data-revealed]),html[data-webkit] [data-reveal=scale]:not([data-revealed]),html[data-webkit] .split:not([data-revealed]) .split-char{filter:none}}[data-reveal=line]{transform-origin:0}.split-word,.split-char{display:inline-block}.split-word{white-space:nowrap}@media (prefers-reduced-motion:no-preference){.split-char{transition:opacity .8s var(--ease-expo), transform 1.1s var(--ease-expo), filter .8s var(--ease-expo);transition-delay:calc(var(--split-delay,0s) + var(--i,0) * var(--split-stagger,34ms))}.split:not([data-revealed]) .split-char{opacity:0;filter:blur(10px);transform:translateY(.6em)rotate(7deg)}.hero-name-text .split-char{transition-property:opacity,transform;transform:translate(0)rotate(0)}.hero-name-text.split .split-char{filter:none}}.scramble{font-variant-numeric:tabular-nums}[data-spotlight]{isolation:isolate;position:relative}[data-spotlight]:before,[data-spotlight]:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .45s var(--ease-out);position:absolute;inset:0}[data-spotlight]:after{z-index:-1;background:radial-gradient(380px circle at var(--spot-x,50%) var(--spot-y,50%), rgba(var(--glow-rgb), .14), transparent 62%)}[data-spotlight]:before{z-index:3;background:radial-gradient(260px circle at var(--spot-x,50%) var(--spot-y,50%), rgba(var(--glow-highlight-rgb), .8), transparent 68%);-webkit-mask-composite:xor;-webkit-mask-composite:xor,source-over;-webkit-mask-composite:xor,source-over;padding:1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}[data-spotlight][data-lit]:before,[data-spotlight][data-lit]:after{opacity:1}[data-magnetic] .magnet{transform:translate3d(var(--mag-x,0px), var(--mag-y,0px), 0);transition:transform .7s var(--ease-spring)}[data-magnetic][data-attracted] .magnet{transition-duration:.18s;transition-timing-function:var(--ease-out)}@media (prefers-reduced-motion:no-preference){.site-header{animation:header-in 1s var(--ease-expo) .15s both}.desktop-dock[data-slot=sidebar]{animation:dock-in 1.2s var(--ease-expo) .35s both}.desktop-dock .dock-links a{animation:dock-item-in .9s var(--ease-spring) both;animation-delay:calc(.45s + var(--dock-i,0) * 60ms)}}@keyframes header-in{0%{opacity:0;transform:translateY(-14px)}}@keyframes dock-in{0%{opacity:0;transform:translate(28px,-50%)}}@keyframes dock-item-in{0%{opacity:0;transform:scale(.4)}}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation:language-out .26s var(--ease-out) both}::view-transition-new(root){animation:language-in .6s var(--ease-expo) both}}@keyframes language-out{to{opacity:0;filter:blur(8px)}}@keyframes language-in{0%{opacity:0;filter:blur(12px);transform:translateY(8px)}}@keyframes beam-spin{to{--beam-angle:360deg}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dash-flow{to{stroke-dashoffset:-12px}}:root,.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#111217;--foreground:#efeff4;--primary:#b0a9e9;--glow-rgb:151, 130, 232;--glow-highlight-rgb:200, 189, 255;--glow-bright:#d0c6ff;--edge-glow:inset 1px 1px 1px -.5px #ffffff42, inset -1px -1px 1px -.5px #ffffff16, inset 0 0 10px #ffffff09;--accent-glow:0 0 14px rgba(var(--glow-highlight-rgb), .58), 0 0 36px rgba(var(--glow-rgb), .32), 0 0 72px rgba(var(--glow-rgb), .15);--muted-foreground:#9899aa;--border:#ffffff13;--text-1:var(--foreground);--text-2:#b6b3c6;--text-3:var(--muted-foreground);--line:#ffffff13;--rule:rgba(var(--glow-rgb), .22);--surface:#12131ccc;--surface-hover:#1b192adb;--surface-edge:inset 0 1px 0 #ffffff0b;--sky-text-shadow:0 0 2px #02030ad9, 0 0 7px #02030ab3, 0 0 18px #02030a94, 0 0 42px #02030a6b;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-expo:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--font-mono:"SF Mono", ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace;--font-serif:ui-serif, "New York", "Iowan Old Style", Georgia, "Songti SC", serif;--signal:#9ff0c8;--section-gap:56px;--photo-paper:var(--foreground);--photo-muted:var(--muted-foreground);--photo-accent:var(--primary);--photo-rule:var(--rule);--chat-field-border:#ffffff1a;--chat-field-bg:linear-gradient(180deg, #ffffff1b, #ffffff0e), #101010a8;--chat-field-bg-hover:linear-gradient(180deg, #ffffff24, #ffffff13), #141414bd;--chat-field-edge:inset 1px 1px 1px -.5px #ffffff52, inset -1px -1px 1px -.5px #ffffff1a, inset 0 0 10px #ffffff14;--chat-field-shadow:var(--chat-field-edge), 0 10px 30px #00000057;--chat-field-shadow-hover:var(--chat-field-edge), 0 12px 34px #0000006b}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:none}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}body{color:var(--foreground);-webkit-font-smoothing:antialiased;background-color:#05071a;margin:0;font:16px/1.6 Helvetica Neue,PingFang SC,Microsoft YaHei,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--glow-bright);outline-offset:5px}h1:focus{outline:none}::selection{background:#9e91dd55}.profile-shell{min-height:100svh;display:block}.muted{color:var(--muted-foreground)}.accent-dot{color:var(--glow-bright);text-shadow:0 0 10px rgba(var(--glow-highlight-rgb), .8), 0 0 28px rgba(var(--glow-rgb), .4)}.site-header{border-bottom:1px solid var(--border);align-items:center;gap:30px;height:104px;margin:0 6.25%;display:flex}.site-logo{width:56px;height:56px;transition:transform .6s var(--ease-spring), box-shadow .4s var(--ease-out);border-radius:14px;flex-shrink:0;display:block;position:relative;box-shadow:0 4px 5px -2px #00000047,0 10px 16px -5px #00000052}.site-logo img{object-fit:cover;object-position:center;border-radius:inherit;width:100%;height:100%;display:block}.site-logo:after{content:"";background:conic-gradient(from var(--beam-angle), transparent 0 52%, var(--glow-bright) 74%, #9ec5ff 84%, transparent 96%);-webkit-mask-composite:xor;opacity:0;pointer-events:none;transition:opacity .4s var(--ease-out);-webkit-mask-composite:xor,source-over;-webkit-mask-composite:xor,source-over;border-radius:18px;padding:1.5px;animation:2.4s linear infinite paused beam-spin;position:absolute;inset:-4px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.site-logo:hover,.site-logo:focus-visible{box-shadow:0 10px 24px -8px rgba(var(--glow-rgb), .55), 0 0 0 1px rgba(var(--glow-highlight-rgb), .2);transform:rotate(-5deg)scale(1.06)}.site-logo:hover:after,.site-logo:focus-visible:after{opacity:1;animation-play-state:running}.header-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.language-toggle{background:var(--surface);box-shadow:var(--surface-edge);color:#77778a;-webkit-backdrop-filter:blur(14px);border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:10px;padding:5px 5px 5px 12px;font-size:12px;font-weight:500;transition:border-color .3s,box-shadow .3s;display:flex}.language-toggle .language-icon{width:18px;height:18px;color:var(--glow-bright);filter:drop-shadow(0 0 5px rgba(var(--glow-highlight-rgb), .48)) drop-shadow(0 0 15px rgba(var(--glow-rgb), .26));transition:transform .6s var(--ease-spring)}.language-toggle:hover .language-icon{transform:rotate(-12deg)scale(1.08)}.language-options{background:#00000040;border-radius:999px;grid-template-columns:1fr 1fr;display:grid;position:relative}.language-options>span:not(.language-thumb){z-index:1;min-width:30px;height:24px;transition:color .35s var(--ease-out);place-items:center;display:grid;position:relative}.language-thumb{border-radius:inherit;background:rgba(var(--glow-rgb), .3);box-shadow:inset 0 0 0 1px rgba(var(--glow-highlight-rgb), .4), 0 0 14px rgba(var(--glow-rgb), .35);transition:transform .55s var(--ease-spring);position:absolute;inset:0 50% 0 0}.language-toggle[data-lang=zh] .language-thumb{transform:translate(100%)}.language-toggle .chosen{color:#f4efff;text-shadow:0 0 9px rgba(var(--glow-highlight-rgb), .5)}.icon-button{color:#dcd9ed;background:0 0;border:none;place-items:center;width:42px;height:42px;display:grid}.page-content{width:min(760px,88.2vw - clamp(240px,27vw,380px) - 137px);min-height:calc(100svh - 104px);text-shadow:var(--sky-text-shadow);margin-left:11.8%;padding-top:65px}html[data-webkit]{--sky-text-shadow:0 0 2px #02030ad9, 0 0 7px #02030ab3, 0 0 22px #02030a99}.faded-swap{width:100%;position:relative}.faded-swap-slot{width:100%}.faded-swap-slot.is-pending{opacity:0;pointer-events:none;position:absolute;inset:0 0 auto}.faded-swap-slot.is-preparing{opacity:0;pointer-events:none}.faded-swap.companion-portraits{z-index:1;pointer-events:none;position:absolute;inset:0}.companion-portraits>.faded-swap-slot{position:absolute;inset:0}h1{letter-spacing:-.06em;text-transform:capitalize;margin:0;font-size:clamp(42px,4.5vw,69px);font-weight:700;line-height:1.1}h1>span{font-weight:inherit}.hero{padding-top:6px;position:relative}.hero-status{color:var(--text-3);font:500 11.5px/1.4 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 14px;display:flex}.hero-status>span{align-items:center;gap:7px;display:inline-flex}.hero-status>span+span:before{content:"";background:#5f5c69;border-radius:50%;width:3px;height:3px;margin-right:9px}.hero-status>.hero-beacon+span:before{display:none}.hero-location{color:var(--text-2)}@media (width<=480px){.hero-status>.hero-coordinates{display:none}}.hero-location svg,.hero-clock svg{color:#bcb2e5}.hero-beacon{background:var(--signal);border-radius:50%;width:7px;height:7px;position:relative;box-shadow:0 0 10px #9ff0c8b3}.hero-beacon:after{content:"";border:1px solid var(--signal);animation:ping 2.4s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:-4px}.hero-clock-colon{animation:1s step-end infinite colon-blink}@keyframes colon-blink{50%{opacity:.25}}.hero-name{isolation:isolate;letter-spacing:-.07em;text-transform:none;align-items:baseline;margin:0;padding:.04em .26em .08em 0;font-size:clamp(84px,9.4vw,148px);font-weight:750;line-height:.98;display:inline-flex;position:relative}.hero-name-text{z-index:1;position:relative}.hero-name-text .split-char{margin:-.25em;padding:.25em}.hero-name-dot{z-index:1;position:relative}.hero-orbit{pointer-events:none;position:absolute;inset:16% -3% -2% -21%}.hero-orbit svg{fill:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.hero-orbit path{vector-effect:non-scaling-stroke;stroke-width:1.3px;stroke-linecap:round}.hero-orbit-back{z-index:0}.hero-orbit-back path{stroke:rgba(var(--glow-highlight-rgb), .2);stroke-dasharray:2 6}.hero-orbit-front{z-index:2;filter:drop-shadow(0 0 6px rgba(var(--glow-rgb), .8))}.hero-orbit-front path{stroke:rgba(var(--glow-highlight-rgb), .62)}.hero-satellite{z-index:2;will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.hero-satellite[data-side=back]{z-index:0}.hero-satellite i{width:22px;height:22px;position:absolute;top:-11px;left:-11px}.hero-satellite i:before{content:"";background:linear-gradient(#8fb6f1 0 36%,#0000 36% 64%,#8fb6f1 64%);border-radius:1px;width:3px;height:22px;position:absolute;top:0;left:9.5px}.hero-satellite i:after{content:"";width:6px;height:6px;box-shadow:0 0 10px 2px rgba(var(--glow-highlight-rgb), .9), 0 0 26px 7px rgba(var(--glow-rgb), .45);background:#fff;border-radius:1.5px;position:absolute;top:8px;left:8px}@media (prefers-reduced-motion:no-preference){.hero-orbit svg{clip-path:inset(-20% -10%);transition:clip-path 1.8s var(--ease-expo) .55s}.hero-orbit:not([data-revealed]) svg{clip-path:inset(-20% 110% -20% -10%)}.hero-orbit .hero-satellite i{transition:opacity .8s var(--ease-out) 1.3s, scale 1s var(--ease-spring) 1.3s;scale:1}.hero-orbit:not([data-revealed]) .hero-satellite i{opacity:0;scale:.2}.hero-name-dot{--reveal-base:.52s}}.home-quote{width:min(100%,660px);margin:30px 0 0;padding:0 0 0 34px;position:relative}.home-quote-mark{color:rgba(var(--glow-highlight-rgb), .3);font-family:var(--font-serif);-webkit-user-select:none;user-select:none;--reveal-base:.3s;font-size:104px;font-weight:400;line-height:1;position:absolute;top:-24px;left:-8px}.home-quote p{z-index:1;letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(24px,2.7vw,36px);line-height:1.34;position:relative}.home-quote-lead,.home-quote-strong{display:block}.home-quote-lead{color:#bdb8cf;font-family:var(--font-serif);letter-spacing:-.01em;font-style:italic;font-weight:400}.home-quote[lang=zh] .home-quote-lead{font-style:normal}.home-quote-strong{font-weight:620}.home-quote-strong .split-char{color:#0000;text-shadow:none;animation:quote-shimmer 7s var(--ease-out) infinite;animation-delay:calc(2.2s + var(--i,0) * .11s);background:linear-gradient(100deg,#f4f0ff 42%,#bfb0ff 50%,#9fc4ff 54%,#f4f0ff 62%) 100% 0/400% 100%;-webkit-background-clip:text;background-clip:text}@keyframes quote-shimmer{0%{background-position:100% 0}30%,to{background-position:0 0}}@media (width>=761px) and (orientation:landscape){.home-quote[lang=zh] p{white-space:nowrap}.home-quote[lang=zh] .home-quote-lead,.home-quote[lang=zh] .home-quote-strong{display:inline}}.home-quote footer{--reveal-base:.9s;align-items:center;gap:13px;margin-top:20px;display:flex}.home-quote-rule{background:linear-gradient(90deg, var(--glow-bright), rgba(var(--glow-rgb), .18));width:32px;height:1px;box-shadow:0 0 10px rgba(var(--glow-rgb), .35);flex:none}.home-quote-source{color:var(--text-3);letter-spacing:.025em;font-size:13px;font-style:normal;font-weight:500;line-height:1.5}.social-section{margin:35px 0 39px}.section-label{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.section-label h2{letter-spacing:.13em;color:#a9a7bb;margin:0;font-size:12px;font-weight:500}.section-label>span{color:var(--text-3);font-size:12px}.social-grid{grid-template-columns:repeat(8,minmax(44px,1fr));align-items:center;gap:8px;max-width:560px;display:grid}.social-item{--reveal-base:.95s;--reveal-step:50ms}.social-grid a{width:48px;height:52px;color:var(--glow-bright);filter:drop-shadow(0 0 5px rgba(var(--glow-highlight-rgb), .48)) drop-shadow(0 0 15px rgba(var(--glow-rgb), .26));background:0 0;border:0;border-radius:10px;place-items:center;transition:color .2s,filter .25s,transform .25s;display:grid;position:relative}.social-icon{background:currentColor;width:25px;height:25px;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.social-grid a:hover,.social-grid a:focus-visible{color:#f0eaff;filter:drop-shadow(0 0 6px rgba(var(--glow-highlight-rgb), .85)) drop-shadow(0 0 19px rgba(var(--glow-rgb), .6));transform:translateY(-3px)}.social-grid a:active{transform:translateY(0)scale(.94)}.about-notes{margin-top:30px}.interest-list{flex-wrap:wrap;gap:12px 10px;display:flex}.interest-list>span{--reveal-base:1.15s;--reveal-step:45ms;border:1px solid rgba(var(--glow-highlight-rgb), .13);background:linear-gradient(rgba(var(--glow-rgb), .07), rgba(var(--glow-rgb), .07)), var(--surface);box-shadow:var(--surface-edge);color:var(--text-2);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;display:flex}.interest-list svg{color:#bcb2e5;filter:drop-shadow(0 0 6px rgba(var(--glow-rgb), .3));flex-shrink:0}.home-portals{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;margin-top:40px;display:grid}.home-portal{--portal-rgb:185, 150, 242;--reveal-base:1.35s;--reveal-step:.12s;isolation:isolate;border:1px solid rgba(var(--portal-rgb), .28);color:#f0ecf9;min-width:0;min-height:232px;transform:perspective(1100px) rotateX(calc(var(--tilt-x,0) * 7deg)) rotateY(calc(var(--tilt-y,0) * 9deg));transition:transform .9s var(--ease-expo), border-color .4s var(--ease-out), box-shadow .4s var(--ease-out);background:linear-gradient(140deg,#342a4ebd,#131421eb 66%);border-radius:20px;flex-direction:column;padding:26px 26px 64px;text-decoration:none;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px 1px #e1d4ff33,inset 0 0 22px #a887e30d,0 22px 44px -22px #000000bf}.home-portal[data-tilting]{transition-duration:.2s,.4s,.4s;transition-timing-function:var(--ease-out)}.travel-portal{--portal-rgb:143, 182, 241;background:linear-gradient(140deg,#202d48cc,#121524f0 66%)}.portal-decor{z-index:-1;pointer-events:none;translate:calc(var(--tilt-y,0) * -18px) calc(var(--tilt-x,0) * 14px);transition:translate .9s var(--ease-expo);background:50%/contain no-repeat;animation:10s ease-in-out infinite portal-float;position:absolute}.home-portal[data-tilting] .portal-decor{transition-duration:.25s}.academic-portal .portal-decor{opacity:.28;filter:drop-shadow(0 0 14px #b99af966);background-image:url(../decor/portal-satellite.png);width:290px;height:290px;bottom:-70px;right:-52px;-webkit-mask-image:linear-gradient(105deg,#0000 3%,#0009 38%,#000 78%);mask-image:linear-gradient(105deg,#0000 3%,#0009 38%,#000 78%)}.travel-portal .portal-decor{opacity:.26;filter:blur(.8px)drop-shadow(0 0 16px #91afff66);background-image:url(../maps/portal-globe.svg);width:440px;height:440px;animation-duration:13s;bottom:-268px;right:-170px;-webkit-mask-image:linear-gradient(120deg,#0000 5%,#0009 35%,#000 70%);mask-image:linear-gradient(120deg,#0000 5%,#0009 35%,#000 70%)}@keyframes portal-float{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(-6px,-10px)rotate(-3deg)}}.home-portal:after{content:"";z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 95% 100%, rgba(var(--portal-rgb), .12), transparent 64%);position:absolute;inset:0}.portal-glare{z-index:2;border-radius:inherit;pointer-events:none;background:radial-gradient(460px circle at var(--glare-x,50%) var(--glare-y,0%), #ffffff21, transparent 52%);opacity:0;transition:opacity .5s var(--ease-out);position:absolute;inset:0}.portal-beam{z-index:3;border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--beam-angle), transparent 0 62%, rgba(var(--portal-rgb), .9) 76%, #fff 80%, transparent 90%);-webkit-mask-composite:xor;opacity:0;transition:opacity .5s var(--ease-out);-webkit-mask-composite:xor,source-over;-webkit-mask-composite:xor,source-over;padding:1px;animation:3.4s linear infinite paused beam-spin;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.home-portal:is(:hover,:focus-visible) .portal-beam{opacity:1;animation-play-state:running}.home-portal[data-tilting] .portal-glare{opacity:1}.portal-heading{align-items:center;gap:12px;font-size:clamp(16px,1.4vw,20px);font-weight:550;line-height:1.4;display:flex}.portal-heading>span{flex:1}.portal-icon{color:rgb(var(--portal-rgb));filter:drop-shadow(0 0 9px rgba(var(--portal-rgb), .35));flex-shrink:0}.portal-arrow{border:1px solid rgba(var(--portal-rgb), .3);background:rgba(var(--portal-rgb), .1);width:30px;height:30px;box-shadow:inset 0 0 3px rgba(var(--portal-rgb), .2);transition:transform .5s var(--ease-spring), background .3s, color .3s;border-radius:50%;flex-shrink:0;padding:5px}.home-portal:is(:hover,:focus-visible) .portal-arrow{background:rgb(var(--portal-rgb));color:#14121f;transform:translate(4px)}.portal-rule{background:rgba(var(--portal-rgb), .8);width:23px;height:2px;box-shadow:0 0 5px rgba(var(--portal-rgb), .2);transition:width .6s var(--ease-expo);margin:21px 0 14px}.home-portal:is(:hover,:focus-visible) .portal-rule{width:56px}.portal-description{color:#c3bed3;text-shadow:0 1px 5px #12131f;max-width:90%;font-size:15px;line-height:1.7}.portal-index{color:rgba(var(--portal-rgb), .75);font:500 11px/1 var(--font-mono);letter-spacing:.16em;position:absolute;bottom:20px;left:26px}.portal-motto{color:#b3afc9;font-family:var(--font-serif);text-align:right;font-size:13px;font-style:italic;line-height:1.45;position:absolute;bottom:18px;right:22px}.home-portal:hover,.home-portal:focus-visible{border-color:rgba(var(--portal-rgb), .6);box-shadow:inset 0 1px 2px #e1d4ff38, 0 0 30px rgba(var(--portal-rgb), .16), 0 30px 60px -26px #000000d9}.home-portal:focus-visible{outline:2px solid rgb(var(--portal-rgb));outline-offset:4px}@media (prefers-reduced-motion:reduce){.home-portal{transform:none}}.desktop-dock[data-slot=sidebar]{z-index:30;-webkit-backdrop-filter:blur(20px);background:#1d1d28b3;border:1px solid #ffffff14;border-radius:32px;width:62px;height:auto;padding:10px 8px;position:fixed;top:50%;right:28px;transform:translateY(-50%);box-shadow:0 12px 40px #00000016}.dock-links{flex-direction:column;gap:6px;display:flex;position:relative}.dock-indicator{pointer-events:none;background:radial-gradient(circle at 50% 32%, rgba(var(--glow-highlight-rgb), .34), rgba(var(--glow-rgb), .14) 72%);width:44px;height:44px;box-shadow:inset 0 0 0 1px rgba(var(--glow-highlight-rgb), .18), 0 0 14px rgba(var(--glow-highlight-rgb), .2), 0 0 34px rgba(var(--glow-rgb), .16);transform:translate3d(0, calc(var(--active,0) * 50px), 0);border-radius:50%;transition:transform .6s cubic-bezier(.3,1.3,.5,1);position:absolute;top:0;left:0}.dock-links a{color:#8b8ba0;place-items:center;width:44px;height:44px;display:grid;position:relative}.dock-links .dock-icon{color:#8b8ba0;isolation:isolate;width:44px;height:44px;transform:translate3d(var(--mag-x,0px), var(--mag-y,0px), 0) scale(var(--dock-scale,1));transition:color .2s, background .2s, transform .45s var(--ease-out), box-shadow .25s;border-radius:50%;place-items:center;display:grid;position:relative}.dock-links a[data-attracted] .dock-icon{transition-duration:.2s,.2s,.18s,.25s}.dock-links .dock-icon:before{content:"";z-index:-1;background:radial-gradient(circle, rgba(var(--glow-highlight-rgb), .3), rgba(var(--glow-rgb), .12) 32%, transparent 70%);opacity:0;pointer-events:none;border-radius:50%;transition:opacity .2s,transform .25s;position:absolute;inset:-15px;transform:scale(.8)}.dock-links a:hover .dock-icon,.dock-links a:focus-visible .dock-icon{--dock-scale:1.05;color:#d6ceed;background:#ffffff07}.dock-links a:hover .dock-icon:before,.dock-links a:focus-visible .dock-icon:before,.dock-links a[aria-current] .dock-icon:before{opacity:.9;transform:scale(1)}.dock-links a[aria-current] .dock-icon{color:#ddd2ff;box-shadow:0 0 15px rgba(var(--glow-highlight-rgb), .22), 0 0 35px rgba(var(--glow-rgb), .16);background:#a999e425}.dock-links a:active .dock-icon{--dock-scale:.94}.desktop-dock .dock-links a[aria-current] .dock-icon{box-shadow:none;background:0 0}.dock-links .dock-label{white-space:nowrap;pointer-events:none;border-radius:var(--radius-sm);opacity:0;transition:opacity .2s, translate .45s var(--ease-expo);color:#ded9ef;background:#262331f2;border:1px solid #beb0e423;padding:6px 11px;font-size:14px;position:absolute;right:calc(100% + 17px);translate:10px;box-shadow:0 10px 24px -10px #000a}.dock-links a:hover .dock-label,.dock-links a:focus-visible .dock-label{opacity:1;translate:0}.companion{--companion-reveal:0px;--companion-height:min(66svh, 650px);--companion-width:clamp(240px, 27vw, 380px);--companion-right:105px;right:var(--companion-right);z-index:20;width:var(--companion-width);height:var(--companion-height);pointer-events:none;position:fixed;bottom:0}.companion-crop{z-index:1;inset:0;top:calc(-1 * var(--companion-reveal));contain:layout paint;pointer-events:none;position:absolute;overflow:hidden}.companion-crop:has(>.character-touch[data-wide-portrait=true]){--portrait-right-room:min(50%, var(--companion-right));left:calc(-100% + var(--portrait-right-room));right:calc(-1 * var(--portrait-right-room))}.companion-crop:has(>.character-touch[data-wide-portrait=true]:is([data-model=cape],[data-model=cloak])){--portrait-right-room:50%}.companion .character-sprite{height:var(--companion-height)}@media (width>=1121px) and (height>=800px){.companion{--companion-reveal:clamp(0px, min(calc(100svh - 800px), calc(50vw - 560px)), 240px)}}.character-touch{opacity:0;pointer-events:auto;touch-action:pan-y;background:0 0;border:0;width:100%;height:100%;padding:0;transition:opacity .28s;display:block;position:absolute;inset:0}.character-touch.is-ready{opacity:1}.character-touch.is-changing{opacity:0}.companion .character-touch[data-wide-portrait=true]{pointer-events:none}.companion .character-touch[data-wide-portrait=true]:after{content:"";z-index:1;pointer-events:auto;position:absolute;inset:0 25%}.character-sprite{position:absolute;inset:0}.character-breathe{transform-origin:50% 95%;position:absolute;inset:0}.character-breathe.is-animated{animation:5.5s ease-in-out infinite breathe}.character-image{visibility:hidden;-webkit-user-select:none;user-select:none;max-width:none;position:absolute}.character-image.is-active{visibility:visible}.layered-alice-holder,.layered-alice-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.companion[hidden]{display:none}.alice-chat{z-index:4;right:0;bottom:calc(16px + env(safe-area-inset-bottom,0px));pointer-events:auto;color:#f4f2f8;width:min(380px,100vw - 32px);font-size:14px;line-height:1.65;position:absolute}.alice-chat[hidden],.alice-chat-history[hidden]{display:none}.alice-chat-surface{background:var(--chat-field-bg);border:1px solid var(--chat-field-border);box-shadow:var(--chat-field-shadow)}.alice-chat-history{width:100%;max-height:min(440px, calc(100dvh - 120px - env(safe-area-inset-bottom,0px)));border-radius:22px;flex-direction:column;animation:.2s page-enter;display:flex;position:absolute;bottom:calc(100% + 8px);overflow:hidden}.alice-chat-header{flex-shrink:0;align-items:center;gap:8px;padding:6px 8px 0 18px;display:flex}.alice-chat-count{color:#bcb8c5;white-space:nowrap;margin-left:auto;font-size:12px}.alice-chat-retention{color:#c4c0cb;border-bottom:1px solid #ffffff12;margin:0;padding:4px 18px 12px;font-size:12px}.alice-chat button,.alice-chat-bubble button{color:#d5c6f5;cursor:pointer;background:0 0;border:0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;display:inline-flex}.alice-chat button:hover:not(:disabled),.alice-chat-bubble button:hover{background:#ffffff12}.alice-chat .alice-chat-retry:hover:not(:disabled),.alice-chat-bubble .alice-chat-retry:hover{background:0 0}.alice-chat button:disabled{opacity:.4;cursor:default}.alice-chat button:focus-visible,.alice-chat-log:focus-visible,.alice-chat-bubble-content:focus-visible,.alice-chat-bubble button:focus-visible{outline-offset:-2px;outline:2px solid #c6b6e8}.alice-chat textarea:focus,.alice-chat textarea:focus-visible{box-shadow:none;outline:none}.alice-chat-log{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;padding:14px 16px;overflow-y:auto}.alice-message{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px;font-size:16px}.alice-message:last-child{margin-bottom:0}.alice-message-user{background:#ffffff0d;border-radius:14px 14px 4px;margin-left:26px;padding:8px 12px}.alice-message-assistant{margin-right:12px}.alice-message-notice{color:#f2b3d7;letter-spacing:.04em;font-size:12px}.alice-chat-welcome,.alice-chat-status{color:#c4c0cb;margin:0}.alice-chat-error{color:#efb9bf}.alice-chat-error p{margin:0}.alice-chat-form{border-radius:20px;align-items:center;gap:2px;min-height:40px;padding:3px;transition:border-color .18s,background .18s,box-shadow .18s;display:flex}.alice-chat-form:hover,.alice-chat-form:focus-within{background:var(--chat-field-bg-hover);box-shadow:var(--chat-field-shadow-hover);border-color:#ffffff2e}.alice-chat-form button{width:32px;min-width:32px;height:32px;min-height:32px}.alice-chat textarea{resize:none;width:0;min-width:0;height:32px;color:inherit;font:inherit;background:0 0;border:none;border-radius:16px;flex:1;padding:4px 10px;font-size:16px;line-height:24px}.alice-chat textarea::placeholder{color:#b5b1bd;font-size:14px}.alice-chat-expand[aria-expanded=true]{background:#ffffff12}.alice-chat-bubble{isolation:isolate;z-index:3;bottom:calc(100% + var(--companion-reveal) + 28px);color:#f1eef6;letter-spacing:.01em;pointer-events:auto;width:max-content;min-width:128px;max-width:min(320px,100vw - 32px);font-size:15px;line-height:1.75;animation:.2s page-enter;position:absolute;right:0}.alice-chat-bubble-content{max-height:min(260px, max(44px, calc(100dvh - var(--companion-height) - var(--companion-reveal) - 52px)));overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;-webkit-backdrop-filter:blur(14px)saturate(1.3);border-radius:18px;padding:13px 20px 14px;overflow-y:auto}.alice-chat-bubble:before{content:"";z-index:-1;filter:drop-shadow(0 8px 20px #120a2638);pointer-events:none;border-image:url(../icons/alice-speech-bubble.svg) 20 64 44 20 fill/20px 64px 44px 20px/0 0 24px;position:absolute;inset:0}.alice-chat-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;line-break:strict;text-autospace:normal;text-wrap:pretty;margin:0}.alice-chat-bubble:lang(zh){font-family:"PingFang SC", "Microsoft YaHei", var(--font-sans)}.alice-chat-bubble:lang(zh) p{text-align:justify}.alice-chat-bubble .alice-chat-status,.alice-chat-bubble .alice-chat-error{font-size:14px}.alice-chat-bubble p+.alice-chat-error,.alice-chat-bubble p+.alice-chat-status{margin-top:6px;display:block}.alice-chat-bubble .alice-chat-retry{min-height:32px;margin:4px 0 -4px -10px;padding:0 10px;font-size:13px}.alice-reply-streaming:after{content:"";vertical-align:-.1em;background:currentColor;border-radius:1px;width:2px;height:1em;margin-left:3px;animation:1s step-end infinite alice-chat-caret;display:inline-block}.alice-chat-spinner{animation:1s linear infinite alice-chat-spin}@keyframes alice-chat-spin{to{transform:rotate(360deg)}}@keyframes alice-chat-caret{50%{opacity:0}}@media (width<=760px),(height<=560px){.alice-chat{position:fixed;right:16px}.alice-chat-bubble{right:12px}}.alice-penguin-arrival{z-index:0;inset:calc(-100px - var(--companion-reveal)) -80px -20px;transform:translateX(calc(-.5 * var(--companion-width) + min(calc(.5 * var(--companion-width)), var(--companion-right))));pointer-events:none;animation:9s both alice-penguin-arrive;position:absolute}.alice-penguin-aura{filter:blur(16px);transform-origin:50% 75%;background:radial-gradient(at 50% 64%,#ffa5d43d 0%,#f264ae2e 26%,#e843a318 45%,#0000 70%),radial-gradient(at 46% 86%,#ffd3ef33 0%,#f383da1c 28%,#0000 62%);animation:3s ease-in-out 3 alice-penguin-glow;position:absolute;inset:0 -20px -60px}.alice-penguin-particle,.alice-penguin-sparkle{left:var(--x);margin-left:calc(-.5 * var(--size));width:var(--size);height:var(--size);opacity:0;background:linear-gradient(135deg,#fff7fd 5%,#ffb7df 40%,#ff78c7 64%,#e6b5ff 85%,#fff);position:absolute;-webkit-mask:url(../effects/alice-penguin/bubble.png) 50%/contain no-repeat;mask:url(../effects/alice-penguin/bubble.png) 50%/contain no-repeat}.alice-penguin-particle{animation:alice-penguin-rise var(--duration) var(--delay) ease-out both;bottom:-10px}.alice-penguin-sparkle{top:var(--y);animation:alice-penguin-twinkle 2.4s var(--delay) ease-in-out 3 both;-webkit-mask-image:url(../effects/alice-penguin/sparkle.png);mask-image:url(../effects/alice-penguin/sparkle.png)}.alice-penguin-arrival.is-still{animation:none}.alice-penguin-arrival.is-paused,.alice-penguin-arrival.is-paused *{animation-play-state:paused}.alice-penguin-arrival.is-still .alice-penguin-aura{opacity:.65;animation:none}.alice-easter-bubble{bottom:min(calc(100% + var(--companion-reveal) + 16px), calc(100svh - 230px));color:#fff0f9;width:310px}.alice-easter-bubble:before{filter:drop-shadow(0 0 14px #f186c52e)drop-shadow(0 8px 20px #120a2638)}.alice-easter-bubble .alice-chat-bubble-content{max-height:200px;padding:15px 20px 16px}.alice-easter-bubble .alice-chat-bubble-content:before{content:"";float:right;width:18px;height:1lh}.alice-easter-label{color:#f2b3d7;letter-spacing:.06em;align-items:center;gap:7px;margin-bottom:8px;font-size:12px;display:flex}.alice-easter-label svg{flex-shrink:0}.alice-easter-bubble output{display:block}.alice-easter-bubble .alice-easter-dismiss{color:#f2b3d7b3;transition:color .15s;position:absolute;top:2px;right:2px}.alice-chat-bubble .alice-easter-dismiss:hover{color:#f2b3d7;background:radial-gradient(circle,#ffffff17 0 13px,#0000 14px)}@keyframes alice-penguin-arrive{0%{opacity:0}8%,65%{opacity:1}to{opacity:0}}@keyframes alice-penguin-glow{0%,to{opacity:.7;transform:scale(.96)}50%{opacity:1;transform:scale(1.05)}}@keyframes alice-penguin-rise{0%{opacity:0;transform:translate(0)scale(.45)}14%{opacity:.9}70%{opacity:.7}to{opacity:0;transform:translate3d(var(--drift), calc(-1 * min(78svh, 820px)), 0) scale(1.15)}}@keyframes alice-penguin-twinkle{0%,to{opacity:0;transform:scale(.55)rotate(-12deg)}45%{opacity:.9;transform:scale(1)rotate(10deg)}}.site-footer{border-top:1px solid var(--border);color:var(--text-3);justify-content:space-between;align-items:center;gap:20px;margin-top:56px;padding:22px 0 30px;font-size:12px;display:flex}.site-footer>span:last-child{align-items:center;gap:10px;display:flex}.site-footer-signal{color:#8a879e;font-family:var(--font-mono);letter-spacing:.12em;font-size:11px}.site-footer-signal i{background:var(--signal);width:6px;height:6px;box-shadow:0 0 8px var(--signal);border-radius:50%;animation:2.6s ease-in-out infinite signal-blink}@keyframes signal-blink{0%,70%,to{opacity:1}80%{opacity:.2}}.section-heading{margin-bottom:42px}.section-kicker{color:var(--text-3);font:500 12px/1.2 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:12px;margin:0 0 14px;display:flex}.section-kicker-index{color:var(--glow-bright);text-shadow:0 0 12px rgba(var(--glow-rgb), .7)}.section-kicker-rule{background:linear-gradient(90deg, var(--glow-bright), rgba(var(--glow-rgb), .1));width:46px;height:1px;box-shadow:0 0 8px rgba(var(--glow-rgb), .5)}.section-kicker-total{color:#75728a}.section-heading h1{letter-spacing:-.055em;text-transform:none;font-size:clamp(46px,5.4vw,78px);line-height:1.02}.section-heading h1 .accent-dot{--reveal-base:.45s}.section-loading{color:var(--text-3);font:500 12px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:14px;padding:36px 0;display:flex}.section-retry{border:1px solid rgba(var(--glow-highlight-rgb), .3);background:var(--surface);color:var(--glow-bright);letter-spacing:inherit;text-transform:inherit;border-radius:999px;padding:7px 14px}.section-loading-orbit{border:1px solid rgba(var(--glow-highlight-rgb), .25);border-radius:50%;width:22px;height:22px;animation:1.1s linear infinite spin;position:relative}.section-loading-orbit:after{content:"";background:var(--glow-bright);width:5px;height:5px;box-shadow:0 0 8px var(--glow-bright);border-radius:50%;margin-left:-2.5px;position:absolute;top:-3px;left:50%}.education-block{position:relative}.education-block:before{--shade-fade-x:220px;--shade-fade-top:220px;--shade-fade-bottom:260px;content:"";z-index:-1;inset:-170px -200px;bottom:calc(-1 * var(--section-gap) - 120px);--shade-mask-x:linear-gradient(to right, #0000 0, #00000002 calc(var(--shade-fade-x) * .1), #0000000f calc(var(--shade-fade-x) * .2), #0000002a calc(var(--shade-fade-x) * .3), #00000051 calc(var(--shade-fade-x) * .4), #00000080 calc(var(--shade-fade-x) * .5), #000000ae calc(var(--shade-fade-x) * .6), #000000d5 calc(var(--shade-fade-x) * .7), #000000f0 calc(var(--shade-fade-x) * .8), #000000fd calc(var(--shade-fade-x) * .9), #000 var(--shade-fade-x), #000 calc(100% - var(--shade-fade-x)), #000000fd calc(100% - var(--shade-fade-x) * .9), #000000f0 calc(100% - var(--shade-fade-x) * .8), #000000d5 calc(100% - var(--shade-fade-x) * .7), #000000ae calc(100% - var(--shade-fade-x) * .6), #00000080 calc(100% - var(--shade-fade-x) * .5), #00000051 calc(100% - var(--shade-fade-x) * .4), #0000002a calc(100% - var(--shade-fade-x) * .3), #0000000f calc(100% - var(--shade-fade-x) * .2), #00000002 calc(100% - var(--shade-fade-x) * .1), #0000 100%);--shade-mask-y:linear-gradient(to bottom, #0000 0, #00000002 calc(var(--shade-fade-top) * .1), #0000000f calc(var(--shade-fade-top) * .2), #0000002a calc(var(--shade-fade-top) * .3), #00000051 calc(var(--shade-fade-top) * .4), #00000080 calc(var(--shade-fade-top) * .5), #000000ae calc(var(--shade-fade-top) * .6), #000000d5 calc(var(--shade-fade-top) * .7), #000000f0 calc(var(--shade-fade-top) * .8), #000000fd calc(var(--shade-fade-top) * .9), #000 var(--shade-fade-top), #000 calc(100% - var(--shade-fade-bottom)), #000000fd calc(100% - var(--shade-fade-bottom) * .9), #000000f0 calc(100% - var(--shade-fade-bottom) * .8), #000000d5 calc(100% - var(--shade-fade-bottom) * .7), #000000ae calc(100% - var(--shade-fade-bottom) * .6), #00000080 calc(100% - var(--shade-fade-bottom) * .5), #00000051 calc(100% - var(--shade-fade-bottom) * .4), #0000002a calc(100% - var(--shade-fade-bottom) * .3), #0000000f calc(100% - var(--shade-fade-bottom) * .2), #00000002 calc(100% - var(--shade-fade-bottom) * .1), #0000 100%);-webkit-mask-image:var(--shade-mask-x), var(--shade-mask-y);-webkit-mask-composite:source-in;-webkit-mask-image:var(--shade-mask-x), var(--shade-mask-y);-webkit-mask-image:var(--shade-mask-x), var(--shade-mask-y);-webkit-mask-image:var(--shade-mask-x), var(--shade-mask-y);mask-image:var(--shade-mask-x), var(--shade-mask-y);pointer-events:none;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;background:#02030a61;position:absolute;-webkit-mask-composite:source-in;mask-composite:intersect}@media (width<=760px),(hover:none) and (pointer:coarse){.education-block:before{--shade-fade-x:5vw;left:-8vw;right:-4.5vw}}.timeline article{grid-template-columns:126px minmax(0,1fr);gap:20px;margin-bottom:37px;display:grid}.timeline article>div{border-left:1px solid var(--rule);padding-left:27px;position:relative}.timeline article>div:before{content:"";background:#afa1d4;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;left:-4px}.timeline-date{padding-top:4px}.timeline h2{letter-spacing:-.03em;margin:9px 0;font-size:22px;font-weight:500;line-height:1.4}.timeline h3{color:var(--text-2);margin:0 0 20px;font-size:14px;font-weight:400}.timeline p{color:var(--text-2);margin:7px 0;font-size:16px;line-height:1.9}.undergraduate-schools h2{margin-bottom:9px}.undergraduate-schools h3{margin-bottom:0}.timeline .undergraduate-program{color:var(--text-2);margin-top:20px;font-size:14px;line-height:1.6}.academic-honors{margin-top:24px}.academic-honors h4{margin:0 0 16px}.academic-honors ul{gap:15px;margin:0;padding:0;list-style:none;display:grid}.academic-honors li{border-left:2px solid var(--rule);padding-left:14px;font-size:16px;line-height:1.7}.academic-honor-heading{color:var(--text-1);flex-wrap:wrap;align-items:baseline;gap:2px 10px;display:flex}.academic-honor-year{color:var(--primary);font-variant-numeric:tabular-nums;flex:none;font-size:14px}.academic-honor-detail{color:var(--text-2);display:block}.school-plus{color:#767083;margin:2px 0;font-size:18px;font-weight:300;display:block}.link-collection,.academic-block{margin-top:var(--section-gap)}.section-heading+.link-collection{margin-top:0}.collection-heading,.device-group .section-label{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:22px;padding-top:22px;display:flex}.collection-heading h2,.device-group .section-label h2,.atlas-heading h2,.chapter-heading h2{color:var(--text-1);letter-spacing:-.025em;margin:0;font-family:inherit;font-size:clamp(20px,1.75vw,24px);font-weight:500;line-height:1.35}.collection-heading>span{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:13px}#academic-results-heading{font-size:clamp(24px,2.1vw,28px);font-weight:600}.collection-heading a{color:var(--primary);transition:color .2s, background-size .5s var(--ease-expo);background:linear-gradient(currentColor,currentColor) 0 100%/0% 1px no-repeat;align-items:center;gap:6px;padding-bottom:2px;font-size:14px;display:inline-flex}.collection-heading a:is(:hover,:focus-visible){color:var(--glow-bright);background-size:100% 1px}.collection-heading a svg{transition:transform .45s var(--ease-spring)}.collection-heading a:is(:hover,:focus-visible) svg{transform:translate(2px,-2px)}.timeline-date,.academic-honors h4,.steam-subheading h3,.mal-status-summary h4,.atlas-eyebrow,.atlas-list-label,.favorite-cities-count,.journal-edition,.journal-eyebrow,.chapter-heading p,.chapter-count{color:var(--text-3);letter-spacing:.14em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:12px;font-weight:500;line-height:1.5}.atlas-eyebrow,.atlas-list-label,.journal-eyebrow{color:var(--primary)}.preview-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:22px;display:grid}.preview-card,.publication-card,.steam-game-card,.device{border:1px solid var(--line);border-radius:var(--radius-md);background-color:var(--surface);box-shadow:var(--surface-edge)}.preview-card{flex-direction:column;min-width:0;display:flex;overflow:hidden}.preview-card,.publication-card{transition:border-color .3s var(--ease-out), background-color .3s var(--ease-out), transform .3s var(--ease-out)}.preview-card:hover,.publication-card:hover{border-color:rgba(var(--glow-highlight-rgb), .3);background-color:var(--surface-hover);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.preview-card:hover,.publication-card:hover{transform:none}}.remote-preview{aspect-ratio:16/9;background:#1a1b25;position:relative;overflow:hidden}.repository-label{align-items:center;gap:8px;display:inline-flex}.remote-preview img{object-fit:cover;width:100%;height:100%;display:block}.preview-fallback{height:100%;color:var(--primary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:18px;font-size:14px;display:flex}.preview-play,.preview-external{color:#fff;background:#111217bb;border:1px solid #ffffff30;border-radius:50%;place-items:center;display:grid;position:absolute}.preview-play{width:48px;height:48px;padding-left:3px;top:50%;left:50%;transform:translate(-50%,-50%)}.preview-external{width:30px;height:30px;top:10px;right:10px}.preview-body{flex-direction:column;flex:1;padding:22px;display:flex}.preview-meta{color:var(--primary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.preview-body h3,.publication-body h3{overflow-wrap:anywhere;margin:12px 0 10px;font-size:20px;font-weight:500;line-height:1.5}.preview-body p,.publication-body p{color:var(--muted-foreground);overflow-wrap:anywhere;margin:0 0 14px;font-size:16px;line-height:1.8}.preview-action{color:var(--primary);align-items:center;gap:7px;margin-top:auto;padding-top:12px;font-size:14px;display:flex}.steam-section{margin-bottom:var(--section-gap)}.steam-overview{border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(ellipse 70% 90% at 0% 0%, rgba(var(--glow-rgb), .1), transparent 70%), var(--surface);box-shadow:var(--surface-edge);padding:26px}.steam-identity{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.steam-identity>img{border-radius:var(--radius-sm);background:#23232e}.steam-identity h3{margin:0 0 4px;font-size:18px}.steam-identity span{color:var(--muted-foreground);font-size:14px}.steam-identity .steam-date{margin-left:auto;font-size:12px}.steam-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:26px 0 20px;display:grid}.steam-stats>div{flex-direction:column-reverse;gap:7px;display:flex}.steam-stats dt{color:var(--muted-foreground);font-size:14px}.steam-stats dd{color:var(--foreground);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(24px,3vw,34px);font-weight:400}.steam-completion{border-top:1px solid var(--line);color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:10px;padding-top:16px;font-size:14px;display:flex}.steam-completion svg,.steam-completion strong{color:var(--primary)}.steam-completion>span:last-child{margin-left:auto}.steam-subheading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin:40px 0 16px;display:flex}.steam-subheading h3{margin:0}.steam-subheading>span{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:12px}.steam-games-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.steam-game-card{min-width:0;overflow:hidden}.steam-game-art{aspect-ratio:184/69;color:var(--primary);background:#1a1b25;justify-content:center;align-items:center;display:flex;position:relative}.steam-game-art img{object-fit:cover;width:100%;height:100%}.steam-game-art>span{color:#fff;background:#111217dd;border-radius:6px;padding:3px 6px;font-size:12px;position:absolute;bottom:6px;right:6px}.steam-game-body{padding:16px}.steam-game-body h4{overflow-wrap:anywhere;min-height:3em;margin:0 0 12px;font-size:14px;font-weight:500;line-height:1.5}.steam-game-body p{color:var(--muted-foreground);margin:0;font-size:14px}.steam-game-body p strong{color:var(--foreground);font-size:19px;font-weight:500}.steam-achievement{color:var(--muted-foreground);margin-top:16px;font-size:12px;display:block}.steam-achievement>span{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.steam-achievement>span>span{margin-left:auto}.steam-achievement.is-complete{color:var(--primary)}.steam-unavailable{color:var(--muted-foreground);margin-top:16px;font-size:12px;display:block}.steam-search{flex-wrap:wrap;align-items:center;gap:14px;font-size:14px;display:flex}.steam-search input{background:var(--surface);color:var(--foreground);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:0;max-width:100%;padding:10px 12px}.steam-library-list{margin:16px 0;padding:0;list-style:none}.steam-library-list li{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 85px 160px;align-items:center;gap:16px;padding:16px 0;font-size:14px;display:grid}.steam-library-list li>a{overflow-wrap:anywhere;align-items:center;gap:8px;display:flex}.steam-library-list li>a svg{flex-shrink:0}.steam-library-list .steam-achievement,.steam-library-list .steam-unavailable{margin:0}.steam-expand{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);color:var(--primary);cursor:pointer;padding:10px 16px;font-size:14px}@media (width<=1100px){.steam-games-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.steam-overview{padding:18px}.steam-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.steam-identity .steam-date,.steam-completion>span:last-child{flex-basis:100%;margin-left:0}.steam-library-list li{grid-template-columns:minmax(0,1fr) 70px}.steam-library-list li>.steam-achievement,.steam-library-list li>.steam-unavailable{grid-column:1/-1}}@media (width<=380px){.steam-games-grid{grid-template-columns:minmax(0,1fr)}}.publication-card{align-items:flex-start;gap:24px;padding:26px;display:flex}.publication-mark{color:var(--primary);background:rgba(var(--glow-rgb), .07);border-radius:var(--radius-sm);flex-direction:column;flex:0 0 100px;align-items:center;gap:12px;padding:20px 8px;display:flex}.publication-mark span{letter-spacing:.14em;font-size:12px;font-weight:500}.publication-mark strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:300}.publication-body{flex:1;align-self:stretch;min-width:0}.authorship-badge{border:1px solid rgba(var(--glow-highlight-rgb), .2);background:rgba(var(--glow-rgb), .06);border-radius:999px;padding:2px 10px;font-size:12px}.publication-authors strong{color:var(--foreground);font-weight:500}.publication-body .publication-doi{width:fit-content;font-size:13px;transition:color .2s}.publication-doi:is(:hover,:focus-visible){color:var(--glow-bright)}@media (width<=560px){.publication-card{flex-direction:column;gap:18px;padding:20px}.publication-mark{flex-direction:row;flex:none;width:100%;padding:12px 16px}.publication-mark strong{margin-left:auto;font-size:18px}}.skip-link{z-index:100;color:#1b1723;background:#ddd4f6;border-radius:6px;padding:10px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:15px}@keyframes breathe{0%,to{transform:translate(-3px)rotate(-.65deg)}50%{transform:translate(3px,-5px)rotate(.65deg)}}@keyframes page-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (width>=1700px){.page-content{margin-left:calc(50vw - 610px)}.companion{--companion-right:calc(50vw - 705px)}}@media (width<=1300px){.page-content{width:calc(100% - 455px);margin-left:7%}.companion{--companion-height:min(60svh, 590px);--companion-width:300px;--companion-right:90px}}@media (width<=1120px){.social-grid{grid-template-columns:repeat(4,minmax(44px,1fr));max-width:360px}.desktop-dock[data-slot=sidebar]{display:none}.site-header{height:86px;margin:0 5%}.page-content{width:calc(100% - 370px);margin-left:7%;padding-top:48px}.companion{--companion-right:10px;--companion-width:300px}.timeline article{grid-template-columns:1fr;gap:10px}.timeline article>div{padding-left:20px}}@media (width<=760px){.site-header{gap:14px;height:76px;margin:0 24px}.header-actions{margin-left:auto}.page-content{width:auto;margin:0 25px;padding-top:38px;padding-bottom:222px}h1{font-size:49px}.home-quote{margin-top:26px;padding-left:24px}.home-quote p{font-size:clamp(23px,6.7vw,30px)}.home-quote-mark{font-size:80px;top:-14px;left:-6px}.home-quote footer{margin-top:19px}.social-section{margin-top:34px}.interest-list{gap:12px 20px}.companion{--companion-height:222px;--companion-right:4px;--companion-width:150px}.site-footer{align-items:flex-start;margin-top:38px}.site-footer>span:last-child{text-align:right;max-width:145px}.timeline{margin-top:30px}.timeline h2{font-size:22px}}@media (width<=380px){.page-content{margin:0 20px}h1{font-size:43px}.site-header{margin:0 20px}.language-toggle{gap:8px;padding:7px 10px}}@media (orientation:landscape) and (height<=560px){.site-header{height:66px}.page-content{width:calc(100% - 260px);margin-left:6%;padding-top:28px;padding-bottom:30px}.companion{--companion-height:min(76svh, 320px);--companion-width:180px;--companion-right:12px}.desktop-dock[data-slot=sidebar]{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.device-group+.device-group{margin-top:var(--section-gap)}.device-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.device{min-width:0;transition:border-color .3s var(--ease-out), background-color .3s var(--ease-out), transform .3s var(--ease-out);align-items:flex-start;gap:15px;padding:23px 22px;display:flex}.device:last-child:nth-child(odd){grid-column:1/-1}.device:hover{border-color:rgba(var(--glow-highlight-rgb), .3);background-color:var(--surface-hover);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.device:hover{transform:none}}@media (prefers-reduced-motion:no-preference){[data-reveal=cell][data-revealing]>*{transition:opacity .8s var(--ease-expo), transform 1s var(--ease-expo);transition-delay:calc(var(--reveal-order,0) * 60ms)}[data-reveal=cell][data-revealing]>*+*{transition-delay:calc(var(--reveal-order,0) * 60ms + 70ms)}[data-reveal=cell]:not([data-revealed])>*{opacity:0;transform:translateY(14px)}}.device-icon{color:#bcb2e5;transition:color .3s, transform .6s var(--ease-spring);flex:0 0 28px;padding-top:2px}.device-icon svg{filter:drop-shadow(0 0 6px rgba(var(--glow-rgb), .28));transition:filter .3s}.device:hover .device-icon{color:#efe9ff;transform:translateY(-2px)rotate(-8deg)scale(1.08)}.device:hover .device-icon svg{filter:drop-shadow(0 0 10px rgba(var(--glow-highlight-rgb), .75))}.device h3{letter-spacing:-.015em;overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:450;line-height:1.5}.device p{color:var(--text-3);margin:6px 0 0;font-size:13px;line-height:1.7}.travel-journal{color:var(--photo-paper)}.favorite-cities{margin-bottom:var(--section-gap);border-top:1px solid var(--photo-rule);padding-top:22px}.favorite-cities-list{grid-template-rows:repeat(5,auto);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;column-gap:40px;margin:24px 0 0;padding:0;list-style:none;display:grid}.favorite-cities-list li{border-bottom:1px solid var(--photo-rule);align-items:baseline;gap:18px;padding:15px 0;font-size:16px;display:flex}.favorite-city-rank{color:var(--photo-accent);letter-spacing:-.02em;font-variant-numeric:tabular-nums;flex:0 0 30px;font-size:20px;font-weight:300;line-height:1.4}@container (width<=440px){.favorite-cities-list{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-auto-flow:row}}.travel-atlas{margin:0 0 var(--section-gap);border-top:1px solid var(--photo-rule);padding-top:22px;container-type:inline-size}.atlas-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.atlas-eyebrow{margin:0 0 8px}.atlas-count{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.atlas-count strong{color:var(--photo-accent);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:40px;font-weight:300;line-height:1}.atlas-count>span{color:var(--photo-muted);font-size:12px}.atlas-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:stretch;gap:24px;margin-top:18px;display:grid}.atlas-visual{flex-direction:column;justify-content:space-between;min-width:0;display:flex}.atlas-sphere{aspect-ratio:1;background:radial-gradient(circle, rgba(var(--glow-rgb), .12) 20%, rgba(var(--glow-rgb), .045) 48%, transparent 71%);width:100%;max-width:470px;margin-inline:auto;position:relative}.atlas-canvas{touch-action:pan-y;cursor:grab;border-radius:50%;width:100%;height:100%;display:block}.atlas-canvas:focus-visible{outline:1px solid var(--photo-accent);outline-offset:3px}.atlas-canvas.is-hovering{cursor:pointer}.atlas-canvas.is-dragging{cursor:grabbing}.atlas-north{color:var(--photo-muted);pointer-events:none;font-size:12px;position:absolute;top:0;left:50%;translate:-50%}.atlas-controls{justify-content:space-between;align-items:center;gap:8px;padding:0 12px;display:flex}.atlas-controls p{color:var(--photo-muted);align-items:center;gap:7px;margin:0;font-size:13px;display:flex}.atlas-controls>div{gap:2px;display:flex}.travel-atlas .atlas-control{width:40px;min-width:40px;height:40px;color:var(--photo-accent);border:1px solid var(--photo-rule);background:#b0a9e908;border-radius:50%}.travel-atlas .atlas-control:hover{background:#b0a9e918}.atlas-places{flex-direction:column;min-width:0;padding-top:4px;display:flex}.atlas-list-label{flex-wrap:wrap;gap:5px 12px;margin:0 0 10px;display:flex}.atlas-list-label>span{color:var(--photo-muted);letter-spacing:0;text-transform:none}.atlas-places ul{margin:0;padding:0;list-style:none}.atlas-places li{border-bottom:1px solid var(--line)}.travel-atlas .atlas-place{width:100%;height:auto;min-height:43px;color:var(--text-2);text-align:left;white-space:normal;background:0 0;border-radius:0;justify-content:flex-start;gap:9px;padding:9px 4px;font-size:14px;font-weight:400;line-height:1.5;transition:color .2s,background .2s;display:flex}.travel-atlas .atlas-place:hover,.travel-atlas .atlas-place.is-hovered,.travel-atlas .atlas-place[aria-pressed=true]{color:#eee1ff;background:#a98ed211}.atlas-place-code{color:var(--text-3);letter-spacing:.08em;flex-shrink:0;margin-left:auto;font-size:12px}.atlas-place>svg{color:var(--photo-accent);opacity:.55}.atlas-selection{min-height:40px;color:var(--photo-muted);flex-direction:column;justify-content:center;gap:4px;margin:auto 0 0;font-size:13px;line-height:1.8;display:flex}.atlas-selection>span+span{letter-spacing:.025em;font-variant-numeric:tabular-nums;color:var(--photo-accent);font-size:12px}.atlas-loading{color:var(--photo-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex;position:absolute;inset:0}@container (width<=570px){.atlas-layout{grid-template-columns:minmax(0,1fr);gap:24px}.atlas-sphere{max-width:390px}.atlas-controls{width:100%;max-width:390px;margin-inline:auto}.atlas-places ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.atlas-places .atlas-selection{min-height:54px;margin-top:12px}}@container (width<=350px){.atlas-heading{align-items:flex-start;gap:12px}.atlas-count strong{font-size:32px}.atlas-count>span{text-align:right;max-width:80px}.atlas-place-code,.atlas-place>svg{display:none}.atlas-places ul{gap:0 16px}}.journal-edition{border-top:1px solid var(--photo-rule);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px 0;display:flex}.journal-authorship{color:var(--photo-muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;margin:0 0 26px;font-size:14px;line-height:1.8;display:flex}.journal-authorship p{margin:0}.journal-authorship a{min-height:44px;color:var(--photo-accent);text-underline-offset:5px;transition:color .2s, text-decoration-color .35s var(--ease-out);align-items:center;gap:6px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px;display:inline-flex}.journal-authorship a:hover{color:var(--glow-bright);text-decoration-color:currentColor}.journal-authorship a svg{flex-shrink:0}.chapter-heading{border-top:1px solid var(--photo-rule);align-items:center;gap:16px;padding:23px 0 30px;display:flex}.chapter-number{color:var(--photo-accent);letter-spacing:-.03em;font-variant-numeric:tabular-nums;align-self:flex-start;font-size:30px;font-weight:300;line-height:1.2}.chapter-heading>div{min-width:0}.chapter-heading p{margin:0 0 4px}.chapter-count{flex-shrink:0;align-self:flex-start;margin-left:auto;padding-top:3px}.journal-footer{color:var(--photo-muted);justify-content:space-between;align-items:center;gap:20px;margin:28px 0 0;display:flex}.journal-end{color:var(--text-2);letter-spacing:.01em;font-size:15px}.page-photography .site-footer{margin-top:12px;padding:14px 0 16px}.journal-instagram{width:48px;height:48px;color:var(--photo-accent);flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.journal-instagram .social-icon{width:32px;height:32px}.journal-instagram:hover,.journal-instagram:focus-visible{color:var(--glow-bright)}@media (width<=560px){.photo-chapter{margin-top:52px}.chapter-heading{gap:12px}.chapter-count{display:none}}@media (width>=1121px) and (width<=1300px){.page-content{width:calc(93% - 425px)}}@media (width>=761px) and (width<=1120px){.page-content{width:calc(93% - 344px)}.device-grid{grid-template-columns:1fr}}@media (width<=560px){.device-grid{grid-template-columns:1fr}.device{padding:19px}}@media (orientation:landscape) and (height<=560px){.page-content{width:calc(94% - 230px)}.device-grid{grid-template-columns:1fr}}.travel-journal{container-type:inline-size}@container (width<=440px){.photo-chapter{margin-top:64px}}.language-toggle:hover,.language-toggle:focus-visible{border-color:rgba(var(--glow-highlight-rgb), .45);box-shadow:0 0 15px rgba(var(--glow-rgb), .09)}.timeline article:first-child>div:before{background:var(--glow-bright);box-shadow:0 0 9px rgba(var(--glow-highlight-rgb), .7), 0 0 20px rgba(var(--glow-rgb), .3)}@media (orientation:landscape) and (height<=560px){.hero-name{font-size:72px}}.dock-links .dock-icon>svg{transition:filter .2s}.dock-links a[aria-current] .dock-icon>svg,.dock-links a:hover .dock-icon>svg,.dock-links a:focus-visible .dock-icon>svg{filter:drop-shadow(0 0 5px rgba(var(--glow-highlight-rgb), .65)) drop-shadow(0 0 12px rgba(var(--glow-rgb), .4))}.mobile-desktop-notice{display:none}@media (width<=760px),(hover:none) and (pointer:coarse){.companion{display:none}.page-content{width:auto;padding-bottom:max(40px, env(safe-area-inset-bottom));margin-right:5%}.mobile-desktop-notice{border-radius:var(--radius-md);color:#ded9ef;background:#262331;border:1px solid #beb0e423;align-items:center;gap:12px;margin-bottom:28px;padding:12px 14px;font-size:14px;line-height:1.6;display:flex}.mobile-desktop-notice>svg{color:var(--glow-bright);flex-shrink:0}.mobile-desktop-notice p{flex:1;margin:0}.mobile-desktop-notice button{flex-shrink:0;min-width:44px;min-height:44px}}.mobile-floating-dock{display:none}@media (width<=760px),(hover:none) and (pointer:coarse){.profile-shell{--mobile-dock-space:calc(76px + env(safe-area-inset-bottom,0px))}.desktop-dock[data-slot=sidebar]{display:none}.mobile-floating-dock{z-index:50;bottom:max(16px, env(safe-area-inset-bottom,0px));left:max(16px, env(safe-area-inset-left,0px));-webkit-backdrop-filter:blur(20px);width:52px;height:52px;transition:width .3s var(--ease-out);background:#1d1d28e6;border:1px solid #ffffff24;border-radius:28px;display:grid;position:fixed;box-shadow:0 8px 32px #0005,inset 0 1px #ffffff0d}.mobile-floating-dock[data-open=true]{width:min(328px, calc(100vw - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)))}.mobile-dock-trigger{width:50px;height:50px;color:var(--glow-bright);cursor:pointer;filter:drop-shadow(0 0 8px rgba(var(--glow-rgb), .4));background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.mobile-dock-panel{flex-direction:row;justify-content:space-between;align-items:center;gap:0;min-width:0;padding:3px;display:none}.mobile-floating-dock[data-open=true] .mobile-dock-trigger{display:none}.mobile-floating-dock[data-open=true] .mobile-dock-panel{display:flex}.mobile-dock-panel nav{display:contents}.mobile-dock-panel a,.mobile-dock-panel .dock-icon{width:40px;height:44px}.mobile-dock-panel a{border-radius:50%;flex:1;min-width:0}.mobile-dock-trigger:focus-visible,.mobile-dock-panel a:focus-visible{outline:2px solid var(--glow-bright);outline-offset:2px}.mobile-dock-panel .dock-label,.mobile-dock-panel .dock-indicator{display:none}.page-content{padding-bottom:calc(var(--mobile-dock-space) + 24px)}.model-screen{height:100dvh;min-height:0;overflow:hidden}.model-screen .site-header{display:none}.mobile-model-page{height:calc(100dvh - var(--mobile-dock-space))}.model-screen .companion:not([hidden]){--companion-reveal:0px;--companion-height:calc(100dvh - var(--mobile-dock-space));--companion-width:100vw;--companion-right:0px;bottom:var(--mobile-dock-space);display:block}.model-screen .companion-crop{bottom:calc(-1 * var(--mobile-dock-space));--extend-portrait-bottom:1}.model-screen .companion-crop:has(>.character-touch[data-wide-portrait=true]){left:0;right:0}.model-screen .alice-chat{position:absolute;bottom:8px;right:16px}.model-screen .alice-chat-bubble{max-height:min(260px,40dvh)}}.publication-card+.publication-card{margin-top:20px}.photo-gallery{gap:clamp(64px,12cqi,96px);padding-top:14px;display:grid}.gallery-photo{min-width:0;margin:0;scroll-margin-top:36px}.gallery-photo-media{isolation:isolate;min-width:0;position:relative}.gallery-photo-glow{z-index:-1;object-fit:cover;filter:blur(46px)saturate(1.5);opacity:.38;pointer-events:none;width:88%;height:90%;transition:opacity .6s var(--ease-out);position:absolute;top:10%;left:6%}.gallery-photo-link{background:#16161b;border-radius:4px;display:block;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff0f,0 2px 4px #0000004d,0 28px 56px -28px #000000d9}.gallery-photo-link img{width:100%;height:auto;transition:transform .9s var(--ease-out);display:block}.gallery-photo-link:focus-visible{outline:2px solid var(--photo-accent);outline-offset:5px}.gallery-photo-open{color:#fff;opacity:0;width:32px;height:32px;transition:opacity .3s var(--ease-out), transform .3s var(--ease-out);background:#0a0a0e8c;border:1px solid #fff3;border-radius:999px;place-items:center;display:grid;position:absolute;top:12px;right:12px;transform:translateY(4px)}.gallery-photo-link:focus-visible .gallery-photo-open{opacity:1;transform:none}@media (hover:hover){.gallery-photo-link:hover img{transform:scale(1.02)}.gallery-photo-link:hover .gallery-photo-open{opacity:1;transform:none}.gallery-photo-media:hover .gallery-photo-glow{opacity:.52}}.gallery-photo>figcaption{align-content:start;gap:12px;padding-top:22px;display:grid}.gallery-photo-title h3{color:var(--text-1);letter-spacing:-.025em;margin:8px 0 0;font-size:20px;font-weight:500;line-height:1.4}.gallery-photo-notes>p{max-width:36em;color:var(--text-2);margin:0;font-size:14px;line-height:1.85}.gallery-photo-exif{border-top:1px solid var(--line);color:var(--text-3);gap:4px;margin-top:16px;padding-top:12px;font-size:12px;line-height:1.6;display:grid}.gallery-photo-exif p{overflow-wrap:anywhere;min-width:0;margin:0}.gallery-photo-exif dl{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 14px;margin:0;display:flex}.gallery-photo-exif dl>div{gap:4px;display:flex}.gallery-photo-exif dd{color:var(--text-2);white-space:nowrap;margin:0}.gallery-photo-exif dd span{color:var(--text-3);margin-left:1px}.gallery-wide>figcaption{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px 40px}.gallery-inset{width:84%;margin-left:auto}.gallery-spread,.gallery-spread-reverse{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:40px;display:grid}.gallery-spread-reverse{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.gallery-spread-reverse>.gallery-photo-media{grid-area:1/2}.gallery-spread>figcaption,.gallery-spread-reverse>figcaption{padding:0 0 4px}.gallery-spread-reverse>figcaption{grid-area:1/1}.gallery-spread h3,.gallery-spread-reverse h3{font-size:22px}.gallery-pair-row{grid-template-columns:var(--pair-columns);align-items:start;gap:28px;display:grid}.gallery-pair h3{font-size:18px}.photo-chapter{margin-top:88px}.journal-footer{border-top:1px solid var(--photo-rule);margin-top:64px;padding-top:24px}@container (width<=560px){.gallery-wide>figcaption,.gallery-spread,.gallery-spread-reverse,.gallery-pair-row{grid-template-columns:minmax(0,1fr)}.gallery-pair-row{gap:clamp(64px,12cqi,96px)}.gallery-spread-reverse>.gallery-photo-media,.gallery-spread-reverse>figcaption{grid-area:auto/1}.gallery-spread,.gallery-spread-reverse{gap:0}.gallery-spread>figcaption,.gallery-spread-reverse>figcaption{padding:22px 0 0}.gallery-inset{width:100%}.gallery-photo-title h3,.gallery-spread h3,.gallery-spread-reverse h3,.gallery-pair h3{font-size:19px}}@media (prefers-reduced-motion:reduce){.gallery-photo-link img,.gallery-photo-open,.gallery-photo-glow{transition:none}.gallery-photo-link:hover img{transform:none}}.cover-wall{contain:layout paint;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(120% 70% at 50% -10%, rgba(var(--glow-rgb), .12), transparent 62%), var(--surface);height:clamp(380px,40vw,500px);box-shadow:var(--surface-edge);cursor:grab;touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;margin-top:36px;position:relative;overflow:hidden}.steam-subheading+.cover-wall{margin-top:0}.cover-wall-rows{--wall-fade:clamp(36px, 11%, 128px);-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--wall-fade), #000 calc(100% - var(--wall-fade)), transparent);-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--wall-fade), #000 calc(100% - var(--wall-fade)), transparent);-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--wall-fade), #000 calc(100% - var(--wall-fade)), transparent);-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--wall-fade), #000 calc(100% - var(--wall-fade)), transparent);mask-image:linear-gradient(90deg, transparent, #000 var(--wall-fade), #000 calc(100% - var(--wall-fade)), transparent);grid-template-rows:repeat(3,minmax(0,1fr));row-gap:clamp(10px,1.6vw,16px);padding:clamp(18px,2.4vw,26px) 0;display:grid;position:absolute;inset:0}.cover-wall:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.cover-wall.is-dragging{cursor:grabbing}.cover-wall-row{min-height:0;position:relative}.cover-wall-track{will-change:transform;position:absolute;inset:0}.cover-wall-card{aspect-ratio:2/3;height:100%;position:absolute;top:0;left:0}.cover-wall-card img,.cover-wall-card:after{border-radius:10px;position:absolute;inset:0}.cover-wall-card img{object-fit:cover;width:100%;height:100%;transition:transform .32s var(--ease-out), opacity .32s var(--ease-out);background:linear-gradient(160deg,#1d1e2a,#15161f);box-shadow:0 14px 22px -14px #000d}.cover-wall-card:after{content:"";pointer-events:none;transition:transform .32s var(--ease-out);box-shadow:inset 0 0 0 1px #ffffff12,inset 0 1px #ffffff1a}.cover-wall-card.is-missing img{visibility:hidden}.cover-wall-card.is-missing:before{content:"";background:linear-gradient(160deg,#1d1e2a,#15161f);border-radius:10px;position:absolute;inset:0}.cover-wall-title{z-index:1;color:var(--text-1);-webkit-line-clamp:2;opacity:0;transition:opacity .24s var(--ease-out), transform .24s var(--ease-out);pointer-events:none;background:linear-gradient(#0000,#08080ce6);border-radius:0 0 10px 10px;-webkit-box-orient:vertical;padding:26px 9px 8px;font-size:11px;line-height:1.4;display:-webkit-box;position:absolute;inset:auto 0 0;overflow:hidden;transform:translateY(4px)}@media (hover:hover){.cover-wall:not(.is-dragging) .cover-wall-row:hover img{opacity:.55}.cover-wall:not(.is-dragging) .cover-wall-card:hover{z-index:1}.cover-wall:not(.is-dragging) .cover-wall-card:hover img{opacity:1;transform:translateY(-3px)scale(1.06);box-shadow:0 20px 30px -16px #000}.cover-wall:not(.is-dragging) .cover-wall-card:hover:after,.cover-wall:not(.is-dragging) .cover-wall-card:hover .cover-wall-title{transform:translateY(-3px)scale(1.06)}.cover-wall:not(.is-dragging) .cover-wall-card:hover .cover-wall-title{opacity:1}}@media (width<=600px){.cover-wall{height:360px}.cover-wall-card img,.cover-wall-card:after,.cover-wall-card.is-missing:before{border-radius:7px}}@media (prefers-reduced-motion:reduce){.cover-wall-card img,.cover-wall-card:after,.cover-wall-title{transition:none}}.mal-favorite-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 16px;display:grid}.mal-favorite-card{grid-row:span 2;grid-template-rows:auto auto;row-gap:0;display:grid}.mal-section .mal-favorite-art{aspect-ratio:2/3;padding:0;overflow:hidden}.mal-section .mal-favorite-art img{object-fit:cover;display:block}.mal-favorite-body{grid-template-rows:subgrid;grid-row:span 5;gap:10px;padding:18px 16px;display:grid}.mal-favorite-card{grid-row:span 6;grid-template-rows:subgrid}.mal-favorite-body h4{overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:500;line-height:1.55}.mal-favorite-body p{color:var(--muted-foreground);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.65}.mal-favorite-body .mal-original{font-size:12px}.mal-favorite-body .mal-work-type{color:var(--primary)}.mal-work-link{color:var(--primary);align-items:center;gap:6px;padding-top:6px;font-size:14px;display:inline-flex}.mal-section :is(a,[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:4px}@media (width<=1000px){.mal-favorite-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.mal-favorite-grid{gap:20px 12px}.mal-favorite-body{padding:14px 12px}}@media (width<=360px){.mal-favorite-grid{grid-template-columns:1fr}}.mal-status-summary{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:18px;display:grid}.mal-status-summary h4{margin:0 0 12px}.mal-status-summary dl{flex-wrap:wrap;gap:12px 20px;margin:0;display:flex}.mal-status-summary dl>div{gap:8px;font-size:14px;display:flex}.mal-status-summary dt{color:var(--muted-foreground)}.mal-status-summary dd{color:var(--primary);font-variant-numeric:tabular-nums;margin:0}@media (width<=600px){.mal-status-summary{grid-template-columns:1fr}}.snapshot-deck{margin-top:72px}.snapshot-deck-stage{aspect-ratio:16/10;background:radial-gradient(closest-side, rgba(var(--glow-rgb), .07), transparent);cursor:grab;touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;position:relative;container-type:size}.snapshot-deck-stage:active{cursor:grabbing}.snapshot-print{width:min(62cqw, calc(80cqh * var(--ratio)));pointer-events:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent;transition:transform .48s var(--ease-out), opacity .4s var(--ease-out);border-radius:3px;display:block;position:absolute;top:50%;left:50%;box-shadow:0 2px 4px #0004,0 22px 40px -20px #000c}.snapshot-print.is-top{pointer-events:auto;box-shadow:0 4px 8px #0004,0 34px 56px -26px #000e}.snapshot-print.is-dragging{transition:opacity .4s var(--ease-out)}.snapshot-print img{border-radius:inherit;width:100%;height:auto;display:block}.snapshot-print:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff14}.snapshot-print-open{z-index:1;width:30px;height:30px;color:var(--text-1);opacity:0;transition:opacity .22s var(--ease-out);background:#0c0c129e;border-radius:999px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.snapshot-print.is-top:focus-visible{outline:2px solid var(--primary);outline-offset:5px}.snapshot-print.is-top:focus-visible .snapshot-print-open{opacity:1}@media (hover:hover){.snapshot-print.is-top:not(.is-dragging):hover .snapshot-print-open{opacity:1}}.snapshot-deck-controls{border-top:1px solid var(--photo-rule);justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding-top:16px;display:flex}.snapshot-deck-controls p{color:var(--text-3);flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0;font-size:13px;display:flex}.snapshot-deck-controls p span{color:var(--photo-paper);font-size:15px}.snapshot-deck-nav{flex-shrink:0;align-items:center;gap:12px;display:flex}.snapshot-deck-nav button{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--text-1);cursor:pointer;transition:background-color .2s var(--ease-out), border-color .2s var(--ease-out);border-radius:999px;place-items:center;display:grid}.snapshot-deck-nav button:hover{border-color:var(--rule);background:var(--surface-hover)}.snapshot-deck-nav button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.snapshot-deck-nav output{min-width:58px;color:var(--text-3);font-variant-numeric:tabular-nums;letter-spacing:.08em;text-align:center;font-size:13px}.snapshot-deck-nav strong{color:var(--text-1);font-weight:500}@container (width<=560px){.snapshot-deck{margin-top:48px}.snapshot-deck-stage{aspect-ratio:4/5}.snapshot-print{width:min(78cqw, calc(74cqh * var(--ratio)))}}@media (prefers-reduced-motion:reduce){.snapshot-print,.snapshot-print-open{transition:none}}.orbit-map{container-type:inline-size}.orbit-map-stage{aspect-ratio:16/10;border:1px solid var(--line);background:radial-gradient(ellipse 60% 70% at 50% 50%, rgba(var(--glow-rgb), .1), transparent 70%), #07080f;box-shadow:var(--surface-edge), 0 34px 70px -34px #000000d9;border-radius:20px;position:relative;overflow:hidden}.orbit-canvas{opacity:0;width:100%;height:100%;transition:opacity 1.2s var(--ease-out);display:block;position:absolute;inset:0}.orbit-map-stage[data-status=ready] .orbit-canvas{opacity:1}.orbit-overlay{pointer-events:none}.orbit-key{pointer-events:none;color:#dfdaf5c7;font:500 10px/1.5 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;transition:opacity .7s var(--ease-out);gap:10px;display:grid;position:absolute;top:16px;left:18px}.orbit-map[data-focus=moon] .orbit-key,.orbit-map[data-focus=deep] .orbit-key{opacity:.35}.orbit-key-title{color:#aaa6c499;margin-bottom:2px;display:block}.orbit-key ul{gap:1px;margin:0;padding:0;list-style:none;display:grid}.orbit-key li{align-items:center;gap:7px;display:flex}.orbit-key li i{background:var(--dot);width:6px;height:6px;box-shadow:0 0 6px var(--dot);border-radius:50%}.orbit-key li span{color:#aaa6c4b3;font-variant-numeric:tabular-nums;margin-left:auto;padding-left:12px}.orbit-key-source{color:#aaa6c473;margin:0;font-size:9px}.orbit-fallback{color:var(--text-3);text-align:center;margin:0;font-size:13px;position:absolute;inset:auto 0 44%}.orbit-timeline{border:1px solid var(--line);background:var(--surface);box-shadow:var(--surface-edge);font:500 11px/1 var(--font-mono);letter-spacing:.06em;border-radius:14px;align-items:center;gap:10px;margin-top:12px;padding:8px 14px 8px 8px;display:flex}.orbit-timeline button{height:30px;color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;transition:background-color .3s,color .3s;display:inline-flex}.orbit-timeline button:hover{background:rgba(var(--glow-rgb), .12);color:var(--text-1)}.orbit-timeline button:focus-visible{outline:1px solid rgba(var(--glow-highlight-rgb), .7);outline-offset:1px}.orbit-play{flex:0 0 30px;background:rgba(var(--glow-rgb), .16)!important;color:#fff!important}.orbit-now{white-space:nowrap;flex:none;padding:0 10px}.orbit-now i{background:#aaa6c480;border-radius:50%;width:6px;height:6px;transition:background-color .3s,box-shadow .3s}.orbit-now[data-live]{color:var(--signal)}.orbit-now[data-live] i{background:var(--signal);box-shadow:0 0 8px var(--signal);animation:1.8s ease-in-out infinite orbit-live}.orbit-now[data-live][data-paused] i{animation:none}@keyframes orbit-live{50%{opacity:.35}}.orbit-tape{background:#ffffff06;border-radius:10px;flex:auto;min-width:120px;height:42px;position:relative;-webkit-mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000);mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000)}.orbit-tape canvas{cursor:grab;touch-action:pan-y;width:100%;height:100%;display:block}.orbit-tape canvas:active{cursor:grabbing}.orbit-tape:has(.orbit-scrub:focus-visible){outline:1px solid rgba(var(--glow-highlight-rgb), .7);outline-offset:2px;-webkit-mask-image:none;mask-image:none}.orbit-scrub{clip-path:inset(50%);opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.orbit-clock{color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.orbit-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.orbit-legend button{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;height:100%;box-shadow:var(--surface-edge);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .5s var(--ease-out), background-color .5s var(--ease-out);border-radius:14px;align-items:flex-start;gap:12px;padding:14px 15px;display:flex}.orbit-legend li[data-focused] button{border-color:rgba(var(--glow-highlight-rgb), .42);background-color:#211d36e0}.orbit-legend button:focus-visible{outline:1px solid rgba(var(--glow-highlight-rgb), .7);outline-offset:2px}.orbit-legend-icon{background:rgba(var(--glow-rgb), .1);color:#cfc6f5;border-radius:10px;flex:0 0 34px;place-items:center;height:34px;transition:background-color .5s,color .5s,box-shadow .5s;display:grid}.orbit-legend li[data-focused] .orbit-legend-icon{background:rgba(var(--glow-rgb), .28);color:#fff;box-shadow:0 0 18px rgba(var(--glow-rgb), .45)}.orbit-legend strong{color:var(--text-1);font-size:14px;font-weight:500;line-height:1.4;display:block}.orbit-legend small{color:var(--text-3);font:500 10.5px/1.4 var(--font-mono);letter-spacing:.08em;margin-top:5px;display:block}@container (width<=640px){.orbit-map-stage{aspect-ratio:4/3.4}.orbit-legend{grid-template-columns:minmax(0,1fr)}.orbit-timeline{flex-wrap:wrap}.orbit-tape{flex-basis:100%;order:5}.orbit-clock{margin-left:auto}}@container (width<=460px){.orbit-key li span,.orbit-key-source{display:none}.orbit-key{font-size:9px;top:12px;left:12px}}.research-focus{border:1px solid var(--line);background:linear-gradient(160deg, rgba(var(--glow-rgb), .09), transparent 58%), var(--surface);box-shadow:var(--surface-edge);border-radius:20px;margin-top:18px;padding:26px 30px 0;overflow:hidden}.research-focus header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.research-focus h2{color:var(--primary);font:500 12px/1.5 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;margin:0}.research-place{color:var(--text-3);font:500 11.5px/1.5 var(--font-mono);letter-spacing:.08em;white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.research-statement{color:var(--text-1);letter-spacing:-.03em;text-wrap:balance;margin:16px 0 6px;font-size:clamp(26px,3vw,40px);font-weight:520;line-height:1.22}.research-wave{width:calc(100% + 60px);height:46px;margin:0 -30px;display:block;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000);mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000)}.research-wave path{fill:none;stroke:rgba(var(--glow-highlight-rgb), .5);stroke-width:1.3px;vector-effect:non-scaling-stroke;animation:5s linear infinite wave-slide}@keyframes wave-slide{to{transform:translate(-480px)}}@media (width<=560px){.research-focus{padding:22px 20px 0}.research-wave{width:calc(100% + 40px);margin:0 -20px}}.steam-game-art{overflow:hidden}.steam-game-art img,.mal-section .mal-favorite-art img{transition:transform 1s var(--ease-expo)}.steam-game-card{transition:border-color .35s var(--ease-out), transform .5s var(--ease-expo), box-shadow .5s var(--ease-out)}@media (hover:hover){.steam-game-card:hover{border-color:rgba(var(--glow-highlight-rgb), .28);box-shadow:var(--surface-edge), 0 22px 40px -24px #000000e6;transform:translateY(-3px)}.steam-game-card:hover .steam-game-art img,.mal-favorite-card:hover .mal-favorite-art img{transform:scale(1.07)}}.steam-stats dd{color:#f5f1ff;text-shadow:0 0 26px rgba(var(--glow-rgb), .4);font-weight:300}.steam-achievement>.achievement-meter{background:#ffffff12;border-radius:4px;height:4px;margin-top:8px;display:block;overflow:hidden}.steam-achievement>.achievement-meter>span{border-radius:inherit;background:linear-gradient(90deg, rgba(var(--glow-rgb), .65), var(--primary));width:100%;height:100%;transform:scaleX(var(--progress,0));transform-origin:0;transition:transform 1.5s var(--ease-expo) calc(var(--reveal-order,0) * 60ms + .15s);margin:0;display:block}.steam-achievement.is-complete .achievement-meter>span{box-shadow:0 0 10px rgba(var(--glow-highlight-rgb), .6);background:linear-gradient(90deg,#b0a9e9,#f3ecff)}@media (prefers-reduced-motion:no-preference){.achievement-meter:not([data-revealed])>span{transform:scaleX(0)}}.completion-ring{width:34px;height:34px;color:var(--primary);flex:0 0 34px;place-items:center;display:grid;position:relative}.completion-ring .completion-track{position:absolute;inset:0;transform:rotate(-90deg)}.completion-track circle{fill:none;stroke-width:2.4px}.completion-track circle:first-child{stroke:#ffffff14}.completion-track circle:last-child{stroke:var(--primary);stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:calc(1 - var(--progress,0));filter:drop-shadow(0 0 4px rgba(var(--glow-rgb), .8));transition:stroke-dashoffset 2s var(--ease-expo) .3s}@media (prefers-reduced-motion:no-preference){.completion-ring:not([data-revealed]) .completion-track circle:last-child{stroke-dashoffset:1px}}.preview-card.project-card{transform:perspective(1000px) rotateX(calc(var(--tilt-x,0) * 3deg)) rotateY(calc(var(--tilt-y,0) * 4deg)) translateY(var(--lift,0px));transition:transform .8s var(--ease-expo), border-color .3s var(--ease-out), background-color .3s var(--ease-out)}.preview-card.project-card:hover{--lift:-3px;transform:perspective(1000px) rotateX(calc(var(--tilt-x,0) * 3deg)) rotateY(calc(var(--tilt-y,0) * 4deg)) translateY(var(--lift,0px))}.preview-card.project-card[data-tilting]{transition-duration:.2s,.3s,.3s}.project-index{color:#4f4c60;font:500 11px/1 var(--font-mono);letter-spacing:.14em;transition:color .3s;position:absolute;bottom:24px;right:22px}.project-card:hover .project-index{color:var(--primary)}.project-card h3{font-family:var(--font-mono);letter-spacing:-.01em;font-size:17px}.language-chip{color:var(--text-2);align-items:center;gap:7px;display:inline-flex}.language-chip i{background:var(--language,var(--primary));width:8px;height:8px;box-shadow:0 0 8px var(--language,var(--primary));border-radius:50%}.preview-action svg{transition:transform .45s var(--ease-spring)}.preview-card:hover .preview-action svg{transform:translate(3px,-3px)}.remote-preview img{transition:transform 1s var(--ease-expo), filter .6s var(--ease-out)}.preview-play{transition:transform .55s var(--ease-spring), background-color .3s, box-shadow .3s}@media (hover:hover){.video-card:hover .remote-preview img{filter:saturate(1.15);transform:scale(1.06)}.video-card:hover .preview-play{background-color:#9782e8e0;transform:translate(-50%,-50%)scale(1.14);box-shadow:0 0 0 8px #9782e82e}}.favorite-cities-list li{transition:padding-left .5s var(--ease-expo);position:relative}.favorite-cities-list li:after{content:"";background:linear-gradient(90deg, var(--glow-bright), transparent 80%);height:1px;box-shadow:0 0 8px rgba(var(--glow-rgb), .6);transform-origin:0;transition:transform .7s var(--ease-expo);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.favorite-city-rank{transition:color .3s,text-shadow .3s}.favorite-city-flag{transition:transform .5s var(--ease-spring);display:inline-block}@media (hover:hover){.favorite-cities-list li:hover{padding-left:8px}.favorite-cities-list li:hover:after{transform:scaleX(1)}.favorite-cities-list li:hover .favorite-city-rank{color:var(--glow-bright);text-shadow:0 0 12px rgba(var(--glow-rgb), .8)}.favorite-cities-list li:hover .favorite-city-flag{transform:scale(1.25)rotate(-8deg)}}.chapter-heading{border-top:0;position:relative}.chapter-heading:before{content:"";background:linear-gradient(90deg, var(--glow-bright), var(--photo-rule) 35%, var(--photo-rule));transform-origin:0;height:1px;position:absolute;top:0;left:0;right:0}.chapter-number{color:var(--glow-bright);letter-spacing:-.05em;text-shadow:0 0 30px rgba(var(--glow-rgb), .25);font-size:58px;font-weight:250;line-height:.95}@media (prefers-reduced-motion:no-preference){.chapter-heading:before,.chapter-number,.chapter-heading>div,.chapter-count{transition:transform 1.3s var(--ease-expo), opacity 1s var(--ease-expo)}.chapter-heading>div{transition-delay:.12s}.chapter-count{transition-delay:.3s}[data-reveal=chapter]:not([data-revealed]):before{transform:scaleX(0)}[data-reveal=chapter]:not([data-revealed]) .chapter-number{opacity:0;transform:translateY(34px)}[data-reveal=chapter]:not([data-revealed])>div{opacity:0;transform:translate(-18px)}[data-reveal=chapter]:not([data-revealed]) .chapter-count{opacity:0}[data-reveal=photo]{--photo-reveal-delay:calc(.2s + var(--reveal-order,0) * .11s)}[data-reveal=photo] .gallery-photo-link{clip-path:inset(0);transition:clip-path 1.5s var(--ease-expo) var(--photo-reveal-delay)}[data-reveal=photo] .gallery-photo-link img{transition:scale 2s var(--ease-expo) var(--photo-reveal-delay), transform .9s var(--ease-out);scale:1}[data-reveal=photo] figcaption{transition:opacity 1s var(--ease-expo), transform 1.2s var(--ease-expo);transition-delay:calc(.35s + var(--photo-reveal-delay))}[data-reveal=photo]:not([data-revealed]) .gallery-photo-link{clip-path:inset(0 0 100%)}[data-reveal=photo]:not([data-revealed]) .gallery-photo-link img{scale:1.22}[data-reveal=photo]:not([data-revealed]) .gallery-photo-glow{opacity:0}[data-reveal=photo]:not([data-revealed]) figcaption{opacity:0;transform:translateY(-18px)}[data-reveal=photo] .gallery-photo-glow{transition:opacity 1.8s var(--ease-out) .5s}}.back-to-top{z-index:30;color:#d6ceff;opacity:0;visibility:hidden;-webkit-backdrop-filter:blur(14px);width:48px;height:48px;transition:opacity .4s var(--ease-out), transform .6s var(--ease-spring), visibility 0s linear .4s, color .2s;background:#1d1d28b8;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;bottom:28px;left:28px;transform:translateY(14px)scale(.9);box-shadow:inset 0 0 0 1px #ffffff12,0 14px 30px -12px #000c}.back-to-top[data-shown]{opacity:1;visibility:visible;transition-delay:0s;transform:none}.back-to-top-ring{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.back-to-top-ring circle{fill:none;stroke-width:1.5px}.back-to-top-ring circle:first-child{stroke:#ffffff0f}.back-to-top-ring circle:last-child{stroke:var(--glow-bright);stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:calc(1 - var(--progress,0));filter:drop-shadow(0 0 4px rgba(var(--glow-rgb), .8))}.back-to-top>svg:last-child{transition:transform .5s var(--ease-spring)}.back-to-top:hover{color:#fff}.back-to-top:hover>svg:last-child{transform:translateY(-3px)}@media (width<=1120px),(hover:none) and (pointer:coarse){.back-to-top{display: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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
