/*! 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{--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-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-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}::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-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-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}}}@layer theme{:root,:host{--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--blur-sm:8px;--default-font-family:var(--font-body);--default-mono-font-family:var(--font-code)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::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]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance: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}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.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}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.running{animation-play-state:running}}@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}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:lab(2.26849% -1.10195 .321755);--foreground:lab(94.3088% -2.46999 1.26466);--card:lab(4.93781% -2.31574 .676057);--card-foreground:var(--foreground);--primary:lab(78.3785% -37.8667 19.474);--primary-foreground:lab(2.60257% -2.82872 1.11766);--muted:lab(9.68119% -3.97922 1.14983);--muted-foreground:lab(67.7637% -5.56976 2.85294);--border:lab(94.3359% -3.08824 1.58132/.13);--line-strong:lab(94.3359% -3.08824 1.58132/.24);--ring:var(--primary);--surface-raised:lab(5.38058% -2.69251 .786281);--surface-soft:lab(4.52916% -2.18446 .637811);--surface-header:lab(2.26849% -1.10195 .321755/.9);--surface-overlay:lab(.47867% -.383377 .112271/.78);--accent-soft:lab(78.3785% -37.8667 19.474/.12);--accent-border:lab(78.3785% -37.8667 19.474/.3);--accent-muted:lab(68.7106% -28.2767 14.5278);--primary-hover:lab(85.3422% -37.7967 19.4297);--scene-grid:lab(78.3785% -37.8667 19.474/.08);--scene-glow:lab(78.3785% -37.8667 19.474/.16);--font-body:var(--font-geist-sans), "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;--font-code:var(--font-geist-mono), "PingFang SC", "Microsoft YaHei", monospace;--text-label:.75rem;--text-node:.625rem;--text-small:.875rem;--text-body:clamp(1rem, 1.3vw, 1.125rem);--text-lead:clamp(1.125rem, 1.6vw, 1.35rem);--text-card:clamp(1.25rem, 2vw, 1.75rem);--text-title:clamp(1.75rem, 3.5vw, 3rem);--text-project:clamp(1.8rem, 4vw, 3.75rem);--text-display:clamp(3.75rem, 10vw, 9rem);--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-body:1.75;--leading-compact:1.5;--leading-heading:1.25;--leading-display:1.1;--tracking-heading:-.025em;--tracking-label:.06em;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-18:4.5rem;--space-20:5rem;--space-24:6rem;--space-28:7rem;--space-32:8rem;--space-36:9rem;--space-44:11rem;--space-48:12rem;--content-max:92rem;--content-reading:48rem;--page-gutter:clamp(var(--space-5), 4vw, var(--space-18));--header-height:5.25rem;--section-space:clamp(var(--space-20), 10vw, var(--space-36));--layout-gap:clamp(var(--space-8), 6vw, var(--space-28));--card-padding:clamp(var(--space-6), 3vw, var(--space-10));--panel-padding:clamp(var(--space-6), 4vw, var(--space-16));--radius-sm:.375rem;--radius-md:.55rem;--radius-lg:.8rem;--radius-xl:1.1rem;--radius-pill:999px;--radius:var(--radius-md);--border-width:1px;--opacity-disabled:.45;--opacity-hidden:0;--opacity-visible:1;--opacity-scene-scroll:.48;--opacity-scene-grid:.35;--blur-sm:6px;--blur-header:18px;--shadow-raised:0 1rem 3rem lab(0% 0 0/.18);--shadow-modal:0 2rem 7rem lab(0% 0 0/.38);--shadow-indicator:0 0 0 var(--space-1) var(--accent-soft);--shadow-header:0 var(--space-3) var(--space-8) lab(0% 0 0/.16);--focus-width:2px;--focus-offset:4px;--control-height:2.75rem;--control-height-lg:3rem;--icon-size:1rem;--duration-fast:.16s;--duration-base:.26s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--z-header:40;--z-overlay:60;--z-modal:70;--z-skip-link:100;--modal-width:36rem;--modal-width-lg:56rem}@media (max-width:62rem){:root{--header-height:7.1rem}}@media (max-width:36rem){:root{--page-gutter:var(--space-4);--section-space:var(--space-16)}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s}}.ds-type{font-family:var(--font-body);overflow-wrap:anywhere;margin:0}.ds-type[data-variant=display]{font-size:var(--text-display);font-weight:var(--weight-semibold);line-height:var(--leading-display);letter-spacing:var(--tracking-heading)}.ds-type[data-variant=section]{font-size:var(--text-title);font-weight:var(--weight-medium);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}.ds-type[data-variant=project]{font-size:var(--text-project);font-weight:var(--weight-medium);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}.ds-type[data-variant=title]{font-size:var(--text-card);font-weight:var(--weight-semibold);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}.ds-type[data-variant=body]{font-size:var(--text-body);line-height:var(--leading-body)}.ds-type[data-variant=small]{font-size:var(--text-small);line-height:var(--leading-compact)}.ds-type[data-variant=label]{font-family:var(--font-code);font-size:var(--text-label);letter-spacing:var(--tracking-label);line-height:var(--leading-compact)}.ds-type[data-tone=muted]{color:var(--muted-foreground)}.ds-type[data-tone=accent]{color:var(--primary)}.ds-container{width:min(100%, var(--content-max));padding-inline:var(--page-gutter);min-width:0;margin-inline:auto}.ds-container[data-width=reading]{max-width:var(--content-reading)}.ds-section{padding-block:var(--section-space);border-top:var(--border-width) solid var(--border);scroll-margin-top:calc(var(--header-height) + var(--space-4))}.ds-surface{border:var(--border-width) solid var(--border);border-radius:var(--radius-xl);min-width:0;color:var(--card-foreground)}.ds-surface--default{background:var(--surface-soft)}.ds-surface--raised{background:var(--surface-raised);border-color:var(--line-strong);box-shadow:var(--shadow-raised)}.ds-surface--outline{background:0 0;border-style:dashed}.ds-surface--flush{padding:0}.ds-surface--md{padding:var(--card-padding)}.ds-surface--lg{padding:var(--panel-padding)}.ds-grid{min-width:0;display:grid}.ds-grid>*{min-width:0}.ds-grid[data-columns="1"]{grid-template-columns:minmax(0,1fr)}.ds-grid[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-grid[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.ds-grid[data-gap=sm]{gap:var(--space-3)}.ds-grid[data-gap=md]{gap:var(--space-6)}.ds-grid[data-gap=lg]{gap:var(--space-8)}.ds-tag-list{align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.ds-tag{max-width:100%;padding:var(--space-1) var(--space-3);border:var(--border-width) solid var(--border);border-radius:var(--radius-pill);font:var(--weight-regular) var(--text-label) / var(--leading-compact) var(--font-code);overflow-wrap:anywhere;color:var(--muted-foreground);display:inline-flex}.ds-tag[data-tone=accent]{color:var(--primary);background:var(--accent-soft);border-color:var(--accent-border)}.ds-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);border:var(--border-width) solid transparent;border-radius:var(--radius-md);max-width:100%;padding:var(--space-2) var(--space-4);font:var(--weight-medium) var(--text-small) / var(--leading-compact) var(--font-body);text-align:center;cursor:pointer;transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);flex-shrink:0;text-decoration:none;display:inline-flex}.ds-button--primary{background:var(--primary);color:var(--primary-foreground)}.ds-button--outline{color:var(--foreground);border-color:var(--line-strong);background:0 0}.ds-button--ghost{color:var(--muted-foreground);background:0 0}.ds-button--sm{font-size:var(--text-label);padding-inline:var(--space-3)}.ds-button--lg{min-height:var(--control-height-lg);padding-inline:var(--space-5)}.ds-button--icon{width:var(--control-height);padding:var(--space-2)}.ds-button svg{width:var(--icon-size);height:var(--icon-size);pointer-events:none;flex-shrink:0}.ds-button:disabled,.ds-button[data-disabled],.ds-button[aria-disabled=true]{opacity:var(--opacity-disabled);cursor:not-allowed}.ds-button:focus-visible{outline:var(--focus-width) solid var(--ring);outline-offset:var(--focus-offset)}@media (hover:hover){.ds-button--primary:not(:disabled):not([data-disabled]):hover{background:var(--primary-hover)}.ds-button--outline:not(:disabled):not([data-disabled]):hover,.ds-button--ghost:not(:disabled):not([data-disabled]):hover{background:var(--muted);color:var(--foreground);border-color:var(--line-strong)}}.ds-modal-backdrop{z-index:var(--z-overlay);background:var(--surface-overlay);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));position:fixed;inset:0}.ds-modal-viewport{z-index:var(--z-modal);padding:var(--space-6);overscroll-behavior:contain;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.ds-modal{width:min(100%, var(--modal-width));max-height:calc(100dvh - var(--space-12));border:var(--border-width) solid var(--line-strong);border-radius:var(--radius-xl);background:var(--surface-raised);box-shadow:var(--shadow-modal);color:var(--foreground);font-family:var(--font-body);flex-direction:column;display:flex;position:relative;overflow:hidden}.ds-modal[data-size=lg]{width:min(100%, var(--modal-width-lg))}.ds-modal__header{padding:var(--space-6);padding-right:calc(var(--space-6) + var(--control-height));border-bottom:var(--border-width) solid var(--border)}.ds-modal__header>:first-child{margin-bottom:var(--space-2)}.ds-modal__body{padding:var(--space-6);overscroll-behavior:contain;min-height:0;overflow-y:auto}.ds-modal__close{top:var(--space-3);right:var(--space-3);position:absolute}.ds-reference{gap:var(--space-6);display:grid}.ds-reference__row{align-items:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.ds-reference__swatch{width:var(--space-5);height:var(--space-5);border:var(--border-width) solid var(--line-strong);border-radius:var(--radius-sm);margin-right:var(--space-2);vertical-align:middle;display:inline-block}.ds-reference__swatch[data-color=background]{background:var(--background)}.ds-reference__swatch[data-color=surface]{background:var(--surface-raised)}.ds-reference__swatch[data-color=accent]{background:var(--primary)}@media (max-width:62rem){.ds-grid[data-columns="3"]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:36rem){.ds-grid[data-columns="2"],.ds-grid[data-columns="3"]{grid-template-columns:minmax(0,1fr)}.ds-modal-viewport{padding:var(--space-3)}.ds-modal{max-height:calc(100dvh - var(--space-6))}.ds-modal__header{padding-left:var(--space-4)}.ds-modal__body{padding:var(--space-4)}}.skip-link{top:var(--space-4);left:var(--space-4);z-index:var(--z-skip-link);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--primary);color:var(--primary-foreground);font-size:var(--text-small);font-weight:var(--weight-bold);position:fixed;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:var(--z-header);min-height:var(--header-height);border-bottom:var(--border-width) solid var(--border);background:var(--surface-header);-webkit-backdrop-filter:blur(var(--blur-header));backdrop-filter:blur(var(--blur-header));position:sticky;top:0}.site-header__inner{min-height:var(--header-height);align-items:center;gap:clamp(var(--space-5), 3vw, var(--space-12));grid-template-columns:auto minmax(0,1fr) auto;padding-block:0;display:grid}.brand{align-items:center;gap:var(--space-3);width:max-content;display:inline-flex}.brand__mark{border:var(--border-width) solid var(--line-strong);border-radius:var(--radius-pill);width:2rem;height:2rem;color:var(--primary);font-family:var(--font-code);font-size:var(--text-label);font-weight:var(--weight-bold);place-items:center;display:grid}.brand__copy{line-height:var(--leading-heading);display:grid}.brand__copy strong{letter-spacing:var(--tracking-label);font-size:var(--text-small)}.brand__copy span{color:var(--muted-foreground);font-size:var(--text-label)}.site-nav{min-width:0;overflow:hidden}.site-nav__list{justify-content:center;align-items:center;gap:clamp(var(--space-3), 1.5vw, var(--space-6));min-width:max-content;margin:0;padding:0;list-style:none;display:flex}.site-nav__link{align-items:baseline;gap:var(--space-1);color:var(--muted-foreground);font-size:var(--text-small);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);transition:color var(--duration-fast) var(--ease-standard);display:inline-flex}.site-nav__link>span{color:var(--accent-muted);font-family:var(--font-code);font-size:var(--text-label)}.site-nav__link.is-active,.site-nav__link.is-active:hover,.site-nav__link:not(.is-planned):hover{color:var(--foreground)}.site-nav__link.is-planned{cursor:not-allowed;opacity:var(--opacity-disabled)}.phase-indicator{align-items:center;gap:var(--space-2);color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;display:inline-flex}.phase-indicator>span,.hero__eyebrow>span{border-radius:var(--radius-pill);background:var(--primary);width:.42rem;height:.42rem;box-shadow:var(--shadow-indicator)}.hero{min-height:calc(100svh - var(--header-height));padding-block:var(--section-space);align-items:center;gap:clamp(var(--space-12), 8vw, var(--space-36));grid-template-columns:minmax(0,1.15fr) minmax(22rem,.72fr);display:grid}main>section{z-index:1;position:relative}.hero__content{min-width:0}.hero__visual{align-self:center;gap:var(--space-4);min-width:0;display:grid}.hero-scene-slot{min-height:clamp(17rem,28vw,23rem);position:relative}.hero-scene{z-index:0;border:var(--border-width) solid var(--border);border-radius:var(--radius-xl);background:radial-gradient(circle at 50% 48%, var(--scene-glow), transparent 42%), var(--surface-soft);isolation:isolate;cursor:crosshair;transition:opacity var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard);position:absolute;inset:0;overflow:hidden}.hero-scene__canvas,.hero-scene__grid{width:100%;height:100%;position:absolute;inset:0}.hero-scene__canvas{z-index:1;opacity:var(--opacity-hidden);pointer-events:none;transition:opacity var(--duration-base) var(--ease-standard)}.hero-scene[data-scene-status=active] .hero-scene__canvas,.hero-scene[data-scene-status=static] .hero-scene__canvas{opacity:var(--opacity-visible)}.hero-scene__grid{background-image:linear-gradient(var(--scene-grid) var(--border-width), transparent var(--border-width)), linear-gradient(90deg, var(--scene-grid) var(--border-width), transparent var(--border-width));background-size:var(--space-8) var(--space-8);transition:opacity var(--duration-base) var(--ease-standard);-webkit-mask-image:radial-gradient(circle,#000,#0000 76%);mask-image:radial-gradient(circle,#000,#0000 76%)}.hero-scene__meta{z-index:2;right:var(--space-4);bottom:var(--space-3);left:var(--space-4);color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label);letter-spacing:var(--tracking-label);transition:opacity var(--duration-base) var(--ease-standard);justify-content:space-between;display:flex;position:absolute}.developer-mode__trigger{z-index:3;top:var(--space-3);left:var(--space-3);min-height:2rem;padding-inline:var(--space-3);border-color:var(--accent-border);background:var(--surface-raised);position:absolute}@supports (color:color-mix(in lab, red, red)){.developer-mode__trigger{background:color-mix(in oklch, var(--surface-raised) 84%, transparent)}}.developer-mode__trigger{color:var(--accent-muted);font-family:var(--font-code);font-size:var(--text-node);letter-spacing:var(--tracking-label);-webkit-backdrop-filter:blur(var(--blur-header));backdrop-filter:blur(var(--blur-header))}.developer-mode__trigger svg{width:var(--icon-size);height:var(--icon-size)}.developer-mode{z-index:5;top:calc(var(--space-3) + 2.5rem);bottom:calc(var(--space-10) + var(--space-2));left:var(--space-3);border-color:var(--accent-border);width:min(82%,21rem);box-shadow:var(--shadow-raised);cursor:default;position:absolute;overflow:auto}.developer-mode__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.developer-mode__header p,.developer-mode__quality legend,.developer-mode__metrics dt,.developer-mode__note{color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-node);letter-spacing:var(--tracking-label)}.developer-mode__header h3{margin-top:var(--space-1);font-size:var(--text-card);line-height:var(--leading-heading)}.developer-mode__close{flex:none}.developer-mode__close svg{width:var(--icon-size);height:var(--icon-size)}.developer-mode__status{align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding-block:var(--space-2);border-block:var(--border-width) solid var(--border);color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-node);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.developer-mode__status svg{width:var(--icon-size);height:var(--icon-size);color:var(--primary)}.developer-mode__status[data-status=active] svg{animation:developer-mode-pulse 1.8s var(--ease-standard) infinite}.developer-mode__status strong{color:var(--accent-muted);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label)}.developer-mode__quality{margin:var(--space-3) 0 0;border:0;padding:0}.developer-mode__quality>div{gap:var(--space-1);margin-top:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.developer-mode__quality button{min-width:0;min-height:1.8rem;padding-inline:var(--space-1);color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-node)}.developer-mode__quality button[data-active=true]{background:var(--accent-soft);color:var(--primary)}.developer-mode__metrics{margin:var(--space-3) 0 0;border-top:var(--border-width) solid var(--border);border-left:var(--border-width) solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.developer-mode__metrics>div{min-width:0;padding:var(--space-2);border-right:var(--border-width) solid var(--border);border-bottom:var(--border-width) solid var(--border)}.developer-mode__metrics dt{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.developer-mode__metrics dd{margin:var(--space-1) 0 0;color:var(--foreground);font-family:var(--font-code);font-size:var(--text-small);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.developer-mode__note{margin-top:var(--space-3);line-height:var(--leading-body);letter-spacing:0}.hero-scene__nodes{z-index:2;pointer-events:none;transition:opacity var(--duration-base) var(--ease-standard);margin:0;padding:0;list-style:none;position:absolute;inset:0}.hero-scene__node-label{transition:transform var(--duration-fast) var(--ease-standard), opacity var(--duration-base) var(--ease-standard);position:absolute;transform:translate(-50%,-50%)}.hero-scene__node-label button{align-items:center;gap:var(--space-2);padding:var(--space-2);color:var(--muted-foreground);cursor:pointer;font-family:var(--font-code);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;white-space:nowrap;pointer-events:auto;transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);background:0 0;border:0;line-height:1;display:inline-flex}:is(.hero-scene__node-label button:hover,.hero-scene__node-label button:focus-visible){border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--primary)}.hero-scene__node-label small{color:var(--accent-muted);font-size:var(--text-node)}.hero-scene__node-dot{border:var(--border-width) solid currentColor;border-radius:var(--radius-pill);background:var(--background);width:.34rem;height:.34rem;box-shadow:var(--shadow-indicator)}.hero-scene__node-label[data-active=true]{transform:translate(-50%,-50%)scale(1.06)}.hero-scene__node-label[data-active=true] button{color:var(--primary)}.capability-detail{z-index:4;top:var(--space-3);right:var(--space-3);bottom:calc(var(--space-10) + var(--space-2));border-color:var(--accent-border);width:min(74%,23rem);box-shadow:var(--shadow-raised);cursor:default;position:absolute;overflow:auto}.capability-detail__header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.capability-detail__eyebrow,.capability-detail__category,.capability-detail__relations>p{color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-node);letter-spacing:var(--tracking-label);text-transform:uppercase}.capability-detail__close{font-size:var(--text-lead);flex:none}.capability-detail h3{margin-top:var(--space-2);font-size:var(--text-card);line-height:var(--leading-heading)}.capability-detail__category{margin-top:var(--space-1)}.capability-detail__summary{margin-top:var(--space-3);color:var(--muted-foreground);font-size:var(--text-small);line-height:var(--leading-body)}.capability-detail__skills{gap:var(--space-1);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.capability-detail__skill{min-height:1.8rem;padding-inline:var(--space-2);font-family:var(--font-code);font-size:var(--text-node)}.capability-detail__skill[data-active=true]{background:var(--accent-soft);color:var(--primary)}.capability-detail__relations{margin-top:var(--space-4);padding-top:var(--space-3);border-top:var(--border-width) solid var(--border)}.capability-detail__relations>p{justify-content:space-between;display:flex}.capability-detail__relations ul{gap:var(--space-1);margin-top:var(--space-2);padding:0;list-style:none;display:grid}.capability-detail__relations a{color:var(--foreground);font-size:var(--text-small);text-decoration:none}:is(.capability-detail__relations a:hover,.capability-detail__relations a:focus-visible){color:var(--primary);text-underline-offset:var(--space-1);text-decoration:underline}.capability-detail__empty{margin-top:var(--space-2);color:var(--muted-foreground);font-size:var(--text-small);text-transform:none}@media (min-width:62.001rem) and (prefers-reduced-motion:no-preference){.hero-scene:not([data-scroll-stage=intro]){z-index:0;inset:auto var(--page-gutter) auto auto;top:calc(var(--header-height) + var(--space-8));width:min(38vw,34rem);height:min(calc(100svh - var(--header-height) - var(--space-16)), 34rem);border-radius:var(--radius-xl);background:radial-gradient(circle at center, var(--scene-glow), transparent 64%);min-height:22rem;opacity:var(--opacity-scene-scroll);pointer-events:none;border-color:#0000;position:fixed}.hero-scene:not([data-scroll-stage=intro]) .hero-scene__nodes,.hero-scene:not([data-scroll-stage=intro]) .hero-scene__meta,.hero-scene:not([data-scroll-stage=intro]) .developer-mode__trigger,.hero-scene:not([data-scroll-stage=intro]) .developer-mode,.hero-scene:not([data-scroll-stage=intro]) .capability-detail{opacity:var(--opacity-hidden)}.hero-scene:not([data-scroll-stage=intro]) .hero-scene__grid{opacity:var(--opacity-scene-grid)}.hero-scene[data-scroll-visible=false]{visibility:hidden;opacity:var(--opacity-hidden)}}@keyframes developer-mode-pulse{50%{opacity:var(--opacity-disabled)}}.hero__eyebrow{align-items:center;gap:var(--space-3);margin-bottom:clamp(var(--space-8), 5vh, var(--space-18));color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;display:flex}.hero__title-group{gap:0;display:grid}.hero__role{margin:0 0 var(--space-3);color:var(--primary);font-family:var(--font-code);font-size:var(--text-small);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase}.hero h1{text-transform:uppercase;margin:0}.hero__headline{max-width:48rem;margin:clamp(var(--space-5), 3vw, var(--space-8)) 0 0;color:var(--foreground);font-size:var(--text-card);font-weight:var(--weight-medium);letter-spacing:var(--tracking-heading);line-height:var(--leading-heading)}.hero__summary{max-width:42rem;margin:clamp(var(--space-6), 3vw, var(--space-10)) 0 0;color:var(--muted-foreground)}.hero__actions{margin-top:var(--space-8);gap:var(--space-3);flex-wrap:wrap;display:flex}.hero__primary-action{min-width:11.5rem}.button-note{margin-left:var(--space-1);color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase}.hero__positioning{margin:clamp(var(--space-10), 5vw, var(--space-18)) 0 0;color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase}.capability-preview{scroll-margin-top:calc(var(--header-height) + var(--space-8))}.capability-preview__header,.capability-preview__footer{padding:var(--space-5) var(--space-5);justify-content:space-between;align-items:center;display:flex}.capability-preview__header{border-bottom:var(--border-width) solid var(--border)}.capability-preview__header span,.capability-preview__footer,.capability-preview__index{color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase}.capability-preview__header h2{margin:var(--space-1) 0 0;font-size:var(--text-body);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label)}.capability-preview__index{color:var(--primary);align-self:flex-start}.capability-list{margin:0;padding:0;list-style:none}.capability-list li{padding:var(--space-4) var(--space-5);border-bottom:var(--border-width) solid var(--border);gap:var(--space-3);grid-template-columns:2.25rem minmax(0,1fr);display:grid}.capability-list__index{padding-top:var(--space-1);color:var(--accent-muted);font-family:var(--font-code);font-size:var(--text-label)}.capability-list strong{font-size:var(--text-small);font-weight:var(--weight-semibold);display:block}.capability-list p{margin:var(--space-1) 0 0;color:var(--muted-foreground);font-size:var(--text-label);line-height:var(--leading-compact)}.capability-preview__footer{justify-content:flex-start;gap:var(--space-3) var(--space-5);flex-wrap:wrap}.capability-preview__footer span:before{content:"•";margin-right:var(--space-2);color:var(--primary)}.section-heading{margin-bottom:clamp(var(--space-12), 6vw, var(--space-24));gap:var(--layout-gap);grid-template-columns:minmax(9rem,.32fr) minmax(0,1fr);display:grid}.section-heading__meta{align-items:baseline;gap:var(--space-3);padding-top:var(--space-2);color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;display:flex}.section-heading__meta span:first-child{color:var(--primary)}.section-heading__content{max-width:59rem}.section-heading h2{max-width:52rem;margin:0}.section-heading__content>p{max-width:43rem;margin:var(--space-5) 0 0;color:var(--muted-foreground)}.capability-card{min-height:23rem}.capability-card__header{color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;justify-content:space-between;align-items:center;display:flex}.capability-card__header span:first-child{color:var(--primary)}.capability-card h3{margin:clamp(var(--space-12), 5vw, var(--space-20)) 0 0}.capability-card>p{min-height:3rem;margin:var(--space-3) 0 0;color:var(--muted-foreground);font-size:var(--text-small);line-height:var(--leading-compact)}.project-case{overflow:hidden}.project-case__topline,.project-case__intro,.project-case__overview,.project-case__details,.project-case__footer{padding-right:clamp(var(--space-5), 4vw, var(--space-12));padding-left:clamp(var(--space-5), 4vw, var(--space-12))}.project-case__topline{padding-top:var(--space-5);padding-bottom:var(--space-5);border-bottom:var(--border-width) solid var(--border);color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;justify-content:space-between;align-items:center;display:flex}.project-case__topline span:first-child{color:var(--primary)}.project-case__intro{padding-top:clamp(var(--space-10), 6vw, var(--space-20));align-items:end;gap:clamp(var(--space-8), 5vw, var(--space-24));grid-template-columns:minmax(0,1fr) minmax(18rem,.55fr);display:grid}.project-case h3{max-width:48rem;margin:var(--space-4) 0 0;overflow-wrap:anywhere}.project-case__intro>p{color:var(--foreground);font-size:var(--text-lead);line-height:var(--leading-compact);margin:0}.project-case__overview{max-width:68rem;margin:clamp(var(--space-12), 6vw, var(--space-24)) 0 0;color:var(--muted-foreground);font-size:var(--text-body)}.project-case__summary{margin-top:clamp(var(--space-10), 5vw, var(--space-18));border-top:var(--border-width) solid var(--border);border-bottom:var(--border-width) solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.project-case__summary>div{padding:clamp(var(--space-6), 3vw, var(--space-10)) 0}.project-case__summary>div:not(:last-child){padding-right:clamp(var(--space-6), 3vw, var(--space-12));border-right:var(--border-width) solid var(--border)}.project-case__summary>div:not(:first-child){padding-left:clamp(var(--space-6), 3vw, var(--space-12))}.project-case__summary span,.contact-panel__label{color:var(--primary);font-family:var(--font-code);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase}.project-case__summary p{margin:var(--space-4) 0 0;color:var(--muted-foreground);font-size:var(--text-small)}.project-case__footer{padding-top:var(--space-6);padding-bottom:var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-8);display:flex}.project-case__links{gap:var(--space-3);flex-shrink:0;display:flex}.project-detail{overflow:clip}.case-hero{min-height:min(46rem, calc(100svh - var(--header-height)));padding-top:clamp(var(--space-12), 8vw, var(--space-28));padding-bottom:clamp(var(--space-16), 9vw, var(--space-32))}.case-breadcrumb,.case-hero__meta,.case-hero__actions{align-items:center;display:flex}.case-breadcrumb{gap:var(--space-2);color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label)}.case-breadcrumb a:hover{color:var(--primary)}.case-breadcrumb span:last-child{color:var(--foreground)}.case-hero__meta{margin-top:clamp(var(--space-16), 9vw, var(--space-32));color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label);justify-content:space-between}.case-hero h1{max-width:72rem;margin:var(--space-8) 0 0;font-size:var(--text-display);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-heading);line-height:var(--leading-display);overflow-wrap:anywhere}.case-hero__positioning{max-width:52rem;margin:var(--space-8) 0 0;color:var(--muted-foreground);font-size:var(--text-lead)}.case-hero__actions{margin-top:var(--space-10);gap:var(--space-3);flex-wrap:wrap}.case-hero__actions>a:first-child{min-height:var(--control-height);padding:0 var(--space-5);align-items:center;gap:var(--space-2);border-bottom:var(--border-width) solid var(--primary);color:var(--primary);font-size:var(--text-small);font-weight:var(--weight-semibold);display:inline-flex}.case-hero__actions svg{width:var(--icon-size);height:var(--icon-size)}.case-project-index{padding-block:0}.case-project-index nav{padding:var(--space-5) 0;border-top:var(--border-width) solid var(--border);border-bottom:var(--border-width) solid var(--border);justify-content:space-between;align-items:center;gap:var(--space-6);display:flex}.case-project-index nav>span,.case-relations__grid>div>span{color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label);letter-spacing:var(--tracking-label)}.case-project-index ol{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.case-project-index a{width:var(--control-height);height:var(--control-height);border:var(--border-width) solid var(--border);border-radius:var(--radius-pill);color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label);transition:border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);place-items:center;display:grid}.case-project-index a:hover,.case-project-index a[aria-current=page]{border-color:var(--accent-border);background:var(--accent-soft);color:var(--primary)}.case-section{padding-top:var(--section-space)}.case-section-heading{padding-top:var(--space-8);border-top:var(--border-width) solid var(--border);gap:var(--layout-gap);grid-template-columns:minmax(8rem,.3fr) minmax(0,1fr);display:grid}.case-section-heading>span,.case-copy-card>span,.case-delivery header,.case-performance__focus>span{color:var(--primary);font-family:var(--font-code);font-size:var(--text-label);letter-spacing:var(--tracking-label)}.case-section-heading h2{max-width:54rem;font-size:var(--text-title);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-heading);margin:0}.case-section-heading p{max-width:56rem;margin:var(--space-4) 0 0;color:var(--muted-foreground);font-size:var(--text-body)}.case-overview__grid{margin-top:var(--space-12);gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.case-copy-card{min-height:18rem}.case-copy-card p{margin:var(--space-16) 0 0;color:var(--foreground);font-size:var(--text-lead);line-height:var(--leading-body)}.case-numbered-list{margin:var(--space-12) 0 0;border-top:var(--border-width) solid var(--border);padding:0;list-style:none}.case-numbered-list li{padding:var(--space-6) 0;border-bottom:var(--border-width) solid var(--border);gap:var(--space-5);grid-template-columns:minmax(3rem,.15fr) minmax(0,1fr);display:grid}.case-numbered-list li>span{color:var(--primary);font-family:var(--font-code);font-size:var(--text-label)}.case-numbered-list p{max-width:54rem;color:var(--muted-foreground);font-size:var(--text-body);margin:0}.architecture-flow{margin:var(--space-12) 0 0;gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none;display:grid}.architecture-flow li{min-height:18rem;padding:var(--space-6);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);background:var(--surface-soft);position:relative}.architecture-flow__index{color:var(--primary);font-family:var(--font-code);font-size:var(--text-label)}.architecture-flow li>div{margin-top:var(--space-16)}.architecture-flow strong{font-size:var(--text-card);font-weight:var(--weight-semibold)}.architecture-flow p{margin:var(--space-3) 0 0;color:var(--muted-foreground);font-size:var(--text-small)}.architecture-flow li>svg{top:50%;right:calc(var(--space-3) * -1);z-index:1;width:var(--space-6);height:var(--space-6);padding:var(--space-1);border:var(--border-width) solid var(--accent-border);border-radius:var(--radius-pill);background:var(--background);color:var(--primary);position:absolute;transform:translate(50%,-50%)}.case-delivery{margin-top:var(--space-12);border-top:var(--border-width) solid var(--border);border-bottom:var(--border-width) solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.case-delivery>div{padding:var(--space-8) 0}.case-delivery>div:first-child{padding-right:clamp(var(--space-6), 4vw, var(--space-16));border-right:var(--border-width) solid var(--border)}.case-delivery>div:last-child{padding-left:clamp(var(--space-6), 4vw, var(--space-16))}.case-delivery header{align-items:center;gap:var(--space-2);display:flex}.case-delivery header svg{width:var(--icon-size);height:var(--icon-size)}.case-delivery .case-numbered-list{margin-top:var(--space-6)}.case-performance{margin-top:var(--space-12);gap:clamp(var(--space-8), 5vw, var(--space-20));grid-template-columns:minmax(16rem,.45fr) minmax(0,1fr);display:grid}.case-performance__focus{align-items:flex-start;gap:var(--space-4);flex-direction:column;display:flex}.case-performance__focus svg{width:var(--space-10);height:var(--space-10);color:var(--primary)}.case-performance__focus strong{max-width:24rem;font-size:var(--text-card);font-weight:var(--weight-semibold);line-height:var(--leading-compact)}.case-performance .case-numbered-list{margin-top:0}.case-reflection{margin-top:var(--space-12);gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.case-reflection blockquote{min-height:17rem;padding:var(--space-8);border:var(--border-width) solid var(--accent-border);border-radius:var(--radius-lg);background:var(--accent-soft);margin:0;position:relative}.case-reflection blockquote>svg{width:var(--space-8);height:var(--space-8);color:var(--primary)}.case-reflection blockquote p{margin:var(--space-8) 0 var(--space-12);font-size:var(--text-lead);line-height:var(--leading-compact)}.case-reflection blockquote span{right:var(--space-8);bottom:var(--space-8);color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label);position:absolute}.case-relations__grid{margin-top:var(--space-12);padding:var(--space-8) 0;border-top:var(--border-width) solid var(--border);border-bottom:var(--border-width) solid var(--border);gap:var(--layout-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.case-relations__grid>div>span{align-items:center;gap:var(--space-2);display:flex}.case-relations__grid>div>span svg{width:var(--icon-size);height:var(--icon-size)}.case-relations .ds-tag-list,.related-skills{margin-top:var(--space-6)}.related-skills{gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.related-skills a{min-height:var(--control-height);padding:0 var(--space-4);border:var(--border-width) solid var(--accent-border);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--primary);font-size:var(--text-small);align-items:center;display:inline-flex}.related-skills a:hover{border-color:var(--primary)}.case-adjacent-navigation{padding-top:var(--section-space);padding-bottom:var(--section-space)}.case-adjacent-navigation nav{border-top:var(--border-width) solid var(--border);border-bottom:var(--border-width) solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.case-adjacent-navigation a{min-height:11rem;padding:var(--space-8) 0;align-items:center;gap:var(--space-5);display:flex}.case-adjacent-navigation a:first-child{padding-right:var(--space-8);border-right:var(--border-width) solid var(--border)}.case-adjacent-navigation a:last-child{padding-left:var(--space-8);text-align:right;justify-content:flex-end}.case-adjacent-navigation a>svg{width:var(--space-8);height:var(--space-8);color:var(--primary);transition:transform var(--duration-fast) var(--ease-standard);flex:none}.case-adjacent-navigation a:first-child:hover>svg{transform:translateX(calc(var(--space-1) * -1))}.case-adjacent-navigation a:last-child:hover>svg{transform:translateX(var(--space-1))}.case-adjacent-navigation a>span{gap:var(--space-2);display:grid}.case-adjacent-navigation small{color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label)}.case-adjacent-navigation strong{max-width:30rem;font-size:var(--text-card);font-weight:var(--weight-semibold);line-height:var(--leading-compact)}.content-placeholder{align-items:start;gap:clamp(var(--space-8), 5vw, var(--space-24));grid-template-columns:minmax(8rem,.3fr) minmax(0,.8fr) minmax(16rem,.55fr);display:grid}.content-placeholder__label{color:var(--primary);font-family:var(--font-code);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase}.content-placeholder__copy h3{margin:0}.content-placeholder__copy p{margin:var(--space-4) 0 0;color:var(--muted-foreground);font-size:var(--text-small)}.content-placeholder>ul{color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label);margin:0;padding:0;list-style:none}.content-placeholder>ul li{padding:var(--space-3) 0;border-bottom:var(--border-width) solid var(--border)}.content-placeholder>ul li:before{content:"+ ";color:var(--primary)}.career-timeline{margin:0;padding:0;list-style:none}.career-timeline>li{padding:var(--space-10) 0;border-top:var(--border-width) solid var(--border);gap:var(--layout-gap);grid-template-columns:minmax(9rem,.3fr) minmax(0,1fr);display:grid}.career-timeline__period,.career-timeline article>span{color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label)}.career-timeline h3{margin:var(--space-2) 0 0}.career-timeline__details{margin-top:var(--space-6);gap:clamp(var(--space-6), 4vw, var(--space-16));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.career-timeline__details strong{color:var(--primary);font-family:var(--font-code);font-size:var(--text-label);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label)}.career-timeline__details ul{margin:var(--space-3) 0 0;padding-left:var(--space-4);color:var(--muted-foreground);font-size:var(--text-small)}.career-timeline__details li+li{margin-top:var(--space-2)}.lab-card{min-height:22rem}.lab-card>span{color:var(--primary);font-family:var(--font-code);font-size:var(--text-label)}.lab-card h3{margin:var(--space-16) 0 0}.lab-card p{color:var(--muted-foreground);font-size:var(--text-small)}.lab-card>a{margin-top:var(--space-8)}.about-layout{gap:clamp(var(--space-12), 10vw, var(--space-44));grid-template-columns:minmax(0,.8fr) minmax(24rem,1fr);display:grid}.about-copy{color:var(--muted-foreground);font-size:var(--text-body)}.about-copy p{margin:0}.about-copy p+p{margin-top:var(--space-6)}.profile-facts{margin-top:var(--space-8)}.about-details{gap:var(--space-10);display:grid}.principle-list{border-top:var(--border-width) solid var(--border);margin:0;padding:0;list-style:none}.principle-list>li{padding:var(--space-6) 0;border-bottom:var(--border-width) solid var(--border);gap:var(--space-4);grid-template-columns:2.5rem minmax(0,1fr);display:grid}.principle-list>li>span{color:var(--primary);font-family:var(--font-code);font-size:var(--text-label)}.principle-list h3{font-size:var(--text-body);font-weight:var(--weight-semibold);margin:0}.principle-list p{margin:var(--space-1) 0 0;color:var(--muted-foreground);font-size:var(--text-small)}.education-list{border-top:var(--border-width) solid var(--border)}.education-list>span{padding:var(--space-5) 0 var(--space-3);color:var(--primary);font-family:var(--font-code);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;display:block}.education-list article{padding:var(--space-4) 0 var(--space-6);border-bottom:var(--border-width) solid var(--border);justify-content:space-between;align-items:flex-end;gap:var(--space-8);display:flex}.education-list h3,.education-list p{margin:0}.education-list h3{font-size:var(--text-body);font-weight:var(--weight-semibold)}.education-list p,.education-list time{color:var(--muted-foreground);font-size:var(--text-label)}.education-list p{margin-top:var(--space-1)}.education-list time{font-family:var(--font-code);flex-shrink:0}.contact-section{padding-bottom:clamp(var(--space-24), 14vw, var(--space-48))}.contact-panel{justify-content:space-between;align-items:end;gap:var(--space-12);display:flex}.contact-panel p{margin:var(--space-3) 0 0;font-size:var(--text-card)}.contact-panel small{margin-top:var(--space-3);color:var(--muted-foreground);font-size:var(--text-label);display:block}.contact-links{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.site-footer{border-top:var(--border-width) solid var(--border)}.site-footer__inner{justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-5);color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label);flex-wrap:wrap;display:flex}@media (max-width:78rem){.site-header__inner{grid-template-columns:auto minmax(0,1fr)}.site-nav{scrollbar-width:none;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}.site-nav__list{justify-content:flex-start}.phase-indicator{display:none}}@media (max-width:62rem){.site-header__inner{padding-top:var(--space-3);padding-bottom:var(--space-3);gap:var(--space-3);grid-template-rows:auto auto;grid-template-columns:1fr}.brand__copy span{display:none}.hero{gap:var(--space-16);grid-template-columns:1fr;min-height:auto}.hero__content{max-width:52rem}.capability-preview,.hero__visual{width:min(100%,42rem)}.section-heading{gap:var(--space-5);grid-template-columns:1fr}.section-heading__meta{padding-top:0}.project-case__intro{grid-template-columns:1fr;align-items:start}.project-case__intro>p{max-width:38rem}.project-case__summary,.case-overview__grid,.case-delivery,.case-performance,.case-reflection,.case-relations__grid{grid-template-columns:1fr}.project-case__summary>div:not(:last-child){border-right:0;border-bottom:var(--border-width) solid var(--border);padding-right:0}.project-case__summary>div:not(:first-child){padding-left:0}.case-section-heading{gap:var(--space-5);grid-template-columns:1fr}.architecture-flow{grid-template-columns:1fr}.architecture-flow li{min-height:auto}.architecture-flow li>div{margin-top:var(--space-8)}.architecture-flow li>svg{top:auto;right:50%;bottom:calc(var(--space-3) * -1);transform:translate(50%,50%)rotate(90deg)}.case-delivery>div:first-child{border-right:0;border-bottom:var(--border-width) solid var(--border);padding-right:0}.case-delivery>div:last-child{padding-left:0}.case-performance{gap:var(--space-10)}.content-placeholder{grid-template-columns:1fr 1fr}.content-placeholder__label{grid-column:1/-1}.about-layout{grid-template-columns:1fr}.contact-panel{flex-direction:column;align-items:flex-start}.contact-links{justify-content:flex-start}}@media (max-width:36rem){.site-nav__list{gap:var(--space-5)}.site-nav__link{font-size:var(--text-label)}.hero__eyebrow{max-width:18rem;line-height:var(--leading-compact);align-items:flex-start}.hero__actions{display:grid}.hero__actions>*{width:100%}.hero-scene-slot{min-height:15rem}.developer-mode{top:calc(var(--space-2) + 2.5rem);right:var(--space-2);bottom:var(--space-8);left:var(--space-2);width:auto}.developer-mode__trigger{top:var(--space-2);left:var(--space-2)}.hero-scene__node-label button{gap:var(--space-1);padding:var(--space-1);font-size:var(--text-node);letter-spacing:.08em}.hero-scene__node-label small{display:none}.capability-detail{top:var(--space-2);right:var(--space-2);bottom:var(--space-8);width:calc(100% - var(--space-4))}.capability-preview__footer{display:none}.capability-card{min-height:auto}.capability-card h3{margin-top:var(--space-12)}.project-case__topline{align-items:flex-start;gap:var(--space-1);flex-direction:column}.project-case__summary{grid-template-columns:1fr}.project-case__summary>div:nth-child(n){border-right:0;border-bottom:var(--border-width) solid var(--border);padding-left:0;padding-right:0}.project-case__summary>div:last-child{border-bottom:0}.project-case__footer{flex-direction:column;align-items:stretch}.project-case__links,.project-case__links>a{width:100%}.project-case__links{flex-direction:column;align-items:stretch}.case-hero h1{font-size:var(--text-title)}.case-hero__meta{align-items:flex-start;gap:var(--space-3);flex-direction:column}.case-hero__actions,.case-hero__actions>a{width:100%}.case-project-index nav{flex-direction:column;align-items:flex-start}.case-project-index ol{justify-content:flex-start}.case-copy-card{min-height:auto}.case-copy-card p{margin-top:var(--space-10)}.case-numbered-list li{grid-template-columns:var(--space-8) minmax(0, 1fr)}.case-reflection blockquote{min-height:auto}.case-adjacent-navigation nav{grid-template-columns:1fr}.case-adjacent-navigation a:first-child{border-right:0;border-bottom:var(--border-width) solid var(--border);padding-right:0}.case-adjacent-navigation a:last-child{padding-left:0}.content-placeholder{grid-template-columns:1fr}.content-placeholder__label{grid-column:auto}.career-timeline>li{gap:var(--space-4);grid-template-columns:1fr}.career-timeline__details{grid-template-columns:1fr}.education-list article{align-items:flex-start;gap:var(--space-3);flex-direction:column}.contact-links,.contact-links>a{width:100%}.site-footer__inner{flex-direction:column;align-items:flex-start}}.hero__facts{margin-top:var(--space-4)}.capability-card__tags,.lab-card__tags,.career-timeline__tags{margin-top:var(--space-8)}.motion-text,.motion-text__visual{display:inline}.motion-text__clip{vertical-align:bottom;display:inline-block;overflow:clip}[data-motion-word]{white-space:pre;display:inline-block}.site-header{transition:background-color var(--duration-base) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard)}.site-header.is-scrolled{background:var(--surface-raised);box-shadow:var(--shadow-header)}.site-nav__link[href]{position:relative}.site-nav__link[href]:after{right:0;bottom:calc(var(--space-1) * -1);height:var(--border-width);transform-origin:100%;background:var(--primary);content:"";transition:transform var(--duration-base) var(--ease-standard);position:absolute;left:0;transform:scaleX(0)}.site-nav__link[href].is-active:after{transform-origin:0;transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.site-header,.hero-scene__canvas,.hero-scene__grid,.hero-scene__meta,.hero-scene__nodes,.hero-scene__node-label,.site-nav__link[href]:after{transition-duration:0s}.developer-mode__status svg{animation:none}}.ai-section__panel{margin-top:clamp(var(--space-10), 6vw, var(--space-20));gap:var(--layout-gap);grid-template-columns:minmax(0,.85fr) minmax(24rem,1fr);display:grid}.ai-section__intro>span,.ai-section__capabilities>li>span{color:var(--accent-muted);font-family:var(--font-code);font-size:var(--text-label);letter-spacing:var(--tracking-label)}.ai-section__intro h3{max-width:30rem;margin:var(--space-12) 0 0;font-size:var(--text-title);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}.ai-section__intro p{max-width:34rem;margin:var(--space-5) 0 var(--space-8);color:var(--muted-foreground);font-size:var(--text-small)}.ai-section__capabilities{border-top:var(--border-width) solid var(--border);margin:0;padding:0;list-style:none}.ai-section__capabilities li{grid-template-columns:var(--space-10) minmax(0, 1fr);padding:var(--space-5) 0;border-bottom:var(--border-width) solid var(--border);gap:var(--space-4);display:grid}.ai-section__capabilities strong{font-size:var(--text-body)}.ai-section__capabilities p{margin:var(--space-1) 0 0;color:var(--muted-foreground);font-size:var(--text-small)}.ai-core{right:var(--page-gutter);bottom:var(--space-6);z-index:var(--z-header);border:var(--border-width) solid var(--accent-border);background:var(--surface-raised);border-radius:50%;place-items:center;gap:0;width:4rem;height:4rem;display:grid;position:fixed}@supports (color:color-mix(in lab, red, red)){.ai-core{background:color-mix(in oklch, var(--surface-raised) 88%, var(--primary))}}.ai-core{box-shadow:0 0 0 var(--space-2) var(--accent-soft), var(--shadow-raised);color:var(--primary);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard)}.ai-core svg{width:1.25rem;height:1.25rem}.ai-core>span:last-child{font-family:var(--font-code);font-size:var(--text-node);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label)}.ai-core__pulse{border:var(--border-width) solid var(--accent-border);animation:ai-core-pulse 2.8s var(--ease-standard) infinite;border-radius:50%;position:absolute;inset:-.4rem}.ai-action-status{right:calc(var(--page-gutter) + 5.25rem);bottom:var(--space-6);z-index:var(--z-header);width:min(25rem, calc(100vw - var(--page-gutter) * 2 - 5.25rem));align-items:center;gap:var(--space-3);min-height:4rem;padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--accent-border);border-radius:var(--radius-lg);background:var(--surface-raised);grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:fixed}@supports (color:color-mix(in lab, red, red)){.ai-action-status{background:color-mix(in oklch, var(--surface-raised) 94%, transparent)}}.ai-action-status{box-shadow:var(--shadow-raised);color:var(--foreground);-webkit-backdrop-filter:blur(var(--blur-header));backdrop-filter:blur(var(--blur-header))}.ai-action-status__icon{background:var(--accent-soft);width:2rem;height:2rem;color:var(--primary);border-radius:50%;place-items:center;display:grid}.ai-action-status__icon svg{width:var(--icon-size);height:var(--icon-size)}.ai-action-status[data-status=running] .ai-action-status__icon svg{animation:1s linear infinite ai-action-spin}.ai-action-status[data-phase=navigating] .ai-action-status__icon svg{animation:none}.ai-action-status[data-status=failed]{border-color:var(--border)}.ai-action-status>span:nth-child(2){min-width:0;display:grid}.ai-action-status strong{font-size:var(--text-label)}.ai-action-status small{color:var(--muted-foreground);font-size:var(--text-node);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-action-status em{color:var(--accent-muted);font-family:var(--font-code);font-size:var(--text-node);white-space:nowrap;font-style:normal}@media (hover:hover){.ai-core:hover{border-color:var(--primary);transform:translateY(-.2rem)}}.ai-chat-backdrop{z-index:var(--z-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:lab(.2008% -.135303 .0395745/.54);position:fixed;inset:0}.ai-chat-panel{top:var(--space-4);right:var(--space-4);bottom:var(--space-4);z-index:var(--z-modal);width:min(31rem, calc(100vw - var(--space-8)));border:var(--border-width) solid var(--line-strong);border-radius:var(--radius-xl);background:linear-gradient(var(--scene-grid) 1px, transparent 1px), linear-gradient(90deg, var(--scene-grid) 1px, transparent 1px), var(--surface-raised);grid-template-rows:auto auto minmax(0,1fr) auto;display:grid;position:fixed;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.ai-chat-panel{background:linear-gradient(var(--scene-grid) 1px, transparent 1px), linear-gradient(90deg, var(--scene-grid) 1px, transparent 1px), color-mix(in oklch, var(--surface-raised) 96%, transparent)}}.ai-chat-panel{box-shadow:var(--shadow-modal);color:var(--foreground);background-size:2.5rem 2.5rem}.ai-chat-panel__header{align-items:center;gap:var(--space-3);padding:var(--space-5);border-bottom:var(--border-width) solid var(--border);background:var(--surface-raised);grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}@supports (color:color-mix(in lab, red, red)){.ai-chat-panel__header{background:color-mix(in oklch, var(--surface-raised) 92%, transparent)}}.ai-chat-panel__header{-webkit-backdrop-filter:blur(var(--blur-header));backdrop-filter:blur(var(--blur-header))}.ai-chat-panel__header h2{font-size:1rem;line-height:var(--leading-compact);margin:0}.ai-chat-panel__header p{color:var(--muted-foreground);font-size:var(--text-label);margin:0}.ai-chat-panel__mark,.ai-chat-panel__clear,.ai-chat-panel__close{width:var(--control-height);height:var(--control-height);border-radius:50%;place-items:center;display:grid}.ai-chat-panel__mark{background:var(--accent-soft);color:var(--primary)}.ai-chat-panel__mark svg,.ai-chat-panel__clear svg,.ai-chat-panel__close svg{width:var(--icon-size);height:var(--icon-size)}.ai-chat-panel__clear,.ai-chat-panel__close{color:var(--muted-foreground);cursor:pointer;background:0 0;border:0}.ai-chat-panel__clear{margin-right:calc(var(--space-2) * -1)}.ai-chat-panel__status{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-bottom:var(--border-width) solid var(--border);color:var(--accent-muted);font-family:var(--font-code);font-size:var(--text-node);letter-spacing:var(--tracking-label);display:flex}.ai-chat-panel__status>span{background:var(--primary);width:.4rem;height:.4rem;box-shadow:0 0 0 var(--space-1) var(--accent-soft);border-radius:50%}.ai-chat-panel__transcript{min-height:0;padding:var(--space-6) var(--space-5);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;overflow-y:auto}.ai-chat-panel__welcome>span,.ai-quick-questions>span,.ai-message__role,.ai-message__sources>span,.ai-message__actions>span{color:var(--accent-muted);font-family:var(--font-code);font-size:var(--text-node);letter-spacing:var(--tracking-label)}.ai-chat-panel__welcome h2{max-width:20ch;margin:var(--space-4) 0 var(--space-3);font-size:var(--text-card);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}.ai-chat-panel__welcome>p{color:var(--muted-foreground);font-size:var(--text-small);line-height:var(--leading-body);margin:0}.ai-quick-questions{margin-top:var(--space-8)}.ai-quick-questions>div{gap:var(--space-2);margin-top:var(--space-3);display:grid}.ai-quick-questions button{width:100%;padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft)}@supports (color:color-mix(in lab, red, red)){.ai-quick-questions button{background:color-mix(in oklch, var(--surface-soft) 90%, transparent)}}.ai-quick-questions button{color:var(--foreground);text-align:left;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard)}@media (hover:hover){.ai-quick-questions button:hover{border-color:var(--accent-border);background:var(--accent-soft)}}.ai-message+.ai-message{margin-top:var(--space-6)}.ai-message__role{margin-bottom:var(--space-2);display:block}.ai-message[data-role=user]{margin-left:var(--space-10)}.ai-message[data-role=user] .ai-message__role{text-align:right}.ai-message__bubble{padding:var(--space-4);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);background:var(--surface-soft)}@supports (color:color-mix(in lab, red, red)){.ai-message__bubble{background:color-mix(in oklch, var(--surface-soft) 92%, transparent)}}.ai-message__bubble{font-size:var(--text-small);line-height:1.7}.ai-message[data-role=user] .ai-message__bubble{border-color:var(--accent-border);background:var(--accent-soft)}.ai-message__bubble>:first-child{margin-top:0}.ai-message__bubble>:last-child{margin-bottom:0}.ai-message__bubble h1,.ai-message__bubble h2,.ai-message__bubble h3{margin:var(--space-5) 0 var(--space-2);font-size:1rem;line-height:var(--leading-heading)}.ai-message__bubble ul,.ai-message__bubble ol{padding-left:var(--space-5)}.ai-message__bubble strong{color:var(--primary)}.ai-message__sources{margin-top:var(--space-3)}.ai-message__actions{margin-top:var(--space-3);gap:var(--space-2);display:grid}.ai-action-card{padding:var(--space-3);align-items:center;gap:var(--space-3);border:var(--border-width) solid var(--accent-border);border-radius:var(--radius-md);background:var(--accent-soft);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ai-action-card>svg{width:var(--icon-size);height:var(--icon-size);color:var(--primary)}.ai-action-card[data-status=running]>svg{animation:1s linear infinite ai-action-spin}.ai-action-card[data-status=failed]{border-color:var(--border);background:var(--surface-soft)}.ai-action-card>span{min-width:0;display:grid}.ai-action-card strong{font-size:var(--text-label)}.ai-action-card small{color:var(--muted-foreground);font-size:var(--text-node);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-action-card em{color:var(--accent-muted);font-family:var(--font-code);font-size:var(--text-node);font-style:normal}.ai-message__sources>div{gap:var(--space-2);margin-top:var(--space-2);display:grid}.ai-source-card{align-items:center;gap:var(--space-3);padding:var(--space-3);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);grid-template-columns:auto minmax(0,1fr) auto;display:grid}@supports (color:color-mix(in lab, red, red)){.ai-source-card{background:color-mix(in oklch, var(--surface-soft) 88%, transparent)}}.ai-source-card__index{border-radius:var(--radius-sm);background:var(--accent-soft);width:1.8rem;height:1.8rem;color:var(--primary);font-family:var(--font-code);font-size:var(--text-node);place-items:center;display:grid}.ai-source-card__copy{min-width:0;display:grid}.ai-source-card__copy strong,.ai-source-card__copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-source-card__copy strong{font-size:var(--text-label)}.ai-source-card__copy span{color:var(--muted-foreground);font-size:var(--text-node)}.ai-source-card>svg{width:var(--icon-size);height:var(--icon-size);color:var(--muted-foreground)}.ai-thinking{align-items:center;gap:var(--space-2);margin-top:var(--space-6);color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-label);display:flex}.ai-thinking>span{background:var(--primary);border-radius:50%;width:.35rem;height:.35rem;animation:1.2s ease-in-out infinite ai-thinking}.ai-thinking>span:nth-child(2){animation-delay:.12s}.ai-thinking>span:nth-child(3){animation-delay:.24s}.ai-chat-error{margin-top:var(--space-5);padding:var(--space-4);border:var(--border-width) solid lab(61.3079% 50.1954 28.9223/.45);border-radius:var(--radius-md);font-size:var(--text-small);background:lab(35.0104% 37.7494 22.1378/.12)}.ai-chat-error p{margin:0 0 var(--space-2)}.ai-chat-error button{align-items:center;gap:var(--space-2);color:var(--foreground);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.ai-chat-error svg{width:var(--icon-size);height:var(--icon-size)}.ai-chat-composer{padding:var(--space-4) var(--space-5);border-top:var(--border-width) solid var(--border);background:var(--surface-raised)}@supports (color:color-mix(in lab, red, red)){.ai-chat-composer{background:color-mix(in oklch, var(--surface-raised) 94%, transparent)}}.ai-chat-composer{-webkit-backdrop-filter:blur(var(--blur-header));backdrop-filter:blur(var(--blur-header))}.ai-chat-composer>label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.ai-chat-composer>div{align-items:end;gap:var(--space-2);padding:var(--space-2);border:var(--border-width) solid var(--line-strong);border-radius:var(--radius-lg);background:var(--background);grid-template-columns:minmax(0,1fr) auto;display:grid}.ai-chat-composer>div:focus-within{outline:var(--focus-width) solid var(--ring);outline-offset:var(--focus-offset)}.ai-chat-composer textarea{width:100%;min-height:2.5rem;max-height:8rem;padding:.55rem var(--space-2);resize:vertical;color:var(--foreground);line-height:var(--leading-compact);background:0 0;border:0;outline:0}.ai-chat-composer textarea::placeholder{color:var(--muted-foreground)}.ai-chat-composer button{border-radius:var(--radius-md);background:var(--primary);width:2.5rem;height:2.5rem;color:var(--primary-foreground);cursor:pointer;border:0;place-items:center;display:grid}.ai-chat-composer button:disabled,.ai-quick-questions button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.ai-chat-composer button[aria-label=停止生成]{border:var(--border-width) solid var(--accent-border);background:var(--accent-soft);color:var(--primary)}.ai-chat-composer button svg{width:var(--icon-size);height:var(--icon-size)}.ai-chat-composer>p{margin:var(--space-2) 0 0;color:var(--muted-foreground);font-family:var(--font-code);font-size:var(--text-node);text-align:right}@keyframes ai-core-pulse{0%,55%{opacity:.7;transform:scale(.92)}to{opacity:0;transform:scale(1.25)}}@keyframes ai-thinking{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-.2rem)}}@keyframes ai-action-spin{to{transform:rotate(360deg)}}[data-ai-highlight=true]{outline:var(--focus-width) solid var(--primary);outline-offset:var(--focus-offset);animation:ai-target-highlight 1.2s var(--ease-standard) 2}@keyframes ai-target-highlight{50%{outline-color:var(--primary-hover);box-shadow:var(--shadow-indicator)}}@media (max-width:62rem){.ai-section__panel{grid-template-columns:1fr}}@media (max-width:36rem){.ai-core{right:var(--space-4);bottom:var(--space-4);width:3.5rem;height:3.5rem}.ai-action-status{right:var(--space-4);width:calc(100vw - var(--space-8));bottom:5.25rem}.ai-chat-panel{border:0;border-radius:0;width:100%;inset:0}.ai-chat-panel__transcript{padding-inline:var(--space-4)}.ai-chat-composer{padding-inline:var(--space-4);padding-bottom:max(var(--space-4), env(safe-area-inset-bottom))}.ai-section__intro h3{margin-top:var(--space-8)}}@media (prefers-reduced-motion:reduce){.ai-core__pulse,.ai-thinking>span,.ai-action-card[data-status=running]>svg,.ai-action-status[data-status=running] .ai-action-status__icon svg,[data-ai-highlight=true]{animation:none}}.route-transition{min-height:100vh;animation:route-enter .42s var(--ease-standard) both}@keyframes route-enter{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.route-loading{min-height:calc(100vh - var(--header-height));padding:var(--page-gutter);place-items:center;display:grid}.route-loading output{justify-items:center;gap:var(--space-2);color:var(--muted-foreground);text-align:center;display:grid}.route-loading output>span{border:1px solid var(--accent-border);border-top-color:var(--primary);border-radius:50%;width:2.75rem;height:2.75rem;animation:.9s linear infinite polish-spin}.route-loading strong{color:var(--foreground);font-size:var(--text-lead)}.route-loading small{font-family:var(--font-code)}@keyframes polish-spin{to{transform:rotate(1turn)}}.system-page{min-height:calc(100vh - var(--header-height));padding-block:var(--space-24);align-items:center;display:grid}.system-page__inner{position:relative}.system-page__inner:before{z-index:-1;aspect-ratio:1;border:1px solid var(--accent-border);width:min(34rem,80vw);box-shadow:inset 0 0 7rem var(--accent-soft);opacity:.45;content:"";border-radius:50%;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.system-page__code{color:var(--primary);font:var(--weight-medium) var(--text-label) / var(--leading-compact) var(--font-code);letter-spacing:var(--tracking-label)}.system-page h1{max-width:14ch;margin:var(--space-4) 0;font-size:var(--text-title);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}.system-page p{max-width:40rem;color:var(--muted-foreground);margin:0}.system-page__actions{gap:var(--space-3);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.pointer-aura{--pointer-x:-100px;--pointer-y:-100px;z-index:calc(var(--z-modal) + 1);width:2rem;height:2rem;transform:translate3d(calc(var(--pointer-x) - 50%), calc(var(--pointer-y) - 50%), 0) scale(.7);border:1px solid var(--accent-border);opacity:0;pointer-events:none;transition:width var(--duration-fast) var(--ease-standard), height var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);will-change:transform;border-radius:50%;position:fixed;top:0;left:0}.pointer-aura[data-visible=true]{opacity:.75}.pointer-aura[data-interactive=true]{border-color:var(--primary);width:2.8rem;height:2.8rem}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.ds-button,.project-case,.capability-card,.lab-card{transition:transform var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}.ds-button:hover{transform:translateY(-1px)}.project-case:hover,.capability-card:hover,.lab-card:hover{border-color:var(--accent-border);transform:translateY(-2px)}}@media (pointer:coarse),(prefers-reduced-motion:reduce){.pointer-aura{display:none}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable;min-width:20rem}body{background:radial-gradient(circle at 82% 8%, var(--accent-soft), transparent 28rem), var(--background);min-height:100vh;color:var(--foreground);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}::selection{background:var(--primary);color:var(--primary-foreground)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:var(--focus-width) solid var(--ring);outline-offset:var(--focus-offset)}@media (prefers-reduced-motion:reduce){html,*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){:focus-visible{outline-color:highlight}.skip-link,.ai-core,.ds-button{border:1px solid buttontext}}@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-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}
