:root{--ink:#172126;--muted:#66757c;--line:#dce4e5;--bg:#f5f8f8;--card:#fff;--accent:#087f6b;--accent-dark:#056452;--danger:#b42318}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,"Microsoft YaHei",sans-serif}button,input,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:8px;padding:9px 14px;background:#e8eeee;color:var(--ink);font-weight:650}button:active{transform:translateY(1px)}.primary{background:var(--accent);color:#fff}.primary:hover{background:var(--accent-dark)}.text-button{background:transparent;color:var(--muted)}header{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1160px)/2))}.brand{font-weight:750;display:flex;align-items:center;gap:9px}.brand-mark{width:28px;height:28px;border-radius:8px;background:var(--accent);color:#fff;display:inline-grid;place-items:center;font-weight:800}.app-shell{max-width:1160px;margin:0 auto;padding:48px 24px 80px}.top{display:flex;align-items:end;justify-content:space-between;gap:16px}.top h1{margin:0;font-size:28px;letter-spacing:-.5px}.top p{margin:6px 0 0;color:var(--muted)}.search{display:flex;gap:8px;margin:28px 0 16px}.search input{max-width:440px}.search input,.direct-link input,label input,label textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 11px;background:#fff;color:var(--ink)}.video-list{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.video-row{padding:20px;display:grid;grid-template-columns:42px minmax(0,1fr) 170px 52px;gap:15px;align-items:start;border-bottom:1px solid var(--line)}.video-row:last-child{border:0}.file-icon{width:36px;height:36px;background:#e6f4f1;color:var(--accent);border-radius:9px;display:grid;place-items:center;font-size:13px}.video-info h2{font-size:15px;margin:0 0 3px;word-break:break-all}.meta{font-size:13px;color:var(--muted)}.meta i{display:inline-block;width:3px;height:3px;border-radius:50%;background:#9eaaad;vertical-align:middle;margin:0 7px}.direct-link{margin-top:10px;display:flex;max-width:600px}.direct-link input{border-radius:7px 0 0 7px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.direct-link button{white-space:nowrap;border-radius:0 7px 7px 0;background:#eef3f3}details{font-size:13px;color:var(--muted)}summary{cursor:pointer;padding:8px 0}details form{display:grid;gap:7px}textarea{min-height:72px;resize:vertical}.danger{color:var(--danger);background:#fff1f0;padding:8px}.empty{border:1px dashed #b7c6c8;border-radius:12px;background:#fff;padding:80px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.empty strong{font-size:18px}.empty span{color:var(--muted);max-width:400px}.flash{padding:11px 13px;margin-bottom:18px;border-radius:8px;background:#e7f5f1;color:#075b4d}.flash.error{background:#fff0ef;color:#a11a11}.login-shell{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,380px);background:#fff;border:1px solid var(--line);border-radius:14px;padding:38px}.login-card .brand-mark{width:40px;height:40px;font-size:18px}.login-card h1{margin:15px 0 2px;font-size:25px}.login-card p{margin:0 0 26px;color:var(--muted)}label{display:grid;gap:7px;font-size:13px;font-weight:650;margin-bottom:16px}.login-card button{width:100%}dialog{border:1px solid var(--line);border-radius:12px;padding:0;width:min(100% - 32px,520px);box-shadow:0 20px 60px #16242633}dialog::backdrop{background:#17212680}dialog form{padding:22px;display:grid;gap:4px}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.dialog-head h2{margin:0;font-size:20px}dialog small{color:var(--muted);margin:-4px 0 15px}@media(max-width:760px){.app-shell{padding:28px 14px}.top{align-items:start;flex-direction:column}.video-row{grid-template-columns:38px minmax(0,1fr);padding:16px}.video-row details{grid-column:2}.video-row>form{grid-column:2;justify-self:start}.search input{max-width:none}header{padding:0 16px}}
