.app-foot{border-top:1px solid var(--line)}.app-foot-inner{max-width:1800px;padding:1.1rem 2rem var(--fb-clearance);color:var(--ink3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1.5rem;margin:0 auto;font-size:12.5px;display:flex}.app-foot-note{flex-wrap:wrap;gap:.35rem 1rem;margin:0;display:flex}.app-foot-links{flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;display:flex}.app-foot-links a,.app-foot-links .consent-settings-btn{color:var(--ink2);font-size:12.5px;text-decoration:none;transition:color .14s}.app-foot-links a:hover,.app-foot-links .consent-settings-btn:hover{color:var(--ink);text-underline-offset:2px;text-decoration:underline}@media (max-width:768px){.app-foot-inner{flex-direction:column;align-items:flex-start;padding-left:1rem;padding-right:1rem}}
.macro-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:200;background:#0b0c0d66;justify-content:center;align-items:center;width:100%;height:100%;animation:.3s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.macro-panel-content{background:var(--surface);border:1px solid var(--line);border-radius:20px;max-width:800px;max-height:80vh;padding:3rem;animation:.4s ease-out slideInUp;position:relative;overflow-y:auto;box-shadow:0 30px 70px -30px #0b0c0d40}.close-macro{border:1px solid var(--line2);width:44px;height:44px;color:var(--ink3);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;transition:all .3s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.close-macro:hover{background:var(--tint);border-color:var(--ink);color:var(--ink)}.macro-panel-content h2{margin-bottom:2rem;font-size:2rem}.macro-score-large{text-align:center;background:var(--tint);border-radius:16px;margin-bottom:2rem;padding:2rem}.macro-score-value{font-family:var(--font-space-mono), monospace;letter-spacing:-.04em;font-size:5rem;font-weight:700;line-height:1}.macro-score-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-top:1rem;font-size:1.25rem;font-weight:600}.macro-analysis{color:var(--text-secondary);margin-bottom:2rem;line-height:1.8}.macro-indicators h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.25rem}.indicator-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem;display:grid}.indicator-item{background:var(--tint);border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.indicator-label{color:var(--text-muted);font-size:.875rem;font-weight:600}.indicator-value{font-family:var(--font-space-mono), monospace;font-size:1.25rem;font-weight:700}.indicator-context{color:var(--text-muted);margin-top:.25rem;font-size:.85rem;font-weight:600;display:block}@media (max-width:768px){.macro-panel-content{width:92%;padding:2rem 1.25rem}.indicator-grid{grid-template-columns:1fr}.macro-score-value{font-size:3.5rem}}@media (max-width:374px){.macro-panel-content{width:96%;padding:1.5rem 1rem}.macro-score-value{font-size:3rem}}
.controls-section.m-controls{top:var(--header-height);z-index:50;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:6px;margin:-1rem -1rem 8px;padding:12px 14px 6px;animation:none;display:flex;position:sticky}@media (max-width:374px){.controls-section.m-controls{margin:-.5rem -.5rem 8px}}.m-ctl-row{gap:10px;display:flex}.m-search{background:var(--surface);border:1px solid var(--line);min-width:0;height:44px;color:var(--ink4);border-radius:10px;flex:1;align-items:center;gap:9px;padding:0 14px;transition:border-color .16s,box-shadow .16s;display:flex}.m-search:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px var(--shadow-glow)}.m-search svg{flex:none}.m-search .search-input{width:auto;min-width:0;height:100%;box-shadow:none;font:400 16px/1 var(--font-sora), sans-serif;color:var(--ink);background:0 0;border:0;flex:1;padding:0}.m-search .search-input:focus{box-shadow:none}.m-search .search-input::-webkit-search-cancel-button{cursor:pointer}.m-filter-btn{background:var(--surface);border:1px solid var(--line2);cursor:pointer;border-radius:10px;flex:none;place-items:center;width:44px;height:44px;padding:0;transition:border-color .16s,background .16s;display:grid;position:relative}.m-filter-btn:hover{border-color:var(--ink)}.m-filter-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.m-filter-glyph{flex-direction:column;gap:3.5px;width:16px;display:flex}.m-filter-glyph i{background:var(--ink);border-radius:2px;height:1.8px;display:block}.m-filter-glyph i:first-child{width:16px}.m-filter-glyph i:nth-child(2){width:11px}.m-filter-glyph i:nth-child(3){width:6px}.m-badge{border:2px solid var(--paper);background:var(--ink);min-width:18px;height:18px;color:var(--paper);font:700 10px/14px var(--font-space-mono), monospace;text-align:center;border-radius:999px;padding:0 5px;position:absolute;top:-5px;right:-5px}.m-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.m-count{font:400 11px/1 var(--font-space-mono), monospace;font-variant-numeric:tabular-nums;color:var(--ink3);white-space:nowrap}.m-sort{align-items:center;min-width:0;height:32px;display:inline-flex;position:relative}.m-sort-label{font:500 11.5px/1 var(--font-sora), sans-serif;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.m-sort-label u{color:var(--ink3);margin-right:2px;font-weight:400;text-decoration:none}.m-sort select{opacity:0;cursor:pointer;width:100%;font-size:16px;position:absolute;inset:0}.m-sort:focus-within .m-sort-label{text-underline-offset:3px;text-decoration:underline}.m-scrim{z-index:400;opacity:0;pointer-events:none;background:#0b0c0d57;transition:opacity .22s;position:fixed;inset:0}.m-scrim.is-open{opacity:1;pointer-events:auto}.m-sheet{z-index:401;max-height:calc(100dvh - var(--header-height));background:var(--surface);border-top:1px solid var(--line);visibility:hidden;border-radius:20px 20px 0 0;flex-direction:column;transition:transform .32s cubic-bezier(.32,.72,0,1),visibility 0s linear .32s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(102%)}.m-sheet.is-open{visibility:visible;transition:transform .32s cubic-bezier(.32,.72,0,1),visibility;transform:none}.m-sheet:focus{outline:none}@media (prefers-reduced-motion:reduce){.m-sheet,.m-sheet.is-open{transition-property:visibility}}.m-grab{background:var(--line2);border-radius:2px;width:38px;height:4px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.m-sheet-hd{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 18px 12px;display:flex}.m-sheet-hd h3{font:600 15px/1.2 var(--font-sora), sans-serif;color:var(--ink)}.m-sheet-close{min-height:32px;font:500 12.5px/1 var(--font-sora), sans-serif;color:var(--ink3);cursor:pointer;background:0 0;border:0;padding:0 2px}.m-sheet-close:hover{color:var(--ink)}.m-sheet-bd{overscroll-behavior:contain;flex-direction:column;flex:1;gap:20px;min-height:0;padding:16px 18px;display:flex;overflow-y:auto}.m-fg{flex-direction:column;gap:10px;display:flex}.m-fg-label{font:600 10.5px/1 var(--font-sora), sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--ink3);justify-content:space-between;align-items:baseline;display:flex}.m-fg-label i{font:400 11px/1 var(--font-space-mono), monospace;letter-spacing:0;text-transform:none;color:var(--ink2);font-style:normal}.m-chips{flex-wrap:wrap;gap:8px;display:flex}.m-chips .sector-pill{letter-spacing:0;height:32px;padding:0 14px;font-size:12px}.m-fg .range-track-wrap{width:auto;height:28px;margin:0 2px}.m-seg{border:1px solid var(--line2);border-radius:999px;display:flex;overflow:hidden}.m-seg button{border:0;border-left:1px solid var(--line);background:var(--surface);height:40px;font:500 12.5px/1 var(--font-sora), sans-serif;color:var(--ink2);cursor:pointer;flex:1}.m-seg button:first-child{border-left:0}.m-seg button.on{background:var(--ink);color:var(--paper);font-weight:600}.m-sheet-ft{padding:14px 18px calc(18px + var(--safe-bottom));border-top:1px solid var(--line);gap:10px;display:flex}.m-btn-reset,.m-btn-apply{height:46px;font:600 13.5px/1 var(--font-sora), sans-serif;color:var(--ink);cursor:pointer;border-radius:999px}.m-btn-reset{background:var(--surface);border:1px solid var(--line2);color:var(--ink2);flex:none;padding:0 20px;font-weight:500}.m-btn-apply{background:var(--lime);color:var(--on-lime);border:0;flex:1;transition:background .16s}.m-btn-apply:hover{background:var(--lime-d)}
