.chart-sidepanel{width:320px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;position:relative}.chart-sidepanel-collapse-btn{position:absolute;top:6px;right:6px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:var(--bg-app);color:var(--fg-muted);cursor:pointer;z-index:2}.chart-sidepanel-collapse-btn:hover{color:var(--fg-strong)}.chart-sidepanel-collapsed-bar{width:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--fg-muted);cursor:pointer;padding:0}.chart-sidepanel-collapsed-bar:hover{color:var(--fg-strong);background:var(--bg-soft)}.chart-sidepanel-content{flex:1;min-height:0;overflow-y:auto;padding:40px 12px 16px;gap:18px}.chart-sidepanel-content,.chart-sidepanel-section{display:flex;flex-direction:column}.chart-sidepanel-section-header{display:flex;align-items:center;gap:10px;background:var(--bg-soft);border:1px solid var(--border);border-left-width:3px;padding:10px 12px;border-radius:8px;cursor:pointer;color:var(--fg-strong);font-size:14px;font-weight:800;letter-spacing:.2px;text-align:left;transition:filter .12s ease,background .12s ease}.chart-sidepanel-section-header:hover{filter:brightness(1.15)}.chart-sidepanel-section-header[data-section=signals]{border-left-color:#fbbf24;color:#fbbf24}.chart-sidepanel-section-header[data-section=news]{border-left-color:#38bdf8;color:#38bdf8}.chart-sidepanel-section-header[data-section=reports]{border-left-color:#c084fc;color:#c084fc}.chart-sidepanel-section-title{flex-shrink:0;text-shadow:0 0 8px rgba(0,0,0,.2)}.chart-sidepanel-section-count{background:rgba(255,255,255,.08);color:var(--fg-strong);font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}.chart-sidepanel-section-body{display:flex;flex-direction:column;gap:6px;margin-top:6px}.chart-sidepanel-card{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:var(--bg-app);border:1px solid var(--border);border-radius:8px;cursor:pointer;text-align:left;text-decoration:none;color:inherit;transition:border-color .12s ease,background .12s ease}.chart-sidepanel-card:hover{border-color:var(--fg-muted);background:var(--bg-soft)}.chart-sidepanel-card.active{border-color:var(--primary,var(--fg-strong));background:var(--bg-soft)}.chart-sidepanel-card.closed.active,.chart-sidepanel-card.closed.loss.active,.chart-sidepanel-card.closed.profit.active{border-color:var(--primary,var(--fg-strong));box-shadow:0 0 0 1px var(--primary,#1f5eff);opacity:1}.chart-sidepanel-card-row1{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600}.chart-sidepanel-card-symbol{color:var(--fg-strong);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-sidepanel-card-time{color:var(--fg-dim);font-size:11px;font-weight:500;flex-shrink:0}.chart-sidepanel-card-prices{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:var(--fg-muted)}.chart-sidepanel-card-note{font-size:11px;color:var(--fg-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.chart-sidepanel-card-status{font-size:10px;color:var(--fg-dim);font-weight:600}.chart-sidepanel-card.closed{opacity:.9}.chart-sidepanel-card.closed.profit{background:rgba(34,197,94,.06);border-color:rgba(34,197,94,.25)}.chart-sidepanel-card.closed.loss{background:rgba(239,68,68,.06);border-color:rgba(239,68,68,.25)}.chart-sidepanel-card-pnl-inline{font-family:var(--font-mono);font-size:13px;font-weight:700;flex-shrink:0;letter-spacing:-.01em}.chart-sidepanel-card-pnl-inline.profit{color:#22c55e;font-size:17px;font-weight:800}.chart-sidepanel-card-pnl-inline.loss{color:#ef4444}.chart-sidepanel-card-pnl-inline.manual{color:var(--fg-muted);font-size:11px;font-weight:600;font-family:var(--font-sans,inherit);padding:2px 6px;background:rgba(148,163,184,.12);border-radius:4px}.chart-sidepanel-card-title{font-size:12px;font-weight:700;color:var(--fg-strong)}.chart-sidepanel-card-summary,.chart-sidepanel-card-title{line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chart-sidepanel-card-summary{font-size:11px;color:var(--fg-muted)}.chart-sidepanel-card-meta{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--fg-dim)}.chart-sidepanel-card-host{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.chart-sidepanel-card-tags{color:var(--fg-muted)}.chart-sidepanel-more{margin-top:4px;padding:6px 10px;font-size:11px;font-weight:600;color:var(--fg-muted);background:transparent;border:1px dashed var(--border);border-radius:6px;cursor:pointer}.chart-sidepanel-more:hover{color:var(--fg-strong);background:var(--bg-soft)}.chart-sidepanel-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99;animation:chart-sidepanel-fade-in .15s ease}.chart-sidepanel-mobile{position:fixed;top:0;right:0;bottom:0;width:320px;max-width:92vw;background:var(--bg-app);z-index:100;display:flex;flex-direction:column;box-shadow:-4px 0 24px rgba(0,0,0,.4);animation:chart-sidepanel-slide-in .2s ease}.chart-sidepanel-mobile-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.chart-sidepanel-mobile-title{font-size:14px;font-weight:700;color:var(--fg-strong)}.chart-sidepanel-mobile-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--fg-muted);cursor:pointer;border-radius:6px}.chart-sidepanel-mobile-close:hover{color:var(--fg-strong);background:var(--bg-soft)}.chart-sidepanel-mobile .chart-sidepanel-content{padding:12px}@keyframes chart-sidepanel-slide-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes chart-sidepanel-fade-in{0%{opacity:0}to{opacity:1}}.scrim .modal.signal-composer{width:min(1000px,92vw);max-width:min(1000px,92vw);max-height:calc(100dvh - 40px);padding:20px 24px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.composer-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.composer-icon{width:36px;height:36px;border-radius:10px;background:var(--primary-soft);display:grid;place-items:center;color:var(--primary)}.composer-grid{display:grid;grid-template-columns:340px 1fr;gap:24px;align-items:stretch}.composer-meta{gap:14px}.composer-insight,.composer-meta{display:flex;flex-direction:column}.composer-insight{min-height:0}.composer-insight-textarea{flex:1;min-height:320px;resize:vertical;font-size:14px;line-height:1.6;font-family:inherit}.composer-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:600;color:var(--fg-muted);margin-bottom:6px;letter-spacing:.02em}.composer-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;max-height:240px;overflow-y:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;z-index:10;box-shadow:0 8px 20px rgba(0,0,0,.35)}.composer-dropdown-empty{padding:10px 12px;font-size:13px;color:var(--fg-dim)}.composer-dropdown-item{display:block;width:100%;text-align:left;padding:9px 12px;background:transparent;border:none;border-bottom:1px solid var(--border-soft);cursor:pointer;color:var(--fg);font-size:13px}.composer-dropdown-item:hover{background:var(--bg-soft)}.composer-error{font-size:12px;color:var(--sell);margin-top:4px}.composer-direction{display:grid;grid-template-columns:1fr 1fr;gap:6px}.composer-dir-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 8px;font-size:12px;font-weight:700;letter-spacing:.05em;border:1px solid var(--border);border-radius:8px;background:var(--bg-app);color:var(--fg-muted);cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.composer-dir-btn:hover{border-color:var(--fg-muted);color:var(--fg-strong)}.composer-dir-btn.active.long{background:rgba(34,197,94,.12);border-color:#22c55e;color:#22c55e}.composer-dir-btn.active.short{background:rgba(239,68,68,.12);border-color:#ef4444;color:#ef4444}.signal-composer input,.signal-composer textarea{background:var(--bg-app);color:var(--fg-strong);border:1px solid var(--border);border-radius:8px;padding:9px 12px;font-size:13px;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.signal-composer input::-moz-placeholder,.signal-composer textarea::-moz-placeholder{color:var(--fg-dim)}.signal-composer input::placeholder,.signal-composer textarea::placeholder{color:var(--fg-dim)}.signal-composer input:focus,.signal-composer textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(31,94,255,.15)}.signal-composer input:disabled,.signal-composer textarea:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-soft)}.composer-price-row{display:flex;gap:6px;align-items:stretch}.composer-price-input{font-family:var(--font-mono);flex:1;min-width:0}.composer-pct-wrap{position:relative;width:96px;flex-shrink:0}.composer-pct-input{font-family:var(--font-mono);width:100%;padding-right:24px!important}.composer-pct-suffix{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--fg-muted);pointer-events:none}.composer-banner{padding:10px 12px;border-radius:8px;font-size:13px}.composer-actions{display:flex;gap:8px;justify-content:flex-end}@media (max-width:767px){.signal-composer{width:100%;padding:16px}.composer-grid{grid-template-columns:1fr;gap:16px}.composer-insight-textarea{min-height:200px}h1,h2,h3,h4{white-space:normal!important}h1{font-size:22px;line-height:1.3}h1,h2{word-break:keep-all}h2{font-size:18px}li,p{line-height:1.55}.hero h1,li,p{word-break:keep-all}.hero h1{font-size:20px!important;line-height:1.3;overflow-wrap:anywhere}.hero p{font-size:13px;max-width:none}.hero{padding:16px 16px 14px}.card-surf{padding:14px 16px}.btn{padding:8px 12px;font-size:13px}.market-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.market-metrics-grid>*{min-width:0}.market-metrics-grid .gauge-row{flex-direction:column!important;align-items:center!important;gap:4px!important}.market-metrics-grid .number-metric-delta{display:none!important}.signal-stats-grid{grid-template-columns:repeat(4,1fr)!important;gap:6px!important}.signal-stats-grid>*{min-width:0!important;overflow:hidden}.signal-stats-grid .card-surf{padding:8px 6px!important}.signal-stats-grid .card-surf>div:nth-child(2){font-size:15px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signal-stats-grid .card-surf>div:first-child,.signal-stats-grid .card-surf>div:last-child{font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signal-card-prices{flex-wrap:nowrap!important;gap:8px!important;font-size:11px!important;overflow-x:auto;white-space:nowrap;scrollbar-width:none}}@media (max-width:767px){.signal-card-prices::-webkit-scrollbar{display:none}.signal-card-prices>*{flex-shrink:0}.signal-card-footer{flex-wrap:nowrap!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px!important;gap:6px!important}.signal-card-footer>*{flex-shrink:0}.topbar-description{display:none}}@media (max-width:374px){.hero h1{font-size:18px!important}h1{font-size:19px}.btn{padding:7px 10px;font-size:12px}}body{color:var(--color-ink);font:var(--text-body)}.bottom-tabs,body{background:var(--color-paper)}.bottom-tabs{border-top:var(--line-heavy);padding-bottom:env(safe-area-inset-bottom,0)}.bottom-tabs a{min-height:56px;gap:3px;font-family:var(--font-body);font-size:13px;font-weight:400;color:var(--color-ink-disabled);transition:background var(--motion-paper-fast)}.bottom-tabs a[aria-current=page]{color:var(--color-ink);font-weight:900}.bottom-tabs a:active{background:var(--color-panel)}.bottom-tabs a[aria-disabled=true]{opacity:.45}@media (max-width:1023px){.app-shell .topbar{display:none}}@media (min-width:1024px){.app-shell .shell-backbar,.bottom-tabs{display:none}}.screen-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:20px var(--screen-pad-x) 12px;border-bottom:var(--line-heavy)}.screen-head h1{margin:0;font:var(--text-screen-title);color:var(--color-ink)}.screen-head .aside{font:var(--text-meta);color:var(--color-ink-faint)}.paper-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:var(--touch-cta);padding:0 var(--space-5);border:0;border-radius:var(--radius-none);background:var(--color-accent);color:var(--color-accent-ink);font:700 17px/1 var(--font-body);cursor:pointer;transition:opacity var(--motion-paper-fast)}.paper-cta:active{opacity:.82}.paper-rows>*{border-bottom:var(--line-dotted)}.paper-rows>:last-child{border-bottom:0}.paper-tap{display:block;color:inherit;text-decoration:none;transition:background var(--motion-paper-fast)}.paper-tap:active{background:var(--color-panel)}.paper-band-rows>*{min-height:var(--touch-min);padding:11px var(--screen-pad-x);background:var(--color-paper);transition:background var(--motion-paper-fast)}.paper-band-rows>[data-band]{background:var(--color-row-band)}.paper-band-rows>.paper-tap:active{background:var(--color-row-press)}.paper-band-rows>*+*{border-top:var(--line-dotted)}@media (forced-colors:active){.paper-band-rows>*+*{border-top:1px solid CanvasText}}.paper-badge{display:inline-block;padding:2px 7px;border-radius:var(--radius-none);font:var(--text-badge);color:#fff;white-space:nowrap;vertical-align:2px}.paper-badge.buy{background:var(--color-up)}.paper-badge.sell{background:var(--color-down)}.paper-badge.neutral{background:var(--color-ink)}.paper-badge.outline{background:transparent;color:var(--color-ink);border:1px solid var(--color-ink);padding:1px 6px}.paper-badge.done{background:var(--color-ink-faint)}.paper-badge.live{background:var(--color-badge-live)}.paper-badge.real{background:var(--color-badge-real)}.paper-badge.update{background:var(--color-badge-update)}.paper-ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px;margin-top:10px}.paper-price-box{container-type:inline-size}.paper-price-grid{--price-cols:2;--price-gap:8px;--price-pad:0px;--price-chars:12;--price-size-min:11px;--price-size-max:15px}.paper-price-value{white-space:nowrap;font-size:clamp(var(--price-size-min),calc(((100cqw - (var(--price-cols) - 1) * var(--price-gap)) / var(--price-cols) - var(--price-pad)) / (var(--price-chars) * .6)),var(--price-size-max))}.paper-price-grid[data-cells="1"]{--price-cols:1;grid-template-columns:minmax(0,1fr)}@container (min-width: 460px){.paper-price-grid--card[data-cells="3"]{--price-cols:3;grid-template-columns:repeat(3,minmax(0,1fr))}}@container (min-width: 616px){.paper-price-grid--card[data-cells="4"]{--price-cols:4;grid-template-columns:repeat(4,minmax(0,1fr))}}.paper-price-grid--detail{--price-gap:0px;--price-pad:9px;--price-size-min:13px;--price-size-max:19px}.paper-price-grid--detail>*{padding:14px 4px;min-width:0;border-right:1px solid #e5e1d8}.paper-price-grid--detail>:last-child,.paper-price-grid--detail>:nth-child(2n){border-right:0}.paper-price-grid--detail .paper-price-value{font-weight:600;line-height:1.3}@container (min-width: 486px){.paper-price-grid--detail[data-cells="3"]{--price-cols:3;grid-template-columns:repeat(3,minmax(0,1fr))}.paper-price-grid--detail[data-cells="3"]>*{border-right:1px solid #e5e1d8}.paper-price-grid--detail[data-cells="3"]>:last-child,.paper-price-grid--detail[data-cells="3"]>:nth-child(3n){border-right:0}}@container (min-width: 648px){.paper-price-grid--detail[data-cells="4"]{--price-cols:4;grid-template-columns:repeat(4,minmax(0,1fr))}.paper-price-grid--detail[data-cells="4"]>*{border-right:1px solid #e5e1d8}.paper-price-grid--detail[data-cells="4"]>:last-child,.paper-price-grid--detail[data-cells="4"]>:nth-child(4n){border-right:0}}.paper-section-title{font:var(--text-section);color:var(--color-ink);border-left:4px solid var(--color-ink);padding-left:10px}.paper-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}@media (max-width:1023px){.app-shell .content{padding:0 0 calc(64px + env(safe-area-inset-bottom, 0px));scrollbar-width:none}.app-shell .content::-webkit-scrollbar{display:none}.app-shell .content>:not(.paper-screen){padding:16px 12px 0}}@media (max-width:374px){:root{--screen-pad-x:20px}}.card-surf,.sigcard{background:var(--color-paper);border:var(--line-rule);border-radius:var(--radius-none);box-shadow:none}.hero{padding:4px 0 var(--space-4);border-bottom:var(--line-heavy);margin-bottom:var(--space-4)}.hero h1{font:var(--text-screen-title);color:var(--color-ink);margin:0}.hero p{font:var(--text-body);color:var(--color-ink-muted);margin:4px 0 0}.btn{border-radius:var(--radius-none);font-family:var(--font-body);min-height:var(--touch-min)}.btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.btn.ghost,.btn.secondary{background:transparent;border:1px solid #c9c4b8;color:var(--color-ink)}.btn:active{opacity:.82}.tabs{border-bottom:var(--line-rule);gap:20px}.tab-btn{border:0;border-radius:var(--radius-none);background:none;min-height:var(--touch-min);padding:0 0 10px;font:400 17px var(--font-body);color:var(--color-ink-faint);border-bottom:3px solid transparent}.tab-btn.active{background:none;color:var(--color-ink);font-weight:900;border-bottom:var(--line-heavy)}.tag-chip{border-radius:var(--radius-none);border:1px solid #c9c4b8;font-family:var(--font-body)}.profile-meta,.stat-value{font-variant-numeric:tabular-nums}.profile-avatar{border-radius:var(--radius-avatar)}@keyframes paper-arrive-in{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes paper-arrive-pulse{0%{box-shadow:inset 4px 0 0 var(--color-accent),0 0 0 0 rgba(184,82,10,.5)}70%{box-shadow:inset 4px 0 0 var(--color-accent),0 0 0 10px rgba(184,82,10,0)}to{box-shadow:inset 4px 0 0 var(--color-accent),0 0 0 0 rgba(184,82,10,0)}}.paper-arrive{box-shadow:inset 4px 0 0 var(--color-accent);animation:paper-arrive-in .5s cubic-bezier(.2,.8,.2,1),paper-arrive-pulse .8s ease-out 3}.paper-badge.new{background:var(--color-accent);color:var(--color-accent-ink)}@media (prefers-reduced-motion:reduce){.paper-arrive{animation:none}}