@font-face{font-family:Geist Mono;src:url(/Geist_Mono/GeistMono-VariableFont_wght.ttf)format("truetype");font-weight:100 900;font-display:swap}:root{--font-display:"Geist Mono", "Courier New", monospace;--font-body:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-bg:#0d0b1a;--color-surface:#ffffff0d;--color-surface-solid:#1a1730;--color-border:#ffffff1a;--color-text:#f0eeff;--color-text-muted:#f0eeff8c;--color-accent:#7b61ff;--color-accent-2:#c084fc;--radius-card:28px}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0}.home-screen{flex-direction:column;min-height:100vh;display:flex;position:relative;overflow-x:hidden}.bg-mesh{z-index:0;pointer-events:none;background:radial-gradient(80% 60% at 15% 20%,#581ceb59 0%,#0000 70%),radial-gradient(60% 50% at 85% 10%,#c026d347 0%,#0000 65%),radial-gradient(70% 55% at 50% 90%,#0e0c5099 0%,#0000 70%),#0d0b1a;animation:18s ease-in-out infinite alternate mesh-drift;position:fixed;inset:0}@keyframes mesh-drift{0%{background:radial-gradient(80% 60% at 15% 20%,#581ceb59 0%,#0000 70%),radial-gradient(60% 50% at 85% 10%,#c026d347 0%,#0000 65%),radial-gradient(70% 55% at 50% 90%,#0e0c5099 0%,#0000 70%),#0d0b1a}33%{background:radial-gradient(80% 60% at 70% 30%,#6d28d966 0%,#0000 70%),radial-gradient(60% 50% at 10% 60%,#db277740 0%,#0000 65%),radial-gradient(70% 55% at 60% 80%,#0e0c508c 0%,#0000 70%),#0d0b1a}66%{background:radial-gradient(80% 60% at 40% 70%,#7c3aed4d 0%,#0000 70%),radial-gradient(60% 50% at 90% 40%,#a714c84d 0%,#0000 65%),radial-gradient(70% 55% at 20% 15%,#0e0c5080 0%,#0000 70%),#0d0b1a}to{background:radial-gradient(80% 60% at 80% 80%,#581ceb59 0%,#0000 70%),radial-gradient(60% 50% at 20% 20%,#e848c647 0%,#0000 65%),radial-gradient(70% 55%,#0e0c5099 0%,#0000 70%),#0d0b1a}}.home-header,.home-main,.home-footer{z-index:1;position:relative}.home-header{align-items:center;padding:22px 36px;display:flex}.home-header .logo{font:800 24px var(--font-display);color:var(--color-accent);letter-spacing:-.5px}.home-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:0 24px 80px}.hero-section{text-align:center;flex-direction:column;align-items:center;gap:20px;padding:72px 0 60px;display:flex}.hero-title{font:900 clamp(40px, 7vw, 76px) var(--font-display);letter-spacing:-2px;background:linear-gradient(135deg, #fff 30%, var(--color-accent-2) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;line-height:1.05}.hero-sub{font:400 clamp(15px, 2vw, 18px) var(--font-body);color:var(--color-text-muted);max-width:520px;margin:0;line-height:1.65}.primary-btn{background:linear-gradient(135deg, var(--color-accent) 0%, #c084fc 100%);color:#fff;font:700 17px var(--font-body);letter-spacing:.3px;cursor:pointer;border:none;border-radius:100px;padding:15px 38px;transition:transform .18s,box-shadow .18s;display:inline-block;box-shadow:0 8px 28px #7b61ff73}.primary-btn:hover{transform:translateY(-2px)scale(1.03);box-shadow:0 14px 36px #7b61ff99}.primary-btn:active{transform:translateY(0)scale(.98)}.demo-transcript{-webkit-backdrop-filter:blur(12px);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:18px;align-items:center;gap:14px;min-width:300px;max-width:480px;margin-top:8px;padding:14px 22px;display:inline-flex}.demo-waveform{flex-shrink:0;align-items:center;gap:3px;display:flex}.wave-bar{background:var(--color-accent);border-radius:4px;width:4px;animation:1.1s ease-in-out infinite alternate wave-bounce;display:block}.wave-bar:first-child{height:10px}.wave-bar:nth-child(2){height:18px}.wave-bar:nth-child(3){height:26px}.wave-bar:nth-child(4){height:34px}.wave-bar:nth-child(5){height:26px}.wave-bar:nth-child(6){height:18px}.wave-bar:nth-child(7){height:10px}@keyframes wave-bounce{0%{opacity:.6;transform:scaleY(.4)}to{opacity:1;transform:scaleY(1)}}.demo-lines{font:500 14px var(--font-display);color:var(--color-text);text-align:left;flex:1;min-height:20px}.cursor{color:var(--color-accent);margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.score-badge{color:#fff;font:800 18px var(--font-display);background:linear-gradient(135deg,#43d9bd,#27bfa3);border-radius:100px;flex-shrink:0;padding:6px 14px;animation:.4s cubic-bezier(.34,1.56,.64,1) both badge-pop}@keyframes badge-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.scene-grid-wrap{margin-top:16px}.scenes-heading{font:700 13px var(--font-body);letter-spacing:2px;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 20px}.scenario-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;display:grid}.scenario-card{border-radius:var(--radius-card);cursor:pointer;text-align:left;opacity:0;will-change:transform, opacity;background-position:50%;background-size:cover;border:2px solid #0000;flex-direction:column;justify-content:flex-end;height:240px;padding:20px;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .22s,border-color .22s;display:flex;position:relative;overflow:hidden;transform:translateY(28px)}.scenario-card:after{content:"";border-radius:calc(var(--radius-card) - 2px);background:linear-gradient(#0000000d 0%,#0000008c 100%);transition:background .22s;position:absolute;inset:0}@keyframes card-fade-up{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.scenario-card.visible{animation:.48s cubic-bezier(.22,1,.36,1) both card-fade-up;animation-delay:var(--delay,0s);opacity:1;transform:translateY(0)}.scenario-card.visible:hover{border-color:var(--accent,#7b61ff);box-shadow:0 0 0 1px var(--accent,#7b61ff), 0 0 28px -2px var(--accent,#7b61ff), 0 16px 40px #00000073;transform:scale(1.03)}.scenario-card.visible:hover:after{background:linear-gradient(#0000002e 0%,#000000b8 100%)}.scenario-icon-badge{z-index:2;background:var(--accent,#7b61ff);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .22s;display:flex;position:absolute;top:14px;left:14px;box-shadow:0 4px 12px #0000004d}.scenario-card:hover .scenario-icon-badge{transform:scale(1.12)}.scenario-name{z-index:1;font:700 22px var(--font-display);color:#fff;letter-spacing:-.5px;line-height:1.2;position:relative}.scenario-desc{z-index:1;color:#fffc;font:400 13px var(--font-body);margin-top:4px;position:relative}.custom-section{border-radius:var(--radius-card);-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg,#7b61ff1f 0%,#c084fc1a 50%,#db277714 100%) 0 0/300% 300%;border:2px dashed #c084fc73;margin-top:36px;padding:32px;animation:8s infinite gradient-shift;position:relative;overflow:hidden}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.custom-section h2{font:700 20px var(--font-display);color:var(--color-accent-2);margin:0 0 20px}.custom-section input{width:100%;font:400 15px var(--font-body);color:var(--color-text);background:#ffffff12;border:1.5px solid #ffffff26;border-radius:16px;outline:none;margin-bottom:14px;padding:13px 18px;transition:border-color .18s}.custom-section input::placeholder{color:var(--color-text-muted)}.custom-section input:focus{border-color:var(--color-accent)}.upload-btn{width:100%;color:var(--color-accent-2);text-align:center;font:600 14px var(--font-body);cursor:pointer;background:#7b61ff2e;border:1.5px solid #7b61ff4d;border-radius:16px;margin-bottom:14px;padding:13px;transition:background .18s,border-color .18s;display:block}.upload-btn:hover{border-color:var(--color-accent);background:#7b61ff47}.upload-btn input{display:none}.preview{object-fit:cover;border-radius:16px;width:100%;max-height:180px;margin-bottom:14px}.add-btn{color:#fff;width:100%;font:700 17px var(--font-display);cursor:pointer;background:linear-gradient(90deg,#ff7eb6,#ff8f7a);border:none;border-radius:16px;padding:15px;transition:transform .18s,box-shadow .18s;box-shadow:0 6px 20px #ff7fb64d}.add-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px #ff7fb673}.stats-strip{font:500 14px var(--font-body);color:var(--color-text-muted);letter-spacing:.3px;border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 18px;margin-top:52px;padding:18px 24px;display:flex}.stats-dot{color:#fff3;font-size:18px;line-height:1}.home-footer{z-index:1;text-align:center;font:400 13px var(--font-body);color:var(--color-text-muted);padding:28px 24px;position:relative}.practice-screen{background-position:50%;background-size:cover;min-height:100vh;position:relative}.home-btn{font:700 14px var(--font-display);cursor:pointer;z-index:10;background:#ffffffe6;border:none;border-radius:20px;padding:10px 18px;transition:transform .15s;position:absolute;top:20px;left:20px;box-shadow:0 4px 12px #0003}.home-btn:hover{transform:translateY(-1px)}.centered-speak{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.speak-btn{color:#fff;width:180px;height:180px;font:800 28px var(--font-display);cursor:pointer;background:linear-gradient(135deg,#ff7eb6,#ff8f7a);border:none;border-radius:50%;transition:transform .15s;box-shadow:0 12px 32px #ff7fb666}.speak-btn:hover{transform:scale(1.05)}.speak-btn.recording{background:linear-gradient(135deg,#ff5e5e,#d93636);animation:1.2s infinite pulse-record}@keyframes pulse-record{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.timer{font:700 32px var(--font-display);color:#fff;text-shadow:0 2px 8px #0006;margin-top:16px}.bottom-panel{color:#fff;-webkit-backdrop-filter:blur(10px);background:#000c;border-radius:28px 28px 0 0;max-height:45vh;padding:24px 32px 40px;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 30px #00000059}.status-text{color:#f0eeffa6;text-align:center;font:400 14px var(--font-body);margin:0 0 10px}.practice-audio{width:100%;accent-color:var(--color-accent);margin:10px 0}.practice-transcript{width:100%;min-height:80px;font:400 15px var(--font-body);resize:vertical;color:#fff;background:#ffffff14;border:1.5px solid #fff3;border-radius:18px;outline:none;padding:14px}.practice-transcript::placeholder{color:#fff6}.practice-transcript:focus{border-color:var(--color-accent)}.score-btn{color:#fff;width:100%;font:700 18px var(--font-display);cursor:pointer;background:linear-gradient(90deg,#43d9bd,#27bfa3);border:none;border-radius:16px;margin-top:14px;padding:16px;transition:transform .15s,box-shadow .15s;box-shadow:0 6px 20px #43d9bd4d}.score-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px #43d9bd73}.score-btn:disabled{opacity:.55;transform:none}.scoreboard-overlay{text-align:center;z-index:20;background:#141028f7;border:1px solid #ffffff1f;border-radius:28px;width:90%;max-width:520px;max-height:80vh;padding:32px;animation:.3s cubic-bezier(.22,1,.36,1) both overlay-in;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 24px 60px #00000080}@keyframes overlay-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.92)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.close-scoreboard{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;font-size:24px;position:absolute;top:14px;right:18px}.kid-stars{text-align:center;margin-bottom:14px;font-size:28px}.score-pills{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.score-pill{text-align:center;background:#ffffff12;border:1px solid #ffffff1a;border-radius:18px;min-width:80px;padding:14px 20px}.score-pill strong{font:800 24px var(--font-display);color:var(--color-text);display:block}.score-pill span{font:400 12px var(--font-body);color:var(--color-text-muted)}.score-pill.big{background:var(--color-accent);border-color:var(--color-accent)}.score-pill.big strong{color:#fff}.score-pill.big span{color:#ffffffbf}.notes{margin-top:18px}.note{text-align:left;background:#7b61ff1f;border-radius:14px;gap:10px;margin:10px 0;padding:12px 16px;display:flex}.note b{color:var(--color-accent-2);font-family:var(--font-body);font-weight:600;display:block}.note p{color:var(--color-text);font:400 14px var(--font-body);margin:4px 0 0}@media (max-width:640px){.hero-section{padding:48px 0 40px}.hero-title{letter-spacing:-1px}.hero-sub{font-size:15px}.demo-transcript{min-width:unset;text-align:center;flex-wrap:wrap;justify-content:center;width:100%}.demo-lines{text-align:center}.scenario-grid{grid-template-columns:1fr}.scenario-card{height:200px}.stats-strip{gap:8px 12px;font-size:13px}.stats-dot{display:none}.stats-strip span{text-align:center;display:block}.speak-btn{width:140px;height:140px;font-size:22px}.bottom-panel{padding:18px 20px 30px}.scoreboard-overlay{width:95%;padding:22px}}
