/* Public site only. Administrator styles and shared brand assets are unchanged. */
.public-landing {
  --bg:#030912; --surface:#081321; --surface-2:#0b1828; --line:#1c3047;
  --text:#edf4fc; --muted:#a4b4c7; --mint:#69b4ff;
  --violet:#177de8; --violet-soft:#69b4ff;
  min-width:0; color:var(--text); font-family:"Segoe UI",Arial,sans-serif;
  background:radial-gradient(ellipse at 90% 8%,#06376740,transparent 35%),#030912;
}
.public-landing::before,.public-landing::after,.public-landing .cursor-glow,
.public-landing .market-trajectory { display:none; }
.public-landing .wrap { width:min(1180px,calc(100% - 48px)); }
.public-landing .nav { min-height:90px; border-bottom:1px solid #1c304780; }
.public-landing .terminal-brand { display:inline-flex; width:160px; flex-shrink:0; text-decoration:none; }
.public-landing .reference-logo { position:relative; display:block; width:100%; aspect-ratio:720 / 100; overflow:hidden; }
.public-landing .terminal-brand,
.public-landing .terminal-scene__brand { mix-blend-mode:screen; }
.public-landing .reference-logo { filter:contrast(1.15); }
/* Display the original reference pixels, cropped by layout rather than redrawn. */
.public-landing .reference-logo img { position:absolute; display:block; width:116.666667%; max-width:none; height:auto; max-height:none; left:-6.944444%; top:-80%; margin:0; opacity:1; }
.public-landing .terminal-brand__fx { color:#168bff; }
.public-landing .nav-links { gap:24px; }
.public-landing:not(.public-site-closed) .development-notice { border-color:#294b70; border-radius:8px; background:#0a192a; color:#dfecfc; box-shadow:none; }
.public-landing:not(.public-site-closed) .development-notice::before { background:#268dff; box-shadow:none; }
.public-landing:not(.public-site-closed) .development-notice::after { display:none; }
.public-landing:not(.public-site-closed) .development-notice b { color:#dfecfc; }
.public-landing:not(.public-site-closed) .development-notice p { color:#aabed5; }
.public-landing:not(.public-site-closed) .development-notice__window { border-color:#294b70; background:#0e243c; color:#c4defa; box-shadow:none; }
.public-landing:not(.public-site-closed) .development-notice__window::before { color:#78b9ff; }
.public-landing:not(.public-site-closed) .maintenance-tech__gear { color:#5299e5; filter:none; animation:none; }
.public-landing:not(.public-site-closed) .maintenance-tech__gear--small { color:#afc5df; }
.public-landing:not(.public-site-closed) .maintenance-tech::before,
.public-landing:not(.public-site-closed) .maintenance-tech::after,
.public-landing:not(.public-site-closed) .maintenance-tech__spark { display:none; }
.public-landing .nav-link { color:#b2c0d1; font-size:13px; }
.public-landing .mini-button { border:1px solid #29415e; background:#0b1625; color:#e6f1ff; border-radius:5px; }
.public-landing .hero { grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(28px,4vw,54px); min-height:620px; padding:54px 0 64px; }
.public-landing h1 { font-size:clamp(44px,5.8vw,72px); line-height:1.03; font-weight:650; letter-spacing:-.045em; }
.public-landing .brand-manifesto { margin:0 0 24px; color:#8aa9ca; font-size:10px; letter-spacing:.22em; text-transform:uppercase; line-height:1.8; }
.public-landing .accent { color:#268dff; }
.public-landing .eyebrow,.public-landing .section-kicker { color:#78b9ff; font-weight:600; font-size:10px; letter-spacing:.2em; }
.public-landing .eyebrow::before { animation:none; box-shadow:none; width:4px; height:4px; }
@media(prefers-reduced-motion:no-preference) {
  .public-landing .eyebrow::before { animation:terminal-dot-pulse 2.4s ease-in-out infinite; }
}
@keyframes terminal-dot-pulse {
  0%,100% { opacity:.55; transform:scale(.85); box-shadow:0 0 3px #268dff40; }
  50% { opacity:1; transform:scale(1.2); box-shadow:0 0 9px #268dff90; }
}
.public-landing .lead { font-size:17px; line-height:1.8; }
.public-landing .button { border-radius:6px; background:#1263c4; color:#fff; box-shadow:0 7px 24px #0066ff1c; font-size:14px; font-weight:600; padding:13px 19px; }
.public-landing .button:hover { transform:translateY(-2px); background:#176dd1; box-shadow:0 10px 30px #087aff30; filter:none; }
.public-landing .button.alt { background:#0b1828; border:1px solid #2c4664; }
.public-landing .button.is-disabled { background:#0a1421; border:1px solid #27374c; color:#a8b6c8; animation:none; box-shadow:none; filter:none; }
.public-landing .button.is-disabled::before,.public-landing .button.is-disabled::after { display:none; animation:none; }
.public-landing .button.is-disabled span { animation:none; text-shadow:none; }
.public-landing .learning-status { max-width:440px; margin:14px 0 0; color:#a4b4c7; font-size:12px; line-height:1.7; }
.public-landing .channel-hint { color:#83baff; font-size:13px; margin-top:6px; }
.public-landing .channel-hint__arrow { color:inherit; }
.public-landing a:focus-visible,.public-landing button:focus-visible,.public-landing summary:focus-visible { outline:2px solid #83baff; outline-offset:5px; }
.public-landing .hero-card { padding:26px; border:1px solid #1d3652; border-radius:10px; background:linear-gradient(145deg,#0a1929,#040c17); box-shadow:0 30px 80px #0006; }
.public-landing .hero-card::after { display:none; }
.public-landing .hero-card:hover { transform:none; border-color:#1d3652; box-shadow:0 30px 80px #0006; }
.public-landing .hero-card strong { font-size:20px; font-weight:500; letter-spacing:-.02em; }
.public-landing .hero-card p { font-size:13px; line-height:1.8; }
.public-landing .fact { border-color:#1c3047; font-size:12px; }
.terminal-scene { position:relative; margin:-26px -26px 26px; padding:24px 20px 15px; overflow:hidden; border-bottom:1px solid #193554; background:radial-gradient(ellipse at 75% 45%,#005ebc20,transparent 65%),#040b14; }
.terminal-scene__label { display:block; color:#7e9bb8; font-size:9px; letter-spacing:.18em; }
.terminal-scene__brand { display:block; width:92%; margin:44px auto 12px; padding:0; }
.terminal-scene__brand span { color:#0785ff; }
@media (prefers-reduced-motion:no-preference) {
  .terminal-scene__brand { animation:terminal-brand-settle 4.8s ease-in-out both; }
}
@keyframes terminal-brand-settle {
  0%,100% { opacity:1; }
  35% { opacity:.8; }
  70% { opacity:.95; }
}
.terminal-scene img { display:block; width:100%; height:auto; max-height:210px; margin-top:-12px; opacity:.85; }
.terminal-scene__caption { display:block; text-align:right; color:#7891ac; font-size:9px; }
.public-landing .channel-panel { border:1px solid #234566; border-radius:10px; background:linear-gradient(115deg,#0c2138,#071220 72%); box-shadow:none; padding:38px; margin:18px 0 24px; }
.public-landing .channel-panel::before,.public-landing .channel-panel::after { display:none; }
.public-landing .channel-copy h2 { font-size:clamp(27px,3.4vw,40px); font-weight:450; line-height:1.15; letter-spacing:-.035em; }
.public-landing .channel-copy p { line-height:1.8; font-size:14px; }
.public-landing .button.channel-button { background:linear-gradient(110deg,#0958b4,#0969cf); color:#fff; box-shadow:0 8px 26px #087dff26; }
.public-landing .button.channel-button::before { border-color:#d4eaff; box-shadow:none; }
.public-landing .channel-point { border-radius:6px; border-color:#1b334f; background:#061221a6; box-shadow:none; }
.public-landing .channel-point__number { border-radius:5px; border-color:#255281; color:#83c0ff; background:#102b47; }
.public-landing .channel-point p { color:#a4b4c7; }
.public-landing .stat-card,.public-landing .course-card,.public-landing .feature,.public-landing .lesson,.public-landing .faq details { background:#081321; border:1px solid #1c3047; border-radius:8px; box-shadow:none; }
.public-landing .stat-card b,.public-landing .stat-card:nth-child(2) b,.public-landing .stat-card:nth-child(3) b { color:#70b3ff; font-weight:400; }
.public-landing .section h2 { font-weight:450; font-size:clamp(29px,3.5vw,42px); letter-spacing:-.035em; line-height:1.15; }
.public-landing .section { padding:66px 0; }
.public-landing .course-card h3 { font-weight:450; letter-spacing:-.03em; }
.public-landing .course-card::before,.public-landing .course-card::after { display:none; }
.public-landing .feature-icon,.public-landing .lesson-number { color:#7abbff; border-color:#294769; background:#102740; }
.public-landing .lesson:nth-child(n) .lesson-number,.public-landing .feature:nth-child(n) .feature-icon { color:#7abbff; background:#102740; }
.public-landing .stat-card:hover,.public-landing .course-card:hover,.public-landing .feature:hover,.public-landing .lesson:hover,.public-landing .faq details:hover { transform:none; border-color:#315d8b; box-shadow:none; }
.public-landing .steps::after,.public-landing .steps::before { animation:none; background:#214364; box-shadow:none; }
.public-landing .step::before,.public-landing .step:nth-child(2)::before,.public-landing .step:nth-child(3)::before { background:#0b2037; color:#9dceff; border-color:#2f5d8d; box-shadow:none; animation:none; }
.public-landing .step:hover,.public-landing .step:hover::before { transform:none; box-shadow:none; }
.public-landing .faq summary { color:#e3edfa; font-weight:600; }
.public-landing .faq summary::after { color:#75b5ff; }
.public-landing .faq p { color:#a4b4c7; }
.public-landing .cta { border:1px solid #24496f; border-radius:10px; background:#091a2d; margin:56px 0; }
.public-landing .cta h2 { font-weight:450; letter-spacing:-.025em; }
.public-landing .cta .section-kicker { color:#78b9ff; }
.public-landing .reveal,.public-landing .reveal .step { opacity:1; transform:none; }
.public-landing footer { color:#97a9be; border-color:#1c3047; }
.public-landing .footer-meta small { color:#899db4; }
@keyframes channel-invite { 0%,72%,100% { transform:none; box-shadow:0 8px 26px #087dff26; } 80% { transform:translateY(-2px); box-shadow:0 12px 32px #087dff50; } 86% { transform:translateY(1px) scale(.98); box-shadow:0 3px 12px #087dff30; } 93% { transform:none; box-shadow:0 8px 26px #087dff26; } }
.public-legal .wrap { max-width:840px; }
.public-legal h1 { font-size:clamp(32px,5vw,50px); }
.public-legal .card { border-radius:8px; border-color:#1c3047; background:#081321; box-shadow:none; }
.public-legal .section { padding:0; }
.public-legal .section h2 { font-size:22px; }
.public-legal .notice { background:#0b2138; border-color:#2b527b; color:#b7d7f9; }
@media(max-width:860px) {
  .public-landing .hero { grid-template-columns:1fr; padding:50px 0; gap:36px; min-height:0; }
  .public-landing .hero-card { max-width:none; }
  .terminal-scene__brand { font-size:64px; }
  .terminal-scene img { max-height:180px; }
}
@media(min-width:621px) and (max-width:860px) {
  .public-landing .feature-grid > .feature:last-child:nth-child(odd) { grid-column:1 / -1; }
}
@media(max-width:620px) {
  .public-landing .wrap { width:calc(100% - 32px); }
  .public-landing .nav { min-height:76px; gap:14px; flex-wrap:wrap; padding:16px 0; }
  .public-landing .terminal-brand { font-size:23px; }
  .public-landing .nav-links { gap:14px; flex-wrap:wrap; }
  .public-landing .nav-link { display:inline-flex; align-items:center; min-height:44px; font-size:12px; }
  .public-landing .nav-links .mini-button { min-height:40px; }
  .public-landing h1 { font-size:clamp(39px,10vw,55px); }
  .public-landing .lead { font-size:15px; line-height:1.8; }
  .public-landing .hero { padding:40px 0; }
  .public-landing .channel-panel { padding:25px 20px; }
  .public-landing .channel-copy h2 { font-size:28px; }
  .public-landing .section { padding:44px 0; }
  .public-landing .channel-hint { font-size:12px; }
  .public-landing .hero-card { padding:22px; }
  .terminal-scene { margin:-22px -22px 22px; }
  .terminal-scene__brand { font-size:48px; }
  .public-landing .button { white-space:normal; text-align:center; }
  .public-legal .section { padding:0; }
  .public-legal .section + .section { padding-top:24px; }
}
/* Decorative chart stays behind content and never captures pointer events. */
.public-landing .candlestick-backdrop {
  position:fixed; inset:0; pointer-events:none; z-index:0; opacity:.12;
  filter:blur(9px); transform:scale(1.03);
  background:url('/static/public-chart.svg?v=2') center 140px / max(1100px,100vw) auto repeat-y;
  mask-image:linear-gradient(180deg,transparent,#000 25%,#000 80%,transparent);
}
.public-landing:not(.public-legal) .wrap { position:relative; z-index:1; }
.public-landing #main-content > .hero { min-height:0; padding-block:64px; }
.public-landing .hero .actions { margin-top:28px; row-gap:16px; }
.public-landing #main-content :is(.hero-card,.channel-panel,.stat-card,.course-card,.feature,.lesson,.faq details,.cta) {
  background:linear-gradient(135deg,#b8dbff0c,transparent 45%),#0b192bea;
  border:1px solid #96c9ff30; border-top-color:#c3e0ff4a; border-radius:18px;
  box-shadow:inset 0 1px 0 #e1f0ff12,inset 0 -1px 0 #0c234f40,0 16px 42px #00000028;
}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .public-landing #main-content :is(.hero-card,.channel-panel,.stat-card,.course-card,.feature,.lesson,.faq details,.cta) {
    background:linear-gradient(135deg,#b8dbff10,transparent 45%),#0b192b99;
    -webkit-backdrop-filter:blur(18px) saturate(125%);
    backdrop-filter:blur(18px) saturate(125%);
  }
}
.public-landing .terminal-scene { background:linear-gradient(135deg,#122033,#071321); isolation:isolate; }
.public-landing .terminal-scene__brand { margin-top:14px; }
.public-landing .channel-point { background:#09182c80; border-color:#96c9ff20; border-radius:12px; }
@media(max-width:620px) {
  .public-landing #main-content > .hero { padding-block:36px; }
  .public-landing .candlestick-backdrop { opacity:.08; }
  .public-landing .terminal-brand { width:130px; }
}
