@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Space+Grotesk:wght@400;500;700&display=swap";:root{--bg-1: #f2f7ff;--bg-2: #fff5e8;--ink: #1f2233;--muted: #58607a;--card: rgba(255, 255, 255, .86);--stroke: rgba(36, 47, 87, .15);--accent: #e6522c;--accent-2: #0f77f1;--ok: #118a52;--danger: #b63a2a}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,sans-serif;color:var(--ink);background:radial-gradient(circle at 15% 15%,rgba(230,82,44,.18),transparent 45%),radial-gradient(circle at 85% 12%,rgba(15,119,241,.2),transparent 40%),linear-gradient(135deg,var(--bg-1),var(--bg-2));min-height:100vh}.page{min-height:100vh;padding:32px 18px;display:grid;place-items:center;position:relative;overflow:hidden}.ambient{position:absolute;border-radius:999px;filter:blur(45px);opacity:.45;pointer-events:none}.ambient-a{width:360px;height:360px;background:#ffd2a5;left:-90px;bottom:-80px;animation:floatA 7s ease-in-out infinite}.ambient-b{width:280px;height:280px;background:#b9dcff;right:-70px;top:-60px;animation:floatB 8s ease-in-out infinite}.panel{width:min(920px,100%);padding:clamp(20px,3vw,34px);border:1px solid var(--stroke);border-radius:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card);box-shadow:0 20px 55px #1f223321;animation:fadeIn .65s ease}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--accent-2);font-weight:700}h1{margin:10px 0 8px;font-family:Fraunces,serif;font-size:clamp(30px,4vw,47px);line-height:1.05}.subtitle{margin:0 0 22px;color:var(--muted)}.controls{display:grid;gap:14px}.file-input{border:1px dashed var(--stroke);border-radius:16px;padding:14px;display:grid;gap:10px;font-weight:600;background:#ffffffa6}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}label{display:grid;gap:8px;color:var(--muted);font-size:14px}input[type=number],input[type=file],textarea{width:100%;border:1px solid var(--stroke);border-radius:12px;padding:10px 12px;font:inherit;color:var(--ink);background:#fff}.check-wrap{display:flex;align-items:center;gap:10px}.check-wrap input{width:16px;height:16px}button{border:none;border-radius:999px;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer;transition:transform .14s ease,box-shadow .2s ease}button:hover{transform:translateY(-1px)}button:disabled{opacity:.72;cursor:not-allowed}.primary{justify-self:start;background:linear-gradient(135deg,var(--accent),#f3802d);color:#fff;box-shadow:0 8px 22px #e6522c54}.secondary{background:linear-gradient(135deg,var(--accent-2),#3d93f4);color:#fff;box-shadow:0 8px 22px #0f77f154}.error{color:var(--danger);font-weight:600;margin-top:14px}.live-progress{margin-top:10px;border:1px solid var(--stroke);border-radius:14px;padding:12px;background:#ffffffb8}.live-row{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--ink);font-size:14px}.progress-track{margin-top:9px;width:100%;height:10px;border-radius:999px;background:#242f571f;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-2));transition:width .25s ease}.live-stats{margin-top:9px;display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:14px}.result{margin-top:24px;padding-top:14px;border-top:1px solid var(--stroke)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stats article{border:1px solid var(--stroke);border-radius:14px;padding:12px;background:#ffffffb3}.stats h3{margin:0;font-size:26px;color:var(--ok)}.stats p{margin:4px 0 0;color:var(--muted)}.result-header{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:10px}h2{margin:0;font-size:20px}textarea{margin-top:12px;resize:vertical;min-height:220px;line-height:1.45}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes floatA{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes floatB{0%,to{transform:translateY(0)}50%{transform:translateY(12px)}}@media (max-width: 760px){.grid-2,.stats{grid-template-columns:1fr}.result-header{flex-direction:column;align-items:flex-start}}
