/* Apple-style product page */
:root{
  --bg:#ffffff;--bg2:#f5f5f7;--text:#1d1d1f;--muted:#6e6e73;--line:#e5e5ea;
  --blue:#0071e3;--blue2:#0077ed;--green:#1d7a4a;--red:#c62828;
  --sans:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{
  margin:0;background:var(--bg)!important;color:var(--text)!important;
  font:16px/1.5 var(--sans)!important;-webkit-font-smoothing:antialiased;min-height:100vh;
}
body:before{display:none!important}
a{color:var(--blue)!important;text-decoration:none}
.nav{
  position:sticky!important;top:0;z-index:20;height:48px!important;
  background:rgba(255,255,255,.8)!important;border-bottom:1px solid rgba(0,0,0,.08)!important;
  backdrop-filter:saturate(180%) blur(20px)!important;
}
.nav-inner{max-width:1040px;height:48px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:22px}
.brand{display:flex;align-items:center;gap:8px;color:var(--text)!important;font:600 15px/1 var(--sans)!important;letter-spacing:-.1px!important}
.brand span{color:var(--text)!important}
.logo{width:25px;height:25px;display:block;flex:none;border-radius:6px!important}
.glyph{display:none}
.nav-links{display:flex;align-items:center;gap:22px;margin-left:auto}
.nav-links a{font:400 11px/1.4 var(--sans)!important;color:var(--text)!important;opacity:.86}
.nav-links a:hover{color:var(--blue)!important;opacity:1}
.nav-actions{display:flex;align-items:center;gap:12px;margin-left:8px}
.nav-user{font:11px/1.4 var(--sans);color:var(--muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-action{background:none;border:0;color:var(--muted)!important;font:11px/1.4 var(--sans);cursor:pointer;padding:0}
.nav-action:hover{color:var(--blue)!important}
.wrap{max-width:1080px!important;margin:0 auto!important;padding:0 20px 64px!important}
.hero{text-align:center!important;padding:72px 0 52px!important;margin:0!important;max-width:880px!important;margin-left:auto!important;margin-right:auto!important;border:0!important}
.hero h1{font:600 clamp(40px,6vw,64px)/1.05 var(--sans)!important;letter-spacing:-2.2px!important;margin:0 0 16px!important;color:var(--text)!important}
.hero h1 em{font-style:normal!important;color:var(--muted)!important}
.hero-sub,.lede{font-size:19px!important;line-height:1.5!important;color:var(--muted)!important;max-width:620px;margin:0 auto 24px!important}
.eyebrow{display:block!important;font:500 12px/1.4 var(--sans)!important;letter-spacing:.2px!important;color:var(--blue)!important;margin-bottom:12px!important}
.hero-actions{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:24px}
.cta,.hero-actions .cta{display:inline-flex;align-items:center;justify-content:center;background:var(--blue)!important;color:#fff!important;border:0!important;border-radius:980px!important;padding:12px 24px!important;font:400 15px/1.2 var(--sans)!important}
.cta:hover{background:var(--blue2)!important}
.text-link{font:400 15px/1.2 var(--sans)!important;color:var(--blue)!important}
.ghost,.hero-actions .ghost{background:transparent!important;border:0!important;color:var(--blue)!important;border-radius:0!important;padding:0!important;font:400 15px/1.4 var(--sans)!important;cursor:pointer;box-shadow:none!important}
.ghost:hover{text-decoration:underline!important;background:transparent!important;color:var(--blue)!important}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:42px 0 18px}
.section-head h2{font:600 28px/1.2 var(--sans)!important;letter-spacing:-.6px!important;margin:0!important;color:var(--text)!important}
.section-head p{font:12px/1.4 var(--sans)!important;color:var(--muted)!important;margin:0!important}
.grid{
  display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0!important;
  background:var(--bg2)!important;border:0!important;border-radius:20px!important;
  margin:26px 0 28px!important;overflow:hidden;
}
.metric{padding:24px!important;border:0!important;border-right:1px solid var(--line)!important;background:transparent!important;border-radius:0!important;min-height:0!important;display:block!important;box-shadow:none!important}
.metric:last-child{border-right:0!important}
.metric .k{font:400 12px/1.4 var(--sans)!important;color:var(--muted)!important;letter-spacing:0!important}
.metric .v{font:600 40px/1.1 var(--sans)!important;letter-spacing:-1.2px!important;margin-top:5px!important;font-variant-numeric:tabular-nums;color:var(--text)!important}
.metric.good .v{color:var(--green)!important}
.metric.gold .v{color:var(--text)!important}
.two{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important;margin-bottom:16px!important}
.card,.panel{background:#fff!important;border:1px solid var(--line)!important;border-radius:20px!important;padding:26px!important;box-shadow:none!important;backdrop-filter:none!important}
.card h2,.panel h2{font:600 19px/1.3 var(--sans)!important;margin:0 0 10px!important;letter-spacing:-.3px!important;color:var(--text)!important}
p.sub{color:var(--muted)!important;font-size:14px!important;line-height:1.55!important;margin:0 0 12px!important}
.bar{height:6px!important;background:#e8e8ed!important;border-radius:99px!important;overflow:hidden;margin-top:12px!important}
.bar i{display:block;height:100%;background:var(--blue)!important;border-radius:99px!important}
.signal{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0!important;border-bottom:1px solid var(--line)!important}
.signal:last-child{border-bottom:0!important}
.signal .name{font:600 16px/1.4 var(--sans)!important;color:var(--text)!important}
.signal .meta{font:12px/1.5 var(--sans)!important;color:var(--muted)!important;margin-top:3px!important;font-variant-numeric:tabular-nums}
.signal .right{text-align:right;white-space:nowrap}
.signal .move{font:12px/1.4 var(--sans)!important;color:var(--muted)!important;margin-top:3px!important}
.dir-up{color:var(--green)!important}.dir-down{color:var(--red)!important}
.win{color:var(--green)!important;font:600 13px/1.4 var(--sans)!important}
.loss{color:var(--red)!important;font:600 13px/1.4 var(--sans)!important}
.pending{color:#8a6a00!important;font:600 13px/1.4 var(--sans)!important}
.notice{background:var(--bg2)!important;border:0!important;color:var(--muted)!important;font:12px/1.7 var(--sans)!important;border-radius:14px!important;padding:15px 18px!important;margin-top:20px!important}
.refresh{display:flex;align-items:center;gap:6px;color:var(--muted)!important;font:12px/1.4 var(--sans)!important;margin-top:12px!important}
.refresh:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green)!important}
/* credits */
.creditbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px!important;margin:16px 0!important;background:var(--bg2)!important;border:0!important;border-radius:20px!important}
.creditbar .k{font:12px/1.4 var(--sans)!important;color:var(--muted)!important}
.creditbar .num{font:600 38px/1.1 var(--sans)!important;letter-spacing:-1.2px;font-variant-numeric:tabular-nums;color:var(--text)!important}
.creditbar .desc{color:var(--muted)!important;font:12px/1.6 var(--sans)!important;text-align:right!important}
.symbol-tabs{display:flex;gap:8px;margin:20px 0 16px}
.symbol-tabs a{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:8px 15px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--text)!important;font:500 13px/1.3 var(--sans)}
.symbol-tabs a.active{background:var(--text);border-color:var(--text);color:#fff!important}
.cycle-select{display:none}
.invite-code{font:600 30px/1.2 var(--mono);letter-spacing:8px;padding:12px 0;border-bottom:1px solid var(--line);user-select:all;-webkit-user-select:all}
.cost-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:10px!important;margin-bottom:18px!important}
.cost-item{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font:13px/1.4 var(--sans)}
.cost-item b{font-weight:600}.cost-item span{color:var(--muted);font-size:12px}
.ledger-row{display:grid;grid-template-columns:1fr 90px 120px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font:13px/1.4 var(--sans)}
.ledger-row:last-child{border-bottom:0}.ledger-row span:nth-child(2){text-align:right;font-weight:600}.ledger-row span:nth-child(3){text-align:right;color:var(--muted);font-size:12px}
@media(max-width:680px){.cost-grid{grid-template-columns:1fr 1fr!important}.ledger-row{grid-template-columns:1fr 70px 88px}}
/* forecast */
.forecast-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:14px!important;margin-bottom:18px!important}
.forecast{border:0!important;border-radius:22px!important;padding:22px!important;display:flex!important;flex-direction:column!important;gap:9px!important;min-height:245px!important;box-shadow:none!important;background:var(--bg2)!important}
.forecast:nth-child(1){background:#f0f6ff!important}
.forecast:nth-child(2){background:#f3f1ff!important}
.forecast:nth-child(3){background:#fff7ed!important}
.forecast:nth-child(4){background:#f5f5f7!important}
.forecast:nth-child(5){background:#fff4f0!important}
.forecast:nth-child(6){background:#f1f8ff!important}
.forecast:nth-child(7){background:#f1f9f4!important}
.forecast:nth-child(8){background:#f7f3ff!important}
.forecast .hz{font:600 46px/1 var(--sans)!important;letter-spacing:-2px!important;margin-bottom:2px!important;color:var(--text)!important}
.forecast .desc{color:var(--muted)!important;font:13px/1.55 var(--sans)!important;flex:1!important}
.badge{display:inline-block!important;border:1px solid var(--line)!important;border-radius:999px!important;padding:3px 9px!important;font:500 10px/1.3 var(--sans)!important;color:var(--muted)!important;align-self:flex-start!important;background:rgba(255,255,255,.6)!important}
.badge.ok{color:var(--green)!important;border-color:#c4dfd2!important}
.badge.exp{color:#8a6a00!important;border-color:#e8ddb8!important}
.forecast button{width:100%!important;margin-top:4px!important;padding:10px!important;border:0!important;border-radius:980px!important;background:var(--blue)!important;color:#fff!important;font:400 13px/1.4 var(--sans)!important;cursor:pointer}
.forecast button:hover{background:var(--blue2)!important}
.forecast .res{font:12px/1.55 var(--sans)!important;color:var(--muted)!important;min-height:30px!important}
.trade-plan{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,.08)}
.trade-plan div{min-width:0}.trade-plan span{display:block;color:var(--muted);font-size:10px;margin-bottom:1px}.trade-plan b{display:block;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.forecast .res b{display:block!important;font:600 21px/1.2 var(--sans)!important;margin-bottom:2px!important;color:var(--text)!important}
.reasons{margin:10px 0 0;padding-left:18px;color:var(--text);font:13px/1.7 var(--sans)}
.reasons li{margin:3px 0}
.detail-note{color:var(--muted);font:12px/1.65 var(--sans);margin:7px 0 0}
/* auth */
.auth-page{min-height:calc(100vh - 48px);background:var(--bg2)!important;margin:0 -20px;padding:0 20px;display:block!important}
.auth-shell{max-width:980px;margin:7vh auto;display:grid;grid-template-columns:1fr 400px;gap:70px;align-items:center;background:transparent;border:0;box-shadow:none}
.auth-aside{padding:0;margin:0;background:transparent;border:0;max-width:460px}
.auth-aside h1{font:600 48px/1.06 var(--sans)!important;letter-spacing:-1.8px!important;margin:0 0 16px!important;color:var(--text)!important}
.auth-aside p{font-size:17px!important;line-height:1.55!important;color:var(--muted)!important;margin:0 0 22px!important}
.auth-aside .eyebrow{color:var(--blue)!important}
.auth-sessions{display:flex;flex-wrap:wrap;gap:8px}
.auth-sessions span{border:1px solid var(--line);border-radius:999px;padding:5px 10px;font:12px/1.4 var(--sans);color:var(--muted);background:#fff}
.auth-shell .auth{margin:0!important;max-width:none!important;width:100%!important;justify-self:stretch!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:24px!important;box-shadow:0 18px 50px rgba(0,0,0,.06)!important;padding:34px!important}
.auth h1{font:600 28px/1.15 var(--sans)!important;letter-spacing:-.8px!important;margin:0 0 6px!important;color:var(--text)!important}
.auth p.sub{font:13px/1.6 var(--sans)!important;color:var(--muted)!important;margin-bottom:18px!important}
label{display:block;color:var(--muted)!important;font:12px/1.4 var(--sans)!important;margin:15px 0 6px!important}
input{width:100%;background:#fff!important;border:1px solid var(--line)!important;border-radius:11px!important;padding:11px 12px!important;color:var(--text)!important;font:15px/1.4 var(--sans)!important;outline:none!important;box-shadow:none!important}
input:focus{border-color:var(--blue)!important;box-shadow:0 0 0 3px rgba(0,113,227,.12)!important}
button.primary{width:100%;margin-top:22px!important;background:var(--blue)!important;color:#fff!important;border:0!important;border-radius:980px!important;padding:12px!important;font:400 15px/1.4 var(--sans)!important;cursor:pointer!important;box-shadow:none!important}
button.primary:hover{background:var(--blue2)!important;transform:none!important;filter:none!important}
.err{background:#fff5f4!important;border:1px solid #f0c8c4!important;color:#8a1c12!important;border-radius:10px!important;padding:9px 11px!important;margin:10px 0!important;font:12px/1.5 var(--sans)!important}
.foot{color:var(--muted)!important;font:12px/1.7 var(--sans)!important;margin-top:15px!important}
.foot a{color:var(--blue)!important}
/* common */
.chip{display:inline-flex!important;align-items:center!important;gap:5px!important;border-radius:999px!important;padding:4px 10px!important;font:12px/1.4 var(--sans)!important;border:1px solid var(--line)!important;color:var(--muted)!important;background:#fff!important}
.chip.live{color:var(--green)!important;border-color:#c4dfd2!important}
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#1d1d1f;color:#fff;padding:10px 16px;border-radius:10px;font:13px/1.4 var(--sans);display:none;z-index:30;box-shadow:0 8px 30px rgba(0,0,0,.18)}
.footer{border-top:1px solid var(--line);color:var(--muted);font:12px/1.7 var(--sans);padding:18px 0 0;margin-top:46px}
.footer-inner{max-width:1080px;margin:0 auto;padding:0 20px}
@media(max-width:900px){
  .grid{grid-template-columns:1fr 1fr!important}
  .metric:nth-child(2){border-right:0!important}
  .metric:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .auth-shell{grid-template-columns:1fr;gap:30px;margin:5vh auto;max-width:520px}
  .auth-aside{max-width:none}
  .auth-aside h1{font-size:40px!important}
}
@media(max-width:680px){
  .nav-inner{padding:0 16px;gap:12px}
  .nav-links{gap:14px}
  .wrap{padding:0 16px 48px!important}
  .hero{padding:46px 0 34px!important}
  .hero h1{font-size:42px!important;letter-spacing:-1.4px!important}
  .hero-sub,.lede{font-size:17px!important}
  .two{grid-template-columns:1fr!important}
  .section-head h2{font-size:24px!important}
  .metric{padding:18px 16px!important}
  .metric .v{font-size:32px!important}
  .cycle-select{display:block!important;width:100%;margin:0 0 12px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text);font:15px/1.4 var(--sans);outline:none}
  .forecast-grid{grid-template-columns:1fr!important;gap:0!important}
  .forecast{display:none!important;min-height:220px!important;padding:22px!important}
  .forecast.mobile-active{display:flex!important}
  .forecast .hz{font-size:38px!important}
  .auth-page{margin:0 -16px;padding:0 16px}
  .auth-aside h1{font-size:36px!important}
  .creditbar{align-items:flex-start!important;flex-direction:column!important}
  .creditbar .desc{text-align:left!important}
}
