:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#10202f;--muted:#607083;--line:#d7e0e8;--paper:#f5f7f8;--panel:#fff;--brand:#0c7c86;--brand-dark:#075963;--accent:#d43f2f;--ok:#11835f;--warn:#9b6416;--shadow:0 18px 44px #10202f21}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:linear-gradient(140deg, #0c7c8617, transparent 30%), linear-gradient(320deg, #d43f2f14, transparent 26%), var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}.app-shell{width:min(1180px,100%);min-height:100vh;padding:max(18px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom));margin:0 auto}.portal-shell{width:min(1040px,100%);min-height:100vh;padding:max(28px, env(safe-area-inset-top)) 18px max(28px, env(safe-area-inset-bottom));align-content:center;gap:18px;margin:0 auto;display:grid}.portal-hero{padding:clamp(26px,6vw,64px) 0 6px}.portal-eyebrow{color:var(--brand);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:850}.portal-hero h1{letter-spacing:0;max-width:760px;margin:0;font-size:clamp(2.2rem,7vw,5rem);line-height:.98}.portal-hero p{color:#334155;max-width:710px;margin:18px 0 0;font-size:clamp(1rem,2vw,1.22rem);line-height:1.5}.portal-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.portal-primary,.portal-secondary{border-radius:8px;min-height:48px;padding:13px 18px;font-weight:850;text-decoration:none}.portal-primary{background:var(--ink);color:#fff}.portal-secondary{border:1px solid var(--line);color:var(--ink);background:#ffffffd1}.portal-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.portal-steps article{border:1px solid var(--line);background:#ffffffe6;border-radius:8px;min-height:142px;padding:16px;box-shadow:0 12px 28px #10202f14}.portal-steps strong,.portal-steps span{display:block}.portal-steps strong{color:var(--ink);margin-bottom:8px;font-size:1rem}.portal-steps span{color:var(--muted);line-height:1.42}.portal-footer{color:var(--muted);font-size:.84rem}.auth-shell{place-items:center;display:grid}.auth-panel{border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);background:#fffffff5;border-radius:8px;padding:24px}.auth-panel h1,.brand-row h1{letter-spacing:0;margin:0}.auth-panel h1{font-size:2.25rem;line-height:1}.intro-copy{color:var(--muted);margin:10px 0 20px;line-height:1.45}.auth-form{gap:10px;display:grid}.auth-form label{cursor:text}.password-field{touch-action:manipulation;gap:8px;width:100%;display:grid}.auth-form .password-input{-webkit-appearance:none;appearance:none;touch-action:manipulation;-webkit-user-select:text;user-select:text;width:100%;height:58px;min-height:58px;padding:0 16px;font-size:16px;line-height:1.2;display:block}.auth-form button{touch-action:manipulation;width:100%;min-height:58px}.workspace{grid-template-columns:minmax(320px,430px) minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.control-panel,.player-panel,.subtitle-list-panel{box-shadow:var(--shadow);background:#fffffff0;border:1px solid #d7e0e8f5;border-radius:8px}.control-panel{flex-direction:column;gap:17px;padding:20px;display:flex}.brand-row,.progress-area,.panel-title-row{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.eyebrow{color:var(--brand);letter-spacing:0;text-transform:uppercase;margin:0 0 5px;font-size:.76rem;font-weight:850}.brand-row h1{font-size:clamp(1.65rem,3vw,2.35rem);line-height:1}.status-pill{color:var(--brand-dark);background:#0c7c861a;border:1px solid #0c7c863d;border-radius:999px;flex:none;padding:7px 11px;font-size:.82rem;font-weight:850}.status-pill[data-mode=busy],.status-line.busy{color:var(--warn);background:#f59e0b24;border-color:#9b641642}.status-pill[data-mode=done],.status-line.done{color:var(--ok);background:#11835f1f;border-color:#11835f47}.status-pill[data-mode=error],.status-line.error{color:var(--accent);background:#d43f2f1f;border-color:#d43f2f47}.status-line{border:1px solid var(--line);min-height:42px;color:var(--muted);border-radius:8px;margin:16px 0 0;padding:10px 12px;font-size:.92rem}.field-label,.settings-grid label,.auth-form label{color:#334155;font-size:.88rem;font-weight:750}.url-row{grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;outline:none}input,select{min-height:48px}input{padding:0 13px}textarea{resize:vertical;min-height:118px;margin-top:7px;padding:11px 13px;line-height:1.35}select{margin-top:7px;padding:0 12px}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0c7c8629}button,.download-button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:8px;min-height:48px;padding:0 16px;font-weight:850}button:disabled{cursor:progress;opacity:.62}.secondary-button{border:1px solid var(--line);color:var(--ink);background:#fff}.lock-button{width:fit-content;min-height:42px}.settings-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.owner-panel,.subtitle-source-panel{border-top:1px solid var(--line);padding-top:10px}.owner-panel summary,.subtitle-source-panel summary{width:fit-content;color:var(--brand-dark);cursor:pointer;font-size:.88rem;font-weight:850}.owner-form,.subtitle-source-form{gap:10px;margin-top:10px;display:grid}.owner-form p,.subtitle-source-form p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.35}.player-panel{flex-direction:column;gap:16px;padding:16px;display:flex}.video-frame{aspect-ratio:16/9;background:#020812;border-radius:8px;width:100%;min-height:230px;position:relative;overflow:hidden}.video-frame:-webkit-full-screen{aspect-ratio:auto;background:#000;border-radius:0;width:100vw;height:100vh;min-height:100vh}.video-frame:fullscreen{aspect-ratio:auto;background:#000;border-radius:0;width:100vw;height:100vh;min-height:100vh}.video-frame.is-cinema-mode{z-index:1000;aspect-ratio:auto;background:#000;border-radius:0;width:100vw;height:100vh;min-height:100vh;position:fixed;inset:0}#youtube-player,#youtube-player iframe{width:100%;height:100%}.video-frame>#youtube-player{border:0;width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.empty-player{z-index:2;color:#e5e7eb;text-align:center;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.caption-overlay{right:3%;bottom:calc(10px + env(safe-area-inset-bottom));z-index:4;color:#f8fafc;text-align:center;text-shadow:0 1px 2px #000000f2,0 0 8px #000000bf;pointer-events:none;justify-content:center;align-items:center;font-size:clamp(1rem,1.78vw,1.24rem);font-weight:600;line-height:1.2;display:flex;position:absolute;left:3%}.caption-overlay span{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#0000009e;max-width:min(126ch,100%);padding:.1em .34em .16em;display:inline}:-webkit-any(.video-frame:-webkit-full-screen .caption-overlay,.video-frame.is-cinema-mode .caption-overlay){right:3vw;bottom:calc(5vh + env(safe-area-inset-bottom));font-size:clamp(1.14rem,2.45vw,1.58rem);line-height:1.22;left:3vw}:is(.video-frame:fullscreen .caption-overlay,.video-frame.is-cinema-mode .caption-overlay){right:3vw;bottom:calc(5vh + env(safe-area-inset-bottom));font-size:clamp(1.14rem,2.45vw,1.58rem);line-height:1.22;left:3vw}:-webkit-any(.video-frame:-webkit-full-screen .caption-overlay span,.video-frame.is-cinema-mode .caption-overlay span){max-width:min(138ch,94vw)}:is(.video-frame:fullscreen .caption-overlay span,.video-frame.is-cinema-mode .caption-overlay span){max-width:min(138ch,94vw)}.video-wait-overlay{z-index:6;color:#fff;text-align:center;contain:paint;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-font-smoothing:antialiased;cursor:wait;background:#020812f0;place-items:center;padding:20px;font-size:.96rem;font-weight:760;display:grid;position:absolute;inset:0;transform:translateZ(0)}.video-wait-overlay span{background:#020812f5;border:1px solid #ffffff47;border-radius:8px;padding:12px 16px}.play-overlay-button{z-index:6;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020812c7;border:1px solid #ffffff5c;min-height:48px;padding:0 18px;font-size:.95rem;font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 40px #0000005c}.frame-button{z-index:5;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020812a8;border:1px solid #ffffff52;min-height:38px;padding:0 12px;font-size:.82rem;font-weight:700;position:absolute;top:12px;right:12px}.progress-copy{gap:4px;min-width:0;display:grid}.progress-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.progress-copy span{color:var(--muted);font-size:.92rem}.player-actions{flex:none;align-items:center;gap:9px;display:flex}.download-button{background:var(--accent);min-width:58px}.subtitle-list-panel{margin-top:18px;padding:16px}.panel-title-row{align-items:center;margin-bottom:10px}.panel-title-row h2{margin:0;font-size:1rem}.panel-title-row span{color:var(--warn);font-weight:850}.subtitle-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:34vh;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.subtitle-list li{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px}.subtitle-list time{color:var(--brand-dark);margin-bottom:5px;font-size:.78rem;font-weight:850;display:block}.subtitle-list p{color:#1f2937;margin:0;font-size:.91rem;line-height:1.34}.app-footer{color:var(--muted);text-align:center;margin-top:14px;font-size:.82rem}@media (max-width:860px){.app-shell{padding-left:12px;padding-right:12px}.portal-steps,.workspace,.subtitle-list{grid-template-columns:1fr}}@media (max-width:560px){.portal-shell{align-content:start;padding-left:14px;padding-right:14px}.portal-actions{display:grid}.portal-primary,.portal-secondary{text-align:center}.brand-row,.progress-area{flex-direction:column;align-items:stretch}.url-row{grid-template-columns:1fr}button,.download-button{width:100%}.frame-button{width:auto}.video-frame{min-height:190px}.player-actions{flex-direction:column;width:100%}}
