:root{--bg1: #eff6ff;--bg2: #ecfeff;--card-bg: #ffffff;--text: #111827;--muted: #4b5563;--accent: #1d4ed8;--success: #166534;--danger: #b91c1c;--border: #dbeafe}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:var(--text);background:radial-gradient(circle at top right,var(--bg2),var(--bg1))}.app-shell{min-height:100vh;display:grid;place-items:center;padding:18px}.card{width:min(760px,100%);background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:28px;box-shadow:0 18px 40px #1d4ed81a}h1{margin:0;font-size:clamp(1.4rem,4vw,2rem)}.muted{margin:8px 0 18px;color:var(--muted)}.rule-box{border-left:5px solid var(--accent);background:#eff6ff;border-radius:8px;padding:12px 14px;margin-bottom:18px}.rule-box h3{margin:0 0 8px;font-size:.98rem}.rule-box ul{margin:0;padding-left:20px}.label{display:block;margin-bottom:8px;font-weight:600}input[type=file]{width:100%;margin-bottom:14px}button{border:none;border-radius:10px;padding:11px 16px;font-weight:600;cursor:pointer}.primary{width:100%;background:var(--accent);color:#fff}.primary:disabled{opacity:.7;cursor:not-allowed}.error{margin-top:12px;color:var(--danger)}.result-box{margin-top:16px;border-top:1px solid var(--border);padding-top:16px}.success{color:var(--success);margin:0 0 10px}.actions{display:flex;gap:10px;flex-wrap:wrap}.success-btn{background:#16a34a;color:#fff}.danger-btn{background:#dc2626;color:#fff}@media (max-width: 600px){.card{padding:18px}.actions button{width:100%}}
