:root{--font-sans: "IBM Plex Sans", system-ui, sans-serif;--font-arabic: "IBM Plex Sans Arabic", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--bg-canvas: #ffffff;--bg-subtle: #faf9f6;--bg-sunken: #f1efe9;--line-hairline: #e6e3dc;--line-strong: #c9c6bf;--ink-primary: #16171a;--ink-secondary: #63666d;--ink-action: #1c1e22;--ink-action-hover: #33373c;--ink-on-action: #ffffff;--ink-disabled: #a0a2a7;--brass-ink: #8a6a2e;--brass-line: #d9c79b;--brass-wash: #f6f0e1;--ok-base: #2f7a52;--ok-ink: #276444;--ok-wash: #edf4ef;--ok-line: #cbe0d3;--warn-base: #a8710f;--warn-ink: #8a5c0c;--warn-wash: #f8f1e4;--warn-line: #e7d6b6;--error-base: #b4382f;--error-ink: #992f27;--error-wash: #fbeeed;--error-line: #efd2cf;--info-base: #2e5c93;--info-ink: #2a5182;--info-wash: #edf1f8;--info-line: #cfdbec;--actor-customer-wash: #f1efe9;--actor-customer-ink: #3a3d42;--actor-customer-line: #e6e3dc;--actor-agent-wash: #edeff2;--actor-agent-ink: #33414f;--actor-agent-line: #d9dee4;--actor-system-wash: #e9edea;--actor-system-ink: #33413a;--actor-system-line: #d5dcd7;--actor-admin-wash: #f6f0e1;--actor-admin-ink: #7a5c24;--actor-admin-line: #e7d6b6;--console-sidebar: #1c1e22;--console-sidebar-active: #26292e;--console-sidebar-rule: #2c2f34;--console-sidebar-label: #6e7278;--console-sidebar-item: #c3c6ca;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--radius-full: 999px;--radius-bubble-tail: 4px;--shadow-e1: 0 0 0 1px #e6e3dc;--shadow-e2: 0 4px 14px rgba(22, 23, 26, .07);--shadow-e3: 0 18px 44px rgba(22, 23, 26, .16);--dur-fast: .15s;--dur-base: .24s;--dur-slow: .4s;--focus-ring: #8a6a2e;--font-display: var(--font-sans);--font-body: var(--font-sans);--color-bg: var(--bg-canvas);--color-surface: var(--bg-subtle);--color-text: var(--ink-primary);--color-text-muted: var(--ink-secondary);--color-border: var(--line-hairline);--color-accent: var(--ink-action);--color-accent-contrast: var(--ink-on-action);--color-send: var(--ink-action);--color-header-bg: var(--ink-action);--color-bubble-agent: var(--bg-subtle);--color-bubble-user: var(--ink-action);--color-bubble-text: var(--ink-primary);--color-ok: var(--ok-base);--color-error: var(--error-base);--color-loading: var(--ink-disabled)}body{margin:0;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg)}.health-panel{margin-top:1.5rem;padding:1rem 1.25rem;max-width:24rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}.health-title{margin:0 0 .75rem;font-family:var(--font-display);font-size:1rem;color:var(--color-text-muted)}.health-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.health-item{display:flex;align-items:center;gap:.625rem}.health-dot{width:.7rem;height:.7rem;border-radius:50%;flex:0 0 auto;background:var(--color-loading)}.health-dot--ok{background:var(--color-ok)}.health-dot--error{background:var(--color-error)}.health-dot--loading{background:var(--color-loading)}.health-name{font-weight:600;min-width:5rem}.health-state{color:var(--color-text-muted)}.health-detail{margin:.75rem 0 0;font-size:.85rem;color:var(--color-error);word-break:break-word}html,body,#root{height:100%}#root{display:flex}.chat{display:flex;flex-direction:column;width:100%;max-width:46rem;height:100dvh;margin:0 auto;background:var(--color-bg);border-inline:1px solid var(--color-border)}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:12px 16px;background:var(--bg-canvas);border-bottom:1px solid var(--line-hairline)}.brand{display:flex;align-items:center;gap:.65rem}.brand-avatar{position:relative;display:grid;place-items:center;width:2.35rem;height:2.35rem;color:var(--ink-on-action);background:var(--ink-action);border-radius:50%;box-shadow:0 0 0 1.5px var(--brass-line)}.brand-face{width:100%;height:100%;display:block;border-radius:50%;object-fit:cover}.brand-online{position:absolute;right:-2px;bottom:-2px;width:.62rem;height:.62rem;border-radius:50%;background:var(--ok-base);border:2.5px solid var(--bg-canvas)}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-title{margin:0;font-family:var(--font-sans);font-weight:600;font-size:1rem;line-height:1.15;color:var(--ink-primary)}.brand-sub{margin:0;font-size:.78rem;color:var(--ink-secondary)}.chat-header .btn--newchat{display:inline-flex;align-items:center;gap:.4rem;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-primary);border:1px solid var(--line-strong);background:var(--bg-canvas);padding:8px 12px}.chat-header .btn--newchat:hover{color:var(--ink-action);background:var(--bg-sunken);border-color:var(--ink-action)}.row--receipt{justify-content:flex-start}.row--receipt.row--rtl{justify-content:flex-end}.receipt{display:inline-flex;align-items:center;gap:.4rem;padding:4px 10px;border-radius:var(--radius-full);border:1px solid var(--brass-line);background:var(--brass-wash);color:var(--brass-ink);font-size:13px}.receipt-tick{display:inline-grid;place-items:center;width:1rem;height:1rem;border-radius:50%;background:var(--brass-ink);color:var(--bg-canvas)}.receipt-label{font-weight:500}.receipt-ref{font-family:var(--font-mono);font-weight:500;letter-spacing:.05em;font-variant-numeric:tabular-nums}.chat-thread{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:.55rem;padding:1.1rem}.empty{margin:auto 0;padding:8px 0;text-align:start;color:var(--ink-secondary);display:flex;flex-direction:column;align-items:flex-start;width:100%}.empty-avatar{width:112px;height:112px;border-radius:50%;background:var(--ink-action);box-shadow:0 0 0 2px var(--brass-line);overflow:hidden;margin-bottom:24px}.empty-avatar-face{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%}.empty-hello{margin:0;font-family:var(--font-sans);font-weight:600;font-size:28px;line-height:1.12;letter-spacing:-.025em;color:var(--ink-primary)}.empty-sub{margin:12px 0 0;font-size:16px;line-height:1.5;color:var(--ink-secondary);max-width:32ch}.starter-list{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:24px}.starter-btn{display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box;min-height:56px;padding:0 18px;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-sans);font-size:16px;font-weight:500;text-align:start;transition:background .15s,border-color .15s,transform .12s}.starter-btn:active{transform:scale(.98)}.starter-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-canvas),0 0 0 4px var(--focus-ring)}.starter-btn--primary{background:var(--ink-action);color:var(--ink-on-action);border:none}.starter-btn--primary:hover{background:var(--ink-action-hover)}.starter-btn--secondary{background:var(--bg-sunken);color:var(--ink-primary);border:1px solid var(--line-hairline)}.starter-btn--secondary:hover{background:var(--bg-canvas);border-color:var(--line-strong)}.starter-chev{width:18px;height:18px;flex:0 0 auto;opacity:.85}.row{display:flex}.row--user{justify-content:flex-end}.row--agent{justify-content:flex-start}.row--system{justify-content:center}.bubble{max-width:85%;padding:12px 14px;border-radius:var(--radius-md);line-height:1.5;white-space:pre-wrap;word-wrap:break-word;font-size:16px;font-weight:400}.bubble--user{max-width:78%;background:var(--color-bubble-user);color:var(--ink-on-action);border-bottom-right-radius:var(--radius-bubble-tail)}.bubble--agent{background:var(--color-bubble-agent);color:var(--color-bubble-text);border:1px solid var(--line-hairline);border-bottom-left-radius:var(--radius-bubble-tail)}.bubble--error{background:color-mix(in srgb,var(--color-error) 10%,var(--color-bg));color:var(--color-error);border:1px solid color-mix(in srgb,var(--color-error) 35%,transparent)}.bubble--system{background:transparent;color:var(--color-text-muted);font-size:.85rem;font-style:italic;text-align:center;max-width:90%}.bubble--rtl{direction:rtl;text-align:right;font-family:var(--font-arabic)}.bubble--ltr{direction:ltr;text-align:left}.caret{display:inline-block;width:2px;height:1em;margin-inline-start:2px;background:currentColor;vertical-align:text-bottom;animation:blink 1s steps(2) infinite}@keyframes blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.dots,.working-dots{display:inline-flex;gap:3px;align-items:center}.dots i,.working-dots i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.4;animation:bounce 1.2s infinite}.dots i:nth-child(2),.working-dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3),.working-dots i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.working{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .75rem;border-radius:12px;background:var(--color-surface);color:var(--color-text-muted);font-size:.85rem;font-style:italic}.composer-dock{border-top:1px solid var(--color-border);background:#fff}.composer{display:flex;gap:10px;align-items:center;padding:10px 12px}.composer-input{flex:1;resize:none;height:44px;box-sizing:border-box;padding:10px 14px;border:1px solid var(--line-hairline);border-radius:var(--radius-full);font-family:var(--font-sans);font-size:15px;color:var(--ink-primary);background:var(--bg-sunken);line-height:1.4;overflow-y:hidden}.composer-input::placeholder{color:var(--ink-disabled)}.composer-input:focus{outline:none;background:var(--bg-canvas);border-color:var(--ink-action)}.composer-input:focus-visible{box-shadow:0 0 0 2px var(--bg-canvas),0 0 0 4px var(--focus-ring)}.btn--ghost{padding:.4rem .8rem;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);font-size:.8rem}.btn--ghost:hover{color:var(--color-text);border-color:var(--color-text-muted)}.composer--closed{align-items:center;justify-content:space-between}.composer-ended{color:var(--color-text-muted);font-size:.9rem}.btn{padding:.6rem 1.2rem;border:none;border-radius:10px;font-family:var(--font-display);font-size:.9rem;font-weight:600;cursor:pointer}.btn--send{background:var(--color-accent);color:var(--color-accent-contrast)}.btn--send:disabled{opacity:.45;cursor:not-allowed}.btn--stop{background:var(--color-error);color:#fff}.btn--send-icon{display:flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;width:44px;height:44px;border-radius:50%;background:var(--ink-action);color:var(--ink-on-action);border:none}.btn--send-icon:hover:not(:disabled){background:var(--ink-action-hover)}.btn--send-icon:disabled{background:var(--bg-sunken);border:1px solid var(--line-hairline);color:var(--ink-disabled);cursor:not-allowed}.btn--stop-icon{display:flex;align-items:center;justify-content:center;padding:0;width:44px;height:44px;border-radius:50%;background:var(--ink-action);color:var(--ink-on-action);border:none}.btn--attach{display:flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;width:2.4rem;height:2.4rem;border-radius:50%;background:transparent;border:none;color:var(--color-text-muted);opacity:.4;cursor:default}.btn--attach+.btn--mic{margin-inline-start:-.35rem}.btn--mic{display:flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;width:44px;height:44px;border-radius:50%;background:var(--bg-sunken);color:var(--ink-primary);border:1px solid var(--line-hairline);transition:color .15s,background-color .15s,border-color .15s}.btn--mic:hover:not(:disabled){background:var(--bg-canvas);border-color:var(--line-strong)}.btn--mic:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-canvas),0 0 0 4px var(--focus-ring)}.btn--mic:disabled{opacity:.45;cursor:not-allowed}.composer--recording{align-items:center;justify-content:center;gap:.75rem}.voice-live{display:flex;align-items:center;gap:.4rem;font-variant-numeric:tabular-nums}.voice-elapsed{font-weight:600;font-size:.95rem}.voice-remaining{color:var(--color-text-muted);font-size:.85rem}.voice-icon{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.6rem;height:2.6rem;padding:0;border:none;border-radius:50%;cursor:pointer;background:transparent;color:var(--color-text-muted);transition:background .15s ease,color .15s ease}.voice-icon--cancel:hover{color:var(--color-error);background:color-mix(in srgb,var(--color-error) 12%,transparent)}.voice-icon--stop{background:var(--color-accent);color:var(--color-accent-contrast)}.voice-icon--stop:hover{filter:brightness(1.08)}.voice-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--color-error);animation:voice-pulse 1.4s ease-in-out infinite}@keyframes voice-pulse{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion: reduce){.voice-dot{animation:none}}.call-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,#0b1220 62%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.call-overlay-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:2.5rem 3rem;color:#fff;text-align:center}.call-overlay-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:6rem;height:6rem;border-radius:50%;background:var(--color-accent);color:var(--color-accent-contrast);margin-bottom:.75rem}.call-overlay-face{position:relative;z-index:1;width:100%;height:100%;display:block;border-radius:50%;object-fit:cover}.call-overlay-ring{position:absolute;top:-.45rem;right:-.45rem;bottom:-.45rem;left:-.45rem;border-radius:50%;border:3px solid rgba(255,255,255,.22)}.call-overlay-ring--connecting{border-color:#fff6}.call-overlay-ring--listening{border-color:#34d399}.call-overlay-ring--thinking{border-color:#d97706;border-style:dashed;animation:call-spin 3s linear infinite}.call-overlay-ring--speaking{border-color:var(--color-accent);animation:call-breathe 1.6s ease-in-out infinite}.call-overlay-pulse{--call-level: 0;position:absolute;top:-.45rem;right:-.45rem;bottom:-.45rem;left:-.45rem;border-radius:50%;pointer-events:none;box-shadow:0 0 calc(var(--call-level) * 1.8rem) calc(var(--call-level) * .5rem) color-mix(in srgb,#34d399 calc(var(--call-level) * 80%),transparent);transform:scale(calc(1 + var(--call-level) * .05));transition:box-shadow .09s linear,transform .09s linear}@keyframes call-spin{to{transform:rotate(360deg)}}@keyframes call-breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.7}}@media (prefers-reduced-motion: reduce){.call-overlay-ring--thinking,.call-overlay-ring--speaking{animation:none}.call-overlay-pulse{transition:none}}.call-overlay-name{font-size:1.5rem;font-weight:700;margin:0}.call-overlay-state{font-size:1rem;margin:0;color:#ffffffbf;min-height:1.4em}.call-overlay-elapsed{font-variant-numeric:tabular-nums;font-size:.9rem;margin:0;color:#ffffff8c}.call-overlay-controls{display:flex;gap:2rem;margin-top:2rem}.call-overlay-btn{display:flex;align-items:center;justify-content:center;width:3.6rem;height:3.6rem;padding:0;border:none;border-radius:50%;cursor:pointer;background:#ffffff29;color:#fff;transition:background .15s ease,filter .15s ease}.call-overlay-btn:hover{background:#ffffff42}.call-overlay-btn--mute.is-muted{background:#fff;color:var(--color-error)}.call-overlay-btn--hangup{background:var(--color-error)}.call-overlay-btn--hangup:hover{filter:brightness(1.1);background:var(--color-error)}.voice-player{display:flex;align-items:center;gap:.5rem;margin-block-end:.4rem;min-width:11rem}.voice-play{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.9rem;height:1.9rem;padding:0;border:none;border-radius:50%;cursor:pointer;background:color-mix(in srgb,currentColor 18%,transparent);color:inherit}.voice-play:hover{background:color-mix(in srgb,currentColor 28%,transparent)}.voice-track{flex:1 1 auto;height:.25rem;border-radius:999px;overflow:hidden;background:color-mix(in srgb,currentColor 22%,transparent)}.voice-progress{height:100%;background:currentColor;opacity:.75}.voice-time{flex:0 0 auto;font-size:.78rem;opacity:.8;font-variant-numeric:tabular-nums}.speak-btn{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:1.55rem;height:1.55rem;padding:0;margin-inline-start:.45rem;border:none;border-radius:50%;cursor:pointer;background:transparent;color:inherit;opacity:.4;transition:opacity .15s ease,background .15s ease}.speak-btn:hover{opacity:.9;background:color-mix(in srgb,currentColor 14%,transparent)}.speak-btn--on{opacity:1;background:color-mix(in srgb,currentColor 18%,transparent);animation:speak-pulse 1.6s ease-in-out infinite}@keyframes speak-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion: reduce){.speak-btn--on{animation:none}}.voice-note-hint{padding:0 1.1rem .7rem;margin:0;color:var(--color-text-muted);font-size:.8rem;text-align:center}.composer-disclaimer{padding:0 1.1rem .55rem;margin:-.15rem 0 0;color:var(--color-text-muted);font-size:.72rem;text-align:center}.vcards{display:flex;gap:.6rem;max-width:100%;box-sizing:border-box;align-self:flex-start;flex:0 0 auto;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding-inline-end:1.25rem;padding-block:4px}.vcards::-webkit-scrollbar{display:none}.vcards--rtl{align-self:flex-end}.vcards>*{scroll-snap-align:start;flex:0 0 auto}.vcard{display:flex;flex-direction:column;width:240px;height:238px;box-sizing:border-box;border:1px solid var(--line-hairline);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-canvas)}.vcard--pressable{padding:0;font:inherit;color:inherit;text-align:inherit;cursor:pointer;transition:border-color .15s}.vcard--pressable:hover:not(:disabled){border-color:var(--line-strong)}.vcard--pressable:focus-visible{outline:none;border-color:var(--ink-action);box-shadow:0 0 0 2px var(--bg-canvas),0 0 0 4px var(--focus-ring)}.vcard--pressable:disabled{cursor:not-allowed;opacity:.55}.vcard--static{cursor:default}.vcard-img{width:100%;height:134px;flex:0 0 auto;display:block;object-fit:cover;object-position:center;border-bottom:2px solid var(--line-hairline);background:var(--bg-sunken)}.vcard-img--empty{display:grid;place-items:center;color:var(--color-text-muted);font-size:1.5rem}.vcard-body{display:flex;flex-direction:column;height:98px;box-sizing:border-box;margin-top:2px;border-top:2px solid transparent;padding:12px 22px;min-width:0}.vcard-head{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:.5rem}.vcard-name{font-family:var(--font-display);font-weight:500;font-size:14px;line-height:18px;color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vcard-price{font-family:var(--font-display);font-weight:500;font-size:14px;line-height:18px;color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap;flex:0 0 auto}.vcard-tagline{margin-top:6px;font-family:var(--font-body);font-weight:400;font-size:11px;line-height:14px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vcard-chips{display:flex;gap:.35rem;margin:10px 0 0;padding:0;list-style:none;overflow:hidden}.vcard-chip{padding:5px 12px;border-radius:10px;background:var(--color-bubble-agent);color:var(--color-bubble-text);font-family:var(--font-body);font-weight:500;font-size:11px;line-height:14px;white-space:nowrap}.bkgs{align-self:flex-start;display:flex;flex-direction:column;gap:.6rem;width:100%;box-sizing:border-box;flex:0 0 auto}.bkgs>*{flex:0 0 auto}.bkgs--rtl{align-self:flex-end}.bkgs--superseded{opacity:.55}.bkgs--superseded .bkg-link{pointer-events:none;text-decoration:none}.bkg{display:flex;width:100%;box-sizing:border-box;border:1px solid rgba(240,241,242,1);border-radius:18px;overflow:hidden;background:#fff}.bkg-rail{display:flex;justify-content:center;flex:0 0 auto;width:48px;padding-top:1.05rem;background:var(--bg-subtle);border-inline-end:2px solid var(--brass-line);color:var(--brass-ink)}.bkg-main{flex:1;min-width:0;margin-inline-start:2px;border-inline-start:2px solid var(--brass-line);padding:1rem}.bkg-head{display:flex;align-items:center;gap:.75rem;margin-bottom:1.1rem}.bkg-head-label{font-family:var(--font-display);font-size:15px;font-weight:500}.bkg-count{display:inline-grid;place-items:center;min-width:1.4rem;height:1.4rem;padding:0 .5rem;border-radius:999px;background:var(--color-error);color:#fff;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.bkg-grid{display:flex;flex-wrap:wrap;gap:.75rem 22px}.bkg-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}.bkg-field--wide{margin-top:1rem}.bkg-label{font-size:13px;font-weight:400;color:var(--color-text)}.bkg-value{font-size:13px;font-weight:700;color:var(--color-text);white-space:nowrap}.bkg-link{font-size:14px;font-weight:400;color:var(--color-accent);text-decoration:underline;overflow-wrap:anywhere}.bkg-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.vcards--rtl .vcard-body{text-align:right}.shrs{display:flex;flex-direction:column;gap:.5rem;width:100%;align-self:flex-start}.shrs--rtl{align-self:flex-end}.shr{display:flex;align-items:center;gap:.7rem;width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--line-hairline);border-radius:var(--radius-md);background:var(--bg-canvas);color:var(--ink-primary);font-family:var(--font-sans);text-align:start;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s,transform .1s}.shr:hover:not(:disabled){border-color:var(--line-strong);background:var(--bg-subtle)}.shr:active:not(:disabled){transform:scale(.98);box-shadow:var(--shadow-e2)}.shr:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-canvas),0 0 0 4px var(--focus-ring)}.shr:disabled{cursor:not-allowed}.shr-mark{display:inline-flex;flex:0 0 auto;color:var(--ink-secondary)}.shr-bars{flex:0 0 auto;box-sizing:content-box;width:3px;height:20px;border-inline:3px solid var(--ink-secondary);border-radius:1px}.shr-name{flex:0 0 auto;font-family:var(--font-sans);font-weight:600;font-size:15px}.shr-address{flex:0 1 auto;min-width:0;font-size:13px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shr--selected,.shr--selected:disabled{opacity:1;cursor:default;background:var(--bg-canvas);border-color:var(--ink-action);box-shadow:inset 0 0 0 1px var(--ink-action)}.shr--selected .shr-mark,.shr--selected .shr-bars{color:var(--ink-action);border-color:var(--ink-action)}.shr--dead{opacity:.55}.slots{display:flex;flex-direction:column;gap:1.15rem;max-width:100%;align-self:flex-start}.slots--rtl{align-self:flex-end}.slot-group{display:flex;flex-direction:column;gap:.65rem}.slot-group-head{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.slot-group-mark{align-self:center;flex:0 0 auto;box-sizing:content-box;width:3px;height:20px;border-inline:3px solid rgba(198,201,207,1);border-radius:1px}.slot-group-mark--picked{border-inline-color:var(--ink-action)}.slot-group-day{font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--color-text)}.slot-group-where{font-size:14px;color:var(--color-text-muted)}.slot-group-times{display:flex;flex-wrap:wrap;gap:.6rem}.slot-chip{height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:8px;background:var(--bg-canvas);color:var(--ink-primary);font-family:var(--font-sans);font-weight:500;font-size:15px;font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background-color .15s,border-color .15s}.slot-chip:hover:not(:disabled){background:var(--bg-sunken);border-color:var(--ink-action)}.slot-chip:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-canvas),0 0 0 4px var(--focus-ring)}.slot-chip:disabled{cursor:not-allowed;background:var(--bg-sunken);border-color:var(--line-hairline);color:var(--ink-disabled);text-decoration:line-through}.slot-chip--selected,.slot-chip--selected:disabled{cursor:default;background:var(--ink-action);border-color:var(--ink-action);color:var(--ink-on-action);text-decoration:none}.vdlg-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14161a73;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.vdlg{background:var(--color-bg);border:1px solid var(--color-border);border-radius:14px;width:min(30rem,100%);max-height:min(85vh,44rem);overflow-y:auto;padding:1rem 1.15rem 1.25rem;font-family:var(--font-body)}.vdlg-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.vdlg-title{font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--color-text)}.vdlg-close{border:none;background:transparent;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--color-text-muted);padding:0 .25rem}.vdlg-img{width:100%;border-radius:10px;background:var(--color-surface);margin-bottom:.9rem}.vdlg-img--empty{display:grid;place-items:center;aspect-ratio:16 / 9;color:var(--color-border);font-size:2rem}.vdlg-rows{display:flex;flex-direction:column;gap:.4rem}.vdlg-row{display:flex;justify-content:space-between;gap:1rem;font-size:.92rem;border-bottom:1px solid var(--color-border);padding-bottom:.4rem}.vdlg-row-label{color:var(--color-text-muted)}.vdlg-row-value{color:var(--color-text);text-align:end}.vdlg-section{margin-top:1rem}.vdlg-section-title{font-family:var(--font-display);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:0 0 .4rem}.vdlg-features,.vdlg-showrooms{margin:0;padding-inline-start:1.1rem;font-size:.9rem;line-height:1.5;color:var(--color-text)}.vdlg-features li,.vdlg-showrooms li{margin-bottom:.25rem}.vdlg-book{width:100%;margin-top:1.25rem;padding:.7rem 1rem;border:none;border-radius:10px;background:var(--color-accent);color:var(--color-accent-contrast);font-family:var(--font-display);font-size:.95rem;font-weight:600;cursor:pointer}.vdlg-note{color:var(--color-text-muted);font-size:.9rem;padding:1rem 0}.vdlg-note--error{color:var(--color-error)}.speak-btn--loading{opacity:.75;cursor:progress;animation:speak-spin .9s linear infinite}@keyframes speak-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.speak-btn--loading{animation:none}}.msg-link{color:inherit;text-decoration:underline;overflow-wrap:anywhere}.dir-link{display:inline-flex;align-items:center;gap:.35em;margin-top:.45em;padding:.4em .8em;border-radius:999px;background:#0000000f;border:1px solid rgba(0,0,0,.14);color:inherit;text-decoration:none;font-weight:600;white-space:nowrap}.dir-link:hover{background:#0000001a}.fb-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;width:100%;box-sizing:border-box;padding:.9rem 1rem 1rem;margin-bottom:.75rem;border:1px solid rgba(0,0,0,.1);border-radius:14px;background:#00000005}.fb-title{margin:0;font-weight:600;font-size:.95rem}.fb-stars{display:flex;gap:.25rem}.fb-star{background:none;border:none;cursor:pointer;font-size:2rem;line-height:1;padding:0 .1rem;color:var(--line-strong);transition:color .1s ease,transform .1s ease}.fb-star:hover{transform:scale(1.12)}.fb-star--on{color:var(--ink-action)}.fb-word{margin:0;min-height:1.1em;font-size:.85rem;font-weight:500;color:var(--ink-primary)}.fb-comment{width:100%;box-sizing:border-box;resize:vertical;border:1px solid rgba(0,0,0,.15);border-radius:10px;padding:.5rem .65rem;font:inherit;font-size:.9rem}.fb-submit{margin-top:.25rem}.fb-submit:disabled{opacity:.5;cursor:not-allowed}.fb-error{margin:0;font-size:.8rem;color:#c0392b}.fb-card--done{flex-direction:row;justify-content:center;gap:.5rem;font-weight:600;color:#1e8e3e}.fb-done-tick{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:999px;background:#1e8e3e;color:#fff;font-size:.9rem}.shrs--nearest{display:flex;flex-direction:column;gap:.5rem}.nsr{display:flex;flex-direction:column;gap:.35rem;padding:14px;border:1px solid var(--line-hairline);border-radius:var(--radius-md);background:var(--bg-canvas)}.nsr--dead{opacity:.55}.nsr--selected{border-color:var(--ink-action);box-shadow:inset 0 0 0 1px var(--ink-action)}.nsr-top{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.nsr-name{font-family:var(--font-sans);font-weight:600;font-size:16.5px;letter-spacing:-.01em;color:var(--ink-primary)}.nsr-meta{font-size:13.5px;font-weight:500;color:var(--ink-secondary);white-space:nowrap;font-variant-numeric:tabular-nums}.nsr-address{margin:0;font-size:13.5px;color:var(--ink-secondary);line-height:1.45}.nsr-actions{display:flex;align-items:center;gap:.5rem;margin-top:.35rem;flex-wrap:wrap}.nsr-dir{display:inline-flex;align-items:center;gap:.35em;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--line-hairline);background:var(--bg-canvas);color:var(--ink-primary);text-decoration:none;font-weight:500;font-size:13.5px;white-space:nowrap}.nsr-dir:hover{background:var(--bg-sunken);border-color:var(--line-strong)}.nsr-select{margin-inline-start:auto;padding:10px 18px;border:none;border-radius:var(--radius-sm);background:var(--ink-action);color:var(--ink-on-action);font-family:var(--font-sans);font-weight:500;font-size:15px;cursor:pointer}.nsr-select:hover:not(:disabled){background:var(--ink-action-hover)}.nsr-select:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-canvas),0 0 0 4px var(--focus-ring)}.nsr-select:disabled{cursor:default;background:var(--bg-sunken);border:1px solid var(--line-hairline);color:var(--ink-disabled)}.nsr--selected .nsr-select{background:var(--ink-action);color:var(--ink-on-action)}.useloc-btn{display:inline-flex;align-items:center;gap:.4em;padding:10px 14px;border-radius:var(--radius-full);border:1px solid var(--line-strong);background:var(--bg-canvas);color:var(--ink-primary);font-family:var(--font-sans);font-weight:500;font-size:14px;cursor:pointer}.useloc-btn:hover{background:var(--bg-sunken);border-color:var(--ink-action)}.useloc-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-canvas),0 0 0 4px var(--focus-ring)}.useloc-btn:disabled{opacity:.5;cursor:default}
