.mobile-only{display:none}@media(max-width:760px){.mobile-only{display:block;padding:3px 8px;font-size:10px!important}}
:root{--bg:#0b1017;--surface:#111923;--surface2:#161f2b;--line:#222e3d;--text:#e7edf5;--muted:#8695a8;--accent:#a5eb83;--red:#fa858b;--green:#8fe0b3;--font:Inter,"Segoe UI","Noto Sans TC","Microsoft JhengHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 var(--font)}[hidden]{display:none!important}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:var(--text);border:1px solid var(--line);border-radius:7px;background:var(--surface2);padding:9px 15px;transition:.18s}button:hover{border-color:#63764d;background:#243029}button:disabled{opacity:.5;cursor:wait}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-1px;font-weight:600}h2{font-size:17px;font-weight:600}h3{font-size:15px}small,.small{font-size:12px}.muted{color:var(--muted)}.accent{color:var(--accent)}.positive{color:var(--green)}.negative{color:var(--red)}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:var(--muted)}.primary{background:var(--accent);color:#142312;border:0;font-weight:700}.primary:hover{background:#b6f79b}.secondary{background:transparent;font-size:12px}.pill{border:1px solid var(--line);background:#192330;border-radius:5px;padding:3px 8px;font-size:10px;color:#b7c4d5;white-space:nowrap}.status-dot{height:6px;width:6px;border-radius:50%;background:var(--accent);display:inline-block;flex-shrink:0}.brand{font-weight:700;font-size:27px;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.brand-dot{color:var(--accent);margin-left:-10px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:33px;height:34px;background:var(--accent);color:#142312;border-radius:9px;font-size:23px;letter-spacing:-5px;padding-right:4px;font-style:italic}.brand-mark span{font-size:16px;margin:6px 0 0 1px}.workspace{display:flex}.sidebar{width:232px;position:fixed;top:0;bottom:0;border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;background:#0e151f;z-index:2}.sidebar>.brand{padding:0 14px}.workspace-label{margin:34px 0 30px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:12px 10px;border-radius:8px;font-size:12px}.workspace-label small{display:block;font-size:8px;color:var(--muted);letter-spacing:.7px}.workspace-label .status-dot{margin-left:auto}.avatar{display:flex;width:28px;height:28px;align-items:center;justify-content:center;background:#27332e;color:var(--accent);border:1px solid #42523a;border-radius:7px;font-weight:700}.nav-label{font-size:10px;color:#627289;padding:0 14px 10px;letter-spacing:2px}nav{display:grid;gap:5px}.nav{background:transparent;border:0;text-align:left;color:#93a1b3;display:flex;align-items:center;gap:12px;padding:12px 14px;font-size:13px}.nav>span:first-child{font-size:19px;line-height:1}.nav.active{background:#24302b;color:var(--accent)}.count{margin-left:auto;background:#263545;padding:0 5px;font-size:10px;border-radius:4px}.sidebar-bottom{margin-top:auto;padding:20px 7px 0}.paper-badge{font-size:9px;letter-spacing:.7px;display:flex;align-items:center;gap:7px;color:var(--accent)}.sidebar-bottom p{font-size:11px;color:var(--muted);margin:12px 0 24px}.user-button{border:0;border-top:1px solid var(--line);padding:18px 0 0;border-radius:0;display:flex;align-items:center;width:100%;gap:10px;background:transparent;font-size:12px}.user-button>span:last-child{margin-left:auto;color:var(--muted);font-size:10px}main{margin-left:232px;width:calc(100% - 232px);min-width:0}.topbar{height:68px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px}.topbar>div{display:flex;align-items:center;gap:22px}.divider{padding:0 13px;color:#435267}.private-badge{font-size:10px;border:1px solid var(--line);padding:4px 10px;border-radius:20px;color:#b3c1cd}.content{padding:28px 34px;max-width:1700px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-heading h1{margin:4px 0}.page-heading p{color:var(--muted);font-size:12px}.page-heading>button{height:35px}.data-notice{border:1px solid #2b3a37;background:#131f1d;border-radius:7px;padding:10px 13px;display:flex;gap:10px;align-items:center;font-size:11px;color:#b0c2b5;margin-bottom:20px}.data-notice>span:first-child{color:var(--accent)}.data-notice>span:last-child{margin-left:auto;white-space:nowrap;font-size:10px}.market-cards,.account-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.market-card{background:var(--surface);border:1px solid var(--line);padding:16px 18px;border-radius:9px;position:relative;overflow:hidden}.market-card .top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.market-card strong{display:block;font-size:25px;font-weight:600;letter-spacing:-.7px;margin:9px 0 1px}.market-card .bottom{display:flex;gap:9px;align-items:center;font-size:11px}.market-card .spark{position:absolute;right:16px;bottom:14px;width:80px;height:30px;opacity:.8}.market-card .card-asof{font-size:9px;color:var(--muted);margin-top:6px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:9px;margin-bottom:22px;overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;gap:12px}.panel-heading p{font-size:11px;margin-top:4px}.panel-heading h2>.muted{font-size:12px;margin-left:8px}.overview-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(270px,1fr);gap:20px}.chart-panel{padding-bottom:16px}.chart-panel .panel-heading{padding-bottom:5px}.chart-summary{padding:0 22px;display:flex;align-items:center;gap:12px}.chart-summary strong{font-size:32px;letter-spacing:-1px;font-weight:500}.chart-summary span{font-size:12px}.chart-toolbar{display:flex;justify-content:space-between;align-items:center;margin:12px 22px 0;font-size:10px}.chart{height:210px;padding:0 20px}.chart svg{width:100%;height:100%;overflow:visible}.chart-date{font-size:9px;margin:0 22px;display:flex;justify-content:space-between}.chart-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin:16px 22px 0;padding-top:13px;gap:10px}.chart-metrics small{color:var(--muted);font-size:9px;display:block}.chart-metrics strong{font-size:12px;font-weight:500}.insight{padding:15px 20px;border-bottom:1px solid var(--line);display:flex;gap:12px}.insight-number{background:#253329;color:var(--accent);width:29px;height:29px;display:flex;align-items:center;justify-content:center;border-radius:7px;flex-shrink:0;font-size:10px}.insight h3{font-size:12px;margin-bottom:5px}.insight p{color:var(--muted);font-size:11px}.insight .pill{font-size:8px;margin-left:8px}.research-note{padding:17px 20px;font-size:10px;color:#798b9b;line-height:1.8}.segmented{display:flex;padding:3px;border:1px solid var(--line);border-radius:6px;background:#0c131c}.segmented button{background:transparent;border:0;font-size:11px;padding:5px 13px;color:var(--muted);border-radius:4px}.segmented button.selected{background:#2a3930;color:var(--accent)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px;white-space:nowrap}th{color:#8191a4;font-size:10px;font-weight:500;padding:11px 22px;background:#0e1621;border-block:1px solid var(--line)}td{padding:14px 22px;border-bottom:1px solid #1c2835}tr:last-child td{border-bottom:0}tbody tr:hover{background:#141f2b}td strong{font-size:12px;font-weight:600}td small{display:block;color:var(--muted);font-size:10px}td .pill{font-size:9px}.symbol-cell{display:flex;align-items:center;gap:10px}.ticker-icon{height:32px;min-width:32px;display:flex;align-items:center;justify-content:center;background:#213142;border-radius:8px;color:#b9d6f5;font-size:10px;font-weight:700}.table-action{border:0;padding:5px 8px;color:var(--accent);background:transparent;font-size:11px}.star{background:transparent;border:0;color:var(--muted);font-size:21px;padding:0}.star.watched{color:var(--accent)}.spark{height:28px;width:86px}.spark svg{width:100%;height:100%}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.news-item{display:block;padding:18px 22px;border-top:1px solid var(--line);border-right:1px solid var(--line)}.news-item:hover{background:#18232f}.news-item h3{font-size:12px;font-weight:500;margin:9px 0 15px;min-height:40px}.news-item small{color:var(--muted);font-size:9px}.news-item .news-source{color:var(--accent);font-size:10px}.signal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.signal-card{padding:21px;background:var(--surface);border:1px solid var(--line);border-radius:9px}.signal-card p{font-size:12px;color:var(--muted);margin:12px 0}.signal-card .chart-metrics{margin:15px 0 0;grid-template-columns:repeat(3,1fr)}.strategy-description{padding:20px;border:1px solid #334039;border-radius:8px;background:#131e1a;margin-bottom:20px}.strategy-description p{color:#aab6af;font-size:12px;margin-top:10px}.account-cards{grid-template-columns:repeat(2,1fr)}.portfolio-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr);gap:20px}form:not(.login-card){padding:0 22px 20px}label{display:block;font-size:12px;color:#b1bed0;margin-bottom:16px}input,select{display:block;width:100%;background:#0d1520;border:1px solid #2e3b4d;color:var(--text);padding:10px 12px;border-radius:6px;margin-top:7px}input:focus,select:focus{outline:1px solid var(--accent)}.panel-heading select{width:auto;font-size:11px;margin:0;padding:7px 10px;max-width:165px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}form .primary{width:100%;margin:8px 0 14px}.checkbox{display:flex;align-items:start;gap:8px;font-size:11px;margin-top:16px}.checkbox input{width:auto;margin:3px 0}.empty{padding:32px 20px;text-align:center;color:var(--muted);font-size:12px}.notification{border-top:1px solid var(--line);padding:18px 22px}.notification.unread{border-left:2px solid var(--accent);background:#16211f}.notification p{font-size:12px;color:var(--muted);margin:6px 0}.notification small{font-size:10px;color:#7c8c9e}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-card{padding:24px;border:1px solid var(--line);background:var(--surface);border-radius:9px}.settings-card h2{margin-bottom:12px}.settings-card p{color:var(--muted);font-size:12px;line-height:2}.settings-card .pill{display:inline-block;margin-top:14px}footer{display:flex;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-top:28px;font-size:9px;letter-spacing:.5px;color:#64758b}footer>span:last-child{margin-left:auto}.error-banner{padding:12px 16px;background:#371f28;border:1px solid #61303e;color:#ffb3ba;border-radius:7px;margin-bottom:20px}.login-view{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;max-width:1280px;margin:auto;padding:60px;gap:110px}.login-art .brand{margin-bottom:70px}.login-art h1{font-size:48px;line-height:1.5;letter-spacing:-2px;margin:18px 0}.login-art p{font-size:14px;color:var(--muted);line-height:2}.login-art>small{font-size:9px;color:var(--muted);letter-spacing:2px}.login-lines{font-size:67px;letter-spacing:-8px;color:var(--accent);opacity:.65;height:150px;overflow:hidden;margin:25px 0}.login-card{padding:38px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.login-card h2{font-size:24px;margin:10px 0}.login-card>p{font-size:12px;margin-bottom:30px}.login-card label{margin-top:20px}.login-card .primary{display:flex;justify-content:space-between;padding:12px 16px;margin-top:25px}.login-note{font-size:10px;text-align:center;color:var(--muted);line-height:2;margin-top:14px}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:13px 22px;background:#263a2e;border:1px solid #6c9656;color:#d0f5c1;border-radius:8px;z-index:10;box-shadow:0 5px 30px #0008;max-width:90vw;font-size:13px}@media(min-width:1500px){.chart{height:250px}.insight{padding-block:20px}}@media(max-width:1150px){.sidebar{width:200px;padding-inline:12px}main{margin-left:200px;width:calc(100% - 200px)}.content{padding:24px}.topbar{padding-inline:24px}.market-cards{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}.focus-panel #insights{display:grid;grid-template-columns:repeat(3,1fr)}.insight{padding:14px}.focus-panel .research-note{display:none}.portfolio-grid{grid-template-columns:1fr}.signal-grid{grid-template-columns:repeat(2,1fr)}.data-notice>span:last-child{display:none}.login-view{gap:50px;padding:40px}.login-art h1{font-size:38px}}@media(max-width:760px){.workspace{display:block}.sidebar{position:sticky;top:0;bottom:auto;width:100%;padding:12px 16px;height:auto;display:block;border-right:0;border-bottom:1px solid var(--line)}.sidebar>.brand{font-size:22px;padding:0}.brand-mark{width:28px;height:28px}.workspace-label,.nav-label,.sidebar-bottom{display:none}nav{display:flex;overflow-x:auto;gap:4px;margin-top:14px}.nav{font-size:11px;padding:7px 10px;white-space:nowrap}.nav>span:first-child{display:none}.nav .count{margin-left:0}main{margin:0;width:100%}.topbar{height:48px;padding:0 18px;font-size:10px}.desktop-only{display:none}.content{padding:22px 16px}.page-heading h1{font-size:27px}.page-heading p{font-size:10px}.eyebrow{font-size:8px}.market-cards{gap:10px}.market-card{padding:13px}.market-card strong{font-size:23px}.market-card .spark{width:53px;right:8px}.market-card .card-asof{font-size:8px}.overview-grid{gap:0}.panel-heading{padding:16px}.chart{padding:0 12px;height:190px}.chart-summary{padding-inline:16px}.chart-summary strong{font-size:27px}.chart-metrics{margin-inline:16px}.focus-panel #insights{grid-template-columns:1fr}.news-grid{grid-template-columns:1fr}.news-item h3{min-height:auto}.signal-grid,.settings-grid{grid-template-columns:1fr}.panel-heading .segmented button{padding:4px 8px}.panel-heading p{font-size:10px}th,td{padding:12px 16px}.account-cards{gap:10px}.account-cards .market-card strong{font-size:20px}footer{font-size:8px;flex-wrap:wrap;gap:8px}footer>span:last-child{margin-left:0;width:100%}.login-view{grid-template-columns:1fr;padding:28px 20px;gap:30px}.login-art .brand{margin-bottom:30px}.login-art h1{font-size:30px;margin:10px 0}.login-art p,.login-lines,.login-art>small{display:none}.login-card{padding:26px}.data-notice{font-size:10px}.login-view .eyebrow{font-size:9px}.private-badge{font-size:9px}}
