.market-state-lab{border:1px solid var(--color-divider,#201e1d29);border-radius:var(--radius-lg,1rem);background:var(--color-surface,#ebddc5);margin:1.75rem 0;padding:1.5rem}.market-state-tool-guide{color:var(--color-text,#201e1d);margin:0 0 1.125rem;font-size:.9375rem;font-weight:500;line-height:1.6}.state-buttons{flex-wrap:wrap;gap:.625rem;margin-bottom:1.25rem;display:flex}.state-tab-btn{border:1px solid var(--color-divider,#dcd3c4);background:var(--color-neutral-100,#f9f4ed);color:var(--color-text,#201e1d);cursor:pointer;border-radius:.625rem;padding:.625rem 1.125rem;font-size:.9375rem;font-weight:700;transition:all .15s}.state-tab-btn:hover{border-color:var(--color-accent,#c67139)}.state-tab-btn.is-active{border-color:var(--color-accent,#c67139);background:var(--color-accent-100,#fff2eb);color:var(--color-accent-800,#643312);font-weight:700}.state-chart-canvas{background:var(--color-neutral-100,#f9f4ed);border:none;border-radius:.75rem;width:100%;min-height:240px;margin-bottom:1.25rem;position:relative;overflow:hidden}.chart-svg-bg{z-index:1;pointer-events:none;position:absolute;inset:0}.svg-price-line{filter:drop-shadow(0 2px 4px #0000000d)}.trend-visual-stage,.range-visual-stage,.noise-visual-stage{width:100%;height:240px;position:relative}.trend-pivot,.range-bounce-point{z-index:2;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;transform:translate(-50%,-50%)}.range-bounce-point.is-top{flex-direction:column-reverse}.pivot-tag{white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:.75rem;font-weight:800;box-shadow:0 1px 3px #0000000d}.pivot-tag.is-low,.pivot-tag.is-hl{background:var(--color-accent-2-100,#f0fae1);color:var(--color-accent-2-800,#3d472b);border:1px solid var(--color-accent-2-300,#ccdbb2)}.pivot-tag.is-high,.pivot-tag.is-hh{background:var(--color-accent-100,#fff2eb);color:var(--color-accent-800,#643312);border:1px solid var(--color-accent-300,#ffc6a5)}.pivot-dot{border:2px solid var(--color-neutral-100,#f9f4ed);border-radius:50%;width:10px;height:10px;display:block}.pivot-dot.is-low,.pivot-dot.is-hl{background:var(--color-accent-2,#7a8a5e)}.pivot-dot.is-high,.pivot-dot.is-hh{background:var(--color-accent,#c67139)}.trend-invalidation-label{z-index:2;position:absolute;right:12px;transform:translateY(-50%)}.trend-invalidation-label small{color:var(--color-error,#8a3b2a);background:var(--color-neutral-100,#f9f4ed);border:1px dashed var(--color-error,#8a3b2a);border-radius:4px;padding:2px 6px;font-size:.75rem;font-weight:800}.range-boundary{z-index:2;position:absolute;left:12px;transform:translateY(-50%)}.range-boundary span{background:var(--color-neutral-100,#f9f4ed);border-radius:4px;padding:2px 6px;font-size:.75rem;font-weight:800}.range-boundary.is-top span{color:var(--color-error,#8a3b2a);border:1px solid var(--color-error-300,#f1aba3)}.range-boundary.is-bottom span{color:var(--color-accent-2-800,#3d472b);border:1px solid var(--color-accent-2-300,#ccdbb2)}.range-boundary.is-mid span{color:var(--color-neutral-800,#645c50);border:1px dashed var(--color-divider,#dcd3c4)}.noise-warning-banner{text-align:center;background:var(--color-surface,#ebddc5);border:1px dashed var(--color-divider,#dcd3c4);z-index:2;border-radius:6px;padding:8px 16px;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000000d}.noise-warning-banner strong{color:var(--color-accent-800,#643312);font-size:.875rem;font-weight:800}.state-analysis-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:52rem){.state-analysis-grid{grid-template-columns:repeat(3,1fr)}}.state-card{border:1px solid var(--color-divider,#dcd3c4);background:var(--color-neutral-100,#f9f4ed);border-radius:.75rem;flex-direction:column;gap:.5rem;padding:1.125rem 1.25rem;display:flex}.state-card.is-invalidation{border-color:color-mix(in srgb, var(--color-error,#8a3b2a) 40%, var(--color-divider))}.state-card.is-action{border-color:color-mix(in srgb, var(--color-accent-2,#7a8a5e) 50%, var(--color-divider))}.state-card h4{color:var(--color-text,#201e1d);margin:0;font-size:.9375rem;font-weight:800;line-height:1.4}.state-card p{color:var(--color-text,#201e1d);margin:0;font-size:.875rem;font-weight:500;line-height:1.6}
