:root{--bg:#0b1220;--bg2:#111a2e;--card:#131d33;--line:#22304d;--tx:#e6ebf5;--mut:#93a1bd;--ac:#f5b301;--ac2:#2fd3a7;--up:#22c55e;--dn:#ef4444;--lnk:#7cc4ff}
html[data-theme=light]{--bg:#f6f8fc;--bg2:#ffffff;--card:#ffffff;--line:#dfe5f0;--tx:#111827;--mut:#5b6476;--ac:#b7791f;--ac2:#0f9d77;--up:#15803d;--dn:#dc2626;--lnk:#1d5fbf}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,sans-serif}
a{color:var(--lnk);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1200px;margin:0 auto;padding:0 16px}
header.site{position:sticky;top:0;z-index:50;background:var(--bg2);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:12px;height:58px}
.logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:19px;color:var(--tx)}.logo:hover{text-decoration:none}
.logo b{color:var(--ac)}.logo svg{width:28px;height:28px}
nav.main{margin-left:auto;display:flex;gap:4px}
nav.main a{color:var(--tx);padding:8px 10px;border-radius:8px;font-size:15px}nav.main a:hover,nav.main a.on{background:var(--card);text-decoration:none;color:var(--ac)}
.ibtn{background:var(--card);border:1px solid var(--line);color:var(--tx);border-radius:8px;height:36px;min-width:36px;cursor:pointer;font-size:17px}
#menuBtn{display:none}
@media(max-width:900px){#menuBtn{display:block;margin-left:auto}nav.main{display:none;position:absolute;top:58px;left:0;right:0;background:var(--bg2);flex-direction:column;padding:8px 16px;border-bottom:1px solid var(--line)}nav.main.open{display:flex}}
.tape{border-bottom:1px solid var(--line);min-height:46px;background:var(--bg2)}
main{padding:20px 0 40px}
h1{font-size:clamp(26px,4vw,38px);line-height:1.2;margin:8px 0 10px}h2{font-size:22px;margin:30px 0 12px}h3{font-size:18px;margin:0 0 8px}
.lead{color:var(--mut);font-size:17px;max-width:820px;margin:0 0 18px}
.crumbs{font-size:13px;color:var(--mut)}.crumbs a{color:var(--mut)}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.g2{display:grid;gap:18px;grid-template-columns:2fr 1fr}@media(max-width:900px){.g2{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}
a.card{display:block;color:var(--tx)}a.card:hover{border-color:var(--ac);text-decoration:none}
.card .mut,.mut{color:var(--mut);font-size:14px}
.pill{display:inline-block;font-size:12px;padding:2px 8px;border-radius:99px;background:var(--bg);border:1px solid var(--line);color:var(--mut)}
.chart{height:540px}@media(max-width:700px){.chart{height:420px}}
.tvw .tradingview-widget-container,.tvw .tradingview-widget-container__widget{height:100%}
.news{list-style:none;margin:0;padding:0}.news li{padding:10px 0;border-bottom:1px solid var(--line)}.news li:last-child{border:0}
.news a{color:var(--tx);font-weight:600}.news a:hover{color:var(--lnk)}.news .src{display:block;color:var(--mut);font-size:13px;margin-top:2px}
.tbl{width:100%;border-collapse:collapse;font-size:15px}.tbl th,.tbl td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
.tbl th:nth-child(-n+2),.tbl td:nth-child(-n+2){text-align:left}.tbl th{color:var(--mut);font-weight:600;font-size:13px;cursor:pointer}
.tbl img{width:20px;height:20px;vertical-align:middle;margin-right:6px;border-radius:50%}
.scroll{overflow-x:auto}.up{color:var(--up)}.dn{color:var(--dn)}
.prose{max-width:780px}.prose p,.prose li{font-size:17px}.prose h2{margin-top:28px}
.facts{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.note{font-size:14px;color:var(--mut);border-left:3px solid var(--ac);padding:6px 12px;background:var(--card);border-radius:6px}
footer.site{border-top:1px solid var(--line);background:var(--bg2);padding:28px 0;color:var(--mut);font-size:14px}
footer.site .cols{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}footer.site a{color:var(--mut)}footer.site h4{color:var(--tx);margin:0 0 8px}
footer.site ul{list-style:none;padding:0;margin:0}footer.site li{margin:4px 0}
.hero{padding:10px 0 4px}.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.sec-h a{font-size:14px;white-space:nowrap}.sec-h h2 a,.sec-h h3 a{font-size:inherit;white-space:normal}
.upd{font-size:12px;color:var(--mut)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--card);padding:8px;z-index:99}
.tape .tvw{min-height:46px}.tvw iframe{color-scheme:normal}

/* ---- 2026-10-31 refresh ---- */
:root{--sk1:rgba(147,161,189,.08);--sk2:rgba(147,161,189,.18);--ac-tx:#0b1220}
html[data-theme=light]{--sk1:rgba(17,24,39,.05);--sk2:rgba(17,24,39,.11);--ac-tx:#fff}
/* TradingView widgets: reserved height, skeleton, fallback */
.tvw{position:relative;min-height:120px;overflow:hidden;border-radius:10px}
.tvw-ticker-tape{height:46px;min-height:46px;border-radius:0}
.tvw-symbol-info{height:190px}@media(max-width:700px){.tvw-symbol-info{height:250px}}
.tvw-mini-symbol-overview{height:200px}.tvw-technical-analysis{height:450px}
.tvw .sk{position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,var(--sk1) 0,var(--sk2) 40%,var(--sk1) 80%);background-size:300% 100%;animation:sk 1.4s ease-in-out infinite;border-radius:inherit}
.tvw-ticker-tape .sk{background-color:transparent}
.tvw.ok .sk{display:none}
.tvw .tradingview-widget-container{position:relative;z-index:1}
@keyframes sk{0%{background-position:100% 0}100%{background-position:0 0}}
@media(prefers-reduced-motion:reduce){.tvw .sk,.news .skl span{animation:none}}
.tvw .fb{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:14px;margin:0;color:var(--mut);font-size:14px;background:var(--card)}
.tvw-ticker-tape .fb{flex-direction:row;font-size:13px;background:var(--bg2)}
.tvw.fail .sk{animation:none;opacity:.4}
/* news skeleton */
.news .skl span{display:block;height:14px;border-radius:6px;margin:6px 0;background:linear-gradient(90deg,var(--sk1) 0,var(--sk2) 40%,var(--sk1) 80%);background-size:300% 100%;animation:sk 1.4s ease-in-out infinite}
.news .skl span+span{width:40%;height:10px}
/* hero */
.hero2{display:grid;grid-template-columns:1.5fr 1fr;gap:22px;align-items:center;padding:18px 0 8px}
@media(max-width:900px){.hero2{grid-template-columns:1fr}}
.hero2 h1{font-size:clamp(30px,5vw,48px);letter-spacing:-.02em;margin:6px 0 12px}
.hero2 .lead{font-size:18px}
.eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ac2);margin:0}
.ctas{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 12px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:10px;font-weight:700;border:1px solid var(--line);background:var(--card);color:var(--tx)}
.btn:hover{text-decoration:none;border-color:var(--ac)}
.btn.pri{background:var(--ac);border-color:var(--ac);color:var(--ac-tx)}.btn.pri:hover{filter:brightness(1.08)}
.card.latest{display:block;color:var(--tx);border-color:var(--ac);background:linear-gradient(160deg,var(--card),var(--bg2))}
.card.latest b{display:block;font-size:20px;line-height:1.3;margin:8px 0 6px}.card.latest .go{color:var(--lnk);font-weight:600;font-size:14px}
.card.latest:hover{text-decoration:none}
/* tiles */
.tiles{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.tile{padding:12px 14px}
.cgrid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.cgrid .t-h{display:flex;align-items:center;gap:6px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cgrid img{border-radius:50%;flex:0 0 auto}
.tile .p{font-size:18px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}
.chg{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.gh{margin-top:18px}
.pad0{padding:0;overflow:hidden}.pad6{padding:6px}.pad8{padding:8px}
.guides{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.card.guide b{display:block;line-height:1.35}
.pill.new{background:var(--ac);border-color:var(--ac);color:var(--ac-tx);font-weight:700}
/* article layout */
.g2.art{margin-top:18px;align-items:start}
.side{display:grid;gap:14px;position:sticky;top:74px}
@media(max-width:900px){.side{position:static}}
.side .pill{margin:0 4px 6px 0}
.byline{font-size:14px;color:var(--mut);margin:-6px 0 14px}
.faq details{border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:8px 0;background:var(--card)}
.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0}
.tbl.spec th{text-align:left;color:var(--mut);font-weight:600;width:38%;cursor:default;white-space:normal}.tbl.spec td{text-align:left;white-space:normal}
.prose .tbl td,.prose .tbl th{white-space:normal}
.prose .card{font-size:17px}
.pgupd{font-size:12px;color:var(--mut);margin-top:26px}
.crumbs span{color:var(--tx)}
.g2.eq{grid-template-columns:1fr 1fr}@media(max-width:900px){.g2.eq{grid-template-columns:1fr}}
