:root{--bg:#07090d;--ink:#eef3fb;--muted:#8792a5;--line:rgba(158,174,200,.14);--panel:rgba(13,17,24,.82);--panel2:rgba(18,24,34,.82);--hot:#ff6b3d;--green:#29d69b;--cyan:#48c7ff;--amber:#f5b84a;--red:#ff5b68;--violet:#a778ff;--neon-pink:#ff4fd8;--neon-cyan:#38f5ff;--neon-lime:#46ff9a;--neon-orange:#ff8a3d;--max:1180px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -15%,rgba(46,80,120,.22),transparent 36%),linear-gradient(#080a0e,#0a0d13 42%,#07090d);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Noto Sans TC","Segoe UI",sans-serif;font-size:13px}.shell:before{content:"";position:fixed;inset:70px 0 0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 62%);pointer-events:none}.appbar{height:58px;border-bottom:1px solid var(--line);background:rgba(8,10,14,.86);backdrop-filter:blur(18px);display:flex;align-items:center;gap:22px;padding:0 max(22px,calc((100vw - var(--max))/2));position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;min-width:178px}.logo{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--hot),#121722);border:1px solid rgba(255,255,255,.18);font-weight:900}.brand strong{display:block;letter-spacing:.02em}.brand span{display:block;font-size:10px;letter-spacing:.18em;color:var(--muted)}.navline{display:flex;gap:5px;align-items:center}.nav{border:0;background:transparent;color:#9aa5b8;padding:9px 12px;border-radius:10px;font-weight:800;letter-spacing:.08em;font-size:12px}.nav.active{color:#fff;background:rgba(255,107,61,.13);box-shadow:inset 0 0 0 1px rgba(255,107,61,.35)}.nav:hover{color:#fff;background:rgba(255,255,255,.055)}.top-actions{margin-left:auto;display:flex;gap:8px;align-items:center}button,input,select,.btn{font:inherit;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.045);color:var(--ink);padding:8px 10px;text-decoration:none}button{cursor:pointer}select option{background:#111722}.searchbox{display:flex;gap:7px}.searchbox input{width:260px}.main{max-width:var(--max);margin:0 auto;padding:20px 0 60px}.ticker-strip{height:42px;border:1px solid var(--line);border-radius:12px;background:rgba(12,15,20,.78);display:flex;align-items:center;gap:10px;padding:0 13px;color:#b9c3d4;box-shadow:0 10px 30px rgba(0,0,0,.16)}.ticker-strip b{font-size:11px;letter-spacing:.18em;color:#fff}.ticker-strip i{height:18px;width:1px;background:var(--line)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.dot.hot{background:var(--hot);box-shadow:0 0 18px var(--hot)}.hero-grid{height:210px;display:flex;justify-content:space-between;align-items:flex-start;padding-top:34px}.hero-grid h1{margin:0;font-size:34px;letter-spacing:-.02em}.hero-grid p{margin:8px 0 0;color:var(--muted)}.kpis{display:flex;gap:8px}.kpi{min-width:92px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.04);text-align:right}.kpi span{display:block;color:var(--muted);font-size:11px}.kpi b{font-size:23px}.panel,.watch-module{border:1px solid var(--line);background:rgba(10,13,18,.88);border-radius:14px;overflow:hidden}.hidden{display:none!important}.board{display:grid;gap:14px}.watch-module{box-shadow:0 18px 45px rgba(0,0,0,.22)}.module-head{height:42px;display:flex;align-items:center;gap:10px;padding:0 13px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.025)}.module-head span{font-size:10px;letter-spacing:.18em;color:#94a0b5}.module-head b{font-size:13px;letter-spacing:.08em}.module-head em{margin-left:auto;color:var(--muted);font-style:normal;font-size:11px}.market-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0}.stock-card{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px 13px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.012);cursor:pointer}.stock-card:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;background:var(--green)}.stock-card:hover,.data-table tr:hover td{background:rgba(255,255,255,.045)}.stock-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.stock-top strong{font-size:14px}.stock-top span,.muted{color:var(--muted);font-size:11px}.action-line{font-weight:900;font-size:16px;margin:5px 0;color:#fff}.reason{color:#b9c5d8;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.meta-row{display:flex;gap:6px;margin-top:8px}.meta-row span{border:1px solid var(--line);border-radius:999px;padding:2px 6px;color:#aeb9cb;font-size:11px;background:rgba(255,255,255,.025)}.badge{display:inline-flex;padding:4px 7px;border-radius:8px;font-weight:900;font-size:11px;white-space:nowrap}.badge.disposal{background:rgba(255,91,104,.18);color:#ff9aa3}.badge.met{background:rgba(255,107,61,.20);color:#ffb39b}.badge.near{background:rgba(245,184,74,.18);color:#ffd887}.badge.watch{background:rgba(72,199,255,.14);color:#a7e4ff}.chipbar{padding:10px 12px;border-bottom:1px solid var(--line);display:flex;gap:8px;background:rgba(10,13,18,.88)}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{height:32px;text-align:left;color:#8d98aa;font-size:10px;letter-spacing:.18em;text-transform:uppercase;background:rgba(255,255,255,.025);border-bottom:1px solid var(--line);padding:0 12px}.data-table td{height:46px;border-bottom:1px solid rgba(255,255,255,.055);padding:8px 12px;vertical-align:middle}.data-table b{font-weight:900}.data-table .num{text-align:right}.code{font-weight:900;color:#fff}.reason-cell{max-width:440px;line-height:1.35;color:#b8c3d5}.threshold{display:grid;grid-template-columns:repeat(2,minmax(100px,1fr));gap:3px 8px}.threshold>span{display:flex;align-items:center;gap:5px;color:#b9c3d4}.meter{display:inline-flex;align-items:center;gap:4px}.p{width:42px;height:5px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.09)}.p i{display:block;height:100%;background:var(--cyan)}.p i.orange{background:var(--amber)}.meter b{min-width:26px}.meter em{font-style:normal;color:#7f8a9d;font-size:10px}.empty,.chart-loading{padding:18px;color:var(--muted)}.results{padding:10px}.result{padding:12px;border-bottom:1px solid var(--line);cursor:pointer}.modal{position:fixed;inset:0;z-index:20;background:rgba(0,0,0,.62);display:grid;place-items:center}.modal-card{width:min(1220px,95vw);max-height:92vh;overflow:auto;background:#080b10;border:1px solid var(--line);border-radius:18px}.modal-head{height:48px;padding:0 12px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:rgba(255,255,255,.025)}.modal-head div{display:flex;gap:7px}.hero-stock{display:flex;justify-content:space-between;padding:24px 24px 12px}.hero-stock h2{margin:0 0 6px;font-size:30px}.hero-price{text-align:right}.hero-price b{font-size:28px}.hero-price small{display:block;color:var(--muted)}.decision-grid{display:grid;grid-template-columns:1.08fr 2fr .85fr .85fr;gap:10px;padding:12px 24px}.decision-card{border:1px solid var(--line);background:rgba(255,255,255,.025);border-radius:13px;padding:14px}.decision-card.primary{border-color:rgba(255,107,61,.45);background:rgba(255,107,61,.08)}.decision-card span{display:block;color:var(--muted);font-size:11px;margin-bottom:7px}.decision-card b{font-size:21px}.decision-card p{margin:0;color:#dce6f5;line-height:1.45}.inner{margin:12px 24px 18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.018);padding:14px}.kchart{height:500px;border-radius:11px;overflow:hidden;background:#080b10}.klegend{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;color:#bfc9da}.klegend b{color:#7f8da2}.klegend i{font-style:normal}.klegend .ma5{color:var(--amber)}.klegend .ma20{color:var(--cyan)}.klegend .ma60{color:var(--violet)}.condition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.condition-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:rgba(255,255,255,.025)}.condition-card span{font-size:11px;color:#a9b6c9}.condition-card h4{margin:8px 0}@media(max-width:980px){.appbar{height:auto;display:grid;padding:12px 14px}.top-actions{margin-left:0}.main{padding:12px 14px}.hero-grid{height:auto;display:block;padding:22px 0}.kpis{margin-top:14px;display:grid;grid-template-columns:repeat(2,1fr)}.market-cards,.decision-grid,.condition-grid{grid-template-columns:1fr}.data-table,.data-table thead,.data-table tbody,.data-table th,.data-table td,.data-table tr{display:block}.data-table thead{display:none}.data-table tr{border-bottom:1px solid var(--line);padding:8px}.data-table td{height:auto;border:0;padding:5px 8px}.hero-stock{display:block}.hero-price{text-align:left;margin-top:12px}.kchart{height:360px}.searchbox input{width:100%}}

/* Neon composition refinement: centered cards, richer color, safer text flow */
body{background:radial-gradient(circle at 18% 0%,rgba(255,79,216,.16),transparent 30%),radial-gradient(circle at 82% 8%,rgba(56,245,255,.14),transparent 34%),radial-gradient(circle at 50% 48%,rgba(70,255,154,.06),transparent 36%),linear-gradient(180deg,#07090d 0%,#090d14 47%,#06080c 100%);text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}.shell:before{opacity:.78;background-size:52px 52px;filter:drop-shadow(0 0 16px rgba(56,245,255,.08))}.appbar{border-bottom-color:rgba(56,245,255,.18);box-shadow:0 12px 46px rgba(0,0,0,.36),0 0 34px rgba(56,245,255,.035)}.logo{background:linear-gradient(135deg,var(--neon-pink),var(--neon-cyan) 58%,#121722);box-shadow:0 0 22px rgba(255,79,216,.24),0 0 20px rgba(56,245,255,.16)}.nav.active{background:linear-gradient(135deg,rgba(255,79,216,.16),rgba(56,245,255,.12));box-shadow:inset 0 0 0 1px rgba(56,245,255,.38),0 0 18px rgba(56,245,255,.10)}button:hover,.btn:hover{border-color:rgba(56,245,255,.36);box-shadow:0 0 18px rgba(56,245,255,.10)}input:focus,select:focus{outline:0;border-color:rgba(56,245,255,.52);box-shadow:0 0 0 3px rgba(56,245,255,.09)}.ticker-strip{min-height:44px;height:auto;background:linear-gradient(90deg,rgba(255,79,216,.07),rgba(56,245,255,.045),rgba(70,255,154,.035));border-color:rgba(56,245,255,.20);box-shadow:0 18px 48px rgba(0,0,0,.22),inset 0 0 28px rgba(56,245,255,.035)}.ticker-strip span:last-child{line-height:1.45;text-wrap:balance}.hero-grid{align-items:center;min-height:212px;height:auto}.hero-grid h1{font-size:clamp(34px,4vw,48px);line-height:1;letter-spacing:-.045em;text-shadow:0 0 28px rgba(56,245,255,.12)}.hero-grid p{font-size:14px;line-height:1.6}.kpis{align-items:stretch}.kpi{min-width:112px;min-height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:13px 15px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.026));border-color:rgba(255,255,255,.13);box-shadow:inset 0 1px rgba(255,255,255,.10)}.kpi b{font-size:clamp(26px,2.5vw,34px);line-height:1.02;margin-top:4px}.kpi span{font-size:12px;letter-spacing:.08em;color:#aeb8ca}.watch-module{background:linear-gradient(180deg,rgba(17,23,34,.86),rgba(9,12,18,.90));border-color:rgba(137,155,184,.16);box-shadow:0 20px 50px rgba(0,0,0,.30),inset 0 1px rgba(255,255,255,.045)}.module-head{height:48px;padding:0 16px;background:linear-gradient(90deg,rgba(255,79,216,.055),rgba(56,245,255,.035),transparent);align-items:center}.module-head span{min-width:54px;color:#8eeeff}.module-head b{font-size:15px;color:#fff}.module-head em{max-width:44%;text-align:right;white-space:normal;line-height:1.25}.market-cards{grid-template-columns:repeat(auto-fit,minmax(285px,1fr))}.stock-card{min-height:132px;align-items:center;padding:17px 15px 17px 18px;background:linear-gradient(135deg,rgba(255,255,255,.048),rgba(255,255,255,.018));border-right:1px solid rgba(255,255,255,.045);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}.stock-card:before{top:18px;bottom:18px;width:3px;border-radius:99px;background:linear-gradient(var(--neon-pink),var(--neon-cyan),var(--neon-lime));box-shadow:0 0 14px rgba(56,245,255,.28)}.stock-card:hover{transform:translateY(-1px);border-color:rgba(56,245,255,.18);box-shadow:0 14px 32px rgba(0,0,0,.22),0 0 22px rgba(56,245,255,.08);background:linear-gradient(135deg,rgba(56,245,255,.065),rgba(255,79,216,.035))}.stock-main{min-width:0;display:flex;flex-direction:column;justify-content:center}.stock-top{min-width:0}.stock-top strong{font-size:clamp(15px,1.15vw,17px);line-height:1.25;overflow-wrap:anywhere}.stock-top span{white-space:nowrap}.action-line{font-size:clamp(16px,1.35vw,19px);line-height:1.25;text-wrap:balance}.reason{font-size:13px;line-height:1.5;color:#d0d8e7;overflow-wrap:anywhere;word-break:break-word;min-height:1.5em}.meta-row{flex-wrap:wrap}.meta-row span{display:inline-flex;align-items:center;justify-content:center;min-height:23px;border-color:rgba(56,245,255,.16);background:rgba(56,245,255,.045);white-space:nowrap}.badge{align-self:center;justify-content:center;text-align:center;min-width:58px;min-height:28px;border:1px solid currentColor}.badge.disposal{background:rgba(255,91,104,.16);color:#ffb2ba}.badge.met{background:rgba(255,138,61,.16);color:#ffc3a6}.badge.near{background:rgba(245,184,74,.16);color:#ffe09a}.badge.watch{background:rgba(56,245,255,.13);color:#a7f6ff}.data-table{table-layout:fixed}.data-table th,.data-table td{padding-left:14px;padding-right:14px}.data-table td{line-height:1.45;overflow-wrap:anywhere;word-break:break-word}.code{font-size:14px}.reason-cell{max-width:none;color:#cad4e3}.threshold{grid-template-columns:repeat(2,minmax(112px,1fr));align-items:center}.threshold>span{min-height:22px}.p{height:6px;width:48px;background:rgba(255,255,255,.12)}.modal-card{box-shadow:0 28px 90px rgba(0,0,0,.58),0 0 48px rgba(56,245,255,.075);border-color:rgba(56,245,255,.18)}.hero-stock{align-items:center}.hero-stock h2{line-height:1.12;text-wrap:balance}.decision-grid{grid-template-columns:minmax(170px,.95fr) minmax(280px,2fr) minmax(128px,.72fr) minmax(128px,.72fr);align-items:stretch}.decision-card{display:flex;flex-direction:column;justify-content:center;min-height:104px;text-align:center;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border-color:rgba(255,255,255,.12)}.decision-card.primary{background:linear-gradient(135deg,rgba(255,79,216,.14),rgba(255,138,61,.10));box-shadow:0 0 28px rgba(255,79,216,.09)}.decision-card b{font-size:clamp(20px,2vw,28px);line-height:1.15;text-wrap:balance}.decision-card p{font-size:14px;line-height:1.55;overflow-wrap:anywhere;word-break:break-word;text-align:center}.inner{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));border-color:rgba(56,245,255,.13)}.kchart{background:radial-gradient(circle at 50% 0%,rgba(56,245,255,.08),transparent 38%),#070a10}.klegend{justify-content:center;line-height:1.6}.condition-card{display:flex;min-height:118px;flex-direction:column;justify-content:center;text-align:center;border-color:rgba(56,245,255,.16);background:linear-gradient(145deg,rgba(56,245,255,.04),rgba(255,255,255,.018))}.condition-card.orange{border-color:rgba(245,184,74,.22);background:linear-gradient(145deg,rgba(245,184,74,.06),rgba(255,255,255,.018))}.condition-card h4{font-size:15px;line-height:1.35;overflow-wrap:anywhere}.empty,.chart-loading{text-align:center;min-height:70px;display:grid;place-items:center}.result{line-height:1.5;overflow-wrap:anywhere}.result strong{font-size:15px}@media(max-width:980px){.top-actions{display:grid;grid-template-columns:1fr;width:100%}.hero-grid{padding:26px 0 18px}.kpi{min-height:78px}.stock-card{min-height:118px}.decision-grid{grid-template-columns:1fr}.decision-card{text-align:left;align-items:flex-start}.decision-card p{text-align:left}.data-table tr{background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border-radius:13px;margin-bottom:10px}.data-table td{display:flex;justify-content:space-between;gap:12px}.threshold{grid-template-columns:1fr}.module-head em{max-width:none}}

/* Risk tab background parity */
#riskView .watch-module,#riskView .table-wrap{background:linear-gradient(180deg,rgba(17,23,34,.86),rgba(9,12,18,.90))!important}
#riskView .module-head{background:linear-gradient(90deg,rgba(255,79,216,.055),rgba(56,245,255,.035),transparent)!important}
#riskView .head-controls{display:flex;gap:8px;align-items:center;justify-content:flex-end;max-width:none!important;margin-left:auto}
#riskView .head-controls select{height:30px;padding:4px 9px;background:#090d14!important;border-color:rgba(137,155,184,.16)!important;box-shadow:none!important;color:#dce6f5!important}
#riskView .data-table th{background:rgba(255,255,255,.025)!important}

/* Keep the page-level hero/background identical across tabs with different document heights. */
html,body{min-height:100%;background-color:#07090d!important}
body{background-attachment:fixed!important;background-size:100vw 100vh!important;background-repeat:no-repeat!important}

/* Dense card layout for risk/disposal/observe lists: match the main compact stock-card rhythm. */
.table-wrap{overflow:visible}
.risk-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:0;background:transparent}
.risk-card-grid.compact{grid-template-columns:repeat(auto-fit,minmax(275px,1fr))}
.compact-risk-card{min-height:138px;padding:17px 15px 17px 18px;border-right:1px solid rgba(255,255,255,.045);border-bottom:1px solid rgba(255,255,255,.06)}
.compact-risk-card .stock-top strong{font-size:17px;line-height:1.2;letter-spacing:.01em}
.compact-risk-card .stock-top span{font-size:11px;letter-spacing:.06em;color:#9ca8ba;text-transform:uppercase}
.compact-risk-card .action-line{font-size:19px;line-height:1.18;margin:6px 0 4px;font-weight:950;color:#f4f8ff;text-shadow:0 0 16px rgba(56,245,255,.08)}
.compact-risk-card .reason{font-size:13px;line-height:1.35;color:#c9d3e3;-webkit-line-clamp:1;min-height:auto;margin-bottom:2px}
.compact-risk-card .meta-row{margin-top:8px;gap:6px}
.compact-risk-card .meta-row span{font-size:12px;min-height:25px;padding:3px 8px}
.compact-risk-card .badge{min-width:62px;min-height:30px;font-size:12px;align-self:center}
.compact-risk-card .threshold{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(104px,1fr));gap:4px 8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.055)}
.compact-risk-card .threshold>span{font-size:11px;min-height:18px;color:#bfc9d8;white-space:nowrap}
.compact-risk-card .meter{gap:4px}.compact-risk-card .p{width:38px;height:5px}.compact-risk-card .meter b{font-size:11px;min-width:24px}.compact-risk-card .meter em{font-size:10px}
.disposal-grid .compact-risk-card{min-height:124px}
.disposal-grid .compact-risk-card .threshold{display:none}
@media(max-width:980px){.risk-card-grid,.risk-card-grid.compact{grid-template-columns:1fr}.compact-risk-card{min-height:120px}}

/* Minimal convenience controls: quick jump + floating rail, compact and non-overlapping. */
#quickNav{min-width:96px;background:rgba(8,12,18,.92);border-color:rgba(56,245,255,.18)}
.quick-rail{position:fixed;right:max(14px,calc((100vw - var(--max))/2 - 54px));bottom:22px;z-index:12;display:flex;flex-direction:column;gap:7px;pointer-events:auto}
.quick-rail button{width:38px;height:38px;padding:0;border-radius:13px;background:rgba(8,12,18,.82);border-color:rgba(56,245,255,.22);box-shadow:0 10px 30px rgba(0,0,0,.30),inset 0 1px rgba(255,255,255,.06);font-weight:900;color:#dce6f5}
.quick-rail button:hover{background:rgba(56,245,255,.10);color:#fff;transform:translateY(-1px)}
@media(max-width:980px){#quickNav{width:100%}.quick-rail{right:12px;bottom:12px}.quick-rail button{width:34px;height:34px;border-radius:11px}.main{padding-bottom:76px}}
