:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#e5e7eb;background:#070b14;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#1f2937 0,#070b14 48%);padding:24px}.shell{max-width:920px;margin:0 auto;min-height:calc(100vh - 48px);display:grid;place-items:center}.card{width:100%;background:rgba(17,24,39,.94);border:1px solid #334155;border-radius:22px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.42)}.narrow{max-width:430px}.hidden{display:none!important}.brand{display:flex;align-items:center;gap:14px}.logo{width:48px;height:48px;border-radius:15px;background:#22c55e;color:#04120a;font-weight:900;font-size:25px;display:grid;place-items:center;box-shadow:0 0 30px rgba(34,197,94,.28)}h1,h2,p{margin:0}h1{font-size:1.35rem}.brand p{color:#94a3b8;margin-top:3px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:18px}form{margin-top:24px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}label{display:grid;gap:8px;font-weight:650;font-size:.92rem}label span{color:#94a3b8;font-weight:400}input{width:100%;border:1px solid #475569;background:#0b1220;color:#f8fafc;border-radius:12px;padding:13px 14px;font:inherit;outline:none}input:focus{border-color:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.15)}button{border:0;border-radius:12px;padding:13px 18px;background:#22c55e;color:#04120a;font:inherit;font-weight:800;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.secondary,.ghost{background:#273449;color:#f8fafc}.ghost{padding:10px 13px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:23px}.status,.error{min-height:1.25em;margin-top:15px;color:#fca5a5}.status.ok{color:#86efac}.result{margin-top:22px;padding:19px;border:1px solid #334155;border-radius:16px;background:#0b1220}.result p{color:#cbd5e1;margin-top:7px}@media(max-width:680px){body{padding:12px}.shell{min-height:calc(100vh - 24px)}.card{padding:20px;border-radius:18px}.grid{grid-template-columns:1fr}header{align-items:flex-start}.actions button{flex:1 1 100%}}
