:root{--bg:#0d1316;--body-bg:radial-gradient(circle at 20% 0%,rgba(66,214,177,0.13),transparent 30%),linear-gradient(135deg,#0b1013,#111a1d 48%,#0c1113);--panel:rgba(19,28,32,0.86);--panel-strong:#131d22;--line:rgba(169,222,211,0.15);--muted:#82949a;--text:#f3f7f3;--text-soft:#c7d4cf;--accent:#42d6b1;--accent-strong:#2bbf99;--danger:#ff8d7a;--shadow:0 24px 80px rgba(0,0,0,0.42);--surface-soft:rgba(255,255,255,0.035);--surface-muted:rgba(255,255,255,0.04);--thumb-bg:#0a0f11;--overlay-bg:rgba(4,8,10,0.94);--modal-bg:#10181c;--hint-bg:rgba(6,14,16,0.72);--button-text-on-accent:#06221b}:root[data-theme=light]{--bg:#f5f7fa;--body-bg:linear-gradient(135deg,#f5f7fa,#eef4f2 52%,#f8fafc);--panel:rgba(255,255,255,0.94);--panel-strong:#ffffff;--line:rgba(30,41,59,0.14);--muted:#64748b;--text:#111827;--text-soft:#334155;--accent:#0f9f84;--accent-strong:#087a66;--danger:#dc3f35;--shadow:0 18px 48px rgba(15,23,42,0.1);--surface-soft:rgba(15,23,42,0.035);--surface-muted:rgba(15,23,42,0.045);--thumb-bg:#eef2f7;--overlay-bg:rgba(15,23,42,0.48);--modal-bg:#ffffff;--hint-bg:rgba(255,255,255,0.88);--button-text-on-accent:#ffffff}*{box-sizing:border-box}body{margin:0;background:var(--body-bg);color:var(--text);font-family:Aptos,Segoe UI,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{color:inherit}.studio-shell{height:100vh;overflow:hidden;padding:18px}.topbar{justify-content:space-between;margin:0 auto 16px;max-width:1680px}.brand,.ghost-button,.input-with-icon,.panel-title,.progress-card,.result-actions,.select-wrap,.status-pill,.top-actions,.topbar{align-items:center;display:flex}.brand{background:transparent;border:0;border-radius:8px;color:inherit;cursor:pointer;gap:12px;padding:0;text-align:left;transition:opacity .16s ease,transform .16s ease}.brand:hover{opacity:.86;transform:translateY(-1px)}.brand:focus-visible{outline:2px solid rgba(66,214,177,.65);outline-offset:6px}.brand-mark{align-items:center;background:rgba(66,214,177,.12);border:1px solid rgba(66,214,177,.5);border-radius:8px;color:var(--accent);display:inline-flex;height:36px;justify-content:center;width:36px}.brand h1,.panel-title h2{font-size:18px;margin:0}.brand p{color:var(--muted);font-size:12px;margin:2px 0 0}.top-actions{gap:10px}.ghost-button,.status-pill{background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;color:var(--text-soft);gap:8px;min-height:36px;padding:0 12px}.status-pill.good{border-color:rgba(66,214,177,.45);color:var(--accent)}.ghost-button{cursor:pointer}.workspace{display:grid;grid-gap:14px;gap:14px;grid-template-columns:282px minmax(640px,1fr) 336px;height:calc(100vh - 92px);margin:0 auto;max-width:1680px;min-height:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);min-height:0}.creator-panel,.results-panel,.settings-panel{padding:16px}.results-panel,.settings-panel{overflow:hidden}.panel-title{gap:8px;justify-content:space-between;margin-bottom:16px}.panel-title h2{margin-right:auto}.panel-title button,.panel-title span{background:var(--surface-muted);border:1px solid var(--line);border-radius:7px;color:var(--muted);font-size:12px;padding:5px 9px}.panel-title button{align-items:center;cursor:pointer;display:inline-flex;gap:5px}.panel-title button:disabled{cursor:not-allowed;opacity:.45}.field{display:grid;grid-gap:8px;gap:8px;margin-bottom:12px}.field>span,.prompt-field>span{align-items:center;color:var(--text-soft);display:flex;font-size:13px;justify-content:space-between}.field-note{align-items:center;color:var(--accent);display:inline-flex;font-size:11px;font-weight:400;gap:4px}.inline-toggle{background:transparent;border:0;color:var(--accent);cursor:pointer;font-size:12px;padding:0}input,select,textarea{background:var(--surface-soft);border:1px solid var(--line);border-radius:7px;color:var(--text);outline:none;transition:border-color .18s ease,box-shadow .18s ease;width:100%}input,select{height:38px;padding:0 10px}input:focus,select:focus,textarea:focus{border-color:rgba(66,214,177,.7);box-shadow:0 0 0 3px rgba(66,214,177,.09)}.input-with-icon,.select-wrap{position:relative}.input-with-icon>svg,.select-wrap>svg{color:var(--muted);pointer-events:none;position:absolute;right:10px}.input-with-icon input,.select-wrap select{padding-right:36px}.icon-input-button{background:transparent;border:0;color:var(--muted);display:inline-flex;height:100%;justify-content:center;padding:0;position:absolute;right:9px;top:0;width:28px}.check-row,.icon-input-button{align-items:center;cursor:pointer}.check-row{color:var(--text-soft);display:flex;font-size:13px;gap:8px;margin:-4px 0 16px}.check-row input{accent-color:var(--accent);height:15px;padding:0;width:15px}.clean-prompt-row{background:rgba(66,214,177,.055);border:1px solid rgba(66,214,177,.22);border-radius:8px;margin:0 0 12px;min-height:36px;padding:0 10px}select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.size-list{display:grid;grid-gap:7px;gap:7px}.size-option{align-items:center;background:var(--surface-soft);border:1px solid var(--line);border-radius:7px;cursor:pointer;display:grid;grid-gap:8px;gap:8px;grid-template-columns:18px 1fr auto;min-height:36px;padding:0 10px;text-align:left}.size-option b{font-size:13px;font-weight:500}.size-option small{color:var(--muted);font-size:11px}.size-option.active{background:rgba(66,214,177,.09);border-color:rgba(66,214,177,.75);color:var(--accent)}.custom-size{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:1fr 16px 1fr;margin:-4px 0 16px}.segmented{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:repeat(4,1fr);padding:3px}.mode-tabs button,.segmented button{background:transparent;border:0;border-radius:6px;color:var(--muted);cursor:pointer;min-height:32px}.mode-tabs button.active,.segmented button.active{background:rgba(66,214,177,.12);color:var(--text)}.compact button{font-size:12px}.stepper{border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:42px 1fr 42px;overflow:hidden}.stepper button{background:var(--surface-muted);border:0;cursor:pointer;min-height:36px}.stepper strong{justify-content:center}.advanced-row,.stepper strong{align-items:center;display:flex}.advanced-row{background:transparent;border:0;border-top:1px solid var(--line);color:var(--text-soft);cursor:pointer;justify-content:space-between;margin:4px -16px 0;padding:14px 16px 0;width:calc(100% + 32px)}.rotate{transform:rotate(180deg)}.hint{color:var(--muted);font-size:12px;line-height:1.7}.advanced-box{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.compact-field{margin-bottom:0}.creator-panel{grid-gap:12px;gap:12px;grid-template-rows:minmax(120px,1fr) 38px clamp(238px,28vh,272px) 46px;height:100%}.creator-panel,.studio-canvas{display:grid;min-height:0;overflow:hidden}.studio-canvas{border:1px solid rgba(66,214,177,.2);border-radius:8px;grid-template-rows:46px minmax(0,1fr) auto}.canvas-actions,.canvas-foot,.canvas-head,.canvas-tools{align-items:center;display:flex}.canvas-head{background:rgba(255,255,255,.018);border-bottom:1px solid var(--line);justify-content:space-between;padding:0 12px}.canvas-head div:first-child{display:grid;grid-gap:2px;gap:2px;min-width:0}.canvas-head strong{font-size:14px}.canvas-head span{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-actions,.canvas-tools{gap:8px}.canvas-actions button,.canvas-tools a,.canvas-tools button{align-items:center;background:var(--surface-muted);border:1px solid var(--line);border-radius:7px;color:var(--text-soft);cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:12px;gap:6px;min-height:32px;padding:0 10px;text-decoration:none;white-space:nowrap}.canvas-body{background:linear-gradient(45deg,rgba(255,255,255,.025) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.025) 25%,transparent 25%),var(--thumb-bg);background-size:20px 20px;padding:16px}.canvas-body,.canvas-image-button{align-items:center;display:flex;justify-content:center;min-height:0}.canvas-image-button{background:transparent;border:0;cursor:zoom-in;height:100%;max-height:100%;padding:0;width:100%}.canvas-image-button img{border-radius:7px;box-shadow:0 18px 54px rgba(0,0,0,.34);max-height:100%;max-width:100%;object-fit:contain}.canvas-state{align-items:center;color:var(--muted);display:flex;flex-direction:column;gap:9px;justify-content:center;min-height:240px;text-align:center}.canvas-state strong{color:var(--text-soft)}.canvas-foot{border-top:1px solid var(--line);gap:12px;justify-content:space-between;min-height:48px;padding:8px 12px}.canvas-foot p{color:var(--text-soft);display:-webkit-box;flex:1 1;font-size:12px;line-height:1.45;margin:0;min-width:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.mode-tabs{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:3px;gap:3px;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden;padding:3px}.mode-tabs button{align-items:center;border-radius:6px;display:inline-flex;gap:5px;justify-content:center;min-height:32px;padding:0 6px;position:relative;white-space:nowrap}.mode-tabs button,.mode-tabs button span{min-width:0;overflow:hidden;text-overflow:ellipsis}.mode-tabs button svg{flex:0 0 auto}.mode-tabs button.active{background:var(--surface-muted);color:var(--text)}.mode-tabs button.active:after{background:var(--accent);border-radius:999px;bottom:3px;content:"";height:2px;left:10px;position:absolute;right:10px}.composer-body,.prompt-field{display:grid;grid-gap:8px;gap:8px;min-height:0}.composer-body{align-content:start;grid-template-columns:78px minmax(0,1fr);height:100%;overflow:hidden}.composer-body.no-style-rail{grid-template-columns:minmax(0,1fr)}.composer-main{display:grid;grid-gap:8px;gap:8px;grid-template-rows:auto minmax(0,auto) auto;min-width:0;min-height:0}textarea{height:76px;min-height:76px;padding:10px 12px;resize:none}.prompt-heavy textarea{height:146px;min-height:146px}.prompt-field small{color:var(--muted);justify-self:end}.extract-card{align-items:center;background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(180px,1fr) 118px 120px;padding:10px}.extract-copy{display:grid;grid-gap:4px;gap:4px;min-width:0}.extract-copy strong{color:var(--text);font-size:14px}.extract-copy span{color:var(--muted);font-size:12px;line-height:1.5}.extract-upload{align-items:center;background:rgba(66,214,177,.05);border:1px dashed rgba(66,214,177,.32);border-radius:7px;color:var(--text-soft);cursor:pointer;display:flex;gap:7px;height:58px;justify-content:center;overflow:hidden;position:relative}.extract-upload input{inset:0;opacity:0;position:absolute}.extract-upload img{height:100%;object-fit:cover;width:100%}.extract-upload span{font-size:12px}.extract-button{align-items:center;background:rgba(66,214,177,.1);border:1px solid rgba(66,214,177,.34);border-radius:7px;color:var(--accent);cursor:pointer;display:inline-flex;gap:7px;justify-content:center;min-height:42px;padding:0 10px}.extract-button:disabled{cursor:wait;opacity:.7}.upload-zone{align-items:center;border:1px dashed rgba(199,212,207,.28);border-radius:8px;color:var(--muted);cursor:pointer;display:flex;flex-direction:column;gap:6px;justify-content:center;min-height:68px;overflow:hidden;position:relative;text-align:center}.upload-zone.required{border-color:rgba(66,214,177,.62)}.drop-upload-zone{background:var(--surface-soft);transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.drop-upload-zone:after{border:1px solid transparent;border-radius:inherit;content:"";inset:5px;pointer-events:none;position:absolute;transition:border-color .16s ease}.drop-upload-zone.dragging{background:rgba(66,214,177,.1);border-color:rgba(66,214,177,.92);box-shadow:0 0 0 4px rgba(66,214,177,.08);color:var(--text);transform:translateY(-1px)}.drop-upload-zone.dragging:after{border-color:rgba(66,214,177,.4)}.upload-zone input{inset:0;opacity:0;position:absolute}.upload-zone img{height:100%;object-fit:contain;width:100%}.upload-zone strong{color:var(--text-soft);font-size:13px}.upload-zone span{font-size:11px}.drop-hint{color:var(--accent);font-weight:600}.drop-upload-zone.has-preview .drop-hint{background:var(--hint-bg);border:1px solid rgba(255,255,255,.08);border-radius:999px;bottom:10px;left:50%;max-width:calc(100% - 20px);padding:5px 10px;position:absolute;transform:translateX(-50%);white-space:nowrap}.reference-block{display:grid;grid-gap:8px;gap:8px}.reference-meta{align-items:center;color:var(--muted);display:flex;font-size:12px;justify-content:space-between;min-height:24px}.reference-meta button{background:var(--surface-muted);border:1px solid var(--line);border-radius:7px;color:var(--text-soft);cursor:pointer;min-height:26px;padding:0 10px}.text-mode-note{align-items:center;background:rgba(66,214,177,.06);border:1px solid rgba(66,214,177,.18);border-radius:8px;color:var(--text-soft);display:flex;gap:10px;min-height:34px;padding:0 14px}.text-mode-note svg{color:var(--accent);flex:0 0 auto}.prompt-extract-zone{min-height:78px}.document-block{gap:7px}.document-upload-zone{min-height:68px;padding:8px 14px}.document-upload-zone.has-document{background:rgba(66,214,177,.055)}.document-upload-zone svg{color:var(--accent);flex:0 0 auto}.document-upload-zone span,.document-upload-zone strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-summary{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:9px 10px}.document-summary button{align-items:center;background:transparent;border:0;color:var(--text-soft);cursor:pointer;display:inline-flex;font-size:12px;gap:6px;justify-content:space-between;padding:0}.document-summary p{color:var(--muted);font-size:12px;line-height:1.55;margin:0;max-height:112px;overflow:auto;white-space:pre-wrap}.style-row{display:flex;flex-wrap:nowrap;gap:8px;overflow:hidden}.style-rail{align-content:start;display:grid;grid-gap:7px;gap:7px;grid-template-columns:1fr}.style-rail button,.style-row button{background:var(--surface-muted);border:1px solid var(--line);border-radius:7px;color:var(--text-soft);cursor:pointer;min-height:28px;padding:0 9px;white-space:nowrap}.style-rail button{align-items:center;display:inline-flex;gap:5px;justify-content:center;min-width:0}.style-rail button.active{background:rgba(66,214,177,.13);border-color:rgba(66,214,177,.72);color:var(--accent)}.style-rail button:disabled{cursor:wait;opacity:.72}.ghost-button:hover,.result-actions a:hover,.result-actions button:hover,.style-rail button:hover,.style-row button:hover{border-color:rgba(66,214,177,.52);color:var(--accent)}.error-box{background:rgba(255,141,122,.09);border:1px solid rgba(255,141,122,.3);border-radius:8px;color:var(--danger);padding:12px}.generate-button{align-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-strong));border:0;border-radius:8px;color:var(--button-text-on-accent);cursor:pointer;display:flex;font-weight:700;gap:9px;justify-content:center;margin-top:0;min-height:46px;position:static;z-index:3}.generate-button:disabled{cursor:wait;opacity:.75}.results-panel{display:flex;flex-direction:column}.results-panel>.hero-result{display:none}.result-grid{display:grid;grid-gap:12px;gap:12px;flex:1 1;min-height:0;align-content:start;overflow:auto;padding-right:4px}.result-grid.has-hero{max-height:none}.result-tabs{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:1fr 1fr;margin-bottom:12px;padding:3px}.side-result-tabs .history-duration-pill{display:none}.result-tabs button{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--muted);cursor:pointer;display:inline-flex;gap:6px;justify-content:center;min-height:32px}.result-tabs button.active{background:rgba(66,214,177,.12);color:var(--text)}.history-tab{min-width:0}.history-tab-label{align-items:center;display:inline-flex;gap:6px;min-width:0}.history-duration-pill{background:rgba(255,91,91,.1);border:1px solid rgba(255,91,91,.3);border-radius:999px;color:#ff8d7a;font-size:11px;font-weight:700;line-height:18px;max-width:72px;overflow:hidden;padding:0 7px;text-overflow:ellipsis;white-space:nowrap}.title-duration{background:rgba(255,91,91,.1)!important;border-color:rgba(255,91,91,.3)!important;color:#ff8d7a!important;margin-right:auto}.hero-result{background:var(--surface-soft);border:1px solid rgba(66,214,177,.22);border-radius:8px;display:grid;grid-gap:12px;gap:12px;margin-bottom:12px;padding:10px}.failed-record{border-color:rgba(255,92,112,.28)}.pending-record{border-color:rgba(110,168,255,.28)}.hero-image-frame{align-items:center;background:linear-gradient(45deg,rgba(255,255,255,.025) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.025) 25%,transparent 25%),var(--thumb-bg);background-size:18px 18px;border-radius:7px;display:flex;justify-content:center;max-height:360px;min-height:220px;overflow:hidden;position:relative}.hero-image-frame img{height:100%;object-fit:contain;width:100%}.image-open-button,.thumb-button{border:0;color:inherit;cursor:zoom-in;padding:0;width:100%}.open-image-hint{align-items:center;background:var(--hint-bg);border:1px solid rgba(255,255,255,.14);border-radius:7px;bottom:10px;color:var(--text);display:inline-flex;font-size:12px;gap:6px;opacity:0;padding:7px 9px;position:absolute;right:10px;transition:opacity .18s ease}.image-open-button:hover .open-image-hint{opacity:1}.hero-result-info p{color:var(--text-soft);display:-webkit-box;font-size:13px;line-height:1.5;margin:10px 0 4px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.hero-result-info small{color:var(--muted)}.result-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:82px minmax(0,1fr);padding:10px}.thumb-button{background:var(--thumb-bg);border-radius:6px;overflow:hidden;position:relative}.thumb-button span{align-items:center;background:var(--hint-bg);border-radius:6px;color:var(--text);display:inline-flex;height:28px;justify-content:center;opacity:0;position:absolute;right:8px;top:8px;transition:opacity .18s ease;width:28px}.thumb-button:hover span{opacity:1}.result-card img,.thumb-button img{aspect-ratio:1;background:var(--thumb-bg);border-radius:6px;object-fit:contain;width:100%}.result-card .attempt-thumb,.result-card .thumb-button{min-height:82px}.result-meta{min-width:0}.result-meta time{color:var(--muted);float:right;font-size:12px}.done{background:rgba(66,214,177,.11);color:var(--accent)}.done,.failed-badge,.pending-badge{border-radius:5px;font-size:12px;padding:4px 7px}.failed-badge{background:rgba(255,92,112,.12);color:#ff8d7a}.pending-badge{background:rgba(110,168,255,.12);color:#8db8ff}.attempt-thumb,.failed-result-box{align-items:center;background:rgba(255,92,112,.07);border:1px solid rgba(255,92,112,.18);border-radius:7px;color:#ffad9d;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:128px;padding:12px;text-align:center}.pending-record .attempt-thumb,.pending-record .failed-result-box{background:rgba(110,168,255,.07);border-color:rgba(110,168,255,.2);color:#9fc3ff}.result-card .attempt-thumb{min-height:82px}.failed-result-box{min-height:220px}.failed-result-box small,.failed-result-box span{color:var(--muted);line-height:1.45;max-width:100%;overflow-wrap:anywhere}.error-tag{color:#ff9b8a;line-height:1.45;margin:4px 0}.error-tag,.result-meta p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.result-meta p{color:var(--text-soft);font-size:13px;line-height:1.5;margin:10px 0 4px}.result-meta small{color:var(--muted)}.mail-tag{display:block;margin-top:4px}.result-actions{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;margin-top:12px;min-width:0;white-space:nowrap}.result-actions a,.result-actions button{align-items:center;background:var(--surface-muted);border:1px solid var(--line);border-radius:7px;color:var(--text-soft);cursor:pointer;display:inline-flex;flex:0 0 auto;gap:6px;min-height:32px;padding:0 9px;text-decoration:none;white-space:nowrap}.compact-actions{display:grid;grid-gap:5px;gap:5px;grid-template-columns:repeat(5,minmax(0,1fr));justify-content:stretch;margin-top:10px;max-width:100%;overflow:visible}.compact-actions .primary-action{background:rgba(66,214,177,.1);border-color:rgba(66,214,177,.34);color:var(--accent);font-weight:700;gap:4px;justify-content:center;min-height:28px;min-width:0;overflow:hidden;padding:0 6px;text-overflow:ellipsis}.icon-action-group{display:contents;max-width:100%;min-width:0}.compact-actions .icon-action{height:28px;justify-content:center;min-height:28px;min-width:0;padding:0;width:100%}.empty-result{align-items:center;border:1px dashed rgba(199,212,207,.22);border-radius:8px;color:var(--muted);display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:260px;text-align:center}.empty-result strong{color:var(--text-soft)}.compact-empty{min-height:92px}.compare-modal{align-items:center;background:var(--overlay-bg);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:60}.compare-panel{background:var(--modal-bg);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:14px;gap:14px;max-height:calc(100vh - 48px);max-width:920px;overflow:auto;padding:16px;width:min(920px,100%)}.compare-header{align-items:center;display:flex;justify-content:space-between}.compare-header div{display:grid;grid-gap:4px;gap:4px}.compare-grid span,.compare-header span{color:var(--muted);font-size:12px}.compare-header button{align-items:center;background:var(--surface-muted);border:1px solid var(--line);border-radius:7px;color:var(--text-soft);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.compare-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr 1fr}.compare-grid section{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;min-width:0;padding:12px}.compare-grid p{color:var(--text-soft);line-height:1.6;margin:0;max-height:420px;overflow:auto;white-space:pre-wrap}.compare-prompt-block{display:grid;grid-gap:8px;gap:8px}.compare-prompt-block small{color:var(--muted);line-height:1.5}.compare-grid img{background:var(--thumb-bg);border-radius:7px;max-height:520px;object-fit:contain;width:100%}.compact-failed-box{min-height:260px}.history-tools{display:grid;grid-gap:10px;gap:10px;margin-bottom:12px}.history-filters{display:grid;grid-gap:3px;gap:3px;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;padding:3px}.history-filters button{background:transparent;border:0;border-radius:6px;color:var(--text-soft);cursor:pointer;font-size:12px;min-height:32px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-filters button.active{background:var(--accent);color:var(--button-text-on-accent)}.lightbox{background:var(--overlay-bg);display:grid;grid-template-rows:auto 1fr auto;inset:0;position:fixed;z-index:50}.lightbox-detail,.lightbox-topbar{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--modal-bg);border-color:rgba(255,255,255,.09);display:flex;justify-content:space-between;padding:14px 18px}.lightbox-topbar{border-bottom:1px solid rgba(255,255,255,.09)}.lightbox-topbar strong{display:block}.lightbox-topbar span{color:var(--muted);display:block;font-size:12px;margin-top:3px}.lightbox-actions{display:flex;gap:8px}.lightbox-actions button,.lightbox-nav{align-items:center;background:var(--surface-muted);border:1px solid var(--line);border-radius:7px;color:var(--text);cursor:pointer;display:inline-flex;justify-content:center;min-height:34px;min-width:38px;padding:0 10px}.lightbox-stage{align-items:center;display:flex;justify-content:center;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lightbox-stage.pannable{cursor:-webkit-grab;cursor:grab}.lightbox-stage.pannable:active{cursor:-webkit-grabbing;cursor:grabbing}.lightbox-stage img{max-height:calc(100vh - 188px);max-width:calc(100vw - 96px);object-fit:contain;transition:transform .12s ease;will-change:transform}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.lightbox-nav.prev{left:20px}.lightbox-nav.next{right:20px}.drag-tip{align-items:center;background:var(--hint-bg);border:1px solid rgba(255,255,255,.12);border-radius:999px;bottom:18px;color:var(--text-soft);display:inline-flex;font-size:12px;gap:6px;padding:7px 11px;position:absolute}.lightbox-detail{border-top:1px solid rgba(255,255,255,.09);gap:16px}.lightbox-detail p{color:var(--text-soft);display:-webkit-box;line-height:1.5;margin:0;max-width:70%;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.progress-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;gap:10px;margin-top:auto;min-height:48px;padding:0 12px}.progress-card svg{color:var(--accent)}.progress-card span{color:var(--text-soft);min-width:120px}.progress{background:var(--surface-muted);border-radius:999px;flex:1 1;height:6px;overflow:hidden;position:relative}.progress:after{background:var(--accent);content:"";height:100%;left:0;position:absolute;top:0;transform:scaleX(.2);transform-origin:left;width:100%}.progress.active:after{animation:progress 1.4s ease-in-out infinite}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes progress{0%{transform:translateX(-85%) scaleX(.35)}50%{transform:translateX(10%) scaleX(.52)}to{transform:translateX(100%) scaleX(.35)}}.audit-shell{color:var(--text);margin:0 auto;max-width:1180px;min-height:100vh;padding:28px 18px}.audit-topbar{align-items:flex-end;display:flex;gap:18px;justify-content:space-between;margin-bottom:18px}.audit-kicker{align-items:center;color:var(--accent);display:inline-flex;font-size:13px;gap:7px;margin-bottom:8px}.audit-topbar h1{font-size:28px;margin:0}.audit-topbar p{color:var(--muted);margin:8px 0 0}.audit-token{display:flex;gap:10px;min-width:360px}.audit-token button{align-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-strong));border:0;border-radius:8px;color:var(--button-text-on-accent);cursor:pointer;display:inline-flex;font-weight:700;gap:7px;min-height:38px;padding:0 14px;white-space:nowrap}.audit-error{background:rgba(255,141,122,.09);border:1px solid rgba(255,141,122,.3);border-radius:8px;color:var(--danger);margin-bottom:14px;padding:12px 14px}.audit-cards{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.audit-cards article,.audit-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.audit-cards article{display:grid;grid-gap:8px;gap:8px;padding:16px}.audit-cards svg{color:var(--accent)}.audit-cards span,.audit-panel-head span{color:var(--muted);font-size:13px}.audit-cards strong{font-size:28px}.audit-panel{overflow:hidden}.audit-panel-head{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:16px}.audit-panel-head h2{font-size:18px;margin:0}.audit-table-wrap{overflow:auto}.audit-table{border-collapse:collapse;min-width:860px;width:100%}.audit-request-table{min-width:1180px}.audit-table td,.audit-table th{border-bottom:1px solid var(--line);padding:13px 14px;text-align:left}.audit-table th{color:var(--muted);font-size:12px;font-weight:600}.audit-table td{color:var(--text-soft);font-size:14px}.audit-prompt-cell{line-height:1.5;max-width:360px;white-space:normal}@media (max-width:1180px){.workspace{grid-template-columns:280px 1fr}.results-panel{grid-column:1/-1;min-height:420px}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.audit-token,.audit-topbar{align-items:stretch;display:grid;min-width:0}.audit-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-shell{padding:12px}.topbar,.workspace{display:grid;grid-template-columns:1fr}.top-actions{align-items:stretch;display:grid;grid-template-columns:1fr 1fr}.panel{min-height:auto}.result-grid{grid-template-columns:1fr}.result-card{grid-template-columns:104px 1fr}.extract-card{grid-template-columns:1fr}.extract-button,.extract-upload{width:100%}.composer-body{grid-template-columns:minmax(0,1fr)}.style-rail{display:flex;flex-wrap:nowrap;overflow-x:auto}.style-rail button{flex:0 0 auto}}