/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,: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-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-duration:initial}}}@layer theme{:root,:host{--font-sans:"SF Pro Display", "SF Pro", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--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);--color-text-primary:#333;--color-text-secondary:#b9b9b9;--color-bg-page:#fff;--color-divider:#dbdbdb;--color-card-bg:#e5e5e5}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.left-1\/2{left:50%}.z-\[9999\]{z-index:9999}.m-0{margin:calc(var(--spacing) * 0)}.mx-auto{margin-inline:auto}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-\[2px\]{margin-top:2px}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.h-full{height:100%}.h-px{height:1px}.w-full{width:100%}.w-screen{width:100vw}.max-w-\[564px\]{max-width:564px}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);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,)}.resize{resize:both}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-4{gap:calc(var(--spacing) * 4)}.overflow-visible{overflow:visible}.border-none{--tw-border-style:none;border-style:none}.bg-divider{background-color:var(--color-divider)}.px-\[49px\]{padding-inline:49px}.py-\[14px\]{padding-block:14px}.pt-\[80px\]{padding-top:80px}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.text-end{text-align:end}.text-start{text-align:start}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.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)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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-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}@media (hover:hover){.hover\:opacity-50:hover{opacity:.5}}@media (width>=48rem){.md\:mt-6{margin-top:calc(var(--spacing) * 6)}.md\:mt-12{margin-top:calc(var(--spacing) * 12)}.md\:mt-20{margin-top:calc(var(--spacing) * 20)}.md\:mt-\[3px\]{margin-top:3px}.md\:px-8{padding-inline:calc(var(--spacing) * 8)}.md\:py-\[18px\]{padding-block:18px}.md\:pt-\[120px\]{padding-top:120px}.md\:pb-28{padding-bottom:calc(var(--spacing) * 28)}}@media (width>=64rem){.lg\:col-\[1\/-1\]{grid-column:1/-1}.lg\:col-\[3\/15\]{grid-column:3/15}.lg\:col-\[6\/12\]{grid-column:6/12}.lg\:row-start-1{grid-row-start:1}.lg\:mt-\[65px\]{margin-top:65px}.lg\:mt-\[100px\]{margin-top:100px}.lg\:contents{display:contents}.lg\:grid{display:grid}.lg\:max-w-none{max-width:none}.lg\:overflow-visible{overflow:visible}.lg\:px-0{padding-inline:calc(var(--spacing) * 0)}.lg\:pb-\[132px\]{padding-bottom:132px}}}@font-face{font-family:Edict Display Trial;src:url(/fonts/EdictDisplayTrial-Light.otf)format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Edict Display Trial;src:url(/fonts/EdictDisplayTrial-Regular.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--spring-elegant-easing:linear(0 0%, .005927 1%, .022466 2%, .047872 3%, .080554 4%, .119068 5%, .162116 6%, .208536 7%, .2573 8%, .3075 9%, .358346 10%, .409157 11%, .45935 12%, .508438 13%, .556014 14%, .601751 15%, .645389 16%, .686733 17%, .72564 18%, .762019 19%, .795818 20%, .827026 21%, .855662 22%, .881772 23%, .905423 24%, .926704 25%, .945714 26%, .962568 27%, .977386 28%, .990295 29%, 1.00143 30%, 1.01091 31%, 1.01888 32%, 1.02547 33%, 1.03079 34%, 1.03498 35%, 1.03816 36%, 1.04042 37%, 1.04189 38%, 1.04266 39%, 1.04283 40%, 1.04247 41%, 1.04168 42%, 1.04052 43%, 1.03907 44%, 1.03737 45%, 1.03549 46%, 1.03348 47%, 1.03138 48%, 1.02922 49%, 1.02704 50%, 1.02486 51%, 1.02272 52%, 1.02063 53%, 1.01861 54%, 1.01667 55%, 1.01482 56%, 1.01307 57%, 1.01142 58%, 1.00989 59%, 1.00846 60%, 1.00715 61%, 1.00594 62%, 1.00485 63%, 1.00386 64%, 1.00296 65%, 1.00217 66%, 1.00147 67%, 1.00085 68%, 1.00031 69%, .999849 70%, .999457 71%, .999128 72%, .998858 73%, .99864 74%, .99847 75%, .998342 76%, .998253 77%, .998196 78%, .998169 79%, .998167 80%, .998186 81%, .998224 82%, .998276 83%, .998341 84%, .998415 85%, .998497 86%, .998584 87%, .998675 88%, .998768 89%, .998861 90%, .998954 91%, .999045 92%, .999134 93%, .99922 94%, .999303 95%, .999381 96%, .999455 97%, .999525 98%, .999589 99%, .99965 100%);--overlay-speed:.75s;--site-footer-bg:#050505;--site-browser-bg:var(--color-bg-page);--section-heading-to-content-gap:38px;--project-carousel-heading-offset:26px;--ai-glass-light-bg:#fff;--ai-glass-light-border:#3333331f;--ai-glass-light-edge:#3333332e;--ai-glass-dark-bg:#202020;--ai-glass-dark-border:#ffffff1f;--ai-glass-dark-edge:#0000008a;--ai-glass-filter:blur(36px) saturate(1.05) contrast(1.12);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--site-browser-bg);min-height:100%;overflow-x:clip}body{font-family:var(--font-sans);letter-spacing:0;color:var(--color-text-primary);background-color:var(--site-browser-bg);text-wrap:pretty;min-height:100lvh;margin:0;font-size:18px;line-height:1.4;overflow-x:clip}body:before{content:"";z-index:0;height:max(96px, env(safe-area-inset-top));background:var(--color-bg-page);pointer-events:none;position:fixed;top:0;left:0;right:0}:root[data-site-surface=footer]{--site-browser-bg:var(--site-footer-bg)}@media (width<=768px){body{font-size:17px}}#root{background-color:var(--site-browser-bg);opacity:0;min-height:100lvh;animation:3s cubic-bezier(.16,1,.3,1) forwards site-fade-in;overflow-x:clip}@keyframes site-fade-in{to{opacity:1}}.site-page{--footer-side-mask-inset:0px;--footer-canvas-radius:0px;z-index:1;background:0 0;min-height:100lvh;position:relative}.site-footer-reveal{background:var(--site-footer-bg);min-height:100lvh}.site-footer-split{pointer-events:none;height:1px}.site-canvas{z-index:1;isolation:isolate;background:var(--color-bg-page);color:var(--color-text-primary);border-radius:0 0 var(--footer-canvas-radius) var(--footer-canvas-radius);-webkit-clip-path:inset(0 var(--footer-side-mask-inset) 0 var(--footer-side-mask-inset) round 0 0 var(--footer-canvas-radius) var(--footer-canvas-radius));clip-path:inset(0 var(--footer-side-mask-inset) 0 var(--footer-side-mask-inset) round 0 0 var(--footer-canvas-radius) var(--footer-canvas-radius));transform-origin:50% 100%;backface-visibility:hidden;background-clip:padding-box;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb3}.site-footer{z-index:0;isolation:isolate;background:var(--site-footer-bg);color:#ffffffdb;padding-top:48px;padding-bottom:106px;display:block;position:relative}.site-footer>*{z-index:1;position:relative}.site-footer-content{color:#ffffffdb;flex-direction:column;justify-content:flex-start;gap:24px;margin-top:152px;display:flex}.site-footer-link{color:#ffffffeb;text-underline-offset:2px;text-decoration-color:#ffffff6b}.site-footer-link:hover{opacity:.58}.site-footer a:focus-visible{outline-color:#ffffffdb}.site-footer-timestamp{color:#ffffff57}.section-heading{font-size:inherit;font-weight:inherit;line-height:inherit}.section-heading--before-carousel{margin:64px 0 calc(var(--section-heading-to-content-gap) - var(--project-carousel-heading-offset))}.section-heading--to-content{margin:0 0 var(--section-heading-to-content-gap)}@media (width>=768px){.section-heading--before-carousel{margin-top:80px}:root{--section-heading-to-content-gap:46px;--project-carousel-heading-offset:30px}.site-canvas{box-shadow:0 1px 0 #ffffffb8 inset, 0 2px 0 var(--color-bg-page)}.site-footer{min-height:520px;padding-top:88px;padding-bottom:122px}.site-footer-content{gap:24px;margin-top:224px}}::selection{background:#6f00ff1f}a:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #333}.news-link-title,.news-link-arrow{color:var(--color-text-primary)}.news-link-source{color:var(--color-text-secondary)}.ai-search{--ai-search-left-offset:max(18px, env(safe-area-inset-left));--ai-search-right-offset:max(18px, env(safe-area-inset-right));--ai-search-bottom-offset:max(18px, env(safe-area-inset-bottom));--ai-search-fullscreen-fade-rgb:255, 255, 255;--ai-chat-track-padding:72px;--ai-chat-content-width:min(840px, calc(100vw - 48px));--ai-chat-input-width:min(700px, calc(100vw - 36px));--ai-chat-content-inset:max(24px, calc((100vw - var(--ai-chat-content-width)) / 2));--ai-sheet-depth-progress:0;--ai-sheet-depth-radius:0px;--ai-sheet-depth-scale:1;--ai-sheet-depth-y:0px;--ai-chat-assistant-text:#2d2d2d;--ai-chat-assistant-text-dark:#ffffffbd;--ai-chat-user-text:#111;--ai-chat-user-bg:#fff;--ai-chat-assistant-font-size:18px;--ai-chat-user-font-size:var(--ai-chat-assistant-font-size);--ai-chat-input-font-size:16px;--ai-chat-turn-gap:18px;--ai-chat-turn-pair-gap:10px;--ai-chat-result-gap:20px;z-index:999;right:var(--ai-search-right-offset);bottom:var(--ai-search-bottom-offset);left:var(--ai-search-left-offset);width:min(280px,100vw - 36px);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform-origin:50% 100%;background:0 0;border:0;border-radius:0;flex-direction:column;gap:10px;margin:0 auto;padding:0;transition:width .42s cubic-bezier(.22,1,.36,1),height .36s cubic-bezier(.22,1,.36,1),background-color .36s cubic-bezier(.22,1,.36,1),box-shadow .36s cubic-bezier(.22,1,.36,1),transform .36s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;transform:translateY(0)scale(1)}.ai-search[data-surface=dark]{--ai-search-fullscreen-fade-rgb:5, 5, 5;color:#ffffffe6}.ai-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ai-search--focused{width:min(480px,100vw - 36px);transform:translateY(-7px)scale(1.025)}.ai-search--focused[data-has-input=true]{width:min(480px,100vw - 36px)}.ai-search[data-collapsed-context=true]{width:min(380px,100vw - 36px)}.ai-search--open{border:1px solid var(--ai-glass-light-border);background:var(--ai-glass-light-bg);width:min(700px,100vw - 36px);box-shadow:0 28px 84px #00000038, 0 1px 0 #fffc inset, 0 -1px 0 var(--ai-glass-light-edge) inset;-webkit-backdrop-filter:var(--ai-glass-filter);backdrop-filter:var(--ai-glass-filter);border-radius:24px;gap:0;padding:1px;transform:translateY(-7px)scale(1)}.ai-search[data-surface=dark].ai-search--open{border-color:var(--ai-glass-dark-border);background:var(--ai-glass-dark-bg);box-shadow:0 28px 84px #00000080, 0 1px 0 #ffffff29 inset, 0 -1px 0 var(--ai-glass-dark-edge) inset;-webkit-backdrop-filter:blur(38px)saturate(.96)contrast(1.14);backdrop-filter:blur(38px)saturate(.96)contrast(1.14)}.ai-search--open[data-has-results=true]{width:min(700px,100vw - 36px)}.ai-search.ai-search--open[data-fullscreen=true]{--ai-chat-content-width:min(870px, calc(100vw - 222px));--ai-chat-input-width:min(760px, calc(100vw - 96px));--ai-chat-content-inset:max(111px, calc((100vw - var(--ai-chat-content-width)) / 2));width:100vw;max-width:100vw;height:100dvh;min-height:100svh;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform-origin:50% 0;contain:layout paint;isolation:isolate;overscroll-behavior:contain;background:#fff;border:0;border-radius:0;margin:0;padding:0;transition:none;animation:.56s cubic-bezier(.22,1,.36,1) both ai-fullscreen-enter;position:fixed;inset:0;overflow:hidden;transform:none}.ai-search--open[data-fullscreen=true]:before{z-index:-1;pointer-events:none;content:"";background:#fff;position:absolute;inset:-2px;transform:translateZ(0)}.ai-search[data-surface=dark].ai-search--open[data-fullscreen=true]:before{background:#050505}.ai-search--open[data-fullscreen=true]:after{z-index:1001;pointer-events:none;content:"";background:linear-gradient(0deg, rgb(var(--ai-search-fullscreen-fade-rgb)) 0%, rgba(var(--ai-search-fullscreen-fade-rgb), .94) 24%, rgba(var(--ai-search-fullscreen-fade-rgb), .45) 54%, rgba(var(--ai-search-fullscreen-fade-rgb), 0) 100%);height:min(190px,30svh);animation:.52s cubic-bezier(.22,1,.36,1) both ai-chat-fade-rise;position:absolute;bottom:0;left:0;right:0}.ai-search--open[data-fullscreen=true] .ai-conversation{width:100vw;margin-left:auto;margin-right:auto}.ai-search--open[data-fullscreen=true] .ai-prompt-input{width:var(--ai-chat-input-width);margin-left:auto;margin-right:auto}.ai-search[data-surface=dark].ai-search--open[data-fullscreen=true]{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#050505;border:0}.ai-panel-error{color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.35}.ai-conversation{border:1px solid var(--ai-glass-light-border);background:var(--ai-glass-light-bg);height:auto;max-height:min(62svh,100svh - 104px);box-shadow:0 20px 62px #0000002e, 0 1px 0 #ffffffbd inset, 0 -1px 0 var(--ai-glass-light-edge) inset;-webkit-backdrop-filter:var(--ai-glass-filter);backdrop-filter:var(--ai-glass-filter);border-radius:18px;position:relative;overflow:hidden}.ai-search--open .ai-conversation{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:23px 23px 6px 6px}.ai-conversation:before{pointer-events:none;content:"";background:linear-gradient(#ffffff1a,#f5f5f575),radial-gradient(circle at 18% 12%,#ffffff70,#0000 36%);position:absolute;inset:0}.ai-search[data-conversation-size=expanded] .ai-conversation{height:min(62svh,100svh - 104px)}.ai-search[data-has-results=true] .ai-conversation{height:min(74svh,100svh - 104px);max-height:min(74svh,100svh - 104px)}.ai-search[data-fullscreen=true] .ai-conversation{border-radius:0;min-width:0;height:100dvh;min-height:0;max-height:100dvh;overflow:hidden}.ai-search[data-fullscreen=true] .ai-conversation:before{display:none}.ai-search[data-surface=dark] .ai-conversation{border-color:var(--ai-glass-dark-border);background:var(--ai-glass-dark-bg);box-shadow:0 20px 62px #0000006b, 0 1px 0 #ffffff29 inset, 0 -1px 0 var(--ai-glass-dark-edge) inset;-webkit-backdrop-filter:blur(38px)saturate(.96)contrast(1.14);backdrop-filter:blur(38px)saturate(.96)contrast(1.14)}.ai-search[data-surface=dark].ai-search--open .ai-conversation{box-shadow:none;border:0}.ai-search[data-surface=dark] .ai-conversation:before{background:linear-gradient(#ffffff12,#0000006b),radial-gradient(circle at 18% 12%,#ffffff1f,#0000 36%)}.ai-search--open[data-fullscreen=true] .ai-conversation,.ai-search--open[data-fullscreen=true] .ai-prompt-input,.ai-search[data-surface=dark].ai-search--open[data-fullscreen=true] .ai-conversation,.ai-search[data-surface=dark].ai-search--open[data-fullscreen=true] .ai-prompt-input{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.ai-conversation-content{gap:var(--ai-chat-turn-gap);scrollbar-width:none;flex-direction:column;height:100%;min-height:0;max-height:100%;padding:14px;display:flex;position:relative;overflow:visible auto}.ai-search[data-fullscreen=true] .ai-conversation-content{height:100dvh;max-height:100dvh;padding:max(111px, calc(87px + env(safe-area-inset-top))) 0 calc(204px + var(--ai-search-bottom-offset));overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;animation:.48s cubic-bezier(.22,1,.36,1) 70ms both ai-chat-content-settle}.ai-conversation-content::-webkit-scrollbar{display:none}.ai-message-group:first-child{padding-top:52px}.ai-chat-controls{z-index:1003;pointer-events:auto;align-items:center;gap:4px;display:flex;position:absolute;top:18px;right:18px}.ai-search[data-fullscreen=true] .ai-chat-controls{top:max(24px, env(safe-area-inset-top));right:max(24px, env(safe-area-inset-right));z-index:1003;animation:.36s cubic-bezier(.22,1,.36,1) 90ms both ai-chat-controls-settle;position:absolute}.ai-chat-control{z-index:1;color:#333c;cursor:pointer;pointer-events:auto;touch-action:manipulation;background:0 0;border:0;border-radius:999px;place-items:center;width:44px;height:44px;padding:0;display:grid;position:relative}.ai-chat-control span,.ai-chat-control span:before,.ai-chat-control span:after{content:"";display:block;position:absolute}.ai-chat-control span{inset:0}.ai-chat-control--fullscreen span:before,.ai-chat-control--fullscreen span:after{border-style:solid;border-color:currentColor;width:8px;height:8px}.ai-chat-control--fullscreen span:before{border-width:2px 0 0 2px;top:13px;left:13px}.ai-chat-control--fullscreen span:after{border-width:0 2px 2px 0;bottom:13px;right:13px}.ai-chat-control--minimize span:before{background:currentColor;border-radius:999px;width:18px;height:2px;top:21px;left:13px}.ai-chat-control--close span:before,.ai-chat-control--close span:after{transform-origin:50%;background:currentColor;border-radius:999px;width:20px;height:2px;top:50%;left:50%}.ai-chat-control--close span:before{transform:translate(-50%,-50%)rotate(45deg)}.ai-chat-control--close span:after{transform:translate(-50%,-50%)rotate(-45deg)}.ai-search[data-surface=dark] .ai-chat-control{color:#ffffffd1}.ai-search[data-fullscreen=true] .ai-chat-control{color:#333;background:#fff;place-items:center;width:48px;height:48px;transition:opacity .2s;display:grid;box-shadow:0 0 0 1px #0000000a,0 2px 8px #00000014,0 8px 24px #0000000f}.ai-search[data-surface=dark][data-fullscreen=true] .ai-chat-control{color:#ffffffd6;background:#202020;box-shadow:0 0 0 1px #ffffff14,0 2px 8px #00000057,0 8px 24px #0000003d}.ai-chat-control:hover{color:var(--color-text-primary)}.ai-search[data-surface=dark] .ai-chat-control:hover{color:#fff}.ai-message{display:flex}.ai-message-group{gap:0;width:100%;min-width:0;display:grid}.ai-search[data-fullscreen=true] .ai-message-group+.ai-message-group--assistant{margin-top:var(--ai-chat-turn-pair-gap)}.ai-search[data-fullscreen=true] .ai-message-group--assistant+.ai-message-group--user{margin-top:16px}.ai-search[data-fullscreen=true] .ai-message-group{width:var(--ai-chat-content-width);margin-left:auto;margin-right:auto}.ai-carousel-stage{width:100vw;min-width:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:visible}.ai-search[data-fullscreen=true] .ai-carousel-stage{width:100vw;margin-top:var(--ai-chat-result-gap);margin-bottom:6px;margin-left:0;margin-right:0}.ai-message--user{justify-content:flex-end}.ai-message--assistant,.ai-message--system{justify-content:flex-start}.ai-assistant-response{max-width:min(86%,600px);color:var(--ai-chat-assistant-text);font-size:var(--ai-chat-assistant-font-size);letter-spacing:0;padding:2px 0;font-weight:400;line-height:1.46}.ai-assistant-response--pending{align-items:center;width:auto;min-height:1.46em;display:inline-flex}.ai-thinking-mark{align-items:center;gap:5px;padding:8px 0;display:inline-flex}.ai-thinking-mark span{opacity:.28;background:currentColor;border-radius:999px;width:5px;height:5px;animation:.98s ease-in-out infinite ai-thinking-dot;transform:translateY(0)}.ai-thinking-mark span:nth-child(2){animation-delay:.12s}.ai-thinking-mark span:nth-child(3){animation-delay:.24s}.ai-search[data-surface=dark] .ai-assistant-response{color:var(--ai-chat-assistant-text-dark)}.ai-search[data-fullscreen=true] .ai-assistant-response{color:var(--ai-chat-assistant-text)}.ai-search[data-surface=dark][data-fullscreen=true] .ai-assistant-response{color:var(--ai-chat-assistant-text-dark)}.ai-message-content{max-width:min(82%,460px);font-size:var(--ai-chat-user-font-size);letter-spacing:0;border-radius:999px;padding:12px 20px;font-weight:400;line-height:1.3}.ai-search[data-fullscreen=true] .ai-message-content{max-width:min(58%,520px)}.ai-inline-carousel[blossom-carousel]{--ai-inline-shadow-gutter:80px;--ai-inline-shadow-gutter-top:96px;--ai-inline-shadow-gutter-bottom:164px;--ai-inline-shadow-gutter-top-offset:28px;--ai-inline-shadow-gutter-bottom-offset:52px;--ai-inline-card-width:190px;--ai-inline-card-gap:16px;--ai-inline-edge-inset:var(--ai-chat-content-inset);--ai-inline-edge-room:calc(var(--ai-inline-edge-inset) + var(--ai-inline-shadow-gutter));align-items:center;gap:var(--ai-inline-card-gap);width:100vw;inline-size:100vw;max-width:100vw;max-inline-size:100vw;margin-top:calc(-1 * var(--ai-inline-shadow-gutter-top-offset));margin-bottom:calc(-1 * var(--ai-inline-shadow-gutter-bottom-offset));overscroll-behavior-x:contain;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;cursor:grab;touch-action:pan-x pinch-zoom;-webkit-user-select:none;user-select:none;scrollbar-width:none;padding:var(--ai-inline-shadow-gutter-top) var(--ai-inline-edge-room) var(--ai-inline-shadow-gutter-bottom) var(--ai-inline-edge-room);scroll-padding-left:var(--ai-inline-edge-inset);scroll-padding-right:var(--ai-inline-edge-inset);scroll-snap-type:none;margin-left:0;display:flex;overflow:auto hidden;scroll-behavior:auto!important}.ai-inline-carousel[blossom-carousel]:active,.ai-inline-carousel[blossom-carousel].is-pointer-dragging{cursor:grabbing}.ai-inline-carousel[blossom-carousel]::-webkit-scrollbar{display:none}.ai-inline-carousel[blossom-carousel]>.portfolio-inline-card{flex:0 0 var(--ai-inline-card-width);scroll-snap-align:start}.ai-inline-carousel[blossom-carousel]>.portfolio-inline-card:first-child{margin-left:calc(-1 * var(--ai-inline-shadow-gutter))}.ai-inline-carousel[blossom-carousel]>.portfolio-inline-card:last-child{margin-right:calc(-1 * var(--ai-inline-shadow-gutter))}.ai-inline-contact-cards{width:min(100%, var(--ai-chat-content-width));padding:0 var(--ai-chat-content-inset);gap:16px;margin:18px auto 54px;display:flex}.ai-inline-contact-card{aspect-ratio:4/5;color:#111;transform-origin:50%;filter:drop-shadow(0 18px 28px #0000002e);background:#f8f8f8;border-radius:8px;flex-direction:column;flex:0 0 190px;justify-content:flex-end;width:190px;padding:18px;text-decoration:none;transition:filter .26s cubic-bezier(.2,0,0,1),transform .26s cubic-bezier(.2,0,0,1);display:flex;position:relative;overflow:hidden;transform:rotate(-1.5deg)scale(1)}.ai-inline-contact-card:hover{z-index:3;filter:drop-shadow(0 30px 44px #0000004d);transform:rotate(-2.25deg)scale(1.18)}.ai-inline-contact-card-title{letter-spacing:0;font-size:30px;line-height:.95}.ai-inline-contact-card-subtitle{color:#1111119e;letter-spacing:0;margin-top:8px;font-size:17px;line-height:1.1}.ai-inline-contact-card-arrow{font-size:22px;line-height:1;position:absolute;top:14px;right:14px}@keyframes ai-chat-content-settle{0%{opacity:0;filter:blur(5px);transform:translateY(10px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes ai-chat-prompt-settle{0%{opacity:.9;transform:translateY(6px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ai-chat-controls-settle{0%{opacity:0;transform:translateY(-4px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ai-chat-fade-rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes ai-fullscreen-enter{0%{opacity:.92;clip-path:inset(calc(100dvh - 78px - var(--ai-search-bottom-offset)) calc((100vw - var(--ai-chat-input-width)) / 2) var(--ai-search-bottom-offset) calc((100vw - var(--ai-chat-input-width)) / 2) round 999px)}58%{opacity:1;clip-path:inset(0 round 18px)}to{opacity:1;clip-path:inset(0)}}@keyframes ai-card-enter{0%{opacity:0}55%{opacity:1}to{opacity:1}}@keyframes ai-submit-spin{to{transform:rotate(360deg)}}@keyframes ai-thinking-dot{0%,70%,to{opacity:.24;transform:translateY(0)}35%{opacity:.68;transform:translateY(-3px)}}.portfolio-inline-card{--inline-card-radius:18px;--inline-card-rotate:-1.5deg;--inline-card-hover-rotate:-2.5deg;--inline-card-y:0px;aspect-ratio:4/5;border-radius:var(--inline-card-radius);width:190px;color:inherit;cursor:pointer;text-align:left;transform:translateY(var(--inline-card-y)) rotate(var(--inline-card-rotate)) scale(1);transform-origin:50%;filter:drop-shadow(0 18px 28px #0000002e);-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:0 0 190px;padding:0;text-decoration:none;transition:filter .26s cubic-bezier(.2,0,0,1),transform .26s cubic-bezier(.2,0,0,1);animation:.62s cubic-bezier(.18,.84,.22,1) both ai-card-enter;display:block;position:relative;overflow:visible}.portfolio-inline-card,.portfolio-inline-card:focus,.portfolio-inline-card:focus-visible,.portfolio-inline-card:active{outline:none}.portfolio-inline-card:hover{z-index:3;filter:drop-shadow(0 30px 44px #0000004d);transform:translateY(var(--inline-card-y)) rotate(var(--inline-card-hover-rotate)) scale(1.18)}.portfolio-inline-card .project-slide-card{--project-slide-radius:var(--inline-card-radius);border-radius:var(--inline-card-radius);width:100%;height:100%;-webkit-clip-path:inset(0 round var(--inline-card-radius));clip-path:inset(0 round var(--inline-card-radius));overflow:hidden;transform:none}.portfolio-inline-card .project-slide-title{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.08;display:-webkit-box;font-size:16px!important}.portfolio-inline-card .project-slide-description{display:none}.portfolio-inline-card .project-slide-copy{gap:2px;bottom:12px;left:12px;right:12px}.portfolio-inline-card .project-slide-link-indicator{width:17px;height:17px;top:10px;right:10px}.ai-inline-lab-card{border-radius:var(--inline-card-radius);background:#202020;place-items:stretch stretch;display:grid;overflow:hidden}.ai-inline-lab-media{border-radius:inherit;background:linear-gradient(145deg,#fff3,#ffffff14),#2c2c2c;display:block;position:absolute;inset:0;overflow:hidden}.ai-inline-lab-media:after{pointer-events:none;content:"";background:linear-gradient(#0000 0%,#0000007a 58%,#000000b8 100%);height:58%;position:absolute;bottom:0;left:0;right:0}.ai-inline-lab-media img,.ai-inline-lab-media video,.ai-inline-lab-placeholder{object-fit:cover;width:100%;height:100%;display:block}.ai-inline-lab-title{z-index:1;color:#fff;letter-spacing:0;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:16px;line-height:1.08;display:-webkit-box;position:absolute;bottom:12px;left:12px;right:12px;overflow:hidden}.ai-inline-lab-placeholder{background:linear-gradient(150deg,#ffffff26,#0000 42%),linear-gradient(330deg,#ffffff14,#0000 48%),#2b2b2b}.ai-lab-viewer{-webkit-backdrop-filter:blur(34px)saturate(.86);backdrop-filter:blur(34px)saturate(.86);background:#050505c7}.ai-lab-viewer-card{cursor:grab;animation:none;display:block}.ai-lab-viewer-media{max-height:var(--lab-viewer-media-max-height);box-shadow:none;background:0 0;overflow:visible}.ai-lab-viewer-card .ai-lab-viewer-media img,.ai-lab-viewer-card .ai-lab-viewer-media video{border-radius:12px;box-shadow:0 0 0 1px #ffffff14,0 24px 70px #00000061,0 56px 140px #00000047}.ai-lab-viewer-caption{text-align:left}.ai-lab-viewer-caption a{color:#ffffffb8;text-underline-offset:3px;text-decoration:underline}.ai-lab-viewer-close{top:max(24px, env(safe-area-inset-top));right:max(24px, env(safe-area-inset-right));z-index:1;color:#333;cursor:pointer;background:#fff;border:0;border-radius:999px;place-items:center;width:52px;height:52px;padding:0;display:grid;position:fixed;box-shadow:0 0 0 1px #0000000a,0 2px 8px #00000014,0 8px 24px #0000000f}.ai-lab-viewer-close span,.ai-lab-viewer-close span:before,.ai-lab-viewer-close span:after{content:"";display:block;position:absolute}.ai-lab-viewer-close span{inset:0}.ai-lab-viewer-close span:before,.ai-lab-viewer-close span:after{transform-origin:50%;background:currentColor;border-radius:999px;width:22px;height:2px;top:50%;left:50%}.ai-lab-viewer-close span:before{transform:translate(-50%,-50%)rotate(45deg)}.ai-lab-viewer-close span:after{transform:translate(-50%,-50%)rotate(-45deg)}@keyframes ai-lab-viewer-enter{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.ai-message--user .ai-message-content{background:var(--color-text-primary);color:#fff}.ai-search[data-fullscreen=true] .ai-message--user .ai-message-content{background:var(--ai-chat-user-bg);color:var(--ai-chat-user-text);box-shadow:0 10px 28px #0000002e}.ai-message--assistant .ai-message-content,.ai-message--system .ai-message-content{color:var(--color-text-primary);background:#f1f1f1}.ai-search[data-surface=dark] .ai-message--assistant .ai-message-content,.ai-search[data-surface=dark] .ai-message--system .ai-message-content{color:#ffffffe0;background:#222}.ai-message-response{white-space:pre-wrap;margin:0}.ai-message-response--animated{white-space:pre-wrap}.ai-response-word{opacity:0;filter:blur(5px);animation:ai-response-word-in .38s cubic-bezier(.22, 1, .36, 1) var(--ai-response-word-delay,0s) both;will-change:opacity, filter, transform;display:inline-block;transform:translateY(.22em)}.ai-response-word--pop{filter:blur(2px);animation-name:ai-response-word-pop;animation-duration:.18s;transform:translateY(.08em)scale(.99)}@keyframes ai-response-word-in{0%{opacity:0;filter:blur(5px);transform:translateY(.22em)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes ai-response-word-pop{0%{opacity:0;filter:blur(2px);transform:translateY(.08em)scale(.99)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.ai-response-word{opacity:1;filter:none;animation:none;transform:none}.ai-thinking-mark span{animation:none}}.ai-assistant-response .ai-message-response+.ai-message-response{margin-top:.85em}.ai-message-content .ai-message-response+.ai-message-response{margin-top:.45em}.ai-prompt-input{border:1px solid var(--ai-glass-light-border);background:var(--ai-glass-light-bg);color:var(--color-text-primary);box-shadow:0 14px 38px #00000021, 0 1px 0 #ffffffd1 inset, 0 -1px 0 var(--ai-glass-light-edge) inset;-webkit-backdrop-filter:var(--ai-glass-filter);backdrop-filter:var(--ai-glass-filter);transition:border-color .52s var(--spring-elegant-easing), box-shadow .52s var(--spring-elegant-easing), background-color .52s var(--spring-elegant-easing);border-radius:999px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px;display:grid;position:relative}.ai-search[data-collapsed-context=true]:not(.ai-search--focused):not(.ai-search--open) .ai-prompt-input{grid-template-columns:minmax(0,1fr) auto}.ai-prompt-input:not(:has(.ai-collapsed-context)){grid-template-columns:minmax(0,1fr) auto}.ai-collapsed-context{color:#262626c2;pointer-events:none;align-items:center;gap:12px;min-width:0;max-width:100%;padding-left:4px;display:inline-flex;overflow:hidden}.ai-search[data-collapsed-context=true]:not(.ai-search--focused):not(.ai-search--open) .ai-collapsed-context{grid-column:1}.ai-search[data-surface=dark] .ai-collapsed-context{color:#ffffffe0}.ai-collapsed-context-thumbs{flex:0 0 42px;width:42px;height:30px;display:inline-grid;position:relative}.ai-collapsed-context-thumb{-webkit-backdrop-filter:blur(10px)saturate(1.08);backdrop-filter:blur(10px)saturate(1.08);background:#ffffff85;border:1px solid #ffffff9e;border-radius:8px;width:27px;height:27px;display:block;position:absolute;top:2px;overflow:hidden;box-shadow:inset 0 1px #ffffffb3,0 8px 18px #0000001f}.ai-collapsed-context-thumb:first-child{z-index:2;left:0;transform:rotate(-7deg)}.ai-collapsed-context-thumb:nth-child(2){z-index:1;left:16px;transform:rotate(6deg)}.ai-collapsed-context-thumb img,.ai-collapsed-context-thumb span{object-fit:cover;width:100%;height:100%;display:block}.ai-collapsed-context-thumb span{background:linear-gradient(145deg,#ffffff59,#ffffff14),#d9d9d9}.ai-collapsed-context-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-size:15px;line-height:1.2;overflow:hidden}.ai-search--focused .ai-collapsed-context,.ai-search--open .ai-collapsed-context{display:none}.ai-search--open .ai-prompt-input{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-top:1px solid #33333321;border-radius:0 0 23px 23px;grid-template-columns:minmax(0,1fr) auto}.ai-search--open[data-fullscreen=true] .ai-prompt-input{z-index:1002;right:var(--ai-search-right-offset);bottom:var(--ai-search-bottom-offset);left:var(--ai-search-left-offset);border:1px solid var(--ai-glass-light-border);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-radius:999px;padding:6px;animation:.42s cubic-bezier(.22,1,.36,1) both ai-chat-prompt-settle;position:absolute;box-shadow:0 18px 54px #00000024,inset 0 1px #ffffffdb}.ai-search[data-surface=dark] .ai-prompt-input{border-color:var(--ai-glass-dark-border);background:var(--ai-glass-dark-bg);color:#ffffffe6;box-shadow:0 14px 38px #00000059, 0 1px 0 #ffffff29 inset, 0 -1px 0 var(--ai-glass-dark-edge) inset;-webkit-backdrop-filter:blur(22px)saturate(1.05)contrast(1.08);backdrop-filter:blur(22px)saturate(1.05)contrast(1.08)}.ai-search[data-surface=dark].ai-search--open .ai-prompt-input{border-top-color:#ffffff1f}.ai-search--focused .ai-prompt-input,.ai-search--open .ai-prompt-input{box-shadow:0 24px 72px #00000038, 0 1px 0 #ffffffd6 inset, 0 -1px 0 var(--ai-glass-light-edge) inset}.ai-search[data-surface=dark].ai-search--focused .ai-prompt-input,.ai-search[data-surface=dark].ai-search--open .ai-prompt-input{box-shadow:0 24px 72px #0000007a, 0 1px 0 #ffffff29 inset, 0 -1px 0 var(--ai-glass-dark-edge) inset}.ai-search--open[data-fullscreen=true] .ai-prompt-input,.ai-search[data-surface=dark].ai-search--open[data-fullscreen=true] .ai-prompt-input{border-top-color:var(--ai-glass-light-border);background:#fff;box-shadow:0 18px 54px #00000024,inset 0 1px #ffffffdb}.ai-search[data-surface=dark].ai-search--open[data-fullscreen=true] .ai-prompt-input{border-color:var(--ai-glass-dark-border);border-top-color:var(--ai-glass-dark-border);background:#202020;box-shadow:0 20px 62px #00000070,inset 0 1px #ffffff1f}.ai-prompt-input-textarea{resize:none;min-height:38px;max-height:86px;color:var(--color-text-primary);font:inherit;font-size:var(--ai-chat-input-font-size);background:0 0;border:0;border-radius:999px;padding:8px 12px;line-height:1.35}.ai-collapsed-context+.ai-prompt-input-textarea{padding-left:0}.ai-search[data-collapsed-context=true]:not(.ai-search--focused):not(.ai-search--open) .ai-prompt-input-textarea{z-index:1;color:#0000;caret-color:#0000;opacity:0;pointer-events:auto;width:auto;min-width:0;max-width:none;height:auto;min-height:0;padding:0;position:absolute;inset:0 58px 0 0}.ai-search[data-collapsed-context=true]:not(.ai-search--focused):not(.ai-search--open) .ai-prompt-input-textarea::placeholder{color:#0000}.ai-prompt-input-textarea::placeholder{color:#262626ad}.ai-search[data-surface=dark] .ai-prompt-input-textarea{color:#ffffffe6}.ai-search[data-surface=dark] .ai-prompt-input-textarea::placeholder{color:#ffffffb8}.ai-prompt-input-textarea:focus{outline:none}.ai-prompt-input-submit{color:#fff;cursor:pointer;width:48px;min-width:48px;height:48px;font:inherit;background:#000;border:0;border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff29,0 8px 18px #00000029}.ai-prompt-input-submit-icon{color:#fff;width:19px;height:19px}.ai-prompt-input-submit-busy{opacity:.74;border:2px solid;border-top-color:#0000;border-radius:999px;width:18px;height:18px;animation:.72s linear infinite ai-submit-spin}.ai-search[data-surface=dark] .ai-prompt-input-submit{color:#fff;background:#000}.ai-prompt-input-submit:disabled{cursor:not-allowed;color:#fff;opacity:1;background:#000;box-shadow:inset 0 1px #ffffff70}.ai-search[data-surface=dark] .ai-prompt-input-submit:disabled{color:#fff;background:#000}@media (width<=900px){.ai-search{--ai-chat-track-padding:48px;--ai-chat-assistant-font-size:17px;--ai-chat-user-font-size:var(--ai-chat-assistant-font-size);--ai-chat-input-font-size:15px;--ai-chat-turn-gap:16px;--ai-chat-turn-pair-gap:8px;--ai-chat-result-gap:16px}.ai-search.ai-search--open[data-fullscreen=true]{--ai-chat-content-width:min(730px, calc(100vw - 70px));--ai-chat-input-width:min(640px, calc(100vw - 32px));--ai-chat-content-inset:max(35px, calc((100vw - var(--ai-chat-content-width)) / 2))}.ai-search[data-fullscreen=true] .ai-message-group{width:var(--ai-chat-content-width)}.ai-search[data-fullscreen=true] .ai-conversation-content{padding-top:max(107px, calc(79px + env(safe-area-inset-top)))}.ai-inline-carousel[blossom-carousel]{--ai-inline-shadow-gutter:56px;--ai-inline-shadow-gutter-top:84px;--ai-inline-shadow-gutter-bottom:144px;--ai-inline-shadow-gutter-top-offset:28px;--ai-inline-shadow-gutter-bottom-offset:40px;--ai-inline-card-width:172px;--ai-inline-card-gap:14px}.portfolio-inline-card{flex-basis:var(--ai-inline-card-width);width:var(--ai-inline-card-width)}}@media (width<=640px){.ai-search{--ai-search-left-offset:max(12px, env(safe-area-inset-left));--ai-search-right-offset:max(12px, env(safe-area-inset-right));--ai-search-bottom-offset:max(12px, env(safe-area-inset-bottom));--ai-chat-track-padding:28px;--ai-chat-assistant-font-size:16px;--ai-chat-user-font-size:var(--ai-chat-assistant-font-size);--ai-chat-input-font-size:15px;width:min(320px,100vw - 24px)}.ai-search.ai-search--open[data-fullscreen=true]{--ai-chat-content-width:calc(100vw - 44px);--ai-chat-input-width:calc(100vw - 44px);--ai-chat-content-inset:22px}.ai-search--focused,.ai-search--focused[data-has-input=true],.ai-search[data-collapsed-context=true],.ai-search--open,.ai-search--open[data-has-results=true]{width:calc(100vw - 44px)}.ai-search.ai-search--open[data-fullscreen=true]{width:100vw}.ai-search[data-fullscreen=true] .ai-conversation-content{padding-top:max(91px, calc(71px + env(safe-area-inset-top)));padding-bottom:calc(138px + var(--ai-search-bottom-offset))}.ai-search[data-fullscreen=true] .ai-chat-controls{top:max(14px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right))}.ai-search[data-fullscreen=true] .ai-chat-control{width:42px;height:42px}.ai-search[data-fullscreen=true][data-sheet-active=true] .ai-chat-controls{opacity:0;pointer-events:none;transition:opacity .12s;animation:none}.ai-message-group:first-child{padding-top:22px}.ai-search[data-fullscreen=true] .ai-message-group{width:var(--ai-chat-content-width)}.ai-assistant-response{max-width:100%;line-height:1.42}.ai-message-content{max-width:min(86%,440px);padding:10px 16px}.ai-search[data-fullscreen=true] .ai-message-content{max-width:min(78%,440px)}.ai-inline-carousel[blossom-carousel]{--ai-inline-shadow-gutter:42px;--ai-inline-shadow-gutter-top:72px;--ai-inline-shadow-gutter-bottom:124px;--ai-inline-shadow-gutter-top-offset:28px;--ai-inline-shadow-gutter-bottom-offset:32px;--ai-inline-card-width:clamp(138px, 38vw, 162px);--ai-inline-card-gap:12px}.portfolio-inline-card .project-slide-title,.ai-inline-lab-title{font-size:14px!important}.ai-prompt-input{gap:6px;padding:5px}.ai-prompt-input-textarea{min-height:36px;padding:8px 10px}.ai-prompt-input-submit{width:42px;min-width:42px;height:42px}}@media (width<=420px){.ai-search{--ai-chat-assistant-font-size:15px;--ai-chat-user-font-size:14px;--ai-chat-input-font-size:14px;--ai-chat-turn-gap:14px;width:min(300px,100vw - 20px)}.ai-search.ai-search--open[data-fullscreen=true]{--ai-chat-content-width:calc(100vw - 32px);--ai-chat-input-width:calc(100vw - 32px);--ai-chat-content-inset:16px;width:100vw}.ai-search--focused,.ai-search--focused[data-has-input=true],.ai-search[data-collapsed-context=true],.ai-search--open,.ai-search--open[data-has-results=true]{width:calc(100vw - 32px)}.ai-collapsed-context-label{max-width:112px;font-size:14px}.ai-collapsed-context-thumbs{flex-basis:36px;width:36px;height:28px}.ai-collapsed-context-thumb{border-radius:7px;width:25px;height:25px}.ai-collapsed-context-thumb:nth-child(2){left:13px}.ai-search[data-fullscreen=true] .ai-conversation-content{padding-top:max(70px, calc(52px + env(safe-area-inset-top)))}.ai-message-content{max-width:88%;padding:9px 14px}.ai-inline-carousel[blossom-carousel]{--ai-inline-shadow-gutter:34px;--ai-inline-card-width:clamp(126px, 43vw, 150px);--ai-inline-card-gap:10px;padding-top:38px;padding-bottom:82px}.portfolio-inline-card:hover{transform:translateY(var(--inline-card-y)) rotate(var(--inline-card-hover-rotate)) scale(1.08)}}@media (prefers-reduced-transparency:reduce){.ai-conversation,.ai-prompt-input{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffffff5}.ai-search[data-surface=dark] .ai-conversation,.ai-search[data-surface=dark] .ai-prompt-input{background:#121212f5}}.news-link-title,.news-link-source,.news-link-arrow{transition:color .16s}@media (hover:hover) and (pointer:fine){:is(.news-list:has(.news-link:hover) .news-link-title,.news-list:has(.news-link:hover) .news-link-source,.news-list:has(.news-link:hover) .news-link-arrow){color:var(--color-text-secondary)}:is(.news-list:has(.news-link:hover) .news-link:hover .news-link-title,.news-list:has(.news-link:hover) .news-link:hover .news-link-arrow){color:var(--color-text-primary)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}#root{opacity:1;animation: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-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-duration{syntax:"*";inherits:false}.project-carousel-shell{overflow:visible}.project-carousel{--project-carousel-card-width:min(320px, calc(100vw - 72px));--project-carousel-edge:calc((100vw - var(--project-carousel-card-width)) / 2);grid-auto-flow:column;grid-auto-columns:var(--project-carousel-card-width);padding-left:var(--project-carousel-edge);padding-right:var(--project-carousel-edge);scroll-padding-inline:var(--project-carousel-edge);scroll-snap-type:x proximity;grid-auto-rows:auto;align-items:start;gap:.75rem;padding-top:26px;padding-bottom:26px;display:grid;overflow:auto clip}.project-slide{--project-slide-focus:0;aspect-ratio:3/2;cursor:pointer;appearance:none;-webkit-tap-highlight-color:transparent;scroll-snap-align:center;width:100%;color:inherit;background:0 0;border:none;outline:none;padding:0;text-decoration:none;display:block;position:relative;overflow:visible}.project-carousel-shell[data-carousel-variant=writing] .project-slide{aspect-ratio:4/5}.project-carousel-shell[data-carousel-variant=writing] .project-slide-description{display:none}.project-carousel-shell[data-carousel-variant=writing] .project-slide-title{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.project-carousel-shell[data-carousel-variant=writing] .project-slide-copy{bottom:28px;left:28px}.project-carousel-shell[data-carousel-variant=writing] .project-slide-card{transform:translateZ(0)}@media (width>=1024px){.project-carousel-shell[data-carousel-variant=writing] .project-carousel{--project-carousel-card-width:min(300px, calc(100vw - 96px))}}.project-slide-card{--project-slide-radius:18px;border-radius:var(--project-slide-radius);-webkit-clip-path:inset(0 round var(--project-slide-radius));clip-path:inset(0 round var(--project-slide-radius));background:var(--color-card-bg);transform:translateZ(0) scale(calc(.88 + (var(--project-slide-focus) * .12)));transform-origin:50%;will-change:transform;isolation:isolate;contain:paint;display:block;position:absolute;inset:0;overflow:hidden}.project-carousel[data-scrolling=false] .project-slide-card{transition:transform .26s cubic-bezier(.2,0,0,1),filter .26s cubic-bezier(.2,0,0,1)}.project-slide-media{z-index:0;width:100%;height:100%;display:block;position:relative}.project-slide:hover,.project-slide:focus,.project-slide:focus-visible,.project-slide:active{box-shadow:none;outline:none}.project-slide-cover{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.project-slide-card:before,.project-slide-card:after{content:"";pointer-events:none;position:absolute;inset:auto 0 0}.project-slide-card:before{z-index:1;background:linear-gradient(#0000 0%,#00000017 42%,#0000002e 76%,#00000038 100%);height:45%}.project-slide-card:after{z-index:2;opacity:1;background:linear-gradient(#0000 0%,#0000001a 22%,#00000042 44%,#00000070 66%,#00000094 84%,#000000ad 100%);height:50%}.project-slide-copy{z-index:3;color:#fff;font-family:var(--font-sans);text-align:left;pointer-events:none;white-space:nowrap;opacity:1;text-shadow:0 1px 10px #00000042;flex-direction:column;gap:4px;font-size:20px;display:flex;position:absolute;bottom:20px;left:20px;right:20px;overflow:hidden}.project-slide-title{text-overflow:ellipsis;white-space:nowrap;letter-spacing:0;max-width:100%;font-weight:400;line-height:1.2;display:block;overflow:hidden;font-size:20px!important}.project-slide-description{text-overflow:ellipsis;white-space:nowrap;letter-spacing:0;color:#ffffffb8;max-width:100%;font-size:20px;font-weight:400;line-height:1.2;display:block;overflow:hidden}.project-slide-link-indicator{z-index:3;color:#fff;pointer-events:none;width:18px;height:18px;position:absolute;top:14px;right:14px}@media (width<=768px){.project-carousel{gap:.5rem}.project-slide{aspect-ratio:4/5}.project-slide-description{display:none}}@media (width>=640px){.project-carousel{--project-carousel-card-width:min(560px, calc(100vw - 96px));--project-carousel-edge:calc((100vw - var(--project-carousel-card-width)) / 2);gap:1rem}.project-carousel-shell[data-carousel-variant=writing] .project-carousel{--project-carousel-card-width:min(300px, calc(100vw - 96px))}}@media (width>=1024px){.project-carousel{--project-carousel-edge:calc((100vw - 1376px) / 2 + 348px);--project-carousel-card-width:680px;gap:1rem;padding-top:30px;padding-bottom:38px}.project-slide{border-radius:0}.project-slide-card{--project-slide-radius:20px}.project-slide-copy{bottom:40px;left:40px;right:40px}.project-slide-link-indicator{top:18px;right:18px}}@media (prefers-reduced-motion:reduce){.project-slide-card{transition:none}}.gallery-sheet-topbar{z-index:3;box-sizing:border-box;background:var(--sheet-surface-bg);border-bottom:1px solid var(--sheet-surface-hairline);pointer-events:none;height:21px;display:none;position:absolute;top:0;left:0;right:0}.gallery-sheet-topbar:before{content:"";background:var(--sheet-drag-handle);border-radius:3px;width:38px;height:4px;margin:0;display:block;position:absolute;top:10px;left:50%;transform:translate(-50%)}.gallery-sheet-scroll-listener,.gallery-sheet-scroll-root{height:100%;min-height:0}.gallery-sheet-body{box-sizing:border-box;background:var(--sheet-surface-bg);border-radius:0;height:100%;min-height:0}.gallery-sheet-scroll-content{--gallery-sheet-grid-width:1376px;--gallery-sheet-col-step:87px;--gallery-sheet-col-3-start:calc((100vw - var(--gallery-sheet-grid-width)) / 2 + (var(--gallery-sheet-col-step) * 2));box-sizing:border-box;min-height:100%;padding:72px 24px 20px}.gallery-sheet-header{padding:24px 0 40px}@media (width>=769px){.gallery-sheet-header{padding-left:max(24px, var(--gallery-sheet-col-3-start));padding-right:24px}}.gallery-sheet-title{font-size:inherit;color:var(--sheet-surface-text);margin:0;font-weight:400;line-height:1.4}.gallery-sheet-subtitle{font-size:inherit;color:var(--sheet-surface-muted);margin:0;font-weight:400;line-height:1.4}.gallery-sheet-intro{max-width:46ch;font-size:inherit;color:var(--sheet-surface-text);text-wrap:pretty;margin:24px 0 0;font-weight:400;line-height:1.4}.gallery-sheet-actions{z-index:2;gap:10px;display:flex;position:absolute;top:32px;right:24px}.gallery-sheet-action{background:var(--sheet-action-bg);width:48px;height:48px;color:var(--sheet-action-text);box-shadow:var(--sheet-action-shadow);cursor:pointer;appearance:none;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;text-decoration:none;transition:opacity .2s;display:flex}.gallery-sheet-action:hover{opacity:.7}.gallery-sheet-action:focus,.gallery-sheet-action:focus-visible{box-shadow:var(--sheet-action-shadow);outline:none}@media (width<=768px){.gallery-sheet-topbar{height:21px;display:flex}.gallery-sheet-topbar:before{background:var(--sheet-drag-handle);width:38px;height:4px}.gallery-sheet-scroll-content{padding:64px 32px 20px}.gallery-sheet-header{padding:0 0 40px}.gallery-sheet-actions{z-index:30;top:32px;right:24px}.gallery-sheet-action{width:48px;height:48px}.gallery-sheet-action svg{width:16px;height:16px}}.gallery-sheet-spacer{flex-shrink:0;height:120px}.gallery-rows{flex-direction:column;gap:16px;display:flex}.gallery-full{aspect-ratio:1244/761;object-fit:cover;border-radius:12px;width:100%;display:block}.gallery-pair{gap:16px;display:flex}.gallery-half{aspect-ratio:610/750;object-fit:cover;border-radius:12px;flex:1;min-width:0;display:block}.writing-sheet-body{padding:97px 32px 20px}.writing-sheet-hero,.writing-sheet-text{width:min(100%,580px);margin:0 auto}.writing-sheet-hero{border-bottom:1px solid var(--sheet-surface-hairline);padding-bottom:52px}.writing-sheet-title{color:var(--sheet-surface-text);font-family:var(--font-sans);letter-spacing:0;text-align:left;font-size:22px;font-weight:560;line-height:1.16}.writing-sheet-subtitle{color:var(--sheet-surface-muted);letter-spacing:0;margin:.35em 0 0;font-size:22px;font-weight:400;line-height:1.35}.writing-sheet-meta{color:var(--sheet-surface-muted);font-size:inherit;letter-spacing:0;flex-wrap:wrap;gap:.45em;margin:28px 0 0;font-weight:400;line-height:1.62;display:flex}.writing-sheet-text{padding-top:68px}.writing-sheet-heading{font-size:inherit;color:var(--sheet-surface-text);margin:0;font-weight:510;line-height:1.58}.writing-sheet-text p{font-size:inherit;color:var(--sheet-surface-muted);margin:0;line-height:1.62}.writing-sheet-text p+p{margin-top:1.62em}.writing-sheet-text p+.writing-sheet-heading,.writing-sheet-video+.writing-sheet-heading,.writing-sheet-media+.writing-sheet-heading,.writing-sheet-image+.writing-sheet-heading{margin-top:2.35em}.writing-sheet-heading+p,.writing-sheet-media+p,.writing-sheet-video+p{margin-top:.55em}.writing-sheet-media{margin:40px 0}.writing-sheet-media-wide{width:min(100%,820px);max-width:calc(100vw - 48px);margin-left:50%;transform:translate(-50%)}.writing-sheet-image{border-radius:18px;width:100%;margin:0;display:block}.writing-sheet-image-wide{width:min(100%,820px);max-width:calc(100vw - 48px);margin-left:50%;transform:translate(-50%)}.writing-sheet-video{margin:40px 0}.writing-sheet-video-wide{width:min(100%,820px);max-width:calc(100vw - 48px);margin-left:50%;transform:translate(-50%)}.writing-sheet-video-frame{aspect-ratio:16/9;background:#000;border:0;border-radius:18px;width:100%;display:block}.writing-sheet-video-native{object-fit:cover}.writing-sheet-video-caption{color:var(--sheet-surface-muted);margin:14px 0 0;font-size:14px;line-height:1.5}.writing-sheet-linkout{margin:14px 0 0;font-size:14px;line-height:1.45}.writing-sheet-linkout a{color:var(--sheet-surface-text);text-underline-offset:3px;text-decoration-line:underline;text-decoration-thickness:1px}@media (width>=768px){.gallery-sheet-scroll-content{padding:78px 134px 40px}.gallery-rows,.gallery-pair{gap:24px}.writing-sheet-body{padding:168px 134px 20px}.writing-sheet-hero,.writing-sheet-text{width:min(100%,600px);margin-left:auto;margin-right:auto}.writing-sheet-title{font-size:22px}.writing-sheet-text{padding-top:76px}.writing-sheet-image,.writing-sheet-video-frame{border-radius:24px}}:root{--sheet-surface-bg:var(--color-bg-page);--sheet-surface-text:var(--color-text-primary);--sheet-surface-muted:var(--color-text-secondary);--sheet-surface-hairline:#b8bec4;--sheet-stack-bg:var(--color-bg-page);--sheet-action-bg:#fff;--sheet-action-text:#333;--sheet-action-shadow:0 0 0 1px #0000000a, 0 2px 8px #00000014, 0 8px 24px #0000000f;--sheet-drag-handle:#00000047}:root[data-site-surface=footer]{--sheet-surface-bg:#101010;--sheet-surface-text:#ffffffe6;--sheet-surface-muted:#ffffff70;--sheet-surface-hairline:#ffffff24;--sheet-stack-bg:var(--site-footer-bg);--sheet-action-bg:#202020;--sheet-action-text:#ffffffe0;--sheet-action-shadow:0 0 0 1px #ffffff14, 0 2px 8px #00000057, 0 8px 24px #0000003d;--sheet-drag-handle:#ffffff52}.SheetWithDepth-stackSceneryBackground{background-color:var(--sheet-stack-bg);opacity:0;pointer-events:none;will-change:opacity;position:fixed;inset:0}.SheetWithDepth-stackSceneryContainer{background-color:var(--sheet-stack-bg);z-index:0;position:relative}.SheetWithDepth-stackSceneryFirstSheetBackdrop{z-index:1;background-color:var(--sheet-stack-bg);opacity:0;pointer-events:none;will-change:opacity;position:absolute;inset:0}.SheetWithDepth-view{top:0;bottom:initial;z-index:2000;height:calc(var(--silk-100-lvh-dvh-pct) + 60px)}.SheetWithDepth-view.SheetWithDepth-view>[data-silk~=a5][data-silk]{pointer-events:none!important}.SheetWithDepth-content{box-sizing:border-box;height:calc(100% - max(calc(env(safe-area-inset-top) + 1.3vh), 2.6vh));background-color:var(--sheet-surface-bg);border-radius:24px 24px 0 0;overflow:hidden!important}.SheetWithDepth-bleedingBackground{background-color:var(--sheet-surface-bg);border-radius:24px 24px 0 0;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}@media (width<=768px){.SheetWithDepth-stackSceneryContainer{background-color:var(--sheet-stack-bg)}.SheetWithDepth-content{border-radius:30px 30px 0 0;height:calc(100% - 28px)}.SheetWithDepth-bleedingBackground{border-radius:30px 30px 0 0}}.lab-projects{color:#ffffffe6}.site-footer>.mx-auto:has(.lab-projects){padding-top:clamp(48px,5.6vw,112px)}@media (width<=767px){.site-footer>.mx-auto:has(.lab-projects){padding-left:42px;padding-right:42px}}.lab-projects-title{margin:0 0 calc(var(--section-heading-to-content-gap) + 20px);font-size:inherit;font-weight:inherit;line-height:1.2}.lab-project-grid{--lab-grid-gap:9px;--lab-grid-width:100%;width:var(--lab-grid-width);column-count:2;column-gap:var(--lab-grid-gap);transform-origin:50% 0;will-change:transform;max-width:1240px;margin-inline:auto;position:relative;transform:translateZ(0)}.lab-project-tile{z-index:0;width:100%;margin:0 0 var(--lab-grid-gap);appearance:none;break-inside:avoid;color:inherit;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:8px;padding:0;display:block;position:relative;overflow:visible}.lab-project-tile[data-elevated=true]{z-index:120}.lab-project-tile[data-selected=true] .lab-project-hover-shell{opacity:0!important}.lab-project-hover-shell{border-radius:inherit;transform-origin:50%;will-change:transform, filter;display:block;transform:translateZ(0)}.lab-project-media{width:100%;aspect-ratio:var(--lab-aspect-ratio,4 / 5);border-radius:inherit;backface-visibility:hidden;background:linear-gradient(145deg,#fff3,#ffffff14),#2c2c2c;display:block;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:inset 0 0 0 1px #fff1,inset 0 1px #ffffff14}.lab-project-media img,.lab-project-media video{object-fit:cover;width:100%;height:100%;display:block}.lab-viewer-card .lab-project-media img,.lab-viewer-card .lab-project-media video{object-fit:contain}.lab-project-placeholder{background:linear-gradient(150deg,#ffffff26,#0000 42%),linear-gradient(330deg,#ffffff14,#0000 48%),#2b2b2b;width:100%;height:100%;display:block}.lab-project-tile:focus-visible{outline:none}.lab-project-tile:focus{box-shadow:none;outline:none}@media (hover:hover) and (pointer:fine){.lab-project-tile:hover{z-index:8}.lab-project-hover-shell{transition:transform .132s cubic-bezier(.2,0,0,1),filter .12s}.lab-project-grid[data-viewer-active=true] .lab-project-hover-shell{transition:none}.lab-project-grid:not([data-viewer-active=true]):has(.lab-project-tile:hover) .lab-project-tile:not(:hover) .lab-project-hover-shell{filter:brightness(.92)saturate(.98);transform:translateY(1px)scale(.992)}.lab-project-grid:not([data-viewer-active=true]) .lab-project-tile:hover .lab-project-hover-shell{filter:brightness(1.035)saturate(1.02);transform:translateY(-2px)scale(1.018)}.lab-project-grid:not([data-viewer-active=true]) .lab-project-tile:hover+.lab-project-tile .lab-project-hover-shell{transform:translateY(3px)scale(.99)}.lab-project-grid:not([data-viewer-active=true]) .lab-project-tile:has(+.lab-project-tile:hover) .lab-project-hover-shell{transform:translateY(3px)scale(.99)}.lab-project-tile .lab-project-media{transition:filter .12s,box-shadow .14s}.lab-project-grid:not([data-viewer-active=true]) .lab-project-tile:hover .lab-project-media{box-shadow:inset 0 0 0 1px #ffffff14,inset 0 1px #ffffff1c,0 10px 24px #0000002e}}.lab-viewer{z-index:3000;isolation:isolate;-webkit-backdrop-filter:blur(34px)saturate(.86);overscroll-behavior:contain;touch-action:none;background:#050505c7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.lab-viewer-card{--lab-viewer-width:min(720px, calc(100vw - 48px));--lab-viewer-media-max-height:calc(100svh - 120px);z-index:2;width:var(--lab-viewer-width);color:#ffffffeb;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;max-height:calc(100svh - 48px);position:relative;overflow:visible}.lab-viewer-card:active{cursor:grabbing}.lab-viewer-card .lab-project-media{width:100%;max-height:var(--lab-viewer-media-max-height);background:0 0;border-radius:12px;box-shadow:0 24px 70px #00000061,0 56px 140px #00000047}.lab-viewer-card .lab-project-media img,.lab-viewer-card .lab-project-media video{border-radius:inherit}.lab-viewer-caption{width:100%;color:inherit;gap:6px;margin-top:14px;text-decoration:none;display:grid}.lab-viewer-caption-link{cursor:alias;text-underline-offset:3px;text-decoration-line:underline;text-decoration-color:#0000;text-decoration-thickness:1px;transition:text-decoration-color .14s}.lab-viewer-caption-link:hover{text-decoration-color:#ffffffb8}.lab-viewer-title,.lab-viewer-description{margin:0;font-size:14px;line-height:1.35}.lab-viewer-title{color:#fffffff0;font-weight:500}.lab-viewer-description{color:#ffffff94}@media (width>=768px){.lab-projects{width:100vw;margin-left:50%;transform:translate(-50%)}.lab-projects-title{margin-bottom:calc(var(--section-heading-to-content-gap) + 20px)}.lab-project-grid{--lab-grid-gap:clamp(10px, 1.05vw, 16px);--lab-grid-width:min(72vw, 1040px);column-count:3;max-width:none}}@media (width>=768px) and (width<=1023px){.lab-projects-title{width:min(72vw,1040px);margin-left:auto;margin-right:auto}}@media (width>=1180px){.lab-projects{width:auto;margin-left:0;transform:none}.lab-project-grid{--lab-grid-gap:clamp(11px, .8vw, 18px);--lab-grid-width:min(68vw, 1320px);column-count:4;max-width:none;margin-left:calc(var(--lab-grid-width) / -2);grid-column:1/-1;margin-right:0;left:50%}}@media (width<=767px){.lab-viewer{padding:16px}.lab-viewer-card{--lab-viewer-width:min(620px, calc(100vw - 32px));--lab-viewer-media-max-height:calc(100svh - 92px)}.lab-viewer-card .lab-project-media{border-radius:10px}}@media (prefers-reduced-motion:reduce){.lab-project-grid{transform:none!important}.lab-project-hover-shell{transition:none!important;transform:none!important}.lab-project-tile{opacity:1!important;transform:none!important}.lab-project-tile .lab-project-media{transition:none!important}}.admin-dashboard{box-sizing:border-box;color:#181818;background:#f6f6f4;min-height:100vh;padding:42px clamp(22px,3.8vw,56px) 72px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}.admin-dashboard *,.admin-dashboard :before,.admin-dashboard :after{box-sizing:border-box}.admin-hero{justify-content:space-between;align-items:flex-start;gap:32px;max-width:1360px;margin:0 auto 46px;display:flex}.admin-kicker,.admin-metric-label,.admin-panel-header span,.admin-status-strip,.admin-metric-detail,.admin-conversation-header span,.admin-turn span{color:#70706c;font-size:12px;line-height:1.2}.admin-kicker{text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px}.admin-hero h1{letter-spacing:0;text-wrap:balance;max-width:100%;margin:0;font-size:clamp(42px,5vw,76px);line-height:.94}.admin-hero-copy{color:#50504c;overflow-wrap:anywhere;max-width:620px;margin:20px 0 0;font-size:17px;line-height:1.45}.admin-actions{align-items:center;gap:10px;display:flex}.admin-actions button,.admin-auth-panel button,.admin-actions a{color:#181818;height:38px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d6d6d0;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-size:14px;text-decoration:none;display:inline-flex}.admin-actions button:disabled{cursor:wait;opacity:.55}.admin-auth-panel,.admin-status-strip,.admin-metric-grid,.admin-grid,.admin-overview-grid,.admin-section-label{max-width:1360px;margin-left:auto;margin-right:auto}.admin-auth-panel{background:#fff;border:1px solid #deded8;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(240px,360px) auto;align-items:end;gap:16px;margin-bottom:20px;padding:18px;display:grid}.admin-auth-panel p{margin:0}.admin-auth-panel label{color:#666;gap:6px;font-size:12px;display:grid}.admin-auth-panel input{height:38px;font:inherit;color:#181818;background:#fafafa;border:1px solid #d6d6d0;border-radius:8px;padding:0 12px}.admin-panel-title{color:#181818;font-size:16px;font-weight:600}.admin-status-strip{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.admin-status-strip span{background:#fff;border:1px solid #deded8;border-radius:999px;align-items:center;min-height:28px;padding:0 12px;display:inline-flex}.admin-metric-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.admin-metric,.admin-panel{background:#fff;border:1px solid #deded8;border-radius:8px}.admin-metric{min-height:128px;padding:16px}.admin-overview-grid{grid-template-columns:minmax(0,1.35fr) minmax(270px,.82fr) minmax(270px,.82fr);gap:18px;margin-bottom:54px;display:grid}.admin-overview-card{background:#fff;border:1px solid #deded8;border-radius:8px;min-width:0;min-height:260px;padding:28px}.admin-overview-card--primary{min-height:306px}.admin-overview-number{letter-spacing:0;margin:36px 0 0;font-size:clamp(84px,10vw,148px);line-height:.82}.admin-overview-caption{color:#595955;max-width:420px;margin:20px 0 0;font-size:18px;line-height:1.35}.admin-overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:36px;display:grid}.admin-overview-metric{border-top:1px solid #ecece8;align-content:start;gap:7px;min-width:0;padding-top:14px;display:grid}.admin-overview-metric span,.admin-overview-metric small,.admin-signal-list span{color:#70706c;font-size:12px;line-height:1.2}.admin-overview-metric strong{color:#181818;text-overflow:ellipsis;white-space:nowrap;font-size:30px;font-weight:400;line-height:1;overflow:hidden}.admin-route-stack{gap:30px;margin-top:42px;display:grid}.admin-signal-list{gap:22px;margin-top:42px;display:grid}.admin-signal-list p{color:#1f1f1d;gap:7px;margin:0;font-size:18px;line-height:1.25;display:grid}.admin-section-label{justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px;display:flex}.admin-section-label--secondary{margin-top:46px}.admin-section-label h2,.admin-section-label p{margin:0}.admin-section-label h2{font-size:28px;font-weight:500;line-height:1}.admin-section-label p{color:#70706c;max-width:420px;line-height:1.35}.admin-metric--loading{opacity:.58}.admin-metric-label,.admin-metric-value,.admin-metric-detail{margin:0}.admin-metric-value{margin-top:20px;font-size:clamp(24px,3vw,42px);line-height:.96}.admin-metric-detail{margin-top:8px}.admin-grid{gap:18px;margin-bottom:18px;display:grid}.admin-grid--two{grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr)}.admin-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-grid--main{grid-template-columns:minmax(0,1.12fr) minmax(430px,.88fr)}.admin-panel{min-width:0;padding:26px}.admin-panel-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.admin-panel-header>*{min-width:0}.admin-panel-header h2{margin:0;font-size:18px;font-weight:600;line-height:1.1}.admin-panel-copy,.admin-empty{color:#585854;margin:0;line-height:1.45}.admin-day-chart{grid-auto-columns:minmax(28px,1fr);grid-auto-flow:column;align-items:end;gap:8px;height:280px;display:grid}.admin-day-column{grid-template-rows:minmax(0,1fr) 18px;align-items:end;gap:8px;height:100%;display:grid}.admin-day-column-bar{background:#181818;border-radius:6px 6px 2px 2px;width:100%;display:block}.admin-day-column-label{color:#777;text-align:center;font-size:11px}.admin-count-list{gap:18px;display:grid}.admin-count-row-top{justify-content:space-between;gap:12px;font-size:13px;line-height:1.25;display:flex}.admin-count-row-top span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-count-bar{background:#eee;border-radius:999px;height:6px;margin-top:7px;overflow:hidden}.admin-count-bar span{border-radius:inherit;background:#181818;height:100%;display:block}.admin-chip-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.admin-chip-row span{color:#454540;background:#f1f1ee;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;display:inline-flex}.admin-conversation-list{gap:12px;max-height:660px;padding-right:3px;display:grid;overflow:auto}.admin-conversation{background:#fbfbfa;border:1px solid #e5e5df;border-radius:8px;padding:14px}.admin-conversation-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.admin-conversation-header p{margin:0 0 4px;font-size:14px}.admin-conversation-header code{color:#555;font-size:12px}.admin-turn{border-top:1px solid #ecece8;gap:7px;padding:10px 0;display:grid}.admin-turn p{color:#2c2c29;margin:0;font-size:13px;line-height:1.4}.admin-turn span{width:44px;margin-right:8px;display:inline-block}.admin-table-wrap{max-height:660px;overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #ecece8;padding:10px 8px}.admin-table th{color:#70706c;font-weight:500}.admin-table td{color:#2c2c29}@media (width<=1100px){.admin-metric-grid,.admin-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-overview-grid,.admin-grid--two,.admin-grid--main{grid-template-columns:1fr}}@media (width<=720px){.admin-dashboard{padding:22px 18px 44px}.admin-hero,.admin-actions{flex-direction:column;align-items:stretch}.admin-hero{gap:18px;margin-bottom:28px;overflow:hidden}.admin-hero h1{font-size:30px;line-height:1}.admin-hero-copy{max-width:330px;font-size:16px}.admin-metric-grid,.admin-grid--three,.admin-auth-panel{grid-template-columns:1fr}.admin-status-strip{margin-bottom:14px}.admin-overview-grid{gap:12px;margin-bottom:36px}.admin-overview-card{width:100%;min-height:auto;padding:22px}.admin-overview-card--primary .admin-panel-header span{display:none}.admin-overview-number{margin-top:30px;font-size:88px}.admin-overview-metrics{grid-template-columns:1fr;gap:14px;margin-top:30px}.admin-route-stack,.admin-signal-list{margin-top:28px}.admin-section-label{gap:8px;display:grid}.admin-panel{padding:22px}.admin-day-chart{grid-auto-columns:minmax(18px,1fr);gap:5px;height:170px}}
