:root{--bg: #0b0b0b;--panel: #161616;--panel-2: #1f1f1f;--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 255, 255, .18);--ink: #f2f2f2;--ink-soft: #9a9a9a;--ink-dim: #6b6b6b;--accent: #f2f2f2;--record: #ff5c49;--wave-user: #7fe0d2;--wave-orig: #e055c4;--radius: 20px;--radius-sm: 12px;--font: "Instrument Sans", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 30%,#000 0%,transparent 100%);mask-image:radial-gradient(ellipse 90% 70% at 50% 30%,#000 0%,transparent 100%)}#app{position:relative;max-width:920px;margin:0 auto;padding:16px clamp(14px,4vw,24px) 56px}.screen{animation:screen-in .4s ease both}[hidden]{display:none!important}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}h1,h2,h3{font-weight:600;margin:0;letter-spacing:-.01em}a{color:var(--ink);text-underline-offset:3px}a:hover{color:#fff}.app-header{display:flex;align-items:center;justify-content:space-between;padding:8px 0 4px}.logo{font-size:1.05rem;font-weight:600;letter-spacing:.02em;font-family:var(--font);background:none;border:none;color:var(--ink);padding:0;cursor:pointer}.logo:hover{opacity:.8}.lang-switch{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.lang-btn{font-family:var(--font);font-size:.78rem;font-weight:600;letter-spacing:.08em;background:transparent;color:var(--ink-dim);border:none;padding:6px 14px;cursor:pointer;transition:color .15s,background .15s}.lang-btn.active{background:var(--ink);color:var(--bg)}.btn{font-family:var(--font);font-size:.95rem;font-weight:500;border:none;border-radius:999px;padding:12px 22px;cursor:pointer;transition:transform .12s ease,background .15s ease,opacity .15s,border-color .15s;background:var(--panel-2);color:var(--ink);border:1px solid transparent}.btn:hover:not(:disabled){transform:translateY(-1px);background:#262626}.btn:active:not(:disabled){transform:translateY(0) scale(.99)}.btn:disabled{opacity:.35;cursor:default}.btn-primary{background:var(--accent);color:#0b0b0b;font-weight:600}.btn-primary:hover:not(:disabled){background:#fff}.btn-pill{border:1px solid var(--line);background:transparent}.btn-pill:hover:not(:disabled){background:var(--panel);border-color:var(--line-strong)}.btn-big{font-size:1.1rem;padding:15px 32px}.btn-text{background:transparent;color:var(--ink-soft);padding-left:4px}.btn-text:hover:not(:disabled){background:transparent;color:var(--ink)}.btn-record{background:var(--record);color:#fff;font-weight:600}.btn-record:hover:not(:disabled){background:#ff6f5e}.btn-record.recording{background:var(--ink);color:var(--bg);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #ff5c4973}50%{box-shadow:0 0 0 10px #ff5c4900}}.tagline{color:var(--ink);font-size:clamp(2rem,6.5vw,3.4rem);font-weight:700;letter-spacing:-.035em;line-height:1.04;margin:34px 0 38px;max-width:17ch;text-wrap:balance}.section-label{font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);margin:26px 0 12px}.search-box{position:relative;margin-bottom:14px}.search-box input{width:100%;font:inherit;font-size:.95rem;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:11px 40px;outline:none;transition:border-color .15s,background .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-box input::-webkit-search-cancel-button{display:none}.search-box input::placeholder{color:var(--ink-dim)}.search-box input:hover{border-color:var(--line-strong)}.search-box input:focus{border-color:var(--ink-soft);background:var(--panel-2)}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-dim);pointer-events:none;line-height:0}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;border:none;background:var(--panel-2);color:var(--ink-soft);font:inherit;font-size:.85rem;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center}.search-clear:hover{color:var(--ink);background:#2a2a2a}.search-clear.on{display:flex}.gallery-controls{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.ctl-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ctl-label{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);flex-shrink:0}.seg{display:flex;gap:4px;flex-wrap:wrap}.seg button{font:inherit;font-size:.82rem;color:var(--ink-soft);background:transparent;border:1px solid var(--line);border-radius:999px;padding:6px 14px;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.seg button:hover{color:var(--ink);border-color:var(--line-strong)}.seg button[aria-pressed=true]{color:var(--ink);background:var(--panel-2);border-color:var(--ink-soft)}.tagbar{display:flex;gap:6px;flex-wrap:wrap}.tag-pill{font:inherit;font-size:.78rem;color:var(--ink-soft);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:5px 11px;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.tag-pill:hover{color:var(--ink);border-color:var(--line-strong)}.tag-pill{color:var(--tag-color, var(--ink-soft));border-color:var(--line);border-color:color-mix(in srgb,var(--tag-color, #fff) 28%,transparent)}.tag-pill:hover{border-color:var(--line-strong);border-color:color-mix(in srgb,var(--tag-color, #fff) 55%,transparent)}.tag-pill[aria-pressed=true]{color:#0b0b0b;background:var(--tag-color, var(--wave-user));border-color:var(--tag-color, var(--wave-user));font-weight:600}.tag-count{opacity:.55}.result-line{font-size:.8rem;color:var(--ink-dim);font-variant-numeric:tabular-nums;margin:0 0 12px;display:flex;align-items:center;gap:9px}.link-btn{font:inherit;font-size:.8rem;background:none;border:none;color:var(--wave-user);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}.gallery-empty{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);padding:30px 20px;text-align:center;color:var(--ink-soft)}.gallery-empty p{margin:0 0 12px}.shelf{margin-top:26px}.shelf-first{margin-top:0}.shelf-head{display:flex;align-items:baseline;gap:9px;margin-bottom:10px}.shelf-title{font-size:1rem;font-weight:600;letter-spacing:-.01em}.shelf-sub{font-size:.78rem;color:var(--ink-dim)}.shelf-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.shelf-track::-webkit-scrollbar{height:6px}.shelf-track::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}.shelf-track::-webkit-scrollbar-track{background:transparent}.shelf-card{position:relative;flex:0 0 188px;scroll-snap-align:start;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;text-align:left;padding:0;font:inherit;color:inherit;outline:none;transition:border-color .15s,background .15s}.shelf-card:hover,.shelf-card:focus-visible{border-color:var(--line-strong);background:var(--panel-2)}.shelf-card .pi-body{padding:9px 11px 11px;gap:4px;flex:1}.shelf-card .pi-title{font-size:.84rem;font-weight:600}.pi-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:auto;padding-top:4px}.pi-chip{font-size:.68rem;font-weight:500;line-height:1.2;border-radius:5px;padding:2px 6px;white-space:nowrap;color:var(--tag-color, var(--ink-soft));border:1px solid var(--line);border-color:color-mix(in srgb,var(--tag-color, #fff) 30%,transparent);background:color-mix(in srgb,var(--tag-color, #fff) 8%,transparent)}.pi-cover{position:relative;overflow:hidden;background:var(--panel-2);flex-shrink:0}.pi-cover img{width:100%;height:100%;object-fit:cover;display:block}.pi-cover.wide{width:100%;aspect-ratio:16 / 9}.pi-cover.wide:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.5),transparent 42%);pointer-events:none}.pi-badge{position:absolute;right:6px;bottom:6px;z-index:2;font-size:.71rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);background:#000000a8;border-radius:5px;padding:2px 6px}.pi-adult{position:absolute;left:6px;top:6px;z-index:2;font-size:.65rem;font-weight:700;color:#fff;background:#ff5c49eb;border-radius:4px;padding:2px 5px;line-height:1.1}.preloaded-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:10px}.preloaded-item{position:relative;display:flex;align-items:center;gap:11px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 12px 9px 9px;cursor:pointer;transition:border-color .15s,background .15s;text-align:left;width:100%;overflow:hidden;outline:none}.preloaded-item:hover,.preloaded-item:focus-visible{border-color:var(--line-strong);background:var(--panel-2)}.preloaded-item.selected{border-color:var(--ink-soft);background:var(--panel-2)}.preloaded-item.loading{cursor:progress}.preloaded-item .pi-cover{width:62px;height:46px;border-radius:8px}.pi-body{display:flex;flex-direction:column;gap:3px;min-width:0}.pi-title{font-size:.85rem;font-weight:500;line-height:1.28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pi-meta{display:flex;align-items:center;gap:6px;font-size:.74rem;color:var(--ink-dim);font-variant-numeric:tabular-nums;flex-wrap:wrap}.pi-adult-inline{color:var(--record);font-weight:600}.pi-progress{position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--wave-user);transition:width .2s ease}.drop-zone{margin-top:26px;border:1px dashed var(--line-strong);border-radius:var(--radius);padding:26px 20px;text-align:center;transition:border-color .15s,background .15s;outline:none}.drop-zone.dragover{border-color:var(--wave-user);background:#7fe0d20d}.drop-title{font-size:1.05rem;font-weight:600;margin:0 0 4px}.drop-hint{color:var(--ink-dim);margin:0 0 16px;font-size:.9rem}.drop-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.home-error{background:#ff5c4914;border:1px solid rgba(255,92,73,.35);color:#ff9c8f;border-radius:var(--radius-sm);padding:12px 16px;margin-top:16px;font-size:.92rem}.pack-list{display:grid;gap:8px}.pack-list-item{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 14px;cursor:pointer;transition:border-color .15s,background .15s;text-align:left;width:100%;font:inherit;color:inherit}.pack-list-item:hover{border-color:var(--line-strong);background:var(--panel-2)}.pack-list-item img{width:44px;height:44px;border-radius:8px;object-fit:cover;background:var(--panel-2)}.pack-list-item .pli-title{font-weight:500}.pack-list-item .pli-sub{color:var(--ink-dim);font-size:.82rem}.credits{margin-top:48px;padding-top:18px;border-top:1px solid var(--line);color:var(--ink-dim);font-size:.82rem;line-height:1.7}.credits p{margin:0}.credits a{color:var(--ink-soft)}.pack-top-row{display:flex;align-items:stretch;gap:20px;margin-top:14px}.pack-card{display:flex;gap:20px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;flex:1 1 auto;min-width:0}.pack-icon{width:96px;height:96px;border-radius:14px;object-fit:cover;background:var(--panel-2);flex-shrink:0}.pack-meta h2{font-size:1.35rem;line-height:1.25}.pack-subtitle{color:var(--ink-soft);margin:6px 0 0;font-size:.92rem}.pack-authors{color:var(--ink-dim);font-size:.85rem;margin:4px 0 0}.pack-stats{font-weight:600;margin:10px 0 0;color:var(--wave-user);font-size:.9rem}.pack-warnings{margin-top:12px;background:#ffc85712;border:1px solid rgba(255,200,87,.3);border-radius:var(--radius-sm);padding:10px 16px;color:#e8c473;font-size:.88rem}.char-filter{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;flex:0 1 260px;min-width:200px}.char-filter .section-label{margin:0 0 10px}.char-filter-list{display:flex;flex-direction:column;gap:8px}.char-filter-item{display:flex;align-items:center;gap:10px;font-size:.92rem;cursor:pointer}.char-filter-item input{accent-color:var(--wave-user);width:15px;height:15px;flex-shrink:0}.char-filter-empty{margin:10px 0 0}.pack-start-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px}.mic-status{color:var(--ink-soft);margin:0;font-size:.9rem}.mic-status.error{color:#ff9c8f}.screen-dub{display:flex;flex-direction:column;gap:14px}.dub-top{display:flex;align-items:center;gap:14px}.dub-back{padding:8px 16px;font-size:.85rem;color:var(--ink-soft)}.dub-back:hover:not(:disabled){color:var(--ink)}.dub-progress{flex:1;display:flex;align-items:center;gap:12px}.dub-counter{white-space:nowrap;color:var(--ink-dim);font-size:.82rem;font-weight:600;letter-spacing:.06em;font-variant-numeric:tabular-nums}.dub-progress-bar{flex:1;height:2px;background:var(--line);border-radius:999px;overflow:hidden}#dub-progress-fill{height:100%;width:0;background:var(--wave-user);transition:width .3s ease}.dub-stage{display:grid;grid-template-columns:1fr 230px;gap:16px}.dub-screen-frame{position:relative;width:100%;background:#000;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center}.dub-image,.dub-video-slot{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.dub-video-slot:empty{display:none}.dub-noimage{font-size:3rem;opacity:.2}.dub-video-slot>*,.final-video-slot>*{display:block;width:100%!important;height:100%!important}.dub-video-slot canvas,.final-video-slot canvas{width:100%!important;height:100%!important;object-fit:contain}.dub-side{display:flex;flex-direction:column;gap:12px}.dub-character{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--wave-user);min-height:1.2em}.dub-character:empty{display:none}.dub-controls{display:flex;flex-direction:column;gap:8px}.monitor-block{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:8px}.monitor-toggle{display:flex;align-items:flex-start;gap:8px;color:var(--ink-soft);font-size:.85rem;line-height:1.35;cursor:pointer;-webkit-user-select:none;user-select:none}.monitor-toggle input{accent-color:var(--wave-user);width:15px;height:15px;margin-top:2px}.monitor-volume{display:flex;align-items:center;gap:10px}.monitor-volume input[type=range]{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2px;border-radius:999px;background:var(--line-strong);outline:none;cursor:pointer}.monitor-volume input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--ink);border:none}.monitor-volume input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--ink);border:none}.monitor-volume-value{color:var(--ink-dim);font-size:.8rem;min-width:4ch;text-align:right;font-variant-numeric:tabular-nums}.caption-langs{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.caption-lang{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--panel-2);color:var(--ink-soft);border-radius:999px;padding:3px 12px;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.caption-lang:hover{color:var(--ink)}.lang-rows{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.lang-rows::-webkit-scrollbar{display:none}.lang-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.lang-rows.compact{gap:10px}.lang-rows.compact .caption-lang{padding:3px 8px}.lang-row-label{white-space:nowrap;color:var(--ink-dim);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.lang-pills{display:flex;gap:6px;flex-wrap:nowrap;justify-content:center}.results-track .lang-pills{flex-wrap:wrap}.results-track{text-align:center;margin-bottom:14px}.results-track-q{color:var(--ink);margin:0 0 8px;font-weight:600}select.lang-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--panel-2);color:var(--ink);border-radius:999px;padding:3px 12px;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.mic-device-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;color:var(--ink-dim);font-size:.8rem}.mic-device-row select.lang-select{max-width:260px}.caption-edit-hint{text-align:center;color:var(--ink-dim);font-size:.72rem;margin:6px 0 0}.caption-lang.active{background:var(--wave-user);border-color:transparent;color:#0b0b0b}.dub-caption{font-size:clamp(1.05rem,3vw,1.3rem);font-weight:600;text-align:center;margin:2px auto;max-width:40ch;line-height:1.4;min-height:1.4em;cursor:text;border-radius:8px;padding:2px 8px;transition:background .15s}.dub-caption:hover{background:var(--panel-2)}.dub-caption.edited{border-bottom:2px dashed var(--wave-user)}.caption-edit{display:flex;gap:8px;align-items:flex-start;max-width:46ch;margin:0 auto;width:100%}.caption-input{flex:1;resize:vertical;font:inherit;font-size:1rem;line-height:1.4;color:var(--ink);background:var(--panel-2);border:1px solid var(--line-strong);border-radius:10px;padding:8px 10px}.caption-input:focus{outline:none;border-color:var(--wave-user)}.waveform-wrap{position:relative;background:#000;border:1px solid var(--line);border-radius:var(--radius);padding:10px}.waveform{display:block;width:100%;height:128px;border-radius:var(--radius-sm)}.dub-countdown{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;background:#00000073;color:#fff;font-size:clamp(3.5rem,18vh,8rem);font-weight:800;font-variant-numeric:tabular-nums;text-shadow:0 4px 24px rgba(0,0,0,.6);pointer-events:none}.dub-countdown span{display:block;animation:countdown-tick 1s ease-out}@keyframes countdown-tick{0%{transform:scale(1.35);opacity:0}18%{transform:scale(1);opacity:1}to{transform:scale(.92);opacity:.55}}.record-badge{position:absolute;top:16px;right:20px;color:var(--record);font-size:.75rem;font-weight:700;letter-spacing:.16em;animation:blink 1.1s steps(2) infinite}@keyframes blink{50%{opacity:.25}}.waveform-hint{text-align:center;color:var(--ink-dim);margin:0;font-size:.85rem}.screen-final{text-align:center}.final-title{font-size:clamp(1.3rem,4vw,1.7rem);margin:22px 0 18px}#final-audio-langs{margin-bottom:16px}.final-screen-frame{position:relative;width:100%;background:#000;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center}.final-video-slot{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.final-video-slot:empty{display:none}.mix-modes-note{text-align:center;color:var(--ink-dim);font-size:.78rem;margin:8px 0 0}.voiceover-volume{display:flex;align-items:center;gap:10px;justify-content:center;max-width:420px;margin:14px auto 0;color:var(--ink-soft);font-size:.85rem}.voiceover-volume input[type=range]{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2px;border-radius:999px;background:var(--line-strong);outline:none;cursor:pointer}.voiceover-volume input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--wave-user);cursor:pointer}.voiceover-volume input[type=range]::-moz-range-thumb{width:14px;height:14px;border:none;border-radius:50%;background:var(--wave-user);cursor:pointer}.mix-modes{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}.mix-mode{display:flex;align-items:flex-start;gap:9px;max-width:320px;flex:1 1 260px;padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s,background .15s}.mix-mode:hover{border-color:var(--line-strong)}.mix-mode:has(input:checked){border-color:var(--wave-user);background:var(--panel-2)}.mix-mode:has(input:focus-visible){outline:2px solid var(--wave-user);outline-offset:2px}.mix-mode input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.mix-mode-text{line-height:1.35}.mix-mode-title{font-size:.95rem;font-weight:600}.mix-mode-text small{display:block;color:var(--ink-dim);font-size:.78rem;margin-top:2px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;max-width:420px;width:100%;text-align:left}.modal-title{font-size:1.1rem;margin:0 0 16px}.modal-options{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.modal-option{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;text-align:left;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;font:inherit;color:inherit;cursor:pointer;transition:border-color .15s,background .15s}.modal-option:hover,.modal-option:focus-visible{border-color:var(--wave-user)}.modal-option-title{font-size:.95rem;font-weight:600}.modal-option small{display:block;color:var(--ink-dim);font-size:.78rem;margin-top:2px}.final-controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}.export-status{color:var(--ink-soft);margin-top:14px;font-size:.9rem}.results{margin-top:44px;text-align:left;border-top:1px solid var(--line);padding-top:28px}.results-jump{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:8px;font-family:var(--font);font-size:.85rem;font-weight:600;color:#0b0b0b;background:var(--wave-user);border:none;border-radius:999px;padding:10px 18px;cursor:pointer;box-shadow:0 8px 26px #0000008c;animation:jump-in .3s ease both}.results-jump:hover{background:#a5f0e3}.results-jump-arrow{animation:jump-arrow 1.4s ease-in-out infinite}@keyframes jump-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes jump-arrow{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.results-title{font-size:clamp(1.15rem,3.4vw,1.4rem);margin:0 0 10px;text-align:center}.results-total{display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:10px}.results-percent{font-size:clamp(2rem,8vw,3rem);font-weight:700;line-height:1.1}.results-verdict{color:var(--wave-user);font-size:1.05rem}.results-hint{text-align:center;color:var(--ink-dim);font-size:.85rem;max-width:58ch;margin:0 auto 22px;line-height:1.4}.results-list{display:flex;flex-direction:column;gap:10px}.result-row{cursor:pointer;transition:border-color .15s,background .15s;outline:none;display:grid;grid-template-columns:108px minmax(120px,1fr) minmax(0,2.2fr);align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px}.result-row:hover,.result-row:focus-visible{border-color:var(--line-strong);background:var(--panel-2)}.result-thumb{width:108px;aspect-ratio:16 / 9;object-fit:cover;border-radius:8px;background:#000;display:block}.result-thumb-empty{display:flex;align-items:center;justify-content:center;font-size:1.4rem;opacity:.5}.result-score{font-weight:600;font-size:1.05rem}.result-caption{color:var(--ink-dim);font-size:.8rem;line-height:1.35;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.result-wave{display:block;width:100%;height:62px;background:#000;border-radius:8px}@media(max-width:700px){#app{padding-bottom:40px}.dub-stage{grid-template-columns:1fr}.dub-side{gap:10px}.dub-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dub-controls .btn{padding:12px 10px;font-size:.9rem}.screen-dub>.monitor-block{order:10;border-top:1px solid var(--line)}.screen-dub>.dub-top{order:-2}#dub-lang-rows{order:-1}.waveform{height:96px}.app-header{display:none}body[data-screen=home] .app-header,body[data-screen=pack] .app-header{display:flex}.lang-switch{display:none}body[data-screen=home] .lang-switch{display:flex}.caption-edit-hint{display:none}.preloaded-list{grid-template-columns:repeat(2,1fr);gap:9px}.preloaded-item{flex-direction:column;align-items:stretch;gap:0;padding:0}.preloaded-item .pi-cover{width:100%;height:auto;aspect-ratio:16 / 9;border-radius:0}.preloaded-item .pi-body{padding:8px 10px 10px;gap:4px}.preloaded-item .pi-title{font-size:.82rem}.shelf-card{flex:0 0 158px}.pi-plays{display:none}.pack-top-row{flex-direction:column}.char-filter{flex:none;min-width:0;width:100%}.pack-card{flex-direction:column;align-items:flex-start;gap:14px}.pack-icon{width:72px;height:72px}.mix-mode{flex-basis:100%;max-width:none}.final-controls{flex-direction:column}.final-controls .btn{width:100%}.result-row{grid-template-columns:84px 1fr;gap:10px}.result-thumb{width:84px}.result-wave{grid-column:1 / -1;height:52px}.btn-big{width:100%}.pack-start-row{flex-direction:column;align-items:stretch}.drop-buttons .btn{flex:1}}@media(max-width:380px){.dub-controls{grid-template-columns:1fr}}.coop-panel{margin-top:26px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.coop-panel .section-label{margin-top:0}.coop-sub{color:var(--ink-dim);margin:-6px 0 14px;font-size:.9rem}.coop-row{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.coop-input{flex:1;min-width:120px;font:inherit;font-size:.95rem;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:10px 16px;outline:none;transition:border-color .15s,background .15s}.coop-input::placeholder{color:var(--ink-dim)}.coop-input:hover{border-color:var(--line-strong)}.coop-input:focus{border-color:var(--ink-soft);background:var(--panel-2)}.coop-code-input{flex:0 0 90px;text-align:center;text-transform:uppercase;letter-spacing:.15em;font-weight:600}.lobby-head{display:flex;flex-direction:column;gap:12px;margin:10px 0 18px}.lobby-title{font-size:1.5rem;font-weight:700;margin:0;display:flex;align-items:center;gap:12px}.lobby-code{font-size:1.9rem;letter-spacing:.22em;color:var(--wave-user);background:#7fe0d214;border:1px solid rgba(127,224,210,.35);border-radius:var(--radius-sm);padding:4px 14px}.lobby-invite{display:flex;gap:10px;align-items:center}.lobby-link-input{font-size:.85rem;color:var(--ink-dim)}.lobby-pack{color:var(--ink-soft);font-size:.95rem;margin:0 0 8px;min-height:1.3em}.lobby-cols{display:grid;grid-template-columns:1fr 1.4fr;gap:24px;margin-top:8px}@media(max-width:700px){.lobby-cols{grid-template-columns:1fr}}.lobby-roster{display:flex;flex-direction:column;gap:8px}.roster-chip{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 14px;font-size:.95rem}.roster-dot{width:10px;height:10px;border-radius:50%;flex:none}.roster-off{color:var(--ink-dim);font-size:.8rem;margin-left:auto}.lobby-modes{display:flex;flex-direction:column;gap:8px}.lobby-mode{display:flex;gap:12px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;cursor:pointer;transition:border-color .15s,background .15s}.lobby-mode:hover{border-color:var(--line-strong);background:var(--panel-2)}.lobby-mode-active{border-color:var(--wave-user)!important;background:#7fe0d20f}.lobby-mode input{margin-top:4px;accent-color:var(--wave-user)}.lobby-mode input:disabled{opacity:.35}.lobby-mode-body{display:flex;flex-direction:column;gap:3px}.lobby-mode-title{font-weight:600}.lobby-mode small{color:var(--ink-dim);font-size:.82rem}.lobby-chars{display:flex;flex-wrap:wrap;gap:8px}.char-chip{font:inherit;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.char-chip:hover{border-color:var(--line-strong)}.char-chip-mine{border-width:2px;box-shadow:0 0 0 1px var(--wave-user)}.lobby-note{color:var(--ink-dim);font-size:.9rem}.lobby-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}.coop-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 14px;font-size:.88rem}.coop-bar-text{color:var(--ink-soft);flex:1;min-width:160px}.coop-roster{display:flex;gap:6px;flex-wrap:wrap}.coop-roster-chip{font-size:.78rem;color:var(--ink-soft);border:1px solid;border-radius:999px;padding:2px 10px}.coop-roster-me{color:var(--ink);font-weight:600}.coop-final-note{color:var(--ink-dim);font-size:.88rem;margin:-6px 0 14px}.lobby-pack-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lobby-pack-row .lobby-pack{margin:0}.coop-lines{display:flex;gap:6px;flex-wrap:wrap;padding:2px 2px 6px}.line-chip{min-width:30px;height:30px;padding:0 8px;font:inherit;font-size:.8rem;color:var(--ink-soft);background:var(--panel);border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.line-chip:hover{border-color:var(--line-strong);color:var(--ink)}.line-chip:disabled{opacity:.45;cursor:default}.line-chip-mine{border-color:var(--wave-user);color:var(--ink)}.line-chip-mine:not(.line-chip-current):hover{background:#7fe0d214}.line-chip-done{background:#7fe0d229;border-color:var(--wave-user);color:var(--ink)}.line-chip-locked{opacity:.55}.line-chip-current{box-shadow:0 0 0 2px #ffffff8c}.line-chip-turn{border-color:#fff;color:#fff;animation:chip-pulse 1.6s ease-in-out infinite}@keyframes chip-pulse{0%,to{box-shadow:0 0 #ffffff59}50%{box-shadow:0 0 0 4px #ffffff1f}}
