/* Shared wayfinding: names first, section numbers second. */
.site-shell { overflow: clip; }
.nav { position: sticky; top: 0; z-index: 40; background: var(--tone-0b0b0bf5); height: 82px; }
.nav-links { gap: 22px; }
.nav-links a { font: 600 14px/1.4 "Manrope",sans-serif; letter-spacing: 0; padding-block: 12px; }
.nav-links a[aria-current="page"]:not(.nav-cta) { color: var(--tone-ffffff); box-shadow: inset 0 -2px var(--tone-ffffff); }
.nav-links a:hover { color: var(--tone-ffffff); }
.nav-cta { background: var(--tone-f5f5f1); color: var(--tone-111111); border-radius: 5px; }
.nav-links .nav-cta:hover { background: var(--tone-dddddd); color: var(--tone-111111); }
.nav .nav-links .nav-cta { background: #f5f5f1; color: #111111; border-color: #f5f5f1; }
.nav .nav-links .nav-cta:hover { background: #dddddd; color: #111111; }
[data-theme="light"] .nav .nav-links .nav-cta { background: #161f2c; color: #ffffff; border-color: #161f2c; }
[data-theme="light"] .nav .nav-links .nav-cta:hover { background: #303c4e; color: #ffffff; }
.section-label { gap: 14px; font: 700 15px/1.5 "Manrope",sans-serif; letter-spacing: .015em; color: inherit; opacity: 1; }
.section-label > span { width: 38px; height: 38px; min-width: 38px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 7px; font-size: 15px; }
.section-label p { color: inherit; opacity: 1; }
.page-kicker, .price-topic-meta { font-size: 13px; line-height: 1.5; }
section[id], article[id] { scroll-margin-top: 106px; }
.hero-brand.home-hero { min-height: auto; padding: 58px 5vw 60px; }
.home-hero .hero-brand-stage { padding: 0; width: 100%; max-width: 1160px; }
.home-hero h1 { font-size: clamp(38px,4.4vw,76px); line-height: 1.08; max-width: 1100px; margin: 22px auto; letter-spacing: -.055em; }
.home-hero .hero-lead { max-width: 760px; font-size: 18px; line-height: 1.7; }
.home-hero .hero-start-map { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; max-width: 1160px; margin: 32px auto 0; }
.home-hero .hero-start-map a { display: grid; grid-template-columns: 34px 1fr 18px; gap: 12px; align-items: start; padding: 22px 16px; margin: 0; min-height: 122px; border: 1px solid var(--tone-727272); border-radius: 8px; background: var(--tone-191919); text-align: left; color: var(--tone-ffffff); transition: background .18s,color .18s,transform .18s; }
.hero-start-map a > b { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 6px; background: var(--tone-f5f5f1); color: var(--tone-111111); font: 700 14px "Manrope",sans-serif; }
.hero-start-map a > span { font: 700 17px/1.4 "Manrope",sans-serif; }
.hero-start-map small { display: block; margin-top: 8px; font: 400 14px/1.55 "Manrope",sans-serif; color: var(--tone-c2c2c2); }
.home-hero .hero-start-map a > i { display: block; font-size: 20px; color: inherit; }
.home-hero .hero-start-map a:hover, .home-hero .hero-start-map a:focus-visible { background: var(--tone-f5f5f1); color: var(--tone-111111); transform: translateY(-3px); outline: 2px solid var(--tone-ffffff); outline-offset: 2px; }
.hero-start-map a:hover small, .hero-start-map a:focus-visible small { color: var(--tone-444444); }
.home-hero .hero-actions { margin-top: 26px; }
.home-hero .hero-ticker { display: none; }
.home-route-head, .home-library-head { margin-top: 36px; }
.home-route-card > span, .home-library-links a > span, .home-vip-point > span { font-size: 15px; font-weight: 700; opacity: 1; }
.home-route-card h3, .home-library-links h3 { line-height: 1.12; letter-spacing: -.045em; }
.home-route-card > b, .home-library-links a > b { font-size: 14px; }
.home-route-card p, .home-library-links a p { font-size: 16px; line-height: 1.65; }
.home-vip-point { min-height: 76px; gap: 18px; border: 1px solid var(--tone-a2a2a2); padding: 18px; margin-bottom: 10px; border-radius: 6px; }
.home-vip-point > b { font: 700 16px/1.4 "Manrope",sans-serif; }
.subpage-hero { min-height: 0; padding: 60px clamp(24px,5vw,80px); }
.subpage-hero h1 { font-size: clamp(40px,5vw,72px); line-height: 1.08; letter-spacing: -.05em; }
.price-action-intro h2, #price-action-heading, #chart-lab-heading { font-size: clamp(30px,3.4vw,50px); line-height: 1.12; letter-spacing: -.04em; }
.strategy-learning-head { margin-top: 32px; padding-top: 24px; }
.strategy-learning-head h3 { font-size: 26px; line-height: 1.2; }
.price-topic-groups .price-topic-group { padding: 18px 12px; }
.price-topic-group > p { font: 700 14px/1.5 "Manrope",sans-serif; color: var(--tone-f0f0f0); margin-bottom: 12px; }
.price-topic-groups button { border: 1px solid var(--tone-555555); border-radius: 5px; margin-bottom: 7px; min-height: 49px; font: 600 15px "Manrope",sans-serif; padding: 12px; }
.price-topic-groups button span { font-size: 14px; color: inherit; opacity: .8; }
.price-topic-groups button:hover, .price-topic-groups button:focus-visible { background: var(--tone-303030); outline: 2px solid var(--tone-aaaaaa); outline-offset: -2px; }
.price-topic-groups button.is-active { background: var(--tone-f5f5f1); color: var(--tone-111111); border-color: var(--tone-ffffff); }
.price-action-topic-panel { top: 104px; }
.topic-illustration { max-width: none; }
.topic-chart-open svg { max-height: none; }
.chart-explanations { display: flex; flex-wrap: wrap; gap: 8px 18px; list-style: none; padding: 0; margin: 14px 0; }
.chart-explanations li { display: flex; gap: 8px; align-items: center; font: 14px/1.5 "Manrope",sans-serif; color: var(--tone-dddddd); }
.chart-explanations b { display: grid; place-items: center; min-width: 24px; height: 24px; border: 1px solid var(--tone-777777); border-radius: 50%; font-size: 12px; }
.topic-chart-dialog .chart-explanations li { color: var(--tone-222222); }
.home-route-head h2, .home-library-head h2 { font-size: clamp(36px,4vw,64px); line-height: 1.1; }
@media (max-width:1100px) {
  .menu-button { display: flex; align-items: center; font: 700 14px "Manrope",sans-serif; min-height: 46px; }
  .nav-links { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 20px 24px; background: var(--tone-141414); border-bottom: 1px solid var(--tone-666666); max-height: calc(100dvh - 82px); overflow-y: auto; }
  .nav-links.open { display: flex; flex-direction: column; align-items: stretch; gap: 4px; }
  .nav-links a { min-height: 46px; font-size: 16px; }
  .home-hero .hero-start-map { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 740px; }
}
@media (max-width:760px) {
  .nav { height: 68px; padding-inline: 22px; }
  section[id], article[id] { scroll-margin-top: 84px; }
  .hero-brand.home-hero { padding: 32px 22px 42px; }
  .home-hero h1 { font-size: clamp(32px,8vw,46px); }
  .home-hero .hero-lead { font-size: 16px; }
  .home-hero .hero-start-map { gap: 10px; margin-top: 24px; }
  .home-hero .hero-start-map a { display: flex; flex-direction: column; gap: 10px; min-height: 150px; padding: 16px 12px; position: relative; }
  .home-hero .hero-start-map a > i { position: absolute; right: 12px; top: 18px; }
  .hero-start-map a > span { font-size: 15px; overflow-wrap: anywhere; }
  .hero-start-map small { font-size: 13px; }
  .section-label { font-size: 14px; }
  .section-pad { padding-top: 44px; padding-bottom: 44px; }
  .home-route-head h2, .home-library-head h2 { font-size: 34px; line-height: 1.12; }
  .subpage-hero { padding: 38px 22px; }
  .subpage-hero h1 { font-size: 38px; overflow-wrap: anywhere; }
  .price-action-explorer { margin-top: 20px; }
  .topic-mobile-picker { background: var(--tone-202020); padding: 16px; border: 1px solid var(--tone-777777); border-radius: 7px; }
  .topic-mobile-picker > span { color: var(--tone-ffffff); font-size: 15px; font-weight: 700; }
  .price-action-topic-panel { position: static; }
  .chart-explanations li { font-size: 14px; }
}
@media (prefers-reduced-motion:reduce) { .home-hero .hero-start-map a { transition: none; } }
.auth-connection{margin:20px auto;padding:20px;max-width:900px;border:1px solid var(--tone-aaaaaa);background:var(--tone-202020);color:var(--tone-ffffff);font:16px/1.6 Manrope,sans-serif}
.auth-connection button{margin:10px;padding:12px 18px;border:1px solid var(--tone-ffffff);background:var(--tone-ffffff);color:var(--tone-111111);cursor:pointer}
.member-start{margin:24px 24px 0 0;display:inline-flex}
.member-library a{border:1px solid var(--tone-646464);border-radius:8px;min-height:260px;padding:24px}
.member-library{gap:16px}
.member-library h2{margin:28px 0 16px;font-size:clamp(26px,2.4vw,36px);line-height:1.15}
.member-library span,.member-library b{font-size:14px}
.member-library p{font-size:16px}
.auth-card{min-height:0}
.auth-tabs button:focus-visible{outline:2px solid var(--tone-111111);outline-offset:3px}
@media(max-width:760px){.auth-layout{gap:24px}.auth-intro h1{font-size:34px;margin:12px 0}.auth-main{padding-top:24px}.member-start{width:100%;margin-right:0;font-size:13px}.member-library a{min-height:230px}.member-signout{margin-top:20px}}
