:root{--bg0: #0c1210;--bg1: #14201a;--panel: #1a2a22;--chrome: #0c1210;--ink: #e8f0ea;--muted: #8aa193;--accent: #c8f542;--accent-ink: #10180f;--danger: #ff6b5a;--ok: #5ddea0;--line: rgba(232, 240, 234, .1);--font: "Instrument Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--control-h: 2.75rem;--control-px: 1rem;--control-radius: 4px;--control-bg: #0a100d;--shell-pad-x: 1.5rem;--topbar-pad-y: .65rem}*{box-sizing:border-box}html{background-color:var(--chrome)}body{margin:0;min-height:100vh;min-height:100dvh;font-family:var(--font);color:var(--ink);background-color:var(--chrome);background-image:radial-gradient(1200px 600px at 10% -10%,rgba(200,245,66,.12),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(93,222,160,.08),transparent 50%),linear-gradient(160deg,var(--bg0),var(--bg1));background-attachment:fixed;padding-top:0;padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px)}button,input,select{font:inherit;font-size:.92rem;line-height:1.2;box-sizing:border-box}.brand{margin:0;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;color:var(--accent)}.auth-shell{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:max(1.5rem,env(safe-area-inset-top,0px)) 1.5rem 1.5rem}.auth-card{width:min(420px,100%);padding:2rem 1.75rem 1.75rem;border:1px solid var(--line);background:#0e1612eb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);text-align:center}.auth-header{display:grid;gap:.55rem;margin-bottom:1.35rem}.auth-card .brand{margin:0;justify-self:center}.auth-card h1{font-size:clamp(1.35rem,4.5vw,1.65rem);line-height:1.2;margin:0;letter-spacing:-.02em;text-wrap:balance}.auth-card .lede{color:var(--muted);margin:0;font-size:.92rem;line-height:1.45;text-wrap:pretty}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0 0 1.35rem;padding:.28rem;border:1px solid var(--line);background:#00000059}.auth-tabs button{border:0;background:transparent;color:var(--muted);padding:.7rem .85rem;cursor:pointer;font-weight:500;transition:background .15s ease,color .15s ease}.auth-tabs button:hover{color:var(--ink)}.auth-tabs button.active{background:var(--accent);color:var(--accent-ink);font-weight:600}.auth-form{display:grid;gap:.95rem;text-align:left}.auth-form label{display:grid;gap:.4rem;font-size:.8rem;font-weight:500;letter-spacing:.02em;color:var(--muted);text-align:left}.auth-name-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:420px){.auth-name-row{grid-template-columns:1fr}}.auth-form input{width:100%;height:var(--control-h);min-height:var(--control-h);box-sizing:border-box;background:var(--control-bg);border:1px solid var(--line);border-radius:var(--control-radius);color:var(--ink);padding:0 var(--control-px);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.auth-form input::placeholder{color:#8aa1938c}.auth-form input:hover{border-color:#e8f0ea38}.auth-form input:focus{border-color:#c8f5428c;box-shadow:0 0 0 3px #c8f5421f}.auth-form input:-webkit-autofill,.auth-form input:-webkit-autofill:hover,.auth-form input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);box-shadow:0 0 0 1000px #0a100d inset;transition:background-color 99999s ease-out}.auth-submit{width:100%;height:var(--control-h);min-height:var(--control-h);margin-top:.25rem;border:1px solid var(--accent);border-radius:var(--control-radius);background:var(--accent);color:var(--accent-ink);font-weight:600;padding:0 var(--control-px);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:filter .15s ease,transform .1s ease}.auth-submit:hover:not(:disabled){filter:brightness(1.05)}.auth-submit:active:not(:disabled){transform:translateY(1px)}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-footer{margin:.15rem 0 0;text-align:center;color:var(--muted);font-size:.88rem;line-height:1.4}.auth-text-btn{display:inline;margin:0;padding:0;border:0;background:none;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:.18em}.auth-text-btn:hover{color:#d8ff6a}.auth-error{margin:0;text-align:center;color:var(--danger);font-size:.88rem}.auth-verify-copy{margin:0;text-align:center;color:var(--muted);font-size:.92rem;line-height:1.45}.auth-verify-copy strong{color:var(--ink)}.auth-verify-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.auth-verify-actions button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:.7rem .75rem;cursor:pointer}.auth-verify-actions button:hover:not(:disabled){border-color:#e8f0ea47}.auth-form .banner{margin:0;text-align:center}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tabs button,.header-actions button,.row button,.decision button,.chips button,.watchdesk-actions button,.watch-add button{height:var(--control-h);min-height:var(--control-h);padding:0 var(--control-px);border:1px solid var(--line);border-radius:var(--control-radius);background:transparent;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;transition:border-color .15s ease,background .15s ease,filter .15s ease}.tabs button:hover:not(:disabled),.header-actions button:hover:not(:disabled),.row button:hover:not(:disabled),.watchdesk-actions button:hover:not(:disabled),.watch-add button:hover:not(:disabled){border-color:#e8f0ea47}.tabs button:disabled,.header-actions button:disabled,.row button:disabled,.watchdesk-actions button:disabled,.watch-add button:disabled{opacity:.55;cursor:not-allowed}.tabs button.active,button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}button.primary:hover:not(:disabled){filter:brightness(1.06)}form{display:grid;gap:.85rem}label{display:grid;gap:.35rem;font-size:.9rem;color:var(--muted)}label.inline{flex:1}select,input:not([type=checkbox]):not([type=radio]):not([type=range]){height:var(--control-h);min-height:var(--control-h);padding:0 var(--control-px);background:var(--control-bg);border:1px solid var(--line);border-radius:var(--control-radius);color:var(--ink);outline:none;transition:border-color .15s ease,box-shadow .15s ease}select:hover,input:not([type=checkbox]):not([type=radio]):not([type=range]):hover{border-color:#e8f0ea38}select:focus,input:not([type=checkbox]):not([type=radio]):not([type=range]):focus{border-color:#c8f5428c;box-shadow:0 0 0 3px #c8f5421f}input::placeholder{color:#8aa1938c}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);box-shadow:0 0 0 1000px var(--control-bg) inset;transition:background-color 99999s ease-out}.error,.bad-text{color:var(--danger)}.ok-text{color:var(--ok)}.app-shell{max-width:1100px;margin:0 auto;padding:0 var(--shell-pad-x) 1.5rem}.top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}.sub{margin:.25rem 0 0;color:var(--muted);font-size:.9rem}.header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.banner{padding:.75rem 1rem;margin-bottom:1rem;border:1px solid var(--line)}.banner.ok{border-color:#5ddea066}.banner.bad{border-color:#ff6b5a80;color:var(--danger)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.panel{background:#1a2a22e6;border:1px solid var(--line);padding:1.1rem 1.2rem}.panel.span-2{grid-column:span 2}.panel h2{margin:0 0 .75rem;font-size:1rem;font-weight:600}.panel .subhead{margin:1.1rem 0 .4rem;font-size:.85rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.plain-list{list-style:none;margin:0;padding:0}.plain-list li{padding:.45rem 0;border-bottom:1px solid var(--line);font-size:.92rem}.plain-list li:last-child{border-bottom:none}.meter{height:8px;background:#0e1713;border:1px solid var(--line);margin-bottom:.6rem}.meter-fill{height:100%;background:var(--accent)}.mono,code{font-family:var(--mono);font-size:.85rem}.stat{font-size:2rem;margin:0;font-weight:700}.muted{color:var(--muted)}.row{display:flex;gap:.65rem;margin-bottom:.75rem;align-items:center}.row input{flex:1;min-width:0}.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0}.decision{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-top:1px solid var(--line)}.trade-size{display:flex;flex-direction:column;gap:.45rem;min-width:11rem;align-items:stretch}.trade-size label{display:flex;flex-direction:column;gap:.2rem;font-size:.75rem;color:var(--muted)}.trade-size input{width:100%}.trade-size .size-hint{margin:0;font-size:.72rem;line-height:1.3}.decision p{margin:.35rem 0;color:var(--muted);font-size:.92rem}.text-link{color:var(--accent)}.rh-panel{background:linear-gradient(135deg,rgba(0,200,5,.06),transparent 42%),#1a2a22f2}.rh-panel-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.rh-lede{margin:.35rem 0 0;max-width:36rem}.rh-status{display:inline-flex;align-items:center;gap:.45rem;height:var(--control-h);padding:0 .75rem;border:1px solid var(--line);border-radius:var(--control-radius);font-size:.8rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.rh-status.on{border-color:#00c80573;color:#5ddea0}.rh-status.off{color:var(--muted)}.rh-dot{width:.5rem;height:.5rem;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px #5ddea026}.rh-status.off .rh-dot{box-shadow:none;opacity:.55}.rh-url-box{display:grid;gap:.35rem;padding:.85rem 1rem;margin-bottom:1rem;background:#0a100d;border:1px solid var(--line)}.rh-url-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.rh-url{font-size:.82rem;word-break:break-all;color:var(--ink)}.rh-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.rh-connect{display:inline-flex;align-items:center;gap:.85rem;min-width:min(100%,320px);padding:.9rem 1.15rem;border:1px solid #00c805;background:#00c805;color:#000;cursor:pointer;text-align:left;transition:transform .15s ease,filter .15s ease}.rh-connect:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.rh-connect:disabled{opacity:.55;cursor:not-allowed}.rh-connect-mark{font-size:1.1rem;line-height:1}.rh-connect-copy{display:grid;gap:.15rem}.rh-connect-copy strong{font-size:.98rem;font-weight:700}.rh-connect-copy small{font-size:.78rem;opacity:.75;font-weight:500}.rh-disconnect{border:1px solid rgba(255,107,90,.45);background:transparent;color:var(--danger);padding:.7rem 1rem;cursor:pointer;font-weight:600}.rh-docs{font-size:.9rem}.rh-accounts{margin-bottom:1rem;padding:.85rem 1rem;border:1px solid var(--line);background:#0a100da6}.rh-accounts h3{margin:0;font-size:.9rem}.rh-accounts-head{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.75rem}.rh-account-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.rh-account-list li{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding-top:.55rem;border-top:1px solid var(--line)}.rh-help{margin:.85rem 0 0;font-size:.85rem}.loading{min-height:100vh;display:grid;place-items:center}.topbar{display:flex;align-items:center;justify-content:space-between;gap:.65rem;position:sticky;top:0;z-index:20;margin:0 calc(-1 * var(--shell-pad-x)) 1.15rem;padding:max(var(--topbar-pad-y),env(safe-area-inset-top,0px)) var(--shell-pad-x) var(--topbar-pad-y);min-height:calc(2.6rem + env(safe-area-inset-top,0px));box-sizing:border-box;background:var(--chrome);border-bottom:1px solid var(--line)}.topbar-left{display:flex;align-items:center;gap:.65rem;min-width:0;min-height:2rem}.brand-link{color:var(--accent);text-decoration:none;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;line-height:1;flex:0 0 auto;display:inline-flex;align-items:center;height:2rem}.main-nav{display:flex;align-items:center;gap:.2rem;flex:1;min-height:2rem}.main-nav a{color:var(--muted);text-decoration:none;padding:0;height:2rem;padding-inline:.6rem;border:1px solid transparent;border-radius:var(--control-radius);font-size:.86rem;line-height:1;display:inline-flex;align-items:center}.main-nav a.active{color:var(--ink);border-color:var(--line);background:#e8f0ea0a}.topbar-meta{display:flex;align-items:center;gap:.45rem;flex:0 0 auto;min-height:2rem}.nav-logout{height:2rem;min-height:2rem;padding:0 .7rem;border:1px solid rgba(200,245,66,.35);border-radius:var(--control-radius);background:transparent;color:var(--accent);font-weight:600;font-size:.78rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.nav-logout:hover{background:#c8f5421a;border-color:var(--accent)}.menu-toggle{display:none;width:2rem;height:2rem;padding:0;border:1px solid var(--line);border-radius:var(--control-radius);background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:.22rem}.menu-toggle span{display:block;width:.9rem;height:1.5px;background:var(--ink);transition:transform .15s ease,opacity .15s ease}.menu-toggle.open span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-4.5px) rotate(-45deg)}.nav-scrim,.mobile-only{display:none}.banner{margin:0 0 1rem;padding:.65rem .85rem;border:1px solid var(--line)}.banner.ok{border-color:#5ddea059;color:var(--ok)}.banner.error,.banner.bad{border-color:#ff6b5a80;color:var(--danger)}@media(max-width:760px){.menu-toggle{display:inline-flex}.desktop-only{display:none!important}.mobile-only{display:inline-flex}.main-nav{display:none;position:absolute;top:calc(100% + .35rem);left:0;right:0;flex-direction:column;gap:.25rem;padding:.65rem;border:1px solid var(--line);background:#0a100dfa;z-index:30}.main-nav.open{display:flex}.main-nav a,.main-nav .nav-logout{width:100%;justify-content:flex-start;text-align:left}.main-nav .nav-logout{margin-top:.35rem;border-color:#c8f54259}.nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;border:0;background:#00000073;cursor:pointer}.topbar-mode{display:none}}.watchdesk-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap}.watchdesk-head h1,.history-page h1,.settings-page h1{margin:0 0 .35rem;font-size:1.6rem}.watchdesk-title-row{display:flex;align-items:center;gap:.45rem}.watchdesk-title-row h1{margin:0}.watchdesk-help-btn{width:1.35rem;height:1.35rem;padding:0;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:.72rem;font-weight:700;line-height:1;cursor:pointer;flex-shrink:0}.watchdesk-help-btn:hover,.watchdesk-help-btn.is-open{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 35%,var(--line));background:#ffffff0a}.watchdesk-help{margin:.55rem 0 0;max-width:42rem;font-size:.9rem;line-height:1.45}.watchdesk-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.watch-quota{margin:.55rem 0 0;font-size:.82rem}.symbol-search{display:grid;grid-template-columns:3fr 1fr;gap:0;align-items:stretch;margin-bottom:.35rem;border:1px solid var(--line);background:var(--control-bg)}.symbol-search-input{width:100%;min-width:0;height:var(--control-h);min-height:var(--control-h);border:0;border-radius:0;background:transparent;box-shadow:none}.symbol-search-input:hover,.symbol-search-input:focus{border:0;box-shadow:none}.symbol-search:focus-within{border-color:#c8f5428c}.symbol-search-btn,.symbol-search button.primary.symbol-search-btn{width:100%;height:var(--control-h);min-height:var(--control-h);margin:0;border:0;border-left:1px solid var(--line);border-radius:0;box-shadow:none;filter:none;transform:none;background:var(--accent);color:var(--accent-ink);font-weight:600}.symbol-search-btn:hover:not(:disabled),.symbol-search button.primary.symbol-search-btn:hover:not(:disabled){filter:none;background:#d4f85c}.symbol-search-btn:active:not(:disabled),.symbol-search button.primary.symbol-search-btn:active:not(:disabled){transform:none;background:#c0e83a}.symbol-search-btn:disabled,.symbol-search button.primary.symbol-search-btn:disabled{opacity:.5;filter:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:1.25rem;background:#000000b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-panel{width:min(560px,100%);max-height:min(78vh,640px);overflow:auto;padding:1.15rem 1.2rem 1.25rem;border:1px solid var(--line);background:#0c1210f7}.modal-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.modal-head h2{margin:0 0 .25rem;font-size:1.15rem}.modal-head .muted{margin:0;font-size:.85rem}.modal-close{height:var(--control-h);min-height:var(--control-h);padding:0 var(--control-px);border:1px solid var(--line);border-radius:var(--control-radius);background:transparent;color:var(--ink);cursor:pointer}.trade-confirm-modal{width:min(520px,100%)}.trade-confirm-body{display:grid;gap:1rem}.trade-confirm-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.trade-confirm-section h3{margin:0 0 .4rem;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.trade-confirm-section ul{margin:0;padding-left:1.15rem;display:grid;gap:.35rem}.trade-confirm-section p,.trade-confirm-section li{margin:0;font-size:.95rem;line-height:1.45}.trade-confirm-size{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.trade-confirm-size label{display:grid;gap:.35rem;font-size:.8rem;color:var(--muted)}.trade-confirm-size input{height:var(--control-h);padding:0 var(--control-px);border:1px solid var(--line);border-radius:var(--control-radius);background:#00000047;color:var(--ink)}.symbol-hit-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.symbol-hit-list li{display:flex;gap:.75rem;align-items:center;justify-content:space-between;padding:.75rem .85rem;border:1px solid var(--line);background:#00000047}.symbol-hit-main{display:grid;gap:.2rem;min-width:0;text-align:left}.symbol-hit-name{font-size:.95rem;color:var(--ink)}.symbol-hit-meta{font-size:.78rem}.symbol-hit-desc{margin-top:.15rem;font-size:.82rem;line-height:1.4;color:#e8f0eac7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.symbol-hit-select{flex-shrink:0;height:var(--control-h);min-height:var(--control-h);padding:0 var(--control-px);border:1px solid var(--line);border-radius:var(--control-radius);background:transparent;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.symbol-hit-select:hover:not(:disabled){border-color:#e8f0ea47}.symbol-hit-select:disabled{opacity:.55;cursor:not-allowed}.watch-add{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-bottom:1rem}.watch-add input{width:12.5rem;max-width:100%;flex:0 1 12.5rem}.signal-table-wrap{overflow-x:auto;border:1px solid var(--line);background:#14201a8c}.signal-table{width:100%;border-collapse:collapse;font-size:.92rem}.signal-table th,.signal-table td{text-align:left;padding:.75rem .85rem;border-bottom:1px solid var(--line);vertical-align:top}.signal-table th{color:var(--muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.signal-table tr.stale-row td{opacity:.85}.rh-list{border:1px solid var(--line);background:#14201a8c}.rh-empty{margin:0;padding:1.25rem 1rem}.rh-row{padding:.85rem 1rem;border-bottom:1px solid var(--line)}.rh-row:last-child{border-bottom:none}.rh-row.stale-row{opacity:.88}.rh-main{display:grid;grid-template-columns:minmax(4.5rem,1fr) minmax(6rem,1.2fr) auto;gap:.75rem;align-items:center}.rh-left{min-width:0}.rh-symbol{display:block;font-size:1.05rem;letter-spacing:.01em}.rh-symbol-btn{padding:0;border:none;background:transparent;color:inherit;font:inherit;font-weight:700;text-align:left;cursor:pointer}.rh-symbol-btn:hover{color:#c0e83a;text-decoration:underline;text-underline-offset:.15em}.rh-left .linkish{margin-top:.15rem}.rh-chart{display:flex;justify-content:center;min-width:0}.rh-chart-btn,.rh-quote-btn{padding:0;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer}.rh-quote-btn{display:grid;justify-items:end;gap:.1rem;text-align:right}.sparkline{width:100%;max-width:8.5rem;height:2.5rem}.sparkline path{stroke:currentColor}.sparkline.spark-up{color:#00c805}.sparkline.spark-down{color:#ff5000}.spark-baseline{stroke:var(--muted);stroke-width:1;stroke-dasharray:2 3;opacity:.55}.sparkline-empty{width:100%;max-width:8.5rem;height:2.5rem;background:linear-gradient(90deg,transparent,rgba(138,161,147,.12),transparent)}.rh-quote{text-align:right;display:grid;gap:.1rem;justify-items:end}.rh-price{font-size:1.05rem;font-weight:600;color:var(--ink)}.rh-change{font-size:.88rem;font-weight:600}.rh-quote.up .rh-change{color:#00c805}.rh-quote.down .rh-change{color:#ff5000}.rh-ai{display:flex;flex-wrap:wrap;gap:.75rem 1rem;justify-content:space-between;align-items:flex-start;margin-top:.65rem;padding-top:.55rem;border-top:1px solid rgba(232,240,234,.06)}.rh-ai-meta{display:grid;gap:.35rem;min-width:0;flex:1 1 14rem}.rh-ai-meta .signal-pill{justify-self:start}.rh-summary{margin:0;font-size:.85rem;line-height:1.35;max-width:36rem}@media(max-width:640px){.rh-main{grid-template-columns:minmax(3.5rem,.9fr) minmax(5rem,1.1fr) auto;gap:.45rem}.rh-symbol,.rh-price{font-size:.98rem}.sparkline,.sparkline-empty{max-width:6.5rem;height:2.2rem}}.summary-cell{max-width:28rem;color:var(--muted);line-height:1.35}.signal-pill{display:inline-block;min-width:3.4rem;text-align:center;padding:.2rem .45rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;border:1px solid var(--line)}.signal-buy{background:#5ddea02e;color:#7dffb8;border-color:#5ddea073}.signal-sell{background:#ff6b5a29;color:#ff8e80;border-color:#ff6b5a73}.signal-hold,.signal-none{background:#8aa1931f;color:#b7c4bb;border-color:#8aa19359}.up{color:var(--ok)}.down{color:var(--danger)}.linkish{display:block;margin-top:.2rem;padding:0;border:0;background:none;color:var(--muted);font-size:.75rem;cursor:pointer;text-decoration:underline}.inline-trade{display:flex;flex-wrap:wrap;gap:.35rem;align-items:end}.inline-trade label{display:flex;flex-direction:column;gap:.15rem;font-size:.7rem;color:var(--muted)}.inline-trade input{width:5.5rem;min-width:5.5rem;padding:0 .55rem}.history-page,.settings-page,.watchdesk{display:grid;gap:1rem}.history-explain{margin:.35rem 0 0;font-size:.85rem}.notify-grid{display:grid;gap:.65rem}.push-prompt{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding:1rem 1.1rem;border:1px solid rgba(200,245,66,.35);background:#c8f54214}.push-prompt p{margin:.3rem 0 0;max-width:36rem;font-size:.9rem}.push-prompt .primary{flex:0 0 auto;height:var(--control-h);min-height:var(--control-h);padding:0 var(--control-px);border-radius:var(--control-radius)}.settings-panel h2{margin:0 0 .4rem}.settings-lede{margin:0 0 1.1rem;max-width:42rem;line-height:1.45}.alert-rules{display:grid;gap:1rem}.alert-toggle{display:flex;gap:.75rem;align-items:flex-start;padding:.9rem 1rem;border:1px solid var(--line);background:#00000040;cursor:pointer}.alert-toggle input{width:1.1rem;height:1.1rem;min-height:0;margin-top:.15rem;accent-color:var(--accent)}.alert-toggle span{display:grid;gap:.2rem;text-align:left}.alert-toggle strong{color:var(--ink);font-size:.98rem}.alert-toggle em{font-style:normal;color:var(--muted);font-size:.82rem}.alert-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.alert-chip{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:var(--control-h);padding:0 .75rem;border:1px solid var(--line);background:#00000047;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.alert-chip input{width:1rem;height:1rem;min-height:0;accent-color:var(--accent)}.alert-chip span{font-size:.85rem;font-weight:600;letter-spacing:.04em}.alert-chip.on.buy{border-color:#5ddea073;color:var(--ok);background:#5ddea014}.alert-chip.on.sell{border-color:#ff6b5a73;color:var(--danger);background:#ff6b5a14}.alert-chip.on.hold{border-color:#e8f0ea47;color:var(--ink)}.alert-chip.on.pre{border-color:#c8f54266;color:var(--accent);background:#c8f54212}.settings-stack{display:grid;gap:1rem}.settings-field{display:grid;gap:.4rem;text-align:left}.settings-label{font-size:.8rem;font-weight:600;letter-spacing:.03em;color:var(--muted);text-transform:uppercase}.settings-field select,.settings-field input:not([type=checkbox]){width:100%}.settings-hint{color:var(--muted);font-size:.82rem;line-height:1.4}.settings-actions+.settings-hint{margin:.75rem 0 0}.rh-oauth-paste{display:grid;gap:.75rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line)}.rh-oauth-paste .settings-hint{margin:0}.rh-oauth-steps{margin:0;padding-left:1.2rem;display:grid;gap:.35rem;color:var(--muted);font-size:.9rem;line-height:1.4}.rh-oauth-paste .settings-field input,.rh-oauth-paste-input{width:100%;font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.82rem;resize:vertical;min-height:4.5rem}.settings-actions{display:flex;flex-wrap:wrap;gap:.65rem}.settings-actions button{height:var(--control-h);min-height:var(--control-h);padding:0 var(--control-px);border:1px solid var(--line);border-radius:var(--control-radius);background:transparent;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.settings-actions button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.settings-actions button.danger-outline{border-color:#ff6b5a8c;color:var(--danger);background:#ff6b5a14}.settings-actions button:disabled{opacity:.55;cursor:not-allowed}.account-meta{display:flex;flex-wrap:wrap;gap:.4rem .55rem;align-items:center;margin:0 0 1rem;font-size:.95rem}.account-status{font-family:var(--mono);font-size:.82rem;color:var(--accent)}.settings-quota{margin:0;font-size:.82rem}.rh-account-list li{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;justify-content:space-between}@media(max-width:720px){.alert-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.push-prompt{flex-direction:column;align-items:stretch}.push-prompt .primary{width:100%}.settings-actions{flex-direction:column}.settings-actions button{width:100%}}@media(max-width:420px){.alert-rule-grid{grid-template-columns:1fr}}.history-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.history-actions button{height:var(--control-h);min-height:var(--control-h);padding:0 var(--control-px);border:1px solid var(--line);border-radius:var(--control-radius);background:transparent;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.history-actions button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.history-actions button:hover:not(:disabled){border-color:#e8f0ea47}.history-actions button.primary:hover:not(:disabled){background:#d4f85c;border-color:#d4f85c}.history-actions button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:720px){.history-actions{width:100%;flex-direction:column;align-items:stretch}.history-actions button{width:100%}}.history-transfer-hint{margin:.65rem 0 0;font-size:.85rem;line-height:1.4;max-width:36rem}.news-panel{margin-top:.25rem}.news-list{list-style:none;margin:0;padding:0}.news-list li{display:flex;gap:.75rem;align-items:flex-start;padding:.65rem 0;border-bottom:1px solid var(--line)}.news-list li:last-child{border-bottom:none}.news-symbol{flex:0 0 auto;min-width:3.2rem;font-family:var(--mono);font-size:.78rem;font-weight:600;color:var(--accent);padding-top:.15rem}.news-body{display:grid;gap:.2rem;min-width:0}.news-body a,.news-title{color:var(--ink);text-decoration:none;line-height:1.35}.news-title{display:block;width:100%;margin:0;padding:0;border:0;background:none;text-align:left;font:inherit;cursor:pointer}.news-title:hover{color:var(--accent)}.news-title:disabled{opacity:.65;cursor:wait}.news-summary{margin-top:.35rem;padding:.65rem .75rem;border-left:2px solid var(--accent);background:color-mix(in srgb,var(--panel) 88%,var(--accent) 12%);display:grid;gap:.45rem}.news-summary p{margin:0;white-space:pre-wrap;font-size:.92rem;line-height:1.45}.news-original{font-size:.78rem;color:var(--muted);text-decoration:underline;text-underline-offset:2px;width:fit-content}.news-body a:hover{color:var(--accent);text-decoration:underline}.notify-grid .check{display:flex;align-items:center;gap:.55rem;color:var(--ink);font-size:.95rem}@media(max-width:800px){.grid{grid-template-columns:1fr}.panel.span-2{grid-column:span 1}.top,.rh-panel-head{flex-direction:column}.rh-connect{width:100%}.summary-cell{max-width:16rem}}.settings-version{margin:1.25rem 0 0;font-size:.85rem;text-align:center}.update-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000b8}.update-modal{width:100%;max-width:320px;padding:28px 24px 24px;border-radius:12px;text-align:center;background:#0a0a0a;color:#f2f2f2;border:1px solid #222;box-shadow:0 12px 40px #00000073}.update-modal__title{font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.update-modal__text{font-size:.9rem;line-height:1.45;margin:0 0 1.25rem;color:var(--muted)}.update-modal__btn{width:100%;border:none;border-radius:8px;padding:.75rem 1rem;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;background:#f2f2f2;color:#0a0a0a}.ask-fab{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:35;height:2.75rem;min-width:4.25rem;padding:0 1.1rem;border:1px solid color-mix(in srgb,var(--accent, #c0e83a) 55%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--bg0, #0c1210) 88%,#c0e83a);color:var(--ink);font-size:.92rem;font-weight:700;letter-spacing:.02em;cursor:pointer;box-shadow:0 8px 28px #00000059}.ask-fab:hover,.ask-fab.is-open{background:#c0e83a;color:#0c1210;border-color:#c0e83a}.ask-backdrop{z-index:45;align-items:end;justify-items:end;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom))}.ask-modal{width:min(440px,100%);max-height:min(78vh,640px);display:flex;flex-direction:column;margin:0}.ask-thread{flex:1;min-height:12rem;max-height:min(46vh,360px);overflow:auto;display:grid;gap:.65rem;padding:.15rem 0 .75rem}.ask-empty{margin:.5rem 0 0;font-size:.9rem;line-height:1.45}.ask-bubble{padding:.7rem .85rem;border:1px solid var(--line);background:#00000047;max-width:96%}.ask-bubble.ask-user{justify-self:end;background:color-mix(in srgb,#c0e83a 12%,rgba(0,0,0,.28));border-color:color-mix(in srgb,#c0e83a 35%,var(--line))}.ask-bubble.ask-assistant{justify-self:start}.ask-bubble-text{margin:0;white-space:pre-wrap;font-size:.92rem;line-height:1.45}.ask-suggestions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}.ask-add-symbol{height:1.85rem;padding:0 .65rem;border:1px solid var(--line);border-radius:var(--control-radius);background:transparent;color:var(--ink);font-size:.78rem;font-family:inherit;cursor:pointer}.ask-add-symbol:hover:not(:disabled){border-color:#c0e83a;color:#c0e83a}.ask-add-symbol:disabled{opacity:.5;cursor:not-allowed}.ask-thinking{margin:0;font-size:.85rem}.ask-compose{display:grid;grid-template-columns:1fr auto;gap:.55rem;align-items:end;padding-top:.35rem;border-top:1px solid var(--line)}.ask-compose textarea{resize:none;min-height:3.2rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:var(--control-radius);background:#00000047;color:var(--ink);font:inherit;line-height:1.4}.ask-compose textarea:focus{outline:none;border-color:color-mix(in srgb,#c0e83a 50%,var(--line))}.ask-compose button.primary{height:var(--control-h);min-width:4.5rem;padding:0 var(--control-px)}@media(max-width:640px){.ask-fab{right:max(.75rem,env(safe-area-inset-right));bottom:max(.75rem,env(safe-area-inset-bottom))}.ask-backdrop{place-items:end center;padding:.65rem}.ask-modal{width:100%;max-height:min(85vh,720px)}}.symbol-history-modal{width:min(720px,100%)}.symbol-history-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem;margin-bottom:.75rem}.symbol-history-price>span:first-child{font-size:1.75rem;font-weight:700}.symbol-history-price.up>span:first-child{color:#00c805}.symbol-history-price.down>span:first-child{color:#ff5000}.symbol-range-compare{margin:0 0 .9rem;padding:.7rem .8rem;border:1px solid var(--line);background:#00000038}.symbol-range-compare-head{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline;margin-bottom:.45rem;font-size:.9rem}.symbol-range-compare.bias-low strong{color:#00c805}.symbol-range-compare.bias-high strong{color:#ff5000}.symbol-range-compare.bias-mid strong{color:var(--ink)}.symbol-range-track{position:relative;height:.45rem;border-radius:999px;background:#ffffff14;overflow:visible}.symbol-range-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#00c805,#c0e83a 50%,#ff5000);opacity:.55}.symbol-range-marker{position:absolute;top:50%;width:.7rem;height:.7rem;border-radius:50%;background:var(--ink);border:2px solid #c0e83a;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #00000059}.symbol-range-ends{display:flex;justify-content:space-between;margin-top:.4rem;font-size:.78rem}.symbol-history-chart-wrap{min-height:12rem;margin-bottom:.85rem}.symbol-history-soft-err{margin:.35rem 0 0;font-size:.8rem}.symbol-history-chart{width:100%;height:14rem;display:block}.symbol-history-chart.empty{display:grid;place-items:center;border:1px solid var(--line);background:#0003}.symbol-history-chart .hist-line{stroke:currentColor}.symbol-history-chart .hist-area{fill:currentColor;opacity:.12}.symbol-history-chart .hist-band{stroke:#ffffff2e;stroke-width:1;stroke-dasharray:4 4}.symbol-history-chart .hist-current{stroke:#c0e83a;stroke-width:1.5;stroke-dasharray:5 4;opacity:.9}.symbol-history-chart.hist-up{color:#00c805}.symbol-history-chart.hist-down{color:#ff5000}.symbol-history-ranges{display:flex;flex-wrap:wrap;gap:.35rem;border-top:1px solid var(--line);padding-top:.85rem}.symbol-history-range{flex:1 1 auto;min-width:2.5rem;height:2rem;padding:0 .55rem;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:700;font-family:inherit;cursor:pointer}.symbol-history-range:hover{color:var(--ink)}.symbol-history-range.is-active{color:#0c1210;background:#c0e83a;border-color:#c0e83a}
