:root{color-scheme:dark;--primary:#818cf8;--primary-hover:#a5b4fc;--bg:#0f172a;--panel:rgba(30,41,59,.68);--text:#f1f5f9;--muted:#94a3b8;--border:rgba(255,255,255,.09);--success:#34d399;--error:#fda4af;font-family:'Outfit',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:4px}button,a{touch-action:manipulation}a{color:var(--primary);text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:2.65rem;letter-spacing:-.06em;font-weight:650}h2{font-size:1.3rem;letter-spacing:-.025em}h3{font-size:1rem}.muted{color:var(--muted)}.small{font-size:.79rem;line-height:1.6}.error{color:var(--error);font-size:.84rem;line-height:1.5}.filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}svg{flex-shrink:0}.background-blobs{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.background-blobs i{position:absolute;width:450px;height:450px;background:#4f46e5;filter:blur(150px);opacity:.14;top:-220px;right:-120px}.background-blobs i+i{background:#0ea5e9;left:-260px;top:450px;opacity:.1}.container{max-width:1120px;margin:auto;padding:24px 32px 48px}.header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}.home-link{font-size:.8rem;color:var(--muted)}.home-link:hover{color:var(--text)}.local-badge{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:30px;padding:7px 11px;font-size:.71rem;color:#b9c6dd}.local-badge span{width:6px;height:6px;border-radius:50%;background:var(--success)}.app-header{text-align:center;margin-bottom:30px}.brand{display:flex;align-items:center;justify-content:center;gap:12px}.brand-icon{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#6366f1,#4f46e5);width:44px;height:44px;border-radius:13px;font-size:1.9rem;color:white;box-shadow:0 4px 20px #6366f124}.subtitle{margin-top:9px;font-size:1.1rem;color:#d0d8ea}.intro{font-size:.85rem;margin-top:9px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:20px;box-shadow:0 16px 40px #0002}.upload-section{max-width:700px;margin:0 auto 44px;padding:21px}.upload-source{display:flex;gap:9px}.drop-zone{display:flex;align-items:center;justify-content:center;gap:9px;flex:1;background:transparent;border:1.5px dashed #68768c80;color:#c3cddd;border-radius:10px;min-height:49px;font-size:.86rem;transition:all .15s}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--primary);background:#6366f115;color:#eef2ff}.secondary,.primary,.danger{padding:11px 16px;border-radius:9px;font-size:.83rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:41px}.secondary{background:#ffffff06;border:1px solid #ffffff1c;color:#d4dcee}.secondary:hover{background:#ffffff0c}.primary{background:#6366f1;color:#fff}.primary:hover:not(:disabled){background:#7375f5}.danger{background:#9f123940;color:#fda4af;border:1px solid #fda4af30}.text-button{background:none;color:var(--muted);font-size:.78rem;padding:7px}.upload-caption{display:flex;justify-content:space-between;gap:10px;font-size:.68rem;color:#7f90aa;margin-top:12px}.upload-item{margin-top:14px}.upload-item .row{display:flex;justify-content:space-between;font-size:.76rem;gap:12px}.upload-item progress{width:100%;height:5px;margin-top:8px;accent-color:var(--primary)}#paste-panel{margin-top:14px}textarea,input[type=search],input[type=password],select{background:#101b30;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px}textarea{width:100%;margin-top:8px;resize:vertical}.library-heading{display:flex;align-items:center;justify-content:space-between}.library-heading p{margin-top:6px}.count{font-size:.7rem;vertical-align:middle;border:1px solid var(--border);padding:3px 7px;border-radius:7px;color:var(--muted);margin-left:6px}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:9px;width:35px;height:35px;background:#ffffff04;color:var(--muted);font-size:1.2rem}.icon-button:hover{color:white;background:#ffffff0c}.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 12px}input[type=search]{font-size:.79rem;max-width:300px;width:100%;padding:10px 13px}.segmented{display:flex;border:1px solid var(--border);border-radius:9px;padding:3px}.segmented button{width:32px;height:28px;border-radius:6px;background:transparent;color:var(--muted);font-size:1.1rem}.segmented button[aria-pressed=true]{background:#6366f126;color:#c7d2fe}.worker-status{color:#889ab5;min-height:16px;margin-bottom:11px}.worker-status.warning{color:#fcd34d}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.media-card{min-width:0;border:1px solid var(--border);border-radius:16px;background:linear-gradient(160deg,#1b2840a0,#162035b0);position:relative}.card-visual{height:110px;padding:19px;position:relative;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #ffffff05;background:radial-gradient(ellipse at center,#6366f115,transparent 75%);border-radius:16px 16px 0 0}.waveform{height:48px;display:flex;align-items:center;gap:3px;width:100%;padding:0 5px}.waveform i{display:block;flex:1;min-width:1px;background:linear-gradient(to top,#6366f1,#a5b4fc);border-radius:2px;opacity:.72;max-height:48px}.media-card.export-card .waveform i{background:linear-gradient(to top,#0d9488,#5eead4)}.card-type{position:absolute;left:14px;top:12px;font-size:.58rem;color:#a5b4fc;letter-spacing:.1em;font-weight:600}.export-card .card-type{color:#5eead4}.duration-badge{position:absolute;right:13px;bottom:10px;background:#0f172ab0;padding:3px 6px;border-radius:5px;font-size:.66rem;color:#b8c6dc;font-variant-numeric:tabular-nums}.card-body{padding:15px}.card-top{display:flex;gap:8px;align-items:flex-start}.card-title{font-size:.85rem;font-weight:550;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;flex:1;margin:0;min-height:38px}.menu-wrap{position:relative;flex-shrink:0}.menu-toggle{width:26px;height:26px;border:0;font-size:1.35rem;border-radius:7px}.card-menu{position:absolute;right:0;top:30px;z-index:10;min-width:193px;border:1px solid #475569;background:#1e293b;box-shadow:0 10px 30px #0007;padding:5px;border-radius:10px}.card-menu button,.card-menu a{display:flex;text-align:left;background:none;padding:10px 12px;font-size:.77rem;width:100%;color:#dce3f1;border-radius:6px;white-space:nowrap}.card-menu button:hover,.card-menu a:hover{background:#ffffff09}.card-menu .delete-action{color:#fda4af;border-top:1px solid var(--border);margin-top:4px}.card-meta{font-size:.68rem;color:#7e91ad;margin-top:8px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.card-player{width:100%;height:32px;margin-top:17px;display:block}.card-player-video{height:150px;background:#080f1e;border-radius:9px;object-fit:contain}.card-status{margin-top:13px;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:25px}.status-chip{font-size:.67rem;border-radius:6px;padding:4px 7px;color:#94a3b8;background:#ffffff05}.status-chip.detected{color:#c7d2fe;background:#6366f118}.status-chip.success{color:#99f6e4;background:#0d94881a}.status-chip.busy{color:#c7d2fe}.status-chip.failed{color:#fda4af;background:#9f12391a}.small-action{font-size:.69rem;color:#a5b4fc;background:none;padding:5px 0}.job-message{font-size:.7rem;line-height:1.5;color:#a9b8ce;margin-top:8px;overflow-wrap:anywhere}.job-progress{width:100%;height:4px;margin-top:9px;accent-color:var(--primary)}.export-note{font-size:.69rem;color:#7f9f9e;margin-top:8px}.media-grid.list-view{grid-template-columns:1fr}.list-view .media-card{display:grid;grid-template-columns:170px 1fr}.list-view .card-visual{height:auto;min-height:160px;border-radius:16px 0 0 16px}.list-view .card-title{min-height:0}.list-view .card-player{max-width:540px}.empty-state{text-align:center;padding:55px 20px 70px;border:1px dashed var(--border);border-radius:16px}.empty-wave{font-size:2.6rem;letter-spacing:8px;color:#818cf86b;margin-bottom:24px}.empty-state h3{font-size:1.05rem}.empty-state p{font-size:.83rem;line-height:1.7;margin:12px 0 24px}footer{margin-top:45px;display:flex;justify-content:space-between;align-items:center;gap:15px;color:#667994;font-size:.68rem}footer code{color:#8495ae;font-size:.68rem}dialog{color:var(--text);background:#162135;border:1px solid #3a4860;border-radius:20px;width:min(610px,calc(100% - 28px));padding:25px;max-height:90dvh;overflow-y:auto;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#020817bf;backdrop-filter:blur(7px)}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.dialog-header h2{font-size:1.3rem;margin-top:5px}.eyebrow{font-size:.6rem;letter-spacing:.14em;color:#a5b4fc;font-weight:600}#speaker-filename{margin-top:11px}.dialog-help{font-size:.8rem;color:#a9b7ce;line-height:1.6;margin:17px 0}.speaker-list{display:flex;flex-direction:column;gap:9px}.speaker-choice{display:flex;align-items:flex-start;gap:12px;padding:13px;border:1px solid var(--border);border-radius:11px;cursor:pointer;background:#ffffff02}.speaker-choice.selected{border-color:#818cf8b3;background:#6366f10e}.speaker-choice input{accent-color:var(--primary);margin-top:7px;width:15px;height:15px;flex-shrink:0}.speaker-detail{flex:1;min-width:0}.speaker-detail .speaker-label{display:flex;align-items:center;gap:8px;font-size:.86rem;font-weight:600}.speaker-dot{height:8px;width:8px;border-radius:50%;background:var(--speaker-color,#a5b4fc)}.speaker-stats{font-size:.67rem;color:var(--muted);margin-top:5px}.speaker-choice audio{width:100%;height:31px;display:block;margin-top:10px}.edit-options{border:0;margin:25px 0 0;padding:0}.edit-options legend{font-size:.88rem;font-weight:600;margin-bottom:15px}.check-row{display:flex;align-items:flex-start;gap:10px;margin:15px 0;cursor:pointer}.check-row input{accent-color:var(--primary);margin-top:3px}.check-row span{font-size:.8rem}.check-row small{display:block;color:var(--muted);margin-top:4px;font-size:.7rem;line-height:1.5}.option-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.75rem;margin:14px 0}.option-row select{font-size:.74rem;padding:7px 8px}.overlap-note{padding:13px;background:#0f172a70;border-radius:9px;font-size:.69rem;margin-top:18px}.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--border);padding-top:18px;margin-top:20px}#speaker-error{margin-top:12px}#confirm-dialog{max-width:430px}#confirm-dialog p{font-size:.85rem;line-height:1.7;margin-top:17px}.toast{position:fixed;bottom:23px;left:50%;transform:translateX(-50%);padding:12px 20px;background:#273650;border:1px solid #56647d;border-radius:12px;font-size:.83rem;z-index:100;max-width:calc(100% - 28px);box-shadow:0 10px 40px #0006}.toast.error{border-color:#fda4af60;color:#fecdd3}.login-page{display:flex;align-items:center;justify-content:center;padding:25px}.login-panel{width:360px;padding:33px;text-align:center}.login-panel .brand-icon{margin-bottom:16px}.login-panel h1{font-size:2rem;margin-bottom:10px}.login-panel>p{font-size:.8rem}.login-panel form{text-align:left;margin-top:28px}.login-panel label{display:block;font-size:.79rem;margin-bottom:8px}.login-panel input[type=password]{width:100%}.login-panel .primary{width:100%;margin:18px 0}.login-panel .error{margin-top:12px}[hidden]{display:none!important}
@media(min-width:1250px){.container{max-width:1240px}.media-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:860px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.container{padding:20px 23px 35px}}@media(max-width:540px){.container{padding:18px 16px 30px}.header-top{margin-bottom:31px}.app-header{margin-bottom:24px}h1{font-size:2.3rem}.brand-icon{width:39px;height:39px}.intro{font-size:.75rem}.upload-section{padding:15px;margin-bottom:31px}.upload-source{flex-wrap:wrap}.drop-zone{flex-basis:100%;min-height:45px}.paste-btn{width:100%;min-height:37px}.upload-caption{font-size:.6rem;gap:5px}.media-grid{gap:12px}.card-visual{height:90px;padding:13px 9px}.waveform{gap:2px}.card-body{padding:12px 10px}.card-title{font-size:.73rem;min-height:36px}.card-meta{font-size:.6rem}.card-player{height:29px;margin-top:12px}.card-status{flex-wrap:wrap;gap:3px}.status-chip{font-size:.6rem}.small-action{font-size:.61rem}.menu-toggle{width:22px}.menu-wrap{margin-right:-3px}.card-menu{min-width:175px}.media-card:nth-child(odd) .card-menu{right:auto;left:-130px}.library-heading h2{font-size:1.14rem}.list-view .media-card{grid-template-columns:95px 1fr}.list-view .card-visual{min-height:150px}.list-view .waveform i:nth-child(even){display:none}.list-view .card-title{min-height:0}footer{display:block;text-align:center;line-height:1.9}footer form{margin-top:10px}dialog{padding:20px 17px;max-height:93dvh}.dialog-header h2{font-size:1.15rem}.dialog-actions{align-items:stretch;flex-direction:column}.dialog-actions .primary{width:100%}.dialog-actions>span{text-align:center}.option-row{font-size:.7rem}.local-badge{font-size:.62rem;padding:6px 8px}.home-link{font-size:.7rem}.card-player-video{height:100px}}
.audio-player{display:flex;align-items:center;gap:7px;margin-top:16px;background:#0d1729b0;border:1px solid #ffffff08;border-radius:9px;padding:5px 7px;min-width:0;height:38px}.audio-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border-radius:50%;background:#818cf81c;color:#c7d2fe;font-size:.65rem}.audio-toggle:hover{background:#818cf83b}.audio-seek{min-width:0;width:100%;height:18px;accent-color:#818cf8;cursor:pointer}.audio-time{color:#94a3b8;font-size:.62rem;font-variant-numeric:tabular-nums;min-width:27px;text-align:right}.list-view .audio-player{max-width:540px}.export-card .audio-toggle{background:#0d948820;color:#99f6e4}.export-card .audio-seek{accent-color:#5eead4}@media(max-width:540px){.audio-player{gap:4px;padding:4px 5px;margin-top:12px}.audio-toggle{width:25px;height:27px}.audio-time{font-size:.57rem;min-width:23px}}
.speaker-limit{color:#d8c5a2;border-left:2px solid #b59e694d;padding:2px 0 2px 10px;margin:0 0 16px;font-size:.7rem}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
