:root{color-scheme:dark;--bg:#111315;--card:#1d2024;--line:#30343a;--muted:#969ca5;--red:#ff4050;--green:#2fc467;--gold:#f6b73c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f4f5f7;font:16px system-ui,-apple-system,"Noto Sans TC",sans-serif}button,input,select{font:inherit}button{color:inherit}header{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:center;padding:18px max(18px,calc((100vw - 1100px)/2));background:#17191d;border-bottom:1px solid var(--line)}h1,h2,h3,p{margin:0}header h1{font-size:24px}header small{color:var(--gold);letter-spacing:2px}.icon,.back,#addBtn{border:1px solid var(--line);background:#25282d;border-radius:12px;padding:9px 13px}.icon{font-size:26px}main{max-width:1100px;margin:auto;padding:24px 18px}.section-title,.recent-head,.dialog-head{display:flex;align-items:center;justify-content:space-between}.watchlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;margin-top:18px}.stock-card{cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:8px;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:16px}.stock-card:hover{border-color:#606770}.stock-card h3 span{color:var(--muted);font-weight:400;margin-left:8px}.price{text-align:right;font-size:24px;font-weight:700}.up{color:var(--red)}.down{color:var(--green)}.muted,.hint{color:var(--muted)}.hint{margin-top:18px;font-size:13px}.remove{grid-column:2;border:0;background:none;color:var(--muted)}.back{margin-bottom:16px}.quote-card{background:linear-gradient(140deg,#22262b,#17191c);border:1px solid var(--line);border-radius:18px;padding:20px}.quote-top{display:flex;justify-content:space-between;gap:20px}.quote-name{font-size:22px}.quote-price{font-size:48px;font-weight:800}.quote-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}.stat{background:#ffffff08;padding:10px;border-radius:10px}.stat small{display:block;color:var(--muted)}.tabs{display:flex;border-bottom:1px solid var(--line);margin-top:18px;overflow:auto}.tabs button{padding:15px 24px;border:0;background:none;color:var(--muted);white-space:nowrap}.tabs .active{color:#fff;border-bottom:3px solid var(--gold)}.toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:14px 0}.toolbar select{background:var(--card);color:#fff;border:1px solid var(--line);padding:8px;border-radius:8px}canvas{width:100%;height:470px;background:#15171a;border:1px solid var(--line);border-radius:12px}.signal-summary{font-size:30px;padding:20px 0}.meter{height:14px;background:var(--green);border-radius:20px;overflow:hidden}.meter i{display:block;height:100%;background:var(--red)}.signals-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.signal-col{background:var(--card);padding:14px;border-radius:12px}.signal{padding:11px;margin:7px 0;border-radius:8px}.bull{background:#782e36}.bear{background:#225c39}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:20px 0}.info-grid div{background:var(--card);padding:15px;border-radius:10px}.info-grid small{display:block;color:var(--muted)}dialog{width:min(620px,100%);height:min(760px,100dvh);border:0;border-radius:20px;background:#1a1c20;color:#fff;padding:20px}dialog::backdrop{background:#000b}#searchInput{width:100%;margin:18px 0;padding:16px;background:#2b2e33;color:#fff;border:1px solid var(--line);border-radius:12px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 25px}.chip{border:0;background:#34373c;padding:10px 16px;border-radius:22px}.result{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:14px 4px}.result button{border:1px solid var(--line);background:none;border-radius:50%;width:34px;height:34px}.recent-head button{border:0;background:none;color:var(--muted)}#toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,30px);opacity:0;background:#fff;color:#111;padding:10px 18px;border-radius:20px;transition:.2s;z-index:10}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:600px){main{padding:16px 12px}.quote-price{font-size:39px}.quote-stats{grid-template-columns:1fr 1fr}canvas{height:400px}.signals-grid{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr}dialog{border-radius:0;width:100%;height:100dvh;max-width:none;max-height:none}.watchlist{grid-template-columns:1fr}}
