:root{--bg:#0f1013;--panel:#16171c;--panel-2:#1d1f25;--line:#2a2c34;--text:#e9e7e2;--muted:#8d8f99;--accent:#f5b544;--accent-ink:#1a1405;--wave:#9aa3b5;--wave-cut:#4a3a3a;--cut:#e5534b29;--cut-text:#e5534b;--sel:#f5b54438;--radius:10px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}body{-webkit-font-smoothing:antialiased;font:14px/1.5 Inter,system-ui,sans-serif}button,select,input{font:inherit;color:inherit}.app{flex-direction:column;min-height:100vh;display:flex}.bar{border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:16px;padding:12px 20px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:17px;font-weight:700;display:flex}.logo{gap:3px;display:inline-flex}.logo i{background:var(--accent);border-radius:2px;width:7px;height:18px;display:block}.logo i:nth-child(2){opacity:.35;width:4px}.logo i:nth-child(3){width:9px}.chip{color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12px}.langs{border:1px solid var(--line);border-radius:8px;margin-left:auto;padding:2px;display:flex}.langs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:3px 9px;font-size:12px;font-weight:600}.langs button.on{background:var(--panel-2);color:var(--text)}.btn{border:1px solid var(--line);background:var(--panel-2);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){border-color:#3c3f4a}.btn:disabled{opacity:.4;cursor:default}.btn small{color:var(--muted);font-family:JetBrains Mono,monospace;font-size:11px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.ghost{background:0 0}.link{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.link:hover{color:var(--text)}select{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:6px 8px}.empty{width:100%;max-width:860px;margin:0 auto;padding:64px 20px}.empty h1{letter-spacing:-.01em;max-width:16ch;margin:0 0 32px;font-family:Newsreader,Georgia,serif;font-size:clamp(30px,5vw,46px);font-weight:500;line-height:1.1}.drop{background:var(--panel);cursor:pointer;text-align:center;border:1.5px dashed #3a3d47;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:48px 20px;transition:border-color .15s;display:flex}.drop:hover{border-color:var(--accent)}.drop strong{font-size:18px}.drop span{color:var(--muted)}.drop .btn{margin-top:10px}.steps{grid-template-columns:repeat(3,1fr);gap:16px;margin:36px 0 0;padding:0;list-style:none;display:grid}.steps li{gap:12px;display:flex}.steps b{border:1px solid var(--line);width:26px;height:26px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-family:JetBrains Mono,monospace;font-size:12px;display:grid}.steps p{color:var(--muted);margin:2px 0 0;font-size:13px}.editor{background:var(--line);flex:1;grid-template-rows:1fr auto auto;grid-template-columns:minmax(320px,5fr) 6fr;gap:1px;min-height:0;display:grid}.editor>section{background:var(--bg);min-width:0;padding:16px 20px}.viewer{flex-direction:column;gap:12px;display:flex}.viewer video{aspect-ratio:16/9;border-radius:var(--radius);object-fit:contain;cursor:pointer;background:#000;width:100%}.transport{align-items:center;gap:12px;display:flex}.play{background:var(--accent);width:40px;height:40px;color:var(--accent-ink);cursor:pointer;border:0;border-radius:50%;font-size:13px}.tc{min-width:52px;font-family:JetBrains Mono,monospace;font-size:15px}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex}.toggle input{display:none}.toggle span{background:#33353e;border-radius:999px;width:30px;height:17px;transition:background .15s;position:relative}.toggle span:after{content:"";background:#fff;border-radius:50%;width:13px;height:13px;transition:transform .15s;position:absolute;top:2px;left:2px}.toggle input:checked+span{background:var(--accent)}.toggle input:checked+span:after{transform:translate(13px)}.stats{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.stats div{background:var(--panel);padding:10px 12px}.stats div+div{border-left:1px solid var(--line)}.stats small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;display:block}.stats b{font-family:JetBrains Mono,monospace;font-size:17px;font-weight:500}.stats b em{color:var(--muted);font-size:12px;font-style:normal}.accent{color:var(--accent)}.transcript{flex-direction:column;gap:12px;min-height:0;display:flex}.tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grow{flex:1}.words{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-user-select:none;user-select:none;flex:1;min-height:240px;max-height:58vh;padding:16px 18px;font-family:Newsreader,Georgia,serif;font-size:19px;line-height:1.75;overflow-y:auto}.w{cursor:text;border-radius:3px;transition:background 80ms}.w:hover{background:#2a2c34}.w.cut{color:var(--cut-text);opacity:.55;text-decoration:line-through;text-decoration-thickness:1.5px}.w.sel{background:var(--sel)}.w.now{box-shadow:inset 0 -2px 0 var(--accent)}.muted{color:var(--muted)}.small{font-size:12px}.words .muted{font-family:Inter,sans-serif;font-size:14px}.hint{color:var(--muted);margin:0;font-size:12px}.err{color:var(--cut-text);margin:0}.progress{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.progress div{background:var(--panel-2);border-radius:4px;height:4px;overflow:hidden}.progress i{background:var(--accent);height:100%;transition:width .3s;display:block}.progress.pulse i{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.track{flex-direction:column;grid-column:1/-1;gap:10px;display:flex}.track-tools{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.slider{color:var(--muted);align-items:center;gap:8px;display:inline-flex}.slider b{color:var(--text);min-width:52px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500}.slider input{accent-color:var(--accent);width:130px}.timeline{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;width:100%;height:96px;display:block}.timeline.loading{color:var(--muted);cursor:default;place-items:center;display:grid}.export{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.export .fps{color:var(--muted);align-items:center;gap:8px;margin-right:12px;display:inline-flex}.export-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.export p{flex-basis:100%;margin:4px 0 0}@media (width<=900px){.editor,.steps{grid-template-columns:1fr}.chip{display:none}.bar,.editor>section{padding-left:16px;padding-right:16px}}a{color:inherit}.brand{text-decoration:none}.bar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.bar-right .langs{margin-left:0}.who{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:13px;overflow:hidden}.crumbs{color:var(--muted);align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--text)}.crumbs b{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.btn{text-decoration:none}.btn.sm{padding:4px 9px;font-size:12px}.btn.wide{justify-content:center;width:100%;padding:10px}.btn.danger{color:var(--cut-text)}.link.center{text-align:center;text-decoration:none;display:block}input[type=text],input[type=email],input[type=password],input:not([type]){background:var(--panel-2);border:1px solid var(--line);border-radius:8px;min-width:0;padding:8px 10px}input:focus,select:focus{outline:2px solid color-mix(in srgb, var(--accent) 50%, transparent);outline-offset:1px}.auth{flex:1;place-items:center;padding:40px 16px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:14px;padding:24px;display:flex}.auth .card{width:100%;max-width:400px}.card h1{margin:0;font-family:Newsreader,Georgia,serif;font-size:28px;font-weight:500}.card h2,.card h3{margin:0;font-size:17px}.card p{margin:0}.card label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.card.narrow{max-width:420px;margin-top:16px}.ok{color:#57c27a;margin:0}.dash{width:100%;max-width:1120px;margin:0 auto;padding:24px 20px 64px}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;margin-bottom:24px;display:flex;overflow:auto hidden}.tabs a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;text-decoration:none}.tabs a.on{color:var(--text);border-color:var(--accent)}.section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-head h2{margin:0;font-size:20px}.inline-form{gap:8px;margin-bottom:16px;display:flex}.inline-form input{flex:1}.inline-form.wrap{flex-wrap:wrap}.inline-form.wrap input{flex:180px}.empty-note{text-align:center;border:1px dashed var(--line);border-radius:12px;padding:32px}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.tile{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;transition:border-color .15s;display:flex}.tile:hover{border-color:#3c3f4a}.tile-main{flex:1;padding:16px 16px 10px;text-decoration:none}.tile-main h3{margin:0 0 8px;font-size:16px}.tile-main p{text-overflow:ellipsis;white-space:nowrap;margin:2px 0;overflow:hidden}.tile-foot{border-top:1px solid var(--line);align-items:center;gap:8px;padding:10px 12px;display:flex}.badge{background:var(--panel-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.badge.owner{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}.badge.edit{color:#57c27a;background:#57c27a26}.table{border-collapse:collapse;width:100%;margin-top:12px;font-size:13px}.table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);padding:8px 10px;font-size:11px;font-weight:500}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px}.table tr.off td{opacity:.5}.mono{font-family:JetBrains Mono,monospace;font-size:12px}.right{text-align:right}.nowrap{white-space:nowrap}.nowrap .btn+.btn{margin-left:6px}.modal{z-index:10;background:#0009;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal .card{width:100%;max-width:520px}.list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.list li{border-top:1px solid var(--line);align-items:center;gap:8px;padding:8px 0;display:flex}.list li>div{flex:1;min-width:0}.right{justify-content:flex-end;display:flex}td.right{display:table-cell}.status{flex-direction:column;gap:6px;display:flex}.status p{margin:0;font-size:12px}.warn{color:var(--accent)}.save{color:var(--muted)}.save.saved{color:#57c27a}.save.error{color:var(--cut-text)}.project-h1{max-width:none!important}@media (width<=900px){.who,.crumbs span,.crumbs a{display:none}.table{display:block;overflow-x:auto}.inline-form{flex-wrap:wrap}}.shell{--side:240px;min-height:100vh}.side{width:var(--side);background:var(--panel);border-right:1px solid var(--line);z-index:30;flex-direction:column;transition:transform .22s;display:flex;position:fixed;inset:0 auto 0 0}.shell-main{margin-left:var(--side);flex-direction:column;min-height:100vh;display:flex}.shell-main>.app,.shell-main>main{flex:1}.side-head{justify-content:space-between;align-items:center;padding:14px 14px 10px 18px;display:flex}.side-head .brand{align-items:center;gap:10px;font-size:17px;font-weight:700;display:flex}.icon-btn{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--panel-2);color:var(--text)}.side-head .close{display:none}.side-nav{flex-direction:column;flex:1;gap:2px;padding:8px 10px;display:flex;overflow-y:auto}.side-nav a{color:var(--muted);border-radius:8px;align-items:center;gap:12px;padding:9px 10px;font-weight:500;text-decoration:none;display:flex}.side-nav a:hover,.side-nav a.on{background:var(--panel-2);color:var(--text)}.side-nav a.on svg{color:var(--accent)}.side-nav a.sub{padding:6px 10px 6px 40px;font-size:13px;position:relative}.side-nav a.sub .label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-nav a.sub .dot{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;left:19px}.side-foot{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding:12px 14px 16px;display:flex}.side-private{color:var(--muted);margin:0;font-size:11px;line-height:1.4}.side-foot .langs{align-self:flex-start;margin:0}.me{align-items:center;gap:10px;min-width:0;display:flex}.me .label{flex-direction:column;min-width:0;display:flex}.me b,.me small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.me small{color:var(--muted);font-size:11px}.avatar{background:color-mix(in srgb, var(--accent) 22%, transparent);width:32px;height:32px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.side-link{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:8px 10px;display:flex}.side-link:hover{background:var(--panel-2);color:var(--text)}.menu-bar{border-bottom:1px solid var(--line);background:var(--panel);z-index:20;align-items:center;gap:10px;padding:8px 14px;display:none;position:sticky;top:0}.menu-bar .brand{align-items:center;gap:8px;font-weight:700;display:flex}.menu-title{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.menu-title:before{content:"/";color:var(--line);margin-right:10px}.scrim{z-index:25;background:#0000008c;display:none;position:fixed;inset:0}.shell.hidden .side{transform:translate(-100%);box-shadow:0 0 40px #00000080}.shell.hidden .shell-main{margin-left:0}.shell.hidden .menu-bar{display:flex}.shell.hidden .side-head .close{display:inline-grid}.shell.open .side{transform:none}.shell.open .scrim{display:block}@media (width<=900px){.side{transform:translate(-100%);box-shadow:0 0 40px #00000080}.shell-main{margin-left:0}.menu-bar{display:flex}.side-head .close{display:inline-grid}}
