:root{--bg:#0e0f13;--card:#171922;--line:#262a36;--text:#e8eaf0;--muted:#8b91a3;--accent:#5865f2;--hi:#38e07b}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:inherit}header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.5rem;border-bottom:1px solid var(--line);background:#12141b;position:sticky;top:0;z-index:5}
.logo{font-weight:800;font-size:1.3rem;text-decoration:none;letter-spacing:.5px}.logo span{color:var(--hi);margin-left:2px}
nav{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.user{display:flex;align-items:center;gap:.4rem}.user img,.by img{border-radius:50%}
.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:.5rem .9rem;text-decoration:none;font:inherit;font-weight:600;cursor:pointer}
.btn.dev{background:#b8860b}.btn.secondary{background:#444}button.link{background:none;border:0;color:var(--muted);cursor:pointer;font:inherit;text-decoration:underline}
.inline{display:inline}main{max-width:1200px;margin:0 auto;padding:1.5rem}h1{font-size:1.4rem;margin:.2rem 0 1rem}
.muted{color:var(--muted)}.small{font-size:.85rem}.notice{background:#2a2410;border:1px solid #5a4a14;color:#f1d98a;padding:.7rem 1rem;border-radius:8px}
.error{color:#ff7b7b}code{background:#222633;padding:.1rem .3rem;border-radius:4px}
.grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.2rem}
.video{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.thumb{display:block;position:relative;aspect-ratio:16/9;background:#000}.thumb video{width:100%;height:100%;object-fit:cover;display:block}
.badge{position:absolute;top:.5rem;left:.5rem;background:var(--hi);color:#062;font-weight:800;font-size:.75rem;padding:.1rem .45rem;border-radius:5px}
.dur{position:absolute;bottom:.5rem;right:.5rem;background:#000c;font-size:.75rem;padding:.1rem .4rem;border-radius:4px}
.meta{padding:.7rem .8rem}.title{font-weight:700;text-decoration:none;display:block;margin-bottom:.3rem}.by{display:flex;align-items:center;gap:.4rem;font-size:.9rem;margin:.2rem 0}
.meta .muted{font-size:.8rem}.player video{width:100%;max-height:75vh;background:#000;border-radius:10px;display:block}
.specs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;margin:1rem 0}.specs div{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.5rem .7rem}
.specs dt{color:var(--muted);font-size:.8rem}.specs dd{margin:0;font-weight:700}#measured.good{color:var(--hi)}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.3rem;max-width:640px}
label{display:block;margin:.8rem 0;font-weight:600}input[type=text],input[type=password],input:not([type]),input[name=title],input[name=name]{display:block;width:100%;margin-top:.3rem;padding:.55rem;border-radius:7px;border:1px solid var(--line);background:#0f1117;color:var(--text);font:inherit}
input[type=file]{display:block;margin-top:.3rem}progress{width:100%;margin-top:.8rem}
footer{color:var(--muted);text-align:center;font-size:.8rem;padding:2rem 1rem}

body.has-browser-notice{padding-bottom:2.6rem}
body.has-browser-notice .player video{max-height:calc(75vh - 2.5rem)}
.browser-notice{position:fixed;left:0;right:0;bottom:0;z-index:6;display:flex;align-items:center;justify-content:center;gap:.75rem;margin:0;padding:.35rem 2.2rem;background:rgba(14,15,19,.7);color:var(--text);font-size:.78rem;line-height:1.3;border-top:1px solid rgba(255,255,255,.08)}
.browser-notice[hidden]{display:none}
.browser-notice p{margin:0}
.browser-notice-close{position:absolute;right:.55rem;top:50%;transform:translateY(-50%);background:transparent;border:0;color:var(--muted);font:inherit;font-size:1.05rem;line-height:1;cursor:pointer;padding:.1rem .4rem}
