:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f9;--surface:#fff;--surface-sunken:#f3f5f9;--surface-hover:#eef0f4;--text:#111827;--line:#d8dbe2;--line-soft:#eef0f4;--muted:#6b7280;--muted-soft:#8a929e;--accent:#1b2a5e;--accent-strong:#16305c;--accent-soft-bg:#e4edff;--accent-soft-text:#2b4d8f;--accent-selected-bg:#e6ebf7;--on-accent:#fff;--ok:#1a7f4b;--ok-bg:#e8f6ee;--ok-text:#14683d;--warn:#b45309;--warn-bg:#fffbeb;--warn-line:#f0c9a8;--warn-text:#7c3d09;--on-warn:#fff;--error:#b91c1c;--error-bg:#fef2f2;--shadow:#0f172a29;--shadow-soft:#0f172a12}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1013;--surface:#1c1f24;--surface-sunken:#23272e;--surface-hover:#2a2f37;--text:#e6e8ec;--line:#363b44;--line-soft:#2a2f37;--muted:#9aa3af;--muted-soft:#8b939f;--accent:#93b4ff;--accent-strong:#b9cdff;--accent-soft-bg:#22304f;--accent-soft-text:#b9cdff;--accent-selected-bg:#26324d;--on-accent:#0b1020;--ok:#4ade80;--ok-bg:#14301f;--ok-text:#7ee2a8;--warn:#fbbf24;--warn-bg:#2e2410;--warn-line:#6b5220;--warn-text:#fcd34d;--on-warn:#241a05;--error:#fca5a5;--error-bg:#3a1d1d;--shadow:#0000008c;--shadow-soft:#00000073}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1013;--surface:#1c1f24;--surface-sunken:#23272e;--surface-hover:#2a2f37;--text:#e6e8ec;--line:#363b44;--line-soft:#2a2f37;--muted:#9aa3af;--muted-soft:#8b939f;--accent:#93b4ff;--accent-strong:#b9cdff;--accent-soft-bg:#22304f;--accent-soft-text:#b9cdff;--accent-selected-bg:#26324d;--on-accent:#0b1020;--ok:#4ade80;--ok-bg:#14301f;--ok-text:#7ee2a8;--warn:#fbbf24;--warn-bg:#2e2410;--warn-line:#6b5220;--warn-text:#fcd34d;--on-warn:#241a05;--error:#fca5a5;--error-bg:#3a1d1d;--shadow:#0000008c;--shadow-soft:#00000073}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);margin:0;font-family:system-ui,-apple-system,Apple SD Gothic Neo,sans-serif}.admin{max-width:78rem;margin:0 auto;padding:1.5rem 1.25rem 3rem}h1{margin:0;font-size:1.35rem}.page-title+.lead{margin:.2rem 0 1.25rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;margin-bottom:1.25rem;display:flex}.page-head .page-title+.lead{margin-bottom:0}h2{letter-spacing:.03em;color:var(--muted);margin:0 0 .5rem;font-size:.78rem;font-weight:700}button{font:inherit;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:6px;padding:.4rem .8rem}button[type=submit]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.lead,.hint{color:var(--muted);font-size:.875rem}.settings-body .lead{max-width:44rem}.warning,.error{border-left:3px solid var(--warn);background:var(--warn-bg);border-radius:0 6px 6px 0;padding:.6rem .8rem;font-size:.875rem}.error{border-color:var(--error);background:var(--error-bg);color:var(--error)}.group{margin-top:1.75rem}.row input.number{border:1px solid var(--line);text-align:right;border-radius:6px;width:4.5rem;padding:.35rem .5rem;font-size:.95rem}.row .unit{color:var(--muted);margin-left:.35rem;font-size:.85rem}.tabs{border-bottom:1px solid var(--line);gap:.25rem;margin-top:1rem;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;margin-bottom:-1px;padding:.55rem .9rem;font-size:.95rem;font-weight:500}.tabs button:hover:not([disabled]){color:var(--text);background:var(--surface-hover)}.tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent);font-weight:700}.tabs button[disabled]{cursor:not-allowed;opacity:.5}.group.shared{margin-bottom:.5rem}.row{border-top:1px solid var(--line-soft);align-items:center;gap:.75rem;min-height:2.85rem;padding:.55rem 0;display:flex}.text .hint:empty{display:none}.row input,.row select,.title label{cursor:pointer}.row input[type=checkbox]{appearance:none;border:1px solid var(--line);background:var(--surface-sunken);border-radius:999px;flex:none;width:2rem;height:1.125rem;margin:0;transition:background-color .12s ease-out,border-color .12s ease-out;position:relative}.row input[type=checkbox]:after{content:"";background:var(--muted);border-radius:999px;width:calc(1.125rem - 4px);height:calc(1.125rem - 4px);transition:transform .12s ease-out,background-color .12s ease-out;position:absolute;top:1px;left:1px}.row input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.row input[type=checkbox]:checked:after{background:var(--on-accent);transform:translate(.875rem)}.row input[type=checkbox][disabled]{opacity:.55;cursor:not-allowed}.row input[disabled],.row select[disabled],.row input[disabled]+.text label,.row select[disabled]+.text label{cursor:not-allowed}.row input[disabled]+.text,.row select[disabled]+.text{opacity:.72}.row select{border:1px solid var(--line);background:var(--surface);width:auto;min-width:7rem;max-width:13rem;font:inherit;border-radius:6px;flex:none;padding:.25rem .4rem;font-size:.9rem}.domain{margin-bottom:0}.group.scope-pick{margin-bottom:1.25rem}.domain select{min-width:9rem;max-width:15rem}.text{flex-direction:column;gap:.15rem;display:flex}.text .hint{word-break:keep-all}.title{font-weight:600}.gate{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;align-items:flex-start;gap:.6rem;max-width:26rem;margin:3rem auto 0;padding:1.25rem;display:flex}.gate input{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:6px;width:100%;padding:.45rem .6rem}code{background:var(--surface-hover);border-radius:4px;padding:.1em .35em}button.ghost{border:1px solid var(--line);color:var(--muted);background:0 0}button.ghost:hover{background:var(--surface-hover)}button[disabled]{opacity:.5;cursor:not-allowed}.gate h1{margin:0 0 .25rem;font-size:1.05rem}.sub{opacity:.75;margin-top:.35rem;font-size:.8rem;display:block}.notice{background:var(--surface-hover);color:var(--text);border-radius:8px;padding:.6rem .85rem;font-size:.9rem}.loading{color:var(--muted);padding:1rem 0}.group-hint{max-width:44rem;color:var(--muted);margin:-.1rem 0 .6rem;font-size:.85rem}.state{color:var(--muted);margin-left:.5rem;font-size:.75rem;font-style:normal;font-weight:500}.state.ok{color:var(--ok)}.domain.locked strong{order:2;margin-left:auto;font-size:.95rem}.badge{border:1px solid var(--line);background:var(--surface-sunken);color:var(--muted);vertical-align:middle;border-radius:999px;margin-left:.5rem;padding:.05rem .4rem;font-size:.7rem;font-style:normal;font-weight:500}button.revert{color:var(--accent-soft-text);cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:.3rem;padding:0;font-size:.78rem;text-decoration:underline}button.revert:hover{color:var(--accent-strong)}button.revert[disabled]{opacity:.5;cursor:not-allowed;text-decoration:none}.confirm{border:1px solid var(--warn-line);border-left:3px solid var(--warn);background:var(--warn-bg);border-radius:0 8px 8px 0;margin:.15rem 0 .6rem;padding:.75rem .9rem}.confirm .headline{color:var(--warn-text);margin:0;font-size:.9rem;font-weight:600}.confirm .actions{gap:.5rem;margin:.7rem 0 0;display:flex}.confirm button.danger{border-color:var(--warn);background:var(--warn);color:var(--on-warn)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.subgroup+.subgroup{border-top:1px solid var(--line-soft);margin-top:1.1rem;padding-top:.9rem}.subgroup h3{letter-spacing:.03em;color:var(--muted);margin:0;font-size:.78rem;font-weight:700}.subgroup-hint{color:var(--muted-soft);margin:.1rem 0 .3rem;font-size:.8rem}@media (width<=560px){.admin{padding:1.25rem .9rem 2.5rem}.row select{max-width:45%}.gate{max-width:none}.confirm .actions{flex-wrap:wrap}}.history ol.changes{margin:0;padding:0;list-style:none}.history li{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;padding:.45rem 0;font-size:.85rem;display:flex}.history li:first-of-type{border-top:0}.history time{width:7.5rem;color:var(--muted-soft);font-variant-numeric:tabular-nums;flex:none}.history .what{flex:12rem}.history .what .badge{margin-right:.4rem}.history .to{flex:none;font-weight:600}.tabs button:focus-visible{outline-offset:-3px}.subtitle-page{margin-top:.5rem}.crumb{margin:0 0 .75rem}.crumb a{color:var(--muted);text-decoration:none}.crumb a:hover{text-decoration:underline}.lesson-bar{margin-bottom:1.25rem}.lesson-picker{min-width:0;max-width:30rem;position:relative}.picker-trigger{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);text-align:left;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .7rem;font-size:.95rem;display:flex}.picker-trigger:hover{background:var(--surface-hover)}.picker-caption{color:var(--muted);margin:0 0 .35rem .1rem;font-size:.78rem;font-weight:600}.picker-course,.picker-sep{color:var(--muted);flex:none;font-weight:400}.picker-sep{color:var(--muted-soft)}.picker-value{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:600;overflow:hidden}.picker-value.none{color:var(--muted);font-weight:400}.picker-trigger .chevron{color:var(--muted);flex:none;transition:transform .12s ease-out}.picker-trigger .chevron.open{transform:rotate(180deg)}.lesson-popover{z-index:20;border:1px solid var(--line);background:var(--surface);width:min(30rem,100vw - 3rem);box-shadow:0 .5rem 1.5rem var(--shadow);border-radius:10px;position:absolute;top:calc(100% + .35rem);left:0;overflow:hidden}.lesson-panel{background:var(--surface);flex-direction:column;max-height:min(24rem,100vh - 12rem);display:flex;overflow:hidden}.lesson-search{border-bottom:1px solid var(--line-soft);background:var(--surface);flex:none;padding:.65rem .7rem .5rem}.lesson-search>label{color:var(--muted);margin-bottom:.3rem;font-size:.75rem;font-weight:600;display:block}.lesson-search-box{border:1px solid var(--line);background:var(--surface-sunken);color:var(--muted-soft);border-radius:8px;align-items:center;gap:.4rem;padding:0 .5rem;display:flex}.lesson-search-box:focus-within{outline:2px solid var(--accent);outline-offset:1px}.lesson-search-box input{width:100%;min-width:0;color:inherit;font:inherit;background:0 0;border:0;padding:.4rem 0;font-size:.875rem}.lesson-search-box input:focus-visible{outline:none}.lesson-count{min-height:1rem;color:var(--muted-soft);margin:.35rem 0 0;font-size:.75rem}.lesson-scroll{flex:auto;padding:.4rem .5rem .75rem;overflow-y:auto}.lesson-course+.lesson-course{margin-top:.5rem}.course-head{z-index:1;margin:0;font-size:.8rem;position:sticky;top:0}.course-head .course-toggle{border:1px solid var(--line-soft);background:var(--surface-sunken);width:100%;color:var(--muted);letter-spacing:.02em;text-align:left;border-radius:8px;align-items:center;gap:.35rem;padding:.4rem .5rem;font-size:.8rem;font-weight:700;display:flex}.course-head .course-toggle:hover{background:var(--surface-hover);color:var(--text)}.course-head .chevron{flex:none;transition:transform .12s ease-out}.course-head .chevron.open{transform:rotate(90deg)}.lesson-unit{border-left:2px solid var(--line);margin:.35rem 0 .35rem .6rem;padding-left:.55rem}.lesson-unit h4{color:var(--muted-soft);margin:.35rem 0 .15rem .25rem;font-size:.78rem;font-weight:600}.lesson-unit ul{margin:0;padding:0;list-style:none}.lesson-panel button.session{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-left:2px solid #0000;border-radius:7px;flex-wrap:wrap;align-items:baseline;gap:.15rem .4rem;padding:.35rem .45rem;font-size:.875rem;display:flex}.lesson-panel .what{flex:auto;min-width:0}.lesson-panel .no{color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.lesson-panel button.session:hover{background:var(--surface-hover)}.lesson-panel button.session:focus-visible{outline-offset:-2px}.lesson-panel button.session[aria-current=true]{background:var(--accent-selected-bg);border-left-color:var(--accent);font-weight:600}.lesson-panel .loading,.lesson-none{color:var(--muted);margin:.6rem .5rem;font-size:.85rem}.status-badge{border:1px solid var(--line);background:var(--surface-sunken);color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;align-items:center;margin-left:.4rem;padding:.05rem .4rem;font-size:.72rem;font-style:normal;font-weight:500;display:inline-flex}.status-badge.missing{border-color:var(--warn-line);background:var(--warn-bg);color:var(--warn-text)}.status-badge.changed{border-color:var(--accent-soft-text);background:var(--accent-soft-bg);color:var(--accent-soft-text)}.lesson-empty{border-top:1px solid var(--line-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:12rem;padding:2rem 1.5rem;display:flex}.lesson-empty .empty-icon{color:var(--muted-soft)}.lesson-empty h2{letter-spacing:normal;color:var(--text);margin:.4rem 0 0;font-size:.95rem;font-weight:600}.lesson-empty p{max-width:24rem;color:var(--muted);word-break:keep-all;margin:0;font-size:.875rem;line-height:1.6}.detail-crumb{color:var(--muted-soft);margin:0 0 .75rem .1rem;font-size:.78rem}.save-state{color:var(--muted);flex:none;align-items:center;gap:.4rem;margin:0;font-size:.8rem;display:inline-flex}.save-state .dot{background:var(--ok);border-radius:999px;flex:none;width:.4rem;height:.4rem}.save-state.busy .dot{background:var(--muted-soft)}.language-rows{margin:0;padding:0;list-style:none}.language-row{flex-wrap:wrap}.language-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.language-row .job{color:var(--muted);flex-basis:100%;margin:.35rem 0 0}.review-bar{z-index:1;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem 0;display:flex;position:sticky;top:0}table.cues{border-collapse:collapse;width:100%}table.cues th{text-align:left;border-bottom:1px solid var(--line);color:var(--muted);padding:.4rem}table.cues td{vertical-align:top;border-bottom:1px solid var(--line);padding:.4rem}table.cues .seq,table.cues .time{white-space:nowrap;color:var(--muted)}table.cues .ko,table.cues .translated{width:40%}table.cues textarea{width:100%;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);resize:vertical;border-radius:.35rem;padding:.35rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.settings-shell{background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 2px var(--shadow-soft), 0 10px 28px var(--shadow-soft);border-radius:12px;grid-template-columns:13rem minmax(0,1fr);align-items:stretch;gap:0;display:grid}.settings-nav{border-right:1px solid var(--line);padding:1.25rem .7rem 1.25rem .9rem}.settings-nav .nav-inner{flex-direction:column;min-height:calc(100vh - 6rem);display:flex;position:sticky;top:1.25rem}.settings-nav .nav-group+.nav-group{margin-top:1.1rem}.settings-nav .nav-brand{align-items:center;gap:.5rem;margin:0 0 1.25rem .15rem;font-size:.875rem;font-weight:600;display:flex}.settings-nav .nav-mark{background:var(--accent);width:1.35rem;height:1.35rem;color:var(--on-accent);border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;line-height:1;display:inline-flex}.settings-nav .nav-group-title{letter-spacing:.05em;color:var(--muted-soft);margin:0 0 .35rem .6rem;font-size:.72rem;font-weight:700}.settings-nav ul{margin:0;padding:0;list-style:none}.settings-nav a{color:var(--text);border-radius:8px;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.92rem;text-decoration:none;display:flex}.settings-nav a svg{color:var(--muted-soft);flex:none}.settings-nav a[aria-current=page] svg{color:var(--text)}.settings-nav a:hover{background:var(--surface-hover)}.settings-nav a[aria-current=page]{background:var(--surface-hover);color:var(--text);font-weight:700}.settings-nav a:focus-visible,.settings-nav .nav-out:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.settings-nav .nav-foot{border-top:1px solid var(--line-soft);margin-top:auto;padding-top:.9rem}.settings-nav .nav-out{width:100%;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:.5rem;padding:.35rem .6rem;font-size:.85rem;display:flex}.settings-nav .nav-out:hover{background:var(--surface-hover);color:var(--text)}.settings-nav .nav-out svg{flex:none}.settings-body{min-width:0;padding:1.4rem 1.6rem 2.25rem}.row>.text{flex:auto;order:1;min-width:0;max-width:38rem}.row>input,.row>select,.row>.unit{order:2}.row>input[type=checkbox],.row>select,.row>input.number{margin-left:auto}.language-row>.language-actions{order:2;margin-left:auto}.language-row>input[type=checkbox]{order:3;margin-left:0}.language-row>.job{order:4}.notice.lock{border-left:3px solid var(--accent);border-radius:0 8px 8px 0}.revoke-request{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin-top:.75rem;padding:.85rem 1rem}.revoke-request>label{font-weight:600}.revoke-request textarea{width:100%;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);resize:vertical;border-radius:.35rem;margin:.4rem 0 .6rem;padding:.4rem;display:block}.revoke-request.pending .warning{margin:0 0 .6rem}table.cues textarea[readonly]{background:var(--surface-sunken);color:var(--muted);cursor:default}@media (width<=900px){.settings-shell{grid-template-columns:1fr;gap:0}.settings-nav{border-right:0;border-bottom:1px solid var(--line);padding:.9rem 1rem}.settings-nav .nav-inner{flex-flow:wrap;align-items:center;gap:.25rem 1rem;min-height:0;display:flex;position:static}.settings-nav .nav-brand{margin:0}.settings-nav .nav-group+.nav-group{margin-top:0}.settings-nav ul{gap:.25rem;display:flex}.settings-nav .nav-foot{border-top:0;margin:0 0 0 auto;padding:0}.settings-body{padding:1.1rem 1.1rem 1.75rem}}@media (width<=560px){table.cues .seq,table.cues .time{padding:.4rem .2rem}}.subtitle-page .upload{align-items:center;display:inline-flex}.subtitle-page .upload input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.subtitle-page .upload>span{border:1px solid var(--line);cursor:pointer;color:inherit;background:var(--surface);border-radius:4px;padding:.3rem .7rem;font-size:.85rem;display:inline-block}.subtitle-page .upload input[type=file]:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.subtitle-page .upload input[type=file]:disabled+span{opacity:.5;cursor:default}.language-actions>button,.language-actions .upload>span,.language-actions .review-link{border:1px solid var(--line);background:var(--surface);min-height:1.9rem;color:inherit;font:inherit;white-space:nowrap;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:.3rem .75rem;font-size:.85rem;line-height:1.2;text-decoration:none;display:inline-flex}.language-actions>button:hover:not([disabled]),.language-actions .upload:hover>span,.language-actions .review-link:hover{background:var(--surface-hover)}.subtitle-page .upload-confirm{border:1px solid var(--warn-line);background:var(--warn-bg);border-left-width:3px;border-radius:4px;margin:.75rem 0;padding:.75rem .9rem}.subtitle-page .upload-confirm p{margin:0 0 .6rem;font-size:.9rem;line-height:1.55}.subtitle-page .upload-confirm-actions{gap:.5rem;display:inline-flex}@media (width>=1600px){.admin{max-width:90rem}.row>.text{max-width:44rem}.row{padding:.7rem .5rem}}@media (width<=640px){.language-row>.language-actions{flex-basis:100%;order:4;margin-left:0}.language-row>.job{order:5}}@media (width<=520px){.lesson-unit{margin-left:.35rem;padding-left:.4rem}.settings-body{padding:1rem .85rem 1.5rem}.settings-nav{padding:.8rem .85rem}}
