:root{--bg:#f6f7f9;--card:#fff;--text:#1b1f24;--muted:#5d6673;--border:#dde1e6;--accent:#2f6fed;--accent-text:#fff;--ok:#1f8a4c;--warn:#b35c00;--bad:#c62f2f;--bar:#e8ebef;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111418;--card:#1a1e24;--text:#e6e9ed;--muted:#98a2ae;--border:#2c323a;--accent:#5b8ff5;--ok:#4cc27f;--warn:#f0a14a;--bad:#f07070;--bar:#2a3038}}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:680px;margin:0 auto;padding:32px 16px 48px}h1{letter-spacing:-.02em;margin:0;font-size:28px}.tagline{color:var(--muted);margin:4px 0 24px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;gap:16px;padding:20px;display:grid}footer{color:var(--muted);margin-top:24px;font-size:13px}footer p{margin:0 0 8px}footer a{color:inherit}.grecaptcha-badge{visibility:hidden}.hint{color:var(--muted);margin:4px 0 0;font-size:13px}label{margin-bottom:6px;font-weight:600;display:block}button,.button{font:inherit;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:8px;margin:0;padding:8px 14px;font-weight:500;display:inline-block}button:hover,.button:hover{border-color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.small{padding:4px 10px;font-size:13px}.row,.row-buttons{gap:8px;display:flex}#share{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px 20px;display:grid}.qr{justify-items:center;gap:6px;margin:0;display:grid}.qr #qr{aspect-ratio:1;border:1px solid var(--border);border-radius:8px;width:168px;overflow:hidden}.qr svg{width:100%;height:100%;display:block}.qr figcaption{color:var(--muted);text-align:center;max-width:168px;font-size:12px}input[readonly]{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);border-radius:8px;flex:1;padding:8px 10px;font:13px ui-monospace,SFMono-Regular,Menlo,monospace}.status{flex-wrap:wrap;align-items:center;gap:4px 8px;font-weight:600;display:flex}.status:before{content:"";background:var(--muted);border-radius:50%;flex:none;width:10px;height:10px}.status.ok:before{background:var(--ok)}.status.busy:before{background:var(--warn)}.status.bad:before{background:var(--bad)}.status .detail{color:var(--muted);font-weight:400}.status.bad .detail{color:var(--bad)}#safety{grid-template-columns:auto 1fr;align-items:baseline;gap:0 12px;display:grid}#safety strong{letter-spacing:.08em;font:600 20px ui-monospace,SFMono-Regular,Menlo,monospace}#safety .hint{grid-column:1/-1}.drop{border:2px dashed var(--border);text-align:center;border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.drop p{color:var(--muted);margin:0}.drop label{margin:0}.drop .choose{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.drop.over{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}#transfers{gap:10px;margin:0;padding:0;list-style:none;display:grid}#transfers:empty{display:none}.transfer{border:1px solid var(--border);border-radius:10px;gap:8px;padding:12px;display:grid}.transfer .top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.transfer .name{overflow-wrap:anywhere;font-weight:600}.transfer .dir{color:var(--muted);white-space:nowrap;font-size:13px}.transfer .meta{color:var(--muted);font-size:13px}.transfer .meta.bad{color:var(--bad)}.transfer .actions{flex-wrap:wrap;gap:8px;display:flex}.bar{background:var(--bar);border-radius:3px;height:6px;overflow:hidden}.bar>div{background:var(--accent);width:0;height:100%;transition:width .2s linear}.transfer.done .bar>div{background:var(--ok)}.route{font-variant-numeric:tabular-nums}@media (width<=560px){main{padding:20px 12px 32px}h1{font-size:24px}.tagline{margin-bottom:16px}.card{border-radius:10px;padding:16px}#share{grid-template-columns:1fr}.qr{order:-1}.qr #qr{width:min(240px,70vw)}.qr figcaption{max-width:none}.row{flex-wrap:wrap}.row input[readonly]{flex-basis:100%}.row-buttons,.row-buttons button{flex:1}#safety strong{font-size:18px}.drop{padding:16px}}@media (hover:none) and (pointer:coarse){.drop{border-style:solid}.drop-hint{display:none}.drop .choose,.drop .choose .button{width:100%}.drop .choose .button{text-align:center;padding:12px 14px}button,.button{min-height:40px}button.small{min-height:36px;padding:6px 12px}}
