*{box-sizing:border-box}body{margin:0;background:#f3f4f6;color:#111827;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.app{max-width:640px;margin:auto;padding:calc(20px + env(safe-area-inset-top)) 16px 30px}header{text-align:center;margin:12px 0 20px}h1{margin:0 0 7px;font-size:30px}header p,.tip{color:#6b7280}.card{background:#fff;border-radius:20px;padding:16px;margin-bottom:16px;box-shadow:0 5px 24px rgba(0,0,0,.07)}#reader{overflow:hidden;border-radius:15px;min-height:70px}.actions{display:flex;gap:10px;margin-top:14px}button{width:100%;border:0;border-radius:13px;padding:15px;background:#111827;color:#fff;font-size:16px;font-weight:700}.secondary{background:#e5e7eb;color:#111827}.upload{display:block;text-align:center;margin-top:15px;padding:13px;border:1px dashed #9ca3af;border-radius:12px;color:#374151}.upload input{display:block;width:100%;margin-top:8px}.hidden{display:none}.badge{display:inline-block;background:#dcfce7;color:#166534;padding:7px 10px;border-radius:999px;font-weight:700;margin-bottom:12px}textarea{width:100%;height:150px;margin:7px 0 12px;border:1px solid #d1d5db;border-radius:12px;padding:12px;font-size:13px;word-break:break-all}.tip{text-align:center;font-size:13px;line-height:1.45}#details{margin-bottom:12px;line-height:1.6}.invalid{background:#fee2e2;color:#991b1b}