:root{
  --bg:#f6f8fc;
  --panel:#ffffff;
  --text:#132033;
  --muted:#64748b;
  --line:#e2e8f0;
  --primary:#2457ff;
  --primary-dark:#1740c8;
  --soft:#eef3ff;
  --success:#0f7b4f;
  --danger:#b42318;
  --shadow:0 20px 50px rgba(15,23,42,.08);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
a{text-decoration:none;color:inherit}
.container{width:min(1160px,92vw);margin:0 auto}
.site-header{position:sticky;top:0;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:10}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--primary);color:#fff}
.nav-cta{font-weight:700;color:var(--primary)}
.hero{padding:70px 0 50px;background:linear-gradient(135deg,#fff 0%,#eef3ff 100%)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center}
.eyebrow{font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.08em;font-size:13px}
h1{font-size:clamp(38px,5vw,66px);line-height:1.02;margin:10px 0 18px;letter-spacing:-.04em}h2{font-size:30px;line-height:1.15;margin:0 0 14px}h3{margin:0 0 10px}.hero-text{font-size:20px;color:var(--muted);max-width:720px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.btn{border:0;border-radius:14px;padding:13px 18px;font-weight:800;cursor:pointer;transition:.15s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn.secondary{background:#fff;color:var(--primary);border:1px solid #c7d2fe}.btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}.btn.full{width:100%}
.trust-row{display:flex;gap:10px;flex-wrap:wrap}.trust-row span{background:#fff;border:1px solid var(--line);padding:8px 12px;border-radius:999px;font-size:14px;font-weight:700;color:#334155}.teacher-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:32px;padding:34px}.avatar{font-size:70px;background:var(--soft);width:112px;height:112px;border-radius:36px;display:grid;place-items:center;margin-bottom:20px}.teacher-card p{font-size:18px;color:#334155}.mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.mini-metrics div{background:#f8fafc;border:1px solid var(--line);padding:14px;border-radius:18px;text-align:center}.mini-metrics strong{display:block;font-size:26px}.mini-metrics span{font-size:12px;color:var(--muted);font-weight:700}
.section{padding:62px 0}.muted{background:#fff}.app-shell{display:grid;grid-template-columns:360px 1fr;gap:22px}.panel,.assignment-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.setup-panel{height:max-content;position:sticky;top:92px}label{display:block;font-weight:800;margin:14px 0 6px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 13px;font:inherit;background:#fff;color:var(--text)}textarea{resize:vertical}.small-note{font-size:13px;color:var(--muted);margin-bottom:0}.hidden{display:none!important}.custom-targets{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:12px;margin:12px 0}.coach-header{display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:16px}.coach-avatar{width:56px;height:56px;border-radius:20px;background:var(--soft);display:grid;place-items:center;font-size:30px}.coach-header p{margin:0;color:var(--muted)}.chat-window{height:430px;overflow:auto;background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:16px}.message{max-width:88%;padding:12px 14px;border-radius:16px;margin-bottom:12px}.message p{margin:6px 0 0}.message.ai{background:#fff;border:1px solid var(--line)}.message.user{background:#dbeafe;margin-left:auto;border:1px solid #bfdbfe}.message.error{background:#fff1f2;border:1px solid #fecdd3;color:var(--danger)}.input-row{display:grid;grid-template-columns:62px 1fr;gap:12px;margin-top:14px}.mic-btn{height:62px;border:0;border-radius:20px;background:var(--soft);font-size:28px;cursor:pointer}.mic-btn.recording{background:#fee2e2;animation:pulse 1s infinite}@keyframes pulse{50%{transform:scale(1.04)}}.action-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.section-head{text-align:center;max-width:760px;margin:0 auto 26px}.assignment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.assignment-card ul,.assignment-card ol{padding-left:20px;margin:8px 0}.assignment-card li{margin-bottom:8px}.submission-panel{margin-top:20px}.feedback-box{margin-top:16px;padding:16px;background:#f8fafc;border:1px solid var(--line);border-radius:16px;white-space:pre-wrap}.footer{padding:30px 0;color:var(--muted);font-size:14px;text-align:center}
.loader{display:inline-block;width:16px;height:16px;border:2px solid #dbeafe;border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:900px){.hero-grid,.app-shell{grid-template-columns:1fr}.setup-panel{position:static}.assignment-grid{grid-template-columns:1fr 1fr}.chat-window{height:360px}}
@media (max-width:560px){.hero{padding-top:44px}.teacher-card,.panel,.assignment-card{padding:18px;border-radius:18px}.assignment-grid{grid-template-columns:1fr}.mini-metrics{grid-template-columns:1fr}.action-row .btn{width:100%}.input-row{grid-template-columns:1fr}.mic-btn{height:54px}h1{font-size:36px}.hero-text{font-size:17px}}
.live-settings{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:12px;margin:14px 0;display:grid;gap:8px}
.check-row{display:flex;align-items:center;gap:9px;margin:0;font-weight:800;color:#334155;font-size:14px}
.check-row input{width:auto;accent-color:var(--primary)}
.live-message{position:relative}
.live-message::after{content:"Live";position:absolute;right:12px;top:10px;background:#ecfdf5;color:#047857;border:1px solid #bbf7d0;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.message p{white-space:pre-wrap}
.typing-dots{display:inline-flex;gap:4px;align-items:center;height:16px}
.typing-dots i{display:block;width:6px;height:6px;background:#94a3b8;border-radius:50%;animation:typingBounce .9s infinite ease-in-out}
.typing-dots i:nth-child(2){animation-delay:.12s}.typing-dots i:nth-child(3){animation-delay:.24s}
@keyframes typingBounce{0%,80%,100%{transform:translateY(0);opacity:.45}40%{transform:translateY(-5px);opacity:1}}
