:root{--bg:#05070a;--surface:#0d1219c7;--surface-strong:#0b1017;--line:#94bee617;--line-strong:#94bee633;--text:#dbe4ec;--muted:#6f7f8f;--accent:#5eead4;--accent-soft:#5eead41f;--accent-glow:#5eead447;--up:#34d399;--down:#fb7185;--warn:#fbbf24;--radius:10px;--font-body:"Inter", "IBM Plex Sans", system-ui, sans-serif;--font-display:"Space Grotesk", "Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;color:var(--text);background:var(--bg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(1100px 520px at 85% -20%, #5eead414, transparent 60%), radial-gradient(900px 480px at -10% 10%, #7aa2ff0f, transparent 60%), var(--bg);min-height:100vh;margin:0}body:before{content:"";pointer-events:none;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.45;z-index:-1;background-size:56px 56px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#0000008c,#0000 70%);mask-image:linear-gradient(#0000008c,#0000 70%)}::selection{background:var(--accent-soft)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:1.75rem}h2{font-size:1rem}.num,.mono,.price,.figure,.pl,code{font-family:var(--font-mono);font-variant-numeric:tabular-nums}button,input,select{font:inherit;color:inherit}button{background:var(--accent);color:#03201b;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.6rem .95rem;font-weight:600;transition:box-shadow .15s,border-color .15s,background .15s,color .15s}button:hover:not(:disabled){box-shadow:0 0 0 1px var(--accent), 0 0 22px var(--accent-glow)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{box-shadow:0 0 0 2px var(--accent-glow);outline:none}button.ghost,button.chip,button.tab{color:var(--text);border-color:var(--line-strong);background:0 0;font-weight:500}button.ghost:hover:not(:disabled),button.chip:hover:not(:disabled),button.tab:hover:not(:disabled){border-color:var(--accent);box-shadow:none;color:var(--accent)}button.chip{font-family:var(--font-mono);padding:.3rem .6rem;font-size:.8rem}button.chip.active,button.tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}.linkish{color:var(--accent);background:0 0;border:0;justify-self:start;width:fit-content;padding:.4rem 0 0;font-weight:500}label{color:var(--muted);gap:.35rem;font-size:.85rem;display:grid}input,select{background:var(--surface-strong);border:1px solid var(--line-strong);color:var(--text);border-radius:8px;padding:.6rem .75rem}input:focus,select:focus{border-color:var(--accent)}input[type=checkbox]{accent-color:var(--accent);width:1rem;height:1rem;margin-top:.2rem}.shell{min-height:100vh}.topbar,.page{width:min(1120px,100% - 2rem);margin:0 auto}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding:1rem 0;display:flex}.topbar.page-wide,.page.page-wide{width:min(1320px,100% - 2rem)}.topbar-left{align-items:center;gap:2rem;display:flex}.topbar-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.brand{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--text);align-items:center;gap:.55rem;margin:0;font-size:.78rem;font-weight:600;display:inline-flex}.brand:hover{color:var(--accent);text-decoration:none}.brand-mark{border:1.5px solid var(--accent);width:.7rem;height:.7rem;box-shadow:0 0 12px var(--accent-glow);transform:rotate(45deg)}.nav{gap:.25rem;display:flex}.nav-link{color:var(--muted);border-radius:6px;padding:.35rem .7rem;font-size:.85rem}.nav-link:hover{color:var(--text);text-decoration:none}.nav-link.active{color:var(--accent);background:var(--accent-soft)}.avatar{border:1px solid var(--line-strong);width:2rem;height:2rem;font-family:var(--font-display);color:var(--text);border-radius:50%;place-items:center;font-size:.8rem;display:grid}.avatar:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.page{padding-bottom:4rem}.page-head{gap:.3rem;margin-bottom:1.4rem;display:grid}.stack{align-content:start;gap:1rem;min-width:0;display:grid}.split{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.side-nav{gap:.35rem;padding:.6rem;display:grid}.side-nav button,.admin-nav button{text-align:left;border-color:#0000}.row,.pair-card-head,.pair-title,.tabs,.panel-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.panel-head{flex-wrap:wrap;align-items:flex-start}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}.card:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#5eead459,#0000);height:1px;position:absolute;inset:0 18% auto}.panel,.chart-panel,.strategy-panel,.analysis-panel,.admin-panel,.broker-card{align-content:start;gap:.9rem;padding:1.1rem 1.2rem;display:grid}.eyebrow,.label,.facts dt,.levels dt,.stats dt,.data-table th{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.68rem;font-weight:500}.eyebrow a{color:var(--muted)}.eyebrow a:hover{color:var(--accent)}.muted{color:var(--muted);margin:0}.small{font-size:.82rem}.center{text-align:center;padding:2rem}.error{color:var(--down);margin:0}.inline-error{color:var(--down);margin:.35rem 0 0;font-size:.82rem}.resend-note{margin-top:.35rem;display:block}.up{color:var(--up)}.down{color:var(--down)}.pill{font-size:.72rem;font-family:var(--font-display);letter-spacing:.06em;border:1px solid var(--line-strong);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.15rem .6rem;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:.4rem;height:.4rem}.pill-open,.broker-connected,.bridge-online{color:var(--up);border-color:#34d39959}.pill-open:before,.bridge-online:before{animation:2s ease-in-out infinite pulse;box-shadow:0 0 8px}.pill-daily_break,.broker-connecting,.bridge-waiting{color:var(--warn);border-color:#fbbf2459}.pill-closed,.broker-disconnected,.broker-error,.bridge-offline{color:var(--down);border-color:#fb718559}.pill-unknown{color:var(--muted)}@keyframes pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.pill-open:before,.bridge-online:before,.live-dot:before{animation:none}}.facts,.broker-facts{grid-template-columns:max-content 1fr;align-items:baseline;gap:.55rem 1.4rem;margin:0;display:grid}.facts dd,.broker-facts dd{overflow-wrap:anywhere;margin:0}.broker-facts dt{color:var(--muted);font-size:.85rem}.auth-screen{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-card{gap:1rem;width:min(400px,100%);padding:1.6rem;display:grid}.auth-footer{color:var(--muted);font-size:.88rem}.pair-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.9rem;display:grid}.pair-card{color:inherit;gap:.4rem;padding:1.1rem 1.2rem;transition:border-color .15s,transform .15s;display:grid}.pair-card:hover{border-color:var(--line-strong);text-decoration:none;transform:translateY(-1px)}.pair-card strong{font-family:var(--font-display);letter-spacing:.04em;font-size:1.05rem}.pair-card-foot{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;margin:.3rem 0 0;padding-top:.6rem;font-size:.78rem;display:flex}.price{letter-spacing:-.01em;margin:.15rem 0;font-size:1.45rem}.price.waiting{font-family:var(--font-body);color:var(--muted);font-size:.95rem}.mid-label{border:1px solid var(--line-strong);color:var(--muted);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;vertical-align:middle;border-radius:4px;margin-left:.5rem;padding:.1rem .4rem;font-size:.6rem;display:inline-block}.pair-title{align-items:flex-end;margin:0 0 1.1rem}.pair-title .symbol{letter-spacing:.02em;font-size:2.1rem}.pair-quote{text-align:right}.source-picker{justify-content:flex-end;align-items:center;gap:.5rem;margin-top:.45rem;font-size:.78rem;display:flex}.source-note{margin:.35rem 0 0;font-size:.78rem}.source-note.warn{color:var(--warn)}.mid-label.mid-broker{color:var(--accent);border-color:#5eead466}.broker-price{font-family:var(--font-mono);margin:0;font-size:.8rem}.tabs{justify-content:flex-start;gap:.4rem;margin-bottom:.9rem}.tabs .tab{padding:.4rem .95rem;font-size:.85rem}.chart-stage{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:1rem;display:grid}.chart-stage[hidden]{display:none}.chips{flex-wrap:wrap;gap:.35rem;display:flex}.chart-note{margin-top:.2rem;font-size:.82rem}.signal{font-size:.82rem}.chart-frame{border:1px solid var(--line);background:#03060999;border-radius:8px;position:relative;overflow:hidden}.chart-host{z-index:1;width:100%;min-height:420px;position:relative}.chart-overlay{pointer-events:none;z-index:0;position:absolute;top:0;left:0;overflow:hidden}.chart-box{box-sizing:border-box;border-style:solid;border-width:1.5px;position:absolute}.chart-labels{z-index:2}.chart-box-label{font-family:var(--font-display);letter-spacing:.06em;color:#fff;white-space:nowrap;border-radius:3px;padding:0 4px;font-size:.64rem;font-weight:600;line-height:14px;position:absolute}.analysis-panel{position:sticky;top:1rem}.analysis-list{gap:.95rem;margin:0;padding:0;list-style:none;display:grid}.analysis-step{grid-template-columns:auto 1fr;align-items:start;gap:.7rem;display:grid}.analysis-step span{gap:.1rem;display:grid}.analysis-step strong{font-size:.92rem;font-weight:500}.analysis-step .muted{font-size:.82rem}.analysis-mark{border:1px solid var(--line-strong);width:1.5rem;height:1.5rem;font-family:var(--font-mono);color:var(--muted);border-radius:6px;place-items:center;font-size:.7rem;display:grid}.analysis-step.now .analysis-mark{border-color:var(--accent);color:var(--accent);box-shadow:0 0 14px var(--accent-glow)}.analysis-step.done .analysis-mark{color:var(--up);border-color:#34d39966}.analysis-step.wait{opacity:.55}.live-signal.tone-up{border-color:#34d39947}.live-signal.tone-down{border-color:#fb718547}.side-tag{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;border:1px solid;border-radius:4px;padding:.12rem .5rem;font-size:.68rem;font-weight:600}.side-tag.buy{color:var(--up)}.side-tag.sell{color:var(--down)}.live-figures{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.live-figures>div{gap:.2rem;display:grid}.pl{letter-spacing:-.02em;margin:0;font-size:1.6rem}.pl.up{color:var(--up);text-shadow:0 0 18px #34d39959}.pl.down{color:var(--down);text-shadow:0 0 18px #fb718559}.figure{margin:0;padding-top:.35rem;font-size:1.15rem}.range-track{background:linear-gradient(90deg,#fb71858c,#94bee626 50%,#34d3998c);border-radius:999px;height:4px;margin:.35rem .4rem;position:relative}.range-entry{background:var(--text);opacity:.6;width:1px;height:14px;position:absolute;top:-5px}.range-mark{background:var(--text);border-radius:50%;width:11px;height:11px;transition:left .4s;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #05070ae6,0 0 16px}.range-mark.up{color:var(--up);background:var(--up)}.range-mark.down{color:var(--down);background:var(--down)}.levels{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0;display:grid}.levels>div{gap:.15rem;display:grid}.levels dd{margin:0;font-size:.92rem}.stats{gap:1.6rem;margin:0;display:flex}.stats>div{text-align:right;gap:.1rem;display:grid}.stats dd{margin:0;font-size:1.05rem}.table-scroll{margin:0 -.2rem;overflow-x:auto}.data-table,.users{border-collapse:collapse;width:100%;font-size:.85rem}.data-table th,.users th{text-align:left;border-bottom:1px solid var(--line-strong);white-space:nowrap;padding:.5rem .55rem}.users th{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:500}.data-table td,.users td{border-bottom:1px solid var(--line);white-space:nowrap;padding:.6rem .55rem}.data-table th.num,.data-table td.num{text-align:right}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover{background:#94bee60a}.users{font-variant-numeric:tabular-nums}.live-dot{color:var(--accent);font-family:var(--font-display);letter-spacing:.08em;align-items:center;gap:.35rem;font-size:.75rem;display:inline-flex}.live-dot:before{content:"";background:currentColor;border-radius:50%;width:.4rem;height:.4rem;animation:1.6s ease-in-out infinite pulse;box-shadow:0 0 8px}.pager{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.pager button{padding:.35rem .7rem;font-size:.82rem}.settings-grid{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}.steps{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.steps label{color:var(--text);border:1px solid var(--line);border-radius:8px;grid-template-columns:auto 1fr;align-items:start;gap:.7rem;padding:.7rem .8rem;font-size:.9rem}.steps label:has(input:checked){background:var(--accent-soft);border-color:#5eead459}.steps span{gap:.15rem;display:grid}.steps strong{font-weight:500}.admin{grid-template-columns:200px 1fr;align-items:start;gap:1rem;display:grid}.admin-nav{gap:.35rem;padding:.6rem;display:grid}.admin-panel h2{font-size:1.05rem}.checks{grid-template-columns:1fr 1fr;gap:.5rem 1rem;display:grid}.check{color:var(--text);grid-template-columns:auto 1fr;align-items:center}.color-row{flex-wrap:wrap;gap:.8rem;display:flex}.color-row input{width:3.2rem;height:2.2rem;padding:.2rem}.broker-heading{margin:.8rem 0 0;font-size:.95rem}.broker-card h2{font-size:1rem}.broker-confirm{flex-wrap:wrap}.bridge-token{background:var(--accent-soft);border:1px solid #5eead459;border-radius:8px;gap:.5rem;padding:.85rem;display:grid}.bridge-token p{margin:0}.bridge-token-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.bridge-token-row code{overflow-wrap:anywhere;color:var(--accent);flex:16rem;font-size:.82rem}.bridge-quotes{width:100%}.bridge-quotes td:nth-child(n+3){font-family:var(--font-mono)}.bridge-steps summary{cursor:pointer;color:var(--muted);font-size:.88rem}.bridge-steps summary:hover{color:var(--text)}.bridge-steps ol{gap:.55rem;margin:.7rem 0 0;padding-left:1.2rem;font-size:.9rem;display:grid}code{overflow-wrap:anywhere;color:var(--text);background:#94bee612;border-radius:4px;padding:.05rem .3rem;font-size:.85em}.bridge-token-row code{background:0 0;padding:0}@media (width<=1000px){.chart-stage{grid-template-columns:1fr}.analysis-panel{position:static}}@media (width<=760px){.settings-grid,.checks,.admin,.split{grid-template-columns:1fr}.side-nav{grid-auto-flow:column;overflow-x:auto}.topbar.page-wide,.page.page-wide{width:min(1320px,100% - 2rem)}.topbar-left{gap:1rem}.pair-title{flex-direction:column;align-items:flex-start}.pair-quote{text-align:left}.source-picker{justify-content:flex-start}.live-figures,.levels{grid-template-columns:1fr 1fr}.stats{gap:1rem}.stats>div{text-align:left}}@media (width<=520px){.topbar{flex-wrap:wrap;gap:.6rem}.nav-link{padding:.3rem .45rem}}.sound-toggle{color:var(--muted);border:1px solid var(--line-strong);background:0 0;padding:.3rem .7rem;font-size:.78rem;font-weight:500}.sound-toggle:hover{color:var(--text);border-color:var(--accent)}.sound-toggle.on{color:var(--accent);border-color:#5eead466}.toasts{z-index:50;gap:.5rem;width:min(24rem,100vw - 2rem);display:grid;position:fixed;bottom:1rem;right:1rem}.toast{background:var(--surface-strong);border:1px solid var(--line-strong);border-left:3px solid var(--accent);border-radius:var(--radius);align-items:center;gap:.6rem;padding:.7rem .8rem;font-size:.85rem;display:flex;box-shadow:0 10px 30px #00000073}.toast-win{border-left-color:var(--up)}.toast-loss{border-left-color:var(--down)}.toast-flat{border-left-color:var(--warn)}.toast-symbol{font-family:var(--font-mono);color:var(--text);font-weight:600}.toast span{color:var(--muted);flex:1}.toast-close{color:var(--muted);background:0 0;padding:0 .3rem;font-size:1.1rem;line-height:1}.toast-close:hover{color:var(--text);box-shadow:none}.notice{color:var(--warn);border:1px solid #fbbf2459;border-radius:8px;margin:.6rem 0;padding:.6rem .75rem;font-size:.85rem}.scale-block{margin:1rem 0}.scale-block h3{margin:0 0 .3rem;font-size:.9rem}.scale-table input{width:7.5rem}.scale-table td{vertical-align:top}.scale-price{font-family:var(--font-mono);color:var(--muted);margin-top:.2rem;font-size:.72rem;display:block}
