/* Deliberate, immediate feedback; the interface never waits for animation. */
:root{--motion-ease:cubic-bezier(.2,.75,.25,1)}
button{position:relative;isolation:isolate;overflow:hidden;transition:background .18s,border-color .18s,box-shadow .18s,transform .14s!important}
button:active:not(:disabled){transform:translateY(1px) scale(.982)}
button.station-pin{overflow:visible;isolation:auto}
.tap-wave{position:absolute;z-index:3;pointer-events:none;border-radius:50%;background:currentColor;opacity:0;animation:tap-wave .48s ease-out forwards;transform:scale(0)}
@keyframes tap-wave{0%{transform:scale(.08);opacity:.11}100%{transform:scale(1);opacity:0}}
#main-nav{position:relative;isolation:isolate}
.nav-item{position:relative;z-index:1}
.nav-item[aria-current=page]{background:transparent;box-shadow:none}
.nav-active-indicator{position:absolute;z-index:0;top:0;left:0;pointer-events:none;background:linear-gradient(105deg,#dfedf1,#edf2f7);border-radius:7px;border-left:3px solid #397f91;transition:transform .23s var(--motion-ease),width .23s var(--motion-ease),height .23s var(--motion-ease);will-change:transform}
.panel,.kpi{transition:border-color .2s,box-shadow .2s}
.kpi:hover{border-color:#b6ced8;box-shadow:0 3px 14px #203e5610}
.feature-card{transition:transform .2s var(--motion-ease),box-shadow .2s!important}
.feature-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #16384b13}
.quick-prompts button:hover{background:#eef5f8;border-color:#b5cdd9;box-shadow:0 3px 9px #2b63730b}
.quick-prompts button span{transition:transform .18s;display:inline-block}
.quick-prompts button:hover span{transform:translate(2px,-2px)}
.module-tabs button:hover{background:#f2f7fa;border-color:#a5c8d7}
.segmented button[aria-pressed=true]{box-shadow:0 1px 5px #183c5025}
.period-label{font-size:10px;color:#8a9aa6;margin-right:8px}
.answer{position:relative;border:1px solid #dfeaf0}
.assistant-title .system-dot{box-shadow:0 0 0 3px #46b5a410}
.assistant-badge{font-size:9px;letter-spacing:1px;color:#6b989a;border-color:#dce9e7}
.avatar-stage{height:270px;background:radial-gradient(ellipse at 50% 43%,#183d4c,#0b2132 66%,#091b2b);border:1px solid #224452;border-radius:13px;box-shadow:inset 0 1px #ffffff12;isolation:isolate}
.avatar-stage::before{content:'';position:absolute;width:75%;height:75%;left:12.5%;top:8%;border:1px solid #81dcd90f;border-radius:50%;pointer-events:none}
.avatar-stage::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 70%,#38beaa12,transparent 55%);pointer-events:none}
.avatar-stage #avatar{inset:20px 0 26px;cursor:pointer;z-index:2;transition:filter .25s}
.avatar-stage #avatar:hover{filter:brightness(1.07)}
.orb-topline{position:absolute;left:14px;right:14px;top:13px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:#89a8b4;z-index:5;pointer-events:none}
.orb-topline #orb-state{letter-spacing:1px;color:#a5dcd2}
.orb-topline #orb-state:before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:#75cfc0;margin-right:5px;vertical-align:middle}
.orb-floor{position:absolute;bottom:25px;left:29%;right:29%;height:13px;filter:blur(8px);background:#4da89a24;border-radius:50%;pointer-events:none}
.avatar-tag{bottom:11px;left:0;right:0;text-align:center;color:#6f93a5;background:transparent;font-size:9px;letter-spacing:1px;pointer-events:none}
#avatar-loading{background:transparent;color:#91b6c3;pointer-events:none}
#avatar-loading.avatar-error{pointer-events:auto;background:#0c2637eb;color:#acd7df}
.moods{gap:6px;margin-top:11px}
.moods button{border-radius:5px;transition:background .16s,transform .16s!important}
.moods button[aria-pressed=true]{border-color:#abcfc8;box-shadow:0 2px 8px #2e87730a}
.assistant-intro{font-size:12px;color:#587789}
.map-card{transition:box-shadow .2s}
.map-card:hover{box-shadow:0 16px 45px #03172166}
.pin-core{transition:background .2s,box-shadow .2s}
.station-pin.selected .pin-core{box-shadow:0 0 9px #fff9,0 0 27px #86e5d0cc}
.station-pin.selected:after{animation:selected-ring 1.4s ease-out 2}
@keyframes selected-ring{0%{transform:scale(.8);opacity:.9}100%{transform:scale(1.5);opacity:0}}
table tbody tr{transition:background .12s}table tbody tr:hover{background:#f5f9fb}
.ticket-step{transition:box-shadow .2s,transform .2s}
.ticket-step.active{box-shadow:0 3px 13px #1b8f6c12}
.page-heading{transition:opacity .15s}
#toast{background:#16364bf0;backdrop-filter:blur(14px);border:1px solid #8cafbf33;box-shadow:0 8px 30px #091a3030;padding:11px 20px}
@media(max-width:560px){.avatar-stage{height:290px}.nav-active-indicator{border-left:0}.moods button{font-size:11px}.period-label{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.tap-wave{display:none!important}}
