:root{font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#0f172a;background:#f3f6fb}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#eef2ff,#f7f9fc 30%,#f3f6fb)}.page{max-width:1080px;margin:0 auto;padding:28px 20px 40px}.hero h1{margin:0;font-size:2rem;letter-spacing:.2px}.hero p{margin-top:8px;color:#475569}.grid{margin-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card{background:#fff;border:1px solid #dbe3ef;border-radius:14px;padding:16px;box-shadow:0 8px 20px #0f172a0d}.card h2{margin:0 0 12px;font-size:1.05rem}label{display:block;margin-bottom:12px;font-weight:600;color:#334155}input,textarea{width:100%;margin-top:6px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font-size:.95rem}textarea{resize:vertical}button{border:0;border-radius:10px;background:#2563eb;color:#fff;font-weight:700;padding:10px 14px;cursor:pointer}button:disabled{background:#94a3b8;cursor:not-allowed}.alert{margin-top:10px;border-radius:10px;padding:10px 12px;font-size:.92rem}.alert.warn{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.alert.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.meta{display:flex;gap:16px;flex-wrap:wrap;color:#475569;font-size:.9rem}.output{margin-top:10px;min-height:100px;background:#0b1220;color:#d1fae5;border-radius:10px;border:1px solid #1f2937;padding:12px;white-space:pre-wrap}@media (max-width: 900px){.grid{grid-template-columns:1fr}}
