@property --p{syntax:"<number>";inherits:true;initial-value:0}@property --pct{syntax:"<integer>";inherits:true;initial-value:0}@property --angle{syntax:"<angle>";inherits:false;initial-value:0deg}:root{--bg:#0a0b10;--card:#12141c;--raise:#171a24;--line:#ffffff12;--line-2:#ffffff1f;--ink:#eef0f6;--ink-2:#a7adbe;--muted:#6c7385;--acc:#7c6cff;--acc-2:#22d3ee;--acc-dim:#7c6cff29;--ok:#34d399;--bad:#fb7185;--spring:linear(0, .009, .035 2.1%, .141, .281 6.7%, .723 12.9%, .938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, .991, .977 51%, .974 53.8%, .975 57.1%, .997 69.8%, 1.003 76.9%, 1.004 83.8%, 1);--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}body{min-height:100dvh;color:var(--ink);background:radial-gradient(70% 55% at 50% -10%, #1c1b3a 0%, transparent 62%), radial-gradient(50% 40% at 88% 105%, #0d2b33 0%, transparent 60%), var(--bg);-webkit-font-smoothing:antialiased;place-items:center;padding:clamp(20px,5vw,56px);font-family:Inter,system-ui,sans-serif;display:grid}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{width:100%;max-width:540px}.intro{margin-bottom:26px}.intro__eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#0000;background:linear-gradient(90deg, var(--acc), var(--acc-2));-webkit-background-clip:text;background-clip:text;font-size:.7rem;font-weight:600}.intro__title{letter-spacing:-.03em;margin-top:.35rem;font-size:clamp(2rem,1.4rem + 2.4vw,2.6rem);font-weight:700}.intro__lede{max-width:46ch;color:var(--ink-2);margin-top:.6rem;font-size:.95rem;line-height:1.62}.intro__lede b{color:var(--ink);font-weight:600}.uploader{background:linear-gradient(180deg, var(--raise), var(--card));box-shadow:0 0 0 1px var(--line), 0 1px 0 #ffffff0d inset, 0 32px 60px -30px #000000e6;border-radius:22px;padding:16px;position:relative}.uploader__head{margin-bottom:11px}.uploader__title{font-size:1rem;font-weight:600}.uploader__hint{color:var(--muted);margin-top:.18rem;font-size:.8rem}.drop{isolation:isolate;border:1.5px dashed var(--line-2);width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:border-color .3s var(--ease), transform .45s var(--spring), box-shadow .3s var(--ease), background .3s var(--ease);background:#ffffff04;border-radius:16px;align-items:center;gap:14px;padding:16px 18px;display:flex;position:relative;overflow:hidden}.drop:before{content:"";z-index:-1;background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%), #7c6cff29, transparent 65%);opacity:0;transition:opacity .35s var(--ease);position:absolute;inset:0}.drop:hover:before{opacity:1}.drop:hover{border-color:#fff3}.drop[data-hot]{background:var(--acc-dim);border-style:solid;border-color:#0000;transform:scale(1.02);box-shadow:0 18px 44px -20px #7c6cffbf,0 0 0 4px #7c6cff1a}.drop[data-hot]:before{opacity:1}.drop:after{content:"";z-index:1;background:conic-gradient(from var(--angle), transparent 0 55%, #22d3ee80 72%, var(--acc) 86%, transparent 96%);opacity:0;transition:opacity .3s var(--ease);pointer-events:none;border-radius:15px;padding:1.5px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.drop[data-hot]:after{opacity:1;animation:1.5s linear infinite rail}@keyframes rail{to{--angle:360deg}}.drop[data-caught] .drop__art{animation:catch .55s var(--ease)}@keyframes catch{0%{transform:scale(1.06)}28%{transform:scale(.86,1.14)}55%{transform:scale(1.1,.92)}to{transform:scale(1)}}.drop__text{flex-direction:column;gap:2px;display:flex}.drop__text b{font-size:.95rem;font-weight:600}.drop__text i{color:var(--muted);font-size:.8rem;font-style:normal}.drop__text u{-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);text-underline-offset:3px}.drop[data-hot] .drop__text i{color:var(--ink-2)}.drop__art{background:var(--acc-dim);width:44px;height:44px;color:var(--acc);transition:background .3s var(--ease), color .3s var(--ease), transform .5s var(--spring);border-radius:13px;flex:none;place-items:center;display:grid;position:relative}.drop[data-hot] .drop__art{background:linear-gradient(150deg, var(--acc), #5b4ee0);color:#fff;transform:scale(1.06)}.drop__arrow{z-index:2;transition:transform .45s var(--spring);position:relative}.drop[data-hot] .drop__arrow{transform:translateY(4px)}.drop__tray{z-index:3;opacity:.6;border:2px solid;border-top:0;border-radius:0 0 5px 5px;height:9px;position:absolute;bottom:12px;left:12px;right:12px}.drop__sheet{z-index:1;opacity:0;width:12px;height:16px;transition:transform .5s var(--spring), opacity .3s var(--ease);background:currentColor;border-radius:2px;position:absolute;top:8px}.drop__sheet--a{left:5px;transform:translate(6px,-14px)rotate(-18deg)}.drop__sheet--b{right:5px;transform:translate(-6px,-14px)rotate(18deg)}.drop[data-hot] .drop__sheet{opacity:.5}.drop[data-hot] .drop__sheet--a{transform:translate(0)rotate(-12deg)}.drop[data-hot] .drop__sheet--b{transform:translate(0)rotate(12deg)}.rejects{gap:6px;margin-top:10px;list-style:none;display:grid}.rejects:empty{margin-top:0}.reject{color:var(--bad);animation:slip .35s var(--ease) backwards;background:#fb71851a;border-radius:10px;padding:8px 12px;font-size:.79rem;box-shadow:0 0 0 1px #fb718538}@keyframes slip{0%{opacity:0;transform:translateY(-6px)}}.files{gap:7px;list-style:none;display:grid;position:relative}.files:not(:empty){margin-top:11px}.file[data-leaving]{z-index:2;pointer-events:none;position:absolute;left:0;right:0}.file{--p:0;--pct:0;box-shadow:0 0 0 1px var(--line);transition:--p .3s linear, --pct .3s linear, box-shadow .3s var(--ease), background .3s var(--ease);background:#ffffff06;border-radius:13px;align-items:center;gap:12px;padding:9px 12px;display:flex;position:relative;overflow:hidden}.file[data-status=queued]:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff0d,#0000);width:45%;animation:1.7s ease-in-out infinite sweep;position:absolute;top:0;bottom:0;left:0}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(320%)}}.file[data-status=error]{animation:shudder .4s var(--ease);background:#fb718512;box-shadow:0 0 0 1px #fb718547}.file[data-status=done]{background:#34d3990d;box-shadow:0 0 0 1px #34d3992e}.file[data-enter]{opacity:0}@keyframes shudder{0%,to{transform:translate(0)}15%{transform:translate(-7px)}30%{transform:translate(6px)}45%{transform:translate(-4px)}60%{transform:translate(3px)}80%{transform:translate(-1px)}}.file__thumb{background:var(--acc-dim);width:42px;height:42px;color:var(--acc);border-radius:12px;flex:none;place-items:center;display:grid;position:relative}.file__img{object-fit:cover;border-radius:12px;width:100%;height:100%;position:absolute;inset:0}.file__img--ghost{filter:grayscale()brightness(.32)contrast(1.1)}.file__img--live{clip-path:inset(0 0 calc((1 - var(--p)) * 100%) 0)}.file__thumb:after{content:"";left:0;right:0;top:calc(var(--p) * 100%);opacity:0;height:2px;transition:opacity .25s var(--ease);background:linear-gradient(90deg,#0000,#fff,#0000);position:absolute}.file[data-status=uploading] .file__thumb:after{opacity:.9}.file__ring{background:conic-gradient(from -90deg, var(--acc) calc(var(--p) * 360deg), #ffffff12 0);-webkit-mask-composite:xor;transition:opacity .3s var(--ease);border-radius:16px;padding:2px;position:absolute;inset:-4px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.file[data-status=done] .file__ring{background:conic-gradient(var(--ok) 360deg, var(--ok))}.file[data-status=error] .file__ring{background:conic-gradient(var(--bad) 360deg, var(--bad))}.file[data-status=queued] .file__ring{opacity:.5}.file[data-status=done] .file__thumb{animation:land .5s var(--spring)}@keyframes land{0%{transform:scale(1)}35%{transform:scale(1.13)}to{transform:scale(1)}}.file__badge{z-index:2;background:var(--ok);color:#06281c;width:18px;height:18px;box-shadow:0 0 0 2.5px var(--card), 0 3px 10px -2px #34d399cc;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-5px;right:-5px;transform:scale(0)}.file[data-status=done] .file__badge{animation:stamp .55s var(--spring) .12s backwards;transform:scale(1)}@keyframes stamp{0%{transform:scale(0)rotate(-45deg)}}.file__doc{z-index:1;position:relative}.file__img[src]~.file__doc{display:none}.file__body{flex:1;gap:3px;min-width:0;display:grid}.file__name{text-overflow:ellipsis;white-space:nowrap;font-size:.87rem;font-weight:500;overflow:hidden}.file__meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.76rem}.file[data-status=uploading] .file__meta{color:var(--ink-2)}.file[data-status=error] .file__meta{color:var(--bad);font-weight:500}.file[data-status=done] .file__meta{color:var(--ok)}.file__pct{counter-reset:pct var(--pct);display:none}.file__pct:after{content:" · " counter(pct) "%"}.file[data-status=uploading] .file__pct{display:inline}.file[data-status=uploading] .file__state{display:none}.file__end{flex:none;align-items:center;gap:2px;display:flex}.icon{width:30px;height:30px;color:var(--muted);cursor:pointer;transition:background .2s var(--ease), color .2s var(--ease), transform .45s var(--spring);background:0 0;border:0;border-radius:9px;place-items:center;display:grid}.icon:hover{color:var(--ink);background:#ffffff12;transform:scale(1.08)}.icon--retry{color:var(--bad)}.icon--retry:hover{background:#fb718524}.icon--retry:active svg{transition:transform .5s var(--spring);transform:rotate(-180deg)}.uploader__foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.uploader__tally{align-items:center;gap:10px;display:flex}.total{--p:0;background:conic-gradient(from -90deg, var(--acc) calc(var(--p) * 360deg), #ffffff14 0);width:26px;height:26px;transition:--p .35s var(--ease), background .3s var(--ease);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.total:after{content:"";background:var(--card);border-radius:50%;position:absolute;inset:3px}.total__tick{z-index:1;color:var(--ok);stroke-dasharray:26;stroke-dashoffset:26px;position:relative}.uploader__foot[data-all] .total{background:conic-gradient(var(--ok) 360deg, var(--ok))}.uploader__foot[data-all] .total__tick{animation:draw .45s var(--ease) .12s forwards}@keyframes draw{to{stroke-dashoffset:0}}.uploader:after{content:"";z-index:3;opacity:0;pointer-events:none;border-radius:22px;position:absolute;inset:0;box-shadow:0 0 0 1px #34d3998c,0 0 50px -8px #34d39973}.uploader[data-all]:after{animation:allclear 1.2s var(--ease)}@keyframes allclear{0%{opacity:0}22%{opacity:1}to{opacity:0}}.uploader__fx{z-index:2;pointer-events:none;border-radius:22px;position:absolute;inset:0;overflow:hidden}.ripple{pointer-events:none;width:12px;height:12px;animation:ripple .7s var(--ease) forwards;background:radial-gradient(circle,#7c6cff80,#7c6cff00 70%);border-radius:50%;margin:-6px 0 0 -6px;position:absolute}@keyframes ripple{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(26)}}.uploader__count{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:.82rem}.uploader__count[data-bad]{color:var(--bad)}.uploader__actions{gap:8px;display:flex}.btn{font:inherit;cursor:pointer;transition:background .2s var(--ease), color .2s var(--ease), transform .45s var(--spring), opacity .2s var(--ease);border:0;border-radius:10px;padding:9px 16px;font-size:.84rem;font-weight:600}.btn:active{transform:scale(.96)}.btn--ghost{color:var(--ink-2);background:#ffffff0d}.btn--ghost:hover{color:var(--ink);background:#ffffff1a}.btn--solid{background:linear-gradient(140deg, var(--acc), #5b4ee0);color:#fff;box-shadow:0 10px 24px -12px #7c6cffe6}.btn--solid:disabled{color:var(--muted);box-shadow:none;cursor:default;background:#ffffff0f}.note{color:var(--muted);margin-top:18px;font-size:.8rem;line-height:1.65}.note code{color:var(--ink-2);background:#ffffff0f;border-radius:6px;padding:1.5px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.93em}:focus-visible{outline:2px solid var(--acc);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.file{transition:--p .01ms linear!important}.file[data-enter]{opacity:1}}@media (width<=480px){.uploader{padding:15px}.drop{text-align:center;flex-direction:column;gap:12px;padding:24px 14px}.uploader__foot{flex-direction:column;align-items:stretch}.uploader__actions{grid-template-columns:1fr;display:grid}}
