@font-face{font-family:Baloo\ 2;src:url(/fonts/Baloo2.woff2) format("woff2");font-weight:600 800;font-display:swap}:where(*){touch-action:pan-x pan-y}:root{--koi-bg:#FBF8F3;--koi-panel:#FFFFFF;--koi-panel-strong:#FFFFFF;--koi-panel-soft:#F3EEE6;--koi-ink:#23383F;--koi-muted:#6B8288;--koi-faint:#8FA3A8;--koi-line:rgba(35,56,63,0.18);--koi-thick:0 3px 0 rgba(35,56,63,0.14);--koi-thick-accent:0 3px 0 rgba(0,0,0,0.16);--koi-accent:var(--koi-accent-user,#3FB3AC);--koi-accent-bright:var(--koi-accent-user-bright,#65CAC4);--koi-blue:var(--koi-accent);--koi-blue-bright:var(--koi-accent-bright);--koi-blue-soft:color-mix(in srgb,var(--koi-accent-bright) 22%,transparent);--koi-brand-navy:color-mix(in srgb,var(--koi-accent) 72%,#23383F);--koi-on-ground:var(--koi-accent);--koi-attention:#E9A93A;--koi-green:#7CBF45;--koi-lime:#A6D65C;--koi-failure:#E8656B;--koi-pink:#F48FB1;--koi-sky:#8FC9F2;--koi-lavender:#B39DDB;--koi-peach:#F4A261;--koi-mono:"Baloo 2",system-ui,sans-serif;--koi-sans:"Baloo 2",system-ui,sans-serif;--koi-display:"Baloo 2",system-ui,sans-serif;--koi-chrome-bottom:0px;--koi-surface-w:760px;--koi-control-h:42px;--koi-chip-h:32px;--koi-icon-btn:36px;--koi-composer-h:58px;--koi-composer-r:29px;--koi-composer-btn:44px;--koi-face:30px;--koi-side-w:264px;--koi-side-row:58px;--koi-dock-w:336px;--koi-app-icon:58px;--koi-app-cell:88px;--koi-surface-title:22px;--koi-widget-head:40px;--koi-widget-pad:10px 14px 12px;--koi-thread-max:880px;--koi-density:1;--koi-touch:50px;--koi-row:60px;--koi-gutter:20px;--koi-panel-radius:22px;--koi-button-radius:16px;--koi-glass-tint:var(--koi-panel);--koi-glass-sheen:none;--koi-glass-spec:none;--koi-glass-rim:rgba(255,255,255,0.9);--koi-glass-drop:0 8px 24px rgba(35,56,63,0.10),0 1.5px 4px rgba(35,56,63,0.06);--koi-glass-blur:0px;--koi-panel-rim:rgba(255,255,255,0.8);--koi-lens:none;--koi-sticker:0 0 0 2.5px var(--koi-edge-decorative,#FFFFFF),0 4px 12px rgba(35,56,63,0.14);--koi-grab:180ms cubic-bezier(0.3,0.9,0.4,1);--koi-settle:320ms cubic-bezier(0.3,0.85,0.35,1.02);--koi-arrive:420ms cubic-bezier(0.25,0.9,0.3,1.01);color-scheme:light}:root[data-theme=dark]{--koi-bg:#000000;--koi-panel:#121212;--koi-panel-strong:#181818;--koi-panel-soft:#1E1E1E;--koi-ink:#F2F2F2;--koi-muted:#A3A3A3;--koi-faint:#7A7A7A;--koi-line:rgba(255,255,255,0.16);--koi-thick:0 3px 0 rgba(0,0,0,0.9);--koi-thick-accent:0 3px 0 rgba(0,0,0,0.5);--koi-glass-rim:rgba(255,255,255,0.12);--koi-glass-drop:0 10px 28px rgba(0,0,0,0.6);--koi-panel-rim:rgba(255,255,255,0.05);--koi-sticker:0 0 0 2.5px var(--koi-edge-decorative,#1E1E1E),0 4px 12px rgba(0,0,0,0.6);--koi-accent:var(--koi-accent-user-dark,#65CAC4);--koi-accent-bright:var(--koi-accent-user-dark-bright,#8FE0DB);--koi-blue-soft:color-mix(in srgb,var(--koi-accent-bright) 18%,transparent);--koi-brand-navy:var(--koi-accent);--koi-on-ground:var(--koi-ink);--koi-attention:#F7C948;--koi-green:#A6D65C;--koi-lime:#C5E88A;--koi-failure:#F47C7C;--koi-glass-tint:var(--koi-panel);--koi-glass-sheen:none;--koi-glass-spec:none;color-scheme:dark}:root[data-theme=gray],:root[data-theme=sea]{--koi-bg:#10202A;--koi-panel:#172B37;--koi-panel-strong:#1C3340;--koi-panel-soft:#1F3846;--koi-ink:#EEF5F5;--koi-muted:#98B2B8;--koi-faint:#7F979D;--koi-line:rgba(238,245,245,0.16);--koi-thick:0 3px 0 rgba(0,0,0,0.34);--koi-thick-accent:0 3px 0 rgba(0,0,0,0.3);--koi-glass-rim:rgba(255,255,255,0.16);--koi-glass-drop:0 10px 28px rgba(0,0,0,0.38);--koi-panel-rim:rgba(255,255,255,0.06);--koi-sticker:0 0 0 2.5px var(--koi-edge-decorative,#1C3340),0 4px 12px rgba(0,0,0,0.4)}:root[data-theme=custom][data-dark="1"],:root[data-theme=gray],:root[data-theme=sea]{--koi-accent:var(--koi-accent-user-dark,#65CAC4);--koi-accent-bright:var(--koi-accent-user-dark-bright,#8FE0DB);--koi-blue-soft:color-mix(in srgb,var(--koi-accent-bright) 18%,transparent);--koi-brand-navy:var(--koi-accent);--koi-on-ground:var(--koi-ink);--koi-attention:#F7C948;--koi-green:#A6D65C;--koi-lime:#C5E88A;--koi-failure:#F47C7C;--koi-glass-tint:var(--koi-panel);--koi-glass-sheen:none;--koi-glass-spec:none;color-scheme:dark}@media (prefers-color-scheme:dark){:root[data-theme=system]{--koi-bg:#000000;--koi-panel:#121212;--koi-panel-strong:#181818;--koi-panel-soft:#1E1E1E;--koi-ink:#F2F2F2;--koi-muted:#A3A3A3;--koi-faint:#7A7A7A;--koi-line:rgba(255,255,255,0.16);--koi-thick:0 3px 0 rgba(0,0,0,0.9);--koi-thick-accent:0 3px 0 rgba(0,0,0,0.5);--koi-glass-rim:rgba(255,255,255,0.12);--koi-glass-drop:0 10px 28px rgba(0,0,0,0.6);--koi-panel-rim:rgba(255,255,255,0.05);--koi-sticker:0 0 0 2.5px var(--koi-edge-decorative,#1E1E1E),0 4px 12px rgba(0,0,0,0.6);--koi-accent:var(--koi-accent-user-dark,#65CAC4);--koi-accent-bright:var(--koi-accent-user-dark-bright,#8FE0DB);--koi-blue-soft:color-mix(in srgb,var(--koi-accent-bright) 18%,transparent);--koi-brand-navy:var(--koi-accent);--koi-on-ground:var(--koi-ink);--koi-attention:#F7C948;--koi-green:#A6D65C;--koi-lime:#C5E88A;--koi-failure:#F47C7C;--koi-glass-tint:var(--koi-panel);--koi-glass-sheen:none;--koi-glass-spec:none;color-scheme:dark}}.koi-display{font:800 32px/1.15 var(--koi-display);letter-spacing:-.01em}.koi-title{font:700 19px/1.3 var(--koi-sans)}.koi-body{font:600 18px/1.45 var(--koi-sans)}.koi-action{font:700 18px/1.3 var(--koi-sans)}.koi-label{font:600 17px/1.35 var(--koi-sans)}.koi-caption{font:600 16px/1.4 var(--koi-sans)}.koi-micro{font:700 16px/1.3 var(--koi-sans);letter-spacing:.02em}.koi-mono{font-family:var(--koi-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.koi-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (hover:hover) and (min-width:1100px){:root{--koi-surface-w:1080px;--koi-control-h:36px;--koi-chip-h:26px;--koi-touch:36px;--koi-row:46px;--koi-icon-btn:30px;--koi-composer-h:46px;--koi-composer-r:23px;--koi-composer-btn:36px;--koi-face:24px;--koi-side-w:236px;--koi-side-row:52px;--koi-dock-w:316px;--koi-app-icon:46px;--koi-app-cell:74px;--koi-surface-title:18px;--koi-widget-head:34px;--koi-widget-pad:8px 12px 10px;--koi-thread-max:820px;--koi-density:1}.koi-display{font-size:26px}.koi-title{font-size:17.5px}.koi-body{font-size:18px}.koi-action{font-size:17px}.koi-caption,.koi-label,.koi-micro{font-size:16px}}@media (hover:hover) and (min-width:1500px){:root{--koi-surface-w:1180px;--koi-thread-max:880px}}.koi-dense{zoom:var(--koi-density)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}#root,body,html{height:100%;margin:0;overscroll-behavior:none}body{background:var(--koi-bg);color:var(--koi-ink);font-family:var(--koi-sans),system-ui,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;-webkit-user-select:text;user-select:text}button{-webkit-user-select:text;user-select:text;border:none;padding:0;border-radius:10px;cursor:pointer}button,input,textarea{font-family:inherit;background:none;color:inherit}input,textarea{border:none;outline:none}::-webkit-scrollbar{display:none}.koi-composer-field::placeholder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:koi-breathe-soft 3.4s ease-in-out infinite}@keyframes koi-breathe-soft{0%,to{opacity:.4}50%{opacity:.95}}.koi-breathe-soft{animation:koi-breathe-soft 3.4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.koi-breathe-soft,.koi-composer-field::placeholder{animation:none}}button{transition:transform var(--koi-settle),opacity var(--koi-grab),background var(--koi-grab),color var(--koi-grab),box-shadow var(--koi-settle),filter var(--koi-settle)}button:not(:disabled):active{transform:var(--koi-feedback-transform,scale(.96))}@media (hover:hover){button:not(:disabled):hover{transform:var(--koi-feedback-transform,translateY(-1px) scale(1.02))}button:not(:disabled):hover:active{transform:var(--koi-feedback-transform,scale(.96))}}button:disabled{cursor:default}[role=button]:focus-visible,[tabindex]:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid color-mix(in srgb,var(--koi-blue-bright) 70%,transparent);outline-offset:2px}input:focus,textarea:focus{outline:none}a,input,select,textarea{transition:box-shadow var(--koi-settle),background var(--koi-grab),color var(--koi-grab),opacity var(--koi-grab),border-color var(--koi-grab)}.koi-chip,.koi-composer-field,.koi-field-pill{transition:box-shadow var(--koi-settle),background var(--koi-grab),color var(--koi-grab),transform var(--koi-settle)}input:focus-visible:not(.koi-field-pill input),textarea:focus-visible:not(.koi-composer-field){box-shadow:0 0 0 2px color-mix(in srgb,var(--koi-blue-bright) 55%,transparent);border-radius:8px}@property --koi-ring-angle{syntax:"<angle>";initial-value:0deg;inherits:false}.koi-shine-text{background:linear-gradient(110deg,var(--koi-ink) 36%,var(--koi-ink) 46%,var(--koi-blue-bright) 50%,var(--koi-ink) 54%,var(--koi-ink) 64%);background-size:250% 100%;background-position:120% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:koi-shine-sweep 14s ease-in-out infinite}@keyframes koi-shine-sweep{0%{background-position:120% 0}80%{background-position:-70% 0}to{background-position:-70% 0}}@media (prefers-reduced-motion:reduce){.koi-shine-text{animation:none}}.koi-field-pill{position:relative}.koi-field-pill:after{content:"";position:absolute;inset:-2px;border-radius:inherit;box-shadow:0 0 0 2.5px var(--koi-blue);opacity:0;pointer-events:none;transition:opacity var(--koi-grab)}.koi-field-pill:focus-within:after{opacity:1}.koi-composer-field{will-change:transform}.koi-tile{--koi-lens:none}@keyframes koi-ring-spin{to{--koi-ring-angle:360deg}}a{transition:color var(--koi-grab),opacity var(--koi-grab)}@media (hover:hover){a:hover{opacity:.8}}input::placeholder,textarea::placeholder{transition:opacity var(--koi-grab)}input:focus::placeholder,textarea:focus::placeholder{opacity:.5}.koi-bubble{transition:transform var(--koi-settle),background var(--koi-grab),box-shadow var(--koi-settle)}@media (hover:hover){.koi-bubble:hover{transform:var(--koi-feedback-transform,translateY(-1px) scale(1.008))}}.koi-bubble:active{transform:var(--koi-feedback-transform,scale(.995))}.koi-press{transition:opacity var(--koi-grab),transform var(--koi-settle)}.koi-press:active{opacity:.62;transform:var(--koi-feedback-transform,scale(.94))}.koi-row-btn{transition:background var(--koi-grab),transform var(--koi-grab);border-radius:14px}.koi-chip,[role=button]:not(button):not(.koi-tile),[role=option],[role=switch],[role=tab],label.koi-press{border-radius:12px;transition:background var(--koi-grab),color var(--koi-grab),opacity var(--koi-grab),box-shadow var(--koi-settle),transform var(--koi-settle),border-color var(--koi-grab)}.koi-row-btn:active{background:var(--koi-panel);transform:var(--koi-feedback-transform,scale(.985))}@media (hover:hover){button.koi-press:hover{opacity:1;transform:var(--koi-feedback-transform,translateY(-1px) scale(1.06))}button.koi-press:hover:active{transform:var(--koi-feedback-transform,scale(.94))}.koi-row-btn:hover,button.koi-row-btn:hover{background:var(--koi-panel)}[role=button]:not(button):not(.koi-tile):hover,[role=option]:hover{background:var(--koi-panel-soft)}.koi-fade:hover{opacity:1}}.koi-tile{content-visibility:auto;contain-intrinsic-size:auto 300px}.koi-app-add{opacity:0;transition:opacity .14s ease,transform var(--koi-settle)}.koi-app-slot:focus-within .koi-app-add,.koi-app-slot:hover .koi-app-add{opacity:1}.koi-app-key{opacity:0;transition:opacity .14s ease}.koi-app-slot:hover .koi-app-key{opacity:1}.koi-app{transition:transform var(--koi-settle)}.koi-app-face{transition:transform var(--koi-settle),filter var(--koi-settle),box-shadow var(--koi-settle)}.koi-app-glyph{display:flex;transition:transform var(--koi-settle)}@media (hover:hover){.koi-app:hover .koi-app-face{transform:var(--koi-feedback-transform,translateY(-3px) scale(1.08));filter:saturate(1.18) brightness(1.1)}.koi-app:hover .koi-app-glyph{transform:var(--koi-feedback-transform,scale(1.08) rotate(-5deg))}}.koi-app:active .koi-app-face{transform:var(--koi-feedback-transform,scale(.9));transition-duration:90ms}.koi-map-host{position:absolute;inset:0}.work-graph-canvas{width:100%;height:100%;display:block;touch-action:none}.koi-tile{transition:transform var(--koi-settle);cursor:pointer;user-select:text;-webkit-user-select:text}@media (hover:hover){.koi-tile:hover{transform:var(--koi-feedback-transform,translateY(-4px) scale(1.015))}}.koi-tile:active{transform:var(--koi-feedback-transform,scale(.985));transition-duration:90ms}@media (prefers-reduced-motion:reduce){.koi-app,.koi-app-face,.koi-app-glyph,.koi-bubble,.koi-press,.koi-tile,button{transition:none}.koi-app:active .koi-app-face,.koi-app:hover .koi-app-face,.koi-app:hover .koi-app-glyph,.koi-bubble:active,.koi-bubble:hover,.koi-press:active,.koi-press:hover,.koi-tile:active,.koi-tile:hover,button:not(:disabled):active,button:not(:disabled):hover{transform:none;filter:none}}.koi-fade{opacity:.45;transition:opacity var(--koi-grab)}.koi-fade:focus-visible,.koi-fade:hover{opacity:1}@keyframes koi-breathe{0%,to{opacity:.3}50%{opacity:1}}.koi-breathe{animation:koi-breathe 2.6s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.koi-breathe{animation:none}}.koi-token{animation:koi-token-in .48s ease-out backwards}@keyframes koi-token-in{0%{opacity:0;filter:blur(3px)}60%{filter:blur(.6px)}to{opacity:1;filter:blur(0)}}@media (prefers-reduced-motion:reduce){.koi-token{animation:none}}@keyframes koi-spin{to{transform:rotate(1turn)}}@keyframes koi-panel-in{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes koi-pop-in{0%{transform:scale(.92) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes koi-pop-out{0%{transform:scale(1);opacity:1}to{transform:scale(.92) translateY(8px);opacity:0}}@keyframes koi-fan-in{0%{transform:translateY(16px) scaleY(.62) scaleX(.97);opacity:0}60%{opacity:1}to{transform:translateY(0) scale(1);opacity:1}}@keyframes koi-fan-out{0%{transform:translateY(0) scale(1);opacity:1}40%{opacity:1}to{transform:translateY(14px) scaleY(.66) scaleX(.97);opacity:0}}@keyframes koi-turn-in{0%{transform:translateY(14px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes koi-swap-in{0%{transform:scale(.55);opacity:0}to{transform:scale(1);opacity:1}}@keyframes koi-call-in{0%{transform:translateY(26px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes koi-call-min{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-28px) scale(.96);opacity:0}}@keyframes koi-fade-in{0%{opacity:0}to{opacity:1}}@keyframes koi-fade-out{0%{opacity:1}to{opacity:0}}@keyframes koi-sheet-out{0%{transform:translateY(0)}to{transform:translateY(100%)}}.koi-arrive{animation:koi-note-in .24s cubic-bezier(.3,.85,.35,1.02) backwards}.koi-typing{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 12px;border-radius:14px;background:var(--koi-surface,rgba(35,56,63,.06))}.koi-typing-dot{width:7px;height:7px;border-radius:50%;background:var(--koi-muted);opacity:.55;animation:koi-typing-jiggle 1.1s ease-in-out infinite}.koi-typing-dot:nth-child(2){animation-delay:.16s}.koi-typing-dot:nth-child(3){animation-delay:.32s}@keyframes koi-typing-jiggle{0%,60%,to{transform:translateY(0) scale(1);opacity:.45}30%{transform:translateY(-5px) scale(1.12);opacity:1}}.koi-live-dot{display:inline-block;width:8px;height:8px;margin-left:8px;border-radius:50%;background:var(--koi-accent-bright,var(--koi-accent));box-shadow:0 0 0 0 var(--koi-accent-bright,var(--koi-accent));animation:koi-live-breathe 2.4s ease-in-out infinite;vertical-align:middle;flex:none}@keyframes koi-live-breathe{0%,to{opacity:.55;box-shadow:0 0 0 0 rgba(0,0,0,0)}50%{opacity:1;box-shadow:0 0 0 4px color-mix(in srgb,var(--koi-accent) 18%,transparent)}}.koi-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){.koi-typing-dot{animation:koi-typing-fade 1.2s ease-in-out infinite}@keyframes koi-typing-fade{0%,to{opacity:.35}50%{opacity:1}}}.koi-swap{animation:koi-swap-in .2s cubic-bezier(.3,.85,.35,1.08) backwards}.koi-turn{content-visibility:auto;contain-intrinsic-size:auto 120px;padding:8px 10px 14px;margin:-8px -10px -14px}.koi-chiprow{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent)}.koi-chiprow::-webkit-scrollbar{display:none}.koi-chiprow>*{flex-shrink:0}.koi-longrow{content-visibility:auto;contain-intrinsic-size:auto 44px}html.koi-theme-fade,html.koi-theme-fade *{transition:background .26s ease,background-color .26s ease,color .26s ease,border-color .26s ease,box-shadow .26s ease,fill .26s ease,stroke .26s ease!important}@keyframes koi-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes koi-note-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes explainers-spin{to{transform:rotate(1turn)}}@keyframes explainers-marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes xpl-shotline{to{transform:scaleX(var(--xpl-to,1))}}@keyframes explainers-in-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes explainers-out-up{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes explainers-in-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes explainers-out-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes explainers-sheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes explainers-fade{0%{opacity:0}to{opacity:1}}@keyframes explainers-pop{0%{transform:scale(1.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes explainers-like{0%{transform:scale(1)}40%{transform:scale(1.3)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){[style*=explainers-]{animation:none!important}}@keyframes cockpit-spin{to{transform:rotate(1turn)}}@keyframes koi-eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.koi-eq{animation:koi-eq .9s ease-in-out infinite;transform-origin:bottom}@media (prefers-reduced-motion:reduce){.koi-eq{animation:none}}@keyframes koi-nav-push{0%{transform:translateX(30px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes koi-nav-pop{0%{transform:translateX(-30px);opacity:0}to{transform:translateX(0);opacity:1}}@media (prefers-reduced-motion:reduce){.koi-nav-pop,.koi-nav-push{animation:none!important}}.koi-si .koi-sip{transform-box:view-box;animation:none;animation-duration:var(--dur,.7s);animation-delay:var(--delay,0s);animation-timing-function:ease-in-out;animation-iteration-count:var(--it,infinite)}.koi-si .koi-sip[data-m=draw]{--n:koi-sip-draw;--it:1;stroke-dasharray:1}.koi-si .koi-sip[data-m=turn]{--n:koi-sip-turn;animation-timing-function:linear}.koi-si .koi-sip[data-m=swing]{--n:koi-sip-swing}.koi-si .koi-sip[data-m=nudge]{--n:koi-sip-nudge}.koi-si .koi-sip[data-m=bob]{--n:koi-sip-bob}.koi-si .koi-sip[data-m=grow]{--n:koi-sip-grow}.koi-si .koi-sip[data-m=pulse]{--n:koi-sip-pulse}.koi-si .koi-sip[data-m=blink]{--n:koi-sip-blink}.koi-si .koi-sip[data-m=drop]{--n:koi-sip-drop;--it:1;animation-timing-function:cubic-bezier(.3,.85,.35,1.25)}.koi-si .koi-sip[data-m=ripple]{--n:koi-sip-ripple;animation-timing-function:ease-out}.koi-si .koi-sip[data-m=sweep]{--n:koi-sip-sweep}.koi-si .koi-sip[data-m=lift]{--n:koi-sip-lift}.koi-row-btn:hover .koi-si .koi-sip,.koi-si:hover .koi-sip,.koi-si[data-held] .koi-sip,.koi-tile:hover .koi-si .koi-sip,[role=button]:hover .koi-si .koi-sip,[role=option]:hover .koi-si .koi-sip,a:hover .koi-si .koi-sip,button:focus-visible .koi-si .koi-sip,button:hover .koi-si .koi-sip,label:hover .koi-si .koi-sip{animation-name:var(--n)}.koi-si[data-whole]{transform-origin:50% 50%;transform-box:fill-box}.koi-si[data-whole=spin][data-held],[role=button]:hover .koi-si[data-whole=spin],a:hover .koi-si[data-whole=spin],button:hover .koi-si[data-whole=spin]{animation:koi-si-spin .9s cubic-bezier(.3,.85,.35,1.05) 1 both}[role=button]:hover .koi-si[data-whole=spinback],a:hover .koi-si[data-whole=spinback],button:hover .koi-si[data-whole=spinback]{animation:koi-si-spinback .9s cubic-bezier(.3,.85,.35,1.05) 1 both}[role=button]:hover .koi-si[data-whole=quarter],a:hover .koi-si[data-whole=quarter],button:hover .koi-si[data-whole=quarter]{animation:koi-si-quarter .5s cubic-bezier(.3,.85,.35,1.1) 1 both}.koi-si[data-whole=ring][data-held],[role=button]:hover .koi-si[data-whole=ring],a:hover .koi-si[data-whole=ring],button:hover .koi-si[data-whole=ring]{animation:koi-si-ring .8s ease-in-out infinite}[role=button]:active .koi-si,button:active .koi-si{transform:scale(.9);transition:transform 90ms}@keyframes koi-sip-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes koi-sip-turn{0%{transform:rotate(0)}to{transform:rotate(var(--a))}}@keyframes koi-sip-swing{0%,to{transform:rotate(0)}50%{transform:rotate(var(--a))}}@keyframes koi-sip-nudge{0%,to{transform:translate(0)}50%{transform:translate(var(--dx),var(--dy))}}@keyframes koi-sip-bob{0%,to{transform:translateY(0)}50%{transform:translateY(var(--dy))}}@keyframes koi-sip-grow{0%,to{transform:scaleY(1)}50%{transform:scaleY(var(--a))}}@keyframes koi-sip-pulse{0%,to{transform:scale(1)}50%{transform:scale(var(--a))}}@keyframes koi-sip-blink{0%,to{opacity:1}50%{opacity:.15}}@keyframes koi-sip-drop{0%{transform:translateY(var(--dy))}to{transform:translateY(0)}}@keyframes koi-sip-ripple{0%{transform:scale(1);opacity:1}55%{transform:scale(1.3);opacity:0}56%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@keyframes koi-sip-sweep{0%,to{transform:translate(0)}25%{transform:translate(calc(var(--a) * 1px),calc(var(--a) * -1px))}50%{transform:translate(calc(var(--a) * 1.4px))}75%{transform:translate(calc(var(--a) * 1px),calc(var(--a) * 1px))}}@keyframes koi-sip-lift{0%,to{transform:translateY(0);opacity:1}50%{transform:translateY(var(--dy));opacity:.7}}@keyframes koi-si-spin{0%{transform:rotate(0)}to{transform:rotate(180deg)}}@keyframes koi-si-spinback{0%{transform:rotate(0)}to{transform:rotate(-1turn)}}@keyframes koi-si-quarter{0%{transform:rotate(0)}to{transform:rotate(90deg)}}@keyframes koi-si-ring{0%,to{transform:rotate(0)}15%{transform:rotate(-14deg)}30%{transform:rotate(12deg)}45%{transform:rotate(-8deg)}60%{transform:rotate(6deg)}75%{transform:rotate(-3deg)}}@media (prefers-reduced-motion:reduce){.koi-si,.koi-si .koi-sip{animation:none!important}}svg[viewBox="0 0 24 24"][stroke=currentColor]:not(.koi-si){stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.koi-composer-field::placeholder,input::placeholder,textarea::placeholder{color:var(--koi-muted);font-weight:600;opacity:1}@keyframes koi-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}@media (max-width:640px){.koi-landing-nav{display:none!important}}@keyframes koi-marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.koi-marquee{animation:koi-marquee 60s linear infinite}.koi-marquee-rev{animation-direction:reverse;animation-duration:70s}.koi-marquee:hover{animation-play-state:paused}.koi-landing-built:hover .koi-landing-tip{opacity:1!important}.koi-landing-burger{display:none!important}@media (max-width:760px){.koi-landing-nav{display:none!important}.koi-landing-burger{display:flex!important}.koi-landing-swap{order:0}}@media (min-width:761px){.koi-landing-menu{display:none!important}}@media (prefers-reduced-motion:reduce){.koi-marquee{animation:none}}@media (max-width:760px){.koi-landing-flow{flex-direction:column}.koi-landing-link{min-width:0!important;padding:8px 0!important}.koi-landing-wire{width:0!important;height:22px!important;border-top:none!important;border-left:3px dashed color-mix(in srgb,var(--koi-blue) 55%,transparent)}}.koi-docs-burger{display:none!important}@media (max-width:960px){.koi-docs{grid-template-columns:minmax(0,1fr)!important}.koi-docs-side{position:static!important}.koi-docs-burger{display:flex!important}.koi-docs-nav{display:none;padding-top:12px}.koi-docs-nav.open{display:block}.koi-docs-toc{display:none!important}.koi-site-article{grid-template-columns:minmax(0,1fr)!important}.koi-site-toc{display:none!important}.koi-site-release{grid-template-columns:1fr!important}}@keyframes koi-site-bar{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1)}}.koi-site-bar{transform-origin:center;animation:koi-site-bar 1.1s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.koi-site-bar{animation:none}}@keyframes koi-onb-in{0%{opacity:0}to{opacity:1}}@keyframes koi-step-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes koi-onb-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.7);opacity:.35}}.koi-onb-list>*+*{box-shadow:inset 0 2px 0 var(--koi-line)}.koi-onb-sources{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}@media (max-width:520px){.koi-onb-sources{grid-template-columns:repeat(2,minmax(0,1fr))}}.koi-onb-where{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}@media (max-width:420px){.koi-onb-where{grid-template-columns:1fr}}.koi-onb-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:stretch}@media (max-width:620px){.koi-onb-plans{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.koi-onb,.koi-onb *{animation:none!important}}:root{--koi-auth-wordmark:#242424}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.koi-rich-text{display:block;min-width:0;max-width:100%;font-size:var(--koi-chat-font-size,18px);line-height:1.55;white-space:normal;overflow-wrap:anywhere;word-break:normal;text-align:start;user-select:text;-webkit-user-select:text}.koi-rich-text>:first-child{margin-top:0}.koi-rich-text>:last-child{margin-bottom:0}.koi-rich-text .koi-rich-source-fallback{white-space:pre-wrap;overflow-wrap:anywhere}.koi-rich-text .koi-rich-paragraph,.koi-rich-text p{margin:0 0 .65em;white-space:pre-wrap}.koi-rich-text h1,.koi-rich-text h2,.koi-rich-text h3,.koi-rich-text h4,.koi-rich-text h5,.koi-rich-text h6{margin:1em 0 .38em;font-weight:800;line-height:1.3;color:inherit;scroll-margin-top:1em}.koi-rich-text h1{font-size:1.45em}.koi-rich-text h2{font-size:1.3em}.koi-rich-text h3{font-size:1.15em}.koi-rich-text h4{font-size:1.05em}.koi-rich-text h5,.koi-rich-text h6{font-size:1em}.koi-rich-text strong{font-weight:800}.koi-rich-text em{font-style:italic}.koi-rich-text del{text-decoration-thickness:1px}.koi-rich-text a{color:var(--koi-message-link,currentColor);text-decoration:underline;text-underline-offset:.16em;text-decoration-thickness:1px;cursor:pointer;overflow-wrap:anywhere}.koi-rich-text a:hover{text-decoration-thickness:2px}.koi-rich-table-scroll:focus-visible,.koi-rich-text a:focus-visible,.koi-rich-text button:focus-visible{outline:2px solid currentColor;outline-offset:3px}.koi-rich-text ol,.koi-rich-text ul{margin:.5em 0 .7em;padding-inline-start:1.65em}.koi-rich-text ul{list-style-type:disc}.koi-rich-text ol{list-style-type:decimal}.koi-rich-text ul ul{list-style-type:circle}.koi-rich-text ul ul ul{list-style-type:square}.koi-rich-text li{padding-inline-start:.15em;margin:.2em 0}.koi-rich-text li>p{margin-bottom:.3em}.koi-rich-text li>ol,.koi-rich-text li>ul{margin-top:.2em;margin-bottom:.2em}.koi-rich-text .contains-task-list{list-style:none;padding-inline-start:.2em}.koi-rich-text .task-list-item{padding-inline-start:1.5em;position:relative}.koi-rich-text .task-list-item>input[type=checkbox]{position:absolute;inset-inline-start:0;top:.22em;width:1em;height:1em;margin:0;opacity:1;accent-color:var(--koi-blue,#528dc2);cursor:default}.koi-rich-text blockquote{margin:.65em 0;padding:.15em 0 .15em .9em;border-inline-start:3px solid color-mix(in srgb,currentColor 25%,transparent);color:inherit}.koi-rich-text blockquote>:last-child{margin-bottom:0}.koi-rich-text .koi-rich-callout{padding:.65em .85em;border-radius:0 7px 7px 0;background:color-mix(in srgb,currentColor 5%,transparent);border-inline-start-color:var(--koi-blue,#528dc2)}.koi-rich-callout-title{display:block;margin-bottom:.25em;text-transform:capitalize}.koi-rich-text .koi-rich-callout-caution,.koi-rich-text .koi-rich-callout-warning{border-inline-start-color:var(--koi-attention,#aa7400)}.koi-rich-text hr{border:0;border-top:1px solid color-mix(in srgb,currentColor 17%,transparent);margin:1em 0}.koi-rich-text :not(pre)>code{font-family:inherit;font-size:1em;font-weight:600;padding:0;border-radius:0;background:transparent;white-space:break-spaces;overflow-wrap:anywhere}.koi-rich-text .koi-rich-table-scroll{margin:.65em 0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid color-mix(in srgb,currentColor 17%,transparent);border-radius:7px}.koi-rich-text table{border-collapse:collapse;width:max-content;min-width:100%;font-size:1em}.koi-rich-text td,.koi-rich-text th{padding:.42em .7em;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent);text-align:start;max-width:28em;overflow-wrap:anywhere}.koi-rich-text th{font-weight:800;background:color-mix(in srgb,currentColor 5%,transparent)}.koi-rich-text tbody tr:last-child td{border-bottom:0}.koi-rich-text .footnotes{margin-top:1em;padding-top:.5em;border-top:1px solid color-mix(in srgb,currentColor 17%,transparent);font-size:1em}.koi-rich-text .footnotes ol{margin-bottom:0}.koi-rich-text [data-footnote-ref]{font-size:1em;font-weight:800;text-decoration:none;padding-inline:.1em}.koi-rich-text [data-footnote-backref]{margin-inline-start:.25em}.koi-rich-text .koi-rich-mention{display:inline;border-radius:5px;padding:.08em .3em;color:inherit;background:color-mix(in srgb,var(--koi-blue,#528dc2) 14%,transparent);font-weight:700;text-decoration:none;box-decoration-break:clone;-webkit-box-decoration-break:clone}.koi-rich-text .koi-rich-image{display:block;margin:.6em 0;max-width:100%}.koi-rich-text .koi-rich-image img{display:block;width:auto;height:auto;max-width:100%;max-height:360px;object-fit:contain;border-radius:8px}.koi-rich-text .koi-rich-image figcaption{display:flex;flex-wrap:wrap;gap:.3em .7em;margin-top:.3em;font-size:1em}.koi-rich-text .koi-rich-image-load{max-width:100%;border:1px solid color-mix(in srgb,currentColor 20%,transparent);background:color-mix(in srgb,currentColor 4%,transparent);color:inherit;border-radius:7px;padding:.6em .8em;font:inherit;text-align:start;cursor:pointer;overflow-wrap:anywhere}.koi-rich-text .koi-math{display:inline-flex;align-items:center;vertical-align:middle;max-width:100%;gap:.2em}.koi-rich-text .koi-math-content{display:block;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.koi-rich-text .koi-math-display{display:flex;width:100%;margin:.65em 0}.koi-rich-text .koi-math-display .koi-math-content{flex:1 1}.koi-rich-text .katex{font-size:1.05em}.koi-rich-text .katex-display{margin:.25em 0}.koi-rich-text .koi-math-copy{padding:.15em .3em;border:0;background:transparent;color:inherit;opacity:.65;font:inherit;font-size:1em;border-radius:3px;cursor:pointer}.koi-rich-text .koi-math-copy:focus-visible,.koi-rich-text .koi-math-copy:hover{opacity:1}.koi-rich-sr-only,.koi-rich-text .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:520px){.koi-rich-text td,.koi-rich-text th{padding:.4em .55em}.koi-rich-text .koi-rich-image img{max-height:280px}}.koi-rich-text .koi-site-embed,.koi-site-embed{display:block;margin:.7em 0;max-width:100%;border-radius:18px;overflow:hidden;background:var(--koi-panel,#fff);box-shadow:0 1px 2px rgba(0,0,0,.12),0 0 0 1px color-mix(in srgb,currentColor 8%,transparent);transition:transform .2s ease,box-shadow .2s ease}.koi-site-embed-checking:hover,.koi-site-embed-embeddable:has(.koi-site-embed-cover:focus-visible),.koi-site-embed-embeddable:hover{transform:scale(1.02);box-shadow:0 10px 28px -8px rgba(0,0,0,.35),0 0 0 1px color-mix(in srgb,currentColor 10%,transparent)}@media (prefers-reduced-motion:reduce){.koi-site-embed{transition:none}.koi-site-embed-checking:hover,.koi-site-embed-embeddable:hover{transform:none}}.koi-site-embed-frame-wrap{position:relative;display:block;width:100%;aspect-ratio:16/10;max-height:440px;overflow:hidden;border-radius:18px;background:var(--koi-panel,#fff)}.koi-site-embed-frame{top:0;left:0;width:calc(100% + 24px);height:calc(100% + 24px);display:block;pointer-events:none}.koi-site-embed-cover,.koi-site-embed-frame{position:absolute;border:0;background:transparent}.koi-site-embed-cover{inset:0;width:100%;height:100%;padding:0;margin:0;cursor:pointer;display:flex;align-items:flex-end;justify-content:flex-end;font:inherit;color:inherit;border-radius:18px}.koi-site-embed-cover:focus-visible{outline:2px solid var(--koi-blue,#246983);outline-offset:-2px}.koi-site-embed-hint{margin:12px;width:34px;height:34px;display:grid;place-items:center;border-radius:999px;color:#fff;background:rgba(24,52,66,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .15s ease;pointer-events:none}.koi-site-embed-cover:focus-visible .koi-site-embed-hint,.koi-site-embed-cover:hover .koi-site-embed-hint{opacity:1}@media (hover:none){.koi-site-embed-hint{opacity:.9}}dialog.koi-site-full{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--koi-ink,#183442);overflow:hidden;z-index:8999}dialog.koi-site-full::backdrop{background:rgba(0,0,0,.6);transition:background .34s ease}dialog.koi-site-full-closing::backdrop,dialog.koi-site-full-opening::backdrop{background:rgba(0,0,0,0)}.koi-site-full-sheet{position:fixed;overflow:hidden;background:var(--koi-panel,#fff);box-shadow:0 24px 80px -20px rgba(0,0,0,.5);transition:top .34s cubic-bezier(.2,.8,.2,1),left .34s cubic-bezier(.2,.8,.2,1),width .34s cubic-bezier(.2,.8,.2,1),height .34s cubic-bezier(.2,.8,.2,1),border-radius .34s ease;will-change:top,left,width,height}dialog.koi-site-full-open .koi-site-full-sheet{box-shadow:none}.koi-site-full-clip{position:absolute;inset:0;overflow:hidden}.koi-site-full-close{opacity:0;transition:opacity .2s ease}dialog.koi-site-full-open .koi-site-full-close{opacity:1}@media (prefers-reduced-motion:reduce){.koi-site-full-close,.koi-site-full-sheet,dialog.koi-site-full::backdrop{transition:none}}.koi-site-full-frame{position:absolute;top:0;left:0;width:calc(100% + 20px);height:100%;border:0;display:block;background:#fff}.koi-site-full-close{position:absolute;top:14px;right:14px;width:40px;height:40px;padding:0;border:0;border-radius:999px;background:rgba(24,52,66,.72);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;cursor:pointer;font:inherit;font-size:16px;box-shadow:0 2px 10px rgba(0,0,0,.25)}.koi-site-full-close:hover{background:rgba(24,52,66,.88)}.koi-site-full-close:focus-visible{outline:2px solid #fff;outline-offset:2px}.koi-site-full-status{position:absolute;top:18px;left:18px;margin:0;font-size:16px;opacity:.7}.koi-site-embed-notice{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4em;padding:1em 1.4em;text-align:center;font-size:1em;color:var(--koi-ink,#183442);background:var(--koi-panel,#fff)}.koi-site-embed-notice strong{font-weight:800;overflow-wrap:anywhere}.koi-site-embed-blocked .koi-site-embed-frame-wrap{aspect-ratio:auto;min-height:96px;max-height:none}.koi-site-embed-wait{position:absolute;inset:0;display:block;background:linear-gradient(100deg,color-mix(in srgb,currentColor 5%,transparent) 30%,color-mix(in srgb,currentColor 10%,transparent) 50%,color-mix(in srgb,currentColor 5%,transparent) 70%);background-size:200% 100%;animation:koi-site-embed-shimmer 1.6s ease-in-out infinite;pointer-events:none;border-radius:inherit}@keyframes koi-site-embed-shimmer{0%{background-position:120% 0}to{background-position:-80% 0}}@media (prefers-reduced-motion:reduce){.koi-site-embed-wait{animation:none}}.koi-rich-text .koi-site-embed-missing,.koi-site-embed-missing{display:inline-block;margin:.2em 0;padding:.25em .7em;border-radius:999px;box-shadow:none;background:color-mix(in srgb,currentColor 7%,transparent);color:var(--koi-muted,#6b7d88);font-size:1em}.koi-rich-text .koi-source-link{display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:.08em .28em;border-radius:.4em;background:color-mix(in srgb,var(--koi-ink) 6%,transparent);text-decoration:underline;text-underline-offset:.2em;line-height:inherit;font-size:inherit;transition:background .16s ease}.koi-rich-text .koi-source-link:hover{background:color-mix(in srgb,var(--koi-ink) 12%,transparent)}.koi-source-link>.koi-link-logo,.koi-source-link>svg{display:inline-block;width:.9em;height:.9em;object-fit:contain;vertical-align:-.08em;margin-inline-end:.28em}.koi-link-external{font-size:.8em;opacity:.65;margin-inline-start:.22em}.koi-rich-text .koi-source-citation{display:inline-flex;align-items:center;gap:.25em;max-width:100%;vertical-align:baseline;white-space:nowrap;text-decoration:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border-radius:999px;padding:.12em .5em;margin-inline:.14em;font-size:.84em;font-weight:500;line-height:1.45;background:color-mix(in srgb,var(--koi-ink) 9%,var(--koi-bg));cursor:pointer}.koi-source-citation>span{overflow:hidden;text-overflow:ellipsis;max-width:18ch}.koi-source-citation>.koi-source-number{font-size:.85em;opacity:.62;font-weight:400}.koi-rich-text sup:has(>.koi-source-citation){vertical-align:baseline;top:auto;font-size:inherit}.koi-source-citation:focus-visible{outline:2px solid currentColor;outline-offset:2px}.koi-rich-text ins,.koi-rich-text u{text-decoration:underline;text-underline-offset:.2em}.koi-rich-text mark{color:inherit;background:color-mix(in srgb,#e4b646 25%,transparent);padding:0 .15em;border-radius:.2em}.koi-rich-text kbd{font:.9em ui-monospace,monospace;background:var(--koi-panel-soft);padding:.12em .35em;border-radius:.3em}.koi-rich-text .footnotes{font-size:.92em;color:var(--koi-muted);margin-top:.65em}.koi-rich-text .footnotes h2{font-size:1em;font-weight:550}.koi-rich-text .footnotes li{scroll-margin-block:5em}.koi-rich-text .footnotes li:target{background:color-mix(in srgb,var(--koi-ink) 7%,transparent);border-radius:.4em}.koi-rich-text :is(h1,h2,h3,h4,h5,h6,strong){font-weight:600}.koi-rich-text b,.koi-rich-text strong{font-weight:750;color:var(--koi-ink)}.koi-rich-text h1{font-size:1.22em}.koi-rich-text h2{font-size:1.14em}.koi-rich-text h3{font-size:1.07em}.koi-rich-text :not(pre)>code{font-family:var(--koi-mono,ui-monospace,monospace);font-size:.93em;font-weight:400;background:color-mix(in srgb,var(--koi-ink) 6%,transparent);border-radius:.3em;padding:.1em .25em}.koi-rich-text .koi-rich-callout{border:0;border-radius:10px;padding:.6em .8em}.koi-rich-callout-title{display:flex;align-items:center;gap:.4em;font-size:.95em}.koi-rich-text .koi-rich-table-scroll{border:0;border-radius:8px}.koi-rich-text th{font-weight:600}.koi-rich-text .koi-math-display,.koi-rich-text tbody tr:hover{background:color-mix(in srgb,var(--koi-ink) 3%,transparent)}.koi-rich-text .koi-math-display{box-sizing:border-box;padding:.5em .65em;border-radius:10px}.koi-rich-text .koi-math-copy{font-size:.85em;opacity:0;transition:opacity .16s ease}.koi-rich-text .koi-math:focus-within>.koi-math-copy,.koi-rich-text .koi-math:hover>.koi-math-copy{opacity:.8}@media(hover:none){.koi-rich-text .koi-math-copy{opacity:.8}}.koi-source-popover{position:fixed;z-index:10000;width:min(360px,calc(100vw - 24px));max-height:min(260px,calc(100dvh - 24px));overflow:auto;box-sizing:border-box;padding:14px 16px;color:var(--koi-ink);background:var(--koi-panel,var(--koi-bg));border:0;border-radius:14px;box-shadow:0 12px 40px #0003;font-family:var(--koi-font,inherit);font-size:var(--koi-chat-font-size,14px);line-height:1.5;animation:koi-source-reveal .18s ease both}.koi-source-popover header{display:flex;align-items:center;gap:7px}.koi-source-popover strong{font-weight:600}.koi-source-popover header button{margin-left:auto;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;padding:6px}.koi-source-popover p{margin:.6em 0;white-space:pre-wrap;overflow-wrap:anywhere}.koi-source-popover a{color:inherit;display:inline-block;max-width:100%;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:.2em;margin:.2em .4em .2em 0}@keyframes koi-source-reveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.koi-source-popover{animation:none}}.koi-source-popover{font-family:var(--koi-sans,system-ui);scrollbar-width:thin}.koi-source-popover header>.koi-link-logo,.koi-source-popover header>svg{width:18px;height:18px;min-width:18px;max-width:18px;max-height:18px;flex:0 0 18px;object-fit:contain}.koi-source-popover header strong{font-size:1em;line-height:1.3;min-width:0;overflow-wrap:anywhere}.koi-source-popover header button{flex-shrink:0;display:grid;place-items:center}.koi-source-content{margin-top:10px}.koi-source-metadata{display:flex;flex-wrap:wrap;gap:4px 8px;margin-bottom:8px;color:var(--koi-muted);font-size:.88em;overflow-wrap:anywhere}.koi-source-metadata>span{max-width:100%}.koi-source-excerpt{line-height:1.55}.koi-source-excerpt p{margin:0 0 .65em;white-space:pre-wrap;overflow-wrap:anywhere}.koi-source-excerpt p:last-child{margin-bottom:0}.koi-source-links{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.koi-source-links .koi-source-link{margin:0;padding:4px 7px;border-radius:7px;background:color-mix(in srgb,var(--koi-ink) 6%,transparent);font-size:.9em}.chat-connection{max-width:440px;padding:14px 16px;border-radius:16px;background:var(--koi-panel);color:var(--koi-ink);font:inherit;display:grid;gap:10px}.chat-connection header{display:flex;align-items:center;gap:10px}.chat-connection header img{width:24px;height:24px;object-fit:contain}.chat-connection button{border:0;padding:8px 12px;border-radius:9px;background:var(--koi-panel-soft);color:inherit;font:inherit;cursor:pointer;margin:3px}.chat-connection-account{display:flex;align-items:center;justify-content:space-between;gap:12px;overflow-wrap:anywhere}.chat-connection-account small{display:block;color:var(--koi-muted)}.chat-connection p{margin:0}.chat-connection-note{font-size:.88em;color:var(--koi-muted)}.workspace-connection{width:min(100%,440px);max-width:440px;box-sizing:border-box;gap:12px}.workspace-connection input:not([type=checkbox]){background:var(--koi-panel-soft);color:inherit;border:0;border-radius:9px;padding:9px 11px;font:inherit;min-width:0;width:100%;box-sizing:border-box}.workspace-account{display:grid;gap:6px}.workspace-account>span{font-size:.88em;color:var(--koi-muted)}.workspace-services{display:grid;gap:2px}.workspace-service{padding:7px 4px;min-width:0}.workspace-service label{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:28px}.workspace-service input[type=checkbox]{width:15px;height:15px;margin:0;accent-color:var(--koi-ink);flex-shrink:0;cursor:inherit}.workspace-service img{width:20px;height:20px;object-fit:contain;flex-shrink:0}.workspace-service-name{flex:1 1;min-width:0;overflow-wrap:anywhere}.workspace-service small{color:var(--koi-muted);font-size:.88em;overflow-wrap:anywhere}.workspace-service label small{flex-shrink:0}.workspace-service .workspace-linked{color:var(--koi-ink)}.workspace-account-detail,.workspace-check{display:block;margin:4px 0 0 55px}.workspace-connection button{margin:0;transition:background .16s ease,opacity .16s ease}.workspace-primary>button{width:100%;padding:10px 12px}.workspace-actions,.workspace-handoff{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.workspace-connection button:disabled{opacity:.45;cursor:default}.workspace-connection details{font:inherit}.workspace-connection summary{cursor:pointer;color:var(--koi-muted);font-size:.9em}.workspace-options>summary{display:flex;align-items:center;gap:7px;list-style:none;padding:3px 0}.workspace-options>summary::-webkit-details-marker{display:none}.workspace-options>summary:before{content:"â€º";display:inline-block;transition:transform .18s ease}.workspace-options[open]>summary:before{transform:rotate(90deg)}.workspace-options>summary>span{margin-left:auto;font-size:.94em}.workspace-options-body{display:grid;gap:12px;padding-top:10px;animation:workspace-reveal .18s ease-out}.workspace-connection form{display:flex;gap:6px;margin-top:8px}.workspace-connection form input{flex:1 1}.workspace-signin-link{color:var(--koi-ink);text-decoration:underline;text-underline-offset:3px;font-size:.9em}.workspace-error,.workspace-failure,.workspace-notice{font-size:.9em;overflow-wrap:anywhere}.workspace-error{color:var(--koi-ink);background:var(--koi-panel-soft);padding:10px;border-radius:9px}.workspace-connection :is(input,button,summary,a):focus-visible{outline:2px solid var(--koi-muted);outline-offset:3px}@keyframes workspace-reveal{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.workspace-options-body{animation:none}.workspace-options>summary:before{transition:none}}@media(max-width:420px){.workspace-service label{gap:7px}.workspace-service label small{font-size:.8em}}.koi-rich-source-fallback pre{max-height:none;overflow:visible;white-space:pre-wrap;overflow-wrap:anywhere}.koi-rich-source-fallback pre code{white-space:inherit;overflow-wrap:inherit}