@font-face{font-family:'Outfit';font-weight:300;src:url(fonts/outfit-latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-weight:500;src:url(fonts/outfit-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-weight:600;src:url(fonts/outfit-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Plex';font-weight:400;src:url(fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2')}
:root{--ink:#08090c;--ink2:#111319;--ink3:#181b23;--paper:#eceae4;--dim:#8f939d;--line:rgba(236,234,228,.12);--line2:rgba(236,234,228,.22);--beam:#f4c27c;--ok:#7fd6a2;--bad:#f2a38f;color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--ink);color:var(--paper);font:300 15px/1.5 'Outfit',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
.eyebrow{font:400 11.5px 'Plex',monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--beam);margin:0}
h1,h2{margin:0;font-weight:600;letter-spacing:-.02em}
input,select{font:inherit;color:var(--paper);background:var(--ink);border:1px solid var(--line2);border-radius:10px;padding:10px 12px;width:100%;outline:none}
input:focus,select:focus{border-color:var(--beam)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:500 14px 'Outfit';background:var(--beam);color:var(--ink);border:0;border-radius:999px;padding:10px 18px;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn.ghost{background:none;color:var(--paper);border:1px solid var(--line2)}
.btn.ghost:hover{border-color:var(--beam)}
.btn.small{padding:8px 12px}
.btn.full{width:100%;margin-top:14px}
.btn[disabled]{opacity:.5;cursor:default}
.link{background:none;border:0;color:var(--dim);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;padding:0}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:16px;padding:14px 28px;background:rgba(8,9,12,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand b{font-weight:600;font-size:18px;letter-spacing:-.01em}
.grow{flex:1}
.who{font:12px 'Plex',monospace;color:var(--dim)}
.ghost{color:var(--dim);font-size:13px;text-decoration:none}
.pill{font:11.5px 'Plex',monospace;letter-spacing:.06em;padding:5px 10px;border-radius:999px;border:1px solid var(--line2)}
.pill.ok{color:var(--ok);border-color:rgba(127,214,162,.4)}
.pill.bad{color:var(--bad);border-color:rgba(242,163,143,.4)}
.login{max-width:520px;margin:12vh auto;padding:0 24px}
.login h1{font-size:46px;margin-top:14px}
.lede{color:#cfcdc6;margin:12px 0 26px}
.row{display:flex;gap:10px;align-items:center}
.msg{min-height:1.5em;color:var(--dim);font-size:14px}
.msg.err{color:var(--bad)}
main{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:28px;padding:28px;max-width:1500px;margin:0 auto}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:16px}
.head h2{font-size:28px;margin-top:6px}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.drop{border:1px dashed var(--line2);border-radius:14px;padding:16px;text-align:center;color:var(--dim);font-size:14px;margin-bottom:14px;transition:.2s}
.drop.on{border-color:var(--beam);color:var(--beam);background:rgba(244,194,124,.05)}
.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.it{display:grid;grid-template-columns:22px 96px minmax(0,1fr) auto;gap:14px;align-items:center;background:var(--ink2);border:1px solid var(--line);border-radius:14px;padding:10px 14px 10px 10px}
.it.off{opacity:.5}
.it.drag{opacity:.4}
.it.over{border-color:var(--beam)}
.grip{cursor:grab;color:var(--dim);text-align:center;user-select:none;font-size:18px}
.thumb{width:96px;height:54px;border-radius:8px;overflow:hidden;background:var(--ink3);display:grid;place-items:center;font-size:22px}
.thumb video,.thumb img{width:100%;height:100%;object-fit:cover}
.meta b{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.meta small{color:var(--dim);font:11.5px 'Plex',monospace;letter-spacing:.04em}
.ctl{display:flex;gap:8px;align-items:center}
.ctl input.dur{width:74px;text-align:right;padding:7px 8px}
.ctl .s{color:var(--dim);font-size:12px;margin-left:-4px}
.ib{background:none;border:1px solid var(--line2);color:var(--paper);border-radius:9px;width:34px;height:34px;cursor:pointer;display:grid;place-items:center;font-size:15px}
.ib:hover{border-color:var(--beam)}
.tog{position:relative;width:42px;height:24px;border-radius:999px;background:var(--line2);border:0;cursor:pointer;flex:none}
.tog::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:var(--paper);transition:.2s}
.tog.on{background:var(--beam)}
.tog.on::after{left:21px;background:var(--ink)}
.edit{grid-column:3/5;display:grid;gap:8px}
.bar{grid-column:2/5;height:4px;background:var(--line);border-radius:4px;overflow:hidden}
.bar i{display:block;height:100%;width:0;background:var(--beam);transition:width .2s}
.empty{color:var(--dim);padding:30px;text-align:center;border:1px solid var(--line);border-radius:14px}
.publish{position:sticky;bottom:0;display:flex;justify-content:flex-end;align-items:center;gap:16px;padding:18px 0;background:linear-gradient(transparent,var(--ink) 40%)}
.dirty{color:var(--beam);font-size:14px}
.side{display:flex;flex-direction:column;gap:18px}
.card{background:var(--ink2);border:1px solid var(--line);border-radius:16px;padding:18px}
.cardhead{display:flex;justify-content:space-between;align-items:center}
.pv{margin-top:12px;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#000;position:relative}
.pv.portrait{aspect-ratio:9/16;max-height:520px;margin-inline:auto}
.pv iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hint{color:var(--dim);font-size:12.5px;margin:10px 0 0}
.status{margin-top:10px;display:grid;gap:6px;font-size:14px}
.status .r{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:6px 0}
.status .r span:first-child{color:var(--dim)}
.ok{color:var(--ok)}.bad{color:var(--bad)}
.fld{display:grid;gap:6px;margin-top:12px}
.fld>span:first-child{font-size:12.5px;color:var(--dim)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--paper);color:var(--ink);padding:12px 18px;border-radius:999px;font-weight:500;z-index:20;box-shadow:0 10px 40px rgba(0,0,0,.5)}
@media (max-width:1000px){main{grid-template-columns:1fr}.it{grid-template-columns:22px 72px minmax(0,1fr)}.ctl{grid-column:2/4}.thumb{width:72px;height:40px}}
.gbtn{display:inline-flex;align-items:center;gap:12px;background:#fff;color:#1f1f1f;font:500 15px 'Outfit';padding:12px 22px;border-radius:999px;text-decoration:none;box-shadow:0 6px 24px rgba(0,0,0,.35)}
.gbtn:hover{filter:brightness(.96)}
.ctl select.tr{width:150px;padding:7px 8px;font-size:12.5px}
@media (max-width:1300px){.ctl select.tr{width:110px}}
