:root{--bg:#f5f5f7;--surface:#ffffffb8;--text:#1d1d1f;--muted:#6e6e73;--line:#00000014;--accent:#0071e3;--ok:#1d9e4a;--err:#d70015;--track:#0000000f}@media (prefers-color-scheme:dark){:root{--bg:#000;--surface:#1c1c1eb8;--text:#f5f5f7;--muted:#98989d;--line:#ffffff1f;--accent:#0a84ff;--ok:#30d158;--err:#ff453a;--track:#ffffff1a}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;font:17px/1.47 -apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif}main{max-width:680px;margin:0 auto;padding:72px 20px 96px}h1{letter-spacing:-.025em;margin:0 0 32px;font-size:clamp(2rem,6vw,3rem);font-weight:700;line-height:1.07}.card{background:var(--surface);-webkit-backdrop-filter:blur(24px)saturate(180%);border:1px solid var(--line);border-radius:22px;box-shadow:0 1px 2px #0000000a,0 8px 30px #0000000f}.drop{text-align:center;cursor:pointer;border-style:dashed;border-width:1.5px;border-color:var(--line);place-items:center;gap:4px;padding:64px 24px;transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .16s,background .16s;display:grid}.drop.over{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface));transform:scale(1.01)}.drop strong{letter-spacing:-.01em;font-size:1.3rem;font-weight:600}.drop span{color:var(--muted);font-size:.94rem}.actions{justify-content:center;gap:10px;margin-top:18px;display:flex}button{font:inherit;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);cursor:pointer;border:0;border-radius:980px;padding:8px 18px;font-size:.94rem;font-weight:500;transition:transform .1s ease-out,opacity .16s}button:active{transform:scale(.96)}button:focus-visible,.drop:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 50%, transparent);outline-offset:2px}button.primary{color:#fff;background:var(--accent)}.total{margin-top:20px;padding:20px 22px}.total .row{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;display:flex}.total .row b{letter-spacing:-.02em;font-size:1.6rem;font-weight:600}.total .row span{color:var(--muted);font-size:.94rem}.bar{background:var(--track);border-radius:3px;height:6px;margin-top:12px;overflow:hidden}.bar i{background:var(--accent);transform-origin:0;width:100%;height:100%;transform:scaleX(var(--p,0));border-radius:3px;transition:transform .3s cubic-bezier(.2,.8,.2,1);display:block}.done .bar i{background:var(--ok)}.failed .bar i{background:var(--err)}ul{margin:20px 0 0;padding:0;list-style:none;overflow:hidden}li{border-top:1px solid var(--line);padding:12px 22px;animation:.26s cubic-bezier(.2,.8,.2,1) in}li:first-child{border-top:0}li .row{font-variant-numeric:tabular-nums;justify-content:space-between;gap:16px;font-size:.94rem;display:flex}li .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}li .meta{color:var(--muted);flex:none}li .bar{height:4px;margin-top:8px}li.failed .meta{color:var(--err)}@keyframes in{0%{opacity:0;transform:translateY(6px)}}form.login{text-align:center;gap:12px;max-width:320px;margin:12vh auto 0;display:grid}form.login h1{margin-bottom:12px}input[type=password]{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:12px;padding:12px 16px}form.login button{color:#fff;background:var(--accent);padding:12px;font-size:1rem}.err{color:var(--err);font-size:.94rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (prefers-reduced-transparency:reduce){.card{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)}}
