:root { color-scheme: dark; --bg:#0c111d; --card:#151c2c; --line:#2a344a; --text:#edf2ff; --muted:#9ca9c2; --accent:#78a9ff; --danger:#ff7187; }
* { box-sizing: border-box; }
body { margin:0; background:radial-gradient(circle at 20% 0,#172746 0,transparent 38%),var(--bg); color:var(--text); font:15px/1.5 system-ui,sans-serif; min-height:100vh; }
main { width:min(920px,calc(100% - 32px)); margin:50px auto; }
.card { background:color-mix(in srgb,var(--card) 94%,transparent); border:1px solid var(--line); border-radius:16px; padding:24px; box-shadow:0 18px 60px #0005; }
h1,h2 { letter-spacing:-.03em; margin:0 0 8px; }
h1 { font-size:34px; }
.muted,small { color:var(--muted); }
button,.button { border:0; border-radius:9px; padding:10px 15px; background:var(--accent); color:#07101f; font-weight:700; cursor:pointer; text-decoration:none; display:inline-block; }
button.secondary { background:#263249; color:var(--text); }
button.danger { background:transparent; color:var(--danger); border:1px solid #623040; }
input,select { width:100%; padding:10px 12px; border-radius:9px; border:1px solid var(--line); background:#0d1422; color:var(--text); }
label { display:grid; gap:6px; }
.grid { display:grid; grid-template-columns:2fr 1fr; gap:14px; }
.top { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }
.top.compact { margin:0; }
.upload { display:grid; gap:15px; }
.dev-login { display:grid; gap:15px; margin-top:18px; text-align:left; }
.warning { border-left:3px solid #f2b84b; background:#332817; padding:10px 12px; border-radius:5px; color:#ffe1a3; }
.file-panel { margin-top:18px; }
.files { display:grid; gap:10px; margin-top:14px; }
.file { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; border:1px solid var(--line); border-radius:11px; padding:14px; }
.actions { display:flex; gap:7px; }
.dialog-actions { margin-top:12px; }
.meter { height:8px; background:#0c1220; border-radius:8px; overflow:hidden; }
.meter i { display:block; height:100%; width:0; background:var(--accent); }
dialog { color:var(--text); background:var(--card); border:1px solid var(--line); border-radius:12px; max-width:600px; width:90%; }
dialog::backdrop { background:#0009; }
.center { max-width:520px; margin:15vh auto; text-align:center; }
.align-left { text-align:left; }
.download-button { margin-top:16px; }
.hidden { display:none; }
.status { min-height:24px; color:var(--muted); word-break:break-all; }
@media(max-width:650px) { .grid{grid-template-columns:1fr}.file{grid-template-columns:1fr}.actions{flex-wrap:wrap}.top{align-items:flex-start} }
