@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');

:root { --ink:#191a17; --muted:#6e7069; --line:#d9d7ce; --paper:#f2f0e9; --panel:#faf9f4; --acid:#d8ff52; --orange:#ff7657; --dark:#20211d; --shadow:0 18px 50px rgba(39,38,32,.08); }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans","Noto Sans SC",sans-serif; min-height:100vh; }
button,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
.app-shell { min-height:100vh; display:grid; grid-template-columns:264px minmax(0,1fr); }
.sidebar { position:sticky; top:0; height:100vh; padding:26px 18px 18px; display:flex; flex-direction:column; overflow:hidden; background:var(--dark); color:#f6f5ed; }
.brand { display:flex; flex:0 0 auto; align-items:center; gap:12px; padding:0 8px 22px; border-bottom:1px solid rgba(255,255,255,.1); }
.brand strong,.brand small { display:block; }.brand strong { font-size:17px; letter-spacing:.04em; }.brand small { margin-top:3px; color:#96988e; font-size:9px; letter-spacing:.28em; }
.brand-mark { width:36px; height:36px; position:relative; border:1px solid rgba(255,255,255,.5); border-radius:50%; }
.brand-mark span { position:absolute; width:13px; height:13px; border:2px solid var(--acid); border-radius:50%; }.brand-mark span:first-child { top:6px; left:7px; }.brand-mark span:last-child { right:6px; bottom:5px; border-color:var(--orange); }
.sidebar nav { flex:1 1 auto; min-height:0; margin:18px -7px 0 0; padding:0 7px 12px 0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-color:#55584f transparent; scrollbar-width:thin; }
.sidebar nav::-webkit-scrollbar { width:5px; }.sidebar nav::-webkit-scrollbar-track { background:transparent; }.sidebar nav::-webkit-scrollbar-thumb { background:#50534a; border-radius:999px; }.sidebar nav::-webkit-scrollbar-thumb:hover { background:#707469; }
.nav-label { margin:18px 10px 7px; color:#71746a; font-size:9px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.sidebar nav>.nav-label:first-child { margin-top:0; }
.workflow-nav-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:18px; }
.workflow-nav-heading .nav-label { margin:0 10px 7px; }
.workflow-nav-actions { display:flex; align-items:center; gap:4px; }
.workflow-nav-heading button { margin:0 2px 7px 0; padding:4px 7px; color:#aeb1a7; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:7px; cursor:pointer; font-size:8px; white-space:nowrap; }
.workflow-nav-heading button:hover { color:#20211d; background:var(--acid); border-color:var(--acid); }
.nav-item { width:100%; display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:9px; align-items:center; padding:9px 10px; color:#9da096; background:transparent; border:0; border-radius:11px; text-align:left; text-decoration:none; cursor:pointer; }
.nav-item[hidden] { display:none !important; }
.nav-item:hover { color:#e7e8df; background:rgba(255,255,255,.045); }.nav-item.active { color:#fff; background:rgba(255,255,255,.08); box-shadow:inset 3px 0 var(--acid); }.nav-item.disabled { opacity:.55; }.nav-icon { display:grid; place-items:center; width:29px; height:29px; border:1px solid rgba(255,255,255,.15); border-radius:8px; font-size:14px; }
.nav-item b,.nav-item small { display:block; }.nav-item b { overflow:hidden; font-size:12px; line-height:1.3; text-overflow:ellipsis; }.nav-item small { margin-top:2px; overflow:hidden; color:#85887e; font-size:9px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }.nav-item i { padding:3px 7px; color:#b7b9af; background:rgba(255,255,255,.08); border-radius:999px; font-size:9px; font-style:normal; }
.sidebar-footer { display:grid; flex:0 0 auto; gap:8px; margin-top:10px; padding-top:10px; border-top:1px solid rgba(255,255,255,.08); }.sidebar-system .nav-label { margin:0 10px 7px; }.sidebar-shitmaster,.sidebar-settings { border:1px solid rgba(255,255,255,.08); }.sidebar-settings,.sidebar-logout { margin-top:5px; }.sidebar-logout { border:1px solid rgba(255,255,255,.06); }.sidebar-note { display:flex; gap:10px; align-items:center; padding:10px 12px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:11px; }.sidebar-note b,.sidebar-note small { display:block; font-size:10px; }.sidebar-note small { color:#85887e; margin-top:2px; font-size:8px; }.status-dot { width:8px; height:8px; background:var(--acid); border-radius:50%; box-shadow:0 0 0 5px rgba(216,255,82,.12); }

.login-page { min-height:100vh; background:radial-gradient(circle at 18% 20%,rgba(216,255,82,.12),transparent 32%),radial-gradient(circle at 82% 75%,rgba(255,118,87,.13),transparent 30%),#20211d; }
.login-shell { display:grid; width:100%; min-height:100vh; padding:28px; place-items:center; }
.login-card { width:min(430px,100%); padding:38px; color:#f7f6ef; background:rgba(42,44,37,.96); border:1px solid rgba(255,255,255,.12); border-radius:24px; box-shadow:0 30px 90px rgba(0,0,0,.38); }
.login-brand { display:flex; align-items:center; gap:12px; margin-bottom:34px; }.login-brand strong,.login-brand small { display:block; }.login-brand strong { font-size:17px; }.login-brand small { margin-top:3px; color:#92958a; font-size:9px; letter-spacing:.25em; }
.login-card h1 { margin:0; font-size:31px; letter-spacing:-.04em; }.login-intro { margin:11px 0 26px; color:#a9aca1; font-size:11px; line-height:1.7; }
.login-card form { display:grid; gap:15px; }.login-card label span { display:block; margin-bottom:7px; color:#c5c7bd; font-size:10px; font-weight:700; }.login-card input { width:100%; padding:14px; color:#fff; background:#1b1c18; border:1px solid #4a4c43; border-radius:11px; outline:none; font:inherit; }.login-card input:focus { border-color:var(--acid); box-shadow:0 0 0 4px rgba(216,255,82,.12); }
.login-error { min-height:17px; margin:0; color:#ff9f8b; font-size:10px; }.login-security { display:block; margin-top:18px; color:#85887e; font-size:8px; line-height:1.6; text-align:center; }
@media (max-width:560px) { .login-shell { padding:14px; }.login-card { padding:28px 22px; }.login-card h1 { font-size:27px; } }
main { width:min(1180px,100%); padding:48px 56px 72px; }
.topbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:38px; }.eyebrow { margin:0 0 7px; color:#8a8c84; font-size:10px; font-weight:700; letter-spacing:.2em; }.topbar h1 { margin:0; font-size:30px; letter-spacing:-.04em; }
.local-badge { display:flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid var(--line); border-radius:999px; color:#55574f; font-size:11px; }.local-badge span { width:7px; height:7px; border-radius:50%; background:#72bd57; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr); gap:22px; }
.download-card,.preview-card,.task-panel,.history-section { background:var(--panel); border:1px solid rgba(25,26,23,.09); box-shadow:var(--shadow); border-radius:20px; }
.download-card { padding:32px; }.card-heading { display:flex; gap:14px; align-items:center; margin-bottom:26px; }.number { display:grid; place-items:center; width:42px; height:42px; background:var(--ink); color:var(--acid); border-radius:12px; font-size:12px; font-weight:700; }.card-heading h2,.card-heading p { margin:0; }.card-heading h2 { font-size:18px; }.card-heading p { margin-top:5px; color:var(--muted); font-size:12px; }
.input-wrap { position:relative; } textarea { width:100%; resize:vertical; min-height:150px; padding:18px 76px 18px 18px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:14px; outline:none; line-height:1.7; transition:.2s; } textarea:focus { border-color:#9a9c90; box-shadow:0 0 0 4px rgba(216,255,82,.2); }.paste-button { position:absolute; right:12px; top:12px; padding:8px 12px; border:0; border-radius:8px; background:#ecebe4; color:#4e5049; cursor:pointer; font-size:11px; }
.form-meta { display:flex; justify-content:space-between; padding:10px 2px 18px; color:#92948c; font-size:10px; }.form-meta button { border:0; color:#6a6c64; background:transparent; cursor:pointer; }
.primary-button { display:flex; align-items:center; justify-content:space-between; width:100%; padding:16px 18px; border:0; border-radius:12px; color:#151611; background:var(--acid); font-weight:700; text-decoration:none; cursor:pointer; transition:transform .18s,filter .18s; }.primary-button:hover { transform:translateY(-1px); filter:brightness(.97); }.primary-button:disabled { cursor:not-allowed; opacity:.55; transform:none; }.button-arrow { font-size:20px; }.legal-note { margin:13px 0 0; text-align:center; color:#a0a198; font-size:9px; }
.preview-card { display:flex; min-height:100%; flex-direction:column; padding:22px; overflow:hidden; }.preview-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:14px; }.preview-heading h3 { margin:0; font-size:17px; }.preview-badge { padding:5px 9px; color:#777970; background:#e9e8e1; border-radius:999px; font-size:9px; white-space:nowrap; }.preview-badge.ready { color:#52651b; background:#e7f3c3; }
.preview-stage { position:relative; display:grid; place-items:center; min-height:352px; flex:1; overflow:hidden; background:radial-gradient(circle at 50% 35%,#393b34,#20211d 72%); border-radius:14px; }.preview-stage video { display:block; width:100%; height:100%; max-height:430px; object-fit:contain; background:#151612; }.preview-empty { display:grid; place-items:center; padding:30px 16px; color:#f1f1e9; text-align:center; }.preview-empty b { margin-top:16px; font-size:13px; }.preview-empty small { margin-top:6px; color:#96998e; font-size:9px; }.preview-icon { display:grid; place-items:center; width:74px; height:112px; border:1px solid rgba(255,255,255,.2); border-radius:14px; background:linear-gradient(155deg,rgba(255,118,87,.85),rgba(61,54,79,.8)); box-shadow:0 16px 32px rgba(0,0,0,.25); }.preview-icon span { display:grid; place-items:center; width:38px; height:38px; padding-left:2px; border:1px solid rgba(255,255,255,.7); border-radius:50%; font-size:11px; }.preview-copy { min-width:0; padding:15px 2px 1px; }.preview-copy b,.preview-copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.preview-copy b { font-size:11px; }.preview-copy small { margin-top:5px; color:#898b83; font-size:9px; }
.preview-source { display:inline-block; margin-top:9px; color:#55584e; font-size:9px; font-weight:700; text-decoration:none; }.preview-source:hover { text-decoration:underline; }
.task-panel { margin-top:22px; padding:28px 30px; }.hidden { display:none!important; }.task-top,.section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }.task-top h2,.section-heading h2 { margin:0; font-size:18px; }.status-pill { padding:6px 10px; color:#57594f; background:#e8e7df; border-radius:999px; font-size:10px; }.status-pill.complete { background:#e7f3c3; color:#52651b; }.status-pill.failed { background:#ffe2da; color:#9b3e2c; }.status-pill.partial { background:#fff0c7; color:#765817; }
.progress-track { height:7px; margin-top:25px; overflow:hidden; background:#e7e5dc; border-radius:999px; }.progress-track div { width:0; height:100%; background:linear-gradient(90deg,var(--acid),#9fd34e); border-radius:inherit; transition:width .35s ease; }.progress-meta { display:flex; justify-content:space-between; margin-top:10px; color:#777970; font-size:11px; }.progress-meta strong { color:#2c2d29; }
.result-actions { display:flex; gap:10px; margin-top:22px; }.primary-button.compact { width:auto; min-width:170px; justify-content:center; gap:24px; padding:12px 16px; }.secondary-button { padding:12px 17px; color:#50524b; background:transparent; border:1px solid var(--line); border-radius:10px; cursor:pointer; }
.drama-retry { width:100%; margin-top:14px; color:#d8ff52; border-color:#62694c; background:#292b25; font-weight:700; }.drama-retry:hover { background:#34372e; }.drama-retry:disabled { cursor:wait; opacity:.55; }
.history-section { margin-top:22px; padding:28px 30px; }.refresh-button { width:34px; height:34px; border:1px solid var(--line); border-radius:9px; background:#fff; cursor:pointer; color:#5f6159; }.history-list { display:grid; gap:10px; margin-top:20px; }.history-item { display:grid; grid-template-columns:58px minmax(0,1fr) auto; gap:14px; align-items:center; padding:11px; background:#fff; border:1px solid #e4e2da; border-radius:13px; transition:border-color .18s,transform .18s; }.history-item:hover { transform:translateY(-1px); border-color:#c8c6bc; }.history-thumb { position:relative; display:grid; place-items:center; width:58px; height:72px; padding:0; overflow:hidden; color:#fff; background:linear-gradient(145deg,#24251f,#6a5049); border:0; border-radius:9px; cursor:pointer; font-size:16px; }.history-thumb img { width:100%; height:100%; object-fit:cover; }.history-thumb span { position:absolute; display:grid; place-items:center; width:27px; height:27px; padding-left:2px; background:rgba(20,21,18,.68); border:1px solid rgba(255,255,255,.62); border-radius:50%; font-size:8px; }.history-copy { min-width:0; }.history-copy b,.history-copy small { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.history-copy b { font-size:12px; }.history-copy small { margin-top:4px; color:#8a8c84; font-size:9px; }.history-file-name { color:#676961!important; }.history-actions { display:flex; gap:7px; }.history-action { padding:8px 11px; color:#373931; background:#fff; border:1px solid var(--line); border-radius:8px; text-decoration:none; cursor:pointer; font-size:10px; white-space:nowrap; }.history-action.preview { color:#1f211b; background:var(--acid); border-color:var(--acid); font-weight:700; }.empty-state { display:grid; place-items:center; padding:34px; color:#a0a198; border:1px dashed var(--line); border-radius:12px; }.empty-state span { font-size:22px; }.empty-state p { margin:7px 0 0; font-size:11px; }
.history-title { display:block; overflow:hidden; color:var(--ink); font-size:12px; font-weight:700; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }.history-title:hover { text-decoration:underline; }.history-author { color:#53564d!important; font-weight:600; }
.toast { position:fixed; z-index:55; right:24px; bottom:94px; max-width:380px; padding:13px 16px; color:#fff; background:#24251f; border-radius:10px; box-shadow:0 12px 30px rgba(0,0,0,.18); opacity:0; transform:translateY(10px); pointer-events:none; transition:.2s; font-size:12px; }.toast.show { opacity:1; transform:translateY(0); }
.workflow-manager-overlay { position:fixed; z-index:72; inset:0; display:grid; place-items:center; padding:24px; background:rgba(10,11,9,.82); backdrop-filter:blur(10px); }
.workflow-manager-dialog { width:min(760px,96vw); max-height:90vh; padding:24px; overflow:auto; color:#f7f6ef; background:#20211d; border:1px solid #4b4d44; border-radius:18px; box-shadow:0 28px 90px rgba(0,0,0,.58); }
.workflow-manager-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }.workflow-manager-heading p,.workflow-manager-heading h2 { margin:0; }.workflow-manager-heading p { color:#8f9287; font-size:9px; font-weight:700; letter-spacing:.18em; }.workflow-manager-heading h2 { margin-top:6px; font-size:20px; }.workflow-manager-heading small { display:block; margin-top:6px; color:#9a9d92; font-size:9px; }.workflow-manager-heading>button { width:36px; height:36px; flex:0 0 auto; color:#fff; background:#34362f; border:1px solid #4b4d44; border-radius:50%; cursor:pointer; font-size:22px; }
.workflow-manager-list { display:grid; gap:9px; margin-top:20px; }
.workflow-manager-row { display:grid; grid-template-columns:34px 38px minmax(0,1fr) auto auto; gap:10px; align-items:center; padding:10px; background:#2b2d26; border:1px solid #41443b; border-radius:12px; }.workflow-manager-row.dragging { opacity:.48; border-color:var(--acid); }.workflow-manager-drag { display:grid; place-items:center; width:34px; height:38px; color:#b6b9ae; background:#34362f; border:1px solid #4b4d44; border-radius:8px; cursor:grab; font-size:16px; }.workflow-manager-drag:active { cursor:grabbing; }.workflow-manager-icon { display:grid; place-items:center; width:38px; height:38px; color:var(--acid); border:1px solid #55584e; border-radius:9px; font-size:11px; }.workflow-manager-name { min-width:0; }.workflow-manager-name input { width:100%; padding:9px 10px; color:#f7f6ef; background:#20211d; border:1px solid #4b4d44; border-radius:8px; outline:none; font:inherit; font-size:11px; }.workflow-manager-name input:focus { border-color:var(--acid); box-shadow:0 0 0 3px rgba(216,255,82,.12); }.workflow-manager-name small { display:block; margin-top:5px; overflow:hidden; color:#888b80; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.workflow-manager-visibility { display:flex; align-items:center; gap:6px; min-width:68px; color:#d8dacd; cursor:pointer; font-size:9px; }.workflow-manager-visibility input { accent-color:var(--acid); }.workflow-manager-move { display:flex; gap:5px; }.workflow-manager-move button { width:31px; height:31px; color:#e7e8df; background:#34362f; border:1px solid #4b4d44; border-radius:8px; cursor:pointer; }.workflow-manager-move button:hover { color:#20211d; background:var(--acid); border-color:var(--acid); }
.workflow-manager-actions { display:flex; justify-content:space-between; gap:12px; margin-top:20px; }.workflow-manager-actions>div { display:flex; gap:8px; }.workflow-manager-actions .primary-button { width:auto; min-width:170px; }
.tool-panel { animation:panel-in .22s ease; }
.drama-workspace { display:grid; grid-template-columns:minmax(0,1.28fr) minmax(320px,.9fr); gap:22px; }
.drama-control-card { min-width:0; }.drama-number { color:#fff; background:#e25f45; }.compact-input textarea { min-height:105px; }
.drama-primary { margin-top:14px; background:var(--orange); color:#fff; }.drama-primary:hover { filter:brightness(.96); }
.login-notice { display:flex; gap:12px; align-items:flex-start; margin-top:16px; padding:14px; color:#744534; background:#fff0e9; border:1px solid #f2c7ba; border-radius:12px; }
.login-notice>span { display:grid; flex:0 0 auto; place-items:center; width:26px; height:26px; color:#fff; background:var(--orange); border-radius:50%; font-weight:700; }.login-notice b,.login-notice small { display:block; }.login-notice b { font-size:12px; }.login-notice small { margin-top:4px; color:#8a6253; font-size:10px; line-height:1.5; }
.series-panel { margin-top:20px; padding-top:20px; border-top:1px solid var(--line); }.series-summary { display:flex; gap:13px; align-items:center; }.series-monogram { display:grid; flex:0 0 auto; place-items:center; width:54px; height:68px; color:#fff; background:linear-gradient(155deg,#ed795f,#453a52); border-radius:11px; font-size:11px; font-weight:700; letter-spacing:.12em; }.series-summary p,.series-summary h3,.series-summary small { margin:0; }.series-summary p { color:#96988f; font-size:9px; font-weight:700; letter-spacing:.12em; }.series-summary h3 { max-width:420px; margin-top:3px; overflow:hidden; font-size:17px; text-overflow:ellipsis; white-space:nowrap; }.series-summary small { display:block; margin-top:5px; color:#777970; font-size:10px; }
.range-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:20px; }.range-grid label>span,.folder-field>span { display:block; margin-bottom:7px; color:#6e7069; font-size:10px; font-weight:700; }.range-grid input,.folder-field input { width:100%; min-width:0; padding:11px 12px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:9px; outline:none; }.range-grid input:focus,.folder-field input:focus { border-color:#96988f; }
.folder-field { display:block; margin-top:14px; }.folder-field>div { display:flex; gap:8px; }.folder-field button { flex:0 0 auto; padding:0 13px; color:#3b3d36; background:#fff; border:1px solid var(--line); border-radius:9px; cursor:pointer; }.folder-field small { display:block; margin-top:6px; color:#9a9c94; font-size:9px; }
.drama-status-card { min-width:0; padding:22px; background:#24251f; color:#f7f6ef; border-radius:20px; box-shadow:var(--shadow); }.drama-status-card .eyebrow { color:#8f9287; }.drama-status-card h3 { margin:0; font-size:17px; }.drama-status-card .preview-badge { color:#a9aca0; background:#35372f; }.drama-status-card .preview-badge.ready { color:#cfee63; background:#3c4825; }.drama-status-card .preview-badge.warning { color:#ffd59b; background:#55452c; }
.drama-progress-empty { display:grid; min-height:410px; place-items:center; align-content:center; text-align:center; border:1px dashed #4a4c43; border-radius:14px; }.drama-progress-empty>span { display:grid; place-items:center; width:78px; height:96px; color:var(--acid); background:#303229; border:1px solid #54574c; border-radius:13px; font-size:26px; font-weight:700; }.drama-progress-empty b { margin-top:18px; font-size:13px; }.drama-progress-empty small { max-width:210px; margin-top:6px; color:#8c8f84; font-size:10px; line-height:1.5; }
.drama-status-card h4 { margin:24px 0 0; font-size:15px; }.drama-status-card .progress-track { background:#3a3c34; }.drama-status-card .progress-meta { color:#a2a49a; }.drama-status-card .progress-meta strong { color:#fff; }.episode-queue { display:grid; gap:7px; max-height:380px; margin-top:22px; overflow:auto; padding-right:3px; }.queue-episode { display:grid; grid-template-columns:52px 1fr auto; gap:9px; align-items:center; padding:10px; color:#adb0a5; background:#2e3029; border:1px solid #3c3e36; border-radius:9px; font-size:10px; }.queue-episode b { color:#fff; }.queue-episode a { color:var(--acid); text-decoration:none; }.queue-episode.complete { border-color:#53643a; }.queue-episode.failed { border-color:#6b4036; color:#e3a99c; }
.section-note { margin:6px 0 0; color:#898b83; font-size:10px; }.drama-history-list { display:grid; gap:12px; margin-top:20px; }.drama-history-group { overflow:hidden; background:#fff; border:1px solid #e1dfd6; border-radius:14px; }.drama-history-group summary { display:grid; grid-template-columns:48px minmax(0,1fr) auto 20px; gap:13px; align-items:center; padding:14px; cursor:pointer; list-style:none; }.drama-history-group summary::-webkit-details-marker { display:none; }.drama-history-group summary>div b,.drama-history-group summary>div small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.drama-history-group summary>div b { font-size:13px; }.drama-history-group summary>div small { margin-top:4px; color:#85877f; font-size:10px; }.drama-history-group summary>div .drama-note-summary { color:#5d6056; font-style:italic; }.drama-folder-icon { display:grid; place-items:center; width:48px; height:48px; color:#fff; background:linear-gradient(145deg,#292b25,#756052); border-radius:10px; font-size:15px; font-weight:700; }.drama-group-actions { display:flex; gap:7px; }.folder-open,.note-edit { padding:8px 10px; color:#464840; background:#f5f4ee; border:1px solid var(--line); border-radius:8px; cursor:pointer; font-size:10px; white-space:nowrap; }.note-edit { color:#fff; background:#292b25; border-color:#292b25; }.details-arrow { transition:transform .18s; }.drama-history-group[open] .details-arrow { transform:rotate(180deg); }.drama-episodes { display:grid; gap:1px; padding:0 14px 14px; }.drama-episode-row { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:11px; align-items:center; padding:11px 4px; border-top:1px solid #eceae3; }.episode-play { display:grid; place-items:center; width:34px; height:34px; padding-left:3px; color:#fff; background:#292b25; border:0; border-radius:50%; cursor:pointer; font-size:9px; }.drama-episode-row>div b,.drama-episode-row>div small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.drama-episode-row>div b { font-size:11px; }.drama-episode-row>div small { margin-top:4px; color:#92948c; font-size:9px; }
.drama-preview-overlay { position:fixed; z-index:40; inset:0; display:grid; place-items:center; padding:24px; background:rgba(14,15,12,.72); backdrop-filter:blur(8px); }.drama-preview-dialog { position:relative; width:min(430px,100%); padding:20px; color:#fff; background:#20211d; border:1px solid #4b4d44; border-radius:18px; box-shadow:0 26px 70px rgba(0,0,0,.45); }.drama-preview-dialog>button { position:absolute; top:14px; right:14px; width:32px; height:32px; color:#fff; background:#33352e; border:0; border-radius:50%; cursor:pointer; font-size:19px; }.drama-preview-dialog p { margin:0 42px 4px 0; color:#a8aaa0; font-size:10px; }.drama-preview-dialog h3 { margin:0 42px 14px 0; font-size:17px; }.drama-preview-dialog video { display:block; width:100%; max-height:70vh; background:#000; border-radius:11px; }
.drama-note-dialog { position:relative; width:min(480px,100%); padding:24px; color:#f7f6ef; background:#20211d; border:1px solid #4b4d44; border-radius:18px; box-shadow:0 26px 70px rgba(0,0,0,.45); }.drama-note-dialog>.note-close { position:absolute; top:14px; right:14px; width:32px; height:32px; color:#fff; background:#33352e; border:0; border-radius:50%; cursor:pointer; font-size:19px; }.drama-note-dialog>p { margin:0; color:#9a9d91; font-size:10px; font-weight:700; letter-spacing:.16em; }.drama-note-dialog>h3 { margin:6px 42px 20px 0; font-size:19px; }.drama-note-dialog label span { display:block; margin-bottom:8px; color:#b8baaf; font-size:11px; }.drama-note-dialog textarea { min-height:130px; padding:13px; color:#f7f6ef; background:#2b2d27; border-color:#494b43; }.drama-note-dialog>small { display:block; margin-top:7px; color:#83867b; font-size:9px; }.note-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:18px; }.note-actions button { padding:10px 16px; border-radius:9px; cursor:pointer; }.note-cancel { color:#c5c7bd; background:transparent; border:1px solid #4b4d44; }.note-save { color:#171813; background:var(--acid); border:1px solid var(--acid); font-weight:700; }
.workflow-workspace { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr); gap:22px; }.workflow-number { color:#171813; background:#d8ff52; }.workflow-mode-list { display:grid; gap:9px; margin-bottom:18px; }.workflow-mode { display:grid; grid-template-columns:18px 1fr auto; gap:10px; align-items:center; padding:13px; border:1px solid var(--line); border-radius:11px; cursor:pointer; }.workflow-mode.selected { border-color:#98b83a; background:#f7fce7; }.workflow-mode.disabled { cursor:not-allowed; opacity:.57; background:#f1f0eb; }.workflow-mode b,.workflow-mode small { display:block; }.workflow-mode b { font-size:12px; }.workflow-mode small { margin-top:4px; color:#888a82; font-size:9px; line-height:1.5; }.workflow-mode i { padding:4px 7px; color:#5d6d2c; background:#e7f3c3; border-radius:999px; font-size:9px; font-style:normal; }.workflow-mode.disabled i { color:#777970; background:#e3e2dc; }
.workflow-input-list { display:grid; gap:10px; }.workflow-upload { display:grid; grid-template-columns:94px 1fr; gap:15px; align-items:center; padding:13px; background:#fff; border:1px dashed #b9b8af; border-radius:13px; cursor:pointer; }.workflow-upload:hover { border-color:#7e8076; }.workflow-upload-preview { display:grid; place-items:center; width:94px; height:112px; overflow:hidden; color:#fff; background:linear-gradient(145deg,#2a2c25,#66524c); border-radius:10px; }.workflow-upload-preview img { width:100%; height:100%; object-fit:cover; }.workflow-upload-preview i { font-size:28px; font-style:normal; }.workflow-upload-copy b,.workflow-upload-copy small,.workflow-upload-copy em { display:block; }.workflow-upload-copy b { font-size:12px; }.workflow-upload-copy small { margin-top:6px; color:#888a82; font-size:9px; line-height:1.5; }.workflow-upload-actions { display:flex; align-items:center; gap:9px; margin-top:12px; }.workflow-upload-copy .workflow-upload-actions em { margin:0; color:#4b551f; font-size:10px; font-style:normal; font-weight:700; }.workflow-upload-actions button { padding:7px 10px; color:#23251f; background:#eef6d2; border:1px solid #b9ca7a; border-radius:8px; cursor:pointer; font-size:9px; font-weight:700; }.workflow-upload-actions button:hover { background:var(--acid); border-color:#a9c142; }.workflow-upload-actions button:disabled { cursor:wait; opacity:.55; }
.workflow-instance-picker { margin:16px 0 0; padding:0; border:0; }.workflow-instance-picker legend { margin-bottom:8px; color:#5e6058; font-size:10px; font-weight:700; }.workflow-instance-options { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.workflow-instance-options.has-standard { grid-template-columns:repeat(3,1fr); }.workflow-instance-options label { cursor:pointer; }.workflow-instance-options input { position:absolute; opacity:0; }.workflow-instance-options span { display:block; height:100%; padding:12px; background:#f4f3ed; border:1px solid transparent; border-radius:11px; transition:.18s; }.workflow-instance-options input:checked+span { background:#f2fad8; border-color:#98b83a; box-shadow:inset 0 0 0 1px rgba(152,184,58,.16); }.workflow-instance-options b,.workflow-instance-options small { display:block; }.workflow-instance-options b { font-size:11px; }.workflow-instance-options small { margin-top:4px; color:#85877e; font-size:9px; }.workflow-instance-picker p { margin:7px 2px 0; color:#8b8d85; font-size:9px; }.krea-switch { display:flex; gap:12px; align-items:center; margin-top:16px; padding:14px; background:#f4f3ed; border-radius:12px; cursor:pointer; }.krea-switch input { position:absolute; opacity:0; }.switch-track { position:relative; flex:0 0 auto; width:42px; height:24px; background:#c7c7bf; border-radius:999px; transition:.2s; }.switch-track i { position:absolute; top:3px; left:3px; width:18px; height:18px; background:#fff; border-radius:50%; box-shadow:0 2px 5px rgba(0,0,0,.18); transition:.2s; }.krea-switch input:checked+.switch-track { background:#93b635; }.krea-switch input:checked+.switch-track i { transform:translateX(18px); }.krea-switch b,.krea-switch small { display:block; }.krea-switch b { font-size:11px; }.krea-switch small { margin-top:3px; color:#85877e; font-size:9px; line-height:1.4; }.workflow-key-notice { display:flex; gap:7px; flex-direction:column; margin-top:14px; padding:13px; color:#7c4f26; background:#fff0d7; border:1px solid #ead0a3; border-radius:11px; font-size:10px; }.workflow-primary { margin-top:16px; }
.workflow-api-picker { padding:13px; background:#f5f4ee; border-radius:12px; }.workflow-api-picker legend { margin:0; padding:0 5px; }.workflow-api-options span { background:#fff; }.workflow-api-options label:last-child input:checked+span { background:#eaf9fa; border-color:#69b9c0; box-shadow:inset 0 0 0 1px rgba(105,185,192,.16); }
.workflow-result-card { min-width:0; padding:22px; color:#f7f6ef; background:#20211d; border-radius:20px; box-shadow:var(--shadow); }.workflow-result-card .eyebrow { color:#8f9287; }.workflow-result-card h3 { margin:0; }.workflow-result-card .preview-badge { color:#a9aca0; background:#35372f; }.workflow-result-card .preview-badge.ready { color:#cfee63; background:#3c4825; }.workflow-result-card .preview-badge.warning { color:#ffd59b; background:#55452c; }.workflow-result-card .preview-badge.running { color:#d8ff52; background:#3b4825; }.workflow-result-stage { display:grid; min-height:430px; place-items:center; overflow:hidden; background:#11120f; border:1px solid #3b3d35; border-radius:14px; }.workflow-result-stage img { width:100%; height:100%; max-height:560px; object-fit:contain; }.workflow-result-empty { display:grid; place-items:center; max-width:250px; padding:26px; text-align:center; }.workflow-result-empty>span { display:grid; place-items:center; width:76px; height:96px; color:#d8ff52; background:#2c2e27; border:1px solid #4a4c42; border-radius:13px; font-size:22px; font-weight:700; }.workflow-result-empty b { margin-top:17px; font-size:12px; }.workflow-result-empty small { margin-top:7px; color:#85887e; font-size:9px; line-height:1.6; }.workflow-state-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:12px; }.workflow-state-grid.without-krea { grid-template-columns:repeat(2,1fr); }.workflow-state-grid div { padding:10px; background:#2b2d26; border-radius:9px; }.workflow-state-grid span,.workflow-state-grid b { display:block; }.workflow-state-grid span { color:#85887e; font-size:8px; }.workflow-state-grid b { margin-top:4px; font-size:10px; }.workflow-state-grid b[data-state="success"] { color:#cfee63; }.workflow-state-grid b[data-state="failed"] { color:#ff9f8b; }.workflow-state-grid b[data-state="running"] { color:#d8ff52; }.workflow-result-card .secondary-button { color:#fff; text-decoration:none; }
.workflow-history-list { display:grid; gap:10px; margin-top:20px; }.workflow-history-item { display:grid; grid-template-columns:58px minmax(0,1fr) auto; gap:13px; align-items:center; padding:11px; background:#fff; border:1px solid #e4e2da; border-radius:13px; }.workflow-history-thumb { display:grid; place-items:center; width:58px; height:70px; padding:0; overflow:hidden; color:#d8ff52; background:#292b25; border:0; border-radius:9px; cursor:pointer; font-weight:700; }.workflow-history-thumb img { width:100%; height:100%; object-fit:cover; }.workflow-history-item>div>b,.workflow-history-item>div>small,.workflow-history-item>div>span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.workflow-history-item>div>b { font-size:11px; }.workflow-history-item>div>small { margin-top:4px; color:#888a82; font-size:9px; }.workflow-history-item>div>span { margin-top:5px; color:#565850; font-size:9px; }
.workflow-file-actions { display:flex; gap:5px; flex-wrap:wrap; }.settings-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr); gap:22px; }.settings-number { color:#171813; background:#d8ff52; font-size:17px; }.settings-field { display:block; margin-bottom:18px; }.settings-field>span { display:block; margin-bottom:7px; color:#5e6058; font-size:10px; font-weight:700; }.settings-field input,.settings-field select { width:100%; padding:12px 13px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:10px; outline:none; }.settings-field input:focus,.settings-field select:focus { border-color:#92948a; box-shadow:0 0 0 4px rgba(216,255,82,.18); }.settings-field small { display:block; margin-top:6px; color:#92948c; font-size:9px; line-height:1.5; }.enterprise-key-field>span { color:#397f85; }.enterprise-key-field input:focus { border-color:#69b9c0; box-shadow:0 0 0 4px rgba(105,185,192,.15); }.queue-stats-card { padding:22px; color:#f7f6ef; background:#20211d; border-radius:20px; box-shadow:var(--shadow); }.queue-stats-card .eyebrow { color:#8f9287; }.queue-stats-card h3 { margin:0; }.queue-stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:20px; }.queue-stat-grid div { padding:18px; background:#2d2f28; border:1px solid #3e4038; border-radius:12px; }.queue-stat-grid span,.queue-stat-grid b { display:block; }.queue-stat-grid span { color:#999c91; font-size:9px; }.queue-stat-grid b { margin-top:8px; color:#d8ff52; font-size:28px; }.queue-profile-summary { display:grid; gap:8px; margin-top:12px; }.queue-profile-summary div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 12px; color:#b9bcb1; background:#292b25; border:1px solid #3e4038; border-radius:10px; font-size:9px; }.queue-profile-summary b { font-size:10px; }.queue-profile-summary .enterprise { border-color:rgba(105,185,192,.28); }.queue-profile-summary .enterprise b { color:#9ce5eb; }.queue-explain { margin-top:18px; padding:17px; color:#c5c7bd; background:#292b25; border-radius:12px; }.queue-explain b { font-size:11px; }.queue-explain p { margin:8px 0 0; color:#92958a; font-size:9px; line-height:1.7; }
.workflow-result-stage img[role="button"] { cursor:zoom-in; }
.workflow-result-stage video { width:100%; height:100%; max-height:560px; object-fit:contain; background:#000; }
.workflow-image-overlay { position:fixed; z-index:80; inset:0; display:grid; place-items:center; padding:24px; background:rgba(10,11,9,.86); backdrop-filter:blur(10px); }
.workflow-image-dialog { position:relative; display:grid; grid-template-rows:auto minmax(0,1fr) auto; width:min(1180px,96vw); height:min(900px,94vh); padding:20px; color:#f7f6ef; background:#20211d; border:1px solid #4b4d44; border-radius:18px; box-shadow:0 28px 90px rgba(0,0,0,.58); }
.workflow-image-close { position:absolute; z-index:2; top:16px; right:16px; width:36px; height:36px; color:#fff; background:#34362f; border:1px solid #4b4d44; border-radius:50%; cursor:pointer; font-size:22px; }
.workflow-image-heading { padding:0 50px 14px 2px; }.workflow-image-heading p { margin:0; color:#8f9287; font-size:9px; font-weight:700; letter-spacing:.18em; }.workflow-image-heading h3 { margin:6px 0 0; font-size:17px; }.workflow-image-heading small { display:block; margin-top:5px; color:#a2a59a; font-size:9px; }
.workflow-image-canvas { display:grid; min-height:0; place-items:center; overflow:hidden; background:#11120f; border:1px solid #3b3d35; border-radius:13px; }.workflow-image-canvas img { display:block; width:100%; height:100%; min-width:0; min-height:0; object-fit:contain; }
.workflow-image-actions { display:flex; justify-content:space-between; gap:16px; align-items:center; padding-top:14px; }.workflow-image-actions>span { color:#898c81; font-size:9px; }.workflow-image-actions .primary-button { width:auto; min-width:148px; }
.workflow-result-stage { position:relative; }.workflow-gallery-count { position:absolute; right:12px; bottom:12px; padding:8px 11px; color:#20211d; background:var(--acid); border:0; border-radius:999px; box-shadow:0 6px 20px rgba(0,0,0,.25); cursor:pointer; font-size:9px; font-weight:700; }
.workflow-history-thumb { position:relative; }.workflow-history-thumb span { position:absolute; right:4px; bottom:4px; padding:4px 6px; color:#20211d; background:var(--acid); border-radius:999px; font-size:7px; }
.workflow-image-dialog { grid-template-rows:auto minmax(0,1fr) auto auto; }
.workflow-image-viewer { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; gap:10px; min-height:0; align-items:center; }.workflow-image-nav { display:grid; place-items:center; width:40px; height:54px; padding:0; color:#f7f6ef; background:#30322b; border:1px solid #4b4d44; border-radius:10px; cursor:pointer; font-size:18px; }.workflow-image-nav:hover { color:#20211d; background:var(--acid); border-color:var(--acid); }
.workflow-image-canvas { height:100%; }.workflow-image-thumbnails { display:flex; gap:8px; overflow-x:auto; padding:12px 2px 3px; }.workflow-image-thumbnails button { position:relative; flex:0 0 66px; width:66px; height:76px; padding:0; overflow:hidden; background:#11120f; border:2px solid transparent; border-radius:9px; cursor:pointer; opacity:.62; }.workflow-image-thumbnails button.active { border-color:var(--acid); opacity:1; }.workflow-image-thumbnails img { width:100%; height:100%; object-fit:cover; }.workflow-image-thumbnails span { position:absolute; right:3px; bottom:3px; display:grid; place-items:center; min-width:17px; height:17px; padding:0 4px; color:#20211d; background:var(--acid); border-radius:999px; font-size:7px; font-weight:700; }
.workflow-image-actions>div { min-width:0; }.workflow-image-actions>div b,.workflow-image-actions>div span { display:block; }.workflow-image-actions>div b { font-size:10px; }.workflow-image-actions>div span { margin-top:3px; overflow:hidden; color:#898c81; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.workflow-image-overlay.single .workflow-image-nav,.workflow-image-overlay.single .workflow-image-thumbnails { visibility:hidden; }.workflow-file-actions .history-action.preview { font-family:inherit; }
.workflow-file-actions .history-action.delete { color:#9d4234; border-color:#edc8c0; background:#fff7f5; font-family:inherit; }.workflow-file-actions .history-action.delete:hover { color:#fff; border-color:#bd5544; background:#bd5544; }.workflow-file-actions .history-action.delete:disabled { cursor:not-allowed; color:#aaa9a2; border-color:#deddd7; background:#f1f0eb; }
.workflow-file-actions .history-action.inputs { color:#314b50; border-color:#b9d8dc; background:#f1fbfc; font-family:inherit; }.workflow-file-actions .history-action.inputs:hover { color:#fff; border-color:#4f8f96; background:#4f8f96; }
.workflow-file-actions .history-action.copy { color:#344513; border-color:#c7dc82; background:#f7ffe3; font-family:inherit; }.workflow-file-actions .history-action.copy:hover { color:#20211d; border-color:var(--acid); background:var(--acid); }
.workflow-file-actions .history-action.rename { color:#5f5628; border-color:#d9ce8c; background:#fffbea; font-family:inherit; }.workflow-file-actions .history-action.rename:hover { color:#20211d; border-color:var(--acid); background:var(--acid); }
.workflow-history-heading-actions { display:flex; align-items:center; gap:8px; }.workflow-history-heading-actions .secondary-button.compact { width:auto; min-height:34px; padding:8px 12px; }
body.modal-open { overflow:hidden; }.workflow-history-manager-overlay { position:fixed; z-index:70; inset:0; display:grid; place-items:center; padding:24px; background:rgba(10,11,9,.78); backdrop-filter:blur(9px); }.workflow-history-manager-overlay.hidden { display:none; }
.workflow-history-manager-dialog { display:grid; grid-template-rows:auto auto auto minmax(0,1fr) auto; width:min(1120px,96vw); height:min(820px,92vh); padding:22px; color:#f7f6ef; background:#20211d; border:1px solid #4b4d44; border-radius:20px; box-shadow:0 28px 90px rgba(0,0,0,.55); }
.workflow-history-manager-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }.workflow-history-manager-heading p { margin:0; color:#8f9287; font-size:8px; font-weight:700; letter-spacing:.2em; }.workflow-history-manager-heading h2 { margin:6px 0 0; font-size:20px; }.workflow-history-manager-heading small { display:block; margin-top:6px; color:#9a9d92; font-size:9px; }.workflow-history-manager-heading>button { display:grid; flex:0 0 auto; place-items:center; width:36px; height:36px; color:#fff; background:#30322b; border:1px solid #4b4d44; border-radius:50%; cursor:pointer; font-size:21px; }
.workflow-history-manager-filters { display:grid; grid-template-columns:minmax(240px,1.5fr) minmax(180px,1fr) minmax(150px,.7fr) auto; gap:10px; align-items:end; margin-top:18px; }.workflow-history-manager-filters label { min-width:0; }.workflow-history-manager-filters label>span { display:block; margin-bottom:6px; color:#9a9d92; font-size:8px; font-weight:700; }.workflow-history-manager-filters input,.workflow-history-manager-filters select { width:100%; min-height:40px; padding:9px 11px; color:#f5f4ed; background:#2a2c26; border:1px solid #494b43; border-radius:9px; outline:none; font:inherit; }.workflow-history-manager-filters input:focus,.workflow-history-manager-filters select:focus { border-color:var(--acid); box-shadow:0 0 0 3px rgba(216,255,82,.12); }.workflow-history-manager-filters .secondary-button { min-height:40px; color:#e9e9e0; background:#30322b; border-color:#4b4d44; }
.workflow-history-manager-bar { display:flex; align-items:center; gap:12px; min-height:42px; margin-top:12px; padding:8px 10px; color:#aeb0a6; background:#282a24; border:1px solid #3d3f37; border-radius:10px; font-size:9px; }.workflow-history-manager-bar label { display:flex; align-items:center; gap:6px; }.workflow-history-manager-bar>span { margin-right:auto; }.history-danger-button { min-height:32px; padding:7px 11px; color:#ffb5a7; background:#3a2924; border:1px solid #75463d; border-radius:8px; cursor:pointer; font-size:9px; font-weight:700; }.history-danger-button:hover { color:#20211d; background:#ff9f8b; border-color:#ff9f8b; }.history-danger-button:disabled { cursor:not-allowed; opacity:.35; }
.workflow-history-manage-list { display:grid; align-content:start; gap:8px; min-height:0; margin-top:12px; overflow:auto; padding-right:3px; }.workflow-history-manage-item { display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:11px; align-items:center; padding:12px; color:#e9e9e1; background:#292b25; border:1px solid #3c3e36; border-radius:12px; }.workflow-history-manage-item.active { border-color:#60563e; }.workflow-history-manage-check { display:grid; place-items:center; }.workflow-history-manage-check input { width:16px; height:16px; accent-color:var(--acid); }.workflow-history-manage-copy { min-width:0; }.workflow-history-manage-copy>div { display:flex; align-items:center; gap:8px; min-width:0; }.workflow-history-manage-copy b { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.workflow-history-manage-copy em { flex:0 0 auto; padding:4px 6px; color:#cbd0c3; background:#3a3c34; border-radius:999px; font-size:7px; font-style:normal; }.workflow-history-manage-copy em.complete { color:#d8ff52; }.workflow-history-manage-copy em.partial { color:#ffd397; }.workflow-history-manage-copy em.failed { color:#ffad9c; }.workflow-history-manage-copy em.running,.workflow-history-manage-copy em.queued { color:#9fe7ee; }.workflow-history-manage-copy small,.workflow-history-manage-copy code { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.workflow-history-manage-copy small { margin-top:5px; color:#9a9d92; font-size:8px; }.workflow-history-manage-copy code { margin-top:4px; color:#6f7268; font:7px ui-monospace,SFMono-Regular,Menlo,monospace; }.workflow-history-manage-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }.workflow-history-manage-actions .history-action { color:#dfe1d7; background:#30322b; border-color:#4a4c43; }.workflow-history-manage-actions .history-action.preview { color:#20211d; background:var(--acid); border-color:var(--acid); }.workflow-history-manage-actions .history-action.inputs { color:#bde5ea; background:#263438; border-color:#41636a; }.workflow-history-manage-actions .history-action.delete { color:#ffb5a7; background:#3a2924; border-color:#75463d; }.workflow-history-manage-actions .history-action:disabled { cursor:not-allowed; opacity:.35; }
.workflow-history-manager-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:13px; color:#92958a; font-size:9px; }.workflow-history-manager-footer>div { display:flex; gap:7px; }.workflow-history-manager-footer .secondary-button { min-height:34px; padding:7px 12px; color:#e9e9e0; background:#30322b; border-color:#4b4d44; }.workflow-history-manager-footer .secondary-button:disabled { cursor:not-allowed; opacity:.35; }
.workflow-input-overlay { position:fixed; z-index:80; inset:0; display:grid; place-items:center; padding:24px; background:rgba(10,11,9,.82); backdrop-filter:blur(10px); }.workflow-input-dialog { position:relative; width:min(780px,96vw); max-height:90vh; padding:24px; overflow:auto; color:#f7f6ef; background:#20211d; border:1px solid #4b4d44; border-radius:18px; box-shadow:0 28px 90px rgba(0,0,0,.58); }.workflow-input-close { position:absolute; top:16px; right:16px; width:36px; height:36px; color:#fff; background:#34362f; border:1px solid #4b4d44; border-radius:50%; cursor:pointer; font-size:22px; }.workflow-input-heading { padding-right:50px; }.workflow-input-heading p { margin:0; color:#8f9287; font-size:9px; font-weight:700; letter-spacing:.18em; }.workflow-input-heading h3 { margin:6px 0 0; font-size:18px; }.workflow-input-heading small { display:block; margin-top:5px; color:#a2a59a; font-size:9px; }.workflow-input-settings { display:flex; gap:8px; flex-wrap:wrap; margin-top:16px; }.workflow-input-settings span { padding:7px 9px; color:#96998e; background:#2b2d26; border-radius:8px; font-size:8px; }.workflow-input-settings b { margin-left:4px; color:#d8ff52; }.workflow-input-cards { display:grid; gap:10px; margin-top:16px; }.workflow-input-card { padding:14px; background:#2b2d26; border:1px solid #3e4038; border-radius:12px; }.workflow-input-card>span,.workflow-input-card>div span { display:block; color:#9a9d92; font-size:9px; }.workflow-input-card.text pre { margin:10px 0 0; max-height:300px; overflow:auto; color:#f3f2eb; font:11px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace; white-space:pre-wrap; word-break:break-word; }.workflow-input-card.image { display:grid; grid-template-columns:minmax(0,1fr) 120px; gap:14px; align-items:center; }.workflow-input-card.image b { display:block; margin-top:6px; font-size:11px; }.workflow-input-card.image img { width:120px; height:120px; object-fit:contain; background:#11120f; border-radius:9px; }.workflow-input-card.image p,.workflow-input-empty { color:#898c81; font-size:10px; }.workflow-input-actions { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:18px; }.workflow-input-actions small { color:#85887d; font-size:8px; }.workflow-input-copy { padding:10px 13px; color:#20211d; background:var(--acid); border:0; border-radius:9px; cursor:pointer; font-weight:700; }
.task-center { position:fixed; z-index:50; right:24px; bottom:24px; }.task-center-toggle { position:relative; display:grid; grid-template-columns:38px 1fr auto; gap:10px; align-items:center; min-width:190px; padding:10px 12px; color:#f7f6ef; background:#20211d; border:1px solid #41433b; border-radius:15px; box-shadow:0 16px 42px rgba(19,20,17,.26); cursor:pointer; text-align:left; }.task-center-toggle:hover { border-color:#62655a; transform:translateY(-1px); }.task-center-icon { display:grid; place-items:center; width:38px; height:38px; color:#20211d; background:var(--acid); border-radius:11px; font-size:17px; font-weight:700; }.task-center-toggle b,.task-center-toggle small { display:block; }.task-center-toggle b { font-size:12px; }.task-center-toggle small { margin-top:3px; color:#9da096; font-size:8px; }.task-center-toggle em { display:grid; place-items:center; min-width:25px; height:25px; padding:0 7px; color:#20211d; background:var(--acid); border-radius:999px; font-size:9px; font-style:normal; font-weight:700; }.task-center-panel { position:absolute; right:0; bottom:calc(100% + 12px); width:min(390px,calc(100vw - 32px)); max-height:min(650px,72vh); padding:17px; overflow:hidden; color:#f7f6ef; background:#20211d; border:1px solid #44463e; border-radius:18px; box-shadow:0 24px 70px rgba(12,13,10,.4); }.task-center-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }.task-center-heading p { margin:0; color:#898c81; font-size:8px; font-weight:700; letter-spacing:.2em; }.task-center-heading h2 { margin:5px 0 0; font-size:18px; }.task-center-heading button { display:grid; place-items:center; width:30px; height:30px; color:#e8e8df; background:#30322b; border:1px solid #46483f; border-radius:50%; cursor:pointer; font-size:18px; }.task-center-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-top:14px; }.task-center-stats span { padding:9px; color:#8f9287; background:#2a2c26; border-radius:9px; font-size:8px; }.task-center-stats b { color:var(--acid); font-size:11px; }.task-center-list { display:grid; gap:7px; max-height:470px; margin-top:13px; overflow:auto; padding-right:2px; }.task-center-item { display:grid; grid-template-columns:38px minmax(0,1fr) 18px; gap:10px; align-items:center; width:100%; padding:10px; color:#f7f6ef; background:#292b25; border:1px solid #3b3d35; border-radius:11px; cursor:pointer; text-align:left; }.task-center-item:hover { border-color:#65685c; background:#2d3028; }.task-center-item.active { border-color:#566638; }.task-center-item.failed { border-color:#694238; }.task-center-item.warning { border-color:#6e593a; }.task-center-item-icon { display:grid; place-items:center; width:38px; height:42px; color:var(--acid); background:#1b1c18; border-radius:9px; font-size:11px; font-weight:700; }.task-center-item-copy { min-width:0; }.task-center-item-copy>span:first-child { display:flex; align-items:center; justify-content:space-between; gap:8px; }.task-center-item-copy i,.task-center-item-copy em { font-size:7px; font-style:normal; }.task-center-item-copy i { color:#898c81; }.task-center-item-copy em { color:#c9ed58; }.task-center-item.failed .task-center-item-copy em { color:#ff9f8b; }.task-center-item.warning .task-center-item-copy em { color:#ffd59b; }.task-center-item-copy>b,.task-center-item-copy>small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.task-center-item-copy>b { margin-top:4px; font-size:10px; }.task-center-item-copy>small { margin-top:3px; color:#96998e; font-size:8px; }.task-center-arrow { color:#8d9085; font-size:13px; }.task-center-progress { display:block; height:3px; margin-top:7px; overflow:hidden; background:#42443c; border-radius:999px; }.task-center-progress i { display:block; height:100%; background:var(--acid); border-radius:inherit; }.task-center-divider { margin:5px 3px 1px; color:#777a70; font-size:8px; font-weight:700; letter-spacing:.14em; }.task-center-empty { display:grid; place-items:center; min-height:190px; padding:24px; color:#8f9287; text-align:center; border:1px dashed #44463e; border-radius:11px; }.task-center-empty span { color:var(--acid); font-size:23px; }.task-center-empty b { margin-top:9px; color:#d9d9d0; font-size:11px; }.task-center-empty small { margin-top:5px; font-size:8px; }
.task-center-heading-actions { display:flex; align-items:center; gap:7px; }
.task-center-heading .task-center-clear { width:auto; padding:0 10px; color:#d4d6cc; border-radius:9px; font-size:8px; }
.task-center-heading .task-center-clear:hover { color:#20211d; background:var(--acid); border-color:var(--acid); }
.task-center-heading .task-center-clear:disabled { cursor:not-allowed; opacity:.35; }
.task-center-item { grid-template-columns:minmax(0,1fr) auto; gap:7px; padding:7px; cursor:default; }
.task-center-item-main { display:grid; grid-template-columns:54px minmax(0,1fr) 18px; gap:10px; align-items:center; min-width:0; padding:3px; color:inherit; background:transparent; border:0; cursor:pointer; text-align:left; }
.task-center-item-icon { width:54px; height:60px; overflow:hidden; }
.task-center-item-icon img { display:block; width:100%; height:100%; object-fit:cover; }
.task-center-retry { align-self:stretch; padding:0 10px; color:#ffb4a4; background:#382821; border:1px solid #764b40; border-radius:8px; cursor:pointer; font-size:8px; font-weight:700; }
.task-center-retry:hover { color:#20211d; background:#ff9f8b; border-color:#ff9f8b; }
@keyframes panel-in { from { opacity:.4; transform:translateY(5px); } to { opacity:1; transform:none; } }
.drama-source-link { display:inline-flex; align-items:center; padding:8px 10px; color:#464840; background:#f5f4ee; border:1px solid var(--line); border-radius:8px; cursor:pointer; font-size:10px; line-height:1.2; text-decoration:none; white-space:nowrap; }
.drama-source-link:hover { color:#111; border-color:#9fa193; }
.workflow-text-field { display:grid; gap:8px; padding:14px; background:#fff; border:1px solid var(--line); border-radius:13px; }
.workflow-text-field>span { font-size:11px; font-weight:700; }
.workflow-text-field textarea { min-height:150px; padding:13px; resize:vertical; line-height:1.6; }
.workflow-text-field input[type="number"] { min-height:44px; padding:10px 13px; border:1px solid var(--line); border-radius:9px; font:inherit; }
.workflow-text-field small { color:#888a82; font-size:9px; line-height:1.5; }
.workflow-select-field { display:grid; gap:8px; padding:14px; background:#fff; border:1px solid var(--line); border-radius:13px; }
.workflow-select-field>span { font-size:11px; font-weight:700; }
.workflow-select-field select { width:100%; padding:12px 13px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:10px; outline:none; cursor:pointer; }
.workflow-select-field select:focus { border-color:#92948a; box-shadow:0 0 0 4px rgba(216,255,82,.18); }
.workflow-select-field small { color:#888a82; font-size:9px; line-height:1.5; }
.settings-region-group { display:grid; gap:12px; margin:0; padding:14px; background:#f7f6f0; border:1px solid var(--line); border-radius:13px; }
.settings-region-group legend { padding:0 7px; color:#55584f; font-size:10px; font-weight:700; letter-spacing:.04em; }
.settings-region-group.international { background:#f3f8ee; border-color:#ccd8bd; }
@media (max-width:900px) { .app-shell { grid-template-columns:1fr; }.sidebar { position:relative; height:auto; padding:20px; overflow:visible; }.sidebar nav { display:flex; flex:none; gap:8px; min-height:auto; margin:14px 0 0; padding:0 0 7px; overflow-x:auto; overflow-y:hidden; }.sidebar-footer { margin-top:10px; padding-top:10px; }.nav-label,.sidebar-note { display:none; }.nav-item { min-width:190px; }.brand { padding:0 0 16px; } main { padding:28px 22px 55px; }.hero-grid,.drama-workspace,.workflow-workspace,.settings-grid { grid-template-columns:1fr; }.preview-card { min-height:560px; }.preview-stage { min-height:430px; }.drama-progress-empty { min-height:300px; } }
@media (max-width:560px) { main { padding:23px 14px 42px; }.topbar h1 { font-size:25px; }.local-badge { display:none; }.download-card,.preview-card,.task-panel,.history-section { padding:22px 18px; }.hero-grid { gap:14px; }.preview-card { min-height:510px; }.preview-stage { min-height:380px; }.history-item { grid-template-columns:54px minmax(0,1fr); }.history-actions { grid-column:1/-1; flex-wrap:wrap; }.history-action { flex:1; text-align:center; }.result-actions { flex-direction:column; }.primary-button.compact { width:100%; }.folder-field>div { flex-direction:column; }.folder-field button { min-height:42px; }.drama-history-group summary { grid-template-columns:42px minmax(0,1fr) 18px; }.drama-folder-icon { width:42px; height:42px; }.drama-group-actions { grid-column:2; flex-wrap:wrap; }.details-arrow { grid-column:3; grid-row:1; }.drama-episode-row { grid-template-columns:34px minmax(0,1fr); }.drama-episode-row .history-actions { grid-column:1/-1; }.drama-status-card { padding:20px 18px; }.workflow-history-item { grid-template-columns:54px minmax(0,1fr); }.workflow-mini-states { grid-column:1/-1; flex-wrap:wrap; }.workflow-history-item>.history-action { grid-column:1/-1; }.workflow-state-grid { grid-template-columns:1fr; }.task-center { right:12px; bottom:12px; }.task-center-toggle { min-width:174px; }.task-center-panel { max-height:76vh; }.task-center-list { max-height:54vh; }.toast { right:12px; bottom:84px; max-width:calc(100vw - 24px); } }
@media (max-width:760px) { .workflow-history-manager-overlay { padding:10px; }.workflow-history-manager-dialog { width:100%; height:96vh; padding:16px; }.workflow-history-manager-filters { grid-template-columns:1fr 1fr; }.workflow-history-search { grid-column:1/-1; }.workflow-history-manager-filters .secondary-button { width:100%; }.workflow-history-manage-item { grid-template-columns:24px minmax(0,1fr); }.workflow-history-manage-actions { grid-column:2; justify-content:flex-start; }.workflow-history-manage-actions .history-action { flex:1; text-align:center; }.workflow-history-manager-heading small { max-width:270px; }.workflow-history-heading-actions .secondary-button.compact { min-width:0; } }
@media (max-width:560px) { .workflow-file-actions { grid-column:1/-1; }.workflow-input-overlay { padding:12px; }.workflow-input-dialog { padding:20px 16px; }.workflow-input-card.image { grid-template-columns:1fr; }.workflow-input-card.image img { width:100%; height:220px; }.workflow-input-actions { align-items:stretch; flex-direction:column; }.workflow-input-copy { width:100%; } }
.drama-delete { padding:8px 10px; color:#a64e3e; background:#fff7f5; border:1px solid #edc8c0; border-radius:8px; cursor:pointer; font-size:10px; white-space:nowrap; }.drama-delete:hover { color:#fff; border-color:#bd5544; background:#bd5544; }
.drama-download-remaining { padding:8px 10px; color:#20211d; background:var(--acid); border:1px solid #b6d943; border-radius:8px; cursor:pointer; font-size:10px; font-weight:700; white-space:nowrap; }.drama-download-remaining:hover { background:#c9f13e; }.drama-complete-pill { padding:8px 10px; color:#587022; background:#eff8d0; border-radius:8px; font-size:9px; font-weight:700; white-space:nowrap; }
.drama-remaining-dialog { width:min(720px,96vw); max-height:90vh; overflow:auto; }.remaining-summary { margin:0 0 14px; padding:12px 14px; color:#b9bcb0; background:#2b2d27; border-radius:10px; font-size:11px; }.remaining-summary b { color:var(--acid); }.remaining-toolbar { display:flex; align-items:center; gap:8px; margin-bottom:12px; }.remaining-toolbar button { padding:8px 10px; color:#e9e9e1; background:#33352e; border:1px solid #4b4d44; border-radius:8px; cursor:pointer; font-size:9px; }.remaining-toolbar span { margin-left:auto; color:#a5a89e; font-size:9px; }.remaining-toolbar span b { color:var(--acid); }.remaining-episode-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(72px,1fr)); gap:8px; max-height:48vh; padding:12px; overflow:auto; background:#171814; border:1px solid #41433b; border-radius:12px; }.remaining-episode-grid label { cursor:pointer; }.remaining-episode-grid input { position:absolute; opacity:0; pointer-events:none; }.remaining-episode-grid span { display:grid; place-items:center; min-height:38px; color:#aeb0a7; background:#2b2d27; border:1px solid #41433b; border-radius:8px; font-size:10px; font-weight:700; }.remaining-episode-grid input:checked+span { color:#20211d; background:var(--acid); border-color:var(--acid); }.remaining-submit:disabled { cursor:not-allowed; opacity:.45; }
@media (max-width:560px) { .drama-remaining-dialog { width:100%; padding:20px 16px; }.remaining-toolbar { align-items:stretch; flex-wrap:wrap; }.remaining-toolbar span { width:100%; margin-left:0; }.remaining-episode-grid { grid-template-columns:repeat(4,1fr); max-height:50vh; } }

.crop-workspace { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr); gap:22px; }
.crop-number { color:#171813; background:var(--acid); font-size:17px; }
.crop-drop-zone { position:relative; display:grid; min-height:238px; place-items:center; overflow:hidden; background:#f6f5ef; border:1px dashed #b8b7ae; border-radius:15px; cursor:pointer; outline:none; transition:.18s; }
.crop-drop-zone:hover,.crop-drop-zone:focus,.crop-drop-zone.dragging { border-color:#8eaa36; box-shadow:0 0 0 4px rgba(216,255,82,.18); }
.crop-drop-zone img { display:block; width:100%; height:238px; object-fit:contain; background:#20211d; }
.crop-drop-copy { display:grid; place-items:center; padding:28px; text-align:center; }
.crop-drop-copy>span { display:grid; width:58px; height:58px; place-items:center; color:#20211d; background:var(--acid); border-radius:15px; font-size:28px; }
.crop-drop-copy b { margin-top:16px; font-size:13px; }.crop-drop-copy small { margin-top:6px; color:#85877f; font-size:9px; }
.crop-upload-actions { display:flex; gap:8px; margin-top:10px; }.crop-upload-actions .secondary-button { flex:1; }.crop-clear-button { padding:10px 13px; color:#9d4234; background:#fff7f5; border:1px solid #edc8c0; border-radius:9px; cursor:pointer; font-size:10px; }
.crop-source-meta { min-height:16px; margin:8px 2px 16px; overflow:hidden; color:#81837b; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.crop-direction-picker { margin:0 0 14px; padding:0; border:0; }.crop-direction-picker legend { margin-bottom:8px; color:#5f6159; font-size:10px; font-weight:700; }
.crop-direction-options { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.crop-direction-options label { cursor:pointer; }.crop-direction-options .klein-sheet-option { grid-column:1/-1; }.crop-direction-options input { position:absolute; opacity:0; pointer-events:none; }.crop-direction-options label>span { display:grid; grid-template-columns:44px minmax(0,1fr); grid-template-rows:auto auto; gap:3px 10px; align-items:center; padding:12px; background:#f6f5ef; border:1px solid var(--line); border-radius:11px; }.crop-direction-options input:checked+span { background:#f7fce7; border-color:#91ad37; box-shadow:0 0 0 2px rgba(216,255,82,.16); }.crop-direction-options b { align-self:end; font-size:11px; }.crop-direction-options small { align-self:start; color:#83857d; font-size:8px; line-height:1.35; }
.crop-direction-icon { display:grid; grid-column:1; grid-row:1/3; width:44px; height:36px; overflow:hidden; background:#292a25; border-radius:7px; }.crop-direction-icon.vertical { grid-template-columns:repeat(3,1fr); gap:2px; }.crop-direction-icon.horizontal { grid-template-rows:repeat(3,1fr); gap:2px; }.crop-direction-icon.klein { grid-template-columns:3fr 2fr 2fr 2fr; gap:2px; }.crop-direction-icon em { background:var(--acid); opacity:.82; }
.crop-parts-field { display:grid; grid-template-columns:1fr 130px; gap:8px 12px; align-items:center; margin-bottom:15px; padding:14px; background:#fff; border:1px solid var(--line); border-radius:12px; }.crop-parts-field>span { font-size:11px; font-weight:700; }.crop-parts-field select { width:100%; padding:10px 12px; color:var(--ink); background:#f7f6f0; border:1px solid var(--line); border-radius:9px; cursor:pointer; outline:none; }.crop-parts-field select:focus { border-color:#92948a; box-shadow:0 0 0 4px rgba(216,255,82,.18); }.crop-parts-field small { grid-column:1/-1; color:#898b83; font-size:8px; line-height:1.5; }.crop-parts-field.is-fixed { background:#f7fce7; border-color:#b7c681; }.crop-parts-field.is-fixed select { cursor:not-allowed; opacity:.65; }
.crop-overview-card { display:flex; min-height:620px; flex-direction:column; padding:22px; color:#f7f6ef; background:#20211d; border-radius:20px; box-shadow:var(--shadow); }.crop-overview-card .eyebrow { color:#8f9287; }.crop-overview-card h3 { margin:0; }
.crop-preview-stage { display:grid; min-height:440px; flex:1; place-items:center; overflow:hidden; padding:16px; background:#11120f; border:1px solid #3b3d35; border-radius:14px; }.crop-preview-stage canvas { display:block; width:auto; height:auto; max-width:100%; max-height:500px; box-shadow:0 12px 35px rgba(0,0,0,.28); }.crop-preview-empty { display:grid; place-items:center; color:#d9dad1; text-align:center; }.crop-preview-empty span { display:grid; width:72px; height:72px; place-items:center; color:#20211d; background:var(--acid); border-radius:18px; font-size:27px; }.crop-preview-empty b { margin-top:16px; font-size:12px; }.crop-preview-empty small { margin-top:6px; color:#8f9287; font-size:9px; }.crop-preview-copy { padding:15px 2px 0; }.crop-preview-copy b,.crop-preview-copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.crop-preview-copy b { font-size:11px; }.crop-preview-copy small { margin-top:5px; color:#94978c; font-size:9px; }
.crop-results-section { margin-top:22px; }.crop-results-section .section-heading { align-items:center; }.crop-download-all { width:auto; min-width:168px; }
.crop-results-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(185px,1fr)); gap:13px; margin-top:20px; }
.crop-result-card { display:flex; min-width:0; overflow:hidden; flex-direction:column; color:#171813; background:#fff; border:1px solid var(--line); border-radius:13px; }
.crop-result-image { position:relative; z-index:1; display:grid; height:230px; flex:0 0 230px; place-items:center; overflow:hidden; padding:10px; background:#20211d; }
.crop-result-image img { display:block; width:100%; height:100%; object-fit:contain; }
.crop-result-copy { position:relative; z-index:2; flex:0 0 auto; padding:14px; color:#171813; background:#fff; border-top:1px solid #e4e2d9; }
.crop-result-copy b,.crop-result-copy small { display:block; }
.crop-result-copy b { color:#171813; font-size:13px; }
.crop-result-copy small { margin-top:5px; color:#5f6259; font-size:10px; }
.crop-result-copy a { display:block; width:100%; margin-top:11px; padding:10px; color:#171813; background:var(--acid); border:0; border-radius:9px; cursor:pointer; font-size:10px; font-weight:700; text-align:center; text-decoration:none; }
.crop-result-copy a:hover { filter:brightness(.96); }
.crop-history-section { margin-top:22px; }
.crop-history-list { display:grid; gap:12px; margin-top:20px; }
.crop-history-item { min-width:0; padding:14px; background:#fff; border:1px solid var(--line); border-radius:14px; }
.crop-history-heading { display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:11px; align-items:center; }
.crop-history-count { display:grid; width:46px; height:46px; place-items:center; color:#20211d; background:var(--acid); border-radius:11px; font-size:15px; font-weight:800; }
.crop-history-heading div { min-width:0; }
.crop-history-heading b,.crop-history-heading small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.crop-history-heading b { color:#171813; font-size:12px; }
.crop-history-heading small { margin-top:4px; color:#73766d; font-size:9px; }
.crop-history-heading button { padding:9px 11px; color:#9d4234; background:#fff7f5; border:1px solid #edc8c0; border-radius:9px; cursor:pointer; font-size:9px; }
.crop-history-heading button:hover { color:#fff; background:#bd5544; border-color:#bd5544; }
.crop-history-results { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:9px; margin-top:13px; padding-top:13px; border-top:1px solid #eceae1; }
.crop-history-result { min-width:0; overflow:hidden; background:#f6f5ef; border:1px solid #e4e2d9; border-radius:11px; }
.crop-history-thumb { display:grid; height:150px; place-items:center; overflow:hidden; padding:7px; background:#20211d; }
.crop-history-thumb img { display:block; width:100%; height:100%; object-fit:contain; }
.crop-history-result>div { padding:10px 10px 6px; color:#171813; background:#f6f5ef; }
.crop-history-result b,.crop-history-result small { display:block; }
.crop-history-result b { font-size:10px; }
.crop-history-result small { margin-top:3px; color:#6f7269; font-size:8px; }
.crop-history-download { display:block; margin:0 10px 10px; padding:8px; color:#20211d; background:#d8ff52; border-radius:8px; font-size:9px; font-weight:700; text-align:center; text-decoration:none; }
@media (max-width:900px) { .crop-workspace { grid-template-columns:1fr; }.crop-overview-card { min-height:560px; }.crop-preview-stage { min-height:390px; } }
@media (max-width:560px) { .crop-direction-options { grid-template-columns:1fr; }.crop-direction-options .klein-sheet-option { grid-column:1; }.crop-parts-field { grid-template-columns:1fr; }.crop-parts-field small { grid-column:1; }.crop-results-section .section-heading { align-items:stretch; flex-direction:column; }.crop-download-all { width:100%; }.crop-results-grid { grid-template-columns:1fr 1fr; gap:9px; }.crop-result-image { height:180px; flex-basis:180px; }.crop-overview-card { min-height:500px; padding:18px; }.crop-preview-stage { min-height:330px; }.crop-history-results { grid-template-columns:1fr 1fr; }.crop-history-thumb { height:125px; }.crop-history-heading { grid-template-columns:40px minmax(0,1fr) auto; }.crop-history-count { width:40px; height:40px; } }

.source-browser-card { padding:28px; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); }
.source-browser-heading,.source-result-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.source-browser-heading h2,.source-result-heading b { margin:0; color:#171813; }
.source-browser-heading h2 { font-size:22px; }.source-browser-heading>div>p:last-child { margin:7px 0 0; color:#85877f; font-size:10px; }
.source-picker { display:grid; gap:15px; margin-top:22px; padding:17px; background:#f6f5ef; border-radius:15px; }
.source-picker-group>p { margin:0 0 8px; color:#777a70; font-size:8px; font-weight:800; letter-spacing:.14em; }
.source-picker-group>div { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:8px; }
.source-option { display:grid; grid-template-columns:34px minmax(0,1fr); grid-template-rows:auto auto; gap:2px 9px; align-items:center; min-width:0; padding:10px; color:#292b25; background:#fff; border:1px solid #deddd5; border-radius:10px; cursor:pointer; text-align:left; }
.source-option:hover { border-color:#a9aa9f; }.source-option.active { background:#f5fbdc; border-color:#8fab33; box-shadow:0 0 0 2px rgba(216,255,82,.2); }
.source-option>span { display:grid; grid-row:1/3; width:34px; height:38px; place-items:center; color:#20211d; background:var(--acid); border-radius:8px; font-size:12px; font-weight:800; }
.source-option b,.source-option small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.source-option b { align-self:end; font-size:10px; }.source-option small { align-self:start; color:#8b8d85; font-size:7px; }
.source-search-form { display:grid; grid-template-columns:minmax(220px,1fr) 190px auto; gap:10px; align-items:end; margin-top:18px; }
.source-search-form label span { display:block; margin:0 0 7px; color:#62645d; font-size:9px; font-weight:700; }
.source-search-form input,.source-search-form select { width:100%; min-height:45px; padding:11px 12px; color:#20211d; background:#fff; border:1px solid var(--line); border-radius:10px; outline:none; }
.source-search-form input:focus,.source-search-form select:focus { border-color:#8fac33; box-shadow:0 0 0 4px rgba(216,255,82,.18); }
.source-search-form .primary-button { width:auto; min-height:45px; padding:0 17px; white-space:nowrap; }
.source-result-heading { align-items:center; margin-top:24px; padding-top:20px; border-top:1px solid #e8e6de; }.source-result-heading b,.source-result-heading small { display:block; }.source-result-heading b { font-size:14px; }.source-result-heading small { margin-top:5px; color:#898b83; font-size:9px; }
.source-catalog { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:12px; margin-top:15px; }
.source-catalog-card { display:grid; grid-template-columns:92px minmax(0,1fr); min-width:0; overflow:hidden; background:#f7f6f0; border:1px solid #e0ded6; border-radius:13px; }
.source-cover { display:grid; min-height:136px; place-items:center; overflow:hidden; padding:0; color:var(--acid); background:#24251f; border:0; cursor:pointer; font-size:22px; font-weight:800; }.source-cover>span,.source-cover img { grid-area:1/1; }.source-cover img { position:relative; display:block; width:100%; height:100%; object-fit:cover; }
.source-card-copy { min-width:0; padding:13px; }.source-card-copy>b,.source-card-copy>small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.source-card-copy>b { font-size:11px; }.source-card-copy>small { margin-top:5px; color:#777a70; font-size:8px; }.source-card-badges { display:flex; flex-wrap:wrap; gap:5px; margin-top:7px; }.source-card-badges i { padding:3px 6px; color:#53651d; background:#edf5cf; border:1px solid #d3dfa9; border-radius:999px; font-size:7px; font-style:normal; font-weight:800; }.source-card-copy>p { display:-webkit-box; min-height:35px; margin:9px 0; overflow:hidden; color:#898b83; font-size:8px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.source-card-copy>button { padding:7px 9px; color:#20211d; background:var(--acid); border:0; border-radius:7px; cursor:pointer; font-size:8px; font-weight:700; }
.source-load-more { display:block; width:min(360px,100%); margin:18px auto 0; }
.source-error-state { display:grid; grid-column:1/-1; min-height:230px; place-items:center; align-content:center; padding:25px; text-align:center; background:#fff8f6; border:1px dashed #e3bcb3; border-radius:13px; }.source-error-state>span { display:grid; width:46px; height:46px; place-items:center; color:#fff; background:#bf6250; border-radius:50%; font-size:20px; }.source-error-state b { margin-top:12px; font-size:13px; }.source-error-state p { max-width:560px; margin:6px 0 13px; color:#9a6257; font-size:9px; }.source-error-state button { padding:8px 12px; color:#7e4034; background:#fff; border:1px solid #dbada3; border-radius:8px; cursor:pointer; }
.source-download-section { margin-top:22px; }.source-downloads { display:grid; gap:12px; margin-top:18px; }.source-download-group { overflow:hidden; background:#f8f7f2; border:1px solid #dfddd4; border-radius:15px; }.source-download-group.expanded { border-color:#adc369; box-shadow:0 10px 32px rgba(36,37,31,.06); }.source-download-group-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:13px; background:#fff; }.source-download-group-toggle { display:grid; grid-template-columns:58px minmax(0,1fr) auto 20px; gap:12px; align-items:center; min-width:0; padding:0; text-align:left; background:transparent; border:0; cursor:pointer; }.source-download-group-cover { display:grid; width:58px; height:70px; place-items:center; overflow:hidden; color:var(--acid); background:#24251f; border-radius:10px; font-size:16px; font-weight:800; }.source-download-group-cover>span,.source-download-group-cover img { grid-area:1/1; }.source-download-group-cover img { position:relative; width:100%; height:100%; object-fit:cover; }.source-download-group-copy { min-width:0; }.source-download-group-copy b,.source-download-group-copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.source-download-group-copy b { color:#20211d; font-size:13px; }.source-download-group-copy small { margin-top:7px; color:#777a70; font-size:8px; }.source-download-group-toggle>em { color:#61732c; font-size:8px; font-style:normal; font-weight:800; white-space:nowrap; }.source-download-group-toggle>i { color:#777a70; font-size:16px; font-style:normal; }.source-download-group-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }.source-download-group-actions button,.source-missing-panel button { padding:8px 10px; color:#404239; background:#f5f5ee; border:1px solid #d7d5cb; border-radius:8px; cursor:pointer; font-size:8px; white-space:nowrap; }.source-download-group-actions button:disabled { cursor:wait; opacity:.55; }.source-download-group-actions .delete { color:#a44838; background:#fff7f5; border-color:#ecc7bf; }.source-download-group-body { display:grid; gap:8px; padding:11px; border-top:1px solid #e1dfd7; }.source-download-item { display:grid; grid-template-columns:54px minmax(0,1fr) auto; gap:12px; align-items:center; min-width:0; padding:12px; background:#fff; border:1px solid #e1dfd7; border-radius:12px; }.source-download-item.failed { border-color:#e5b2a7; }.source-download-item.downloading { border-color:#adc369; background:#fbfdea; }
.source-download-icon { display:grid; width:54px; height:62px; place-items:center; overflow:hidden; color:var(--acid); background:#24251f; border-radius:9px; font-size:15px; font-weight:800; }.source-download-icon>span,.source-download-icon img { grid-area:1/1; }.source-download-icon img { position:relative; display:block; width:100%; height:100%; object-fit:cover; }
.source-download-copy { min-width:0; }.source-download-copy>span { display:flex; align-items:center; justify-content:space-between; gap:10px; }.source-download-copy b { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.source-download-copy em { flex:0 0 auto; color:#59721f; font-size:8px; font-style:normal; font-weight:700; }.source-download-item.failed em { color:#ac4c3b; }.source-download-copy small { display:block; margin-top:5px; color:#777a70; font-size:8px; }.source-download-copy p { margin:5px 0 0; color:#a34c3c; font-size:8px; }
.source-download-progress { height:4px; margin-top:8px; overflow:hidden; background:#e2e1d9; border-radius:999px; }.source-download-progress i { display:block; height:100%; background:#9ebd39; border-radius:inherit; }
.source-download-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }.source-download-actions button,.source-download-actions a { padding:8px 9px; color:#45473f; background:#f7f6f0; border:1px solid #d9d7ce; border-radius:8px; cursor:pointer; font-size:8px; text-decoration:none; white-space:nowrap; }.source-download-actions .retry,.source-download-actions .preview,.source-download-actions a { color:#20211d; background:var(--acid); border-color:#badc49; font-weight:700; }.source-download-actions .delete { color:#a44838; background:#fff7f5; border-color:#ecc7bf; }.source-preview-overlay .drama-preview-dialog { width:min(520px,100%); }.source-preview-overlay .drama-preview-dialog>small { display:block; margin:-7px 42px 13px 0; color:#8f9287; font-size:8px; }
.source-missing-panel { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:11px 13px; background:#f0f4df; border-top:1px solid #d8dfbc; }.source-missing-panel b,.source-missing-panel small { display:block; }.source-missing-panel b { font-size:9px; }.source-missing-panel small { margin-top:4px; color:#74796a; font-size:8px; }.source-missing-panel p { display:flex; flex-wrap:wrap; grid-column:1/-1; gap:5px; margin:0; }.source-missing-panel i,.source-missing-panel em { padding:4px 6px; color:#4f5f23; background:#fff; border:1px solid #cfd7ad; border-radius:6px; font-size:7px; font-style:normal; }.source-missing-panel.warning button { color:#20211d; background:var(--acid); border-color:#badc49; font-weight:800; }.source-missing-panel.complete { background:#edf5e4; }.source-missing-panel.error { color:#9c493a; background:#fff4f1; border-color:#edc8c0; }.source-missing-panel.loading { display:block; color:#70746a; font-size:8px; }.source-detail-selection-note { margin:14px 0 0; padding:10px 12px; color:#20211d; background:var(--acid); border-radius:9px; font-size:9px; font-weight:700; }
.source-detail-overlay { position:fixed; z-index:55; inset:0; display:grid; place-items:center; padding:24px; background:rgba(14,15,12,.74); backdrop-filter:blur(9px); }.source-detail-dialog { position:relative; width:min(860px,96vw); max-height:92vh; overflow:auto; padding:26px; color:#f5f5ec; background:#20211d; border:1px solid #4b4d44; border-radius:20px; box-shadow:0 28px 80px rgba(0,0,0,.5); }.source-detail-close { position:sticky; z-index:2; top:0; float:right; width:34px; height:34px; color:#fff; background:#34362f; border:1px solid #4c4e45; border-radius:50%; cursor:pointer; font-size:20px; }
.source-detail-heading { display:grid; grid-template-columns:90px minmax(0,1fr); gap:16px; align-items:center; clear:both; padding-right:42px; }.source-detail-poster { display:grid; width:90px; height:118px; place-items:center; overflow:hidden; color:var(--acid); background:#11120f; border-radius:11px; font-size:25px; font-weight:800; }.source-detail-poster>span,.source-detail-poster img { grid-area:1/1; }.source-detail-poster img { position:relative; display:block; width:100%; height:100%; object-fit:cover; }.source-detail-heading p,.source-detail-heading h2,.source-detail-heading small { display:block; margin:0; }.source-detail-heading p { color:#a4a79c; font-size:9px; }.source-detail-heading h2 { margin-top:5px; font-size:23px; }.source-detail-heading small { max-width:620px; margin-top:8px; color:#a6a99e; font-size:9px; line-height:1.55; }.source-detail-warning { margin:15px 0 0; padding:10px 12px; color:#ffd59b; background:#443922; border-radius:9px; font-size:9px; }
.source-detail-toolbar { display:flex; align-items:center; gap:7px; margin-top:20px; }.source-detail-toolbar button { padding:8px 10px; color:#dedfd6; background:#31332c; border:1px solid #494b43; border-radius:8px; cursor:pointer; font-size:8px; }.source-detail-toolbar span { margin-left:auto; color:#a4a79c; font-size:9px; }.source-detail-toolbar b { color:var(--acid); }
.source-episode-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(104px,1fr)); gap:8px; max-height:46vh; margin-top:11px; padding:12px; overflow:auto; background:#151612; border:1px solid #3e4038; border-radius:12px; }.source-episode-card { display:grid; min-width:0; overflow:hidden; border:1px solid #41433b; border-radius:8px; }.source-episode-grid label { position:relative; min-width:0; cursor:pointer; }.source-episode-grid input { position:absolute; opacity:0; pointer-events:none; }.source-episode-grid label>span,.source-episode-grid label>small { display:block; }.source-episode-grid label>span { padding:9px 8px 4px; color:#d7d8d0; background:#2b2d27; font-size:9px; font-weight:800; text-align:center; }.source-episode-grid label>small { overflow:hidden; padding:0 7px 8px; color:#8f9287; background:#2b2d27; font-size:7px; text-overflow:ellipsis; text-align:center; white-space:nowrap; }.source-episode-grid input:checked~span,.source-episode-grid input:checked~small { color:#20211d; background:var(--acid); }.source-episode-grid i { position:absolute; top:4px; right:5px; color:#ffb09e; font-size:6px; font-style:normal; }.source-episode-card>button { padding:6px; color:#dfe7c2; background:#20221d; border:0; border-top:1px solid #41433b; cursor:pointer; font-size:7px; }.source-episode-card>button:hover { color:#20211d; background:var(--acid); }.source-episode-card>button:disabled { cursor:wait; opacity:.55; }
.source-download-controls { display:flex; align-items:end; justify-content:flex-end; gap:12px; margin-top:17px; }.source-download-controls label span { display:block; margin-bottom:6px; color:#a7aa9f; font-size:8px; }.source-download-controls select { min-height:42px; padding:9px 32px 9px 11px; color:#ecece4; background:#2d2f29; border:1px solid #494b43; border-radius:9px; }.source-download-controls .primary-button { width:auto; min-width:190px; }
.source-detail-loading { display:grid; min-height:420px; place-items:center; align-content:center; text-align:center; }.source-detail-loading>span { display:grid; width:62px; height:62px; place-items:center; color:#20211d; background:var(--acid); border-radius:16px; font-size:24px; }.source-detail-loading b { margin-top:15px; font-size:14px; }.source-detail-loading small { max-width:520px; margin-top:7px; color:#999c91; font-size:9px; }.source-detail-loading button { margin-top:15px; padding:9px 13px; color:#20211d; background:var(--acid); border:0; border-radius:8px; cursor:pointer; font-weight:700; }
@media (max-width:900px) { .source-search-form { grid-template-columns:1fr 180px; }.source-search-form .primary-button { grid-column:1/-1; width:100%; }.source-catalog { grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); } }
@media (max-width:560px) { .source-browser-card { padding:21px 17px; }.source-picker-group>div { grid-template-columns:1fr 1fr; }.source-search-form { grid-template-columns:1fr; }.source-search-form .primary-button { grid-column:1; }.source-catalog { grid-template-columns:1fr; }.source-download-group-head { grid-template-columns:1fr; }.source-download-group-toggle { grid-template-columns:48px minmax(0,1fr) 18px; }.source-download-group-cover { width:48px; height:58px; }.source-download-group-toggle>em { display:none; }.source-download-group-actions { justify-content:stretch; }.source-download-group-actions button { flex:1; }.source-missing-panel { grid-template-columns:1fr; }.source-missing-panel button { width:100%; }.source-download-item { grid-template-columns:46px minmax(0,1fr); }.source-download-icon { width:46px; height:54px; }.source-download-actions { grid-column:1/-1; justify-content:stretch; }.source-download-actions button,.source-download-actions a { flex:1; text-align:center; }.source-detail-overlay { padding:10px; }.source-detail-dialog { width:100%; padding:20px 15px; }.source-detail-heading { grid-template-columns:70px minmax(0,1fr); gap:12px; padding-right:25px; }.source-detail-poster { width:70px; height:92px; }.source-detail-heading h2 { font-size:18px; }.source-detail-toolbar { flex-wrap:wrap; }.source-detail-toolbar span { width:100%; margin-left:0; }.source-episode-grid { grid-template-columns:repeat(3,1fr); }.source-download-controls { align-items:stretch; flex-direction:column; }.source-download-controls label,.source-download-controls select,.source-download-controls .primary-button { width:100%; } }
/* Image-project controls are contained by workflow panels, never downloader panels. */
.image-project-control { display:grid; gap:12px; margin:18px 0; padding:16px; border:1px solid var(--border, #d8d7ce); border-radius:14px; }
.image-project-control label { display:grid; gap:7px; font-size:14px; font-weight:600; }
.image-project-control input,.image-project-control select,.image-project-toolbar select { min-width:0; width:100%; padding:10px; border:1px solid #cecec5; border-radius:9px; background:#fff; color:#24271f; font:inherit; }
.image-project-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:12px 0; }
.image-project-toolbar select { width:auto; max-width:220px; }
.image-project-toolbar label { display:flex; gap:5px; align-items:center; }
.image-project-toolbar span { font-size:12px; color:#696d5d; }
.workflow-history-item { position:relative; }
.image-project-check { position:absolute; top:5px; left:5px; z-index:1; }
.image-project-check input { width:17px; height:17px; accent-color:#8aaa20; }
.image-project-label { font-size:12px; max-width:180px; overflow:hidden; text-overflow:ellipsis; }
.image-project-dialog { width:min(480px,calc(100vw - 32px)); border:1px solid #c8cbbb; border-radius:18px; padding:8px; background:#fafbf5; color:#24271f; }
.image-project-dialog::backdrop { background:rgb(0 0 0 / .45); }
.image-project-dialog .image-project-control { border:0; margin:0; }
.workflow-history-manage-item { grid-template-columns:28px 58px minmax(0,1fr) auto; padding:10px 12px; }
.workflow-history-manage-thumb { position:relative; display:grid; width:58px; height:58px; place-items:center; padding:0; overflow:hidden; color:var(--acid); background:#171814; border:1px solid #45473f; border-radius:10px; cursor:pointer; font:700 9px/1 inherit; }
.workflow-history-manage-thumb>span { z-index:0; }
.workflow-history-manage-thumb img { position:absolute; z-index:1; inset:0; width:100%; height:100%; object-fit:cover; }
.workflow-history-manage-thumb:hover { border-color:var(--acid); }
.workflow-history-manage-thumb.placeholder { cursor:default; }
.workflow-history-manage-thumb.placeholder.video { color:#f7f6ef; font-size:16px; }
.workflow-history-manage-thumb.missing img { display:none; }
@media (max-width:760px) {
  .workflow-history-manage-item { grid-template-columns:24px 52px minmax(0,1fr); }
  .workflow-history-manage-thumb { width:52px; height:52px; }
  .workflow-history-manage-actions { grid-column:3; }
}
