*{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,sans-serif;background:#f5f5f5;color:#1a1a1a}main{max-width:600px;margin:48px auto;padding:0 16px}h1{font-size:1.5rem;margin-bottom:24px}.form{background:#fff;padding:24px;border-radius:8px;display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px}label{font-size:.875rem;font-weight:500}input[type=file],select{padding:8px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem}button{padding:10px;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.error{margin-top:16px;color:#dc2626;font-size:.9rem}.result-card{background:#fff;padding:24px;border-radius:8px;margin-top:24px;display:flex;flex-direction:column;gap:20px}.score-row{display:flex;align-items:center;gap:16px}.score{font-size:3rem;font-weight:700}.grade{font-size:1.5rem;font-weight:700;color:#fff;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:8px}h3{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin-bottom:8px}ul{list-style:none;display:flex;flex-direction:column;gap:4px}li{font-size:.9rem;padding:4px 0}li:before{content:"— ";color:#9ca3af}.suggestions-text{font-size:.9rem;line-height:1.6;color:#374151}.preview{width:100%;border-radius:6px;object-fit:cover}
