:root{--bg1:#06122b;--bg2:#0b2a63;--acc:#4ea1ff;--acc2:#7cc4ff;--glass:rgba(255,255,255,.08);--glass2:rgba(255,255,255,.14);--line:rgba(160,205,255,.22);--tx:#eaf3ff;--mut:#9db8dd}
*{box-sizing:border-box}html{color-scheme:dark}
body{margin:0;min-height:100vh;font:16px/1.4 system-ui,"Segoe UI",sans-serif;color:var(--tx);
 background:radial-gradient(900px 600px at 12% -5%,#1456c9 0%,transparent 60%),radial-gradient(800px 600px at 100% 10%,#0a8fd6 0%,transparent 55%),linear-gradient(160deg,var(--bg2),var(--bg1) 70%);background-attachment:fixed}
.wrap{max-width:980px;margin:0 auto;padding:18px 16px 60px}
.glass{background:var(--glass);border:1px solid var(--line);border-radius:22px;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 10px 40px rgba(0,10,40,.35)}
header.glass{padding:16px 18px;display:flex;flex-direction:column;gap:12px;position:sticky;top:10px;z-index:5}
.title{display:flex;align-items:center;gap:10px;font-weight:650;font-size:1.15rem}
.title i{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--acc),#2563eb)}
.title svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
a.out{margin-left:auto;font-size:.82rem;font-weight:500;color:var(--acc2);text-decoration:none;padding:7px 12px;border-radius:12px;border:1px solid var(--line);background:var(--glass)}
.crumbs{color:var(--mut);font-size:.85rem;word-break:break-all}.crumbs a{color:var(--acc2);text-decoration:none}
.row{display:flex;gap:8px}
input.t{flex:1;min-width:0;background:rgba(0,10,40,.35);border:1px solid var(--line);border-radius:14px;color:var(--tx);padding:11px 14px;font:inherit;outline:none}
input.t:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(78,161,255,.25)}
input.t::placeholder{color:#7f9cc6}
button{border:0;border-radius:14px;padding:11px 18px;font:inherit;font-weight:600;color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--acc),#2563eb);box-shadow:0 6px 18px rgba(37,99,235,.4)}
button:disabled{opacity:.6;cursor:wait}
#msg{font-size:.88rem;min-height:1.2em;color:var(--mut)}#msg.ok{color:#7dffb0}#msg.err{color:#ff9aa2}
ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
li{display:flex;gap:8px;align-items:stretch}
li a.item{flex:1;min-width:0;display:flex;align-items:center;gap:14px;padding:12px 16px;text-decoration:none;color:var(--tx);border-radius:18px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:.15s}
li a.item:hover{background:var(--glass2);transform:translateY(-1px);border-color:rgba(124,196,255,.5)}
.ic{flex:none;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(78,161,255,.16);border:1px solid var(--line)}
.ic svg{width:22px;height:22px;fill:none;stroke:var(--acc2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nm{flex:1;min-width:0;word-break:break-word}.sz{color:var(--mut);font-size:.82rem;white-space:nowrap}
a.dl{flex:none;display:flex;align-items:center;gap:8px;padding:0 16px;border-radius:18px;text-decoration:none;color:var(--tx);font-size:.88rem;font-weight:600;background:linear-gradient(135deg,rgba(78,161,255,.28),rgba(37,99,235,.28));border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:.15s}
a.dl:hover{background:linear-gradient(135deg,rgba(78,161,255,.45),rgba(37,99,235,.45));border-color:rgba(124,196,255,.6)}
a.dl svg{width:20px;height:20px;fill:none;stroke:var(--acc2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:560px){a.dl span{display:none}a.dl{padding:0 13px}li a.item{gap:10px;padding:10px 12px}.ic{width:38px;height:38px}}
.empty{padding:30px;text-align:center;color:var(--mut)}
#pl{position:fixed;inset:0;z-index:20;display:none;place-items:center;background:rgba(2,8,24,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:14px}
#pl.on{display:grid}#pl .box{width:min(1100px,100%);padding:14px}
#pl h2{margin:2px 40px 10px 4px;font-size:.95rem;font-weight:600;word-break:break-word}
#pl video,#pl audio{width:100%;max-height:78vh;border-radius:16px;background:#000;display:block}
#pl img{max-width:100%;max-height:78vh;border-radius:16px;display:block;margin:auto}
#x{position:absolute;top:12px;right:12px;padding:6px 12px;border-radius:12px;background:var(--glass2);box-shadow:none}
.note{color:var(--mut);font-size:.8rem;margin:8px 4px 0}.note a{color:var(--acc2)}
