:root{--bg:#fff;--fg:#14201a;--mut:#58675e;--line:#d9e3dc;--tint:#f3f8f4;--g:#1f8a4c;--gd:#166a3a;--err:#b3261e;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
@media (prefers-color-scheme:dark){:root.auto{}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.55 var(--sans)}
a{color:var(--gd);text-underline-offset:2px}a:hover{color:var(--g)}
code,.mono{font-family:var(--mono);font-size:.9em;background:var(--tint);padding:.1em .35em;border-radius:3px}
:focus-visible{outline:2px solid var(--g);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
.top,.foot,main{max-width:960px;margin:0 auto;padding-left:20px;padding-right:20px}
.top{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px;border-bottom:1px solid var(--line);max-width:none;padding-left:max(20px,calc((100vw - 920px)/2));padding-right:max(20px,calc((100vw - 920px)/2))}
.brand{display:flex;align-items:center;gap:10px;font-weight:650;letter-spacing:-.01em;color:var(--fg);text-decoration:none}
.top nav,.foot nav{display:flex;gap:20px}.top nav a,.foot nav a{color:var(--mut);text-decoration:none}.top nav a:hover,.foot nav a:hover{color:var(--fg);text-decoration:underline}
.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center;padding:44px 0 28px}
h1{font-size:clamp(1.7rem,4.2vw,2.5rem);line-height:1.15;letter-spacing:-.025em;margin:0 0 14px;font-weight:700}
h2{font-size:1.15rem;margin:0 0 14px;letter-spacing:-.01em}
.lead{color:var(--mut);margin:0;max-width:52ch}
.banner{width:100%;height:auto;border:1px solid var(--line)}
.panel{border:1px solid var(--line);padding:22px;margin-bottom:36px}
.drop{border:1.5px dashed #9bc4aa;background:var(--tint);padding:28px 16px;text-align:center}
.drop.over{background:#e5f3e9;border-color:var(--g)}
.drop p{margin:0 0 10px}.hint{color:var(--mut);font-size:.875rem;margin:10px 0 0}
.btn{font:inherit;font-size:.9rem;padding:7px 14px;border:1px solid var(--line);background:#fff;color:var(--fg);border-radius:4px;cursor:pointer}
.btn:hover{border-color:var(--g)}.btn.primary{background:var(--g);border-color:var(--g);color:#fff;font-weight:600}.btn.primary:hover{background:var(--gd)}
.btn.sm{padding:4px 10px;font-size:.8rem}
.opts{border:0;padding:0;margin:18px 0 6px;display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center}
.opts legend{font-weight:600;float:left;margin-right:22px;padding:0}
.opts label{display:flex;gap:6px;align-items:center}
select{font:inherit;padding:4px 6px;border:1px solid var(--line);background:#fff;border-radius:4px}select:disabled{opacity:.5}
.queue{list-style:none;margin:16px 0 0;padding:0}
.item{border-top:1px solid var(--line);padding:14px 0}
.row{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.nm{font-weight:600;overflow-wrap:anywhere}.st{color:var(--mut);font-size:.85rem;white-space:nowrap}.st.bad{color:var(--err)}.st.good{color:var(--gd)}
progress{width:100%;height:6px;margin:8px 0;accent-color:var(--g)}
.act{display:flex;gap:8px;flex-wrap:wrap}
.url{display:flex;gap:8px;margin:8px 0;flex-wrap:wrap}
.url input{flex:1 1 220px;min-width:0;font:.85rem var(--mono);padding:6px 8px;border:1px solid var(--line);background:var(--tint)}
.meta{display:grid;grid-template-columns:max-content 1fr;gap:2px 14px;font-size:.82rem;margin:8px 0}.meta dt{color:var(--mut)}.meta dd{margin:0;overflow-wrap:anywhere}
.preview img,.preview video{max-width:100%;max-height:260px;display:block;border:1px solid var(--line)}.preview audio{width:100%}
.facts{margin-bottom:56px}.facts dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 24px;margin:0 0 16px}.facts dt{font-weight:600}.facts dd{margin:0;color:var(--mut)}
.foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;padding-bottom:28px;color:var(--mut);font-size:.9rem}
/* docs / admin */
.doc{max-width:760px;margin:0 auto;padding:28px 20px 64px}.doc h1{font-size:1.9rem}.doc h2{margin-top:36px;padding-top:8px;border-top:1px solid var(--line)}.doc h3{margin:22px 0 6px;font-size:1rem}
pre{background:#0f1f16;color:#e6f2ea;padding:14px;overflow:auto;font:.82rem/1.5 var(--mono);margin:8px 0 16px}
table{border-collapse:collapse;width:100%;font-size:.9rem;margin:8px 0 16px;display:block;overflow-x:auto}th,td{border:1px solid var(--line);padding:6px 10px;text-align:left;vertical-align:top}th{background:var(--tint)}
.toc{columns:2;padding-left:18px}
.adm{max-width:1000px;margin:0 auto;padding:20px}.adm .bar{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:0;border:1px solid var(--line);margin:14px 0}.stats div{padding:10px 14px;border-right:1px solid var(--line)}.stats b{display:block;font-size:1.3rem}.stats span{color:var(--mut);font-size:.8rem}
.tbl td,.tbl th{font-size:.85rem}.hide{display:none!important}
@media (max-width:720px){.intro{grid-template-columns:1fr;padding-top:28px}.facts dl{grid-template-columns:1fr;gap:2px}.facts dd{margin-bottom:10px}.toc{columns:1}.panel{padding:16px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
