:root{--bg:#0b1120;--card:#fff;--ink:#0f172a;--muted:#64748b;--border:#e2e8f0;--brand:#1e293b;--brand-accent:#6366f1;--danger:#dc2626;--ok:#16a34a}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--ink);background:radial-gradient(1200px 600px at 50% -10%,#1e293b 0%,#0b1120 55%) no-repeat;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.shell{justify-content:center;align-items:center;min-height:100vh;padding:32px 16px;display:flex}.card{background:var(--card);border-radius:20px;width:100%;max-width:560px;overflow:hidden;box-shadow:0 20px 60px #02061773}.card__header{border-bottom:1px solid var(--border);padding:28px 32px 20px}.brand{letter-spacing:-.01em;color:var(--brand);align-items:center;gap:10px;font-weight:700;display:flex}.brand__dot{background:linear-gradient(135deg, var(--brand-accent), #0ea5e9);border-radius:8px;width:26px;height:26px}.title{letter-spacing:-.02em;margin:18px 0 4px;font-size:22px;font-weight:700}.subtitle{color:var(--muted);margin:0;font-size:14px}.card__body{padding:24px 32px 32px}.filelist{border:1px solid var(--border);border-radius:12px;margin:0 0 24px;padding:0;list-style:none;overflow:hidden}.filelist li{justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:14px;display:flex}.filelist li+li{border-top:1px solid var(--border)}.filelist .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.filelist .size{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.btn{color:#fff;background:var(--brand);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 18px;font-size:15px;font-weight:600;text-decoration:none;transition:transform 50ms,opacity .15s;display:inline-flex}.btn:hover{opacity:.92}.btn:active{transform:translateY(1px)}.meta{text-align:center;color:var(--muted);margin-top:16px;font-size:12px}.state{text-align:center;padding:20px 0 8px}.state h1{margin:12px 0 6px;font-size:20px}.state p{color:var(--muted);margin:0;font-size:14px}.badge{color:var(--brand-accent);background:#eef2ff;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.skeleton{background:linear-gradient(90deg,#eef2f7,#f8fafc,#eef2f7) 0 0/200% 100%;border-radius:8px;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
