:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111827;background:#f8fafc}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.app-shell{min-height:100vh;padding:24px;background:#f8fafc}.grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:24px}@media (max-width: 900px){.grid{grid-template-columns:1fr}}.card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 1px 2px #0000000a}.card-header{padding:24px 24px 0}.card-content{padding:24px}.badge{display:inline-flex;border:1px solid #d1d5db;border-radius:999px;padding:6px 10px;font-size:14px}.title{font-size:2rem;font-weight:700;margin:12px 0 8px}.muted{color:#475569;line-height:1.5}.prompt-box,.section-box,.info-box{border:1px solid #e5e7eb;border-radius:18px;padding:18px;background:#fff}.prompt{font-size:1.35rem;font-weight:700;margin:0}.small{font-size:.92rem;color:#64748b}.label{display:block;font-weight:600;margin-bottom:8px}.input-wrap{position:relative}.input{width:100%;height:46px;border:1px solid #d1d5db;border-radius:12px;padding:0 14px 0 40px}.icon-left{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8}.row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.timer{border:1px solid #d1d5db;border-radius:12px;padding:10px 14px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:1.1rem}.btn{border:none;background:#0f172a;color:#fff;border-radius:12px;padding:11px 16px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.btn:hover{opacity:.95}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:#b91c1c}.btn-secondary{background:#e5e7eb;color:#111827}.btn-outline{background:#fff;color:#111827;border:1px solid #d1d5db}.audio{width:100%;margin-top:16px}.stack{display:grid;gap:18px}.alert{border-radius:16px;padding:14px 16px;border:1px solid #fecaca;background:#fff1f2}.alert-success{border-color:#bbf7d0;background:#f0fdf4}.code{font-family:ui-monospace,SFMono-Regular,monospace;background:#f1f5f9;padding:2px 6px;border-radius:6px}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes studentCardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.student-fade-in{animation:studentCardIn .26s ease-out}.student-primary-btn{transition:transform .14s ease,box-shadow .18s ease,filter .18s ease}.student-primary-btn:hover{transform:translateY(-1px);filter:brightness(1.02)}.student-primary-btn:active{transform:translateY(1px) scale(.995)}.student-assignment-card{transition:transform .13s ease,box-shadow .18s ease,border-color .18s ease}.student-assignment-card:hover{transform:translateY(-1px);box-shadow:0 12px 24px #0f172a1a!important;border-color:#cbd5e1!important}.student-assignment-card:active{transform:translateY(0) scale(.995)}.student-assignment-card:focus-visible,.student-primary-btn:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(79,70,229,.35);outline-offset:2px}.student-feedback-card{animation:studentCardIn .26s ease-out}@media (max-width: 640px){.student-entry-page{padding:12px!important}.student-entry-shell{padding:16px!important;border-radius:24px!important}.student-entry-hero{margin-bottom:10px!important}.student-entry-title{margin-bottom:4px!important;font-size:clamp(24px,8vw,30px)!important}.student-entry-subtitle{margin-bottom:10px!important;font-size:15px!important}.student-entry-input{min-height:60px!important;font-size:clamp(18px,5.5vw,22px)!important}.student-entry-continue{margin-top:10px!important;min-height:62px!important;font-size:20px!important}}
