:root{color-scheme:dark}
*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;margin:0;padding:16px;max-width:980px;margin-inline:auto;background:#111;color:#eee}
h1{font-size:18px;font-weight:600;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
header{margin:0 0 14px}
.top{display:flex;align-items:center;gap:12px}
.top h1{flex:1}
.meta{font-size:13px;opacity:.7;margin-top:4px}
h2{font-size:14px;font-weight:600;opacity:.7;margin:22px 0 10px;text-transform:uppercase;letter-spacing:.06em}
.blk{border:1px solid #333;border-radius:10px;margin:0 0 14px;background:#1a1a1a;overflow:hidden}
.blk.pc{border-color:#2b4a6b;background:#151b22}
.blk.pc .hd{background:#1b2633}
.hd{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#222;font-size:13px}
.hd .lbl{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hd .ts{opacity:.55;white-space:nowrap}
button,.btn{font:inherit;font-size:14px;padding:8px 14px;border-radius:8px;border:1px solid #444;background:#2a2a2a;color:#eee;cursor:pointer;min-height:40px;text-decoration:none;display:inline-flex;align-items:center}
button.copy,.btn.dl{background:#1f5f3f;border-color:#2e8b57;font-weight:600}
button.copy.ok{background:#2e8b57}
button.del{padding:8px 10px;opacity:.7}
button.out{background:#5a1f1f;border-color:#8b2e2e;font-weight:600}
pre{margin:0;padding:12px;overflow:auto;font:13px/1.45 ui-monospace,Menlo,Consolas,monospace;white-space:pre;tab-size:4}
#ta{position:fixed;left:-9999px;top:0;opacity:0}
.empty{opacity:.6;padding:30px;text-align:center}
#add{display:flex;gap:8px;margin:0 0 16px}
#add textarea{flex:1;min-width:0;min-height:60px;font:13px ui-monospace,Menlo,Consolas,monospace;background:#1a1a1a;color:#eee;border:1px solid #333;border-radius:8px;padding:8px}
#add input{font:inherit;background:#1a1a1a;color:#eee;border:1px solid #333;border-radius:8px;padding:8px;width:120px}
#add .col{display:flex;flex-direction:column;gap:8px}
#drop{border:2px dashed #444;border-radius:10px;padding:14px;text-align:center;opacity:.8;margin:0 0 14px;display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}
#drop.over{border-color:#2e8b57;background:#182a20}
#drop input{display:none}
.file{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #333;border-radius:10px;background:#1a1a1a;margin:0 0 8px}
.file img{width:56px;height:56px;object-fit:cover;border-radius:6px;background:#000}
.file .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.file .sz{opacity:.55;font-size:12px;white-space:nowrap}
#prog{height:4px;background:#2e8b57;width:0;transition:width .2s;border-radius:2px;margin:-10px 0 10px}
.setup{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;opacity:.9;margin:0 0 14px;padding:8px 10px;border:1px solid #333;border-radius:10px;background:#161616}
.setup span{flex-basis:100%}
.setup code{font:13px ui-monospace,Menlo,Consolas,monospace;background:#000;padding:4px 8px;border-radius:6px;flex:1;min-width:0;overflow:auto;white-space:nowrap}
h2.toggle{cursor:pointer;user-select:none;display:flex;align-items:center;gap:8px}
h2.toggle .arrow{display:inline-block;transition:transform .15s}
h2.toggle.open .arrow{transform:rotate(90deg)}
h2.toggle small{font-weight:400;opacity:.7;text-transform:none;letter-spacing:0}
.login{max-width:360px;margin:12vh auto 0}
.login h1{font-size:24px;margin:0 0 18px}
.login form{display:flex;flex-direction:column;gap:10px}
.login label{font-size:14px;opacity:.8}
.login input{font:20px/1.2 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;padding:12px;border-radius:8px;border:1px solid #444;background:#1a1a1a;color:#eee;text-transform:uppercase;width:100%}
.login button{justify-content:center;font-size:16px;min-height:46px}
.login .err{color:#f08080;min-height:1.2em;margin:4px 0 0;font-size:14px}
.login .hint{opacity:.6;font-size:13px}
@media (max-width:480px){#add{flex-direction:column}#add input{width:100%}#add .col{flex-direction:row}#add .col input{flex:1}}
