:root{--bg:#0f1115;--panel:#1a1d24;--border:#2a2f3a;--text:#e6e8ec;--muted:#9aa0ac;--accent:#4c8dff;--danger:#ff5c5c;--ok:#35c46b;--radius:10px;--shadow:0 16px 40px #00000073;--speed:.14s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}header.app{border-bottom:1px solid var(--border);background:var(--panel);justify-content:space-between;align-items:center;padding:10px 18px;display:flex}header.app .brand{font-weight:600}main.app{max-width:960px;margin:0 auto;padding:24px 18px}h1{font-size:20px}h2{font-size:16px}label{color:var(--muted);margin:12px 0 4px;display:block}input[type=text],input[type=email],input[type=password]{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);transition:border-color var(--speed) ease;border-radius:8px;padding:10px 12px}input[type=text]:hover,input[type=email]:hover,input[type=password]:hover{border-color:#3a4150}input::placeholder{color:var(--muted)}button{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;transition:background var(--speed) ease, border-color var(--speed) ease;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;display:inline-flex}button:hover:not(:disabled){background:#222631;border-color:#3a4150}button.primary:hover:not(:disabled){background:#5c99ff;border-color:#5c99ff}button.danger-filled:hover:not(:disabled){background:#ff7272;border-color:#ff7272}@media (prefers-reduced-motion:reduce){button,input[type=text],input[type=email],input[type=password]{transition:none}}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button:disabled{opacity:.5;cursor:not-allowed}button.danger{color:var(--danger)}.card{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:22px}.card h1,.card .muted{margin:0 0 4px}.card form .toolbar{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;margin-top:20px;padding-top:16px}.narrow{max-width:380px;margin:60px auto}.error{color:var(--danger);margin:10px 0}.muted{color:var(--muted)}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}tr.clickable:hover{cursor:pointer;background:#20242d}.badge{border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.badge.online{color:var(--ok);border-color:var(--ok)}.badge.connected{color:var(--accent);border-color:var(--accent)}.badge.offline{color:var(--muted)}.row{align-items:center;gap:8px;display:flex}.spacer{flex:1}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.breadcrumb{flex-wrap:wrap;align-items:center;gap:4px;margin:10px 0;display:flex}.toast{background:var(--panel);border:1px solid var(--danger);max-width:520px;color:var(--text);box-shadow:var(--shadow);border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.progress{background:var(--border);border-radius:999px;height:8px;overflow:hidden}.progress>div{background:var(--accent);border-radius:inherit;width:0;height:100%;transition:width .2s}.progress.ok>div{background:var(--ok)}.progress.indeterminate>div{width:40%;transition:none;animation:1.2s ease-in-out infinite progress-slide}@keyframes progress-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}button.linklike{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;display:inline-block}button.linklike:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.modal{border:1px solid var(--border);background:var(--panel);width:min(440px,100vw - 32px);color:var(--text);box-shadow:var(--shadow);border-radius:14px;padding:0}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#080a0e99}.modal-body{padding:20px}.modal-title{margin:0 0 8px;font-size:17px}.modal-message{color:var(--muted);margin:0}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.modal form{margin:0}.modal label{margin-top:0}.modal .error{margin-bottom:0}button.danger-filled{background:var(--danger);border-color:var(--danger);color:#1a0d0d;font-weight:600}.modal[open]{animation:modal-in var(--speed) ease-out}.modal[open]::backdrop{animation:backdrop-in var(--speed) ease-out}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes backdrop-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.modal[open],.modal[open]::backdrop{animation:none}}.menu{border:1px solid var(--border);background:var(--panel);width:max-content;min-width:160px;max-width:calc(100vw - 32px);color:var(--text);box-shadow:var(--shadow);opacity:0;border-radius:10px;margin:0;padding:6px;position:fixed;inset:auto}.menu.open{opacity:1;animation:menu-in var(--speed) ease-out}.menu button{background:0 0;border:none;border-radius:6px;justify-content:flex-start;gap:8px;padding:7px 10px;display:flex}.menu button+button{margin-top:2px}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.menu.open{animation:none}}.corner{z-index:10;pointer-events:none;flex-direction:column;align-items:flex-end;gap:10px;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.corner>*{pointer-events:auto}.transfers{background:var(--panel);border:1px solid var(--border);width:min(340px,100vw - 32px);box-shadow:var(--shadow);animation:transfers-in var(--speed) ease-out;border-radius:14px;overflow:hidden}.transfers-head{border-bottom:1px solid var(--border);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;display:flex}.transfer{padding:12px 14px}.transfer+.transfer{border-top:1px solid var(--border)}.transfer-top{align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.transfer-arrow{color:var(--accent);line-height:0}.transfer-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.transfer-pct{font-variant-numeric:tabular-nums;font-weight:600}.transfer-pct.is-done{color:var(--ok)}button.transfer-cancel{color:var(--muted);align-self:center;font-size:12px;line-height:0}button.transfer-cancel:hover{color:var(--danger)}.transfer-foot{justify-content:space-between;gap:10px;margin-top:6px;font-size:12px;display:flex}.transfer-speed{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}@keyframes transfers-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.transfers{animation:none}.progress>div{transition:none}.progress.indeterminate>div{width:100%;animation:none}}.device-info{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin:12px 0;padding:12px 14px}.device-info dl{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 18px;margin:0;display:grid}.device-info dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.device-info dd{white-space:nowrap;text-overflow:ellipsis;min-height:21px;margin:4px 0 0;overflow:hidden}.icon{flex:none}button.icon-only{padding:7px;line-height:0}.with-icon{align-items:center;gap:6px;display:flex}p.with-icon{align-items:flex-start}p.with-icon>.icon{margin-top:3px}.modal-message.with-icon>.icon{color:var(--danger)}a.button-like{border:1px solid var(--accent);background:var(--accent);color:#fff;transition:background var(--speed) ease;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;text-decoration:none;display:inline-flex}a.button-like:hover{background:#5c99ff;text-decoration:none}.icon.spin{animation:1s linear infinite icon-spin}@keyframes icon-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.icon.spin{animation:none}a.button-like{transition:none}}
