:root{--s0:#07070a;--s1:#0e0e14;--s2:#16161e;--s3:#1f1f29;--s4:#2a2a36;--t1:#f6f6fa;--t2:#c0c0cc;--t3:#88889a;--tmute:#5a5a6a;--acc:#ff5d3b;--acc-bright:#ff7a55;--acc-soft:rgba(255,93,59,0.16);--acc-glow:rgba(255,93,59,0.45);--info:#6b8cff;--info-soft:rgba(107,140,255,0.16);--ok:#3dd982;--ok-soft:rgba(61,217,130,0.16);--warn:#f9b13a;--warn-soft:rgba(249,177,58,0.16);--err:#ff4d6a;--err-soft:rgba(255,77,106,0.16);--bd-soft:rgba(255,255,255,0.06);--bd:rgba(255,255,255,0.10);--bd-strong:rgba(255,255,255,0.18);--r1:4px;--r2:8px;--r3:12px;--r4:16px;--pill:999px;--elev1:0 1px 2px rgba(0,0,0,.4);--elev2:0 6px 20px rgba(0,0,0,.4);--elev3:0 18px 48px rgba(0,0,0,.55);--ease:cubic-bezier(0.16,1,0.3,1);--spring:cubic-bezier(0.34,1.56,0.64,1);--dur-fast:140ms;--dur-normal:220ms;--mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--ui:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--maxw:1240px;--pad:32px}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur-normal:0ms}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{overflow-x:hidden}body{background:var(--s0);color:var(--t1);font-family:var(--ui);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;color-scheme:dark;min-height:100vh}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse 80% 60% at 10% 0,rgba(255,93,59,.07) 0,transparent 60%),radial-gradient(ellipse 60% 40% at 90% 100%,rgba(107,140,255,.05) 0,transparent 60%);pointer-events:none}.page{max-width:var(--maxw);margin:0 auto;padding:40px var(--pad) 80px}.drop-zone{border:1.5px dashed var(--bd);border-radius:var(--r4);padding:48px 32px;text-align:center;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);background:var(--s1);position:relative}.drop-zone.drag-over,.drop-zone:hover{border-color:var(--acc);background:var(--acc-soft)}.drop-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.drop-icon{font-size:32px;margin-bottom:12px;display:block;opacity:.7}.drop-title{font-size:16px;font-weight:600;color:var(--t1);margin-bottom:6px}.drop-sub{font-size:13px;color:var(--t3)}.drop-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.drop-actions,.paste-area{margin-top:20px}.paste-area textarea{width:100%;min-height:100px;background:var(--s2);border:1px solid var(--bd);border-radius:var(--r3);padding:14px 16px;color:var(--t2);font-family:var(--mono);font-size:12px;line-height:1.6;resize:vertical;outline:none;transition:border-color var(--dur-fast) var(--ease)}.paste-area textarea:focus{border-color:var(--acc)}.paste-area textarea::placeholder{color:var(--tmute)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--r2);font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--spring),opacity var(--dur-fast);line-height:1;white-space:nowrap;text-decoration:none;font-family:var(--ui)}.btn-primary{background:var(--acc);color:#fff}.btn-primary:hover{background:var(--acc-bright);box-shadow:0 0 16px var(--acc-glow)}.btn-ghost{background:linear-gradient(165deg,var(--s3),var(--s2));border-color:var(--bd);color:var(--t2);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 1px 2px rgba(0,0,0,.3)}.btn-ghost:hover{background:linear-gradient(165deg,var(--s4),var(--s3));color:var(--t1);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 2px 6px rgba(0,0,0,.35)}.btn-sm{padding:5px 12px;font-size:12px}.btn-icon{padding:7px 9px}.btn:disabled{opacity:.4;cursor:not-allowed}.controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:16px;gap:16px;margin-bottom:24px}.control-card{background:linear-gradient(165deg,var(--s2),var(--s1));border:1px solid var(--bd-soft);border-radius:var(--r3);padding:20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 8px 24px rgba(0,0,0,.35)}.control-card-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--t3);margin-bottom:14px}.input-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.input-row label{font-size:12px;color:var(--t3);min-width:64px;flex-shrink:0}.num-input{flex:1 1;background:linear-gradient(165deg,var(--s3),var(--s2));border:1px solid var(--bd);border-radius:var(--r2);padding:7px 10px;color:var(--t1);font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:13px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),inset 0 2px 5px rgba(0,0,0,.25);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);width:100%}.num-input:focus{border-color:var(--acc);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 0 0 3px var(--acc-soft)}.toggle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.toggle-label{font-size:13px;color:var(--t2)}.toggle-sub{font-size:11px;color:var(--t3);margin-top:1px}.toggle{position:relative;width:36px;height:20px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-track{position:absolute;inset:0;background:var(--s4);border-radius:var(--pill);cursor:pointer;transition:background var(--dur-fast);border:1px solid var(--bd)}.toggle input:checked+.toggle-track{background:var(--acc);border-color:transparent}.toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:white;border-radius:50%;transition:transform var(--dur-fast) var(--spring)}.toggle input:checked+.toggle-track:after{transform:translateX(16px)}.stats-bar{display:flex;align-items:center;gap:20px;padding:12px 20px;background:linear-gradient(165deg,var(--s2),var(--s1));border:1px solid var(--bd-soft);border-radius:var(--r3);margin-bottom:16px;flex-wrap:wrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 8px 24px rgba(0,0,0,.35)}.stat-item{display:flex;flex-direction:column;gap:1px}.stat-val{font-size:16px;font-weight:700;font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--t1);line-height:1;text-shadow:0 0 18px rgba(255,255,255,.08)}.stat-label{font-size:11px;color:var(--t3);text-transform:uppercase;letter-spacing:.06em}.stat-sep{width:1px;height:28px;background:var(--bd)}.warn-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:var(--pill);font-size:11px;font-weight:600}.warn-badge.warn{background:var(--warn-soft);color:var(--warn)}.warn-badge.err{background:var(--err-soft);color:var(--err)}.warn-badge.ok{background:var(--ok-soft);color:var(--ok)}.table-wrap{border:1px solid var(--bd-soft);border-radius:var(--r3);overflow:hidden;margin-bottom:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 12px 32px rgba(0,0,0,.4)}.cue-table{width:100%;border-collapse:collapse;font-size:13px}.cue-table thead{background:linear-gradient(180deg,var(--s3),var(--s2));border-bottom:1px solid var(--bd);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.cue-table th{padding:10px 14px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--t3);white-space:nowrap}.cue-table td{padding:8px 14px;border-bottom:1px solid var(--bd-soft);vertical-align:top}.cue-table tbody tr:last-child td{border-bottom:none}.cue-table tbody tr{background:var(--s1);transition:background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.cue-table tbody tr:nth-child(2n){background:var(--s0)}.cue-table tbody tr:hover{background:linear-gradient(90deg,var(--acc-soft),rgba(255,93,59,.04) 60%,transparent);box-shadow:inset 2px 0 0 var(--acc)}.cue-table tbody tr.has-warning{background:rgba(249,177,58,.05)}.cue-table tbody tr.has-error{background:rgba(255,77,106,.05)}.cue-idx{color:var(--tmute)}.cue-idx,.cue-time{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px}.cue-time{color:var(--t2);white-space:nowrap}.cue-dur{color:var(--t3)}.cue-cps,.cue-dur{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px}.cue-cps.over{color:var(--warn);text-shadow:0 0 14px var(--warn-soft)}.cue-cps.ok{color:var(--t3)}.cue-text{color:var(--t2);line-height:1.4;max-width:340px}.cue-warn{font-size:11px;margin-top:3px}.cue-warn span{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:var(--pill)}.cue-warn .w-fast,.cue-warn .w-overlap{background:var(--warn-soft);color:var(--warn)}.cue-warn .w-neg{background:var(--err-soft);color:var(--err)}.cue-warn .w-short{background:var(--info-soft);color:var(--info)}.export-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 20px;background:linear-gradient(165deg,var(--s2),var(--s1));border:1px solid var(--bd-soft);border-radius:var(--r3);box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 8px 24px rgba(0,0,0,.35)}.export-label{font-size:12px;color:var(--t3);margin-right:4px}.warnings-panel{margin-bottom:20px;background:linear-gradient(165deg,var(--s2),var(--s1));border:1px solid var(--bd-soft);border-radius:var(--r3);overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 8px 24px rgba(0,0,0,.35)}.warnings-header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--bd);background:linear-gradient(180deg,var(--s3),var(--s2))}.warnings-title{font-size:13px;font-weight:600}.warning-item{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;border-bottom:1px solid var(--bd-soft);font-size:13px}.warning-item:last-child{border-bottom:none}.warning-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:7px}.warning-dot.warn{background:var(--warn)}.warning-dot.err{background:var(--err)}.warning-dot.info{background:var(--info)}.warning-msg{color:var(--t2);line-height:1.4}.state-empty{text-align:center;padding:60px 32px;color:var(--t3)}.state-empty .state-icon{font-size:40px;margin-bottom:12px;display:block;opacity:.5}.state-empty h3{font-size:16px;font-weight:600;color:var(--t2);margin-bottom:6px}.state-empty p{font-size:13px;max-width:360px;margin:0 auto}.error-banner{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;background:var(--err-soft);border:1px solid rgba(255,77,106,.25);border-radius:var(--r3);margin-bottom:20px}.error-banner .err-icon{font-size:18px;flex-shrink:0}.error-banner strong{font-size:13px;font-weight:600;display:block;margin-bottom:2px;color:var(--err)}.error-banner p{font-size:12px;color:var(--t2);margin:0}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(0);z-index:999;padding:10px 18px;border-radius:var(--pill);font-size:13px;font-weight:600;white-space:nowrap;pointer-events:none;animation:toast-in var(--dur-normal) var(--ease)}.toast.ok{background:var(--ok);color:#000}.toast.err{background:var(--err);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateX(-50%) translateY(12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.export-meta{font-size:11px;color:var(--t3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.loaded-panel{animation:panel-enter var(--dur-normal) var(--ease) both}@keyframes panel-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.history-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;padding:10px 16px;background:var(--s1);border:1px solid var(--bd-soft);border-radius:var(--r3);font-size:12px;animation:panel-enter var(--dur-normal) var(--ease) both}.history-label{color:var(--t3);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}.history-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;background:var(--s3);border:1px solid var(--bd-soft);border-radius:var(--pill);color:var(--t2);font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.history-chip:hover{background:var(--s4);color:var(--t1)}.history-fmt{font-size:9px;font-weight:700;font-family:var(--mono);color:var(--acc);background:var(--acc-soft);padding:1px 4px;border-radius:var(--r1);flex-shrink:0}.shortcuts-overlay{position:fixed;inset:0;z-index:500;background:rgba(7,7,10,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;animation:overlay-in var(--dur-normal) var(--ease) both}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.shortcuts-panel{background:linear-gradient(165deg,var(--s3),var(--s2));border:1px solid var(--bd);border-radius:var(--r4);box-shadow:var(--elev3);width:100%;max-width:420px;overflow:hidden;animation:panel-enter var(--dur-normal) var(--spring) both}.shortcuts-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--bd);font-size:13px;font-weight:600;color:var(--t1)}.shortcuts-list{padding:8px 0}.shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 20px;border-bottom:1px solid var(--bd-soft)}.shortcut-row:last-child{border-bottom:none}.shortcut-desc{font-size:13px;color:var(--t2)}.shortcut-keys{display:flex;align-items:center;gap:6px;flex-shrink:0}.shortcut-or{font-size:10px;color:var(--t3);margin:0 2px}.kbd{display:inline-flex;align-items:center;padding:3px 7px;background:var(--s4);border:solid var(--bd-strong);border-width:1px 1px 2px;border-radius:var(--r1);font-family:var(--mono);font-size:11px;font-style:normal;color:var(--t1);white-space:nowrap;line-height:1}.btn:active{transform:scale(.97)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bd);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--bd-strong)}@media (max-width:700px){:root{--pad:16px}.controls-grid{grid-template-columns:1fr}.stats-bar{gap:12px}.cue-table td:nth-child(4),.cue-table th:nth-child(4){display:none}}:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:var(--r1)}.btn:focus-visible{border-radius:var(--r2)}.drop-zone:focus-visible{border-radius:var(--r4)}.num-input:focus-visible{border-radius:var(--r2)}.toggle-track:focus-visible{border-radius:var(--pill)}html:root{--err:#b3261e;--err-soft:rgba(179,38,30,0.08)}html body{color-scheme:light}html body .page{padding-top:.5rem;padding-bottom:4rem}html body .control-card,html body .export-bar,html body .history-strip,html body .stats-bar,html body .table-wrap,html body .warnings-panel{background:var(--b-paper,#fff);border:1px solid var(--b-rule,rgba(21,23,26,.12));box-shadow:0 1px 2px rgba(21,23,26,.05)}html body .control-card,html body .export-bar,html body .history-strip,html body .stats-bar,html body .table-wrap,html body .warnings-panel{border-radius:1rem}html body .control-card-title{font-size:.8rem;letter-spacing:.04em;color:var(--b-ink,#15171a)}html body .warnings-header{background:var(--s3)}html body .stat-val{text-shadow:none;font-size:1rem;overflow-wrap:anywhere}html body .stat-label{font-size:.75rem}html body .export-label,html body .export-meta,html body .toggle-sub{font-size:.8rem}html body .export-label{font-weight:600;color:var(--b-ink,#15171a)}html body .btn{min-height:44px;padding:0 1.1rem;font-size:.925rem;border-radius:999px}html body .btn-sm{min-height:40px;padding:0 .95rem;font-size:.875rem}html body .btn-primary{background:var(--b-signal,#2638d9);color:#fff}html body .btn-primary:hover:not(:disabled){background:var(--acc-dim,#1d2cb0);box-shadow:none}html body .btn-ghost{background:#fff;border:1px solid var(--b-rule,rgba(21,23,26,.16));color:var(--b-ink,#15171a);box-shadow:none}html body .btn-ghost:hover:not(:disabled){background:#fff;border-color:var(--b-ink,#15171a);box-shadow:none}html body .num-input,html body .paste-area textarea{background:#fff;box-shadow:none;min-height:44px;font-size:1rem;border:1px solid var(--b-rule,rgba(21,23,26,.16))}html body .num-input:focus{box-shadow:0 0 0 3px var(--acc-soft)}html body .paste-area textarea{color:var(--b-ink,#15171a);font-size:.875rem}html body .toggle-row{min-height:44px;gap:1rem}html body .toggle-label{cursor:pointer;color:var(--b-ink,#15171a);font-weight:600}html body .toggle{width:44px;height:26px}html body .toggle-track:after{width:20px;height:20px}html body .toggle input:checked+.toggle-track:after{transform:translateX(18px)}html body .toggle input:focus-visible+.toggle-track{outline:2px solid var(--acc);outline-offset:3px}html body .cue-table thead{background:var(--s3);box-shadow:none}html body .cue-table tbody tr{background:#fff}html body .cue-table tbody tr:nth-child(2n){background:var(--s1)}html body .cue-table tbody tr:hover{background:var(--acc-soft);box-shadow:inset 3px 0 0 var(--acc)}html body .cue-table tbody tr.has-warning{background:rgba(197,132,0,.07)}html body .cue-table tbody tr.has-error{background:var(--err-soft)}html body .cue-cps.over{text-shadow:none;font-weight:700}html body .cue-text{color:var(--b-ink,#15171a)}html body .cue-table th,html body .cue-warn{font-size:.75rem}html body .cue-cps,html body .cue-dur,html body .cue-idx,html body .cue-time{font-size:.85rem}html body .table-wrap{overflow-x:auto}html body .warn-badge{font-size:.75rem}html body .error-banner{border-color:color-mix(in srgb,var(--err) 30%,transparent)}html body .toast.ok{background:var(--b-ink,#15171a);color:#fff}html body .toast.err{background:var(--err);color:#fff}html body .toast{font-size:.9rem;max-width:calc(100vw - 2rem);white-space:normal;text-align:center}html body .shortcuts-overlay{background:rgba(21,23,26,.35)}html body .shortcuts-panel{background:#fff}html body .kbd{background:var(--s3)}html body .history-chip,html body .history-label{font-size:.8rem}html body .history-fmt{font-size:.7rem}.limits{margin:.9rem auto 0;max-width:46rem;text-align:center;font-size:.875rem;line-height:1.5;color:var(--b-graphite,#545962)}.sample-note{margin:0 0 1rem;padding:.85rem 1.1rem;border-radius:1rem;background:color-mix(in srgb,var(--b-signal,#2638d9) 6%,#fff);border:1px solid color-mix(in srgb,var(--b-signal,#2638d9) 22%,transparent);font-size:.925rem;line-height:1.5;color:var(--b-ink,#15171a)}.stat-spacer{flex:1 1}.stats-actions{display:flex;gap:.5rem;flex-wrap:wrap}@media (max-width:47.99rem){html body .stats-bar{gap:.75rem 1.25rem;padding:.9rem 1rem}.stat-spacer,html body .stat-sep{display:none}.stats-actions{width:100%}.stats-actions .btn{flex:1 1}html body .control-card{padding:1rem}html body .export-bar{padding:.9rem 1rem}html body .export-bar>span[style]{display:none}html body .export-meta{width:100%}html body .drop-zone{padding:2rem 1rem}html body .cue-table thead{display:none}html body .cue-table,html body .cue-table tbody{display:block}html body .cue-table tbody tr{display:grid;grid-template-columns:auto auto 1fr auto;grid-gap:.15rem .75rem;gap:.15rem .75rem;padding:.7rem 1rem;border-bottom:1px solid var(--bd-soft)}html body .cue-table td{padding:0;border:0}html body .cue-table td:nth-child(4){display:none}html body .cue-table td:nth-child(5){justify-self:end}html body .cue-table td:nth-child(5):after{content:" cps";color:var(--t3);font-weight:400}html body .cue-table td:nth-child(6){grid-column:1/-1}html body .cue-time:nth-child(3):before{content:"→ ";color:var(--t3)}html body .cue-text{max-width:none}}.nudge-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.4rem;gap:.4rem;margin-top:.6rem}html body .nudge-row .btn{padding:0 .3rem;justify-content:center;font-size:.85rem}#subtitle-file{display:none!important}