:root{--bg:#070c14;--panel:#0f1927;--panel2:#121f31;--line:#26374d;--text:#edf4fb;--muted:#8ea0b6;--green:#34e6a0;--red:#ff6f75;--amber:#f3c86b;--blue:#83b7ff}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at 80% -10%,#18324b 0,#070c14 42%);color:var(--text);font:14px/1.5 Inter,ui-sans-serif,system-ui,sans-serif;min-width:0}.site-header,main,footer{max-width:1480px;margin:auto}.site-header{padding:26px 30px 18px;display:flex;justify-content:space-between;gap:22px;align-items:end}.eyebrow,.kicker{color:var(--green);letter-spacing:.16em;font-size:11px;font-weight:700}.brand h1{font-size:30px;margin:4px 0}.brand small{font-size:14px;color:var(--muted);font-weight:400}.top-tools{display:grid;gap:9px;justify-items:end}.market-state{display:flex;gap:8px;align-items:center;font-size:12px}.dot{width:8px;height:8px;border-radius:50%;background:var(--amber)}.dot.live{background:var(--green);box-shadow:0 0 12px var(--green)}.badge{border:1px solid var(--line);border-radius:99px;padding:2px 8px;color:var(--amber);font-size:10px;font-weight:700}.badge.live{color:var(--green)}.data-time,.micro{color:var(--muted);font-size:11px}.search{display:flex;gap:7px}.search input,button,select{border:1px solid #344963;border-radius:7px;background:#142235;color:var(--text);padding:9px 12px;font:inherit}input{min-width:230px}button{cursor:pointer}button:hover,button:focus-visible,select:focus-visible,input:focus-visible{border-color:var(--green);outline:2px solid #34e6a044;outline-offset:1px}.skip-link{position:absolute;left:8px;top:-50px;background:var(--green);color:#06120e;padding:8px;z-index:10}.skip-link:focus{top:8px}main{padding:0 30px}.notice{margin:8px 0 20px;border:1px solid #6f5e2e;background:#302817;color:#f8db91;padding:11px 14px;border-radius:8px}.notice.error{border-color:#7e3943;background:#321a23;color:#ffadb0}.hero{display:flex;justify-content:space-between;gap:20px;align-items:end;padding:28px 0 30px}.kicker{margin:0}.hero h2{font-size:clamp(25px,4vw,46px);line-height:1.08;max-width:760px;margin:8px 0}.muted{color:var(--muted)}.stats{display:flex;gap:26px;flex:none}.stats div{display:grid;gap:1px}.stats b{font-size:24px}.stats span{color:var(--muted);font-size:11px}.grid,.lower{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px;margin-bottom:16px}.lower{grid-template-columns:1fr 1fr}.card{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:12px;padding:18px;min-width:0}.card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-title h3{margin:0;font-size:15px}.legend{font-size:11px;color:var(--muted);white-space:nowrap}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin:0 3px 0 9px}.up{background:var(--green)}.down{background:var(--red)}.neutral{background:#70839e}.map{height:480px;position:relative;overflow:hidden;border:1px solid #2a4059;border-radius:8px;background:linear-gradient(90deg,transparent 49.8%,#2b4056 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,#2b4056 50%,transparent 50.2%),repeating-linear-gradient(0deg,transparent 0 59px,#17283b 60px),repeating-linear-gradient(90deg,transparent 0 79px,#17283b 80px)}.axis{position:absolute;color:#788ba3;font-size:11px;z-index:1}.axis.x{right:12px;bottom:6px}.axis.y{left:8px;top:10px;writing-mode:vertical-rl}.quadrants{position:absolute;inset:15px;display:grid;grid-template:1fr 1fr/1fr 1fr;color:#58708e;font-size:11px;pointer-events:none}.quadrants span:nth-child(even){text-align:right}.quadrants span:nth-child(n+3){align-self:end}.bubble{position:absolute;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;font-weight:800;color:#04120d;cursor:pointer;box-shadow:0 0 0 5px #ffffff09,0 0 28px #34e6a044;border:0;padding:0}.bubble.red{background:#e75863;color:#250609;box-shadow:0 0 0 5px #ffffff09,0 0 25px #ff6f7544}.bubble.green{background:#19b77b}.bubble.neutral{background:#70839e;color:#07101d;box-shadow:0 0 0 5px #ffffff09}.bubble:focus-visible,.bubble:hover{z-index:3;outline:2px solid white}.tooltip{position:absolute;z-index:4;max-width:250px;background:#07101b;border:1px solid #58708e;padding:10px;border-radius:8px;font-size:12px;pointer-events:none;box-shadow:0 8px 30px #0008}.method-note{margin:10px 0 0}.ranking-row,.provider,.event,.watch-item{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #213149;padding:10px 0}.ranking-row strong,.ok{color:var(--green)}.provider{font-size:12px}.locked,.pending{color:var(--amber)}hr{border:0;border-top:1px solid var(--line);margin:18px 0}.disclosure{margin-bottom:16px}.filters{display:flex;gap:5px;flex-wrap:wrap}.filter{padding:6px 9px;font-size:11px}.filter.active{color:#06120e;background:var(--green);border-color:var(--green)}.events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.event{align-items:start;min-width:0}.event b{color:var(--blue);font-size:11px;min-width:68px}.event span{min-width:0}.event small{display:block;color:var(--muted);margin-top:2px}.event em{font-size:10px;font-style:normal}.empty{color:var(--muted);padding:24px 0}.watchlist:empty:after{content:'尚未加入自選';color:var(--muted)}.watch-item button{padding:3px 7px;font-size:11px}.source-link{color:var(--blue);font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}footer{padding:20px 30px 35px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px}dialog{max-width:600px;background:var(--panel);color:var(--text);border:1px solid #49617e;border-radius:12px;padding:24px}dialog::backdrop{background:#000b}.close{float:right;font-size:20px;padding:0 8px}@media(max-width:800px){.site-header,.hero{display:block}.top-tools{justify-items:stretch;margin-top:16px}.search input{min-width:0;width:100%}.hero{padding-top:20px}.stats{justify-content:space-between;margin-top:22px}.grid,.lower,.events{grid-template-columns:1fr}.map{height:390px}main,.site-header{padding-left:16px;padding-right:16px}.card{padding:14px}.card-title{align-items:flex-start;flex-wrap:wrap}.legend{white-space:normal}footer{display:block;padding:18px 16px}}@media(max-width:390px){.brand h1{font-size:25px}.map{height:350px}.filters{width:100%}}
