:root{--brand: 167 243 90;--brand-hover: 142 228 66;--brand-soft: 232 247 204;--brand-fg: 15 23 42;--surface: 253 253 253;--surface-2: 244 247 244;--border: 241 245 249;--fg: 15 23 42;--muted: 100 116 139;--danger: 239 68 68;--success: 34 197 94}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:rgb(var(--surface-2));color:rgb(var(--fg));font-family:Plus Jakarta Sans,system-ui,sans-serif;display:flex;justify-content:center;padding:24px 16px 64px}#app{width:100%;max-width:560px}.card{background:rgb(var(--surface));border:1px solid rgb(var(--border));border-radius:24px;box-shadow:0 1px 3px #0000000d,0 1px 2px -1px #0000000d;padding:28px 24px;margin-bottom:16px}.lang-switch{display:flex;justify-content:flex-end;gap:6px;margin-bottom:12px}.lang-switch button{border:1px solid rgb(var(--border));background:rgb(var(--surface));color:rgb(var(--muted));border-radius:12px;padding:6px 14px;font-weight:600;font-size:13px;cursor:pointer}.lang-switch button.active{background:rgb(var(--brand));color:rgb(var(--brand-fg));border-color:rgb(var(--brand))}h1{font-size:22px;font-weight:800;margin:0 0 20px;line-height:1.3}.field{margin-bottom:20px}.field label.field-label{display:block;font-weight:700;font-size:15px;margin-bottom:8px}.field label.field-label .req{color:rgb(var(--danger));margin-left:2px}.field .hint{font-size:13px;color:rgb(var(--muted));margin-top:4px}input[type=text],input[type=tel],select{width:100%;border:1px solid rgb(var(--border));border-radius:12px;padding:12px 14px;font-size:15px;font-family:inherit;background:rgb(var(--surface));color:rgb(var(--fg))}input[type=text]:focus,input[type=tel]:focus,select:focus{outline:2px solid rgb(var(--brand));outline-offset:1px}.option{display:flex;align-items:flex-start;gap:10px;border:1px solid rgb(var(--border));border-radius:12px;padding:12px 14px;margin-bottom:8px;cursor:pointer}.option:has(input:checked){border-color:rgb(var(--brand));background:rgb(var(--brand-soft))}.option input{margin-top:2px;accent-color:rgb(var(--brand-hover))}.option span{font-size:15px}.field-error{color:rgb(var(--danger));font-size:13px;margin-top:6px;font-weight:600}.field.has-error input,.field.has-error select,.field.has-error .option{border-color:rgb(var(--danger))}button.submit{width:100%;background:rgb(var(--brand));color:rgb(var(--brand-fg));border:none;border-radius:12px;padding:14px 16px;font-size:16px;font-weight:700;cursor:pointer;margin-top:8px}button.submit:hover{background:rgb(var(--brand-hover))}button.submit:disabled{opacity:.6;cursor:default}.banner{border-radius:16px;padding:14px 16px;font-size:14px;font-weight:600;margin-bottom:16px}.banner.error{background:#fef2f2;color:rgb(var(--danger))}.result{text-align:center;padding:12px 0 4px}.result .badge{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:rgb(var(--brand-soft));color:rgb(var(--brand-fg));font-size:28px;margin-bottom:16px}.result h2{font-size:20px;font-weight:800;margin:0 0 12px}.result p{color:rgb(var(--fg));line-height:1.6;white-space:pre-wrap;margin:0 0 16px}.result .score{display:inline-block;background:rgb(var(--surface-2));border-radius:12px;padding:8px 16px;font-weight:700;margin-bottom:16px}.skeleton{color:rgb(var(--muted));text-align:center;padding:40px 0;font-weight:600}.course-header h1{font-size:24px;margin-bottom:6px}.course-header p{color:rgb(var(--muted));font-size:14px;line-height:1.5;margin:0}.lesson-card{margin-bottom:16px}.lesson-card .lesson-title{font-size:15px;font-weight:700;margin:0 0 12px;display:flex;align-items:center;gap:8px}.lesson-card .lesson-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:rgb(var(--brand-soft));color:rgb(var(--brand-fg));font-size:12px;font-weight:800;flex-shrink:0}.video-frame{position:relative;width:100%;padding-top:56.25%;border-radius:16px;overflow:hidden;background:#000}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-frame a.video-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-weight:700;background:#111}
