:root{--bg-950:#020617;--bg-900:#0f172a;--bg-800:#1e293b;--border-800:#1e293b;--border-700:#334155;--text-100:#f1f5f9;--text-200:#e2e8f0;--text-300:#cbd5e1;--text-400:#94a3b8;--text-500:#64748b;--indigo-600:#4f46e5;--indigo-500:#6366f1;--indigo-400:#818cf8;--indigo-300:#a5b4fc;--sky-400:#38bdf8;--sky-300:#7dd3fc;--emerald-500:#10b981;--emerald-400:#34d399;--amber-400:#fbbf24;--rose-400:#fb7185;--radius-xl:16px;--radius-2xl:24px;--max-w:1200px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background-color:var(--bg-950);color:var(--text-100);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}body{background-color:var(--bg-950);color:var(--text-100);line-height:1.6;overflow-x:hidden;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 1.25rem}.site-header{position:sticky;top:0;z-index:50;background:rgba(2,6,23,0.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(30,41,59,0.85)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:4.5rem;gap:1rem}.brand-logo{display:inline-flex;align-items:center;gap:0.75rem;font-weight:800;font-size:1.25rem;letter-spacing:-0.025em;color:#ffffff}.brand-icon{width:2.5rem;height:2.5rem;border-radius:0.85rem;background:linear-gradient(135deg,var(--indigo-600),var(--indigo-500),var(--sky-400));display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 20px -4px rgba(79,70,229,0.45);flex-shrink:0}.brand-badge{font-size:0.65rem;font-weight:700;text-transform:uppercase;padding:0.15rem 0.45rem;border-radius:0.375rem;background:rgba(99,102,241,0.18);color:var(--indigo-300);border:1px solid rgba(99,102,241,0.35)}.header-actions{display:flex;align-items:center;gap:0.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;font-weight:600;font-size:0.9rem;border-radius:0.75rem;padding:0.6rem 1.15rem;transition:transform 0.15s ease,background-color 0.15s ease,border-color 0.15s ease,box-shadow 0.15s ease;cursor:pointer;white-space:nowrap}.btn-login{color:var(--text-200);background:rgba(15,23,42,0.8);border:1px solid var(--border-700)}.btn-login:hover{background:var(--bg-800);border-color:var(--indigo-400);color:#ffffff}.btn-register{color:#ffffff;background:linear-gradient(135deg,var(--indigo-600),var(--indigo-500));border:1px solid rgba(129,140,248,0.35);box-shadow:0 8px 20px -4px rgba(79,70,229,0.45)}.btn-register:hover{background:linear-gradient(135deg,var(--indigo-500),#4338ca);transform:translateY(-1px);box-shadow:0 12px 24px -4px rgba(79,70,229,0.6)}.hero-banner{position:relative;overflow:hidden;padding:4.5rem 0 5rem;border-bottom:1px solid var(--border-800);background:radial-gradient(circle at 50% 20%,rgba(79,70,229,0.22),transparent 55%),radial-gradient(circle at 80% 75%,rgba(56,189,248,0.14),transparent 45%),var(--bg-950)}.marquee-wrapper{position:relative;width:100%;overflow:hidden;padding:0.85rem 0;user-select:none;mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%)}.marquee-track{display:flex;width:max-content;gap:2.25rem;will-change:transform;animation:fluency-marquee-rtl 68s linear infinite}.marquee-track.is-reverse-speed{animation-duration:78s}.marquee-wrapper:hover .marquee-track{animation-play-state:paused}@keyframes fluency-marquee-rtl{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-50%,0,0)}}.marquee-lang-item{display:inline-flex;align-items:baseline;gap:0.75rem;font-size:clamp(2rem,4.5vw,3.6rem);font-weight:900;letter-spacing:-0.03em;color:rgba(226,232,240,0.18);transition:color 0.2s ease,transform 0.2s ease;white-space:nowrap}.marquee-lang-item:hover{color:rgba(165,180,252,0.65)}.marquee-lang-native{font-size:0.55em;font-weight:700;color:rgba(56,189,248,0.38);padding:0.15rem 0.55rem;border-radius:999px;border:1px solid rgba(56,189,248,0.2);background:rgba(15,23,42,0.6)}.hero-center-card{position:relative;z-index:10;max-width:54rem;margin:2rem auto;text-align:center;padding:2.5rem 1.75rem;background:rgba(15,23,42,0.82);border:1px solid rgba(99,102,241,0.3);border-radius:var(--radius-2xl);box-shadow:0 25px 60px -15px rgba(2,6,23,0.85),0 0 40px -10px rgba(79,70,229,0.28);backdrop-filter:blur(12px)}.hero-kicker{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--sky-300);background:rgba(56,189,248,0.12);border:1px solid rgba(56,189,248,0.3);padding:0.35rem 0.9rem;border-radius:999px;margin-bottom:1.1rem}.hero-detected-badge{display:inline-block;margin-bottom:0.85rem;padding:0.3rem 0.85rem;font-size:0.8rem;font-weight:700;color:var(--emerald-400);background:rgba(16,185,129,0.12);border:1px solid rgba(16,185,129,0.35);border-radius:999px}.hero-title{font-size:clamp(2.1rem,5vw,3.75rem);font-weight:900;line-height:1.12;letter-spacing:-0.03em;margin-bottom:1.15rem;background:linear-gradient(135deg,#ffffff 20%,var(--indigo-300) 65%,var(--sky-300) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-subtitle{font-size:clamp(1rem,2vw,1.2rem);color:var(--text-300);max-width:42rem;margin:0 auto 1.85rem}.btn-hero-cta{font-size:1.1rem;font-weight:800;padding:1rem 2.35rem;border-radius:1rem;color:#ffffff;background:linear-gradient(135deg,var(--indigo-600) 0%,var(--indigo-500) 50%,#0284c7 100%);border:1px solid rgba(125,211,252,0.4);box-shadow:0 16px 35px -8px rgba(79,70,229,0.65)}.btn-hero-cta:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 20px 42px -6px rgba(56,189,248,0.5)}.hero-Trust-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:0.75rem;margin-top:1.5rem;font-size:0.8rem;color:var(--text-400)}.hero-trust-pill{display:inline-flex;align-items:center;gap:0.35rem;padding:0.3rem 0.75rem;border-radius:999px;background:rgba(2,6,23,0.65);border:1px solid var(--border-800)}.section-block{padding:5rem 0;border-bottom:1px solid var(--border-800)}.section-block.is-alt{background:linear-gradient(180deg,rgba(15,23,42,0.45) 0%,rgba(2,6,23,0.9) 100%)}.section-header{max-width:46rem;margin:0 auto 3rem;text-align:center}.section-step-tag{display:inline-flex;align-items:center;gap:0.45rem;font-size:0.75rem;font-weight:800;text-transform:uppercase;letter-spacing:0.06em;padding:0.3rem 0.8rem;border-radius:999px;background:rgba(99,102,241,0.15);color:var(--indigo-300);border:1px solid rgba(99,102,241,0.35);margin-bottom:0.85rem}.section-title{font-size:clamp(1.65rem,3.5vw,2.5rem);font-weight:800;letter-spacing:-0.025em;color:#ffffff;margin-bottom:0.75rem}.section-desc{color:var(--text-400);font-size:1.02rem}.sim-card{background:var(--bg-900);border:1px solid var(--border-800);border-radius:var(--radius-2xl);padding:1.75rem;box-shadow:0 20px 50px -15px rgba(0,0,0,0.65)}.sim-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.85rem;padding-bottom:1.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-800)}.sim-tabs{display:flex;flex-wrap:wrap;gap:0.5rem}.sim-tab-btn{padding:0.45rem 0.9rem;border-radius:0.65rem;font-size:0.82rem;font-weight:600;background:var(--bg-950);color:var(--text-400);border:1px solid var(--border-800);cursor:pointer;transition:all 0.15s ease}.sim-tab-btn:hover{color:var(--text-100);border-color:var(--border-700)}.sim-tab-btn.is-active{background:var(--indigo-600);color:#ffffff;border-color:var(--indigo-400);box-shadow:0 4px 14px -2px rgba(79,70,229,0.5)}.sim-meta-badges{display:flex;flex-wrap:wrap;gap:0.5rem}.sim-badge{font-size:0.75rem;font-weight:600;padding:0.3rem 0.7rem;border-radius:0.5rem;background:rgba(2,6,23,0.8);border:1px solid var(--border-700);color:var(--text-300)}.sim-badge.is-emerald{color:var(--emerald-400);border-color:rgba(16,185,129,0.35);background:rgba(16,185,129,0.1)}.sim-badge.is-amber{color:var(--amber-400);border-color:rgba(251,191,36,0.35);background:rgba(251,191,36,0.1)}.reading-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:1.5rem}@media (max-width:860px){.reading-grid{grid-template-columns:1fr}}.reading-stage{background:var(--bg-950);border:1px solid var(--border-800);border-radius:var(--radius-xl);padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.25rem}.reading-instruction{font-size:0.8rem;color:var(--indigo-300);font-weight:600}.reading-words-area{display:flex;flex-wrap:wrap;gap:0.65rem;padding:0.5rem 0}.reading-word-chip{display:inline-flex;flex-direction:column;align-items:center;padding:0.55rem 0.85rem;border-radius:0.75rem;background:var(--bg-900);border:1px solid var(--border-700);color:var(--text-100);cursor:pointer;transition:all 0.15s ease}.reading-word-chip:hover{border-color:var(--indigo-400);transform:translateY(-2px)}.reading-word-chip.is-selected{background:rgba(79,70,229,0.22);border-color:var(--sky-400);box-shadow:0 0 0 2px rgba(56,189,248,0.25)}.reading-word-surface{font-size:1.25rem;font-weight:700}.reading-word-romaji{font-size:0.72rem;color:var(--sky-300);margin-top:0.15rem;font-weight:600}.reading-word-romaji.is-subtle{color:var(--text-400)}.reading-translation-box{padding-top:1rem;border-top:1px dashed var(--border-800);font-size:0.92rem;color:var(--text-300)}.reading-inspector{background:linear-gradient(160deg,rgba(30,41,59,0.55),rgba(2,6,23,0.95));border:1px solid rgba(99,102,241,0.35);border-radius:var(--radius-xl);padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;gap:1rem}.inspector-word-title{font-size:1.65rem;font-weight:800;color:#ffffff}.inspector-phonetic{font-size:0.85rem;color:var(--sky-400);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;margin-top:0.2rem}.inspector-meaning{font-size:1.1rem;font-weight:700;color:var(--emerald-400);margin-top:0.5rem}.inspector-note{font-size:0.86rem;color:var(--text-300);background:rgba(2,6,23,0.65);padding:0.75rem;border-radius:0.65rem;border:1px solid var(--border-800)}.sim-action-btn{width:100%;padding:0.75rem 1rem;border-radius:0.75rem;font-weight:700;font-size:0.85rem;cursor:pointer;border:1px solid rgba(99,102,241,0.4);background:rgba(79,70,229,0.2);color:var(--indigo-300);transition:all 0.15s ease}.sim-action-btn:hover{background:var(--indigo-600);color:#ffffff}.sim-action-btn.is-saved,.sim-action-btn.is-playing{background:rgba(16,185,129,0.2);border-color:var(--emerald-400);color:var(--emerald-400)}.listening-slots-box{min-height:4.5rem;padding:1rem;border-radius:var(--radius-xl);background:var(--bg-950);border:2px dashed var(--border-700);display:flex;flex-wrap:wrap;align-items:center;gap:0.6rem;margin-bottom:1.25rem}.listening-placeholder{color:var(--text-500);font-size:0.9rem}.listening-pool-box{display:flex;flex-wrap:wrap;gap:0.65rem;margin-bottom:1.25rem}.wb-chip{display:inline-flex;flex-direction:column;align-items:center;padding:0.5rem 0.9rem;border-radius:0.75rem;background:var(--bg-950);border:1px solid var(--border-700);color:var(--text-100);cursor:pointer;transition:all 0.15s ease}.wb-chip:hover:not(:disabled){border-color:var(--sky-400);transform:translateY(-1px)}.wb-chip.is-selected{background:rgba(79,70,229,0.25);border-color:var(--indigo-400)}.wb-chip.is-used{opacity:0.32;cursor:not-allowed}.wb-chip-text{font-weight:700;font-size:0.95rem}.wb-chip-pron{font-size:0.68rem;color:var(--text-400)}.listening-input{width:100%;padding:0.95rem 1.1rem;border-radius:0.85rem;background:var(--bg-950);border:1px solid var(--border-700);color:#ffffff;font-size:1rem;margin-bottom:1rem}.listening-input:focus{outline:none;border-color:var(--indigo-400)}.sim-controls-row{display:flex;flex-wrap:wrap;gap:0.75rem;align-items:center;justify-content:space-between}.sim-feedback{margin-top:1rem;padding:0.85rem 1rem;border-radius:0.75rem;font-size:0.88rem;font-weight:600}.sim-feedback.is-neutral{background:rgba(15,23,42,0.9);border:1px solid var(--border-700);color:var(--text-300)}.sim-feedback.is-success{background:rgba(16,185,129,0.12);border:1px solid rgba(16,185,129,0.4);color:var(--emerald-400)}.sim-feedback.is-warning{background:rgba(251,191,36,0.12);border:1px solid rgba(251,191,36,0.4);color:var(--amber-400)}.practice-prompt-box{text-align:center;padding:1.5rem;background:var(--bg-950);border:1px solid var(--border-800);border-radius:var(--radius-xl);margin-bottom:1.25rem}.practice-term-title{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;color:#ffffff}.practice-term-pron{font-size:0.88rem;color:var(--sky-400);margin:0.25rem 0 0.65rem}.practice-term-context{font-size:0.92rem;color:var(--text-400);font-style:italic}.practice-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0.85rem;margin-bottom:1rem}@media (max-width:680px){.practice-options-grid{grid-template-columns:1fr}}.practice-option-btn{display:flex;align-items:center;gap:0.85rem;text-align:left;padding:0.95rem 1.1rem;border-radius:0.85rem;background:var(--bg-950);border:1px solid var(--border-700);color:var(--text-100);cursor:pointer;transition:all 0.15s ease}.practice-option-btn:hover{border-color:var(--indigo-400);background:rgba(30,41,59,0.7)}.practice-option-btn.is-correct{background:rgba(16,185,129,0.18);border-color:var(--emerald-400);color:#ffffff}.practice-option-btn.is-wrong{background:rgba(244,63,94,0.15);border-color:var(--rose-400)}.practice-opt-letter{width:1.85rem;height:1.85rem;border-radius:0.5rem;background:var(--bg-900);border:1px solid var(--border-700);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:0.8rem;color:var(--indigo-300);flex-shrink:0}.explorer-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.explorer-search{flex:1;min-width:240px;padding:0.75rem 1rem;border-radius:0.75rem;background:var(--bg-900);border:1px solid var(--border-700);color:#ffffff}.explorer-search:focus{outline:none;border-color:var(--indigo-400)}.languages-count{font-size:0.82rem;color:var(--text-400);margin-bottom:1rem}.languages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.lang-card{background:var(--bg-900);border:1px solid var(--border-800);border-radius:var(--radius-xl);padding:1.15rem;transition:transform 0.15s ease,border-color 0.15s ease}.lang-card:hover{transform:translateY(-2px);border-color:rgba(99,102,241,0.45)}.lang-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:0.5rem;margin-bottom:0.65rem}.lang-card-title{font-size:1.05rem;font-weight:800;color:#ffffff}.lang-card-native{font-size:0.82rem;color:var(--sky-400);font-weight:600}.lang-card-badge{font-size:0.68rem;font-weight:700;padding:0.2rem 0.5rem;border-radius:0.4rem;background:var(--bg-950);border:1px solid var(--border-700);color:var(--text-300);white-space:nowrap}.lang-card-sample{font-size:0.86rem;color:var(--text-200);margin-bottom:0.35rem}.lang-card-translation{font-size:0.78rem;color:var(--text-400)}.legal-page-main{padding:4rem 0 5rem}.legal-card{max-width:52rem;margin:0 auto;background:var(--bg-900);border:1px solid var(--border-800);border-radius:var(--radius-2xl);padding:2.5rem}.legal-card h1{font-size:clamp(1.75rem,3.5vw,2.4rem);font-weight:900;color:#ffffff;margin-bottom:0.5rem}.legal-updated{font-size:0.85rem;color:var(--text-400);margin-bottom:2rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border-800)}.legal-card h2{font-size:1.2rem;font-weight:800;color:var(--indigo-300);margin:1.75rem 0 0.65rem}.legal-card p,.legal-card li{color:var(--text-300);font-size:0.96rem;margin-bottom:0.85rem}.legal-card ul{padding-left:1.35rem;margin-bottom:1rem}.legal-highlight-box{background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.35);border-radius:var(--radius-xl);padding:1.25rem;margin:1.5rem 0;color:var(--text-100)}.site-footer{background:#01040f;border-top:1px solid var(--border-800);padding:3.5rem 0 2.5rem}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;padding-bottom:2rem;border-bottom:1px solid var(--border-800)}.footer-nav{display:flex;flex-wrap:wrap;gap:1.35rem}.footer-link{font-size:0.9rem;font-weight:600;color:var(--text-400);transition:color 0.15s ease}.footer-link:hover{color:#ffffff}.footer-bottom{padding-top:1.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:0.8rem;color:var(--text-500)}