:root{--luxo-background:#f8fafc;--luxo-foreground:#0f172a;--luxo-prose:#1e293b;--luxo-muted:#64748b;--luxo-faint:#94a3b8;--luxo-card:#fffffff5;--luxo-panel:#ffffffd1;--luxo-panel-strong:#fffffffa;--luxo-border:#e2e8f0;--luxo-border-strong:#cbd5e1;--luxo-popover:#fffffffa;--luxo-surface-ghost:#0f172a0a;--luxo-surface-hover:#0ea5e914;--luxo-shadow:0 28px 80px #0f172a29;--luxo-soft-shadow:0 16px 44px #0f172a14;--luxo-focus:#0ea5e957}.dark,[data-theme=dark]{--luxo-background:#020617;--luxo-foreground:#f8fafc;--luxo-prose:#e2e8f0;--luxo-muted:#94a3b8;--luxo-faint:#64748b;--luxo-card:#0f172af5;--luxo-panel:#0f172ac7;--luxo-panel-strong:#020617fa;--luxo-border:#94a3b82e;--luxo-border-strong:#94a3b847;--luxo-popover:#020617fa;--luxo-surface-ghost:#94a3b814;--luxo-surface-hover:#38bdf81f;--luxo-shadow:0 30px 84px #0000008c;--luxo-soft-shadow:0 18px 48px #00000052;--luxo-focus:#38bdf861}.luxo-drawer,.luxo-drawer *,.luxo-orb-anchor,.luxo-orb-anchor *{box-sizing:border-box}.luxo-drawer-scrim{z-index:2147482550;background:#0f172a29;border:0;padding:0;position:fixed;inset:0}.dark .luxo-drawer-scrim,[data-theme=dark] .luxo-drawer-scrim{background:#0000006b}.luxo-drawer-shell{background:var(--luxo-background);border-color:var(--luxo-border);z-index:2147482600;flex-direction:column;width:min(48rem,100vw - 1rem);height:100dvh;display:flex;position:fixed;top:0;overflow:hidden}.luxo-drawer-left{border-right:1px solid var(--luxo-border);box-shadow:var(--luxo-shadow),1px 0 0 var(--luxo-border);left:0}.luxo-drawer-right{border-left:1px solid var(--luxo-border);box-shadow:var(--luxo-shadow),-1px 0 0 var(--luxo-border);right:0}.luxo-drawer{background:var(--luxo-background);color:var(--luxo-foreground);flex-direction:column;flex:1;min-height:0;font-size:14px;display:flex;position:relative;overflow:hidden}.luxo-accent-line{opacity:.44;flex:0 0 1px}.luxo-drawer-frame{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.luxo-drawer-main{flex-direction:column;flex:1;min-width:0;display:flex}.luxo-drawer-header{background:var(--luxo-panel-strong);border-bottom:1px solid var(--luxo-border);flex:0 0 4.25rem;align-items:center;gap:.75rem;padding:0 1.15rem;display:flex}.luxo-drawer-title{flex:1;min-width:0}.luxo-drawer-title p,.luxo-drawer-title span,.luxo-starters p,.luxo-quota-card p,.luxo-message-content p,.luxo-message-content ul,.luxo-user-bubble p,.luxo-tool-panel-header p,.luxo-tool-group p,.luxo-tool-empty p{margin:0}.luxo-drawer-title p{color:var(--luxo-foreground);font-size:14px;font-weight:760;line-height:1.05}.luxo-drawer-title span{color:var(--luxo-muted);margin-top:.38rem;font-size:11.5px;line-height:1;display:block}.luxo-drawer-title b{color:#16a34a;font-weight:720}.luxo-drawer-controls{align-items:center;gap:.125rem;display:flex}.luxo-mobile-tools-button{background:var(--luxo-surface-ghost);border:1px solid var(--luxo-border);color:var(--luxo-muted);cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;min-height:2rem;padding:.35rem .7rem;font-size:11.5px;font-weight:720;display:none}.luxo-icon-button,.luxo-voice-button,.luxo-send-button,.luxo-composer-tool-button,.luxo-rail-button{color:var(--luxo-muted);cursor:pointer;background:0 0;border:0;border-radius:.65rem;justify-content:center;align-items:center;width:2rem;height:2rem;transition:background .14s,color .14s,opacity .14s,transform .14s;display:inline-flex}.luxo-icon-button:hover,.luxo-voice-button:hover,.luxo-send-button:hover,.luxo-composer-tool-button:hover,.luxo-rail-button:hover,.luxo-mobile-tools-button:hover{background:var(--luxo-surface-hover);color:var(--luxo-foreground)}.luxo-icon-button:focus-visible,.luxo-voice-button:focus-visible,.luxo-send-button:focus-visible,.luxo-composer-tool-button:focus-visible,.luxo-rail-button:focus-visible,.luxo-mobile-tools-button:focus-visible,.luxo-starter-button:focus-visible,.luxo-quick-actions button:focus-visible,.luxo-action-chips button:focus-visible,.luxo-follow-ups button:focus-visible,.luxo-auth-button:focus-visible,.luxo-tool-card:focus-visible,.luxo-tool-search input:focus-visible{box-shadow:0 0 0 3px var(--luxo-focus);outline:0}.luxo-voice-group{align-items:center;gap:.25rem;display:inline-flex}.luxo-voicemode-button{cursor:pointer;width:2rem;height:2rem;color:var(--luxo-foreground);background:var(--luxo-surface-hover);box-shadow:inset 0 0 0 1px var(--luxo-border);border:0;border-radius:999px;justify-content:center;align-items:center;transition:filter .14s,transform .14s,box-shadow .14s;display:inline-flex}.luxo-voicemode-button:hover{filter:brightness(1.12);box-shadow:inset 0 0 0 1px var(--luxo-foreground)}.luxo-voicemode-button:active{transform:scale(.94)}.luxo-voicemode-button:focus-visible{box-shadow:0 0 0 3px var(--luxo-focus);outline:0}.luxo-voicemode-button:disabled{cursor:default;opacity:.5}.luxo-voice-button.luxo-dictating{color:#ef4444;background:#ef444424;position:relative}.luxo-voice-button.luxo-dictating:after{content:"";border-radius:inherit;animation:1.5s ease-out infinite luxo-dictate-pulse;position:absolute;inset:0;box-shadow:0 0 #ef444473}@keyframes luxo-dictate-pulse{to{box-shadow:0 0 0 7px #ef444400}}@media (prefers-reduced-motion:reduce){.luxo-voice-button.luxo-dictating:after{animation:none}}.luxo-voice-pill{color:#fff;cursor:pointer;letter-spacing:.01em;border:0;border-radius:999px;align-items:center;gap:.4rem;height:2rem;padding:0 .85rem 0 .7rem;font-size:.78rem;font-weight:600;transition:filter .14s,transform .14s;display:inline-flex;box-shadow:0 2px 10px #00000040}.luxo-voice-pill:hover{filter:brightness(1.08)}.luxo-voice-pill:active{transform:scale(.97)}.luxo-voice-wave{--luxo-voice-level:0;align-items:center;gap:2px;height:.95rem;display:inline-flex}.luxo-voice-wave-bar{transform-origin:50%;background:currentColor;border-radius:2px;width:2.5px;height:100%;animation:.85s ease-in-out infinite luxo-voice-wobble}.luxo-voice-wave-bar:nth-child(2){animation-delay:.13s}.luxo-voice-wave-bar:nth-child(3){animation-delay:.26s}.luxo-voice-wave-bar:nth-child(4){animation-delay:.39s}@keyframes luxo-voice-wobble{0%,to{transform:scaleY(calc(.28 + .45*var(--luxo-voice-level)))}50%{transform:scaleY(calc(.5 + 1.05*var(--luxo-voice-level)))}}@media (prefers-reduced-motion:reduce){.luxo-voice-wave-bar{transform:scaleY(calc(.4 + .6*var(--luxo-voice-level)));animation:none}}.luxo-danger-hover:hover{color:#e11d48}.luxo-tool-sidebar{background:color-mix(in srgb,var(--luxo-panel-strong)92%,var(--luxo-background));border-right:1px solid var(--luxo-border);flex-direction:column;flex:0 0 3.5rem;align-items:center;gap:.7rem;padding:.8rem .55rem;display:flex}.luxo-rail-button{border:1px solid #0000;width:2.45rem;height:2.45rem;position:relative}.luxo-rail-button-confirm{color:#ea580c;background:#fb923c1a}.luxo-rail-button-restricted{border-color:var(--luxo-border);opacity:.6}.luxo-rail-button-active{background:var(--luxo-surface-hover);border-color:var(--luxo-border);color:var(--luxo-foreground)}.luxo-rail-button-active:before{content:"";background:currentColor;border-radius:999px;width:.18rem;height:1.35rem;position:absolute;left:-.62rem}.luxo-rail-separator{background:var(--luxo-border);width:1.7rem;height:1px}.luxo-rail-pins{flex-direction:column;gap:.35rem;display:flex}.luxo-rail-bottom{flex:1;align-items:center;display:flex}.luxo-rail-status{border:2px solid var(--luxo-panel-strong);background:#22c55e;border-radius:999px;width:.75rem;height:.75rem;margin-top:auto;display:block;box-shadow:0 0 0 4px #22c55e1f}.luxo-drawer-feed{scrollbar-gutter:stable;flex:1;min-height:0;padding:1.5rem 1.25rem;overflow-y:auto}.luxo-feed-stack,.luxo-welcome,.luxo-conversation,.luxo-starters{flex-direction:column;display:flex}.luxo-feed-stack{gap:1rem;max-width:44rem;margin:0 auto}.luxo-welcome,.luxo-conversation{gap:1rem}.luxo-message-row{align-items:flex-start;gap:.75rem;display:flex}.luxo-user-row{justify-content:flex-end}.luxo-assistant-bubble,.luxo-user-bubble{color:var(--luxo-prose);border:1px solid #0000;border-radius:1rem;max-width:min(84%,38rem);padding:.78rem .95rem;font-size:14px;line-height:1.62}.luxo-assistant-bubble{background:var(--luxo-card);border-color:var(--luxo-border);border-top-left-radius:.3rem;box-shadow:0 10px 26px #0f172a0d}.luxo-user-bubble{color:var(--luxo-foreground);background:#0ea5e917;border-color:#0ea5e929;border-top-right-radius:.3rem}.luxo-message-list{margin:0;padding-left:1.1rem}.luxo-message-content{overflow-wrap:anywhere}.luxo-message-content strong{color:var(--luxo-foreground);font-weight:760}.luxo-message-content a{color:#0284c7;font-weight:680;text-decoration:none}.dark .luxo-message-content a,[data-theme=dark] .luxo-message-content a{color:#67e8f9}.luxo-message-content a:hover{text-underline-offset:.18em;text-decoration:underline}.luxo-message-content code{background:var(--luxo-surface-ghost);border:1px solid var(--luxo-border);color:var(--luxo-foreground);border-radius:.35rem;padding:.08rem .28rem;font-size:.88em}.luxo-message-lines{flex-direction:column;gap:.55rem;display:flex}.luxo-message-list+p,.luxo-message-content p+p,.luxo-message-content p+.luxo-message-list,.luxo-message-content .luxo-message-list+p{margin-top:.65rem}.luxo-starters{gap:.55rem}.luxo-starters>p{color:var(--luxo-faint);letter-spacing:.12em;text-transform:uppercase;font-size:10.5px;font-weight:800}.luxo-starter-chip-row,.luxo-quick-actions,.luxo-action-chips{flex-wrap:wrap;gap:.45rem;display:flex}.luxo-starter-button,.luxo-quick-actions button,.luxo-action-chips button,.luxo-follow-ups button{background:var(--luxo-panel);border:1px solid var(--luxo-border);color:var(--luxo-prose);cursor:pointer;text-align:left;border-radius:999px;align-items:center;gap:.45rem;min-height:2.25rem;padding:.48rem .8rem;font-size:12px;font-weight:650;line-height:1.25;transition:transform .14s,color .14s,border-color .14s,background .14s;display:inline-flex}.luxo-starter-button:hover,.luxo-quick-actions button:hover,.luxo-action-chips button:hover,.luxo-follow-ups button:hover{background:var(--luxo-surface-hover);color:var(--luxo-foreground);transform:translateY(-1px)}.luxo-starter-button span{min-width:0}.luxo-action-chips,.luxo-follow-ups{padding-left:2.25rem}.luxo-follow-ups{flex-wrap:wrap;gap:.45rem;display:flex}.luxo-typing{align-items:center;gap:.35rem;display:inline-flex}.luxo-typing span{opacity:.25;border-radius:999px;width:.45rem;height:.45rem;animation:1.2s ease-in-out infinite luxo-dot}.luxo-typing span:nth-child(2){animation-delay:.18s}.luxo-typing span:nth-child(3){animation-delay:.36s}.luxo-typing em{color:var(--luxo-muted);margin-left:.2rem;font-size:12px;font-style:normal}.luxo-drawer-footer{background:var(--luxo-panel-strong);border-top:1px solid var(--luxo-border);flex:none}.luxo-error{color:#b45309;background:#fb923c12;border:1px solid #fb923c3d;border-radius:.85rem;width:calc(100% - 2rem);max-width:44rem;margin:.75rem auto 0;padding:.65rem .85rem;font-size:12px;line-height:1.55}.luxo-footer-pad,.luxo-composer{max-width:46rem;margin:0 auto;padding:.9rem 1.15rem}.luxo-auth-button{background:var(--luxo-card);border:1px solid var(--luxo-border-strong);color:var(--luxo-foreground);cursor:pointer;border-radius:.9rem;justify-content:center;align-items:center;gap:.6rem;width:100%;min-height:3.25rem;padding:.85rem 1rem;font-size:13px;font-weight:740;transition:transform .14s,border-color .14s,background .14s;display:flex}.luxo-auth-button:hover{background:var(--luxo-surface-hover);transform:translateY(-1px)}.luxo-quota-card{background:#fbbf240f;border:1px solid #fbbf243d;border-radius:1rem;margin:1rem;padding:1rem}.luxo-quota-card p{color:#b45309;font-size:13px;font-weight:740}.luxo-quota-card span{color:var(--luxo-muted);margin-top:.35rem;font-size:12px;line-height:1.55;display:block}.luxo-composer-box{background:var(--luxo-card);border:1px solid var(--luxo-border-strong);border-radius:1rem;align-items:flex-end;gap:.5rem;padding:.55rem;display:flex;box-shadow:0 12px 30px #0f172a12}.luxo-composer textarea{color:var(--luxo-foreground);font:inherit;resize:none;background:0 0;border:0;outline:0;flex:1;min-height:2.25rem;max-height:8rem;padding:.42rem .1rem;font-size:14px;line-height:1.5}.luxo-composer textarea::placeholder{color:var(--luxo-faint)}.luxo-composer-tool-button,.luxo-voice-button,.luxo-send-button{border:1px solid var(--luxo-border);flex:0 0 2.55rem;width:2.55rem;height:2.55rem}.luxo-voice-button:disabled,.luxo-send-button:disabled{cursor:default;opacity:.38}.luxo-voice-active{color:#f87171;background:#ef44441f;border-color:#f8717161;animation:1.4s ease-out infinite luxo-mic-pulse}.luxo-footer-meta{color:var(--luxo-faint);justify-content:space-between;align-items:center;margin-top:.5rem;font-size:10.5px;display:flex}.luxo-footer-meta a{color:var(--luxo-faint);font-weight:650;text-decoration:none}.luxo-tool-panel-scrim{z-index:8;background:0 0;border:0;padding:0;position:absolute;inset:0 0 0 3.5rem}.luxo-tool-panel{background:var(--luxo-panel-strong);border-right:1px solid var(--luxo-border);box-shadow:var(--luxo-soft-shadow);color:var(--luxo-foreground);z-index:9;flex-direction:column;width:min(20rem,100vw - 4rem);max-width:calc(100vw - 4rem);display:flex;position:absolute;top:0;bottom:0;left:3.5rem;overflow:hidden}.luxo-tool-panel-header{border-bottom:1px solid var(--luxo-border);align-items:center;gap:.75rem;padding:1rem;display:flex}.luxo-tool-panel-header>div{flex:1;min-width:0}.luxo-tool-panel-header p{color:var(--luxo-foreground);font-size:14px;font-weight:780}.luxo-tool-panel-header small{color:var(--luxo-muted);margin-top:.2rem;font-size:11px;line-height:1.4;display:block}.luxo-tool-search{background:var(--luxo-surface-ghost);border:1px solid var(--luxo-border);color:var(--luxo-muted);border-radius:.75rem;align-items:center;gap:.45rem;margin:.85rem 1rem 0;padding:.55rem .65rem;display:flex}.luxo-tool-search input{color:var(--luxo-foreground);font:inherit;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:12.5px}.luxo-tool-search input::placeholder{color:var(--luxo-faint)}.luxo-tool-panel-list{flex:1;min-height:0;padding:1rem;overflow-y:auto}.luxo-tool-group+.luxo-tool-group{margin-top:1rem}.luxo-tool-group>p{color:var(--luxo-faint);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.45rem;font-size:10.5px;font-weight:820}.luxo-tool-group>div{flex-direction:column;gap:.45rem;display:flex}.luxo-tool-card{background:var(--luxo-card);border:1px solid var(--luxo-border);color:inherit;cursor:pointer;text-align:left;border-radius:.8rem;align-items:flex-start;gap:.65rem;width:100%;padding:.7rem;transition:background .14s,border-color .14s,transform .14s;display:flex}.luxo-tool-card:hover,.luxo-tool-card-active{background:var(--luxo-surface-hover);border-color:var(--luxo-border-strong);transform:translateY(-1px)}.luxo-tool-card-icon,.luxo-tool-card-status{border-radius:.55rem;flex:0 0 2rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.luxo-tool-card-icon{color:#0284c7;background:#0ea5e914}.luxo-tool-card-copy{flex:1;min-width:0;display:block}.luxo-tool-card-copy strong{color:var(--luxo-foreground);font-size:12.5px;font-weight:780;line-height:1.2;display:block}.luxo-tool-card-copy small{color:var(--luxo-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-top:.22rem;font-size:11.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.luxo-tool-card-status{color:#16a34a;background:#22c55e14;flex-basis:1.7rem;width:1.7rem;height:1.7rem}.luxo-tool-card-confirm{color:#ea580c;background:#fb923c1a}.luxo-tool-empty{color:var(--luxo-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;min-height:11rem;display:flex}.luxo-tool-empty p{color:var(--luxo-foreground);font-size:13px;font-weight:740}.luxo-tool-empty span{font-size:12px}.luxo-avatar-dot{flex:0 0 2rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.luxo-avatar-dot-sm{flex-basis:1.5rem;width:1.5rem;height:1.5rem}.luxo-avatar-dot>span{border-radius:999px;width:100%;height:100%;position:relative}.luxo-avatar-dot>span:before{border-radius:inherit;content:"";pointer-events:none;background:radial-gradient(circle at 30% 26%,#ffffffeb 0%,#fff0 44%);position:absolute;inset:0}.luxo-avatar-dot>span:after{border-radius:inherit;content:"";opacity:.55;pointer-events:none;background:radial-gradient(1.1px at 18% 22%,#fffffff2,#0000 60%),radial-gradient(1px at 82% 32%,#bae6fde6,#0000 60%),radial-gradient(1px at 72% 80%,#fffc,#0000 60%),radial-gradient(1.2px at 26% 76%,#7dd3fcd9,#0000 60%);position:absolute;inset:-30%}@media (prefers-reduced-motion:no-preference){.luxo-avatar-dot>span{animation:4.6s ease-in-out infinite luxo-orb-breathe}.luxo-avatar-dot>span:after{animation:4.6s ease-in-out infinite luxo-orb-twinkle}}@keyframes luxo-orb-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes luxo-orb-twinkle{0%,to{opacity:.4;transform:rotate(0)}50%{opacity:.85;transform:rotate(8deg)}}.luxo-orb-anchor{bottom:calc(env(safe-area-inset-bottom,0px) + 1rem);pointer-events:none;z-index:2147482500;position:fixed}.luxo-orb-left{left:1rem}.luxo-orb-right{right:1rem}.luxo-orb-shell{pointer-events:auto;position:relative}.luxo-orb-button{cursor:pointer;background:0 0;border:0;border-radius:999px;width:7.8rem;height:7.8rem;padding:0;display:block;position:relative}.luxo-orb-compact{width:6.5rem;height:6.5rem}.luxo-orb-shadow{filter:blur(24px);border-radius:999px;transition:opacity .18s;position:absolute;inset:0}.luxo-orb-canvas,.luxo-fallback-orb{width:100%;height:100%}.luxo-fallback-orb{position:relative}.luxo-fallback-orb-glow{filter:blur(18px);border-radius:999px;position:absolute;inset:22%}.luxo-fallback-orb-core{border-radius:999px;position:absolute;inset:28%}.luxo-caption-anchor-left,.luxo-caption-anchor-right{margin-bottom:.65rem;position:absolute;bottom:100%}.luxo-caption-anchor-left{transform-origin:0 100%;left:.5rem}.luxo-caption-anchor-right{transform-origin:100% 100%;right:.5rem}.luxo-caption{background:color-mix(in srgb,var(--luxo-popover)94%,transparent);border:1px solid var(--luxo-border);color:var(--luxo-foreground);border-radius:.8rem;align-items:flex-start;gap:.65rem;width:min(17rem,100vw - 2rem);padding:.75rem;display:flex}.luxo-caption-text{min-width:0}.luxo-caption-eyebrow{color:var(--luxo-faint);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.luxo-caption-line{color:var(--luxo-prose);margin-top:.2rem;font-size:12.5px;line-height:1.45}.luxo-caption-progress{color:var(--luxo-faint);margin-top:.35rem;font-size:10px}.luxo-spin{animation:.9s linear infinite luxo-spin}@media (max-width:640px){.luxo-drawer-shell{width:100vw}.luxo-tool-sidebar{display:none}.luxo-mobile-tools-button{display:inline-flex}.luxo-drawer-feed{padding:1rem .9rem}.luxo-assistant-bubble,.luxo-user-bubble{max-width:88%}.luxo-tool-panel-scrim{background:#0f172a2e;left:0}.luxo-tool-panel{border-right:0;border-top:1px solid var(--luxo-border);border-radius:1rem 1rem 0 0;width:100%;max-width:none;max-height:min(78dvh,42rem);inset:auto 0 0;box-shadow:0 -18px 48px #0f172a2e}}@media (max-width:430px){.luxo-drawer-header{padding:0 .9rem}.luxo-drawer-controls{gap:0}.luxo-footer-pad,.luxo-composer{padding:.85rem .9rem}}@media (min-width:1280px){.luxo-orb-anchor{bottom:6rem}.luxo-orb-left{left:1.5rem}.luxo-orb-right{right:1.5rem}}@keyframes luxo-dot{0%,60%,to{opacity:.2;transform:scale(.85)}30%{opacity:.75;transform:scale(1.15)}}@keyframes luxo-mic-pulse{0%,to{box-shadow:0 0 #ef444459}50%{box-shadow:0 0 0 6px #ef444400}}@keyframes luxo-spin{to{transform:rotate(360deg)}}.luxo-message-feedback{opacity:.55;flex-wrap:wrap;align-items:flex-start;gap:.25rem;margin-top:.25rem;transition:opacity .14s,transform .14s;display:flex}.luxo-message-row:hover .luxo-message-feedback,.luxo-message-feedback:focus-within{opacity:1}.luxo-message-feedback button{appearance:none;width:1.6rem;height:1.6rem;color:var(--luxo-fg,#c8d4ea);cursor:pointer;background:0 0;border:1px solid #ffffff0f;border-radius:.4rem;justify-content:center;align-items:center;padding:0;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.luxo-message-feedback button:hover:not(:disabled){background:#6ab4ff1a;border-color:#6ab4ff52}.luxo-message-feedback button:focus-visible{outline-offset:1px;outline:2px solid #38bdf88c}.luxo-message-feedback button:disabled{cursor:not-allowed;opacity:.55}.luxo-message-feedback--stars button{color:#f59e0bb3;border:0;width:auto;height:auto;padding:.1rem .2rem;font-size:.95rem}.luxo-message-feedback--stars button:hover:not(:disabled){color:#f59e0b;background:0 0;border:0}.luxo-message-feedback--submitted{color:#7dd3fcbf;opacity:1;font-size:.72rem}.luxo-message-feedback-comment{flex-direction:column;flex-basis:100%;gap:.35rem;margin-top:.25rem;display:flex}.luxo-message-feedback-comment textarea{width:100%;font:inherit;color:var(--luxo-fg,#c8d4ea);resize:vertical;background:#0f172a99;border:1px solid #6ab4ff2e;border-radius:.4rem;min-height:2.4rem;padding:.4rem .55rem;font-size:.8rem}.luxo-message-feedback-comment textarea:focus-visible{outline-offset:1px;outline:2px solid #38bdf88c}.luxo-message-feedback-comment>div{justify-content:flex-end;gap:.35rem;display:flex}.luxo-message-feedback-comment button{background:#6ab4ff14;border:1px solid #6ab4ff47;border-radius:.35rem;width:auto;height:auto;padding:.25rem .6rem;font-size:.75rem}.luxo-message-feedback-comment button[type=submit]{background:#6ab4ff2e;border-color:#6ab4ff66}.luxo-message-feedback-error{color:#f87171;flex-basis:100%;margin-top:.2rem;font-size:.72rem}.luxo-message-math{text-align:center;background:#38bdf80a;border:1px solid #38bdf81f;border-radius:.6rem;margin:.75rem 0;padding:.5rem .75rem;display:block;overflow-x:auto}.luxo-message-math-inline{display:inline}.luxo-message-list--ordered{list-style-type:decimal}.luxo-tool-form{flex-direction:column;height:100%;min-height:0;display:flex}.luxo-tool-form-header{border-bottom:1px solid var(--luxo-border);align-items:flex-start;gap:.7rem;padding:1rem;display:flex}.luxo-tool-form-icon{background:var(--luxo-surface-ghost);border:1px solid var(--luxo-border);color:var(--luxo-foreground);border-radius:.55rem;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.luxo-tool-form-title{flex:1;min-width:0}.luxo-tool-form-title>p{color:var(--luxo-foreground);margin:0;font-size:14px;font-weight:780;line-height:1.25}.luxo-tool-form-title>small{color:var(--luxo-muted);margin-top:.25rem;font-size:11.5px;line-height:1.45;display:block}.luxo-tool-form-banner{border-radius:.55rem;align-items:flex-start;gap:.45rem;margin:.75rem 1rem 0;padding:.55rem .7rem;font-size:11.5px;line-height:1.45;display:flex}.luxo-tool-form-banner svg{flex:none;margin-top:1px}.luxo-tool-form-banner-confirm{background:color-mix(in srgb,var(--luxo-warn,#f59e0b)14%,transparent);border:1px solid color-mix(in srgb,var(--luxo-warn,#f59e0b)35%,transparent);color:var(--luxo-warn-text,var(--luxo-foreground))}.luxo-tool-form-banner-restricted{background:color-mix(in srgb,var(--luxo-danger,#ef4444)14%,transparent);border:1px solid color-mix(in srgb,var(--luxo-danger,#ef4444)35%,transparent);color:var(--luxo-danger-text,var(--luxo-foreground))}.luxo-tool-form-body{flex-direction:column;flex:1;gap:.85rem;min-height:0;padding:1rem;display:flex;overflow-y:auto}.luxo-tool-form-empty{color:var(--luxo-muted);font-size:12.5px;font-style:italic}.luxo-tool-form-field{flex-direction:column;gap:.35rem;display:flex}.luxo-tool-form-label{color:var(--luxo-foreground);letter-spacing:.01em;flex-wrap:wrap;align-items:baseline;gap:.35rem;font-size:11.5px;font-weight:700;display:flex}.luxo-tool-form-required{color:var(--luxo-danger,#ef4444);font-weight:800}.luxo-tool-form-hint-inline{color:var(--luxo-faint);margin-left:auto;font-size:10.5px;font-weight:500}.luxo-tool-form-hint{color:var(--luxo-muted);font-size:11px;line-height:1.4}.luxo-tool-form-input,.luxo-tool-form select.luxo-tool-form-input{background:var(--luxo-surface-ghost);border:1px solid var(--luxo-border);color:var(--luxo-foreground);font:inherit;appearance:none;border-radius:.55rem;width:100%;padding:.55rem .7rem;font-size:13px}.luxo-tool-form-input::placeholder{color:var(--luxo-faint)}.luxo-tool-form-input:focus-visible,.luxo-tool-form-switch:focus-within{border-color:var(--luxo-ring,var(--luxo-foreground));box-shadow:0 0 0 2px color-mix(in srgb,var(--luxo-ring,var(--luxo-foreground))22%,transparent);outline:0}.luxo-tool-form select.luxo-tool-form-input{background-image:linear-gradient(45deg,transparent 50%,var(--luxo-muted)50%),linear-gradient(135deg,var(--luxo-muted)50%,transparent 50%);background-position:calc(100% - 14px),calc(100% - 9px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:1.8rem}.luxo-tool-form-switch{-webkit-user-select:none;user-select:none;align-items:center;gap:.55rem;display:inline-flex}.luxo-tool-form-switch>input[type=checkbox]{appearance:none;background:var(--luxo-surface-ghost);border:1px solid var(--luxo-border);cursor:pointer;border-radius:999px;width:34px;height:20px;transition:background .14s,border-color .14s;position:relative}.luxo-tool-form-switch>input[type=checkbox]:after{background:var(--luxo-foreground);content:"";border-radius:999px;width:14px;height:14px;transition:left .14s,background .14s;position:absolute;top:2px;left:2px}.luxo-tool-form-switch>input[type=checkbox]:checked{background:color-mix(in srgb,var(--luxo-ring,var(--luxo-foreground))60%,transparent);border-color:var(--luxo-ring,var(--luxo-foreground))}.luxo-tool-form-switch>input[type=checkbox]:checked:after{background:#fff;left:16px}.luxo-tool-form-switch-value{color:var(--luxo-muted);font-size:12px}.luxo-tool-form-error{background:color-mix(in srgb,var(--luxo-danger,#ef4444)12%,transparent);border:1px solid color-mix(in srgb,var(--luxo-danger,#ef4444)36%,transparent);color:var(--luxo-danger-text,var(--luxo-foreground));border-radius:.5rem;padding:.5rem .7rem;font-size:12px;line-height:1.45}.luxo-tool-form-actions{border-top:1px solid var(--luxo-border);background:var(--luxo-surface);justify-content:flex-end;gap:.55rem;margin:auto -1rem -1rem;padding:.75rem 1rem;display:flex;position:sticky;bottom:0}.luxo-tool-form-cancel,.luxo-tool-form-run{cursor:pointer;font:inherit;border-radius:.55rem;align-items:center;gap:.35rem;padding:.5rem .85rem;font-size:12.5px;font-weight:600;transition:background .14s,transform .14s,opacity .14s;display:inline-flex}.luxo-tool-form-cancel{border:1px solid var(--luxo-border);color:var(--luxo-muted);background:0 0}.luxo-tool-form-cancel:hover{background:var(--luxo-surface-ghost);color:var(--luxo-foreground)}.luxo-tool-form-run{background:var(--luxo-foreground);border:1px solid var(--luxo-foreground);color:var(--luxo-surface)}.luxo-tool-form-run:hover:not(:disabled){transform:translateY(-1px)}.luxo-tool-form-run:disabled{cursor:not-allowed;opacity:.45;transform:none}
.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}
