/* A measured rhythm: leave, move, then settle. Live answer tokens never wait. */
:root{--fast:180ms;--normal:320ms;--slow:520ms;--ease:cubic-bezier(.22,.8,.2,1)}
.brand-mark svg{overflow:visible}.brand .brand-mark{width:39px;height:39px;padding:5px;border-radius:12px;background:transparent}.brand-mark .logo-ribbon{color:#9585e6}.brand-mark .logo-light{color:#c7bbff}.brand-mark .logo-edge{color:#eee9ff;opacity:.65}
[data-theme=light] .brand-mark .logo-ribbon{color:#7460b8}[data-theme=light] .brand-mark .logo-light{color:#9683da}[data-theme=light] .brand-mark .logo-edge{color:#dfd6ff}
.welcome-emblem{background:radial-gradient(ellipse at 35% 20%,#bca7ff12,transparent 75%)}
.welcome-emblem .brand-mark{width:62px;height:62px}.brand:hover .brand-mark svg{transform:translateY(-2px);filter:drop-shadow(0 5px 9px #9c87e833)}.brand-mark svg{transition:transform 420ms var(--ease),filter 420ms var(--ease)}
.nav-link,.tab{position:relative;isolation:isolate}.nav-link.active,[data-theme=dark] .nav-link.active{background:transparent}.nav-motion-indicator{position:absolute;inset:0;z-index:-1;border-radius:9px;background:var(--tint);view-transition-name:nav-indicator;pointer-events:none}[data-theme=dark] .nav-motion-indicator{background:#29233f}.nav-link.active:hover{background:transparent}
.tab.active{border-bottom-color:transparent}.tab-motion-indicator{position:absolute;bottom:0;left:10px;right:10px;height:2px;border-radius:2px;background:var(--accent);view-transition-name:tab-indicator}
#mobile-nav a{position:relative;isolation:isolate}#mobile-nav a.active{background:transparent}.mobile-motion-indicator{position:absolute;inset:0;z-index:-1;border-radius:8px;background:var(--tint);view-transition-name:mobile-indicator;pointer-events:none}
/* Native snapshots share an overlay. Capture navigation above its travelling
   background too; the live DOM's negative z-index cannot order snapshots. */
.sidebar-scroll>.nav-list:first-of-type{view-transition-name:primary-navigation}
.sidebar-scroll>.nav-list:nth-of-type(2){view-transition-name:secondary-navigation}
#mobile-nav a[href="#/home"]{view-transition-name:mobile-home}
#mobile-nav a[href="#/research"]{view-transition-name:mobile-research}
#mobile-nav a[href="#/tools"]{view-transition-name:mobile-tools}
#mobile-nav a[href="#/settings"]{view-transition-name:mobile-settings}
::view-transition{pointer-events:none}::view-transition-group(*){animation-duration:500ms;animation-timing-function:var(--ease)}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-old(workspace),::view-transition-old(panel){animation:workspace-leave 250ms cubic-bezier(.4,0,.7,.3) both;mix-blend-mode:normal}
::view-transition-new(workspace),::view-transition-new(panel){animation:workspace-arrive 500ms var(--ease) 65ms both;mix-blend-mode:normal}
[data-transition-kind=panel]::view-transition-old(workspace){animation:panel-leave 230ms ease both}
[data-transition-kind=panel]::view-transition-new(workspace){animation:panel-arrive 480ms var(--ease) 60ms both}
[data-transition-scope=panel]::view-transition-old(workspace),[data-transition-scope=panel]::view-transition-new(workspace),[data-transition-scope=disclosure]::view-transition-old(workspace),[data-transition-scope=disclosure]::view-transition-new(workspace){animation:none;mix-blend-mode:normal}
::view-transition-group(composer){animation-duration:560ms;z-index:3}::view-transition-old(composer){animation:soft-out 220ms ease both;mix-blend-mode:normal}::view-transition-new(composer){animation:soft-in 400ms ease 80ms both;mix-blend-mode:normal}
::view-transition-group(nav-indicator),::view-transition-group(tab-indicator){z-index:2;animation-duration:520ms}::view-transition-old(nav-indicator),::view-transition-old(tab-indicator){animation:none;opacity:0}::view-transition-new(nav-indicator),::view-transition-new(tab-indicator){animation:none}
::view-transition-group(mobile-indicator){z-index:2;animation-duration:520ms}::view-transition-old(mobile-indicator){animation:none;opacity:0}::view-transition-new(mobile-indicator){animation:none}
::view-transition-group(primary-navigation),::view-transition-group(secondary-navigation),::view-transition-group(mobile-home),::view-transition-group(mobile-research),::view-transition-group(mobile-tools),::view-transition-group(mobile-settings){z-index:4}
::view-transition-group(disclosure),::view-transition-group(disclosure-answer){animation-duration:460ms;overflow:clip}::view-transition-old(disclosure){animation:soft-out 240ms ease both}::view-transition-new(disclosure){animation:soft-in 400ms ease 40ms both}::view-transition-old(disclosure-answer){animation:soft-out 180ms ease both}::view-transition-new(disclosure-answer){animation:soft-in 300ms ease both}
@keyframes workspace-leave{to{opacity:0;transform:translateX(-12px) scale(.994);filter:blur(2px)}}
@keyframes workspace-arrive{from{opacity:0;transform:translateX(20px) scale(.994);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes panel-leave{to{opacity:0;transform:translateY(-7px);filter:blur(2px)}}
@keyframes panel-arrive{from{opacity:0;transform:translateY(12px);filter:blur(2px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes soft-out{to{opacity:0}}@keyframes soft-in{from{opacity:0}to{opacity:1}}
dialog[data-entering]::backdrop{animation:backdrop-in 460ms var(--ease) both}dialog[data-closing]::backdrop{animation:backdrop-out 300ms ease both}dialog[data-closing]{pointer-events:none}
@keyframes backdrop-in{from{background-color:transparent;backdrop-filter:blur(0)}to{background-color:#070a1477;backdrop-filter:blur(7px)}}@keyframes backdrop-out{from{background-color:#070a1477;backdrop-filter:blur(7px)}to{background-color:transparent;backdrop-filter:blur(0)}}
dialog::backdrop{background:#070a1477;backdrop-filter:blur(7px)}
.research-process summary>.icon{transition:transform 420ms var(--ease)}.research-process[open] summary>.icon{transform:rotate(180deg)}
.process-symbol.is-working{animation:thought-breathe 2.4s ease-in-out infinite}.process-symbol.is-working .icon{animation:thought-turn 5s var(--ease) infinite}.timeline-step.current .step-dot{animation:step-breathe 2s ease-in-out infinite}.timeline-step,.step-dot,.source-item small{transition:background-color 400ms,color 400ms,border-color 400ms}
@keyframes thought-breathe{0%,100%{box-shadow:0 0 0 0 #a28fe600;background:var(--tint)}50%{box-shadow:0 0 0 7px #a28fe614;background:var(--panel)}}
@keyframes thought-turn{0%,65%,100%{transform:rotate(0)}35%{transform:rotate(90deg)}}
@keyframes step-breathe{0%,100%{box-shadow:0 0 0 0 #a28fe600}50%{box-shadow:0 0 0 5px #a28fe619}}
.source-item{transition:transform 320ms var(--ease),border-color 260ms,background-color 260ms}.source-item:hover{transform:translateY(-3px)}.process-details-body{overflow:hidden}.suggestion{transition:transform 360ms var(--ease),border-color 260ms,background-color 260ms}.suggestion:hover{transform:translateY(-3px)}
#toast{transition:opacity 300ms var(--ease),translate 420ms var(--ease);translate:0 9px}#toast.visible{translate:0 0}
.switch-mini:after,.toggle:after{transition:transform 380ms var(--ease),background-color 300ms}
@media(max-width:800px){.sidebar{transition:transform 460ms cubic-bezier(.22,.8,.2,1);will-change:transform}.sidebar.open{transform:translateX(0)}.scrim{backdrop-filter:blur(3px)}}
@media(hover:none){.suggestion:hover,.source-item:hover{transform:none}}
@media(max-width:560px){.welcome-emblem .brand-mark{width:44px;height:44px;margin:0}.welcome-emblem{flex-shrink:0}}
html[data-motion=off]::view-transition-group(*),html[data-motion=off]::view-transition-old(*),html[data-motion=off]::view-transition-new(*){animation:none!important}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
