*{box-sizing:border-box}:root{--bg:#f5f6fa;--bg-grad:radial-gradient(1200px 500px at 50% -10%,#e6e9ff 0%,transparent 60%);--surface:#ffffff;--surface-2:#f1f2f8;--text:#171923;--text-2:#5b6070;--text-3:#9aa0b0;--border:#e5e7f0;--accent:#4f46e5;--accent-2:#7c3aed;--accent-soft:#eef0ff;--green-bg:#e3f6e9;--green-fg:#147a35;--red-bg:#fde5e5;--red-fg:#b32222;--amber-bg:#fdf3d5;--amber-fg:#8a6d15;--shadow:0 1px 2px rgba(20,22,40,0.05),0 8px 24px rgba(20,22,40,0.06);--shadow-lift:0 4px 12px rgba(20,22,40,0.10),0 12px 32px rgba(20,22,40,0.10)}[data-theme=dark]{--bg:#0d1117;--bg-grad:radial-gradient(1200px 500px at 50% -10%,#1b2040 0%,transparent 60%);--surface:#161b22;--surface-2:#1e242e;--text:#e7e9f0;--text-2:#9aa3b5;--text-3:#626b7d;--border:#262d38;--accent:#7b83ff;--accent-2:#a78bfa;--accent-soft:#23263e;--green-bg:#12301c;--green-fg:#4ade80;--red-bg:#3a1717;--red-fg:#f87171;--amber-bg:#332a10;--amber-fg:#fbbf24;--shadow:0 1px 2px rgba(0,0,0,0.4),0 8px 24px rgba(0,0,0,0.35);--shadow-lift:0 4px 12px rgba(0,0,0,0.5),0 12px 32px rgba(0,0,0,0.45)}html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Noto Sans TC,Microsoft JhengHei,sans-serif;color:var(--text);background:var(--bg);background-image:var(--bg-grad);background-repeat:no-repeat;min-height:100vh;transition:background-color .25s ease,color .25s ease}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1.4rem;background:color-mix(in srgb,var(--surface) 80%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.brand{font-weight:800;font-size:1.2rem;letter-spacing:-.02em;text-decoration:none;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.topnav{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}.topnav a{color:var(--text-2);text-decoration:none;font-size:.88rem}.topnav a:hover{color:var(--text)}.userchip{font-size:.85rem;color:var(--text-2);display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.signout{color:var(--red-fg)!important}.seg{display:inline-flex;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);padding:2px;gap:2px}.seg button{padding:.22rem .65rem;font-size:.78rem;border:none;border-radius:999px;background:transparent;color:var(--text-2);cursor:pointer;line-height:1.3}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:600}.container{max-width:960px;margin:0 auto;padding:2rem 1.4rem 3rem}.disclaimer{text-align:center;font-size:.75rem;color:var(--text-3);padding:2rem 1rem}h1{letter-spacing:-.02em}.hero h1{font-size:2.3rem;margin:.5rem 0 .4rem;background:linear-gradient(90deg,var(--text),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{color:var(--text-2);margin:0 0 1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.05rem 1.2rem;margin-bottom:.85rem;box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}a.card{display:block;text-decoration:none;color:inherit}a.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);border-color:var(--accent)}.card.disabled{opacity:.45}.card strong{font-size:.98rem}.card .blurb{margin:.35rem 0 0;font-size:.84rem;color:var(--text-2);line-height:1.45}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));grid-gap:.85rem;gap:.85rem}.group-title{margin:1.8rem 0 .7rem;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3)}input,select{padding:.62rem .85rem;font-size:.95rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}input::placeholder{color:var(--text-3)}.tickerform{display:flex;gap:.6rem;margin:1rem 0 .5rem}.tickerform input{flex:1 1;font-size:1.05rem;text-transform:uppercase}.btn,button{padding:.62rem 1.25rem;font-size:.92rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;text-decoration:none;display:inline-block;transition:filter .15s ease,transform .1s ease}.btn:hover,button:hover:not(:disabled){filter:brightness(1.1)}button:active:not(:disabled){transform:scale(.98)}button:disabled{background:var(--surface-2);color:var(--text-3);cursor:default}.report{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.6rem;line-height:1.6;overflow-x:auto;box-shadow:var(--shadow)}.report h1,.report h2{letter-spacing:-.01em}.report h2{border-bottom:1px solid var(--border);padding-bottom:.35rem;margin-top:1.6rem}.report table{border-collapse:collapse;width:100%;margin:.85rem 0;font-size:.88rem}.report th{background:var(--surface-2)}.report td,.report th{border:1px solid var(--border);padding:.42rem .65rem;text-align:left}.report tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-2) 45%,transparent)}.report pre{background:var(--surface-2);padding:.85rem;border-radius:10px;overflow-x:auto;font-size:.8rem;border:1px solid var(--border)}.report code{font-size:.85em}.report blockquote{border-left:3px solid var(--accent);margin-left:0;padding-left:1rem;color:var(--text-2)}.status{font-size:.85rem;color:var(--text-2);margin:.5rem 0;font-style:italic}.status:before{content:"· ";color:var(--accent)}.error{color:var(--red-fg)}.badge{display:inline-block;padding:.28rem .8rem;border-radius:999px;font-weight:700;font-size:.85rem;margin-right:.5rem}.badge.buy{background:var(--green-bg);color:var(--green-fg)}.badge.sell{background:var(--red-bg);color:var(--red-fg)}.badge.hold{background:var(--amber-bg);color:var(--amber-fg)}.loginbox{max-width:380px;margin:3.5rem auto}.loginbox input{width:100%;margin-bottom:.75rem}.loginbox form button{width:100%;margin-top:.25rem}.loginbox .card{padding:1.4rem}@media (max-width:640px){.hero h1{font-size:1.7rem}.container{padding:1.2rem 1rem 2.5rem}.topbar{padding:.6rem 1rem}}