:root{
  --bg:#07101f;--bg2:#0b1425;--card:rgba(15,25,44,.88);--card-solid:#0f192c;--surface:#111d32;--surface-2:#0b1527;
  --text:#eef4ff;--muted:#8fa1bd;--faint:#60708b;--border:rgba(145,164,196,.16);--border-strong:rgba(118,149,210,.28);
  --primary:#5b7cff;--primary-2:#7c93ff;--accent:#42d3a2;--warning:#f1bd66;--danger:#ff6f70;--shadow:0 18px 60px rgba(0,0,0,.25);
  --radius:18px;--radius-sm:12px;color-scheme:dark;
}
:root[data-theme="light"]{
  --bg:#f4f7fb;--bg2:#eaf0f8;--card:rgba(255,255,255,.92);--card-solid:#fff;--surface:#f8faff;--surface-2:#eef3fa;
  --text:#142036;--muted:#62718a;--faint:#8794a8;--border:rgba(65,86,120,.15);--border-strong:rgba(74,109,186,.24);
  --primary:#4668ea;--primary-2:#6d86f4;--accent:#168f68;--warning:#a96d15;--danger:#d9484c;--shadow:0 18px 55px rgba(53,72,105,.12);color-scheme:light;
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(circle at 15% -10%,rgba(91,124,255,.14),transparent 32%),radial-gradient(circle at 95% 0,rgba(66,211,162,.09),transparent 28%),linear-gradient(180deg,var(--bg),var(--bg2));font:14px/1.45 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}.hidden{display:none!important}button,a.link-button{border:0;text-decoration:none;cursor:pointer;transition:.18s ease}button:disabled{opacity:.55;cursor:not-allowed}.topbar{position:sticky;z-index:30;top:0;min-height:72px;padding:12px max(18px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:18px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}.brand-block,.top-actions{display:flex;align-items:center;gap:12px}.brand-mark{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--primary),#8b63ff);box-shadow:0 10px 28px rgba(91,124,255,.28)}.small-mark{width:38px;height:38px;border-radius:12px;font-size:12px}.brand-title{font-weight:800;font-size:17px;letter-spacing:-.2px}.brand-subtitle{font-size:11px;color:var(--muted);margin-top:2px}.badge{display:inline-flex;vertical-align:middle;margin-left:6px;padding:3px 7px;border-radius:999px;font-size:9px;letter-spacing:.5px;color:var(--primary-2);background:rgba(91,124,255,.1);border:1px solid rgba(91,124,255,.22)}.status-pill{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border-radius:999px;color:var(--muted);background:var(--surface);border:1px solid var(--border);font-size:11px;white-space:nowrap}.theme-control{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px}.theme-control span{text-transform:uppercase;letter-spacing:.55px}.theme-control select{min-height:32px;padding:0 28px 0 9px}
.page{width:min(1240px,calc(100% - 30px));margin:22px auto 0}.hero-strip{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(420px,.7fr);gap:24px;align-items:end;padding:18px 4px 24px}.eyebrow,.section-kicker{display:block;color:var(--primary-2);font-size:9px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}.hero-strip h1{margin:5px 0 6px;font-size:clamp(26px,4vw,42px);line-height:1.06;letter-spacing:-1.2px}.hero-strip p{max-width:700px;margin:0;color:var(--muted)}.hero-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hero-status-grid>div,.stats-grid>div,.tools-grid>div,.batch-stats>div{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:11px}.hero-status-grid span,.stats-grid span,.tools-grid span,.batch-stats span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.55px;margin-bottom:5px}.hero-status-grid strong,.stats-grid strong,.tools-grid strong,.batch-stats strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card{position:relative;margin-bottom:14px;padding:18px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.accent-card{border-color:rgba(91,124,255,.28);box-shadow:0 18px 55px rgba(33,54,118,.16)}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.section-title h2{margin:3px 0 2px;font-size:17px;letter-spacing:-.2px}.section-title p{margin:0;color:var(--muted);font-size:11px}.source-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:14px}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.span-two{grid-column:1/-1}label>span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.45px;margin:0 0 6px 2px}input,select,textarea{width:100%;min-height:42px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:11px;outline:none;padding:0 11px;transition:.18s ease}textarea{padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:rgba(91,124,255,.7);box-shadow:0 0 0 3px rgba(91,124,255,.12)}button,.link-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 13px;border-radius:11px;font-weight:700;font-size:12px}.primary{color:#fff;background:linear-gradient(135deg,var(--primary),#6b5ff2);box-shadow:0 8px 22px rgba(91,124,255,.2)}.primary:hover{transform:translateY(-1px);filter:brightness(1.05)}.ghost{color:var(--text);background:var(--surface);border:1px solid var(--border)}.ghost:hover{border-color:var(--border-strong);background:color-mix(in srgb,var(--surface) 82%,var(--primary) 18%)}.danger{color:#fff;background:rgba(255,83,88,.82)}.small{min-height:32px;padding:0 10px;font-size:10px}.big{min-height:46px}.wide{width:100%}.preset-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}.preset-row>span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.7px;margin-right:3px}.preset{min-height:30px;padding:0 10px;border-radius:999px;color:var(--muted);background:var(--surface);border:1px solid var(--border);font-size:10px}.preset:hover{color:var(--text);border-color:var(--primary)}.advanced{margin:14px 0;border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:11px 13px}.advanced summary{cursor:pointer;font-size:11px;font-weight:800}.advanced-grid{margin-top:11px}.check-row{display:flex;align-items:center;gap:8px;margin:11px 2px;color:var(--muted);font-size:11px}.check-row input{width:auto;min-height:auto}.check-row span{margin:0;text-transform:none;letter-spacing:0;font-size:11px}.note{margin:11px 0;padding:10px 11px;border-radius:11px;color:var(--muted);background:var(--surface);border:1px solid var(--border);font-size:11px}.cloud-note{border-color:rgba(66,211,162,.24);background:rgba(66,211,162,.06)}.warning-note{border-color:rgba(241,189,102,.25);background:rgba(241,189,102,.06)}.error-text{min-height:17px;margin-top:7px;color:var(--danger);font-size:11px}.success-text{color:var(--accent)!important}.mini-text{color:var(--muted);font-size:10px;line-height:1.5}
.job-card{overflow:hidden}.transfer-visual{height:58px;margin:-2px 0 12px;position:relative;border:1px solid var(--border);border-radius:14px;background:linear-gradient(110deg,var(--surface-2),var(--surface));overflow:hidden}.transfer-visual:before{content:"";position:absolute;inset:0;opacity:0;pointer-events:none}.transfer-pulse{position:absolute;left:16px;top:50%;width:13px;height:13px;border-radius:50%;background:var(--faint);transform:translateY(-50%);box-shadow:0 0 0 7px color-mix(in srgb,var(--faint) 14%,transparent);transition:left .25s ease,right .25s ease,background .25s ease,box-shadow .25s ease}.transfer-route{position:absolute;left:44px;right:16px;top:50%;height:2px;background:var(--border-strong);transform:translateY(-50%);transition:left .25s ease,right .25s ease,background .25s ease}.transfer-route i{position:absolute;left:18%;top:50%;width:7px;height:7px;border-radius:50%;background:var(--faint);opacity:.22;transform:translate(-50%,-50%)}.transfer-route i:nth-child(2){left:50%}.transfer-route i:nth-child(3){left:82%}
/* Download: blue packets travel left → right into the server. */
.job-card[data-transfer="download"] .transfer-visual:before{opacity:1;background:linear-gradient(90deg,transparent,rgba(91,124,255,.10),transparent);transform:translateX(-100%);animation:downloadSweep 2.4s linear infinite}.job-card[data-transfer="download"] .transfer-pulse{left:16px;right:auto;background:var(--primary);box-shadow:0 0 0 7px rgba(91,124,255,.12),0 0 25px rgba(91,124,255,.45);animation:downloadTravel 1.9s ease-in-out infinite}.job-card[data-transfer="download"] .transfer-route{left:29px;right:29px;background:linear-gradient(90deg,rgba(91,124,255,.74),rgba(124,147,255,.30))}.job-card[data-transfer="download"] .transfer-route i{left:0;background:var(--primary-2);opacity:0;animation:downloadPacket 1.75s linear infinite}.job-card[data-transfer="download"] .transfer-route i:nth-child(2){animation-delay:.52s}.job-card[data-transfer="download"] .transfer-route i:nth-child(3){animation-delay:1.04s}
/* Upload: green packets arc toward a target on the right, visually distinct from download. */
.job-card[data-transfer="upload"] .transfer-visual:before{opacity:1;background:linear-gradient(270deg,transparent,rgba(66,211,162,.11),transparent);transform:translateX(100%);animation:uploadSweep 2.0s linear infinite}.job-card[data-transfer="upload"] .transfer-pulse{left:auto;right:16px;background:var(--accent);box-shadow:0 0 0 7px rgba(66,211,162,.13),0 0 25px rgba(66,211,162,.42);animation:uploadPulse 1.05s ease-in-out infinite}.job-card[data-transfer="upload"] .transfer-route{left:16px;right:44px;background:linear-gradient(90deg,rgba(66,211,162,.30),rgba(66,211,162,.82))}.job-card[data-transfer="upload"] .transfer-route i{left:0;background:var(--accent);opacity:0;animation:uploadPacket 1.55s ease-in-out infinite}.job-card[data-transfer="upload"] .transfer-route i:nth-child(2){animation-delay:.44s}.job-card[data-transfer="upload"] .transfer-route i:nth-child(3){animation-delay:.88s}
/* Processing / terminal states stay completely still. */
.job-card[data-transfer="processing"] .transfer-pulse{background:var(--warning);box-shadow:0 0 0 7px rgba(241,189,102,.10)}.job-card[data-transfer="complete"] .transfer-pulse{background:var(--accent);box-shadow:0 0 0 7px rgba(66,211,162,.12),0 0 22px rgba(66,211,162,.26)}.job-card[data-transfer="complete"] .transfer-route{background:linear-gradient(90deg,rgba(66,211,162,.35),rgba(66,211,162,.62))}.job-card[data-transfer="complete"] .transfer-route i{background:var(--accent);opacity:.42}.job-card[data-transfer="error"] .transfer-pulse{background:var(--danger);box-shadow:0 0 0 7px rgba(255,111,112,.10)}.job-card[data-transfer="cancelled"] .transfer-pulse{background:var(--faint)}
@keyframes downloadSweep{to{transform:translateX(100%)}}@keyframes downloadTravel{0%{left:16px;opacity:.55;transform:translateY(-50%) scale(.86);box-shadow:0 0 0 5px rgba(91,124,255,.08),0 0 16px rgba(91,124,255,.28)}12%{opacity:1}50%{transform:translateY(-50%) scale(1.08);box-shadow:0 0 0 9px rgba(91,124,255,.15),0 0 30px rgba(91,124,255,.52)}88%{left:calc(100% - 29px);opacity:1}100%{left:calc(100% - 29px);opacity:0;transform:translateY(-50%) scale(.88);box-shadow:0 0 0 5px rgba(91,124,255,.06),0 0 15px rgba(91,124,255,.24)}}@keyframes downloadPacket{0%{left:0;opacity:0;transform:translate(-50%,-50%) scale(.72)}14%{opacity:1}84%{opacity:1}100%{left:100%;opacity:0;transform:translate(-50%,-50%) scale(1.08)}}@keyframes uploadSweep{to{transform:translateX(-100%)}}@keyframes uploadPulse{0%,100%{transform:translateY(-50%) scale(.92)}50%{transform:translateY(-50%) scale(1.12)}}@keyframes uploadPacket{0%{left:0;opacity:0;transform:translate(-50%,5px) scale(.72)}15%{opacity:1}48%{transform:translate(-50%,-8px) scale(.95)}82%{opacity:1}100%{left:100%;opacity:0;transform:translate(-50%,-50%) scale(1.15)}}
.job-phase{display:flex;align-items:center;justify-content:space-between;margin:8px 1px}.job-phase span{font-weight:800}.job-phase strong{color:var(--muted);font-size:11px}.progress-track{height:12px;overflow:hidden;background:var(--surface-2);border-radius:999px;border:1px solid var(--border);position:relative}.progress-bar{width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--primary-2));transition:width .3s ease}.job-card[data-transfer="upload"] .progress-bar{background:linear-gradient(90deg,var(--accent),#62dec2)}.progress-track.indeterminate .progress-bar{width:36%!important;position:absolute;animation:indeterminate 1.2s ease-in-out infinite}@keyframes indeterminate{from{left:-40%}to{left:104%}}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:11px}.stats-grid.five{grid-template-columns:repeat(5,1fr)}.job-message{min-height:20px;color:var(--muted);font-size:11px}.smart-action{min-height:16px;color:var(--accent);font-size:10px}.result-actions{display:grid;gap:8px}.log-details{margin-top:13px}.log-details summary{cursor:pointer;color:var(--muted);font-size:10px}pre{max-height:250px;overflow:auto;white-space:pre-wrap;word-break:break-word;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:11px;padding:11px;font:10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}
.media-summary{display:flex;gap:14px;align-items:center}.thumb{width:165px;aspect-ratio:16/9;object-fit:cover;border-radius:12px;border:1px solid var(--border)}.media-meta{min-width:0;flex:1}.media-meta h3{margin:0 0 10px;font-size:18px;overflow:hidden;text-overflow:ellipsis}.meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.meta-grid span{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:9px}.meta-grid b,.meta-grid em{display:block}.meta-grid b{color:var(--muted);font-size:9px;text-transform:uppercase;margin-bottom:4px}.meta-grid em{font-style:normal;font-size:11px}.selected-format{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:13px 0 8px}.selected-format span{color:var(--muted);font-size:10px}.selected-format strong{font-size:11px}.selected-format em{margin-left:auto;color:var(--muted);font-style:normal;font-size:10px}.table-wrap,.history-wrap{overflow:auto;border:1px solid var(--border);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:920px}th,td{padding:9px 10px;text-align:left;border-bottom:1px solid var(--border);font-size:10px}th{position:sticky;top:0;background:var(--card-solid);color:var(--muted);text-transform:uppercase;letter-spacing:.5px;z-index:2}tbody tr:last-child td{border-bottom:0}#formatBody tr{cursor:pointer}tbody tr:hover{background:rgba(91,124,255,.06)}tbody tr.selected{background:rgba(91,124,255,.13)}.estimate{color:var(--warning)}
.bulk-card{border-color:rgba(91,124,255,.22)}.bulk-count{display:inline-flex!important}.bulk-textarea{min-height:128px;resize:vertical;font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.bulk-actions{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0}.bulk-result{min-height:18px;color:var(--danger);font-size:11px;margin-top:8px}.batch-dashboard{margin-top:13px;padding:13px;border:1px solid var(--border);background:var(--surface);border-radius:13px}.batch-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.batch-kicker{display:block;color:var(--muted);font-size:8px;letter-spacing:.8px;margin-bottom:4px}.batch-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:9px}.batch-active-wrap{margin-top:11px}.batch-active-wrap>span{display:block;color:var(--muted);font-size:8px;letter-spacing:.7px;margin-bottom:6px}.batch-active-jobs{display:grid;gap:6px}.batch-job-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:8px}.batch-job-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.batch-job-row strong{color:var(--muted);font-size:9px}.batch-finished-note{margin-top:8px;color:var(--muted);font-size:10px}.batch-warning{color:var(--warning)!important}
.history-head{align-items:center}.history-controls{display:flex;gap:7px;align-items:center}.history-controls input{min-width:220px;min-height:34px}.history-wrap{max-height:470px}.history-table{min-width:1120px}.history-table tbody tr{cursor:default}.history-title{max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-actions{display:flex;gap:5px;white-space:nowrap}.tiny{min-height:27px!important;padding:0 8px!important;font-size:9px!important;border-radius:8px!important}.status-tag{display:inline-flex;border-radius:999px;padding:4px 7px;font-size:9px;text-transform:uppercase;border:1px solid var(--border)}.status-running{color:var(--primary-2);border-color:rgba(91,124,255,.35)}.status-queued{color:var(--warning);border-color:rgba(241,189,102,.35)}.status-complete{color:var(--accent);border-color:rgba(66,211,162,.35)}.status-error{color:var(--danger);border-color:rgba(255,111,112,.35)}.status-cancelled{color:var(--muted)}
.cookie-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}.cookie-form input[type=file]{padding:8px}.cookie-list{display:grid;gap:6px;margin-top:10px}.cookie-list>div{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:8px 9px;font-size:10px}.tool-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.storage-head{display:flex;justify-content:space-between;font-size:10px;margin-bottom:6px}.storage-head span{color:var(--muted)}.storage-track{height:9px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;overflow:hidden}.storage-bar{height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--primary-2));transition:width .3s ease}.danger-fill{background:linear-gradient(90deg,#e05757,var(--danger))}.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px}.cloud-test{min-height:18px;margin-top:9px;color:var(--muted);font-size:10px}footer{padding:8px 0 28px;text-align:center;color:var(--faint);font-size:9px}.login-screen{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:rgba(4,9,18,.82);backdrop-filter:blur(18px)}.login-card{width:min(390px,100%);padding:26px;background:var(--card-solid);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow)}.login-card h1{margin:5px 0}.login-card p{margin:0 0 18px;color:var(--muted);font-size:11px}.login-card label{display:block;margin:14px 0}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:1050px){.hero-strip{grid-template-columns:1fr}.workspace-grid{grid-template-columns:1fr}.stats-grid.five{grid-template-columns:repeat(5,1fr)}.tools-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar{padding:10px 12px}.brand-subtitle,.theme-control>span{display:none}.page{width:calc(100% - 18px);margin-top:12px}.hero-strip{padding:10px 2px 16px}.hero-status-grid{grid-template-columns:1fr 1fr 1fr}.grid.two{grid-template-columns:1fr}.card{padding:14px;border-radius:15px}.source-row{grid-template-columns:1fr 1fr 1fr}.source-row input{grid-column:1/-1}.source-row #analyzeBtn{grid-column:1/-1;grid-row:3}.form-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.stats-grid.five{grid-template-columns:1fr 1fr}.stats-grid.five>div:last-child{grid-column:1/-1}.meta-grid{grid-template-columns:1fr 1fr}.history-head{align-items:flex-start}.history-controls{width:100%}.history-controls input{min-width:0}.cookie-form{grid-template-columns:1fr}.tool-actions{width:100%;justify-content:flex-start}.section-title{flex-wrap:wrap}.media-summary{align-items:flex-start}.thumb{width:120px}.bulk-actions{display:grid;grid-template-columns:1fr 1fr}.bulk-actions button:last-child{grid-column:1/-1}}
@media(max-width:520px){.top-actions .status-pill{display:none}.brand-title{font-size:15px}.hero-strip h1{font-size:28px}.hero-status-grid{grid-template-columns:1fr}.source-row{grid-template-columns:1fr 1fr}.source-row #pasteBtn{grid-column:1}.source-row #clearSourceBtn{grid-column:2}.source-row #analyzeBtn{grid-column:1/-1}.media-summary{display:block}.thumb{width:100%;margin-bottom:10px}.meta-grid{grid-template-columns:1fr}.batch-stats{grid-template-columns:1fr 1fr}.history-controls{display:grid;grid-template-columns:1fr auto}.theme-control select{max-width:82px}}

/* =========================================================
   v1.7.0 — Apple-inspired Liquid Glass visual system
   Pure client-side styling: no server/network overhead.
   ========================================================= */
:root{
  --liquid-canvas:#06101e;
  --liquid-canvas-2:#0b1424;
  --glass-fill:rgba(16,28,49,.58);
  --glass-fill-strong:rgba(17,29,50,.76);
  --glass-control-top:rgba(255,255,255,.075);
  --glass-control-bottom:rgba(255,255,255,.025);
  --glass-edge-bright:rgba(255,255,255,.22);
  --glass-edge-mid:rgba(134,161,212,.13);
  --glass-edge-dark:rgba(2,8,18,.38);
  --glass-specular:rgba(255,255,255,.17);
  --glass-specular-soft:rgba(134,166,255,.12);
  --glass-shadow:0 22px 70px rgba(0,0,0,.28),0 2px 10px rgba(0,0,0,.12);
  --glass-inset:inset 0 1px 0 rgba(255,255,255,.15),inset 0 -1px 0 rgba(0,0,0,.18);
  --glass-hover:rgba(255,255,255,.09);
  --liquid-blue:91,124,255;
  --liquid-violet:142,101,255;
  --liquid-cyan:74,214,255;
  --liquid-green:66,211,162;
  --radius:24px;
  --radius-sm:15px;
}
:root[data-theme="light"]{
  --liquid-canvas:#eaf1fb;
  --liquid-canvas-2:#f8fbff;
  --glass-fill:rgba(255,255,255,.58);
  --glass-fill-strong:rgba(255,255,255,.76);
  --glass-control-top:rgba(255,255,255,.80);
  --glass-control-bottom:rgba(236,243,253,.58);
  --glass-edge-bright:rgba(255,255,255,.92);
  --glass-edge-mid:rgba(105,132,181,.18);
  --glass-edge-dark:rgba(49,70,105,.10);
  --glass-specular:rgba(255,255,255,.86);
  --glass-specular-soft:rgba(83,113,210,.10);
  --glass-shadow:0 24px 70px rgba(55,74,110,.15),0 2px 10px rgba(54,74,108,.08);
  --glass-inset:inset 0 1px 0 rgba(255,255,255,.96),inset 0 -1px 0 rgba(78,101,140,.08);
  --glass-hover:rgba(255,255,255,.78);
}
html{background:var(--liquid-canvas)}
body{
  position:relative;
  isolation:isolate;
  overflow-x:hidden;
  background:
    radial-gradient(58rem 38rem at -8% -8%,rgba(var(--liquid-blue),.27),transparent 68%),
    radial-gradient(52rem 34rem at 108% 4%,rgba(var(--liquid-green),.16),transparent 66%),
    radial-gradient(45rem 40rem at 52% 108%,rgba(var(--liquid-violet),.13),transparent 70%),
    linear-gradient(155deg,var(--liquid-canvas),var(--liquid-canvas-2) 56%,var(--liquid-canvas));
  background-attachment:fixed;
  padding-bottom:env(safe-area-inset-bottom,0);
}
body::before,body::after{
  content:"";
  position:fixed;
  z-index:-2;
  pointer-events:none;
  border-radius:50%;
  opacity:.72;
  filter:blur(2px);
  transform:translate3d(0,0,0);
}
body::before{
  width:min(54vw,680px);aspect-ratio:1;
  left:-15vw;top:19vh;
  background:radial-gradient(circle at 58% 42%,rgba(var(--liquid-cyan),.16),rgba(var(--liquid-blue),.06) 46%,transparent 72%);
}
body::after{
  width:min(46vw,590px);aspect-ratio:1;
  right:-13vw;top:43vh;
  background:radial-gradient(circle at 40% 46%,rgba(var(--liquid-violet),.14),rgba(var(--liquid-green),.055) 50%,transparent 73%);
}

/* Floating navigation glass */
.topbar{
  top:max(10px,env(safe-area-inset-top,10px));
  width:min(1240px,calc(100% - 20px));
  min-height:68px;
  margin:10px auto 0;
  padding:11px 14px;
  border:1px solid transparent;
  border-radius:22px;
  background:
    linear-gradient(145deg,var(--glass-fill-strong),color-mix(in srgb,var(--glass-fill) 82%,transparent)) padding-box,
    linear-gradient(145deg,var(--glass-edge-bright),var(--glass-edge-mid) 42%,var(--glass-edge-dark)) border-box;
  -webkit-backdrop-filter:blur(30px) saturate(175%);
  backdrop-filter:blur(30px) saturate(175%);
  box-shadow:var(--glass-shadow),var(--glass-inset);
}
.topbar::before{
  content:"";position:absolute;inset:1px;border-radius:20px;pointer-events:none;
  background:linear-gradient(110deg,rgba(255,255,255,.13),transparent 26%,transparent 72%,rgba(116,150,255,.055));
  opacity:.82;
}
.topbar>*{position:relative;z-index:1}

.page{margin-top:16px}
.hero-strip,.card,.login-card{
  --glass-x:50%;--glass-y:0%;
  position:relative;
  isolation:isolate;
  border:1px solid transparent;
  background:
    linear-gradient(145deg,var(--glass-fill),color-mix(in srgb,var(--glass-fill) 80%,transparent)) padding-box,
    linear-gradient(145deg,var(--glass-edge-bright),var(--glass-edge-mid) 40%,var(--glass-edge-dark)) border-box;
  -webkit-backdrop-filter:blur(28px) saturate(165%);
  backdrop-filter:blur(28px) saturate(165%);
  box-shadow:var(--glass-shadow),var(--glass-inset);
}
.hero-strip::before,.card::before,.login-card::before{
  content:"";
  position:absolute;inset:0;
  z-index:0;pointer-events:none;
  border-radius:inherit;
  background:
    radial-gradient(340px circle at var(--glass-x) var(--glass-y),var(--glass-specular),transparent 62%),
    linear-gradient(118deg,rgba(255,255,255,.055),transparent 23%,transparent 76%,var(--glass-specular-soft));
  opacity:.7;
  transition:opacity .22s ease;
}
.hero-strip>* ,.card>* ,.login-card>*{position:relative;z-index:1}
.hero-strip{
  border-radius:28px;
  padding:24px;
  margin-bottom:14px;
  overflow:hidden;
}
.card{border-radius:24px;box-shadow:var(--glass-shadow),var(--glass-inset)}
.card:hover::before,.hero-strip:hover::before{opacity:.92}
.accent-card{
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--glass-fill) 88%,rgba(var(--liquid-blue),.12)),var(--glass-fill)) padding-box,
    linear-gradient(145deg,rgba(170,193,255,.46),rgba(var(--liquid-blue),.20) 42%,var(--glass-edge-dark)) border-box;
  box-shadow:0 24px 75px rgba(33,54,118,.20),var(--glass-inset);
}
.bulk-card{
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--glass-fill) 94%,rgba(var(--liquid-violet),.07)),var(--glass-fill)) padding-box,
    linear-gradient(145deg,rgba(190,171,255,.32),var(--glass-edge-mid) 48%,var(--glass-edge-dark)) border-box;
}
.job-card{
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--glass-fill) 92%,rgba(var(--liquid-cyan),.055)),var(--glass-fill)) padding-box,
    linear-gradient(145deg,rgba(160,218,255,.28),var(--glass-edge-mid) 46%,var(--glass-edge-dark)) border-box;
}

/* Liquid tiles and controls */
.hero-status-grid>div,.stats-grid>div,.tools-grid>div,.batch-stats>div,.meta-grid span,.advanced,.note,.batch-dashboard,.batch-job-row,.cookie-list>div{
  background:linear-gradient(155deg,var(--glass-control-top),var(--glass-control-bottom));
  border-color:color-mix(in srgb,var(--glass-edge-mid) 72%,var(--border));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 5px 18px rgba(0,0,0,.055);
}
input,select,textarea{
  background:linear-gradient(180deg,var(--glass-control-top),var(--glass-control-bottom));
  border-color:color-mix(in srgb,var(--glass-edge-mid) 68%,var(--border));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),inset 0 0 0 1px rgba(255,255,255,.015);
  -webkit-backdrop-filter:blur(12px) saturate(130%);
  backdrop-filter:blur(12px) saturate(130%);
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(var(--liquid-blue),.62);
  box-shadow:0 0 0 4px rgba(var(--liquid-blue),.11),inset 0 1px 0 rgba(255,255,255,.14),0 7px 24px rgba(var(--liquid-blue),.08);
}
button,.link-button,.preset,.status-pill{
  position:relative;
  overflow:hidden;
  -webkit-backdrop-filter:blur(12px) saturate(145%);
  backdrop-filter:blur(12px) saturate(145%);
}
button::before,.link-button::before,.preset::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.17),transparent 28%,transparent 72%,rgba(255,255,255,.04));
  opacity:.68;
}
button>* ,.link-button>*{position:relative;z-index:1}
.primary{
  background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 86%,white 14%),color-mix(in srgb,#6b5ff2 90%,#3d4aaa 10%));
  border:1px solid rgba(196,207,255,.25);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30),inset 0 -1px 0 rgba(30,36,100,.30),0 10px 28px rgba(var(--liquid-blue),.24);
}
.ghost,.preset,.status-pill{
  background:linear-gradient(155deg,var(--glass-control-top),var(--glass-control-bottom));
  border:1px solid color-mix(in srgb,var(--glass-edge-mid) 75%,var(--border));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 5px 16px rgba(0,0,0,.05);
}
.ghost:hover,.preset:hover{
  background:linear-gradient(155deg,color-mix(in srgb,var(--glass-control-top) 82%,var(--primary) 18%),var(--glass-control-bottom));
  border-color:rgba(var(--liquid-blue),.36);
  transform:translateY(-1px);
}
.danger{box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 8px 22px rgba(255,83,88,.17)}
.brand-mark{
  border:1px solid rgba(255,255,255,.24);
  background:linear-gradient(145deg,rgba(var(--liquid-blue),.90),rgba(var(--liquid-violet),.86));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34),inset 0 -1px 0 rgba(36,24,94,.25),0 12px 32px rgba(var(--liquid-blue),.25);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
}
.badge{
  background:linear-gradient(145deg,rgba(var(--liquid-blue),.13),rgba(var(--liquid-violet),.07));
  border-color:rgba(142,166,255,.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}

/* Transfer glass */
.transfer-visual{
  border:1px solid transparent;
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--glass-fill-strong) 80%,transparent),color-mix(in srgb,var(--glass-fill) 78%,transparent)) padding-box,
    linear-gradient(145deg,var(--glass-edge-bright),var(--glass-edge-mid),var(--glass-edge-dark)) border-box;
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  backdrop-filter:blur(20px) saturate(160%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 -16px 34px rgba(0,0,0,.055);
}
.progress-track,.storage-track{
  background:rgba(3,10,22,.18);
  border-color:color-mix(in srgb,var(--glass-edge-mid) 70%,var(--border));
  box-shadow:inset 0 1px 4px rgba(0,0,0,.14),0 1px 0 rgba(255,255,255,.05);
}
:root[data-theme="light"] .progress-track,:root[data-theme="light"] .storage-track{background:rgba(113,137,176,.12)}
.progress-bar,.storage-bar{box-shadow:0 0 18px rgba(var(--liquid-blue),.30),inset 0 1px 0 rgba(255,255,255,.25)}
.job-card[data-transfer="upload"] .progress-bar{box-shadow:0 0 18px rgba(var(--liquid-green),.28),inset 0 1px 0 rgba(255,255,255,.25)}

/* Tables become transparent glass sheets rather than opaque blocks. */
.table-wrap,.history-wrap{
  border-color:color-mix(in srgb,var(--glass-edge-mid) 74%,var(--border));
  background:rgba(0,0,0,.035);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
th{
  background:color-mix(in srgb,var(--glass-fill-strong) 91%,transparent);
  -webkit-backdrop-filter:blur(22px) saturate(155%);
  backdrop-filter:blur(22px) saturate(155%);
  box-shadow:inset 0 -1px 0 var(--border),inset 0 1px 0 rgba(255,255,255,.08);
}
tbody tr{transition:background .18s ease}
tbody tr:hover{background:rgba(var(--liquid-blue),.07)}

/* Login feels like a separate pane of glass floating over the app. */
.login-screen{
  background:
    radial-gradient(circle at 18% 12%,rgba(var(--liquid-blue),.22),transparent 34%),
    radial-gradient(circle at 88% 18%,rgba(var(--liquid-green),.12),transparent 30%),
    rgba(3,8,17,.68);
  -webkit-backdrop-filter:blur(24px) saturate(145%);
  backdrop-filter:blur(24px) saturate(145%);
}
:root[data-theme="light"] .login-screen{background:rgba(229,238,250,.69)}
.login-card{
  overflow:hidden;
  border-radius:30px;
  padding:30px;
  box-shadow:0 35px 100px rgba(0,0,0,.30),var(--glass-inset);
}
.login-card::after{
  content:"";position:absolute;z-index:0;pointer-events:none;width:180px;height:180px;border-radius:50%;right:-72px;top:-88px;
  background:radial-gradient(circle,rgba(var(--liquid-blue),.20),transparent 70%);
}

/* Subtle, local pointer refraction. Enabled only for mouse/trackpad. */
@media (hover:hover) and (pointer:fine){
  .card,.hero-strip,.login-card{transition:transform .22s ease,box-shadow .22s ease}
  .card:hover{transform:translateY(-1px);box-shadow:0 26px 78px rgba(0,0,0,.30),var(--glass-inset)}
  :root[data-theme="light"] .card:hover{box-shadow:0 27px 72px rgba(55,74,110,.17),var(--glass-inset)}
  body::before{animation:liquidFloatA 20s ease-in-out infinite alternate}
  body::after{animation:liquidFloatB 24s ease-in-out infinite alternate}
}
@keyframes liquidFloatA{from{transform:translate3d(-1.5vw,-1vh,0) scale(.96)}to{transform:translate3d(4vw,3vh,0) scale(1.07)}}
@keyframes liquidFloatB{from{transform:translate3d(2vw,2vh,0) scale(1.04)}to{transform:translate3d(-3vw,-2vh,0) scale(.95)}}

/* Apple accessibility preference: trade transparency for solid contrast. */
@media (prefers-reduced-transparency:reduce){
  .topbar,.hero-strip,.card,.login-card{background:var(--card-solid)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  input,select,textarea,.ghost,.preset,.status-pill{background:var(--surface)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  body::before,body::after{display:none}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .topbar,.hero-strip,.card,.login-card{background:var(--card-solid)}
  input,select,textarea,.ghost,.preset,.status-pill{background:var(--surface)}
}

/* Keep the glass treatment comfortable and efficient on iPhone-sized screens. */
@media(max-width:760px){
  .topbar{width:calc(100% - 14px);margin-top:7px;border-radius:20px;padding:10px 12px}
  .page{margin-top:10px}
  .hero-strip{padding:18px;border-radius:22px}
  .card{border-radius:20px}
  .login-card{border-radius:26px;padding:24px}
  .hero-strip,.card,.login-card{-webkit-backdrop-filter:blur(22px) saturate(155%);backdrop-filter:blur(22px) saturate(155%)}
}
@media(max-width:520px){
  .theme-control select{max-width:92px}
  .hero-strip h1{letter-spacing:-.8px}
}

/* v1.7.1 — four-tab workspace */
.studio-tabs{
  position:sticky;
  top:96px;
  z-index:24;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
  margin:0 0 16px;
  padding:6px;
  border:1px solid transparent;
  border-radius:20px;
  background:
    linear-gradient(145deg,var(--glass-fill-strong),color-mix(in srgb,var(--glass-fill) 84%,transparent)) padding-box,
    linear-gradient(145deg,var(--glass-edge-bright),var(--glass-edge-mid) 45%,var(--glass-edge-dark)) border-box;
  -webkit-backdrop-filter:blur(28px) saturate(170%);
  backdrop-filter:blur(28px) saturate(170%);
  box-shadow:0 16px 45px rgba(0,0,0,.16),var(--glass-inset);
}
.studio-tab{
  min-width:0;
  min-height:42px;
  padding:0 12px;
  border:1px solid transparent;
  border-radius:15px;
  color:var(--muted);
  background:transparent;
  box-shadow:none;
  font-size:12px;
  font-weight:800;
  letter-spacing:.1px;
  white-space:nowrap;
}
.studio-tab::before{opacity:.28}
.studio-tab:hover{color:var(--text);background:rgba(var(--liquid-blue),.065);transform:none}
.studio-tab.active{
  color:var(--text);
  background:linear-gradient(150deg,var(--glass-control-top),color-mix(in srgb,var(--glass-control-bottom) 86%,rgba(var(--liquid-blue),.14)));
  border-color:color-mix(in srgb,var(--glass-edge-mid) 72%,rgba(var(--liquid-blue),.28));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 7px 22px rgba(var(--liquid-blue),.11);
}
.studio-tab.active::after{
  content:"";
  position:absolute;
  left:22%;right:22%;bottom:4px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--primary),var(--accent));
  box-shadow:0 0 12px rgba(var(--liquid-blue),.42);
}
.tab-panel{min-width:0}
.tab-panel[hidden]{display:none!important}
.tab-panel.active{animation:tabReveal .24s ease both}
@keyframes tabReveal{from{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:none}}
.tab-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:8px 4px 14px;
}
.tab-heading h1{margin:4px 0 4px;font-size:clamp(25px,3.3vw,38px);line-height:1.08;letter-spacing:-1px}
.tab-heading p{max-width:760px;margin:0;color:var(--muted)}
.source-queue-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:12px;
  padding:11px 12px;
  border:1px solid var(--border);
  border-radius:13px;
  background:linear-gradient(155deg,var(--glass-control-top),var(--glass-control-bottom));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.source-queue-action>div{min-width:0}
.source-queue-action strong{display:block;font-size:12px}
.source-queue-action span{display:block;margin-top:2px;color:var(--muted);font-size:10px}
.source-queue-action #downloadBtn{width:auto;min-width:190px;flex:0 0 auto}
.settings-theme-control{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,280px);align-items:center;gap:18px}
.settings-theme-control>span{margin:0;font-size:11px}
.status-hero{grid-template-columns:minmax(0,1.25fr) minmax(420px,.75fr)}
.empty-panel-note{margin:4px 0 0;color:var(--muted);font-size:11px}
.batch-dashboard:not(.hidden)+.empty-panel-note{display:none}

@media(max-width:760px){
  .studio-tabs{top:87px;margin-bottom:12px;padding:5px;border-radius:18px;gap:4px}
  .studio-tab{min-height:40px;padding:0 6px;border-radius:13px;font-size:10.5px}
  .tab-heading{padding:6px 2px 12px}
  .tab-heading h1{font-size:26px;letter-spacing:-.7px}
  .source-queue-action{align-items:stretch;flex-direction:column}
  .source-queue-action #downloadBtn{width:100%;min-width:0}
  .settings-theme-control{grid-template-columns:1fr}
  .status-hero{grid-template-columns:1fr}
}
@media(max-width:430px){
  .studio-tabs{top:84px;gap:3px;padding:4px}
  .studio-tab{min-height:38px;padding:0 4px;font-size:10px;letter-spacing:-.05px}
  .studio-tab.active::after{left:28%;right:28%}
}
@media (prefers-reduced-motion:reduce){
  .tab-panel.active{animation:none}
}

/* v1.8.0 — Advanced Queue Manager */
.queue-manager-card{
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--glass-fill) 92%,rgba(var(--liquid-violet),.055)),var(--glass-fill)) padding-box,
    linear-gradient(145deg,rgba(189,177,255,.30),var(--glass-edge-mid) 46%,var(--glass-edge-dark)) border-box;
}
.queue-manager-card.queue-paused{
  border-color:rgba(241,189,102,.32);
  box-shadow:0 22px 65px rgba(151,107,26,.10),var(--glass-inset);
}
.queue-manager-head{align-items:center}
.queue-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px;margin-bottom:13px;border:1px solid color-mix(in srgb,var(--glass-edge-mid) 72%,var(--border));border-radius:14px;
  background:linear-gradient(155deg,var(--glass-control-top),var(--glass-control-bottom));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 5px 18px rgba(0,0,0,.05);
}
.queue-toolbar-copy{display:grid;gap:2px;min-width:0}.queue-toolbar-copy strong{font-size:12px}.queue-toolbar-copy span{color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.queue-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.queue-label{display:block;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.75px;text-transform:uppercase}
.queue-running-wrap{margin:0 0 13px}.queue-running-list{display:grid;gap:7px;margin-top:6px}
.queue-running-item{
  width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;color:var(--text);
  min-height:58px;padding:9px 10px;border:1px solid rgba(91,124,255,.24);border-radius:12px;
  background:linear-gradient(145deg,rgba(91,124,255,.08),var(--glass-control-bottom));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.queue-running-item:hover{border-color:rgba(91,124,255,.45);transform:translateY(-1px)}
.queue-protected{color:var(--accent);font-size:8px;font-weight:800;letter-spacing:.45px;text-transform:uppercase;white-space:nowrap}
.queue-waiting-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 7px}.queue-waiting-head>span:last-child{color:var(--muted);font-size:9px}
.queue-list{display:grid;gap:7px}
.queue-item{
  display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;
  min-height:62px;padding:8px 9px;border:1px solid color-mix(in srgb,var(--glass-edge-mid) 72%,var(--border));border-radius:12px;
  background:linear-gradient(155deg,var(--glass-control-top),var(--glass-control-bottom));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 4px 15px rgba(0,0,0,.04);
}
.queue-position{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;color:var(--primary-2);font-size:10px;font-weight:900;background:rgba(91,124,255,.10);border:1px solid rgba(91,124,255,.20)}
.queue-item-copy{display:grid;gap:3px;min-width:0}.queue-title-row{display:flex;align-items:center;gap:7px;min-width:0}.queue-title-row strong,.queue-item-copy>strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-item-copy em{color:var(--muted);font-size:9px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.queue-site-chip{display:inline-flex;align-items:center;flex:0 0 auto;min-height:21px;padding:0 7px;border-radius:999px;color:var(--primary-2);background:rgba(91,124,255,.09);border:1px solid rgba(91,124,255,.18);font-size:8px;font-weight:800;white-space:nowrap}
.queue-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.queue-item-actions button:disabled{opacity:.28}
.queue-action-result{min-height:17px;margin-top:8px;color:var(--muted);font-size:10px}.queue-action-result:not(:empty){padding-left:2px}

@media(max-width:760px){
  .queue-toolbar{align-items:flex-start;flex-direction:column}.queue-toolbar-actions{width:100%;justify-content:flex-start}.queue-toolbar-copy span{white-space:normal}
  .queue-item{grid-template-columns:32px minmax(0,1fr)}.queue-item-actions{grid-column:1/-1;justify-content:flex-end;padding-top:2px}
  .queue-running-item{grid-template-columns:auto minmax(0,1fr)}.queue-running-item .queue-protected{grid-column:2;justify-self:start}
}
@media(max-width:430px){
  .queue-toolbar-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.queue-toolbar-actions .danger{grid-column:1/-1}
  .queue-item-actions{display:grid;grid-template-columns:repeat(5,1fr);width:100%}.queue-item-actions button{min-width:0;padding:0 6px!important}
  .queue-title-row{align-items:flex-start;flex-direction:column;gap:3px}.queue-site-chip{min-height:18px}
}

/* v1.8.2 — mobile navigation, job details, and login security */
.section-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.studio-tab{position:relative}
.tab-icon{display:none;font-size:15px;line-height:1;font-weight:700}
.tab-label{display:inline-block}
.tab-badge{position:absolute;top:5px;right:8px;min-width:17px;height:17px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:var(--primary);color:#fff;font-size:8px;font-weight:800;line-height:1;box-shadow:0 3px 12px rgba(47,92,255,.32);border:1px solid rgba(255,255,255,.22)}
.login-security-note{margin-top:11px;color:var(--faint);font-size:9px;line-height:1.45;text-align:center}

.job-details-dialog{width:min(760px,calc(100% - 28px));max-height:min(82vh,820px);padding:0;border:0;border-radius:24px;background:transparent;color:var(--text);overflow:visible}
.job-details-dialog::backdrop{background:rgba(4,9,18,.68);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.job-details-shell{position:relative;overflow:auto;max-height:min(82vh,820px);padding:22px;border:1px solid var(--glass-edge-mid);border-radius:24px;background:linear-gradient(150deg,var(--glass-card-top),var(--glass-card-bottom));-webkit-backdrop-filter:blur(28px) saturate(165%);backdrop-filter:blur(28px) saturate(165%);box-shadow:0 28px 80px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.12)}
.job-details-shell::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.10),transparent 24%,transparent 75%,rgba(91,124,255,.05))}
.job-details-shell>*{position:relative;z-index:1}
.job-details-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.job-details-head h2{margin:4px 0 3px;font-size:22px}.job-details-head p{margin:0;color:var(--muted);font-size:10px}
.job-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.job-detail-cell{min-width:0;padding:11px 12px;border:1px solid var(--border);border-radius:13px;background:linear-gradient(155deg,var(--glass-control-top),var(--glass-control-bottom))}
.job-detail-cell.wide{grid-column:1/-1}.job-detail-cell span{display:block;color:var(--muted);font-size:8px;letter-spacing:.55px;text-transform:uppercase;margin-bottom:5px}.job-detail-cell strong{display:block;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.job-detail-cell a{color:var(--primary-2);text-decoration:none}.job-detail-cell a:hover{text-decoration:underline}
.job-detail-loading{grid-column:1/-1;padding:18px;text-align:center;color:var(--muted);font-size:10px}
.job-details-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}

@media(max-width:760px){
  body{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
  .page{padding-bottom:10px}
  .studio-tabs{position:fixed;z-index:90;top:auto!important;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom,0px));margin:0!important;width:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:5px;border-radius:22px;background:color-mix(in srgb,var(--card-solid) 82%,transparent);-webkit-backdrop-filter:blur(26px) saturate(170%);backdrop-filter:blur(26px) saturate(170%);box-shadow:0 16px 42px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.12)}
  .studio-tab{min-height:54px!important;padding:5px 4px!important;border-radius:17px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:9px!important;letter-spacing:0!important;line-height:1!important}
  .studio-tab::before{display:none}.studio-tab.active::after{left:36%;right:36%;bottom:3px;height:2px}
  .tab-icon{display:block;font-size:17px;opacity:.82}.studio-tab.active .tab-icon{opacity:1;transform:translateY(-1px)}
  .tab-label{display:block}
  .tab-badge{top:3px;right:calc(50% - 27px);font-size:7.5px;min-width:16px;height:16px}
  footer{padding-bottom:12px}
  .job-details-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 24px);margin:auto auto 8px}
  .job-details-shell{max-height:calc(100dvh - 24px);padding:17px;border-radius:24px}
  .job-details-grid{grid-template-columns:1fr}.job-detail-cell.wide{grid-column:auto}
  .job-details-head{position:sticky;top:-17px;z-index:4;padding:12px 0 9px;background:linear-gradient(180deg,var(--card-solid) 72%,transparent)}
}

@media(max-width:420px){
  .studio-tabs{left:7px;right:7px;bottom:calc(6px + env(safe-area-inset-bottom,0px));padding:4px}
  .studio-tab{min-height:52px!important}.tab-icon{font-size:16px}.tab-label{font-size:8.5px}
  .section-actions{gap:5px}
}

@media(prefers-reduced-transparency:reduce){
  .job-details-shell,.studio-tabs{background:var(--card-solid)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
}


/* =========================================================
   v1.8.3 — iPhone safe-area + Job Details mobile polish
   UI-only: transfer engines, queue scheduler, and API logic unchanged.
   ========================================================= */
@media(max-width:760px){
  :root{
    --mobile-nav-h:64px;
    --mobile-nav-gap:14px;
  }

  /* Reserve real scroll space for the fixed bottom navigation. */
  html{scroll-padding-bottom:calc(var(--mobile-nav-h) + 38px + env(safe-area-inset-bottom,0px))}
  body{
    padding-bottom:calc(var(--mobile-nav-h) + 44px + env(safe-area-inset-bottom,0px));
  }
  .page{
    padding-bottom:calc(26px + env(safe-area-inset-bottom,0px));
  }
  .tab-panel{
    scroll-margin-bottom:calc(var(--mobile-nav-h) + 28px + env(safe-area-inset-bottom,0px));
  }
  footer{
    padding-bottom:calc(var(--mobile-nav-h) + 26px + env(safe-area-inset-bottom,0px));
  }

  /* Keep the glass nav clear of the home indicator and content below it. */
  .studio-tabs{
    min-height:var(--mobile-nav-h);
    bottom:calc(var(--mobile-nav-gap) + env(safe-area-inset-bottom,0px));
  }

  /* Use the current visual viewport and make only the sheet body scroll. */
  .job-details-dialog{
    position:fixed;
    inset:max(10px,env(safe-area-inset-top,0px)) 8px calc(12px + env(safe-area-inset-bottom,0px)) 8px;
    width:auto;
    height:auto;
    max-width:none;
    max-height:none;
    margin:0;
    padding:0;
    overflow:hidden;
  }
  .job-details-dialog[open]{
    display:flex;
    flex-direction:column;
  }
  .job-details-shell{
    width:100%;
    height:100%;
    min-height:0;
    max-height:none;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:0 15px calc(18px + env(safe-area-inset-bottom,0px));
    border-radius:24px;
    scrollbar-gutter:stable;
  }
  .job-details-head{
    position:sticky;
    top:0;
    z-index:8;
    margin:0 -15px 12px;
    padding:15px 15px 12px;
    align-items:flex-start;
    background:
      linear-gradient(180deg,color-mix(in srgb,var(--card-solid) 94%,transparent) 0%,color-mix(in srgb,var(--card-solid) 90%,transparent) 78%,transparent 100%);
    -webkit-backdrop-filter:blur(22px) saturate(155%);
    backdrop-filter:blur(22px) saturate(155%);
    border-bottom:1px solid color-mix(in srgb,var(--border) 78%,transparent);
  }
  .job-details-head>div{min-width:0}
  .job-details-head h2{
    margin:3px 0 3px;
    font-size:20px;
    line-height:1.18;
    letter-spacing:-.35px;
    overflow-wrap:anywhere;
  }
  .job-details-head p{
    font-size:9.5px;
    overflow-wrap:anywhere;
  }
  .job-details-head #jobDetailsClose{
    flex:0 0 auto;
    position:sticky;
    top:0;
  }
  .job-details-grid{gap:7px}
  .job-detail-cell{padding:10px 11px;border-radius:12px}
  .job-details-actions{
    position:sticky;
    bottom:0;
    z-index:7;
    margin:12px -15px -1px;
    padding:10px 15px calc(10px + env(safe-area-inset-bottom,0px));
    background:linear-gradient(0deg,color-mix(in srgb,var(--card-solid) 96%,transparent) 72%,transparent);
    -webkit-backdrop-filter:blur(18px) saturate(150%);
    backdrop-filter:blur(18px) saturate(150%);
  }

  body:has(.job-details-dialog[open]){overflow:hidden}
}

@media(max-width:420px){
  :root{--mobile-nav-h:62px;--mobile-nav-gap:10px}
  .studio-tabs{bottom:calc(var(--mobile-nav-gap) + env(safe-area-inset-bottom,0px))}
  .job-details-dialog{
    inset:max(7px,env(safe-area-inset-top,0px)) 6px calc(8px + env(safe-area-inset-bottom,0px)) 6px;
  }
  .job-details-shell{border-radius:21px}
  .job-details-head h2{font-size:19px}
}

@media(prefers-reduced-transparency:reduce) and (max-width:760px){
  .job-details-head,.job-details-actions{
    background:var(--card-solid)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
}

/* =========================================================
   v1.8.5 — mobile long-text containment
   Prevent titles and URLs from expanding the iPhone viewport.
   ========================================================= */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

/* Every nested grid/flex surface must be allowed to shrink below its
   content's intrinsic width. This is essential for long source URLs. */
.page,.tab-panel,.card,.section-title,.section-title>div,.tab-heading,.tab-heading>div,
.queue-manager-card,.queue-toolbar,.queue-toolbar>* ,.queue-running-wrap,.queue-running-list,
.queue-list,.queue-item,.queue-item-copy,.queue-title-row,.batch-dashboard,.batch-head,
.batch-head>div,.batch-active-wrap,.batch-active-jobs,.batch-job-row,.job-details-head,
.job-details-head>div,.job-details-grid,.job-detail-cell{
  min-width:0;
  max-width:100%;
}

/* Queue rows keep their compact one-line layout, but the title is now a
   genuinely shrinkable flex item instead of widening the whole document. */
.queue-title-row strong,.queue-item-copy>strong{
  min-width:0;
  max-width:100%;
}
.queue-title-row strong{
  flex:1 1 auto;
}
.queue-toolbar-copy strong,.queue-toolbar-copy span,
.batch-job-row span,.batch-job-row strong{
  min-width:0;
  max-width:100%;
}
.batch-job-row span{
  display:block;
}

/* Text that is intentionally allowed to wrap must also break safe at long,
   punctuation-free strings instead of creating horizontal overflow. */
.section-title p,.tab-heading p,.job-message,.smart-action,.bulk-result,
.batch-finished-note,.queue-action-result,.empty-panel-note,
.job-details-head h2,.job-details-head p,.job-detail-cell strong{
  overflow-wrap:anywhere;
  word-break:break-word;
}

@media(max-width:760px){
  .queue-toolbar-copy{width:100%}
  .queue-toolbar-copy span{
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .queue-title-row strong,.queue-item-copy>strong,.queue-item-copy em,
  .batch-job-row span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}


/* v1.8.11 — browse-only cloud transfer workspace */
.cloud-browser-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:14px;
  margin-top:14px;
}
.cloud-browser{
  min-width:0;
  border:1px solid var(--border);
  border-radius:16px;
  padding:13px;
  background:var(--surface);
}
.cloud-browser-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
}
.cloud-browser-head h3{
  margin:3px 0 0;
  font-size:16px;
}
.cloud-path{
  min-height:34px;
  display:flex;
  align-items:center;
  padding:7px 9px;
  margin-bottom:9px;
  border:1px solid var(--border);
  border-radius:10px;
  color:var(--muted);
  font-size:10px;
  overflow-wrap:anywhere;
}
.cloud-use-folder{
  width:100%;
  margin-bottom:9px;
}
.cloud-list{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-height:190px;
  max-height:430px;
  overflow:auto;
}
.cloud-entry{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
  padding:9px;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--card-solid);
}
.cloud-entry-info{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.cloud-entry-info strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10.5px;
}
.cloud-entry-info span{
  color:var(--muted);
  font-size:9px;
}
.cloud-entry-actions{
  flex:none;
  display:flex;
  gap:5px;
}
.cloud-empty{
  padding:24px 12px;
  text-align:center;
  color:var(--muted);
  font-size:10px;
}
.cloud-selection-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.cloud-selection-grid>div{
  min-width:0;
  padding:11px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface);
}
.cloud-selection-grid span{
  display:block;
  color:var(--muted);
  text-transform:uppercase;
  font-size:8.5px;
  margin-bottom:5px;
}
.cloud-selection-grid strong{
  display:block;
  overflow-wrap:anywhere;
  font-size:10.5px;
}
.cloud-transfer-actions{
  display:flex;
  gap:8px;
  margin:13px 0 0;
  flex-wrap:wrap;
}

@media(max-width:760px){
  .cloud-browser-grid,
  .cloud-selection-grid{
    grid-template-columns:1fr;
  }
  .cloud-list{
    max-height:330px;
  }
  .cloud-browser{
    padding:10px;
  }
}

@media(max-width:420px){
  .studio-tab{
    padding-left:2px!important;
    padding-right:2px!important;
  }
  .tab-label{
    font-size:7.8px!important;
  }
}


/* v1.8.11 browse-test3 — multi-select source browser */
.cloud-source-tools{
  flex-wrap:wrap;
  justify-content:flex-end;
}
.cloud-check{
  min-height:27px;
  padding:0 7px;
  display:flex;
  align-items:center;
  gap:5px;
  border:1px solid var(--border);
  border-radius:8px;
  cursor:pointer;
  user-select:none;
  font-size:9px;
  white-space:nowrap;
}
.cloud-check:hover{
  background:rgba(91,124,255,.07);
}
.cloud-check input{
  width:15px;
  height:15px;
  margin:0;
  accent-color:var(--primary);
}
.cloud-entry:has(.cloud-check input:checked){
  background:rgba(91,124,255,.10);
  border-color:rgba(91,124,255,.30);
}
@media(max-width:760px){
  .cloud-browser-head{
    align-items:flex-start;
  }
  .cloud-source-tools{
    max-width:210px;
  }
}


/* v1.8.11 transfer-test — live cloud transfers */
.cloud-transfer-monitor,
.cloud-recent{
  margin-top:14px;
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px;
  background:var(--surface);
}
.cloud-transfer-monitor-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.cloud-transfer-monitor-head strong{
  display:block;
  margin-top:3px;
  font-size:11px;
}
.cloud-progress-track{
  height:8px;
  margin-top:11px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(127,127,127,.16);
}
.cloud-progress-bar{
  width:0;
  height:100%;
  border-radius:999px;
  background:var(--primary);
  transition:width .25s ease;
}
.cloud-transfer-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
  margin:8px 0;
  color:var(--muted);
  font-size:9px;
}
.cloud-transfer-stats span:nth-child(2){
  text-align:center;
}
.cloud-transfer-stats span:nth-child(3){
  text-align:right;
}
.cloud-recent-list{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.cloud-recent-row{
  padding:9px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--card-solid);
}
.section-title.compact{
  margin-bottom:8px;
}
@media(max-width:500px){
  .cloud-transfer-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .cloud-transfer-actions button{
    width:100%;
  }
}
