.vral-ai-launcher{right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:70;cursor:pointer;color:#5632d1;background:#fff;border:1px solid #e4e0f5;border-radius:22px;place-items:center;width:64px;height:64px;transition:all .25s cubic-bezier(.175,.885,.32,1.275);display:grid;position:fixed;box-shadow:0 8px 30px #23145a1f}.vral-ai-launcher:hover{transform:translateY(-4px)scale(1.05);box-shadow:0 12px 40px #23145a2e}.vral-ai-launcher:active{transform:translateY(0)scale(.95)}.vral-ai-launcher:focus-visible{outline-offset:3px;outline:3px solid #5632d1}.vral-ai-face{width:30px;height:24px;display:block;position:relative}.vral-ai-face i{background:#5632d1;border-radius:999px;width:7px;height:7px;animation:5s ease-in-out infinite vralBlink;position:absolute;top:3px}.vral-ai-face i:first-child{left:3px}.vral-ai-face i:nth-child(2){animation-delay:.12s;right:3px}.vral-ai-face b{border-bottom:2px solid #5632d1;border-radius:0 0 12px 12px;height:8px;animation:5s ease-in-out infinite vralSmile;position:absolute;bottom:3px;left:6px;right:6px}@keyframes vralBlink{0%,90%,to{transform:scaleY(1)}94%{transform:scaleY(.15)}}@keyframes vralSmile{0%,to{transform:scaleX(1)}50%{transform:scaleX(.82)}}@media (prefers-reduced-motion:reduce){.vral-ai-face i,.vral-ai-face b{animation:none}.vral-ai-launcher,.vral-ai-panel{transition:none;animation:none}}.vral-ai-panel{right:20px;bottom:calc(90px + env(safe-area-inset-bottom,0px));z-index:71;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffffa;border:1px solid #e7e3f4;border-radius:20px;flex-direction:column;width:min(440px,100vw - 32px);max-height:min(74vh,720px);animation:.25s cubic-bezier(.16,1,.3,1) vralPanelIn;display:flex;position:fixed;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 24px 60px #1c10482e,inset 0 0 0 1px #fffc}@keyframes vralPanelIn{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.vral-ai-head{background:#fff;border-bottom:1px solid #f0edf9;justify-content:space-between;align-items:center;gap:10px;padding:16px 20px;display:flex}.vral-ai-head strong{color:#1c1633;font-size:14px;font-weight:600;display:block}.vral-ai-head span{color:#334155;text-transform:none;letter-spacing:0;align-items:center;gap:6px;font-size:12px;font-weight:650;display:flex}.vral-ai-empty{color:#1f2937;text-align:center;max-width:36ch;margin:auto;font-size:15px}.vral-ai-empty strong{color:#0b0b0c;letter-spacing:-.03em;margin-bottom:8px;font-size:22px;font-weight:650;display:block}.vral-ai-empty img{object-fit:contain;width:48px;height:48px;margin-bottom:10px}.vral-ai-identity{align-items:center;gap:10px;min-width:0;display:flex}.vral-ai-identity img{object-fit:contain;width:28px;height:28px}.vral-ai-dot{background:#ca8a04;border-radius:99px;width:7px;height:7px}.vral-ai-dot.on{background:#147a5b}.vral-ai-mark{object-fit:contain;width:34px;height:34px}.vral-ai-launcher{color:#0f172a;border-color:#e8ecf2;box-shadow:0 8px 24px #0f172a1f}.vral-ai-launcher.is-open{color:#fff;background:#0f172a;border-color:#0f172a}.vral-ai-panel{border-color:#e8ecf2;border-radius:16px;max-height:min(82vh,760px)}.vral-ai-stream,.vral-ai-history{background:#fff}.vral-ai-msg{color:#0b0b0c;border-color:#e8ecf2}.vral-ai-msg.role-user{background:#1e3a5f;border-color:#1e3a5f}.vral-ai-send{background:#0f172a;border-color:#0f172a}.vral-ai-composer textarea{color:#0b0b0c;background:#fff;border-color:#d4d4d8}.vral-ai-composer textarea::placeholder{color:#475569}.vral-ai-modes button{color:#334155}.vral-ai-modes button.active{color:#0b0b0c}.vral-ai-head-actions{align-items:center;gap:6px;display:flex}.vral-ai-head-actions button{color:#3b3357;cursor:pointer;background:#fff;border:1px solid #e7e3f4;border-radius:10px;align-items:center;gap:4px;min-height:32px;padding:0 10px;font-size:12px;display:inline-flex}.vral-ai-head-actions button:hover{background:#f7f5ff}.vral-ai-head-actions svg{width:14px;height:14px}.vral-ai-modes{background:#fcfbfe;border-bottom:1px solid #f0edf9;padding:12px 14px 6px;display:flex}.vral-ai-modes-inner{background:#f1eff8;border-radius:10px;width:100%;padding:3px;display:flex}.vral-ai-modes button{color:#6b6483;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;min-height:30px;font-size:13px;font-weight:500;transition:all .15s}.vral-ai-modes button.active{color:#5632d1;background:#fff;box-shadow:0 2px 4px #0000000d}.vral-ai-warn{color:#7a2f18;background:#fff6f4;border:1px solid #f3d7cf;border-radius:8px;margin:10px 14px 0;padding:8px 10px;font-size:12px}.vral-ai-stream,.vral-ai-history{background:#fbfaff;flex-direction:column;flex:1;gap:16px;min-height:240px;padding:20px;display:flex;overflow-y:auto}.vral-ai-empty{color:#6b6483;font-size:13px}.vral-ai-empty strong{color:#1c1633}.vral-ai-msg{color:#221c3a;overflow-wrap:anywhere;background:#fff;border:1px solid #eee9f8;border-radius:14px;max-width:85%;padding:12px 14px;font-size:14px;line-height:1.5;box-shadow:0 1px 2px #00000005}.vral-ai-msg.role-user{color:#fff;background:#5632d1;border-color:#5632d1;align-self:flex-end}.vral-ai-msg.role-user p{color:#fff}.vral-ai-msg.kind-error{color:#7a2f18;background:#fff6f4;border-color:#f3d7cf;align-self:center}.vral-ai-msg p{margin:0}.vral-ai-msg figure{margin:6px 0 0}.vral-ai-msg img,.vral-ai-msg video{background:#fff;border-radius:10px;width:100%;display:block}.vral-ai-msg audio{width:100%}.vral-ai-msg figcaption{margin-top:4px;font-size:12px}.vral-ai-msg figcaption a{color:#5632d1;align-items:center;gap:4px;display:inline-flex}.vral-ai-msg figcaption svg{width:13px;height:13px}.vral-ai-file{color:#4a4364;font-size:12px}.vral-ai-working{color:#6b6483;align-items:center;gap:6px;font-size:12px;display:inline-flex}.vral-ai-working svg,.spin{width:14px;height:14px;animation:1s linear infinite vralSpin}@keyframes vralSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.vral-ai-working svg,.spin{animation:none}}.vral-ai-thread{align-items:stretch;gap:6px;display:flex}.vral-ai-thread>button:first-child{text-align:left;cursor:pointer;background:#fff;border:1px solid #eee9f8;border-radius:10px;flex:1;padding:8px 10px}.vral-ai-thread.current>button:first-child{background:#f6f4ff;border-color:#5632d1}.vral-ai-thread strong{color:#221c3a;font-size:13px;display:block}.vral-ai-thread span{color:#6b6483;font-size:11px;display:block}.vral-ai-thread>button:last-child{color:#7a2f18;cursor:pointer;background:#fff;border:1px solid #eee9f8;border-radius:10px;width:36px;transition:all .15s}.vral-ai-thread>button:last-child:hover{background:#fff6f4;border-color:#f3d7cf}.vral-ai-thread svg{width:15px;height:15px}.vral-ai-controls{background:#fff;flex-wrap:wrap;gap:12px;padding:14px;display:flex}.vral-ai-controls label{color:#6b6483;flex-direction:column;gap:3px;font-size:11px;display:flex}.vral-ai-controls label.vral-ai-wide{flex:100%}.vral-ai-controls select,.vral-ai-controls input[type=text],.vral-ai-controls input:not([type]){color:#221c3a;background:#fff;border:1px solid #e7e3f4;border-radius:10px;min-height:32px;padding:0 8px;font-size:12px}.vral-ai-check{align-self:flex-end;align-items:center;gap:6px;min-height:32px;flex-direction:row!important}.vral-ai-slots{flex-wrap:wrap;gap:8px;padding:10px 14px 0;display:flex}.vral-ai-slots label{color:#6b6483;cursor:pointer;background:#fff;border:1px dashed #d9d2f3;border-radius:10px;flex:140px;padding:8px 10px;font-size:11px}.vral-ai-slots label.filled{background:#f6f4ff;border-style:solid;border-color:#5632d1}.vral-ai-slots strong{color:#221c3a;overflow-wrap:anywhere;font-size:12px;display:block}.vral-ai-slots input{display:none}.vral-ai-chips{flex-wrap:wrap;gap:6px;margin:0;padding:10px 14px 0;list-style:none;display:flex}.vral-ai-chips li{color:#3d24a0;background:#f6f4ff;border:1px solid #ded5fb;border-radius:999px;align-items:center;gap:4px;max-width:100%;padding:4px 8px;font-size:11px;display:inline-flex}.vral-ai-chips span{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.vral-ai-chips button{color:#3d24a0;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.vral-ai-chips svg{width:12px;height:12px}.vral-ai-composer{padding:12px 14px calc(14px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #f0edf9;align-items:flex-end;gap:8px;display:flex}.vral-ai-composer textarea{resize:none;font:inherit;color:#221c3a;background:#fcfbfe;border:1px solid #e7e3f4;border-radius:12px;flex:1;padding:10px 12px;font-size:14px;line-height:1.4;transition:all .15s}.vral-ai-composer textarea:focus{background:#fff;border-color:#5632d1;box-shadow:0 0 0 4px #5632d114}.vral-ai-composer textarea:focus-visible,.vral-ai-controls select:focus-visible{outline-offset:1px;outline:2px solid #5632d1}.vral-ai-composer>button{color:#3b3357;cursor:pointer;background:#fff;border:1px solid #e7e3f4;border-radius:12px;place-items:center;min-width:42px;min-height:42px;transition:all .15s;display:grid}.vral-ai-composer>button:hover{background:#f7f5ff;border-color:#d9d2f3}.vral-ai-composer>button.recording{color:#ef4444;background:#fef2f2;border-color:#ef4444;animation:2s infinite vralPulse}@keyframes vralPulse{0%{transform:scale(1)}50%{transform:scale(1.05);box-shadow:0 0 0 4px #ef44441a}to{transform:scale(1)}}.vral-ai-send{color:#fff;background:#5632d1;border-color:#5632d1;transition:all .15s;min-width:42px!important;min-height:42px!important}.vral-ai-send:hover:not(:disabled){background:#4a2bb3;transform:scale(1.05)}.vral-ai-send:disabled{opacity:.4;cursor:not-allowed}.vral-ai-composer svg{width:17px;height:17px}.vral-ai-panel.is-closing{animation:.14s ease-in forwards vralPanelOut}@keyframes vralPanelOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}.vral-ai-panel.is-dragging{border-color:#5632d1;box-shadow:0 0 0 3px #ede8ff,0 24px 60px #1c104838}.vral-ai-setup{color:#33294f;background:#fbfaff;border:1px solid #e2dcf7;border-radius:12px;margin:10px 14px 0;padding:10px 12px;font-size:12px}.vral-ai-setup strong{color:#1c1633;margin-bottom:2px;font-size:13px;display:block}.vral-ai-setup p{margin:0 0 4px}.vral-ai-setup p:last-child{margin-bottom:0}.vral-ai-more{color:#3b3357;cursor:pointer;background:#fff;border:1px solid #e7e3f4;border-radius:10px;align-self:flex-end;min-height:32px;padding:0 10px;font-size:12px}.vral-ai-more:hover{background:#f7f5ff}.vral-ai-advanced{background:#fbfaff;border-top:0;border-radius:12px;margin:8px 10px 0;padding:12px}.vral-ai-advanced input[type=range]{accent-color:#5632d1;width:130px}.vral-ai-advanced input[type=number]{border:1px solid #e7e3f4;border-radius:10px;width:120px;min-height:32px;padding:0 8px;font-size:12px}.vral-ai-facts{color:#6b6483;margin-bottom:2px;font-size:11px;display:block}.vral-ai-recording{color:#7a2f18;margin:0 14px 10px;font-size:12px}@media (width<=768px){.vral-ai-launcher{right:14px;bottom:calc(76px + env(safe-area-inset-bottom,0px))}.vral-ai-panel{z-index:90;border:0;border-radius:0;width:auto;height:100dvh;max-height:none;inset:0}.vral-ai-panel .vral-ai-composer{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.vral-ai-controls label,.vral-ai-advanced label{flex:46%}.vral-ai-advanced input[type=range]{width:100%}}.vral-ai-linkish{font:inherit;color:#5b2bd9;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.vral-ai-linkish:focus-visible{outline-offset:2px;outline:2px solid #5b2bd9}@keyframes ops-enter{0%{opacity:0;filter:blur(6px);transform:translateY(12px)scale(.992)}to{opacity:1;filter:none;transform:none}}@keyframes ops-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes ops-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.35)}}@keyframes ops-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ops-shimmer{0%{background-position:120% 0}to{background-position:-20% 0}}@keyframes ops-dash{to{stroke-dashoffset:-24px}}.ops-page-motion{animation:.28s cubic-bezier(.22,1,.36,1) ops-enter}.shell-v4 .main-nav a,.shell-v4 .nav-disclosure,.shell-v4 .company-switcher>button{transition:background .18s,color .18s,transform .18s,border-color .18s}.shell-v4 .main-nav a:hover{transform:translate(3px)}.shell-v4 .button,.shell-v4 .franky-btn,.shell-v4 .icon-button{transition:transform .16s,box-shadow .16s,background .16s,opacity .16s}.preview-map-group{margin-bottom:28px}.preview-map-group h2{letter-spacing:.04em;text-transform:uppercase;color:#475569;margin:0 0 12px;font-size:15px}.preview-map-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.preview-map-card{min-height:108px;color:inherit;animation:.42s cubic-bezier(.22,1,.36,1) both ops-rise;animation-delay:calc(var(--i,0) * 28ms);background:#fff;border:1px solid #e8ecf2;border-radius:14px;gap:4px;padding:14px 16px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.preview-map-card:hover{border-color:#c7c2d4;transform:translateY(-3px);box-shadow:0 12px 28px #140e2d14}.preview-map-card small{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:11px;font-weight:800}.preview-map-card.is-room small{color:#5632d1}.preview-map-card strong{letter-spacing:-.02em;font-size:15px}.preview-map-card span{color:#475569;font-size:13px;line-height:1.35}.ops-preview-banner a{color:#fff;text-underline-offset:3px;font-weight:800;text-decoration:underline}.ops-live-dot{background:#ff7a21;border-radius:99px;width:8px;height:8px;animation:1.2s ease-in-out infinite ops-pulse;display:inline-block}.character-mark{--character-mark-size:40px;--character-mark-pupil-x:0px;--character-mark-pupil-y:0px;width:var(--character-mark-size);height:var(--character-mark-size);flex:0 0 var(--character-mark-size);vertical-align:middle;place-items:center;line-height:0;display:inline-grid}.character-mark svg{width:100%;height:100%;display:block;overflow:visible}.character-mark-idle{transform-origin:32px 56px;animation:4.8s ease-in-out infinite character-mark-idle}.character-mark-pupil{transform:translate(var(--character-mark-pupil-x), var(--character-mark-pupil-y));transition:transform .28s cubic-bezier(.22,1,.36,1)}.character-mark-lid{transform-box:fill-box;transform-origin:50% 0;transform:scaleY(.08)}.character-mark.is-blink .character-mark-lid{transition:transform .15s cubic-bezier(.22,1,.36,1);transform:scaleY(1)}.character-mark:not(.is-blink) .character-mark-lid{transition:transform .16s cubic-bezier(.22,1,.36,1)}@keyframes character-mark-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-1.2px)}}@media (prefers-reduced-motion:reduce){.character-mark-idle,.character-mark-pupil{transition:none;animation:none;transform:none}.character-mark-lid,.character-mark.is-blink .character-mark-lid,.character-mark:not(.is-blink) .character-mark-lid{transition:none;animation:none;transform:scaleY(.08)}.character-mark{--character-mark-pupil-x:0px;--character-mark-pupil-y:0px}}
