.portal-root{--r-sheet:28px;--r-card:20px;--r-tile:14px;--shadow-float:0 8px 30px rgba(16,24,40,0.1);--shadow-brand:0 8px 24px var(--brand-glow);background:var(--canvas);color:var(--ink);font-family:var(--font-portal),system-ui,sans-serif;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}.portal-root ::selection{background:var(--brand);color:var(--brand-fg)}.portal-root :where(a,button,[role=button],[role=switch],input,select,textarea,[tabindex]):not([data-focus-managed]):focus-visible{outline:2px solid var(--brand);outline-offset:2px}.portal-root .on-brand :where(a,button,[role=button],[role=switch],input,select,textarea,[tabindex]):focus-visible,.portal-root .on-brand:focus-visible{outline-color:var(--brand-fg)}.portal-root .p-focus-parent{box-shadow:inset 0 0 0 1px var(--hairline),var(--shadow-float);transition:box-shadow .15s ease}.portal-root .p-focus-parent:focus-within{box-shadow:inset 0 0 0 2px var(--brand),var(--shadow-float)}.portal-root .p-focus-parent :where(input,textarea):focus-visible{outline:none}.p-card{background:var(--surface);border-radius:var(--r-card)}.p-glass{background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@supports not (backdrop-filter:blur(1px)){.p-glass{background:rgba(255,255,255,.94)}}.p-glass-dark{background:rgba(12,18,32,.35);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@supports not (backdrop-filter:blur(1px)){.p-glass-dark{background:rgba(12,18,32,.8)}}.p-scrim{background:linear-gradient(180deg,transparent 28%,rgba(10,16,28,.7))}.p-scrim-top{background:linear-gradient(180deg,rgba(10,16,28,.42),transparent)}.p-label{font-size:11px;line-height:1.2;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.portal-root .press:active{scale:.98}.portal-root .press-strong:active{scale:.95}@media (prefers-reduced-motion:reduce){.portal-root .press-strong:active,.portal-root .press:active{scale:1}}@keyframes orb-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.orb-breathe{animation:orb-breathe 6s ease-in-out infinite}.p-orb{--agency-color:var(--brand,#2563ff);--agency-light:color-mix(in srgb,var(--brand,#2563ff) 52%,#fff);--agency-pale:color-mix(in srgb,var(--brand,#2563ff) 22%,#fff);position:relative;border-radius:50%;box-shadow:0 calc(var(--orb-px, 120px) * .06) calc(var(--orb-px, 120px) * .11) calc(var(--orb-px, 120px) * -.025) rgba(15,23,42,.2),0 calc(var(--orb-px, 120px) * .015) calc(var(--orb-px, 120px) * .035) calc(var(--orb-px, 120px) * -.012) rgba(15,23,42,.12)}.p-orb svg{display:block;width:100%;height:100%;overflow:visible}@keyframes orb-wave-brand{0%,to{transform:translate(-2px,2px) rotate(-1.5deg)}50%{transform:translate(4px,-2px) rotate(2.5deg)}}@keyframes orb-wave-soft{0%,to{transform:translate(3px,-2px) rotate(1deg)}50%{transform:translate(-4px,3px) rotate(-3deg)}}@keyframes orb-wave-cool{0%,to{transform:translate(-3px) rotate(-1deg)}50%{transform:translate(4px,2px) rotate(2deg)}}@keyframes orb-core{0%,to{transform:scale(.88);opacity:.42}50%{transform:scale(1.08);opacity:.72}}@keyframes orb-shine{0%,to{opacity:.72;transform:translate(0)}50%{opacity:.95;transform:translate(3px,-2px)}}.p-orb .orb-wave-brand{transform-origin:150px 150px;animation:orb-wave-brand 6.5s ease-in-out infinite}.p-orb .orb-wave-soft{transform-origin:150px 150px;animation:orb-wave-soft 8s ease-in-out infinite}.p-orb .orb-wave-cool{transform-origin:150px 150px;animation:orb-wave-cool 7.2s ease-in-out infinite}.p-orb .orb-core{transform-origin:188px 182px;animation:orb-core 4.4s ease-in-out infinite}.p-orb .orb-shine{animation:orb-shine 6s ease-in-out infinite}.p-orb[data-orb-state=thinking] .orb-wave-brand{animation-duration:2.8s}.p-orb[data-orb-state=thinking] .orb-wave-cool{animation-duration:3.4s}.p-orb[data-orb-state=thinking] .orb-core{animation-duration:2s}.p-orb[data-orb-state=responding] .orb-wave-brand{animation-duration:2.1s}.p-orb[data-orb-state=responding] .orb-wave-soft{animation-duration:2.8s}.p-orb[data-orb-state=responding] .orb-core{animation-duration:1.5s}@keyframes orb-success{0%{transform:scale(1);filter:brightness(1)}45%{transform:scale(1.035);filter:brightness(1.12)}to{transform:scale(1);filter:brightness(1)}}@keyframes orb-error{0%,to{transform:translateX(0)}35%{transform:translateX(-2%)}70%{transform:translateX(2%)}}.p-orb[data-orb-state=success] svg{animation:orb-success .95s ease-out 1}.p-orb[data-orb-state=error] svg{animation:orb-error 1.1s ease-in-out 1}.p-ticket-notch{--notch:10px;-webkit-mask:radial-gradient(circle at left center,transparent var(--notch),#000 calc(var(--notch) + .5px)) left center /51% 100% no-repeat,radial-gradient(circle at right center,transparent var(--notch),#000 calc(var(--notch) + .5px)) right center /51% 100% no-repeat;mask:radial-gradient(circle at left center,transparent var(--notch),#000 calc(var(--notch) + .5px)) left center /51% 100% no-repeat,radial-gradient(circle at right center,transparent var(--notch),#000 calc(var(--notch) + .5px)) right center /51% 100% no-repeat}@keyframes p-dash-draw{0%{stroke-dashoffset:420}to{stroke-dashoffset:0}}.p-route-draw{animation:p-dash-draw .9s ease-out both}@keyframes p-check-draw{0%{stroke-dashoffset:60}to{stroke-dashoffset:0}}.p-check-draw{stroke-dasharray:60;animation:p-check-draw .4s ease-out both}@keyframes p-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}.p-shake{animation:p-shake .4s ease-in-out}.p-pb-safe{padding-bottom:calc(120px + env(safe-area-inset-bottom))}@media (min-width:1024px){.p-pb-safe{padding-bottom:2.5rem}.portal-content{width:100%;max-width:1120px;margin-inline:auto}.portal-content--wide{max-width:1440px}}.portal-root .maplibregl-ctrl-bottom-left,.portal-root .maplibregl-ctrl-bottom-right{bottom:calc(96px + env(safe-area-inset-bottom))}.portal-root .p-map-edge .maplibregl-ctrl-bottom-left,.portal-root .p-map-edge .maplibregl-ctrl-bottom-right{bottom:8px}@media (prefers-reduced-motion:reduce){.orb-breathe,.p-check-draw,.p-orb svg,.p-orb svg *,.p-route-draw,.p-shake{animation:none}}