*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-size:14px;font-weight:500;line-height:1.5;-webkit-font-smoothing:antialiased}img,video{max-width:100%;display:block}input,button,select,textarea{font:inherit}button{cursor:pointer;border:0;background:none}table{border-collapse:collapse}:root{--bg-primary:#0d1117;--bg-card:#161b22;--bg-input:#21262d;--bg-hover:#1c2128;--bg-overlay:rgba(13,17,23,.92);--border:#30363d;--border-focus:#58a6ff;--text-primary:#e6edf3;--text-secondary:#c9d1d9;--text-muted:#8b949e;--green:#00b894;--green-dim:rgba(0,184,148,.15);--red:#d63031;--red-dim:rgba(214,48,49,.15);--yellow:#fdcb6e;--accent:#58a6ff;--status-open:var(--green);--status-closed:var(--red);--status-settle:var(--yellow);--gap:12px;--gap-sm:8px;--gap-lg:16px;--radius:8px;--radius-sm:4px;--radius-lg:12px;--font-mono:'JetBrains Mono','SF Mono','Courier New',monospace;--font-system:Inter,"Noto Sans TC","PingFang TC","Microsoft JhengHei",Arial,sans-serif}html,body{height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-system)}body{display:flex;flex-direction:column;min-height:100dvh}#app-header{position:sticky;top:0;z-index:100;height:56px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--gap-sm);padding:0 var(--gap);background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0}.header-logo-link{display:flex;align-items:center;flex-shrink:0}.header-logo{height:28px;width:auto;display:block}.header-center{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.header-center-meta{display:flex;align-items:center;gap:6px}.header-title{font-size:1rem;font-weight:500;color:var(--text-primary);white-space:nowrap}.header-title span{color:var(--accent)}.session-pill{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted);white-space:nowrap}.session-pill.open{border-color:var(--green);color:var(--green)}.session-pill.closed{border-color:var(--red);color:var(--red)}.session-pill.settle{border-color:var(--yellow);color:var(--yellow)}.session-pill.pre{border-color:var(--accent);color:var(--accent)}.session-countdown-txt{font-size:.75rem;color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap}.header-auth{display:flex;align-items:center;flex-shrink:0}.header-login-btn{font-size:.8rem;font-weight:500;color:var(--accent);text-decoration:none;padding:5px 12px;border:1px solid var(--accent);border-radius:var(--radius);white-space:nowrap;transition:background .15s,color .15s}.header-login-btn:hover{background:var(--accent);color:#0d1117}.header-avatar{width:32px;height:32px;border-radius:50%;border:2px solid var(--border);object-fit:cover;display:block}.header-nick{font-size:.8rem;font-weight:600;color:var(--text-primary);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user-menu{position:relative}.header-user-btn{background:none;border:0;padding:0;margin:0;cursor:pointer;display:flex;align-items:center;transition:opacity .15s}.header-user-btn:hover{opacity:.85}.header-user-btn[aria-expanded="true"] .header-avatar{border-color:var(--accent)}.header-user-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:96px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 6px 20px rgba(0,0,0,.35);padding:4px;z-index:150}.header-logout-btn{display:block;padding:8px 12px;font-size:.85rem;font-weight:600;color:var(--text-primary);text-decoration:none;border-radius:var(--radius-sm);text-align:center;white-space:nowrap;transition:background .15s,color .15s}.header-logout-btn:hover{background:var(--red-dim,rgba(248,81,73,.12));color:var(--red)}#app-main{flex:1;display:flex;flex-direction:column;gap:var(--gap);padding:var(--gap);overflow-y:auto}#app-main>*{flex-shrink:0}#app-footer{flex-shrink:0;padding:var(--gap-sm) var(--gap);background:var(--bg-card);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;row-gap:8px;font-size:.75rem;color:var(--text-muted)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--gap)}.card-title{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--gap-sm)}#side-panel{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.tab-bar{display:flex;background:var(--bg-input);border-bottom:1px solid var(--border);flex-shrink:0}.tab-btn{flex:1;padding:9px 4px;font-size:.8rem;font-weight:600;background:transparent;border:0;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;font-family:var(--font-system)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);background:rgba(88,166,255,.07)}.tab-panel{display:none}.tab-panel.active{display:block}#tab-content{position:relative;flex:1;min-height:280px}#order-panel{padding:0;overflow:hidden;position:relative}#leaderboard{padding:var(--gap)}#watchlist{padding:var(--gap)}@media(min-width:768px){#tab-content{overflow:hidden}#leaderboard.active,#watchlist.active{height:100%;display:flex;flex-direction:column;overflow:hidden}}@media(max-width:767px){#side-panel,#tab-content{overflow:visible}#app-main{padding-top:0}#app-main>:first-child{margin-top:var(--gap)}}.auth-overlay{position:absolute;inset:0;z-index:50;background:rgba(13,17,23,.55);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);overflow-y:auto;padding:16px 8px;flex-direction:column;align-items:center;justify-content:flex-start}.auth-overlay:not([hidden]){display:flex}.session-overlay{background:rgba(13,17,23,.72);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);justify-content:center;padding:8px}#resize-handle{display:none;grid-area:rsz;width:5px;cursor:col-resize;background:var(--border);transition:background .15s;align-self:stretch;position:relative;z-index:10}#resize-handle::after{content:'';position:absolute;inset:0 -4px}#resize-handle:hover,#resize-handle.dragging{background:var(--accent)}@media(max-width:767px){#side-panel{order:1}#position-card{order:2}}@media(min-width:768px){#app-main{display:grid;grid-template-columns:1fr 5px 340px;grid-template-areas:"chart    rsz  side" "position rsz  side";align-items:start}#resize-handle{display:block}#chart-area{grid-area:chart}#position-card{grid-area:position}#side-panel{grid-area:side;align-self:start;position:sticky;top:0;height:calc(100dvh - 56px - 2*var(--gap))}}@media(min-width:1200px){#app-main{grid-template-columns:1fr 5px 300px;grid-template-areas:"chart    rsz  side" "position rsz  side"}}.modal-backdrop{display:none;position:fixed;inset:0;background:var(--bg-overlay);z-index:200;align-items:center;justify-content:center;padding:var(--gap)}.modal-backdrop.visible{display:flex}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--gap-lg);width:100%;max-width:480px;max-height:90dvh;overflow-y:auto}.modal-title{font-size:1.1rem;font-weight:500;margin-bottom:var(--gap);color:var(--accent)}.help-modal .help-h{font-size:.85rem;font-weight:500;color:var(--accent);margin:var(--gap) 0 var(--gap-sm);border-left:3px solid var(--accent);padding-left:8px}.help-modal .help-list{font-size:.82rem;line-height:1.55;color:var(--text-primary);padding-left:1.2em;margin:0}.help-modal .help-list li{margin-bottom:4px}.help-modal .help-list b{color:var(--yellow,#fdcb6e);font-weight:500}.help-modal .help-up{color:var(--red);font-weight:500}.help-modal .help-dn{color:var(--green);font-weight:500}.notice-modal{max-width:560px}.notice-modal .notice-h{font-size:.9rem;font-weight:500;color:var(--accent);margin:var(--gap) 0 var(--gap-sm);border-left:3px solid var(--accent);padding-left:8px}.notice-modal .notice-list{font-size:.85rem;line-height:1.65;color:var(--text-primary);padding-left:1.3em;margin:0}.notice-modal .notice-list li{margin-bottom:4px}.notice-modal .notice-list b{color:var(--yellow,#fdcb6e);font-weight:500}.notice-modal .btn-modal-close{margin-top:var(--gap-lg);width:100%;padding:10px;font-size:.9rem;font-weight:500;background:var(--accent);color:#0d1117;border:0;border-radius:var(--radius);cursor:pointer;transition:filter .15s}.notice-modal .btn-modal-close:hover{filter:brightness(1.1)}.footer-cta-btn{position:relative;display:inline-flex;align-items:center;gap:6px;padding:7px 16px 7px 12px;margin:0;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-family:inherit;font-size:.78rem;font-weight:500;letter-spacing:.03em;color:#fff;cursor:pointer;white-space:nowrap;text-decoration:none;box-shadow:0 6px 14px -4px rgba(0,0,0,.55),0 2px 4px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;user-select:none}.footer-cta-btn .footer-cta-icon{font-size:.95rem;line-height:1;transition:transform .2s ease;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}.footer-cta-btn:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 10px 22px -6px rgba(0,0,0,.6),0 3px 6px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.35)}.footer-cta-btn:hover .footer-cta-icon{transform:scale(1.15) rotate(-4deg)}.footer-cta-btn:active{transform:translateY(0);box-shadow:0 3px 8px -2px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.15),inset 0 2px 4px rgba(0,0,0,.25)}.footer-cta-btn:focus-visible{outline:2px solid rgba(255,255,255,.55);outline-offset:2px}.footer-cta-info{background:linear-gradient(135deg,#2c6cff 0%,#5a8dee 55%,#7a55ff 100%)}.footer-cta-info:hover{box-shadow:0 10px 24px -6px rgba(44,108,255,.55),0 3px 6px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.35)}.footer-cta-tutorial{background:linear-gradient(135deg,#ff7a00 0%,#ff9800 55%,#ffc14d 100%);color:#1a1a1a;border-color:rgba(255,255,255,.35);text-shadow:0 1px 0 rgba(255,255,255,.2)}.footer-cta-tutorial:hover{box-shadow:0 10px 24px -6px rgba(255,152,0,.7),0 3px 6px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.45)}#app-footer{gap:10px}.footer-cta-group{display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap}@media(max-width:720px){#app-footer{justify-content:center;text-align:center}#app-footer>span{flex-basis:100%}.footer-cta-group{order:99;flex-basis:100%;justify-content:center}}.follow-limit-modal{max-width:360px;text-align:center}.follow-limit-text{font-size:.9rem;line-height:1.6;color:var(--text-primary);margin:0 0 var(--gap-lg)}.follow-limit-text b{color:var(--accent);font-size:1rem}.follow-limit-actions{display:flex;gap:var(--gap-sm);justify-content:center}.follow-limit-cancel,.follow-limit-upgrade{flex:1;padding:10px 16px;font-size:.9rem;font-weight:500;border-radius:var(--radius);cursor:pointer;border:1px solid var(--border);text-align:center;text-decoration:none;transition:filter .15s,background .15s}.follow-limit-cancel{background:transparent;color:var(--text-muted)}.follow-limit-cancel:hover{background:var(--bg-input);color:var(--text-primary)}.follow-limit-upgrade{background:linear-gradient(135deg,#f7b500,#ff7a18);color:#0d1117;border-color:transparent}.follow-limit-upgrade:hover{filter:brightness(1.1)}.pnl-positive{color:var(--red)}.pnl-negative{color:var(--green)}.pnl-zero{color:var(--text-muted)}.loading-spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}.toast-container{position:fixed;bottom:calc(70px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:300;display:flex;flex-direction:column;gap:var(--gap-sm);pointer-events:none}.toast{padding:var(--gap-sm) var(--gap);border-radius:var(--radius);font-size:.85rem;font-weight:600;white-space:nowrap;animation:toast-in .2s ease-out;pointer-events:none}.toast.success{background:var(--green-dim);border:1px solid var(--green);color:var(--green)}.toast.error{background:var(--red-dim);border:1px solid var(--red);color:var(--red)}.toast.info{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary)}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}#chart-area{display:flex;flex-direction:column;gap:var(--gap-sm)}#chart-container{width:100%;height:50vh;min-height:280px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;position:relative}@media(min-width:768px){#chart-container{height:60vh}}#tf-selector{display:flex;gap:4px;align-items:center;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:0 2px}#tf-selector::-webkit-scrollbar{display:none}@media(max-width:767px){#tf-selector{flex-wrap:wrap;overflow-x:visible}.tf-right{flex:0 0 100%;margin-left:0;justify-content:flex-end}}.latest-tick-time{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);white-space:nowrap;padding:3px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input)}.tf-right{margin-left:auto;display:flex;align-items:center;gap:6px}.tf-btn{padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-muted);font-size:.8rem;font-weight:600;font-family:var(--font-mono);white-space:nowrap;flex-shrink:0;transition:all .15s}.tf-btn:hover{border-color:var(--accent);color:var(--accent)}.tf-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}#chart-container.loading::after{content:'';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-card)}#chart-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-card);z-index:5;flex-direction:column;gap:var(--gap-sm);color:var(--text-muted);font-size:.85rem}#chart-loading.hidden{display:none}#order-panel{font-family:var(--font-mono)}.ob-action-bar{display:flex;gap:3px;padding:5px 5px 4px;background:var(--bg-input);border-bottom:1px solid var(--border)}.ob-flush-btn{flex:1;padding:5px 0;font-size:.75rem;font-weight:500;border-radius:3px;border:1px solid;cursor:pointer;letter-spacing:.02em}.ob-flush-btn.buy{background:rgba(214,48,49,.85);border-color:#b71c1c;color:#fff}.ob-flush-btn.all{background:rgba(253,203,110,.9);border-color:#e6a817;color:#1a1a1a}.ob-flush-btn.sell{background:rgba(0,184,148,.85);border-color:#00796b;color:#fff}.ob-flush-btn:hover{filter:brightness(1.15)}.ob-flush-btn:active{transform:scale(.97)}.ob-action-right{display:flex;gap:3px}.ob-icon-btn{width:26px;font-size:.75rem;background:var(--bg-hover);border:1px solid var(--border);color:var(--text-muted);border-radius:3px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.ob-icon-btn:hover{color:var(--text-primary)}.ob-entry-bar{display:flex;align-items:stretch;gap:3px;padding:5px;background:var(--bg-card);border-bottom:1px solid var(--border)}.ob-btn-mkt,.ob-btn-lmt{flex:1;padding:7px 0;font-size:.8rem;font-weight:500;border-radius:3px;border:0;cursor:pointer;letter-spacing:.03em;transition:filter .1s}.ob-btn-mkt:hover,.ob-btn-lmt:hover{filter:brightness(1.12)}.ob-btn-mkt:active,.ob-btn-lmt:active{transform:scale(.97)}.ob-btn-mkt:disabled,.ob-btn-lmt:disabled{opacity:.35;cursor:not-allowed;filter:none}.ob-btn-mkt.buy{background:#b71c1c;color:#fff}.ob-btn-lmt.buy{background:#d32f2f;color:#fff}.ob-btn-lmt.sell{background:#2e7d32;color:#fff}.ob-btn-mkt.sell{background:#1b5e20;color:#fff}.ob-qty-wrap{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:3px;overflow:hidden;min-width:54px;max-width:68px}.ob-qty-input{width:100%;background:#fff;color:#111;border:0;text-align:center;font-size:.88rem;font-family:var(--font-mono);font-weight:500;padding:0 2px;-moz-appearance:textfield}.ob-qty-input::-webkit-inner-spin-button,.ob-qty-input::-webkit-outer-spin-button{-webkit-appearance:none}.ob-qty-arrows{display:flex;flex-direction:column;border-left:1px solid var(--border);flex-shrink:0}.ob-qty-arrow{flex:1;width:18px;background:#e0e0e0;border:0;font-size:.75rem;color:#444;cursor:pointer;padding:0;line-height:1}.ob-qty-arrow:first-child{border-bottom:1px solid #bbb}.ob-qty-arrow:hover{background:#bdbdbd}:root{--ob-price-col:56px}.ob-grid{display:grid;grid-template-columns:repeat(4,1fr) var(--ob-price-col) repeat(4,1fr);font-size:.75rem}.ob-grid>div{text-align:center;padding:3px 1px;overflow:hidden;white-space:nowrap;font-family:var(--font-mono);border-right:1px solid rgba(255,255,255,.18)}.ob-grid>div:last-child{border-right:0}.ob-grid--hdr{background:#2a2a2e;color:#ccc;font-weight:500;font-size:.75rem;border-top:1px solid var(--border);border-bottom:1px solid #444}.ob-grid--total{font-weight:500;font-size:.75rem;border-bottom:1px solid #444}.ob-grid--total>div:nth-child(-n+4){background:rgba(238,51,51,.18);color:#ff9a96}.ob-grid--total>div:nth-child(5){background:rgba(255,215,0,.15);color:#ffd54f}.ob-grid--total>div:nth-child(n+6){background:rgba(46,186,7,.18);color:#a5d68a}.pol{display:flex;flex-wrap:wrap;gap:4px;padding:5px;background:var(--bg-input);border-bottom:1px solid var(--border);max-height:92px;overflow-y:auto;font-family:var(--font-mono);font-size:.75rem}.pol[hidden]{display:none}.pol-row{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 6px;border-radius:3px;border:1px solid;cursor:pointer;user-select:none;white-space:nowrap;transition:filter .1s}.pol-row:hover{filter:brightness(1.25)}.pol-row--buy{background:rgba(238,51,51,.18);border-color:rgba(238,51,51,.5);color:#ff9a96}.pol-row--sell{background:rgba(46,186,7,.18);border-color:rgba(46,186,7,.5);color:#a5d68a}.pol-row--trigger{border-style:dashed;border-color:#ff9800}.pol-tag{font-weight:500}.pol-price{font-weight:500}.pol-qty{opacity:.85}.pol-cancel{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:0;border-radius:2px;background:rgba(214,48,49,.6);color:#fff;font-size:.75rem;cursor:pointer;line-height:1}.pol-cancel:hover{background:rgba(214,48,49,1)}.ob-ladder{height:400px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#444 transparent}.ob-ladder-spacer{position:relative;width:100%}.ob-grid--hdr,.ob-grid--total{scrollbar-gutter:stable;scrollbar-width:thin;overflow-y:scroll}.ob-grid--hdr::-webkit-scrollbar,.ob-grid--total::-webkit-scrollbar{width:4px;background:transparent}.ob-grid--hdr::-webkit-scrollbar-thumb,.ob-grid--total::-webkit-scrollbar-thumb{background:transparent}.ob-ladder::-webkit-scrollbar{width:4px}.ob-ladder::-webkit-scrollbar-thumb{background:#444;border-radius:2px}.ob-row{position:absolute;left:0;right:0;height:28px;display:grid;grid-template-columns:repeat(4,1fr) var(--ob-price-col) repeat(4,1fr);transition:filter .08s}.ob-row:hover{filter:brightness(1.18)}.ob-cell{text-align:center;padding:0 1px;height:28px;line-height:28px;font-size:.75rem;font-family:var(--font-mono);overflow:hidden;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.03);border-right:1px solid rgba(255,255,255,.15);cursor:pointer;user-select:none}.ob-cell:last-child{border-right:0}.ob-row .ob-cell:nth-child(5){cursor:default}.ob-row:hover .ob-cell{filter:brightness(1.15)}.ob-cell:hover{filter:brightness(1.4)!important}.ob-row--bid .ob-cell:nth-child(-n+4){background:rgba(238,51,51,.18);color:#ff9a96}.ob-row--bid .ob-cell:nth-child(5){background:rgba(238,51,51,.28);color:#ff8a80;font-weight:500}.ob-row--bid .ob-cell:nth-child(n+6){background:rgba(255,255,255,.02);color:#444}.ob-row--ask .ob-cell:nth-child(-n+4){background:rgba(255,255,255,.02);color:#444}.ob-row--ask .ob-cell:nth-child(5){background:rgba(46,186,7,.28);color:#a5d68a;font-weight:500}.ob-row--ask .ob-cell:nth-child(n+6){background:rgba(46,186,7,.18);color:#a5d68a}.ob-row--current .ob-cell{background:rgba(255,214,0,.28)!important;color:#ffd600!important;font-weight:500}.ob-row--selected .ob-cell:nth-child(5){box-shadow:inset 0 0 0 2px #ff9800;color:#ffb74d!important;font-weight:500}.ob-trig-x{display:inline-block;width:16px;height:16px;line-height:16px;background:rgba(214,48,49,.6);border-radius:2px;color:#fff;font-size:.75rem;cursor:pointer;border:0;vertical-align:middle}.ob-trig-x:hover{background:rgba(214,48,49,1)}.ob-trig-qty{color:#ff9800;font-weight:500}.ob-pend-qty{color:#58a6ff;font-weight:500}.ob-close-btn{width:100%;padding:7px;background:transparent;border:0;border-top:1px solid var(--border);color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;font-family:var(--font-mono);transition:all .15s}.ob-close-btn:hover:not(:disabled){background:rgba(253,203,110,.1);color:var(--yellow)}.ob-close-btn:disabled{opacity:.25;cursor:not-allowed}#order-log{max-height:96px;overflow-y:auto;font-size:.75rem;border-top:1px solid var(--border)}.order-log-row{display:flex;justify-content:space-between;padding:2px 6px;border-bottom:1px solid rgba(255,255,255,.04);color:var(--text-muted);font-family:var(--font-mono)}.order-log-row .side-buy{color:#ff8a80;font-weight:500}.order-log-row .side-sell{color:#80cbc4;font-weight:500}#btn-scroll-mid{font-size:.75rem}.investrue-badge{display:inline-block;padding:1px 7px;border-radius:4px;background:var(--bg-input);border:1px solid var(--border);font-family:var(--font-mono);font-size:.75rem;font-weight:500;color:var(--text-muted);letter-spacing:.04em;line-height:1.6;vertical-align:middle}.investrue-badge[hidden]{display:none}.metric-help{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:5px;padding:0;border:0;border-radius:50%;background:rgba(88,166,255,.18);color:var(--accent);font-size:.75rem;font-weight:500;font-family:inherit;line-height:1;cursor:pointer;vertical-align:middle;transition:background .15s,color .15s,transform .15s}.metric-help:hover{background:var(--accent);color:#0d1117;transform:scale(1.15)}.metric-help:active{transform:scale(.95)}#metric-help-popover{position:fixed;z-index:250;max-width:280px;background:var(--bg-card);border:1px solid var(--accent);border-radius:var(--radius);padding:12px 14px;font-size:.85rem;line-height:1.55;color:var(--text-primary);box-shadow:0 6px 20px rgba(0,0,0,.55);animation:metricHelpFade .15s ease-out}#metric-help-popover[hidden]{display:none}#metric-help-popover .metric-help-title{font-weight:500;color:var(--accent);font-size:.92rem;margin-bottom:6px}#metric-help-popover .metric-help-body{color:var(--text-primary)}#metric-help-popover .metric-help-body b{color:var(--yellow,#fdcb6e)}@keyframes metricHelpFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}#position-card.viewing-other .investrue-badge{background:rgba(255,152,0,.12);border-color:rgba(255,152,0,.4);color:#ff9800}.position-ad-link{position:absolute;top:8px;left:8px;display:inline-flex;align-items:center;gap:7px;padding:3px 12px 3px 3px;background:rgba(22,27,34,.72);border:1px solid rgba(88,166,255,.32);border-radius:999px;color:#58a6ff;font-size:.82rem;font-weight:500;text-decoration:none;line-height:1;z-index:4;cursor:pointer;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background .15s,border-color .15s}.position-ad-link:hover{background:rgba(88,166,255,.18);border-color:rgba(88,166,255,.55)}.position-ad-link:active{opacity:.85}.position-ad-link[hidden]{display:none}.position-ad-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;background:var(--bg-input);flex-shrink:0}.position-ad-avatar[hidden]{display:none}.position-ad-link:has(.position-ad-avatar[hidden]){padding-left:12px}.position-ad-arrow{font-size:1rem;line-height:1;opacity:.7}#position-card .metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-sm)}.metric-item{display:flex;flex-direction:column;gap:2px}.metric-label{font-size:.82rem;color:var(--text-muted);font-weight:600}.metric-value{font-family:var(--font-mono);font-size:1.15rem;font-weight:700;color:var(--text-primary)}.metric-value.large{font-size:1.35rem}.direction-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500}.direction-badge.long{background:var(--red-dim);color:var(--red)}.direction-badge.short{background:var(--green-dim);color:var(--green)}.direction-badge.flat{background:var(--bg-input);color:var(--text-muted)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-sm);margin-bottom:var(--gap)}.stat-item{background:var(--bg-input);border-radius:var(--radius-sm);padding:var(--gap-sm)}.stat-label{font-size:.75rem;color:var(--text-muted);font-weight:600;margin-bottom:2px}.stat-value{font-family:var(--font-mono);font-size:1rem;font-weight:700;color:var(--text-primary)}.stat-value.highlight{font-size:1.2rem}.btn-modal-close{width:100%;padding:10px 0;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:.9rem;font-weight:500;transition:opacity .15s}.btn-modal-close:hover{opacity:.85}.stats-divider{font-size:.8rem;font-weight:500;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:var(--gap);padding-top:var(--gap-sm);border-top:1px solid var(--border)}.stats-live .metric-value{font-size:1.05rem}#position-card.viewing-other{background:rgba(255,152,0,.06);border-color:#ff9800;box-shadow:inset 0 0 0 1px rgba(255,152,0,.25)}#position-card.viewing-other .card-title{color:#ff9800}#position-card.viewing-other .metric-label,#position-card.viewing-other .stats-divider{color:rgba(255,152,0,.8)}#position-card.viewing-other .direction-badge.flat{background:rgba(255,152,0,.2);color:#ff9800}.position-view-banner{margin:0 0 var(--gap-sm) 0;padding:6px 10px;background:#ff9800;color:#1a1a1a;font-family:var(--font-mono);font-weight:500;font-size:.78rem;letter-spacing:.02em;border-radius:4px;text-align:center}#position-card{position:relative}#leaderboard .board-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--gap-sm)}.board-update-time{font-size:.75rem;color:var(--text-muted)}.board-header-right{display:inline-flex;align-items:center;gap:6px}.board-refresh-btn{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.85rem;cursor:pointer;transition:transform .3s ease,color .15s,border-color .15s;padding:0}.board-refresh-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.board-refresh-btn.spinning{transform:rotate(360deg);color:#58a6ff}.board-scroll{background:var(--bg-card)}@media(min-width:768px){.board-scroll{flex:1;min-height:0;overflow-y:auto}}.board-table{width:100%;font-size:.82rem;table-layout:auto}.board-table th{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:4px 6px;text-align:left;position:sticky;top:0;z-index:2;background:var(--bg-card);box-shadow:inset 0 -1px 0 var(--border)}.board-table td{padding:6px 6px;border-bottom:1px solid var(--border);vertical-align:middle;text-align:left}.board-table td.board-pnl{text-align:right}.board-table td.board-follow-cnt-cell,.board-table td.rank-cell,.board-table td.board-action{text-align:center}.board-table td.watchlist-action-cell{text-align:right}.board-table td.board-empty{text-align:center}.board-table:not(.watchlist-table) thead th:nth-child(1),.board-table:not(.watchlist-table) thead th:nth-child(2),.board-table:not(.watchlist-table) thead th:nth-child(3){text-align:center}.board-table:not(.watchlist-table) thead th:nth-child(5){text-align:right}.board-table.watchlist-table thead th:nth-child(3),.board-table.watchlist-table thead th:nth-child(4){text-align:right}.board-table:not(.watchlist-table) thead th:nth-child(1),.board-table:not(.watchlist-table) td.rank-cell{width:32px}.board-table:not(.watchlist-table) thead th:nth-child(2),.board-table:not(.watchlist-table) td.board-follow-cnt-cell{width:44px}.board-table:not(.watchlist-table) thead th:nth-child(3),.board-table:not(.watchlist-table) td.board-action{width:44px}.board-table:not(.watchlist-table) thead th:nth-child(5),.board-table:not(.watchlist-table) td.board-pnl{width:72px;white-space:nowrap}.board-table:not(.watchlist-table) td.board-name-cell{width:auto;word-break:break-word;overflow-wrap:anywhere}.board-table:not(.watchlist-table) th.board-follow-col,.board-table:not(.watchlist-table) td.board-follow-col{background-color:rgba(88,166,255,.1)}.board-table:not(.watchlist-table) th.board-follow-col:first-of-type,.board-table:not(.watchlist-table) td.board-follow-col:first-of-type{border-left:1px solid rgba(88,166,255,.25)}.board-table:not(.watchlist-table) th.board-follow-col+th:not(.board-follow-col),.board-table:not(.watchlist-table) td.board-follow-col+td:not(.board-follow-col){border-left:1px solid rgba(88,166,255,.25)}.board-table:not(.watchlist-table) thead th.board-follow-col{background-image:linear-gradient(rgba(88,166,255,.1),rgba(88,166,255,.1));background-color:var(--bg-card);color:#58a6ff}.board-table tr:last-child td{border-bottom:0}.board-table tr:hover td{background:var(--bg-hover)}.rank-cell{font-family:var(--font-mono);font-weight:500;font-size:.85rem;width:28px}.rank-1{color:#ffd700}.rank-2{color:#c0c0c0}.rank-3{color:#cd7f32}.player-name{font-weight:600;color:var(--text-secondary);white-space:normal;word-break:break-word;overflow-wrap:anywhere;display:inline-block;line-height:1.25}.board-pnl{font-family:var(--font-mono);font-weight:500}.board-follow-cnt-cell{font-family:var(--font-mono);font-weight:600;color:var(--text-secondary)}.board-empty{text-align:center;padding:var(--gap);color:var(--text-muted);font-size:.85rem}.board-table tr.current-user td{background:rgba(88,166,255,.08)}.board-table tr.viewing-on-chart td{background:rgba(255,152,0,.18)}.board-action{white-space:nowrap;width:44px}.board-follow-self{color:var(--text-muted);font-size:.8rem}.board-view-btn{font-family:var(--font-mono);font-size:.75rem;padding:3px 8px;border:1px solid var(--border);border-radius:3px;background:var(--bg-input);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0}.board-view-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:#58a6ff}.board-table tr.viewing-on-chart .board-view-btn{background:#ff9800;color:#1a1a1a;border-color:#ff9800;font-weight:500}.board-follow-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:26px;padding:0;border:1px solid rgba(88,166,255,.4);border-radius:4px;background:var(--bg-input);color:#58a6ff;font-size:1rem;line-height:1;cursor:pointer;transition:border-color .15s,color .15s,background .15s,transform .1s}.board-follow-btn:hover{border-color:#58a6ff;background:rgba(88,166,255,.15);transform:scale(1.08)}.board-follow-btn.following{background:rgba(88,166,255,.18);border-color:#58a6ff;color:#58a6ff}.board-follow-btn.following:hover{background:rgba(88,166,255,.08);border-color:var(--border);color:var(--text-muted);transform:none}.board-follow-btn:disabled{opacity:.5;cursor:default}.watchlist-table th:last-child,.watchlist-table td:last-child{text-align:right;width:92px;white-space:nowrap}.watchlist-no-activity{color:var(--text-muted);font-size:.78rem;font-style:italic}td.watchlist-action-cell{padding:4px 6px;vertical-align:middle}.watchlist-action-inner{display:flex;align-items:center;justify-content:flex-end;gap:4px}.watchlist-unfollow-btn{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:3px;background:transparent;color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .15s;padding:0;flex-shrink:0}.watchlist-unfollow-btn:hover{border-color:#e74c3c;color:#e74c3c}.watchlist-unfollow-btn:disabled{opacity:.5;cursor:default}.dir-badge{display:inline-block;font-size:.75rem;font-weight:500;padding:1px 5px;border-radius:3px}.dir-badge.long{background:var(--red-dim);color:var(--red)}.dir-badge.short{background:var(--green-dim);color:var(--green)}.dir-badge.flat{background:var(--bg-input);color:var(--text-muted)}.tutorial-choose-modal{max-width:380px;text-align:center}.tutorial-choose-text{font-size:.92rem;line-height:1.6;color:var(--text-primary);margin:0 0 var(--gap-lg)}.tutorial-choose-actions{display:flex;gap:var(--gap-sm);justify-content:center}.tutorial-skip,.tutorial-enter{flex:1;padding:10px 16px;font-size:.9rem;font-weight:500;border-radius:var(--radius);cursor:pointer;border:1px solid var(--border);transition:filter .15s,background .15s}.tutorial-skip{background:transparent;color:var(--text-muted)}.tutorial-skip:hover{background:var(--bg-input);color:var(--text-primary)}.tutorial-enter{background:linear-gradient(135deg,var(--accent),#4078c0);color:#fff;border-color:transparent}.tutorial-enter:hover{filter:brightness(1.1)}.tutorial-picker-modal{max-width:480px}.tutorial-picker-hint{font-size:.85rem;color:var(--text-muted);margin:0 0 var(--gap)}.tutorial-picker-list{display:flex;flex-direction:column;gap:var(--gap-sm);margin-bottom:var(--gap)}.tutorial-lesson-btn{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;transition:all .15s;font-family:inherit}.tutorial-lesson-btn:hover{border-color:var(--accent);background:rgba(88,166,255,.08)}.tutorial-lesson-btn.completed{opacity:.7}.tutorial-lesson-icon{font-size:1.4rem;flex-shrink:0}.tutorial-lesson-text{flex:1;min-width:0}.tutorial-lesson-title{font-size:.95rem;font-weight:500;color:var(--text-primary);margin-bottom:2px}.tutorial-lesson-desc{font-size:.78rem;color:var(--text-muted);line-height:1.4}.tutorial-lesson-check{color:var(--green);font-size:1.2rem;flex-shrink:0}#tutorial-status-bar{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:var(--gap);padding:8px var(--gap);background:linear-gradient(135deg,#f7b500,#ff7a18);color:#0d1117;font-size:.85rem;font-weight:500;box-shadow:0 2px 12px rgba(0,0,0,.5);animation:tutorialSlideIn .25s ease-out}#tutorial-status-bar.hidden{display:none}.tutorial-status-label{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.tutorial-status-label .tutorial-emoji{font-size:1rem}.tutorial-status-lesson{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tutorial-status-actions{display:flex;gap:6px}.tutorial-status-btn{background:rgba(13,17,23,.18);color:#0d1117;border:1px solid rgba(13,17,23,.3);border-radius:var(--radius-sm);padding:4px 10px;font-size:.8rem;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s}.tutorial-status-btn:hover{background:rgba(13,17,23,.28)}@keyframes tutorialSlideIn{from{transform:translateY(-100%)}to{transform:translateY(0)}}body.tutorial-active #app-header{margin-top:38px}.tutorial-finger-cue{position:fixed;z-index:100001;font-size:28px;pointer-events:none;user-select:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));animation:tutorialFingerBounce .9s ease-in-out infinite;transform-origin:top center}@keyframes tutorialFingerBounce{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-8px) rotate(5deg)}}.tutorial-await-click{position:relative;z-index:100000;animation:tutorialPulse 1.4s ease-in-out infinite;outline:2px solid rgba(247,181,0,.85);outline-offset:1px;border-radius:3px;cursor:pointer!important;pointer-events:auto!important}@keyframes tutorialPulse{0%,100%{box-shadow:0 0 0 0 rgba(247,181,0,.7)}50%{box-shadow:0 0 0 8px rgba(247,181,0,0)}}.tutorial-click-hint{position:fixed;top:60px;left:50%;transform:translateX(-50%);background:var(--bg-card);border:2px solid var(--accent);border-radius:999px;padding:10px 22px;font-size:.92rem;font-weight:500;color:var(--accent);z-index:100002;box-shadow:0 4px 18px rgba(0,0,0,.55);animation:tutorialHintSlide .25s ease-out;white-space:nowrap;display:flex;align-items:center;gap:12px}.tutorial-click-hint.success{border-color:var(--green);color:var(--green)}.tutorial-click-hint-back{background:transparent;border:1px solid currentColor;color:inherit;border-radius:var(--radius-sm);padding:3px 10px;font-size:.78rem;cursor:pointer;font-family:inherit;font-weight:600}.tutorial-click-hint-back:hover{opacity:.8}@keyframes tutorialHintSlide{from{transform:translate(-50%,-20px);opacity:0}to{transform:translate(-50%,0);opacity:1}}.tutorial-flash-cell{animation:tutorialCellFlash .7s ease-in-out infinite}@keyframes tutorialCellFlash{0%,100%{background:rgba(247,181,0,.1)}50%{background:rgba(247,181,0,.55)}}.tutorial-attention-pulse{position:relative;z-index:100000;animation:tutorialAttentionPulse 1.2s ease-in-out infinite;border-radius:4px;padding:2px 6px;margin:-2px -6px}@keyframes tutorialAttentionPulse{0%,100%{background:rgba(247,181,0,0)}50%{background:rgba(247,181,0,.32)}}.tutorial-data-badge{position:absolute;top:8px;right:8px;z-index:6;background:rgba(247,181,0,.92);color:#0d1117;font-size:.75rem;font-weight:500;padding:3px 8px;border-radius:999px;pointer-events:none;letter-spacing:.04em}.driver-popover.driver-popover-tutorial{background:rgba(22,27,34,.7);color:var(--text-primary);border:1px solid var(--accent);border-radius:var(--radius);font-family:inherit;max-width:320px}.driver-popover.driver-popover-tutorial .driver-popover-title{color:var(--accent);font-weight:500;font-size:1rem}.driver-popover.driver-popover-tutorial .driver-popover-description{color:var(--text-primary);font-size:.88rem;line-height:1.55}.driver-popover.driver-popover-tutorial .driver-popover-progress-text{color:var(--text-muted);font-size:.75rem}.driver-popover.driver-popover-tutorial .driver-popover-footer button{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;font-size:.82rem;font-weight:600;text-shadow:none;font-family:inherit;cursor:pointer;transition:background .15s}.driver-popover.driver-popover-tutorial .driver-popover-footer button:hover{background:var(--border)}.driver-popover.driver-popover-tutorial .driver-popover-next-btn{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.driver-popover.driver-popover-tutorial .driver-popover-next-btn:hover{filter:brightness(1.1)}.driver-popover.driver-popover-tutorial .driver-popover-arrow-side-left.driver-popover-arrow,.driver-popover.driver-popover-tutorial .driver-popover-arrow-side-right.driver-popover-arrow,.driver-popover.driver-popover-tutorial .driver-popover-arrow-side-top.driver-popover-arrow,.driver-popover.driver-popover-tutorial .driver-popover-arrow-side-bottom.driver-popover-arrow{border-color:var(--accent)}.driver-popover.driver-popover-tutorial .driver-popover-close-btn{color:var(--text-muted);display:inline-block!important}.driver-popover.driver-popover-tutorial .driver-popover-prev-btn,.driver-popover.driver-popover-tutorial .driver-popover-next-btn{display:inline-block!important}.driver-popover.driver-popover-tutorial .driver-popover-footer{display:flex!important;align-items:center;gap:8px}.driver-popover.driver-popover-tutorial .driver-popover-navigation-btns{display:inline-flex!important;gap:6px;margin-left:auto}