:root{--ink:#182d30;--muted:#708083;--teal:#087f73;--line:#e1e8e5;--paper:#f5f7f4;--nav:#153538;--gold:#dba755;font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;border:0;transition:background .15s,transform .15s}button:disabled{opacity:.45;cursor:default}button:hover:not(:disabled){filter:brightness(.96)}input,select{padding:12px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}label{display:grid;gap:9px;font-size:13px;font-weight:600;margin:20px 0}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-1px;margin-bottom:12px;font-weight:650}h2{font-size:17px;font-weight:650}h3{font-size:15px;margin-top:32px}small{font-size:12px;color:var(--muted);line-height:1.8}.muted{color:var(--muted);font-size:13px;line-height:1.7}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--teal);margin-bottom:13px}.primary,.secondary{border-radius:8px;padding:12px 18px;font-size:13px;font-weight:600}.primary{background:var(--teal);color:white}.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.login-wrap{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at 80% 15%,#d5e9dd,transparent 60%),var(--paper);padding:24px}.login-card{width:min(440px,100%);padding:42px;background:white;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 70px #1535380c}.login-card .brand-mark{margin-bottom:30px}.login-card h1{font-size:27px}.login-card .primary{width:100%;margin-top:8px}.login-card small{display:block;text-align:center}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #87bdb4;border-radius:13px;background:#d8eee7;color:#176e63;font-weight:700;font-size:22px}#login-error{font-size:13px;color:#a24435;margin-top:14px}#shell{display:flex;min-height:100vh}aside{position:fixed;inset:0 auto 0 0;width:236px;background:var(--nav);color:#e3eee8;padding:35px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:600}.brand small{display:block;color:#91afac;font-size:10px;margin-top:6px}.nav-caption{color:#7d9a98;font-size:10px;letter-spacing:2px;margin:52px 16px 16px}.nav{display:flex;justify-content:space-between;width:100%;border-radius:8px;text-align:left;padding:15px 16px;margin:5px 0;background:transparent;color:#a9c2be;font-size:13px}.nav.active{color:white;background:#2d4f50}.nav span{font-size:10px;opacity:.45}.aside-bottom{margin-top:auto;padding:26px 12px 0;border-top:1px solid #ffffff15}.aside-bottom p{color:#98b2af;font-size:12px;line-height:2.3;margin-top:18px}.aside-bottom strong{color:#d4e9dd;font-weight:500}.signal{display:flex;align-items:center;gap:8px;font-size:11px}.signal i{width:7px;height:7px;border-radius:50%;background:#6cd7aa}.signal i.warning{background:#e1ae63}.text-button{padding:0;background:transparent;color:#b0c6c1;font-size:11px}main{width:calc(100% - 236px);margin-left:236px;padding:40px 44px 25px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}header .muted{margin-bottom:0}header button{align-self:flex-start;margin-top:16px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:30px}.stats article{background:#fff;border:1px solid var(--line);padding:20px 23px;border-radius:12px}.stats article>span{font-size:12px;color:var(--muted);display:block}.stats strong{display:block;font-weight:550;letter-spacing:-1px;font-size:34px;margin:13px 0 4px}.stats small{font-size:10px}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;gap:12px}.date-control{display:flex;gap:7px}.date-control button{padding:9px 12px;background:white;border:1px solid var(--line);border-radius:7px}.date-control input{padding:8px 10px;font-size:13px}.timeline-panel{background:white;border:1px solid var(--line);border-radius:12px;padding:23px 25px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-top h2{margin:0}.section-top>span{font-size:10px;color:var(--muted)}.legend{display:inline-block;width:6px;height:6px;margin:0 5px 0 12px;border-radius:2px}.motion{background:var(--teal)}.scene{background:var(--gold)}.cover{background:#d3e4de}.timeline{position:relative;margin:26px 0 10px;height:37px;background:repeating-linear-gradient(to right,transparent 0,transparent calc(25% - 1px),#e6ece7 calc(25% - 1px),#e6ece7 25%);border-bottom:1px solid var(--line)}.timeline .coverage{position:absolute;top:26px;height:5px;background:#d3e4de;min-width:1px}.timeline .coverage.pending{background:#e1e1d4}.timeline .coverage.error{background:#dfb9b1}.timeline .event-bar{position:absolute;top:2px;height:19px;min-width:4px;border-radius:3px;background:var(--teal);padding:0;z-index:1}.timeline .event-bar.scene_change{background:var(--gold)}.ticks{display:flex;justify-content:space-between;color:#84928f;font-size:10px}.timeline-note{font-size:10px;color:#89968f;margin:18px 0 0}.list-title{margin:30px 0 18px}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.event-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:box-shadow .18s}.event-card:hover{box-shadow:0 7px 20px #1336300d}.preview{width:100%;aspect-ratio:16/9;display:block;position:relative;background:#d6e0da;padding:0;overflow:hidden}.preview img{width:100%;height:100%;object-fit:cover;display:block}.preview .badge{position:absolute;left:12px;top:12px;padding:5px 8px;color:white;background:#19302cc9;border-radius:5px;font-size:10px}.preview .play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:25px;text-shadow:0 1px 8px #0008;opacity:0;transition:opacity .15s}.preview:hover .play{opacity:1}.card-body{padding:17px 17px 14px}.card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.card-title strong{font-size:16px;font-weight:600;letter-spacing:.3px}.card-title button{background:transparent;color:#abb7b0;font-size:18px;padding:0 2px}.card-title button.saved{color:#b3863d}.card-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px}.card-label{font-size:12px;margin:10px 0 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pagination{display:flex;justify-content:center;gap:20px;align-items:center;margin-top:26px;font-size:12px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:12px;margin-top:40px;color:#8b9790;font-size:10px;line-height:1.7}.notice{padding:12px 16px;background:#fcf1df;border:1px solid #efdcb8;border-radius:8px;color:#87622f;font-size:12px;line-height:1.7;margin-bottom:15px}.notice.error{background:#f8e9e4;color:#9c5140;border-color:#eed3c8}.empty{text-align:center;padding:50px 10px;color:var(--muted)}.empty>div{font-size:50px;color:#9cb4aa;margin-bottom:12px}.empty h2{font-size:16px;color:var(--ink)}.empty p{font-size:12px}.settings{background:white;border:1px solid var(--line);border-radius:12px;padding:28px;max-width:840px}.settings label{max-width:420px}.settings canvas{width:100%;max-width:640px;aspect-ratio:16/9;background:#e7eee8;border:1px solid var(--line);border-radius:8px;touch-action:none;cursor:crosshair}.actions{display:flex;gap:10px;flex-wrap:wrap}.settings #mask-help{font-size:11px}dialog{width:min(900px,95vw);padding:0;border:0;border-radius:15px;box-shadow:0 25px 150px #0004;color:var(--ink);max-height:94dvh}dialog::backdrop{background:#0a232ad1;backdrop-filter:blur(4px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:23px 26px 18px}.dialog-header .eyebrow{margin-bottom:8px}.dialog-header h2{margin:0;font-size:20px}.close{width:34px;height:34px;font-size:26px;background:var(--paper);border-radius:50%;color:var(--muted)}video{display:block;width:100%;max-height:52vh;background:#101c1e}.dialog-body{padding:20px 26px 26px}.dialog-body small{display:block;margin-top:18px}.dialog-body label{margin:18px 0}.clip-links{display:flex;gap:8px;flex-wrap:wrap}.clip-links a,.clip-links button{font-size:11px;text-decoration:none;color:var(--teal);padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:10;background:var(--ink);color:white;padding:13px 22px;border-radius:9px;font-size:13px;max-width:90vw}[hidden]{display:none!important}@media(min-width:1600px){.event-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1150px){main{padding:30px 25px}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{gap:10px}.stats article{padding:17px}aside{width:205px;padding:28px 16px}main{margin-left:205px;width:calc(100% - 205px)}}@media(max-width:760px){#shell{display:block}aside{position:static;width:100%;padding:18px 20px}.brand{font-size:15px}.brand small{display:none}.brand-mark{width:32px;height:32px;font-size:18px;border-radius:9px}.nav-caption,.aside-bottom{display:none}nav{display:flex;margin-top:16px;gap:8px}.nav{margin:0;padding:10px;justify-content:center;font-size:12px}.nav span{display:none}main{margin:0;width:100%;padding:25px 18px}h1{font-size:26px}.eyebrow{font-size:9px}header button{padding:9px;margin-top:17px}.stats{grid-template-columns:repeat(2,1fr);margin-bottom:20px}.stats strong{font-size:29px;margin:8px 0 0}.toolbar{align-items:flex-start;flex-direction:column}.timeline-panel{padding:19px 14px}.section-top>span{font-size:9px}.legend{margin-left:6px}.event-grid{gap:12px}.card-body{padding:12px}.card-title strong{font-size:14px}.card-meta{font-size:9px}.preview .badge{font-size:9px;left:7px;top:7px}.list-title>span{display:none}footer{display:block}.settings{padding:20px}.dialog-header,.dialog-body{padding:18px}.login-card{padding:28px}#date{max-width:160px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.header-actions{display:flex;gap:8px}#logout-mobile{display:none}@media(max-width:760px){#logout-mobile{display:block}.header-actions{gap:5px}.header-actions button{font-size:11px}}
