@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-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)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.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}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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)}.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,)}.filter{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))}}:root{--bg:#f4f8ff;--panel:#fff;--panel-soft:#edf4ff;--ink:#122344;--muted:#546886;--line:#c2d1eb;--accent-cyan:#0077c8;--accent-amber:#d07d36;--accent-mint:#058175;--accent-drl:#7bb5ff;--accent-cfd:#59d8cd;--accent-hpc:#f7b067;--shadow:#1d365b1f;--card-space:1.32rem;--section-gap:2.2rem;--content-width:1200px;--icon-stroke:1.8;--page-accent:var(--accent-cfd);--cfd-scroll:0;--cfd-progress:0;--cfd-jet:.18;--cfd-pulse:0}[data-theme=dark]{--bg:#07101f;--panel:#0d1a31;--panel-soft:#122445;--ink:#e7eefc;--muted:#9ab0d9;--line:#234067;--accent-cyan:#4bb1ff;--accent-amber:#ffb573;--accent-mint:#64d2c8;--accent-drl:#7eb4ff;--accent-cfd:#5fdcd0;--accent-hpc:#ffbb74;--shadow:#060e1b8c}*{box-sizing:border-box}html,body{min-height:100%}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 8% 10%,var(--accent-cyan)0,transparent 30%),radial-gradient(circle at 88% 10%,var(--accent-amber)0,transparent 34%),var(--bg);margin:0}@supports (color:color-mix(in lab, red, red)){body{background:radial-gradient(circle at 8% 10%,color-mix(in oklab,var(--accent-cyan),transparent 84%)0,transparent 30%),radial-gradient(circle at 88% 10%,color-mix(in oklab,var(--accent-amber),transparent 82%)0,transparent 34%),var(--bg)}}body{color:var(--ink);font-family:var(--font-body),sans-serif;text-wrap:pretty;font-size:1.04rem;line-height:1.62}.portfolio-shell{isolation:isolate;position:relative;overflow:hidden}.streamline-overlay{pointer-events:none;z-index:-1;opacity:.2;background-image:radial-gradient(120% 46% at 10% 14%,transparent 64%,var(--accent-cfd)65%,transparent 66%),radial-gradient(120% 46% at 64% 26%,transparent 64%,var(--accent-cyan)65%,transparent 66%),radial-gradient(120% 42% at 78% 70%,transparent 64%,var(--accent-mint)65%,transparent 66%);position:fixed;inset:-10% -8%}@supports (color:color-mix(in lab, red, red)){.streamline-overlay{background-image:radial-gradient(120% 46% at 10% 14%,transparent 64%,color-mix(in oklab,var(--accent-cfd),transparent 76%)65%,transparent 66%),radial-gradient(120% 46% at 64% 26%,transparent 64%,color-mix(in oklab,var(--accent-cyan),transparent 82%)65%,transparent 66%),radial-gradient(120% 42% at 78% 70%,transparent 64%,color-mix(in oklab,var(--accent-mint),transparent 84%)65%,transparent 66%)}}.streamline-overlay{background-repeat:repeat;background-size:760px 260px,840px 300px,720px 280px;animation:54s linear infinite streamDrift;-webkit-mask-image:radial-gradient(circle at 50% 24%,#000 20%,#0000 78%);mask-image:radial-gradient(circle at 50% 24%,#000 20%,#0000 78%)}.mesh-overlay{pointer-events:none;z-index:-1;background-image:linear-gradient(to right,var(--line)1px,transparent 1px),linear-gradient(to bottom,var(--line)1px,transparent 1px);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.mesh-overlay{background-image:linear-gradient(to right,color-mix(in oklab,var(--line),transparent 62%)1px,transparent 1px),linear-gradient(to bottom,color-mix(in oklab,var(--line),transparent 64%)1px,transparent 1px)}}.mesh-overlay{background-size:32px 32px;-webkit-mask-image:radial-gradient(circle at 50% 15%,#000 10%,#0000 76%);mask-image:radial-gradient(circle at 50% 15%,#000 10%,#0000 76%)}.cfd-bg-overlay{pointer-events:none;z-index:-1;display:none;position:fixed;inset:0;overflow:hidden}.cfd-bg-svg{width:100%;height:100%}.cfd-ambient-scene,.cfd-network-scene,.cfd-airfoil-scene,.cfd-jet-layer{fill:none;vector-effect:non-scaling-stroke;transform-box:view-box;transform-origin:50%}.cfd-ambient-scene{transform:translateY(calc(var(--cfd-scroll,0)*-.014px))}.cfd-network-scene{transform:translateY(calc(var(--cfd-scroll,0)*-.009px))}.cfd-airfoil-scene{transform:translateY(calc(var(--cfd-scroll,0)*-.02px))}.cfd-ambient-stream{stroke:url(#cfdAmbient);stroke-width:1.25px;stroke-linecap:round;opacity:calc(.1 + var(--cfd-progress,0)*.2)}.cfd-network-connection{stroke:url(#cfdNetwork);stroke-width:1px;opacity:calc(.14 + var(--cfd-progress,0)*.48)}.cfd-network-node{fill:none}.cfd-neuron-base{fill:var(--panel)}@supports (color:color-mix(in lab, red, red)){.cfd-neuron-base{fill:color-mix(in oklab,var(--panel),var(--line)12%)}}.cfd-neuron-base{stroke:var(--line)}@supports (color:color-mix(in lab, red, red)){.cfd-neuron-base{stroke:color-mix(in oklab,var(--line),var(--ink)38%)}}.cfd-neuron-base{stroke-width:1px}.cfd-neuron-activation{fill:var(--accent-drl)}@supports (color:color-mix(in lab, red, red)){.cfd-neuron-activation{fill:color-mix(in oklab,var(--accent-drl),white 12%)}}.cfd-neuron-activation{opacity:clamp(.08,calc(.08 + var(--cfd-progress,0)*.62 + var(--cfd-pulse,0)*.14 + var(--node-gain,0)),.96)}.cfd-network-node-output .cfd-neuron-activation{fill:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.cfd-network-node-output .cfd-neuron-activation{fill:color-mix(in oklab,var(--accent-cfd),var(--accent-cyan)34%)}}.cfd-neuron-core{fill:var(--panel)}@supports (color:color-mix(in lab, red, red)){.cfd-neuron-core{fill:color-mix(in oklab,var(--panel),transparent 4%)}}.cfd-neuron-core{opacity:calc(.36 + var(--cfd-progress,0)*.52)}.cfd-sensing-link{stroke:url(#cfdSense);stroke-width:1.35px;stroke-dasharray:4 8;stroke-linecap:round;opacity:calc(.22 + var(--cfd-progress,0)*.58)}.cfd-actuation-link{stroke:url(#cfdActuate);stroke-width:1.3px;stroke-dasharray:5 8;stroke-linecap:round;opacity:calc(.18 + var(--cfd-progress,0)*.66)}.cfd-airfoil-body{fill:var(--panel)}@supports (color:color-mix(in lab, red, red)){.cfd-airfoil-body{fill:color-mix(in oklab,var(--panel),var(--accent-cfd)8%)}}.cfd-airfoil-body{stroke:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.cfd-airfoil-body{stroke:color-mix(in oklab,var(--accent-cfd),var(--ink)46%)}}.cfd-airfoil-body{stroke-width:1.45px}.cfd-airfoil-core{fill:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){.cfd-airfoil-core{fill:color-mix(in oklab,var(--panel-soft),transparent 12%)}}.cfd-airfoil-core{stroke:var(--accent-cyan)}@supports (color:color-mix(in lab, red, red)){.cfd-airfoil-core{stroke:color-mix(in oklab,var(--accent-cyan),var(--line)58%)}}.cfd-airfoil-core{stroke-width:1px}.cfd-orifice-segment{fill:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.cfd-orifice-segment{fill:color-mix(in oklab,var(--accent-cfd),var(--panel)52%)}}.cfd-orifice-segment{stroke:var(--accent-cyan)}@supports (color:color-mix(in lab, red, red)){.cfd-orifice-segment{stroke:color-mix(in oklab,var(--accent-cyan),var(--ink)40%)}}.cfd-orifice-segment{stroke-width:.9px}.cfd-probe-halo{fill:#f15d5d9e;fill:lab(59.9626% 57.9134 31.6522/.62);opacity:calc(.08 + var(--cfd-progress,0)*.56)}.cfd-probe-point{fill:#e94a4a;stroke:var(--ink)}@supports (color:color-mix(in lab, red, red)){.cfd-probe-point{stroke:color-mix(in oklab,var(--ink),transparent 74%)}}.cfd-probe-point{stroke-width:1px}.cfd-jet-layer-low{transform:translateY(calc((.5 - var(--cfd-jet,0))*10px))}.cfd-jet-layer-high{transform:translateY(calc((.5 - var(--cfd-jet,0))*18px))scaleY(calc(.84 + var(--cfd-jet,0)*.3))}.cfd-jet-path{stroke:url(#cfdJet);stroke-linecap:round;fill:none}.cfd-jet-layer-low .cfd-jet-path{stroke-width:1.2px;opacity:calc(.14 + var(--cfd-jet,0)*.42)}.cfd-jet-layer-high .cfd-jet-path{stroke-width:1.38px;opacity:calc(.04 + var(--cfd-jet,0)*.64)}.glow{filter:blur(92px);opacity:.18;pointer-events:none;z-index:-2;border-radius:999px;width:24rem;height:24rem;position:fixed}.glow-static{will-change:auto}.glow-cyan{background:var(--accent-cyan);top:-9rem;right:-6rem}.glow-amber{background:var(--accent-amber);bottom:-10rem;left:-8rem}.site-frame{max-width:var(--content-width);margin:0 auto;padding:1.4rem 1.12rem 2.9rem}.site-header{z-index:40;border:1px solid var(--line);gap:.75rem;display:grid;position:sticky;top:.8rem}@supports (color:color-mix(in lab, red, red)){.site-header{border:1px solid color-mix(in oklab,var(--line),transparent 28%)}}.site-header{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in oklab,var(--panel),transparent 28%)}}.site-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1rem;padding:.9rem}.brand-block{color:var(--ink);flex-direction:column;gap:.15rem;text-decoration:none;display:inline-flex}.brand-name{font-family:var(--font-display),serif;font-size:1.28rem;line-height:1}.brand-meta{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.71rem}.site-nav{scrollbar-width:thin;flex-wrap:nowrap;gap:.45rem;padding-bottom:.1rem;display:flex;overflow-x:auto}.nav-link{color:var(--muted);border:1px solid var(--line);text-decoration:none}@supports (color:color-mix(in lab, red, red)){.nav-link{border:1px solid color-mix(in oklab,var(--line),transparent 22%)}}.nav-link{white-space:nowrap;border-radius:999px;padding:.35rem .7rem;font-size:.83rem;transition:color .18s,border-color .18s,background-color .18s,transform .18s}.nav-link-content{align-items:center;gap:.34rem;display:inline-flex}.nav-link:hover{color:var(--ink);border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.nav-link:hover{border-color:color-mix(in oklab,var(--page-accent),var(--line)50%)}}.nav-link:hover{transform:translateY(-1px)}.nav-link-active{color:var(--ink);background:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.nav-link-active{background:color-mix(in oklab,var(--page-accent),transparent 87%)}}.nav-link-active{border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.nav-link-active{border-color:color-mix(in oklab,var(--page-accent),var(--line)45%)}}.nav-link[data-route=\/publications],.nav-link[data-route=\/cv]{--page-accent:var(--accent-hpc)}.nav-link[data-route=\/research],.nav-link[data-route=\/]{--page-accent:var(--accent-cfd)}.nav-link[data-route=\/about],.nav-link[data-route=\/contact],.nav-link[data-route=\/media]{--page-accent:var(--accent-drl)}.theme-toggle{border:1px solid var(--line);justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.theme-toggle{border:1px solid color-mix(in oklab,var(--line),transparent 18%)}}.theme-toggle{background:var(--panel-soft);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.theme-toggle{background:color-mix(in oklab,var(--panel-soft),var(--panel)38%)}}.theme-toggle{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:.5rem .92rem;font-size:.78rem}.theme-toggle-group{flex-wrap:wrap;align-items:center;gap:.55rem;display:inline-flex}.style-picker{border:1px solid var(--line);align-items:center;gap:.45rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.style-picker{border:1px solid color-mix(in oklab,var(--line),transparent 16%)}}.style-picker{background:var(--panel-soft);border-radius:999px;padding:.32rem .36rem .32rem .62rem}@supports (color:color-mix(in lab, red, red)){.style-picker{background:color-mix(in oklab,var(--panel-soft),var(--panel)35%)}}.style-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.66rem}.style-select{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.style-select{border:1px solid color-mix(in oklab,var(--line),transparent 8%)}}.style-select{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){.style-select{background:color-mix(in oklab,var(--panel),transparent 0%)}}.style-select{color:var(--ink);cursor:pointer;border-radius:999px;min-height:2rem;padding:.36rem .66rem;font-size:.76rem}.style-select:focus-visible{outline:2px solid var(--accent-cyan)}@supports (color:color-mix(in lab, red, red)){.style-select:focus-visible{outline:2px solid color-mix(in oklab,var(--accent-cyan),transparent 35%)}}.style-select:focus-visible{outline-offset:2px}.site-main{padding-top:1.35rem}.site-footer{border-top:1px solid var(--line);margin-top:2.4rem}@supports (color:color-mix(in lab, red, red)){.site-footer{border-top:1px solid color-mix(in oklab,var(--line),transparent 20%)}}.site-footer{color:var(--muted);padding:1.3rem 0 .4rem;font-size:.85rem}.portfolio-chat-root{right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:70;flex-direction:column;align-items:flex-end;gap:.7rem;display:flex;position:fixed}.portfolio-chat-launcher{border:1px solid var(--line);border-radius:999px;align-items:center;gap:.45rem;min-height:2.7rem;padding:0 .95rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-launcher{border:1px solid color-mix(in oklab,var(--line),transparent 8%)}}.portfolio-chat-launcher{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-launcher{background:color-mix(in oklab,var(--panel),transparent 8%)}}.portfolio-chat-launcher{color:var(--ink);font-family:var(--font-mono),monospace;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;box-shadow:0 8px 20px color-mix(in srgb,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a,transparent 16%);font-size:.74rem}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-launcher{box-shadow:0 8px 20px color-mix(in oklab,var(--shadow),transparent 16%)}}.portfolio-chat-launcher{-webkit-backdrop-filter:blur(8px)saturate(118%);backdrop-filter:blur(8px)saturate(118%)}.portfolio-chat-panel{border:1px solid var(--line);width:min(380px,100vw - 1.4rem);max-height:min(78vh,640px)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-panel{border:1px solid color-mix(in oklab,var(--line),transparent 10%)}}.portfolio-chat-panel{background:var(--panel);border-radius:1rem}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-panel{background:color-mix(in oklab,var(--panel),transparent 4%)}}.portfolio-chat-panel{box-shadow:0 20px 36px color-mix(in srgb,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a,transparent 10%)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-panel{box-shadow:0 20px 36px color-mix(in oklab,var(--shadow),transparent 10%)}}.portfolio-chat-panel{-webkit-backdrop-filter:blur(12px)saturate(128%);backdrop-filter:blur(12px)saturate(128%);flex-direction:column;display:flex;overflow:hidden}.portfolio-chat-header{border-bottom:1px solid var(--line);justify-content:space-between;gap:.7rem;padding:.86rem .92rem .7rem;display:flex}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-header{border-bottom:1px solid color-mix(in oklab,var(--line),transparent 14%)}}.portfolio-chat-title{font-family:var(--font-display),serif;margin:0;font-size:1rem;line-height:1.1}.portfolio-chat-subtitle{color:var(--muted);margin:.28rem 0 0;font-size:.76rem;line-height:1.35}.portfolio-chat-close{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-close{border:1px solid color-mix(in oklab,var(--line),transparent 8%)}}.portfolio-chat-close{background:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-close{background:color-mix(in oklab,var(--panel-soft),var(--panel)50%)}}.portfolio-chat-close{color:var(--ink);cursor:pointer;border-radius:.55rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.portfolio-chat-messages{flex-direction:column;flex:1;gap:.56rem;min-height:0;padding:.85rem .92rem;display:flex;overflow:auto}.portfolio-chat-bubble{border:1px solid var(--line);border-radius:.72rem}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-bubble{border:1px solid color-mix(in oklab,var(--line),transparent 14%)}}.portfolio-chat-bubble{max-width:100%;padding:.55rem .62rem;font-size:.87rem;line-height:1.42}.portfolio-chat-bubble p{overflow-wrap:anywhere;margin:0}.portfolio-chat-bubble-user{background:var(--accent-cfd);align-self:flex-end}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-bubble-user{background:color-mix(in oklab,var(--accent-cfd),transparent 86%)}}.portfolio-chat-bubble-user{border-color:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-bubble-user{border-color:color-mix(in oklab,var(--accent-cfd),var(--line)56%)}}.portfolio-chat-bubble-assistant{background:var(--panel-soft);align-self:flex-start}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-bubble-assistant{background:color-mix(in oklab,var(--panel-soft),var(--panel)50%)}}.portfolio-chat-bubble-loading{align-items:center;gap:.42rem;display:inline-flex}.portfolio-chat-spinner{animation:1s linear infinite chatSpin}.portfolio-chat-error{color:#b03a3a;margin:0;padding:0 .92rem .62rem;font-size:.74rem;line-height:1.4}.portfolio-chat-error code{font-family:var(--font-mono),monospace;font-size:.72rem}.portfolio-chat-form{grid-template-columns:1fr auto;gap:.5rem;padding:0 .92rem .82rem;display:grid}.portfolio-chat-input{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-input{border:1px solid color-mix(in oklab,var(--line),transparent 8%)}}.portfolio-chat-input{background:var(--panel-soft);border-radius:.62rem}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-input{background:color-mix(in oklab,var(--panel-soft),var(--panel)52%)}}.portfolio-chat-input{color:var(--ink);min-height:2.38rem;padding:0 .7rem;font-size:.88rem}.portfolio-chat-input:focus-visible{outline:2px solid var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-input:focus-visible{outline:2px solid color-mix(in oklab,var(--page-accent),transparent 40%)}}.portfolio-chat-input:focus-visible{outline-offset:1px}.portfolio-chat-send{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-send{border:1px solid color-mix(in oklab,var(--line),transparent 10%)}}.portfolio-chat-send{background:var(--page-accent);border-radius:.62rem}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-send{background:color-mix(in oklab,var(--page-accent),transparent 84%)}}.portfolio-chat-send{color:var(--ink);cursor:pointer;justify-content:center;align-items:center;min-width:2.55rem;min-height:2.38rem;display:inline-flex}.portfolio-chat-send:disabled{cursor:not-allowed;opacity:.56}.portfolio-chat-reset{border:0;border-top:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-reset{border-top:1px solid color-mix(in oklab,var(--line),transparent 14%)}}.portfolio-chat-reset{color:var(--muted);cursor:pointer;background:0 0;min-height:2.2rem;font-size:.76rem}.portfolio-chat-reset:hover{color:var(--ink)}.portfolio-chat-lib .aui-root,.portfolio-chat-modal-content.aui-root{--aui-background:0 0% 100%;--aui-foreground:220 28% 16%;--aui-card:0 0% 100%;--aui-card-foreground:220 28% 16%;--aui-popover:0 0% 100%;--aui-popover-foreground:220 28% 16%;--aui-primary:202 100% 38%;--aui-primary-foreground:0 0% 100%;--aui-secondary:213 100% 97%;--aui-secondary-foreground:220 28% 16%;--aui-muted:213 100% 97%;--aui-muted-foreground:216 26% 44%;--aui-accent:213 100% 97%;--aui-accent-foreground:220 28% 16%;--aui-border:215 48% 86%;--aui-input:215 48% 86%;--aui-ring:202 100% 38%;--aui-radius:.65rem}[data-theme=dark] .portfolio-chat-lib .aui-root,[data-theme=dark] .portfolio-chat-modal-content.aui-root{--aui-background:218 46% 10%;--aui-foreground:215 70% 94%;--aui-card:218 46% 10%;--aui-card-foreground:215 70% 94%;--aui-popover:218 46% 10%;--aui-popover-foreground:215 70% 94%;--aui-primary:201 100% 64%;--aui-primary-foreground:218 46% 10%;--aui-secondary:217 39% 17%;--aui-secondary-foreground:215 70% 94%;--aui-muted:217 39% 17%;--aui-muted-foreground:218 23% 72%;--aui-accent:217 39% 17%;--aui-accent-foreground:215 70% 94%;--aui-border:216 40% 28%;--aui-input:216 40% 28%;--aui-ring:201 100% 64%}.portfolio-chat-lib .aui-modal-anchor{z-index:70;justify-content:flex-end;align-items:flex-end;width:auto;height:auto;display:flex;position:fixed;bottom:.9rem;left:auto;right:.9rem}@media (min-width:1240px){.portfolio-chat-lib .aui-modal-anchor{left:auto;right:calc((100vw - var(--content-width))/2 + .9rem)}}.portfolio-chat-lib .aui-modal-button{border:1px solid var(--line);width:auto;min-height:2.75rem;padding:.56rem .92rem}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-lib .aui-modal-button{border:1px solid color-mix(in oklab,var(--line),transparent 4%)}}.portfolio-chat-lib .aui-modal-button{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-lib .aui-modal-button{background:color-mix(in oklab,var(--panel),transparent 4%)}}.portfolio-chat-lib .aui-modal-button{color:var(--ink);box-shadow:0 8px 18px color-mix(in srgb,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a,transparent 18%)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-lib .aui-modal-button{box-shadow:0 8px 18px color-mix(in oklab,var(--shadow),transparent 18%)}}.portfolio-chat-lib .aui-modal-button{letter-spacing:.01em;text-wrap:nowrap;border-radius:999px;font-size:.84rem;font-weight:600}.portfolio-chat-modal-content{width:min(420px,100vw - 1.3rem);height:min(80vh,720px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 1.2rem);border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-modal-content{border:1px solid color-mix(in oklab,var(--line),transparent 8%)}}.portfolio-chat-modal-content{background:var(--bg);border-radius:.9rem}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-modal-content{background:color-mix(in oklab,var(--bg),var(--panel)72%)}}.portfolio-chat-modal-content{box-shadow:0 18px 34px color-mix(in srgb,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a,transparent 14%)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-modal-content{box-shadow:0 18px 34px color-mix(in oklab,var(--shadow),transparent 14%)}}.portfolio-chat-modal-content{-webkit-backdrop-filter:blur(10px)saturate(120%);backdrop-filter:blur(10px)saturate(120%)}.portfolio-chat-modal-content .aui-thread-root{background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-modal-content .aui-thread-root{background:color-mix(in oklab,var(--bg),var(--panel)75%)}}.portfolio-chat-modal-content .aui-thread-viewport{padding-top:1.2rem;padding-left:.85rem;padding-right:.85rem}.portfolio-chat-modal-content .aui-thread-viewport-footer{background:var(--bg);padding-bottom:.75rem}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-modal-content .aui-thread-viewport-footer{background:color-mix(in oklab,var(--bg),var(--panel)75%)}}.portfolio-chat-modal-content .aui-thread-welcome-message{text-align:center}.portfolio-chat-modal-content .aui-thread-welcome-suggestions{grid-template-columns:1fr;align-items:stretch;gap:.6rem;display:grid}.portfolio-chat-modal-content .aui-thread-welcome-suggestion{text-align:left;background:var(--panel-soft);flex-basis:auto;align-items:flex-start;width:100%;min-width:0;max-width:none}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-modal-content .aui-thread-welcome-suggestion{background:color-mix(in oklab,var(--panel-soft),var(--panel)45%)}}.portfolio-chat-modal-content .aui-thread-welcome-suggestion{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-modal-content .aui-thread-welcome-suggestion{border-color:color-mix(in oklab,var(--line),transparent 16%)}}.portfolio-chat-modal-content .aui-thread-welcome-suggestion{white-space:normal!important;text-overflow:clip!important;overflow:visible!important}.portfolio-chat-modal-content .aui-thread-welcome-suggestion-text{overflow-wrap:anywhere;word-break:break-word;line-height:1.35;-webkit-box-orient:initial!important;-webkit-line-clamp:initial!important;text-overflow:clip!important;white-space:normal!important;display:block!important;overflow:visible!important}.portfolio-chat-modal-content .aui-thread-followup-suggestions{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start}.portfolio-chat-modal-content .aui-thread-followup-suggestion{overflow-wrap:anywhere;text-align:left;max-width:100%;white-space:normal!important;text-overflow:clip!important;overflow:visible!important}.portfolio-chat-lib .portfolio-chat-launcher-label-open{display:none}.portfolio-chat-lib .aui-modal-button[data-state=open] .portfolio-chat-launcher-label-open{display:inline}.portfolio-chat-lib .aui-modal-button[data-state=open] .portfolio-chat-launcher-label-closed{display:none}.portfolio-chat-modal-content .aui-composer-root{background:var(--panel-soft);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-modal-content .aui-composer-root{background:color-mix(in oklab,var(--panel-soft),var(--panel)45%)}}.portfolio-chat-modal-content .aui-composer-input{min-width:0;line-height:1.35}.portfolio-chat-modal-content .aui-composer-send,.portfolio-chat-modal-content .aui-composer-cancel,.portfolio-chat-modal-content .aui-composer-attach{flex-shrink:0}@keyframes chatSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.footer-meta{font-size:.78rem}.footer-controls{margin-top:.9rem}.eyebrow{letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:700}.panel-label{font-family:var(--font-mono),monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--page-accent);align-items:center;gap:.42rem;margin:0 0 .5rem;font-size:.63rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.panel-label{color:color-mix(in oklab,var(--page-accent),var(--muted)55%)}}.panel-label:before{content:"";background:var(--page-accent);border-radius:999px;width:.34rem;height:.34rem}@supports (color:color-mix(in lab, red, red)){.panel-label:before{background:color-mix(in oklab,var(--page-accent),var(--ink)34%)}}.page-stack{gap:var(--section-gap);flex-direction:column;display:flex}.page-tone-home{--page-accent:var(--accent-cfd)}.page-tone-about{--page-accent:var(--accent-drl)}.page-tone-research{--page-accent:var(--accent-cfd)}.page-tone-publications{--page-accent:var(--accent-hpc)}.page-tone-media{--page-accent:var(--accent-mint)}@supports (color:color-mix(in lab, red, red)){.page-tone-media{--page-accent:color-mix(in oklab,var(--accent-mint),var(--accent-cfd)40%)}}.page-tone-cv{--page-accent:var(--accent-hpc)}.page-tone-contact{--page-accent:var(--accent-drl)}.hero-panel,.hero-side-panel,.focus-card,.project-card,.list-card,.detail-card,.publication-card,.contact-banner{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.hero-panel,.hero-side-panel,.focus-card,.project-card,.list-card,.detail-card,.publication-card,.contact-banner{border:1px solid color-mix(in oklab,var(--line),transparent 20%)}}.hero-panel,.hero-side-panel,.focus-card,.project-card,.list-card,.detail-card,.publication-card,.contact-banner{background:var(--panel);border-radius:1.18rem}@supports (color:color-mix(in lab, red, red)){.hero-panel,.hero-side-panel,.focus-card,.project-card,.list-card,.detail-card,.publication-card,.contact-banner{background:color-mix(in oklab,var(--panel),transparent 0%)}}.hero-panel,.hero-side-panel,.focus-card,.project-card,.list-card,.detail-card,.publication-card,.contact-banner{box-shadow:0 14px 34px var(--shadow)}.content-section{padding:.1rem 0;transition:transform .32s,opacity .32s}.hero-grid{gap:1rem;display:grid}.hero-panel,.hero-side-panel{padding:2.05rem}.hero-title{font-family:var(--font-display),serif;letter-spacing:-.02em;margin:.6rem 0 0;font-size:clamp(2.15rem,5.1vw,4.4rem);line-height:.96}.hero-subtitle{color:var(--ink);margin-top:.65rem;font-size:clamp(1.05rem,2.2vw,1.4rem)}@supports (color:color-mix(in lab, red, red)){.hero-subtitle{color:color-mix(in oklab,var(--ink),var(--muted)30%)}}.hero-affiliation{max-width:74ch;color:var(--ink);margin-top:.54rem;font-size:.9rem}@supports (color:color-mix(in lab, red, red)){.hero-affiliation{color:color-mix(in oklab,var(--ink),var(--muted)44%)}}.hero-copy{max-width:58ch;color:var(--muted);margin-top:1.08rem;font-size:1.04rem}.btn{border-radius:999px;justify-content:center;align-items:center;gap:.42rem;min-height:2.7rem;padding:0 1rem;font-size:.92rem;font-weight:600;text-decoration:none;transition:transform .22s,box-shadow .22s,border-color .22s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{border:1px solid var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.btn-primary{border:1px solid color-mix(in oklab,var(--page-accent),white 14%)}}.btn-primary{background:linear-gradient(120deg,var(--page-accent),var(--page-accent))}@supports (color:color-mix(in lab, red, red)){.btn-primary{background:linear-gradient(120deg,color-mix(in oklab,var(--page-accent),transparent 42%),var(--page-accent))}}.btn-primary{color:#041327;box-shadow:0 12px 26px var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.btn-primary{box-shadow:0 12px 26px color-mix(in oklab,var(--page-accent),transparent 75%)}}.btn-secondary{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.btn-secondary{border:1px solid color-mix(in oklab,var(--line),transparent 12%)}}.btn-secondary{background:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){.btn-secondary{background:color-mix(in oklab,var(--panel-soft),var(--panel)46%)}}.btn-secondary{color:var(--ink)}.cta-row{flex-wrap:wrap;gap:.66rem;margin-top:1.3rem;display:flex}.metric-list{gap:.95rem;margin:.7rem 0 0;padding:0;list-style:none;display:grid}.metric-value{font-family:var(--font-display),serif;align-items:center;gap:.45rem;margin:0;font-size:1.65rem;line-height:1;display:inline-flex}.metric-label{color:var(--muted);margin-top:.2rem;font-size:.92rem;display:block}.snapshot-list{gap:.66rem;margin:.78rem 0 0;padding:0;list-style:none;display:grid}.snapshot-list li{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.snapshot-list li{border:1px solid color-mix(in oklab,var(--line),transparent 16%)}}.snapshot-list li{background:var(--panel-soft);border-radius:.7rem}@supports (color:color-mix(in lab, red, red)){.snapshot-list li{background:color-mix(in oklab,var(--panel-soft),var(--panel)48%)}}.snapshot-list li{padding:.58rem .66rem}.snapshot-head{font-family:var(--font-mono),monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--page-accent);align-items:center;gap:.4rem;font-size:.73rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.snapshot-head{color:color-mix(in oklab,var(--page-accent),var(--ink)30%)}}.snapshot-body{color:var(--muted);margin:.36rem 0 0;font-size:.88rem;line-height:1.38}.mini-pipeline{grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:.36rem;margin-top:.9rem;display:grid}.mini-node{border:1px solid var(--line);justify-content:center;align-items:center;min-height:1.72rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.mini-node{border:1px solid color-mix(in oklab,var(--line),transparent 12%)}}.mini-node{background:var(--panel-soft);border-radius:.55rem}@supports (color:color-mix(in lab, red, red)){.mini-node{background:color-mix(in oklab,var(--panel-soft),var(--panel)50%)}}.mini-node{font-family:var(--font-mono),monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);padding:0 .42rem;font-size:.65rem}@supports (color:color-mix(in lab, red, red)){.mini-node{color:color-mix(in oklab,var(--ink),var(--muted)28%)}}.mini-link{background:var(--page-accent);height:1px;position:relative}@supports (color:color-mix(in lab, red, red)){.mini-link{background:color-mix(in oklab,var(--page-accent),var(--line)42%)}}.mini-link:after{content:"";border-top:1px solid var(--page-accent);width:.28rem;height:.28rem;position:absolute;top:50%;right:-.04rem}@supports (color:color-mix(in lab, red, red)){.mini-link:after{border-top:1px solid color-mix(in oklab,var(--page-accent),var(--line)42%)}}.mini-link:after{border-right:1px solid var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.mini-link:after{border-right:1px solid color-mix(in oklab,var(--page-accent),var(--line)42%)}}.mini-link:after{transform:translateY(-50%)rotate(45deg)}.metric-list li:first-child .metric-value{color:var(--accent-drl)}@supports (color:color-mix(in lab, red, red)){.metric-list li:first-child .metric-value{color:color-mix(in oklab,var(--accent-drl),var(--ink)30%)}}.metric-list li:nth-child(2) .metric-value{color:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.metric-list li:nth-child(2) .metric-value{color:color-mix(in oklab,var(--accent-cfd),var(--ink)30%)}}.metric-list li:nth-child(3) .metric-value{color:var(--accent-hpc)}@supports (color:color-mix(in lab, red, red)){.metric-list li:nth-child(3) .metric-value{color:color-mix(in oklab,var(--accent-hpc),var(--ink)30%)}}.section-heading{max-width:72ch;padding:.38rem 0 .18rem;position:relative}.section-heading:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 45%,var(--page-accent)0,transparent 74%);width:min(30rem,100%);height:6.8rem;position:absolute;top:-1.2rem;left:-.8rem}@supports (color:color-mix(in lab, red, red)){.section-heading:before{background:radial-gradient(circle at 20% 45%,color-mix(in oklab,var(--page-accent),transparent 72%)0,transparent 74%)}}.section-heading:before{filter:blur(18px);z-index:-1}.section-title{max-width:28ch;font-family:var(--font-display),serif;margin:.4rem 0 0;font-size:clamp(1.5rem,3.6vw,2.6rem);line-height:1.05}.section-description{color:var(--muted);margin-top:.75rem}.focus-grid,.project-grid,.skills-grid,.publication-grid,.media-grid,.detail-grid{gap:1.14rem;margin-top:1.26rem;display:grid}.diag-grid{gap:1rem;margin-top:1.26rem;display:grid}.diag-card{flex-direction:column;gap:.72rem;display:flex}.diag-flow{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.diag-node{border:1px solid var(--line);align-items:center;min-height:2.05rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.diag-node{border:1px solid color-mix(in oklab,var(--line),transparent 14%)}}.diag-node{background:var(--panel-soft);border-radius:.64rem}@supports (color:color-mix(in lab, red, red)){.diag-node{background:color-mix(in oklab,var(--panel-soft),var(--panel)52%)}}.diag-node{color:var(--ink);padding:.32rem .6rem;font-size:.79rem;line-height:1.32}@supports (color:color-mix(in lab, red, red)){.diag-node{color:color-mix(in oklab,var(--ink),var(--muted)22%)}}.diag-edge{background:var(--page-accent);width:1.15rem;height:1px;position:relative}@supports (color:color-mix(in lab, red, red)){.diag-edge{background:color-mix(in oklab,var(--page-accent),var(--line)40%)}}.diag-edge{flex:none}.diag-edge:after{content:"";border-top:1px solid var(--page-accent);width:.34rem;height:.34rem;position:absolute;top:50%;right:-.04rem}@supports (color:color-mix(in lab, red, red)){.diag-edge:after{border-top:1px solid color-mix(in oklab,var(--page-accent),var(--line)40%)}}.diag-edge:after{border-right:1px solid var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.diag-edge:after{border-right:1px solid color-mix(in oklab,var(--page-accent),var(--line)40%)}}.diag-edge:after{transform:translateY(-50%)rotate(45deg)}.focus-grid>*,.project-grid>*,.skills-grid>*,.publication-grid>*,.media-grid>*,.detail-grid>*{opacity:0;animation:.62s cubic-bezier(.19,1,.22,1) forwards rise;transform:translateY(10px)}.focus-card,.project-card,.publication-card,.detail-card{padding:var(--card-space)}.publication-card{flex-direction:column;gap:.42rem;min-width:0;display:flex}.focus-card h3,.project-card h3,.publication-card h3,.detail-card h3{margin:0;font-size:1.1rem}.focus-card p,.project-card p,.publication-card p,.detail-card p,.list-card p{color:var(--muted);margin:.42rem 0 0}.focus-card{transition:transform .26s,border-color .26s,box-shadow .26s;position:relative;overflow:hidden}.focus-card:hover,.detail-card:hover,.publication-card:hover{border-color:var(--page-accent);transform:translateY(-4px)rotateX(1.1deg)rotateY(-.8deg)}@supports (color:color-mix(in lab, red, red)){.focus-card:hover,.detail-card:hover,.publication-card:hover{border-color:color-mix(in oklab,var(--page-accent),var(--line)48%)}}.focus-card:hover,.detail-card:hover,.publication-card:hover{box-shadow:0 18px 36px color-mix(in srgb,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a,transparent 24%)}@supports (color:color-mix(in lab, red, red)){.focus-card:hover,.detail-card:hover,.publication-card:hover{box-shadow:0 18px 36px color-mix(in oklab,var(--shadow),transparent 24%)}}.focus-motif{aspect-ratio:1.8;opacity:.34;pointer-events:none;filter:blur(.2px);width:76%;position:absolute;inset:auto -10% -25% auto}.focus-card>:not(.focus-motif){z-index:1;position:relative}.motif-drl{background:radial-gradient(circle at 20% 45%,var(--accent-drl)0 2px,transparent 3px),radial-gradient(circle at 48% 38%,var(--accent-drl)0 2px,transparent 3px),radial-gradient(circle at 70% 64%,var(--accent-drl)0 2px,transparent 3px),linear-gradient(150deg,transparent 45%,var(--accent-drl)45% 47%,transparent 47% 58%,var(--accent-drl)58% 60%,transparent 60%)}@supports (color:color-mix(in lab, red, red)){.motif-drl{background:radial-gradient(circle at 20% 45%,color-mix(in oklab,var(--accent-drl),transparent 35%)0 2px,transparent 3px),radial-gradient(circle at 48% 38%,color-mix(in oklab,var(--accent-drl),transparent 38%)0 2px,transparent 3px),radial-gradient(circle at 70% 64%,color-mix(in oklab,var(--accent-drl),transparent 38%)0 2px,transparent 3px),linear-gradient(150deg,transparent 45%,color-mix(in oklab,var(--accent-drl),transparent 70%)45% 47%,transparent 47% 58%,color-mix(in oklab,var(--accent-drl),transparent 74%)58% 60%,transparent 60%)}}.motif-cfd{background:radial-gradient(130% 44% at 15% 30%,transparent 64%,var(--accent-cfd)65%,transparent 66%),radial-gradient(130% 44% at 36% 57%,transparent 64%,var(--accent-cfd)65%,transparent 66%),radial-gradient(130% 44% at 64% 74%,transparent 64%,var(--accent-cfd)65%,transparent 66%)}@supports (color:color-mix(in lab, red, red)){.motif-cfd{background:radial-gradient(130% 44% at 15% 30%,transparent 64%,color-mix(in oklab,var(--accent-cfd),transparent 74%)65%,transparent 66%),radial-gradient(130% 44% at 36% 57%,transparent 64%,color-mix(in oklab,var(--accent-cfd),transparent 78%)65%,transparent 66%),radial-gradient(130% 44% at 64% 74%,transparent 64%,color-mix(in oklab,var(--accent-cfd),transparent 80%)65%,transparent 66%)}}.motif-mesh{background:linear-gradient(to right,var(--accent-cfd)1px,transparent 1px),linear-gradient(to bottom,var(--accent-cfd)1px,transparent 1px)}@supports (color:color-mix(in lab, red, red)){.motif-mesh{background:linear-gradient(to right,color-mix(in oklab,var(--accent-cfd),transparent 72%)1px,transparent 1px),linear-gradient(to bottom,color-mix(in oklab,var(--accent-cfd),transparent 74%)1px,transparent 1px)}}.motif-mesh{background-size:16px 16px}.motif-hpc{background:linear-gradient(112deg,var(--accent-hpc)0 20%,transparent 20% 40%,var(--accent-hpc)40% 52%,transparent 52%)}@supports (color:color-mix(in lab, red, red)){.motif-hpc{background:linear-gradient(112deg,color-mix(in oklab,var(--accent-hpc),transparent 86%)0 20%,transparent 20% 40%,color-mix(in oklab,var(--accent-hpc),transparent 82%)40% 52%,transparent 52%)}}.motif-viz{background:conic-gradient(from 180deg at 40% 52%,var(--accent-cyan)0 18%,transparent 18% 42%,var(--accent-amber)42% 58%,transparent 58%)}@supports (color:color-mix(in lab, red, red)){.motif-viz{background:conic-gradient(from 180deg at 40% 52%,color-mix(in oklab,var(--accent-cyan),transparent 78%)0 18%,transparent 18% 42%,color-mix(in oklab,var(--accent-amber),transparent 80%)42% 58%,transparent 58%)}}.project-card{transition:transform .28s,border-color .28s,box-shadow .28s}.project-card:hover{border-color:var(--page-accent);transform:translateY(-5px)rotateX(1.3deg)rotateY(-.9deg)}@supports (color:color-mix(in lab, red, red)){.project-card:hover{border-color:color-mix(in oklab,var(--page-accent),var(--line)46%)}}.project-card:hover{box-shadow:0 20px 40px color-mix(in srgb,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a,transparent 20%)}@supports (color:color-mix(in lab, red, red)){.project-card:hover{box-shadow:0 20px 40px color-mix(in oklab,var(--shadow),transparent 20%)}}.project-year{letter-spacing:.13em;text-transform:uppercase;color:var(--accent-mint);margin:0;font-size:.73rem;font-weight:700}@supports (color:color-mix(in lab, red, red)){.project-year{color:color-mix(in oklab,var(--accent-mint),var(--accent-cyan)36%)}}.chip-row,.link-row,.bullet-list{margin:.95rem 0 0;padding:0;list-style:none}.chip-row{flex-wrap:wrap;gap:.38rem;display:flex}.chip{border:1px solid var(--line);border-radius:999px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.chip{border:1px solid color-mix(in oklab,var(--line),transparent 10%)}}.chip{background:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){.chip{background:color-mix(in oklab,var(--panel-soft),var(--panel)52%)}}.chip{color:var(--ink);padding:.28rem .6rem;font-size:.73rem}@supports (color:color-mix(in lab, red, red)){.chip{color:color-mix(in oklab,var(--ink),var(--muted)35%)}}.chip-tone-drl{border-color:var(--accent-drl)}@supports (color:color-mix(in lab, red, red)){.chip-tone-drl{border-color:color-mix(in oklab,var(--accent-drl),var(--line)38%)}}.chip-tone-drl{background:var(--accent-drl)}@supports (color:color-mix(in lab, red, red)){.chip-tone-drl{background:color-mix(in oklab,var(--accent-drl),transparent 88%)}}.chip-tone-cfd{border-color:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.chip-tone-cfd{border-color:color-mix(in oklab,var(--accent-cfd),var(--line)40%)}}.chip-tone-cfd{background:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.chip-tone-cfd{background:color-mix(in oklab,var(--accent-cfd),transparent 90%)}}.chip-tone-hpc{border-color:var(--accent-hpc)}@supports (color:color-mix(in lab, red, red)){.chip-tone-hpc{border-color:color-mix(in oklab,var(--accent-hpc),var(--line)44%)}}.chip-tone-hpc{background:var(--accent-hpc)}@supports (color:color-mix(in lab, red, red)){.chip-tone-hpc{background:color-mix(in oklab,var(--accent-hpc),transparent 89%)}}.chip-with-icon,.link-with-icon,.icon-text{align-items:center;gap:.36rem;display:inline-flex}.publication-card .icon-text{align-items:flex-start;gap:.42rem;display:flex}.publication-card h3.icon-text{line-height:1.25}.publication-card .icon-text>:not(.icon-inline){min-width:0}.icon-inline{width:.98rem;height:.98rem;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .24s,color .24s,opacity .24s}.icon-text .icon-inline,.metric-value .icon-inline,.nav-link .icon-inline,.text-link .icon-inline{color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.icon-text .icon-inline,.metric-value .icon-inline,.nav-link .icon-inline,.text-link .icon-inline{color:color-mix(in oklab,var(--page-accent),var(--ink)24%)}}.focus-card:hover .icon-inline,.project-card:hover .icon-inline,.detail-card:hover .icon-inline,.nav-link:hover .icon-inline,.text-link:hover .icon-inline{transform:translateY(-1px)scale(1.08)}.text-link{color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.text-link{color:color-mix(in oklab,var(--page-accent),white 12%)}}.text-link{font-size:.89rem;font-weight:600;text-decoration:none;transition:color .18s}.text-link:hover{color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.text-link:hover{color:color-mix(in oklab,var(--page-accent),var(--ink)18%)}}.text-link:hover{text-decoration:underline}.skill-link{color:inherit;text-decoration:none;transition:color .17s}.skill-link:hover,.skill-link:focus-visible{color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.skill-link:hover,.skill-link:focus-visible{color:color-mix(in oklab,var(--page-accent),var(--ink)38%)}}.link-row{flex-wrap:wrap;align-items:center;gap:.72rem;display:flex}.list-card{padding:1.2rem}.publication-row+.publication-row{border-top:1px solid var(--line);margin-top:.9rem;padding-top:.9rem}@supports (color:color-mix(in lab, red, red)){.publication-row+.publication-row{border-top:1px solid color-mix(in oklab,var(--line),transparent 22%)}}.publication-title{color:var(--ink);margin:0;font-size:1.02rem}.publication-meta{overflow-wrap:anywhere;word-break:normal;margin:.35rem 0 0;font-size:.9rem}.status-badge{border:1px solid var(--accent-cfd);border-radius:999px;margin:0;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.status-badge{border:1px solid color-mix(in oklab,var(--accent-cfd),var(--line)50%)}}.status-badge{background:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.status-badge{background:color-mix(in oklab,var(--accent-cfd),transparent 88%)}}.status-badge{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.status-badge{color:color-mix(in oklab,var(--ink),var(--accent-cfd)24%)}}.status-badge{text-transform:uppercase;letter-spacing:.08em;padding:.2rem .5rem;font-size:.71rem}.publication-card .status-badge{align-self:flex-start}.publication-card .link-row{margin-top:auto;padding-top:.1rem}.status-badge[data-status=published]{border-color:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.status-badge[data-status=published]{border-color:color-mix(in oklab,var(--accent-cfd),var(--line)40%)}}.status-badge[data-status=published]{background:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.status-badge[data-status=published]{background:color-mix(in oklab,var(--accent-cfd),transparent 86%)}}.status-badge[data-status=in-review],.status-badge[data-status=submitted]{border-color:var(--accent-hpc)}@supports (color:color-mix(in lab, red, red)){.status-badge[data-status=in-review],.status-badge[data-status=submitted]{border-color:color-mix(in oklab,var(--accent-hpc),var(--line)42%)}}.status-badge[data-status=in-review],.status-badge[data-status=submitted]{background:var(--accent-hpc)}@supports (color:color-mix(in lab, red, red)){.status-badge[data-status=in-review],.status-badge[data-status=submitted]{background:color-mix(in oklab,var(--accent-hpc),transparent 86%)}}.status-badge[data-status=presented],.status-badge[data-status=preprint]{border-color:var(--accent-drl)}@supports (color:color-mix(in lab, red, red)){.status-badge[data-status=presented],.status-badge[data-status=preprint]{border-color:color-mix(in oklab,var(--accent-drl),var(--line)44%)}}.status-badge[data-status=presented],.status-badge[data-status=preprint]{background:var(--accent-drl)}@supports (color:color-mix(in lab, red, red)){.status-badge[data-status=presented],.status-badge[data-status=preprint]{background:color-mix(in oklab,var(--accent-drl),transparent 87%)}}.copy-button{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.copy-button{border:1px solid color-mix(in oklab,var(--line),transparent 8%)}}.copy-button{color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .65rem;font-size:.77rem}.contact-banner{padding:1.6rem}.contact-banner h2{max-width:26ch;font-family:var(--font-display),serif;margin:.35rem 0 0;font-size:clamp(1.4rem,3.4vw,2.35rem);line-height:1.05}.contact-banner p{max-width:60ch;color:var(--muted);margin-top:.75rem}.contact-grid{align-items:stretch}.contact-card{flex-direction:column;justify-content:flex-start;gap:.56rem;display:flex}.contact-card h3{align-items:flex-start;min-height:2.1rem}.contact-link{overflow-wrap:anywhere;margin-top:.08rem;line-height:1.38;display:block}.bullet-list{gap:.68rem;padding-left:1.05rem;display:grid}.bullet-list li::marker{color:var(--accent-cyan)}.bullet-list li{margin-left:0}.bullet-list li p{margin:.24rem 0 0}.bullet-list li p:first-child{margin-top:0}.filter-row{flex-wrap:wrap;gap:.45rem;display:flex}.filter-chip{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.filter-chip{border:1px solid color-mix(in oklab,var(--line),transparent 10%)}}.filter-chip{color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.36rem .72rem;font-size:.8rem;transition:border-color .17s,background-color .17s,color .17s,transform .17s}.filter-chip:hover{transform:translateY(-1px)}.filter-chip-tone-drl{border-color:var(--accent-drl)}@supports (color:color-mix(in lab, red, red)){.filter-chip-tone-drl{border-color:color-mix(in oklab,var(--accent-drl),var(--line)56%)}}.filter-chip-tone-cfd{border-color:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.filter-chip-tone-cfd{border-color:color-mix(in oklab,var(--accent-cfd),var(--line)56%)}}.filter-chip-tone-hpc{border-color:var(--accent-hpc)}@supports (color:color-mix(in lab, red, red)){.filter-chip-tone-hpc{border-color:color-mix(in oklab,var(--accent-hpc),var(--line)56%)}}.filter-chip-active{color:var(--ink);border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.filter-chip-active{border-color:color-mix(in oklab,var(--page-accent),var(--line)44%)}}.filter-chip-active{background:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.filter-chip-active{background:color-mix(in oklab,var(--page-accent),transparent 88%)}}.reveal{opacity:0;animation:.7s cubic-bezier(.19,1,.22,1) forwards rise;transform:translateY(14px)}.page-stack>.reveal:first-child{animation-delay:40ms}.page-stack>.reveal:nth-child(2){animation-delay:.11s}.page-stack>.reveal:nth-child(3){animation-delay:.18s}.page-stack>.reveal:nth-child(4){animation-delay:.25s}.project-grid>:nth-child(2),.focus-grid>:nth-child(2),.publication-grid>:nth-child(2),.media-grid>:nth-child(2),.detail-grid>:nth-child(2){animation-delay:90ms}.project-grid>:nth-child(3),.focus-grid>:nth-child(3),.publication-grid>:nth-child(3),.media-grid>:nth-child(3),.detail-grid>:nth-child(3){animation-delay:.15s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes streamDrift{0%{background-position:0 0,0 0,0 0}to{background-position:760px 0,-840px 0,720px 0}}[data-style=liquid] body{background:radial-gradient(circle at 12% 8%,var(--accent-cyan)0,transparent 34%),radial-gradient(circle at 88% 14%,var(--accent-amber)0,transparent 36%),radial-gradient(circle at 52% 100%,var(--accent-mint)0,transparent 36%),linear-gradient(180deg,var(--panel-soft)0%,transparent 38%),var(--bg)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] body{background:radial-gradient(circle at 12% 8%,color-mix(in oklab,var(--accent-cyan),transparent 80%)0,transparent 34%),radial-gradient(circle at 88% 14%,color-mix(in oklab,var(--accent-amber),transparent 78%)0,transparent 36%),radial-gradient(circle at 52% 100%,color-mix(in oklab,var(--accent-mint),transparent 88%)0,transparent 36%),linear-gradient(180deg,color-mix(in oklab,var(--panel-soft),transparent 52%)0%,transparent 38%),var(--bg)}}[data-style=liquid] .streamline-overlay{opacity:.24;filter:blur(.4px)}[data-style=liquid] .mesh-overlay{opacity:.58;-webkit-mask-image:radial-gradient(circle at 50% 10%,#000 18%,#0000 84%);mask-image:radial-gradient(circle at 50% 10%,#000 18%,#0000 84%)}[data-style=liquid] .glow{opacity:.24;filter:blur(112px)}[data-style=liquid] .site-header{border:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .site-header{border:1px solid color-mix(in oklab,var(--ink),transparent 86%)}}[data-style=liquid] .site-header{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .site-header{background:color-mix(in oklab,var(--panel),transparent 44%)}}[data-style=liquid] .site-header{box-shadow:0 16px 34px var(--shadow),inset 0 1px 0 #ffffff8f;-webkit-backdrop-filter:blur(20px)saturate(148%);backdrop-filter:blur(20px)saturate(148%)}@supports (color:lab(0% 0 0)){[data-style=liquid] .site-header{box-shadow:0 16px 34px var(--shadow),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.56)}}[data-style=liquid] .nav-link{background:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .nav-link{background:color-mix(in oklab,var(--panel-soft),transparent 24%)}}[data-style=liquid] .nav-link{-webkit-backdrop-filter:blur(10px)saturate(130%);backdrop-filter:blur(10px)saturate(130%)}[data-style=liquid] .nav-link-active{background:linear-gradient(145deg,var(--page-accent),var(--panel-soft))}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .nav-link-active{background:linear-gradient(145deg,color-mix(in oklab,var(--page-accent),transparent 82%),color-mix(in oklab,var(--panel-soft),transparent 28%))}}[data-style=liquid] .hero-panel,[data-style=liquid] .hero-side-panel,[data-style=liquid] .focus-card,[data-style=liquid] .project-card,[data-style=liquid] .list-card,[data-style=liquid] .detail-card,[data-style=liquid] .publication-card,[data-style=liquid] .contact-banner{border:1px solid var(--ink);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .hero-panel,[data-style=liquid] .hero-side-panel,[data-style=liquid] .focus-card,[data-style=liquid] .project-card,[data-style=liquid] .list-card,[data-style=liquid] .detail-card,[data-style=liquid] .publication-card,[data-style=liquid] .contact-banner{border:1px solid color-mix(in oklab,var(--ink),transparent 88%)}}[data-style=liquid] .hero-panel,[data-style=liquid] .hero-side-panel,[data-style=liquid] .focus-card,[data-style=liquid] .project-card,[data-style=liquid] .list-card,[data-style=liquid] .detail-card,[data-style=liquid] .publication-card,[data-style=liquid] .contact-banner{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .hero-panel,[data-style=liquid] .hero-side-panel,[data-style=liquid] .focus-card,[data-style=liquid] .project-card,[data-style=liquid] .list-card,[data-style=liquid] .detail-card,[data-style=liquid] .publication-card,[data-style=liquid] .contact-banner{background:color-mix(in oklab,var(--panel),transparent 38%)}}[data-style=liquid] .hero-panel,[data-style=liquid] .hero-side-panel,[data-style=liquid] .focus-card,[data-style=liquid] .project-card,[data-style=liquid] .list-card,[data-style=liquid] .detail-card,[data-style=liquid] .publication-card,[data-style=liquid] .contact-banner{box-shadow:0 20px 42px var(--shadow),inset 0 1px 0 #ffffff94;-webkit-backdrop-filter:blur(16px)saturate(148%);backdrop-filter:blur(16px)saturate(148%)}@supports (color:lab(0% 0 0)){[data-style=liquid] .hero-panel,[data-style=liquid] .hero-side-panel,[data-style=liquid] .focus-card,[data-style=liquid] .project-card,[data-style=liquid] .list-card,[data-style=liquid] .detail-card,[data-style=liquid] .publication-card,[data-style=liquid] .contact-banner{box-shadow:0 20px 42px var(--shadow),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.58)}}[data-style=liquid] .hero-panel,[data-style=liquid] .hero-side-panel,[data-style=liquid] .contact-banner{-webkit-backdrop-filter:blur(22px)saturate(156%);backdrop-filter:blur(22px)saturate(156%);box-shadow:0 22px 46px var(--shadow),inset 0 1px 0 #ffffff9e}@supports (color:lab(0% 0 0)){[data-style=liquid] .hero-panel,[data-style=liquid] .hero-side-panel,[data-style=liquid] .contact-banner{box-shadow:0 22px 46px var(--shadow),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.62)}}[data-style=liquid] .hero-panel:before,[data-style=liquid] .hero-side-panel:before,[data-style=liquid] .focus-card:before,[data-style=liquid] .project-card:before,[data-style=liquid] .list-card:before,[data-style=liquid] .detail-card:before,[data-style=liquid] .publication-card:before,[data-style=liquid] .contact-banner:before{content:"";pointer-events:none;background:linear-gradient(150deg,#ffffff1a 0%,transparent 34%,var(--accent-cyan)100%);position:absolute;inset:0}@supports (color:lab(0% 0 0)){[data-style=liquid] .hero-panel:before,[data-style=liquid] .hero-side-panel:before,[data-style=liquid] .focus-card:before,[data-style=liquid] .project-card:before,[data-style=liquid] .list-card:before,[data-style=liquid] .detail-card:before,[data-style=liquid] .publication-card:before,[data-style=liquid] .contact-banner:before{background:linear-gradient(150deg,lab(100% -.0000298023 .0000119209/.1) 0%,transparent 34%,var(--accent-cyan)100%)}}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .hero-panel:before,[data-style=liquid] .hero-side-panel:before,[data-style=liquid] .focus-card:before,[data-style=liquid] .project-card:before,[data-style=liquid] .list-card:before,[data-style=liquid] .detail-card:before,[data-style=liquid] .publication-card:before,[data-style=liquid] .contact-banner:before{background:linear-gradient(150deg,lab(100% -.0000298023 .0000119209/.1) 0%,transparent 34%,color-mix(in oklab,var(--accent-cyan),transparent 95%)100%)}}[data-style=liquid] .hero-panel:after,[data-style=liquid] .hero-side-panel:after,[data-style=liquid] .focus-card:after,[data-style=liquid] .project-card:after,[data-style=liquid] .list-card:after,[data-style=liquid] .detail-card:after,[data-style=liquid] .publication-card:after,[data-style=liquid] .contact-banner:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #ffffff29;border:1px solid lab(100% -.0000298023 .0000119209/.16);position:absolute;inset:1px;-webkit-mask-image:linear-gradient(#000 0 26%,#0000 54%);mask-image:linear-gradient(#000 0 26%,#0000 54%)}[data-style=liquid] .hero-panel>*,[data-style=liquid] .hero-side-panel>*,[data-style=liquid] .focus-card>*,[data-style=liquid] .project-card>*,[data-style=liquid] .list-card>*,[data-style=liquid] .detail-card>*,[data-style=liquid] .publication-card>*,[data-style=liquid] .contact-banner>*{z-index:1;position:relative}[data-style=liquid] .btn-primary{border:1px solid var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .btn-primary{border:1px solid color-mix(in oklab,var(--page-accent),white 24%)}}[data-style=liquid] .btn-primary{background:linear-gradient(135deg,var(--page-accent),var(--page-accent))}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .btn-primary{background:linear-gradient(135deg,color-mix(in oklab,var(--page-accent),white 18%),color-mix(in oklab,var(--page-accent),transparent 12%))}}[data-style=liquid] .btn-primary{box-shadow:0 14px 30px var(--page-accent),inset 0 1px 0 #fff9}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .btn-primary{box-shadow:0 14px 30px color-mix(in oklab,var(--page-accent),transparent 72%),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.6)}}[data-style=liquid] .btn-secondary{border:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .btn-secondary{border:1px solid color-mix(in oklab,var(--ink),transparent 86%)}}[data-style=liquid] .btn-secondary{background:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .btn-secondary{background:color-mix(in oklab,var(--panel-soft),transparent 28%)}}[data-style=liquid] .btn-secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}[data-style=liquid] .chip,[data-style=liquid] .filter-chip,[data-style=liquid] .status-badge,[data-style=liquid] .copy-button{-webkit-backdrop-filter:blur(10px)saturate(130%);backdrop-filter:blur(10px)saturate(130%)}[data-style=liquid] .theme-toggle,[data-style=liquid] .style-picker{border:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .theme-toggle,[data-style=liquid] .style-picker{border:1px solid color-mix(in oklab,var(--ink),transparent 84%)}}[data-style=liquid] .theme-toggle,[data-style=liquid] .style-picker{background:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .theme-toggle,[data-style=liquid] .style-picker{background:color-mix(in oklab,var(--panel-soft),transparent 28%)}}[data-style=liquid] .theme-toggle,[data-style=liquid] .style-picker{-webkit-backdrop-filter:blur(10px)saturate(132%);backdrop-filter:blur(10px)saturate(132%);box-shadow:inset 0 1px #ffffff8a;box-shadow:inset 0 1px lab(100% -.0000298023 .0000119209/.54)}[data-style=liquid] .style-select{border:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .style-select{border:1px solid color-mix(in oklab,var(--ink),transparent 88%)}}[data-style=liquid] .style-select{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .style-select{background:color-mix(in oklab,var(--panel),transparent 24%)}}[data-style=liquid] .site-footer{border-top:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .site-footer{border-top:1px solid color-mix(in oklab,var(--ink),transparent 84%)}}[data-performance=balanced] .streamline-overlay{display:none}[data-performance=balanced] .cfd-bg-overlay{opacity:.62}[data-performance=balanced] .mesh-overlay{opacity:.32;-webkit-mask-image:none;mask-image:none}[data-performance=balanced] .glow{opacity:.14;filter:blur(58px)}[data-performance=balanced] .site-header{-webkit-backdrop-filter:blur(8px)saturate(120%);backdrop-filter:blur(8px)saturate(120%)}[data-performance=balanced] .nav-link{-webkit-backdrop-filter:blur(4px)saturate(114%);backdrop-filter:blur(4px)saturate(114%)}[data-performance=balanced] .hero-panel,[data-performance=balanced] .hero-side-panel,[data-performance=balanced] .focus-card,[data-performance=balanced] .project-card,[data-performance=balanced] .list-card,[data-performance=balanced] .detail-card,[data-performance=balanced] .publication-card,[data-performance=balanced] .contact-banner{-webkit-backdrop-filter:blur(7px)saturate(118%);backdrop-filter:blur(7px)saturate(118%);box-shadow:0 12px 24px color-mix(in srgb,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a,transparent 20%),inset 0 1px 0 #ffffff85}@supports (color:color-mix(in lab, red, red)){[data-performance=balanced] .hero-panel,[data-performance=balanced] .hero-side-panel,[data-performance=balanced] .focus-card,[data-performance=balanced] .project-card,[data-performance=balanced] .list-card,[data-performance=balanced] .detail-card,[data-performance=balanced] .publication-card,[data-performance=balanced] .contact-banner{box-shadow:0 12px 24px color-mix(in oklab,var(--shadow),transparent 20%),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.52)}}[data-performance=balanced] .hero-panel:after,[data-performance=balanced] .hero-side-panel:after,[data-performance=balanced] .focus-card:after,[data-performance=balanced] .project-card:after,[data-performance=balanced] .list-card:after,[data-performance=balanced] .detail-card:after,[data-performance=balanced] .publication-card:after,[data-performance=balanced] .contact-banner:after{content:none}[data-performance=balanced] .focus-motif{opacity:.2}[data-performance=balanced] .focus-grid>*,[data-performance=balanced] .project-grid>*,[data-performance=balanced] .skills-grid>*,[data-performance=balanced] .publication-grid>*,[data-performance=balanced] .media-grid>*,[data-performance=balanced] .detail-grid>*{opacity:1;animation:none;transform:none}[data-performance=balanced] .reveal{animation-duration:.38s}[data-performance=balanced] .project-card:hover,[data-performance=balanced] .focus-card:hover,[data-performance=balanced] .detail-card:hover,[data-performance=balanced] .publication-card:hover{box-shadow:0 12px 24px color-mix(in srgb,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a,transparent 20%),inset 0 1px 0 #ffffff85;transform:none}@supports (color:color-mix(in lab, red, red)){[data-performance=balanced] .project-card:hover,[data-performance=balanced] .focus-card:hover,[data-performance=balanced] .detail-card:hover,[data-performance=balanced] .publication-card:hover{box-shadow:0 12px 24px color-mix(in oklab,var(--shadow),transparent 20%),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.52)}}[data-performance=balanced] .nav-link:hover,[data-performance=balanced] .btn:hover,[data-performance=balanced] .focus-card:hover .icon-inline,[data-performance=balanced] .project-card:hover .icon-inline,[data-performance=balanced] .detail-card:hover .icon-inline,[data-performance=balanced] .nav-link:hover .icon-inline,[data-performance=balanced] .text-link:hover .icon-inline{transform:none}[data-performance=balanced] .icon-inline,[data-performance=balanced] .focus-card,[data-performance=balanced] .project-card,[data-performance=balanced] .detail-card,[data-performance=balanced] .publication-card,[data-performance=balanced] .nav-link,[data-performance=balanced] .btn{transition-duration:.12s}[data-performance=balanced] .portfolio-chat-panel,[data-performance=balanced] .portfolio-chat-launcher{-webkit-backdrop-filter:blur(7px)saturate(116%);backdrop-filter:blur(7px)saturate(116%)}[data-performance=high] .streamline-overlay{display:none}[data-performance=high] .cfd-bg-overlay{display:none!important}[data-performance=high] .glow{display:none}[data-performance=high] .mesh-overlay{opacity:.24;-webkit-mask-image:none;mask-image:none}[data-performance=high] .site-header,[data-performance=high] .nav-link,[data-performance=high] .hero-panel,[data-performance=high] .hero-side-panel,[data-performance=high] .focus-card,[data-performance=high] .project-card,[data-performance=high] .list-card,[data-performance=high] .detail-card,[data-performance=high] .publication-card,[data-performance=high] .contact-banner,[data-performance=high] .chip,[data-performance=high] .filter-chip,[data-performance=high] .status-badge,[data-performance=high] .copy-button,[data-performance=high] .btn-secondary{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-performance=high] .hero-panel,[data-performance=high] .hero-side-panel,[data-performance=high] .focus-card,[data-performance=high] .project-card,[data-performance=high] .list-card,[data-performance=high] .detail-card,[data-performance=high] .publication-card,[data-performance=high] .contact-banner{box-shadow:0 10px 20px color-mix(in srgb,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a,transparent 22%)}@supports (color:color-mix(in lab, red, red)){[data-performance=high] .hero-panel,[data-performance=high] .hero-side-panel,[data-performance=high] .focus-card,[data-performance=high] .project-card,[data-performance=high] .list-card,[data-performance=high] .detail-card,[data-performance=high] .publication-card,[data-performance=high] .contact-banner{box-shadow:0 10px 20px color-mix(in oklab,var(--shadow),transparent 22%)}}[data-performance=high] .hero-panel:before,[data-performance=high] .hero-side-panel:before,[data-performance=high] .focus-card:before,[data-performance=high] .project-card:before,[data-performance=high] .list-card:before,[data-performance=high] .detail-card:before,[data-performance=high] .publication-card:before,[data-performance=high] .contact-banner:before,[data-performance=high] .hero-panel:after,[data-performance=high] .hero-side-panel:after,[data-performance=high] .focus-card:after,[data-performance=high] .project-card:after,[data-performance=high] .list-card:after,[data-performance=high] .detail-card:after,[data-performance=high] .publication-card:after,[data-performance=high] .contact-banner:after{content:none!important}[data-performance=high] .focus-motif{display:none}[data-performance=high] .reveal,[data-performance=high] .focus-grid>*,[data-performance=high] .project-grid>*,[data-performance=high] .skills-grid>*,[data-performance=high] .publication-grid>*,[data-performance=high] .media-grid>*,[data-performance=high] .detail-grid>*{opacity:1!important;animation:none!important;transform:none!important}[data-performance=high] .project-card:hover,[data-performance=high] .focus-card:hover,[data-performance=high] .detail-card:hover,[data-performance=high] .publication-card:hover,[data-performance=high] .nav-link:hover,[data-performance=high] .btn:hover{transform:none!important}[data-performance=high] .portfolio-chat-panel,[data-performance=high] .portfolio-chat-launcher{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-style=schematic]{--bg:#f6f2ea;--panel:#fffcf4;--panel-soft:#efe8dc;--ink:#11151d;--muted:#4f5d72;--line:#9ea9bc;--shadow:#141c2814;--accent-cyan:#1f6f9b;--accent-amber:#a96a3b;--accent-mint:#1a7a73;--accent-drl:#495f8f;--accent-cfd:#237f90;--accent-hpc:#ac703d}[data-style=schematic] body{background-color:var(--bg);background-image:radial-gradient(180% 90% at -8% 14%,transparent 67%,var(--accent-cfd)68% 69%,transparent 70%),radial-gradient(170% 86% at 96% 8%,transparent 66%,var(--accent-cyan)67% 68%,transparent 69%),linear-gradient(115deg,var(--page-accent),transparent 56%),radial-gradient(circle at 18% 24%,var(--ink)0 .75px,transparent .8px),radial-gradient(circle at 74% 68%,var(--ink)0 .7px,transparent .75px)}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] body{background-image:radial-gradient(180% 90% at -8% 14%,transparent 67%,color-mix(in oklab,var(--accent-cfd),transparent 88%)68% 69%,transparent 70%),radial-gradient(170% 86% at 96% 8%,transparent 66%,color-mix(in oklab,var(--accent-cyan),transparent 90%)67% 68%,transparent 69%),linear-gradient(115deg,color-mix(in oklab,var(--page-accent),transparent 94%),transparent 56%),radial-gradient(circle at 18% 24%,color-mix(in oklab,var(--ink),transparent 97%)0 .75px,transparent .8px),radial-gradient(circle at 74% 68%,color-mix(in oklab,var(--ink),transparent 98%)0 .7px,transparent .75px)}}[data-style=schematic] body{background-size:100% 100%,100% 100%,100% 100%,8px 8px,11px 11px}[data-style=schematic] .cfd-bg-overlay{opacity:.68;display:block}[data-theme=dark][data-style=schematic] .cfd-bg-overlay{opacity:.54}[data-style=schematic] .streamline-overlay,[data-style=schematic] .glow,[data-style=schematic] .mesh-overlay{display:none}[data-style=schematic] .site-header,[data-style=schematic] .hero-panel,[data-style=schematic] .hero-side-panel,[data-style=schematic] .focus-card,[data-style=schematic] .project-card,[data-style=schematic] .list-card,[data-style=schematic] .detail-card,[data-style=schematic] .publication-card,[data-style=schematic] .contact-banner{border-color:var(--line);border-radius:2px}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .site-header,[data-style=schematic] .hero-panel,[data-style=schematic] .hero-side-panel,[data-style=schematic] .focus-card,[data-style=schematic] .project-card,[data-style=schematic] .list-card,[data-style=schematic] .detail-card,[data-style=schematic] .publication-card,[data-style=schematic] .contact-banner{border-color:color-mix(in oklab,var(--line),transparent 6%)}}[data-style=schematic] .site-header,[data-style=schematic] .hero-panel,[data-style=schematic] .hero-side-panel,[data-style=schematic] .focus-card,[data-style=schematic] .project-card,[data-style=schematic] .list-card,[data-style=schematic] .detail-card,[data-style=schematic] .publication-card,[data-style=schematic] .contact-banner{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .site-header,[data-style=schematic] .hero-panel,[data-style=schematic] .hero-side-panel,[data-style=schematic] .focus-card,[data-style=schematic] .project-card,[data-style=schematic] .list-card,[data-style=schematic] .detail-card,[data-style=schematic] .publication-card,[data-style=schematic] .contact-banner{background:color-mix(in oklab,var(--panel),var(--bg)14%)}}[data-style=schematic] .site-header,[data-style=schematic] .hero-panel,[data-style=schematic] .hero-side-panel,[data-style=schematic] .focus-card,[data-style=schematic] .project-card,[data-style=schematic] .list-card,[data-style=schematic] .detail-card,[data-style=schematic] .publication-card,[data-style=schematic] .contact-banner{box-shadow:none;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-style=schematic] .site-header{box-shadow:inset 0 -1px 0 var(--line);border-width:1px}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .site-header{box-shadow:inset 0 -1px 0 color-mix(in oklab,var(--line),transparent 24%)}}[data-style=schematic] .nav-link{text-transform:uppercase;font-family:var(--font-mono),monospace;letter-spacing:.05em;background:0 0;border-radius:2px;font-size:.75rem}[data-style=schematic] .nav-link-active{border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .nav-link-active{border-color:color-mix(in oklab,var(--page-accent),var(--line)30%)}}[data-style=schematic] .nav-link-active{background:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .nav-link-active{background:color-mix(in oklab,var(--page-accent),transparent 90%)}}[data-style=schematic] .btn{text-transform:uppercase;font-family:var(--font-mono),monospace;letter-spacing:.06em;min-height:2.56rem;box-shadow:none;border-radius:2px;font-size:.75rem}[data-style=schematic] .btn-primary{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .btn-primary{color:color-mix(in oklab,var(--ink),black 14%)}}[data-style=schematic] .btn-primary{border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .btn-primary{border-color:color-mix(in oklab,var(--page-accent),var(--line)28%)}}[data-style=schematic] .btn-primary{background:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .btn-primary{background:color-mix(in oklab,var(--page-accent),transparent 84%)}}[data-style=schematic] .btn-secondary{border-color:var(--line);background:0 0}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .btn-secondary{border-color:color-mix(in oklab,var(--line),transparent 8%)}}[data-style=schematic] .section-heading{padding-left:.72rem}[data-style=schematic] .section-heading:before{filter:none;background:linear-gradient(to bottom,var(--page-accent),var(--line));border-radius:0;width:2px;height:calc(100% - .15rem);top:.15rem;left:0}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .section-heading:before{background:linear-gradient(to bottom,color-mix(in oklab,var(--page-accent),transparent 8%),color-mix(in oklab,var(--line),transparent 14%))}}[data-style=schematic] .brand-name,[data-style=schematic] .section-title,[data-style=schematic] .hero-title{font-family:var(--font-display),sans-serif;letter-spacing:-.015em}[data-style=schematic] .eyebrow,[data-style=schematic] .project-year,[data-style=schematic] .chip,[data-style=schematic] .status-badge,[data-style=schematic] .metric-value{font-family:var(--font-mono),monospace}[data-style=schematic] .chip,[data-style=schematic] .status-badge,[data-style=schematic] .filter-chip{border-radius:2px}[data-style=schematic] .focus-motif{display:none}[data-style=schematic] .icon-inline{transition:none}[data-style=schematic] .reveal,[data-style=schematic] .focus-grid>*,[data-style=schematic] .project-grid>*,[data-style=schematic] .skills-grid>*,[data-style=schematic] .publication-grid>*,[data-style=schematic] .media-grid>*,[data-style=schematic] .detail-grid>*{opacity:1!important;animation:none!important;transform:none!important}[data-style=schematic] .project-card:hover,[data-style=schematic] .focus-card:hover,[data-style=schematic] .detail-card:hover,[data-style=schematic] .publication-card:hover,[data-style=schematic] .nav-link:hover,[data-style=schematic] .btn:hover,[data-style=schematic] .focus-card:hover .icon-inline,[data-style=schematic] .project-card:hover .icon-inline,[data-style=schematic] .detail-card:hover .icon-inline,[data-style=schematic] .nav-link:hover .icon-inline,[data-style=schematic] .text-link:hover .icon-inline{transform:none!important}[data-style=schematic] .project-card:hover,[data-style=schematic] .focus-card:hover,[data-style=schematic] .detail-card:hover,[data-style=schematic] .publication-card:hover{border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .project-card:hover,[data-style=schematic] .focus-card:hover,[data-style=schematic] .detail-card:hover,[data-style=schematic] .publication-card:hover{border-color:color-mix(in oklab,var(--page-accent),var(--line)36%)}}[data-style=schematic] .project-card:hover,[data-style=schematic] .focus-card:hover,[data-style=schematic] .detail-card:hover,[data-style=schematic] .publication-card:hover{box-shadow:none}[data-style=schematic] .portfolio-chat-panel,[data-style=schematic] .portfolio-chat-launcher{border-color:var(--line);border-radius:2px}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .portfolio-chat-panel,[data-style=schematic] .portfolio-chat-launcher{border-color:color-mix(in oklab,var(--line),transparent 8%)}}[data-style=schematic] .portfolio-chat-panel,[data-style=schematic] .portfolio-chat-launcher{box-shadow:none;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-style=schematic] .portfolio-chat-launcher,[data-style=schematic] .portfolio-chat-reset,[data-style=schematic] .portfolio-chat-send,[data-style=schematic] .portfolio-chat-input{font-family:var(--font-mono),monospace;letter-spacing:.05em}[data-style=editorial]{--bg:#f2eee8;--panel:#f6f2ec;--panel-soft:#f0e8df;--ink:#2b241d;--muted:#6b5f53;--line:#d7cabd;--shadow:#382a1c14;--accent-cyan:#6e5a49;--accent-amber:#8e6446;--accent-mint:#7e6957;--accent-drl:#6a5a4f;--accent-cfd:#7a6253;--accent-hpc:#9c6f4f}[data-style=editorial] body{background:var(--bg);color:var(--ink)}[data-style=editorial] .streamline-overlay,[data-style=editorial] .mesh-overlay,[data-style=editorial] .glow,[data-style=editorial] .focus-motif{display:none}[data-style=editorial] .site-frame{max-width:1060px;padding-top:1.1rem}[data-style=editorial] .site-header{border:0;border-bottom:1px solid var(--line);position:static}@supports (color:color-mix(in lab, red, red)){[data-style=editorial] .site-header{border-bottom:1px solid color-mix(in oklab,var(--line),transparent 0%)}}[data-style=editorial] .site-header{box-shadow:none;background:0 0;border-radius:0;padding:.6rem 0 .85rem;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-style=editorial] .brand-name{letter-spacing:-.01em;font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif;font-size:1.34rem;font-weight:600}[data-style=editorial] .brand-meta{letter-spacing:.04em;font-size:.68rem}[data-style=editorial] .site-nav{justify-content:flex-end;gap:.22rem}[data-style=editorial] .nav-link{font-family:var(--font-mono),monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:0 0;border:0;border-radius:0;padding:.35rem .56rem;font-size:.71rem}@supports (color:color-mix(in lab, red, red)){[data-style=editorial] .nav-link{color:color-mix(in oklab,var(--muted),var(--ink)18%)}}[data-style=editorial] .nav-link:hover{color:var(--ink);border-color:#0000;transform:none}[data-style=editorial] .nav-link-active{color:var(--ink);box-shadow:inset 0 -1px 0 var(--page-accent);background:0 0;border-color:#0000}@supports (color:color-mix(in lab, red, red)){[data-style=editorial] .nav-link-active{box-shadow:inset 0 -1px 0 color-mix(in oklab,var(--page-accent),transparent 16%)}}[data-style=editorial] .page-stack{gap:2.55rem}[data-style=editorial] .section-heading{max-width:78ch;padding:0}[data-style=editorial] .section-heading:before{content:none}[data-style=editorial] .eyebrow{font-family:var(--font-mono),monospace;letter-spacing:.06em;font-size:.68rem}[data-style=editorial] .section-title,[data-style=editorial] .hero-title,[data-style=editorial] .contact-banner h2{letter-spacing:-.012em;font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif;font-weight:600}[data-style=editorial] .hero-title{margin-top:.4rem;line-height:1.02}[data-style=editorial] .hero-subtitle{font-size:1rem}[data-style=editorial] .hero-copy,[data-style=editorial] .section-description,[data-style=editorial] .publication-meta{max-width:66ch;line-height:1.68}[data-style=editorial] .hero-panel,[data-style=editorial] .hero-side-panel,[data-style=editorial] .focus-card,[data-style=editorial] .project-card,[data-style=editorial] .list-card,[data-style=editorial] .detail-card,[data-style=editorial] .publication-card,[data-style=editorial] .contact-banner{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=editorial] .hero-panel,[data-style=editorial] .hero-side-panel,[data-style=editorial] .focus-card,[data-style=editorial] .project-card,[data-style=editorial] .list-card,[data-style=editorial] .detail-card,[data-style=editorial] .publication-card,[data-style=editorial] .contact-banner{border:1px solid color-mix(in oklab,var(--line),transparent 8%)}}[data-style=editorial] .hero-panel,[data-style=editorial] .hero-side-panel,[data-style=editorial] .focus-card,[data-style=editorial] .project-card,[data-style=editorial] .list-card,[data-style=editorial] .detail-card,[data-style=editorial] .publication-card,[data-style=editorial] .contact-banner{background:var(--panel);border-radius:8px}@supports (color:color-mix(in lab, red, red)){[data-style=editorial] .hero-panel,[data-style=editorial] .hero-side-panel,[data-style=editorial] .focus-card,[data-style=editorial] .project-card,[data-style=editorial] .list-card,[data-style=editorial] .detail-card,[data-style=editorial] .publication-card,[data-style=editorial] .contact-banner{background:color-mix(in oklab,var(--panel),white 6%)}}[data-style=editorial] .hero-panel,[data-style=editorial] .hero-side-panel,[data-style=editorial] .focus-card,[data-style=editorial] .project-card,[data-style=editorial] .list-card,[data-style=editorial] .detail-card,[data-style=editorial] .publication-card,[data-style=editorial] .contact-banner{box-shadow:0 1px 0 var(--line);-webkit-backdrop-filter:none!important;backdrop-filter:none!important}@supports (color:color-mix(in lab, red, red)){[data-style=editorial] .hero-panel,[data-style=editorial] .hero-side-panel,[data-style=editorial] .focus-card,[data-style=editorial] .project-card,[data-style=editorial] .list-card,[data-style=editorial] .detail-card,[data-style=editorial] .publication-card,[data-style=editorial] .contact-banner{box-shadow:0 1px 0 color-mix(in oklab,var(--line),transparent 36%)}}[data-style=editorial] .hero-panel:before,[data-style=editorial] .hero-side-panel:before,[data-style=editorial] .focus-card:before,[data-style=editorial] .project-card:before,[data-style=editorial] .list-card:before,[data-style=editorial] .detail-card:before,[data-style=editorial] .publication-card:before,[data-style=editorial] .contact-banner:before,[data-style=editorial] .hero-panel:after,[data-style=editorial] .hero-side-panel:after,[data-style=editorial] .focus-card:after,[data-style=editorial] .project-card:after,[data-style=editorial] .list-card:after,[data-style=editorial] .detail-card:after,[data-style=editorial] .publication-card:after,[data-style=editorial] .contact-banner:after{content:none!important}[data-style=editorial] .btn{min-height:2.5rem;font-family:var(--font-mono),monospace;letter-spacing:.05em;text-transform:uppercase;box-shadow:none;border-radius:5px;font-size:.72rem}[data-style=editorial] .btn-primary{background:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=editorial] .btn-primary{background:color-mix(in oklab,var(--page-accent),transparent 86%)}}[data-style=editorial] .btn-primary{border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=editorial] .btn-primary{border-color:color-mix(in oklab,var(--page-accent),var(--line)30%)}}[data-style=editorial] .btn-primary{color:var(--ink)}[data-style=editorial] .btn-secondary{border-color:var(--line);background:0 0}@supports (color:color-mix(in lab, red, red)){[data-style=editorial] .btn-secondary{border-color:color-mix(in oklab,var(--line),transparent 8%)}}[data-style=editorial] .chip,[data-style=editorial] .status-badge,[data-style=editorial] .filter-chip{font-family:var(--font-mono),monospace;letter-spacing:.04em;border-radius:5px;font-size:.68rem}[data-style=editorial] .metric-value{font-family:var(--font-mono),monospace;font-size:1.45rem}[data-style=editorial] .metric-list{gap:1rem}[data-style=editorial] .metric-label{line-height:1.55}[data-style=editorial] .project-card:hover,[data-style=editorial] .focus-card:hover,[data-style=editorial] .detail-card:hover,[data-style=editorial] .publication-card:hover,[data-style=editorial] .nav-link:hover,[data-style=editorial] .btn:hover,[data-style=editorial] .focus-card:hover .icon-inline,[data-style=editorial] .project-card:hover .icon-inline,[data-style=editorial] .detail-card:hover .icon-inline,[data-style=editorial] .nav-link:hover .icon-inline,[data-style=editorial] .text-link:hover .icon-inline{transform:none!important}[data-style=editorial] .reveal,[data-style=editorial] .focus-grid>*,[data-style=editorial] .project-grid>*,[data-style=editorial] .skills-grid>*,[data-style=editorial] .publication-grid>*,[data-style=editorial] .media-grid>*,[data-style=editorial] .detail-grid>*{opacity:1!important;animation:none!important;transform:none!important}[data-style=editorial] .portfolio-chat-panel,[data-style=editorial] .portfolio-chat-launcher{border-radius:8px;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-style=lowlight]{--bg:#05070a;--panel:#0b1018;--panel-soft:#0f1622;--ink:#e8f0fe;--muted:#9caeca;--line:#253347;--shadow:#02070e8c;--accent-cyan:#7bb4ff;--accent-amber:#ffb87d;--accent-mint:#63d9cc;--accent-drl:#88b5ff;--accent-cfd:#5fd7ca;--accent-hpc:#ffb978}[data-style=lowlight] body{background:radial-gradient(circle at 16% 12%,var(--accent-cfd)0,transparent 38%),radial-gradient(circle at 84% 14%,var(--accent-hpc)0,transparent 36%),radial-gradient(circle at 50% 90%,var(--accent-drl)0,transparent 42%),#04070b}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] body{background:radial-gradient(circle at 16% 12%,color-mix(in oklab,var(--accent-cfd),transparent 86%)0,transparent 38%),radial-gradient(circle at 84% 14%,color-mix(in oklab,var(--accent-hpc),transparent 88%)0,transparent 36%),radial-gradient(circle at 50% 90%,color-mix(in oklab,var(--accent-drl),transparent 92%)0,transparent 42%),#04070b}}[data-style=lowlight] .streamline-overlay,[data-style=lowlight] .mesh-overlay{display:none}[data-style=lowlight] .glow{opacity:.12;filter:blur(62px)}[data-style=lowlight] .site-header{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .site-header{border-color:color-mix(in oklab,var(--line),transparent 6%)}}[data-style=lowlight] .site-header{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .site-header{background:color-mix(in oklab,var(--panel),transparent 22%)}}[data-style=lowlight] .site-header{-webkit-backdrop-filter:blur(8px)saturate(120%);backdrop-filter:blur(8px)saturate(120%);box-shadow:0 10px 24px var(--shadow),inset 0 1px 0 #ffffff24}@supports (color:lab(0% 0 0)){[data-style=lowlight] .site-header{box-shadow:0 10px 24px var(--shadow),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.14)}}[data-style=lowlight] .nav-link{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .nav-link{border-color:color-mix(in oklab,var(--line),transparent 10%)}}[data-style=lowlight] .nav-link{background:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .nav-link{background:color-mix(in oklab,var(--panel-soft),transparent 18%)}}[data-style=lowlight] .nav-link{-webkit-backdrop-filter:blur(4px)saturate(112%);backdrop-filter:blur(4px)saturate(112%)}[data-style=lowlight] .nav-link-active{background:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .nav-link-active{background:color-mix(in oklab,var(--page-accent),transparent 90%)}}[data-style=lowlight] .nav-link-active{border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .nav-link-active{border-color:color-mix(in oklab,var(--page-accent),var(--line)42%)}}[data-style=lowlight] .hero-panel,[data-style=lowlight] .hero-side-panel,[data-style=lowlight] .focus-card,[data-style=lowlight] .project-card,[data-style=lowlight] .list-card,[data-style=lowlight] .detail-card,[data-style=lowlight] .publication-card,[data-style=lowlight] .contact-banner{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .hero-panel,[data-style=lowlight] .hero-side-panel,[data-style=lowlight] .focus-card,[data-style=lowlight] .project-card,[data-style=lowlight] .list-card,[data-style=lowlight] .detail-card,[data-style=lowlight] .publication-card,[data-style=lowlight] .contact-banner{border-color:color-mix(in oklab,var(--line),transparent 6%)}}[data-style=lowlight] .hero-panel,[data-style=lowlight] .hero-side-panel,[data-style=lowlight] .focus-card,[data-style=lowlight] .project-card,[data-style=lowlight] .list-card,[data-style=lowlight] .detail-card,[data-style=lowlight] .publication-card,[data-style=lowlight] .contact-banner{background:linear-gradient(155deg,#ffffff0d 0%,var(--panel)46%)}@supports (color:lab(0% 0 0)){[data-style=lowlight] .hero-panel,[data-style=lowlight] .hero-side-panel,[data-style=lowlight] .focus-card,[data-style=lowlight] .project-card,[data-style=lowlight] .list-card,[data-style=lowlight] .detail-card,[data-style=lowlight] .publication-card,[data-style=lowlight] .contact-banner{background:linear-gradient(155deg,lab(100% -.0000298023 .0000119209/.05) 0%,var(--panel)46%)}}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .hero-panel,[data-style=lowlight] .hero-side-panel,[data-style=lowlight] .focus-card,[data-style=lowlight] .project-card,[data-style=lowlight] .list-card,[data-style=lowlight] .detail-card,[data-style=lowlight] .publication-card,[data-style=lowlight] .contact-banner{background:linear-gradient(155deg,lab(100% -.0000298023 .0000119209/.05) 0%,color-mix(in oklab,var(--panel),transparent 16%)46%)}}[data-style=lowlight] .hero-panel,[data-style=lowlight] .hero-side-panel,[data-style=lowlight] .focus-card,[data-style=lowlight] .project-card,[data-style=lowlight] .list-card,[data-style=lowlight] .detail-card,[data-style=lowlight] .publication-card,[data-style=lowlight] .contact-banner{-webkit-backdrop-filter:blur(7px)saturate(116%);backdrop-filter:blur(7px)saturate(116%);box-shadow:0 14px 30px var(--shadow),inset 0 1px 0 #ffffff24}@supports (color:lab(0% 0 0)){[data-style=lowlight] .hero-panel,[data-style=lowlight] .hero-side-panel,[data-style=lowlight] .focus-card,[data-style=lowlight] .project-card,[data-style=lowlight] .list-card,[data-style=lowlight] .detail-card,[data-style=lowlight] .publication-card,[data-style=lowlight] .contact-banner{box-shadow:0 14px 30px var(--shadow),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.14)}}[data-style=lowlight] .hero-panel:after,[data-style=lowlight] .hero-side-panel:after,[data-style=lowlight] .focus-card:after,[data-style=lowlight] .project-card:after,[data-style=lowlight] .list-card:after,[data-style=lowlight] .detail-card:after,[data-style=lowlight] .publication-card:after,[data-style=lowlight] .contact-banner:after{content:none}[data-style=lowlight] .focus-motif{opacity:.2;filter:none}[data-style=lowlight] .eyebrow,[data-style=lowlight] .project-year,[data-style=lowlight] .chip,[data-style=lowlight] .status-badge,[data-style=lowlight] .metric-value{font-family:var(--font-mono),monospace}[data-style=lowlight] .chip,[data-style=lowlight] .status-badge,[data-style=lowlight] .filter-chip{border-radius:8px}[data-style=lowlight] .btn{box-shadow:none;border-radius:10px}[data-style=lowlight] .btn-primary{color:#041017}[data-style=lowlight] .project-card:hover,[data-style=lowlight] .focus-card:hover,[data-style=lowlight] .detail-card:hover,[data-style=lowlight] .publication-card:hover,[data-style=lowlight] .nav-link:hover,[data-style=lowlight] .btn:hover,[data-style=lowlight] .focus-card:hover .icon-inline,[data-style=lowlight] .project-card:hover .icon-inline,[data-style=lowlight] .detail-card:hover .icon-inline,[data-style=lowlight] .nav-link:hover .icon-inline,[data-style=lowlight] .text-link:hover .icon-inline{transform:none!important}[data-style=lowlight] .reveal,[data-style=lowlight] .focus-grid>*,[data-style=lowlight] .project-grid>*,[data-style=lowlight] .skills-grid>*,[data-style=lowlight] .publication-grid>*,[data-style=lowlight] .media-grid>*,[data-style=lowlight] .detail-grid>*{opacity:1!important;animation:none!important;transform:none!important}[data-style=lowlight] .portfolio-chat-panel,[data-style=lowlight] .portfolio-chat-launcher{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .portfolio-chat-panel,[data-style=lowlight] .portfolio-chat-launcher{border-color:color-mix(in oklab,var(--line),transparent 8%)}}[data-style=lowlight] .portfolio-chat-panel,[data-style=lowlight] .portfolio-chat-launcher{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .portfolio-chat-panel,[data-style=lowlight] .portfolio-chat-launcher{background:color-mix(in oklab,var(--panel),transparent 20%)}}[data-style=parametric]{--bg:#060b13;--panel:#0b1421;--panel-soft:#0f1a2a;--ink:#eaf0fb;--muted:#97aac5;--line:#2b3d57;--shadow:#03091175;--notch-size:12px;--accent-cyan:#63cff7;--accent-amber:#f7bc84;--accent-mint:#67d8c2;--accent-drl:#95acff;--accent-cfd:#5fded2;--accent-hpc:#f8bb7a}[data-style=parametric] body{background:radial-gradient(circle at 12% 9%,var(--accent-cfd)0,transparent 36%),radial-gradient(circle at 90% 14%,var(--accent-drl)0,transparent 34%),repeating-linear-gradient(24deg,var(--line)0 1px,transparent 1px 22px),repeating-linear-gradient(-24deg,var(--line)0 1px,transparent 1px 22px),repeating-linear-gradient(to right,var(--line)0 1px,transparent 1px 32px),var(--bg)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] body{background:radial-gradient(circle at 12% 9%,color-mix(in oklab,var(--accent-cfd),transparent 92%)0,transparent 36%),radial-gradient(circle at 90% 14%,color-mix(in oklab,var(--accent-drl),transparent 93%)0,transparent 34%),repeating-linear-gradient(24deg,color-mix(in oklab,var(--line),transparent 88%)0 1px,transparent 1px 22px),repeating-linear-gradient(-24deg,color-mix(in oklab,var(--line),transparent 90%)0 1px,transparent 1px 22px),repeating-linear-gradient(to right,color-mix(in oklab,var(--line),transparent 84%)0 1px,transparent 1px 32px),var(--bg)}}[data-style=parametric] .streamline-overlay{display:none}[data-style=parametric] .mesh-overlay{opacity:.28;background-size:30px 30px;-webkit-mask-image:radial-gradient(circle at 50% 16%,#000 14%,#0000 84%);mask-image:radial-gradient(circle at 50% 16%,#000 14%,#0000 84%)}[data-style=parametric] .glow{opacity:.06;filter:blur(38px)}[data-style=parametric] .site-frame{max-width:1180px}[data-style=parametric] .site-header,[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner{border-color:var(--line);border-radius:.9rem}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .site-header,[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner{border-color:color-mix(in oklab,var(--line),transparent 2%)}}[data-style=parametric] .site-header,[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner{background:linear-gradient(160deg,#ffffff0a 0%,var(--panel)46%)}@supports (color:lab(0% 0 0)){[data-style=parametric] .site-header,[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner{background:linear-gradient(160deg,lab(100% -.0000298023 .0000119209/.04) 0%,var(--panel)46%)}}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .site-header,[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner{background:linear-gradient(160deg,lab(100% -.0000298023 .0000119209/.04) 0%,color-mix(in oklab,var(--panel),transparent 13%)46%)}}[data-style=parametric] .site-header,[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner{box-shadow:0 10px 24px var(--shadow),inset 0 1px 0 #ffffff1f;isolation:isolate;position:relative;overflow:hidden;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}@supports (color:lab(0% 0 0)){[data-style=parametric] .site-header,[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner{box-shadow:0 10px 24px var(--shadow),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.12)}}[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner{clip-path:polygon(0 0,calc(100% - var(--notch-size))0,100% var(--notch-size),100% 100%,var(--notch-size)100%,0 calc(100% - var(--notch-size)));border-radius:0}[data-style=parametric] .hero-panel>*,[data-style=parametric] .hero-side-panel>*,[data-style=parametric] .focus-card>*,[data-style=parametric] .project-card>*,[data-style=parametric] .list-card>*,[data-style=parametric] .detail-card>*,[data-style=parametric] .publication-card>*,[data-style=parametric] .contact-banner>*{z-index:1;position:relative}[data-style=parametric] .site-header:before,[data-style=parametric] .site-header:after{content:"";pointer-events:none;opacity:.78;width:2.25rem;height:2.25rem;position:absolute}[data-style=parametric] .site-header:before{border-right:1px solid var(--line);top:-1.15rem;left:-1.15rem}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .site-header:before{border-right:1px solid color-mix(in oklab,var(--line),transparent 14%)}}[data-style=parametric] .site-header:before{border-bottom:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .site-header:before{border-bottom:1px solid color-mix(in oklab,var(--line),transparent 14%)}}[data-style=parametric] .site-header:before{transform:rotate(45deg)}[data-style=parametric] .site-header:after{border-left:1px solid var(--line);bottom:-1.15rem;right:-1.15rem}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .site-header:after{border-left:1px solid color-mix(in oklab,var(--line),transparent 14%)}}[data-style=parametric] .site-header:after{border-top:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .site-header:after{border-top:1px solid color-mix(in oklab,var(--line),transparent 14%)}}[data-style=parametric] .site-header:after{transform:rotate(45deg)}[data-style=parametric] .hero-panel:after,[data-style=parametric] .hero-side-panel:after,[data-style=parametric] .focus-card:after,[data-style=parametric] .project-card:after,[data-style=parametric] .list-card:after,[data-style=parametric] .detail-card:after,[data-style=parametric] .publication-card:after,[data-style=parametric] .contact-banner:after{content:"";pointer-events:none;opacity:.82;background:linear-gradient(to right,var(--line)0 1rem,transparent 1rem),linear-gradient(to left,var(--line)0 1rem,transparent 1rem),linear-gradient(to bottom,var(--line)0 1rem,transparent 1rem),linear-gradient(to top,var(--line)0 1rem,transparent 1rem);position:absolute;inset:.45rem}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .hero-panel:after,[data-style=parametric] .hero-side-panel:after,[data-style=parametric] .focus-card:after,[data-style=parametric] .project-card:after,[data-style=parametric] .list-card:after,[data-style=parametric] .detail-card:after,[data-style=parametric] .publication-card:after,[data-style=parametric] .contact-banner:after{background:linear-gradient(to right,color-mix(in oklab,var(--line),transparent 22%)0 1rem,transparent 1rem),linear-gradient(to left,color-mix(in oklab,var(--line),transparent 22%)0 1rem,transparent 1rem),linear-gradient(to bottom,color-mix(in oklab,var(--line),transparent 22%)0 1rem,transparent 1rem),linear-gradient(to top,color-mix(in oklab,var(--line),transparent 22%)0 1rem,transparent 1rem)}}[data-style=parametric] .hero-panel:after,[data-style=parametric] .hero-side-panel:after,[data-style=parametric] .focus-card:after,[data-style=parametric] .project-card:after,[data-style=parametric] .list-card:after,[data-style=parametric] .detail-card:after,[data-style=parametric] .publication-card:after,[data-style=parametric] .contact-banner:after{background-position:0 0,100% 100%,0 0,100% 100%;background-repeat:no-repeat;background-size:1px .9rem,1px .9rem,.9rem 1px,.9rem 1px}[data-style=parametric] .focus-card:before,[data-style=parametric] .project-card:before,[data-style=parametric] .list-card:before,[data-style=parametric] .detail-card:before,[data-style=parametric] .publication-card:before,[data-style=parametric] .contact-banner:before{content:"";pointer-events:none;opacity:.3;clip-path:polygon(0 26%,74% 0,100% 44%,62% 100%,0 80%);background:linear-gradient(24deg,transparent 30%,var(--line)31% 32%,transparent 33%),linear-gradient(126deg,transparent 46%,var(--line)47% 48%,transparent 49%),linear-gradient(162deg,transparent 64%,var(--line)65% 66%,transparent 67%),radial-gradient(circle at 22% 72%,var(--line)0 1px,transparent 2px),radial-gradient(circle at 58% 58%,var(--line)0 1px,transparent 2px),radial-gradient(circle at 78% 32%,var(--line)0 1px,transparent 2px);width:min(54%,12rem);height:6rem;position:absolute;bottom:-1.2rem;right:-1.6rem}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .focus-card:before,[data-style=parametric] .project-card:before,[data-style=parametric] .list-card:before,[data-style=parametric] .detail-card:before,[data-style=parametric] .publication-card:before,[data-style=parametric] .contact-banner:before{background:linear-gradient(24deg,transparent 30%,color-mix(in oklab,var(--line),transparent 42%)31% 32%,transparent 33%),linear-gradient(126deg,transparent 46%,color-mix(in oklab,var(--line),transparent 38%)47% 48%,transparent 49%),linear-gradient(162deg,transparent 64%,color-mix(in oklab,var(--line),transparent 35%)65% 66%,transparent 67%),radial-gradient(circle at 22% 72%,color-mix(in oklab,var(--line),transparent 28%)0 1px,transparent 2px),radial-gradient(circle at 58% 58%,color-mix(in oklab,var(--line),transparent 30%)0 1px,transparent 2px),radial-gradient(circle at 78% 32%,color-mix(in oklab,var(--line),transparent 32%)0 1px,transparent 2px)}}[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .diag-card{overflow:hidden}[data-style=parametric] .hero-panel:before,[data-style=parametric] .hero-side-panel:before,[data-style=parametric] .diag-card:before{content:"";pointer-events:none;background:radial-gradient(150% 74% at 10% 82%,transparent 64%,var(--accent-cfd)65% 67%,transparent 68%),radial-gradient(150% 74% at 26% 92%,transparent 64%,var(--accent-cfd)65% 67%,transparent 68%),linear-gradient(168deg,transparent 40%,var(--accent-cfd)41% 44%,transparent 45%),linear-gradient(12deg,transparent 58%,var(--line)59% 61%,transparent 62%),repeating-linear-gradient(150deg,var(--line)0 1px,transparent 1px 16px);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .hero-panel:before,[data-style=parametric] .hero-side-panel:before,[data-style=parametric] .diag-card:before{background:radial-gradient(150% 74% at 10% 82%,transparent 64%,color-mix(in oklab,var(--accent-cfd),transparent 72%)65% 67%,transparent 68%),radial-gradient(150% 74% at 26% 92%,transparent 64%,color-mix(in oklab,var(--accent-cfd),transparent 76%)65% 67%,transparent 68%),linear-gradient(168deg,transparent 40%,color-mix(in oklab,var(--accent-cfd),transparent 84%)41% 44%,transparent 45%),linear-gradient(12deg,transparent 58%,color-mix(in oklab,var(--line),transparent 70%)59% 61%,transparent 62%),repeating-linear-gradient(150deg,color-mix(in oklab,var(--line),transparent 90%)0 1px,transparent 1px 16px)}}[data-style=parametric] .hero-panel:before,[data-style=parametric] .hero-side-panel:before,[data-style=parametric] .diag-card:before{opacity:.36;-webkit-mask-image:linear-gradient(to bottom right,#000 0 32%,#0000 76%);mask-image:linear-gradient(to bottom right,#000 0 32%,#0000 76%)}[data-style=parametric] .site-header{box-shadow:0 8px 20px var(--shadow),inset 0 -1px 0 var(--line);border-radius:.75rem}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .site-header{box-shadow:0 8px 20px var(--shadow),inset 0 -1px 0 color-mix(in oklab,var(--line),transparent 26%)}}[data-style=parametric] .brand-name,[data-style=parametric] .section-title,[data-style=parametric] .hero-title{letter-spacing:-.013em}[data-style=parametric] .nav-link{font-family:var(--font-mono),monospace;letter-spacing:.04em;text-transform:uppercase;background:var(--panel-soft);border-radius:999px;font-size:.72rem}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .nav-link{background:color-mix(in oklab,var(--panel-soft),var(--panel)26%)}}[data-style=parametric] .nav-link{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .nav-link{border-color:color-mix(in oklab,var(--line),transparent 10%)}}[data-style=parametric] .nav-link-active{border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .nav-link-active{border-color:color-mix(in oklab,var(--page-accent),var(--line)36%)}}[data-style=parametric] .nav-link-active{background:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .nav-link-active{background:color-mix(in oklab,var(--page-accent),transparent 90%)}}[data-style=parametric] .nav-link-active{box-shadow:0 0 0 1px var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .nav-link-active{box-shadow:0 0 0 1px color-mix(in oklab,var(--page-accent),transparent 70%)}}[data-style=parametric] .btn{font-family:var(--font-mono),monospace;letter-spacing:.045em;text-transform:uppercase;min-height:2.62rem;box-shadow:none;border-radius:999px;font-size:.74rem}[data-style=parametric] .btn-primary{color:#05111d;border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .btn-primary{border-color:color-mix(in oklab,var(--page-accent),white 22%)}}[data-style=parametric] .btn-primary{background:linear-gradient(120deg,var(--page-accent),var(--page-accent))}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .btn-primary{background:linear-gradient(120deg,color-mix(in oklab,var(--page-accent),white 12%),color-mix(in oklab,var(--page-accent),transparent 10%))}}[data-style=parametric] .btn-secondary{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .btn-secondary{border-color:color-mix(in oklab,var(--line),transparent 10%)}}[data-style=parametric] .btn-secondary{background:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .btn-secondary{background:color-mix(in oklab,var(--panel-soft),var(--panel)40%)}}[data-style=parametric] .section-heading{padding-left:.92rem}[data-style=parametric] .section-heading:before{filter:none;background:linear-gradient(to bottom,var(--page-accent),var(--line));border-radius:2px;width:3px;height:calc(100% - .36rem);top:.2rem;left:0}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .section-heading:before{background:linear-gradient(to bottom,color-mix(in oklab,var(--page-accent),transparent 14%),color-mix(in oklab,var(--line),transparent 14%))}}[data-style=parametric] .section-heading:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(140% 72% at 15% 74%,transparent 66%,var(--page-accent)67% 69%,transparent 70%),radial-gradient(140% 72% at 30% 86%,transparent 66%,var(--page-accent)67% 69%,transparent 70%);width:min(40rem,100%);height:6.7rem;position:absolute;top:-.6rem;left:-.46rem}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .section-heading:after{background:radial-gradient(140% 72% at 15% 74%,transparent 66%,color-mix(in oklab,var(--page-accent),transparent 82%)67% 69%,transparent 70%),radial-gradient(140% 72% at 30% 86%,transparent 66%,color-mix(in oklab,var(--page-accent),transparent 86%)67% 69%,transparent 70%)}}[data-style=parametric] .section-heading:after{filter:blur(.1px)}[data-style=parametric] .panel-label{margin-bottom:.56rem;font-size:.62rem}[data-style=parametric] .panel-label:before{border-radius:3px}[data-style=parametric] .hero-subtitle{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .hero-subtitle{color:color-mix(in oklab,var(--ink),var(--muted)38%)}}[data-style=parametric] .hero-copy,[data-style=parametric] .section-description,[data-style=parametric] .publication-meta,[data-style=parametric] .metric-label{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .hero-copy,[data-style=parametric] .section-description,[data-style=parametric] .publication-meta,[data-style=parametric] .metric-label{color:color-mix(in oklab,var(--muted),var(--ink)18%)}}[data-style=parametric] .snapshot-list li{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .snapshot-list li{border-color:color-mix(in oklab,var(--line),transparent 10%)}}[data-style=parametric] .snapshot-list li{background:linear-gradient(150deg,var(--panel-soft),var(--panel))}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .snapshot-list li{background:linear-gradient(150deg,color-mix(in oklab,var(--panel-soft),var(--panel)44%),color-mix(in oklab,var(--panel),transparent 6%))}}[data-style=parametric] .snapshot-head{color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .snapshot-head{color:color-mix(in oklab,var(--page-accent),var(--ink)26%)}}[data-style=parametric] .snapshot-body{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .snapshot-body{color:color-mix(in oklab,var(--muted),var(--ink)24%)}}[data-style=parametric] .mini-node{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .mini-node{border-color:color-mix(in oklab,var(--line),transparent 8%)}}[data-style=parametric] .mini-node{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .mini-node{color:color-mix(in oklab,var(--ink),var(--muted)20%)}}[data-style=parametric] .mini-link{background:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .mini-link{background:color-mix(in oklab,var(--page-accent),var(--line)40%)}}[data-style=parametric] .mini-link:after{border-top-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .mini-link:after{border-top-color:color-mix(in oklab,var(--page-accent),var(--line)40%)}}[data-style=parametric] .mini-link:after{border-right-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .mini-link:after{border-right-color:color-mix(in oklab,var(--page-accent),var(--line)40%)}}[data-style=parametric] .focus-motif{opacity:.14}[data-style=parametric] .diag-card{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .diag-card{border-color:color-mix(in oklab,var(--line),transparent 8%)}}[data-style=parametric] .diag-node{border-color:var(--line);border-radius:.55rem}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .diag-node{border-color:color-mix(in oklab,var(--line),transparent 12%)}}[data-style=parametric] .diag-node{background:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .diag-node{background:color-mix(in oklab,var(--panel-soft),var(--panel)48%)}}[data-style=parametric] .diag-node{font-family:var(--font-mono),monospace;letter-spacing:.01em;font-size:.7rem}[data-style=parametric] .diag-edge{background:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .diag-edge{background:color-mix(in oklab,var(--page-accent),var(--line)36%)}}[data-style=parametric] .diag-edge:after{border-top-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .diag-edge:after{border-top-color:color-mix(in oklab,var(--page-accent),var(--line)36%)}}[data-style=parametric] .diag-edge:after{border-right-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .diag-edge:after{border-right-color:color-mix(in oklab,var(--page-accent),var(--line)36%)}}[data-style=parametric] .diag-edge:after{background:0 0}[data-style=parametric] .chip,[data-style=parametric] .status-badge,[data-style=parametric] .filter-chip{font-family:var(--font-mono),monospace;letter-spacing:.03em;border-radius:.62rem;font-size:.68rem}[data-style=parametric] .project-card:hover,[data-style=parametric] .focus-card:hover,[data-style=parametric] .detail-card:hover,[data-style=parametric] .publication-card:hover,[data-style=parametric] .nav-link:hover,[data-style=parametric] .btn:hover,[data-style=parametric] .focus-card:hover .icon-inline,[data-style=parametric] .project-card:hover .icon-inline,[data-style=parametric] .detail-card:hover .icon-inline,[data-style=parametric] .nav-link:hover .icon-inline,[data-style=parametric] .text-link:hover .icon-inline{transform:none!important}[data-style=parametric] .project-card:hover,[data-style=parametric] .focus-card:hover,[data-style=parametric] .detail-card:hover,[data-style=parametric] .publication-card:hover{box-shadow:0 10px 24px var(--shadow),inset 0 1px 0 #ffffff1f;border-color:var(--page-accent)}@supports (color:lab(0% 0 0)){[data-style=parametric] .project-card:hover,[data-style=parametric] .focus-card:hover,[data-style=parametric] .detail-card:hover,[data-style=parametric] .publication-card:hover{box-shadow:0 10px 24px var(--shadow),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.12)}}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .project-card:hover,[data-style=parametric] .focus-card:hover,[data-style=parametric] .detail-card:hover,[data-style=parametric] .publication-card:hover{border-color:color-mix(in oklab,var(--page-accent),var(--line)44%)}}[data-style=parametric] .reveal,[data-style=parametric] .focus-grid>*,[data-style=parametric] .project-grid>*,[data-style=parametric] .skills-grid>*,[data-style=parametric] .publication-grid>*,[data-style=parametric] .media-grid>*,[data-style=parametric] .detail-grid>*{opacity:1!important;animation:none!important;transform:none!important}[data-style=parametric] .icon-inline,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .nav-link,[data-style=parametric] .btn{transition-duration:.12s}[data-style=parametric] .portfolio-chat-panel{clip-path:polygon(0 0,calc(100% - var(--notch-size))0,100% var(--notch-size),100% 100%,var(--notch-size)100%,0 calc(100% - var(--notch-size)));border-radius:0}@media (max-width:759px){.streamline-overlay{opacity:.13}[data-style=editorial] .site-frame{padding-top:.7rem}[data-style=editorial] .site-header{border-radius:0;padding:.42rem 0 .72rem}[data-style=editorial] .site-nav{justify-content:flex-start;gap:.28rem}[data-style=editorial] .nav-link{border:0;flex:none;width:auto;padding:.36rem .46rem}[data-style=lowlight] .glow{display:none}[data-style=lowlight] .site-header,[data-style=lowlight] .hero-panel,[data-style=lowlight] .hero-side-panel,[data-style=lowlight] .focus-card,[data-style=lowlight] .project-card,[data-style=lowlight] .list-card,[data-style=lowlight] .detail-card,[data-style=lowlight] .publication-card,[data-style=lowlight] .contact-banner,[data-style=lowlight] .nav-link,[data-style=schematic] .site-header,[data-style=schematic] .hero-panel,[data-style=schematic] .hero-side-panel,[data-style=schematic] .focus-card,[data-style=schematic] .project-card,[data-style=schematic] .list-card,[data-style=schematic] .detail-card,[data-style=schematic] .publication-card,[data-style=schematic] .contact-banner,[data-style=schematic] .nav-link{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-style=parametric] .glow{display:none}[data-style=parametric] .site-header,[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner,[data-style=parametric] .nav-link{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner,[data-style=parametric] .portfolio-chat-panel{--notch-size:9px}[data-style=parametric] .panel-label{font-size:.56rem}[data-style=parametric] .diag-flow{flex-direction:column;align-items:stretch;gap:.34rem}[data-style=parametric] .diag-edge{width:2px;height:.68rem;margin:0 auto}[data-style=parametric] .diag-edge:after{top:auto;bottom:-.02rem;right:50%;transform:translate(50%)rotate(135deg)}[data-performance=balanced] .glow{display:none}[data-performance=balanced] .mesh-overlay{opacity:.24}[data-performance=balanced] .site-header,[data-performance=balanced] .hero-panel,[data-performance=balanced] .hero-side-panel,[data-performance=balanced] .focus-card,[data-performance=balanced] .project-card,[data-performance=balanced] .list-card,[data-performance=balanced] .detail-card,[data-performance=balanced] .publication-card,[data-performance=balanced] .contact-banner{-webkit-backdrop-filter:blur(6px)saturate(112%);backdrop-filter:blur(6px)saturate(112%)}[data-style=liquid] .site-header,[data-style=liquid] .hero-panel,[data-style=liquid] .hero-side-panel,[data-style=liquid] .focus-card,[data-style=liquid] .project-card,[data-style=liquid] .list-card,[data-style=liquid] .detail-card,[data-style=liquid] .publication-card,[data-style=liquid] .contact-banner{-webkit-backdrop-filter:blur(12px)saturate(124%);backdrop-filter:blur(12px)saturate(124%)}.site-frame{padding:.8rem .72rem 2rem}.portfolio-chat-root{right:max(.7rem,env(safe-area-inset-right));bottom:max(.7rem,env(safe-area-inset-bottom));left:max(.7rem,env(safe-area-inset-left));align-items:stretch}.portfolio-chat-panel{width:100%;max-width:none;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 1rem)}.portfolio-chat-root-open{top:max(.7rem,env(safe-area-inset-top))}.portfolio-chat-root-open .portfolio-chat-panel{height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 1.4rem)}.portfolio-chat-launcher{align-self:flex-end}.portfolio-chat-lib .aui-modal-anchor{left:max(.7rem,env(safe-area-inset-left));right:max(.7rem,env(safe-area-inset-right));bottom:max(.7rem,env(safe-area-inset-bottom));justify-content:flex-end;width:auto;height:2.9rem;display:flex}.portfolio-chat-modal-content{width:100%;height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 1.4rem);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 1.4rem);border-radius:.85rem}.portfolio-chat-modal-content .aui-thread-viewport{padding-top:.85rem;padding-left:.65rem;padding-right:.65rem}.portfolio-chat-modal-content .aui-thread-welcome-suggestions{grid-template-columns:1fr;align-items:stretch;gap:.5rem}.portfolio-chat-modal-content .aui-thread-welcome-suggestion{width:100%;max-width:none}.portfolio-chat-modal-content .aui-composer-input{font-size:16px}.site-header{padding:.78rem;position:static}.site-main{padding-top:.95rem}.site-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem;display:grid;overflow:visible}.nav-link{text-align:center;width:100%;min-width:0;padding:.45rem .6rem;font-size:.8rem}.nav-link-content{justify-content:center}.site-nav>.nav-link:last-child:nth-child(odd){grid-column:1/-1}.page-stack{gap:1.5rem}.hero-panel,.hero-side-panel{padding:1.2rem}.hero-title{font-size:clamp(1.95rem,11vw,2.65rem);line-height:1.02}.hero-subtitle{font-size:.98rem;line-height:1.4}.cta-row{gap:.5rem}.cta-row .btn{width:100%}.snapshot-list li{padding:.52rem .58rem}.mini-pipeline{grid-template-columns:1fr;gap:.2rem;margin-top:.75rem}.mini-link{width:2px;height:.62rem;margin:0 auto}.mini-link:after{top:auto;bottom:-.03rem;right:50%;transform:translate(50%)rotate(135deg)}.btn{min-height:2.8rem}.focus-card,.project-card,.publication-card,.detail-card,.list-card,.contact-banner{padding:1rem}.contact-card h3{min-height:0}.focus-motif{opacity:.3;width:88%}[data-style=schematic] .cfd-bg-overlay{opacity:.46}.site-footer{text-align:center}.footer-controls{justify-content:center;display:flex}}@media (min-width:760px){.site-header{grid-template-columns:180px minmax(0,1fr);align-items:center}.site-nav{justify-content:center}.hero-grid{grid-template-columns:1.45fr 1fr}.focus-grid,.project-grid,.publication-grid,.media-grid,.detail-grid,.diag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1080px){.page-stack{gap:2.3rem}.focus-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diag-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1280px){.detail-grid-research,.detail-grid-triple,.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1440px){.hero-copy{max-width:68ch}.section-heading{max-width:84ch}.section-title{max-width:34ch}.contact-banner h2{max-width:32ch}.contact-banner p{max-width:72ch}[data-style=editorial] .section-heading{max-width:90ch}[data-style=editorial] .hero-copy,[data-style=editorial] .section-description,[data-style=editorial] .publication-meta{max-width:78ch}}@media (min-width:1800px){html{font-size:17px}:root{--content-width:1360px}[data-style=parametric] .site-frame{max-width:1400px}}@media (min-width:2560px){html{font-size:18px}:root{--content-width:1520px}[data-style=parametric] .site-frame{max-width:1560px}}@media (min-width:3200px){html{font-size:19px}:root{--content-width:1680px}[data-style=parametric] .site-frame{max-width:1720px}}@media (prefers-reduced-motion:reduce){.streamline-overlay{animation:none}.cfd-ambient-scene,.cfd-network-scene,.cfd-airfoil-scene,.cfd-jet-layer-low,.cfd-jet-layer-high{transform:none}.reveal,.focus-grid>*,.project-grid>*,.skills-grid>*,.publication-grid>*,.media-grid>*,.detail-grid>*{opacity:1;animation:none;transform:none}.btn,.project-card,.focus-card,.detail-card,.publication-card,.nav-link{transition:none}}.math-inline .katex{font-size:1em}.math-block .katex-display{margin:.5rem 0}:is(html:has(.pv-page),body:has(.pv-page)){overscroll-behavior:none;height:100dvh;overflow:hidden}body:has(.pv-page) .site-frame{flex-direction:column;max-width:none;height:100dvh;margin:0;padding:0;display:flex;overflow:hidden}body:has(.pv-page) .portfolio-shell{height:100dvh;overflow:hidden}:is(body:has(.pv-page) .site-header,body:has(.pv-page) .site-footer,body:has(.pv-page) .portfolio-chat-root){display:none}body:has(.pv-page) .site-main{flex:1;height:auto;min-height:0;padding-top:0;overflow:hidden}.pv-page{color:#262b31;--font-display:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,sans-serif;--font-body:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,sans-serif;--font-mono:"SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--pv-border:#b8b8b8;--pv-border-soft:#c8c8c8;--pv-panel:#ececec;--pv-panel-alt:#e0e0e0;--pv-toolbar:#e8e8e8;--pv-toolbar-strong:#d8d8d8;--pv-text-soft:#6b6b6b;--pv-selection:#b4d7ff;--pv-selection-border:#7aafdf;background:#3d3d3d;height:100dvh;min-height:100dvh;padding:8px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,system-ui,sans-serif;font-size:13px;line-height:1.3;overflow:hidden}.pv-page,.pv-page *{box-sizing:border-box}.pv-window{background:#ececec;border-radius:10px;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden;box-shadow:0 0 0 1px #0003,0 10px 30px #00000059,0 5px 12px #0003}.pv-titlebar{background:linear-gradient(#e8e8e8 0%,#d8d8d8 100%);border-bottom:1px solid #b0b0b0;border-radius:10px 10px 0 0;align-items:center;min-height:38px;padding:0 12px;display:flex}.pv-traffic-lights{flex-shrink:0;align-items:center;gap:8px;display:flex}.pv-traffic-light{cursor:pointer;border:1px solid #0000001f;border-radius:50%;width:12px;height:12px;box-shadow:inset 0 0 0 .5px #0000000d}.pv-tl-close{background:linear-gradient(#ff6058 0%,#e3443d 100%);border-color:#df4841}.pv-tl-minimize{background:linear-gradient(#ffbe2e 0%,#d9a116 100%);border-color:#d1981b}.pv-tl-maximize{background:linear-gradient(#2bc840 0%,#1fa82e 100%);border-color:#27a936}.pv-titlebar-text{text-align:center;color:#4d4d4d;letter-spacing:.01em;flex:1;padding-right:52px;font-size:13px;font-weight:500}.pv-menubar{border-bottom:1px solid var(--pv-border);background:linear-gradient(#f6f6f6 0%,#e8e8e8 100%);align-items:center;gap:1px;min-height:24px;padding:0 8px;display:flex}.pv-menuitem{color:#2c2c2c;font:inherit;background:0 0;border:0;border-radius:4px;padding:4px 10px;font-size:13px;font-weight:400;line-height:1}.pv-menuitem:hover{color:#fff;background:#007aff}.pv-menuitem-wrap{position:relative}.pv-menuitem-open{color:#fff;background:#007aff}.pv-menu-dropdown{z-index:100;background:#f0f0f0;border:1px solid #999;min-width:200px;padding:2px 0;position:absolute;top:100%;left:0;box-shadow:0 2px 8px #0000004d}.pv-menu-dropdown-label{color:#666;font-size:.7rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;padding:4px 24px}.pv-menu-dropdown-item{text-align:left;width:100%;font-size:.78rem;font-family:var(--font-mono);color:#222;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:4px 24px;display:block}.pv-menu-dropdown-item:hover{color:#fff;background:#007aff}.pv-menu-dropdown-item.active{font-weight:600}.pv-menu-dropdown-separator{background:#c9c9c9;height:1px;margin:4px 10px}.pv-menu-dropdown-empty{color:#999;cursor:default}.pv-menu-dropdown-empty:hover{color:#999;background:0 0}.pv-about-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pv-about-dialog{min-width:340px;max-width:420px;font-family:var(--font-mono);background:#f0f0f0;border:1px solid #888;box-shadow:0 4px 24px #0006}.pv-about-titlebar{color:#333;background:linear-gradient(#e8e8e8 0%,#d0d0d0 100%);border-bottom:1px solid #aaa;justify-content:space-between;align-items:center;padding:4px 8px;font-size:.78rem;font-weight:600;display:flex}.pv-about-close{cursor:pointer;color:#444;background:0 0;border:1px solid #aaa;border-radius:3px;padding:0 5px 2px;font-size:1rem;line-height:1}.pv-about-close:hover{background:#ddd}.pv-about-body{text-align:center;padding:24px 32px}.pv-about-logo{margin-bottom:16px}.pv-about-name{color:#222;margin-bottom:4px;font-size:1rem;font-weight:700}.pv-about-affiliation{color:#555;font-size:.85rem}.pv-about-footer{border-top:1px solid #c9c9c9;justify-content:center;padding:8px 16px 12px;display:flex}.pv-about-ok{font-size:.78rem;font-family:var(--font-mono);cursor:pointer;color:#222;background:#e4e4e4;border:1px solid #aaa;border-radius:3px;padding:4px 24px}.pv-about-ok:hover{background:#d0d0d0}.pv-toolbar-row{border-bottom:1px solid var(--pv-border);background:linear-gradient(#f0f0f0 0%,#e0e0e0 100%);align-items:center;gap:8px;min-height:38px;padding:0 8px;display:flex;overflow:auto hidden}.pv-toolbar-row-secondary{background:linear-gradient(#e8e8e8 0%,#d8d8d8 100%);min-height:36px}.pv-toolbar-group{border-right:1px solid silver;flex-shrink:0;align-items:center;gap:2px;min-width:0;padding-right:8px;display:inline-flex}.pv-toolbar-group:last-child{border-right:0;padding-right:0}.pv-toolbar-btn{background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;width:28px;height:26px;padding:0;display:inline-flex}.pv-toolbar-icon{flex-shrink:0;width:18px;height:18px}.pv-toolbar-separator{background:silver;width:1px;height:20px;margin:0 4px}.pv-toolbar-combo{color:#2c2c2c;min-width:100px;min-height:22px;font:inherit;background:linear-gradient(#fff 0%,#f5f5f5 100%);border:1px solid #b0b0b0;border-radius:6px;justify-content:space-between;align-items:center;gap:4px;padding:1px 6px 1px 10px;font-size:12px;line-height:1;display:inline-flex;box-shadow:0 .5px 1.5px #0000001a}.pv-toolbar-combo-wide{min-width:120px}.pv-toolbar-combo-value{text-overflow:ellipsis;white-space:nowrap;padding-top:1px;overflow:hidden}.pv-toolbar-caret-svg{color:#666;flex-shrink:0;width:8px;height:5px}.pv-toolbar-spinbox{min-height:22px;font:inherit;background:#fff;border:1px solid #b0b0b0;border-radius:6px;align-items:center;gap:0;font-size:12px;display:inline-flex;overflow:hidden;box-shadow:inset 0 1px 2px #0000000f}.pv-toolbar-spinbox-label{color:#666;white-space:nowrap;background:linear-gradient(#f5f5f5 0%,#e8e8e8 100%);border-right:1px solid silver;align-self:stretch;align-items:center;padding:0 8px;font-size:11px;line-height:1;display:flex}.pv-toolbar-spinbox-input{color:#2c2c2c;width:80px;font-family:var(--font-mono),monospace;background:0 0;border:none;outline:none;padding:0 8px;font-size:11px;line-height:20px}.pv-toolbar-text{color:gray;min-height:22px;font:inherit;background:0 0;border:none;align-items:center;padding:0 4px;font-size:12px;display:inline-flex}.pv-workspace{background:#d4d4d4;flex:1;grid-template-columns:minmax(260px,290px) minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.pv-dock-column{background:#d4d4d4;border-right:1px solid #a0a0a0;grid-template-rows:minmax(160px,.32fr) minmax(0,1fr);gap:1px;min-height:0;display:grid}.pv-panel,.pv-left-inspector{background:var(--pv-panel);flex-direction:column;min-height:0;display:flex;overflow:hidden}.pv-dock-panel{border-bottom:1px solid #a0a0a0}.pv-panel-hdr{color:#3c3c3c;letter-spacing:.01em;background:linear-gradient(#f0f0f0 0%,#e0e0e0 100%);border-bottom:1px solid silver;align-items:center;min-height:26px;padding:0 10px;font-size:12px;font-weight:600;display:flex;overflow:hidden}.pv-panel-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pv-dock-body{background:#f6f6f6;flex:1;min-height:0;overflow:hidden}.pv-tree{padding:4px 0}.pv-tree-row{color:#2c2c2c;white-space:nowrap;align-items:center;gap:4px;min-height:22px;padding:0 8px;font-size:12px;display:flex}.pv-tree-active{color:#fff;background:linear-gradient(#4a9ff5 0%,#2d7fd3 100%);border-radius:4px;margin:0 4px;padding:0 4px}.pv-tree-glyph{color:gray;text-align:center;flex-shrink:0;width:12px;font-size:10px;line-height:1}.pv-tree-active .pv-tree-glyph{color:#fffc}.pv-tree-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.pv-tree-eye-placeholder{opacity:0}.pv-sidebar-tabs{background:linear-gradient(#e8e8e8 0%,#d8d8d8 100%);border-bottom:1px solid #a0a0a0;align-items:flex-end;gap:0;padding:0;display:flex}.pv-sidebar-tab{color:#5c5c5c;min-height:26px;font:inherit;cursor:default;background:0 0;border:none;border-right:1px solid #b8b8b8;padding:0 14px;font-size:12px}.pv-sidebar-tab:first-child{border-left:none}.pv-sidebar-tab-active{background:var(--pv-panel);color:#2c2c2c}.pv-dock-actionbar{background:linear-gradient(#f5f5f5 0%,#e8e8e8 100%);border-bottom:1px solid silver;flex-wrap:nowrap;align-items:center;gap:6px;padding:4px 8px;display:flex;overflow:hidden}.pv-dock-action{color:#2c2c2c;min-width:68px;min-height:22px;font:inherit;white-space:nowrap;appearance:none;background:linear-gradient(#fff 0%,#f0f0f0 100%);border:1px solid #b0b0b0;border-radius:7px;flex:none;justify-content:center;align-items:center;gap:0;padding:0 6px;font-size:12px;line-height:1;display:flex;overflow:hidden;box-shadow:0 .5px 1px #00000014}.pv-dock-action-icon{flex-shrink:0;width:14px;height:14px;display:block}.pv-dock-action-content{white-space:nowrap;flex-wrap:nowrap;justify-content:center;align-items:center;gap:4px;width:100%;display:inline-flex}.pv-dock-action-content>span{white-space:nowrap;line-height:1;display:block}.pv-dock-action-primary{color:#fff;text-shadow:0 -.5px #00000026;background:linear-gradient(#72c862 0%,#4cb03c 100%);border-color:#5a9a4e}.pv-dock-action-icon-only{flex:0 0 22px;justify-content:center;width:22px;min-width:22px;max-width:22px;padding:0}.pv-dock-action-icon-only .pv-dock-action-content{justify-content:center;width:auto}.pv-dock-action:disabled{color:#a0a0a0;box-shadow:none;background:linear-gradient(#f5f5f5 0%,#e8e8e8 100%)}.pv-dock-action-spacer{flex:auto;min-width:0}.pv-inspector-scroll{scrollbar-gutter:stable;background:#f6f6f6;flex:1;min-height:0;padding:10px;overflow-y:auto}.pv-dock-tab-panel{flex-direction:column;gap:10px;display:flex}.pv-search-row{background:linear-gradient(#f0f0f0 0%,#e4e4e4 100%);border-bottom:1px solid silver;align-items:center;gap:4px;min-height:30px;padding:4px 8px;display:flex}.pv-search-input{color:#2c2c2c;min-height:22px;font:inherit;background:#fff;border:1px solid #b0b0b0;border-radius:6px;flex:1;padding:0 8px;font-size:12px;box-shadow:inset 0 1px 2px #0000000f}.pv-search-input::placeholder{color:#a0a0a0}.pv-search-advanced{background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;width:24px;height:22px;padding:0;display:inline-flex}.pv-search-advanced-icon{width:16px;height:16px}.pv-tree-eye{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.pv-tree-eye-icon{width:14px;height:14px}.pv-property-section{background:#fff;border:1px solid silver;border-radius:5px;overflow:hidden;box-shadow:0 .5px 1px #0000000f}.pv-property-section-hdr{cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(#f8f8f8 0%,#ebebeb 100%);border-bottom:1px solid #d8d8d8;align-items:center;gap:4px;min-height:26px;padding:0 8px;display:flex}.pv-expander-arrow{color:#606060;text-align:center;flex-shrink:0;width:12px;font-size:10px;line-height:1}.pv-property-section-title{color:#2c2c2c;flex:1;font-size:11px;font-weight:600}.pv-section-actions{align-items:center;gap:1px;margin-left:auto;display:inline-flex}.pv-section-action-btn{background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:22px;height:20px;padding:0;display:inline-flex}.pv-section-action-btn:disabled{opacity:.4}.pv-section-action-icon{width:14px;height:14px}.pv-props-table{border-collapse:collapse;table-layout:fixed;width:100%}.pv-props-table tr:last-child{border-bottom:0}.pv-prop-key{color:gray;text-align:right;vertical-align:top;white-space:nowrap;width:108px;padding:5px 8px 5px 10px;font-size:11px}.pv-prop-val{color:#2c2c2c;font-family:var(--font-mono),monospace;vertical-align:top;word-break:break-word;padding:5px 10px 5px 8px;font-size:11px}.pv-actuation-controls{background:linear-gradient(#f8f8f8 0%,#f2f2f2 100%);flex-direction:column;gap:10px;padding:10px;display:flex}.pv-actuation-row{grid-template-columns:52px minmax(0,1fr) 78px;align-items:center;gap:8px;display:grid}.pv-actuation-select-row{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px;display:grid}.pv-actuation-label{color:#5a5a5a;font-size:11px;font-weight:600}.pv-actuation-value{color:#2c2c2c;font-family:var(--font-mono),monospace;text-align:right;font-size:10px}.pv-actuation-slider{accent-color:#356fbe;width:100%;margin:0}.pv-actuation-slider:disabled{opacity:.65;cursor:not-allowed}.pv-actuation-select{color:#2c2c2c;appearance:none;background:linear-gradient(#fff 0%,#f1f1f1 100%);border:1px solid #b8b8b8;border-radius:7px;width:100%;min-width:0;height:22px;padding:0 24px 0 6px;font-size:12px;box-shadow:inset 0 1px #ffffffd9}.pv-actuation-select:focus-visible{outline-offset:0;outline:1px solid #6ba0d6}.pv-actuation-select:disabled{opacity:.65;cursor:not-allowed}.pv-train-row{justify-content:space-between;align-items:center;gap:10px;margin-top:2px;display:flex}.pv-train-row-secondary{margin-top:0}.pv-train-control{text-align:center;justify-content:center;min-width:120px;font-weight:600}.pv-train-control:disabled{opacity:.6;cursor:not-allowed}.pv-train-status{color:#4a4a4a;font-family:var(--font-mono),monospace;letter-spacing:.04em;background:#fff;border:1px solid #c8c8c8;border-radius:999px;padding:2px 8px;font-size:10px}.pv-train-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;display:grid}.pv-train-metric{justify-content:space-between;align-items:center;gap:10px;display:flex}.pv-hidden-runtime{display:none}.pv-actuation-note{color:#545454;background:#fff;border:1px solid #d8d8d8;padding:7px 9px;font-size:10px;line-height:1.45}.pv-actuation-status{background:#fff;border:1px solid #d8d8d8;grid-template-columns:52px minmax(0,1fr);align-items:start;gap:8px;padding:7px 9px;display:grid}.pv-actuation-status-label{color:#5a5a5a;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.pv-actuation-status-text{color:#353535;font-size:10px;line-height:1.45}.pv-main{background:silver;flex-direction:column;gap:1px;min-width:0;min-height:0;padding:1px;display:flex;overflow:hidden}.pv-layout-tabs{background:#d0d0d0;align-items:flex-end;gap:1px;min-height:28px;padding:4px 4px 0;display:flex;position:relative;overflow:hidden}.pv-layout-tab{color:#606060;min-width:80px;height:24px;font:inherit;box-shadow:none;background:#c8c8c8;border:none;border-top-left-radius:6px;border-top-right-radius:6px;padding:0 12px;font-size:12px}.pv-layout-tab-wrap{align-items:stretch;display:flex;position:relative}.pv-layout-tab-wrap .pv-layout-tab{padding-right:14px}.pv-layout-tab-wrap-active{z-index:1}.pv-layout-tab-label{text-overflow:ellipsis;text-align:center;white-space:nowrap;width:100%;max-width:160px;display:block;overflow:hidden}.pv-layout-tab-active{color:#2c2c2c;z-index:1;background:#f0f0f0;position:relative}.pv-layout-tab-add{width:26px;min-width:26px;padding:0}.pv-layout-tab-add:disabled{opacity:.45}.pv-layout-tab-close{z-index:2;color:#7a7a7a;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:14px;height:14px;padding:0;font-size:0;line-height:0;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pv-layout-tab-close:before,.pv-layout-tab-close:after{content:"";background:currentColor;border-radius:999px;width:8px;height:1.5px;position:absolute}.pv-layout-tab-close:before{transform:rotate(45deg)}.pv-layout-tab-close:after{transform:rotate(-45deg)}.pv-layout-add-wrap{align-items:stretch;display:flex;position:relative}.pv-layout-stage{flex:1;min-height:0;position:relative}.pv-layout-pane{min-height:0;display:flex;position:absolute;inset:0;overflow:hidden}.pv-layout-pane>*{flex:1;min-height:0}.pv-layout-pane-active{visibility:visible;pointer-events:auto}.pv-layout-pane-hidden{visibility:hidden;pointer-events:none}.pv-empty-view-viewport{background:#f2f2f2}.pv-empty-view-scroll{place-items:center;width:100%;height:100%;padding:32px;display:grid;overflow:auto}.pv-empty-view-panel{flex-direction:column;align-items:center;gap:12px;min-width:248px;padding:18px 16px 16px;display:flex}.pv-empty-view-caption{color:#7a7a7a;font-family:var(--font-mono),monospace;letter-spacing:.03em;font-size:11px}.pv-empty-view-title{color:#242424;font-size:18px;font-weight:600}.pv-empty-view-actions{flex-direction:column;align-items:stretch;gap:6px;width:196px;display:flex}.pv-empty-view-button{color:#262626;min-height:22px;font:inherit;text-align:center;background:linear-gradient(#fafafa 0%,#e9e9e9 100%);border:1px solid #adadad;border-radius:7px;padding:0 6px;font-size:12px;box-shadow:inset 0 1px #ffffffb3}.pv-empty-view-button:hover{background:linear-gradient(#fff 0%,#eef5ff 100%);border-color:#88a9d8}.pv-split-view{flex:1;gap:0;min-height:0;display:flex}.pv-split-handle{cursor:col-resize;background:#b0b0b0;flex-shrink:0;width:4px}.pv-split-handle:hover{background:#888}.pv-split-view>.pv-view-shell{flex:1;min-width:0}.pv-main-split-view{flex:1;align-items:stretch;width:100%;min-width:0;min-height:0;display:flex}.pv-main-split-primary{box-sizing:border-box;background:#b8b8b8;flex:auto;grid-template-rows:minmax(0,1fr) clamp(220px,29vh,270px);gap:1px;min-width:0;min-height:0;padding-right:1px;display:grid;overflow:hidden}.pv-main-split-primary-single{grid-template-rows:none;padding-right:1px;display:flex}.pv-main-split-primary-single>*{flex:auto;min-width:0;min-height:0}.pv-control-render-shell,.pv-main-split-primary>.pv-view-shell{min-width:0;min-height:0}.pv-main-split-secondary{box-sizing:border-box;background:#b8b8b8;flex:0 0 30%;min-width:320px;min-height:0;padding-left:1px;display:flex;overflow:hidden}.pv-main-split-secondary>*{flex:auto;min-width:0;min-height:0;max-height:100%}.pv-control-chart-strip{background:#b8b8b8;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;min-width:0;min-height:0;display:grid;overflow:hidden}.pv-control-chart-cell{min-width:0;min-height:0;overflow:hidden}.pv-view-shell{box-sizing:border-box;background:#f0f0f0;border:1px solid #a0a0a0;border-radius:4px;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000001f}.pv-view-toolbar{background:linear-gradient(#f8f8f8 0%,#e8e8e8 100%);border-bottom:1px solid #d0d0d0;align-items:center;gap:8px;min-height:28px;padding:0 10px;display:flex}.pv-view-toolbar-title{color:#2c2c2c;font-size:12px;font-weight:600}.pv-view-toolbar-meta{color:gray;font-family:var(--font-mono),monospace;font-size:11px}.pv-view-toolbar-spacer{flex:1}.pv-viewframe-actions{align-items:center;gap:2px;display:inline-flex}.pv-viewframe-action{color:gray;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:24px;height:22px;padding:0;display:inline-flex}.pv-viewframe-action:hover{background:linear-gradient(#fff 0%,#f0f0f0 100%);border-color:silver;box-shadow:0 .5px 1px #0000000f}.pv-viewframe-icon{width:16px;height:16px}.pv-viewframe-btn-svg{width:12px;height:12px}.pv-viewframe-close:hover{color:#fff;background:linear-gradient(#ff6058 0%,#e04040 100%);border-color:#c04040}.pv-viewframe-maximize:hover{color:#505050}.pv-viewport{background:#52576e;flex:1;min-height:0;position:relative;overflow:hidden}.pv-viewport-mesh-only{background:#525f7f}.pv-chart-view{box-sizing:border-box;min-width:0;height:100%;min-height:0;max-height:100%;box-shadow:none;background:#f0f0f0;border:1px solid #a0a0a0;border-radius:4px;flex-direction:column;display:flex;overflow:hidden}.pv-chart-view-fill{place-self:stretch stretch;width:100%}.pv-training-metrics-column{box-sizing:border-box;background:#b8b8b8;flex:calc(50% - 4px);grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;min-width:0;max-width:calc(50% - 4px);min-height:0;padding:1px;display:grid;overflow:hidden}.pv-training-metrics-layout{flex:auto;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch;gap:8px;width:100%;min-width:0;height:100%;min-height:0;display:grid}.pv-training-metrics-layout-embedded{gap:6px}.pv-training-metrics-cell{min-width:0;max-width:100%;min-height:0;max-height:100%;display:flex;overflow:hidden}.pv-training-metrics-cell>*{flex:1;min-width:0;min-height:0}.pv-chart-viewport{background:linear-gradient(#fff 0%,#f8f8f8 100%);flex:1;min-height:0;position:relative;overflow:hidden}.pv-vtk-layout-viewport{background:#12161c}.pv-vtk-layout-canvas,.pv-vtk-layout-interaction{position:absolute;inset:0}.pv-vtk-layout-canvas canvas{width:100%;height:100%;display:block}.pv-vtk-layout-legend-frame{z-index:1;pointer-events:none;box-sizing:border-box;background:0 0;border:1px solid #ffffff85;width:392px;height:76px;position:absolute;top:8px;right:12px}.pv-vtk-layout-interaction{z-index:2;touch-action:none;cursor:grab}.pv-vtk-layout-interaction:active{cursor:grabbing}.pv-vtk-layout-status{z-index:3;color:#d4dbe3;background:#0e1218d1;border:1px solid #6e7f925c;border-radius:8px;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:calc(100% - 28px);padding:8px 10px;font-size:12px;line-height:1.3;display:flex;position:absolute;bottom:14px;right:14px;box-shadow:0 8px 24px #0000003d}.pv-vtk-layout-orientation{z-index:1;bottom:12px;left:12px}.pv-vtk-layout-error{z-index:3;color:#ffd6d6;background:#441212eb;border:1px solid #b84c4c8c;border-radius:8px;max-width:min(340px,100% - 28px);padding:8px 10px;font-size:12px;line-height:1.35;position:absolute;top:14px;right:14px}.pv-vtk-toolbar-controls{align-items:center;gap:8px;display:inline-flex}.pv-vtk-toolbar-button,.pv-vtk-toolbar-select{color:#f0f0f0;background:linear-gradient(#585858 0%,#434343 100%);border:1px solid #5a5a5a;border-radius:6px;height:22px;font-size:12px;line-height:1}.pv-vtk-toolbar-button{padding:0 10px}.pv-vtk-toolbar-button:hover,.pv-vtk-toolbar-select:hover{border-color:#6ea0d1}.pv-vtk-toolbar-button:disabled,.pv-vtk-toolbar-select:disabled{opacity:.55;cursor:default}.pv-vtk-toolbar-select{min-width:68px;padding:0 8px}.pv-vtk-toolbar-toggle{color:#d9d9d9;align-items:center;gap:6px;font-size:12px;display:inline-flex}.pv-chart-uplot-host{position:absolute;inset:0}.pv-chart-uplot-host .uplot{width:100%!important;height:100%!important}.pv-chart-uplot-host .u-wrap,.pv-chart-uplot-host .u-over,.pv-chart-uplot-host canvas{border:none}.pv-portfolio-viewport,.pv-portfolio-panel-viewport{background:linear-gradient(#ffffffeb 0%,#f6f6f6fa 100%),linear-gradient(90deg,#c1d3e638 1px,#0000 1px) 0 0/24px 24px,linear-gradient(#c1d3e62e 1px,#0000 1px) 0 0/24px 24px;overflow:auto}.pv-assistant-viewport{background:linear-gradient(#ffffffeb 0%,#f6f6f6fa 100%),linear-gradient(90deg,#c1d3e638 1px,#0000 1px) 0 0/24px 24px,linear-gradient(#c1d3e62e 1px,#0000 1px) 0 0/24px 24px;overflow:hidden}.pv-assistant-chat-shell{background:var(--bg);flex-direction:column;width:100%;height:100%;min-height:0;display:flex}@supports (color:color-mix(in lab, red, red)){.pv-assistant-chat-shell{background:color-mix(in oklab,var(--bg),var(--panel)72%)}}.pv-assistant-chat-shell .aui-root{--aui-background:0 0% 100%;--aui-foreground:220 30% 16%;--aui-card:0 0% 100%;--aui-card-foreground:220 30% 16%;--aui-popover:0 0% 100%;--aui-popover-foreground:220 30% 16%;--aui-primary:207 77% 40%;--aui-primary-foreground:0 0% 100%;--aui-secondary:210 45% 96%;--aui-secondary-foreground:220 30% 16%;--aui-muted:210 35% 96%;--aui-muted-foreground:218 20% 36%;--aui-accent:210 45% 96%;--aui-accent-foreground:220 30% 16%;--aui-border:216 26% 82%;--aui-input:216 26% 82%;--aui-ring:207 77% 40%;color:hsl(var(--aui-foreground));--aui-foreground:220 30% 16%!important;--aui-muted-foreground:218 20% 36%!important}.pv-assistant-chat-shell .aui-thread-root{background:var(--bg);flex-direction:column;width:100%;height:100%;min-height:0;display:flex}@supports (color:color-mix(in lab, red, red)){.pv-assistant-chat-shell .aui-thread-root{background:color-mix(in oklab,var(--bg),var(--panel)75%)}}.pv-assistant-chat-shell .aui-thread-viewport{padding-top:1rem;padding-left:.85rem;padding-right:.85rem}.pv-assistant-chat-shell .aui-thread-viewport-footer{background:var(--bg);padding-bottom:.75rem}@supports (color:color-mix(in lab, red, red)){.pv-assistant-chat-shell .aui-thread-viewport-footer{background:color-mix(in oklab,var(--bg),var(--panel)75%)}}.pv-assistant-chat-shell .aui-thread-welcome-message{text-align:center}.pv-assistant-chat-shell .aui-thread-welcome-message,.pv-assistant-chat-shell .aui-thread-welcome-message *{color:#2f3b4c;opacity:1}.pv-assistant-chat-shell .aui-assistant-message-content,.pv-assistant-chat-shell .aui-assistant-message-content *,.pv-assistant-chat-shell .aui-user-message-content,.pv-assistant-chat-shell .aui-user-message-content *,.pv-assistant-chat-shell .aui-md-p,.pv-assistant-chat-shell .aui-md-p *,.pv-assistant-chat-shell .aui-md-ul,.pv-assistant-chat-shell .aui-md-ol,.pv-assistant-chat-shell .aui-md-li,.pv-assistant-chat-shell .aui-md-a{color:#243244;opacity:1}.pv-assistant-chat-shell .aui-md-a{text-underline-offset:2px;text-decoration:underline}.pv-assistant-chat-shell .aui-thread-welcome-suggestion,.pv-assistant-chat-shell .aui-thread-followup-suggestion{color:#2b3747}.pv-assistant-chat-shell .aui-thread-followup-suggestions{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start}.pv-assistant-chat-shell .aui-thread-followup-suggestion{overflow-wrap:anywhere;text-align:left;max-width:100%;white-space:normal!important;text-overflow:clip!important;overflow:visible!important}.pv-assistant-chat-shell .aui-composer-root{background:var(--panel-soft);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.pv-assistant-chat-shell .aui-composer-root{background:color-mix(in oklab,var(--panel-soft),var(--panel)45%)}}.pv-assistant-chat-shell .aui-composer-input{color:#233042;min-width:0;line-height:1.35}.pv-assistant-chat-shell .aui-composer-input::placeholder{color:#64748b;opacity:1}.pv-assistant-chat-shell .aui-composer-send,.pv-assistant-chat-shell .aui-composer-cancel,.pv-assistant-chat-shell .aui-composer-attach{flex-shrink:0}.pv-assistant-chat-error{color:#7f1d1d;background:#fff9f9;background:lab(98.3985% 2.09028 .76226);border:1px solid #c73636bf;border:1px solid lab(46.4123% 57.4937 35.9959/.75);border-radius:.5rem;margin:.6rem .25rem 0;padding:.5rem .6rem;font-size:.78rem;line-height:1.35}.pv-assistant-unavailable{box-sizing:border-box;color:#2b3340;background:linear-gradient(#fff 0%,#f4f6f8 100%);border:1px solid #c8ccd1;border-radius:8px;flex-direction:column;gap:.58rem;width:min(820px,100%);margin:1rem;padding:1rem;display:flex}.pv-assistant-unavailable-title{color:#222a34;font-size:.95rem;font-weight:600}.pv-assistant-unavailable-detail{color:#4a5568;font-size:.82rem}.pv-assistant-unavailable-hints-title{color:#4a5568;margin-top:.2rem;font-size:.8rem;font-weight:600}.pv-assistant-unavailable-hints{color:#4a5568;margin:0;padding-left:1.1rem;font-size:.78rem}.pv-portfolio-board{flex-direction:column;gap:14px;min-height:100%;padding:16px;display:flex}.pv-portfolio-board-embedded{gap:12px}.pv-portfolio-summary-strip{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.pv-portfolio-summary-card{background:linear-gradient(#fff 0%,#f3f6f9 100%);border:1px solid #cfd7e1;border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;display:flex;box-shadow:0 1px 2px #0000000d}.pv-portfolio-summary-label{color:#697482;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.pv-portfolio-summary-value{color:#1f2731;font-family:var(--font-mono),monospace;font-size:14px;font-weight:600}.pv-portfolio-section{background:#fffffff5;border:1px solid #cfd7e1;border-radius:6px;flex-direction:column;min-height:0;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000000d}.pv-portfolio-section-titlebar{color:#2f3742;letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(#f8fafc 0%,#edf2f7 100%);border-bottom:1px solid #dce3eb;padding:8px 12px;font-size:11px;font-weight:700}.pv-portfolio-table-wrap{overflow:auto}.pv-portfolio-table{border-collapse:collapse;table-layout:fixed;width:100%}.pv-portfolio-table th,.pv-portfolio-table td{vertical-align:top;text-align:left;color:#2a3038;border-bottom:1px solid #e5eaf0;padding:9px 10px;font-size:11px}.pv-portfolio-table th{z-index:1;color:#5a6775;letter-spacing:.06em;text-transform:uppercase;background:#f5f8fb;font-size:10px;font-weight:700;position:sticky;top:0}.pv-portfolio-table-title{font-weight:600}.pv-portfolio-tag{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.pv-portfolio-tag-published{color:#2d5f2e;background:#dcefd6}.pv-portfolio-tag-in-review{color:#7a5212;background:#f7e4bb}.pv-portfolio-tag-presented{color:#214a84;background:#dce7f7}.pv-portfolio-profile-header{background:linear-gradient(#fff 0%,#f3f6f9 100%);border:1px solid #cad4df;border-radius:6px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.pv-portfolio-profile-title{color:#1b2129;font-size:18px;font-weight:700}.pv-portfolio-profile-subtitle{color:#39536e;letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.pv-portfolio-profile-affiliation,.pv-portfolio-meta-line{color:#54606c;font-size:11px;line-height:1.5}.pv-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.pv-portfolio-aux-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;min-width:0;display:grid}.pv-portfolio-aux-panel{min-height:0}.pv-portfolio-list{flex-direction:column;display:flex}.pv-portfolio-list-item{border-bottom:1px solid #e7ecf1;padding:10px 12px}.pv-portfolio-list-item:last-child{border-bottom:none}.pv-portfolio-list-title,.pv-portfolio-panel-title{color:#1f2731;font-size:12px;font-weight:700;line-height:1.45}.pv-portfolio-panel-body{flex-direction:column;gap:10px;min-height:100%;padding:12px;display:flex}.pv-portfolio-kpi-list,.pv-portfolio-bullet-list,.pv-portfolio-link-list{flex-direction:column;gap:8px;display:flex}.pv-portfolio-kpi-row{color:#2b3138;font-family:var(--font-mono),monospace;background:#ffffffeb;border:1px solid #dbe3eb;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:11px;display:flex}.pv-portfolio-bullet-item,.pv-portfolio-note,.pv-portfolio-rich-text{color:#313842;font-size:11px;line-height:1.6}.pv-portfolio-bullet-item{background:#ffffffeb;border:1px solid #dbe3eb;padding:8px 10px}.pv-portfolio-link{color:#24538a;background:#fffffff0;border:1px solid #dbe3eb;grid-template-columns:96px minmax(0,1fr);gap:8px;padding:8px 10px;text-decoration:none;display:grid}.pv-portfolio-link-label{color:#4c5b6c;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:700}.pv-portfolio-link-url{color:#21548d;min-width:0;font-family:var(--font-mono),monospace;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.pv-portfolio-rich-text .math-inline,.pv-portfolio-rich-text .math-block,.pv-portfolio-table .math-inline,.pv-portfolio-table .math-block,.pv-portfolio-bullet-item .math-inline,.pv-portfolio-bullet-item .math-block,.pv-portfolio-meta-line .math-inline,.pv-portfolio-meta-line .math-block{color:inherit}.pv-chart-ylabel{transform-origin:50%;color:#3c3c3c;white-space:nowrap;pointer-events:none;z-index:1;font-size:12px;line-height:1;position:absolute;transform:translate(-50%,-50%)rotate(-90deg)}.pv-chart-ylabel .katex{font-size:1em}.pv-chart-xlabel{color:#3c3c3c;white-space:nowrap;pointer-events:none;z-index:1;font-size:11px;line-height:1;position:absolute;transform:translate(-50%,-50%)}.pv-chart-xlabel .katex{font-size:1em}.pv-chart-ylabel-uplot{top:50%;left:14px}.pv-chart-xlabel-uplot{top:auto;bottom:6px;left:50%;transform:translate(-50%)}.pv-chart-svg{width:100%;height:100%;display:block}.pv-chart-grid{stroke:#e4e4e4;stroke-width:1px;shape-rendering:crispedges}.pv-chart-frame{fill:none;stroke:#8c8c8c;stroke-width:1px;shape-rendering:crispedges}.pv-chart-line{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.pv-chart-tick{fill:#4a4a4a;font-family:var(--font-mono),monospace;font-size:10px}.pv-chart-current{fill:#303030;font-family:var(--font-mono),monospace;font-size:10px}.pv-chart-average-line{stroke:#6f6f6f;stroke-width:1.2px;stroke-dasharray:5 4;shape-rendering:geometricprecision}.pv-chart-average-text{fill:#4a4a4a;font-family:var(--font-mono),monospace;font-size:10px}.pv-airfoil-svg{pointer-events:none;width:80%;height:60%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pv-fvm-canvas{image-rendering:auto;opacity:1;width:100%;height:100%;display:block;position:absolute;inset:0}.pv-fvm-stage{z-index:1;position:absolute;inset:0;overflow:hidden}.pv-fvm-stage-render-suspended:after{content:"";pointer-events:none;z-index:9;background:#2c303a2e;position:absolute;inset:0}.pv-solver-status{color:#f4f6fb;z-index:12;background:#121620e0;border:1px solid #ffffff4d;max-width:280px;padding:8px 10px;font-size:12px;line-height:1.4;position:absolute;bottom:14px;right:14px}.pv-fvm-overlay{pointer-events:none;shape-rendering:geometricprecision;z-index:4;width:100%;height:100%;position:absolute;inset:0}.pv-render-suspended-banner{z-index:10;color:#f4f6fb;pointer-events:none;background:#121620e0;border:1px solid #ffffff57;max-width:280px;padding:8px 10px;font-size:12px;line-height:1.35;position:absolute;bottom:14px;left:14px}.pv-fvm-mesh-path{fill:none;stroke:#c9edfffa;stroke-width:.009px;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.pv-fvm-mesh-path-mesh-only{stroke:#fff;stroke-width:.32px}.pv-fvm-mesh-scrim{fill:#080b1242}.pv-fvm-mesh-path-glow{stroke:#05080eeb;stroke-width:.018px}.pv-fvm-airfoil-fill{fill:#05070c}.pv-fvm-airfoil-outline{fill:none;stroke:#fff;stroke-width:.009px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pv-fvm-airfoil-outline-glow{stroke:#ffffff94;stroke-width:1.9px}.pv-fvm-orifice{stroke-width:1.35px;stroke-linecap:round;vector-effect:non-scaling-stroke}.pv-fvm-orifice-outline{fill:none;stroke:#06090ef5;stroke-width:.026px;stroke-linecap:butt;vector-effect:non-scaling-stroke}.pv-fvm-orifice-patch{fill:none;stroke:#c8ced8;stroke-width:.017px;stroke-linecap:butt;vector-effect:non-scaling-stroke}.pv-quarter-chord-marker-svg{fill:#d62828;stroke:#fff5f5f2;stroke-width:.01px;vector-effect:non-scaling-stroke}.pv-vf2d-refinement-rect-halo{fill:none;stroke:#ffffffeb;stroke-width:.07px;vector-effect:non-scaling-stroke}.pv-vf2d-refinement-rect{fill:none;stroke:#000000f5;stroke-width:.035px;vector-effect:non-scaling-stroke}.pv-vf2d-refinement-label{fill:#000000f5;letter-spacing:.03em;paint-order:stroke;stroke:#ffffffe6;stroke-width:.03rem;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.24rem;font-weight:700}.pv-vf2d-superfine-rect-halo{fill:none;stroke:#fffffff5;stroke-width:.055px;vector-effect:non-scaling-stroke}.pv-vf2d-superfine-rect{fill:none;stroke:#b41414fa;stroke-width:.028px;vector-effect:non-scaling-stroke}.pv-vf2d-superfine-label{fill:#780a0afa;letter-spacing:.03em;paint-order:stroke;stroke:#ffffffeb;stroke-width:.03rem;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.23rem;font-weight:700}.pv-contour-legend{color:#fff;pointer-events:none;z-index:20;box-sizing:border-box;background:#0006;border:1px solid #ffffff85;grid-template-columns:auto minmax(120px,1fr);grid-template-areas:"label bar"".ticks";align-items:center;gap:5px 10px;min-width:188px;padding:8px 10px;display:grid;position:absolute;top:10px;right:10px}.pv-contour-legend-label{text-shadow:1px 1px 2px #000000e6;white-space:nowrap;grid-area:label;justify-content:flex-end;align-items:center;min-height:16px;font-size:12px;font-weight:600;display:flex}.pv-contour-legend-label .katex{color:#fff;font-size:1em;line-height:1}.pv-contour-legend-label .katex .mord,.pv-contour-legend-label .katex .mbin,.pv-contour-legend-label .katex .mrel,.pv-contour-legend-label .katex .mopen,.pv-contour-legend-label .katex .mclose,.pv-contour-legend-label .katex .mpunct,.pv-contour-legend-label .katex .minner{color:inherit}.pv-contour-legend-bar{grid-area:bar;width:100%;height:14px}.pv-contour-legend-ticks{grid-area:ticks;justify-content:space-between;gap:8px;display:flex}.pv-contour-legend-tick{text-shadow:1px 1px 2px #000000e6;font-variant-numeric:tabular-nums;font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:700}.pv-orientation-axes{pointer-events:none;opacity:1;z-index:14;width:90px;height:90px;position:absolute;bottom:10px;left:10px}.pv-scalar-bar{pointer-events:none;z-index:20;box-sizing:border-box;background:#0006;border:1px solid #ffffff80;flex-direction:row;align-items:stretch;gap:10px;max-width:55%;padding:6px 10px;display:flex;position:absolute;top:10px;right:10px}.pv-sb-title{color:#fff;white-space:nowrap;text-shadow:1px 1px 2px #000000e6;flex-shrink:0;align-items:center;display:flex}.pv-sb-title .katex{color:#fff;font-size:13px}.pv-sb-body{flex-direction:column;flex:1;gap:0;min-width:140px;display:flex}.pv-sb-bar{border-radius:0;flex-shrink:0;width:100%;height:16px}.pv-sb-ticks{width:100%;height:18px;position:relative}.pv-sb-tick-row{flex-direction:column;align-items:center;gap:1px;display:flex;position:absolute;top:0;transform:translate(-50%)}.pv-sb-tick-line{border-left:1px solid #fffc;flex-shrink:0;width:0;height:4px}.pv-sb-label{color:#fff;text-shadow:1px 1px 2px #000000e6;white-space:nowrap;font-variant-numeric:tabular-nums;font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:700;line-height:1}.pv-axes-svg{filter:none;width:100%;height:100%}.pv-statusbar{color:#000;white-space:nowrap;z-index:60;background:#ececec;border-top:1px solid #a0a0a0;flex-shrink:0;grid-template-columns:minmax(261px,291px) minmax(280px,70fr) minmax(120px,15fr) minmax(120px,15fr);align-items:center;gap:4px;height:24px;padding:0 4px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:11px;display:grid;position:relative;overflow:visible}.pv-status-abort-wrap{flex-shrink:0;justify-content:flex-start;align-items:center;min-width:0;display:flex}.pv-status-abort{color:#e04040;background:0 0;border:none;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:inline-flex}.pv-status-abort:not(:disabled):hover{color:#ff5050}.pv-status-abort:disabled{opacity:.5;color:#e04040}.pv-status-abort-icon{width:14px;height:14px}.pv-status-copilot-wrap{z-index:2;min-width:0;height:18px;position:relative}.pv-copilot-dock{width:100%;height:100%;position:relative}.pv-copilot-mini{color:#262626;background:linear-gradient(#f2f2f2 0%,#ddd 100%);border:1px solid gray;border-radius:2px;align-items:center;gap:5px;width:100%;height:18px;padding:0 6px;display:inline-flex;overflow:hidden}.pv-copilot-mini:hover{background:linear-gradient(#f8fcff 0%,#e6eef7 100%);border-color:#6f9dc6}.pv-copilot-mini-icon{flex-shrink:0;width:13px;height:13px}.pv-copilot-mini-label{letter-spacing:.01em;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.pv-copilot-mini-status{color:#5c5c5c;font-size:10px;font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;margin-left:auto}.pv-copilot-panel{opacity:0;transform-origin:0 100%;pointer-events:none;z-index:80;white-space:normal;background:linear-gradient(#f4f4f4 0%,#e7e7e7 100%);border:1px solid #8b8b8b;border-radius:4px 4px 0 0;grid-template-rows:auto minmax(0,1fr) auto auto;gap:6px;width:min(100%,920px);max-width:100%;height:clamp(248px,31vh,340px);padding:7px;transition:transform .2s,opacity .18s;display:grid;position:absolute;bottom:calc(100% + 5px);left:0;transform:translateY(10px)scale(.98);box-shadow:0 -10px 24px #00000038}.pv-copilot-panel-static{opacity:1;pointer-events:auto;position:static;bottom:auto;left:auto;transform:none}.pv-copilot-panel-full{width:100%;max-width:none;height:100%;box-shadow:none;border-color:#b2b2b2;border-radius:0}.pv-copilot-panel-open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.pv-copilot-panel-header{background:linear-gradient(#f9f9f9 0%,#e4e4e4 100%);border:1px solid #aaa;border-radius:2px;justify-content:space-between;align-items:center;gap:8px;min-height:24px;padding:0 6px;display:flex}.pv-copilot-panel-actions{align-items:center;gap:4px;display:inline-flex}.pv-copilot-panel-title-wrap{align-items:center;gap:6px;min-width:0;display:inline-flex}.pv-copilot-panel-icon{flex-shrink:0;width:14px;height:14px}.pv-copilot-panel-title{color:#202020;font-size:12px;font-weight:700}.pv-copilot-panel-subtitle{color:#636363;font-size:10px;font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;text-overflow:ellipsis;overflow:hidden}.pv-copilot-panel-collapse{color:#333;background:linear-gradient(#f9f9f9 0%,#dfdfdf 100%);border:1px solid #9d9d9d;border-radius:2px;width:18px;height:18px;padding:0;font-size:10px;line-height:1}.pv-copilot-panel-openfull{color:#20405f;background:linear-gradient(#eef6ff 0%,#dbe7f3 100%);border:1px solid #8ea0b0;border-radius:2px;height:18px;padding:0 7px;font-size:10px;font-weight:600}.pv-copilot-panel-openfull:not(:disabled):hover{border-color:#5d8dbc}.pv-copilot-panel-collapse:hover{border-color:#6f9dc6}.pv-copilot-thread{background:linear-gradient(#fff 0%,#f4f4f4 100%);border:1px solid #aeaeae;align-content:start;gap:6px;min-width:0;min-height:110px;padding:7px;display:grid;overflow:hidden auto}.pv-agent-workspace-viewport{padding:0}.pv-copilot-bubble{color:#1d1d1d;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:#f7f7f7;border:1px solid #a5a5a5;border-radius:2px;padding:5px 7px;font-size:11px;line-height:1.35}.pv-copilot-bubble-system{background:linear-gradient(#ecf6ff 0%,#deedf9 100%);border-color:#8caecd}.pv-copilot-bubble-hint{color:#555;border-style:dashed}.pv-copilot-bubble-user{background:linear-gradient(#e6f3ff 0%,#d7e9fa 100%);border-color:#85b5db;max-width:84%;margin-left:auto}.pv-copilot-bubble-agent{background:linear-gradient(#fdfdfd 0%,#f0f0f0 100%);border-color:#afafaf;max-width:92%}.pv-agent-report{background:linear-gradient(#eef5fb 0%,#e5eef6 100%);border:1px solid #9db0c2;border-radius:3px;gap:6px;padding:7px;display:grid}.pv-agent-message-group{gap:6px;display:grid}.pv-agent-tool-card{background:linear-gradient(#f7fafc 0%,#ebf0f4 100%);border-color:#9eaebc}.pv-agent-tool-rows{background:#fbfdff;border:1px solid #b8c6d1;border-radius:2px;overflow:hidden}.pv-agent-tool-row{color:#24394b;grid-template-columns:minmax(0,96px) minmax(0,1fr);gap:8px;padding:4px 6px;font-size:10px;display:grid}.pv-agent-tool-label{color:#587086;text-transform:uppercase;letter-spacing:.03em}.pv-agent-tool-value{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;overflow-wrap:anywhere;min-width:0}.pv-agent-tool-loading{color:#42586a;background:#ffffffb3;border:1px dashed #adc0d0;border-radius:2px;padding:6px;font-size:10px}.pv-agent-tool-approval-actions{flex-wrap:wrap;gap:8px;display:flex}.pv-agent-control-progress{background:#eef3f6;border:1px solid #9fb0bd;border-radius:999px;height:9px;overflow:hidden}.pv-agent-control-progress-fill{background:linear-gradient(90deg,#7ea9d0 0%,#5d8fbe 100%);height:100%}.pv-agent-control-progress-fill-animating{transform-origin:0;width:100%;animation:1.6s linear forwards pv-agent-control-fill}.pv-agent-tool-cancel{color:#2d2d2d;background:linear-gradient(#fafafa 0%,#dfdfdf 100%);border:1px solid #9e9e9e;border-radius:2px;justify-self:start;min-width:74px;height:22px;padding:0 8px;font-size:10px}.pv-agent-tool-cancel:hover{border-color:#6f9dc6}.pv-agent-report-pending{border-style:dashed}.pv-agent-report-pending-line{background:linear-gradient(90deg,#dbe7f2 0%,#eff5fb 50%,#dbe7f2 100%) 0 0/220% 100%;border-radius:2px;height:8px;animation:1.2s linear infinite pv-agent-pulse}.pv-agent-report-pending-line-lg{width:96%}.pv-agent-report-pending-line-md{width:72%}.pv-agent-report-pending-line-sm{width:48%}.pv-agent-report-header{justify-content:space-between;align-items:center;gap:6px;display:flex}.pv-agent-report-title{color:#1f3346;font-size:11px;font-weight:700}.pv-agent-report-tag{color:#36536a;font-size:9px;line-height:1.4;font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;background:#f7fbff;border:1px solid #8ca6bb;border-radius:999px;padding:0 6px}.pv-agent-report-state{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.pv-agent-kpi{background:linear-gradient(#f8fcff 0%,#edf5fb 100%);border:1px solid #aac0d1;border-radius:2px;gap:2px;min-height:34px;padding:3px 5px;display:grid}.pv-agent-kpi>span{color:#51697f;text-transform:uppercase;letter-spacing:.03em;font-size:9px}.pv-agent-kpi>strong{color:#16324b;font-size:12px}.pv-agent-report-backend{color:#314f66;font-size:10px;font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;background:#f8fcff;border:1px solid #abc0d1;border-radius:2px;padding:3px 6px}.pv-agent-report-section-label{color:#415a70;text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.pv-agent-analysis-table{background:#f9fcff;border:1px solid #b3c5d4;border-radius:2px;overflow:hidden}.pv-agent-analysis-row{color:#233d53;border-bottom:1px solid #d3e1ec;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px 6px;font-size:10px;display:grid}.pv-agent-analysis-row:last-child{border-bottom:none}.pv-agent-analysis-name{font-weight:600}.pv-agent-analysis-value{color:#3f5e77}.pv-agent-analysis-confidence{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;color:#244760}.pv-agent-experiments{gap:4px;display:grid}.pv-agent-experiment-row{background:#f6fbff;border:1px solid #b2c4d4;border-radius:2px;gap:2px;padding:4px 6px;display:grid}.pv-agent-experiment-recommended{background:linear-gradient(#e9f3fd 0%,#dceaf8 100%);border-color:#7ea6c8}.pv-agent-experiment-title{color:#234760;font-size:10px;font-weight:600}.pv-agent-experiment-meta{color:#54718a;flex-wrap:wrap;gap:8px;font-size:9px;display:flex}.pv-agent-recommended{color:#20445f;background:#ecf5ff;border:1px solid #7ea7ca;border-radius:2px;padding:4px 6px;font-size:10px;font-weight:700}@keyframes pv-agent-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes pv-agent-control-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.pv-copilot-suggestions{gap:4px;min-width:0;display:grid}.pv-copilot-suggestions-header{color:#5e5e5e;letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;font-size:9px;font-weight:700;display:flex}.pv-copilot-suggestion-toggle{color:#4a4a4a;letter-spacing:.03em;text-transform:uppercase;background:linear-gradient(#f7f7f7 0%,#e2e2e2 100%);border:1px solid #ababab;border-radius:999px;min-height:18px;padding:0 7px;font-size:9px;font-weight:700}.pv-copilot-suggestion-card,.pv-copilot-suggestion-row{text-align:left;color:#303030;background:linear-gradient(#f7f7f7 0%,#e2e2e2 100%);border:1px solid #ababab;width:100%;min-width:0}.pv-copilot-suggestion-card{border-radius:7px;gap:3px;padding:6px 8px;display:grid}.pv-copilot-suggestion-card-expanded{gap:4px;padding:7px 8px}.pv-copilot-suggestion-card:hover,.pv-copilot-suggestion-row:hover,.pv-copilot-suggestion-toggle:hover{border-color:#6f9dc6}.pv-copilot-suggestion-card-topline{justify-content:space-between;align-items:center;gap:8px;display:flex}.pv-copilot-suggestion-badge,.pv-copilot-suggestion-kind,.pv-copilot-suggestion-row-kind{color:#31536f;letter-spacing:.03em;text-transform:uppercase;background:#edf5fc;border:1px solid #97afc5;border-radius:999px;justify-content:center;align-items:center;min-height:16px;padding:0 6px;font-size:9px;font-weight:700;display:inline-flex}.pv-copilot-suggestion-title,.pv-copilot-suggestion-row-title{color:#1f1f1f;min-width:0;font-size:11px;font-weight:700;line-height:1.3}.pv-copilot-suggestion-reason,.pv-copilot-suggestion-row-reason{color:#565656;-webkit-line-clamp:1;-webkit-box-orient:vertical;min-width:0;font-size:10px;line-height:1.35;display:-webkit-box;overflow:hidden}.pv-copilot-suggestion-card-expanded .pv-copilot-suggestion-reason{-webkit-line-clamp:2}.pv-copilot-suggestion-list{gap:4px;display:grid}.pv-copilot-suggestion-row{border-radius:6px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;padding:5px 8px;display:grid}.pv-copilot-suggestion-row-body{gap:2px;min-width:0;display:grid}.pv-copilot-composer{grid-template-columns:minmax(0,1fr) auto;gap:5px;display:grid}.pv-copilot-input{color:#222;background:#fefefe;border:1px solid #9e9e9e;border-radius:2px;min-width:0;height:24px;padding:0 8px;font-size:11px}.pv-copilot-input:focus-visible{outline-offset:0;outline:1px solid #5a9ed7}.pv-copilot-send{color:#133354;background:linear-gradient(#d8ebfd 0%,#9ec9f0 100%);border:1px solid #7d95a9;border-radius:2px;height:24px;padding:0 10px;font-size:11px;font-weight:600}.pv-copilot-send:not(:disabled):hover{border-color:#4f84b3}.pv-copilot-stop{color:#5f2727;background:linear-gradient(#f6e5e5 0%,#e2c9c9 100%);border-color:#ab8f8f}.pv-status-progress-bar{background:#e8e8e8;border:1px solid gray;flex-shrink:0;width:100%;min-width:0;height:18px;position:relative;overflow:hidden}.pv-status-progress-fill{background:linear-gradient(#6eb5ff 0%,#4a9de8 50%,#3080d0 100%);height:100%;transition:width .2s;position:absolute;top:0;left:0}.pv-status-progress-text{text-align:center;color:#000;z-index:1;text-overflow:ellipsis;font-size:11px;line-height:16px;display:block;position:relative;overflow:hidden}.pv-status-separator{color:#a0a0a0;margin:0 4px}.pv-status-memory{align-items:center;display:inline-flex}.pv-status-memory-bar{background:#e8e8e8;border:1px solid gray;flex-shrink:0;width:100%;min-width:0;height:18px;position:relative;overflow:hidden}.pv-status-memory-fill{background:linear-gradient(#6eb5ff 0%,#4a9de8 50%,#3080d0 100%);height:100%;transition:width .3s;position:absolute;top:0;left:0}.pv-status-memory-text{text-align:center;color:#000;z-index:1;text-overflow:ellipsis;padding:0 6px;font-size:11px;line-height:16px;display:block;position:relative;overflow:hidden}.pv-status-memory-label{color:#404040;font-size:10px}body:has(.pv-page){background:#141414}.pv-page{color:#ededed;--pv-window-bg:#292929;--pv-panel:#2c2c2c;--pv-panel-alt:#252525;--pv-toolbar:#323232;--pv-toolbar-strong:#2a2a2a;--pv-border:#545454;--pv-border-soft:#676767;--pv-text:#f0f0f0;--pv-text-soft:#c5c5c5;--pv-text-dim:#8f8f8f;--pv-input-bg:#3a3a3a;--pv-input-border:#616161;--pv-blue-top:#1a93ff;--pv-blue-bottom:#0a6fdc;--pv-blue-border:#72b9ff;--pv-green-top:#75c562;--pv-green-bottom:#54ab43;--pv-danger-top:#ff6b63;--pv-danger-bottom:#d84b44;background:#161616}.pv-page ::-webkit-scrollbar{width:10px;height:10px}.pv-page ::-webkit-scrollbar-track{background:#232323}.pv-page ::-webkit-scrollbar-thumb{background:#5a5a5a;border:2px solid #232323;border-radius:999px}.pv-page ::-webkit-scrollbar-thumb:hover{background:#6a6a6a}.pv-window{background:var(--pv-window-bg);border-radius:14px;box-shadow:0 0 0 1px #ffffff0a,0 22px 48px #0000007a,0 8px 18px #00000059}.pv-titlebar{background:linear-gradient(#3d3d3d 0%,#353535 100%);border-bottom:1px solid #4c4c4c;border-radius:14px 14px 0 0;min-height:34px}.pv-titlebar-text{color:#d9d9d9}.pv-menubar{border-bottom:1px solid var(--pv-border);background:linear-gradient(#2f2f2f 0%,#292929 100%)}.pv-menuitem{color:var(--pv-text)}.pv-menuitem:hover,.pv-menuitem-open{background:linear-gradient(180deg,var(--pv-blue-top)0%,var(--pv-blue-bottom)100%);color:#fff}.pv-menu-dropdown{border:1px solid var(--pv-border);background:linear-gradient(#3a3a3a 0%,#2f2f2f 100%);border-radius:8px;box-shadow:0 10px 24px #0000005c}.pv-menu-dropdown-label{color:#9ca9b5}.pv-menu-dropdown-item{color:#ececec}.pv-menu-dropdown-item:hover{background:linear-gradient(180deg,var(--pv-blue-top)0%,var(--pv-blue-bottom)100%)}.pv-menu-dropdown-separator{background:#4b4b4b}.pv-menu-dropdown-empty,.pv-menu-dropdown-empty:hover{color:#8a8a8a}.pv-toolbar-row{background:linear-gradient(#353535 0%,#2d2d2d 100%);border-bottom:1px solid #474747}.pv-toolbar-row-secondary{background:linear-gradient(#313131 0%,#2a2a2a 100%)}.pv-toolbar-group{border-right:1px dotted #4f4f4f}.pv-toolbar-separator{background:#535353}.pv-toolbar-btn{border-radius:6px;box-shadow:inset 0 1px #ffffff0a}.pv-toolbar-btn:hover{background:linear-gradient(#535353 0%,#3f3f3f 100%);border-color:#5c5c5c;box-shadow:inset 0 1px #ffffff12}.pv-toolbar-btn-active{background:linear-gradient(#667d4f 0%,#4e663b 100%);border-color:#7bb06b}.pv-toolbar-combo{border-color:var(--pv-input-border);color:var(--pv-text);background:linear-gradient(#4b4b4b 0%,#3a3a3a 100%);border-radius:7px;box-shadow:inset 0 1px #ffffff0f,0 1px #00000026}.pv-toolbar-caret-svg{color:#d3e7fb}.pv-toolbar-spinbox{border-color:var(--pv-input-border);background:linear-gradient(#434343 0%,#343434 100%);border-radius:7px;box-shadow:inset 0 1px #ffffff0f}.pv-toolbar-spinbox-label{color:var(--pv-text-soft);background:linear-gradient(#4b4b4b 0%,#3d3d3d 100%);border-right-color:#545454}.pv-toolbar-spinbox-input{color:var(--pv-text)}.pv-toolbar-text{color:var(--pv-text-dim)}.pv-workspace,.pv-dock-column,.pv-main{background:#252525}.pv-dock-column{border-right-color:#454545}.pv-panel,.pv-left-inspector{background:var(--pv-panel)}.pv-panel-hdr{color:var(--pv-text);text-shadow:0 1px #00000059;background:linear-gradient(#353535 0%,#2d2d2d 100%);border-bottom:1px solid #464646}.pv-dock-body{background:#121212}.pv-tree-row{color:#dfdfdf}.pv-tree-row-child{color:#c8c8c8}.pv-tree-glyph{color:#8a8a8a}.pv-tree-active{background:linear-gradient(180deg,var(--pv-blue-top)0%,var(--pv-blue-bottom)100%);border:1px solid var(--pv-blue-border);box-shadow:inset 0 1px #ffffff2e}.pv-sidebar-tabs{background:linear-gradient(#3c3c3c 0%,#323232 100%);border:1px solid #565656;border-radius:8px;align-self:center;gap:0;width:max-content;max-width:calc(100% - 12px);margin:1px auto 2px;padding:0;overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 1px #0003}.pv-sidebar-tab{color:#ededed;text-shadow:0 1px #00000059;appearance:none;background:linear-gradient(#5a5a5a 0%,#494949 100%);border:none;border-radius:0;height:22px;min-height:22px;padding:0 6px;font-size:12px;font-weight:600;line-height:1;box-shadow:inset 0 1px #ffffff14}.pv-sidebar-tab:first-child{border-left:none;border-radius:7px 0 0 7px}.pv-sidebar-tab:last-child{border-radius:0 7px 7px 0}.pv-sidebar-tab+.pv-sidebar-tab{border-left:1px solid #5f5f5f}.pv-sidebar-tab:hover{background:linear-gradient(#646464 0%,#515151 100%)}.pv-sidebar-tab-active{background:linear-gradient(180deg,var(--pv-blue-top)0%,var(--pv-blue-bottom)100%);color:#fff;border-left:none;box-shadow:inset 0 1px #ffffff3d,0 1px #0000002e}.pv-sidebar-tab-active+.pv-sidebar-tab{border-left-color:#4c8ecf}.pv-dock-actionbar{background:linear-gradient(#313131 0%,#292929 100%);border-bottom:1px solid #474747}.pv-dock-action{color:#ececec;background:linear-gradient(#565656 0%,#444 100%);border-color:#585858;border-radius:7px;box-shadow:inset 0 1px #ffffff14}.pv-dock-action:hover:not(:disabled){background:linear-gradient(#606060 0%,#4a4a4a 100%);border-color:#6a6a6a}.pv-dock-action-primary{background:linear-gradient(180deg,var(--pv-green-top)0%,var(--pv-green-bottom)100%);color:#fff;border-color:#7ec96b}.pv-dock-action:disabled{color:#949494;background:linear-gradient(#454545 0%,#393939 100%);border-color:#4d4d4d}.pv-inspector-scroll{background:linear-gradient(#323232 0%,#2a2a2a 100%)}.pv-search-row{background:linear-gradient(#353535 0%,#2d2d2d 100%);border-bottom:1px solid #444}.pv-search-input,.pv-copilot-input{border-color:var(--pv-input-border);color:var(--pv-text);background:linear-gradient(#222 0%,#181818 100%);border-radius:7px;box-shadow:inset 0 1px #ffffff0d}.pv-search-input::placeholder,.pv-copilot-input::placeholder{color:#858585}.pv-search-advanced:hover{background:linear-gradient(#555 0%,#404040 100%);border-color:#5e5e5e}.pv-property-section{background:#2a2a2a;border-color:#494949;border-radius:6px;box-shadow:inset 0 1px #ffffff08}.pv-property-section-hdr{background:linear-gradient(#353535 0%,#2b2b2b 100%);border-bottom:1px solid #434343;box-shadow:inset 3px 0 #0da2ff}.pv-expander-arrow{color:#9db5ca}.pv-property-section-title{color:#efefef}.pv-section-action-btn:hover:not(:disabled){background:linear-gradient(#555 0%,#414141 100%);border-color:#5c5c5c}.pv-props-table tr{border-bottom:1px solid #404040}.pv-prop-key{color:#a9a9a9}.pv-prop-val{color:#f1f1f1}.pv-actuation-controls{background:linear-gradient(#313131 0%,#292929 100%)}.pv-actuation-label{color:#cfcfcf}.pv-actuation-value{color:#f4f4f4}.pv-actuation-slider{accent-color:#0a84ff}.pv-actuation-select{border-color:var(--pv-input-border);color:var(--pv-text);background-image:linear-gradient(#4b4b4b 0%,#3a3a3a 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23e6e6e6' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:0 0,right 8px center;background-repeat:no-repeat,no-repeat;background-size:auto,10px 6px;border-radius:7px;padding-right:28px;box-shadow:inset 0 1px #ffffff0f}.pv-actuation-select:focus-visible,.pv-copilot-input:focus-visible{outline:1px solid var(--pv-blue-border)}.pv-actuation-note,.pv-actuation-status{color:#cfcfcf;background:#262626;border-color:#484848}.pv-actuation-status-label{color:#9fc2e5}.pv-actuation-status-text{color:#d9d9d9}.pv-train-control-active{color:#fff0cb;background:linear-gradient(#7c653d 0%,#5d4d2e 100%);border-color:#b99c58}.pv-train-status{color:#d4d4d4;background:#272727;border-color:#5b5b5b}.pv-main{background:#202020}.pv-layout-tabs{background:linear-gradient(#303030 0%,#292929 100%);border-bottom:1px solid #434343;justify-content:center;align-items:center;padding:4px 8px}.pv-layout-tab-strip{background:linear-gradient(#3d3d3d 0%,#313131 100%);border:1px solid #565656;border-radius:8px;align-items:center;gap:0;max-width:100%;display:inline-flex;overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 1px #00000038}.pv-layout-tab-wrap{align-items:center;min-width:0;display:flex;position:relative}.pv-layout-tab-wrap+.pv-layout-tab-wrap{border-left:1px solid #5b5b5b}.pv-layout-tab{color:#d3d3d3;background:linear-gradient(#4d4d4d 0%,#3a3a3a 100%);border:none;border-radius:0;justify-content:center;align-items:center;min-width:84px;height:22px;padding:0 14px;font-size:12px;line-height:1;display:flex;box-shadow:inset 0 1px #ffffff12}.pv-layout-tab-active{background:linear-gradient(180deg,var(--pv-blue-top)0%,var(--pv-blue-bottom)100%);color:#fff}.pv-layout-tab-wrap .pv-layout-tab{padding-left:24px;padding-right:24px}.pv-layout-tab-close{color:#e9eef5;background:linear-gradient(#4b4b4b 0%,#3b3b3b 100%);border:1px solid #5e5e5e;width:15px;height:15px;top:50%;right:4px;transform:translateY(-50%);box-shadow:inset 0 1px #ffffff14}.pv-layout-tab-wrap-active .pv-layout-tab-close{color:#fff;background:linear-gradient(#4c86bf 0%,#2f679e 100%);border-color:#7fbfff}.pv-layout-tab-close:hover{color:#fff;background:linear-gradient(#5a5a5a 0%,#444 100%)}.pv-layout-tab-wrap-active .pv-layout-tab-close:hover{background:linear-gradient(#5a95cf 0%,#3974ac 100%)}.pv-layout-tab-add{border:none;border-left:1px solid #5b5b5b;border-radius:0;width:22px;min-width:22px;height:22px;padding:0;font-size:14px;font-weight:600}.pv-view-shell{background:#2b2b2b;border-color:#4e4e4e;border-radius:4px;box-shadow:0 1px #ffffff08}.pv-view-toolbar{background:linear-gradient(#353535 0%,#2b2b2b 100%);border-bottom:1px solid #444}.pv-view-toolbar-title{color:#fff;text-shadow:0 1px #00000059}.pv-view-toolbar-meta{color:#a0a0a0}.pv-viewframe-action{color:#bdbdbd;background:linear-gradient(#454545 0%,#353535 100%);border:1px solid #4d4d4d;border-radius:4px;box-shadow:inset 0 1px #ffffff0a}.pv-viewframe-action:hover{color:#fff;background:linear-gradient(#515151 0%,#3d3d3d 100%);border-color:#5e5e5e}.pv-viewframe-close:hover{background:linear-gradient(180deg,var(--pv-danger-top)0%,var(--pv-danger-bottom)100%);border-color:#ca4a43}.pv-view-shell-active{border-color:#0d86ff;box-shadow:0 0 0 1px #0d86ff}.pv-viewport{background:#5a617c}.pv-chart-view{box-shadow:none;background:#2d2d2d;border-color:#4f4f4f}.pv-chart-viewport{background:linear-gradient(#1f2329 0%,#1a1d22 100%)}.pv-chart-ylabel,.pv-chart-xlabel{color:#d3dae3}.pv-chart-bg{fill:#21252b}.pv-chart-grid{stroke:#ffffff14}.pv-chart-frame{stroke:#78808b}.pv-chart-tick{fill:#d1d8df}.pv-chart-current{fill:#f0f3f7}.pv-chart-average-line{stroke:#9aa3ad}.pv-chart-average-text{fill:#d1d8df}.pv-empty-view-viewport,.pv-portfolio-viewport,.pv-portfolio-panel-viewport,.pv-assistant-viewport{background:linear-gradient(#2c2c2cf5 0%,#242424fa 100%),linear-gradient(90deg,#5353532e 1px,#0000 1px) 0 0/24px 24px,linear-gradient(#53535326 1px,#0000 1px) 0 0/24px 24px}.pv-empty-view-caption{color:#9f9f9f}.pv-empty-view-title{color:#f0f0f0}.pv-empty-view-panel{background:linear-gradient(#373737 0%,#2f2f2f 100%);border:1px solid #505050;box-shadow:inset 0 1px #ffffff0d,0 10px 24px #00000047}.pv-empty-view-button{color:#f0f0f0;background:linear-gradient(#575757 0%,#434343 100%);border-color:#5f5f5f;box-shadow:inset 0 1px #ffffff14}.pv-empty-view-button:hover{color:#fff;background:linear-gradient(#5d6f84 0%,#445567 100%);border-color:#76a9dc}.pv-main-split-secondary,.pv-training-metrics-column{background:#3a3a3a}.pv-portfolio-board{color:#dedede}.pv-portfolio-summary-card{background:linear-gradient(#3a3a3a 0%,#2f2f2f 100%);border-color:#505050;box-shadow:inset 0 1px #ffffff0a,0 1px 2px #00000029}.pv-portfolio-summary-label{color:#a6afb8}.pv-portfolio-summary-value{color:#f0f3f6}.pv-portfolio-section{background:#282828f5;border-color:#505050;box-shadow:inset 0 1px #ffffff08,0 1px 2px #00000029}.pv-portfolio-section-titlebar{color:#ebeff4;background:linear-gradient(#373737 0%,#2d2d2d 100%);border-bottom-color:#4a4a4a}.pv-portfolio-table th,.pv-portfolio-table td{color:#dfe5eb;border-bottom-color:#454545}.pv-portfolio-table th{color:#aeb6bf;background:#2f2f2f}.pv-portfolio-table tbody tr:nth-child(2n){background:#ffffff04}.pv-portfolio-profile-header{background:linear-gradient(#3a3a3a 0%,#2f2f2f 100%);border-color:#4f4f4f}.pv-portfolio-profile-title,.pv-portfolio-list-title,.pv-portfolio-panel-title{color:#f1f4f7}.pv-portfolio-profile-subtitle{color:#86b8e8}.pv-portfolio-profile-affiliation,.pv-portfolio-meta-line{color:#b3bcc6}.pv-portfolio-list-item{border-bottom-color:#464646}.pv-portfolio-panel-body{color:#d9d9d9}.pv-portfolio-kpi-row{color:#edf1f5;background:#363636e6;border-color:#4e4e4e}.pv-portfolio-bullet-item{background:#343434eb;border-color:#4e4e4e}.pv-portfolio-bullet-item,.pv-portfolio-note,.pv-portfolio-rich-text{color:#d8dde2}.pv-portfolio-link{color:#8dc3ff;background:#343434f0;border-color:#4f4f4f}.pv-portfolio-link:hover{background:#3d4752fa;border-color:#74aedd}.pv-portfolio-link-label{color:#aeb7c1}.pv-portfolio-link-url{color:#9ecaf8}.pv-statusbar{color:#e2e2e2;background:linear-gradient(#303030 0%,#262626 100%);border-top:1px solid #454545}.pv-status-abort,.pv-status-abort:disabled{color:#ff6b63}.pv-copilot-mini{color:#f1f1f1;background:linear-gradient(#4c4c4c 0%,#3b3b3b 100%);border-color:#565656;border-radius:3px;box-shadow:inset 0 1px #ffffff0f}.pv-copilot-mini:hover{border-color:var(--pv-blue-border);background:linear-gradient(#585858 0%,#444 100%)}.pv-copilot-mini-active{border-color:var(--pv-blue-border);box-shadow:inset 0 0 0 1px #72b9ff2e,inset 0 1px #ffffff14}.pv-copilot-mini-passive,.pv-copilot-mini-passive:hover{cursor:default;background:linear-gradient(#4c4c4c 0%,#3b3b3b 100%);border-color:#565656}.pv-copilot-mini-status{color:#bbb}.pv-copilot-dock-disabled .pv-copilot-mini{opacity:.72}.pv-copilot-panel{background:linear-gradient(#353535 0%,#2b2b2b 100%);border-color:#4d4d4d;border-radius:8px 8px 0 0;box-shadow:0 -16px 28px #00000070}.pv-copilot-panel-full{border-color:#474747}.pv-copilot-panel-header{background:linear-gradient(#414141 0%,#313131 100%);border-color:#555;border-radius:6px}.pv-copilot-panel-title{color:#f5f5f5}.pv-copilot-panel-collapse,.pv-copilot-panel-stop,.pv-copilot-panel-openfull,.pv-agent-tool-cancel,.pv-copilot-suggestion-card,.pv-copilot-suggestion-row,.pv-copilot-suggestion-toggle,.pv-copilot-send{border-radius:7px}.pv-copilot-panel-collapse{color:#e2e2e2;background:linear-gradient(#4d4d4d 0%,#3b3b3b 100%);border-color:#5a5a5a}.pv-copilot-panel-openfull{color:#eef7ff;background:linear-gradient(#49657f 0%,#345069 100%);border-color:#5f85a8}.pv-copilot-panel-stop{color:#ffe9e9;background:linear-gradient(#5f4545 0%,#4a3535 100%);border:1px solid #725656;height:18px;padding:0 7px;font-size:10px;font-weight:600}.pv-copilot-panel-openfull:disabled{color:#a1a1a1;background:linear-gradient(#4a4a4a 0%,#3a3a3a 100%);border-color:#555}.pv-copilot-panel-openfull:not(:disabled):hover,.pv-copilot-panel-stop:hover,.pv-copilot-panel-collapse:hover,.pv-agent-tool-cancel:hover,.pv-copilot-suggestion-card:hover,.pv-copilot-suggestion-row:hover,.pv-copilot-suggestion-toggle:hover,.pv-copilot-send:not(:disabled):hover{border-color:var(--pv-blue-border)}.pv-copilot-thread{background:linear-gradient(#252525 0%,#1d1d1d 100%);border-color:#505050}.pv-copilot-bubble{color:#ececec;background:#303030;border-color:#515151;border-radius:6px}.pv-copilot-bubble-system{color:#edf5ff;background:linear-gradient(#28415c 0%,#21364a 100%);border-color:#4f86bb}.pv-copilot-bubble-hint{color:silver}.pv-copilot-bubble-user{color:#fff;background:linear-gradient(#1870ca 0%,#0c5dad 100%);border-color:#4c91d5}.pv-copilot-bubble-agent{color:#ececec;background:linear-gradient(#393939 0%,#303030 100%)}.pv-agent-report,.pv-agent-tool-card{background:linear-gradient(#3b3b3b 0%,#313131 100%);border-color:#565656}.pv-agent-tool-card-error{background:linear-gradient(#4a3131 0%,#392525 100%);border-color:#805050}.pv-agent-tool-rows{background:#272727;border-color:#525252}.pv-agent-tool-row+.pv-agent-tool-row{border-top:1px solid #404040}.pv-agent-tool-label,.pv-agent-kpi>span{color:#a6bdd3}.pv-agent-tool-value,.pv-agent-report-title,.pv-agent-kpi>strong{color:#f2f2f2}.pv-agent-tool-loading{color:#d0dbe4;background:#1e1e1ebf;border-color:#657483}.pv-agent-control-progress{background:#1f1f1f;border-color:#5b5b5b}.pv-agent-control-progress-fill{background:linear-gradient(90deg,#2b93ff 0%,#0a6fdb 100%)}.pv-agent-tool-cancel,.pv-copilot-suggestion-card,.pv-copilot-suggestion-row,.pv-copilot-suggestion-toggle{color:#efefef;background:linear-gradient(#4f4f4f 0%,#3d3d3d 100%);border-color:#5a5a5a}.pv-copilot-suggestions-header{color:#9c9c9c}.pv-copilot-suggestion-badge,.pv-copilot-suggestion-kind,.pv-copilot-suggestion-row-kind{color:#e0edf8;background:#2b3946;border-color:#5d768e}.pv-copilot-suggestion-badge{color:#eef7ff;background:#29435d;border-color:#4f86bb}.pv-copilot-suggestion-title,.pv-copilot-suggestion-row-title{color:#f1f1f1}.pv-copilot-suggestion-reason,.pv-copilot-suggestion-row-reason{color:#c8c8c8}.pv-agent-report-tag{color:#e1effb;background:#293642;border-color:#6d7f8f}.pv-agent-kpi{background:linear-gradient(#414141 0%,#353535 100%);border-color:#555}.pv-copilot-send{color:#f3f9ff;background:linear-gradient(#4b6d8f 0%,#35506b 100%);border-color:#5f85a8}.pv-copilot-send:disabled{color:#a0a0a0;background:linear-gradient(#4a4a4a 0%,#3a3a3a 100%);border-color:#555}.pv-status-progress-bar,.pv-status-memory-bar{background:#1d1d1d;border-color:#535353;box-shadow:inset 0 1px 2px #0000008c}.pv-status-progress-fill{background:linear-gradient(#3f7ab2 0%,#285d8f 52%,#1b4a78 100%)}.pv-status-memory-fill{background:linear-gradient(#d3efbe 0%,#92d76f 52%,#73c65a 100%)}.pv-status-progress-text,.pv-status-memory-text{color:#f1f1f1;text-shadow:0 1px #00000073}.pv-status-memory-label{color:#b4b4b4}@media (max-width:1200px){.pv-workspace{grid-template-columns:290px minmax(0,1fr)}.pv-toolbar-combo-wide{min-width:96px}.pv-statusbar{grid-template-columns:291px minmax(240px,70fr) minmax(110px,15fr) minmax(110px,15fr)}.pv-copilot-mini-status{display:none}.pv-split-view:not(.pv-control-main-split-view):not(.pv-agent-right-split-view){flex-direction:column}.pv-control-main-split-view,.pv-agent-right-split-view{flex-flow:row}.pv-split-handle{cursor:row-resize;width:100%;height:4px}.pv-portfolio-summary-strip,.pv-portfolio-grid,.pv-portfolio-aux-grid{grid-template-columns:1fr}.pv-training-metrics-layout-embedded{grid-template-rows:repeat(4,minmax(190px,1fr));grid-template-columns:1fr}.pv-empty-view-scroll{padding:18px}.pv-empty-view-actions{width:min(180px,100%)}}@media (max-width:900px){.pv-workspace{grid-template-columns:1fr}.pv-dock-column{display:none}.pv-statusbar{grid-template-columns:minmax(0,1fr) minmax(120px,.5fr)}.pv-status-abort-wrap,.pv-status-memory-bar{display:none}.pv-copilot-panel{height:min(280px,36vh)}}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
