/* All decoration is opt-in through the shared motion policy. Geometry stays fixed. */
header.top{position:relative}
.header-brand-symbol{display:inline-grid;position:relative;flex:none;place-items:center;isolation:isolate}
.header-brand-symbol .brand-mark{grid-area:1/1;position:relative;z-index:1}
.header-brand-symbol::before{content:"";position:absolute;inset:14%;border-radius:50%;background:#69d3cf;filter:blur(12px);opacity:0;pointer-events:none}
.header-logo-lights{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible;opacity:0}
.header-flow-light{fill:none;stroke:#c2fff6;stroke-width:3.2;stroke-linecap:round;stroke-dasharray:1 99;stroke-dashoffset:100;filter:drop-shadow(0 0 1.6px #65e1d9)}
.header-flow-light:nth-child(n+3){stroke:#fff1be}
html:is([data-motion=standard],[data-motion=expressive]) .header-logo-lights{opacity:.95}
html:is([data-motion=standard],[data-motion=expressive]) .header-flow-light{animation:header-road-flow 10s linear var(--flow-delay) infinite}
html:is([data-motion=standard],[data-motion=expressive]) .header-brand-symbol::before{animation:header-logo-breathe 10s ease-in-out infinite}
html[data-motion=expressive] .header-flow-light{stroke-width:4}
@keyframes header-road-flow{to{stroke-dashoffset:0}}
@keyframes header-logo-breathe{0%,100%{opacity:.06;transform:scale(.93)}50%{opacity:.25;transform:scale(1.06)}}
.header-refresh-track{position:absolute;inset:auto 0 0;height:2px;overflow:hidden;pointer-events:none;opacity:0;transition:opacity 250ms ease}
.header-refresh-track i{display:block;width:28%;height:100%;background:linear-gradient(90deg,transparent,#85ebe3,transparent);transform:translateX(-110%)}
html[data-motion]:not([data-motion=off]) header[data-header-work=busy] .header-refresh-track{opacity:.8}
html[data-motion]:not([data-motion=off]) header:is([data-header-work=busy],[data-header-work=settling]) .header-refresh-track i{animation:header-data-flow 1.8s linear infinite}
html[data-motion]:not([data-motion=off]) header[data-header-work=settling] .header-refresh-track i{animation-play-state:paused}
html[data-motion=calm] header[data-header-work=busy] .header-refresh-track{opacity:.5}
@keyframes header-data-flow{to{transform:translateX(460%)}}
html[data-motion]:not([data-motion=off]) header #source-status[data-state=loading]::before{animation:header-source-pulse 1.6s ease-in-out infinite}
@keyframes header-source-pulse{0%,100%{opacity:.55;box-shadow:0 0 0 0 #abd4db00}50%{opacity:1;box-shadow:0 0 0 4px #abd4db24}}
html[data-motion]:not([data-motion=off]) header .user-menu summary,
html[data-motion]:not([data-motion=off]) header .user-avatar{transition:border-color 180ms ease,background-color 180ms ease,box-shadow 180ms ease}
html[data-motion]:not([data-motion=off]) header :is(.presentation-select select,.global-refresh select,.user-menu summary):is(:hover,:focus-visible){border-color:#8adeda;box-shadow:0 0 0 3px #78d6d51c}
html[data-motion]:not([data-motion=off]) header .user-menu summary:is(:hover,:focus-visible) .user-avatar{box-shadow:0 0 0 2px #83e2de32}
/* Only palette-bearing surfaces transition; no dimensions, opacity veil, or full-page snapshots. */
html.header-theme-transition[data-motion]:not([data-motion=off]) :is(body,header.top,nav.tabs,main,footer,.card,.direction-card,.bar,.filter-dock,.header-tools,.presentation-select,select,input,textarea,button,dialog,.user-popover,th,td,.hint,.auth-form-panel,.auth-shell,.auth-story){transition-property:background-color,color,border-color,box-shadow;transition-duration:250ms;transition-timing-function:ease}
header[data-header-visible=false] .header-flow-light,
header[data-header-visible=false] .header-brand-symbol::before,
header[data-header-visible=false] .header-refresh-track i,
header[data-header-visible=false] #source-status::before{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){:where(html:not([data-motion-system-override="true"])) .header-logo-lights,:where(html:not([data-motion-system-override="true"])) .header-brand-symbol::before,:where(html:not([data-motion-system-override="true"])) .header-refresh-track{display:none!important}:where(html:not([data-motion-system-override="true"])) header #source-status::before{animation:none!important}}
@media print{.header-logo-lights,.header-brand-symbol::before,.header-refresh-track{display:none!important}header #source-status::before{animation:none!important}}
