:root{color-scheme:dark;--brand-ink:#0b0b12;--brand-ivory:#f2ede4;--brand-paper:#fffcf7;--brand-taupe:#2c2724;--bg-main:#0b0b12;--bg-panel:#15151c;--bg-card:var(--bg-panel);--bg-sidebar:#111118;--bg-hover:#25242c;--bg-topbar:rgba(11,11,18,0.92);--border:#302f37;--border-color:var(--border);--text-main:#f2ede4;--text-muted:#c2bcb4;--text-faint:#969089;--text-disabled:#716c67;--surface:var(--bg-panel);--surface-subtle:#191920;--surface-soft:#1d1d25;--surface-hover:#25242c;--surface-strong:#302f37;--table-head:#111118;--panel-footer:#191920;--control-border-hover:#4b4952;--accent:#f2ede4;--accent-muted:#c2bcb4;--accent-hover:#ffffff;--accent-contrast:#0b0b12;--accent-soft:#29272b;--accent-hover-soft:#343238;--accent-border:#757069;--success:#8ee0b1;--success-text:#8ee0b1;--success-soft:#153425;--success-border:#397a55;--warning:#f2d17a;--warning-text:#f2d17a;--warning-soft:#362c12;--warning-border:#806827;--error:#ffb1ba;--error-text:#ffb1ba;--error-soft:#3a1b22;--error-border:#85404d;--danger-text:#ffb1ba;--danger-text-hover:#ffd1d6;--info:#a9d5ff;--info-text:#a9d5ff;--info-soft:#182e43;--info-border:#3f6d94;--content-user:#f0cfae;--content-video:#c4b5fd;--content-audio:#67e8f9;--content-text:#6ee7b7;--content-series:#fcd34d;--content-neutral:#cbd5e1;--media-surface:#080810;--overlay-scrim:rgba(4,4,8,0.78);--on-solid:#ffffff;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-lg:0 24px 50px rgba(0,0,0,0.55);--shadow-md:0 16px 32px rgba(0,0,0,0.45);--ring:0 0 0 3px rgba(225,211,185,0.42);--font-sans:"Space Grotesk","Battambang","Noto Sans Khmer",ui-sans-serif,system-ui,-apple-system,sans-serif;--font-khmer-stack:"Battambang","Noto Sans Khmer","Khmer OS Battambang","Khmer MN",sans-serif}@font-face{font-family:Battambang;src:url(/fonts/Battambang_400Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Battambang;src:url(/fonts/Battambang_700Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}:root[data-theme=light]{--bg-main:#f6f3ee;--bg-panel:#fffcf7;--bg-card:var(--bg-panel);--bg-sidebar:#fffcf7;--bg-hover:#e8e2d9;--bg-topbar:rgba(255,252,247,0.94);--border:#d9d1c7;--border-color:var(--border);--text-main:#2c2724;--text-muted:#5d5651;--text-faint:#6f6761;--text-disabled:#948b83;--surface:var(--bg-panel);--surface-subtle:#f6f3ee;--surface-soft:#f0ece5;--surface-hover:#e8e2d9;--surface-strong:#d9d1c7;--table-head:#f0ece5;--panel-footer:#f6f3ee;--control-border-hover:#a69b91;--accent:#2c2724;--accent-muted:#5d5651;--accent-hover:#0b0b12;--accent-contrast:#fffcf7;--accent-soft:#e9e2da;--accent-hover-soft:#e8e2d9;--accent-border:#8b8077;--success:#17643a;--success-text:#17643a;--success-soft:#e4f3ea;--success-border:#78ae8e;--warning:#6b4a00;--warning-text:#6b4a00;--warning-soft:#f7edcf;--warning-border:#b69647;--error:#8a2835;--error-text:#8a2835;--error-soft:#f8e5e8;--error-border:#c57983;--danger-text:#8a2835;--danger-text-hover:#681c27;--info:#245a85;--info-text:#245a85;--info-soft:#e4eef6;--info-border:#7ea2bc;--content-user:#7c2d12;--content-video:#6d28d9;--content-audio:#0e7490;--content-text:#047857;--content-series:#92400e;--content-neutral:#475569;--media-surface:#0b0b12;--overlay-scrim:rgba(11,11,18,0.66);--shadow-lg:0 24px 50px rgba(45,37,32,0.16);--shadow-md:0 16px 32px rgba(45,37,32,0.11);--ring:0 0 0 3px rgba(94,78,61,0.32);color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;line-height:1.35}.content-title,.khmer-text,.khmer-title,:lang(km),[data-lang=km]{font-family:var(--font-khmer-stack);line-height:1.55}.khmer-title-input,input.khmer-title,textarea.khmer-title{font-family:var(--font-khmer-stack)!important;line-height:1.55}:root[data-theme=light] body{background:var(--bg-main);color-scheme:light}button{font-family:inherit;cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.7}a{color:inherit;text-decoration:none}input,select,textarea{font-family:inherit}button:focus,input:focus,select:focus,textarea:focus{outline:none}:where(button):focus-visible,:where(input,textarea,select):focus-visible{box-shadow:var(--ring)}ul{list-style:none;padding:0;margin:0}.btn{border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-main);padding:10px 16px;border-radius:var(--radius-md);font-weight:500;font-size:13px;letter-spacing:.2px;display:inline-flex;align-items:center;gap:8px;transition:transform .12s ease,background .12s ease,border-color .12s ease,color .12s ease}.btn:hover{border-color:var(--control-border-hover);background:var(--surface-hover);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{border-color:var(--accent-border);background:var(--accent);color:var(--accent-contrast);font-weight:600}.btn-primary:hover{border-color:var(--accent-hover);background:var(--accent-hover);box-shadow:0 5px 14px var(--accent-soft)}.btn-danger:hover{border-color:var(--error-border);color:var(--error)}.btn-sm{padding:7px 12px;border-radius:8px;font-size:12px;font-weight:500}.field-help{display:block;margin-top:-2px;color:var(--text-muted);font-size:12px;line-height:1.45}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--surface-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--control-border-hover)}@media (max-width:640px){input,select,textarea{font-size:14px;padding:8px 10px}.btn,.btn-sm{font-size:12px;padding:8px 12px}.btn-sm{padding:6px 10px}}@media (max-width:420px){input,select,textarea{font-size:13px;padding:7px 9px}}.hls-migration-page{display:grid;grid-gap:20px;gap:20px;max-width:1180px;margin:0 auto}.hls-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:28px;border:1px solid var(--border);border-radius:18px;background:var(--bg-panel);box-shadow:var(--shadow-md)}.hls-hero h1{font-size:30px;margin:6px 0 8px}.hls-hero p,.hls-panel p{color:var(--text-muted);margin:0;line-height:1.55}.hls-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;color:var(--accent-muted)}.worker-pill{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 12px;border-radius:999px;background:var(--surface-hover);color:var(--text-muted);font-size:12px;font-weight:700}.worker-pill span{width:8px;height:8px;border-radius:50%;background:var(--content-neutral)}.worker-pill.online{color:var(--success-text)}.worker-pill.online span{background:var(--success);box-shadow:0 0 0 4px var(--success-soft)}.hls-alert,.hls-success{padding:13px 15px;border-radius:10px}.hls-alert{background:var(--error-soft);color:var(--error-text);border:1px solid var(--error-border)}.hls-success{background:var(--success-soft);color:var(--success-text);border:1px solid var(--success-border)}.hls-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.hls-panel,.hls-summary-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md)}.hls-summary-card{padding:18px;display:grid;grid-gap:5px;gap:5px}.hls-summary-card small,.hls-summary-card>span{color:var(--text-muted);font-size:12px}.hls-summary-card strong{font-size:28px}.hls-summary-card strong.danger{color:var(--error-text)}.hls-panel{padding:20px}.hls-panel-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:16px}.hls-panel-heading h2{font-size:17px;margin:0 0 5px}.hls-mini-progress,.hls-progress-track{overflow:hidden;background:var(--surface-hover);border-radius:999px}.hls-progress-track{height:10px}.hls-mini-progress span,.hls-progress-track span{display:block;height:100%;background:var(--accent);border-radius:inherit;transition:width .35s ease}.hls-actions{display:flex;gap:10px;margin-top:16px}.version-toggle{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.version-toggle button{display:grid;grid-gap:5px;gap:5px;text-align:left;padding:18px;border-radius:12px;border:1px solid var(--border);background:var(--surface-hover);color:var(--text-main);cursor:pointer}.version-toggle button span{font-size:12px;color:var(--text-muted)}.version-toggle button.active{border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-soft);background:var(--accent-soft)}.version-toggle button:disabled{opacity:.55;cursor:not-allowed}.danger-zone{border-color:var(--error-border)}.delete-confirm-row{display:flex;gap:10px}.delete-confirm-row input{flex:1 1;min-width:0;padding:11px 13px;background:var(--surface-hover);border:1px solid var(--border);border-radius:9px;color:var(--text-main)}.btn-danger{background:var(--error)!important;color:var(--on-solid)!important;border-color:var(--error)!important}.hls-job-list{display:grid;grid-gap:8px;gap:8px;max-height:560px;overflow:auto}.hls-job{display:grid;grid-template-columns:minmax(220px,1fr) 80px 130px 110px;align-items:center;grid-gap:16px;gap:16px;padding:13px;border:1px solid var(--border);border-radius:11px;content-visibility:auto}.hls-job-copy{display:grid;grid-gap:3px;gap:3px;min-width:0}.hls-job-copy small,.hls-job-copy span,.hls-job-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hls-job-copy small,.hls-job-copy span,.hls-job-size small{font-size:11px;color:var(--text-muted)}.hls-job-copy small{color:var(--error-text)}.hls-job-size{display:grid;text-align:right}.hls-mini-progress{height:6px}.hls-status{justify-self:end;padding:6px 8px;border-radius:999px;background:var(--surface-hover);font-size:10px;font-weight:800;text-transform:uppercase}.hls-status.deleted,.hls-status.ready{color:var(--success-text);background:var(--success-soft)}.hls-status.deleting,.hls-status.processing{color:var(--info-text);background:var(--info-soft)}.hls-status.error{color:var(--error-text);background:var(--error-soft)}.hls-empty{padding:30px;text-align:center;color:var(--text-muted)}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:800px){.hls-hero{display:grid}.hls-summary-grid{grid-template-columns:1fr 1fr}.hls-job{grid-template-columns:1fr auto}.hls-job-size,.hls-mini-progress{display:none}.delete-confirm-row{display:grid}}@media (max-width:520px){.hls-summary-grid,.version-toggle{grid-template-columns:1fr}}@media (max-width:720px){body,html{overflow-x:hidden}body{min-width:0;-webkit-text-size-adjust:100%}a,button,input,select,textarea{touch-action:manipulation}input,select,textarea{max-width:100%;font-size:16px}.page-header-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;grid-gap:14px;gap:14px}.page-header-right{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px!important;gap:8px!important}.page-header-right>a,.page-header-right>button{width:100%;min-height:44px;justify-content:center}.page-header-right>:last-child:nth-child(odd){grid-column:1/-1}.actions-right,.form-actions,.form-actions-right,.page-header-right{width:100%}.admin-modal-overlay{--modal-align:flex-end;--modal-overlay-padding:0;--modal-radius:18px 18px 0 0;--modal-max-height:calc(100dvh - max(20px, env(safe-area-inset-top)));--modal-body-padding:16px max(16px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.admin-modal-dialog{border-left:0!important;border-right:0!important;border-bottom:0!important;margin:0!important}.admin-modal-header{min-height:60px;padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left))!important}.admin-modal-header button{width:44px!important;height:44px!important}.admin-modal-body .form-actions{position:-webkit-sticky;position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));z-index:3;margin:18px -16px calc(-18px - env(safe-area-inset-bottom));padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg-panel);box-shadow:0 -12px 28px rgba(0,0,0,.18)}.admin-modal-body .actions-right button,.admin-modal-body .form-actions button,.admin-modal-body .form-actions-right button{min-height:44px}}