/* 五行 is an identity palette. Market direction and data-quality labels keep their own semantics. */
:root{--wood:#58c89a;--fire:#f07968;--earth:#d9b568;--metal:#dedccf;--water:#79b8d2;--ink:#101614;--ink-panel:#19221e;--ink-raised:#25312b;--ink-line:#526459;--ink-muted:#acb5a8;--ink-text:#e8e4d8;--hx-bg:var(--ink);--hx-panel:var(--ink-panel);--hx-line:var(--ink-line);--hx-text:var(--ink-text);--hx-muted:var(--ink-muted);--hx-mint:var(--wood);--hx-violet:var(--metal);--hx-blue:var(--water);--hx-pink:var(--fire);--hx-amber:var(--earth);--bg:var(--ink);--panel:var(--ink-panel);--line:var(--ink-line);--text:var(--ink-text);--muted:var(--ink-muted);--cyan:var(--wood);--pink:var(--fire);--blue:var(--water);--amber:var(--earth)}
body[data-hexa-page],body.hexa-mission-market{background-color:var(--ink);background-image:linear-gradient(#657f6720 1px,transparent 1px),linear-gradient(90deg,#657f6720 1px,transparent 1px);color:var(--ink-text)}
body.hexa-mission-market #root{--bg-app:var(--ink);--bg-surface:var(--ink-panel);--bg-surface-strong:var(--ink-raised);--bg-elevated:#2b382f;--text-primary:var(--ink-text);--text-secondary:#b9c1b4;--text-muted:var(--ink-muted);--accent-primary:var(--earth);--accent-secondary:var(--water);--border-soft:var(--ink-line);--border-strong:#708377}
body[data-hexa-page] :is(.primary,.button.primary,.primary-link),body.hexa-mission-market #root .primary-button{background:var(--earth);color:#1c231b;border-color:#f3d79a;box-shadow:inset 2px 2px #f6dfa8,inset -2px -2px #977641,3px 3px #070c09}
body[data-hexa-page] :is(.primary,.button.primary,.primary-link):hover,body.hexa-mission-market #root .primary-button:hover{background:#ebc982;color:#1c231b}
body[data-hexa-page] :is(input,select,textarea),body.hexa-mission-market #root :is(input,select,textarea){border-color:#708377}
.hx-navigation{background:#1c2721;border-top-color:#526459;box-shadow:inset 0 2px #34483a}.hx-nav-links a[aria-current=page]{color:#efd397;border-color:#c7a768;background:#3a3325}.hx-motion{color:#c8cbb9!important;background:#29362c!important}.hx-network-label{color:#c0b68e}.hx-network-label i{background:var(--earth)}
.hexa-emblem{display:block;width:64px;height:64px;image-rendering:pixelated;flex-shrink:0;filter:none!important}
body[data-hexa-page] .brand{gap:12px;min-width:0}
body[data-hexa-page] .brand .hexa-emblem{width:56px;height:56px}
body[data-hexa-page=hub] .topbar{height:auto;min-height:88px;padding:10px 0}
.hexa-brand-copy{display:flex;flex-direction:column;min-width:0;gap:3px}
body[data-hexa-page] .brand .hexa-wordmark,body.hexa-mission-market #root .hexa-wordmark{display:block;font-size:24px;line-height:1.1;font-weight:400;letter-spacing:.5px;white-space:nowrap;color:var(--metal)}
.hexa-wordmark em{font-style:normal;color:var(--earth)}
body[data-hexa-page] .brand .hexa-brand-copy small{color:#aebaac;font-size:12px;letter-spacing:1px;line-height:1.4;margin:0}
.hexa-brand-rule{display:flex!important;gap:3px!important;margin-top:3px;max-width:100px;height:2px;align-items:stretch}
.hexa-brand-rule i{display:block;flex:1;background:var(--wood)}.hexa-brand-rule i:nth-child(2){background:var(--fire)}.hexa-brand-rule i:nth-child(3){background:var(--earth)}.hexa-brand-rule i:nth-child(4){background:var(--metal)}.hexa-brand-rule i:nth-child(5){background:var(--water)}
body.hexa-mission-market #root .brand-mark{border:0;background:none;box-shadow:none;padding:0;width:48px;height:48px;overflow:visible}
body.hexa-mission-market #root .brand-mark .hexa-emblem{width:48px;height:48px}
body.hexa-mission-market #root .market-mission-home>.hexa-emblem{width:48px;height:48px}
body.hexa-mission-market #root .brand-copy strong{font-size:24px}.terminal-edition b{color:var(--earth)}
.wuxing-key{display:flex;align-items:center;gap:12px;padding:4px 0;color:var(--ink-muted);font-size:12px;flex-wrap:wrap}
.wuxing-key>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.wuxing-key i{width:5px;height:5px;display:inline-block;background:currentColor;box-shadow:1px 1px #020906}
.wuxing-key [data-element=wood]{color:var(--wood)}.wuxing-key [data-element=fire]{color:var(--fire)}.wuxing-key [data-element=earth]{color:var(--earth)}.wuxing-key [data-element=metal]{color:var(--metal)}.wuxing-key [data-element=water]{color:var(--water)}
.stocks-panel{--accent:var(--wood)}.matrix-panel{--accent:var(--fire)}.futures-panel{--accent:var(--metal)}.crypto-panel{--accent:var(--water)}.football-panel{--accent:var(--fire)}.core-panel,.health-panel{--accent:var(--earth)}.log-panel{--accent:var(--water)}
.control-grid>.panel,.control-rail>.panel{border-top-color:var(--accent,var(--ink-line))}
.panel-head{background:#25312b;box-shadow:inset 0 2px #4b5e50}
.panel-head h2:before{content:'';display:none}.matrix-summary strong{color:var(--metal)}.matrix .watch{background:var(--earth)}.legend .watch{color:var(--earth)}
.data-scene{background-color:#101b16;border-color:#344b3c;border-bottom-color:#607a61;background-image:linear-gradient(#78937321 1px,transparent 1px),linear-gradient(90deg,#78937321 1px,transparent 1px)}
.data-agent{--actor-color:var(--wood)}.agent-analyst{--actor-color:var(--fire)}.agent-guardian,.agent-core{--actor-color:var(--earth)}.agent-scribe{--actor-color:var(--water)}.agent-reviewer{--actor-color:var(--metal)}
.data-agent .agent-speech{background:#1b2821;border-color:var(--actor-color);color:var(--actor-color);box-shadow:2px 2px #070f0b}
.data-agent .agent-speech:before{background:var(--actor-color)}.data-agent .agent-speech b{color:var(--metal)}.data-agent[aria-pressed=true] .agent-speech{outline-color:#d9b56880}
.core-dock{background:repeating-linear-gradient(0deg,#283225 0 2px,#232c22 2px 4px)}
.business-card[data-business=stocks]{border-top-color:var(--wood)}.business-card[data-business=futures]{border-top-color:var(--metal)}.business-card[data-business=football]{border-top-color:var(--fire)}.business-card[data-business=crypto]{border-top-color:var(--water)}
body[data-hexa-page] [data-stock-role=observer],body[data-hexa-page] [data-desk-role=observer],.research-mint{--role:var(--wood);--agent:var(--wood);--accent:var(--wood)}
body[data-hexa-page] [data-stock-role=analyst],body[data-hexa-page] [data-desk-role=analyst],.research-purple{--role:var(--fire);--agent:var(--fire);--accent:var(--fire)}
body[data-hexa-page] [data-stock-role=guardian],body[data-hexa-page] [data-desk-role=guardian]{--role:var(--earth);--agent:var(--earth);--accent:var(--earth)}
body[data-hexa-page] [data-stock-role=scribe],.research-blue{--role:var(--water);--agent:var(--water);--accent:var(--water)}
body[data-hexa-page] [data-stock-role=reviewer],body[data-hexa-page] [data-desk-role=reviewer],.research-pink{--role:var(--metal);--agent:var(--metal);--accent:var(--metal)}
body[data-hexa-page] :is([data-role=observer],[data-stock-role=observer],[data-desk-role=observer]),body[data-hexa-page=research] .research-agent.research-mint{--role-color:var(--wood)}
body[data-hexa-page] :is([data-role=analyst],[data-stock-role=analyst],[data-desk-role=analyst]),body[data-hexa-page=research] .research-agent.research-purple{--role-color:var(--fire)}
body[data-hexa-page] :is([data-role=guardian],[data-role=core],[data-stock-role=guardian],[data-stock-role=core],[data-desk-role=guardian]){--role-color:var(--earth)}
body[data-hexa-page] :is([data-role=scribe],[data-stock-role=scribe]),body[data-hexa-page=research] .research-agent.research-blue{--role-color:var(--water)}
body[data-hexa-page] :is([data-role=reviewer],[data-stock-role=reviewer],[data-desk-role=reviewer]),body[data-hexa-page=research] .research-agent.research-pink{--role-color:var(--metal)}
.stock-station .station-owner,.desk-data-cell .cell-role,.desk-lane-tab strong{color:var(--role-color,var(--metal))}
body[data-hexa-page=desk] .desk-lane-tab[aria-pressed=true]{border-color:var(--role-color)!important}
.desk-data-cell.current-stage{border-left:3px solid var(--role-color)}
body[data-hexa-page=research] .research-command-strip .research-agent[aria-pressed=true]{border-color:var(--role-color)}
/* Articulated actors use integer translations: head, eyes, arms, and tools move independently. */
svg[data-hx-actor]{shape-rendering:crispEdges;image-rendering:pixelated;overflow:visible;animation:none!important}
[data-hx-actor] .hx-actor-head{animation:hxLook 11s steps(1,end) infinite;animation-delay:var(--actor-phase,0s)}
[data-hx-actor] .hx-actor-eyes{transform-origin:16px 15px;animation:hxBlink 7.3s steps(1,end) infinite;animation-delay:var(--actor-phase,0s)}
[data-hx-actor=observer] .hx-actor-right{animation:hxSalute 8.6s steps(1,end) infinite;animation-delay:var(--actor-phase,0s)}
[data-hx-actor=analyst] .hx-actor-left{animation:hxTap 6.4s steps(1,end) infinite;animation-delay:var(--actor-phase,0s)}
[data-hx-actor=guardian] :is(.hx-actor-right,.hx-actor-tool){animation:hxGuard 9.6s steps(1,end) infinite;animation-delay:var(--actor-phase,0s)}
[data-hx-actor=scribe] :is(.hx-actor-left,.hx-actor-tool){animation:hxWrite 5.8s steps(1,end) infinite;animation-delay:var(--actor-phase,0s)}
[data-hx-actor=reviewer] :is(.hx-actor-right,.hx-actor-tool){animation:hxPage 8.2s steps(1,end) infinite;animation-delay:var(--actor-phase,0s)}
[data-hx-actor=core] :is(.hx-actor-left,.hx-actor-right){animation:hxConnect 7.8s steps(1,end) infinite;animation-delay:var(--actor-phase,0s)}
:is(button,a):is(:hover,:focus-visible) [data-hx-actor] .hx-actor-head{animation:hxNod 1.2s steps(1,end) 2}
body[data-pixel-loading=true] [data-hx-actor=observer] .hx-actor-head{animation:hxLook 1.8s steps(1,end) infinite}
body[data-pixel-loading=true] [data-hx-actor=analyst] .hx-actor-left{animation:hxTap 1.3s steps(1,end) infinite}
body[data-pixel-loading=true] [data-hx-actor=core] :is(.hx-actor-left,.hx-actor-right){animation:hxConnect 1.6s steps(1,end) infinite}
.pixel-arrived [data-hx-actor] .hx-actor-head{animation:hxNod 1.1s steps(1,end) 2}
[data-hx-visible=false] *,html[data-hx-hidden=true] [data-hx-actor] *{animation-play-state:paused!important}
@keyframes hxBlink{0%,43%,47%,100%{transform:scaleY(1)}44%,46%{transform:scaleY(.25)}}
@keyframes hxLook{0%,25%,65%,100%{transform:translate(0,0)}26%,38%{transform:translate(1px,0)}39%,46%{transform:translate(1px,1px)}47%,53%{transform:translate(0,0)}54%,64%{transform:translate(-1px,0)}}
@keyframes hxNod{0%,35%,100%{transform:translateY(0)}36%,65%{transform:translateY(1px)}}
@keyframes hxSalute{0%,38%,70%,100%{transform:translate(0,0)}39%,43%{transform:translate(-1px,-2px)}44%,64%{transform:translate(-2px,-5px)}65%,69%{transform:translate(-1px,-2px)}}
@keyframes hxTap{0%,32%,62%,100%{transform:translate(0,0)}33%,37%,45%,49%,57%,61%{transform:translate(3px,-2px)}38%,44%,50%,56%{transform:translate(3px,-1px)}}
@keyframes hxGuard{0%,50%,78%,100%{transform:translate(0,0)}51%,56%,72%,77%{transform:translate(0,-1px)}57%,71%{transform:translate(-1px,-3px)}}
@keyframes hxWrite{0%,34%,70%,100%{transform:translate(0,0)}35%,41%,51%,57%,65%,69%{transform:translate(1px,-1px)}42%,50%,58%,64%{transform:translate(2px,0)}}
@keyframes hxPage{0%,45%,75%,100%{transform:translate(0,0)}46%,51%,69%,74%{transform:translate(-1px,-1px)}52%,60%{transform:translate(-2px,-2px)}61%,68%{transform:translate(0,-2px)}}
@keyframes hxConnect{0%,40%,70%,100%{transform:translateY(0)}41%,49%,61%,69%{transform:translateY(-1px)}50%,60%{transform:translateY(-2px)}}
@media(max-width:650px){body[data-hexa-page] .brand .hexa-emblem{width:48px;height:48px}body[data-hexa-page] .brand .hexa-wordmark{font-size:24px}.wuxing-key{gap:7px;font-size:12px}.hexa-brand-copy{gap:2px}body[data-hexa-page=hub] .topbar{min-height:78px;gap:8px}body[data-hexa-page=desk] .topbar{height:auto;min-height:68px;padding-block:8px}body[data-hexa-page] .brand{gap:8px}body[data-hexa-page] .brand .hexa-brand-copy small{letter-spacing:0}.hexa-brand-rule{max-width:72px}}
@media(max-width:380px){body[data-hexa-page] .brand .hexa-emblem{width:40px;height:40px}body[data-hexa-page=hub] .topright .primary-link{font-size:12px;padding:4px;max-width:80px;white-space:normal}.wuxing-key{column-gap:10px;row-gap:2px}}
@media(prefers-reduced-motion:reduce){[data-hx-actor] *{animation:none!important;transform:none!important}}
html[data-hx-motion=off] [data-hx-actor] *{animation:none!important;transform:none!important}
