:root {
  color-scheme: dark;
  --bg: #070a10;
  --panel: #101722;
  --panel2: #0c121c;
  --line: #263246;
  --text: #e8eef8;
  --muted: #8d9aaf;
  --red: #ff4d5e;
  --green: #18d28b;
  --gold: #f5b544;
  --blue: #5ca8ff;
  --purple: #b07cff;
  --cyan: #35d6d0;
  --market-up: #FF4D4F;
  --market-down: #00C853;
  --market-flat: #C7CCD6;
}
.auth-card,.profile-card,.admin-shell{width:min(1180px,calc(100vw - 32px));margin:48px auto;padding:28px;border:1px solid #263850;border-radius:10px;background:#0c1420}.auth-card{width:min(460px,calc(100vw - 32px))}.auth-card h1,.profile-card h1,.admin-shell h1{margin:8px 0 22px}.auth-card form{display:grid;gap:14px}.auth-card label{display:grid;gap:6px;color:#8fa1b7}.auth-card input{height:44px;padding:0 12px;border:1px solid #2b3c53;border-radius:7px;background:#08111c;color:#e8eef8}.auth-card .detail-btn{height:46px}.otp-row{display:grid;grid-template-columns:1fr 120px;gap:10px}.otp-row button{margin-top:23px;border:1px solid #36506f;border-radius:7px;background:#111d2b;color:#8ec7ff}.profile-card>div{padding:13px 0;display:flex;justify-content:space-between;border-bottom:1px solid #203149}.profile-card .detail-btn{margin-top:22px;min-height:44px;display:grid;place-items:center}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.admin-stats>div{padding:18px;border:1px solid #263850;background:#0b1420}.admin-stats span,.admin-stats strong{display:block}.admin-stats strong{margin-top:8px;font-size:28px}.admin-row{display:grid;grid-template-columns:1.2fr .6fr .6fr 1fr .6fr 1fr .6fr;gap:10px;padding:12px;border-bottom:1px solid #203149}.admin-row.head{color:#8293aa;font-size:12px}.admin-shell .panel-head{display:flex;justify-content:space-between;align-items:center}

.admin-body{display:grid;grid-template-columns:250px 1fr;min-height:100vh;background:#060b12}.admin-sidebar{position:sticky;top:0;height:100vh;padding:24px 16px;display:flex;flex-direction:column;border-right:1px solid #213149;background:#09121e}.admin-brand{padding:0 10px 22px;border-bottom:1px solid #203149}.admin-brand b,.admin-brand span{display:block}.admin-brand span{margin-top:5px;color:#5ca8ff;font-size:13px}.admin-sidebar nav{display:grid;gap:5px;margin-top:20px}.admin-sidebar nav a{padding:11px 12px;border-radius:6px;color:#9eafc2}.admin-sidebar nav a:hover{background:#142338;color:#fff}.admin-sidebar form{margin-top:auto}.admin-sidebar form button{width:100%;height:40px;border:1px solid #37475d;background:transparent;color:#9aabbe}.admin-main{min-width:0}.admin-main .admin-shell{width:auto;margin:24px}.admin-login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,#13233a,#050a11 60%)}.admin-auth{margin:0}.admin-module-placeholder{margin-top:20px;padding:40px;border:1px dashed #31445d;text-align:center;color:#8294aa}.admin-log-row{display:grid;grid-template-columns:180px 120px 160px 1fr;gap:12px;padding:11px;border-bottom:1px solid #203149}.admin-log-row em{color:#8293aa;font-style:normal}@media(max-width:800px){.admin-body{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto}.admin-sidebar nav{grid-template-columns:repeat(2,1fr)}.admin-main .admin-shell{margin:10px}.admin-row{min-width:850px}.admin-table{overflow:auto}}

/* V6.3 home trading cockpit */
body:has(.cockpit-shell) { overflow-x: hidden; }
main:has(.cockpit-shell) { width: 100%; max-width: none; }
.cockpit-shell {
  width: min(1880px, calc(100vw - 28px));
  margin: 10px auto 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 344px;
  gap: 12px;
  align-items: start;
}

.cockpit-main { min-width: 0; display: grid; gap: 14px; }
.cockpit-panel, .cockpit-section, .cockpit-sidebar section {
  border: 1px solid #22324a;
  border-radius: 8px;
  background: rgba(12,20,32,.94);
  box-shadow: inset 0 1px rgba(255,255,255,.025);
}
.cockpit-section { padding: 16px; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.cockpit-section:hover { border-color: #304766; transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0,0,0,.16); }

.cockpit-hero {
  order: 1;
  height: auto;
  min-height: 180px;
  overflow: visible;
  padding: 20px 22px;
  display: grid;
  grid-template-columns: minmax(280px, .95fr) minmax(500px, 1.8fr);
  gap: 14px;
  align-items: center;
}
.hero-monitor-line { grid-column: 1 / -1; padding: 9px 12px; border-top: 1px solid #203149; color: #8294aa; font-size: 13px; }
.hero-monitor-line b { color: #dbe7f5; }
.cockpit-ai-summary { min-width: 0; display: grid; grid-template-columns: 76px 1fr; gap: 12px; align-items: center; }
.ai-orbit { width: 72px; height: 72px; display: grid; place-items: center; border: 1px solid #365d82; border-radius: 50%; background: #101d2c; box-shadow: inset 0 0 28px rgba(53,214,208,.08), 0 0 20px rgba(92,168,255,.1); }
.ai-orbit span { width: 56px; height: 42px; display: grid; place-items: center; border: 1px solid #5ca8ff; border-radius: 8px; color: #78dcff; background: #13283a; font-weight: 900; box-shadow: 0 0 14px rgba(53,214,208,.22); }
.cockpit-kicker { display: flex; align-items: center; gap: 8px; font-size: 17px; font-weight: 800; }
.cockpit-kicker i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px var(--green); }
.cockpit-kicker small { color: var(--muted); font-size: 13px; font-weight: 400; }
.cockpit-ai-summary h1 { margin: 10px 0 7px; font-size: 24px; letter-spacing: 0; }
.cockpit-ai-summary h1 em { color: var(--green); font-style: normal; }
.market-state-title { display: flex; align-items: baseline; gap: 12px; }
.market-state-title span { color: #8798af; font-size: 16px; font-weight: 500; }
.market-state-title em { font-size: 46px; line-height: 1; }
.hero-action-line { margin-top: 12px; padding: 12px 14px; border-left: 3px solid var(--green); background: rgba(24,210,139,.07); }
.hero-action-line b, .hero-action-line span { display: block; }
.hero-action-line b { color: var(--green); font-size: 17px; }
.hero-action-line span { margin-top: 5px; color: #c5d2e2; font-size: 15px; line-height: 1.5; white-space: normal; }
.cockpit-ai-summary p { margin: 0; color: #cbd8e8; line-height: 1.6; font-size: 15px; }
.cockpit-ai-summary time { display: block; margin-top: 8px; color: var(--muted); font-size: 13px; }
.cockpit-hero-metrics { min-width: 0; display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); }
.cockpit-hero-metrics > div { min-width: 0; min-height: 116px; padding: 14px 13px; display: flex; flex-direction: column; justify-content: center; border-left: 1px solid #1f3046; }
.cockpit-hero-metrics span, .market-cell > span, .performance-metrics span { color: #91a1b7; font-size: 14px; }
.cockpit-hero-metrics strong { display: block; margin: 9px 0 6px; color: #e8f1ff; font-size: 27px; line-height: 1.15; overflow-wrap: anywhere; }
.cockpit-hero-metrics strong.keywords { font-size: 18px; line-height: 1.45; }
.cockpit-hero-metrics small, .market-cell small { color: #75879f; font-size: 12px; }

.positive { color: var(--green) !important; }
.warning { color: var(--gold) !important; }
.danger { color: var(--red) !important; }
.blue { color: #58b8ff !important; }
.market-up { color: var(--market-up) !important; }
.market-down { color: var(--market-down) !important; }
.market-flat { color: var(--market-flat) !important; }
.market-value-group.market-up > *, .market-value-group.market-down > *, .market-value-group.market-flat > * { color: inherit !important; }

.cockpit-heading { min-height: 34px; margin-bottom: 13px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid #1d2a3d; padding-bottom: 10px; }
.cockpit-heading > div { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.cockpit-heading > div > b { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #25bda7; color: #06120f; font-size: 13px; }
.cockpit-heading h2 { margin: 0; font-size: 22px; letter-spacing: 0; }
.cockpit-heading span, .cockpit-heading em, .cockpit-heading a { color: #8293aa; font-size: 14px; font-style: normal; }
.cockpit-heading a:hover { color: #69b5ff; }

.cockpit-market-section { order: 2; height: auto; min-height: 120px; overflow: visible; }
.market-ai-brief { margin: 0 0 12px; padding: 11px 14px; display: flex; align-items: center; gap: 12px; border-left: 3px solid var(--green); background: rgba(24,210,139,.065); color: #aab9cb; font-size: 14px; }
.market-ai-brief b { color: #71dfba; }
.market-ai-brief strong { color: #e7f1fc; }
.market-ai-brief span { line-height: 1.5; }
.market-panorama { height: auto; min-height: 65px; display: grid; grid-template-columns: 1.05fr 1.2fr 1fr 1fr .85fr 1fr 1fr; overflow: visible; }
.market-cell { min-width: 0; height: auto; min-height: 100px; padding: 14px 13px; overflow: visible; border-right: 1px solid #1e2e43; }
.market-cell:last-child { border-right: 0; }
.market-cell strong { display: block; margin-top: 8px; font-size: 23px; }
.market-cell > div { margin-top: 4px; }
.market-cell.featured > div { display: flex; align-items: baseline; gap: 12px; }
.market-cell.featured > div strong { margin: 0; font-size: 34px; color: var(--green); }
.market-cell.featured > div b { color: #dce8f8; }
.market-heat, .breadth-bar { height: 6px; overflow: hidden; border-radius: 3px; background: #172336; }
.market-heat i { display: block; height: 100%; background: linear-gradient(90deg,#2e86ff,#35c759,#ffc533,#ff4d5a); }
.market-stars { font-size: 18px !important; white-space: nowrap; }
.breadth { display: flex; justify-content: space-between; }
.breadth-bar { display: flex; background: var(--green); }
.breadth-bar i { display: block; height: 100%; background: var(--red); }

.change-strip { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); }
.cockpit-change-section { order: 5; height: auto; min-height: 104px; overflow: visible; }
.change-strip > div { min-width: 0; padding: 14px 16px; display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 12px; border-right: 1px solid #1e2e43; }
.change-strip > div:last-child { border-right: 0; }
.change-strip span { color: #a3b1c4; font-size: 16px; }
.change-strip strong { font-size: 30px; }
.change-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 9px; background: rgba(255,255,255,.05); font-style: normal; font-size: 30px; }
.cockpit-summary-line { margin: 10px 8px 2px; color: #9babbe; font-size: 14px; }

.cockpit-recommendations { order: 3; height: auto; min-height: 360px; overflow: visible; }
.cockpit-stock-grid { height: auto; min-height: 304px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; overflow: visible; }
.cockpit-stock-card, .add-custom-stock { min-width: 0; height: auto; min-height: 320px; overflow: visible; border: 1px solid #263850; border-radius: 8px; background: #0d1725; }
.cockpit-stock-card { padding: 20px; cursor: pointer; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.cockpit-stock-card:hover { transform: translateY(-2px); border-color: rgba(255,77,90,.62); box-shadow: 0 12px 28px rgba(0,0,0,.22), 0 0 18px rgba(255,77,90,.07); }
.cockpit-stock-card:focus-visible { outline: 2px solid #5ca8ff; outline-offset: 2px; }
.stock-card-top, .stock-identity, .stock-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.stock-card-top em { padding: 5px 10px; border-radius: 4px; background: rgba(255,77,90,.13); color: #ff7d88; font-size: 14px; font-style: normal; }
.stock-card-top > strong { width: 66px; height: 66px; display: grid; place-items: center; border: 2px solid var(--red); border-radius: 50%; color: var(--red); font-size: 34px; }
.stock-identity { margin-top: 6px; align-items: end; }
.stock-identity h3 { margin: 0 0 5px; font-size: 24px; }
.stock-identity span { color: #8298b2; font-size: 14px; }
.stock-identity > div:last-child { text-align: right; }
.stock-identity > div:last-child b { display: block; font-size: 32px; }
.stock-key-metrics { margin: 10px 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid #1e2e43; border-bottom: 1px solid #1e2e43; }
.stock-key-metrics div { padding: 12px 9px; border-right: 1px solid #1e2e43; }
.stock-key-metrics div:last-child { border: 0; }
.stock-key-metrics span { display: block; color: #7f91a9; font-size: 13px; }
.stock-key-metrics b { display: block; margin-top: 5px; font-size: 17px; }
.cockpit-stock-card p { margin: 7px 0; min-height: 20px; color: #b5c2d3; font-size: 14px; line-height: 1.55; }
.cockpit-stock-card .stock-ai-line { margin: 12px 0 8px; padding: 12px 14px; min-height: 56px; border-left: 3px solid var(--green); background: rgba(24,210,139,.07); color: #e0ebf6; font-size: 16px; line-height: 1.55; white-space: normal; overflow: visible; }
.stock-reason-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 10px; margin-top: 8px; }
.stock-reason-grid > div { min-width: 0; padding: 12px; border: 1px solid #1f3046; border-radius: 6px; background: rgba(255,255,255,.018); }
.stock-reason-grid b, .stock-reason-grid span { display: block; }
.stock-reason-grid b { margin-bottom: 8px; color: #7de0c8; font-size: 15px; }
.stock-reason-grid > div:last-child b { color: var(--gold); }
.stock-reason-grid span { margin-top: 7px; color: #aebdd0; font-size: 14px; white-space: normal; line-height: 1.4; }
.cockpit-stock-card p span { margin-right: 6px; color: #62cbb7; font-weight: 800; }
.cockpit-stock-card p.risk-copy span { color: var(--gold); }
.stock-actions { margin-top: 9px; }
.stock-actions > * { flex: 1; min-height: 46px; display: grid; place-items: center; font-size: 15px; }
.cockpit-add-link { border: 1px solid #36506f; border-radius: 6px; padding: 5px 10px; background: #111c2a; color: #8ec7ff; cursor: pointer; }
.cockpit-add-link:hover { border-color: #5ca8ff; color: #d7ebff; }
.recommend-heading { align-items: center; }
.recommend-heading > div:first-child { flex-wrap: wrap; }
.recommend-heading .recommend-toolbar { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex: 0 0 auto; }
.recommend-toolbar > * { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 7px 12px; border-radius: 6px; white-space: nowrap; font-size: 14px; }
.watch-pool-link { border: 1px solid rgba(245,181,68,.55); background: rgba(245,181,68,.07); color: var(--gold) !important; }
.watch-pool-link:hover { border-color: var(--gold); box-shadow: 0 0 14px rgba(245,181,68,.12); }
.recommend-refresh-button { border: 1px solid #405674; background: #121d2b; color: #c8d5e6; cursor: pointer; }
.recommend-refresh-button:hover { border-color: #6a88ae; color: #fff; }
.recommend-refresh-button:disabled { cursor: wait; opacity: .72; }
.scan-schedule { margin: -2px 0 14px; padding: 10px 12px; display: flex; align-items: center; gap: 22px; border: 1px solid #1d3046; border-radius: 6px; background: rgba(92,168,255,.035); color: #8294ab; font-size: 13px; }
.scan-schedule b { color: #d7e4f4; font-weight: 700; }
.scan-schedule em { color: var(--gold); font-style: normal; }
.scan-schedule span:last-child { color: #70839c; }
.scan-monitor-bar { flex-wrap: wrap; gap: 8px 20px; }
.opportunity-breakdown { margin:-5px 0 14px; display:grid; grid-template-columns:1.4fr repeat(4,1fr); border:1px solid #24374f; border-radius:7px; overflow:hidden; background:#0b1521; }
.opportunity-breakdown > div { padding:11px 14px; border-right:1px solid #203149; }
.opportunity-breakdown > div:last-child { border-right:0; }
.opportunity-breakdown span,.opportunity-breakdown small,.opportunity-breakdown strong,.opportunity-breakdown b { display:block; }
.opportunity-breakdown span { color:#8193aa; font-size:11px; }
.opportunity-breakdown strong { margin-top:3px; color:var(--gold); font-size:25px; }
.opportunity-breakdown b { margin-top:6px; font-size:17px; }
.opportunity-breakdown small { color:#9eb0c5; }
.scan-live-dot { display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 9px var(--green); animation: scanPulse 1.8s ease-in-out infinite; }
@keyframes scanPulse { 50% { opacity: .35; transform: scale(.82); } }
.alternative-observation { margin-top: 18px; padding-top: 18px; border-top: 1px solid #26364b; }
.alternative-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.alternative-title strong, .alternative-title span { display: block; }
.alternative-title strong { color: var(--gold); font-size: 20px; }
.alternative-title span { margin-top: 5px; color: #8798ae; font-size: 14px; }
.alternative-title > b { color: var(--gold); font-size: 22px; }
.alternative-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.alternative-card { min-width: 0; padding: 16px; border: 1px solid #30405a; border-radius: 7px; background: #0d1623; cursor: pointer; transition: border-color .18s ease, transform .18s ease; }
.alternative-card:hover { transform: translateY(-2px); border-color: rgba(245,181,68,.65); }
.alternative-card-head, .alternative-price { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.alternative-card-head em { color: var(--gold); font-size: 12px; font-style: normal; }
.alternative-card-head h3 { margin: 5px 0 3px; font-size: 20px; }
.alternative-card-head span { color: #7f91aa; font-size: 12px; }
.alternative-card-head > strong { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); font-size: 25px; }
.alternative-price { justify-content: flex-start; margin: 13px 0; padding-bottom: 10px; border-bottom: 1px solid #1d2c40; }
.alternative-price b { font-size: 22px; }
.alternative-price span { font-weight: 700; }
.alternative-price em { margin-left: auto; color: #9db0c7; font-style: normal; }
.alternative-distance { color: #9fb0c5; font-size: 14px; }
.alternative-distance b { color: var(--gold); }
.alternative-eta { margin-top: 9px; padding: 9px 10px; display: flex; align-items: center; justify-content: space-between; border-radius: 5px; background: rgba(245,181,68,.06); color: #8e9eb2; font-size: 13px; }
.alternative-eta b { color: var(--gold); }
.alternative-checks { margin: 10px 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.alternative-checks span { font-size: 13px; line-height: 1.35; }
.alternative-checks .passed { color: #76d7b5; }
.alternative-checks .missing { color: #ffb55d; }
.alternative-card > p { min-height: 42px; color: #91a3b9; font-size: 13px; line-height: 1.5; }
.membership-modal { position: fixed; inset: 0; z-index: 1600; display: none; place-items: center; padding: 20px; background: rgba(2,6,12,.76); backdrop-filter: blur(5px); }
.membership-modal.show { display: grid; }
.membership-dialog { position: relative; width: min(460px, 100%); padding: 28px; border: 1px solid rgba(245,181,68,.48); border-radius: 8px; background: #0d1724; box-shadow: 0 24px 70px rgba(0,0,0,.5); }
.membership-dialog > span { color: var(--gold); font-size: 12px; font-weight: 800; }
.membership-dialog h2 { margin: 9px 0 12px; font-size: 24px; }
.membership-dialog p { color: #aab8ca; font-size: 15px; line-height: 1.7; }
.membership-dialog > div { margin-top: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.membership-dialog > div > * { min-height: 44px; display: grid; place-items: center; }
.membership-close { position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; border: 1px solid #35445a; border-radius: 5px; background: transparent; color: #aab8ca; cursor: pointer; }
.cockpit-funnel { order: 3; }
.history-performance-panel { order: 6; grid-column: 1 / -1; }
.compact-hot-board { order: 7; }
#allPools { order: 8; }
.history-links { display: flex; align-items: center; gap: 14px; }
.history-core-row { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); border: 1px solid #26374d; border-radius: 7px; background: #0c1521; }
.history-core-row > div { min-width: 0; padding: 16px 14px; border-right: 1px solid #223249; }
.history-core-row > div:last-child { border-right: 0; }
.history-core-row span, .history-trust-row span { display: block; color: #8b9cb2; font-size: 13px; }
.history-core-row strong { display: block; margin-top: 8px; font-size: 25px; }
.history-period-row { margin-top: 12px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.history-period-row > div { padding: 14px; display: grid; grid-template-columns: auto repeat(3,1fr); align-items: center; gap: 12px; border: 1px solid #203149; border-radius: 6px; background: rgba(255,255,255,.015); }
.history-period-row > div > b { color: var(--gold); font-size: 16px; }
.history-period-row span { color: #8192a9; font-size: 13px; }
.history-period-row span strong { display: block; margin-top: 4px; color: #dce7f5; font-size: 16px; }
.history-trust-row { margin-top: 12px; display: grid; grid-template-columns: 1.4fr repeat(6,1fr); border: 1px solid rgba(245,181,68,.3); border-radius: 7px; background: rgba(245,181,68,.035); }
.history-trust-row > div { min-width: 0; padding: 14px; border-right: 1px solid #293447; }
.history-trust-row > div:last-child { border-right: 0; }
.history-trust-row strong { display: block; margin-top: 7px; font-size: 20px; }
.history-trust-title > span { color: var(--gold); font-weight: 800; }
.history-trust-title > strong { color: var(--gold); font-size: 30px; }
.history-trust-title small { color: #7e8da1; }
.history-detail-grid { margin-top: 12px; display: grid; grid-template-columns: 1.45fr 1fr; gap: 12px; }
.history-cases, .history-ai-summary { padding: 15px; border: 1px solid #22344c; border-radius: 7px; background: #0c1521; }
.history-subhead { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #203047; padding-bottom: 10px; }
.history-subhead h3, .history-ai-summary h3 { margin: 0; font-size: 17px; }
.history-subhead a { color: #72baff; font-size: 13px; }
.history-cases > a { min-height: 42px; display: grid; grid-template-columns: 30px 1.2fr 1fr 1fr .8fr .8fr; align-items: center; gap: 8px; border-bottom: 1px solid #19283b; font-size: 13px; }
.history-cases > a i { color: var(--gold); font-style: normal; }
.history-cases > a span { color: #899ab0; }
.history-cases > a em { color: var(--gold); font-style: normal; }
.history-cases > p { color: #8192a8; line-height: 1.6; }
.history-ai-summary p { margin: 10px 0; color: #aab8c8; font-size: 14px; }
.history-ai-summary small { display: block; margin-top: 14px; padding-top: 12px; border-top: 1px solid #203047; color: #73859c; line-height: 1.5; }
.official-history-panel { margin: 16px 0; padding: 18px; }
.official-history-panel .panel-head > div span { display: block; margin-top: 4px; color: #8394aa; font-size: 13px; }
.official-history-panel .panel-head > a.disabled { opacity: .6; }
.official-history-summary { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); border: 1px solid #26364c; border-radius: 7px; background: #0c1521; }
.official-history-summary > div { padding: 15px; border-right: 1px solid #223249; }
.official-history-summary > div:last-child { border-right: 0; }
.official-history-summary span { color: #8293a9; font-size: 13px; }
.official-history-summary strong { display: block; margin-top: 7px; font-size: 23px; }
.history-filters { margin: 12px 0; display: flex; align-items: end; gap: 10px; }
.history-filters label { display: grid; gap: 5px; color: #8798ae; font-size: 12px; }
.history-filters select { min-width: 150px; height: 38px; padding: 0 10px; border: 1px solid #2a3a50; border-radius: 6px; background: #0b1420; color: #dce6f3; }
.history-filters > span { color: #788aa1; font-size: 12px; }
.history-member-note { margin: 12px 0; padding: 11px 13px; border: 1px solid rgba(245,181,68,.28); border-radius: 6px; color: #b39a67; font-size: 13px; }
.history-equity-chart { height: 280px; border: 1px solid #203149; border-radius: 6px; }
.history-chart-empty { padding: 28px; border: 1px dashed #2b3b51; border-radius: 6px; color: #7f91a7; text-align: center; }
.official-history-head, .official-history-table > a { display: grid; grid-template-columns: 1fr 1.25fr 1fr .8fr .8fr .8fr .8fr; align-items: center; gap: 10px; }
.official-history-head { padding: 10px 12px; color: #7f90a7; font-size: 12px; border-bottom: 1px solid #26364b; }
.official-history-table > a { min-height: 52px; padding: 8px 12px; border-bottom: 1px solid #1b2a3e; font-size: 13px; }
.official-history-table > a:hover { background: rgba(92,168,255,.04); }
.official-history-table > a span:nth-child(2) b, .official-history-table > a span:nth-child(2) small { display: block; }
.official-history-table > a span:nth-child(2) small { margin-top: 3px; color: #72839a; }
.official-history-table > p { padding: 22px; color: #8293a9; text-align: center; }
.history-methodology { margin-bottom: 24px; padding: 18px; }
.history-methodology > div:last-child { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.history-methodology p { margin: 0; padding: 14px; border: 1px solid #22334a; border-radius: 6px; color: #9aaabd; line-height: 1.6; }
.cockpit-funnel { order: 2; min-height: 108px; }
.selection-funnel { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: 8px; }
.selection-funnel > div { min-width: 0; padding: 8px 12px; border: 1px solid #22354d; border-radius: 6px; background: #0f1927; }
.selection-funnel > div.final { border-color: rgba(255,77,90,.55); background: rgba(255,77,90,.06); }
.selection-funnel span, .selection-funnel small, .selection-funnel strong { display: block; }
.selection-funnel span { color: #8192a8; font-size: 10px; }
.selection-funnel strong { margin: 3px 0; font-size: 20px; }
.selection-funnel small { color: #63758e; font-size: 9px; }
.selection-funnel > i { color: #526b88; font-style: normal; }
.add-custom-stock { display: flex; flex-direction: column; align-items: center; justify-content: center; color: #8091a9; cursor: pointer; border-style: dashed; }
.add-custom-stock:hover { border-color: #5ca8ff; color: #cfe5ff; background: rgba(92,168,255,.05); }
.add-custom-stock span { font-size: 36px; font-weight: 300; }
.add-custom-stock b { margin: 8px 0 5px; }
.add-custom-stock small { font-size: 11px; }
.cockpit-empty { min-height: 160px; display: grid; place-items: center; color: var(--muted); }

.watch-preview-table { min-width: 0; }
.table-head, .table-row { display: grid; grid-template-columns: 1.35fr .55fr .75fr .8fr .9fr .65fr .8fr; align-items: center; gap: 8px; }
.table-head { padding: 9px 10px; color: #8091a8; font-size: 14px; border-bottom: 1px solid #1f3045; }
.table-row { min-height: 52px; padding: 7px 10px; border-bottom: 1px solid #17263a; font-size: 15px; }
.table-row:last-child { border-bottom: 0; }
.table-row span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.table-row span:first-child b, .table-row span:first-child small { display: block; }
.table-row span:first-child small { margin-top: 2px; color: #677a95; }
.table-row em { color: #55b6ff; font-style: normal; }
.table-row a { color: #ff6573; }
.performance-metrics { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); }
.performance-metrics > div { padding: 9px 10px; border-right: 1px solid #1f3045; }
.performance-metrics > div:last-child { border: 0; }
.performance-metrics strong { display: block; margin-top: 7px; font-size: 23px; }
.performance-chart { height: 94px; margin-top: 2px; }
.performance-periods { margin-top: 8px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid #1f3045; border-bottom: 1px solid #1f3045; }
.performance-periods div { padding: 6px; border-right: 1px solid #1f3045; }
.performance-periods div:last-child { border: 0; }
.performance-periods span, .performance-periods b, .performance-periods small { display: block; }
.performance-periods span { color: #788aa2; font-size: 9px; }
.performance-periods b { margin-top: 3px; color: #61d8a6; }
.performance-periods small { margin-top: 2px; color: #7d8fa7; font-size: 8px; }
.truth-note { display: block; margin-top: -3px; color: #7688a0; text-align: center; }

.ranking-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.ranking-columns h3, .review-panel h3 { margin: 0 0 7px; color: #9cafc5; font-size: 12px; }
.ranking-columns a, .ranking-columns > div > div { min-height: 29px; padding: 4px 5px; display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 5px; border-bottom: 1px solid #17263a; font-size: 11px; }
.ranking-columns i { color: var(--gold); font-style: normal; }
.ranking-columns span { color: #ff6573; }
.review-numbers { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin-bottom: 12px; }
.review-numbers > div { padding: 5px 7px; border-right: 1px solid #1f3045; }
.review-numbers > div:last-child { border: 0; }
.review-numbers span { display: block; color: #708198; font-size: 10px; }
.review-numbers b { display: block; margin-top: 5px; font-size: 17px; }
.review-panel p { color: #a8b7ca; font-size: 12px; line-height: 1.55; }
.review-panel ul { margin: 8px 0 0; padding: 0; list-style: none; }
.review-panel li { margin: 5px 0; color: #91a3ba; font-size: 11px; }

.cockpit-sidebar { position: sticky; top: 68px; display: grid; gap: 10px; max-height: calc(100vh - 78px); overflow-y: auto; scrollbar-width: thin; }
.cockpit-sidebar section { padding: 14px; }
.sidebar-title { padding-bottom: 8px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #1d2c40; }
.sidebar-title h2 { margin: 0; font-size: 18px; }
.sidebar-title > b { min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: 10px; background: var(--red); font-size: 10px; }
#cockpitAlertList a { padding: 9px 2px; display: grid; grid-template-columns: 8px 1fr; gap: 9px; border-bottom: 1px solid #17263a; }
#cockpitAlertList i { width: 7px; height: 7px; margin-top: 5px; border-radius: 50%; background: currentColor; }
#cockpitAlertList b, #cockpitAlertList span { display: block; }
#cockpitAlertList b { font-size: 16px; }
#cockpitAlertList span, .sidebar-empty { margin-top: 5px; color: #8fa0b6; font-size: 14px; line-height: 1.5; }
.reminder-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin-top: 9px; }
.reminder-grid div { padding: 8px 4px; text-align: center; background: #111d2d; border-radius: 6px; }
.reminder-grid b, .reminder-grid span { display: block; }
.reminder-grid b { color: #64b8ff; }
.reminder-grid b { font-size: 20px; }
.reminder-grid span { margin-top: 5px; color: #8294ac; font-size: 13px; }
.recent-change-list a { padding: 8px 1px; display: grid; grid-template-columns: 1fr auto; gap: 3px 8px; border-bottom: 1px solid #17263a; }
.recent-change-list span { font-size: 16px; }
.recent-change-list b { color: var(--gold); font-size: 15px; }
.recent-change-list small { font-size: 13px; }
.recent-change-list small { grid-column: 1/-1; color: #71839b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.countdown-focus { padding-top: 10px; text-align: center; }
.countdown-focus strong { display: block; color: var(--gold); font-size: 30px; }
.countdown-focus span { display: block; margin-top: 5px; font-weight: 800; }
.countdown-focus p { color: #8fa1b8; font-size: 14px; }
.countdown-focus em { display: block; margin-top: 7px; color: #77d7b6; font-size: 13px; font-style: normal; }
.countdown-focus a { color: #63b7ff; font-size: 14px; }
.sidebar-topics span, .sidebar-topics a { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid #17263a; }
.sidebar-topics a:hover { color: #73baff; }
.sidebar-topics b { font-size: 15px; }
.sidebar-topics em { color: var(--gold); font-size: 14px; font-style: normal; }
.confidence-ranking a { min-height: 31px; display: grid; grid-template-columns: 45px 1fr auto; align-items: center; gap: 8px; border-bottom: 1px solid #17263a; }
.confidence-ranking i { color: var(--gold); font-size: 9px; font-style: normal; }
.confidence-ranking b { font-size: 15px; }
.confidence-ranking span { color: var(--red); font-size: 17px; font-weight: 800; }
.scan-status { display: grid; gap: 6px; padding-top: 8px; }
.scan-status span { display: flex; justify-content: space-between; color: #91a1b6; font-size: 14px; }
.scan-status b { color: #d7e5f3; }
.watch-reminder-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding-top:9px; }
.watch-reminder-grid div { padding:10px 6px; text-align:center; border:1px solid #203249; border-radius:6px; background:#0d1825; }
.watch-reminder-grid strong,.watch-reminder-grid span { display:block; }
.watch-reminder-grid strong { color:#64b8ff; font-size:22px; }
.watch-reminder-grid span { margin-top:4px; color:#8496ad; font-size:12px; }
.sidebar-empty { margin:0; padding:14px 2px 4px; }
.daily-return-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; }
.daily-return-list a { min-width:0; padding:14px; display:grid; grid-template-columns:auto 1fr; gap:7px 10px; border:1px solid #263b55; border-radius:8px; background:linear-gradient(145deg,#0d1825,#0a121d); }
.daily-return-list i { grid-row:1/4; color:var(--gold); font-size:12px; font-style:normal; }
.daily-return-list div,.daily-return-list b,.daily-return-list small { min-width:0; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.daily-return-list small { margin-top:5px; color:#7e90a8; font-size:11px; }
.daily-return-list strong { font-size:24px; }
.daily-return-list em { color:var(--gold); font-size:11px; font-style:normal; letter-spacing:1px; }
.completed-trade-list { border:1px solid #21344b; border-radius:7px; overflow:hidden; }
.completed-trade-list .head,.completed-trade-list a { padding:10px 14px; display:grid; grid-template-columns:1.4fr .7fr .6fr .5fr; gap:12px; align-items:center; }
.completed-trade-list .head { color:#8193aa; background:#0a131f; font-size:12px; }
.completed-trade-list a { border-top:1px solid #1a2b40; }
.completed-trade-list em { font-style:normal; }
.history-income-stats { margin-top:10px; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:7px; }
.history-income-stats div { padding:11px; border:1px solid #203249; border-radius:6px; background:#0c1622; }
.history-income-stats span,.history-income-stats b { display:block; }
.history-income-stats span { color:#8294aa; font-size:11px; }
.history-income-stats b { margin-top:6px; font-size:18px; }
.monitoring-notice { padding: 10px 2px 2px; }
.monitoring-notice b, .monitoring-notice span, .monitoring-notice small { display: block; }
.monitoring-notice b { margin: 8px 0 5px; font-size: 14px; }
.monitoring-notice span, .monitoring-notice small { color: #8192a8; font-size: 12px; line-height: 1.6; }
.compact-hot-board { order: 7; }
.compact-hot-list { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.compact-hot-list a { min-width: 0; padding: 12px; display: grid; grid-template-columns: 26px 1fr; gap: 4px 8px; border: 1px solid #203249; border-radius: 6px; background: #0c1521; }
.compact-hot-list i { grid-row: 1 / 4; color: var(--gold); font-style: normal; font-size: 18px; }
.compact-hot-list b, .compact-hot-list span, .compact-hot-list strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.compact-hot-list span { color: #8293aa; font-size: 12px; }
.compact-hot-list strong { font-size: 13px; }
.floating-scan-button { position: fixed; right: 22px; bottom: 22px; z-index: 15; width: 44px; height: 44px; border: 1px solid #36506f; border-radius: 50%; color: #9cc7f5; background: #101b2a; cursor: pointer; box-shadow: 0 8px 25px rgba(0,0,0,.3); }

@media (max-width: 1200px) {
  .cockpit-shell { grid-template-columns: minmax(0,1fr) 310px; }
  .cockpit-stock-grid { height: auto; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }
  .cockpit-recommendations { height: auto; overflow: visible; }
  .cockpit-stock-card, .add-custom-stock { height: auto; min-height: 320px; }
}
@media (max-width: 1120px) {
  .cockpit-shell { grid-template-columns: 1fr; }
  .cockpit-sidebar { position: static; max-height: none; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .daily-return-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .history-income-stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .market-panorama { height: auto; grid-template-columns: repeat(3,minmax(0,1fr)); overflow: visible; }
  .market-cell { height: auto; min-height: 110px; border-bottom: 1px solid #1e2e43; }
  .cockpit-hero, .cockpit-market-section, .cockpit-change-section { height: auto; overflow: visible; }
  .selection-funnel { grid-template-columns: repeat(5,minmax(0,1fr)); }
  .selection-funnel > i { display: none; }
  .cockpit-hero { grid-template-columns: 1fr; }
  .compact-hot-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .recommend-heading { align-items: flex-start; flex-direction: column; }
  .recommend-heading .recommend-toolbar { width: 100%; justify-content: flex-start; }
  .alternative-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .history-core-row { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .history-core-row > div { border-bottom: 1px solid #223249; }
  .history-trust-row { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .history-detail-grid { grid-template-columns: 1fr; }
  .official-history-summary { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .official-history-head, .official-history-table > a { grid-template-columns: 1fr 1.2fr .8fr .8fr; }
  .official-history-head span:nth-child(3), .official-history-head span:nth-child(5), .official-history-head span:nth-child(6),
  .official-history-table > a span:nth-child(3), .official-history-table > a span:nth-child(5), .official-history-table > a span:nth-child(6) { display: none; }
  .scan-schedule { flex-wrap: wrap; gap: 8px 18px; }
  .scan-schedule span:last-child { width: 100%; margin-left: 0; }
}
@media (max-width: 760px) {
  .cockpit-shell { width: calc(100vw - 16px); margin-top: 8px; }
  .cockpit-hero { padding: 12px; }
  .cockpit-ai-summary { grid-template-columns: 62px 1fr; }
  .ai-orbit { width: 58px; height: 58px; }
  .ai-orbit span { width: 42px; height: 32px; font-size: 12px; }
  .cockpit-kicker small { display: none; }
  .cockpit-ai-summary h1 { font-size: 18px; }
  .cockpit-hero-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cockpit-hero-metrics > div { min-height: 74px; border-bottom: 1px solid #1f3046; }
  .market-panorama, .change-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .market-cell, .change-strip > div { border-bottom: 1px solid #1e2e43; }
  .cockpit-stock-grid, .cockpit-sidebar { grid-template-columns: 1fr; }
  .daily-return-list { grid-template-columns:1fr; }
  .history-income-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .completed-trade-list .head,.completed-trade-list a { grid-template-columns:1.2fr .7fr .6fr; }
  .completed-trade-list .head span:last-child,.completed-trade-list a em { display:none; }
  .stock-reason-grid { grid-template-columns: 1fr; }
  .selection-funnel { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cockpit-stock-card, .add-custom-stock { min-height: 230px; }
  .table-head, .table-row { grid-template-columns: 1.25fr .55fr .75fr .75fr; }
  .table-head span:nth-child(5), .table-head span:nth-child(6), .table-head span:nth-child(7),
  .table-row span:nth-child(5), .table-row span:nth-child(6), .table-row span:nth-child(7) { display: none; }
  .performance-metrics, .review-numbers { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ranking-columns { grid-template-columns: 1fr; }
  .cockpit-heading span { display: none; }
  .recommend-heading .recommend-toolbar { display: grid; grid-template-columns: 1fr 1fr; }
  .recommend-toolbar .recommend-refresh-button { grid-column: 1 / -1; }
  .scan-schedule { display: grid; }
  .scan-schedule span { display: block !important; }
  .alternative-grid { grid-template-columns: 1fr; }
  .alternative-checks { grid-template-columns: 1fr; }
  .history-core-row, .history-trust-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .history-period-row { grid-template-columns: 1fr; }
  .history-period-row > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .history-cases > a { grid-template-columns: 24px 1fr auto; }
  .history-cases > a span, .history-cases > a em { display: none; }
  .compact-hot-list { grid-template-columns: 1fr; }
  .official-history-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .history-filters { align-items: stretch; flex-direction: column; }
  .history-filters select { width: 100%; }
  .history-methodology > div:last-child { grid-template-columns: 1fr; }
  .floating-scan-button { right: 12px; bottom: 12px; }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: radial-gradient(circle at 12% -10%, rgba(92,168,255,.18), transparent 30%), var(--bg);
  color: var(--text);
  font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
}
a { color: inherit; text-decoration: none; }
main { width: min(1480px, calc(100vw - 24px)); margin: 0 auto; }
.red { color: var(--market-up); }
.green { color: var(--market-down); }
.muted { color: var(--muted); }

.terminal-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(7,10,16,.92);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
}
.header-inner {
  width: min(1480px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 14px 0;
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 18px;
  align-items: center;
}
.terminal-brand { display: flex; align-items: center; gap: 10px; }
.brand-mark {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--red), var(--gold));
  color: #14090a;
  font-weight: 900;
}
.search-bar { position: relative; display: grid; grid-template-columns: 1fr 104px; gap: 10px; }
.search-bar input {
  height: 44px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: #0b111b;
  color: var(--text);
  padding: 0 14px;
  font-size: 15px;
  outline: none;
}
.search-bar button, .primary-btn, .detail-btn, .ghost-btn {
  border: 0;
  border-radius: 8px;
  background: var(--red);
  color: white;
  font-weight: 800;
  cursor: pointer;
}
.ghost-btn {
  background: transparent;
  border: 1px solid var(--line);
  color: var(--text);
  min-height: 38px;
  padding: 0 12px;
}
.ghost-btn.small { min-height: 30px; font-size: 12px; }
.watch-add.is-added, .watch-add.is-added:disabled {
  border-color: rgba(24,210,139,.42);
  background: rgba(24,210,139,.08);
  color: #65ddb0;
  cursor: default;
  opacity: 1;
}
.watch-management { min-width: 178px; display: grid; gap: 8px; }
.watch-management .ghost-btn { min-height: 44px; padding: 8px 12px; white-space: nowrap; }
.watch-management .watch-remove-direct { border-color: rgba(255,77,94,.44); color: #ff8792; }
.watch-management .watch-remove-direct:hover { border-color: var(--red); background: rgba(255,77,94,.08); }
.suggest-box {
  position: absolute;
  left: 0;
  right: 114px;
  top: 50px;
  display: none;
  z-index: 30;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #0b111b;
  box-shadow: 0 18px 38px rgba(0,0,0,.35);
  overflow: hidden;
}
.suggest-box.show { display: block; }
.suggest-box a {
  display: flex;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(38,50,70,.72);
}
.suggest-box a:hover { background: rgba(92,168,255,.08); }
.suggest-box strong { color: var(--gold); }
.suggest-box span { color: var(--text); }

.page-title, .stock-hero {
  padding: 20px 0 12px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: end;
}
h1 { margin: 0; font-size: 34px; }
.page-title p, .stock-hero p { color: var(--muted); margin: 8px 0 0; }
.primary-btn { height: 42px; padding: 0 18px; }

.stat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 14px;
}
.stat-card, .panel, .stock-card {
  background: linear-gradient(180deg, rgba(17,24,36,.98), rgba(10,16,25,.98));
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 14px 32px rgba(0,0,0,.22);
}
.stat-card { padding: 16px; }
.stat-card span { display: block; color: var(--muted); font-size: 13px; }
.stat-card strong { display: block; margin-top: 8px; font-size: 18px; }

.topic-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  padding: 12px 0 18px;
}
.topic-strip span { color: var(--muted); }
.topic-strip b {
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  font-size: 14px;
}
.topic-red { color: var(--red); }
.topic-blue { color: var(--blue); }
.topic-gold { color: var(--gold); }
.topic-green { color: var(--green); }
.topic-purple { color: var(--purple); }
.topic-cyan { color: var(--cyan); }

.terminal-section { margin-bottom: 18px; }
.section-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 10px 0 14px;
}
.section-head h2 { margin: 0; font-size: 22px; }
.section-head span, .panel-head span { color: var(--muted); font-size: 13px; }
.hero-dashboard {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 16px;
}
.emotion-card {
  background: linear-gradient(180deg, rgba(22,31,48,.98), rgba(10,16,25,.98));
  border: 1px solid var(--line);
  border-radius: 12px;
  min-height: 280px;
}
.no-border { border-bottom: 0; }
.emotion-score {
  padding: 6px 18px 0;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
}
.emotion-score strong { font-size: 30px; color: var(--gold); }
.emotion-score em { font-size: 54px; color: var(--red); font-style: normal; font-weight: 900; }
.emotion-score span { grid-column: 2; color: var(--muted); text-align: right; }
.mini-chart { height: 150px; }
.market-matrix {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.market-matrix div {
  padding: 18px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--panel);
}
.market-matrix span { display: block; color: var(--muted); font-size: 13px; }
.market-matrix strong { display: block; margin-top: 10px; font-size: 24px; }

.stock-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 16px;
}
.stock-card { padding: 18px; display: grid; gap: 14px; }
.card-head, .stock-hero, .hero-quotes, .quote-line {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}
.stock-card h2 { margin: 0; font-size: 22px; }
.stock-card p { margin: 6px 0 0; color: var(--muted); }
.score-ring {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  border: 3px solid rgba(255,77,94,.88);
  display: grid;
  place-items: center;
  box-shadow: 0 0 22px rgba(255,77,94,.22);
  flex: 0 0 auto;
}
.score-ring strong { font-size: 24px; line-height: 1; color: var(--red); }
.score-ring span { font-size: 11px; color: var(--muted); margin-top: -18px; }
.score-ring.large { width: 104px; height: 104px; }
.score-ring.large strong { font-size: 34px; }
.quote-line { display: grid; grid-template-columns: repeat(3, 1fr); }
.quote-line div, .plan-grid div, .kv-grid div {
  padding: 12px;
  border: 1px solid rgba(38,50,70,.78);
  border-radius: 10px;
  background: var(--panel2);
}
.quote-line span, .plan-grid span, .kv-grid span { display: block; color: var(--muted); font-size: 12px; }
.quote-line strong, .plan-grid strong, .kv-grid strong { display: block; margin-top: 6px; }
.tag-row, .compact-list, .risk-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.tag-row span {
  padding: 6px 9px;
  border: 1px solid rgba(92,168,255,.34);
  border-radius: 999px;
  color: #bcd7ff;
  font-size: 13px;
}
.compact-list li { color: #dfe7f2; font-size: 14px; }
.risk-list li { color: var(--gold); font-size: 13px; }
.detail-btn { display: grid; place-items: center; height: 38px; margin-top: 2px; }
.card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.score-breakdown {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
}
.score-breakdown.vertical { grid-template-columns: 1fr; padding: 0 16px 16px; }
.score-breakdown div {
  padding: 8px;
  border: 1px solid rgba(38,50,70,.78);
  border-radius: 8px;
  background: rgba(255,255,255,.025);
}
.score-breakdown span { display: block; color: var(--muted); font-size: 12px; }
.score-breakdown b { display: block; margin-top: 4px; color: var(--gold); }
.split-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.rank-list, .reason-list, .watch-list { padding: 14px; display: grid; gap: 10px; }
.rank-list a, .reason-list a, .watch-list div {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(38,50,70,.72);
  border-radius: 10px;
  background: var(--panel2);
}
.reason-list a { grid-template-columns: 120px 1fr; }
.watch-list div { grid-template-columns: minmax(150px, 1.4fr) 72px 86px 82px 68px 42px 64px 84px; }
.watch-stock-link {
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
.watch-stock-link strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.watch-stock-link span, .watch-list small {
  display: block;
  color: var(--muted);
  font-size: 12px;
}
.watch-list small.red { color: var(--red); }
.watch-list small.green { color: var(--green); }
.rank-list span { color: var(--gold); }
.rank-list em, .watch-list em, .watch-list i { color: var(--red); font-style: normal; }
.empty-state { color: var(--muted); padding: 14px; margin: 0; }
.history-grid {
  padding: 16px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.history-card {
  border: 1px solid rgba(38,50,70,.72);
  border-radius: 10px;
  padding: 14px;
  background: var(--panel2);
}
.history-card h3 { margin: 0 0 10px; color: var(--gold); }
.history-card div {
  display: flex;
  justify-content: space-between;
  padding: 7px 0;
  border-top: 1px solid rgba(38,50,70,.5);
}
.history-card span { color: var(--muted); }

.back-link { color: var(--blue); font-size: 14px; }
.hero-quotes { align-items: stretch; }
.hero-quotes > div:not(.score-ring) {
  min-width: 120px;
  padding: 14px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: var(--panel);
}
.hero-quotes span { color: var(--muted); font-size: 12px; }
.hero-quotes strong { display: block; margin-top: 8px; font-size: 22px; }

.detail-layout {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.span-2 { grid-column: span 2; }
.panel { min-width: 0; }
.panel-head {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.panel-head h2 { margin: 0; font-size: 17px; }
.panel-head.compact { padding: 9px 12px; }
.panel-head.compact h2 { font-size: 15px; }
.chart { width: 100%; }
.small-chart { height: 280px; }
.medium-chart { height: 340px; }
.large-chart { height: 420px; }
.compact-chart { height: 220px; }
.compact-kline { height: 520px; }
.conclusion-box, .logic-columns, .risk-lights, .news-list { padding: 16px; }
.conclusion-box strong { color: var(--gold); font-size: 26px; }
.conclusion-box p { color: #d9e2ef; line-height: 1.7; }
.logic-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.logic-columns h3 { margin: 0 0 8px; color: var(--gold); }
.logic-columns p { margin: 8px 0; color: #dfe7f2; }
.risk-lights { display: grid; gap: 10px; }
.risk-lights div {
  display: grid;
  grid-template-columns: 16px 78px 1fr;
  gap: 10px;
  align-items: center;
}
.light { width: 12px; height: 12px; border-radius: 50%; display: inline-block; }
.green-light { background: var(--green); box-shadow: 0 0 14px rgba(24,210,139,.5); }
.yellow-light { background: var(--gold); box-shadow: 0 0 14px rgba(245,181,68,.5); }
.red-light { background: var(--red); box-shadow: 0 0 14px rgba(255,77,94,.5); }
.risk-lights em { color: var(--muted); font-style: normal; }
.plan-grid, .kv-grid { padding: 16px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.trade-plan {
  padding: 16px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.trade-plan div {
  padding: 12px;
  border: 1px solid rgba(38,50,70,.78);
  border-radius: 10px;
  background: var(--panel2);
}
.trade-plan span { display: block; color: var(--muted); font-size: 12px; }
.trade-plan strong { display: block; margin-top: 6px; font-size: 18px; }
.score-total { padding: 16px; display: grid; place-items: center; }
.score-total strong { font-size: 54px; color: var(--red); line-height: 1; }
.score-total span { color: var(--muted); margin-top: 8px; }
.bar-line { height: 9px; border-radius: 999px; background: #1c2635; overflow: hidden; }
.bar-line i { display: block; height: 100%; background: var(--red); }
.bar-line.down i { background: var(--green); }
.news-list { display: grid; gap: 10px; }
.news-list div { border-bottom: 1px solid rgba(38,50,70,.72); padding-bottom: 10px; }
.news-list span { color: var(--gold); font-size: 12px; }
.news-list p { margin: 5px 0 0; line-height: 1.5; color: #dfe7f2; }
.footer { color: var(--muted); text-align: center; padding: 30px 16px 42px; font-size: 13px; }
.skeleton-mask {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  place-content: center;
  gap: 12px;
  text-align: center;
  background: rgba(7,10,16,.94);
  transition: opacity .22s ease, visibility .22s ease;
}
.skeleton-mask.hide { opacity: 0; visibility: hidden; }
.loader-ring {
  width: 48px;
  height: 48px;
  margin: 0 auto;
  border-radius: 50%;
  border: 4px solid rgba(92,168,255,.25);
  border-top-color: var(--red);
  animation: spin .8s linear infinite;
}
.skeleton-mask strong { font-size: 22px; }
.skeleton-mask span, .error-state p { color: var(--muted); }
.error-state {
  min-height: 60vh;
  display: grid;
  place-content: center;
  gap: 14px;
  text-align: center;
}
.error-state .detail-btn { width: 150px; margin: 0 auto; }
@keyframes spin { to { transform: rotate(360deg); } }

@media (max-width: 980px) {
  main, .header-inner { width: min(100vw - 20px, 760px); }
  .header-inner { grid-template-columns: 1fr; }
  .stat-grid, .detail-layout { grid-template-columns: 1fr; }
  .hero-dashboard, .split-layout { grid-template-columns: 1fr; }
  .market-matrix { grid-template-columns: repeat(2, 1fr); }
  .span-2 { grid-column: auto; }
  .page-title, .stock-hero, .hero-quotes { display: grid; }
  .quote-line { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stock-card-grid { grid-template-columns: 1fr; }
  .score-breakdown, .trade-plan, .history-grid { grid-template-columns: 1fr; }
  .watch-list div { grid-template-columns: 1fr 70px; }
  h1 { font-size: 28px; }
}

.pro-topbar, .compact-stock-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 14px 0 10px;
}
.pro-topbar h1, .compact-stock-head h1 { margin: 0; font-size: 26px; }
.pro-topbar p { margin: 4px 0 0; color: var(--muted); }
.watch-entry {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  color: var(--gold);
  background: rgba(245,181,68,.08);
}
.leader-grid {
  display: grid;
  grid-template-columns: 1.05fr 1.3fr 1fr 1.15fr;
  gap: 12px;
  margin-bottom: 14px;
}
.leader-card, .emotion-lamp-card, .strategy-card, .hit-card, .watch-card-top {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(17,24,36,.98), rgba(10,16,25,.98));
  box-shadow: 0 8px 18px rgba(0,0,0,.16);
}
.leader-card { padding: 14px; display: grid; gap: 8px; }
.leader-card span, .hit-card span { color: var(--muted); font-size: 13px; }
.leader-card strong { font-size: 28px; color: var(--red); }
.leader-card em, .hit-card em { color: var(--muted); font-style: normal; }
.leader-card div { display: flex; flex-wrap: wrap; gap: 8px; }
.leader-card b {
  border: 1px solid rgba(92,168,255,.26);
  border-radius: 999px;
  padding: 5px 8px;
  color: #cfe2ff;
  font-size: 12px;
}
.emotion-lamps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
  padding: 8px 12px 10px;
}
.emotion-lamps div {
  display: grid;
  place-items: center;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
}
.emotion-lamps i { width: 100%; height: 8px; border-radius: 999px; background: #2a3344; }
.emotion-lamps .gray i { background: #6c7484; }
.emotion-lamps .blue i { background: var(--blue); }
.emotion-lamps .green i { background: var(--green); }
.emotion-lamps .yellow i { background: var(--gold); }
.emotion-lamps .red i { background: var(--red); }
.emotion-lamps .active { color: var(--text); font-weight: 800; }
.emotion-lamps .active i { box-shadow: 0 0 16px currentColor; }
.emotion-mini { display: flex; gap: 8px; padding: 0 12px 10px; color: var(--muted); font-size: 12px; }
.strategy-card .tight-list { padding: 8px 12px 2px; }
.strategy-card .tag-row { padding: 8px 12px 12px; }
.hit-card { padding: 14px; }
.hit-card strong { display: block; margin: 8px 0; font-size: 30px; color: var(--gold); }

.watch-card-top {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr;
}

.watch-card-top .panel-head {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(38,50,70,.72);
}

.watch-card-top .watch-list {
  padding: 10px;
  align-content: start;
  max-height: 320px;
  overflow: auto;
}

.watch-card-top .watch-list div {
  grid-template-columns: 1fr auto auto;
  gap: 8px;
  padding: 10px;
}

.watch-card-top .watch-stock-link {
  grid-column: 1 / 2;
}

.watch-card-top .watch-list em {
  justify-self: end;
}

.watch-card-top .watch-list small {
  font-size: 11px;
}

.watch-card-top .watch-list small:first-of-type {
  grid-column: 2 / 4;
  justify-self: end;
}

.watch-card-top .watch-list small:nth-of-type(2) {
  grid-column: 1 / 2;
}

.watch-card-top .watch-list b,
.watch-card-top .watch-list i {
  justify-self: end;
}

.watch-card-top .watch-list mark {
  grid-column: 1 / 3;
  width: 100%;
  text-align: center;
}

.watch-card-top .watch-list button {
  justify-self: stretch;
}
.section-head.compact { margin: 4px 0 10px; }
.recommend-compact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(285px, 1fr));
  gap: 12px;
}
.recommend-card {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(17,24,36,.98), rgba(10,16,25,.98));
  padding: 12px;
  display: grid;
  gap: 9px;
  box-shadow: 0 8px 18px rgba(0,0,0,.14);
}
.rec-head, .rec-main, .rec-price, .space-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.rec-head em {
  font-style: normal;
  background: rgba(255,77,94,.13);
  color: var(--red);
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 12px;
}
.risk-low, .risk-mid, .risk-high {
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 12px;
  white-space: nowrap;
}
.risk-low { color: var(--green); background: rgba(24,210,139,.12); }
.risk-mid { color: var(--gold); background: rgba(245,181,68,.12); }
.risk-high { color: var(--red); background: rgba(255,77,94,.12); }
.rec-main h2 { margin: 0; font-size: 19px; }
.rec-main p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.rec-main > strong { color: var(--red); font-size: 30px; }
.rec-price b { font-size: 18px; }
.rec-price span, .space-row span { color: var(--muted); font-size: 12px; }
.tight-list {
  margin: 0;
  padding: 10px 12px;
  list-style: none;
  display: grid;
  gap: 6px;
}
.tight-list li { font-size: 13px; line-height: 1.35; }
.tight-list.danger li { color: var(--red); }
.compact-history { grid-template-columns: repeat(3, 1fr); padding-bottom: 4px; }
.compact-stock-head {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 12px;
  margin: 12px 0;
  background: var(--panel);
}
.compact-title { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.compact-title h1 { font-size: 24px; }
.compact-title h1 span { color: var(--muted); font-size: 15px; }
.inline-quote { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.inline-quote b, .inline-quote em {
  font-style: normal;
  border: 1px solid rgba(38,50,70,.86);
  border-radius: 999px;
  padding: 5px 9px;
  background: var(--panel2);
  font-size: 13px;
}
.detail-compact-grid {
  display: grid;
  grid-template-columns: 1.4fr .9fr 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}
.detail-chart-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}
.plan-table, .score-table, .mini-kv {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  padding: 10px;
}
.plan-table div, .score-table div, .mini-kv div {
  border: 1px solid rgba(38,50,70,.78);
  margin: -1px 0 0 -1px;
  padding: 8px;
  min-height: 0;
  background: rgba(255,255,255,.018);
}
.plan-table span, .score-table span, .mini-kv span { display: block; color: var(--muted); font-size: 12px; }
.plan-table strong, .score-table strong, .mini-kv b { display: block; margin-top: 4px; font-size: 15px; }
.score-table .total strong { color: var(--red); font-size: 20px; }
.radar-reason-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  align-items: center;
  padding: 8px;
}
.compact-conclusion { padding: 12px; }
.compact-conclusion strong { color: var(--gold); font-size: 22px; }
.compact-conclusion p { margin: 8px 0 0; color: #dce5f2; line-height: 1.55; font-size: 13px; }
.plan-panel, .score-panel, .reason-panel, .risk-panel { align-self: start; }

.pool-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}
.pool-tabs button {
  border: 1px solid var(--line);
  background: var(--panel2);
  color: var(--muted);
  border-radius: 999px;
  padding: 8px 12px;
  cursor: pointer;
}
.pool-tabs button.active {
  color: #fff;
  background: rgba(255,77,94,.18);
  border-color: rgba(255,77,94,.56);
}
.pool-pane { display: none; }
.pool-pane.active { display: grid; }
.leader-mini-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
}
.leader-mini {
  position: relative;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 12px;
  background: var(--panel);
  display: grid;
  gap: 5px;
}
.leader-mini span { color: var(--gold); font-size: 12px; }
.leader-mini strong { font-size: 18px; }
.leader-mini em { color: var(--muted); font-style: normal; font-size: 12px; }
.leader-mini b { position: absolute; right: 12px; top: 12px; color: var(--red); font-size: 24px; }
.selector-grid {
  padding: 12px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  align-items: end;
}
.selector-grid label {
  color: var(--muted);
  font-size: 12px;
  display: grid;
  gap: 5px;
}
.selector-grid input, .selector-grid select {
  height: 34px;
  border-radius: 7px;
  border: 1px solid var(--line);
  background: var(--panel2);
  color: var(--text);
  padding: 0 9px;
}
.checkbox-line { display: flex !important; align-items: center; gap: 8px; }
.checkbox-line input { height: auto; }
.selector-result {
  padding: 0 12px 12px;
  display: grid;
  gap: 8px;
}
.selector-result a {
  display: grid;
  grid-template-columns: 1fr 110px 58px;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(38,50,70,.72);
  border-radius: 8px;
  padding: 8px;
  background: var(--panel2);
}
.selector-result span { color: var(--muted); }
.selector-result em { color: var(--red); font-style: normal; }
.v4-check-grid {
  padding: 12px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 8px;
}
.v4-check-grid div {
  border: 1px solid rgba(38,50,70,.72);
  border-radius: 9px;
  padding: 9px;
  background: var(--panel2);
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 2px 8px;
}
.v4-check-grid b { grid-row: span 2; }
.v4-check-grid strong { font-size: 13px; }
.v4-check-grid span { color: var(--muted); font-size: 12px; }
.v4-check-grid .ok b { color: var(--red); }
.v4-check-grid .miss b { color: var(--muted); }
.v4-summary {
  border-top: 1px solid var(--line);
  padding: 10px 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.v4-summary strong {
  border: 1px solid rgba(255,77,94,.34);
  border-radius: 999px;
  padding: 6px 10px;
  color: var(--gold);
  background: rgba(255,77,94,.08);
}
.alert-modal {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 80;
  display: none;
}
.alert-modal.show { display: block; }
.alert-card {
  width: min(340px, calc(100vw - 36px));
  border: 1px solid rgba(255,77,94,.58);
  border-radius: 12px;
  background: #121925;
  box-shadow: 0 18px 50px rgba(0,0,0,.38);
  padding: 16px;
}
.alert-card h2 { margin: 0 0 8px; color: var(--red); }
.alert-card strong { display: block; font-size: 20px; }
.alert-card p { color: var(--muted); }
.alert-card em { color: var(--gold); font-style: normal; }
.alert-close {
  float: right;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 22px;
  cursor: pointer;
}

@media (max-width: 1180px) {
  .leader-grid, .detail-compact-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  .pro-topbar, .compact-stock-head, .compact-title { display: grid; }
  .leader-grid, .detail-compact-grid, .detail-chart-grid, .split-layout { grid-template-columns: 1fr; }
  .radar-reason-layout { grid-template-columns: 1fr; }
  .compact-kline { height: 260px; }
  .emotion-lamps { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .recommend-compact-grid { grid-template-columns: 1fr; }
  .watch-list div { grid-template-columns: 1fr 72px; }
  .watch-list mark, .watch-list button { grid-column: span 2; }
  .compact-history { grid-template-columns: 1fr; }
}

.trade-mini {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin: 10px 0;
}

.trade-mini span {
  color: #a9b6c9;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 6px;
  padding: 6px 8px;
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.watch-list mark {
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 12px;
  font-style: normal;
  color: #fff;
  background: rgba(92,168,255,.18);
  border: 1px solid rgba(92,168,255,.35);
}

.watch-list mark.sell-ok {
  color: #18d28b;
  background: rgba(24,210,139,.12);
  border-color: rgba(24,210,139,.3);
}

.watch-list mark.sell-warning {
  color: #f5b544;
  background: rgba(245,181,68,.12);
  border-color: rgba(245,181,68,.34);
}

.watch-list mark.sell-danger {
  color: #ff4d5e;
  background: rgba(255,77,94,.14);
  border-color: rgba(255,77,94,.35);
}

.v6-head { margin-top: 16px; }

.v6-one-line {
  padding: 14px 16px;
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 14px;
  align-items: center;
  border-color: rgba(24,210,139,.24);
  background: linear-gradient(135deg, rgba(24,210,139,.08), rgba(17,24,36,.98));
}

.v6-one-line strong {
  color: #18d28b;
  font-size: 16px;
}

.v6-one-line p {
  margin: 0;
  color: #dbe6f4;
  line-height: 1.6;
  font-size: 14px;
}

.v6-top-grid {
  grid-template-columns: 1.25fr .8fr 1fr;
  align-items: stretch;
}

.v6-final-decision {
  min-height: 150px;
  padding: 16px;
  display: grid;
  grid-template-columns: 132px 1fr;
  gap: 12px 16px;
  border-color: rgba(255,197,51,.22);
}

.v6-final-decision div span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.v6-final-decision div strong {
  display: block;
  margin-top: 8px;
  color: #ffc533;
  font-size: 18px;
}

.v6-final-decision div b {
  display: block;
  margin-top: 8px;
  color: #ff4d5a;
  font-size: 20px;
}

.v6-final-decision p {
  margin: 0;
  color: #dce6f4;
  line-height: 1.55;
  font-size: 14px;
}

.v6-final-decision ul {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.v6-final-decision li {
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(255,255,255,.035);
  color: #aebbd0;
  font-size: 13px;
}

.v6-score-core {
  padding: 18px;
  border-color: rgba(255,197,51,.22);
}

.v6-factor-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.v6-factor-group {
  min-width: 0;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.024);
}

.v6-factor-group h3 {
  margin: 0 0 10px;
  color: #ffc533;
  font-size: 16px;
}

.v6-factor {
  padding: 11px;
  border-radius: 9px;
  border: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.026);
  margin-bottom: 9px;
}

.v6-factor-title {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.v6-factor-title b {
  color: #dce6f4;
  font-size: 13px;
}

.v6-factor-title span {
  white-space: nowrap;
  color: #ffc533;
  font-size: 12px;
}

.v6-factor p {
  margin: 7px 0 0;
  color: #aebbd0;
  font-size: 12px;
  line-height: 1.45;
}

.v6-factor em {
  display: block;
  margin-top: 7px;
  color: #7f8da3;
  font-size: 12px;
  font-style: normal;
  line-height: 1.45;
}

.v6-factor.ok {
  border-color: rgba(24,210,139,.24);
  background: rgba(24,210,139,.052);
}

.v6-factor.ok .v6-factor-title b { color: #18d28b; }

.v6-factor.miss {
  border-color: rgba(255,77,90,.24);
  background: rgba(255,77,90,.052);
}

.v6-factor.miss .v6-factor-title b { color: #ff4d5a; }

.v6-factor.neutral {
  border-color: rgba(255,197,51,.2);
  background: rgba(255,197,51,.045);
}

@media (max-width: 1180px) {
  .v6-top-grid,
  .v6-factor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .v6-one-line,
  .v6-top-grid,
  .v6-factor-grid,
  .v6-final-decision {
    grid-template-columns: 1fr;
  }
  .v6-final-decision ul { grid-template-columns: 1fr; }
}

.v52-head {
  margin-top: 16px;
}

.v52-top-panels {
  grid-template-columns: 1.35fr .85fr 1fr;
}

.v52-score-core {
  padding: 18px;
  border-color: rgba(255,197,51,.22);
  background: linear-gradient(180deg, rgba(17,24,36,.98), rgba(9,15,24,.99));
}

.v52-score-layout {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.v52-score-group {
  min-width: 0;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px;
  background: rgba(255,255,255,.024);
  padding: 12px;
}

.v52-score-group h3 {
  margin: 0 0 10px;
  color: #ffc533;
  font-size: 16px;
}

.v52-factor {
  display: grid;
  gap: 6px;
  padding: 10px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.07);
  margin-bottom: 8px;
  background: rgba(255,255,255,.026);
}

.v52-factor > div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.v52-factor b {
  font-size: 13px;
  color: #dce6f4;
}

.v52-factor span {
  white-space: nowrap;
  color: #ffc533;
  font-size: 12px;
}

.v52-factor p {
  margin: 0;
  color: #aebbd0;
  font-size: 12px;
  line-height: 1.45;
}

.v52-factor em {
  color: #7f8da3;
  font-style: normal;
  font-size: 12px;
  line-height: 1.45;
}

.v52-factor.ok {
  border-color: rgba(24,210,139,.24);
  background: rgba(24,210,139,.055);
}

.v52-factor.ok b { color: #18d28b; }

.v52-factor.miss {
  border-color: rgba(255,77,90,.24);
  background: rgba(255,77,90,.052);
}

.v52-factor.miss b { color: #ff4d5a; }

.v52-miss-panel {
  padding: 16px;
}

.v52-miss-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.v52-miss-grid div {
  padding: 12px;
  border-radius: 9px;
  border: 1px solid rgba(255,77,90,.22);
  background: rgba(255,77,90,.052);
}

.v52-miss-grid strong {
  display: block;
  color: #ff4d5a;
  font-size: 13px;
}

.v52-miss-grid span {
  display: block;
  margin-top: 6px;
  color: #aebbd0;
  font-size: 12px;
}

.v52-miss-grid em {
  display: inline-block;
  margin-top: 8px;
  color: #ffc533;
  font-style: normal;
  font-size: 12px;
}

.v52-conclusion {
  padding: 18px;
}

.v52-conclusion-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.v52-conclusion-grid div,
.v52-time-plan div {
  padding: 12px;
  border-radius: 9px;
  border: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.028);
}

.v52-conclusion-grid span,
.v52-time-plan span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.v52-conclusion-grid strong,
.v52-time-plan b {
  display: block;
  margin-top: 6px;
  color: #e8eef8;
  font-size: 14px;
}

.v52-time-plan {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

@media (max-width: 1180px) {
  .v52-top-panels,
  .v52-score-layout,
  .v52-conclusion-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .v52-top-panels,
  .v52-score-layout,
  .v52-miss-grid,
  .v52-conclusion-grid,
  .v52-time-plan {
    grid-template-columns: 1fr;
  }
}

.v51-header {
  position: sticky;
  top: 0;
  z-index: 80;
  display: grid;
  grid-template-columns: 280px minmax(360px, 1fr);
  gap: 24px;
  align-items: center;
  padding: 7px max(18px, calc((100vw - 1480px) / 2));
  background: rgba(7,10,16,.96);
  box-shadow: 0 10px 32px rgba(0,0,0,.28);
}

.v51-header .brand strong {
  display: block;
  font-size: 20px;
  letter-spacing: 0;
}

.v51-header .brand small {
  display: block;
  margin-top: 2px;
  color: #8fa1b7;
  font-size: 9px;
  letter-spacing: .6px;
}

.v51-header .brand span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}

/* V8.0 admin grouped navigation */
.admin-sidebar { overflow-y: auto; }
.admin-brand small { display:block; margin-top:4px; color:#8fa1b7; font-size:10px; letter-spacing:1px; }
.admin-sidebar nav { gap: 10px; margin-top: 14px; }
.admin-sidebar nav section { display:grid; gap:2px; padding-top:8px; border-top:1px solid #18283b; }
.admin-sidebar nav section > b { padding:3px 12px; color:#5ca8ff; font-size:11px; letter-spacing:1px; }
.admin-sidebar nav section a { padding:7px 12px 7px 22px; font-size:13px; }

.header-actions {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(360px, 1fr) auto auto;
  gap: 12px;
  align-items: center;
}

.has-home-link .header-actions {
  grid-template-columns: auto minmax(360px, 1fr) auto auto;
}

.header-tools { display: flex; align-items: center; gap: 8px; }
.header-tool-button, .header-avatar {
  position: relative;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #111a28;
  color: var(--text);
  cursor: pointer;
}
.header-tool-button:hover, .header-avatar:hover { border-color: rgba(255,255,255,.45); background: #172234; }
.header-tool-button b { position: absolute; right: -3px; top: -5px; min-width: 17px; height: 17px; padding: 0 4px; display: grid; place-items: center; border-radius: 9px; background: var(--red); color: #fff; font-size: 10px; }
.header-avatar { color: #dce8f8; font-weight: 800; }

.header-home-link {
  min-width: 112px;
  min-height: 44px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255,255,255,.025);
  color: var(--text);
  font-size: 14px;
  transition: border-color .18s ease, background .18s ease, color .18s ease;
}

.header-home-link:hover {
  border-color: rgba(255,255,255,.48);
  background: rgba(255,255,255,.06);
  color: #fff;
}

.header-home-link span { font-size: 18px; }
.header-home-link b { font-weight: 600; }

.global-watch-entry {
  min-height: 44px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border: 1px solid rgba(255,197,51,.32);
  border-radius: 10px;
  color: var(--gold);
  background: rgba(255,197,51,.06);
  font-weight: 800;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.global-watch-entry:hover {
  border-color: rgba(255,197,51,.8);
  background: rgba(255,197,51,.11);
  box-shadow: 0 0 22px rgba(255,197,51,.2);
}

.watch-eye { margin-right: 7px; }

.watch-count-badge {
  min-width: 26px;
  height: 24px;
  margin-left: 9px;
  padding: 0 7px;
  display: inline-grid;
  place-items: center;
  border-radius: 12px;
  background: var(--gold);
  color: #171106;
  font-size: 12px;
}

.watch-name-short { display: none; }

.watch-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 98;
  background: rgba(0,0,0,.56);
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
}

.watch-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 99;
  width: min(420px, 100vw);
  padding: 18px;
  overflow-y: auto;
  background: #0b121d;
  border-left: 1px solid rgba(255,197,51,.28);
  box-shadow: -24px 0 52px rgba(0,0,0,.42);
  transform: translateX(102%);
  transition: transform .22s ease;
}

body.watch-drawer-open { overflow: hidden; }
body.watch-drawer-open .watch-drawer { transform: translateX(0); }
body.watch-drawer-open .watch-drawer-backdrop { opacity: 1; visibility: visible; }

.watch-drawer-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.watch-drawer-head strong { display: block; font-size: 20px; }
.watch-drawer-head span { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; }

.watch-drawer-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
  margin: 14px 0;
}

.watch-drawer-tabs button {
  min-height: 46px;
  padding: 6px 4px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #111a28;
  color: var(--muted);
  cursor: pointer;
  font-size: 12px;
}

.watch-drawer-tabs button.active {
  border-color: rgba(255,197,51,.65);
  color: var(--gold);
  background: rgba(255,197,51,.08);
}

.watch-drawer-tabs b { display: block; margin-top: 2px; color: var(--text); }
.watch-drawer-list { display: grid; gap: 10px; }
.watch-drawer-item { padding: 13px; border: 1px solid var(--line); border-radius: 8px; background: #101825; }
.watch-drawer-item > div { display: flex; justify-content: space-between; gap: 10px; align-items: start; }
.watch-drawer-item strong { font-size: 16px; }
.watch-drawer-item em { color: var(--gold); font-style: normal; }
.watch-drawer-item p { margin: 9px 0; color: var(--text); font-size: 13px; line-height: 1.55; }
.watch-drawer-item small { color: var(--muted); }
.watch-drawer-item a { display: inline-block; margin-top: 9px; color: #6db3ff; font-size: 13px; }
.watch-drawer-actions { display: flex; gap: 8px; margin-top: 10px; }
.watch-drawer-actions a, .watch-drawer-actions button { flex: 1; min-height: 34px; margin: 0; display: grid; place-items: center; border-radius: 7px; }

.watch-delete-btn {
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid rgba(255,77,90,.62);
  border-radius: 8px;
  background: #161b24;
  color: #ff6b76;
  font-weight: 800;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.watch-delete-btn:hover { background: rgba(255,77,90,.12); border-color: #ff6b76; box-shadow: 0 0 16px rgba(255,77,90,.14); }
.watch-record-inactive { opacity: .62; filter: grayscale(.35); }

.watch-confirm-backdrop {
  position: fixed;
  inset: 0;
  z-index: 118;
  background: rgba(0,0,0,.62);
  opacity: 0;
  visibility: hidden;
}

.watch-confirm-dialog {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 119;
  width: min(420px, calc(100vw - 28px));
  padding: 22px;
  border: 1px solid rgba(255,77,90,.42);
  border-radius: 8px;
  background: #101722;
  box-shadow: 0 28px 70px rgba(0,0,0,.52);
  transform: translate(-50%, -46%);
  opacity: 0;
  visibility: hidden;
}

.watch-confirm-dialog h2 { margin: 0 0 10px; font-size: 20px; }
.watch-confirm-dialog p { color: var(--gold); }
.watch-confirm-dialog li { margin: 7px 0; color: var(--muted); }
body.watch-confirm-open .watch-confirm-backdrop { opacity: 1; visibility: visible; }
body.watch-confirm-open .watch-confirm-dialog { opacity: 1; visibility: visible; transform: translate(-50%, -50%); }

.v51-search {
  grid-template-columns: 42px 1fr 128px;
  gap: 0;
  min-height: 46px;
  border-radius: 12px;
  padding: 3px;
  background: #141d2b;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03), 0 0 0 rgba(255,77,90,0);
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.v51-search:focus-within {
  border-color: rgba(255,77,90,.78);
  box-shadow: 0 0 0 3px rgba(255,77,90,.16), 0 0 24px rgba(255,77,90,.16);
  background: #172234;
}

.v51-search .search-icon {
  display: grid;
  place-items: center;
  color: #ff8a92;
  font-size: 20px;
}

.v51-search input {
  height: 38px;
  border: 0;
  background: transparent;
  padding: 0 14px 0 2px;
  font-size: 16px;
}

.v51-search input::placeholder { color: #75859d; }

.v51-search button {
  height: 38px;
  border-radius: 10px;
  font-size: 16px;
  background: linear-gradient(135deg, #ff4d5a, #ff6b76);
  box-shadow: 0 10px 22px rgba(255,77,90,.24);
}

.v51-search .suggest-box {
  left: 0;
  right: 0;
  top: 64px;
  background: #111a28;
  border-color: rgba(255,255,255,.13);
}

.suggest-title {
  padding: 10px 14px 6px;
  color: var(--muted);
  font-size: 12px;
}

.v51-title { margin-top: 18px; }

.v51-top-grid {
  grid-template-columns: 1.1fr 1.6fr 1.1fr 1fr;
  align-items: stretch;
  gap: 16px;
}

.v51-top-card {
  min-height: 238px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: 0 14px 34px rgba(0,0,0,.22);
}

.v51-temp-card {
  position: relative;
  overflow: hidden;
}

.v51-temp-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--temp-color) 22%, transparent), transparent 32%);
  pointer-events: none;
}

.temp-main {
  position: relative;
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 14px;
  align-items: center;
  margin: 12px 0;
}

.temp-main strong {
  color: var(--temp-color);
  font-size: 58px;
  line-height: 1;
  text-shadow: 0 0 20px color-mix(in srgb, var(--temp-color) 38%, transparent);
}

.temp-main b { display: block; font-size: 18px; }
.temp-main span { display: block; margin-top: 8px; color: var(--muted); font-size: 13px; }

.temp-bar {
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, #2E86FF, #56B6FF, #35C759, #FFC533, #FF4D5A);
  overflow: hidden;
}

.temp-bar i {
  display: block;
  width: var(--temp-width);
  max-width: 100%;
  height: 100%;
  border-radius: inherit;
  background: rgba(255,255,255,.38);
  animation: tempPulse 1.6s ease-in-out infinite alternate;
}

@keyframes tempPulse {
  from { opacity: .42; }
  to { opacity: .9; }
}

.v51-lamps {
  margin-top: 12px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.v51-lamps div i {
  background: var(--lamp-color);
}

.v51-lamps div.active {
  color: var(--lamp-color);
  border-color: color-mix(in srgb, var(--lamp-color) 58%, transparent);
  background: color-mix(in srgb, var(--lamp-color) 12%, transparent);
}

.v51-emotion-chart {
  height: 92px;
  margin-top: 6px;
}

.v51-emotion-mini {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.v51-emotion-mini span {
  padding: 7px 8px;
  border-radius: 8px;
  background: rgba(255,255,255,.035);
  color: #aebbd0;
  font-size: 12px;
}

.v51-scan-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
}

.v51-scan-row .stat-grid { margin-bottom: 0; }

.v51-scan-btn {
  min-width: 166px;
  height: 54px;
  border-radius: 12px;
}

.v51-tabs button {
  min-width: 112px;
}

.board-pool-block {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.board-pool-block + .board-pool-block {
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.pool-board-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}

.pool-board-head h3 {
  margin: 0;
  font-size: 20px;
}

.pool-board-head span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
}

.pool-board-head b {
  color: var(--gold);
  font-size: 22px;
}

.pool-extra.hidden {
  display: none;
}

.pool-more-btn {
  justify-self: center;
  min-width: 180px;
}

.v51-rec-card {
  display: grid;
  gap: 12px;
}

.v51-rec-card .rec-main strong {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 2px solid rgba(255,77,90,.82);
  color: #ff4d5a;
  box-shadow: 0 0 20px rgba(255,77,90,.18);
}

.rec-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.rec-metrics div {
  min-width: 0;
  padding: 8px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.028);
}

.rec-metrics span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.rec-metrics b {
  display: block;
  margin-top: 5px;
  color: #dbe6f4;
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rec-risks li {
  color: var(--gold);
}

@media (max-width: 760px) {
  .rec-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pool-board-head {
    align-items: start;
  }
}

@media (max-width: 1180px) {
  .v51-header { grid-template-columns: 1fr; gap: 12px; }
  .v51-top-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .v51-header { padding: 12px; }
  .v51-search { grid-template-columns: 36px 1fr 86px; min-height: 54px; }
  .v51-search button { font-size: 14px; }
  .header-actions { grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; }
  .has-home-link .header-actions { grid-template-columns: 44px minmax(0, 1fr) auto auto; }
  .header-home-link { min-width: 44px; min-height: 54px; padding: 0; }
  .header-home-link b { display: none; }
  .global-watch-entry { width: auto; min-height: 54px; padding: 0 10px; font-size: 13px; }
  .global-watch-entry .watch-eye { margin-right: 0; }
  .watch-name-full { display: none; }
  .watch-name-short { display: none; }
  .watch-count-badge { margin-left: 6px; }
  .header-avatar { display: none; }
  .header-tool-button { width: 40px; height: 40px; }
  .v51-top-grid, .v51-scan-row { grid-template-columns: 1fr; }
  .v51-emotion-mini, .rec-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v51-lamps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.stock-rank { margin: -4px 0 6px; display: flex; align-items: center; gap: 8px; }
.stock-rank b { color: var(--gold); font-size: 13px; }
.stock-rank span { color: #7f91a8; font-size: 11px; }

/* V6.6 stock detail: four-layer AI diagnosis report */
main:has(.ai-report) { width: min(1520px, calc(100vw - 32px)); max-width: none; }
.ai-report { display: grid; gap: 18px; margin: 18px 0 30px; color: var(--text); }
.report-hero, .report-layer {
  border: 1px solid #263850;
  border-radius: 8px;
  background: #0c1420;
  box-shadow: inset 0 1px rgba(255,255,255,.025);
}
.report-hero { padding: 24px; }
.report-stock-head { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 22px; }
.report-eyebrow { color: #6d819b; font-size: 12px; font-weight: 700; }
.report-stock-head h1 { margin: 7px 0 5px; font-size: 32px; line-height: 1.15; }
.report-stock-head h1 small { color: #8496ae; font-size: 16px; font-weight: 600; }
.report-quote { display: flex; align-items: baseline; gap: 14px; }
.report-quote strong { font-size: 30px; }
.report-quote b { font-size: 18px; }
.report-quote span { color: #8295ad; font-size: 15px; }
.report-score-ring { width: 104px; height: 104px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 2px solid #ff4d5e; border-radius: 50%; box-shadow: 0 0 24px rgba(255,77,94,.14); }
.report-score-ring span { color: #8fa0b5; font-size: 13px; }
.report-score-ring strong { margin: 3px 0; color: #ff4d5e; font-size: 38px; line-height: 1; }
.report-score-ring small { color: var(--gold); font-size: 11px; }
.report-stock-head > .ghost-btn, .report-stock-head > .watch-management { min-width: 118px; font-size: 15px; }

.ai-verdict { margin-top: 22px; padding: 22px; display: grid; grid-template-columns: 64px minmax(0,1fr) minmax(210px,.34fr); align-items: center; gap: 20px; border: 1px solid; border-left-width: 5px; border-radius: 7px; }
.ai-verdict.ready { border-color: rgba(24,210,139,.48); background: rgba(24,210,139,.075); }
.ai-verdict.waiting { border-color: rgba(245,181,68,.5); background: rgba(245,181,68,.07); }
.verdict-icon { width: 60px; height: 60px; display: grid; place-items: center; border-radius: 50%; color: #07100c; font-size: 32px; font-weight: 900; }
.ready .verdict-icon { background: var(--green); }
.waiting .verdict-icon { background: var(--gold); }
.verdict-copy > span { color: #8fa2b8; font-size: 15px; font-weight: 800; }
.verdict-copy h2 { margin: 5px 0 7px; color: var(--green); font-size: 28px; }
.waiting .verdict-copy h2 { color: var(--gold); }
.verdict-copy p { margin: 0; color: #d8e3ef; font-size: 20px; line-height: 1.55; }
.verdict-quick { padding-left: 20px; border-left: 1px solid rgba(255,255,255,.12); }
.verdict-quick span, .verdict-quick small { display: block; color: #8ea0b7; font-size: 13px; }
.verdict-quick strong { display: block; margin: 7px 0; color: var(--gold); font-size: 24px; }

.decision-metrics { margin-top: 18px; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); border: 1px solid #22334a; border-radius: 7px; overflow: hidden; background: #0f1927; }
.decision-metrics > div { min-width: 0; padding: 16px; border-right: 1px solid #22334a; }
.decision-metrics > div:last-child { border-right: 0; }
.decision-metrics span { display: block; color: #8495ad; font-size: 14px; }
.decision-metrics strong { display: block; margin-top: 8px; font-size: 22px; line-height: 1.2; overflow-wrap: anywhere; }

.trade-flow { margin-top: 18px; display: grid; grid-template-columns: 1fr auto 1.25fr auto 1fr auto 1fr auto 1fr; align-items: stretch; gap: 9px; }
.trade-flow > div { min-width: 0; padding: 13px; display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 3px 10px; border: 1px solid #263850; border-radius: 7px; background: #101a29; }
.trade-flow > div i { grid-row: span 2; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #1c2d43; color: #9bb0c8; font-style: normal; font-weight: 800; }
.trade-flow > div span { color: #8092a9; font-size: 12px; }
.trade-flow > div b { min-width: 0; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.trade-flow > div.active { border-color: rgba(245,181,68,.55); background: rgba(245,181,68,.055); }
.trade-flow > div.target { border-color: rgba(24,210,139,.38); }
.trade-flow > div.stop { border-color: rgba(255,77,94,.42); }
.trade-flow > em { align-self: center; color: #536a86; font-size: 18px; font-style: normal; }

.selection-proof { margin-top: 18px; padding: 18px; display: grid; grid-template-columns: minmax(240px,.7fr) minmax(620px,1.8fr); gap: 22px; align-items: center; border: 1px solid #263850; border-radius: 7px; background: #0a121d; }
.proof-title > span { color: var(--gold); }
.proof-title h2 { margin: 5px 0; font-size: 20px; }
.proof-title p { margin: 0; color: #7f91a9; font-size: 13px; }
.proof-funnel { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1.2fr; align-items: center; gap: 8px; }
.proof-funnel > div { min-width: 0; padding: 10px 12px; border: 1px solid #22354d; border-radius: 6px; background: #101a28; }
.proof-funnel > div.final { border-color: rgba(245,181,68,.52); background: rgba(245,181,68,.06); }
.proof-funnel span, .proof-funnel strong, .proof-funnel small { display: block; }
.proof-funnel span { color: #8293aa; font-size: 12px; }
.proof-funnel strong { margin: 5px 0; font-size: 19px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.proof-funnel small { color: #657991; font-size: 11px; }
.proof-funnel > i { color: #526b88; font-style: normal; }

.report-layer { padding: 22px; }
.report-layer-head { margin-bottom: 18px; padding-bottom: 14px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid #22334a; }
.report-layer-head > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #20334a; color: #71cbbb; font-size: 13px; font-weight: 900; }
.report-layer-head h2 { margin: 0; font-size: 24px; }
.report-layer-head p { margin: 4px 0 0; color: #8091a8; font-size: 14px; }
.report-layer-head > strong { margin-left: auto; color: var(--gold); font-size: 18px; }

.evidence-grid { display: grid; grid-template-columns: 1fr 1fr .72fr; gap: 14px; }
.evidence-card, .risk-focus { padding: 18px; border: 1px solid #263850; border-radius: 7px; background: #0f1927; }
.evidence-card.support { border-top: 3px solid var(--blue); }
.evidence-card.oppose, .risk-focus { border-top: 3px solid var(--red); }
.evidence-card header { margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.evidence-card header > div { display: flex; align-items: center; gap: 9px; }
.evidence-card header span { color: var(--gold); font-size: 13px; }
.evidence-card header h3 { margin: 0; font-size: 19px; }
.evidence-card header > b { color: #8294ac; font-size: 13px; }
.evidence-list > div { min-height: 43px; display: grid; grid-template-columns: 26px minmax(0,1fr) auto auto; align-items: center; gap: 8px; border-bottom: 1px solid #1b2b3f; }
.evidence-list > div:last-child { border-bottom: 0; }
.evidence-list i { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; color: #06140f; background: var(--green); font-style: normal; font-weight: 900; }
.oppose .evidence-list i { color: #fff; background: var(--red); }
.evidence-list span { font-size: 15px; }
.evidence-list b { color: var(--gold); font-size: 13px; font-weight: 500; }
.evidence-list strong { min-width: 30px; text-align: right; font-size: 16px; }
.risk-focus > span { color: #ff7682; font-size: 14px; font-weight: 800; }
.risk-focus h3 { margin: 12px 0 8px; color: #ff5b6b; font-size: 23px; }
.risk-focus > b { color: var(--gold); font-size: 15px; }
.risk-focus p { margin: 14px 0 0; color: #c2cedd; font-size: 15px; line-height: 1.65; }

.confidence-board { margin-top: 14px; padding: 18px; display: grid; grid-template-columns: 230px repeat(2,minmax(0,1fr)); gap: 12px 18px; border: 1px solid #263850; border-radius: 7px; background: #0f1927; }
.confidence-gauge { position: relative; grid-row: span 2; min-height: 142px; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; border-right: 1px solid #263850; }
.confidence-gauge span { color: #8799b0; font-size: 14px; }
.confidence-gauge strong { margin: 5px 0; font-size: 44px; }
.confidence-gauge b { color: var(--gold); font-size: 14px; }
.confidence-gauge > i { position: absolute; inset: 15px 36px; z-index: 0; border: 7px solid rgba(92,168,255,.12); border-top-color: var(--blue); border-radius: 50%; pointer-events: none; }
.confidence-gauge > *:not(i) { position: relative; z-index: 1; }
.confidence-row { display: grid; grid-template-columns: 72px minmax(80px,1fr) 42px 82px; align-items: center; gap: 10px; }
.confidence-row > span { font-size: 15px; }
.confidence-row > div { height: 9px; overflow: hidden; border-radius: 5px; background: #1b2a3e; }
.confidence-row > div i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#4a91e8,#35d6d0); }
.confidence-row strong { font-size: 19px; }
.confidence-row b { color: var(--gold); font-size: 12px; }

.health-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 18px; }
.health-row { min-width: 0; padding: 12px 14px; display: grid; grid-template-columns: minmax(140px,1fr) 48px 1.4fr; align-items: center; gap: 12px; border: 1px solid #22334a; border-radius: 6px; background: #0f1927; }
.health-row > div:first-child { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.health-row span { font-size: 15px; }
.health-row b { color: var(--gold); font-size: 12px; font-weight: 500; white-space: nowrap; }
.health-row > strong { font-size: 21px; text-align: right; }
.health-bar { height: 10px; overflow: hidden; border-radius: 5px; background: #1c2a3d; }
.health-bar i { display: block; height: 100%; border-radius: inherit; background: var(--blue); }
.health-row.fail .health-bar i { background: var(--red); }
.health-row.fail > strong { color: #ff6573; }

.lifecycle-progress { margin-top: 18px; padding: 18px; border: 1px solid #263850; border-radius: 7px; background: #0f1927; }
.lifecycle-progress header { display: flex; align-items: center; justify-content: space-between; }
.lifecycle-progress h3 { margin: 0; font-size: 19px; }
.lifecycle-progress header span { color: var(--gold); font-size: 15px; }
.lifecycle-track { margin-top: 18px; display: grid; grid-template-columns: repeat(11,auto); align-items: center; justify-content: stretch; }
.lifecycle-track > div { min-width: 92px; text-align: center; }
.lifecycle-track i { width: 34px; height: 34px; margin: 0 auto 7px; display: grid; place-items: center; border: 2px solid #344a65; border-radius: 50%; color: #7d90a8; font-style: normal; font-weight: 800; background: #101b29; }
.lifecycle-track span { color: #8193aa; font-size: 13px; }
.lifecycle-track > div.current i { border-color: var(--gold); color: #0b0f14; background: var(--gold); box-shadow: 0 0 18px rgba(245,181,68,.24); }
.lifecycle-track > div.current span { color: var(--gold); font-weight: 800; }
.lifecycle-track em { height: 2px; min-width: 20px; background: #2a3d55; }
.lifecycle-progress p { margin: 15px 0 0; color: #8ea0b7; font-size: 14px; text-align: center; }

.analysis-accordion { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.analysis-accordion details { border: 1px solid #263850; border-radius: 7px; background: #0f1927; }
.analysis-accordion summary { min-height: 58px; padding: 0 16px; display: grid; grid-template-columns: minmax(0,1fr) auto 28px; align-items: center; gap: 10px; cursor: pointer; list-style: none; }
.analysis-accordion summary::-webkit-details-marker { display: none; }
.analysis-accordion summary span { font-size: 17px; font-weight: 800; }
.analysis-accordion summary b { color: #8294ac; font-size: 13px; }
.analysis-accordion summary i { color: var(--blue); font-size: 20px; font-style: normal; text-align: center; transition: transform .18s ease; }
.analysis-accordion details[open] summary { border-bottom: 1px solid #263850; }
.analysis-accordion details[open] summary i { transform: rotate(45deg); }
.analysis-accordion details > div { padding: 13px 16px; }
.analysis-accordion article { padding: 10px 0; display: grid; grid-template-columns: minmax(140px,.5fr) 1fr; gap: 12px; border-bottom: 1px solid #1c2c40; }
.analysis-accordion article:last-child { border-bottom: 0; }
.analysis-accordion article strong { font-size: 15px; }
.analysis-accordion article span, .analysis-accordion details p { color: #9aabc0; font-size: 14px; line-height: 1.55; }
.plan-detail-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 14px; }
.report-charts { margin-top: 16px; }
.report-charts .panel { overflow: hidden; }
.report-charts .panel-head h2 { font-size: 18px; }
.ai-kline-panel { position: relative; }
.ai-kline-panel .panel-head > div span { display: block; margin-top: 4px; color: #7f91a8; font-size: 12px; }
.ai-kline-panel .panel-head > em { color: #7590ac; font-size: 12px; font-style: normal; text-align: right; }
.kline-control-deck { padding: 12px 14px 4px; display: grid; grid-template-columns: auto 1fr; gap: 10px 18px; border-top: 1px solid #203149; background: #0b1420; }
.kline-period-tabs, .kline-series-toggles, .kline-ai-toggles { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.kline-period-tabs button { min-width: 56px; height: 34px; border: 1px solid #2a3d56; border-radius: 5px; background: #111d2b; color: #8fa1b7; cursor: pointer; font-weight: 700; }
.kline-period-tabs button:hover, .kline-period-tabs button.active { border-color: #5ca8ff; background: rgba(92,168,255,.12); color: #cfe7ff; }
.kline-period-tabs button:disabled { cursor: wait; opacity: .55; }
.kline-series-toggles label, .kline-ai-toggles label { min-height: 32px; padding: 0 9px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid #263850; border-radius: 5px; background: rgba(255,255,255,.018); color: #99a9bc; font-size: 12px; cursor: pointer; }
.kline-series-toggles input, .kline-ai-toggles input { accent-color: #5ca8ff; }
.kline-ai-toggles { grid-column: 1/-1; padding-top: 9px; border-top: 1px solid #1c2c40; }
.kline-ai-toggles > b { margin-right: 3px; color: #dce7f5; font-size: 13px; }
.kline-ai-toggles label.observe { color: #e8bd57; }
.kline-ai-toggles label.buy { color: #63dfb1; }
.kline-ai-toggles label.sell, .kline-ai-toggles label.stop { color: #ff7f8b; }
.kline-ai-toggles label.target { color: #82bfff; }
.kline-status { min-height: 30px; margin: 8px 14px 0; padding: 7px 10px; border-radius: 5px; color: #7f91a7; font-size: 12px; }
.kline-status.loading { background: rgba(92,168,255,.07); color: #8ec7ff; }
.kline-status.success { background: rgba(24,210,139,.055); color: #70d8b0; }
.kline-status.warning { background: rgba(245,181,68,.07); color: #e3b85d; }
.kline-ai-tooltip { min-width: 230px; display: grid; gap: 5px; }
.kline-ai-tooltip > strong { color: #74e0b7; font-size: 16px; }
.kline-ai-tooltip > span { color: #afbdd0; }
.kline-ai-tooltip > b { margin-top: 4px; color: #dfe9f5; }
.kline-ai-tooltip ul { margin: 0; padding: 0; list-style: none; }
.kline-ai-tooltip li { margin-top: 4px; color: #a9b8ca; white-space: normal; }

@media (max-width: 1180px) {
  .ai-verdict { grid-template-columns: 60px minmax(0,1fr); }
  .verdict-quick { grid-column: 2; padding: 12px 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.1); }
  .decision-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .decision-metrics > div { border-bottom: 1px solid #22334a; }
  .selection-proof { grid-template-columns: 1fr; }
  .evidence-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .risk-focus { grid-column: 1/-1; }
  .trade-flow { grid-template-columns: repeat(5,minmax(0,1fr)); }
  .trade-flow > em { display: none; }
}

@media (max-width: 760px) {
  main:has(.ai-report) { width: calc(100vw - 16px); }
  .ai-report { margin-top: 10px; gap: 12px; }
  .report-hero, .report-layer { padding: 14px; }
  .report-stock-head { grid-template-columns: minmax(0,1fr) 82px; gap: 12px; }
  .report-stock-head h1 { font-size: 27px; }
  .report-score-ring { width: 78px; height: 78px; }
  .report-score-ring strong { font-size: 29px; }
  .report-stock-head > .ghost-btn, .report-stock-head > .watch-management { grid-column: 1/-1; width: 100%; }
  .compact-kline { height: 460px; }
  .kline-control-deck { grid-template-columns: 1fr; gap: 8px; }
  .kline-ai-toggles { grid-column: auto; }
  .ai-verdict { padding: 16px; grid-template-columns: 45px minmax(0,1fr); gap: 12px; }
  .verdict-icon { width: 44px; height: 44px; font-size: 23px; }
  .verdict-copy h2 { font-size: 23px; }
  .verdict-copy p { font-size: 17px; }
  .verdict-quick { grid-column: 1/-1; }
  .decision-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .decision-metrics > div { padding: 13px; }
  .decision-metrics strong { font-size: 18px; }
  .trade-flow { grid-template-columns: 1fr; }
  .trade-flow > div b { white-space: normal; }
  .proof-funnel { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .proof-funnel > i { display: none; }
  .proof-funnel > div.final { grid-column: 1/-1; }
  .evidence-grid, .health-grid, .analysis-accordion { grid-template-columns: 1fr; }
  .confidence-board { grid-template-columns: 1fr; }
  .confidence-gauge { grid-row: auto; border-right: 0; border-bottom: 1px solid #263850; }
  .confidence-row { grid-template-columns: 62px minmax(60px,1fr) 38px; }
  .confidence-row b { grid-column: 2/-1; }
  .health-row { grid-template-columns: minmax(0,1fr) 42px; }
  .health-row .health-bar { grid-column: 1/-1; }
  .lifecycle-track { grid-template-columns: 1fr; gap: 5px; }
  .lifecycle-track > div { display: grid; grid-template-columns: 40px 1fr; align-items: center; text-align: left; }
  .lifecycle-track i { margin: 0; }
  .lifecycle-track em { width: 2px; min-width: 0; height: 14px; margin-left: 17px; }
  .plan-detail-grid { grid-template-columns: 1fr; }
  .analysis-accordion article { grid-template-columns: 1fr; gap: 4px; }
  .detail-chart-grid.report-charts { grid-template-columns: 1fr; }
  .report-charts .span-2 { grid-column: auto; }

  .v51-header { width: 100%; max-width: 100%; overflow: hidden; }
  .header-actions { grid-template-columns: minmax(0,1fr) 44px 40px; gap: 6px; }
  .has-home-link .header-actions { grid-template-columns: 44px minmax(0,1fr) 44px 40px; }
  .v51-search { min-width: 0; grid-template-columns: 28px minmax(0,1fr) 68px; }
  .v51-search input { min-width: 0; }
  .global-watch-entry { width: 44px; min-width: 44px; padding: 0; }
  .global-watch-entry .watch-count-badge { display: none; }
  .watch-drawer { width: 100%; max-width: 100%; transform: translateX(100%); }
}

/* V6.7 watchlist entry snapshot and AI tracking return */
.watch-tracking-strip {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  border: 1px solid #263850;
  border-radius: 7px;
  background: #0f1927;
}
.watch-tracking-strip > div { min-width: 0; padding: 13px 15px; border-right: 1px solid #263850; }
.watch-tracking-strip > div:nth-child(6) { border-right: 0; }
.watch-tracking-strip span { display: block; color: #8294ac; font-size: 13px; }
.watch-tracking-strip strong { display: block; margin-top: 7px; font-size: 19px; overflow-wrap: anywhere; }
.watch-tracking-strip .tracking-return.profit strong { color: var(--market-up); }
.watch-tracking-strip .tracking-return.loss strong { color: var(--market-down); }
.watch-tracking-strip .tracking-return.flat strong { color: var(--market-flat); }
.watch-tracking-strip details { grid-column: 1/-1; border-top: 1px solid #263850; }
.watch-tracking-strip summary { padding: 10px 15px; color: #67afff; font-size: 13px; cursor: pointer; }
.watch-tracking-strip details[open] summary { border-bottom: 1px solid #263850; }
.watch-tracking-strip details p { margin: 0; padding: 7px 15px; color: #9bacbf; font-size: 14px; line-height: 1.5; }
.watch-tracking-strip details p:last-child { padding-bottom: 14px; }
.watch-tracking-strip details b { color: #dce7f4; }

.watch-performance-table { margin-top: 16px; overflow: hidden; border: 1px solid #263850; border-radius: 8px; background: #0d1622; }
.watch-performance-head, .watch-performance-row {
  display: grid;
  grid-template-columns: 1.35fr .8fr .75fr .75fr .9fr 1fr;
  align-items: center;
  gap: 12px;
}
.watch-performance-head { min-height: 44px; padding: 0 16px; color: #8294ac; font-size: 14px; background: #111c2a; border-bottom: 1px solid #263850; }
.watch-performance-row { min-height: 62px; padding: 8px 16px; color: #dce6f3; border-bottom: 1px solid #1c2b3f; transition: background .16s ease; }
.watch-performance-row:last-child { border-bottom: 0; }
.watch-performance-row:hover { background: rgba(92,168,255,.055); }
.watch-performance-row > span { min-width: 0; font-size: 15px; }
.watch-performance-row > span:first-child b, .watch-performance-row > span:first-child small { display: block; }
.watch-performance-row > span:first-child b { font-size: 17px; }
.watch-performance-row > span:first-child small { margin-top: 4px; color: #71849d; font-size: 12px; }
.watch-performance-row > strong { font-size: 18px; }
.watch-performance-row a { color: inherit; text-decoration: none; }
.watch-row-state { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.watch-row-state em { width:fit-content; padding:5px 9px; border-radius:5px; color:var(--gold); background:rgba(245,181,68,.09); font-size:13px; font-style:normal; }
.watch-row-delete { padding:5px 10px; border:1px solid rgba(255,77,90,.48); border-radius:5px; background:rgba(255,77,90,.06); color:#ff7782; font-size:12px; cursor:pointer; }
.watch-row-delete:hover { background:rgba(255,77,90,.16); border-color:#ff5967; }

@media (max-width: 900px) {
  .watch-tracking-strip { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .watch-tracking-strip > div { border-bottom: 1px solid #263850; }
  .watch-tracking-strip > div:nth-child(3n) { border-right: 0; }
  .watch-performance-table { overflow-x: auto; }
  .watch-performance-head, .watch-performance-row { min-width: 780px; }
}

@media (max-width: 560px) {
  .watch-tracking-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .watch-tracking-strip > div:nth-child(3n) { border-right: 1px solid #263850; }
  .watch-tracking-strip > div:nth-child(2n) { border-right: 0; }
}

/* Dynamic recommendation empty state */
.cockpit-stock-grid.empty-mode { min-height: 390px; grid-template-columns: 1fr; }
.recommend-empty-card {
  min-height: 360px;
  padding: 28px clamp(24px,4vw,54px);
  display: grid;
  grid-template-columns: minmax(190px,.42fr) minmax(0,1.58fr);
  align-items: center;
  gap: clamp(28px,5vw,68px);
  border: 1px solid #2b3b51;
  border-radius: 8px;
  background: linear-gradient(135deg,rgba(18,27,40,.98),rgba(10,16,25,.98));
}
.empty-robot { position: relative; min-height: 230px; display: grid; place-items: center; border-right: 1px solid #26364b; }
.empty-robot span { filter: grayscale(1); opacity: .72; font-size: 116px; line-height: 1; }
.empty-robot i { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); padding: 4px 10px; border: 1px solid #58677a; border-radius: 12px; color: #9ba8b8; background: #1a2431; font-size: 11px; font-style: normal; font-weight: 900; }
.recommend-empty-copy { max-width: 850px; }
.empty-kicker { color: #8fa0b6; font-size: 13px; font-weight: 800; }
.recommend-empty-copy h3 { margin: 7px 0 12px; font-size: 26px; }
.recommend-empty-copy > p { margin: 0; color: #aebdce; font-size: 16px; line-height: 1.55; }
.recommend-empty-copy > p strong { color: #e8f1fc; font-size: 21px; }
.empty-checks { margin: 17px 0 13px; display: flex; flex-wrap: wrap; gap: 9px; }
.empty-checks span { padding: 7px 10px; border: 1px solid #32455f; border-radius: 5px; color: #a9b8ca; background: rgba(255,255,255,.025); font-size: 14px; }
.empty-reasons { display: grid; gap: 5px; }
.empty-reasons span { color: #d1a94f; font-size: 14px; }
.recommend-empty-copy blockquote { margin: 17px 0; padding: 11px 14px; border-left: 3px solid #8291a3; color: #c3cfdd; background: rgba(255,255,255,.025); font-size: 15px; line-height: 1.6; }
.recommend-empty-copy .detail-btn { width: fit-content; min-width: 172px; min-height: 44px; padding: 0 18px; display: inline-grid; place-items: center; }

@media (max-width: 760px) {
  .cockpit-stock-grid.empty-mode { min-height: 0; }
  .recommend-empty-card { min-height: 0; padding: 20px; grid-template-columns: 1fr; gap: 18px; }
  .empty-robot { min-height: 130px; border-right: 0; border-bottom: 1px solid #26364b; }
  .empty-robot span { font-size: 80px; }
  .empty-robot i { bottom: 13px; }
  .recommend-empty-copy h3 { font-size: 22px; }
}

/* AI performance records */
.reviews-title { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.reviews-title > div > span { color: #71859f; font-size: 12px; font-weight: 800; }
.reviews-title h1 { margin-top: 6px; font-size: 30px; }
.reviews-title p { margin: 7px 0 0; color: #8fa0b6; font-size: 14px; }
.reviews-periods { display: flex; gap: 8px; }
.reviews-periods a { min-width: 86px; min-height: 40px; display: grid; place-items: center; border: 1px solid #2a3c55; border-radius: 6px; color: #93a5bc; background: #0f1927; }
.reviews-periods a.active { border-color: var(--green); color: #b9f2dc; background: rgba(24,210,139,.09); }
.reviews-summary { margin: 14px 0; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); border: 1px solid #263850; border-radius: 8px; background: #0d1622; }
.reviews-summary > div { min-width: 0; padding: 18px; border-right: 1px solid #263850; }
.reviews-summary > div:last-child { border-right: 0; }
.reviews-summary span { display: block; color: #8294ac; font-size: 14px; }
.reviews-summary strong { display: block; margin-top: 8px; font-size: 25px; }
.reviews-layout { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 14px; align-items: start; }
.reviews-record-panel, .reviews-risk-panel { overflow: hidden; }
.reviews-record-panel > .panel-head, .reviews-risk-panel > .panel-head { padding: 14px 16px; }
.reviews-table-head, .reviews-table article { display: grid; grid-template-columns: 1.15fr .9fr repeat(6,.7fr); align-items: center; gap: 10px; }
.reviews-table-head { min-height: 42px; padding: 0 16px; color: #7588a1; font-size: 12px; border-top: 1px solid #263850; border-bottom: 1px solid #263850; background: #101b29; }
.reviews-table article { min-height: 72px; padding: 10px 16px; border-bottom: 1px solid #1c2b3f; }
.reviews-table article > span, .reviews-table article > strong { font-size: 14px; }
.reviews-table article > span:first-child b, .reviews-table article > span:first-child small { display: block; }
.reviews-table article > span:first-child small { margin-top: 4px; color: #71839a; }
.reviews-table article > p { grid-column: 1/-1; margin: 0; color: #71849c; font-size: 12px; }
.reviews-empty { min-height: 210px; display: grid; place-content: center; gap: 8px; text-align: center; }
.reviews-empty strong { font-size: 19px; }
.reviews-empty span { color: #8193aa; font-size: 14px; }
.failure-ranking { padding: 5px 16px 14px; }
.failure-ranking > div { min-height: 43px; display: grid; grid-template-columns: 27px 1fr auto; align-items: center; gap: 9px; border-bottom: 1px solid #1c2b3f; }
.failure-ranking i { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; color: #121820; background: var(--gold); font-size: 11px; font-style: normal; font-weight: 800; }
.failure-ranking span { font-size: 14px; }
.failure-ranking strong { color: #ff7a86; font-size: 13px; }
.failure-ranking > p { color: #8294ac; }
.truthful-note { margin: 0 16px 16px; padding: 13px; border-left: 3px solid var(--blue); background: rgba(92,168,255,.055); }
.truthful-note b { color: #91c7ff; }
.truthful-note p { margin: 6px 0 0; color: #8fa1b8; font-size: 13px; line-height: 1.55; }

@media (max-width: 980px) {
  .reviews-summary { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .reviews-summary > div { border-bottom: 1px solid #263850; }
  .reviews-layout { grid-template-columns: 1fr; }
  .reviews-table { overflow-x: auto; }
  .reviews-table-head, .reviews-table article { min-width: 900px; }
}

@media (max-width: 620px) {
  .reviews-title { align-items: stretch; flex-direction: column; }
  .reviews-periods { display: grid; grid-template-columns: repeat(3,1fr); }
  .reviews-periods a { min-width: 0; }
  .reviews-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .reviews-summary strong { font-size: 21px; }
}

/* V7 dynamic recommendation pool */
.recommend-new-count { display: inline-flex; align-items: center; gap: 5px; color: var(--green) !important; font-size: 13px !important; font-style: normal; font-weight: 800; white-space: nowrap; }
.recommend-new-count i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 9px rgba(24,210,139,.7); }
.new-recommend-badge { margin-left: auto; padding: 3px 7px; border: 1px solid rgba(24,210,139,.36); border-radius: 4px; color: var(--green); background: rgba(24,210,139,.08); font-size: 11px; font-style: normal; }
.recommend-extra.hidden { display: none; }
.tier-extra.hidden { display:none; }
.tier-progress-card { grid-column:1/-1; min-height:150px; padding:24px; display:flex; align-items:center; justify-content:center; gap:20px; border:1px dashed #36506f; border-radius:8px; background:rgba(92,168,255,.035); }
.tier-progress-card .ai-orbit { width:66px; height:66px; flex:0 0 auto; }
.tier-progress-card b,.tier-progress-card span { display:block; }
.tier-progress-card b { font-size:20px; }
.tier-progress-card span { margin-top:7px; color:#8fa1b8; }
.potential-pool .alternative-title strong { color:#7fb8ff; }
.potential-pool .alternative-title > b { color:#7fb8ff; }
.potential-card:hover { border-color:rgba(92,168,255,.68); }
.potential-card .alternative-card-head em,.potential-card .alternative-card-head > strong { color:#7fb8ff; border-color:#4f83ba; }
.potential-advice { margin:10px 0; padding:9px 10px; display:flex; justify-content:space-between; border-radius:5px; background:rgba(92,168,255,.07); }
.potential-advice b { color:#7fb8ff; }
.potential-advice span { color:#9aacc2; font-size:13px; }
.recommend-more-button { min-width: 190px; min-height: 42px; margin: 14px auto 2px; display: block; border: 1px solid #36506f; border-radius: 6px; color: #9dc8f5; background: #101b2a; cursor: pointer; }
.recommend-more-button:hover { border-color: #5ca8ff; color: #e2f0ff; background: #142338; }
.tier-hit-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}.tier-hit-dashboard article{padding:18px;border:1px solid #263850;background:#0b1420}.tier-hit-dashboard h2{margin:0 0 12px;color:#f5b544;font-size:18px}.tier-hit-dashboard article>div{display:grid;grid-template-columns:.7fr repeat(4,1fr);gap:8px;padding:10px 0;border-top:1px solid #203149;font-size:13px}.tier-hit-dashboard span{color:#8fa1b7}
.compliance-disclaimer{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;align-items:start;padding:18px max(18px,calc((100vw - 1480px)/2));line-height:1.6}.compliance-disclaimer strong{grid-row:1/5;color:#f5b544}.compliance-disclaimer span,.compliance-disclaimer em{color:#8798ae;font-size:12px;font-style:normal}.admin-disclaimer,.admin-login-disclaimer{margin:24px;padding:15px;border:1px solid #273a52;background:#0b1420;color:#8496ad;font-size:12px;line-height:1.7}.admin-disclaimer b,.admin-login-disclaimer b{display:block;color:#f5b544}.admin-login-disclaimer{position:fixed;left:50%;bottom:14px;width:min(760px,calc(100vw - 28px));transform:translateX(-50%)}

@media (max-width: 760px) {
  .recommend-new-count { display: none; }
  .new-recommend-badge { margin-left: 0; }
  .opportunity-breakdown { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .opportunity-breakdown > div { border-bottom:1px solid #203149; }
  .tier-hit-dashboard { grid-template-columns:1fr; }
}
.risk-consent-backdrop{position:fixed;inset:0;background:rgba(2,6,15,.78);backdrop-filter:blur(8px);z-index:9998;display:none}
.risk-consent-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:9999;width:min(520px,calc(100vw - 32px));padding:32px;border:1px solid rgba(85,145,255,.28);border-radius:20px;background:#0d1422;box-shadow:0 24px 80px rgba(0,0,0,.55);display:none}
.risk-consent-backdrop.is-visible,.risk-consent-dialog.is-visible{display:block}
.risk-consent-dialog>span{color:#64a7ff;font-size:12px;letter-spacing:1px}
.risk-consent-dialog h2{margin:10px 0 18px;color:#fff;font-size:26px}
.risk-consent-dialog p{margin:10px 0;color:#c4ccda;line-height:1.75}
.risk-consent-dialog .detail-btn{width:100%;margin-top:20px}
body.risk-consent-open{overflow:hidden}
.metric-compliance-note{display:block;margin-top:10px;color:#77869d;font-size:12px;line-height:1.6}
.tracking-log-table{display:grid;gap:0;overflow-x:auto}
.tracking-log-table .head,.tracking-log-table>a{display:grid;grid-template-columns:1.1fr 1.35fr 1fr 1fr 1fr .8fr .8fr;align-items:center;gap:14px;min-width:900px;padding:14px 16px;border-bottom:1px solid rgba(120,146,180,.12)}
.tracking-log-table .head{color:#70829c;font-size:12px;background:rgba(17,30,48,.46)}
.tracking-log-table>a{color:#bdc9d9;text-decoration:none;font-size:13px}
.tracking-log-table>a:hover{background:rgba(60,120,210,.08)}
.tracking-log-table>a b{color:#eef4ff}
.tracking-log-table>a em{color:#f0bd56;font-style:normal}

/* Beta experience and analysis trust layer */
.analysis-trust-strip{display:grid;grid-template-columns:.65fr 1.25fr 1.1fr .75fr .7fr 1fr;gap:1px;margin:18px 0;border:1px solid #263850;border-radius:8px;overflow:hidden;background:#263850}
.analysis-trust-strip>div{min-width:0;padding:13px 14px;background:#0d1725}
.analysis-trust-strip span,.watch-data-meta span,.watch-reason-grid span{display:block;color:#71849d;font-size:11px}
.analysis-trust-strip strong{display:block;margin-top:6px;overflow:hidden;color:#dce8f7;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.analysis-trust-strip .completeness i,.watch-data-meta i{display:block;height:4px;margin-top:8px;border-radius:4px;background:#1c2b3e;overflow:hidden}
.analysis-trust-strip .completeness i b,.watch-data-meta i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2e86ff,#18d28b)}
.factor-contribution-board{margin:0 0 18px;padding:18px;border:1px solid #263850;border-radius:8px;background:linear-gradient(145deg,rgba(20,35,55,.82),rgba(9,18,29,.92))}
.factor-contribution-board>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:15px}
.factor-contribution-board h3{margin:0;color:#e6f0fb;font-size:17px}.factor-contribution-board p{margin:5px 0 0;color:#71849d;font-size:12px}.factor-contribution-board header>span{color:#74b8ff;font-size:12px}
.factor-contribution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 18px}
.factor-contribution{display:grid;grid-template-columns:88px 1fr 42px 34px;align-items:center;gap:9px;font-size:12px}
.factor-contribution>span{color:#9aacc1}.factor-contribution>div{height:8px;border-radius:8px;background:#1a293b;overflow:hidden}.factor-contribution i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2e86ff,#18d28b)}
.factor-contribution strong{color:#e7f1ff;text-align:right}.factor-contribution small{color:#60748e}.factor-contribution.risk i{background:linear-gradient(90deg,#f5b544,#ff5969)}.factor-contribution.risk strong{color:#ff7a86}.factor-contribution.volume i{background:linear-gradient(90deg,#5c6cff,#5ca8ff)}.factor-contribution.market i{background:linear-gradient(90deg,#9c67ff,#5ca8ff)}
.watch-data-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0;padding:12px;border:1px solid rgba(84,132,190,.18);border-radius:7px;background:rgba(8,18,30,.56)}
.watch-data-meta>div{min-width:0}.watch-data-meta b{display:block;margin-top:5px;overflow:hidden;color:#cbd9e9;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.watch-data-meta i{width:100%}
.watch-reason-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.watch-reason-grid>div{padding:11px;border-left:2px solid #5ca8ff;background:rgba(50,101,165,.08)}.watch-reason-grid b{display:block;margin-top:5px;color:#c7d5e5;font-size:12px;line-height:1.55}.watch-reason-grid .warning{border-color:#f5b544}.watch-reason-grid .complete{border-color:#18d28b}
.watch-lifecycle-timeline{position:relative;display:grid;gap:0;margin:14px 0 16px;padding-left:10px}.watch-lifecycle-timeline:before{content:"";position:absolute;top:8px;bottom:8px;left:14px;width:1px;background:#2a4362}.watch-lifecycle-timeline>div{position:relative;display:grid;grid-template-columns:15px 125px 1fr;gap:8px 11px;padding:7px 0}.watch-lifecycle-timeline i{position:relative;z-index:1;width:9px;height:9px;margin-top:4px;border:2px solid #5ca8ff;border-radius:50%;background:#0d1725}.watch-lifecycle-timeline time{color:#6f829b;font-size:11px}.watch-lifecycle-timeline strong{color:#b9c9db;font-size:12px}.watch-lifecycle-timeline span{grid-column:3;color:#7f93aa;font-size:11px;line-height:1.5}
.pagination-bar{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.pagination-bar span{color:#8397af;font-size:12px}.pagination-bar .disabled{pointer-events:none;opacity:.38}
.enhanced-empty{min-height:88px;display:grid;place-items:center;padding:20px;border:1px dashed #2c405a;border-radius:8px;background:rgba(39,72,112,.05);color:#8093ab;text-align:center}
#experienceLayer{position:fixed;inset:0;z-index:10020;pointer-events:none}.network-progress{position:absolute;top:0;left:0;width:100%;height:3px;overflow:hidden;opacity:0;transition:opacity .18s}.network-progress i{display:block;width:35%;height:100%;background:linear-gradient(90deg,transparent,#5ca8ff,#18d28b,transparent);transform:translateX(-120%)}#experienceLayer.is-loading .network-progress{opacity:1}#experienceLayer.is-loading .network-progress i{animation:network-progress 1s linear infinite}
.network-toast{position:absolute;right:22px;bottom:22px;max-width:min(420px,calc(100vw - 32px));padding:12px 16px;border:1px solid #38506d;border-radius:7px;background:#101b2a;color:#d5e1ef;box-shadow:0 16px 45px rgba(0,0,0,.4);opacity:0;transform:translateY(12px);transition:.22s}.network-toast.show{opacity:1;transform:none}.network-toast.danger{border-color:#7a3540;color:#ff9aa4}.network-toast.warning{border-color:#715a2e;color:#f4ca73}
button.is-busy{position:relative;cursor:wait;opacity:.72}button.is-busy:before{content:"";display:inline-block;width:11px;height:11px;margin-right:7px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:button-spin .7s linear infinite}
@keyframes network-progress{to{transform:translateX(330%)}}@keyframes button-spin{to{transform:rotate(360deg)}}

@media(max-width:980px){.analysis-trust-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.watch-data-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.analysis-trust-strip,.factor-contribution-grid,.watch-data-meta,.watch-reason-grid{grid-template-columns:1fr}.factor-contribution{grid-template-columns:78px 1fr 35px 28px}.watch-lifecycle-timeline>div{grid-template-columns:15px 1fr}.watch-lifecycle-timeline span{grid-column:2}.pagination-bar{gap:8px}.pagination-bar span{font-size:11px}.network-toast{right:16px;bottom:16px}}
.detail-chart-grid > .panel[draggable="true"] .panel-head { cursor: grab; }
.detail-chart-grid > .panel.dragging { opacity: .55; outline: 1px solid #47a6ff; }
.stream-offline::after { content: "行情流重连中"; position: absolute; right: 12px; top: 10px; color: #f4b942; font-size: 12px; }
.stream-flash { transition: background-color .22s ease; background-color: rgba(71,166,255,.09) !important; }
.terminal-layout-toolbar { display:flex; align-items:center; gap:8px; margin:8px 0; color:#8496ad; }
.terminal-layout-toolbar button { border:1px solid #29405b; background:#0c1726; color:#b9c9dc; border-radius:6px; padding:5px 10px; cursor:pointer; }
.detail-chart-grid[data-panes="1"] { grid-template-columns:1fr; }
.detail-chart-grid[data-panes="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.detail-chart-grid[data-panes="3"] { grid-template-columns:repeat(3,minmax(0,1fr)); }
.detail-chart-grid[data-panes="4"] { grid-template-columns:repeat(4,minmax(0,1fr)); }
html[data-density="lite"] .detail-chart-grid .panel:not(.ai-kline-panel) { display:none; }
html[data-density="lite"] .detail-chart-grid { grid-template-columns:1fr; }
@media(max-width:900px){.detail-chart-grid[data-panes]{grid-template-columns:1fr;}}
.user-center{position:relative;flex:0 0 auto}.user-menu-toggle,.login-state-link{display:flex;align-items:center;gap:9px;border:1px solid #29405b;background:#0b1624;color:#dce8f5;border-radius:9px;padding:6px 10px;text-decoration:none;cursor:pointer}.user-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#2878ff,#20c997);color:#fff;font-weight:900}.user-identity{display:flex;flex-direction:column;text-align:left}.user-identity small{color:#7890aa;font-size:10px}.user-dropdown{position:absolute;z-index:1200;right:0;top:calc(100% + 8px);width:210px;padding:8px;background:#091422;border:1px solid #29405b;border-radius:10px;box-shadow:0 16px 40px rgba(0,0,0,.45)}.user-dropdown a,.user-dropdown button{display:flex;width:100%;justify-content:space-between;border:0;background:transparent;color:#dce8f5;padding:10px;border-radius:6px;text-decoration:none;cursor:pointer}.user-dropdown a:hover,.user-dropdown button:hover{background:#14263a}.user-dropdown small{color:#70869e}.user-dropdown hr{border:0;border-top:1px solid #23374e;margin:5px}.auth-error{min-height:20px;color:#ff6372}.login-state-link b{font-size:12px}@media(max-width:780px){.user-identity{display:none}.user-menu-toggle{padding:4px}.user-dropdown{right:-5px}}
.decision-summary-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:12px;padding:14px}.decision-summary-grid article{border:1px solid #263b53;background:#0d1928;border-radius:8px;padding:14px}.decision-state-card{grid-row:span 2}.decision-state-card>span,.decision-points-card header span,.decision-levels-card header span,.decision-market-card header span{color:#7f95ad;font-size:12px}.decision-state-card>strong{display:block;margin:9px 0;color:#f1f6fc;font-size:25px}.decision-state-card p{color:#9eb0c3;line-height:1.7}.decision-state-card>div{display:flex;justify-content:space-between;margin-top:18px;padding-top:12px;border-top:1px solid #23374e}.decision-state-card em{color:#f4b942;font-style:normal}.decision-points-card header,.decision-levels-card header,.decision-market-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.decision-points-card header b{font-size:11px;color:#7e91a8}.decision-points-card ul{list-style:none;padding:0;margin:0}.decision-points-card li{display:flex;gap:8px;padding:7px 0;color:#c9d6e4;border-top:1px solid rgba(42,62,84,.55)}.decision-points-card li i{font-style:normal;font-weight:900}.decision-points-card.positive li i{color:#20d29a}.decision-points-card.risk li i{color:#ff6474}.decision-levels-card>div,.decision-market-card>div{display:flex;justify-content:space-between;padding:6px 0;color:#8fa3b8}.decision-levels-card strong,.decision-market-card strong{color:#e6eef7}.decision-levels-card small,.decision-market-card small{color:#657e98}.raw-score-details{margin:0 14px 14px;border:1px solid #263b53;border-radius:8px;background:#0b1725}.raw-score-details summary{display:flex;align-items:center;gap:10px;padding:13px 15px;cursor:pointer;color:#b8c8da}.raw-score-details summary b{margin-left:auto;color:#f4b942}.raw-score-details summary i{font-style:normal}.raw-score-details[open] summary i{transform:rotate(45deg)}.compact-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 12px 12px}.compact-score-grid article{display:grid;grid-template-columns:20px 160px 1fr;gap:8px;padding:8px;border:1px solid #22364d;border-radius:6px;color:#c7d3e1}.compact-score-grid article i{font-style:normal}.compact-score-grid article.pass i{color:#20d29a}.compact-score-grid article.fail i{color:#ff6474}.compact-score-grid article small{color:#71869d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:950px){.decision-summary-grid{grid-template-columns:1fr 1fr}.decision-state-card{grid-row:auto;grid-column:span 2}}@media(max-width:640px){.decision-summary-grid{grid-template-columns:1fr}.decision-state-card{grid-column:auto}.compact-score-grid{grid-template-columns:1fr}.compact-score-grid article{grid-template-columns:20px 1fr}.compact-score-grid article small{grid-column:2}}
.detail-chart-grid.report-charts{grid-template-columns:1fr!important}.detail-chart-grid.report-charts>.panel{grid-column:1!important}.detail-chart-grid.report-charts .compact-kline{height:650px}.detail-chart-grid.report-charts #fundLineChart{height:230px}.shortline-quote-strip{display:grid;grid-template-columns:repeat(9,minmax(76px,1fr));border-top:1px solid #203149;border-bottom:1px solid #203149;background:#09131f}.shortline-quote-strip>div{padding:9px 11px;border-right:1px solid #1c2d42}.shortline-quote-strip span{display:block;color:#70869e;font-size:10px}.shortline-quote-strip strong{display:block;margin-top:3px;color:#dce8f5;font-size:13px}.shortline-quote-strip .market-up{color:#ff5967}.shortline-quote-strip .market-down{color:#18c997}.shortline-quote-strip .stream-health strong.online{color:#20d29a}.shortline-quote-strip .stream-health strong.offline{color:#f4b942}.kline-subchart-tabs{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.kline-subchart-tabs>b{color:#8195aa;font-size:12px}.kline-subchart-tabs button{min-height:32px;padding:0 12px;border:1px solid #263850;border-radius:5px;background:#0e1a29;color:#9bacc0;cursor:pointer}.kline-subchart-tabs button.active{border-color:#3d8fe8;background:#123055;color:#e6f2ff}.kline-status{margin:0!important}.ai-kline-panel .panel-head{padding-top:12px;padding-bottom:12px}@media(max-width:1050px){.shortline-quote-strip{grid-template-columns:repeat(5,1fr)}}@media(max-width:650px){.shortline-quote-strip{grid-template-columns:repeat(3,1fr)}.detail-chart-grid.report-charts .compact-kline{height:520px}}
