:root {
  --bg: #0b0d10;
  --panel: #14171c;
  --panel2: #1c2026;
  --line: #2a3038;
  --lime: #b7f34a;
  --ink: #f4f7f9;
  --muted: #9ca6b2;
  --motion-fast: 180ms;
  --motion-base: 320ms;
  --motion-slow: 680ms;
  --ease-out: cubic-bezier(.2,.8,.2,1);
}

html { scroll-behavior: smooth; }
body { background: #07090c; }
.site-shell { background: var(--bg); }
.site-header { background: #0b0d10f2; }
.desktop-nav a { position: relative; padding: 8px 0; }
.desktop-nav a::after { content: ""; position: absolute; inset: auto 0 0; height: 1px; background: var(--lime); transform: scaleX(0); transform-origin: left; transition: transform var(--motion-fast) var(--ease-out); }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { transform: scaleX(1); }
.button { transition: transform var(--motion-fast) var(--ease-out), background var(--motion-fast), border-color var(--motion-fast), filter var(--motion-fast); }
.button:hover { transform: translateY(-1px); }
.button:active { transform: translateY(0); }
.button-primary, .button-small { box-shadow: none; }
.button-primary:hover, .button-small:hover { filter: brightness(1.04); }
.eyebrow, .kicker { letter-spacing: .12em; font-size: 11px; }

/* The product preview stays flat and front-facing at every breakpoint. */
.hero { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: 34px; min-height: 660px; padding-top: 72px; padding-bottom: 80px; background: #0b0d10; }
.hero-glow { width: 540px; height: 390px; top: 5%; right: 1%; background: radial-gradient(circle, rgba(183,243,74,.075), transparent 67%); filter: blur(26px); }
.hero-copy { max-width: 550px; }
.hero h1 { font-size: clamp(47px, 4.65vw, 70px); line-height: 1.08; letter-spacing: -.06em; }
.hero h1 em { color: var(--lime); }
.hero-copy > p { max-width: 500px; font-size: 17px; color: #b8c2c9; margin-bottom: 28px; }
.hero-actions { gap: 10px; }
.hero-note { color: #9ca6b2; font-size: 12px; }
.hero-visual { margin: 0 -26px 0 0; }
.player-frame { aspect-ratio: 16 / 10; border: 1px solid #3b444c; border-radius: 13px; box-shadow: 0 20px 50px rgba(0,0,0,.37); transform: none; }
.player-frame > img { object-position: center; }
.player-shade { background: linear-gradient(180deg,rgba(0,0,0,.22),transparent 37%,transparent 56%,rgba(0,0,0,.86)); }
.video-top { top: 18px; left: 18px; right: 18px; }
.video-bottom { left: 20px; right: 20px; bottom: 16px; }
.subtitle { font-size: clamp(17px, 1.65vw, 23px); margin-bottom: 13px; white-space: nowrap; }
.subtitle mark { display: inline-block; }
.translation-popover { top: 13%; right: 3%; width: min(45%, 330px); padding: 15px 17px; background: #10171def; border-color: #657078; border-radius: 11px; font-size: 13px; }
.popover-top strong { font-size: 18px; }
.phonetic { font-size: 12px; margin-top: 7px; }
.phonetic span { display: inline-block; margin-left: 6px; }
.meaning { font-size: 14px; margin-top: 12px; }
.translation-popover p { font-size: 12px; line-height: 1.5; margin: 12px 0; }
.translation-popover p span { display: block; color: #8f9ba4; font-size: 9px; letter-spacing: .1em; margin-bottom: 3px; }
.translation-popover p small { color: #9eaab2; font-size: 11px; }
.popover-footer { align-items: center; color: var(--lime); font-size: 11px; }
.saved-confirm { color: var(--lime); }
.floating-label { right: 15px; bottom: -25px; box-shadow: 0 10px 20px rgba(0,0,0,.18); }

.platform-strip { justify-content: space-between; gap: 24px; background: #101419; padding-top: 23px; padding-bottom: 23px; }
.platform-strip > strong { font-size: 13px; font-weight: 600; white-space: nowrap; }
.platform-strip > span { min-width: 0; font-size: 12px; letter-spacing: 0; font-weight: 400; white-space: nowrap; }
.platform-strip > div { flex: 0 1 430px; justify-content: flex-end; gap: 23px; }
.platform-strip b { color: #879198; font-size: 14px; }
.platform-strip b:nth-child(2) { font-size: 16px; }

.section { padding-top: 112px; padding-bottom: 112px; }
.section-head { margin-bottom: 48px; }
.section-head h2, .faq h2, .demo h2, .closing h2 { font-size: clamp(34px, 3.3vw, 50px); }
.section-head h2 span { color: var(--ink); }
.features { background: #0e1115; }
.feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.feature-card { background: #14191e; border: 1px solid #26313a; padding: 28px; min-height: 430px; transition: border-color var(--motion-fast), transform var(--motion-fast) var(--ease-out); }
.feature-card:hover { border-color: #47565b; transform: translateY(-2px); }
.feature-card-wide { grid-column: span 2; min-height: 325px; display: grid; grid-template-columns: minmax(250px,.75fr) minmax(0,1.25fr); align-items: center; gap: 38px; }
.feature-card h3 { font-size: 23px; line-height: 1.25; max-width: 400px; margin: 16px 0 10px; }
.feature-card p { font-size: 15px; max-width: 430px; margin-bottom: 25px; }
.feature-index { color: #9eabb2; font-size: 11px; font-weight: 700; letter-spacing: .1em; }
.feature-media { width: 100%; }
.feature-card-wide .feature-media { min-height: 230px; margin: 0; }
.sentence-media { justify-content: center; padding: 26px; background: linear-gradient(90deg,rgba(6,10,12,.38),rgba(6,10,12,.78)),url('assets/scene-pepper.jpg') center/cover; }
.sentence-media > span { font-size: 17px; }
.sentence-media > div { min-width: 220px; padding: 13px 18px; font-size: 15px; }
.sentence-media small:last-child { font-size: 11px; }
.dual-media { max-height: 200px; }
.dual-media img { height: 200px; }
.saved-media { min-height: 190px; justify-content: center; }

.demo-section { background: #171d22; gap: 7%; }
.demo-copy h2 { max-width: 430px; }
.choice { transition: background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast); }
.demo-result, .demo-image img, .demo-caption { transition: opacity 210ms var(--ease-out), transform 210ms var(--ease-out); }
.demo-section.is-changing .demo-result, .demo-section.is-changing .demo-image img, .demo-section.is-changing .demo-caption { opacity: .35; transform: translateY(5px); }
.demo-caption mark { transition: background var(--motion-fast); }

.steps { background: #0b0d10; }
.steps .section-head { margin-bottom: 55px; }
.step-grid { position: relative; gap: 28px; }
.step-grid::before { content: ""; position: absolute; top: 232px; left: 6%; right: 6%; height: 1px; background: #354047; }
.step { position: relative; background: none; border: 0; border-radius: 0; padding: 0; }
.step-no { position: relative; display: inline-block; font-size: 14px; color: var(--lime); letter-spacing: .1em; margin-bottom: 16px; }
.step-visual { position: relative; height: 200px; background: #151b20; border: 1px solid #344048; border-radius: 11px; overflow: hidden; }
.step-browser { padding: 10px; }
.mini-browser-bar { height: 26px; display: flex; align-items: center; gap: 5px; color: #87949b; font-size: 10px; }
.mini-browser-bar i { width: 5px; height: 5px; border-radius: 50%; background: #607079; }
.mini-browser-bar span { margin-left: 8px; }
.mini-browser-scene { height: 151px; position: relative; overflow: hidden; border-radius: 6px; }
.mini-browser-scene img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.65); }
.mini-browser-scene span { position: absolute; left: 13px; bottom: 13px; background: #11191de8; border-radius: 4px; padding: 5px 8px; font-size: 11px; }
.step-phrase { display: grid; place-items: center; align-content: center; gap: 23px; padding: 18px; text-align: center; background: linear-gradient(130deg,#20292b,#10171c); }
.step-phrase-line { font-size: 16px; font-weight: 700; }
.step-phrase-line mark { background: var(--lime); color: #151c10; padding: 3px; border-radius: 4px; }
.step-phrase > span { font-size: 11px; color: #a9b5bc; }
.step-save { display: flex; flex-direction: column; justify-content: center; gap: 9px; padding: 22px; }
.mini-translation { display: flex; flex-direction: column; gap: 5px; padding: 16px; background: #0d1418; border: 1px solid #42525a; border-radius: 8px; }
.mini-translation span { color: var(--lime); font-weight: 700; }
.mini-translation b { float: right; color: #f9d05d; }
.mini-translation small { color: #aab8bf; }
.mini-vocabulary { display: flex; align-items: center; gap: 8px; color: #c7d2d5; font-size: 11px; }
.mini-vocabulary span { color: #111b0d; background: var(--lime); border-radius: 50%; padding: 0 4px; }
.step h3 { margin: 26px 0 8px; }
.step p { font-size: 14px; max-width: 320px; }
.trust-strip { display: flex; justify-content: center; gap: 0; padding: 25px 24px; background: #12171b; border-top: 1px solid #252e34; border-bottom: 1px solid #252e34; }
.trust-strip span { color: #b7c2c7; padding: 0 23px; border-right: 1px solid #3b454b; font-size: 13px; white-space: nowrap; }
.trust-strip span:last-child { border-right: 0; }

.pricing { background: radial-gradient(ellipse at 50% 2%,rgba(183,243,74,.075),transparent 55%),#0d1114; }
.price-card { background: #151b1f; }
.price-card-pro { border-color: #839b49; box-shadow: none; transition: border-color var(--motion-fast), box-shadow var(--motion-fast); }
.price-card-pro:hover { border-color: var(--lime); box-shadow: 0 0 24px rgba(183,243,74,.07); }
.price-card .button { cursor: pointer; }
.pricing-assurance { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px 30px; color: #a9b5bd; font-size: 12px; margin-top: 31px; }
.pricing-assurance span::before { content: "✓"; color: var(--lime); margin-right: 7px; }
.pricing-note { margin-top: 16px; }
.faq { background: #0b0d10; }
.closing { background: #151c1b; border-color: #2b3934; }
.closing h2 { max-width: 550px; }
.closing p { color: #b4c0c2; }
.closing-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.closing-art { transform: none; border-color: #3e4d4a; }

/* Motion is opt-in through JS, so content remains visible without scripting. */
.motion-ready .hero-copy .eyebrow, .motion-ready .hero-copy h1, .motion-ready .hero-copy > p, .motion-ready .hero-actions, .motion-ready .hero-note, .motion-ready .hero-visual { animation: hero-enter 600ms var(--ease-out) both; }
.motion-ready .hero-copy h1 { animation-delay: 80ms; }
.motion-ready .hero-copy > p { animation-delay: 160ms; }
.motion-ready .hero-actions { animation-delay: 240ms; }
.motion-ready .hero-note { animation-delay: 300ms; }
.motion-ready .hero-visual { animation-delay: 330ms; }
.motion-ready .hero .subtitle { animation: hero-enter 500ms var(--ease-out) 660ms both; }
.motion-ready .hero .subtitle mark { animation: word-highlight 550ms var(--ease-out) 760ms both; }
.motion-ready .hero .translation-popover { animation: popover-enter 470ms var(--ease-out) 1050ms both; }
.motion-ready .hero .saved-confirm { animation: saved-enter 420ms var(--ease-out) 1510ms both; }
@keyframes hero-enter { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes popover-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes word-highlight { from { background: transparent; color: white; } to { background: var(--lime); color: #11180c; } }
@keyframes saved-enter { from { opacity: 0; } to { opacity: 1; } }
.motion-ready .reveal { opacity: 0; transform: translate3d(var(--reveal-x,0px),var(--reveal-y,34px),0) scale(var(--reveal-scale,1)); transition: opacity var(--motion-slow) var(--ease-out), transform var(--motion-slow) var(--ease-out); transition-delay: var(--reveal-delay,0ms); }
.motion-ready .reveal-left { --reveal-x: -42px; --reveal-y: 0px; }
.motion-ready .reveal-right { --reveal-x: 42px; --reveal-y: 0px; }
.motion-ready .reveal-zoom { --reveal-y: 16px; --reveal-scale: .955; }
.motion-ready .reveal.is-visible { opacity: 1; transform: translate3d(0,0,0) scale(1); }
.motion-ready .demo-section.is-changing .demo-result.reveal.is-visible { opacity: .35; transform: translateY(5px); transition-delay: 0ms; }
.faq-list details[open] p { animation: faq-answer-in 260ms var(--ease-out) both; }
@keyframes faq-answer-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1280px) {
  .hero { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 26px; }
  .hero h1 { font-size: clamp(46px,4.6vw,61px); }
  .hero-visual { margin-right: -18px; }
  .platform-strip > div { flex-basis: 350px; gap: 14px; }
}
@media (max-width: 1050px) {
  .hero { grid-template-columns: 1fr; gap: 45px; padding-bottom: 88px; }
  .hero-copy { max-width: 760px; }
  .hero-visual { margin: 0; }
  .player-frame { aspect-ratio: 16 / 9; }
  .platform-strip { flex-wrap: wrap; }
  .platform-strip > div { flex-basis: auto; margin-left: auto; }
  .feature-card-wide { grid-column: span 2; }
  .trust-strip { flex-wrap: wrap; row-gap: 13px; }
}
@media (max-width: 768px) {
  .platform-strip > div { width: 100%; margin-left: 0; flex-wrap: wrap; justify-content: flex-start; }
  .feature-card-wide { grid-template-columns: 1fr; gap: 20px; }
  .step-grid { gap: 18px; }
  .step-grid::before { display: none; }
  .step-visual { height: 175px; }
  .faq { gap: 30px; }
}
@media (max-width: 700px) {
  .motion-ready .reveal-left, .motion-ready .reveal-right { --reveal-x: 0px; --reveal-y: 26px; }
  .motion-ready .reveal-zoom { --reveal-y: 14px; --reveal-scale: .975; }
  .mobile-menu .mobile-release { margin-top: 8px; padding: 12px; text-align: left; background: var(--lime); color: #10170a; border: 0; border-radius: 7px; font-weight: 700; }
  .hero { padding-top: 57px; gap: 38px; }
  .hero h1 { font-size: clamp(39px,10.6vw,55px); }
  .hero-copy > p { font-size: 16px; }
  .hero-visual { margin: 0; }
  .player-frame { aspect-ratio: 1.32; border-radius: 9px; }
  .translation-popover { width: 64%; top: 11%; right: 3%; padding: 11px; font-size: 12px; }
  .popover-top strong { font-size: 15px; }
  .phonetic { font-size: 11px; }
  .phonetic span { margin-left: 2px; }
  .meaning { font-size: 12px; margin-top: 7px; }
  .translation-popover p { font-size: 11px; margin: 7px 0; }
  .translation-popover p span { font-size: 9px; }
  .translation-popover p small { font-size: 10px; }
  .popover-footer { font-size: 10px; padding-top: 7px; }
  .popover-footer .saved-confirm { display: none; }
  .subtitle { font-size: 13px; }
  .floating-label { right: 3px; bottom: -23px; }
  .platform-strip > strong, .platform-strip > span { display: block; white-space: normal; }
  .platform-strip > span { margin-top: 6px; }
  .section { padding-top: 78px; padding-bottom: 78px; }
  .feature-grid { grid-template-columns: 1fr; }
  .feature-card-wide { grid-column: auto; }
  .feature-card { min-height: 0; }
  .feature-card-wide .feature-media { min-height: 190px; }
  .step-grid { grid-template-columns: 1fr; gap: 34px; }
  .step-visual { height: 200px; }
  .step h3 { margin-top: 18px; }
  .trust-strip { justify-content: flex-start; padding: 24px; gap: 12px 18px; }
  .trust-strip span { padding: 0; border: 0; font-size: 12px; }
  .trust-strip span::before { content: "•"; color: var(--lime); margin-right: 7px; }
  .closing-actions .button { width: 100%; }
}
@media (max-width: 390px) {
  .translation-popover { width: 64%; top: 10%; }
  .video-controls .time, .video-controls > span:nth-last-child(-n+2) { display: none; }
  .subtitle { font-size: 12px; }
  .platform-strip > div { gap: 12px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0ms !important; transition-duration: .01ms !important; transition-delay: 0ms !important; }
  .motion-ready .reveal { opacity: 1; transform: none; }
  .motion-ready .hero .translation-popover, .motion-ready .hero .saved-confirm, .motion-ready .hero .subtitle mark { opacity: 1; }
}
/* Landing conversion additions */
.header-signin{font-size:13px;color:#c5d0d2;white-space:nowrap}.header-signin:hover{color:var(--lime)}
.price-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1150px;margin:auto}.price-card{min-width:0}.price-card h3{min-height:2.5em}.price-card li{line-height:1.35}
.site-footer{flex-wrap:wrap}.site-footer nav{flex-wrap:wrap;justify-content:flex-end;row-gap:12px}
@media(max-width:1050px){.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-card-pro{grid-column:1/-1;max-width:500px;width:100%;justify-self:center}.header-signin{display:none}}
@media(max-width:700px){.price-grid{grid-template-columns:1fr}.price-card-pro{grid-column:auto;max-width:none}.price-card h3{min-height:0}.site-footer nav{justify-content:flex-start}.mobile-menu .mobile-release{margin-top:8px;padding:12px 16px;background:var(--lime);border-radius:8px;text-align:center;color:#101709;font-weight:700}}
.comparison{background:#0d1418;border-bottom:1px solid #253238}.comparison .section-head{margin-bottom:30px}.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:780px;margin:auto}.comparison-card{display:flex;flex-direction:column;gap:10px;padding:26px;background:#151b1f;border:1px solid #35434a;border-radius:14px}.comparison-card small{color:#8fa1a9;font-size:11px;font-weight:800;letter-spacing:.12em}.comparison-card strong{font-size:25px}.comparison-card>span{font-size:19px;color:#b5c3c7}.comparison-card-cc{border-color:#839b49}.comparison-card-cc>span{color:var(--lime);font-weight:700}.comparison-action,.steps-action{text-align:center;margin:28px 0 0}.step-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.step-grid::before{display:none}.step{min-width:0}.step h3{margin-top:23px}
@media(max-width:1050px){.step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.comparison-grid,.step-grid{grid-template-columns:1fr}.comparison-card{padding:22px}.comparison-action .button,.steps-action .button{width:100%}}

/* Billing-period selector for the public plan comparison. */
.pricing-toggle-wrap{display:flex;justify-content:center;align-items:center;margin:4px auto 40px;width:100%}
.pricing-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:min(100%,500px);padding:6px;border:1px solid #3b494f;border-radius:999px;background:#1a2429;box-shadow:inset 0 1px 3px #0005}
.pricing-toggle button{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:54px;padding:10px 16px;border:0;border-radius:999px;background:transparent;color:#c0cdd1;font-size:16px;font-weight:700;line-height:1.2;white-space:nowrap;transition:background .2s,color .2s,box-shadow .2s}
.pricing-toggle button[aria-pressed="true"]{background:var(--lime);color:#10180c;box-shadow:0 4px 15px #0006}
.pricing-toggle button:hover:not([aria-pressed="true"]){color:#fff;background:#29383e}
.pricing-save{display:inline-flex;align-items:center;justify-content:center;gap:3px;padding:5px 9px;border-radius:999px;background:#315126;color:var(--lime);font-size:12px;line-height:1;white-space:nowrap}
.pricing-toggle button[aria-pressed="true"] .pricing-save{background:#1a2a10;color:var(--lime)}
.pricing-save[hidden],.pro-billing-detail[hidden],.pricing-status[hidden]{display:none}
.price-grid{grid-template-columns:repeat(2,minmax(0,420px));max-width:858px}
.price-card-pro{grid-column:auto;max-width:none;width:auto}
.price-card h3{min-height:0}
.pro-billing-detail{color:var(--lime)!important;font-size:13px!important;margin:0 0 8px!important}
.pricing-paddle-note,.pricing-status{text-align:center;color:#94a6ad;font-size:12px;margin:16px 0 0}
.pricing-status{color:#e7bd77}
@media(max-width:700px){.pricing-toggle-wrap{margin:0 0 32px}.pricing-toggle{width:100%}.pricing-toggle button{min-height:48px;padding:8px 6px;font-size:13px;gap:5px}.pricing-save{font-size:10px;padding:4px 5px}.price-grid{grid-template-columns:1fr}.price-card-pro{grid-column:auto;max-width:none}}

.pro-year-reference{color:var(--muted);white-space:nowrap}
.pro-year-reference s{text-decoration-thickness:1.5px}
.pro-year-reference[hidden]{display:none}

.hero-beats { display: grid; gap: 4px; margin: -8px 0 24px; color: #d5e0a8; font-size: 14px; font-weight: 700; }
.hero-beats span::before { content: "→ "; color: var(--lime); }
.hero .translation-popover { top: 9%; right: 3%; width: min(46%, 300px); padding: 12px 13px; }
.popover-meta { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 6px; color: #9ca6b2; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.popover-meta b { color: #c5ced4; font-size: 12px; letter-spacing: 0; font-weight: 700; }
.translation-popover .meaning { color: var(--lime); }
.translation-popover p { margin: 8px 0; }
.translation-popover p small { display: block; margin-top: 4px; color: #c5ced4; font-size: 12px; }
.popover-ai { margin-top: 8px; padding-top: 8px; border-top: 1px solid #35414a; color: var(--lime); font-size: 11px; line-height: 1.35; }
.popover-ai b { display: none; }
.translation-popover .popover-footer { display: none; }
.hero .subtitle { margin-bottom: 10px; white-space: normal; }

.demo-target { display: inline-flex; align-items: center; gap: 8px; margin: 4px 0 18px; padding: 7px 12px; border: 1px solid #3b4a51; border-radius: 999px; color: #c5d0d4; font-size: 12px; }
.demo-target b { color: var(--lime); }
.demo-choices { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; max-width: 560px; }
.demo-choices .choice { flex: 0 0 auto; white-space: nowrap; }
.demo-selected { margin-top: 12px; color: #8fa1a9; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.demo-selected b { margin-left: 8px; color: #c5ced4; letter-spacing: 0; }
.demo-ai-toggle { margin-top: 16px; border: 1px solid #4a5d3a; background: #1a2418; color: var(--lime); border-radius: 8px; padding: 9px 12px; font-size: 12px; font-weight: 700; }
.demo-ai { margin-top: 12px; padding-top: 12px; border-top: 1px solid #2f3c42; }
.demo-ai p { margin: 0 0 10px; }
.demo-ai small { color: #8fa1a9; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.demo-related { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.demo-related span { padding: 5px 9px; border: 1px solid #3b4a51; border-radius: 999px; color: #dce6e6; font-size: 12px; }

.levels { background: #10151a; }
.levels-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; max-width: 1080px; margin: 0 auto; }
.levels-card { padding: 28px; border: 1px solid #35434a; border-radius: 14px; background: #151b1f; }
.levels-card-ai { border-color: #839b49; }
.levels-card small { display: block; color: var(--lime); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.levels-card h3 { margin: 10px 0 16px; font-size: 22px; }
.levels-line { color: #f4f7f9; font-weight: 700; }
.levels-card dl { display: grid; gap: 10px; margin: 0 0 18px; }
.levels-card dt { color: #8fa1a9; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.levels-card dd { margin: 3px 0 0; font-weight: 700; }
.levels-card dd:last-child, .levels-card .meaning, .levels-card-ai p:nth-of-type(2) { color: var(--lime); }
.levels-related { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 14px; padding: 0; list-style: none; }
.levels-related li { padding: 5px 9px; border: 1px solid #3b4a51; border-radius: 999px; font-size: 12px; }
.levels-examples { color: #b8c2c9; font-size: 14px; }
.levels-cta { display: inline-flex; margin-top: 8px; color: var(--lime); font-size: 13px; font-weight: 700; }

.comparison-mini { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 18px; max-width: 780px; margin: 18px auto 0; color: #b8c2c9; font-size: 14px; }
.comparison-mini span { padding: 8px 12px; border: 1px solid #35434a; border-radius: 999px; background: #151b1f; }

.detect { background: #0d1216; }
.detect-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.detect-card { min-width: 0; padding: 22px; border: 1px solid #35434a; border-radius: 14px; background: #151b1f; }
.detect-card p { margin: 0 0 16px; font-weight: 700; line-height: 1.45; }
.detect-card mark { background: var(--lime); color: #10180c; padding: 0 4px; border-radius: 4px; }
.detect-card dl { display: grid; gap: 10px; margin: 0; }
.detect-card dt { color: #8fa1a9; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.detect-card dd { margin: 3px 0 0; font-weight: 700; color: var(--lime); }

.feature-grid-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.feature-grid-four .feature-card { min-height: 0; }
.closing-note { margin-top: 14px; color: #9ca6b2; font-size: 13px; }

@media (max-width: 900px) {
  .levels-grid, .detect-grid { grid-template-columns: 1fr; }
  .hero-beats span:not(:last-child)::after { display: none; }
}
@media (max-width: 700px) {
  .demo-choices { flex-wrap: nowrap; overflow-x: auto; max-width: 100%; padding-bottom: 6px; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
  .translation-popover { width: min(88%, 280px); max-height: 58%; overflow: auto; }
  .popover-ai b { width: 100%; text-align: center; }
  .detect-card, .levels-card { overflow-wrap: anywhere; }
}
