:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background-primary:#03050a;--background-secondary:#07101d;--surface:#0b1422;--surface-raised:#101b2c;--surface-hover:#142238;--surface-soft:#ffffff09;--border:#f4d78e2e;--border-soft:#f5f0e21a;--gold:#d7ad52;--gold-strong:#f1cf78;--gold-muted:#d7ad5229;--text-primary:#f8f2e4;--text-secondary:#a8b2c3;--text-muted:#758196;--success:#32c98a;--success-soft:#32c98a24;--danger:#e76060;--danger-soft:#e7606024;--warning:#e7a640;--warning-soft:#e7a64024;--radius:8px;--radius-sm:6px;--space-1:.35rem;--space-2:.55rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--shadow:0 18px 70px #00000061}*{box-sizing:border-box}html,body{min-height:100%;overflow-x:hidden}body{background:radial-gradient(circle at top right, #d7ad5214, transparent 28rem), linear-gradient(145deg, var(--background-primary) 0%, var(--background-secondary) 52%, #020307 100%);color:var(--text-primary);margin:0;font-family:Segoe UI,Tahoma,Arial,sans-serif;font-size:16px}button,input,select{font:inherit}button{letter-spacing:0}button:focus-visible,input:focus-visible{outline:2px solid var(--gold-strong);outline-offset:2px}button:disabled{cursor:not-allowed}.page-shell{min-height:100vh;padding:clamp(.75rem,1.6vw,1.25rem)}.mapper-shell{gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);width:min(100%,1640px);min-height:calc(100vh - clamp(1.5rem,3.2vw,2.5rem));box-shadow:var(--shadow);background:#060d18eb;margin:0 auto;padding:clamp(.75rem,1.5vw,1.1rem);display:grid}.app-header{align-items:center;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr) auto;min-height:3.35rem;display:grid}.brand-lockup{border-radius:var(--radius-sm);width:2.3rem;height:2.3rem;color:var(--gold-strong);background:linear-gradient(#d7ad522e,#0b1422d1);border:1px solid #f1cf7857;place-items:center;font-weight:900;display:grid}.brand-monogram{transform:translateY(-1px)}.brand-mark{color:var(--gold-strong);letter-spacing:0;margin:0 0 .15rem;font-size:clamp(1.25rem,1.5vw,1.65rem);font-weight:900;line-height:1.05}.tagline{color:var(--text-secondary);margin:0;font-size:.88rem;font-weight:650}.scope-pill{background:var(--success-soft);color:#a8f0cf;white-space:nowrap;border:1px solid #32c98a47;border-radius:999px;margin:0;padding:.38rem .62rem;font-size:.78rem;font-weight:850}.contract-form{gap:var(--space-2);display:grid}.field-label{color:var(--text-secondary);font-size:.86rem;font-weight:800}.contract-input-bar{align-items:stretch;gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(9.5rem,13rem);display:grid}.contract-input{border:1px solid var(--border-soft);border-radius:var(--radius);width:100%;min-height:2.85rem;color:var(--text-primary);text-align:left;direction:ltr;background:#060d18;padding:.72rem .85rem}.contract-input::placeholder{color:var(--text-muted);text-align:right}.contract-input[aria-invalid=true]{border-color:#e76060a6}.analyze-button{border-radius:var(--radius);color:#101620;cursor:pointer;background:linear-gradient(#ecc86e 0%,#bc8e35 100%);border:1px solid #f1cf7880;justify-content:center;align-items:center;gap:.45rem;min-height:2.85rem;font-weight:950;transition:transform .15s,border-color .15s,filter .15s;display:inline-flex}.analyze-button:hover,.analyze-button:focus-visible{border-color:var(--gold-strong);filter:brightness(1.04);transform:translateY(-1px)}.analyze-button:disabled{opacity:.72;transform:none}.button-progress,.loading-line:after{content:"";display:block}.button-progress{border:2px solid #1016204d;border-top-color:#101620;border-radius:999px;width:.7rem;height:.7rem;animation:.85s linear infinite spin}.input-error{color:#ffb4b4;margin:0;font-size:.84rem;font-weight:750}.status-message{border:1px solid var(--border-soft);border-radius:var(--radius);min-height:2.15rem;color:var(--text-secondary);background:#03050a5c;padding:.55rem .7rem;font-size:.86rem;line-height:1.45}.trade-chart-panel{gap:var(--space-3);border:1px solid var(--border-soft);border-radius:var(--radius);background:linear-gradient(#040911fa,#03050af5);align-content:start;min-height:clamp(670px,78vh,980px);padding:clamp(.65rem,1.2vw,.9rem);display:grid;position:relative;overflow:hidden}.trade-chart-panel-empty{align-content:stretch;min-height:clamp(560px,72vh,860px)}.chart-empty-state,.chart-loading-state,.chart-error-state{place-items:center;gap:var(--space-3);border-radius:var(--radius);min-height:clamp(520px,66vh,800px);color:var(--text-secondary);text-align:center;padding:var(--space-4);background:linear-gradient(#03050ad6,#07101d6b),#03050a;border:1px dashed #d7ad5240;display:grid}.chart-empty-state p,.chart-loading-state p,.chart-error-state p{margin:0;font-weight:800}.empty-state-mark{background:linear-gradient(90deg,#0000 49%,#f1cf78b8 50%,#0000 51%),linear-gradient(#0000 49%,#f1cf78b8 50%,#0000 51%),#d7ad5214;border:1px solid #f1cf7859;border-radius:50%;width:2.4rem;height:2.4rem}.chart-error-state{color:#ffc5c5;border-color:#e760606b}.loading-line{background:#f8f2e414;border-radius:999px;width:min(22rem,72vw);height:.32rem;overflow:hidden}.loading-line:after{border-radius:inherit;background:var(--gold-strong);width:38%;height:100%;animation:1.15s ease-in-out infinite loading-pass}.market-info-row{gap:var(--space-3);grid-template-columns:minmax(13rem,.9fr) minmax(0,2.7fr);align-items:end;display:grid}.chart-kicker{color:var(--gold);letter-spacing:0;text-transform:uppercase;margin:0 0 .22rem;font-size:.72rem;font-weight:950}.token-title-line{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.token-title-line h2{overflow-wrap:anywhere;min-width:0;color:var(--text-primary);margin:0;font-size:clamp(1.05rem,1.55vw,1.45rem);font-weight:900;line-height:1.15}.plan-status-badge,.summary-badge{border:1px solid var(--border-soft);white-space:nowrap;border-radius:999px;padding:.36rem .52rem;font-size:.74rem;font-weight:900;line-height:1}.plan-status-badge.long,.summary-badge.long{background:var(--success-soft);color:#9df0c9;border-color:#32c98a5c}.plan-status-badge.neutral,.summary-badge.neutral{background:var(--warning-soft);color:#ffd893;border-color:#e7a64057}.market-metrics{gap:var(--space-2);grid-template-columns:repeat(7,minmax(0,1fr));margin:0;display:grid}.metric-chip,.summary-grid>div,.plan-context-grid>div,.summary-topline{border:1px solid var(--border-soft);border-radius:var(--radius);background:#101b2c9e;min-width:0}.metric-chip{padding:.5rem .55rem}.metric-chip dt,.summary-grid span,.plan-context-grid span,.summary-topline span{color:var(--text-secondary);margin:0 0 .22rem;font-size:.7rem;font-weight:750;display:block}.metric-chip dd,.summary-grid strong,.summary-topline strong{overflow-wrap:anywhere;color:var(--text-primary);margin:0;font-size:.84rem;font-weight:900;display:block}.freshness-fresh{border-color:#32c98a47}.freshness-delayed,.freshness-stale{border-color:#e7a64052}.chart-toolbar{align-items:center;gap:var(--space-2);border:1px solid var(--border-soft);border-radius:var(--radius);background:#03050a61;flex-wrap:wrap;padding:.42rem;display:flex}.toolbar-group,.display-mode-toggle{border-radius:var(--radius);background:#03050a5c;border:1px solid #f8f2e414;flex-wrap:wrap;align-items:center;gap:.28rem;min-width:0;padding:.24rem;display:inline-flex}.toolbar-actions{margin-inline-start:auto}.toolbar-monitoring{flex:20rem;justify-content:flex-end}.timeframe-button,.display-mode-button,.chart-action-button{border-radius:var(--radius-sm);min-height:2.1rem;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;font-size:.78rem;font-weight:900}.timeframe-button,.display-mode-button{min-width:3.05rem;padding:0 .58rem}.timeframe-button{direction:ltr}.chart-action-button{white-space:nowrap;justify-content:center;align-items:center;gap:.36rem;padding:0 .58rem;display:inline-flex}.action-icon{color:var(--gold-strong);font-size:.82rem;line-height:1}.timeframe-button:hover,.timeframe-button.active,.display-mode-button:hover,.display-mode-button.active,.chart-action-button:hover,.chart-action-button:focus-visible{background:var(--gold-muted);color:var(--gold-strong);border-color:#f1cf7861}.display-mode-button:disabled,.chart-action-button:disabled{opacity:.48}.display-mode-button:disabled:hover,.chart-action-button:disabled:hover{color:var(--text-secondary);background:0 0;border-color:#0000}.monitoring-chip{border-radius:var(--radius-sm);color:#b8f4d6;white-space:nowrap;background:#32c98a14;border:1px solid #32c98a3d;align-items:center;min-height:2.1rem;padding:0 .56rem;font-size:.76rem;font-weight:850;display:inline-flex}.display-mode-note{color:var(--text-secondary);flex:1 0 100%;margin:0;font-size:.78rem;line-height:1.45}.plan-alert-live-region{min-height:0}.plan-alert-toast{justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:var(--radius);color:var(--text-primary);background:#101b2cf5;border:1px solid #d7ad5247;padding:.58rem .68rem;display:flex}.plan-alert-toast p{overflow-wrap:anywhere;margin:0;font-size:.86rem;font-weight:850;line-height:1.45}.plan-alert-toast button{border:1px solid var(--border-soft);border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;color:var(--text-primary);cursor:pointer;background:#03050a7a;flex:none;font-size:1rem;line-height:1}.plan-alert-toast.success{background:#092a1feb;border-color:#32c98a5c}.plan-alert-toast.warning{background:#362509eb;border-color:#e7a6406b}.plan-alert-toast.danger{background:#370d14eb;border-color:#e7606075}.safe-plan-message{border-radius:var(--radius);color:var(--gold-strong);background:#d7ad5214;border:1px solid #d7ad523d;margin:0;padding:.58rem .68rem;font-size:.86rem;font-weight:800;line-height:1.45}.safe-plan-message.neutral{color:#ffd893;background:#e7a64014;border-color:#e7a6403d}.safe-plan-message.warning{border-color:#e7a6406b}.safe-plan-message.error{background:var(--danger-soft);color:#ffc5c5;border-color:#e760606b}.chart-canvas-shell{border-radius:var(--radius);touch-action:pan-y;background:#03050a;border:1px solid #d7ad522e;min-width:0;height:clamp(560px,66vh,780px);position:relative;overflow:hidden}.chart-canvas{width:100%;height:100%}.refresh-overlay{z-index:6;place-items:center;gap:var(--space-3);border-radius:var(--radius);color:var(--gold-strong);padding:var(--space-4);pointer-events:none;background:#03050ad1;border:1px solid #f1cf7852;display:grid;position:absolute;top:50%;left:clamp(1rem,3vw,2.5rem);right:clamp(1rem,3vw,2.5rem);transform:translateY(-50%)}.refresh-overlay p{margin:0;font-weight:900}.chart-tooltip{z-index:4;border-radius:var(--radius);min-width:11rem;max-width:15rem;color:var(--text-primary);pointer-events:none;direction:ltr;background:#03050aeb;border:1px solid #f1cf7852;gap:.4rem;padding:.65rem;display:none;position:absolute;box-shadow:0 12px 28px #00000052}.chart-tooltip>div{color:var(--gold-strong);font-size:.78rem;font-weight:850}.chart-tooltip dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.22rem;margin:0;display:grid}.chart-tooltip dl div{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.chart-tooltip dt,.chart-tooltip dd{margin:0;font-size:.72rem}.chart-tooltip dt{color:var(--text-secondary)}.chart-tooltip dd{color:var(--text-primary);font-weight:850}.plan-summary{gap:var(--space-2);display:grid}.summary-topline{justify-content:space-between;align-items:center;gap:var(--space-3);padding:.6rem .68rem;display:flex}.summary-grid{gap:var(--space-2);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.summary-grid>div{padding:.58rem .62rem}.plan-context-grid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.plan-context-grid>div{padding:.62rem .68rem}.plan-context-grid p{color:var(--text-primary);margin:0;font-size:.84rem;font-weight:750;line-height:1.5}.plan-summary-text{color:var(--text-primary);margin:0;font-size:.88rem;line-height:1.55}.plan-summary-text.muted{color:var(--text-secondary)}.plan-summary-text.warning{color:#ffd893;font-weight:850}.trader-advice-box{border-radius:var(--radius);background:#d7ad5214;border:1px solid #d7ad523d;gap:.25rem;padding:.66rem .74rem;display:grid}.trader-advice-box h3,.trader-advice-box p{margin:0}.trader-advice-box h3{color:var(--gold-strong);font-size:.78rem;font-weight:950}.trader-advice-box p{color:var(--text-primary);font-size:.88rem;line-height:1.55}@keyframes loading-pass{0%{transform:translate(-110%)}to{transform:translate(280%)}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:1280px){.market-info-row{grid-template-columns:1fr}.market-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.toolbar-actions{margin-inline-start:0}}@media (max-width:1024px){.trade-chart-panel{min-height:clamp(650px,76vh,900px)}.market-metrics,.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-context-grid{grid-template-columns:1fr}.chart-canvas-shell{height:clamp(520px,58vh,680px)}}@media (max-width:640px){.page-shell{padding:.55rem}.mapper-shell{gap:var(--space-2);min-height:calc(100vh - 1.1rem);padding:.6rem}.app-header{grid-template-columns:auto minmax(0,1fr)}.scope-pill{grid-column:1/-1;justify-self:start}.brand-mark{font-size:1.18rem}.contract-input-bar{grid-template-columns:1fr}.trade-chart-panel,.trade-chart-panel-empty{min-height:560px;padding:.52rem}.chart-empty-state,.chart-loading-state,.chart-error-state{min-height:430px}.market-metrics,.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-toolbar,.toolbar-group,.display-mode-toggle{width:100%}.toolbar-group,.display-mode-toggle{justify-content:stretch}.timeframe-button,.display-mode-button,.chart-action-button{flex:1 1 0;min-width:0;padding-inline:.38rem}.chart-action-button{white-space:normal}.monitoring-chip,.display-mode-note{text-align:center;white-space:normal;justify-content:center;width:100%}.chart-canvas-shell{height:430px}.summary-topline{flex-direction:column;align-items:start}}@media (max-width:390px){.market-metrics,.summary-grid{grid-template-columns:1fr 1fr}.chart-canvas-shell{height:410px}.chart-empty-state,.chart-loading-state,.chart-error-state{min-height:410px}}@media (max-width:360px){.market-metrics,.summary-grid{grid-template-columns:1fr}.chart-canvas-shell{height:390px}.chart-empty-state,.chart-loading-state,.chart-error-state{min-height:390px}}
