@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-duration:initial;--tw-ease:initial;--tw-space-x-reverse:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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 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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-0\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.right-0{right:0}.right-1{right:var(--spacing)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:0}.left-0{left:0}.left-0\.5{left:calc(var(--spacing) * .5)}.left-1{left:var(--spacing)}.left-1\/2,.left-\[50\%\]{left:50%}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[1px\]{height:1px}.h-\[85\%\]{height:85%}.h-full{height:100%}.h-px{height:1px}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-9{width:calc(var(--spacing) * 9)}.w-\[1px\]{width:1px}.w-full{width:100%}.max-w-lg{max-width:var(--container-lg)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:--radix-tooltip-content-transform-origin}.origin-bottom{transform-origin:bottom}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded-\[3px\]{border-radius:3px}.rounded-\[4px\]{border-radius:4px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-t-\[2px\]{border-top-left-radius:2px;border-top-right-radius:2px}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-amber-200\/50{background-color:#fee68580}@supports (color:color-mix(in lab, red, red)){.bg-amber-200\/50{background-color:color-mix(in oklab, var(--color-amber-200) 50%, transparent)}}.bg-background{background-color:var(--background)}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-white{background-color:var(--color-white)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-300{--tw-gradient-from:var(--color-amber-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-amber-400{--tw-gradient-from:var(--color-amber-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-amber-400{--tw-gradient-to:var(--color-amber-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-amber-500{--tw-gradient-to:var(--color-amber-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[1px\]{padding:1px}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-0{padding-top:0}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:var(--card-foreground)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-neutral-700{color:var(--color-neutral-700)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.underline-offset-4{text-underline-offset:4px}.opacity-70{opacity:.7}.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)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px 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)}.shadow-sm{--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)}.ring,.ring-1{--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)}.shadow-black\/10{--tw-shadow-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.shadow-black\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-black\/10{--tw-ring-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.ring-black\/10{--tw-ring-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.perspective-\[1000px\]{perspective:1000px}.transform-3d{transform-style:preserve-3d}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/80:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab, var(--destructive) 80%, transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.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\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--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)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow[data-state=active]{--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)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}@media (width>=40rem){.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}}.dark\:bg-amber-300\/50:is(.dark *){background-color:#ffd23680}@supports (color:color-mix(in lab, red, red)){.dark\:bg-amber-300\/50:is(.dark *){background-color:color-mix(in oklab, var(--color-amber-300) 50%, transparent)}}.dark\:bg-neutral-800:is(.dark *){background-color:var(--color-neutral-800)}.dark\:from-amber-400:is(.dark *){--tw-gradient-from:var(--color-amber-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:from-amber-500:is(.dark *){--tw-gradient-from:var(--color-amber-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:to-amber-500:is(.dark *){--tw-gradient-to:var(--color-amber-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:to-amber-600:is(.dark *){--tw-gradient-to:var(--color-amber-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:text-neutral-200:is(.dark *){color:var(--color-neutral-200)}.dark\:shadow-white\/10:is(.dark *){--tw-shadow-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.dark\:shadow-white\/10:is(.dark *){--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-white) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.dark\:ring-white\/10:is(.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.dark\:ring-white\/10:is(.dark *){--tw-ring-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}:root{--background:#f5f3ef;--foreground:#1f1d1b;--card:#fcfbf8;--card-foreground:#1f1d1b;--popover:#fcfbf8;--popover-foreground:#1f1d1b;--primary:#9b4f36;--primary-foreground:#fffaf6;--secondary:#ece8e2;--secondary-foreground:#2e2a27;--muted:#ece8e2;--muted-foreground:#69635d;--accent:#ead8cf;--accent-foreground:#6d321f;--destructive:#b42318;--destructive-foreground:#fff;--border:#d8d2ca;--input:#d8d2ca;--ring:#b45d42;--radius:.625rem;--shadow-color:#1f1d1b14;--theme-bg:var(--background);--theme-surface:var(--card);--theme-text:var(--foreground);--theme-secondary:var(--muted-foreground);--theme-muted:var(--muted-foreground);--theme-border:var(--border);--theme-primary:var(--primary);--theme-primary-dark:var(--primary);--theme-soft:var(--muted);--theme-focus:var(--ring)}.dark{--background:#161513;--foreground:#f3f0eb;--card:#1f1d1a;--card-foreground:#f3f0eb;--popover:#1f1d1a;--popover-foreground:#f3f0eb;--primary:#d78768;--primary-foreground:#21100b;--secondary:#292622;--secondary-foreground:#f3f0eb;--muted:#292622;--muted-foreground:#b7afa7;--accent:#39241e;--accent-foreground:#f2b29a;--destructive:#ef4444;--destructive-foreground:#fff;--border:#3b3732;--input:#3b3732;--ring:#e19476;--shadow-color:#0000004d}*{box-sizing:border-box;letter-spacing:0}html{scroll-behavior:smooth;background:var(--background);min-width:320px}body{background:radial-gradient(circle at 12% 0%, var(--accent), transparent 30rem), var(--background);min-width:320px;margin:0}@supports (color:color-mix(in lab, red, red)){body{background:radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 30rem), var(--background)}}body{color:var(--foreground);text-rendering:optimizelegibility;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6}img,video,iframe{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,summary{font:inherit}button{cursor:pointer}::selection{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in srgb, var(--primary) 22%, transparent)}}::selection{color:var(--foreground)}:focus-visible{outline:3px solid var(--ring)}@supports (color:color-mix(in lab, red, red)){:focus-visible{outline:3px solid color-mix(in srgb, var(--ring) 55%, transparent)}}:focus-visible{outline-offset:3px}.app-shell{min-height:100vh;overflow-x:clip}.site-container{width:min(100% - 32px,1160px);margin:0 auto}.scroll-progress{z-index:80;background:var(--foreground);height:2px;position:fixed;top:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.scroll-progress{background:color-mix(in srgb, var(--foreground) 8%, transparent)}}.scroll-progress{pointer-events:none}.scroll-progress span{background:var(--primary);transform-origin:0;width:100%;height:100%;display:block}@media (hover:hover) and (pointer:fine){.custom-cursor-enabled,.custom-cursor-enabled *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath fill='%239b4f36' stroke='%231f1d1b' stroke-width='1.8' stroke-linejoin='round' d='M4 3l16.9 9.4-7.4 2-3.2 7.1L4 3z'/%3E%3Cpath fill='none' stroke='%236d321f' stroke-width='1.5' stroke-linecap='round' d='M10.2 9.6l5.2 2.9'/%3E%3C/svg%3E") 4 3,auto}.dark.custom-cursor-enabled,.dark.custom-cursor-enabled *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath fill='%23d78768' stroke='%23f3f0eb' stroke-width='1.8' stroke-linejoin='round' d='M4 3l16.9 9.4-7.4 2-3.2 7.1L4 3z'/%3E%3Cpath fill='none' stroke='%23f2b29a' stroke-width='1.5' stroke-linecap='round' d='M10.2 9.6l5.2 2.9'/%3E%3C/svg%3E") 4 3,auto}}.site-header{z-index:70;pointer-events:none;position:fixed;top:16px;left:0;right:0}.site-nav{border:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;width:min(100% - 32px,820px);min-height:54px;margin:0 auto;padding:6px;display:flex}@supports (color:color-mix(in lab, red, red)){.site-nav{border:1px solid color-mix(in srgb, var(--border) 92%, transparent)}}.site-nav{background:var(--card);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.site-nav{background:color-mix(in srgb, var(--card) 92%, transparent)}}.site-nav{box-shadow:0 12px 32px var(--shadow-color);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto}.site-header-scrolled .site-nav{box-shadow:0 12px 32px var(--shadow-color)}.brand-mark{background:var(--foreground);width:40px;height:40px;color:var(--background);border-radius:999px;flex:none;justify-content:center;align-items:center;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:600;display:inline-flex}.desktop-nav,.nav-actions{align-items:center;gap:4px;display:flex}.nav-link{min-height:38px;color:var(--muted-foreground);border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-size:14px;font-weight:600;transition:background-color .18s,color .18s;display:inline-flex}.nav-link:hover,.nav-link-active{background:var(--accent);color:var(--accent-foreground)}.theme-toggle{border-radius:999px}.mobile-menu-button{border-radius:999px;display:none}.mobile-nav-sheet{width:min(92vw,360px)}.mobile-nav{gap:8px;margin-top:18px;display:grid}.mobile-nav .nav-link{border-radius:8px;justify-content:flex-start}.hero-section{isolation:isolate;--hero-bg-start:var(--background);align-items:center;min-height:100vh;padding:138px 0 92px;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.hero-section{--hero-bg-start:color-mix(in srgb, var(--background) 96%, var(--accent) 4%)}}.hero-section{--hero-line:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.hero-section{--hero-line:color-mix(in srgb, var(--foreground) 4%, transparent)}}.hero-section{--hero-text:var(--foreground);--hero-text-soft:var(--muted-foreground);--hero-accent:var(--primary);--hero-accent-strong:var(--primary);--hero-surface:var(--card);--hero-border:var(--border);--hero-shadow:var(--shadow-color);--hero-pill-bg:var(--card)}@supports (color:color-mix(in lab, red, red)){.hero-section{--hero-pill-bg:color-mix(in srgb, var(--card) 88%, var(--muted))}}.hero-section{--hero-pill-border:var(--border);--hero-pill-text:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.hero-section{--hero-pill-text:color-mix(in srgb, var(--foreground) 84%, transparent)}}.hero-section{--hero-pill-hover-bg:var(--accent);--hero-button-primary:var(--primary);--hero-button-primary-text:var(--primary-foreground);--hero-button-primary-hover:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hero-section{--hero-button-primary-hover:color-mix(in srgb, var(--primary) 88%, var(--foreground))}}.hero-section{--hero-button-secondary-bg:var(--card);--hero-button-secondary-text:var(--foreground);--hero-button-secondary-border:var(--border);--hero-button-secondary-hover-text:var(--hero-accent-strong);border-bottom:1px solid var(--border)}@supports (color:color-mix(in lab, red, red)){.hero-section{border-bottom:1px solid color-mix(in srgb, var(--border) 74%, transparent)}}.hero-section{background:linear-gradient(180deg, var(--hero-bg-start), var(--background))}.hero-section:before{content:"";z-index:-1;background:linear-gradient(90deg, transparent, var(--hero-line), transparent), linear-gradient(180deg, var(--hero-line), transparent 42%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.hero-section:before{background:linear-gradient(90deg, transparent, var(--hero-line), transparent), linear-gradient(180deg, color-mix(in srgb, var(--hero-line) 70%, transparent), transparent 42%)}}.hero-section:before{opacity:.55;pointer-events:none}.hero-section:after{content:"";z-index:-1;background:linear-gradient(90deg, transparent, var(--hero-accent), transparent);height:1px;position:absolute;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.hero-section:after{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--hero-accent) 34%, transparent), transparent)}}.hero-shell{z-index:2;position:relative}@media (width>=901px){.hero-shell{width:min(100% - clamp(48px,8vw,160px),1540px)}}.hero-composition{z-index:2;grid-template-columns:minmax(0,.94fr) minmax(380px,1fr);align-items:center;gap:clamp(22px,3vw,34px) clamp(36px,6vw,104px);display:grid;position:relative;overflow:visible}.hero-copy{z-index:2;min-width:0;max-width:700px;position:relative}.hero-section .eyebrow,.hero-section .hero-title{color:var(--hero-accent)}.eyebrow{color:var(--primary);margin:0 0 12px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:600}.hero-copy h1,.case-hero h1{max-width:820px;color:var(--foreground);margin:0;font-size:72px;font-weight:800;line-height:.98}.hero-section .hero-copy h1{max-width:680px;color:var(--hero-text);font-size:clamp(46px,6.4vw,80px);line-height:.98}.hero-title{color:var(--hero-accent-strong);margin:18px 0 0;font-size:clamp(22px,2.4vw,31px);font-weight:700;line-height:1.2}.hero-summary,.hero-focus,.hero-two-line p,.case-hero>div>p{max-width:740px;color:var(--muted-foreground);font-size:18px;line-height:1.6}.hero-section .hero-summary,.hero-section .hero-focus,.hero-section .hero-two-line p{max-width:650px;color:var(--hero-text-soft)}.hero-summary{margin:20px 0 0}.hero-focus{margin:12px 0 0}.hero-two-line{gap:10px;margin-top:20px;display:grid}.hero-two-line p{margin-top:0}.availability-panel{border:1px solid var(--hero-text);grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,680px);margin:28px 0 0;display:grid}@supports (color:color-mix(in lab, red, red)){.availability-panel{border:1px solid color-mix(in srgb, var(--hero-text) 10%, transparent)}}.availability-panel{background:var(--hero-text);border-radius:8px}@supports (color:color-mix(in lab, red, red)){.availability-panel{background:color-mix(in srgb, var(--hero-text) 3%, transparent)}}.availability-panel{box-shadow:inset 0 1px 0 var(--hero-text)}@supports (color:color-mix(in lab, red, red)){.availability-panel{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--hero-text) 6%, transparent)}}.availability-panel div{padding:16px}.availability-panel div+div{border-left:1px solid var(--border)}.availability-panel span,.timeline-date,.project-kicker,.case-meta,.case-sidebar dt{color:var(--muted-foreground);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:600}.availability-panel strong{color:var(--hero-text);margin-top:4px;font-size:15px;line-height:1.45;display:block}.hero-actions,.project-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:28px;display:flex}.button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-size:14px;font-weight:700;transition:background-color .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s;display:inline-flex}.button-primary{background:var(--hero-button-primary);color:var(--hero-button-primary-text);border-color:var(--hero-button-primary)}.button-primary:hover{background:var(--hero-button-primary-hover)}.button-secondary{background:var(--hero-button-secondary-bg);color:var(--hero-button-secondary-text);border-color:var(--hero-button-secondary-border)}.button-secondary:hover{border-color:var(--hero-accent);color:var(--hero-button-secondary-hover-text)}.hero-section .button{box-shadow:0 12px 34px var(--hero-shadow)}.hero-section .button:hover{transform:translateY(-2px)}.hero-section .button-primary{background:var(--hero-button-primary);color:var(--hero-button-primary-text);border-color:var(--hero-button-primary)}.hero-section .button-primary:hover{background:var(--hero-button-primary-hover)}.hero-section .button-secondary{background:var(--hero-button-secondary-bg);color:var(--hero-button-secondary-text);border-color:var(--hero-button-secondary-border)}.hero-section .button-secondary:hover{border-color:var(--hero-accent);color:var(--hero-button-secondary-hover-text)}.text-link,.hero-links a,.contact-links a,.cad-links a{min-height:36px;color:var(--hero-accent-strong);align-items:center;gap:7px;font-size:14px;font-weight:700;display:inline-flex}.text-link:hover,.hero-links a:hover,.contact-links a:hover,.cad-links a:hover{text-underline-offset:4px;text-decoration:underline}.hero-links{flex-wrap:wrap;gap:14px;margin-top:22px;display:flex}.hero-section .hero-links a{border:1px solid var(--hero-pill-border);background:var(--hero-pill-bg);min-height:38px;color:var(--hero-pill-text);border-radius:999px;padding:0 12px;text-decoration:none;transition:border-color .18s,color .18s,transform .18s,background-color .18s}.hero-section .hero-links a:hover{border-color:var(--hero-accent);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.hero-section .hero-links a:hover{border-color:color-mix(in srgb, var(--hero-accent) 42%, transparent)}}.hero-section .hero-links a:hover{background:var(--hero-pill-hover-bg);color:var(--hero-accent);text-decoration:none}.hero-connect{align-content:center;gap:12px;min-width:0;display:grid}.hero-visual-system{z-index:1;grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;min-width:0;margin-left:0;display:grid;position:relative}.hero-profile-row{grid-template-columns:clamp(112px,9vw,134px) minmax(0,max-content);align-items:center;gap:14px;width:min(100%,620px);min-width:0;margin-top:28px;display:grid}.hero-image-frame{border:1px solid var(--hero-border);background:var(--hero-surface);box-shadow:0 12px 32px var(--hero-shadow);border-radius:12px;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;overflow:hidden;transform:translateZ(0)}.hero-skyline-frame{aspect-ratio:16/10;background:#171412;width:100%;min-width:0;min-height:0}.hero-skyline-frame:after{content:"";z-index:1;mix-blend-mode:multiply;pointer-events:none;background:linear-gradient(#120f0d1f,#120f0d3d);position:absolute;inset:0}.dark .hero-skyline-frame:after{background:linear-gradient(90deg, var(--hero-surface), transparent 22%, transparent 78%, var(--hero-surface)), linear-gradient(0deg, var(--hero-surface), transparent 42%)}@supports (color:color-mix(in lab, red, red)){.dark .hero-skyline-frame:after{background:linear-gradient(90deg, color-mix(in srgb, var(--hero-surface) 24%, transparent), transparent 22%, transparent 78%, color-mix(in srgb, var(--hero-surface) 12%, transparent)), linear-gradient(0deg, color-mix(in srgb, var(--hero-surface) 18%, transparent), transparent 42%)}}.dark .hero-skyline-frame:after{mix-blend-mode:normal}.hero-portrait-frame{aspect-ratio:1;border-radius:10px;width:clamp(112px,9vw,134px);margin-top:0}.hero-connect .hero-actions,.hero-connect .hero-links{justify-content:flex-start;gap:8px;margin-top:0}.hero-connect .button{min-height:40px;padding:9px 13px}.hero-dither-canvas,.hero-portrait-photo{transition:transform .26s,filter .26s;display:block;width:100%!important;height:100%!important}.hero-skyline-canvas{filter:saturate(1.12)contrast(1.18)brightness(.82)}.dark .hero-skyline-canvas{filter:saturate(1.04)contrast(1.03)brightness(1.04)}.hero-portrait-photo{object-fit:cover;object-position:50% 42%;filter:saturate(1.02)contrast(1.03)brightness(1.03);transform-origin:50% 42%}@media (hover:hover) and (pointer:fine){.hero-image-frame:hover{border-color:var(--hero-accent);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.hero-image-frame:hover{border-color:color-mix(in srgb, var(--hero-accent) 32%, var(--hero-border))}}.hero-image-frame:hover{box-shadow:0 12px 32px var(--hero-shadow)}.hero-skyline-frame:hover .hero-dither-canvas{transform:scale(1.008)}.hero-portrait-frame:hover .hero-portrait-photo{transform:scale(1.025)}}.profile-card,.timeline-card,.contact-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:0 12px 32px var(--shadow-color)}.profile-card{padding:18px}.profile-meta{color:var(--theme-primary-dark);align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.profile-card p{color:var(--muted-foreground);margin:12px 0 0;font-size:15px}.section-block{padding:96px 0;scroll-margin-top:92px}.section-block+.section-block{border-top:1px solid var(--border)}.section-heading{max-width:760px;margin-bottom:44px}.section-heading h2,.contact-grid h2,.case-section h2,.case-sidebar h2,.not-found h1{color:var(--foreground);margin:0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:40px;font-weight:800;line-height:1.1}.section-heading p:not(.eyebrow),.contact-grid p,.case-section p,.not-found p{color:var(--muted-foreground);margin:14px 0 0;font-size:17px}.timeline{gap:14px;display:grid}.timeline-item{grid-template-columns:166px minmax(0,1fr);align-items:start;gap:0 22px;display:grid}.timeline-date{padding-top:17px}.timeline-card{box-shadow:0 12px 32px var(--shadow-color);padding:22px}.timeline-card-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.timeline-card h3{color:var(--foreground);margin:0;font-size:19px;line-height:1.25}.timeline-card-header p{color:var(--theme-primary-dark);margin:4px 0 0;font-weight:700}.timeline-card-header p span{color:var(--muted-foreground);font-weight:500}.icon-link{border:1px solid var(--border);width:36px;height:36px;color:var(--theme-primary-dark);border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-link:hover{border-color:var(--primary)}.timeline-summary{color:var(--muted-foreground);margin:16px 0 0;font-size:15px;line-height:1.58}.tag-row{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.tag-row span{align-items:center;min-height:28px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:600;display:inline-flex}.experience-details{border-top:1px solid var(--border);margin-top:16px}.experience-details summary{min-height:44px;color:var(--theme-primary-dark);cursor:pointer;align-items:center;gap:6px;font-size:14px;font-weight:700;display:inline-flex}.experience-details[open] summary svg{transform:rotate(180deg)}.experience-details ul,.case-section ul,.project-decisions ul{color:var(--muted-foreground);margin:8px 0 0;padding-left:20px}.experience-details li+li,.case-section li+li,.project-decisions li+li{margin-top:8px}.project-section-heading{grid-template-columns:minmax(0,1fr);gap:24px;max-width:none;display:grid}.featured-projects{border:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:20px;padding:18px;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.featured-projects{border:1px solid color-mix(in srgb, var(--border) 82%, transparent)}}.featured-projects{border-radius:calc(var(--radius) + 8px);background:linear-gradient(180deg, var(--card), transparent), var(--muted)}@supports (color:color-mix(in lab, red, red)){.featured-projects{background:linear-gradient(180deg, color-mix(in srgb, var(--card) 80%, transparent), transparent), color-mix(in srgb, var(--muted) 46%, var(--background))}}.featured-projects{box-shadow:inset 0 1px #ffffff94}.featured-project-wrap{--cursor-x:50%;--cursor-y:50%;perspective:1200px;min-width:0;height:100%;position:relative}.featured-project{isolation:isolate;border-color:var(--primary);flex-direction:column;min-width:0;height:100%;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.featured-project{border-color:color-mix(in srgb, var(--primary) 20%, var(--border))}}.featured-project{background:linear-gradient(180deg, var(--card), var(--card)), var(--card)}@supports (color:color-mix(in lab, red, red)){.featured-project{background:linear-gradient(180deg, color-mix(in srgb, var(--card) 98%, transparent), var(--card)), var(--card)}}.featured-project{box-shadow:0 18px 46px var(--foreground), inset 0 1px 0 #ffffff8a}@supports (color:color-mix(in lab, red, red)){.featured-project{box-shadow:0 18px 46px color-mix(in srgb, var(--foreground) 8%, transparent), inset 0 1px 0 #ffffff8a}}.featured-project{transition:transform .18s,box-shadow .18s,border-color .18s}.featured-project:before{content:"";z-index:1;background:linear-gradient(115deg, transparent 0%, transparent 34%, var(--primary) 48%, transparent 62%, transparent 100%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.featured-project:before{background:linear-gradient(115deg, transparent 0%, transparent 34%, color-mix(in srgb, var(--primary) 10%, transparent) 48%, transparent 62%, transparent 100%)}}.featured-project:before{background-size:220% 100%;background-position:var(--cursor-x) 0;opacity:0;pointer-events:none;transition:opacity .18s,transform .42s,background-position .12s;transform:translate(-42%)}.featured-project:after{content:"";z-index:0;border-top:3px solid var(--primary);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.featured-project:after{border-top:3px solid color-mix(in srgb, var(--primary) 48%, transparent)}}.featured-project:after{pointer-events:none}.featured-project:hover{border-color:var(--primary);transform:translateY(-5px)}@supports (color:color-mix(in lab, red, red)){.featured-project:hover{border-color:color-mix(in srgb, var(--primary) 44%, var(--border))}}.featured-project:hover{box-shadow:0 28px 64px var(--foreground), inset 0 1px 0 #ffffff94}@supports (color:color-mix(in lab, red, red)){.featured-project:hover{box-shadow:0 28px 64px color-mix(in srgb, var(--foreground) 13%, transparent), inset 0 1px 0 #ffffff94}}.featured-project:hover:before{opacity:1;transform:translate(42%)}.project-feature-index{z-index:3;color:var(--foreground);position:absolute;top:18px;right:18px}@supports (color:color-mix(in lab, red, red)){.project-feature-index{color:color-mix(in srgb, var(--foreground) 68%, transparent)}}.project-feature-index{letter-spacing:0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:700}.featured-project-primary .project-feature-index{color:var(--theme-primary-dark)}.project-media-panel{z-index:2;background:linear-gradient(180deg, var(--accent), transparent 58%), linear-gradient(135deg, var(--card), var(--muted));justify-content:center;align-items:center;width:100%;padding:18px;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.project-media-panel{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 74%, transparent), transparent 58%), linear-gradient(135deg, color-mix(in srgb, var(--card) 76%, transparent), color-mix(in srgb, var(--muted) 84%, var(--card)))}}.project-media-panel{border-bottom:1px solid var(--border)}.project-media-frame,.case-image-frame{aspect-ratio:16/10;background:var(--muted);width:100%;overflow:hidden}.project-media-frame{background:var(--muted);box-shadow:0 18px 38px var(--foreground), 0 0 0 1px var(--border);border:0;border-radius:10px;justify-content:center;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.project-media-frame{box-shadow:0 18px 38px color-mix(in srgb, var(--foreground) 12%, transparent), 0 0 0 1px color-mix(in srgb, var(--border) 78%, transparent)}}.dark .project-media-frame{box-shadow:0 12px 28px #00000038}.project-media-contain{background:linear-gradient(135deg, var(--card), transparent), var(--foreground);padding:12px}@supports (color:color-mix(in lab, red, red)){.project-media-contain{background:linear-gradient(135deg, color-mix(in srgb, var(--card) 88%, transparent), transparent), color-mix(in srgb, var(--foreground) 7%, var(--muted))}}.project-media-cover{padding:0}.featured-project .project-media-frame{aspect-ratio:16/10;height:auto;min-height:0}.project-media-frame img,.case-image-frame img{object-fit:cover;width:100%;height:100%;transition:transform .22s}.project-media-contain img{object-fit:contain}.project-media-panel:hover img{transform:scale(1.025)}.project-card-header{z-index:2;padding:22px 22px 0;position:relative}.project-kicker,.case-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.project-card-header [data-slot],.project-card-header>div:nth-child(2),.project-card-header .font-semibold{color:var(--foreground);font-size:clamp(23px,2.2vw,30px);font-weight:800;line-height:1.08}.project-card-header>div:nth-child(3),.project-card-header .text-muted-foreground{color:var(--theme-primary-dark);font-size:15px;font-weight:700;line-height:1.4}.project-card-content{z-index:2;flex-direction:column;flex:1;padding:18px 22px 22px;display:flex;position:relative}.project-summary,.project-role{color:var(--muted-foreground);margin:0;font-size:14px;line-height:1.55}.project-role{margin-top:12px}.project-role strong{color:var(--foreground)}.project-signal-strip{grid-template-columns:1fr .66fr .38fr;gap:6px;margin-top:18px;display:grid}.project-signal-strip span{background:var(--primary);border-radius:999px;height:3px}@supports (color:color-mix(in lab, red, red)){.project-signal-strip span{background:color-mix(in srgb, var(--primary) 52%, var(--border))}}.project-signal-strip span:nth-child(2){background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.project-signal-strip span:nth-child(2){background:color-mix(in srgb, var(--foreground) 22%, var(--border))}}.project-signal-strip span:nth-child(3){background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.project-signal-strip span:nth-child(3){background:color-mix(in srgb, var(--primary) 30%, var(--border))}}.project-decisions p{color:var(--foreground);margin:18px 0 0;font-size:14px;font-weight:700}.project-decisions ul{font-size:14px;line-height:1.55}.project-decisions li{max-width:48ch}.project-card-content .tag-row{margin-top:16px}.project-card-content .project-actions{margin-top:auto;padding-top:20px}.project-lab-console{isolation:isolate;border:1px solid var(--primary);padding:clamp(18px,3vw,28px);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.project-lab-console{border:1px solid color-mix(in srgb, var(--primary) 24%, var(--border))}}.project-lab-console{background:linear-gradient(90deg, var(--primary) 1px, transparent 1px), linear-gradient(0deg, var(--primary) 1px, transparent 1px), radial-gradient(circle at 18% 0%, var(--primary), transparent 34%), linear-gradient(135deg, var(--card), var(--muted));border-radius:14px}@supports (color:color-mix(in lab, red, red)){.project-lab-console{background:linear-gradient(90deg, color-mix(in srgb, var(--primary) 10%, transparent) 1px, transparent 1px), linear-gradient(0deg, color-mix(in srgb, var(--primary) 8%, transparent) 1px, transparent 1px), radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--primary) 12%, transparent), transparent 34%), linear-gradient(135deg, color-mix(in srgb, var(--card) 96%, transparent), color-mix(in srgb, var(--muted) 72%, var(--background)))}}.project-lab-console{box-shadow:0 24px 60px var(--foreground), inset 0 1px 0 #ffffff94;background-size:44px 44px,44px 44px,auto,auto}@supports (color:color-mix(in lab, red, red)){.project-lab-console{box-shadow:0 24px 60px color-mix(in srgb, var(--foreground) 10%, transparent), inset 0 1px 0 #ffffff94}}.project-lab-console:before{content:"";z-index:-1;background:linear-gradient(115deg, transparent 0%, transparent 42%, var(--primary) 50%, transparent 58%, transparent 100%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.project-lab-console:before{background:linear-gradient(115deg, transparent 0%, transparent 42%, color-mix(in srgb, var(--primary) 8%, transparent) 50%, transparent 58%, transparent 100%)}}.project-lab-console:before{pointer-events:none;animation:7s linear infinite labSweep}.lab-console-header,.console-spec-strip,.debug-port-row,.project-module-dock{z-index:2;position:relative}.lab-console-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:18px;display:flex}@supports (color:color-mix(in lab, red, red)){.lab-console-header{border-bottom:1px solid color-mix(in srgb, var(--border) 78%, transparent)}}.console-eyebrow,.console-status,.module-index,.module-meta,.debug-port,.layer-labels button,.terminal-topline,.build-note span,.result-panel span,.console-spec-strip,.console-tech-row span{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.console-eyebrow,.console-status{color:var(--theme-primary-dark);align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.console-eyebrow svg,.console-status svg{width:15px;height:15px}.lab-console-header h3{max-width:760px;color:var(--foreground);margin:10px 0 0;font-size:48px;font-weight:800;line-height:1}.console-status{border:1px solid var(--primary);min-height:34px;padding:0 12px}@supports (color:color-mix(in lab, red, red)){.console-status{border:1px solid color-mix(in srgb, var(--primary) 28%, var(--border))}}.console-status{background:var(--card);border-radius:8px}@supports (color:color-mix(in lab, red, red)){.console-status{background:color-mix(in srgb, var(--card) 74%, transparent)}}.console-status{color:var(--foreground)}.lab-console-body{z-index:2;grid-template-columns:132px minmax(0,1fr);align-items:stretch;gap:20px;margin-top:22px;display:grid;position:relative}.console-layer-rail{border:1px solid var(--border);grid-template-columns:24px minmax(80px,1fr);align-items:center;gap:12px;min-height:500px;padding:14px 10px;display:grid}@supports (color:color-mix(in lab, red, red)){.console-layer-rail{border:1px solid color-mix(in srgb, var(--border) 82%, transparent)}}.console-layer-rail{background:var(--card);border-radius:10px}@supports (color:color-mix(in lab, red, red)){.console-layer-rail{background:color-mix(in srgb, var(--card) 70%, transparent)}}.console-layer-rail{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.console-layer-rail input[type=range]{width:440px;height:28px;accent-color:var(--primary);transform-origin:0;margin:0;transform:rotate(-90deg)translate(-50%)}.layer-labels{gap:12px;display:grid}.layer-labels button{width:100%;min-height:42px;color:var(--muted-foreground);text-align:center;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;padding:0 8px;font-size:11px;font-weight:700}.layer-labels button.active{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.layer-labels button.active{border-color:color-mix(in srgb, var(--primary) 34%, var(--border))}}.layer-labels button.active{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.layer-labels button.active{background:color-mix(in srgb, var(--accent) 78%, transparent)}}.layer-labels button.active{color:var(--foreground)}.console-preview-screen{--tilt-x:0px;--tilt-y:0px;border:1px solid var(--primary);align-items:center;min-height:500px;padding:clamp(16px,3vw,28px);display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.console-preview-screen{border:1px solid color-mix(in srgb, var(--primary) 26%, var(--border))}}.console-preview-screen{background:linear-gradient(180deg, var(--foreground), transparent 42%), var(--card);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.console-preview-screen{background:linear-gradient(180deg, color-mix(in srgb, var(--foreground) 5%, transparent), transparent 42%), color-mix(in srgb, var(--card) 86%, transparent)}}.console-preview-screen{box-shadow:inset 0 0 0 1px #ffffff4d}.console-preview-screen:before{content:"";background:repeating-linear-gradient(0deg, transparent 0, transparent 13px, var(--primary) 14px);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.console-preview-screen:before{background:repeating-linear-gradient(0deg, transparent 0, transparent 13px, color-mix(in srgb, var(--primary) 5%, transparent) 14px)}}.console-preview-screen:before{opacity:.55;pointer-events:none}.console-preview-booting{background:#10161b}.console-preview-booting:before{opacity:.12}.console-terminal{z-index:2;border:1px solid var(--primary);width:min(100%,640px);margin:0 auto;padding:24px;position:relative}@supports (color:color-mix(in lab, red, red)){.console-terminal{border:1px solid color-mix(in srgb, var(--primary) 35%, var(--border))}}.console-terminal{color:#d6f7e5;opacity:1;background:#071014;border-radius:10px;box-shadow:0 24px 60px #0000007a,inset 0 1px #ffffff14}.terminal-topline{color:#def9ea;align-items:center;gap:8px;margin-bottom:14px;font-size:12px;font-weight:700;display:inline-flex}.terminal-topline svg{width:15px;height:15px}.console-terminal p{margin:8px 0 0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px}.terminal-cursor{background:#d6f7e5;width:9px;height:18px;margin-top:12px;animation:.9s steps(2,end) infinite cursorBlink;display:inline-block}.console-active-content{z-index:2;grid-template-columns:minmax(0,1fr) minmax(240px,.34fr);align-items:center;gap:20px;display:grid;position:relative}.console-device-column{gap:12px;min-width:0;display:grid}.console-device-panel{border:1px solid var(--primary);min-height:clamp(300px,42vw,480px);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.console-device-panel{border:1px solid color-mix(in srgb, var(--primary) 34%, var(--border))}}.console-device-panel{background:linear-gradient(135deg, var(--card), var(--foreground)), var(--muted);border-radius:10px}@supports (color:color-mix(in lab, red, red)){.console-device-panel{background:linear-gradient(135deg, color-mix(in srgb, var(--card) 72%, transparent), color-mix(in srgb, var(--foreground) 7%, var(--muted))), var(--muted)}}.console-device-panel{box-shadow:0 22px 56px var(--foreground), inset 0 1px 0 #ffffff8f}@supports (color:color-mix(in lab, red, red)){.console-device-panel{box-shadow:0 22px 56px color-mix(in srgb, var(--foreground) 13%, transparent), inset 0 1px 0 #ffffff8f}}.console-device-panel img{width:100%;height:100%;min-height:inherit;transform:translate3d(var(--tilt-x), var(--tilt-y), 0) scale(1.035);object-fit:cover;transition:transform .18s}.device-scanline{background:linear-gradient(180deg, transparent, var(--primary), transparent);height:35%;position:absolute;inset:-20% 0 auto}@supports (color:color-mix(in lab, red, red)){.device-scanline{background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--primary) 13%, transparent), transparent)}}.device-scanline{pointer-events:none;animation:4.4s linear infinite scanline}.console-system-overlay{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.console-system-overlay svg{fill:none;width:84%;height:84%;position:absolute;inset:8%}.console-system-overlay circle{fill:var(--primary);filter:drop-shadow(0 0 9px var(--primary))}@supports (color:color-mix(in lab, red, red)){.console-system-overlay circle{filter:drop-shadow(0 0 9px color-mix(in srgb, var(--primary) 60%, transparent))}}.system-line{stroke:var(--primary);stroke-width:2.5px;stroke-dasharray:8 12;animation:1.7s linear infinite dashFlow}.system-line-two{stroke:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.system-line-two{stroke:color-mix(in srgb, var(--foreground) 44%, var(--primary))}}.system-line-two{animation-duration:2.2s}.system-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid;position:absolute;bottom:18px;left:4%;right:4%}.system-flow span{border:1px solid var(--primary);align-content:center;gap:3px;min-height:58px;padding:10px;display:grid}@supports (color:color-mix(in lab, red, red)){.system-flow span{border:1px solid color-mix(in srgb, var(--primary) 38%, var(--border))}}.system-flow span{background:var(--card);border-radius:8px}@supports (color:color-mix(in lab, red, red)){.system-flow span{background:color-mix(in srgb, var(--card) 84%, transparent)}}.system-flow span{color:var(--foreground);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:700}.system-flow small{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600;overflow:hidden}.console-tech-row{flex-wrap:wrap;gap:8px;display:flex}.console-tech-row span{background:var(--card);align-items:center;min-height:28px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.console-tech-row span{background:color-mix(in srgb, var(--card) 72%, transparent)}}.console-tech-row span{font-size:12px;font-weight:600}.console-readout,.build-note-grid,.result-panel{min-width:0}.console-readout h3{color:var(--foreground);margin:16px 0 0;font-size:32px;font-weight:800;line-height:1.05}.console-readout p{color:var(--muted-foreground);margin:12px 0 0;font-size:15px;line-height:1.55}.build-note-grid{gap:10px;display:grid}.build-note{border:1px solid var(--border);padding:14px}@supports (color:color-mix(in lab, red, red)){.build-note{border:1px solid color-mix(in srgb, var(--border) 82%, transparent)}}.build-note{background:var(--card);border-radius:8px}@supports (color:color-mix(in lab, red, red)){.build-note{background:color-mix(in srgb, var(--card) 76%, transparent)}}.build-note{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.build-note span,.result-panel span{color:var(--theme-primary-dark);font-size:11px;font-weight:700}.build-note p,.result-panel p{color:var(--muted-foreground);margin:7px 0 0;font-size:13px;line-height:1.45}.result-panel{gap:12px;display:grid}.result-panel div{border:1px solid var(--primary);padding:16px}@supports (color:color-mix(in lab, red, red)){.result-panel div{border:1px solid color-mix(in srgb, var(--primary) 22%, var(--border))}}.result-panel div{background:var(--card);border-radius:8px}@supports (color:color-mix(in lab, red, red)){.result-panel div{background:color-mix(in srgb, var(--card) 78%, transparent)}}.debug-port-row{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.debug-port-row-disabled{opacity:.45;pointer-events:none}.debug-port{border:1px solid var(--primary);align-items:center;gap:8px;min-height:40px;padding:0 13px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.debug-port{border:1px solid color-mix(in srgb, var(--primary) 30%, var(--border))}}.debug-port{background:var(--card);border-radius:8px}@supports (color:color-mix(in lab, red, red)){.debug-port{background:color-mix(in srgb, var(--card) 74%, transparent)}}.debug-port{color:var(--foreground);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:12px;font-weight:700;transition:transform .16s,border-color .16s,background-color .16s}.debug-port:hover{border-color:var(--primary);background:var(--accent);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.debug-port:hover{background:color-mix(in srgb, var(--accent) 82%, transparent)}}.debug-port svg{width:15px;height:15px}.project-module-dock{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.project-module{border:1px solid var(--border);align-content:start;justify-items:start;min-width:0;min-height:144px;padding:16px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.project-module{border:1px solid color-mix(in srgb, var(--border) 88%, transparent)}}.project-module{background:linear-gradient(180deg, var(--card), var(--muted)), var(--card);border-radius:10px}@supports (color:color-mix(in lab, red, red)){.project-module{background:linear-gradient(180deg, color-mix(in srgb, var(--card) 88%, transparent), color-mix(in srgb, var(--muted) 72%, transparent)), var(--card)}}.project-module{color:var(--foreground);text-align:left;transition:transform .16s,border-color .16s,box-shadow .16s;box-shadow:inset 0 1px #ffffff7a}.project-module:hover,.project-module-active{border-color:var(--primary);transform:translateY(-3px)}@supports (color:color-mix(in lab, red, red)){.project-module:hover,.project-module-active{border-color:color-mix(in srgb, var(--primary) 48%, var(--border))}}.project-module:hover,.project-module-active{box-shadow:0 16px 34px var(--foreground), inset 0 1px 0 #ffffff85}@supports (color:color-mix(in lab, red, red)){.project-module:hover,.project-module-active{box-shadow:0 16px 34px color-mix(in srgb, var(--foreground) 9%, transparent), inset 0 1px 0 #ffffff85}}.module-index{color:var(--theme-primary-dark);font-size:11px;font-weight:700}.module-chip{border:1px solid var(--primary);justify-content:center;align-items:center;width:34px;height:34px;margin-top:12px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.module-chip{border:1px solid color-mix(in srgb, var(--primary) 30%, var(--border))}}.module-chip{background:var(--foreground);border-radius:7px}@supports (color:color-mix(in lab, red, red)){.module-chip{background:color-mix(in srgb, var(--foreground) 8%, transparent)}}.module-chip svg{width:18px;height:18px}.module-title{color:var(--foreground);margin-top:14px;font-size:16px;font-weight:800;line-height:1.18}.module-meta{color:var(--muted-foreground);margin-top:6px;font-size:11px;font-weight:700}.module-pins{gap:5px;display:flex;position:absolute;bottom:12px;right:12px}.module-pins i{background:var(--primary);border-radius:999px;width:4px;height:18px}@supports (color:color-mix(in lab, red, red)){.module-pins i{background:color-mix(in srgb, var(--primary) 42%, var(--border))}}.console-spec-strip{color:var(--muted-foreground);grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px;font-size:11px;font-weight:700;display:grid}.console-spec-strip span{border:1px solid var(--border);justify-content:center;align-items:center;gap:7px;min-height:34px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.console-spec-strip span{border:1px solid color-mix(in srgb, var(--border) 78%, transparent)}}.console-spec-strip span{background:var(--card);border-radius:8px}@supports (color:color-mix(in lab, red, red)){.console-spec-strip span{background:color-mix(in srgb, var(--card) 55%, transparent)}}.console-spec-strip svg{width:14px;height:14px}.project-section{background:var(--card);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.project-section{background:color-mix(in srgb, var(--card) 20%, transparent)}}.project-section>.site-container{z-index:1;position:relative}.project-marquee-section{border:1px solid var(--border);margin:0 0 clamp(34px,6vw,76px);padding:clamp(28px,4vw,46px);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.project-marquee-section{border:1px solid color-mix(in srgb, var(--border) 88%, var(--primary) 12%)}}.project-marquee-section{background:linear-gradient(135deg, var(--card), var(--muted)), var(--card);border-radius:18px}@supports (color:color-mix(in lab, red, red)){.project-marquee-section{background:linear-gradient(135deg, color-mix(in srgb, var(--card) 96%, var(--background)), color-mix(in srgb, var(--muted) 72%, var(--card))), var(--card)}}.project-marquee-section{box-shadow:0 28px 72px var(--foreground), inset 0 1px 0 #ffffff6b}@supports (color:color-mix(in lab, red, red)){.project-marquee-section{box-shadow:0 28px 72px color-mix(in srgb, var(--foreground) 9%, transparent), inset 0 1px 0 #ffffff6b}}.project-marquee-heading{text-align:center;max-width:760px;margin:0 auto 24px}.project-marquee-heading .eyebrow{color:var(--theme-primary-dark);margin-bottom:8px}.project-marquee-heading h3{color:var(--foreground);margin:0;font-size:clamp(34px,4vw,56px);font-weight:800;line-height:1}.project-marquee-heading p:not(.eyebrow){max-width:620px;color:var(--muted-foreground);margin:12px auto 0;font-size:16px}.project-marquee{border:1px solid var(--border);min-height:clamp(560px,50vw,660px);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.project-marquee{border:1px solid color-mix(in srgb, var(--border) 86%, transparent)}}.project-marquee{background:linear-gradient(90deg, var(--foreground) 1px, transparent 1px), linear-gradient(180deg, var(--foreground) 1px, transparent 1px), var(--muted);border-radius:14px}@supports (color:color-mix(in lab, red, red)){.project-marquee{background:linear-gradient(90deg, color-mix(in srgb, var(--foreground) 4%, transparent) 1px, transparent 1px), linear-gradient(180deg, color-mix(in srgb, var(--foreground) 4%, transparent) 1px, transparent 1px), color-mix(in srgb, var(--muted) 34%, var(--card))}}.project-marquee{background-size:72px 72px}.project-marquee:before,.project-marquee:after{content:"";z-index:3;pointer-events:none;position:absolute;inset:0}.project-marquee:before{display:none}.project-marquee:after{box-shadow:inset 0 0 0 1px var(--border);border-radius:14px}@supports (color:color-mix(in lab, red, red)){.project-marquee:after{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--border) 76%, transparent)}}.project-marquee-stage{z-index:1;perspective:none;place-items:center;display:grid;position:absolute;inset:clamp(22px,3vw,40px)}.project-marquee-plane{width:min(1180px,118%);transform-style:preserve-3d;grid-template-columns:repeat(5,minmax(170px,1fr));gap:clamp(14px,1.5vw,20px);display:grid;transform:rotateX(50deg)rotate(-18deg)translateY(1%)scale(1.08)}.project-marquee-column{gap:clamp(14px,1.5vw,20px);display:grid}.project-marquee-card{border:1px solid var(--border);grid-template-rows:minmax(0,1fr) 42px;height:clamp(170px,14.5vw,214px);margin:0;display:grid;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.project-marquee-card{border:1px solid color-mix(in srgb, var(--border) 90%, transparent)}}.project-marquee-card{background:var(--card);border-radius:10px}@supports (color:color-mix(in lab, red, red)){.project-marquee-card{background:color-mix(in srgb, var(--card) 94%, var(--muted))}}.project-marquee-card{box-shadow:0 16px 36px var(--foreground)}@supports (color:color-mix(in lab, red, red)){.project-marquee-card{box-shadow:0 16px 36px color-mix(in srgb, var(--foreground) 10%, transparent)}}.project-marquee-card{transition:border-color .18s,background-color .18s,box-shadow .18s;transform:translateZ(0)}.project-marquee-card:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.project-marquee-card:hover{border-color:color-mix(in srgb, var(--primary) 38%, var(--border))}}.project-marquee-card:hover{background:var(--card)}@supports (color:color-mix(in lab, red, red)){.project-marquee-card:hover{background:color-mix(in srgb, var(--card) 88%, var(--accent))}}.project-marquee-card:hover{box-shadow:0 20px 46px var(--foreground)}@supports (color:color-mix(in lab, red, red)){.project-marquee-card:hover{box-shadow:0 20px 46px color-mix(in srgb, var(--foreground) 13%, transparent)}}.project-marquee-card-featured{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.project-marquee-card-featured{border-color:color-mix(in srgb, var(--primary) 46%, var(--border))}}.project-marquee-card-featured{background:var(--card)}@supports (color:color-mix(in lab, red, red)){.project-marquee-card-featured{background:color-mix(in srgb, var(--card) 86%, var(--accent))}}.project-marquee-image{background:var(--foreground);min-height:0;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.project-marquee-image{background:color-mix(in srgb, var(--foreground) 7%, var(--muted))}}.project-marquee-image img{object-fit:cover;width:100%;height:100%}.project-marquee-card figcaption{align-content:center;gap:2px;min-width:0;padding:6px 10px;display:grid}.project-marquee-card span{min-width:0;color:var(--theme-primary-dark);text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9px;font-weight:700;overflow:hidden}.project-marquee-card strong{min-width:0;color:var(--foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:800;line-height:1.18;display:-webkit-box;overflow:hidden}.project-marquee-mobile{display:none}.project-story-list{gap:clamp(28px,6vw,72px);display:grid}.project-story{border:1px solid var(--border);background:var(--card);min-height:610px;box-shadow:0 12px 32px var(--shadow-color);border-radius:16px;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:center;gap:clamp(30px,5vw,72px);padding:clamp(24px,4vw,52px);display:grid;position:relative;overflow:hidden}.project-story:before{content:"";background:var(--primary);width:3px;position:absolute;inset:0 auto 0 0}.project-story-reverse{grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr)}.project-story-reverse .project-story-media{order:2}.project-story-reverse .project-story-content{order:1}.project-story-media{aspect-ratio:16/10;border:1px solid var(--border);background:var(--muted);min-width:0;min-height:0;box-shadow:0 12px 32px var(--shadow-color);border-radius:16px;position:relative;overflow:hidden}.project-story-image{position:absolute;inset:-34px 0}.project-story-image .project-media-frame{aspect-ratio:auto;height:100%;box-shadow:none;border-radius:0}.project-story-image img{transition:transform .5s cubic-bezier(.22,1,.36,1)}.project-media-card{background:var(--muted);width:100%;height:100%;box-shadow:none;border:0;border-radius:0;padding:0;position:relative;overflow:hidden}.project-media-card-tabs{height:100%}.project-media-tabs-list{z-index:3;border:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));width:min(100% - 28px,340px);height:44px;padding:4px;display:grid;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.project-media-tabs-list{border:1px solid color-mix(in srgb, var(--border) 78%, transparent)}}.project-media-tabs-list{background:var(--card)}@supports (color:color-mix(in lab, red, red)){.project-media-tabs-list{background:color-mix(in srgb, var(--card) 90%, transparent)}}.project-media-tabs-list{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 30px #0000003d}.project-media-tab-trigger{min-width:0;height:34px;color:var(--muted-foreground);gap:7px;padding:0 10px;font-size:11px;font-weight:800}.project-media-tab-trigger svg{flex:none;width:15px;height:15px}.project-media-tab-trigger[data-state=active]{background:var(--foreground);color:var(--background)}.project-media-tab-panel{background:var(--muted);margin:0;position:absolute;inset:0;overflow:hidden}.project-media-tab-panel[data-state=active]{animation:.22s ease-out mediaTabIn}.project-media-tab-panel img{width:100%;height:100%}.project-story:hover .project-story-image img{transform:scale(1.015)}.project-story-content{gap:22px;min-width:0;display:grid}.project-story-meta{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:9px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:700;display:flex}.project-story-meta>span:not([data-slot]){border:1px solid var(--border);background:var(--card);border-radius:999px;align-items:center;min-height:27px;padding:0 10px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.project-story-meta>span:not([data-slot]){background:color-mix(in srgb, var(--card) 72%, transparent)}}.project-story-label{color:var(--theme-primary-dark);text-transform:uppercase;margin:0 0 9px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:700}.project-story h3{color:var(--foreground);letter-spacing:-.045em;margin:0;font-size:clamp(34px,4vw,58px);font-weight:800;line-height:.98}.project-story-subtitle{color:var(--theme-primary-dark);margin:13px 0 0;font-size:18px;font-weight:700;line-height:1.4}.project-story-summary{color:var(--muted-foreground);margin:0;font-size:16px;line-height:1.7}.project-story-highlights{gap:11px;margin:0;padding:0;list-style:none;display:grid}.project-story-highlights li{color:var(--foreground);padding-left:22px;position:relative}@supports (color:color-mix(in lab, red, red)){.project-story-highlights li{color:color-mix(in srgb, var(--foreground) 86%, var(--muted-foreground))}}.project-story-highlights li{font-size:14px;line-height:1.55}.project-story-highlights li:before{content:"";background:var(--primary);width:9px;height:2px;position:absolute;top:.68em;left:0}.project-story-result{border-left:3px solid var(--primary);background:var(--accent);border-radius:0 10px 10px 0;padding:15px 17px}@supports (color:color-mix(in lab, red, red)){.project-story-result{background:color-mix(in srgb, var(--accent) 48%, transparent)}}.project-story-result span{color:var(--theme-primary-dark);text-transform:uppercase;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:700}.project-story-result p{color:var(--foreground);margin:6px 0 0;font-size:14px;line-height:1.5}.project-story-result-award{background:radial-gradient(circle at 12% 0,#ffe17a38,#0000 42%),linear-gradient(135deg,#f6c45329,#ae70141a);border-left-color:#f6c453;box-shadow:0 0 24px #f6c45333,inset 0 0 0 1px #f6c4532e}.project-story-result-award span{color:#d89a19;text-shadow:0 0 12px #f6c4537a}.dark .project-story-result-award span{color:#ffd76a}.project-story-links{flex-wrap:wrap;gap:10px;display:flex}.project-story-links a{border:1px solid var(--primary);justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.project-story-links a{border:1px solid color-mix(in srgb, var(--primary) 34%, var(--border))}}.project-story-links a{background:var(--card);border-radius:9px}@supports (color:color-mix(in lab, red, red)){.project-story-links a{background:color-mix(in srgb, var(--card) 78%, transparent)}}.project-story-links a{color:var(--foreground);font-size:13px;font-weight:800;transition:transform .18s,border-color .18s,background-color .18s}.project-story-links a:first-child{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.project-story-links a:hover{border-color:var(--primary);background:var(--accent);color:var(--accent-foreground);transform:translateY(-2px)}.project-story-links a:first-child:hover{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.project-story-links a:first-child:hover{background:color-mix(in srgb, var(--primary) 88%, var(--foreground))}}.project-story-links a:first-child:hover{color:var(--primary-foreground)}.project-story-links svg{width:15px;height:15px}.project-media-badge-wrap{width:max-content;max-width:100%;color:inherit;text-decoration:none;display:inline-flex}.project-media-badge{border:1px solid var(--primary);max-width:100%;min-height:42px;padding:0 13px}@supports (color:color-mix(in lab, red, red)){.project-media-badge{border:1px solid color-mix(in srgb, var(--primary) 24%, var(--border))}}.project-media-badge{background:var(--card);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.project-media-badge{background:color-mix(in srgb, var(--card) 80%, transparent)}}.project-media-badge{box-shadow:none;transition:border-color .18s,background-color .18s,transform .18s}.project-media-badge:hover{border-color:var(--primary);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.project-media-badge:hover{border-color:color-mix(in srgb, var(--primary) 46%, var(--border))}}.project-media-badge:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.project-media-badge:hover{background:color-mix(in srgb, var(--accent) 34%, var(--card))}}.project-media-badge span{min-width:0;color:var(--foreground);font-size:13px;font-weight:800;line-height:1.2}.supporting-projects{border-top:1px solid var(--border);margin-top:clamp(72px,10vw,120px);padding-top:clamp(48px,7vw,80px)}.supporting-projects-heading{max-width:700px;margin-bottom:26px}.supporting-projects-heading h3{color:var(--foreground);margin:0;font-size:clamp(28px,3vw,38px);font-weight:800;line-height:1.1}.supporting-projects-heading p:not(.eyebrow){color:var(--muted-foreground);margin:9px 0 0;font-size:16px}.supporting-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.supporting-project-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);min-width:0;box-shadow:0 12px 32px var(--shadow-color);transition:transform .18s,border-color .18s,box-shadow .18s;overflow:hidden}.supporting-project-card:hover{border-color:var(--primary);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.supporting-project-card:hover{border-color:color-mix(in srgb, var(--primary) 38%, var(--border))}}.supporting-project-card:hover{box-shadow:0 12px 32px var(--shadow-color)}.supporting-project-media-link{color:inherit;text-decoration:none;display:block}.supporting-project-card .project-media-frame{aspect-ratio:16/10;box-shadow:none;border-radius:0}.supporting-project-card .project-media-contain{background:var(--muted);padding:14px}.supporting-project-card .project-media-frame img{transform-origin:50%}.supporting-project-card:hover .project-media-frame img{transform:scale(1.025)}.supporting-project-body{padding:18px}.supporting-project-body .project-kicker{margin-bottom:12px}.supporting-project-body h3{color:var(--foreground);margin:0;font-size:19px;font-weight:800;line-height:1.18}.supporting-project-body p{color:var(--muted-foreground);margin:10px 0 0;font-size:14px;line-height:1.58}.supporting-project-body .tag-row{margin-top:15px}.supporting-project-links{flex-wrap:wrap;gap:12px;margin-top:17px;display:flex}.supporting-project-links a{min-height:34px;color:var(--theme-primary-dark);align-items:center;gap:6px;font-size:13px;font-weight:800;display:inline-flex}.supporting-project-links a:hover{text-underline-offset:4px;text-decoration:underline}.supporting-project-links svg{width:15px;height:15px}.supporting-project-body .project-media-badge-wrap{margin-top:14px}.contact-section{border-top:1px solid var(--border);padding:88px 0 104px;scroll-margin-top:92px}.contact-grid{grid-template-columns:minmax(0,1fr) 430px;align-items:start;gap:40px;display:grid}.contact-panel{padding:24px}.email-link{color:var(--foreground);overflow-wrap:anywhere;align-items:center;gap:9px;font-size:17px;font-weight:800;display:inline-flex}.contact-links{flex-wrap:wrap;gap:14px;margin-top:18px;display:flex}.case-page{padding:128px 0 96px}.back-link{margin-bottom:28px}.case-hero{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 420px;align-items:center;gap:42px;padding-bottom:56px;display:grid}.case-hero h1{font-size:56px}.case-subtitle{color:var(--theme-primary-dark);margin:12px 0 0;font-size:22px;font-weight:800}.case-image-frame{border:1px solid var(--border);border-radius:var(--radius)}.case-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:40px;padding-top:56px;display:grid}.case-content{min-width:0}.case-section{padding-bottom:38px}.case-section+.case-section{border-top:1px solid var(--border);padding-top:38px}.case-section h2{font-size:30px}.case-sidebar{position:sticky;top:96px}.case-sidebar dl{gap:16px;margin:0;display:grid}.case-sidebar dt{margin-bottom:4px}.case-sidebar dd{color:var(--muted-foreground);margin:0;font-size:14px}.case-sidebar a{color:var(--theme-primary-dark);overflow-wrap:anywhere;font-weight:700}.architecture-scroll{margin-top:18px;padding-bottom:6px;overflow-x:auto}.architecture-diagram{align-items:center;gap:10px;min-width:max-content;display:flex}.architecture-step-wrap{align-items:center;gap:10px;display:flex}.architecture-step{border:1px solid var(--border);background:var(--card);max-width:190px;min-height:58px;color:var(--foreground);text-align:center;border-radius:8px;justify-content:center;align-items:center;padding:12px 16px;font-size:14px;font-weight:700;display:flex}.architecture-arrow{color:var(--theme-primary-dark);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700}.media-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.media-frame{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);margin:0;overflow:hidden}.media-frame img,.media-frame video,.media-frame iframe{aspect-ratio:16/10;object-fit:cover;background:var(--muted);border:0;width:100%}.media-frame figcaption{color:var(--muted-foreground);padding:12px 14px;font-size:14px}.cad-panel{grid-template-columns:140px minmax(0,1fr);align-items:center;gap:18px;margin-top:18px;padding:18px;display:grid}.cad-panel img{object-fit:contain;border:1px solid var(--border);background:var(--muted);border-radius:8px;width:140px;height:108px}.cad-panel h3{color:var(--foreground);margin:0;font-size:20px;font-weight:800}.cad-panel p{color:var(--muted-foreground);margin:8px 0 0;font-size:15px}.cad-links{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.not-found{padding:148px 0 96px}.blog-section{border-top:1px solid var(--border)}.blog-heading{margin-bottom:28px}.blog-feature{border:1px solid var(--border);background:var(--card);box-shadow:0 12px 32px var(--shadow-color);border-radius:16px;grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:center;gap:24px;padding:clamp(18px,3vw,28px);display:grid}.blog-feature-copy>svg{width:28px;height:28px;color:var(--theme-primary-dark)}.blog-feature h3{color:var(--foreground);margin:8px 0 0;font-size:clamp(30px,4vw,44px);font-weight:800;line-height:1.06}.blog-feature p:not(.project-story-label){max-width:720px;color:var(--muted-foreground);margin:14px 0 0;font-size:16px}.blog-feature-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.blog-feature-media{border:1px solid var(--border);background:var(--muted);border-radius:10px;place-items:center;min-height:230px;display:grid;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.blog-feature-media{background:color-mix(in srgb, var(--muted) 46%, transparent)}}.blog-feature-media img{object-fit:contain;width:100%;height:100%}.craft-page{background:linear-gradient(180deg, var(--background), var(--background) 34rem), var(--background)}@supports (color:color-mix(in lab, red, red)){.craft-page{background:linear-gradient(180deg, color-mix(in srgb, var(--background) 88%, white 12%), var(--background) 34rem), var(--background)}}.craft-article{width:calc(100% - 32px);max-width:1180px;margin:0 auto;padding:132px 0 96px}.craft-hero{min-height:auto;padding:clamp(52px,8vw,96px) 0 clamp(56px,8vw,84px);display:block}.craft-hero .back-link{justify-self:start;margin-bottom:28px}.craft-hero h1{max-width:920px;color:var(--foreground);overflow-wrap:anywhere;margin:0;font-size:clamp(42px,7vw,78px);font-weight:800;line-height:.98}.craft-hero>p:not(.eyebrow){max-width:780px;color:var(--muted-foreground);margin:22px 0 0;font-size:19px;line-height:1.7}.craft-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.craft-reader-layout{grid-template-columns:244px minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,40px);display:grid}.craft-sidebar{min-width:0;position:sticky;top:96px}.craft-sidebar>p,.craft-progress{color:var(--muted-foreground);text-transform:uppercase;margin:0 0 10px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:800}.craft-chapter-nav{gap:8px;display:grid}.craft-chapter-nav a{border:1px solid var(--border);background:var(--card);border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-height:54px;padding:10px;display:grid}@supports (color:color-mix(in lab, red, red)){.craft-chapter-nav a{background:color-mix(in srgb, var(--card) 86%, white)}}.craft-chapter-nav a{color:var(--muted-foreground);transition:border-color .16s,background-color .16s,color .16s}.craft-chapter-nav a:hover,.craft-chapter-nav a.active{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.craft-chapter-nav a:hover,.craft-chapter-nav a.active{border-color:color-mix(in srgb, var(--primary) 56%, var(--border))}}.craft-chapter-nav a:hover,.craft-chapter-nav a.active{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.craft-chapter-nav a:hover,.craft-chapter-nav a.active{background:color-mix(in srgb, var(--accent) 46%, var(--card))}}.craft-chapter-nav a:hover,.craft-chapter-nav a.active{color:var(--foreground)}.craft-chapter-nav span{color:var(--theme-primary-dark);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:800}.craft-chapter-nav strong{overflow-wrap:anywhere;min-width:0;font-size:14px;line-height:1.25}.craft-reader-main{min-width:0}.craft-chapter-lead{border-top:0;padding-top:0}.craft-chapter-points{gap:10px;max-width:840px;margin:18px 0 0;padding:0;display:grid}.craft-chapter-points li{color:var(--foreground);grid-template-columns:18px minmax(0,1fr);gap:9px;list-style:none;display:grid}.craft-chapter-points svg{width:16px;height:16px;color:var(--theme-primary-dark);margin-top:5px}.craft-section{border-top:1px solid var(--border);padding:clamp(48px,7vw,76px) 0}.craft-section h2{max-width:780px;color:var(--foreground);overflow-wrap:anywhere;margin:0;font-size:clamp(30px,4vw,48px);font-weight:800;line-height:1.06}.craft-section p{max-width:780px;color:var(--muted-foreground);margin:14px 0 0;font-size:17px}.craft-section code,.craft-section pre,.craft-terminal,.craft-field-grid code,.craft-field-tabs code{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.craft-path{flex-wrap:wrap;gap:9px;margin-top:22px;display:flex}.craft-path span{border:1px solid var(--primary);align-items:center;min-height:42px;padding:0 13px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.craft-path span{border:1px solid color-mix(in srgb, var(--primary) 28%, var(--border))}}.craft-path span{background:var(--card);color:var(--foreground);border-radius:8px;font-size:13px;font-weight:800}.craft-path-large span{min-height:54px;font-size:15px}.craft-facts,.craft-steps,.craft-field-grid,.craft-code-grid,.craft-limits,.craft-source-list,.craft-walkthrough-list{gap:12px;margin-top:20px;display:grid}.craft-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.craft-facts span,.craft-limits span{border:1px solid var(--border);background:var(--card);min-height:58px;color:var(--foreground);border-radius:8px;align-items:center;padding:14px;font-weight:800;display:flex}.craft-steps section,.craft-demo,.craft-code,.craft-field-grid div,.craft-source-card,.craft-layer-detail,.craft-walkthrough{border:1px solid var(--border);background:var(--card);box-shadow:0 16px 38px var(--foreground);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.craft-steps section,.craft-demo,.craft-code,.craft-field-grid div,.craft-source-card,.craft-layer-detail,.craft-walkthrough{box-shadow:0 16px 38px color-mix(in srgb, var(--foreground) 7%, transparent)}}.craft-steps section{padding:20px}.craft-steps span,.craft-retx-flow span{color:var(--theme-primary-dark);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:800}.craft-steps h3{color:var(--foreground);margin:8px 0 0;font-size:22px;font-weight:800}.craft-steps p{margin-top:8px;font-size:15px}.craft-steps pre,.craft-code pre,.craft-terminal pre{white-space:pre-wrap;color:var(--foreground);background:var(--muted);margin:14px 0 0;overflow-x:auto}@supports (color:color-mix(in lab, red, red)){.craft-steps pre,.craft-code pre,.craft-terminal pre{background:color-mix(in srgb, var(--muted) 72%, white)}}.craft-steps pre,.craft-code pre{border-radius:8px;padding:16px;font-size:13px;line-height:1.6}.craft-demo{margin-top:24px;padding:18px}.craft-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.craft-controls label{color:var(--foreground);gap:6px;font-size:12px;font-weight:800;display:grid}.craft-controls input,.craft-controls select{border:1px solid var(--input);background:var(--background);width:100%;min-height:42px;color:var(--foreground);border-radius:8px;padding:0 10px}.craft-terminal{border:1px solid var(--border);background:var(--card);border-radius:10px;margin-top:16px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.craft-terminal{background:color-mix(in srgb, var(--card) 88%, white)}}.craft-terminal>div{border-bottom:1px solid var(--border);min-height:38px;color:var(--theme-primary-dark);align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:800;display:flex}.craft-terminal svg{width:15px;height:15px}.craft-terminal pre{padding:16px;font-size:13px;line-height:1.65}.craft-field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.craft-field-grid div{padding:14px}.craft-field-grid code,.craft-code figcaption code,.craft-state-flow code,.craft-field-tabs code{color:var(--theme-primary-dark);font-size:12px;font-weight:800}.craft-field-grid strong{color:var(--foreground);margin-top:8px;display:block}.craft-field-grid p{margin-top:6px;font-size:13px;line-height:1.45}.craft-code-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.craft-code{margin:0;overflow:hidden}.craft-code figcaption{border-bottom:1px solid var(--border);min-height:56px;color:var(--foreground);justify-content:space-between;align-items:center;gap:12px;padding:14px;font-weight:800;display:flex}.craft-code-title{gap:5px;min-width:0;display:grid}.craft-code-title span,.craft-code-title code{overflow-wrap:anywhere}.craft-copy-button{flex:none}.craft-code pre{border-radius:0;margin-top:0}.craft-layer-grid{grid-template-columns:minmax(260px,.72fr) minmax(0,1fr);gap:18px;margin-top:24px;display:grid}.craft-layer-list{gap:8px;display:grid}.craft-layer-list button,.craft-field-tabs button{border:1px solid var(--border);background:var(--card);width:100%;min-height:62px;color:var(--foreground);text-align:left;border-radius:8px;padding:12px}.craft-layer-list button:hover,.craft-layer-list button.active,.craft-field-tabs button:hover,.craft-field-tabs button.active{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.craft-layer-list button:hover,.craft-layer-list button.active,.craft-field-tabs button:hover,.craft-field-tabs button.active{border-color:color-mix(in srgb, var(--primary) 60%, var(--border))}}.craft-layer-list button:hover,.craft-layer-list button.active,.craft-field-tabs button:hover,.craft-field-tabs button.active{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.craft-layer-list button:hover,.craft-layer-list button.active,.craft-field-tabs button:hover,.craft-field-tabs button.active{background:color-mix(in srgb, var(--accent) 42%, var(--card))}}.craft-layer-list span,.craft-field-tabs span{color:var(--foreground);font-weight:800;display:block}.craft-layer-list small{color:var(--muted-foreground);margin-top:4px;font-size:12px;line-height:1.4;display:block}.craft-layer-detail{padding:clamp(20px,3vw,28px)}.craft-layer-detail h3,.craft-source-card h3,.craft-walkthrough h3{color:var(--foreground);margin:14px 0 0;font-size:clamp(24px,3vw,32px);font-weight:800;line-height:1.15}.craft-source-card{grid-template-columns:minmax(0,.95fr) minmax(320px,1fr);align-items:start;gap:18px;padding:18px;display:grid}.craft-source-copy ul,.craft-source-copy li{margin:0;padding:0;list-style:none}.craft-source-copy ul{gap:9px;margin-top:16px;display:grid}.craft-source-copy li{color:var(--muted-foreground);grid-template-columns:18px minmax(0,1fr);gap:8px;font-size:14px;display:grid}.craft-source-copy li svg{width:16px;height:16px;color:var(--theme-primary-dark);margin-top:3px}.craft-state-flow,.craft-retx-flow{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:24px;display:grid}.craft-state-flow div,.craft-retx-flow div{border:1px solid var(--border);background:var(--card);border-radius:8px;min-height:160px;padding:14px}.craft-state-flow strong,.craft-retx-flow strong{color:var(--foreground);margin-top:10px;font-weight:800;line-height:1.25;display:block}.craft-state-flow p,.craft-retx-flow p{margin-top:8px;font-size:14px;line-height:1.5}.craft-walkthrough-list{gap:18px}.craft-walkthrough{overflow:hidden}.craft-walkthrough-head{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);align-items:start;gap:16px;padding:18px;display:grid}.craft-field-code{grid-template-columns:minmax(220px,.7fr) minmax(200px,.62fr) minmax(320px,1fr);align-items:start;gap:14px;padding:18px;display:grid}.craft-field-tabs{gap:8px;display:grid}.craft-field-detail{border-left:3px solid var(--primary);background:var(--muted);border-radius:0 8px 8px 0;min-height:100%;padding:14px}.craft-limits{grid-template-columns:repeat(3,minmax(0,1fr))}.craft-footer{border-top:1px solid var(--border);padding-top:34px}.craft-pager{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.tcp-page{background:linear-gradient(180deg, var(--background), var(--background) 44rem), var(--background)}@supports (color:color-mix(in lab, red, red)){.tcp-page{background:linear-gradient(180deg, color-mix(in srgb, var(--background) 92%, #dff7f0 8%), var(--background) 44rem), var(--background)}}.tcp-hero{border-bottom:1px solid var(--border);align-items:center;min-height:100vh;padding:136px 0 56px;display:flex}.tcp-hero-grid{grid-template-columns:minmax(0,.92fr) minmax(420px,1fr);align-items:center;gap:clamp(28px,6vw,72px);display:grid}.tcp-hero-copy{min-width:0}.tcp-hero-copy h1{max-width:820px;color:var(--foreground);margin:0;font-size:clamp(42px,6vw,72px);font-weight:800;line-height:.98}.tcp-hero-copy p:not(.eyebrow){max-width:680px;color:var(--muted-foreground);margin:20px 0 0;font-size:18px;line-height:1.65}.tcp-hero-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.tcp-hero-visual{border:1px solid #4c8aa0;min-height:520px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.tcp-hero-visual{border:1px solid color-mix(in srgb, #4c8aa0 52%, var(--border))}}.tcp-hero-visual{box-shadow:0 28px 72px var(--foreground);background-color:#101820;background-image:linear-gradient(90deg,#4c8aa02e 1px,#0000 1px),linear-gradient(0deg,#4c8aa02e 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:58px 58px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:18px}@supports (color:color-mix(in lab, red, red)){.tcp-hero-visual{box-shadow:0 28px 72px color-mix(in srgb, var(--foreground) 18%, transparent)}}.tap-device{color:#d8f3ff;background:#1c383c;border:1px solid #62d6a6;border-radius:12px;place-items:center;gap:4px;width:132px;min-height:92px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:800;display:grid;position:absolute;top:42px;left:28px}.tap-device small{color:#83b8c8;font-size:11px;font-weight:600}.packet-wire{height:220px;position:absolute;top:128px;left:140px;right:54px}.packet-wire:before,.packet-wire:after{content:"";border-top:4px solid;border-radius:999px;position:absolute;left:0;right:0}.packet-wire:before{border-color:#62d6a6;top:42px;transform:rotate(7deg)}.packet-wire:after{border-color:#8fb8ff;top:140px;transform:rotate(-6deg)}.packet-bit{z-index:2;background:#e9b44c;border-radius:8px;width:76px;height:34px;animation:3.2s linear infinite packetFlow;position:absolute;box-shadow:0 0 26px #e9b44c73}.packet-bit-one{animation-delay:0s;top:26px}.packet-bit-two{background:#62d6a6;animation-delay:-1.1s;top:88px}.packet-bit-three{background:#8fb8ff;animation-delay:-2.1s;top:150px}.packet-stack{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid;position:absolute;bottom:116px;left:58px;right:58px}.stack-chip{color:#d8f3ff;background:#1d3642;border:1px solid #d8f3ff33;border-radius:10px;place-items:center;min-height:74px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:800;display:grid}.stack-chip-arp,.stack-chip-icmp{border-color:#62d6a694}.stack-chip-udp{border-color:#e9b44c94}.stack-chip-tcp{border-color:#8fb8ff94}.frame-readout{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid;position:absolute;bottom:26px;left:28px;right:28px}.frame-readout span{color:#d8f3ff;overflow-wrap:anywhere;background:#d8f3ff0d;border:1px solid #7fb6c847;border-radius:8px;min-width:0;padding:10px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.tcp-section{border-top:1px solid var(--border);padding:clamp(56px,8vw,88px) 0}.tcp-overview{border-top:0}.overview-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:center;gap:28px;display:grid}.section-copy{max-width:740px}.section-copy h2{color:var(--foreground);margin:0;font-size:clamp(30px,4vw,48px);font-weight:800;line-height:1.05}.section-copy p:not(.eyebrow){color:var(--muted-foreground);margin:14px 0 0;font-size:16px}.tcp-path{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.tcp-path span{border:1px solid var(--primary);align-items:center;gap:8px;min-height:42px;padding:0 12px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.tcp-path span{border:1px solid color-mix(in srgb, var(--primary) 28%, var(--border))}}.tcp-path span{background:var(--card);color:var(--foreground);border-radius:8px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:800}.tcp-path svg{width:15px;height:15px;color:var(--theme-primary-dark)}.inspector-grid{grid-template-columns:minmax(260px,.74fr) minmax(0,1fr);align-items:stretch;gap:18px;margin-top:26px;display:grid}.inspector-layers{gap:8px;display:grid}.inspector-layers button{border:1px solid var(--border);background:var(--card);width:100%;min-height:64px;color:var(--foreground);text-align:left;border-radius:8px;padding:12px;transition:border-color .16s,background-color .16s,transform .16s}.inspector-layers button:hover,.inspector-layers button.active{border-color:var(--primary);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.inspector-layers button:hover,.inspector-layers button.active{border-color:color-mix(in srgb, var(--primary) 60%, var(--border))}}.inspector-layers button:hover,.inspector-layers button.active{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.inspector-layers button:hover,.inspector-layers button.active{background:color-mix(in srgb, var(--accent) 44%, var(--card))}}.inspector-layers span{font-weight:800;display:block}.inspector-layers small{color:var(--muted-foreground);margin-top:4px;font-size:12px;line-height:1.4;display:block}.inspector-detail,.walkthrough-card{border:1px solid var(--border);background:var(--card);box-shadow:0 18px 42px var(--foreground);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.inspector-detail,.walkthrough-card{box-shadow:0 18px 42px color-mix(in srgb, var(--foreground) 7%, transparent)}}.inspector-detail{padding:clamp(20px,3vw,28px)}.inspector-detail h3{color:var(--foreground);margin:14px 0 0;font-size:28px;font-weight:800;line-height:1.15}.inspector-detail p{color:var(--muted-foreground);margin:12px 0 0}.walkthrough-list{gap:20px;margin-top:28px;display:grid}.walkthrough-card{overflow:hidden}.walkthrough-header{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);align-items:start;gap:16px;padding:22px;display:grid}.walkthrough-header h3{color:var(--foreground);margin:0 0 14px;font-size:26px;font-weight:800;line-height:1.2}.code-ref-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.code-ref-row code,.field-list code{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.code-ref-row code{background:var(--muted);color:var(--theme-primary-dark);border-radius:7px;padding:6px 8px;font-size:11px;font-weight:800}.tcp-terminal{border:1px solid #4c8aa0;margin:22px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.tcp-terminal{border:1px solid color-mix(in srgb, #4c8aa0 40%, var(--border))}}.tcp-terminal{background:#101820;border-radius:10px}.tcp-terminal-title,.code-callout-title{color:#d8f3ff;border-bottom:1px solid #d8f3ff21;align-items:center;gap:8px;min-height:38px;padding:0 12px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:800;display:flex}.tcp-terminal-title svg,.code-callout-title svg{width:15px;height:15px}.tcp-terminal pre,.code-callout pre{color:#d8f3ff;white-space:pre-wrap;margin:0;padding:16px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.65;overflow-x:auto}.code-pair{grid-template-columns:minmax(0,.95fr) minmax(280px,1fr);gap:18px;padding:0 22px 22px;display:grid}.code-pair p{color:var(--muted-foreground);margin:0}.field-list{gap:8px;margin-top:16px;display:grid}.field-list button{border:1px solid var(--border);background:var(--muted);border-radius:8px;justify-content:space-between;gap:12px;min-height:50px;padding:10px 12px;display:flex}@supports (color:color-mix(in lab, red, red)){.field-list button{background:color-mix(in srgb, var(--muted) 48%, transparent)}}.field-list button{color:var(--foreground);text-align:left}.field-list button.active,.field-list button:hover{border-color:#62d6a6}@supports (color:color-mix(in lab, red, red)){.field-list button.active,.field-list button:hover{border-color:color-mix(in srgb, #62d6a6 50%, var(--border))}}.field-list button.active,.field-list button:hover{background:#dff7f0}@supports (color:color-mix(in lab, red, red)){.field-list button.active,.field-list button:hover{background:color-mix(in srgb, #dff7f0 54%, var(--card))}}.field-list span{font-weight:800}.field-list code{color:var(--theme-primary-dark);white-space:nowrap;font-size:12px}.field-detail{background:#dff7f061;border-left:3px solid #62d6a6;border-radius:0 8px 8px 0;margin-top:12px;padding:14px}.field-detail strong{color:var(--foreground)}.field-detail p{margin-top:6px;font-size:14px}.code-callout{border:1px solid #8fb8ff;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.code-callout{border:1px solid color-mix(in srgb, #8fb8ff 42%, var(--border))}}.code-callout{background:#101820;border-radius:10px}.roadmap-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.roadmap-grid div{border:1px solid var(--border);background:var(--card);min-height:76px;color:var(--foreground);border-radius:8px;align-items:center;padding:16px;font-weight:800;display:flex}@keyframes packetFlow{0%{transform:translate(0)}to{transform:translate(calc(100vw - 220px))}}@keyframes labSweep{0%{transform:translate(-60%)}to{transform:translate(60%)}}@keyframes signalSweep{0%{transform:translate(-18%)}to{transform:translate(18%)}}@keyframes bootStateIn{to{opacity:1}}@keyframes bootProgress{to{transform:translate(0)}}@keyframes cursorBlink{0%,45%{opacity:1}46%,to{opacity:0}}@keyframes scanline{0%{transform:translateY(-80%)}to{transform:translateY(360%)}}@keyframes dashFlow{to{stroke-dashoffset:-40px}}@keyframes mediaTabIn{0%{opacity:0;transform:scale(.985)}}@media (width<=900px){.hero-composition,.case-hero,.case-layout,.contact-grid,.blog-feature,.craft-reader-layout,.craft-facts,.craft-controls,.craft-code-grid,.craft-field-grid,.craft-limits,.craft-layer-grid,.craft-source-card,.craft-state-flow,.craft-retx-flow,.craft-walkthrough-head,.craft-field-code,.tcp-hero-grid,.overview-grid,.inspector-grid,.code-pair{grid-template-columns:1fr}.craft-sidebar{position:static}.craft-chapter-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.tcp-hero{min-height:auto}.tcp-hero-visual{min-height:460px}.walkthrough-header{grid-template-columns:1fr}.code-ref-row{justify-content:flex-start}.roadmap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.craft-hero{min-height:auto}.hero-section{min-height:auto;padding-bottom:72px}.hero-composition{gap:30px}.hero-section .hero-copy h1{font-size:clamp(44px,10vw,62px)}.case-hero h1{font-size:44px}.hero-visual-system{width:min(100%,640px);margin-left:0}.hero-profile-row{grid-template-columns:clamp(104px,18vw,128px) minmax(0,1fr)}.hero-skyline-frame{min-height:0}.hero-portrait-frame{width:clamp(104px,18vw,128px)}.case-sidebar{position:static}.project-story,.project-story-reverse{grid-template-columns:1fr;min-height:0}.project-marquee{min-height:560px}.project-marquee-plane{width:min(1040px,128%);transform:rotateX(52deg)rotate(-20deg)translateY(0)scale(.98)}.supporting-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-story-reverse .project-story-media,.project-story-reverse .project-story-content{order:initial}.lab-console-header h3{font-size:40px}.lab-console-body{grid-template-columns:120px minmax(0,1fr);gap:14px}.console-active-content{grid-template-columns:1fr}.console-device-panel{min-height:380px}.system-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.project-module{min-height:132px}.module-title{font-size:14px}.featured-projects{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-project .project-media-frame{aspect-ratio:16/10;min-height:0}.project-media-panel{border-bottom:1px solid var(--border);min-height:0}.timeline-item{grid-template-columns:1fr;gap:6px}.timeline-date{padding-top:0}}@media (width<=640px){.site-container{width:min(100% - 24px,1160px)}.site-header{top:10px}.site-nav{border-radius:14px;width:min(100% - 20px,820px)}.desktop-nav{display:none}.mobile-menu-button{display:inline-flex}.hero-section{min-height:auto;padding:118px 0 58px}.craft-article{width:100%;padding-top:112px;padding-left:12px;padding-right:12px}.craft-hero,.craft-section,.craft-footer{max-width:calc(100vw - 24px);overflow-x:clip}.craft-hero h1{word-break:break-word;max-width:calc(100vw - 24px);font-size:clamp(34px,10vw,40px);line-height:1.04;width:calc(100vw - 24px)!important}.craft-section h2{word-break:break-word;max-width:calc(100vw - 24px);font-size:clamp(28px,8vw,34px);line-height:1.1;width:calc(100vw - 24px)!important}.craft-hero>p:not(.eyebrow),.craft-section p{max-width:calc(100vw - 24px);width:calc(100vw - 24px)!important}.craft-actions,.craft-actions a{width:100%}.craft-controls,.craft-reader-layout,.craft-code-grid,.craft-field-grid,.craft-limits,.craft-facts,.craft-layer-grid,.craft-source-card,.craft-state-flow,.craft-retx-flow,.craft-walkthrough-head,.craft-field-code,.craft-chapter-nav{grid-template-columns:1fr}.blog-feature-actions,.blog-feature-actions a{width:100%}.blog-feature-media{min-height:190px}.craft-source-card,.craft-walkthrough-head,.craft-field-code{padding:16px}.craft-state-flow div,.craft-retx-flow div{min-height:auto}.tcp-hero{padding:112px 0 48px}.tcp-hero-copy h1{font-size:clamp(36px,11vw,48px)}.tcp-hero-copy p:not(.eyebrow){font-size:16px}.tcp-hero-actions,.tcp-hero-actions a{width:100%}.tcp-hero-visual{border-radius:12px;min-height:420px}.tap-device{width:112px;top:24px;left:16px}.packet-stack{grid-template-columns:repeat(2,minmax(0,1fr));bottom:118px;left:14px;right:14px}.stack-chip{min-height:46px}.frame-readout{grid-template-columns:repeat(2,minmax(0,1fr));left:14px;right:14px}.packet-wire{left:90px;right:28px}.walkthrough-header,.tcp-terminal,.code-pair{margin:0}.walkthrough-header{padding:16px}.tcp-terminal{border-left:0;border-right:0;border-radius:0}.code-pair{padding:16px}.field-list button{display:grid}.field-list code{white-space:normal}.roadmap-grid{grid-template-columns:1fr}.hero-section .hero-copy h1{font-size:clamp(38px,12vw,48px)}.hero-title{font-size:21px}.hero-section .hero-summary,.hero-section .hero-focus,.hero-section .hero-two-line p{font-size:16px}.hero-composition{gap:24px}.hero-visual-system{gap:8px}.hero-profile-row{grid-template-columns:clamp(92px,28vw,112px) minmax(0,1fr);align-items:start;gap:10px}.hero-skyline-frame{aspect-ratio:16/10;border-radius:10px}.hero-portrait-frame{border-radius:9px;width:clamp(92px,30vw,112px)}.section-block{padding:72px 0}.section-heading h2,.contact-grid h2{font-size:32px}.project-marquee-section{display:none}.supporting-project-grid{grid-template-columns:1fr}.project-story{border-radius:16px;gap:26px;padding:16px}.project-story-media{border-radius:12px}.project-story-content{gap:18px;padding:2px 4px 6px}.project-story h3{font-size:clamp(32px,10vw,44px)}.project-story-links{display:grid}.project-story-links a,.project-media-badge-wrap,.project-media-badge{width:100%}.project-media-badge{justify-content:center}.project-lab-console{padding:14px}.lab-console-header{display:grid}.lab-console-header h3{font-size:30px}.lab-console-body{grid-template-columns:1fr;gap:12px}.console-layer-rail{grid-template-columns:1fr;gap:8px;min-height:auto;padding:10px}.console-layer-rail input[type=range]{width:100%;transform:none}.layer-labels{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.layer-labels button{text-align:center;min-height:34px;padding:0 4px;font-size:10px}.console-preview-screen{min-height:0;padding:12px}.console-terminal{padding:16px}.console-active-content{grid-template-columns:1fr;gap:14px}.console-device-panel{min-height:260px}.console-readout h3{font-size:26px}.system-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;bottom:10px;left:10px;right:10px}.system-flow span{min-height:46px;padding:7px;font-size:10px}.debug-port,.project-module{width:100%}.debug-port{justify-content:center}.project-module-dock{grid-template-columns:1fr}.console-spec-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-panel{grid-template-columns:1fr}.availability-panel div+div{border-left:0;border-top:1px solid var(--border)}.contact-panel,.timeline-card{padding:18px}.timeline-card-header{align-items:flex-start}.project-card-header,.project-card-content{padding-left:18px;padding-right:18px}.project-card-header .font-semibold{font-size:26px}.project-media-panel{padding:12px}.hero-actions,.project-actions,.contact-links,.cad-links{align-items:stretch}.hero-section .hero-links a{flex:calc(50% - 8px);justify-content:center}.button,.text-link,.project-actions a,.project-actions button{width:100%}.media-gallery,.cad-panel{grid-template-columns:1fr}.cad-panel img{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.project-media-panel:hover img,.console-device-panel img{transform:none}.project-story-image{transform:none!important}.project-story:hover .project-story-image img,.project-media-badge:hover,.project-marquee-card:hover,.supporting-project-card:hover,.supporting-project-card:hover .project-media-frame img{transform:none}}@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}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{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-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}
