/* Supplied 21st.dev theme, adapted to this site's data-theme switch. */
:root{--card:#ffffff;--ring:#ff8800;--input:#020617;--muted:#f0f0ff;--accent:#f59e0b;--border:#f90000;--radius:.5rem;--chart-1:#ff00c8;--chart-2:#9000ff;--chart-3:#00e5ff;--chart-4:#00ff66;--chart-5:#ffe600;--popover:#ffffff;--primary:#ea580c;--sidebar:#f0f0ff;--spacing:.25rem;--font-mono:'Fira Code',monospace;--font-sans:'Outfit',sans-serif;--font-serif:ui-serif,Georgia,serif;--secondary:#f0f0ff;--background:#f8f9fa;--foreground:#0c0c1d;--destructive:#ff3d00;--shadow-blur:8px;--shadow-color:hsl(0 0% 0%);--shadow-spread:-2px;--shadow-opacity:.1;--shadow-offset-x:0px;--shadow-offset-y:4px;--letter-spacing:0em;--sidebar-ring:#ff00c8;--sidebar-accent:#00ffcc;--sidebar-border:#dfe6e9;--sidebar-primary:#ff00c8;--card-foreground:#0c0c1d;--muted-foreground:#0c0c1d;--accent-foreground:#0c0c1d;--popover-foreground:#0c0c1d;--primary-foreground:#f8fafc;--sidebar-foreground:#0c0c1d;--secondary-foreground:#0c0c1d;--destructive-foreground:#fff;--sidebar-accent-foreground:#0c0c1d;--sidebar-primary-foreground:#fff}
:root[data-theme=dark],.dark{--card:#1e1e3f;--ring:#dc7e02;--input:#2e2e5e;--muted:#151530;--accent:#ea580c;--border:#2e2e5e;--chart-4:#00ffcc;--popover:#1e1e3f;--primary:#ea580c;--sidebar:#0c0c1d;--font-mono:ui-monospace,SFMono-Regular,monospace;--font-sans:ui-sans-serif,system-ui,sans-serif;--secondary:#1e1e3f;--background:#0c0c1d;--foreground:#eceff4;--shadow-spread:-1px;--sidebar-border:#2e2e5e;--card-foreground:#eceff4;--muted-foreground:#8085a6;--popover-foreground:#eceff4;--primary-foreground:#fff;--sidebar-foreground:#eceff4;--secondary-foreground:#eceff4}
:root,:root[data-theme=dark]{--paper:var(--background);--ink:var(--foreground);--surface:var(--card);--soft:var(--secondary);--line:var(--sidebar-border);--accent-text:var(--primary);--blue:var(--chart-3);--violet:var(--chart-2);--gold:var(--accent);--glow:#9000ff0c;--brand-bar:linear-gradient(90deg,var(--primary),var(--chart-2),var(--chart-3))}
body{font-family:var(--font-sans);background:var(--background);color:var(--foreground);letter-spacing:var(--letter-spacing)}button,input,select,textarea{font-family:inherit}a:focus-visible,button:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--ring);outline-offset:4px}.button:not(.button-light){background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.button:not(.button-light):hover{background:#b54109;border-color:#b54109}.eyebrow,.card-kicker,.text-link{color:var(--primary)}.site-header,.site-footer,.service-card{background:var(--card);color:var(--card-foreground)}.service-card{border-top:2px solid var(--primary);border-radius:var(--radius)}.service-card:nth-child(2){border-top-color:var(--chart-2)}.service-card:nth-child(3){border-top-color:var(--chart-3)}.contact-card,.governance{background:var(--secondary);color:var(--foreground)}.contact-card h2,.governance h2,.governance h2>span{color:var(--foreground)}.contact-details{border-color:var(--line)}.contact-details a,.contact-card p,.governance p{color:var(--foreground)}
.hero-visual{background:radial-gradient(ellipse at 15% 15%,#9000ff24,transparent 65%),radial-gradient(ellipse at 90% 90%,#00e5ff20,transparent 65%),#0c0c1d;border-color:#2e2e5e;color:#eceff4}.product-showcase-row .showcase-products{background:linear-gradient(115deg,var(--card),var(--secondary));border-color:var(--line);border-top:2px solid var(--primary)}.product-showcase-row .module-circuit .module-signal{stroke:var(--primary)}.server-hall{background:#0c0c1d;border-color:#2e2e5e}.server-cabinet{background:#151530;border-color:#2e2e5e}.server-unit{background:linear-gradient(160deg,#2e2e5e,#1e1e3f);border-color:#41416e}.server-unit.accent-blue{--unit-accent:var(--chart-3)}.server-unit.accent-violet{--unit-accent:#c08aff}.server-unit.accent-gold{--unit-accent:#ff9a48}.lab-emblem{border-top:2px solid var(--primary)}
.agent-chat{--agent-color:var(--primary);background:var(--card);color:var(--foreground);border:1px solid var(--line);border-top:3px solid var(--agent-color);border-radius:16px;padding:22px;box-shadow:0 12px 32px #0002}.agent-chat[data-role=workflow]{--agent-color:#9000ff}.agent-chat[data-role=security]{--agent-color:#008594}.agent-chat h3{color:var(--foreground);font-size:21px}.agent-chat small{color:var(--primary);font-family:var(--font-mono)}.agent-chat header button,.chat-settings button,.chat-setup button,.chat-compose-options button{background:var(--secondary);color:var(--foreground);border:1px solid var(--line);border-radius:8px;padding:8px 12px}.chat-settings{padding:12px 0;border-block:1px solid var(--line);font-size:11px}.chat-settings select{background:var(--card);color:var(--foreground);border-color:var(--line)}.agent-chat #chat-mode{color:var(--foreground);font-size:11px;opacity:.8}.agent-chat #chat-status,.chat-note{color:var(--foreground)}.chat-note{opacity:.7}.agent-activity{display:flex;align-items:center;gap:9px;padding-top:16px;font:11px var(--font-mono);color:var(--foreground)}.activity-led{width:7px;height:7px;border-radius:50%;background:var(--agent-color)}.voice-bars{display:flex;align-items:center;gap:3px;height:22px;margin-left:auto}.voice-bars i{width:3px;height:5px;background:var(--agent-color);border-radius:3px}.agent-chat[data-state=speaking] .voice-bars i,.agent-chat[data-state=listening] .voice-bars i{animation:voice-meter .65s ease-in-out infinite alternate}.voice-bars i:nth-child(2){animation-delay:.15s!important}.voice-bars i:nth-child(3){animation-delay:.3s!important}.voice-bars i:nth-child(4){animation-delay:.1s!important}.agent-chat[data-state=thinking] .activity-led{animation:voice-wait 1s infinite alternate}
#chat-log{padding:16px 0;max-height:300px}#chat-log p{background:var(--secondary);color:var(--foreground);border:0;border-left:2px solid var(--agent-color);padding:14px;line-height:1.8}#chat-log .chat-user{background:var(--card);border:1px solid var(--line);margin-left:20px}#chat-form{gap:8px}#chat-form>label{font-size:11px}.chat-composer{display:flex;align-items:flex-end;gap:8px;padding:8px;border:1px solid var(--input);border-radius:12px;background:var(--card)}#chat-input{flex:1;min-width:0;min-height:48px;max-height:160px;border:0;background:transparent;color:var(--foreground);padding:10px 6px;resize:vertical}.chat-composer button{flex-shrink:0;min-height:44px}#chat-mic{display:grid;place-items:center;width:44px;background:var(--secondary);color:var(--foreground);border:1px solid var(--line);border-radius:8px}#chat-mic[aria-pressed=true]{background:var(--primary);color:#fff;box-shadow:0 0 0 4px #ea580c25}#chat-send{padding:10px 13px;margin:0;border-radius:8px;font-size:12px}.chat-compose-options{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.chat-compose-options label{display:flex;align-items:center;gap:6px;font-size:10px}.chat-compose-options input{width:auto}.chat-compose-options button{font-size:10px}.chat-setup{border-color:var(--line)}
.robot-scene[data-agent-state=speaking] .robot-active,.robot-scene[data-agent-state=listening] .robot-active{filter:drop-shadow(0 0 10px #00e5ff99)}.robot-scene[data-agent-state=speaking] .robot-active{animation:robot-answer .6s ease-in-out infinite alternate}.robot-scene[data-agent-state=thinking] .robot-active{filter:drop-shadow(0 0 9px #ff8800aa)}
@keyframes voice-meter{to{height:20px}}@keyframes voice-wait{to{opacity:.25}}@keyframes robot-answer{to{transform:translateY(-5px)}}
@media(max-width:480px){.agent-chat{padding:14px}.chat-composer{gap:5px}#chat-send{padding-inline:9px}.chat-settings{gap:9px}.agent-chat h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.agent-chat .voice-bars i,.agent-chat .activity-led,.robot-scene .robot-active{animation:none!important}}
.motion-stopped .voice-bars i,.motion-stopped .activity-led{animation-play-state:paused!important}

/* Conversation studio */
.agent-chat{padding:0;overflow:hidden;border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 50px #0003}
.agent-chat>header{padding:18px 22px;border-bottom:1px solid var(--line)}
.agent-chat>header h3{margin:4px 0 0;font-size:18px}
.agent-chat #chat-close{width:42px;height:42px;border-radius:50%;font-size:22px}
.chat-stage{position:relative;display:flex;align-items:center;gap:14px;min-height:180px;padding:16px 22px;isolation:isolate;background:var(--secondary);overflow:hidden}
.chat-stage:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 20% 50%,color-mix(in srgb,var(--agent-color) 18%,transparent),transparent 65%)}
.chat-orbit{position:absolute;left:35px;top:25px;width:140px;height:140px;border:1px dashed var(--agent-color);opacity:.25;border-radius:50%;transform:rotate(-20deg)}
.chat-avatar{width:180px;flex:0 0 180px;padding:0;background:none;border:0;position:relative;color:var(--agent-color);border-radius:50%}
.chat-avatar svg{display:block;width:100%;height:auto;overflow:visible}
.avatar-shell{fill:var(--card);stroke:currentColor;stroke-width:2}
.avatar-visor{fill:#0c0c1d;stroke:currentColor;stroke-width:1}
.avatar-eyes,.avatar-mouth,.avatar-beacon{fill:var(--chart-3)}
.avatar-neck{fill:currentColor}.avatar-wing{fill:color-mix(in srgb,var(--agent-color) 16%,var(--card));stroke:currentColor;stroke-width:2}
.avatar-antenna{stroke:currentColor;stroke-width:3}.avatar-ground{fill:currentColor;opacity:.12}
.chat-stage-copy{display:grid;gap:9px;min-width:0}.chat-channel{font:9px var(--font-mono);letter-spacing:.12em;color:var(--agent-color)}.chat-stage-copy strong{font-size:22px;line-height:1.2;color:var(--foreground);max-width:250px}.chat-stage-copy>span:last-child{font-size:11px;line-height:1.6;color:var(--foreground);opacity:.7}
.agent-chat .chat-settings{padding:12px 22px;border-top:0;gap:12px}
.agent-chat .agent-activity{padding:12px 22px 0}
.agent-chat #chat-mode{margin:8px 22px;font-size:10px;color:var(--muted-foreground)}
.agent-chat #chat-log{padding:12px 22px;max-height:260px;min-height:100px;gap:12px}
.agent-chat #chat-log p{font-size:13px;border:0;border-radius:2px 16px 16px 16px;padding:13px 15px;max-width:94%;line-height:1.7}
.agent-chat #chat-log .chat-user{justify-self:end;background:color-mix(in srgb,var(--primary) 12%,var(--card));border-radius:16px 2px 16px 16px;border:1px solid var(--line)}
.agent-chat #chat-form{padding:12px 22px 0;margin:0}
.agent-chat .chat-composer{border:1px solid var(--line);box-shadow:0 3px 12px #0001;border-radius:18px;align-items:center}
.agent-chat .chat-composer:focus-within{outline:2px solid var(--ring);outline-offset:2px}
.agent-chat #chat-input{font-size:14px;min-height:48px}
.agent-chat #chat-mic{border-radius:50%;background:var(--secondary)}
.agent-chat #chat-send{border-radius:50%;width:46px;height:46px;font-size:0}
.agent-chat #chat-send:after{content:"↑";font-size:23px}
.agent-chat .chat-compose-options{margin-top:8px}.agent-chat .chat-compose-options button{border:0;background:none;color:var(--foreground)}
.agent-chat #chat-status,.agent-chat #chat-audio-status{margin:6px 22px;font-size:12px;line-height:1.6;color:var(--foreground)}
.agent-chat #chat-audio-status:empty,.agent-chat #chat-status:empty{display:none}
.agent-chat .chat-note{margin:10px 22px 18px;font-size:10px;line-height:1.6}
.agent-chat[data-role=workflow] .avatar-wing{transform-origin:center;transform:scaleX(1.12)}
.agent-chat[data-role=security] .avatar-shell{stroke-width:4}
.agent-chat[data-state=listening] .avatar-eyes{transform-origin:center;transform:scaleY(1.25)}
.agent-chat[data-state=listening] .chat-orbit{animation:studio-listen 1.4s ease-out infinite}
.agent-chat[data-state=thinking] .chat-orbit{border-style:solid;border-right:3px solid var(--agent-color);animation:studio-spin 2s linear infinite}
.agent-chat[data-state=speaking] .avatar-mouth rect{transform-box:fill-box;transform-origin:center;animation:studio-mouth .35s infinite alternate}
.agent-chat[data-state=speaking] .avatar-mouth rect:nth-child(2n){animation-delay:.18s}
.agent-chat[data-state=speaking] .avatar-body{animation:studio-nod 1s ease-in-out infinite alternate;transform-origin:center}
.chat-avatar:hover .avatar-body{transform:translateY(-4px)}
@keyframes studio-mouth{to{transform:scaleY(2.1)}}
@keyframes studio-listen{to{transform:scale(1.2);opacity:0}}
@keyframes studio-spin{to{transform:rotate(340deg)}}
@keyframes studio-nod{to{transform:translateY(-3px) rotate(2deg)}}
@media(max-width:480px){.chat-stage{padding:14px;gap:5px;min-height:150px}.chat-avatar{width:130px;flex-basis:130px}.chat-orbit{left:23px;top:22px;width:110px;height:110px}.chat-stage-copy strong{font-size:18px}.chat-channel{font-size:8px}.agent-chat>header,.agent-chat .chat-settings{padding:14px}.agent-chat #chat-log{padding-inline:14px}.agent-chat #chat-form{padding-inline:14px}.chat-settings select{max-width:135px}}
@media(prefers-reduced-motion:reduce){.agent-chat *{animation:none!important;transition:none!important}}
.motion-stopped .agent-chat *{animation-play-state:paused!important}
