:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#edf5ff;--sans:Inter, "Segoe UI", Arial, sans-serif;--mono:"SFMono-Regular", Consolas, monospace;--accent:#6ee7d1;--accent-rgb:110, 231, 209;background:#080f1d;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{min-width:320px;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{color:#172018;background:#6ee7d1}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ai-blob{--blob-main:#56e0d0;--blob-highlight:#c8fff9;--blob-shadow:#238b94;--eye-white:#fff;--pupil:#075f68;--look-x:0;--look-y:0;--look-distance:0;--eyes-shift-x:0px;--eyes-shift-y:0px;--left-eye-scale-x:1;--right-eye-scale-x:1;--cursor-eye-scale-y:1;--left-eye-rotate:0deg;--right-eye-rotate:0deg;--pupil-x:0px;--pupil-y:0px;--lean-x:0px;--lean-y:0px;--lean-rotate:0deg;--eye-open:1;--mood-eye-scale:1;--mood-left-rotate:0deg;--mood-right-rotate:0deg;aspect-ratio:1;isolation:isolate;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;place-items:center;width:min(100%,330px);display:grid;position:relative}.ai-blob:focus-visible{outline:2px solid var(--accent);outline-offset:8px;border-radius:50%}.ai-blob__glow{background:radial-gradient(circle, rgba(var(--accent-rgb), .64) 0%, rgba(var(--accent-rgb), .38) 33%, rgba(var(--accent-rgb), .17) 58%, transparent 80%);filter:blur(34px);opacity:1;transform:translate(calc(var(--lean-x) * .25), calc(var(--lean-y) * .25));pointer-events:none;z-index:-1;border-radius:50%;position:absolute;inset:0}.ai-blob:before{content:"";background:rgba(var(--accent-rgb), .36);filter:blur(27px);opacity:.95;pointer-events:none;z-index:-1;border-radius:50%;animation:4.4s ease-in-out infinite ai-blob-core-pulse;position:absolute;inset:17%}.ai-blob__svg{width:100%;height:100%;filter:drop-shadow(0 0 17px rgba(var(--accent-rgb), .46)) drop-shadow(0 0 42px rgba(var(--accent-rgb), .25)) drop-shadow(0 24px 34px #0206174d);display:block;overflow:visible}.ai-blob__lean{transform-origin:160px 160px;transform:translate(var(--lean-x), var(--lean-y)) rotate(var(--lean-rotate));will-change:transform}.ai-blob__tickle{transform-origin:160px 160px}.ai-blob__floating{transform-origin:160px 160px;animation:5.2s ease-in-out infinite ai-blob-float,7.1s ease-in-out infinite ai-blob-organic-wobble}.ai-blob__body,.ai-blob__shine,.ai-blob__shimmer{transform-box:fill-box;transform-origin:50%;animation:6.5s ease-in-out infinite ai-blob-morph}.ai-blob__body--back{fill:rgba(var(--accent-rgb), .26);filter:blur(13px);opacity:.96}.ai-blob__shine{pointer-events:none}.ai-blob__shimmer{opacity:.58;mix-blend-mode:screen;pointer-events:none;animation:6.5s ease-in-out infinite ai-blob-morph,4.5s ease-in-out infinite ai-blob-shimmer}.ai-blob__eyes{transform:translate(var(--eyes-shift-x), var(--eyes-shift-y));transform-origin:160px 149px;will-change:transform}.ai-blob__eye{transform-box:fill-box;transform-origin:50%;will-change:transform;transition:transform .24s cubic-bezier(.22,1,.36,1)}.ai-blob__eye--left{transform:scale(calc(var(--left-eye-scale-x) * var(--mood-eye-scale)), calc(var(--cursor-eye-scale-y) * var(--eye-open))) rotate(calc(var(--left-eye-rotate) + var(--mood-left-rotate)))}.ai-blob__eye--right{transform:scale(calc(var(--right-eye-scale-x) * var(--mood-eye-scale)), calc(var(--cursor-eye-scale-y) * var(--eye-open))) rotate(calc(var(--right-eye-rotate) + var(--mood-right-rotate)))}.ai-blob__sclera{fill:var(--eye-white);filter:drop-shadow(0 0 4px #ffffff24)drop-shadow(0 0 8px #ffffff0f)}.ai-blob__pupil{fill:var(--pupil);transform:translate(var(--pupil-x), var(--pupil-y));transform-box:fill-box;transform-origin:50%;will-change:transform}.ai-blob--eyes-curious .ai-blob__eyes{translate:0 -2px}.ai-blob--eyes-wide{--mood-eye-scale:1.06}.ai-blob--blinking{--eye-open:.035}.ai-blob--blinking .ai-blob__eye{transition:transform .15s cubic-bezier(.4,0,.2,1)}.ai-blob--tickled{--eye-open:.025}.ai-blob--tickled .ai-blob__eye{transition:transform .12s cubic-bezier(.4,0,.2,1)}.ai-blob--tickled .ai-blob__tickle{animation:.72s cubic-bezier(.36,.07,.19,.97) ai-blob-tickle}.ai-blob--thinking{--eye-open:.64}.ai-blob--speaking{--mood-eye-scale:1.06}.ai-blob--error{--blob-main:#f28d7d;--blob-highlight:#ffd7d1;--blob-shadow:#b85f62;--eye-open:.58}@keyframes ai-blob-float{0%,to{translate:0}50%{translate:0 -8px}}@keyframes ai-blob-organic-wobble{0%,to{rotate:0deg;scale:1}20%{rotate:-.8deg;scale:1.022 .982}42%{rotate:.7deg;scale:.988 1.025}66%{rotate:-.5deg;scale:1.025 .99}82%{rotate:.45deg;scale:.994 1.014}}@keyframes ai-blob-morph{0%,to{transform:scale(1)skew(0deg)}18%{transform:scale(1.038,.974)skew(1deg,-.5deg)}39%{transform:scale(.974,1.038)skew(-.8deg,.6deg)}61%{transform:scale(1.03,.985)skew(.5deg,.9deg)}82%{transform:scale(.984,1.027)skew(-.45deg,-.6deg)}}@keyframes ai-blob-shimmer{0%,to{opacity:.14;translate:-10px;rotate:-4deg;scale:1.02}45%{opacity:.62}56%{opacity:.76;translate:10px;rotate:3deg;scale:1.028}72%{opacity:.24}}@keyframes ai-blob-core-pulse{0%,to{opacity:.78;transform:scale(.94)}50%{opacity:1;transform:scale(1.07)}}@keyframes ai-blob-tickle{0%{transform:translate(0)rotate(0)scale(1)}12%{transform:translate(-10px)rotate(-5.5deg)scale(1.035,.965)}24%{transform:translate(11px)rotate(6deg)scale(.975,1.035)}37%{transform:translate(-9px)rotate(-4.5deg)scale(1.03,.975)}51%{transform:translate(7px)rotate(3.5deg)scale(.985,1.025)}65%{transform:translate(-5px)rotate(-2.6deg)scale(1.018,.99)}79%{transform:translate(3px)rotate(1.6deg)scale(.995,1.01)}to{transform:translate(0)rotate(0)scale(1)}}@media (width<=720px){.ai-blob{width:min(72vw,260px)}}@media (prefers-reduced-motion:reduce){.ai-blob:before,.ai-blob__floating,.ai-blob__body,.ai-blob__shine,.ai-blob__shimmer,.ai-blob__tickle{animation:none}.ai-blob__lean,.ai-blob__eyes,.ai-blob__pupil{transform:none}}.ai-blob{--drag-x:0px;--drag-y:0px;--drag-strength:0;touch-action:none;overflow:visible}.ai-blob__drag{transform-origin:160px 160px;will-change:transform;transform:translate(0)rotate(0)scale(1)}.ai-blob--dragging,.ai-blob--snapping{z-index:50}.ai-blob--dragging .ai-blob__floating,.ai-blob--snapping .ai-blob__floating,.ai-blob--dragging .ai-blob__body,.ai-blob--dragging .ai-blob__shine,.ai-blob--dragging .ai-blob__shimmer,.ai-blob--snapping .ai-blob__body,.ai-blob--snapping .ai-blob__shine,.ai-blob--snapping .ai-blob__shimmer{animation-play-state:paused}.ai-blob--dragging .ai-blob__glow,.ai-blob--snapping .ai-blob__glow{transform:translate(var(--drag-x), var(--drag-y)) scale(calc(1 + var(--drag-strength) * .08));transform-origin:50%;will-change:transform}.ai-blob--dragging:before,.ai-blob--snapping:before{transform:translate(var(--drag-x), var(--drag-y));animation-play-state:paused}.ai-blob__body{transition:fill .56s cubic-bezier(.22,1,.36,1)}.ai-blob--annoyed{--blob-main:#ef5b62;--blob-highlight:#ffc3bd;--blob-shadow:#a72e42;--pupil:#c92539}.ai-blob--annoyed .ai-blob__glow{background:radial-gradient(circle,#ef5b628f 0%,#ef5b624d 36%,#a72e4224 62%,#0000 80%);transition:background .56s,filter .56s}.ai-blob__pupil{transition:fill .52s cubic-bezier(.22,1,.36,1),transform .12s ease-out}.ai-blob__angry-brows{opacity:0;pointer-events:none;transform-origin:160px 106px;transition:opacity .26s,transform .32s cubic-bezier(.22,1,.36,1)}.ai-blob__angry-brow{fill:#fff;transform-box:fill-box;transform-origin:50%}.ai-blob__angry-brow--left{transform:rotate(18deg)}.ai-blob__angry-brow--right{transform:rotate(-18deg)}.ai-blob--annoyed .ai-blob__angry-brows,.ai-blob--tantrum .ai-blob__angry-brows{opacity:1}.ai-blob--annoyed .ai-blob__eye--left,.ai-blob--tantrum .ai-blob__eye--left{transform:scale(var(--left-eye-scale-x), calc(var(--cursor-eye-scale-y) * var(--eye-open))) rotate(0deg)}.ai-blob--annoyed .ai-blob__eye--right,.ai-blob--tantrum .ai-blob__eye--right{transform:scale(var(--right-eye-scale-x), calc(var(--cursor-eye-scale-y) * var(--eye-open))) rotate(0deg)}.ai-blob--tantrum .ai-blob__lean{animation:.65s cubic-bezier(.36,.07,.19,.97) ai-blob-annoyed-tantrum}@keyframes ai-blob-annoyed-tantrum{0%,to{transform:translate(var(--lean-x), var(--lean-y)) rotate(var(--lean-rotate))}12%{transform:translate(-19px, var(--lean-y)) rotate(-10deg)}24%{transform:translate(21px, var(--lean-y)) rotate(11deg)}36%{transform:translate(-22px, var(--lean-y)) rotate(-12deg)}48%{transform:translate(20px, var(--lean-y)) rotate(10deg)}62%{transform:translate(-14px, var(--lean-y)) rotate(-7deg)}76%{transform:translate(10px, var(--lean-y)) rotate(5deg)}90%{transform:translate(-4px, var(--lean-y)) rotate(-2deg)}}.ai-blob,.ai-blob:active,.ai-blob--dragging,.ai-blob--snapping,.ai-blob--annoyed{cursor:pointer}.ai-blob--annoyed .ai-blob__glow,.ai-blob--tantrum .ai-blob__glow{filter:blur(30px)saturate(1.18)brightness(1.08);background:radial-gradient(circle,#ff5c64c7 0%,#ef444e85 34%,#cd263a42 61%,#0000 82%)!important}.site-shell--light .ai-blob__glow{opacity:.98;filter:blur(28px)saturate(1.18)brightness(1.34)}.site-shell--light .ai-blob:before{opacity:.82;filter:blur(18px)brightness(1.42)}.site-shell--light .ai-blob--annoyed .ai-blob__glow,.site-shell--light .ai-blob--tantrum .ai-blob__glow{opacity:1;filter:blur(27px)saturate(1.24)brightness(1.32);background:radial-gradient(circle,#ff6970eb 0%,#f64652a8 35%,#d3273b57 62%,#0000 83%)!important}.site-shell--light .ai-blob--dragging .ai-blob__glow,.site-shell--light .ai-blob--snapping .ai-blob__glow{filter:blur(28px)saturate(1.18)brightness(1.34)}.site-shell--light .ai-blob--annoyed.ai-blob--dragging .ai-blob__glow,.site-shell--light .ai-blob--annoyed.ai-blob--snapping .ai-blob__glow,.site-shell--light .ai-blob--tantrum.ai-blob--dragging .ai-blob__glow,.site-shell--light .ai-blob--tantrum.ai-blob--snapping .ai-blob__glow{filter:blur(27px)saturate(1.24)brightness(1.32)}.ai-blob.ai-blob--dragging .ai-blob__glow,.ai-blob.ai-blob--snapping .ai-blob__glow{transform-origin:50%;will-change:transform;transform:translate3d(var(--drag-x), var(--drag-y), 0) scale(calc(1 + var(--drag-strength) * .08))!important}.site-shell--light .ai-blob.ai-blob--dragging .ai-blob__glow,.site-shell--light .ai-blob.ai-blob--snapping .ai-blob__glow,.ai-blob.ai-blob--annoyed.ai-blob--dragging .ai-blob__glow,.ai-blob.ai-blob--annoyed.ai-blob--snapping .ai-blob__glow,.ai-blob.ai-blob--tantrum.ai-blob--dragging .ai-blob__glow,.ai-blob.ai-blob--tantrum.ai-blob--snapping .ai-blob__glow{transform:translate3d(var(--drag-x), var(--drag-y), 0) scale(calc(1 + var(--drag-strength) * .08))!important}.ai-blob{--glow-r:86;--glow-g:224;--glow-b:208;--glow-opacity:1;--glow-brightness:1;--glow-blur:34px;--core-glow-opacity:.95;--core-glow-brightness:1;--core-glow-blur:27px;--svg-glow-1:#56e0d075;--svg-glow-2:#56e0d040}.ai-blob .ai-blob__glow{will-change:transform, filter, opacity;transition:background .56s,filter .56s,opacity .56s;background:radial-gradient(circle, rgba(var(--glow-r), var(--glow-g), var(--glow-b), .68) 0%, rgba(var(--glow-r), var(--glow-g), var(--glow-b), .4) 34%, rgba(var(--glow-r), var(--glow-g), var(--glow-b), .18) 60%, transparent 81%)!important;opacity:var(--glow-opacity)!important;filter:blur(var(--glow-blur)) brightness(var(--glow-brightness)) saturate(1.1)!important;transform:translate3d(var(--drag-x,0px), var(--drag-y,0px), 0) scale(calc(1 + var(--drag-strength,0) * .08))!important;transform-origin:50%!important}.ai-blob:before{will-change:transform, filter, opacity;transition:background .56s,filter .56s,opacity .56s;background:rgba(var(--glow-r), var(--glow-g), var(--glow-b), .36)!important;opacity:var(--core-glow-opacity)!important;filter:blur(var(--core-glow-blur)) brightness(var(--core-glow-brightness))!important;transform:translate3d(var(--drag-x,0px), var(--drag-y,0px), 0) scale(calc(1 + var(--drag-strength,0) * .05))!important;transform-origin:50%!important}.ai-blob .ai-blob__svg{transition:filter .56s;filter:drop-shadow(0 0 17px var(--svg-glow-1)) drop-shadow(0 0 42px var(--svg-glow-2)) drop-shadow(0 24px 34px #0206174d)!important}.ai-blob--annoyed,.ai-blob--tantrum{--glow-r:239;--glow-g:68;--glow-b:78;--svg-glow-1:#ef444e94;--svg-glow-2:#cd263a57;--glow-brightness:1.08;--core-glow-brightness:1.05}.site-shell--light .ai-blob,[data-theme=light] .ai-blob,.theme-light .ai-blob,.light .ai-blob{--glow-opacity:1;--glow-brightness:1.42;--glow-blur:29px;--core-glow-opacity:1;--core-glow-brightness:1.48;--core-glow-blur:22px;--svg-glow-1:#56e0d09e;--svg-glow-2:#56e0d061}.site-shell--light .ai-blob--annoyed,.site-shell--light .ai-blob--tantrum,[data-theme=light] .ai-blob--annoyed,[data-theme=light] .ai-blob--tantrum,.theme-light .ai-blob--annoyed,.theme-light .ai-blob--tantrum,.light .ai-blob--annoyed,.light .ai-blob--tantrum{--glow-r:255;--glow-g:82;--glow-b:92;--glow-brightness:1.48;--core-glow-brightness:1.52;--svg-glow-1:#ff525cb8;--svg-glow-2:#e22a3e70}.ai-blob--dragging:before,.ai-blob--snapping:before{animation-play-state:paused!important}.ai-blob--listening{--mood-eye-scale:1.08}.ai-blob--listening .ai-blob__floating{animation-duration:4.4s,6.2s}.ai-blob--thinking .ai-blob__tickle{animation:1.25s ease-in-out infinite ai-blob-thinking-pulse}.ai-blob--speaking .ai-blob__tickle{animation:.52s ease-in-out infinite alternate ai-blob-speaking-bob}.ai-blob--error .ai-blob__tickle{animation:.42s ease-in-out 2 ai-blob-error-wobble}@keyframes ai-blob-thinking-pulse{0%,to{transform:scale(1)}50%{transform:translateY(3px)scale(1.035,.965)}}@keyframes ai-blob-speaking-bob{0%{transform:translateY(0)scale(1)}to{transform:translateY(-6px)scale(1.025,.985)}}@keyframes ai-blob-error-wobble{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-6px)rotate(-2deg)}75%{transform:translate(6px)rotate(2deg)}}.ai-blob--idle{--blob-main:#56e0d0;--blob-highlight:#c8fff9;--blob-shadow:#238b94;--pupil:#075f68}.ai-blob--listening{--blob-main:#61f0e7;--blob-highlight:#e0fffc;--blob-shadow:#2aa3a8;--pupil:#08727b}.ai-blob--thinking{--blob-main:#8d7cf3;--blob-highlight:#ded8ff;--blob-shadow:#4e46a8;--pupil:#342b83}.ai-blob--busy{--blob-main:#6f74ff;--blob-highlight:#cfd3ff;--blob-shadow:#3d3eae;--pupil:#24276f}.ai-blob--speaking{--blob-main:#61e69a;--blob-highlight:#d7ffe7;--blob-shadow:#2c9a65;--pupil:#17613f}.ai-blob--error{--blob-main:#f28d7d;--blob-highlight:#ffd7d1;--blob-shadow:#b85f62;--pupil:#8c3d46}.ai-blob__body,.ai-blob__pupil,.ai-blob__body--back{transition:fill .52s cubic-bezier(.22,1,.36,1),filter .52s,opacity .52s}.ai-blob--busy .ai-blob__tickle{animation:1.7s cubic-bezier(.45,0,.2,1) infinite ai-blob-busy-fluid}.ai-blob--busy .ai-blob__eyes{animation:1.7s ease-in-out infinite ai-blob-busy-eyes}.ai-blob--busy .ai-blob__glow{animation:1.7s ease-in-out infinite ai-blob-busy-glow}@keyframes ai-blob-busy-fluid{0%,to{transform:translate(0)rotate(0)scale(1)}18%{transform:translate(-12px,-5px)rotate(-4deg)scale(1.1,.92)}38%{transform:translate(10px,-12px)rotate(5deg)scale(.92,1.12)}58%{transform:translate(15px,4px)rotate(4deg)scale(1.08,.94)}78%{transform:translate(-9px,8px)rotate(-3deg)scale(.95,1.08)}}@keyframes ai-blob-busy-eyes{0%,to{transform:translate(var(--eyes-shift-x), var(--eyes-shift-y)) scale(1)}25%{transform:translate(calc(var(--eyes-shift-x) - 5px), calc(var(--eyes-shift-y) - 3px)) scale(1.08, .88)}55%{transform:translate(calc(var(--eyes-shift-x) + 5px), calc(var(--eyes-shift-y) + 2px)) scale(.96, 1.08)}}@keyframes ai-blob-busy-glow{0%,to{filter:blur(34px)brightness()}50%{filter:blur(26px)brightness(1.35)}}.ai-blob--angry .ai-blob__angry-brows,.ai-blob--angry.ai-blob--annoyed .ai-blob__angry-brows{opacity:1}.ai-blob--party .ai-blob__floating{animation:ai-blob-party-jelly .42s ease-in-out infinite alternate, ai-blob-party-rainbow var(--party-speed) linear infinite;transform-origin:50% 52%}.ai-blob--party .ai-blob__body,.ai-blob--party .ai-blob__shine,.ai-blob--party .ai-blob__shimmer{filter:url(#ai-blob-party-wobble)}.ai-blob--party .ai-blob__glow{animation:ai-blob-party-glow var(--party-speed) linear infinite, ai-blob-party-glow-pulse .52s ease-in-out infinite alternate}.ai-blob--party .ai-blob__eyes{transform-origin:50%;animation:.36s ease-in-out infinite alternate ai-blob-party-eyes}@keyframes ai-blob-party-jelly{0%{transform:rotate(-2.4deg)scaleX(.96)scaleY(1.045)}35%{transform:rotate(1.7deg)scaleX(1.055)scaleY(.955)}70%{transform:rotate(-1deg)scaleX(.98)scaleY(1.035)}to{transform:rotate(2.6deg)scaleX(1.04)scaleY(.97)}}@keyframes ai-blob-party-rainbow{0%{filter:hue-rotate()saturate(1.2)}to{filter:hue-rotate(360deg)saturate(1.2)}}@keyframes ai-blob-party-glow{0%{filter:hue-rotate()saturate(1.55)brightness(1.14)}to{filter:hue-rotate(360deg)saturate(1.55)brightness(1.14)}}@keyframes ai-blob-party-glow-pulse{0%{opacity:.58;transform:scale(.94)}to{opacity:.92;transform:scale(1.13)}}@keyframes ai-blob-party-eyes{0%{transform:translateY(-1px)scaleY(1.04)}to{transform:translateY(2px)scaleY(.92)}}@media (prefers-reduced-motion:reduce){.ai-blob--party .ai-blob__floating,.ai-blob--party .ai-blob__glow,.ai-blob--party .ai-blob__eyes{animation:none}.ai-blob--party .ai-blob__body,.ai-blob--party .ai-blob__shine,.ai-blob--party .ai-blob__shimmer{filter:none}}.ai-blob--annoyed,.ai-blob--angry,.ai-blob--angry.ai-blob--annoyed{--blob-main:#ef5b62!important;--blob-highlight:#ffc3bd!important;--blob-shadow:#a72e42!important;--pupil:#c92539!important}.ai-blob--annoyed .ai-blob__glow,.ai-blob--angry .ai-blob__glow,.ai-blob--angry.ai-blob--annoyed .ai-blob__glow{filter:blur(30px)saturate(1.2)brightness(1.12)!important;background:radial-gradient(circle,#ff5c64d1 0%,#ef444e8a 34%,#cd263a45 61%,#0000 82%)!important}.ai-blob--annoyed .ai-blob__pupil,.ai-blob--angry .ai-blob__pupil{fill:#c92539!important;filter:none!important}.ai-blob--party .ai-blob__glow{will-change:transform, filter, opacity;opacity:1!important;animation:ai-blob-party-glow-rainbow var(--party-speed) linear infinite, ai-blob-party-glow-superpulse .52s ease-in-out infinite alternate!important;background:radial-gradient(circle,#56e0d0fa 0%,#56e0d0c7 30%,#56e0d06b 56%,#56e0d029 72%,#0000 86%)!important}.ai-blob--party:before{opacity:1!important;animation:ai-blob-party-core-rainbow var(--party-speed) linear infinite, ai-blob-party-core-pulse .52s ease-in-out infinite alternate!important;background:#56e0d0b8!important}@keyframes ai-blob-party-dance-bob{0%{transform:translateY(4px)rotate(-1.2deg)}45%{transform:translateY(-13px)rotate(1deg)}to{transform:translateY(-22px)rotate(-1deg)}}@keyframes ai-blob-party-glow-rainbow{0%{filter:hue-rotate()saturate(2.15)brightness(1.75)blur(25px)}to{filter:hue-rotate(360deg)saturate(2.15)brightness(1.75)blur(25px)}}@keyframes ai-blob-party-glow-superpulse{0%{transform:scale(.98)}to{transform:scale(1.25)}}@keyframes ai-blob-party-core-rainbow{0%{filter:hue-rotate()saturate(2)brightness(1.9)blur(18px)}to{filter:hue-rotate(360deg)saturate(2)brightness(1.9)blur(18px)}}@keyframes ai-blob-party-core-pulse{0%{transform:scale(.96)}to{transform:scale(1.16)}}@keyframes ai-blob-party-svg-rainbow{0%{filter:hue-rotate()saturate(1.65)drop-shadow(0 0 18px #56e0d0b8)drop-shadow(0 0 44px #56e0d075)}to{filter:hue-rotate(360deg)saturate(1.65)drop-shadow(0 0 18px #56e0d0b8)drop-shadow(0 0 44px #56e0d075)}}@media (prefers-reduced-motion:reduce){.ai-blob--party .ai-blob__drag,.ai-blob--party .ai-blob__floating,.ai-blob--party .ai-blob__glow,.ai-blob--party:before,.ai-blob--party .ai-blob__svg{animation:none!important}}.ai-blob--party .ai-blob__drag{transform-origin:160px 160px;animation:1.05s cubic-bezier(.45,0,.3,1) infinite ai-blob-party-big-dance!important}.ai-blob--party .ai-blob__floating{animation:ai-blob-party-jelly .38s ease-in-out infinite alternate, ai-blob-party-rainbow var(--party-speed) linear infinite!important}.ai-blob--party .ai-blob__glow{opacity:1!important;width:155%!important;height:155%!important;animation:ai-blob-party-huge-glow-rainbow var(--party-speed) linear infinite, ai-blob-party-huge-glow-pulse .62s ease-in-out infinite alternate!important;transform-origin:50%!important;background:radial-gradient(circle,#56e0d0 0%,#56e0d0f0 22%,#56e0d0b3 40%,#56e0d061 60%,#56e0d024 74%,#0000 90%)!important;top:50%!important;left:50%!important}.ai-blob--party:before{opacity:1!important;width:120%!important;height:120%!important;animation:ai-blob-party-core-rainbow var(--party-speed) linear infinite, ai-blob-party-core-superpulse .54s ease-in-out infinite alternate!important;background:#56e0d0eb!important}@keyframes ai-blob-party-big-dance{0%{transform:translate(-24px,5px)rotate(-6deg)scale(1.02,.98)}18%{transform:translate(-34px,-16px)rotate(-9deg)scale(.96,1.06)}36%{transform:translateY(-28px)rotate(2deg)scale(1.08,.94)}54%{transform:translate(35px,-15px)rotate(9deg)scale(.97,1.05)}72%{transform:translate(25px,7px)rotate(6deg)scale(1.05,.96)}88%{transform:translate(-5px,-10px)rotate(-2deg)scale(.98,1.04)}to{transform:translate(-24px,5px)rotate(-6deg)scale(1.02,.98)}}@keyframes ai-blob-party-huge-glow-rainbow{0%{filter:hue-rotate()saturate(2.5)brightness(2.25)blur(23px)}to{filter:hue-rotate(360deg)saturate(2.5)brightness(2.25)blur(23px)}}@keyframes ai-blob-party-huge-glow-pulse{0%{transform:translate(-50%,-50%)scale(.94)}to{transform:translate(-50%,-50%)scale(1.18)}}@keyframes ai-blob-party-core-superpulse{0%{transform:translate(-50%,-50%)scale(.94)}to{transform:translate(-50%,-50%)scale(1.13)}}@keyframes ai-blob-party-svg-rainbow-strong{0%{filter:hue-rotate()saturate(1.85)brightness(1.08)drop-shadow(0 0 22px #56e0d0e6)drop-shadow(0 0 58px #56e0d0a8)}to{filter:hue-rotate(360deg)saturate(1.85)brightness(1.08)drop-shadow(0 0 22px #56e0d0e6)drop-shadow(0 0 58px #56e0d0a8)}}@media (prefers-reduced-motion:reduce){.ai-blob--party .ai-blob__drag,.ai-blob--party .ai-blob__floating,.ai-blob--party .ai-blob__glow,.ai-blob--party:before,.ai-blob--party .ai-blob__svg{animation:none!important}}.ai-blob--party .ai-blob__glow{will-change:transform, filter, opacity;transform-origin:50%!important;opacity:1!important;width:175%!important;height:175%!important;animation:ai-blob-party-centered-rainbow-glow var(--party-speed) linear infinite, ai-blob-party-centered-glow-pulse .62s ease-in-out infinite alternate!important;background:radial-gradient(circle,#56e0d0 0%,#56e0d0f2 20%,#56e0d0b8 38%,#56e0d070 57%,#56e0d033 72%,#56e0d00f 84%,#0000 94%)!important;top:50%!important;left:50%!important}.ai-blob--party:before{transform-origin:50%!important;opacity:1!important;width:128%!important;height:128%!important;animation:ai-blob-party-centered-core-rainbow var(--party-speed) linear infinite, ai-blob-party-centered-core-pulse .54s ease-in-out infinite alternate!important;background:radial-gradient(circle,#56e0d0f2 0%,#56e0d08a 45%,#0000 78%)!important;top:50%!important;left:50%!important}@keyframes ai-blob-party-centered-rainbow-glow{0%{filter:hue-rotate()saturate(2.6)brightness(2.5)blur(22px)}to{filter:hue-rotate(360deg)saturate(2.6)brightness(2.5)blur(22px)}}@keyframes ai-blob-party-centered-glow-pulse{0%{transform:translate(-50%,-50%)scale(.96)}to{transform:translate(-50%,-50%)scale(1.22)}}@keyframes ai-blob-party-centered-core-rainbow{0%{filter:hue-rotate()saturate(2.35)brightness(2.25)blur(16px)}to{filter:hue-rotate(360deg)saturate(2.35)brightness(2.25)blur(16px)}}@keyframes ai-blob-party-centered-core-pulse{0%{transform:translate(-50%,-50%)scale(.97)}to{transform:translate(-50%,-50%)scale(1.15)}}.ai-blob--party .ai-blob__svg{animation:ai-blob-party-svg-rainbow-strong var(--party-speed) linear infinite!important}.ai-blob__svg{z-index:2;position:relative}.ai-blob--party .ai-blob__glow{pointer-events:none;will-change:transform, filter, opacity;z-index:0!important;transform-origin:50%!important;opacity:.9!important;width:150%!important;height:150%!important;animation:ai-blob-party-aura-rainbow var(--party-speed) linear infinite, ai-blob-party-aura-breathe 1.25s ease-in-out infinite alternate!important;background:radial-gradient(circle,#56e0d0f2 0%,#56e0d0b8 30%,#56e0d061 56%,#56e0d01f 72%,#0000 88%)!important;position:absolute!important;top:50%!important;left:50%!important}.ai-blob--party:before{opacity:.18!important;filter:blur(18px)!important;animation:none!important;transform:translate(-50%,-50%)scale(1)!important}@keyframes ai-blob-party-aura-rainbow{0%{filter:hue-rotate()saturate(2.1)brightness(1.7)blur(24px)}to{filter:hue-rotate(360deg)saturate(2.1)brightness(1.7)blur(24px)}}@keyframes ai-blob-party-aura-breathe{0%{opacity:.72;transform:translate(calc(-50% + var(--drag-x,0px)), calc(-50% + var(--drag-y,0px))) scale(.94)}50%{opacity:.94;transform:translate(calc(-50% + var(--drag-x,0px)), calc(-50% + var(--drag-y,0px))) scale(1.035)}to{opacity:.82;transform:translate(calc(-50% + var(--drag-x,0px)), calc(-50% + var(--drag-y,0px))) scale(1.09)}}.ai-blob--party .ai-blob__drag{z-index:2;position:relative}@media (prefers-reduced-motion:reduce){.ai-blob--party .ai-blob__glow{filter:saturate(1.5)brightness(1.4)blur(24px)!important;animation:none!important;transform:translate(-50%,-50%)scale(1)!important}}.ai-blob{isolation:isolate!important;position:relative!important}.ai-blob__party-glow{z-index:0;pointer-events:none;opacity:0;transform-origin:50%;filter:blur(24px)saturate(2.25)brightness(1.9);will-change:transform, opacity, filter;background:radial-gradient(#56e0d0fa 0%,#56e0d0d1 18%,#56e0d094 36%,#56e0d04d 55%,#56e0d01f 70%,#56e0d008 82%,#0000 92%);border-radius:50%;width:165%;height:165%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.98)}.ai-blob .ai-blob__glow{z-index:1}.ai-blob .ai-blob__svg{z-index:2;position:relative}.ai-blob--party{--party-speed:3.2s}.ai-blob--party .ai-blob__glow,.ai-blob--party:before{opacity:0!important;animation:none!important}.ai-blob--party .ai-blob__party-glow{opacity:.88;animation:ai-blob-party-aura-colour var(--party-speed) linear infinite, ai-blob-party-aura-breathe 1.35s ease-in-out infinite alternate!important}@keyframes ai-blob-party-aura-colour{0%{filter:hue-rotate()blur(24px)saturate(2.35)brightness(1.85)}25%{filter:hue-rotate(90deg)blur(25px)saturate(2.45)brightness(2)}50%{filter:hue-rotate(180deg)blur(24px)saturate(2.35)brightness(1.9)}75%{filter:hue-rotate(270deg)blur(25px)saturate(2.45)brightness(2.05)}to{filter:hue-rotate(360deg)blur(24px)saturate(2.35)brightness(1.85)}}.ai-blob--party .ai-blob__party-glow{top:50%!important;left:50%!important}.site-shell--light .ai-blob--party .ai-blob__party-glow,[data-theme=light] .ai-blob--party .ai-blob__party-glow,.theme-light .ai-blob--party .ai-blob__party-glow,.light .ai-blob--party .ai-blob__party-glow{background:radial-gradient(#56e0d0 0%,#56e0d0e6 18%,#56e0d0a8 36%,#56e0d061 56%,#56e0d029 72%,#56e0d00a 84%,#0000 94%)}@media (prefers-reduced-motion:reduce){.ai-blob--party .ai-blob__party-glow{opacity:.88!important;filter:blur(24px)saturate(1.8)brightness(1.7)!important;animation:none!important;transform:translate(-50%,-50%)scale(1)!important}}.ai-blob__party-stage{z-index:1;transform-origin:50%;width:100%;height:100%;position:relative}.ai-blob--party .ai-blob__drag{animation:none!important}.ai-blob--party .ai-blob__party-stage{will-change:transform;animation:1.05s cubic-bezier(.45,0,.3,1) infinite ai-blob-party-stage-dance!important}@keyframes ai-blob-party-stage-dance{0%{transform:translate(-24px,5px)rotate(-6deg)}18%{transform:translate(-34px,-16px)rotate(-9deg)}36%{transform:translateY(-28px)rotate(2deg)}54%{transform:translate(35px,-15px)rotate(9deg)}72%{transform:translate(25px,7px)rotate(6deg)}88%{transform:translate(-5px,-10px)rotate(-2deg)}to{transform:translate(-24px,5px)rotate(-6deg)}}.ai-blob__party-stage .ai-blob__party-glow{z-index:0}.ai-blob__party-stage .ai-blob__party-orbs,.ai-blob__party-stage .ai-blob__glow{z-index:1}.ai-blob__party-stage .ai-blob__svg{z-index:3;position:relative}.ai-blob--party .ai-blob__party-glow{width:165%!important;height:165%!important;top:50%!important;left:50%!important}.ai-blob__party-orbs{pointer-events:none;opacity:0;position:absolute;inset:0}.ai-blob--party .ai-blob__party-orbs{opacity:1;animation:ai-blob-party-orbs-rainbow var(--party-speed) linear infinite}.ai-blob__party-orb{opacity:0;transform-origin:50%;background:#56e0d0;border-radius:999px;width:9px;height:9px;position:absolute;top:50%;left:50%;box-shadow:0 0 8px #56e0d0f2,0 0 18px #56e0d0b8,0 0 32px #56e0d059}.ai-blob--party .ai-blob__party-orb{opacity:.9}.ai-blob__party-orb--1{width:8px;height:8px;animation:2.8s ease-in-out infinite ai-blob-party-orb-1}.ai-blob__party-orb--2{width:12px;height:12px;animation:3.35s ease-in-out -.8s infinite ai-blob-party-orb-2}.ai-blob__party-orb--3{width:6px;height:6px;animation:2.45s ease-in-out -1.2s infinite ai-blob-party-orb-3}.ai-blob__party-orb--4{width:10px;height:10px;animation:3.7s ease-in-out -.45s infinite ai-blob-party-orb-4}.ai-blob__party-orb--5{width:7px;height:7px;animation:3.05s ease-in-out -1.65s infinite ai-blob-party-orb-5}.ai-blob__party-orb--6{width:5px;height:5px;animation:2.65s ease-in-out -.25s infinite ai-blob-party-orb-6}@keyframes ai-blob-party-orbs-rainbow{0%{filter:hue-rotate()saturate(2)brightness(1.25)}to{filter:hue-rotate(360deg)saturate(2)brightness(1.25)}}@keyframes ai-blob-party-orb-1{0%,to{opacity:.25;transform:translate(-116px,-20px)scale(.72)}45%{opacity:.95;transform:translate(-140px,-82px)scale(1.08)}72%{opacity:.58;transform:translate(-106px,-116px)scale(.84)}}@keyframes ai-blob-party-orb-2{0%,to{opacity:.28;transform:translate(104px,14px)scale(.76)}38%{opacity:.88;transform:translate(136px,-64px)scale(1.06)}70%{opacity:.56;transform:translate(94px,-112px)scale(.9)}}@keyframes ai-blob-party-orb-3{0%,to{opacity:.22;transform:translate(-74px,106px)scale(.65)}48%{opacity:.88;transform:translate(-118px,58px)scale(1.15)}}@keyframes ai-blob-party-orb-4{0%,to{opacity:.24;transform:translate(82px,102px)scale(.7)}42%{opacity:.92;transform:translate(126px,48px)scale(1.08)}72%{opacity:.52;transform:translate(112px,-4px)scale(.82)}}@keyframes ai-blob-party-orb-5{0%,to{opacity:.2;transform:translate(-24px,-126px)scale(.64)}46%{opacity:.82;transform:translate(22px,-150px)scale(1.05)}}@keyframes ai-blob-party-orb-6{0%,to{opacity:.18;transform:translate(126px,-26px)scale(.6)}50%{opacity:.76;transform:translate(150px,30px)scale(1.18)}}@media (prefers-reduced-motion:reduce){.ai-blob--party .ai-blob__party-stage{animation:none!important}.ai-blob--party .ai-blob__party-orbs{opacity:.5;animation:none!important}.ai-blob--party .ai-blob__party-orb{opacity:.35;animation:none!important}}.ai-blob--party .ai-blob__party-orbs{transform-origin:50%;will-change:transform, filter, opacity;transform:translate(var(--drag-x,0px), var(--drag-y,0px))!important}.ai-blob--party.ai-blob--dragging .ai-blob__party-glow,.ai-blob--party.ai-blob--snapping .ai-blob__party-glow{top:50%!important;left:50%!important}.ai-blob--party.ai-blob--dragging .ai-blob__party-orbs,.ai-blob--party.ai-blob--snapping .ai-blob__party-orbs{transform:translate(var(--drag-x,0px), var(--drag-y,0px))!important}@media (prefers-reduced-motion:reduce){.ai-blob--party .ai-blob__party-glow{transform:translate(calc(-50% + var(--drag-x,0px)), calc(-50% + var(--drag-y,0px))) scale(1)!important}}.ai-blob__party-drag{z-index:1;transform-origin:50%;will-change:transform;width:100%;height:100%;position:relative;transform:translate(0)rotate(0)scale(1)}.ai-blob--party .ai-blob__party-stage{animation:1.05s cubic-bezier(.45,0,.3,1) infinite ai-blob-party-stage-dance!important}.ai-blob--party .ai-blob__drag{transform:translate(0)rotate(0)scale(1)!important}.ai-blob--party .ai-blob__glow{visibility:hidden!important;opacity:0!important;filter:none!important;animation:none!important;display:none!important;transform:none!important}.ai-blob--party:before{visibility:hidden!important;opacity:0!important;filter:none!important;animation:none!important;display:none!important}.ai-blob--party .ai-blob__svg{filter:none!important}.ai-blob--party .ai-blob__party-glow{pointer-events:none;will-change:transform, filter, opacity;border-radius:50%;visibility:visible!important;z-index:0!important;width:165%!important;height:165%!important;animation:ai-blob-party-aura-colour var(--party-speed) linear infinite, ai-blob-party-aura-breathe-clean 1.35s ease-in-out infinite alternate!important;transform-origin:50%!important;background:radial-gradient(#56e0d0fa 0%,#56e0d0d1 18%,#56e0d094 36%,#56e0d04d 55%,#56e0d01f 70%,#56e0d008 82%,#0000 92%)!important;display:block!important;position:absolute!important;top:50%!important;left:50%!important}@keyframes ai-blob-party-aura-breathe-clean{0%{opacity:.72;transform:translate(-50%,-50%)scale(.94)}50%{opacity:.94;transform:translate(-50%,-50%)scale(1.035)}to{opacity:.82;transform:translate(-50%,-50%)scale(1.09)}}.ai-blob--party .ai-blob__party-orbs,.ai-blob--party.ai-blob--dragging .ai-blob__party-orbs,.ai-blob--party.ai-blob--snapping .ai-blob__party-orbs{transform:none!important}.ai-blob__party-stage{isolation:isolate;position:relative}.ai-blob__party-glow{z-index:0!important}.ai-blob__party-orbs{z-index:1!important}.ai-blob__svg{position:relative;z-index:2!important}@media (prefers-reduced-motion:reduce){.ai-blob--party .ai-blob__party-stage{animation:none!important}.ai-blob--party .ai-blob__party-glow{opacity:.86!important;filter:blur(24px)saturate(1.8)brightness(1.7)!important;animation:none!important;transform:translate(-50%,-50%)scale(1)!important}}@media (width<=720px),(pointer:coarse){.ai-blob{contain:layout style}.ai-blob .ai-blob__glow{--glow-blur:18px;filter:blur(var(--glow-blur)) brightness(var(--glow-brightness))!important}.ai-blob:before{--core-glow-blur:14px;filter:blur(var(--core-glow-blur)) brightness(var(--core-glow-brightness))!important}.ai-blob .ai-blob__svg{filter:drop-shadow(0 0 12px var(--svg-glow-1)) drop-shadow(0 16px 22px #0206173d)!important}.ai-blob__body--back{filter:blur(7px);opacity:.82}.ai-blob__shine,.ai-blob__shimmer{animation:none!important}.ai-blob__shimmer{opacity:.28;mix-blend-mode:normal}.ai-blob--party .ai-blob__body,.ai-blob--party .ai-blob__shine,.ai-blob--party .ai-blob__shimmer{filter:none!important}.ai-blob--party .ai-blob__svg{filter:drop-shadow(0 0 14px #56e0d09e)drop-shadow(0 18px 24px #02061738)!important;animation:none!important}.ai-blob--party .ai-blob__party-glow{filter:blur(18px)saturate(1.35)brightness(1.25)!important}.ai-blob__lean,.ai-blob__eyes,.ai-blob__pupil,.ai-blob__drag,.ai-blob__glow,.ai-blob:before{will-change:auto}.ai-blob--dragging .ai-blob__drag,.ai-blob--snapping .ai-blob__drag{will-change:transform}}.ai-chat{--chat-accent:var(--accent,#56e0d0);--chat-accent-rgb:var(--accent-rgb,86, 224, 208);z-index:20;color:#d9f7f3;border:1px solid rgba(var(--chat-accent-rgb), .3);width:min(440px,42vw);min-width:330px;box-shadow:0 28px 80px #0000005c, 0 0 0 1px #ffffff06 inset, 0 0 42px rgba(var(--chat-accent-rgb), .09);-webkit-backdrop-filter:blur(18px);pointer-events:auto;background:linear-gradient(#0c171efb 0%,#070f15f9 100%);border-radius:18px;grid-template-rows:auto minmax(180px,1fr) auto auto;animation:.22s cubic-bezier(.22,1,.36,1) ai-chat-enter;display:grid;position:absolute;top:64%;left:50%;overflow:hidden;transform:translate(-50%)}.ai-chat__header{border-bottom:1px solid rgba(var(--chat-accent-rgb), .18);background:rgba(var(--chat-accent-rgb), .035);letter-spacing:.035em;justify-content:space-between;align-items:center;gap:1rem;min-height:48px;padding:.8rem .95rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.78rem;display:flex}.ai-chat__header-title,.ai-chat__header-actions{align-items:center;gap:.6rem;display:flex}.ai-chat__header-title{color:#edfdfb}.ai-chat__status-dot{background:var(--chat-accent);width:.55rem;height:.55rem;box-shadow:0 0 0 4px rgba(var(--chat-accent-rgb), .1), 0 0 13px rgba(var(--chat-accent-rgb), .62);border-radius:50%;flex:none}.ai-chat__status-label{color:var(--chat-accent);letter-spacing:.09em;text-transform:uppercase;font-size:.66rem}.ai-chat__close{border:1px solid rgba(var(--chat-accent-rgb), .12);background:rgba(var(--chat-accent-rgb), .055);color:#dffaf6;width:1.85rem;height:1.85rem;font:inherit;cursor:pointer;border-radius:8px;place-items:center;padding:0;font-size:1.1rem;line-height:1;transition:background .15s,border-color .15s,transform .15s;display:grid}.ai-chat__close:hover{background:rgba(var(--chat-accent-rgb), .12);border-color:rgba(var(--chat-accent-rgb), .24);transform:scale(1.04)}.ai-chat__messages{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(var(--chat-accent-rgb), .28) transparent;flex-direction:column;gap:.8rem;min-height:220px;max-height:330px;padding:1rem;display:flex;overflow-y:auto}.ai-chat__message{grid-template-columns:2.4rem minmax(0,1fr);align-items:start;gap:.6rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.78rem;line-height:1.55;display:grid}.ai-chat__message-prefix{color:var(--chat-accent);letter-spacing:.075em;text-transform:uppercase;padding-top:.55rem;font-size:.64rem}.ai-chat__message p{border:1px solid rgba(var(--chat-accent-rgb), .13);background:rgba(var(--chat-accent-rgb), .035);color:#d9efec;border-radius:10px;margin:0;padding:.7rem .8rem}.ai-chat__message--user p{border-color:rgba(var(--chat-accent-rgb), .28);background:rgba(var(--chat-accent-rgb), .09);color:#effffd}.ai-chat__message--user .ai-chat__message-prefix{color:#a9c5c1}.ai-chat__composer{border:1px solid rgba(var(--chat-accent-rgb), .22);background:rgba(var(--chat-accent-rgb), .045);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;margin:0 1rem;padding:.68rem .75rem;display:grid;box-shadow:inset 0 0 0 1px #0000002e}.ai-chat__composer:focus-within{border-color:rgba(var(--chat-accent-rgb), .48);box-shadow:0 0 0 3px rgba(var(--chat-accent-rgb), .08)}.ai-chat__prompt-symbol{color:var(--chat-accent);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.86rem}.ai-chat__composer input{color:#f2fffd;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.78rem}.ai-chat__composer input::placeholder{color:#8aa5a1;opacity:.72}.ai-chat__composer button{border:1px solid rgba(var(--chat-accent-rgb), .22);background:rgba(var(--chat-accent-rgb), .09);color:var(--chat-accent);letter-spacing:.03em;cursor:pointer;border-radius:7px;padding:.36rem .58rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.67rem;transition:background .15s,border-color .15s,opacity .15s}.ai-chat__composer button:hover:not(:disabled){background:rgba(var(--chat-accent-rgb), .16);border-color:rgba(var(--chat-accent-rgb), .4)}.ai-chat__composer button:disabled{opacity:.34;cursor:default}.ai-chat__footer{color:#8ca6a2;letter-spacing:.02em;margin:0;padding:.8rem 1rem .95rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.7rem}.ai-chat__footer span{color:var(--chat-accent)}@keyframes ai-chat-enter{0%{opacity:0;transform:translate(-50%)translateY(10px)scale(.985)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@media (width<=980px){.ai-chat{width:min(90vw,430px);min-width:0;top:68%}}@media (width<=560px){.ai-chat{width:min(92vw,390px);top:70%}.ai-chat__messages{min-height:190px;max-height:270px}.ai-chat__message{grid-template-columns:2rem minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.ai-chat{animation:none}}.ai-chat{z-index:5;width:min(440px,42vw);min-width:330px;margin-top:-92px;animation:.22s cubic-bezier(.22,1,.36,1) ai-chat-enter-combined!important;position:relative!important;top:auto!important;left:auto!important;transform:none!important}@keyframes ai-chat-enter-combined{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=980px){.ai-chat{width:min(90vw,430px);min-width:0;margin-top:-76px}}@media (width<=560px){.ai-chat{width:min(92vw,390px);margin-top:-62px}}.ai-chat__status-dot{transition:background .22s,box-shadow .22s}.ai-chat--thinking .ai-chat__status-dot{animation:.85s ease-in-out infinite ai-chat-status-pulse}.ai-chat--error .ai-chat__status-dot{background:#f28d7d;box-shadow:0 0 0 4px #f28d7d1a,0 0 13px #f28d7d8c}.ai-chat--error .ai-chat__status-label{color:#f2a092}.ai-chat__composer input:disabled{opacity:.62;cursor:wait}.ai-chat__message--thinking p{min-width:3.6rem}.ai-chat__thinking-dots{align-items:center;gap:.28rem;min-height:1rem;display:inline-flex}.ai-chat__thinking-dots span{background:var(--chat-accent);border-radius:50%;width:.32rem;height:.32rem;animation:.9s ease-in-out infinite ai-chat-thinking-dot}.ai-chat__thinking-dots span:nth-child(2){animation-delay:.12s}.ai-chat__thinking-dots span:nth-child(3){animation-delay:.24s}@keyframes ai-chat-thinking-dot{0%,to{opacity:.3;transform:translateY(1px)}50%{opacity:1;transform:translateY(-2px)}}@keyframes ai-chat-status-pulse{0%,to{opacity:.66;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.ai-chat--listening{--chat-accent:#61f0e7;--chat-accent-rgb:97, 240, 231}.ai-chat--thinking{--chat-accent:#9a8cff;--chat-accent-rgb:154, 140, 255}.ai-chat--busy{--chat-accent:#7378ff;--chat-accent-rgb:115, 120, 255}.ai-chat--speaking{--chat-accent:#61e69a;--chat-accent-rgb:97, 230, 154}.ai-chat--error,.ai-chat--angry{--chat-accent:#f28d7d;--chat-accent-rgb:242, 141, 125}.site-shell--light .ai-chat,[data-theme=light] .ai-chat,.theme-light .ai-chat,.light .ai-chat{--chat-accent:#159f98;--chat-accent-rgb:21, 159, 152;color:#173332;border-color:rgba(var(--chat-accent-rgb), .24);box-shadow:0 24px 70px #18424029, 0 0 0 1px #ffffffb8 inset, 0 0 30px rgba(var(--chat-accent-rgb), .08);background:linear-gradient(#f7fdfcfa 0%,#eef8f7f7 100%)}.site-shell--light .ai-chat__header,[data-theme=light] .ai-chat__header,.theme-light .ai-chat__header,.light .ai-chat__header{border-bottom-color:rgba(var(--chat-accent-rgb), .16);background:rgba(var(--chat-accent-rgb), .035)}.site-shell--light .ai-chat__header-title,[data-theme=light] .ai-chat__header-title,.theme-light .ai-chat__header-title,.light .ai-chat__header-title{color:#173332}.site-shell--light .ai-chat__close,[data-theme=light] .ai-chat__close,.theme-light .ai-chat__close,.light .ai-chat__close{color:#214744;border-color:rgba(var(--chat-accent-rgb), .16);background:rgba(var(--chat-accent-rgb), .055)}.site-shell--light .ai-chat__close:hover,[data-theme=light] .ai-chat__close:hover,.theme-light .ai-chat__close:hover,.light .ai-chat__close:hover{background:rgba(var(--chat-accent-rgb), .11);border-color:rgba(var(--chat-accent-rgb), .26)}.site-shell--light .ai-chat__message p,[data-theme=light] .ai-chat__message p,.theme-light .ai-chat__message p,.light .ai-chat__message p{color:#244b48;border-color:rgba(var(--chat-accent-rgb), .12);background:rgba(var(--chat-accent-rgb), .035)}.site-shell--light .ai-chat__message--user p,[data-theme=light] .ai-chat__message--user p,.theme-light .ai-chat__message--user p,.light .ai-chat__message--user p{color:#153d39;border-color:rgba(var(--chat-accent-rgb), .24);background:rgba(var(--chat-accent-rgb), .08)}.site-shell--light .ai-chat__message--user .ai-chat__message-prefix,[data-theme=light] .ai-chat__message--user .ai-chat__message-prefix,.theme-light .ai-chat__message--user .ai-chat__message-prefix,.light .ai-chat__message--user .ai-chat__message-prefix{color:#557773}.site-shell--light .ai-chat__composer,[data-theme=light] .ai-chat__composer,.theme-light .ai-chat__composer,.light .ai-chat__composer{border-color:rgba(var(--chat-accent-rgb), .2);background:rgba(var(--chat-accent-rgb), .045);box-shadow:inset 0 0 0 1px #ffffffa6}.site-shell--light .ai-chat__composer input,[data-theme=light] .ai-chat__composer input,.theme-light .ai-chat__composer input,.light .ai-chat__composer input{color:#173332}.site-shell--light .ai-chat__composer input::placeholder,[data-theme=light] .ai-chat__composer input::placeholder,.theme-light .ai-chat__composer input::placeholder,.light .ai-chat__composer input::placeholder{color:#6f8f8b}.site-shell--light .ai-chat__footer,[data-theme=light] .ai-chat__footer,.theme-light .ai-chat__footer,.light .ai-chat__footer{color:#6c8986}.ai-chat__command-menu{z-index:2;border:1px solid rgba(var(--chat-accent-rgb), .22);box-shadow:0 14px 36px #00000047, 0 0 22px rgba(var(--chat-accent-rgb), .06);background:#070f15fb;border-radius:10px;flex-direction:column;margin:0 1rem .45rem;padding:.35rem;animation:.13s ease-out ai-chat-command-enter;display:flex;position:relative;overflow:hidden}.ai-chat__command-option{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;grid-template-columns:7.4rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.55rem .65rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;transition:background .1s,color .1s;display:grid}.ai-chat__command-option:hover,.ai-chat__command-option--selected{background:rgba(var(--chat-accent-rgb), .1)}.ai-chat__command-name{color:var(--chat-accent);letter-spacing:.025em;font-size:.74rem}.ai-chat__command-description{color:#98b1ad;font-size:.68rem}.ai-chat__command-option--selected .ai-chat__command-description{color:#c5d9d6}@keyframes ai-chat-command-enter{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.site-shell--light .ai-chat__command-menu,[data-theme=light] .ai-chat__command-menu,.theme-light .ai-chat__command-menu,.light .ai-chat__command-menu{border-color:rgba(var(--chat-accent-rgb), .18);box-shadow:0 12px 32px #18424024, 0 0 18px rgba(var(--chat-accent-rgb), .05);background:#f7fdfcfc}.site-shell--light .ai-chat__command-description,[data-theme=light] .ai-chat__command-description,.theme-light .ai-chat__command-description,.light .ai-chat__command-description{color:#607d79}.site-shell--light .ai-chat__command-option--selected .ai-chat__command-description,[data-theme=light] .ai-chat__command-option--selected .ai-chat__command-description,.theme-light .ai-chat__command-option--selected .ai-chat__command-description,.light .ai-chat__command-option--selected .ai-chat__command-description{color:#294d49}@media (width<=560px){.ai-chat__command-option{grid-template-columns:6.4rem minmax(0,1fr);gap:.45rem}.ai-chat__command-description{font-size:.64rem}}@media (prefers-reduced-motion:reduce){.ai-chat__command-menu{animation:none}}.ai-chat{position:relative;overflow:visible}.ai-chat__composer{z-index:3;position:relative}.ai-chat__command-menu{z-index:20;transform-origin:bottom;max-height:220px;bottom:4.85rem;left:1rem;right:1rem;overflow-y:auto;margin:0!important;position:absolute!important}@media (width<=560px){.ai-chat__command-menu{max-height:190px;bottom:4.7rem;left:.75rem;right:.75rem}}.ai-chat__message-content{min-width:0}.ai-chat__message-content>:first-child{margin-top:0}.ai-chat__message-content>:last-child{margin-bottom:0}.ai-chat__message-content p{margin:0 0 .65rem}.ai-chat__message-content strong{color:inherit;font-weight:700}.ai-chat__message-content em{opacity:.9}.ai-chat__message-content ul,.ai-chat__message-content ol{margin:.5rem 0 .65rem;padding-left:1.3rem}.ai-chat__message-content li+li{margin-top:.25rem}.ai-chat__message-content code{border:1px solid rgba(var(--chat-accent-rgb), .14);background:rgba(var(--chat-accent-rgb), .08);color:var(--chat-accent);border-radius:5px;padding:.12rem .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.92em}.ai-chat__message-content pre{border:1px solid rgba(var(--chat-accent-rgb), .14);background:#0003;border-radius:8px;max-width:100%;margin:.65rem 0;padding:.75rem;overflow-x:auto}.ai-chat__message-content pre code{background:0 0;border:0;padding:0}.ai-chat__message-content a{color:var(--chat-accent);text-underline-offset:2px;text-decoration:underline}.ai-chat__message-content blockquote{border-left:2px solid rgba(var(--chat-accent-rgb), .48);opacity:.86;margin:.65rem 0;padding-left:.75rem}.ai-chat__message-content{width:100%;min-width:0}.ai-chat__markdown{min-width:0;color:inherit;line-height:1.55}.ai-chat__markdown>:first-child{margin-top:0}.ai-chat__markdown>:last-child{margin-bottom:0}.ai-chat__markdown p{margin:0 0 .55rem}.ai-chat__markdown p:last-child{margin-bottom:0}.ai-chat__markdown strong{color:#ecfdf5;font-weight:700}.ai-chat__markdown em{color:inherit;opacity:.92;font-style:italic}.ai-chat__markdown ul,.ai-chat__markdown ol{margin:.45rem 0 .6rem;padding-left:1.15rem}.ai-chat__markdown li{margin:.18rem 0;padding-left:.08rem}.ai-chat__markdown li::marker{color:var(--accent)}.ai-chat__markdown :not(pre)>code{border:1px solid rgba(var(--accent-rgb), .16);background:rgba(var(--accent-rgb), .08);color:#9ff4e8;font-family:var(--mono);border-radius:.32rem;padding:.08rem .28rem;font-size:.9em}.ai-chat__markdown pre{border:1px solid rgba(var(--accent-rgb), .14);background:#02061761;border-radius:.55rem;max-width:100%;margin:.55rem 0;padding:.7rem .8rem;overflow-x:auto}.ai-chat__markdown pre code{color:#dffdf8;font-family:var(--mono);background:0 0;border:0;padding:0;font-size:.82rem;line-height:1.5}.ai-chat__markdown a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:rgba(var(--accent-rgb), .5);text-decoration-color:rgba(var(--accent-rgb), .5);text-underline-offset:.16em}.ai-chat__markdown a:hover{text-decoration-color:currentColor}.ai-chat__markdown blockquote{border-left:2px solid rgba(var(--accent-rgb), .5);color:#a9bec7;margin:.55rem 0;padding:.05rem 0 .05rem .7rem}.ai-chat__markdown h1,.ai-chat__markdown h2,.ai-chat__markdown h3,.ai-chat__markdown h4{color:#ecfdf5;letter-spacing:0;margin:.7rem 0 .35rem;font-size:.95rem;line-height:1.35}.ai-chat__markdown hr{border:0;border-top:1px solid #94a3b824;margin:.7rem 0}.ai-chat__markdown table{border-collapse:collapse;max-width:100%;margin:.55rem 0;font-size:.78rem;display:block;overflow-x:auto}.ai-chat__markdown th,.ai-chat__markdown td{text-align:left;border:1px solid #94a3b824;padding:.35rem .45rem}.ai-chat__markdown th{color:#ecfdf5;background:rgba(var(--accent-rgb), .06)}.site-shell--light .ai-chat__markdown strong,.site-shell--light .ai-chat__markdown h1,.site-shell--light .ai-chat__markdown h2,.site-shell--light .ai-chat__markdown h3,.site-shell--light .ai-chat__markdown h4{color:#17343c}.site-shell--light .ai-chat__markdown :not(pre)>code{color:#17655f;background:#2dbea917;border-color:#1f92842e}.site-shell--light .ai-chat__markdown pre{background:#e2f0efc7;border-color:#24515824}.site-shell--light .ai-chat__markdown pre code{color:#17343c}.site-shell--light .ai-chat__markdown blockquote{color:#5d7880}.site-shell--light .ai-chat__markdown th{color:#17343c;background:#2dbea914}@media (width<=560px){.ai-chat__composer input{font-size:16px}}.ai-assistant{isolation:isolate;flex-direction:column;justify-content:center;align-items:center;min-width:0;display:flex;position:relative;overflow:visible}.ai-assistant__mascot{z-index:1;flex-direction:column;align-items:center;min-width:0;display:flex;position:relative}@media (width<=980px){.ai-assistant{width:100%}}.site-shell{--yellow:#f7d774;--ink:#101b2a;--gallery-bg:#152b40;--gallery-bar:#0b1423;--gallery-text:#bdc8d8;--bg:#080f1d;--surface:#111e30;--surface-alt:#0c1728;--text:#edf5ff;--muted:#a8bbd0;--border:#324b62;--accent:#6ee7d1;--accent-rgb:110, 231, 209;background:var(--bg);color:var(--text);isolation:isolate;min-height:100svh;padding-top:98px;line-height:1.6;position:relative;overflow-x:clip}.site-shell--light{--gallery-bg:#dceaf2;--gallery-bar:#f5f9fc;--gallery-text:#3d566e;--bg:#eef6fa;--surface:#fff;--surface-alt:#e0edf4;--text:#10263b;--muted:#486077;--border:#9db4c6;--accent:#0f8771;--accent-rgb:15, 135, 113}.container,.section__content{width:min(1240px,100% - 112px);margin-inline:auto}.eyebrow,.section__eyebrow{font:11px var(--mono);letter-spacing:1.8px;text-transform:uppercase;color:var(--accent);margin-bottom:24px}.status-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;margin-right:9px;display:inline-block}.site-header{z-index:100;background:var(--bg);box-shadow:0 4px 0 rgba(var(--accent-rgb), .16);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;width:100%;height:98px;margin:auto;padding-inline:max(28px,50vw - 620px);display:flex;position:fixed;top:0;left:0;right:0}.wordmark{letter-spacing:-3px;font-size:35px;font-weight:800}.wordmark span{color:var(--accent)}.nav-links,.header-actions{align-items:center;gap:32px;display:flex}.nav-links{color:var(--muted);font-size:13px}a:hover{color:var(--accent)}.header-actions{gap:24px;font-size:12px}.theme-toggle{border:1px solid var(--border);width:34px;height:34px;color:var(--text);background:0 0;border-radius:50%;font-size:23px;line-height:1}.header-github span{margin-left:14px}.menu-toggle{display:none}.intro{grid-template-columns:1.15fr 1fr;align-items:center;gap:64px;padding-block:82px 65px;display:grid}.intro h1{letter-spacing:-3.4px;font-size:clamp(44px,4.6vw,67px);font-weight:850;line-height:1.1}.intro h1 em{font-family:var(--sans);color:var(--accent);letter-spacing:-2.8px;font-style:normal;font-weight:850}.intro-description{color:var(--muted);max-width:465px;margin-top:27px;font-size:16px;line-height:1.85}.intro-actions{align-items:center;gap:32px;margin-top:32px;display:flex}.button{border-radius:5px;justify-content:space-between;align-items:center;gap:30px;padding:14px 20px;font-size:13px;font-weight:600;display:inline-flex}.button-primary{background:var(--accent);color:var(--bg)}.button-primary:hover{color:var(--bg);filter:brightness(1.1)}.text-link{font-size:13px}.text-link span{margin-left:12px}.intro-footnote{font:9px var(--mono);letter-spacing:1.2px;color:var(--muted);gap:25px;margin-top:54px;display:flex}.assistant-stage{border:1px solid var(--border);background:radial-gradient(ellipse at 50% 35%, #67ab8214, transparent 65%), var(--surface-alt);border-radius:4px;min-width:0;padding:20px 24px 15px;position:relative}.assistant-label{font:9px var(--mono);letter-spacing:1px;color:var(--text);align-items:center;display:flex}.assistant-label>span:last-child{color:var(--muted);margin-left:auto;font-size:8px}.assistant-stage .ai-assistant__mascot{width:100%}.assistant-stage .ai-blob{width:245px}.assistant-stage .ai-chat{--accent:#6ee7d1;--accent-rgb:110, 231, 209;border-radius:9px;width:100%;min-width:0;margin-top:-48px;box-shadow:0 12px 32px #0002}.assistant-stage .ai-chat__messages{min-height:108px;max-height:230px}.assistant-stage .ai-chat__header{min-height:38px;padding:11px 14px;font-size:10px}.assistant-stage .ai-chat__footer{font-size:9px}.assistant-note{text-align:center;color:var(--muted);margin-top:17px;font-size:10px}.credentials{border-block:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding-block:27px;display:flex}.credentials>p{color:var(--muted);font-size:10px;line-height:1.9}.credentials strong{color:var(--text);font-weight:650}.credentials>span{letter-spacing:-.8px;color:var(--muted);font-size:24px;font-weight:600}.credential-sub{letter-spacing:3px;margin-top:-4px;font-size:7px;display:block}.work-section{padding-block:95px}.section-heading{justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:42px;display:flex}h2{letter-spacing:-1.9px;font-size:clamp(34px,3.2vw,46px);font-weight:650;line-height:1.17}.section-heading .eyebrow{margin-bottom:16px}.section-heading>p{max-width:385px;color:var(--muted);font-size:13px;line-height:1.9}.work-card{border:1px solid var(--border);background:var(--surface);border-radius:3px;grid-template-columns:.9fr 1.1fr;margin-bottom:24px;display:grid;overflow:hidden}.work-copy{padding:39px 35px}.work-copy .eyebrow{margin-bottom:18px;font-size:9px}.work-copy h3{letter-spacing:-1px;margin-bottom:14px;font-size:31px;font-weight:650}.work-description{color:var(--muted);max-width:390px;font-size:13px;line-height:1.85}.tags{flex-wrap:wrap;gap:7px;margin-top:20px;display:flex}.tags span{font:9px var(--mono);border:1px solid var(--border);color:var(--muted);border-radius:4px;padding:5px 8px}.work-links{flex-wrap:wrap;gap:25px;margin-top:27px;font-size:11px;display:flex}.work-links a span{color:var(--accent);margin-left:10px}.work-visual{background:var(--gallery-bg);flex-direction:column;justify-content:center;min-width:0;padding:27px 28px 16px;display:flex}.work-card--2 .work-visual{background:var(--gallery-bg)}.work-visual>a{aspect-ratio:1.9;background:#e9ebee;justify-content:center;align-items:center;display:flex;overflow:hidden}.work-visual img{object-fit:contain;width:100%;height:100%}.image-controls{font:8px var(--mono);color:var(--gallery-text);justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.image-controls>div{flex-wrap:wrap;gap:4px;display:flex}.image-controls button{color:var(--gallery-text);font:8px var(--mono);background:0 0;border:1px solid #0000;border-radius:3px;padding:6px}.image-controls button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--gallery-bar)}.case-study{border-top:1px solid var(--border);grid-column:1/-1}.case-study summary{cursor:pointer;color:var(--muted);justify-content:space-between;padding:15px 35px;font-size:11px;list-style:none;display:flex}.case-study summary::-webkit-details-marker{display:none}.case-study summary span{color:var(--accent);font-size:18px;line-height:1}.case-study[open] summary span{transform:rotate(45deg)}.case-study-grid{grid-template-columns:repeat(3,1fr);gap:30px;padding:8px 35px 30px;display:grid}.case-study-grid h4{margin-bottom:10px;font-size:12px}.case-study-grid p{color:var(--muted);font-size:12px}.more-work-heading{justify-content:space-between;align-items:center;margin:45px 0 20px;display:flex}.more-work-heading h3{font-size:17px;font-weight:650}.more-work-heading>span{font:8px var(--mono);letter-spacing:1px;color:var(--muted)}.more-work{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.more-work article{border:1px solid var(--border);border-radius:7px;flex-direction:column;padding:23px;display:flex}.more-work-title{justify-content:space-between;align-items:start;gap:12px;display:flex}.more-work h4{font-size:14px;font-weight:650}.more-work-title a{color:var(--accent);padding:0 4px}.more-work p{color:var(--muted);flex:1;margin-top:12px;font-size:11px}.more-work .tags span{font-size:8px}.approach-section{background:var(--surface-alt);border-block:1px solid var(--border);padding:76px 0}.expertise-grid{grid-template-columns:repeat(3,1fr);gap:42px;display:grid}.expertise-number{font:11px var(--mono);color:var(--accent)}.expertise-grid h3{letter-spacing:-.4px;margin:19px 0 13px;font-size:19px;font-weight:650}.expertise-grid p{color:var(--muted);font-size:12px;line-height:1.9}.expertise-grid ul{border-top:1px solid var(--border);font:10px var(--mono);color:var(--text);gap:8px;margin:23px 0 0;padding:19px 0 0;list-style:none;display:grid}.expertise-grid li:before{content:"↳";color:var(--accent);margin-right:10px}.site-shell .section{min-height:0;padding:80px 0;display:block}.site-shell .experience__heading,.site-shell .education__heading{max-width:650px;margin-bottom:38px}.site-shell .section h2{color:var(--text);letter-spacing:-1.5px;margin-bottom:18px;font-size:36px;font-weight:650;line-height:1.2}.site-shell .section__content p{color:var(--muted);font-size:13px;line-height:1.85}.site-shell .section__content .section__eyebrow{color:var(--accent);font-size:10px}.site-shell .experience-list,.site-shell .education-list{gap:0;display:grid}.site-shell .experience,.site-shell .education-card{border:0;border-top:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;grid-template-columns:42px 1fr;gap:22px;padding:28px 0;display:grid;transform:none}.site-shell .experience__marker,.site-shell .education-card__marker{color:var(--accent);box-shadow:none;width:auto;height:auto;font:10px var(--mono);background:0 0;border:none;padding-top:4px;display:block}.site-shell .experience__marker span,.site-shell .education-card__marker span{color:var(--accent);box-shadow:none;background:0 0;border:none}.site-shell .experience__header,.site-shell .education-card__header{justify-content:space-between;gap:24px;display:flex}.site-shell .experience__header h3,.site-shell .education-card__header h3{color:var(--text);letter-spacing:-.3px;font-size:19px;font-weight:650}.site-shell .experience__header>span,.site-shell .education-card__header>span{color:var(--muted);font:10px var(--mono);white-space:nowrap;padding-top:5px}.site-shell .experience__meta{margin:4px 0 12px;font-size:10px!important}.site-shell .experience__summary{max-width:780px}.site-shell .experience__highlights,.site-shell .education-card__highlights{color:var(--muted);gap:6px;max-width:880px;margin-top:14px;padding-left:16px;font-size:12px;line-height:1.85;display:grid}.site-shell .experience__highlights li::marker{color:var(--accent)}.site-shell .education-card__highlights li::marker{color:var(--accent)}.site-shell .education{padding-top:0}.site-shell .education-card__grade{color:var(--accent);background:0 0;border:0;gap:12px;margin:16px 0;padding:0;font-size:11px;display:flex}.contact-section{border-top:1px solid var(--border);padding-block:68px}.contact-heading{justify-content:space-between;align-items:center;gap:25px;display:flex}.contact-heading h2{letter-spacing:-2.5px;font-size:clamp(35px,4.3vw,62px)}.contact-heading h2 span{color:var(--accent)}.contact-arrow{border:1px solid var(--accent);color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;width:85px;height:85px;font-size:45px;display:grid}.contact-bottom{justify-content:space-between;align-items:end;gap:25px;margin-top:32px;font-size:12px;display:flex}.contact-bottom p{color:var(--muted)}.contact-bottom a{border-bottom:1px solid var(--border);padding-bottom:5px}.contact-bottom a span{color:var(--accent);margin-left:18px}.site-footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:24px;padding-block:25px;font-size:9px;display:flex}.site-footer>div{gap:20px;display:flex}.skip-link{background:var(--accent);color:var(--bg);z-index:200;padding:10px;position:fixed;top:-100px;left:15px}.skip-link:focus{top:10px}@media (width>=1500px){.intro{padding-block:100px 80px}}@media (width<=1050px){.container,.section__content{width:calc(100% - 64px)}.intro{gap:30px}.intro h1{letter-spacing:-2.5px;font-size:48px}.intro .eyebrow{font-size:9px}.assistant-stage{padding:16px}.assistant-label>span:last-child{display:none}.work-copy{padding:28px}.work-visual{padding:20px}.more-work{grid-template-columns:repeat(2,1fr)}.credentials>span{font-size:20px}.intro-footnote{gap:12px;font-size:8px}.site-footer>span{display:none}}@media (width<=760px){html{scroll-padding-top:100px}.container,.section__content{width:calc(100% - 40px)}.site-header{width:100%;height:76px;padding-inline:20px}.nav-links{display:none}.menu-toggle{border:1px solid var(--border);color:var(--text);background:0 0;border-radius:4px;padding:7px 10px;font-size:11px;display:block}.header-actions{gap:14px}.nav-links.is-open{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;gap:22px;padding:22px;display:flex;position:absolute;top:76px;left:20px;right:20px}.intro{grid-template-columns:1fr;gap:40px;padding-block:48px}.intro h1{font-size:clamp(41px,7.8vw,60px)}.intro-description{max-width:500px;font-size:14px}.intro-footnote{margin-top:30px}.assistant-stage{width:min(460px,100%);margin-inline:auto;padding:20px}.assistant-label>span:last-child{display:block}.assistant-stage .ai-blob{width:230px}.credentials{flex-wrap:wrap;justify-content:space-around;gap:24px;padding-block:22px}.credentials>p:first-child{text-align:center;width:100%}.credentials>p:last-child{display:none}.work-section{padding-block:56px}.section-heading{margin-bottom:27px;display:block}.section-heading>p{margin-top:20px}.work-card{grid-template-columns:1fr}.work-copy{padding:27px}.work-visual{padding:22px}.case-study summary{padding-inline:27px}.case-study-grid{grid-template-columns:1fr;gap:22px;padding-inline:27px}.more-work-heading>span{display:none}.more-work{grid-template-columns:1fr}.more-work article{padding:23px}.expertise-grid{grid-template-columns:1fr;gap:35px}.expertise-grid ul{grid-template-columns:1fr 1fr}.approach-section,.site-shell .section{padding-block:50px}.site-shell .section h2{font-size:30px}.site-shell .experience,.site-shell .education-card{grid-template-columns:22px 1fr;gap:12px}.site-shell .experience__header,.site-shell .education-card__header{display:block}.site-shell .experience__header>span,.site-shell .education-card__header>span{margin-top:10px;display:block}.site-shell .education{padding-top:0}.contact-section{padding-block:45px}.contact-heading h2{letter-spacing:-1.5px;font-size:36px}.contact-arrow{width:54px;height:54px;font-size:29px}.contact-bottom{display:block}.contact-bottom a{overflow-wrap:anywhere;margin-top:23px;font-size:11px;display:inline-block}.contact-bottom a span{margin-left:8px}.site-footer{flex-direction:column;align-items:start;gap:15px}.site-footer>div{gap:24px}.image-controls button{padding:8px}.assistant-stage .ai-chat__composer{margin-inline:10px}.assistant-stage .ai-chat__messages{padding:12px}.assistant-stage .ai-chat__message{font-size:11px}}.particle-canvas{pointer-events:none;z-index:-1;width:100%;height:100%;position:fixed;inset:0}.site-shell{background-image:radial-gradient(ellipse at 80% 12%, rgba(var(--accent-rgb), .08), transparent 40%)}.intro{padding-block:90px 78px}.intro h1{letter-spacing:-3px;line-height:1.08}.intro h1 em{background-image:linear-gradient(transparent 88%, rgba(var(--accent-rgb), .32) 88%);display:inline}.intro .eyebrow{letter-spacing:1.2px}.button-primary{color:#081b24;box-shadow:4px 4px 0 var(--text);border:2px solid #081b24;border-radius:2px;transition:transform .18s,box-shadow .18s}.site-shell--light .button-primary{color:#fff}.button-primary:hover{box-shadow:6px 6px 0 var(--text);transform:translate(-2px,-2px)}.button-primary:active{box-shadow:2px 2px 0 var(--text);transform:translate(2px,2px)}.assistant-stage{border:2px solid var(--accent);box-shadow:9px 9px 0 rgba(var(--accent-rgb), .2);background:radial-gradient(circle at 50% 24%, rgba(var(--accent-rgb), .14), transparent 60%), var(--surface-alt)}.assistant-label{font-weight:700}.assistant-note{border:1px solid var(--border);color:var(--text);border-radius:3px;margin-inline:auto;padding:5px 12px;display:table;transform:rotate(-2deg)}.credentials{background:var(--surface-alt);border:1px solid var(--border);padding-inline:24px}.work-card{border:2px solid var(--border);margin-bottom:32px;box-shadow:6px 6px #0004}.work-copy h3{font-weight:800}.tags span{color:var(--text);background:rgba(var(--accent-rgb), .045)}.work-copy .eyebrow{border:1px solid var(--accent);padding:5px 9px;display:inline-block}.more-work article{background:var(--surface);border:2px solid var(--border);border-radius:3px;transition:border-color .2s,transform .2s}.more-work article:hover{border-color:var(--accent);transform:translateY(-4px)}.image-controls button:first-child{color:var(--yellow);border-color:var(--yellow)}.expertise-grid article{border-top:3px solid var(--accent);padding-top:22px}.contact-arrow{box-shadow:5px 5px 0 rgba(var(--accent-rgb), .25);border-radius:3px}.building-section{border:2px solid var(--accent);box-shadow:8px 8px 0 rgba(var(--accent-rgb), .25);background:var(--surface);margin-top:70px;padding:32px 36px 38px;position:relative}.building-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.building-heading .eyebrow{margin:0}.wip-badge{color:#151b25;background:var(--yellow);font:700 10px var(--mono);border:2px solid #151b25;padding:7px 12px;display:inline-block;transform:rotate(3deg);box-shadow:3px 3px #0005}.building-grid{grid-template-columns:1.25fr 1fr;align-items:center;gap:55px;display:grid}.building-grid h2{font:12px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.building-grid h2 span{color:var(--accent)}.building-grid h3{letter-spacing:-2px;margin:10px 0 17px;font-size:clamp(38px,4vw,56px);font-weight:850;line-height:1.2}.building-grid p{color:var(--muted);font-size:14px;line-height:1.85}.building-grid .button{margin-top:25px}.build-notes{border:2px solid var(--border);background-image:radial-gradient(rgba(var(--accent-rgb), .14) 1px, transparent 1px);background-size:7px 7px;padding:28px;transform:rotate(-1deg)}.build-notes-label{font:10px var(--mono);color:var(--accent)}.build-notes h4{letter-spacing:-1px;margin:12px 0 20px;font-size:29px;line-height:1.15}.build-notes ul{padding-left:18px;font-size:12px;line-height:2}.build-notes li::marker{color:var(--accent)}.build-notes p{border-top:1px solid var(--border);font:10px var(--mono);padding-top:13px}.header-github,.work-links a,.intro .text-link,.contact-bottom>a{background:var(--yellow);color:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-weight:750;transition:transform .18s,box-shadow .18s;display:inline-flex}.header-github:hover,.work-links a:hover,.intro .text-link:hover,.contact-bottom>a:hover{color:var(--ink);box-shadow:5px 5px 0 var(--ink);transform:translate(-2px,-2px)}.work-links a span,.contact-bottom a span{color:inherit;margin-left:0}.section-heading h2:after{content:"";background:var(--yellow);width:64px;height:6px;margin-top:17px;display:block;transform:rotate(-3deg)}.case-study summary{color:var(--text);font-weight:650}.case-study summary span{background:var(--yellow);color:var(--ink);padding:3px 6px}.more-work{align-items:start}.workbench-project{background:var(--surface);border:2px solid var(--border);min-width:0;box-shadow:5px 5px #0003}.workbench-project>summary{cursor:pointer;padding:23px;list-style:none}.workbench-project>summary::-webkit-details-marker{display:none}.workbench-title{font-size:18px;font-weight:750;line-height:1.35;display:block}.workbench-description{color:var(--muted);margin-top:14px;font-size:12px;line-height:1.8;display:block}.workbench-toggle{border-top:1px solid var(--border);font:11px var(--mono);justify-content:space-between;align-items:center;margin-top:25px;padding-top:15px;display:flex}.expand-symbol{background:var(--yellow);color:var(--ink);border:2px solid var(--ink);width:30px;height:30px;box-shadow:2px 2px 0 var(--ink);place-items:center;font-size:22px;display:grid}.when-open,.workbench-project[open] .when-closed{display:none}.workbench-project[open] .when-open{display:inline}.workbench-project[open] .expand-symbol{box-shadow:none;transform:rotate(45deg)}.workbench-project[open]{border-color:var(--accent);grid-column:1/-1}.workbench-project[open]>summary{border-bottom:2px solid var(--border)}.workbench-body{padding:26px}.workbench-body .work-visual{border:1px solid var(--border);max-width:850px;margin:0 auto 25px}.workbench-body .work-visual>a{aspect-ratio:auto}.workbench-body .work-visual img{height:auto;max-height:520px}.more-work .workbench-overview{margin-bottom:25px;font-size:14px}.workbench-sections{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.workbench-sections h4{font-weight:750}.workbench-sections p{font-size:13px}.approach-section{background:repeating-linear-gradient(-45deg, transparent, transparent 14px, rgba(var(--accent-rgb), .025) 14px, rgba(var(--accent-rgb), .025) 15px), var(--surface-alt);border-block:2px solid var(--border)}.expertise-grid{gap:24px}.expertise-grid article{border:2px solid var(--border);background:var(--surface);padding:26px;box-shadow:6px 6px #0003}.expertise-grid article:nth-child(2){border-top:6px solid var(--yellow)}.expertise-grid article:first-child,.expertise-grid article:last-child{border-top:6px solid var(--accent)}.expertise-number{background:var(--yellow);color:var(--ink);padding:7px 10px;font-weight:800;display:inline-block;transform:rotate(-4deg)}.site-shell .section__eyebrow{border:1px solid var(--accent);background:var(--surface);box-shadow:3px 3px 0 rgba(var(--accent-rgb), .25);padding:7px 11px;display:table}.site-shell .experience-list{gap:25px}.site-shell .experience{background:var(--surface);border:2px solid var(--border);border-left:5px solid var(--accent);padding:28px;box-shadow:6px 6px #0003}.site-shell .experience__marker span,.site-shell .education-card__marker span{background:var(--yellow);width:32px;height:32px;color:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);place-items:center;font-weight:800;display:grid}.site-shell .experience__header>span{background:var(--surface-alt);border:1px solid var(--border);align-self:start;padding:8px 10px}.site-shell .education{background:var(--surface-alt);border-block:2px solid var(--border);padding-block:65px}.site-shell .education-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.site-shell .education-card{border:2px solid var(--border);border-top:6px solid var(--accent);background:var(--surface);grid-template-columns:36px minmax(0,1fr);gap:18px;padding:28px;box-shadow:6px 6px #0003}.site-shell .education-card:nth-child(2){border-top-color:var(--yellow)}.site-shell .education-card__header{display:block}.site-shell .education-card__header>span{margin-top:12px;display:block}.site-shell .education-card__grade{background:var(--yellow);color:var(--ink);border:2px solid var(--ink);flex-wrap:wrap;gap:8px;padding:8px 10px;display:inline-flex;transform:rotate(-2deg)}.site-shell .education-card__grade span{color:var(--ink)}.contact-section{border:2px solid var(--accent);background:radial-gradient(rgba(var(--accent-rgb), .1) 1px, transparent 1px), var(--surface);box-shadow:8px 8px 0 rgba(var(--accent-rgb), .25);background-size:8px 8px;margin-block:70px;padding:40px}.contact-arrow{background:var(--yellow);color:var(--ink);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);transform:rotate(4deg)}.contact-arrow:hover{background:var(--accent);color:var(--ink)}.contact-heading h2{font-size:clamp(32px,3.5vw,50px)}.contact-bottom{flex-wrap:wrap;align-items:center}.contact-bottom>a{overflow-wrap:anywhere;min-width:0}@media (width<=760px){.workbench-sections,.site-shell .education-list{grid-template-columns:1fr}.site-shell .experience,.site-shell .education-card{grid-template-columns:minmax(0,1fr);gap:18px;padding:22px}.site-shell .experience__header>span{white-space:normal;display:table}.site-shell .education{padding-block:45px}.contact-section{margin-block:45px;padding:24px}.contact-heading h2{font-size:30px}.contact-bottom>a{padding-inline:10px;font-size:11px;display:flex}.workbench-body{padding:20px}.header-github{padding:7px 9px;font-size:11px}.header-github span{margin-left:0}}@media (width<=1050px){.nav-links{gap:18px}.header-actions{gap:15px}.building-grid{gap:28px}}@media (width<=760px){.site-shell{padding-top:76px}.intro{padding-block:45px}.intro h1{letter-spacing:-2px;font-size:clamp(38px,8vw,60px)}.building-section{margin-top:45px;padding:24px}.building-heading{flex-wrap:wrap}.building-grid{grid-template-columns:1fr;gap:30px}.build-notes{padding:22px;transform:none}.wip-badge{font-size:9px}.intro-actions{gap:20px}.button{gap:15px}.assistant-stage{box-shadow:5px 5px 0 rgba(var(--accent-rgb), .2)}}.site-shell{--header-height:98px}.section-band{min-height:calc(100svh - var(--header-height));border-bottom:1px solid var(--border);align-items:center;padding-block:clamp(48px,7vh,88px);display:flex;position:relative}.section-band:nth-child(2n){background-color:var(--surface-alt);background-image:radial-gradient(rgba(var(--accent-rgb), .16) .9px, transparent 1px);background-size:8px 8px}.section-band>section{flex:1;min-width:0}.section-band>.container{flex:none}.section-band .intro{padding-block:0}.intro .credentials{grid-column:1/-1;width:100%;margin-top:12px}.section-band .building-section{margin-block:0}.section-band .work-section{padding-block:0}.section-band .approach-section,.site-shell .section-band .section{background:0 0;border:0;padding-block:0}.section-band .contact-section{background:var(--surface);margin-block:0}.site-shell .education-card:nth-child(2),.expertise-grid article:nth-child(2){border-top-color:var(--accent)}.site-shell .experience:first-child{border-left-color:var(--accent)}.more-work{grid-template-columns:repeat(2,minmax(0,1fr))}.site-shell .assistant-stage{box-shadow:none;isolation:isolate;background:0 0;border:0;border-radius:0;padding:0}.assistant-stage .assistant-label{justify-content:center;gap:8px}.assistant-stage .assistant-label>span:last-child{display:none}.assistant-stage .assistant-label .status-dot{background:var(--yellow);margin:0}.assistant-stage .ai-blob__glow,.assistant-stage .ai-blob:before,.assistant-stage .ai-blob__body--back,.assistant-stage .ai-blob__shine,.assistant-stage .ai-blob__shimmer{display:none}.assistant-stage .ai-blob__svg{filter:drop-shadow(5px 7px #051725a6)}.assistant-stage .ai-blob__body:not(.ai-blob__body--back){stroke:#102b37;stroke-width:4px;stroke-linejoin:round;paint-order:stroke fill}.assistant-stage .ai-blob__sclera{stroke:#102b37;stroke-width:2.5px}.assistant-stage .assistant-note{background:var(--yellow);color:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);padding:7px 12px}@media (width<=760px){.site-shell{--header-height:76px}.section-band{padding-block:44px}.more-work{grid-template-columns:1fr}}html{scroll-padding-top:98px}.intro-actions{flex-wrap:wrap}.section-band:nth-child(2n) .section-heading,.section-band:nth-child(2n) .education__heading{background:var(--surface);border:2px solid var(--border);box-shadow:5px 5px 0 rgba(var(--accent-rgb), .16);padding:28px}.site-shell .section-band:nth-child(2n) .education__heading{max-width:780px}.assistant-stage .ai-blob__comic-aura{opacity:.65}.assistant-stage .ai-blob__party-glow,.assistant-stage .ai-blob__party-orbs{display:none!important}.assistant-stage .ai-blob--party .ai-blob__comic-aura{opacity:.95;animation:bloop-comic-aura var(--party-speed,3.2s) linear infinite}@keyframes bloop-comic-aura{to{filter:hue-rotate(360deg)}}@media (width<=760px){html{scroll-padding-top:76px}.section-band:nth-child(2n) .section-heading,.section-band:nth-child(2n) .education__heading{padding:22px}}@media (prefers-reduced-motion:reduce){.assistant-stage .ai-blob--party .ai-blob__comic-aura{animation:none}}.site-shell .assistant-stage .ai-chat{background:var(--surface);border:3px solid var(--text);box-shadow:7px 7px 0 var(--accent);border-radius:0;overflow:visible}.site-shell .assistant-stage .ai-chat__header{background:var(--yellow);color:var(--ink);border-bottom:3px solid var(--text);font:800 12px var(--mono);border-radius:0;padding:12px 16px}.site-shell .assistant-stage .ai-chat__header-title,.site-shell .assistant-stage .ai-chat__header-actions,.site-shell .assistant-stage .ai-chat__status-label{color:var(--ink)}.site-shell .assistant-stage .ai-chat__status-dot{border:2px solid var(--ink);background:var(--ink);border-radius:0;width:11px;height:11px;animation:none;box-shadow:2px 2px #101b2a40}.site-shell .assistant-stage .ai-chat--thinking .ai-chat__status-dot,.site-shell .assistant-stage .ai-chat--busy .ai-chat__status-dot{background:#6350c7}.site-shell .assistant-stage .ai-chat--error .ai-chat__status-dot{background:#b82e45}.site-shell .assistant-stage .ai-chat--speaking .ai-chat__status-dot{background:#16815b}.site-shell .assistant-stage .ai-chat__messages{max-height:300px;padding:16px}.site-shell .assistant-stage .ai-chat__message{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface-alt);color:var(--text);border-radius:0;padding:12px;font-size:13px;line-height:1.65}.site-shell .assistant-stage .ai-chat__message--user{border-left-color:var(--yellow)}.site-shell .ai-chat__message-prefix{color:var(--text);font-weight:800}.site-shell .assistant-stage .ai-chat__composer{background:var(--surface-alt);border:2px solid var(--border);border-radius:0}.site-shell .assistant-stage .ai-chat__composer input{color:var(--text);min-width:0}.site-shell .assistant-stage .ai-chat__composer button{background:var(--yellow);color:var(--ink);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:0}.site-shell .assistant-stage .ai-chat__composer button:disabled{opacity:.5;cursor:not-allowed}.site-shell .ai-chat__markdown{overflow-wrap:anywhere;min-width:0}.site-shell .ai-chat__markdown a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.site-shell .ai-chat__markdown pre{max-width:100%;overflow-x:auto}.site-shell .ai-chat__markdown table{max-width:100%;display:block;overflow-x:auto}.contact-socials{margin-top:28px}.contact-socials a{background:var(--yellow);color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);align-items:center;gap:18px;padding:12px 16px;font-weight:750;display:inline-flex}.contact-socials a:hover{box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}.contact-top{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:60px;display:grid}.contact-top h2{max-width:620px}.contact-intro{max-width:520px;color:var(--muted);margin-top:24px;font-size:14px;line-height:1.85}.contact-actions{flex-direction:column;gap:12px;min-width:190px;display:flex}.contact-action{border:2px solid var(--border);background:var(--surface-alt);color:var(--text);box-shadow:3px 3px 0 var(--border);justify-content:space-between;align-items:center;gap:24px;padding:13px 15px;font-weight:750;display:flex}.contact-action--primary{background:var(--yellow);color:var(--ink);border-color:var(--ink);box-shadow:4px 4px 0 var(--ink)}.contact-action:hover{color:var(--ink);background:var(--accent);border-color:var(--ink)}.contact-address{border-top:2px solid var(--border);font:11px var(--mono);align-items:baseline;gap:20px;margin-top:48px;padding-top:18px;display:flex}.contact-address span{color:var(--accent)}.contact-address a{color:var(--text)}.contact-address a:hover{color:var(--yellow)}@media (width>=761px) and (width<=1150px){.site-header{gap:15px;padding-inline:22px}.nav-links{gap:13px;font-size:12px}.header-actions{gap:12px}}.site-shell .status-dot{border-radius:0}.site-shell .theme-toggle{border:2px solid var(--border);border-radius:0}.site-shell .assistant-stage .ai-chat__markdown :is(h1,h2,h3,h4,th,strong){color:var(--text)}.site-shell .assistant-stage .ai-chat__markdown h2{letter-spacing:0;font-size:16px}.site-shell .assistant-stage .ai-chat__markdown blockquote{color:var(--muted);border-left:3px solid var(--accent)}.site-shell .assistant-stage .ai-chat__footer{color:var(--muted)}@media (width<=760px){.contact-top{grid-template-columns:1fr;align-items:start;gap:28px}.contact-actions{min-width:0}.contact-address{margin-top:32px;display:block}.contact-address a{overflow-wrap:anywhere;margin-top:9px;display:block}}@media (width>=761px) and (width<=1000px){.header-github{display:none}}#home{padding-block:clamp(24px,4svh,44px)}#home .intro{gap:24px 40px}#home .intro h1{letter-spacing:-2px;font-size:clamp(38px,3.8vw,58px);line-height:1.08}#home .intro h1 em{letter-spacing:inherit}#home .intro-description{margin-top:22px;font-size:15px;line-height:1.7}#home .intro-actions{gap:18px;margin-top:24px}#home .intro-footnote{margin-top:26px}#home .credentials{margin-top:0;padding-block:16px}#home .assistant-note{max-width:100%;font-size:10px}.gallery-caption{font:700 10px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text);justify-content:space-between;gap:16px;padding-bottom:12px;display:flex}.work-visual{background:var(--surface-alt);border-left:2px solid var(--border)}.work-visual>a{border:2px solid var(--text);box-shadow:5px 5px 0 rgba(var(--accent-rgb), .3)}.image-controls{color:var(--muted);flex-wrap:wrap;margin-top:18px}.image-controls button{border:1px solid var(--border);color:var(--text);border-radius:0;min-width:36px;min-height:36px;font-size:10px}.image-controls button[aria-pressed=true]{background:var(--accent);color:var(--ink);border-color:var(--accent)}.project-details{padding:12px 28px 28px}.decision-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.decision-card{border:2px solid var(--border);background:var(--surface-alt);border-top:4px solid var(--accent);min-width:0;padding:22px}.decision-card:nth-child(2){border-top-color:var(--yellow)}.decision-number{font:800 24px var(--mono);color:var(--accent);margin-bottom:20px;display:inline-block}.decision-card h4{margin-bottom:12px;font-size:15px}.decision-card p,.more-work .decision-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.8}.build-evidence{border-top:2px solid var(--border);grid-template-columns:180px minmax(0,1fr);gap:28px;margin-top:24px;padding-top:22px;display:grid}.build-evidence h4{font-size:15px;line-height:1.5}.build-evidence ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:0;padding:0;list-style:none;display:grid}.build-evidence li{border-left:3px solid var(--accent);color:var(--muted);padding-left:13px;font-size:12px;line-height:1.7}.workbench-body .project-details{padding-inline:0}.case-study summary{align-items:center;min-height:56px;font-size:13px}.contact-address{grid-template-columns:auto minmax(0,1fr);gap:14px 24px;display:grid}.contact-address a{overflow-wrap:anywhere}@media (width>=761px){#home .assistant-stage .ai-blob{width:clamp(150px,25svh,215px)}#home .assistant-stage .ai-chat__messages{min-height:80px;max-height:140px}}@media (width<=900px){.decision-grid{grid-template-columns:1fr}.decision-card{grid-template-columns:44px minmax(0,1fr);column-gap:14px;display:grid}.decision-number{grid-row:1/3;margin:0}.decision-card p{grid-column:2}.build-evidence{grid-template-columns:1fr;gap:16px}}@media (width<=760px){#home{padding-block:0 32px}#home .intro{gap:32px}#home .intro-copy{min-height:calc(100svh - var(--header-height));flex-direction:column;justify-content:center;padding-block:28px;display:flex}#home .intro h1{font-size:clamp(36px,8.5vw,54px)}#home .intro-description{font-size:14px}#home .intro-actions{gap:16px}#home .credentials{gap:18px}.work-visual{border-left:0;border-top:2px solid var(--border)}.project-details{padding:8px 18px 22px}.build-evidence ul{grid-template-columns:1fr}.contact-address{font-size:10px}}.site-shell .particle-canvas{width:100%;height:100lvh;inset:0 auto auto 0}.work-visual>a,.workbench-body .work-visual>a{aspect-ratio:auto;background:var(--surface-alt);flex-shrink:0;height:clamp(220px,32vw,420px)}.work-visual img,.workbench-body .work-visual img{object-fit:contain;object-position:center;width:100%;height:100%;max-height:none;display:block}.site-shell .theme-toggle{flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.site-shell .theme-toggle>:is(span,svg){margin:0;line-height:1;display:block}.project-technologies{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.project-technologies>span[hidden]{display:none}.project-technologies>span{white-space:normal;overflow-wrap:anywhere;max-width:100%}.project-technologies__toggle{border:1px solid var(--accent);background:var(--surface-alt);min-height:32px;color:var(--accent);font:700 10px var(--mono);white-space:nowrap;cursor:pointer;border-radius:2px;justify-content:center;align-items:center;padding:6px 10px;line-height:1.4;display:inline-flex}.project-technologies__toggle:hover{background:var(--accent);color:var(--ink)}.project-technologies__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (pointer:coarse){.project-technologies__toggle{min-height:44px}}
