*{box-sizing:border-box}body{margin:0;background:linear-gradient(145deg,#f8fafc,#eef2f7);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111827;min-height:100vh}.shell{max-width:620px;min-height:100vh;margin:0 auto;padding:24px 16px 32px;display:flex;flex-direction:column;justify-content:center}.card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:24px;box-shadow:0 18px 55px rgba(15,23,42,.10)}.brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.mark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#111827;color:#f4b328;font-weight:900}.brand strong,.brand span{display:block}.brand span{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#64748b;margin-top:2px}.eyebrow{margin:0 0 8px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:1.2px;color:#904F97}h1{font-size:34px;line-height:1.08;margin:0 0 8px}h2{margin:0 0 8px}.sub,.details p,.thanks p{color:#64748b;line-height:1.5}.stars{display:flex;gap:6px;width:100%;margin:24px 0 10px}.stars button{flex:1;min-width:0;height:64px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;color:#cbd5e1;font-size:38px;line-height:1;cursor:pointer;transition:.15s}.stars button.on{color:#f59e0b;background:#fff7ed;border-color:#fdba74;transform:translateY(-2px)}.rating-copy{min-height:22px;text-align:center;font-weight:800;color:#475569}.details{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:22px}.details textarea{width:100%;min-height:150px;border:1px solid #cbd5e1;border-radius:14px;padding:14px;font:inherit;resize:vertical;margin:8px 0 12px}.primary{width:100%;border:0;border-radius:13px;background:#904F97;color:#fff;font-weight:900;font-size:16px;padding:14px 16px;cursor:pointer}.link{display:block;text-align:center;text-decoration:none}.thanks{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:22px}.error{margin-top:16px;padding:12px;border-radius:11px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.loading{text-align:center;padding:60px 0}.spinner{width:38px;height:38px;border:4px solid #e5e7eb;border-top-color:#904F97;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}.loading p{color:#64748b}footer{text-align:center;color:#94a3b8;font-size:11px;margin-top:15px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:480px){.shell{padding:12px}.card{padding:20px 16px;border-radius:20px}h1{font-size:29px}.stars{gap:4px}.stars button{height:58px;font-size:32px;border-radius:12px}}