:root{color:#182230;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--text-primary:#182230;--text-secondary:#46566d;--text-muted:#66758a;--border-soft:#dfe3e8;--border-strong:#c6ced8;--surface-card:#fff;--surface-soft:#f7f8fa;--surface-subtle:#f3f4f6;--surface-sidebar:#fffaf3;--surface-highlight:#fff;--shadow-surface:0 1px 2px #1822300a, 0 8px 24px #1822300e;--navy-strong:#172a46;--navy-strong-hover:#203957;--amber-strong:#f5a43c;--amber-hover:#e9952d;--amber-soft:#fff4e3;--success-strong:#16794b;--success-soft:#e9f7ef;--info-strong:#2764a5;--info-soft:#eaf2fb;--warning-strong:#9a6413;--warning-soft:#fff4dc;--danger-strong:#bd3d32;--danger-soft:#fcecea;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--font-caption:12px;--font-body:14px;--font-subtitle:18px;--font-title:26px;--app-zoom:1;--app-viewport-width:calc(100% / var(--app-zoom));--app-viewport-height:calc(100vh / var(--app-zoom));background:#f3f4f6;font-family:Avenir Next,SF Pro Display,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#f3f4f6;min-width:320px;margin:0}button,input,textarea,select{font:inherit}input,textarea,select,button,strong{font-variant-numeric:tabular-nums}button{outline:none}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{box-shadow:0 0 0 3px #2756992e}#root{width:var(--app-viewport-width);min-height:var(--app-viewport-height);zoom:var(--app-zoom)}@supports not (zoom:1){#root{min-height:var(--app-viewport-height);transform:scale(var(--app-zoom));transform-origin:0 0}}a{color:inherit}.business-projects-workspace{min-height:calc(var(--app-viewport-height) - 48px);background:var(--surface-subtle);padding:18px}.business-projects-toolbar{grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:20px;max-width:1600px;margin:0 auto 14px;display:grid}.business-projects-eyebrow,.business-project-editor header p{color:var(--text-muted);margin:0 0 2px;font-size:12px}.business-projects-toolbar h1,.business-project-detail h2,.business-project-editor h2{letter-spacing:0;margin:0}.business-projects-toolbar h1{font-size:24px}.business-projects-summary{color:var(--text-muted);gap:18px;font-size:13px;display:flex}.business-projects-summary strong{color:var(--text-primary);margin-left:4px}.business-projects-primary,.business-projects-secondary{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;min-height:36px;padding:7px 14px;font-weight:700}.business-projects-primary{background:var(--navy-strong);color:#fff}.business-projects-primary:hover:not(:disabled){background:var(--navy-strong-hover)}.business-projects-secondary{border-color:var(--border-soft);color:var(--text-secondary);background:#fff}.business-projects-primary:disabled,.business-projects-secondary:disabled{cursor:default;opacity:.55}.business-projects-layout{height:calc(var(--app-viewport-height) - 132px);border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-card);max-width:1600px;min-height:0;box-shadow:var(--shadow-surface);grid-template-columns:minmax(280px,360px) minmax(0,1fr);margin:0 auto;display:grid;overflow:hidden}.business-projects-index{border-right:1px solid var(--border-soft);background:var(--surface-soft);flex-direction:column;min-width:0;display:flex}.business-projects-filters{border-bottom:1px solid var(--border-soft);grid-template-columns:minmax(0,1fr) 118px;gap:8px;padding:12px;display:grid}.business-projects-filters label,.business-project-editor-fields label{color:var(--text-secondary);gap:5px;font-size:12px;display:grid}.business-projects-filters input,.business-projects-filters select,.business-project-editor-fields input,.business-project-editor-fields select,.business-project-editor-fields textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-height:36px;color:var(--text-primary);background:#fff;padding:7px 10px}.business-projects-list{min-height:0;overflow:auto}.business-project-row{border:0;border-bottom:1px solid var(--border-soft);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;gap:7px;padding:13px 14px;display:grid}.business-project-row:hover{background:#fff}.business-project-row.is-active{box-shadow:inset 3px 0 0 var(--amber-strong);background:#fff}.business-project-row-topline,.business-project-row-meta{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.business-project-row-topline strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.business-project-row-meta,.business-project-row-source{color:var(--text-muted);font-size:12px}.business-project-row-source{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.business-project-status{background:var(--surface-subtle);color:var(--text-secondary);border-radius:4px;flex:none;padding:2px 6px;font-size:11px;font-weight:700}.business-project-status.status-in_progress{background:var(--info-soft);color:var(--info-strong)}.business-project-status.status-review{background:var(--warning-soft);color:var(--warning-strong)}.business-project-status.status-delivered{background:var(--success-soft);color:var(--success-strong)}.business-project-detail{background:#fff;min-width:0;min-height:0;overflow:auto}.business-project-detail-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:flex-start;gap:24px;padding:22px 24px 18px;display:flex}.business-project-detail-kicker{color:var(--text-muted);align-items:center;gap:10px;margin-bottom:8px;font-size:12px;display:flex}.business-project-detail h2{font-size:22px}.business-project-detail-header p{color:var(--text-muted);margin:5px 0 0}.business-project-detail-body{max-width:1120px;padding:22px 24px 40px}.business-project-section{border-bottom:1px solid var(--border-soft);margin:0 0 22px;padding:0 0 22px}.business-project-section:last-child{border-bottom:0}.business-project-section h3{margin:0 0 12px;font-size:15px}.business-project-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.business-project-section-heading h3{margin-bottom:0}.business-project-section-description,.business-project-desktop-note{color:var(--text-muted);margin:4px 0 0;font-size:12px}.business-project-inline-actions,.business-project-section-actions{flex:none;gap:8px;display:flex}.business-project-section-actions .business-projects-primary,.business-project-section-actions .business-projects-secondary{min-height:32px;padding:5px 11px;font-size:12px}.business-project-inline-actions .business-projects-secondary,.business-project-section-heading .business-projects-secondary{min-height:30px;padding:5px 10px;font-size:12px}.business-project-facts{grid-template-columns:repeat(4,minmax(130px,1fr));gap:16px 24px;margin:0;display:grid}.business-project-facts div{min-width:0}.business-project-facts dt{color:var(--text-muted);font-size:12px}.business-project-facts dd{overflow-wrap:anywhere;color:var(--text-primary);margin:4px 0 0;font-size:14px}.business-project-requirements>p,.business-project-note p,.business-project-next-stage p{color:var(--text-secondary);white-space:pre-wrap;margin:0;line-height:1.75}.business-project-note{border-left:3px solid var(--amber-strong);background:var(--amber-soft);margin-top:14px;padding:12px 14px}.business-project-note strong{margin-bottom:4px;font-size:12px;display:block}.business-project-local-path{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-soft);grid-template-columns:100px minmax(0,1fr);gap:12px;padding:12px 14px;display:grid}.business-project-local-path span{color:var(--text-muted);font-size:12px}.business-project-local-path strong{overflow-wrap:anywhere;font-size:13px}.business-project-library-status{background:var(--surface-subtle);width:fit-content;color:var(--text-secondary);border-radius:4px;padding:3px 7px;font-size:11px;font-weight:700}.business-project-library-status.status-scanned{background:var(--success-soft);color:var(--success-strong)}.business-project-library-status.status-pending_scan,.business-project-library-status.status-not_initialized{background:var(--warning-soft);color:var(--warning-strong)}.business-project-material-directory{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#fff;margin-top:12px;overflow:hidden}.business-project-material-directory-heading{border-bottom:1px solid var(--border-soft);background:var(--surface-soft);justify-content:space-between;align-items:flex-start;gap:18px;padding:12px 14px;display:flex}.business-project-material-directory-heading h4{margin:0;font-size:13px}.business-project-material-directory-heading p,.business-project-material-directory-heading>span{color:var(--text-muted);margin:3px 0 0;font-size:11px}.business-project-material-directory-heading>span{flex:none}.business-project-material-list article{border-bottom:1px solid var(--border-soft);grid-template-columns:minmax(210px,1fr) 78px 88px minmax(220px,auto);align-items:center;gap:12px;min-height:58px;padding:8px 12px;display:grid}.business-project-material-list article:last-child{border-bottom:0}.business-project-material-list article.is-empty{background:#fbfcfd}.business-project-material-identity{align-items:center;gap:10px;min-width:0;display:flex}.business-project-material-identity>span{width:30px;height:30px;color:var(--text-secondary);background:#f3f6f8;border:1px solid #d8e0e8;border-radius:5px;flex:0 0 30px;place-items:center;font-size:12px;font-weight:800;display:grid}.business-project-material-identity>div{gap:3px;min-width:0;display:grid}.business-project-material-identity strong{font-size:13px}.business-project-material-identity small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.business-project-material-count{color:var(--text-muted);align-items:baseline;gap:4px;font-size:10px;display:flex}.business-project-material-count strong{color:var(--text-primary);font-size:14px}.business-project-material-state{background:var(--surface-subtle);width:fit-content;color:var(--text-muted);border-radius:4px;padding:3px 6px;font-size:10px;font-weight:700}.business-project-material-state.is-standard{background:var(--success-soft);color:var(--success-strong)}.business-project-material-state.needs-standard{background:var(--warning-soft);color:var(--warning-strong)}.business-project-material-actions{justify-content:flex-end;gap:5px;display:flex}.business-project-material-actions button,.business-project-unmatched-directories button{border:1px solid var(--border-soft);min-height:28px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:#fff;border-radius:5px;padding:4px 8px;font-size:11px}.business-project-material-actions button:hover:not(:disabled),.business-project-unmatched-directories button:hover:not(:disabled){color:var(--text-primary);border-color:#c8a15a}.business-project-material-actions button:disabled{cursor:not-allowed;opacity:.5}.business-project-material-loading{color:var(--text-muted);padding:18px 14px;font-size:12px}.business-project-unmatched-directories{border-top:1px solid var(--border-soft);background:var(--warning-soft);grid-template-columns:180px minmax(0,1fr);gap:14px;padding:11px 12px;display:grid}.business-project-unmatched-directories>div:first-child{gap:3px;display:grid}.business-project-unmatched-directories strong{font-size:12px}.business-project-unmatched-directories>div:first-child span{color:var(--text-muted);font-size:10px}.business-project-unmatched-directories>div:last-child{flex-wrap:wrap;gap:6px;display:flex}.business-project-unmatched-directories button span{color:var(--text-muted);margin-left:6px}.business-project-inline-message{border:1px solid var(--border-soft);border-radius:var(--radius-sm);margin-top:10px;padding:8px 10px;font-size:11px}.business-project-inline-message.is-error{background:var(--danger-soft);color:var(--danger-strong);border-color:#efc8c3}.business-project-inline-message.is-success{background:var(--success-soft);color:var(--success-strong);border-color:#b8ddc7}.business-project-attachment-heading{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:14px;display:flex}.business-project-attachment-heading>div{gap:2px;display:grid}.business-project-attachment-heading strong{font-size:13px}.business-project-attachment-heading span,.business-project-attachment-empty{color:var(--text-muted);font-size:12px}.business-project-attachment-heading .business-projects-secondary{min-height:30px;padding:5px 10px;font-size:12px}.business-project-attachment-list{gap:6px;margin-top:10px;display:grid}.business-project-attachment-list article{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-soft);grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:8px 10px;display:grid}.business-project-attachment-type{background:var(--surface-strong);color:var(--text-secondary);text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:4px 5px;font-size:10px;overflow:hidden}.business-project-attachment-list article>div:not(.business-project-attachment-actions){gap:2px;min-width:0;display:grid}.business-project-attachment-list article strong,.business-project-attachment-list article>div>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.business-project-attachment-list article strong{font-size:13px}.business-project-attachment-list article>div>span{color:var(--text-muted);font-size:11px}.business-project-attachment-actions{gap:4px;display:flex}.business-project-attachment-actions button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:5px 7px;font-size:12px}.business-project-attachment-actions button:last-child{color:var(--danger-strong)}.business-project-attachment-actions button:disabled{cursor:not-allowed;opacity:.45}.business-project-attachment-empty{border:1px dashed var(--border-soft);border-radius:var(--radius-sm);text-align:center;margin:10px 0 0;padding:12px}.business-project-batch-list,.business-project-template-libraries{gap:8px;display:grid}.business-project-template-libraries article{background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:16px;padding:11px 12px;display:flex}.business-project-template-libraries article>div{gap:3px;min-width:0;display:grid}.business-project-template-libraries article span,.business-project-template-libraries article small{color:var(--text-muted);font-size:11px}.business-project-template-libraries article strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.business-project-template-libraries article button{border:1px solid var(--border-soft);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;flex:none;padding:6px 9px;font-size:12px}.business-project-template-actions{flex:none;gap:6px;display:flex}.business-project-template-libraries article button.is-danger{color:var(--danger-strong);border-color:#0000}.business-project-batch-list article{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-soft);justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.business-project-batch-list article>div:first-child{gap:3px;min-width:0;display:grid}.business-project-batch-actions{flex:none;align-items:center;gap:4px;display:flex}.business-project-batch-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.business-project-batch-list span,.business-project-batch-empty{color:var(--text-muted);font-size:12px}.business-project-batch-list button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;flex:none;padding:5px 8px}.business-project-batch-list button.business-project-batch-remove{color:var(--danger-strong)}.business-project-batch-list button:disabled{cursor:not-allowed;opacity:.5}.business-project-batch-empty{border:1px dashed var(--border-soft);border-radius:var(--radius-sm);text-align:center;margin:0;padding:16px}.business-project-next-stage{justify-content:space-between;gap:18px;display:flex}.business-project-next-stage>span{background:var(--surface-subtle);height:fit-content;color:var(--text-muted);border-radius:4px;padding:3px 7px;font-size:11px}.business-projects-empty,.business-project-detail-empty{min-height:180px;color:var(--text-muted);text-align:center;place-content:center;gap:5px;margin:0;padding:24px;display:grid}.business-projects-empty strong,.business-project-detail-empty strong{color:var(--text-secondary)}.business-project-detail-empty{min-height:420px}.business-projects-error{border-radius:var(--radius-sm);background:var(--danger-soft);max-width:1600px;color:var(--danger-strong);border:1px solid #efc8c3;margin:0 auto 12px;padding:9px 12px;font-size:13px}.business-project-editor-backdrop{z-index:80;background:#18223070;justify-content:flex-end;display:flex;position:fixed;inset:0}.business-project-editor{background:#fff;grid-template-rows:auto minmax(0,1fr) auto auto;width:min(680px,100vw);height:100vh;display:grid;box-shadow:-18px 0 44px #1822302e}.business-project-editor header,.business-project-editor footer{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.business-project-editor header button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:6px 8px}.business-project-editor h2{font-size:20px}.business-project-editor-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:14px;padding:18px 20px 28px;display:grid;overflow:auto}.business-project-editor-fields label.is-wide{grid-column:1/-1}.business-project-editor-fields textarea{resize:vertical}.business-project-folder-field{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.business-project-folder-field .business-projects-secondary{min-width:92px}.business-project-picker-backdrop{z-index:90;background:#1822307a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.business-project-dialog-backdrop{z-index:95;background:#18223085;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.business-project-rule-dialog{border-radius:var(--radius-md);background:#fff;grid-template-rows:auto minmax(0,1fr) auto;width:min(980px,100vw - 32px);height:min(780px,100vh - 40px);display:grid;overflow:hidden;box-shadow:0 22px 60px #18223042}.business-project-rule-dialog header,.business-project-rule-dialog footer{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.business-project-rule-dialog header p,.business-project-rule-dialog h2{margin:0}.business-project-rule-dialog header p{color:var(--text-muted);font-size:12px}.business-project-rule-dialog h2{margin-top:3px;font-size:20px}.business-project-rule-dialog header button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0}.business-project-rule-dialog footer{border-top:1px solid var(--border-soft);border-bottom:0;justify-content:flex-end}.business-project-rule-dialog footer button{border:1px solid var(--border-soft);border-radius:var(--radius-sm);cursor:pointer;background:#fff;min-height:36px;padding:7px 16px}.business-project-rule-dialog footer button.is-primary{border-color:var(--navy-strong);background:var(--navy-strong);color:#fff}.business-project-rule-dialog button:disabled{cursor:default;opacity:.5}.business-project-rule-body{min-height:0;padding:18px 20px;overflow:auto}.business-project-rule-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.business-project-rule-fields label{color:var(--text-secondary);gap:6px;font-size:12px;display:grid}.business-project-rule-fields input,.business-project-rule-fields select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:38px;color:var(--text-primary);background:#fff;padding:7px 9px}.business-project-rule-summary{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-soft);gap:24px;margin:16px 0 10px;padding:12px 14px;display:flex}.business-project-rule-summary span{color:var(--text-secondary)}.business-project-rule-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.business-project-rule-groups label{border:1px solid var(--border-soft);border-radius:var(--radius-sm);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;padding:10px;display:grid}.business-project-rule-groups label.has-error{background:var(--danger-soft);border-color:#efc5bf}.business-project-rule-groups label>span{gap:3px;min-width:0;display:grid}.business-project-rule-groups strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.business-project-rule-groups small{color:var(--text-muted);font-size:11px;line-height:1.4}.business-project-rule-message{border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning-strong);border:1px solid #ead79e;gap:3px;margin-top:12px;padding:12px 14px;font-size:12px;display:grid}.business-project-rule-message.is-error{background:var(--danger-soft);color:var(--danger-strong);border-color:#efc5bf}.business-project-rule-state{color:var(--text-secondary);margin:16px 0 0}.business-project-rule-error{border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger-strong);margin:12px 0 0;padding:10px 12px}.business-project-batch-picker{border-radius:var(--radius-md);background:#fff;grid-template-rows:auto minmax(0,1fr) auto;width:min(620px,100vw - 32px);max-height:min(720px,100vh - 48px);display:grid;overflow:hidden;box-shadow:0 20px 56px #18223038}.business-project-batch-picker header,.business-project-batch-picker footer{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.business-project-batch-picker header p,.business-project-batch-picker-body>p{color:var(--text-muted);margin:0;font-size:12px}.business-project-batch-picker h2{margin:3px 0 0;font-size:18px}.business-project-batch-picker header>button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0}.business-project-batch-picker-body{min-height:220px;padding:16px 18px;overflow:auto}.business-project-batch-options{gap:8px;margin-top:12px;display:grid}.business-project-batch-options label{border:1px solid var(--border-soft);border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:11px 12px;display:grid}.business-project-batch-options label.is-selected{border-color:var(--amber-strong);background:var(--amber-soft)}.business-project-batch-options label>span{gap:3px;min-width:0;display:grid}.business-project-batch-options strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.business-project-batch-options small,.business-project-batch-picker footer>span{color:var(--text-muted);font-size:12px}.business-project-batch-picker footer{border-top:1px solid var(--border-soft);border-bottom:0}.business-project-batch-picker footer>div{gap:8px;display:flex}.business-project-source-picker{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#f8fafc;grid-column:1/-1;padding:12px}.business-project-source-tabs{border-radius:var(--radius-sm);background:#e9eef4;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:3px;display:grid}.business-project-source-tabs button,.business-project-feishu-search button,.business-project-feishu-results button,.business-project-feishu-state button,.business-project-feishu-connection button{border-radius:var(--radius-sm);min-height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000}.business-project-source-tabs button.is-active{border-color:var(--border-soft);color:var(--text-primary);background:#fff;font-weight:600;box-shadow:0 1px 3px #18223014}.business-project-source-note,.business-project-feishu-imported{color:var(--text-secondary);margin:9px 2px 0;font-size:12px}.business-project-feishu-picker{margin-top:10px}.business-project-feishu-connection{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#fff;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:10px 12px;display:flex}.business-project-feishu-connection>div,.business-project-feishu-connection:not(.is-action):not(.is-pending){gap:3px;display:grid}.business-project-feishu-connection span{color:var(--text-secondary);font-size:12px}.business-project-feishu-connection.is-pending{background:#fffaf0;border-color:#efcf94}.business-project-feishu-connection button{border-color:var(--border-soft);background:#fff;flex:none;min-height:32px;padding:0 12px}.business-project-feishu-connected{color:#23744c;align-items:center;min-height:28px;margin-bottom:7px;font-size:12px;font-weight:600;display:flex}.business-project-feishu-search{grid-template-columns:minmax(0,1fr) 72px;gap:8px;display:grid}.business-project-feishu-search input{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#fff;min-width:0;height:38px;padding:0 11px}.business-project-feishu-search button,.business-project-feishu-results button,.business-project-feishu-state button{border-color:var(--border-soft);background:#fff}.business-project-feishu-search button:hover:not(:disabled),.business-project-feishu-results button:hover:not(:disabled),.business-project-feishu-state button:hover:not(:disabled){border-color:var(--amber-strong);color:var(--warning-strong)}.business-project-feishu-results{gap:6px;max-height:210px;margin-top:8px;display:grid;overflow:auto}.business-project-feishu-results article{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.business-project-feishu-results article.is-selected{background:#fffaf0;border-color:#e3a543}.business-project-feishu-results article>div{gap:3px;min-width:0;display:grid}.business-project-feishu-results strong,.business-project-feishu-results span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.business-project-feishu-results span{color:var(--text-secondary);font-size:12px}.business-project-feishu-results button{flex:none;padding:0 12px}.business-project-feishu-state{border:1px dashed var(--border-soft);border-radius:var(--radius-sm);min-height:48px;color:var(--text-secondary);align-items:center;gap:8px;margin-top:8px;padding:9px 10px;font-size:12px;display:flex}.business-project-feishu-state.is-error{background:var(--danger-soft);color:var(--danger-strong);border-style:solid;border-color:#efc8c3;flex-direction:column;align-items:flex-start}.business-project-feishu-state button{min-height:30px;padding:0 10px}.business-project-editor .business-projects-error{width:auto;margin:0 20px 12px}.business-project-editor footer{border-top:1px solid var(--border-soft);border-bottom:0;justify-content:flex-end}.business-project-library-modal{border-radius:var(--radius-md);background:#fff;grid-template-rows:auto minmax(0,1fr) auto;width:min(1040px,100vw - 48px);height:min(860px,100vh - 48px);display:grid;overflow:hidden;box-shadow:0 20px 56px #18223038}.business-project-library-modal>header,.business-project-library-modal>footer{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.business-project-library-modal>header p,.business-project-library-modal>footer span{color:var(--text-muted);margin:0;font-size:12px}.business-project-library-modal h2,.business-project-library-modal h3{letter-spacing:0;margin:0}.business-project-library-modal h2{margin-top:3px;font-size:19px}.business-project-library-modal h3{font-size:15px}.business-project-library-modal>header>button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0}.business-project-library-body{min-height:0;overflow:auto}.business-project-library-overview,.business-project-library-standardization{padding:18px 20px}.business-project-library-standardization{border-top:1px solid var(--border-soft)}.business-project-library-heading,.business-project-library-section-title,.business-project-library-audit-actions,.business-project-library-confirm{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.business-project-library-heading>div:first-child{gap:7px;min-width:0;display:grid}.business-project-library-heading>div:first-child>strong{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.business-project-library-summary{border:1px solid var(--border-soft);border-radius:var(--radius-sm);grid-template-columns:repeat(auto-fit,minmax(112px,1fr));margin-top:16px;display:grid}.business-project-library-summary>div{border-right:1px solid var(--border-soft);gap:4px;padding:11px 12px;display:grid}.business-project-library-summary>div:last-child{border-right:0}.business-project-library-summary span{color:var(--text-muted);font-size:11px}.business-project-library-summary strong{font-size:18px}.business-project-library-summary small{color:var(--text-muted);font-size:10px}.business-project-library-summary .tone-warning strong{color:var(--warning-strong)}.business-project-library-summary .tone-danger strong{color:var(--danger-strong)}.business-project-library-directories{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.business-project-library-directories span{background:var(--surface-subtle);color:var(--text-muted);border-radius:4px;padding:3px 6px;font-size:10px}.business-project-library-directories span.is-ready{background:var(--success-soft);color:var(--success-strong)}.business-project-library-section-title p,.business-project-library-audit-actions>span,.business-project-library-confirm>span,.business-project-library-audit>p{color:var(--text-muted);margin:4px 0 0;font-size:12px}.business-project-library-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.business-project-library-inputs label{color:var(--text-secondary);gap:6px;font-size:12px;display:grid}.business-project-library-inputs label>div{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:42px;display:grid;overflow:hidden}.business-project-library-inputs strong{text-overflow:ellipsis;white-space:nowrap;padding:0 10px;font-size:12px;overflow:hidden}.business-project-library-inputs button{border:0;border-left:1px solid var(--border-soft);color:var(--text-secondary);cursor:pointer;background:#fff;align-self:stretch;padding:0 11px}.business-project-library-audit-actions{align-items:center;margin-top:12px}.business-project-library-audit{border-top:1px solid var(--border-soft);margin-top:14px}.business-project-library-audit-summary{flex-wrap:wrap;gap:7px;padding:12px 0 10px;display:flex}.business-project-library-audit-summary span{background:var(--surface-subtle);color:var(--text-secondary);border-radius:4px;padding:3px 7px;font-size:11px}.business-project-library-audit-summary span.is-ready{background:var(--success-soft);color:var(--success-strong)}.business-project-library-audit-summary span.is-warning{background:var(--warning-soft);color:var(--warning-strong)}.business-project-library-audit-summary span.is-danger{background:var(--danger-soft);color:var(--danger-strong)}.business-project-library-audit-list{border:1px solid var(--border-soft);border-radius:var(--radius-sm);max-height:270px;overflow:auto}.business-project-library-audit-list article{border-bottom:1px solid var(--border-soft);grid-template-columns:64px minmax(0,1fr);align-items:start;gap:10px;padding:9px 10px;display:grid}.business-project-library-audit-list article:last-child{border-bottom:0}.business-project-library-audit-list article>span{background:var(--surface-subtle);width:fit-content;color:var(--text-secondary);border-radius:4px;padding:2px 5px;font-size:10px}.business-project-library-audit-list article.status-ready>span{background:var(--success-soft);color:var(--success-strong)}.business-project-library-audit-list article.status-unmatched>span,.business-project-library-audit-list article.status-conflict>span{background:var(--warning-soft);color:var(--warning-strong)}.business-project-library-audit-list article>div{gap:3px;min-width:0;display:grid}.business-project-library-audit-list strong,.business-project-library-audit-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.business-project-library-audit-list strong{font-size:12px}.business-project-library-audit-list small{color:var(--text-muted);font-size:11px}.business-project-library-confirm{align-items:center;padding-top:12px}.business-project-library-message{border:1px solid var(--border-soft);border-radius:var(--radius-sm);margin:0 20px 14px;padding:9px 12px;font-size:12px}.business-project-library-message.is-error{background:var(--danger-soft);color:var(--danger-strong);border-color:#efc8c3}.business-project-library-message.is-success{background:var(--success-soft);color:var(--success-strong);border-color:#b8ddc7}.business-project-library-modal>footer{border-top:1px solid var(--border-soft);border-bottom:0}@media (width<=1100px){.business-project-facts{grid-template-columns:repeat(2,minmax(130px,1fr))}.business-project-material-list article{grid-template-columns:minmax(180px,1fr) 70px 84px}.business-project-material-actions{grid-column:1/-1;justify-content:flex-start;padding-left:40px}}.material-preparation-panel{border-top:1px solid #dfe5ec;padding:24px 28px 28px}.material-preparation-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.material-preparation-header h3,.material-preparation-header p{margin:0}.material-preparation-header p{color:#68768a;margin-top:5px;font-size:13px}.material-preparation-steps{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));margin:24px 0;padding:0;list-style:none;display:grid}.material-preparation-steps li{color:#8793a3;border-bottom:2px solid #dfe5ec;align-items:center;gap:8px;min-width:0;padding:0 0 10px;display:flex}.material-preparation-steps li>span{background:#edf1f5;justify-content:center;align-items:center;min-width:22px;height:22px;font-size:11px;display:inline-flex}.material-preparation-steps li small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.material-preparation-steps li.is-complete,.material-preparation-steps li.is-current{color:#263b56;border-color:#e7a43d}.material-preparation-steps li.is-complete>span{color:#14804a;background:#e6f5ec}.material-preparation-steps li.is-current>span{color:#a35f00;background:#fff1d9;font-weight:700}.material-preparation-actions-grid{outline:1px solid #dfe5ec;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.material-preparation-actions-grid.is-accessory{grid-template-columns:repeat(3,minmax(0,1fr))}.material-preparation-action-block{border-right:1px solid #dfe5ec;flex-direction:column;gap:14px;min-width:0;padding:18px;display:flex}.material-preparation-action-block:last-child{border-right:0}.material-preparation-action-block>div:first-child p{color:#68768a;margin:5px 0 0;font-size:12px;line-height:1.55}.material-preparation-action-block>button,.material-preparation-path button,.material-preparation-primary{color:#fff;background:#162d4d;border:1px solid #162d4d;min-height:36px;padding:0 16px}.material-preparation-action-block>button:disabled,.material-preparation-primary:disabled{color:#93a0b0;background:#e8edf2;border-color:#e8edf2}.material-preparation-action-block>button.material-preparation-skip-action{color:#263b56;background:#fff;border-color:#cfd8e3}.material-preparation-action-block>button.material-preparation-skip-action:hover:not(:disabled){background:#f5f7fa;border-color:#9eacbd}.material-preparation-action-block textarea{resize:vertical;border:1px solid #cfd8e3;width:100%;min-height:112px;padding:10px 12px}.material-preparation-path{border:1px solid #dfe5ec;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding-left:10px;display:grid}.material-preparation-path span{color:#7a8798;font-size:11px}.material-preparation-path strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.material-preparation-path button{color:#40526a;background:#f5f7fa;border-color:#dfe5ec;height:40px}.material-preparation-counters{flex-wrap:wrap;gap:8px;display:flex}.material-preparation-counters span{color:#40526a;background:#f1f4f7;padding:7px 9px;font-size:12px}.material-preparation-audit{border:1px solid #dfe5ec;margin-top:18px;padding:16px}.material-preparation-audit-heading{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.material-preparation-audit-heading span{color:#68768a;font-size:12px}.material-preparation-audit-list{border-block:1px solid #e6ebf0;max-height:280px;overflow:auto}.material-preparation-audit-list article{border-bottom:1px solid #edf0f3;grid-template-columns:56px minmax(0,1fr);align-items:flex-start;gap:12px;padding:10px 2px;display:grid}.material-preparation-audit-list article:last-child{border-bottom:0}.material-preparation-audit-list article>span{color:#a35f00;font-size:11px}.material-preparation-audit-list article div{gap:3px;min-width:0;display:grid}.material-preparation-audit-list strong,.material-preparation-audit-list small{overflow-wrap:anywhere}.material-preparation-audit-list small{color:#68768a}.material-preparation-confirmation{align-items:center;gap:8px;margin:14px 0;display:flex}.material-preparation-primary{margin-left:auto;display:block}.material-preparation-message{border:1px solid;margin-top:14px;padding:10px 12px}.material-preparation-message.is-success{color:#17663e;background:#eef8f2;border-color:#bee3cc}.material-preparation-message.is-error{color:#a13d31;background:#fff1ef;border-color:#efc5bf}@media (width<=900px){.material-preparation-header{display:grid}.material-preparation-actions-grid,.material-preparation-actions-grid.is-accessory{grid-template-columns:1fr}.material-preparation-action-block{border-bottom:1px solid #dfe5ec;border-right:0}.material-preparation-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px}.business-projects-workspace{padding:12px}.business-projects-toolbar{grid-template-columns:minmax(0,1fr) auto}.business-projects-summary{display:none}.business-projects-layout{grid-template-columns:1fr;height:auto;overflow:visible}.business-projects-index{border-right:0;border-bottom:1px solid var(--border-soft);max-height:420px}.business-project-library-summary{grid-template-columns:repeat(2,minmax(112px,1fr))}}@media (width<=620px){.business-projects-filters,.business-project-editor-fields,.business-project-facts,.business-project-library-inputs{grid-template-columns:1fr}.business-project-material-list article{grid-template-columns:minmax(0,1fr) auto}.business-project-material-count{justify-content:flex-end}.business-project-material-state,.business-project-material-actions{grid-column:1/-1}.business-project-material-actions{padding-left:40px}.business-project-unmatched-directories{grid-template-columns:1fr}.business-project-detail-header,.business-project-next-stage,.business-project-library-heading,.business-project-library-section-title,.business-project-library-audit-actions,.business-project-library-confirm{flex-direction:column}.business-project-detail-body,.business-project-detail-header{padding-inline:16px}.business-project-library-modal{width:calc(100vw - 20px);height:calc(100vh - 20px)}}.template-library-workspace{min-height:calc(var(--app-viewport-height) - 48px);background:var(--surface-subtle);color:var(--text-primary);padding:14px 18px 18px}.template-library-toolbar{justify-content:space-between;align-items:end;gap:20px;width:100%;margin:0 auto 12px;display:flex}.template-library-toolbar p,.template-library-stage-header p,.template-create-dialog header p{color:var(--text-muted);margin:0 0 3px;font-size:12px}.template-library-toolbar h1,.template-library-stage-header h2,.template-create-dialog h2{letter-spacing:0;margin:0}.template-library-toolbar h1{font-size:24px}.template-library-toolbar-summary{color:var(--text-muted);align-items:center;gap:16px;font-size:13px;display:flex}.template-library-toolbar-summary strong{color:var(--text-primary)}.template-primary,.template-secondary{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;min-height:36px;padding:7px 14px;font-weight:700}.template-primary{background:var(--navy-strong);color:#fff}.template-primary:hover:not(:disabled){background:var(--navy-strong-hover)}.template-secondary{border-color:var(--border-soft);color:var(--text-secondary);background:#fff}.template-primary:disabled,.template-secondary:disabled{cursor:default;opacity:.55}.template-library-frame{height:calc(var(--app-viewport-height) - 116px);border:1px solid var(--border-soft);border-radius:var(--radius-md);width:100%;min-height:620px;box-shadow:var(--shadow-surface);background:#fff;grid-template-columns:260px minmax(0,1fr) 300px;margin:0 auto;display:grid;overflow:hidden auto}.template-library-index,.template-library-inspector{background:var(--surface-soft);min-width:0}.template-library-index{border-right:1px solid var(--border-soft);flex-direction:column;display:flex}.template-library-inspector{border-left:1px solid var(--border-soft);overflow:visible}.template-library-filters{border-bottom:1px solid var(--border-soft);gap:9px;padding:12px;display:grid}.template-library-filters input,.template-inspector-fields input,.template-inspector-fields select,.template-inspector-fields textarea,.template-group-controls select,.template-create-dialog input,.template-create-dialog select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-height:36px;color:var(--text-primary);background:#fff;padding:7px 9px}.template-segmented{border-radius:var(--radius-sm);background:var(--surface-subtle);grid-auto-flow:column;padding:3px;display:inline-grid}.template-segmented button{min-height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:5px 11px}.template-segmented button.is-active{color:var(--text-primary);background:#fff;box-shadow:0 1px 3px #0f172a1a}.template-library-type-filter{grid-template-columns:repeat(3,1fr)}.template-library-list{min-height:0;overflow:auto}.template-list-state{color:var(--text-muted);text-align:center;padding:24px 12px;font-size:13px}.template-library-row{border:0;border-bottom:1px solid var(--border-soft);text-align:left;cursor:pointer;background:0 0;gap:6px;width:100%;padding:13px 12px;display:grid}.template-library-row:hover{background:#fff}.template-library-row.is-active{box-shadow:inset 3px 0 0 var(--amber-strong);background:#fff}.template-library-row strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.template-library-row small{color:var(--text-muted)}.template-library-kind{border-radius:3px;width:max-content;padding:2px 5px;font-size:10px;font-weight:700}.template-library-kind.kind-composable{background:var(--info-soft);color:var(--info-strong)}.template-library-kind.kind-business_assigned{background:var(--warning-soft);color:var(--warning-strong)}.template-library-stage{background:#fff;min-width:0;position:relative;overflow:visible}.template-library-stage-header{z-index:4;border-bottom:1px solid var(--border-soft);background:#fffffff5;justify-content:space-between;align-items:center;gap:20px;min-height:70px;padding:13px 16px;display:flex;position:sticky;top:0}.template-library-titleline{align-items:center;gap:9px;display:flex}.template-library-titleline h2{text-overflow:ellipsis;white-space:nowrap;max-width:520px;font-size:18px;overflow:hidden}.template-library-titleline span,.assigned-note{background:var(--surface-subtle);color:var(--text-secondary);border-radius:3px;padding:3px 6px;font-size:11px}.template-library-titleline .readonly{background:var(--warning-soft);color:var(--warning-strong)}.template-library-stage-actions{align-items:center;gap:8px;display:flex}.template-danger-button{color:var(--danger-strong);cursor:pointer;background:0 0;border:1px solid #0000;padding:6px 9px;font-size:11px}.template-danger-button:disabled{cursor:wait;opacity:.55}.template-asset-view-toolbar{z-index:3;border-bottom:1px solid var(--border-soft);background:#fffffff5;align-items:center;gap:10px;min-height:52px;padding:9px 12px;display:flex;position:sticky;top:70px}.template-asset-view-toolbar .template-segmented button span{color:var(--text-muted);margin-left:4px;font-size:10px}.template-asset-view-toolbar>label{min-width:180px;color:var(--text-muted);align-items:center;gap:7px;margin-left:auto;font-size:11px;display:flex}.template-asset-view-toolbar select{border:1px solid var(--border-soft);min-width:110px;color:var(--text-primary);background:#fff;border-radius:4px;padding:6px 8px}.template-asset-view-toolbar>span{color:var(--text-muted);font-size:11px}.template-library-error{border-radius:var(--radius-sm);color:#a63b2d;background:#fff4f2;border:1px solid #f0c5bf;justify-content:space-between;align-items:center;margin:12px;padding:10px 12px;display:flex}.template-library-error button{color:inherit;cursor:pointer;background:0 0;border:0;font-weight:700}.template-library-empty{color:var(--text-muted);text-align:center;padding:46px 20px}.stage-empty{place-items:center;min-height:300px;display:grid}.template-matrix{padding:12px 0 40px}.template-matrix-row{border-bottom:1px solid var(--border-soft);grid-template-columns:100px minmax(0,1fr);min-height:150px;display:grid}.template-matrix-label{border-right:1px solid var(--border-soft);background:var(--surface-soft);flex-direction:column;gap:4px;padding:14px 10px;display:flex}.template-matrix-label strong{font-size:13px}.template-matrix-label span{color:var(--text-muted);font-size:11px}.template-matrix-strip{align-items:flex-start;gap:8px;min-width:0;padding:10px;display:flex;overflow-x:auto}.template-thumb{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;flex:0 0 88px;gap:5px;width:88px;padding:4px;display:grid}.template-thumb:hover{background:var(--surface-subtle)}.template-thumb.is-selected{border-color:var(--amber-strong);background:var(--warning-soft)}.template-thumb img{background:var(--surface-subtle);object-fit:cover;border-radius:3px;width:80px;height:110px}.template-thumb span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.template-reference-gallery{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;padding:12px 12px 40px;display:grid}.template-reference-gallery>button{border:1px solid var(--border-soft);text-align:left;cursor:pointer;background:#fff;border-radius:5px;gap:7px;min-width:0;padding:5px;display:grid}.template-reference-gallery>button:hover{border-color:var(--border-strong);background:var(--surface-soft)}.template-reference-gallery>button.is-active{border-color:var(--amber-strong);box-shadow:0 0 0 1px var(--amber-strong)}.template-reference-gallery img{aspect-ratio:3/4;background:var(--surface-subtle);object-fit:cover;border-radius:3px;width:100%}.template-reference-gallery span{gap:3px;min-width:0;display:grid}.template-reference-gallery strong,.template-reference-gallery small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.template-reference-gallery strong{color:var(--text-primary);font-size:11px}.template-reference-gallery small{color:var(--text-muted);font-size:10px}.template-groups-view{min-width:0;padding:12px;overflow:hidden}.template-group-controls{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-soft);align-items:end;gap:10px;margin-bottom:12px;padding:10px;display:flex}.template-group-controls label{min-width:130px;color:var(--text-secondary);gap:4px;font-size:11px;display:grid}.template-group-controls .template-primary{margin-left:auto}.template-action-board-shell{min-width:0}.template-action-scrollbar{border:1px solid var(--border-soft);background:var(--surface-subtle);scrollbar-color:var(--border-strong) var(--surface-subtle);scrollbar-gutter:stable;border-radius:4px;height:16px;margin:0 0 8px;overflow:scroll hidden}.template-action-scrollbar>div{height:1px}.template-action-board{scrollbar-width:none;align-items:flex-start;gap:9px;width:100%;min-width:0;padding-bottom:6px;display:flex;overflow:auto visible}.template-action-board::-webkit-scrollbar{display:none}.template-action-column{border:1px solid var(--border-soft);background:#fff;border-radius:5px;flex:0 0 124px;width:124px;overflow:hidden}.template-action-column.is-incomplete{background:#fffdf5;border-color:#e6c272}.template-action-header{border:0;border-bottom:1px solid var(--border-soft);background:var(--navy-strong);color:#fff;text-align:left;cursor:grab;width:100%;min-height:50px;padding:8px;display:grid}.template-action-header span{color:#ffffffb3;font-size:10px}.template-action-cells{display:grid}.template-action-cell{border-bottom:1px solid var(--border-soft);gap:4px;padding:6px;display:grid}.template-action-cell img,.template-action-placeholder{background:var(--surface-subtle);object-fit:cover;width:110px;height:148px}.template-action-cell span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.template-action-column>p{color:var(--warning-strong);margin:0;padding:7px;font-size:10px;line-height:1.45}.template-inspector-empty{color:var(--text-secondary);padding:22px 16px}.template-inspector-empty p{color:var(--text-muted);font-size:12px;line-height:1.6}.template-inspector-form{gap:14px;padding:14px;display:grid}.template-inspector-preview{grid-template-columns:70px minmax(0,1fr);align-items:center;gap:10px;display:grid}.template-inspector-preview img{object-fit:cover;border-radius:4px;width:70px;height:94px}.template-inspector-preview div{gap:4px;min-width:0;display:grid}.template-inspector-preview strong{text-overflow:ellipsis;font-size:12px;overflow:hidden}.template-inspector-preview span{color:var(--text-muted);font-size:11px}.template-inspector-form fieldset{border:0;margin:0;padding:0}.template-inspector-form legend{color:var(--text-secondary);margin-bottom:7px;font-size:12px;font-weight:700}.template-tag-grid{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.template-tag-grid.categories{grid-template-columns:repeat(2,1fr)}.template-tag-grid button{border:1px solid var(--border-soft);min-height:30px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:4px;padding:4px;font-size:10px}.template-tag-grid button.is-active{border-color:var(--amber-strong);background:var(--warning-soft);color:var(--warning-strong)}.template-inspector-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.template-inspector-fields label{color:var(--text-secondary);gap:4px;font-size:11px;display:grid}.template-inspector-fields .wide{grid-column:1/-1}.template-inspector-fields textarea{resize:vertical}.template-asset-role-fields{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#fff;padding:10px}.template-reference-note{border-left:3px solid var(--info-strong);background:var(--info-soft);color:var(--text-secondary);margin:-4px 0 0;padding:8px 10px;font-size:11px;line-height:1.5}.inspector-save{width:100%}.template-inline-error{color:#b23a2b;margin:0;font-size:12px}.template-dialog-backdrop{z-index:110;background:#0f172a8a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.template-create-dialog{border-radius:var(--radius-md);background:#fff;gap:16px;width:min(640px,100%);padding:20px;display:grid;box-shadow:0 24px 70px #0f172a47}.template-create-dialog header,.template-create-dialog footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.template-create-dialog header>button{color:var(--text-muted);cursor:pointer;background:0 0;border:0}.template-create-dialog>label{color:var(--text-secondary);gap:6px;font-size:12px;display:grid}.template-create-types{grid-template-columns:1fr 1fr;gap:10px;display:grid}.template-create-types button{border:1px solid var(--border-soft);border-radius:var(--radius-sm);min-height:110px;color:var(--text-primary);text-align:left;cursor:pointer;background:#fff;gap:8px;padding:14px;display:grid}.template-create-types button.is-active{border-color:var(--amber-strong);box-shadow:inset 0 0 0 1px var(--amber-strong)}.template-create-types span{color:var(--text-muted);font-size:12px;line-height:1.55}.template-create-dialog footer{justify-content:flex-end}.template-import-dialog{border-radius:var(--radius-md);background:#fff;grid-template-rows:auto minmax(0,1fr) auto auto;width:min(1180px,100vw - 48px);height:min(820px,100vh - 48px);display:grid;overflow:hidden;box-shadow:0 24px 70px #0f172a4d}.template-import-dialog>header,.template-import-dialog>footer{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.template-import-dialog>footer{border-top:1px solid var(--border-soft);border-bottom:0;justify-content:flex-end}.template-import-dialog>header p{color:var(--text-muted);margin:0 0 3px;font-size:12px}.template-import-dialog>header h2{margin:0;font-size:20px}.template-import-dialog>header>button{color:var(--text-muted);cursor:pointer;background:0 0;border:0}.template-import-body{grid-template-columns:300px minmax(0,1fr);min-height:0;display:grid}.template-import-body>aside{border-right:1px solid var(--border-soft);background:var(--surface-soft);align-content:start;gap:13px;padding:16px;display:grid;overflow:auto}.template-import-body label{color:var(--text-secondary);gap:5px;font-size:12px;display:grid}.template-import-body input,.template-import-body textarea,.template-import-body select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);background:#fff;padding:8px 9px}.template-create-types.vertical{grid-template-columns:1fr}.template-create-types.vertical button{min-height:78px}.folder-picker{width:100%}.template-import-path{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.template-assigned-source-note{border:1px solid var(--border-soft);background:var(--surface-subtle);color:var(--text-secondary);gap:4px;padding:10px 12px;font-size:11px;display:grid}.template-assigned-source-note strong{color:var(--text-primary);font-size:12px}.template-import-preview{background:#fff;min-width:0;overflow:auto}.template-import-summary{border-bottom:1px solid var(--border-soft);align-items:baseline;gap:8px;padding:22px;display:flex}.template-import-summary strong{font-size:28px}.template-import-summary small{color:var(--text-muted);margin-left:auto}.template-import-file-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:14px;display:grid}.template-import-file-grid span{border:1px solid var(--border-soft);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:7px 8px;font-size:11px;overflow:hidden}.template-import-groups{gap:10px;padding:14px;display:grid}.template-import-group{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:#fff}.template-import-group.is-excluded{opacity:.55;background:var(--surface-soft)}.template-import-group-head{grid-template-columns:minmax(150px,1.15fr) 130px minmax(130px,1fr) minmax(150px,1fr);align-items:end;gap:10px;padding:12px;display:grid}.template-import-group-head label{min-width:0}.template-import-group-toggle{align-items:center;gap:9px;display:flex!important}.template-import-group-toggle input,.template-import-entry-name input{flex:none;width:16px;height:16px}.template-import-group-toggle span{gap:2px;min-width:0;display:grid}.template-import-group-toggle strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.template-import-group-toggle small,.template-import-group-note{color:var(--text-muted);font-size:11px}.template-import-group-note{align-self:center}.template-import-entry-settings{border-top:1px solid var(--border-soft)}.template-import-entry-settings summary{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;padding:9px 12px;font-size:12px}.template-import-entry-list{border-top:1px solid var(--border-soft);max-height:280px;display:grid;overflow:auto}.template-import-entry-row{border-bottom:1px solid var(--border-soft);grid-template-columns:minmax(150px,1.2fr) 120px minmax(120px,1fr) minmax(130px,1fr);align-items:center;gap:8px;padding:7px 10px;display:grid}.template-import-entry-row:last-child{border-bottom:0}.template-import-entry-name{align-items:center;gap:8px;min-width:0;display:flex!important}.template-import-entry-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.template-import-entry-role-note{color:var(--text-muted);font-size:11px}.template-import-preview-heading{border-bottom:1px solid var(--border-soft);justify-content:space-between;padding:14px 16px;display:flex}.template-import-preview-heading span{color:var(--text-muted);font-size:12px}.template-assigned-preview{min-width:700px}.template-assigned-head,.template-assigned-row{border-bottom:1px solid var(--border-soft);grid-template-columns:minmax(150px,1fr) minmax(210px,1.3fr) 90px 100px;align-items:center;gap:12px;padding:9px 14px;display:grid}.template-assigned-head{z-index:2;background:var(--surface-soft);color:var(--text-muted);font-size:11px;position:sticky;top:0}.template-assigned-row{min-height:58px;color:var(--text-secondary);font-size:12px}.template-assigned-row>span{text-overflow:ellipsis;gap:3px;min-width:0;display:grid;overflow:hidden}.template-assigned-row small{color:var(--text-muted)}.template-assigned-row.status-ready>span:last-child{color:var(--success-strong)}.template-assigned-row:not(.status-ready){background:#fffaf0}.template-assigned-row:not(.status-ready)>span:last-child{color:var(--warning-strong)}.import-error{background:#fff4f2;border-top:1px solid #f2c8c3;padding:8px 18px}@media (width<=1180px){.template-library-frame{grid-template-columns:230px minmax(0,1fr) 270px}}@media (width<=900px){.template-library-workspace{padding:10px}.template-library-toolbar{align-items:flex-start}.template-library-toolbar-summary span{display:none}.template-library-frame{height:calc(var(--app-viewport-height) - 105px);grid-template-columns:210px minmax(0,1fr)}.template-library-inspector{z-index:8;width:290px;height:100%;position:absolute;right:0;box-shadow:-8px 0 24px #0f172a1f}}.portfolio-page{--portfolio-paper:#f2f1ed;--portfolio-paper-alt:#e5e3dc;--portfolio-ink:#20211f;--portfolio-muted:#666761;--portfolio-line:#d4d2ca;--portfolio-accent:#84735a;--ease-editorial:cubic-bezier(.2, 0, .1, 1);--ease-ui:cubic-bezier(.4, 0, .2, 1);background:var(--portfolio-paper);min-height:100svh;color:var(--portfolio-ink);font-family:Inter,Noto Sans SC,Microsoft YaHei,sans-serif}.portfolio-page *,.portfolio-page :before,.portfolio-page :after{box-sizing:border-box}.portfolio-page button,.portfolio-page a{color:inherit}.portfolio-page button{font:inherit}.portfolio-page img,.portfolio-page .image-load-fallback{object-fit:cover;width:100%;height:100%;display:block}.portfolio-page-content{min-height:inherit}.portfolio-page .image-load-fallback{color:var(--portfolio-muted);background:#e5e0d6;justify-content:center;align-items:center;font-size:12px}.portfolio-skip-link{z-index:110;background:var(--portfolio-ink);color:var(--portfolio-paper);padding:10px 14px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.portfolio-skip-link:focus{transform:none}.portfolio-header{z-index:50;border-bottom:1px solid var(--portfolio-line);background:#f4f0e9f5;grid-template-columns:1fr auto 1fr;align-items:center;min-height:72px;padding:12px clamp(20px,4vw,64px);display:grid;position:sticky;top:0}.portfolio-brand{align-items:baseline;gap:11px;text-decoration:none;display:flex}.portfolio-brand span{font-family:Noto Serif SC,Songti SC,serif;font-size:23px;font-weight:600}.portfolio-brand small,.portfolio-kicker{letter-spacing:.2em;font-size:10px}.portfolio-nav{align-items:center;gap:clamp(20px,3vw,44px);display:flex}.portfolio-nav a{letter-spacing:.08em;font-size:12px;text-decoration:none}.portfolio-login{cursor:pointer;background:0 0;border:0;border-bottom:1px solid;justify-self:end;padding:7px 1px}.portfolio-page :focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:5px}.portfolio-hero{grid-template-columns:repeat(12,minmax(0,1fr));min-height:calc(100svh - 72px);padding:clamp(44px,7vw,112px) clamp(20px,4vw,64px) clamp(60px,8vw,128px);display:grid}.portfolio-hero-copy{z-index:1;grid-column:1/span 4;align-self:center}.portfolio-hero h1,.portfolio-work h2,.portfolio-contact h2{margin:0;font-family:Iowan Old Style,Noto Serif SC,Songti SC,serif;font-weight:400}.portfolio-hero h1{letter-spacing:-.055em;margin:20px 0 24px;font-size:clamp(54px,7.2vw,116px);line-height:.91}.portfolio-hero h1 i{white-space:nowrap;font-family:Inter,Helvetica Neue,Arial,sans-serif;font-size:.65em;font-weight:400}.portfolio-intro{max-width:350px;color:var(--portfolio-muted);font-size:clamp(15px,1.2vw,17px);line-height:1.8}.portfolio-scroll-cue{gap:20px;margin-top:clamp(28px,6vw,84px);font-size:12px;text-decoration:none;display:inline-flex}.portfolio-scroll-cue span{color:var(--portfolio-accent)}.portfolio-hero-media{aspect-ratio:7/8;background:var(--portfolio-paper-alt);animation:portfolio-hero-image .76s var(--ease-editorial) both;grid-column:5/-1;overflow:hidden}.portfolio-hero-copy>*{animation:portfolio-hero-copy .62s var(--ease-editorial) both}.portfolio-hero-copy>:nth-child(2){animation-delay:70ms}.portfolio-hero-copy>:nth-child(n+3){animation-delay:.12s}.portfolio-work{padding:clamp(90px,14vw,220px) clamp(20px,4vw,64px)}.portfolio-work-heading{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;margin-bottom:54px;display:grid}.portfolio-work-heading p{grid-column:1/span 4}.portfolio-work-heading h2{letter-spacing:-.04em;grid-column:5/-1;font-size:clamp(48px,7vw,110px)}.portfolio-work-index{border-top:1px solid var(--portfolio-line);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:clamp(90px,12vw,180px);display:grid}.portfolio-work-index-item{border:0;border-bottom:1px solid var(--portfolio-line);cursor:pointer;text-align:left;min-height:152px;transition:color .22s var(--ease-ui), transform .22s var(--ease-ui);background:0 0;grid-template-columns:88px 1fr;align-items:end;gap:12px 18px;padding:14px;display:grid;position:relative}.portfolio-work-index-item:after{content:"";background-color:var(--portfolio-accent);opacity:0;height:2px;transition:background-color .22s var(--ease-ui), opacity .22s var(--ease-ui), transform .22s var(--ease-ui);position:absolute;bottom:8px;left:14px;right:14px;transform:translateY(6px)}.portfolio-work-index-item:nth-child(3n+2),.portfolio-work-index-item:nth-child(3n+3){border-left:1px solid var(--portfolio-line)}.portfolio-work-index-media,.portfolio-work-index-placeholder{grid-column:1/-1;height:180px}.portfolio-work-index-media{display:block;overflow:hidden}.portfolio-work-index-media img,.portfolio-work-index-media .image-load-fallback{object-fit:cover;height:100%}.portfolio-work-index-media--contain{background:var(--portfolio-paper-alt)}.portfolio-work-index-media--contain img{object-fit:contain}.portfolio-work-index-placeholder{border:1px solid var(--portfolio-line);color:var(--portfolio-muted);letter-spacing:.18em;place-items:center;font-family:Noto Serif SC,Songti SC,serif;font-size:24px;display:grid}.portfolio-work-index-item[aria-pressed=true]{color:var(--portfolio-accent);transform:translateY(-4px)}.portfolio-work-index-item[aria-pressed=true]:after{opacity:1;transform:translateY(0)}.portfolio-work-index span,.portfolio-work-index small{color:var(--portfolio-muted);font-size:12px}.portfolio-work-index strong{font-family:Noto Serif SC,Songti SC,serif;font-size:18px;font-weight:400}.portfolio-case-archive{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:28px 0;margin-bottom:54px;display:grid}.portfolio-case-archive p{grid-column:1/span 4}.portfolio-case-archive h2{letter-spacing:-.04em;grid-column:5/-1;font-size:clamp(38px,5vw,76px)}.portfolio-page .custom-shooting-project-heading>div>p{font-size:15px}.portfolio-archive-group{border-top:1px solid var(--portfolio-line);grid-column:1/-1;grid-template-columns:4fr 8fr;padding-top:18px;display:grid}.portfolio-archive-group h3{margin:0;font-family:Noto Serif SC,Songti SC,serif;font-size:20px;font-weight:400}.portfolio-archive-group h3 span{color:var(--portfolio-accent);margin-right:18px}.portfolio-archive-group>div{flex-wrap:wrap;gap:8px 24px;display:flex}.portfolio-archive-group button{min-height:44px;color:var(--portfolio-muted);cursor:pointer;background:0 0;border:0;padding:8px 0}.portfolio-archive-group button[aria-pressed=true]{color:var(--portfolio-ink);text-underline-offset:5px;text-decoration:underline}.portfolio-featured-stage{border-top:1px solid var(--portfolio-line);padding-top:clamp(56px,8vw,112px);scroll-margin-top:88px}.portfolio-chapters{border-top:1px solid var(--portfolio-line)}.portfolio-group{border-bottom:1px solid var(--portfolio-line);padding:clamp(76px,10vw,150px) 0}.portfolio-group-heading{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:clamp(18px,2.6vw,40px);margin-bottom:clamp(64px,9vw,132px);display:grid}.portfolio-group-number{color:var(--portfolio-accent);grid-column:1/span 2;font-family:Iowan Old Style,Noto Serif SC,Songti SC,serif;font-size:clamp(72px,10vw,160px);font-weight:400;line-height:.72}.portfolio-group-heading>div{grid-column:5/-1}.portfolio-group-heading h2{margin:14px 0 24px;font-size:clamp(42px,6.2vw,94px);line-height:.98}.portfolio-group-heading>div>p:last-child{max-width:540px;color:var(--portfolio-muted);margin:0;line-height:1.8}.portfolio-services{gap:clamp(88px,12vw,180px);display:grid}.portfolio-service{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:clamp(20px,2.6vw,40px);display:grid}.portfolio-service--outfit-comparison{background:0 0;grid-column:1/-1;display:block}.portfolio-service--outfit-comparison>.outfit-comparison{background:0 0;grid-column:1/-1;padding-inline:0}.portfolio-service--standard-comparison{background:0 0;grid-column:1/-1;display:block}.portfolio-service-heading{grid-column:1/span 3;position:sticky;top:104px}.portfolio-service-heading h3,.portfolio-service--capability-only h3{margin:12px 0 18px;font-family:Noto Serif SC,Songti SC,serif;font-size:clamp(25px,2.6vw,40px);font-weight:400;line-height:1.15}.portfolio-service-heading>p:last-child,.portfolio-service--capability-only p:last-child{color:var(--portfolio-muted);margin:0;font-size:15px;line-height:1.75}.portfolio-service-cases{grid-column:5/-1;grid-template-columns:repeat(8,minmax(0,1fr));align-items:start;gap:clamp(54px,7vw,110px) clamp(16px,2.6vw,40px);display:grid}.portfolio-service--capability-only{border:1px solid var(--portfolio-line);align-items:end;min-height:clamp(250px,34vw,480px);padding:clamp(34px,5vw,72px)}.portfolio-service--capability-only>div{grid-column:1/span 5}.portfolio-service--capability-only>span{color:var(--portfolio-muted);letter-spacing:.14em;grid-column:10/-1;justify-self:end;font-size:11px}.portfolio-project{margin:0}.portfolio-service--banner .portfolio-project-image img{object-fit:contain;background:#e6e1d7}.portfolio-project-open{cursor:pointer;width:100%;text-align:inherit;background:0 0;border:0;padding:0;display:block}.portfolio-project--wide{grid-column:span 8}.portfolio-project--portrait{grid-column:span 4;margin-top:clamp(24px,5vw,78px)}.portfolio-project--landscape{grid-column:span 6}.portfolio-project-image{background:#e3ded3;display:block;overflow:clip}.portfolio-project--wide .portfolio-project-image{aspect-ratio:16/10}.portfolio-project--portrait .portfolio-project-image{aspect-ratio:3/4}.portfolio-project--landscape .portfolio-project-image{aspect-ratio:4/3}.portfolio-project figcaption{color:var(--portfolio-muted);grid-template-columns:1fr auto;gap:6px 18px;padding-top:16px;font-size:12px;display:grid}.portfolio-project figcaption strong{color:var(--portfolio-ink);grid-column:1;font-family:Noto Serif SC,Songti SC,serif;font-size:18px;font-weight:400}.portfolio-project figcaption time{grid-area:1/2}.portfolio-service--custom-shooting{grid-column:1/-1;display:block}.custom-shooting{min-width:0}.custom-shooting-intro{max-width:820px;margin-bottom:clamp(64px,9vw,132px)}.custom-shooting-intro h3{letter-spacing:-.045em;margin:18px 0 26px;font-family:Iowan Old Style,Noto Serif SC,Songti SC,serif;font-size:clamp(52px,7.4vw,108px);font-weight:400;line-height:.94}.custom-shooting-intro>p:not(.portfolio-kicker){max-width:580px;color:var(--portfolio-muted);margin:0;line-height:1.85}.custom-shooting-flow{color:var(--portfolio-muted);letter-spacing:.08em;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:34px;font-size:11px;display:flex}.custom-shooting-flow i{color:var(--portfolio-accent);font-style:normal}.custom-shooting-projects{gap:clamp(100px,13vw,190px);display:grid}.custom-shooting-project{border-top:1px solid var(--portfolio-line);padding-top:20px}.custom-shooting-project-heading{grid-template-columns:minmax(42px,1fr) minmax(0,11fr);align-items:start;gap:clamp(18px,2.6vw,40px);margin-bottom:clamp(34px,5vw,66px);display:grid}.custom-shooting-project-heading>span{color:var(--portfolio-accent);font-family:Iowan Old Style,serif;font-size:18px}.custom-shooting-project-heading h4{margin:0 0 10px;font-family:Noto Serif SC,Songti SC,serif;font-size:clamp(28px,3.4vw,50px);font-weight:400}.custom-shooting-project-heading p{max-width:520px;color:var(--portfolio-muted);margin:0;font-size:15px;line-height:1.75}.custom-shooting-layout{grid-template-columns:1fr;align-items:start;gap:clamp(54px,7vw,104px);display:grid}.custom-shooting-label{color:var(--portfolio-muted);letter-spacing:.12em;justify-content:space-between;gap:20px;margin:0 0 12px;font-size:12px;display:flex}.custom-shooting-label span{font-size:12px}.custom-shooting-inputs{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.6vw,24px);display:grid}.custom-shooting-inputs>.custom-shooting-label{grid-column:1/-1}.custom-shooting-inputs figure{margin:0}.custom-shooting-inputs figcaption{color:var(--portfolio-muted);padding-top:9px;font-size:12px}.custom-shooting-inputs .custom-shooting-image{aspect-ratio:4/3}.custom-shooting-inputs .custom-shooting-image img{object-fit:contain;background:#e6e1d7}.custom-shooting-image{aspect-ratio:3/4;cursor:zoom-in;width:100%;transition:transform .26s var(--ease-editorial), filter .26s var(--ease-ui);will-change:transform;background:#ded8cc;border:0;padding:0;display:block;position:relative;overflow:clip;transform:translateZ(0)scale(1)}.custom-shooting-image:hover{z-index:2;filter:contrast(1.02);transform:scale(1.035)}.custom-shooting-image:active{transform:translateZ(0)scale(1.012)}.custom-shooting-image--contain{aspect-ratio:4/5}.custom-shooting-image--contain img{object-fit:contain;background:#e6e1d7}.custom-shooting-matrix{isolation:isolate;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1.15vw,18px);display:grid}.custom-shooting-results{border-top:1px solid var(--portfolio-line);padding-top:clamp(22px,3vw,42px)}.custom-shooting-project--library{margin-top:0}.custom-shooting-brief{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(22px,4vw,64px);display:grid}.custom-shooting-brief>.custom-shooting-label{grid-column:1/-1}.custom-shooting-brief .custom-shooting-image{grid-column:1}.custom-shooting-brief>p:last-child{max-width:430px;color:var(--portfolio-muted);grid-column:2;margin:0;font-size:15px;line-height:1.9}.custom-template-results{gap:clamp(48px,6vw,84px);display:grid}.custom-template-results>section{border-top:1px solid var(--portfolio-line);padding-top:clamp(22px,3vw,42px)}.custom-template-identities{isolation:isolate;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.7vw,26px);max-width:min(100%,880px);display:grid}.custom-template-identities .custom-shooting-image{aspect-ratio:3/4}.custom-template-featured{isolation:isolate;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(8px,1.15vw,18px);display:grid}.custom-template-archive-label{margin-top:clamp(36px,5vw,68px)}.custom-template-matrix{isolation:isolate;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(6px,.8vw,12px);display:grid}.custom-template-pipeline{display:grid}.custom-template-stage{border-top:1px solid var(--portfolio-line);padding-block:clamp(32px,4vw,58px)}.custom-template-stage-heading{grid-template-columns:minmax(48px,1fr) minmax(0,7fr) minmax(0,4fr);align-items:start;gap:clamp(18px,2.6vw,40px);margin-bottom:clamp(36px,5vw,72px);display:grid}.custom-template-stage-heading>span{color:var(--portfolio-accent);font-family:Iowan Old Style,serif;font-size:clamp(24px,2.4vw,38px)}.custom-template-stage-heading h5{margin:0 0 12px;font-family:Noto Serif SC,Songti SC,serif;font-size:clamp(30px,4vw,58px);font-weight:400;line-height:1.05}.custom-template-stage-heading p{max-width:560px;color:var(--portfolio-muted);margin:0;font-size:15px;line-height:1.85}.custom-template-stage-heading small{color:var(--portfolio-muted);letter-spacing:.12em;justify-self:end;font-size:12px}.custom-template-transition{min-height:clamp(110px,13vw,190px);color:var(--portfolio-muted);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;display:grid}.custom-template-transition span{letter-spacing:.1em;grid-column:5/span 4;justify-self:center;font-size:12px}.custom-template-transition i{color:var(--portfolio-accent);grid-column:9;justify-self:center;font-family:Iowan Old Style,serif;font-size:32px;font-style:normal}.custom-template-stage--brief .custom-shooting-brief{max-width:1080px}.custom-template-stage--identity .custom-template-identities{margin-left:calc(8.333% + clamp(18px,2.6vw,40px))}.custom-shooting-viewer{z-index:140;color:#f5f2ec;animation:portfolio-viewer-backdrop .18s var(--ease-ui) both;background:#10100ff7;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;padding:clamp(18px,3vw,42px);display:grid;position:fixed;inset:0}.custom-shooting-viewer header{justify-content:space-between;align-items:center;gap:24px;display:flex}.custom-shooting-viewer header p{color:#f5f2ecad;letter-spacing:.08em;margin:0;font-size:11px}.custom-shooting-viewer button{min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0}.custom-shooting-viewer-stage{justify-content:center;align-items:center;min-height:0;display:flex}.custom-shooting-viewer-stage img,.custom-shooting-viewer-stage .image-load-fallback{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:76vh}.custom-shooting-viewer nav{justify-content:center;gap:clamp(30px,7vw,90px);display:flex}.portfolio-viewer-backdrop{z-index:100;animation:portfolio-viewer-backdrop .2s var(--ease-ui) both;background:#191816;position:fixed;inset:0;overflow-y:auto}.portfolio-viewer{background:var(--portfolio-paper);min-height:100svh;color:var(--portfolio-ink);touch-action:pan-y;animation:portfolio-viewer-enter .32s var(--ease-editorial) both;padding:clamp(18px,3vw,46px) clamp(20px,4vw,64px) clamp(34px,6vw,90px)}.portfolio-viewer-header{z-index:2;border-bottom:1px solid var(--portfolio-line);background:var(--portfolio-paper);justify-content:space-between;align-items:center;gap:24px;padding:10px 0 18px;display:flex;position:sticky;top:0}.portfolio-viewer-header p{color:var(--portfolio-muted);letter-spacing:.08em;margin:0;font-size:11px}.portfolio-viewer-close,.portfolio-viewer-navigation button{cursor:pointer;background:0 0;border:0;min-height:44px;padding:8px 0}.portfolio-viewer-close{align-items:center;gap:14px;display:inline-flex}.portfolio-viewer-close span{color:var(--portfolio-accent);font-size:24px;line-height:1}.portfolio-case-hero{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:clamp(24px,4vw,64px);padding:clamp(54px,8vw,118px) 0 clamp(86px,12vw,180px);display:grid}.portfolio-case-hero>.portfolio-case-figure{grid-column:1/span 7}.portfolio-case-hero-copy{grid-column:9/-1;padding-bottom:clamp(10px,2vw,30px)}.portfolio-case-hero-copy h2{letter-spacing:-.045em;margin:16px 0 28px;font-family:Iowan Old Style,Noto Serif SC,Songti SC,serif;font-size:clamp(44px,7vw,104px);font-weight:400;line-height:.96}.portfolio-case-hero-copy>p:not(.portfolio-kicker){color:var(--portfolio-muted);margin:0;line-height:1.8}.portfolio-case-hero-copy time{color:var(--portfolio-muted);margin-top:24px;font-size:11px;display:block}.portfolio-case-presentation{border:1px solid var(--portfolio-line);width:fit-content;color:var(--portfolio-muted);letter-spacing:.14em;margin:0 0 36px auto;padding:9px 13px;font-size:11px}.portfolio-case-media{border-top:1px solid var(--portfolio-line);padding:clamp(72px,10vw,150px) 0}.portfolio-case-media>header{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:20px;margin-bottom:clamp(44px,7vw,96px);display:grid}.portfolio-case-media>header .portfolio-kicker{grid-column:1/span 3}.portfolio-case-media h3{grid-column:5/-1;margin:0;font-family:Noto Serif SC,Songti SC,serif;font-size:clamp(38px,5vw,76px);font-weight:400;line-height:1}.portfolio-case-media-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:clamp(28px,4vw,64px);display:grid}.portfolio-case-inputs .portfolio-case-figure{grid-column:span 4}.portfolio-case-outputs .portfolio-case-figure{grid-column:span 6}.portfolio-case-details .portfolio-case-figure{grid-column:span 4}.portfolio-case-figure{margin:0}.portfolio-viewer-image{aspect-ratio:4/5;background:#e3ded3;overflow:clip}.portfolio-case-hero .portfolio-viewer-image,.portfolio-case-outputs .portfolio-viewer-image{aspect-ratio:4/5}.portfolio-case-figure figcaption{color:var(--portfolio-muted);padding-top:12px;font-size:11px}.portfolio-case-conclusion{border-top:1px solid var(--portfolio-line);grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(30px,5vw,76px);margin-top:clamp(36px,5vw,72px);padding:clamp(80px,12vw,180px) 0;display:grid}.portfolio-case-conclusion>div:first-child{grid-column:1/span 5}.portfolio-case-conclusion>div:last-child{grid-column:7/-1}.portfolio-case-conclusion h3{margin:14px 0 24px;font-family:Noto Serif SC,Songti SC,serif;font-size:clamp(30px,3.5vw,52px);font-weight:400}.portfolio-case-conclusion>div>p:last-child{max-width:520px;color:var(--portfolio-muted);margin:0;line-height:1.9}.portfolio-viewer-navigation{justify-content:center;align-items:center;gap:clamp(18px,3vw,42px);display:flex}.portfolio-viewer-navigation button{align-items:center;gap:14px;display:inline-flex}.outfit-comparison{padding:clamp(52px,7vw,104px) 0 0}.outfit-comparison-intro{margin-bottom:clamp(38px,5vw,72px)}.outfit-comparison-copy{max-width:780px}.outfit-comparison-copy h2{letter-spacing:-.05em;max-width:780px;margin:18px 0 28px;font-family:Iowan Old Style,Noto Serif SC,Songti SC,serif;font-size:clamp(54px,8vw,118px);font-weight:400;line-height:.92}.outfit-comparison-copy>p:last-child{max-width:520px;color:var(--portfolio-muted);margin:0;line-height:1.9}.outfit-comparison-body{grid-template-columns:minmax(0,26fr) minmax(0,74fr);align-items:start;gap:clamp(28px,4vw,64px);display:grid}.outfit-comparison-material{min-width:0;margin:0}.outfit-comparison-material>img,.outfit-comparison-material>.image-load-fallback{aspect-ratio:4/3;object-fit:contain;background:#e6e1d7}.outfit-comparison-material figcaption{color:var(--portfolio-muted);gap:8px;padding-top:14px;font-size:11px;line-height:1.6;display:grid}.outfit-comparison-material figcaption strong{color:var(--portfolio-ink);font-weight:500}.outfit-comparison-matrix{min-width:0}.outfit-comparison-row-label{color:var(--portfolio-muted);letter-spacing:.12em;margin:0 0 10px;font-size:10px}.outfit-comparison-row-label+.outfit-comparison-row--after{margin-top:0}.outfit-comparison-row--before+.outfit-comparison-row-label{margin-top:clamp(20px,2vw,30px)}.outfit-comparison-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1.2vw,20px);display:grid}.outfit-comparison-column{z-index:0;cursor:zoom-in;transform-origin:50%;will-change:transform;background:0 0;border:0;min-width:0;padding:0;transition:transform .18s cubic-bezier(.22,1,.36,1);display:block;position:relative;transform:translateZ(0)}.outfit-comparison-column>img,.outfit-comparison-column>.image-load-fallback{aspect-ratio:3/4;object-fit:cover;backface-visibility:hidden;background:#dfd9cd;width:100%}.outfit-pair-viewer{z-index:110;color:#f2efe8;animation:outfit-pair-viewer-enter .22s var(--ease-ui) both;background:#191816f7;padding:clamp(18px,3vw,44px);position:fixed;inset:0;overflow-y:auto}.outfit-pair-viewer-header{z-index:1;background:#191816f7;border-bottom:1px solid #f2efe83d;grid-template-columns:1fr auto 1fr;align-items:center;min-height:62px;font-size:12px;display:grid;position:sticky;top:0}.outfit-pair-viewer-header nav{gap:clamp(18px,4vw,54px);display:flex}.outfit-pair-viewer-header button{min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0}.outfit-pair-viewer-header>button{justify-self:end}.outfit-pair-viewer-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,3vw,48px);max-width:1500px;margin:clamp(34px,5vw,76px) auto 0;display:grid}.outfit-pair-viewer-images figure{min-width:0;margin:0}.outfit-pair-viewer-images img,.outfit-pair-viewer-images .image-load-fallback{aspect-ratio:3/4;object-fit:contain;background:#11110f;width:100%;max-height:calc(100svh - 180px)}.outfit-pair-viewer-images figcaption{color:#f2efe8b3;padding-top:12px;font-size:11px}.standard-comparison{padding-top:20px}.standard-comparison-intro{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:clamp(20px,2.6vw,40px);margin-bottom:clamp(30px,4vw,58px);display:grid}.standard-comparison-intro .portfolio-kicker{grid-column:1/span 3;align-self:start;padding-top:10px}.standard-comparison-intro h2{letter-spacing:-.04em;grid-column:4/span 5;margin:0;font-family:Iowan Old Style,Noto Serif SC,Songti SC,serif;font-size:clamp(48px,5.2vw,76px);font-weight:400;line-height:.94}.standard-comparison-intro>p:last-child{max-width:460px;color:var(--portfolio-muted);grid-column:9/-1;margin:0;line-height:1.9}.standard-comparison-matrix{min-width:0}.standard-comparison-row-label{color:var(--portfolio-muted);letter-spacing:.12em;margin:0 0 10px;font-size:10px}.standard-comparison-row--before+.standard-comparison-row-label{margin-top:clamp(20px,2vw,30px)}.standard-comparison-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(6px,.8vw,14px);display:grid}.standard-comparison-column{z-index:0;cursor:zoom-in;transform-origin:50%;will-change:transform;background:#dfd9cd;border:0;min-width:0;padding:0;transition:transform .18s cubic-bezier(.22,1,.36,1);display:block;position:relative;overflow:clip;transform:translateZ(0)}.standard-comparison-column>img,.standard-comparison-column>.image-load-fallback{aspect-ratio:3/4;object-fit:cover;backface-visibility:hidden;width:100%;display:block}.standard-comparison-column>span{color:#ffffffe0;letter-spacing:.08em;text-shadow:0 1px 8px #0000006b;font-size:9px;position:absolute;bottom:7px;right:8px}.standard-pair-viewer{z-index:110;color:#f2efe8;animation:outfit-pair-viewer-enter .22s var(--ease-ui) both;background:#191816f7;padding:clamp(18px,3vw,44px);position:fixed;inset:0;overflow-y:auto}.standard-pair-viewer-header{z-index:1;background:#191816f7;border-bottom:1px solid #f2efe83d;grid-template-columns:1fr auto 1fr;align-items:center;min-height:62px;font-size:12px;display:grid;position:sticky;top:0}.standard-pair-viewer-header nav{gap:clamp(18px,4vw,54px);display:flex}.standard-pair-viewer-header button{min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0}.standard-pair-viewer-header>button{justify-self:end}.standard-pair-viewer-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,3vw,48px);max-width:1500px;margin:clamp(34px,5vw,76px) auto 0;display:grid}.standard-pair-viewer-images figure{min-width:0;margin:0}.standard-pair-viewer-images img,.standard-pair-viewer-images .image-load-fallback{aspect-ratio:3/4;object-fit:contain;background:#11110f;width:100%;max-height:calc(100svh - 180px)}.standard-pair-viewer-images figcaption{color:#f2efe8b3;padding-top:12px;font-size:11px}@keyframes outfit-pair-viewer-enter{0%{opacity:0;transform:translateY(10px)}}@keyframes portfolio-viewer-backdrop{0%{opacity:0}}@keyframes portfolio-viewer-enter{0%{opacity:0;transform:translateY(16px)}}.portfolio-contact{border-top:1px solid var(--portfolio-line);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;min-height:85svh;padding:clamp(100px,14vw,220px) clamp(20px,4vw,64px) 32px;display:grid}.portfolio-contact>div:first-child{grid-column:1/span 8}.portfolio-contact h2{letter-spacing:-.04em;margin:20px 0 40px;font-size:clamp(42px,6.4vw,96px);line-height:1.05}.portfolio-contact strong{-webkit-user-select:text;user-select:text;font-size:clamp(18px,2vw,30px);font-weight:400}.portfolio-qr-frame{aspect-ratio:286/390;background:#e3ded3;grid-column:10/-1;overflow:clip}.portfolio-company{border-top:1px solid var(--portfolio-line);color:var(--portfolio-muted);letter-spacing:.12em;grid-column:1/-1;margin:100px 0 0;padding-top:18px;font-size:10px}[data-reveal]{opacity:1;clip-path:none;transform:none}[data-reveal=image]{overflow:clip}[data-motion-ready] [data-reveal]{opacity:0;transition:opacity .56s var(--ease-editorial) var(--reveal-delay,0s), transform .56s var(--ease-editorial) var(--reveal-delay,0s), clip-path .62s var(--ease-editorial) var(--reveal-delay,0s);transform:translateY(18px)}[data-motion-ready] [data-reveal=image]{clip-path:inset(0 0 14%)}[data-motion-ready] [data-reveal][data-revealed=true]{opacity:1;clip-path:inset(0);transform:none}@keyframes portfolio-hero-copy{0%{opacity:0;transform:translateY(18px)}}@keyframes portfolio-hero-image{0%{opacity:.72;clip-path:inset(0 0 14%);transform:translateY(12px)scale(1.015)}}@media (width>=901px){.portfolio-hero-copy{transform:translateY(-24px)}.outfit-comparison{padding-top:20px}.outfit-comparison-intro{margin-bottom:24px}.outfit-comparison-copy h2{margin-block:12px 18px;font-size:clamp(48px,5.2vw,76px)}}@media (width>=901px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){:is(.standard-comparison-matrix:has(.standard-comparison-column--1:hover) .standard-comparison-column--1,.standard-comparison-matrix:has(.standard-comparison-column--2:hover) .standard-comparison-column--2,.standard-comparison-matrix:has(.standard-comparison-column--3:hover) .standard-comparison-column--3,.standard-comparison-matrix:has(.standard-comparison-column--4:hover) .standard-comparison-column--4,.standard-comparison-matrix:has(.standard-comparison-column--5:hover) .standard-comparison-column--5,.standard-comparison-matrix:has(.standard-comparison-column--6:hover) .standard-comparison-column--6,.outfit-comparison-matrix:has(.outfit-comparison-column--1:hover) .outfit-comparison-column--1,.outfit-comparison-matrix:has(.outfit-comparison-column--2:hover) .outfit-comparison-column--2,.outfit-comparison-matrix:has(.outfit-comparison-column--3:hover) .outfit-comparison-column--3,.outfit-comparison-matrix:has(.outfit-comparison-column--4:hover) .outfit-comparison-column--4){z-index:2;transform:translateZ(0)scale(1.055)}}@media (width<=900px){.portfolio-hero-copy{grid-column:1/span 6}.portfolio-hero-media{grid-column:7/-1}.portfolio-group-heading,.portfolio-service{grid-template-columns:repeat(6,minmax(0,1fr))}.portfolio-group-number{grid-column:1}.portfolio-group-heading>div{grid-column:2/-1}.portfolio-service-heading{grid-column:1/span 2}.portfolio-service-cases{grid-column:3/-1;grid-template-columns:repeat(6,minmax(0,1fr))}.portfolio-project--wide,.portfolio-project--landscape{grid-column:span 6}.portfolio-project--portrait{grid-column:span 3;margin-top:36px}.portfolio-service--capability-only>div{grid-column:1/span 4}.portfolio-service--capability-only>span{grid-column:5/-1}.portfolio-contact>div:first-child{grid-column:1/span 8}.portfolio-qr-frame{grid-column:9/-1}.outfit-comparison-body{grid-template-columns:1fr}.outfit-comparison-material{max-width:520px}.outfit-comparison-row{grid-template-columns:repeat(2,minmax(0,1fr))}.standard-comparison-intro{grid-template-columns:repeat(6,minmax(0,1fr))}.standard-comparison-intro .portfolio-kicker{grid-column:1/span 2}.standard-comparison-intro h2,.standard-comparison-intro>p:last-child{grid-column:3/-1}.standard-comparison-row{grid-template-columns:repeat(3,minmax(0,1fr))}.custom-shooting-layout{grid-template-columns:1fr}.custom-shooting-inputs{grid-template-columns:repeat(3,minmax(0,1fr))}.custom-shooting-inputs>.custom-shooting-label{grid-column:1/-1}.custom-template-matrix{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width<=640px){.portfolio-header{min-height:62px}.portfolio-nav{display:none}.portfolio-hero{flex-direction:column;min-height:auto;padding-top:52px;display:flex}.portfolio-hero-copy{order:2}.portfolio-hero-media{aspect-ratio:4/5;order:1;margin-bottom:45px}.portfolio-hero h1{font-size:clamp(49px,15vw,76px)}.portfolio-work-heading{display:block}.portfolio-work-heading h2{margin-top:12px}.portfolio-work-index{grid-template-columns:1fr}.portfolio-work-index-item:nth-child(n){border-left:0}.portfolio-case-archive{display:block}.portfolio-case-archive h2{margin-top:12px}.portfolio-archive-group{display:block}.portfolio-archive-group>div{margin-top:12px}.portfolio-group{padding-block:76px}.portfolio-group-heading{grid-template-columns:1fr;margin-bottom:58px;display:grid}.portfolio-group-number,.portfolio-group-heading>div{grid-column:1}.portfolio-group-number{margin-bottom:34px;font-size:78px}.portfolio-service{grid-template-columns:1fr;display:grid}.portfolio-service-heading,.portfolio-service-cases{grid-column:1}.portfolio-service-heading{margin-bottom:32px;position:static}.portfolio-service-cases{grid-template-columns:1fr;display:grid}.portfolio-project--wide,.portfolio-project--portrait,.portfolio-project--landscape{grid-column:1;margin:0 0 72px}.portfolio-service--capability-only{flex-direction:column;justify-content:space-between;align-items:stretch;min-height:280px;display:flex}.portfolio-service--capability-only>span{align-self:flex-end}.portfolio-contact{min-height:auto;display:block}.portfolio-qr-frame{width:min(68vw,286px);margin:70px 0 0 auto}.portfolio-company{margin-top:80px}[data-motion-ready] [data-reveal]{transition-duration:.38s;transition-delay:0s;transform:translateY(8px)}.portfolio-viewer{padding-inline:20px}.portfolio-case-hero{flex-direction:column;align-items:stretch;display:flex}.portfolio-case-hero-copy{padding:0}.portfolio-case-hero-copy h2{font-size:clamp(48px,14vw,76px)}.portfolio-case-media>header{display:block}.portfolio-case-media h3{margin-top:10px}.portfolio-case-media-grid{display:block}.portfolio-case-media-grid .portfolio-case-figure+.portfolio-case-figure{margin-top:42px}.portfolio-case-conclusion{display:block}.portfolio-case-conclusion>div+div{margin-top:72px}.portfolio-viewer-close{font-size:12px}.portfolio-viewer-header>p{display:none}.portfolio-viewer-navigation{gap:14px}.portfolio-viewer-navigation button{gap:6px;font-size:12px}.outfit-comparison{padding-top:54px}.outfit-comparison-intro{flex-direction:column;align-items:stretch;margin-bottom:68px;display:flex}.outfit-comparison-copy h2{font-size:clamp(48px,15vw,72px)}.outfit-comparison-material{width:min(100%,360px);margin-left:0}.outfit-comparison-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.standard-comparison{padding-top:54px}.standard-comparison-intro{margin-bottom:46px;display:block}.standard-comparison-intro h2{margin:12px 0 20px;font-size:clamp(48px,15vw,72px)}.standard-comparison-intro>p:last-child{max-width:520px}.standard-comparison-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.standard-pair-viewer-images{grid-template-columns:1fr}.standard-pair-viewer-header{grid-template-columns:1fr auto}.standard-pair-viewer-header nav{display:none}.outfit-pair-viewer{padding:12px 20px 28px}.outfit-pair-viewer-header{grid-template-columns:1fr auto}.outfit-pair-viewer-header nav{grid-area:2/1/auto/-1;justify-content:space-between}.outfit-pair-viewer-header>button{grid-area:1/2}.outfit-pair-viewer-images{margin-top:28px;display:block}.outfit-pair-viewer-images figure+figure{margin-top:42px}.outfit-pair-viewer-images img,.outfit-pair-viewer-images .image-load-fallback{max-height:none}.portfolio-service--custom-shooting{display:block}.custom-shooting-intro{margin-bottom:72px}.custom-shooting-intro h3{font-size:clamp(48px,15vw,72px)}.custom-shooting-flow{flex-direction:column;align-items:flex-start}.custom-shooting-flow i{transform:rotate(90deg)}.custom-shooting-projects{gap:104px}.custom-shooting-project-heading{grid-template-columns:34px minmax(0,1fr)}.custom-shooting-layout{grid-template-columns:1fr;gap:54px}.custom-shooting-inputs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.custom-shooting-inputs figcaption{font-size:12px;line-height:1.5}.custom-shooting-matrix{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.custom-shooting-brief{grid-template-columns:1fr}.custom-shooting-brief>.custom-shooting-label,.custom-shooting-brief .custom-shooting-image,.custom-shooting-brief>p:last-child{grid-column:1}.custom-template-identities{gap:8px}.custom-template-pipeline{border-left:1px solid var(--portfolio-line);padding-left:16px}.custom-template-featured{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.custom-template-matrix{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.custom-template-stage-heading{grid-template-columns:42px minmax(0,1fr)}.custom-template-stage-heading small{grid-column:2;justify-self:start}.custom-template-transition{grid-template-columns:42px minmax(0,1fr);min-height:112px}.custom-template-transition span{grid-column:2;justify-self:start}.custom-template-transition i{grid-area:1/1}.custom-template-stage--identity .custom-template-identities{margin-left:0}.custom-shooting-viewer{padding:16px}.custom-shooting-viewer header p{max-width:68%;line-height:1.55}.custom-shooting-viewer-stage img,.custom-shooting-viewer-stage .image-load-fallback{max-height:70vh}}@media (hover:none),(pointer:coarse){.portfolio-project figcaption{opacity:1;transform:none}.portfolio-project-image img{transform:none!important}.custom-shooting-image{filter:none!important;transform:none!important}}@media (prefers-reduced-motion:reduce){.portfolio-page{scroll-behavior:auto}.portfolio-page *,.portfolio-page :before,.portfolio-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}[data-motion-ready] [data-reveal],[data-motion-ready] [data-reveal=image]{opacity:1;clip-path:none;transform:none}.portfolio-project-image img{transform:none!important}.portfolio-viewer-backdrop,.portfolio-viewer,.outfit-comparison-row,.outfit-comparison-column>img,.outfit-comparison-column>.image-load-fallback,.standard-comparison-row,.standard-comparison-column>img,.standard-comparison-column>.image-load-fallback,.outfit-pair-viewer,.custom-shooting-image,.custom-shooting-viewer{transition:none!important;animation:none!important}}@supports (min-height:100dvh){.portfolio-page{min-height:100dvh}}.app-shell{height:var(--app-viewport-height);color:var(--text-primary);overflow:hidden}.auth-shell{min-height:var(--app-viewport-height);grid-template-columns:minmax(320px,460px) minmax(320px,420px);justify-content:center;align-items:center;gap:24px;padding:28px;display:grid}.auth-hero,.auth-card,.panel-card,.batch-row,.empty-state{border-radius:var(--radius-lg);background:var(--surface-card);border:1px solid #dbe2ede6;box-shadow:0 14px 34px #13253f14}.auth-hero,.auth-card{padding:28px}.auth-hero{background:linear-gradient(135deg,#ffd77857,#fffffff0),#fffffffa}.auth-hero-mark,.brand-mark{color:#1e1608;background:linear-gradient(135deg,#ffce52,#ff9254);place-items:center;font-weight:700;display:grid;box-shadow:0 12px 28px #ffa34938}.auth-hero-mark{border-radius:22px;width:68px;height:68px;margin-bottom:18px;font-size:24px}.auth-hero h1,.auth-card h1,.topbar h1,.result-header h2{font-size:var(--font-title);margin:6px 0 0;line-height:1.08}.auth-hero p,.auth-loading-card p,.panel-copy,.empty-state p{color:var(--text-secondary);line-height:1.7}.auth-loading-card{text-align:center;max-width:560px;margin:0 auto}.auth-mode-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.auth-tab,.batch-actions button,.ghost-button,.choice-pill,.compare-close,.compare-nav,.compare-filmstrip-list button,.history-ref-item,.lightbox-close,.lightbox-filmstrip button,.lightbox-nav,.lightbox-toolbar button,.user-panel button,.tile-action-button,.mini-copy-button,.pagination-pages button,.pagination-jump button{cursor:pointer;border:none;transition:transform .2s,box-shadow .2s,background .2s,color .2s,opacity .2s}.auth-tab{background:var(--surface-soft);color:var(--text-secondary);font-size:var(--font-caption);border-radius:999px;padding:10px 14px;font-weight:700}.auth-tab.is-active{background:var(--navy-strong);color:#fff;box-shadow:0 10px 20px #13254433}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form label,.compact-grid label{flex-direction:column;gap:8px;display:flex}.auth-form span,.compact-grid span,.section-head span,.batch-compact-info span,.batch-prompt label,.history-ref-block label,.user-meta small,.pagination-size span,.pagination-jump span{font-size:var(--font-caption);color:var(--text-muted)}.auth-form input,.form-card textarea,.form-card select,.pagination-jump input,.pagination-size select{width:100%;color:var(--text-primary);font:inherit;background:#fdfefe;border:1px solid #12233d1f;border-radius:14px}.auth-form input,.form-card select,.pagination-jump input,.pagination-size select{padding:12px 14px}.auth-error,.failure-box,.empty-box{color:var(--text-secondary);background:#f6f8fb;border-radius:14px;padding:14px 16px}.auth-error,.failure-box{background:#e2564414}.auth-error,.failure-box strong,.slot-failure strong{color:#c64230}.topbar{border-bottom:1px solid var(--border-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10;background:linear-gradient(135deg,#ffffffe6,#f7f9fff5),radial-gradient(circle at 0 0,#ffd25633,#0000 40%);align-items:center;gap:8px;padding:4px 12px;display:grid;position:sticky;top:0}.simple-topbar{grid-template-columns:minmax(0,1fr) auto auto}.topbar:has(.user-avatar-button[aria-expanded=true]){z-index:25}.brand-block{align-items:center;gap:0;display:flex}.brand-mark{letter-spacing:0;border-radius:12px;width:58px;height:38px;font-size:14px}.section-tag{letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;margin:0;font-size:11px}.user-panel{justify-content:flex-end;align-items:center;gap:10px;display:flex}.user-menu{position:relative}.user-avatar-button{background:var(--surface-soft);place-items:center;width:36px;height:36px;display:grid;border-radius:50%!important;padding:0!important}.user-avatar-button.is-active,.user-avatar-button[aria-expanded=true]{background:var(--navy-strong);color:#fff}.user-menu-popover{z-index:30;background:#fff;border:1px solid #dbe2edf2;border-radius:14px;gap:6px;width:220px;padding:10px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 44px #13253f29}.user-menu-profile{border-bottom:1px solid #dbe2edcc;gap:4px;padding:8px 10px 10px;display:grid}.user-menu-profile strong{color:var(--text-primary)}.user-menu-profile span{color:var(--text-muted);font-size:var(--font-caption)}.user-menu-popover button{text-align:left;background:0 0;border-radius:10px;width:100%}.user-menu-popover button:hover{background:var(--surface-soft)}.user-menu-popover button.danger{color:#c64230}.view-switcher{gap:8px;margin-right:4px;display:flex}.view-switcher button{background:var(--surface-soft);color:var(--text-secondary);font-size:var(--font-caption);border-radius:999px;padding:8px 12px;font-weight:700}.user-panel button{background:var(--surface-soft);color:var(--text-secondary);font-size:var(--font-caption);border-radius:999px;padding:8px 12px;font-weight:700}.user-name{color:var(--text-primary);font-weight:700}.stats-bar{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.compact-stats div{white-space:nowrap;background:#ffffffb8;border:1px solid #dbe2edd6;border-radius:12px;justify-content:center;align-items:center;gap:4px;min-width:76px;padding:7px 10px;display:flex}.compact-stats strong{font-size:16px}.compact-stats span{font-size:11px}.workspace{height:calc(var(--app-viewport-height) - 54px);grid-template-columns:minmax(450px,480px) minmax(0,1fr);align-items:start;gap:14px;padding:12px 14px 14px;display:grid;overflow:hidden}.backoffice-workspace{grid-template-columns:minmax(0,1fr)}.backoffice-panel{width:100%}.image-editor-backdrop{z-index:80;background:#080e1cad;justify-content:center;align-items:center;padding:8px;display:flex;position:fixed;inset:0}.image-editor-modal{width:min(1560px,100% - 32px);height:min(calc(var(--app-viewport-height) * .985), 1600px);max-height:min(calc(var(--app-viewport-height) * .985), 1600px);background:#fff;border:1px solid #94a3b847;border-radius:14px;flex-direction:column;gap:12px;padding:18px;display:flex;box-shadow:0 24px 80px #0f172a57}.image-editor-header,.image-editor-footer,.image-editor-toolbar{align-items:center;gap:12px;display:flex}.image-editor-header{justify-content:space-between}.image-editor-header div{min-width:0}.image-editor-header strong,.image-editor-header span{display:block}.image-editor-header span{color:var(--text-secondary);font-size:var(--font-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.image-editor-toolbar{background:#f6f8fb;border-radius:10px;flex-wrap:wrap;padding:10px}.image-editor-tools{background:#fff;border:1px solid #94a3b857;border-radius:999px;display:inline-flex;overflow:hidden}.image-editor-tools button{min-width:64px;color:var(--text-secondary);font-size:var(--font-caption);background:0 0;border:none;border-right:1px solid #94a3b83d;padding:8px 12px;font-weight:800}.image-editor-tools button:last-child{border-right:none}.image-editor-tools button.is-active{color:#fff;background:#132544}.image-editor-transform-actions{gap:6px;display:inline-flex}.image-editor-transform-actions button{color:var(--text-secondary);font-size:var(--font-caption);background:#fff;border:1px solid #94a3b857;border-radius:999px;padding:7px 12px;font-weight:800}.image-editor-transform-actions button:disabled{cursor:not-allowed;opacity:.52}.image-editor-toolbar label{color:var(--text-secondary);font-size:var(--font-caption);align-items:center;gap:8px;font-weight:800;display:inline-flex}.image-editor-toolbar input[type=color]{background:0 0;border:none;width:34px;height:30px;padding:0}.image-editor-toolbar select{min-width:82px;color:var(--text-primary);font-size:var(--font-caption);background:#fff;border:1px solid #94a3b857;border-radius:999px;padding:7px 10px;font-weight:800}.image-editor-toolbar input[type=range]{width:140px}.image-editor-toolbar input[type=range]:disabled{opacity:.45}.image-editor-size-value{min-width:24px;color:var(--text-primary);font-size:var(--font-caption);text-align:right;font-weight:900}.image-editor-mode-toggle{background:#fff;border:1px solid #94a3b857;border-radius:999px;display:inline-flex;overflow:hidden}.image-editor-mode-toggle button{min-width:58px;color:var(--text-secondary);cursor:pointer;font-size:var(--font-caption);background:0 0;border:none;border-right:1px solid #94a3b83d;padding:7px 10px;font-weight:900}.image-editor-mode-toggle button:last-child{border-right:none}.image-editor-mode-toggle button.is-active{color:#fff;background:#132544}.image-editor-brush-size-hint{color:var(--text-secondary);font-size:var(--font-caption);font-weight:900}.image-editor-collage-controls{flex-wrap:wrap;flex:320px;align-items:center;gap:10px;min-width:0;display:inline-flex}.image-editor-upload-button{color:#fff;cursor:pointer;font-size:var(--font-caption);background:#132544;border:none;border-radius:999px;padding:8px 12px;font-weight:900}.image-editor-collage-status{min-width:0;max-width:220px;color:var(--text-secondary);font-size:var(--font-caption);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.image-editor-file-input{display:none}.image-editor-stage{background:#f8fafc;border:1px solid #94a3b83d;border-radius:12px;flex:1;justify-content:center;align-items:center;min-height:630px;padding:14px;display:flex;position:relative;overflow:auto}.image-editor-stage canvas{touch-action:none;cursor:crosshair;max-width:100%;height:auto;max-height:100%;display:block}.image-editor-stage canvas.is-paint-tool{cursor:none}.image-editor-stage canvas.is-loading{opacity:0}.image-editor-stage>span{color:var(--text-secondary);font-weight:800;position:absolute}.image-editor-stage.is-collage{outline-offset:-8px;outline:2px dashed #ffb24a52}.image-editor-drop-hint{pointer-events:none;background:#ffffffe0;border-radius:999px;padding:7px 12px;top:14px;left:14px;transform:none;box-shadow:0 8px 24px #0f172a14}.image-editor-error{background:var(--danger-soft);color:var(--danger-strong);font-size:var(--font-caption);border-radius:10px;padding:10px 12px;font-weight:800}.image-editor-footer{justify-content:flex-end}@media (width<=720px){.image-editor-backdrop{padding:6px}.image-editor-modal{height:calc(var(--app-viewport-height) * .985);max-height:calc(var(--app-viewport-height) * .985);padding:12px}.image-editor-stage{min-height:480px;padding:10px}.image-editor-toolbar input[type=range]{width:100px}}.floating-announcement{z-index:24;width:min(420px, calc(var(--app-viewport-width) - 32px));background:linear-gradient(135deg,#ffecb5f5,#fffffffa),radial-gradient(circle at 100% 0,#ff9d573d,#0000 40%);border:1px solid #ffb24a57;border-radius:20px;gap:12px;padding:16px;display:grid;position:fixed;top:68px;right:18px;box-shadow:0 20px 48px #1b263d2e}.floating-announcement-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.floating-announcement h2{margin:2px 0 0;font-size:18px;line-height:1.25}.floating-announcement-close{width:30px;height:30px;color:var(--navy-strong);cursor:pointer;background:#1325441a;border:none;border-radius:999px;font-size:20px;line-height:1}.floating-announcement-body{max-height:min(42vh,300px);color:var(--text-secondary);word-break:break-word;gap:6px;line-height:1.6;display:grid;overflow:auto}.floating-announcement-body p{margin:0}.floating-announcement-actions{justify-content:flex-end;display:flex}.control-panel{align-self:stretch;height:100%;min-height:0;overflow:hidden}.control-panel .form-card{overscroll-behavior:contain;scrollbar-gutter:stable;height:100%;padding-right:12px;overflow-y:auto}.control-panel .form-card>*{flex-shrink:0}.form-card{flex-direction:column;gap:14px;display:flex}.panel-brief{flex-direction:column;gap:4px;display:flex}.panel-brief .panel-copy{margin:0}.form-section{flex-direction:column;gap:10px;display:flex}.control-surface{border-radius:var(--radius-md);background:var(--surface-highlight);border:1px solid #dbe2eddb;padding:14px;box-shadow:inset 0 1px #fffc}.project-selector-section,.model-select-section,.batch-preset-section{gap:12px}.project-selector-section.compact-grid,.model-select-section.compact-grid{grid-template-columns:1fr}.project-select-label,.field-stack{flex-direction:column;gap:8px;min-width:0;display:flex}.project-select-row{grid-template-columns:minmax(0,1fr) 40px;align-items:stretch;gap:8px;display:grid}.project-star-button{border-radius:var(--radius-sm);color:#7b8799;cursor:pointer;background:linear-gradient(#fff,#f7f9fc);border:1px solid #12233d24;place-items:center;width:40px;min-height:40px;padding:0;font-size:24px;line-height:1;display:inline-grid}.project-star-button:hover:not(:disabled),.project-star-button.is-active{color:#f59e0b;background:#fff7e8;border-color:#ffaa2eb8}.project-star-button:disabled{cursor:not-allowed;opacity:.5}.toggle-row{color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.toggle-row input{width:16px;height:16px}.share-user-list{border-radius:var(--radius-sm);background:#fff;border:1px solid #12233d1f;gap:6px;max-height:148px;padding:6px;display:grid;overflow-y:auto}.share-user-option{min-height:30px;color:var(--text-primary);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;font-weight:600;display:flex}.share-user-option:hover{background:#f6f8fb}.share-user-option input{width:15px;height:15px}.share-user-empty{color:var(--text-muted);font-size:var(--font-caption);padding:8px}.project-select-label>span,.model-select-section .field-stack>span{display:none}.reference-upload-zone{border-radius:18px;margin:0;padding:0}.reference-upload-zone.is-active{background:#ffb24a14;box-shadow:0 0 0 2px #ffb24a52}.model-select-section{border-radius:var(--radius-md);background:var(--surface-highlight);border:1px solid #dbe2eddb;padding:10px 12px}.project-select,.model-select-section select{border-radius:var(--radius-sm);width:100%;min-height:40px;font-size:var(--font-body);letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(#fff,#f7f9fc);padding:9px 34px 9px 12px;font-weight:600}.batch-preset-section{border-radius:var(--radius-md);background:var(--surface-highlight);border:1px solid #dbe2eddb;padding:12px}.batch-preset-row,.batch-preset-actions{gap:8px;display:flex}.batch-preset-row{align-items:center}.batch-preset-row select{flex:1}.batch-preset-actions{flex-wrap:wrap}.batch-preset-current{gap:8px;display:grid}.batch-preset-current-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.batch-preset-current-info{gap:6px;min-width:0;display:grid}.batch-preset-current-info .prompt-library-list-title strong{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;overflow:visible}.batch-preset-settings-button{flex:none;min-height:28px;padding:0 8px}.batch-preset-primary-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.batch-preset-primary-actions .ghost-button,.batch-preset-manage-row .ghost-button{min-width:0;min-height:30px;padding:0 5px;font-size:11px}.batch-preset-manage-row{border-top:1px solid #12233d14;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:9px;display:grid}.batch-preset-manage-row .agent-checkbox-row{font-size:11px}.batch-preset-settings-dialog{width:min(420px,100vw - 32px)}.batch-preset-settings-summary{color:var(--text-secondary);border-bottom:1px solid #12233d14;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding-bottom:10px;font-size:12px;display:grid}.batch-preset-sharing-toggle{min-height:38px}.batch-preset-settings-delete{justify-self:end;min-height:30px;padding:0 9px}.preset-browser-modal{background:#fff;border:1px solid #12233d1a;border-radius:8px;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:10px;width:min(920px,100vw - 32px);height:min(720px,100vh - 32px);min-height:0;padding:16px;display:grid;box-shadow:0 24px 70px #0f172a47}.preset-browser-filters{grid-template-columns:minmax(0,1fr) minmax(180px,.55fr) auto;gap:7px;display:grid}.preset-browser-filters input{min-width:0;min-height:36px;color:var(--text-primary);font:inherit;border:1px solid #12233d21;border-radius:7px;padding:0 10px;font-size:12px}.preset-browser-layout{grid-template-columns:minmax(240px,.8fr) minmax(0,1.6fr);gap:10px;min-height:0;display:grid}.preset-browser-list{background:#f6f8fb;border:1px solid #12233d17;border-radius:7px;flex-direction:column;gap:5px;min-height:0;padding:5px;display:flex;overflow-y:auto}.preset-browser-list>button{width:100%;min-width:0;color:var(--text-primary);text-align:left;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:6px;gap:6px;padding:9px 10px;display:grid}.preset-browser-list>button.is-selected{border-color:#ffa837bf;box-shadow:inset 3px 0 #ffad3d}.preset-browser-list>button>span:first-child{align-items:center;gap:6px;display:flex}.preset-browser-list>button strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.preset-browser-list>button small{color:#28745b;flex:none;font-size:10px}.preset-browser-list>p,.preset-browser-preview>p{color:var(--text-secondary);text-align:center;margin:auto;font-size:12px}.preset-browser-preview{background:#fff;border:1px solid #12233d17;border-radius:7px;grid-template-rows:auto auto minmax(0,1fr);gap:10px;min-width:0;min-height:0;padding:12px;display:grid}.preset-preview-title{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.preset-preview-title>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.preset-preview-params{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.preset-preview-params>span{background:#f7f9fc;border:1px solid #12233d14;border-radius:6px;gap:3px;padding:7px 8px;display:grid}.preset-preview-params small,.preset-preview-prompt>span{color:var(--text-secondary);font-size:10px}.preset-preview-params strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.preset-preview-prompt{grid-template-rows:auto minmax(0,1fr);gap:5px;min-height:0;display:grid}.preset-preview-prompt pre{min-height:0;color:var(--text-primary);font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc;border:1px solid #12233d17;border-radius:6px;margin:0;padding:10px;font-size:12px;line-height:1.6;overflow:auto}@media (width<=760px){.preset-browser-modal{height:calc(100vh - 16px);padding:12px}.preset-browser-filters,.preset-browser-layout{grid-template-columns:1fr}.preset-browser-layout{grid-template-rows:minmax(140px,.7fr) minmax(240px,1.3fr)}}.collapsible-control.model-select-section,.collapsible-control.batch-preset-section,.collapsible-control.batch-sharing-panel{padding:0;display:block;overflow:hidden}.collapsible-summary{width:100%;min-height:52px;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;list-style:none;display:flex}.collapsible-summary::-webkit-details-marker{display:none}.collapsible-title{gap:2px;min-width:0;display:grid}.collapsible-title strong{color:var(--text-primary);font-size:14px;line-height:1.25}.collapsible-title small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.35;overflow:hidden}.collapsible-hint{color:var(--text-secondary);background:#13254414;border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:700}.collapsible-hint:before{content:"展开"}.collapsible-control.is-open .collapsible-hint:before,.collapsible-control[open] .collapsible-hint:before{content:"收起"}.collapsible-body{border-top:1px solid #dbe2edb8;gap:10px;padding:0 12px 12px;display:grid}.collapsible-control:not(.is-open):not([open]) .collapsible-body{display:none}.collapsible-body .field-stack{padding-top:10px}.section-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.section-head h3,.empty-state h3{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:700}.section-head span{color:var(--text-muted);font-size:11px;font-weight:600}.upload-box{background:#fff;border:1px dashed #234a7d3d;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:150px;padding:18px 16px;display:flex}.upload-box.is-compact{border-radius:14px;gap:6px;min-height:0;padding:8px}.upload-surface{text-align:center;outline:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;width:100%;min-height:112px;display:flex}.upload-box.is-compact .upload-surface{min-height:42px}.upload-surface.is-active{border-radius:14px;box-shadow:0 0 0 3px #ffc54c29}.upload-surface>strong,.upload-surface>span{display:none}.visually-hidden-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.upload-select-panel{border-radius:var(--radius-sm);color:#355176;cursor:pointer;width:min(100%,220px);min-height:64px;font:inherit;box-shadow:none;background:linear-gradient(135deg,#e9f0fb,#dce7f6);border:1px solid #7491bf3d;padding:10px 14px}.upload-box.is-compact .upload-select-panel{width:100%;min-height:40px;padding:8px 12px}.upload-hint-inline{text-align:center;color:var(--text-muted);font-size:12px;line-height:1.5;display:block}.upload-box.is-compact .upload-hint-inline{display:none}.paste-drop-strip{width:100%;min-height:34px;color:var(--text-muted);cursor:text;font:inherit;background:linear-gradient(#f8fbffeb,#f1f6fcd1);border:1px dashed #7491bf52;border-radius:12px;font-size:12px}.paste-drop-strip:hover,.paste-drop-strip:focus-visible{color:var(--text-secondary);border-color:#ffb24ab8;outline:none;box-shadow:0 0 0 3px #ffb24a24}.reference-grid{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;gap:8px;display:grid}.reference-card{cursor:grab;background:#f6f8fb;border-radius:12px;flex-direction:column;padding:5px;transition:box-shadow .18s,opacity .18s,transform .18s;display:flex;position:relative;overflow:hidden}.reference-card:active{cursor:grabbing}.reference-card.is-dragging{opacity:.46;transform:scale(.96)}.reference-card.is-drop-swap{box-shadow:0 0 0 2px #ffb24ad6,0 12px 22px #ffb24a33}.reference-card.is-drop-replace{background:#edf6ff;box-shadow:0 0 0 2px #007affb8,0 12px 22px #007aff2e}.reference-card.is-insert-before:before,.reference-card.is-insert-after:after{content:"";z-index:3;background:#ff9d57;border-radius:999px;width:4px;position:absolute;top:9px;bottom:9px;box-shadow:0 0 0 3px #ff9d5733}.reference-card.is-insert-before:before{left:2px}.reference-card.is-insert-after:after{right:2px}.reference-order-badge{z-index:2;color:#fff;pointer-events:none;background:#132544d1;border-radius:999px;padding:4px 7px;font-size:11px;line-height:1;position:absolute;top:9px;left:9px}.reference-preview-button,.image-preview-button{cursor:pointer;background:0 0;border:none;padding:0}.reference-card img,.history-ref-item img,.image-load-fallback,.image-preview-button img,.loading-skeleton{aspect-ratio:1;border-radius:12px;width:100%}.reference-card img,.history-ref-item img{object-fit:contain;background:#fff}.image-preview-button img,.loading-skeleton{object-fit:contain;background:#f8fafc}.image-load-fallback{color:var(--text-secondary);text-align:center;border:1px dashed #94a3b859;justify-content:center;align-items:center;padding:12px;font-size:12px;line-height:1.4;display:flex}.reference-actions{opacity:0;pointer-events:none;justify-content:flex-end;display:flex;position:absolute;top:10px;right:10px;transform:scale(.92)}.reference-card:hover .reference-actions,.reference-card:focus-within .reference-actions{opacity:1;pointer-events:auto;transform:scale(1)}.reference-actions .ghost-button:first-child{display:none}.reference-delete-button,.reference-actions .ghost-button.danger{color:#fff;background:#e03a3af5;border-radius:999px;width:22px;min-width:22px;height:22px;padding:0;font-size:0;box-shadow:0 8px 18px #e03a3a38}.reference-delete-button:before,.reference-actions .ghost-button.danger:before{content:"×";text-align:center;font-size:15px;line-height:22px;display:block}.reference-edit-badge{z-index:4;color:#fff;opacity:0;pointer-events:none;cursor:pointer;background:#141d2dd1;border:1px solid #ffffffb8;border-radius:999px;min-width:34px;height:24px;padding:0 8px;font-size:11px;line-height:22px;transition:opacity .16s,background .16s,transform .16s;position:absolute;top:8px;left:8px;box-shadow:0 8px 18px #0f172a38}.reference-card:hover .reference-edit-badge,.reference-card:focus-within .reference-edit-badge,.batch-ref-cell:hover .batch-ref-edit-badge,.batch-ref-cell:focus-within .batch-ref-edit-badge{opacity:1;pointer-events:auto}.reference-edit-badge:hover,.reference-edit-badge:focus-visible{background:#007afff0;outline:none;transform:translateY(-1px)}.batch-ref-edit-badge{top:10px;left:10px}.ghost-button{background:var(--surface-soft);color:var(--text-secondary);font-size:var(--font-caption);border-radius:999px;padding:8px 12px;font-weight:700}.ghost-button.danger{background:var(--danger-soft);color:var(--danger-strong)}.form-card textarea{resize:vertical;min-height:180px;max-height:620px;font-size:var(--font-body);padding:12px 14px;line-height:1.55}.form-card textarea.auto-resize-textarea,.batch-prompt-input.auto-resize-textarea{box-sizing:border-box;resize:none}.batch-prompt-input.auto-resize-textarea[readonly]{overscroll-behavior:none;overflow-y:hidden!important}.prompt-control-surface textarea{min-height:280px}.batch-control-panel .prompt-control-surface textarea{min-height:250px}.compact-grid,.choice-row{gap:10px;display:grid}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-grid>.section-head{grid-column:1/-1}.choice-row{grid-template-columns:repeat(4,minmax(0,1fr))}.batch-generation-param-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.batch-generation-param-fields label,.batch-settings-fields label,.agent-task-range-grid label{gap:5px;min-width:0;display:grid}.batch-generation-count-row{border-top:1px solid #12233d14;gap:6px;padding-top:9px;display:grid}.batch-generation-count-row>span,.batch-generation-param-fields label>span,.batch-settings-fields label>span,.agent-task-range-grid label>span{color:var(--text-secondary);font-size:11px}.batch-settings-fields,.agent-task-range-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.batch-settings-actions{border-top:1px solid #12233d14;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:9px;display:grid}.batch-settings-actions .ghost-button{min-height:30px;padding:0 7px;font-size:11px}.batch-settings-actions .ghost-button:last-child{grid-column:1/-1}.agent-task-reference-section{border-top:1px solid #12233d14;gap:8px;padding-top:10px;display:grid}.agent-task-overwrite-row{border-top:1px solid #12233d14;justify-content:space-between;align-items:center;gap:8px;padding-top:9px;display:flex}.agent-task-overwrite-row>p{color:var(--text-secondary);text-align:right;margin:0;font-size:10px}.choice-pill{background:var(--surface-soft);color:var(--text-secondary);font-size:var(--font-caption);border-radius:14px;padding:10px 0;font-weight:700}.choice-pill.is-active{background:var(--amber-soft);color:#8a5300;box-shadow:inset 0 0 0 1px #ffb24a85}.primary-button{color:#1f1a10;font:inherit;cursor:pointer;background:linear-gradient(135deg,#ffc54c,#ff9d57);border:none;border-radius:18px;margin-top:auto;padding:15px;font-weight:700;box-shadow:0 12px 22px #ffa05138}.generate-sticky-action{z-index:4;flex:none;margin-top:2px;position:sticky;bottom:0}.batch-run-actions{gap:8px;display:grid}.primary-button:disabled{opacity:.75;cursor:progress}.agent-token-create-actions .primary-button:disabled{cursor:not-allowed}.agent-token-create-actions .primary-button.is-pending:disabled{cursor:progress}.result-panel{flex-direction:column;gap:12px;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.simple-result-header{padding:2px 4px 0}.admin-page-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:10px 4px 8px;display:flex}.admin-page-header>div{min-width:0}.admin-page-header .primary-button{flex:none;margin-top:6px}.batch-list{flex-direction:column;flex:1;gap:14px;min-height:0;padding-right:6px;display:flex;overflow-y:auto}.batch-row,.empty-state{padding:12px 14px}.batch-meta,.batch-title,.batch-actions,.batch-compact-info,.inline-label-row,.pagination-bar,.pagination-size,.pagination-pages,.pagination-jump{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.batch-meta{justify-content:space-between;margin-bottom:6px}.batch-title strong{font-size:15px}.status-dot{border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.agent-badge{color:#7c3aed;background:#8b5cf624;border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-generating{color:#1f63d0;background:#3a87ff24}.status-completed{color:#15834d;background:#25b46e24}.status-partial_failed,.status-failed{color:#c64230;background:#e2564424}.batch-actions button{color:var(--text-primary);background:#eef3f9;border-radius:12px;padding:7px 11px}.batch-compact-info{margin-bottom:8px}.compact-prompt{margin-bottom:10px}.admin-form-label{flex-direction:column;gap:8px;display:flex}.admin-form-label input{width:100%;color:var(--text-primary);font:inherit;background:#fdfefe;border:1px solid #12233d1f;border-radius:14px;padding:12px 14px}.admin-form-label small{color:var(--text-muted);font-size:12px;line-height:1.45}.admin-checkbox{color:var(--text-secondary);align-items:center;gap:10px;display:flex}.admin-checkbox input{width:16px;height:16px}.admin-summary-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.admin-summary-card{background:#f6f8fb;border-radius:16px;flex-direction:column;gap:6px;padding:14px;display:flex}.admin-summary-card span{color:var(--text-muted);font-size:12px}.admin-users-panel{flex-direction:column;gap:14px;display:flex}.admin-create-inline{max-width:520px}.prompt-insights-panel{flex-direction:column;gap:12px;display:flex}.ledger-panel{flex-direction:column;gap:14px;display:flex}.ledger-page-head,.ledger-section-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ledger-page-head>div:first-child,.ledger-section-head>div:first-child{flex-direction:column;gap:4px;min-width:0;display:flex}.ledger-page-head strong,.ledger-section-head strong{color:var(--text-primary);font-size:16px}.ledger-page-head span,.ledger-section-head span{color:var(--text-muted);font-size:12px;line-height:1.5}.ledger-filter-bar{background:#fff;border:1px solid #dbe2ede6;border-radius:8px;grid-template-columns:repeat(7,minmax(120px,1fr)) auto auto;align-items:end;gap:10px;padding:12px;display:grid}.ledger-filter-bar label{min-width:0;color:var(--text-muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.ledger-filter-bar input,.ledger-filter-bar select{width:100%;min-width:0;color:var(--text-primary);font:inherit;background:#fff;border:1px solid #12233d1f;border-radius:8px;padding:8px 10px}.ledger-query-button{min-width:76px;min-height:38px}.ledger-summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.ledger-summary-grid div,.ledger-analysis-card{background:#fff;border:1px solid #dbe2ede6;border-radius:8px}.ledger-summary-grid span,.ledger-analysis-card th{color:var(--text-muted);font-size:12px}.ledger-summary-grid strong{color:var(--text-primary);margin-top:6px;font-size:20px;display:block}.ledger-analysis-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:10px;display:grid}.ledger-analysis-grid.is-primary{grid-template-columns:repeat(3,minmax(0,1fr))}.ledger-analysis-card{padding:12px;overflow-x:auto}.ledger-analysis-card>strong{margin-bottom:10px;display:block}.ledger-analysis-card table{border-collapse:collapse;width:100%;min-width:520px}.ledger-model-analysis-card table{min-width:760px}.ledger-analysis-card th,.ledger-analysis-card td{text-align:left;border-bottom:1px solid #dbe2edb3;padding:8px;font-size:12px}.ledger-prompt-card table{min-width:900px}.ledger-prompt-cell{text-overflow:ellipsis;white-space:nowrap;max-width:620px;overflow:hidden}.ledger-records-section{flex-direction:column;gap:10px;margin-top:4px;display:flex}.prompt-insights-list{gap:8px;max-height:400px;padding-right:4px;display:grid;overflow-y:auto}.task-record-toolbar,.task-record-pagination{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.task-record-toolbar label,.task-record-pagination label{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.task-record-toolbar select,.task-record-pagination select{color:var(--text-primary);font:inherit;background:#fff;border:1px solid #12233d1f;border-radius:999px;padding:7px 10px}.task-record-table-shell{background:#fff;border:1px solid #dbe2ede6;border-radius:8px;max-height:460px;overflow:auto}.task-record-table{border-collapse:collapse;width:100%;min-width:2360px}.task-record-table th,.task-record-table td{text-align:left;vertical-align:top;border-bottom:1px solid #dbe2edb3;padding:12px}.task-record-table th{z-index:1;color:var(--text-muted);background:#f6f8fb;font-size:12px;font-weight:700;position:sticky;top:0}.task-record-table td{color:var(--text-primary);font-size:12px}.task-record-table td strong,.task-record-table td span,.task-record-table td small{display:block}.task-record-table td span,.task-record-table td small{color:var(--text-muted);margin-top:4px}.task-record-prompt{max-width:420px;line-height:1.5}.task-record-prompt strong{-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;display:-webkit-box!important}.task-record-id,.task-record-list{overflow-wrap:anywhere;max-width:240px;line-height:1.5}.source-pill{border-radius:999px;width:fit-content;padding:4px 8px;font-weight:700;display:inline-flex!important}.source-pill.is-agent{color:#9a5a00;background:#ffb24a2e}.source-pill.is-user{color:#1f63d0;background:#3a87ff1f}.task-record-pagination{justify-content:flex-end}.task-record-pagination>span{color:var(--text-muted);margin-right:auto;font-size:12px}.task-record-pagination .ghost-button.is-active{color:#fff;background:#132544}.insight-subtitle{color:var(--text-primary);font-size:13px}.prompt-insight-item{background:#f6f8fb;border-radius:14px;grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px;display:grid}.prompt-insight-rank{color:#fff;background:#132544;border-radius:999px;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid}.prompt-insight-main{min-width:0}.prompt-insight-main strong{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.5;display:-webkit-box;overflow:hidden}.prompt-insight-main span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.prompt-insight-main span,.prompt-insight-metrics span{color:var(--text-muted);font-size:12px}.prompt-insight-metrics{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.admin-users-header strong{color:var(--text-primary);font-size:16px;font-weight:700}.admin-users-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-users-table{flex-direction:column;gap:8px;display:flex;overflow-x:auto}.admin-users-row{min-width:1520px;color:var(--text-secondary);background:#f6f8fb;border-radius:14px;grid-template-columns:1.1fr .65fr .65fr 1.15fr .8fr .55fr .7fr .75fr 1.2fr .55fr .7fr .7fr .9fr auto;align-items:center;gap:12px;padding:12px 14px;font-size:13px;display:grid}.admin-users-row-head{color:var(--text-muted);background:0 0;padding:0 4px;font-size:12px}.admin-user-name{color:var(--text-primary);font-weight:700}.admin-users-row-token{grid-template-columns:1fr 1.5fr .6fr .6fr .6fr .7fr .7fr .7fr 1fr auto}.admin-limit-field{flex-direction:column;gap:4px;display:flex}.admin-limit-field small{color:var(--text-muted);font-size:11px}.admin-limit-input{width:100%;min-width:0;color:var(--text-primary);font:inherit;background:#fff;border:1px solid #12233d1f;border-radius:10px;padding:8px 10px}.admin-row-actions{flex-direction:column;gap:8px;display:flex}.admin-row-action{white-space:nowrap;padding:7px 10px}.dialog-backdrop{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c121d8f;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog-card{background:#fffffff5;border:1px solid #dbe2ede6;border-radius:18px;width:min(420px,100%);padding:22px;box-shadow:0 24px 64px #0f172a33}.dialog-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.dialog-header h2{margin:4px 0 0;font-size:22px;line-height:1.2}.password-dialog .auth-submit{margin-top:2px}.admin-empty-state{margin-top:8px}.agent-account-summary{gap:10px;display:grid}.agent-account-summary span{color:var(--text-secondary);background:#f5f7fbeb;border-radius:14px;padding:10px 12px;font-size:13px;line-height:1.5}.agent-token-create-card{background:#f5f7fbeb;border:1px solid #12233d14;border-radius:18px;gap:14px;padding:16px;display:grid}.agent-token-create-actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.agent-token-create-actions small{color:var(--text-muted);flex:220px;line-height:1.6}.agent-token-plain-box{background:linear-gradient(135deg,#ffd36d38,#ff99662e);border:1px solid #ffb1564d;border-radius:16px;gap:8px;padding:12px;display:grid}.agent-token-plain-box code{word-break:break-all;background:#12233d14;border-radius:10px;padding:6px 8px;font-size:12px;display:inline-block}.agent-token-plain-box small{color:var(--text-muted);line-height:1.5}.announcement-editor{background:#f5f7fbeb;border:1px solid #12233d14;border-radius:18px;gap:14px;padding:16px;display:grid}.announcement-editor textarea{resize:vertical;width:100%;min-height:150px;color:var(--text-primary);font:inherit;background:#fff;border:1px solid #12233d1f;border-radius:14px;padding:12px 14px;line-height:1.55}.announcement-editor-actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.announcement-editor-actions small{color:var(--text-muted);flex:260px;line-height:1.6}.announcement-list{gap:10px;display:grid}.announcement-list-item{background:#f6f8fb;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px;display:grid}.announcement-list-item.is-history{background:#fff}.announcement-list-item strong,.announcement-list-item span,.announcement-list-item p{display:block}.announcement-list-item strong{color:var(--text-primary)}.announcement-list-item span{color:var(--text-muted);margin-top:4px;font-size:12px}.announcement-list-item p{color:var(--text-secondary);white-space:pre-wrap;max-height:180px;margin:8px 0 0;line-height:1.55;overflow:auto}.announcement-history-panel{gap:10px;display:grid}.announcement-history-toggle{width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #12233d14;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.announcement-history-toggle span{font-weight:700}.announcement-history-toggle small{color:var(--text-muted)}.announcement-history-toggle strong{color:#1f63d0;font-size:12px}.announcement-history-list{max-height:360px;padding-right:4px;overflow-y:auto}.prompt-inline-row{align-items:center;gap:8px;min-height:28px;display:flex}.prompt-inline-label{color:var(--text-muted);flex:none;font-size:13px}.prompt-inline-text{color:var(--text-secondary);word-break:break-word;flex:auto;min-width:0;line-height:1.5}.mini-copy-button{background:var(--surface-soft);color:var(--text-secondary);font-size:var(--font-caption);border-radius:999px;padding:8px 12px;font-weight:700}.prompt-copy-button{flex:none;min-width:38px;padding:5px 9px}.compact-ref-block{margin-bottom:10px}.history-ref-list{grid-template-columns:repeat(auto-fit,minmax(84px,92px));gap:8px;margin-top:6px;display:grid}.history-ref-item{text-align:left;background:#f6f8fb;border-radius:14px;padding:6px}.history-ref-item span{color:var(--text-muted);margin-top:6px;font-size:11px;display:block}.history-ref-list-compact{grid-template-columns:repeat(auto-fit,minmax(68px,74px))}.history-ref-list-compact .history-ref-item{padding:5px}.history-ref-list-compact .history-ref-item img{border-radius:10px}.history-ref-list-compact .history-ref-item span{margin-top:4px;font-size:10px}.output-grid{justify-content:flex-start;gap:12px;display:grid}.output-grid-1,.output-grid-2,.output-grid-3,.output-grid-4{grid-template-columns:repeat(4,minmax(0,188px))}.image-tile{background:#f6f8fb;border-radius:18px;flex-direction:column;gap:8px;min-height:212px;padding:8px;display:flex}.image-tile span{color:var(--text-secondary);font-size:12px}.image-tile.is-loading{justify-content:space-between}.image-tile.is-failed{background:linear-gradient(#fff8f7,#fffdfd);border:1px solid #c6423038;justify-content:center}.image-tile-media{flex-direction:column;gap:7px;display:flex}.image-preview-frame{position:relative}.image-tile-badges{flex-wrap:wrap;gap:4px;display:flex}.image-tile-badges span{color:var(--text-secondary);background:#edf3f8;border-radius:999px;padding:4px 6px;font-size:10px;line-height:1}.image-preview-button{width:100%;display:block}.tile-download-bar{opacity:0;pointer-events:none;flex-wrap:nowrap;justify-content:center;gap:3px;transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:8px;left:6px;right:6px;transform:translateY(6px)}.image-tile:hover .tile-download-bar,.image-tile:focus-within .tile-download-bar{opacity:1;pointer-events:auto;transform:translateY(0)}.tile-action-button{color:#fff;white-space:nowrap;background:#132544db;border-radius:999px;min-width:0;padding:6px;font-size:10px;line-height:1;box-shadow:0 10px 18px #1325443d}.loading-skeleton{background:linear-gradient(90deg,#e6ebf2,#f7f9fb,#e6ebf2) 0 0/200% 100%;animation:1.2s linear infinite shimmer}.slot-failure{flex-direction:column;flex:1;justify-content:center;gap:8px;padding:10px;display:flex}.slot-failure p{color:var(--text-secondary);word-break:break-word;margin:0;font-size:12px;line-height:1.55}.batch-workspace{grid-template-columns:minmax(430px,510px) minmax(0,1fr)}.batch-project-panel{gap:14px}.batch-sidebar-tabs{background:#f5f8fc;border:1px solid #12233d14;border-radius:12px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.batch-sidebar-tab{min-height:34px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;font-size:13px}.batch-sidebar-tab:disabled{color:#98a2b3;cursor:not-allowed;box-shadow:none;background:#e8edf3}.batch-agent-panel{gap:14px;display:grid}.agent-prompt-writer textarea{min-height:220px}.prompt-library-tabs{grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:10px;display:grid}.prompt-library-tab{min-height:32px;color:var(--text-secondary);font:inherit;cursor:pointer;background:#fff;border:1px solid #12233d1a;border-radius:8px;font-size:12px}.prompt-library-tab.is-active{color:var(--text-primary);background:#fff8eb;border-color:#ffb24aa6}.prompt-document-actions{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.prompt-document-actions .ghost-button,.prompt-document-actions .primary-button{flex:auto}.prompt-content-head{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:10px;margin:8px 0 6px;font-size:12px;display:flex}.prompt-content-head .ghost-button{flex:none;min-height:30px;padding:0 12px}.prompt-import-button{cursor:pointer;justify-content:center;position:relative}.prompt-import-button input{opacity:0;pointer-events:none;position:absolute;inset:0}.agent-checkbox-row{color:var(--text-primary);align-items:center;gap:8px;font-size:13px;display:flex}.agent-checkbox-row input{width:16px;height:16px;accent-color:var(--accent)}.agent-reference-section .section-head{align-items:flex-start}.agent-reference-title{gap:3px;display:grid}.agent-reference-head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.agent-reference-head-actions .ghost-button{min-height:30px;padding:0 12px}.agent-reference-options{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.agent-reference-option{width:72px;min-height:56px;color:var(--text-primary);font:inherit;cursor:pointer;background:#fff;border:1px solid #12233d1a;border-radius:10px;grid-template-rows:auto auto;align-content:center;justify-items:center;gap:3px;padding:8px 6px;transition:border-color .16s,background .16s,box-shadow .16s;display:grid}.agent-reference-option strong{color:var(--text-primary);white-space:nowrap;font-size:13px;font-weight:700}.agent-reference-option span{max-width:100%;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.agent-reference-option.is-selected{background:#fff8eb;border-color:#ffb24abf;box-shadow:0 8px 18px #ffb24a29}.agent-reference-option.is-selected strong{color:#8a5200}.agent-reference-option:disabled{cursor:not-allowed;opacity:.58}.agent-helper-text{color:var(--text-muted);margin:8px 0 0;font-size:12px;line-height:1.55}.agent-error-text{color:#c2410c;margin:8px 0 0;font-size:12px;line-height:1.5}.agent-progress-card{background:#f8fbff;border:1px solid #12233d1a;border-radius:12px;gap:8px;padding:12px;display:grid}.agent-progress-card strong{color:var(--text-primary);font-size:13px;line-height:1.45}.agent-progress-card span,.agent-run-log small{color:var(--text-secondary);font-size:12px;line-height:1.45}.agent-run-log{gap:4px;max-height:120px;display:grid;overflow:auto}.agent-task-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px;display:grid}.agent-task-actions .primary-button,.agent-task-actions .ghost-button{min-height:36px;padding:8px 10px}.agent-task-status{color:#2d3a66;background:#edf2ff;border-radius:999px;align-items:center;width:fit-content;margin-left:4px;padding:2px 8px;font-weight:700;display:inline-flex}.agent-task-status.is-running,.agent-task-status.is-claimed{color:#925f00;background:#fff4d8}.agent-task-status.is-paused{color:#0369a1;background:#e0f2fe}.agent-task-status.is-completed{color:#15803d;background:#dcfce7}.agent-task-status.is-failed{color:#b91c1c;background:#fee2e2}.agent-task-status.is-cancelled{color:#4b5563;background:#e5e7eb}.prompt-editor-backdrop{z-index:90;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080e1c9e;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.prompt-editor-modal{width:min(1680px, calc(var(--app-viewport-width) - 24px));height:calc(var(--app-viewport-height) - 24px);background:#fff;border:1px solid #94a3b847;border-radius:12px;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;min-height:0;padding:22px;display:grid;box-shadow:0 24px 80px #0f172a57}.prompt-editor-header,.prompt-editor-actions{align-items:center;gap:12px;display:flex}.prompt-editor-header{justify-content:space-between}.prompt-editor-header-actions{align-items:center;gap:10px;display:flex}.prompt-editor-header strong{color:var(--text-primary);font-size:16px}.prompt-editor-mode-toggle{background:#f5f8fc;border:1px solid #12233d14;border-radius:10px;grid-template-columns:repeat(2,minmax(72px,1fr));gap:4px;padding:4px;display:grid}.prompt-editor-mode-toggle button{min-height:32px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;font-size:13px}.prompt-editor-mode-toggle button.is-active{color:var(--text-primary);background:#fff;box-shadow:0 6px 16px #12233d14}.prompt-editor-content{height:100%;min-height:0;display:flex}.prompt-editor-modal .prompt-editor-large-textarea{box-sizing:border-box;resize:none;flex:1;width:100%;height:100%;min-height:0;max-height:none;font-size:14px;line-height:1.7}.prompt-editor-actions{justify-content:flex-end}.prompt-editor-actions .ghost-button,.prompt-editor-actions .primary-button{min-width:120px}.prompt-editor-preview{background:#fbfdff;border:1px solid #12233d1f;border-radius:10px;flex:1;height:100%;min-height:0;padding:22px 26px;overflow:auto}.markdown-preview{max-width:980px;color:var(--text-primary);font-size:14px;line-height:1.72}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4{color:var(--text-primary);margin:0 0 12px;line-height:1.25}.markdown-preview h1{font-size:24px}.markdown-preview h2{border-bottom:1px solid #12233d1a;margin-top:22px;padding-bottom:8px;font-size:20px}.markdown-preview h3{margin-top:18px;font-size:17px}.markdown-preview h4{margin-top:16px;font-size:15px}.markdown-preview p{margin:0 0 12px}.markdown-preview ul,.markdown-preview ol{margin:0 0 14px;padding-left:22px}.markdown-preview li{margin:4px 0}.markdown-preview code{color:#0f172a;background:#12233d14;border-radius:5px;padding:2px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.markdown-code-block{color:#e5e7eb;background:#101827;border:1px solid #12233d1a;border-radius:10px;margin:0 0 16px;overflow:auto}.markdown-code-block span{color:#cbd5e1;border-bottom:1px solid #ffffff1a;padding:8px 12px;font-size:12px;display:block}.markdown-code-block code{color:inherit;white-space:pre;background:0 0;padding:14px;display:block}.markdown-table-scroll{border:1px solid #12233d1a;border-radius:10px;max-width:100%;margin:0 0 16px;overflow:auto}.markdown-preview table{border-collapse:collapse;background:#fff;width:100%}.markdown-preview th,.markdown-preview td{text-align:left;vertical-align:top;border-bottom:1px solid #12233d14;border-left:1px solid #12233d14;padding:10px 12px}.markdown-preview th:first-child,.markdown-preview td:first-child{border-left:0}.markdown-preview th{background:#f5f8fc;font-weight:700}.markdown-preview blockquote{color:var(--text-primary);background:#fff8eb;border-left:4px solid #ffb24abf;margin:0 0 14px;padding:10px 14px}.markdown-preview a{color:#0f5ab8;text-decoration:underline}.markdown-empty{color:var(--text-secondary)}@media (width<=760px){.prompt-editor-backdrop{padding:8px}.prompt-editor-modal{width:calc(var(--app-viewport-width) - 16px);height:calc(var(--app-viewport-height) - 16px);min-height:0;padding:16px}.prompt-editor-header,.prompt-editor-header-actions{flex-direction:column;align-items:stretch}.prompt-editor-mode-toggle{width:100%}.prompt-editor-preview{padding:16px}}.batch-project-actions,.batch-table-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.batch-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.batch-title-row h2{margin:0}.batch-title-action{padding:7px 12px}.batch-project-actions .ghost-button{flex:auto}.batch-running-summary{background:#fff5e1b8;border:1px solid #ffb24a47;border-radius:14px;gap:8px;padding:12px;display:grid}.batch-running-summary strong{color:var(--text-primary);font-size:13px}.batch-running-summary div{flex-wrap:wrap;gap:6px;display:flex}.batch-running-summary span{max-width:100%;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:999px;padding:5px 8px;font-size:12px;overflow:hidden}.batch-result-header{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.history-project-filter{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.history-project-filter select{min-width:170px;color:var(--text-primary);font:inherit;background:#fff;border:1px solid #12233d1f;border-radius:12px;padding:8px 10px}.batch-table-tools>span{color:var(--text-secondary);background:#eef3f9;border-radius:999px;padding:5px 9px;font-size:12px}.batch-tool-group{align-items:center;gap:8px;display:inline-flex}.batch-tool-group span{color:var(--text-muted);font-size:12px}.batch-tool-group input,.batch-tool-group select{min-width:128px;color:var(--text-primary);font:inherit;background:#fff;border:1px solid #12233d1f;border-radius:10px;padding:7px 10px}.batch-export-range-group input{width:72px;min-width:72px}.batch-table-shell{background:#ffffffeb;border:1px solid #dbe2ede6;border-radius:18px;flex:1;min-height:0;overflow:auto}.batch-grid-table{min-width:max-content}.batch-grid-row{grid-template-columns:96px repeat(var(--batch-ref-columns,1), 132px) minmax(440px, 560px) 104px 190px 92px 92px 70px 92px repeat(2, 118px) repeat(4, 118px);align-items:stretch;display:grid}.batch-virtual-spacer{pointer-events:none;flex:none;grid-column:1/-1;width:100%;min-height:0;display:block;overflow:hidden}.batch-grid-row>*{min-height:var(--batch-row-height,264px);background:#fff;border-bottom:1px solid #dbe2edcc;border-right:1px solid #dbe2edcc;padding:8px}.batch-grid-head>*{z-index:2;min-height:66px;color:var(--text-secondary);background:#f6f8fb;font-size:12px;font-weight:700;position:sticky;top:0}.batch-sticky-cell{z-index:3;background:#f8fafc;position:sticky;left:0}.batch-grid-head .batch-sticky-cell{z-index:4}.batch-ref-head{flex-direction:column;gap:6px;display:flex}.batch-ref-head,.batch-field-head{cursor:pointer;-webkit-user-select:none;user-select:none;position:sticky}.batch-ref-head.is-selected,.batch-field-head.is-selected,.batch-filter-head.is-selected{color:var(--text-primary);background:#ffb24a24;box-shadow:inset 0 0 0 2px #ffb24a}.batch-filter-head{flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:sticky}.batch-filter-head strong{color:var(--text-primary);font-size:13px}.batch-filter-head .mini-copy-button{text-align:center;width:100%;padding-inline:9px}.batch-head-actions{flex-wrap:wrap;gap:6px;display:flex}.batch-ref-head strong{color:var(--text-primary);font-size:13px}.batch-row-index{flex-direction:column;justify-content:center;gap:8px;display:flex;position:relative}.batch-row-index strong{font-size:18px}.batch-row-index.is-selected{background:#ffb24a24;box-shadow:inset 0 0 0 2px #ffb24a}.batch-row-switch{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:inline-flex}.batch-row-switch input{width:16px;height:16px}.batch-row-status{width:fit-content;color:var(--text-secondary);background:#eef3f9;border-radius:999px;padding:4px 7px;font-size:11px;display:inline-flex}.batch-row-status.is-generating,.batch-row-status.is-standalone_generating,.batch-row-status.is-queued{color:#1f63d0;background:#3a87ff24}.batch-row-status.is-paused{color:#9a5f00;background:#ffb24a2e}.batch-row-status.is-completed{color:#15834d;background:#25b46e24}.batch-row-status.is-failed,.batch-row-status.is-partial_failed,.batch-row-status.is-cancelled{color:#c64230;background:#e2564424}.batch-ref-cell{cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;flex-direction:column;gap:6px;display:flex;position:relative}.batch-ref-preview{width:100%;height:clamp(72px, calc(var(--batch-row-height,264px) - 58px), 180px);cursor:zoom-in;background:0 0;border:none;padding:0;display:block}.batch-ref-cell.is-range-selected{background:#ffb24a14;box-shadow:inset 0 0 0 1px #ffb24aa6}.batch-ref-cell.is-column-selected,.batch-field-cell.is-column-selected,.batch-generate-cell.is-column-selected,.batch-selected-cell.is-column-selected,.batch-output-cell.is-column-selected{background:#ffb24a14;box-shadow:inset 0 0 0 1px #ffb24a7a}.batch-ref-cell.is-selected{background:#ffb24a1f;box-shadow:inset 0 0 0 2px #ffb24a}.batch-ref-cell.is-fill-preview{background:#3a87ff14;box-shadow:inset 0 0 0 1px #3a87ff8c}.batch-ref-cell.is-drop-target{background:#ffb24a14;box-shadow:inset 0 0 0 2px #ffb24a,0 12px 24px #ffb24a29}.batch-ref-cell:focus-visible{box-shadow:inset 0 0 0 2px #1325446b}.batch-ref-media{z-index:1;pointer-events:none;position:absolute;top:12px;right:12px}.batch-ref-drag-handle{pointer-events:auto;color:#fff;cursor:grab;background:#132544d6;border:none;border-radius:999px;padding:4px 8px;font-size:11px}.batch-ref-drag-handle:active{cursor:grabbing}.batch-ref-cell img,.batch-ref-cell .image-load-fallback,.batch-output-button img,.batch-output-button .image-load-fallback,.batch-output-loading{object-fit:contain;background:#f8fafc;border-radius:10px;width:100%;height:100%}.batch-stop-button{color:#c64230;background:#e256441a;border-radius:18px;width:100%;padding:15px}.batch-run-actions .batch-stop-button:not(.danger){color:#1f63d0;background:#3a87ff1a}.batch-ref-cell span{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:11px;overflow:hidden}.batch-empty-cell,.batch-empty-row{color:var(--text-muted);place-items:center;display:grid}.batch-prompt-input,.batch-grid-row select,.batch-grid-row input{width:100%;color:var(--text-primary);font:inherit;background:#fdfefe;border:1px solid #12233d1f;border-radius:10px}.batch-prompt-input{resize:vertical;min-height:calc(var(--batch-row-height,264px) - 16px);font-size:var(--font-body);padding:11px 12px;line-height:1.55}.batch-column-resize-handle,.batch-row-resize-handle{z-index:8;box-shadow:none;background:0 0;border:none;border-radius:0;padding:0;position:absolute}.batch-column-resize-handle{cursor:col-resize;width:8px;height:100%;top:0;right:-4px}.batch-row-resize-handle{cursor:row-resize;height:8px;bottom:-4px;left:0;right:0}.batch-column-resize-handle:after,.batch-row-resize-handle:after{content:"";opacity:0;transition:opacity .12s;position:absolute}.batch-column-resize-handle:after{background:#ffb24a;width:2px;top:8px;bottom:8px;right:3px}.batch-row-resize-handle:after{background:#ffb24a;height:2px;bottom:3px;left:8px;right:8px}.batch-column-resize-handle:hover:after,.batch-column-resize-handle:focus-visible:after,.batch-row-resize-handle:hover:after,.batch-row-resize-handle:focus-visible:after{opacity:1}.is-batch-resizing{-webkit-user-select:none;user-select:none}.is-batch-column-resizing{cursor:col-resize}.is-batch-row-resizing{cursor:row-resize}.batch-column-resize-guide,.batch-row-resize-guide-overlay{z-index:9999;pointer-events:none;background:#ffb24a;display:none;position:fixed;box-shadow:0 0 0 1px #ffffffe6,0 0 10px #ffb24a73}.batch-column-resize-guide{width:2px;top:0;bottom:0;left:0}.batch-row-resize-guide-overlay{height:2px;top:0;left:0;right:0}.batch-prompt-input[readonly]{cursor:cell;overscroll-behavior:none;-webkit-user-select:none;user-select:none;overflow-y:hidden!important}.size-chart-workspace{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);align-items:stretch;min-height:0}.commerce-project-tabs,.size-chart-mode-tabs{gap:8px;padding:10px;display:flex}.commerce-project-tabs button,.size-chart-mode-tabs button{border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--text-secondary);cursor:pointer;border:none;padding:10px 14px;font-weight:800}.commerce-project-tabs button.is-active,.size-chart-mode-tabs button.is-active{background:var(--navy-strong);color:#fff}.domestic-commerce-workspace{grid-row:2/4;grid-template-rows:auto minmax(0,1fr);gap:14px;min-height:0;display:grid}.domestic-template-tabs{min-width:0;padding:10px;overflow:hidden}.domestic-template-tabs-scroll{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.domestic-template-tabs button{border-radius:var(--radius-sm);background:var(--surface-soft);min-width:142px;min-height:52px;color:var(--text-secondary);cursor:pointer;text-align:left;border:none;align-content:center;gap:2px;padding:8px 10px;display:grid}.domestic-template-tabs button.is-active{background:var(--navy-strong);color:#fff}.domestic-template-tabs button strong,.domestic-template-tabs button span,.domestic-template-tabs button small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.domestic-template-tabs button strong{font-size:13px}.domestic-template-tabs button span,.domestic-template-tabs button small{font-size:11px}.domestic-commerce-body{grid-template-columns:minmax(280px,330px) minmax(520px,1fr) minmax(280px,330px);gap:14px;min-height:0;display:grid}.domestic-commerce-sidebar,.domestic-commerce-stage,.domestic-commerce-settings{min-height:0;overflow:auto}.domestic-commerce-sidebar{align-content:start;gap:12px;display:grid}.domestic-commerce-pack-list{gap:8px;display:grid}.domestic-commerce-pack-list button{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);cursor:pointer;text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;display:grid}.domestic-commerce-pack-list button.is-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.domestic-commerce-pack-list button strong,.domestic-commerce-pack-list button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.domestic-commerce-template-preview,.domestic-commerce-asset-panel{min-width:0}.domestic-preview-outer{margin:0 auto;overflow:visible}.domestic-render-canvas{border:1px solid var(--border-soft);border-radius:var(--radius-sm);box-shadow:var(--shadow-surface);transform-origin:0 0;position:relative;overflow:hidden}.domestic-image-frame{cursor:grab;background:#eee;position:absolute;overflow:hidden}.domestic-image-frame.is-overlay{z-index:6;background:#ffffff14;border:1px dashed #ffffffb8}.domestic-image-frame.is-overlay.has-asset{background:0 0;border-color:#0000}.domestic-image-frame:active{cursor:grabbing}.domestic-image-frame img{object-fit:fill;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:none;display:block;position:absolute}.domestic-image-frame span{width:100%;height:100%;color:var(--text-muted);place-items:center;font-size:22px;font-weight:800;display:grid}.domestic-image-frame.is-overlay span{color:#ffffffdb;text-align:center;font-size:10px;font-weight:700}.domestic-text-layer{z-index:8;pointer-events:none;line-height:1.18;position:absolute}.domestic-line-layer{z-index:7;pointer-events:none;position:absolute;inset:0}.domestic-marker{z-index:9;color:#b89577;cursor:grab;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;border-radius:50%;place-items:center;width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-size:13px;font-weight:900;display:grid;position:absolute}.domestic-marker:active{cursor:grabbing}.domestic-decoration-titlebar,.domestic-decoration-card,.domestic-compare-label,.domestic-compare-vs{z-index:2;position:absolute}.domestic-decoration-titlebar{background:#b99272}.domestic-decoration-card{background:#fff;border-radius:999px}.domestic-decoration-card-number{color:#9a704f;background:#f4eadf;border-radius:50%;place-items:center;width:20px;height:20px;font-family:Arial,sans-serif;font-size:13px;font-weight:400;display:grid;position:absolute;top:16px;left:18px}.domestic-compare-label{height:56px;top:480px}.domestic-compare-left{background:#b98a7d;width:270px;left:32px}.domestic-compare-right{background:#b9b8b8;width:270px;left:302px}.domestic-compare-vs{color:#222;background:#fff;border-radius:50%;place-items:center;width:50px;height:50px;font-weight:900;display:grid;top:483px;left:277px}.domestic-commerce-canvas-placeholder{border:1px dashed var(--border-strong);border-radius:var(--radius-md);width:min(100%,520px);max-height:62vh;color:var(--text-primary);text-align:center;background:#fff;align-content:center;place-items:center;gap:8px;margin:0 auto;padding:20px;display:grid}.domestic-commerce-canvas-placeholder span{color:var(--text-muted);font-size:12px;font-weight:800}.domestic-commerce-canvas-placeholder p{max-width:360px;color:var(--text-secondary);margin:0;font-size:13px}.domestic-commerce-page-list{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.domestic-commerce-page-list button,.domestic-commerce-page-list span{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--text-secondary);padding:6px 8px;font-size:12px;font-weight:800}.domestic-commerce-page-list button{cursor:pointer}.domestic-commerce-page-list button.is-active{border-color:var(--navy-strong);background:var(--navy-strong);color:#fff}.domestic-commerce-assets{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.domestic-commerce-assets figure{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-card);cursor:grab;min-width:0;margin:0;padding:6px}.domestic-commerce-assets figure:active{cursor:grabbing}.domestic-commerce-assets img{border-radius:var(--radius-sm);object-fit:contain;background:#f8fafc;width:100%;height:116px}.domestic-commerce-assets figcaption{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);margin-top:4px;font-size:11px;overflow:hidden}.domestic-commerce-settings{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:#fff;align-content:start;gap:12px;min-height:0;max-height:none;padding:14px;display:grid;overflow:auto}.domestic-settings-group{gap:10px;display:grid}.domestic-settings-group h4{color:var(--text-primary);margin:0;font-size:13px}.domestic-control-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-card);gap:8px;padding:10px;display:grid}.domestic-two-columns,.domestic-three-columns,.domestic-four-columns{gap:8px;display:grid}.domestic-two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.domestic-three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.domestic-four-columns{grid-template-columns:repeat(4,minmax(0,1fr))}.domestic-color-field input[type=color],.domestic-control-card input[type=color]{width:100%;min-height:34px;padding:2px}.domestic-checkbox{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.template1-workspace,.template2-workspace{min-height:0}.template1-workspace{grid-template-columns:minmax(360px,430px) minmax(0,1fr);gap:14px;display:grid}.template2-workspace{grid-template-columns:minmax(340px,400px) minmax(0,1fr);gap:14px;display:grid}.size-chart-control{height:100%;overflow:auto}.size-chart-control h2{font-size:var(--font-title);margin:0}.size-chart-upload-grid,.template1-project-controls{gap:10px;display:grid}.template1-project-create{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.template1-project-create input,.template1-project-controls select{border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text-primary);font:inherit;background:#fff;border:1px solid #12233d1f;padding:11px 12px}.template1-project-create button{border-radius:var(--radius-sm);background:var(--navy-strong);color:#fff;border:0;padding:0 16px;font-weight:800}.size-chart-template-select select{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);background:#fff;border:1px solid #12233d1f;padding:11px 12px}.size-chart-template-select small{color:var(--text-muted);font-size:var(--font-caption);line-height:1.5}.size-chart-template-preview-card{border-radius:var(--radius-sm);background:#fff;border:1px solid #dbe2ede6;gap:10px;padding:12px;display:grid}.size-chart-template-preview-card div{gap:2px;display:grid}.size-chart-template-preview-card span{color:var(--text-muted);font-size:var(--font-caption);font-weight:700}.size-chart-template-preview-card strong{color:var(--text-primary)}.size-chart-template-preview-card img{object-fit:contain;background:#e8decd;border-radius:10px;width:100%;max-height:220px;box-shadow:inset 0 0 0 1px #12233d14}.size-chart-file-tile{border-radius:var(--radius-sm);cursor:pointer;background:#fff;border:1px dashed #234a7d3d;gap:6px;min-width:0;padding:12px;transition:border-color .18s,background .18s,box-shadow .18s;display:grid}.size-chart-file-tile.is-drag-active{background:#ffb24a1a;border-color:#ffb24ae6;box-shadow:0 0 0 3px #ffb24a2e}.size-chart-file-tile span{color:var(--text-muted);font-size:var(--font-caption);font-weight:700}.size-chart-file-tile strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.size-chart-file-tile small{color:var(--text-muted);font-size:var(--font-caption)}.size-chart-file-tile input{display:none}.size-chart-options{gap:12px;display:grid}.size-chart-mode{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.size-chart-mode button,.size-chart-result-actions button{border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--text-secondary);cursor:pointer;border:none;font-weight:800}.size-chart-mode button{padding:10px 12px}.size-chart-mode button.is-active{background:var(--navy-strong);color:#fff}.size-chart-options input,.size-chart-options textarea{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);background:#fff;border:1px solid #12233d1f;padding:11px 12px}.size-chart-options textarea{resize:vertical;min-height:132px;line-height:1.5}.size-chart-options input:disabled{color:var(--text-muted);background:#eef3f9}.size-chart-generate{width:100%}.size-chart-stats{grid-template-columns:.6fr 1.4fr;gap:8px;display:grid}.size-chart-stats div{border-radius:var(--radius-sm);background:#f6f8fb;gap:4px;min-width:0;padding:12px;display:grid}.size-chart-stats span{color:var(--text-muted);font-size:var(--font-caption)}.size-chart-stats strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.size-chart-result-panel{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;height:100%;min-height:0;display:grid}.size-chart-result-actions{gap:8px;display:flex}.size-chart-result-actions button{padding:9px 12px}.size-chart-result-actions button:disabled{cursor:not-allowed;opacity:.5}.size-chart-preview{border-radius:var(--radius-md);background:#f6f8fb;border:1px solid #dbe2ede6;place-items:center;min-height:0;display:grid;overflow:auto}.size-chart-preview img{object-fit:contain;background:#e8decd;width:auto;max-width:100%;max-height:100%;display:block;box-shadow:0 18px 38px #13253f29}.size-chart-empty{width:min(360px,90%);min-height:220px;box-shadow:none;place-items:center;display:grid}.size-chart-filmstrip{gap:10px;padding-bottom:2px;display:flex;overflow-x:auto}.size-chart-filmstrip button{border-radius:var(--radius-sm);cursor:pointer;background:#f6f8fb;border:1px solid #0000;flex:none;gap:6px;width:112px;padding:6px;display:grid}.size-chart-filmstrip button.is-active{border-color:#ffb24a;box-shadow:0 0 0 3px #ffb24a33}.size-chart-filmstrip img{aspect-ratio:3/4;object-fit:cover;background:#e8decd;border-radius:8px;width:100%}.size-chart-filmstrip span{color:var(--text-secondary);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.template2-sidebar,.template2-stage-panel{min-height:0;overflow:hidden}.template2-sidebar{grid-template-rows:auto auto auto minmax(0,.82fr) minmax(0,1.18fr);gap:12px;display:grid}.template2-sidebar h2{font-size:var(--font-title);margin:0}.template2-create-row,.template2-import-row,.template2-actions{gap:8px;display:flex}.template2-create-row input{border-radius:var(--radius-sm);min-width:0;color:var(--text-primary);background:#fff;border:1px solid #12233d1f;flex:1;padding:10px 12px}.template2-create-row button,.template2-import-row button,.template2-actions button{border-radius:var(--radius-sm);background:var(--navy-strong);color:#fff;cursor:pointer;border:none;padding:10px 12px;font-weight:800}.template2-import-row button{background:var(--surface-soft);color:var(--text-secondary);flex:1}.template2-actions button:disabled{opacity:.5;cursor:not-allowed}.template2-project-list,.template2-candidate-grid{min-height:0;overflow:auto}.template2-project-list{align-content:start;gap:8px;display:grid}.template2-project-list>div{border-radius:var(--radius-sm);background:#fff;border:1px solid #dbe2ede6;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:6px;padding:6px;display:grid}.template2-project-list>div.is-active{border-color:#ffb24ac2;box-shadow:0 0 0 3px #ffb24a29}.template2-project-select{width:100%;min-width:0;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;gap:4px;padding:6px;display:grid}.template2-project-select:hover{background:#f6f8fb}.template2-project-select span,.template2-project-select small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.template2-project-rename{background:var(--surface-soft);color:var(--text-secondary);cursor:pointer;border:none;border-radius:8px;align-self:center;padding:7px 9px;font-size:11px;font-weight:800}.template2-rename-row{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.template2-rename-row input{background:#fff;border:1px solid #12233d1f;border-radius:8px;min-width:0;padding:8px 9px}.template2-rename-row button{background:var(--navy-strong);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 10px;font-weight:800}.template2-project-list small,.template2-empty-note{color:var(--text-muted);font-size:var(--font-caption)}.template2-candidates{grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0;display:grid}.template2-candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;padding-right:4px;display:grid}.template2-candidate-card{min-width:0;position:relative}.template2-candidate-card>button:first-child{border-radius:var(--radius-sm);cursor:grab;background:#fff;border:1px solid #dbe2ede6;gap:5px;width:100%;min-width:0;padding:6px;display:grid}.template2-candidate-delete{color:#fff;cursor:pointer;opacity:0;background:#c64230eb;border:none;border-radius:999px;place-items:center;width:24px;height:24px;font-size:18px;line-height:1;transition:opacity .18s;display:grid;position:absolute;top:6px;right:6px}.template2-candidate-card:hover .template2-candidate-delete{opacity:1}.template2-candidate-grid img{aspect-ratio:1;object-fit:cover;background:#f2eee8;border-radius:8px;width:100%}.template2-candidate-grid span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.template2-stage-panel{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;display:grid}.template2-editor-shell{border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;background:#f5f7fb;border:1px solid #dbe2ede6;place-items:center;min-height:0;display:grid;overflow:auto}.template2-canvas{background:#eee3d1;flex:none;width:1340px;height:1785px;position:relative;overflow:hidden;box-shadow:0 20px 46px #13253f2e}.template2-reference-bg{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.template2-photo-frame{box-sizing:border-box;cursor:grab;background:#ffffffb8;border:18px solid #fff;place-items:center;display:grid;position:absolute;overflow:hidden;box-shadow:0 14px 30px #00000029}.template2-photo-frame.is-active{outline-offset:4px;outline:3px solid #ffb24aeb}.template2-photo-frame img{object-fit:cover;transform-origin:50%;pointer-events:none;width:100%;height:100%}.template2-photo-frame span{color:var(--text-muted);font-size:14px;font-weight:800}.template2-output-strip{gap:10px;min-height:112px;padding:4px 0;display:flex;overflow-x:auto}.template2-output-strip button{border-radius:var(--radius-sm);cursor:pointer;background:#fff;border:1px solid #dbe2ede6;flex:none;gap:5px;width:92px;padding:6px;display:grid}.template2-output-strip button.is-active{border-color:#ffb24adb;box-shadow:0 0 0 3px #ffb24a33}.template2-output-strip img{aspect-ratio:3/4;object-fit:cover;border-radius:8px;width:100%}.template2-output-strip span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.template3-workspace{grid-template-columns:minmax(310px,340px) minmax(250px,280px) minmax(760px,1fr) minmax(280px,320px);align-items:stretch;gap:10px;height:100%;min-height:0;display:grid;overflow:auto hidden}.template3-workspace>.panel-card{min-width:0}.template3-sidebar{flex-direction:column;gap:12px;min-height:0;display:flex;overflow:auto}.template3-sidebar .template2-create-row{grid-template-columns:minmax(0,1fr) auto;display:grid}.template3-sidebar .template2-import-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.template3-sidebar .template2-create-row button,.template3-sidebar .template2-import-row button{white-space:nowrap;min-width:0}.template3-stage-panel{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;min-width:760px;min-height:0;display:grid}.template3-editor-shell{overscroll-behavior:contain;border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;background:#f5f7fb;border:1px solid #dbe2ede6;place-items:start center;min-height:0;padding:12px;display:grid;overflow:hidden}.template3-canvas-fit{flex:none;position:relative}.template3-asset-rail{flex-direction:column;gap:10px;min-width:250px;min-height:0;display:flex}.template3-asset-rail .template2-candidates{flex:1;min-height:0}.template3-asset-rail .template2-candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;min-height:0;max-height:none;overflow-y:auto}.template3-canvas{background:#f3dfc9;flex:none;width:1200px;height:1600px;position:relative;overflow:hidden;box-shadow:0 20px 46px #13253f2e}.template3-main-image,.template3-detail-image{cursor:grab;place-items:center;display:grid;position:absolute;overflow:hidden}.template3-main-image{inset:0}.template3-main-image.is-active,.template3-detail-image.is-active{outline-offset:-3px;outline:3px solid #ffb24af5}.template3-main-image img,.template3-detail-image img{object-fit:fill;pointer-events:none;width:100%;max-width:none;height:100%;display:block;position:absolute}.template3-main-image span,.template3-detail-image span{border-radius:var(--radius-sm);color:var(--text-muted);background:#ffffffb8;padding:10px 14px;font-size:14px;font-weight:800}.template3-detail-panel{cursor:move;position:absolute;overflow:hidden;box-shadow:0 18px 44px #00000024}.template3-detail-cell{width:100%;position:absolute;left:0}.template3-detail-image{background:#ffffff61;border-radius:18px;width:250px;height:333px;left:50px}.template3-detail-label{color:#312621;place-items:center;width:100%;height:56px;font-size:32px;font-weight:500;display:grid;position:absolute;top:333px;left:0}.template3-settings{flex-direction:column;gap:12px;min-width:280px;min-height:0;display:flex;overflow-y:auto}.template3-target-tabs{gap:8px;display:grid}.template3-target-tabs button,.template3-item-main,.template4-target-tabs button,.template4-item-main{border-radius:var(--radius-sm);color:var(--text-main);text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe2ede6;padding:9px 10px;font-weight:800}.template3-target-tabs button.is-active,.template3-item-row.is-active .template3-item-main,.template4-target-tabs button.is-active,.template4-item-row.is-active .template4-item-main,.template2-project-select.is-active{border-color:#ffb24af2;box-shadow:0 0 0 2px #ffb24a2e}.template3-settings input,.template3-settings select{border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text-main);font:inherit;background:#fff;border:1px solid #dbe2edf2;padding:9px 10px}.template3-settings input:disabled,.template3-settings select:disabled{color:var(--text-secondary);cursor:default;background:#f4f7fb}.template3-project-select-field select{border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text-main);font:inherit;background:#fff;border:1px solid #dbe2edf2;padding:9px 10px}.template3-project-select-row,.template4-project-select-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;display:grid}.template3-danger-button,.template3-item-delete,.template4-danger-button,.template4-item-delete{border-radius:var(--radius-sm);color:#b64040;white-space:nowrap;cursor:pointer;background:#fff4f4f2;border:1px solid #e1676752;min-width:62px;padding:9px 12px;font-weight:800}.template3-danger-button:disabled,.template3-item-delete:disabled,.template4-danger-button:disabled,.template4-item-delete:disabled{opacity:.5;cursor:not-allowed}.template3-name-row,.template3-color-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.template3-color-row{grid-template-columns:minmax(0,1fr) auto auto}.template3-name-row:has(button+button){grid-template-columns:minmax(0,1fr) auto auto}.template3-name-row button,.template3-preset-row button,.template3-color-row button{border-radius:var(--radius-sm);background:var(--navy-strong);color:#fff;white-space:nowrap;cursor:pointer;border:0;min-width:62px;padding:9px 12px;font-weight:800}.template3-name-row button.is-secondary{background:var(--surface-soft);color:var(--text-secondary)}.template3-name-row button:disabled,.template3-preset-row button:disabled,.template3-color-row button:disabled{opacity:.5;cursor:not-allowed}.template3-color-row input[type=color]{width:100%;min-width:0;height:38px;padding:3px}.template3-item-list,.template4-item-list{gap:8px;min-height:0;display:grid;overflow-y:auto}.template3-item-row,.template4-item-row{min-width:0;position:relative}.template3-item-main,.template4-item-main{gap:3px;width:100%;min-height:58px;padding:10px 54px 18px 10px;display:grid}.template3-item-main span,.template4-item-main span{overflow-wrap:anywhere;min-width:0;line-height:1.25}.template3-item-delete,.template4-item-delete{border-radius:6px;justify-content:center;align-items:center;min-width:0;padding:3px 7px;font-size:11px;line-height:1.2;display:flex;position:absolute;bottom:7px;right:8px}.template3-item-list small,.template4-item-list small{color:var(--text-muted);font-size:11px}.template3-output-strip{gap:10px;min-height:118px;max-height:132px;padding:4px 0;display:flex;overflow-x:auto}.template3-preset-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.template3-output-strip button{border-radius:var(--radius-sm);cursor:pointer;background:#fff;border:1px solid #dbe2ede6;flex:none;gap:5px;width:92px;padding:6px;display:grid}.template3-output-strip img{object-fit:cover;border-radius:4px;width:78px;height:100px}.template3-output-strip span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}@media (width<=1180px){.template3-workspace{grid-template-columns:300px 230px 720px 280px}.template3-settings{grid-column:auto}}.template4-workspace{grid-template-columns:minmax(310px,340px) minmax(250px,280px) minmax(820px,1fr) minmax(280px,320px);align-items:stretch;gap:10px;height:100%;min-height:0;display:grid;overflow:auto hidden}.template4-workspace>.panel-card{min-width:0}.template4-sidebar{flex-direction:column;gap:12px;min-height:0;display:flex;overflow:auto}.template4-sidebar .template2-create-row{grid-template-columns:minmax(0,1fr) auto;display:grid}.template4-sidebar .template2-import-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.template4-sidebar .template2-create-row button,.template4-sidebar .template2-import-row button{white-space:nowrap;min-width:0}.template4-stage-panel{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;min-width:820px;min-height:0;display:grid}.template4-editor-shell{overscroll-behavior:contain;border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;background:#f5f7fb;border:1px solid #dbe2ede6;place-items:start center;min-height:0;padding:12px;display:grid;overflow:hidden}.template4-canvas-fit{flex:none;position:relative}.template4-asset-rail{flex-direction:column;gap:10px;min-width:250px;min-height:0;display:flex}.template4-asset-rail .template2-candidates{flex:1;min-height:0}.template4-asset-rail .template2-candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;min-height:0;max-height:none;overflow-y:auto}.template4-canvas{flex:none;width:1200px;height:1600px;position:relative;overflow:hidden;box-shadow:0 20px 46px #13253f2e}.template4-hero-card{background:#fff;border-radius:22px;width:1152px;height:870px;position:absolute;top:24px;left:24px}.template4-title{color:#302821;text-align:center;width:100%;margin:0;font-size:54px;font-weight:800;line-height:1;position:absolute;top:84px;left:0}.template4-text-image{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:2;display:block;position:absolute}.template4-product-image{cursor:grab;background:#ede9e2;border-radius:18px;place-items:center;display:grid;position:absolute;overflow:hidden}.template4-product-image.is-active{outline-offset:-4px;outline:4px solid #ffb24af5}.template4-product-image img{object-fit:fill;pointer-events:none;max-width:none;display:block;position:absolute}.template4-product-image span{border-radius:var(--radius-sm);color:var(--text-muted);background:#ffffffc7;padding:10px 14px;font-size:14px;font-weight:800}.template4-product-label{color:#302821;place-items:center;height:42px;font-family:Arial,sans-serif;font-size:28px;font-weight:800;display:grid;position:absolute}.template4-fit-card{color:#302821;text-align:center;background:#fff;border-radius:18px;grid-template-rows:475px 60px auto;justify-items:center;display:grid;position:absolute;overflow:hidden}.template4-fit-sketch{object-fit:contain;width:270px;height:450px;margin-top:28px}.template4-fit-label{color:#302821;border-radius:12px;place-items:center;min-width:132px;height:46px;padding:0 18px;font-size:30px;font-weight:800;line-height:1;display:grid}.template4-fit-selected-pill{z-index:1;background:#342a22;border:2px solid #95856d;border-radius:10px;position:absolute}.template4-fit-card.is-selected .template4-fit-label{color:#fff;background:#342a22;border:2px solid #95856d}.template4-fit-card p{color:#302821;margin:14px 22px 0;font-size:28px;line-height:1.2}.template4-settings{flex-direction:column;gap:12px;min-width:280px;min-height:0;display:flex;overflow-y:auto}.template4-target-tabs{gap:8px;display:grid}.template4-target-tabs button{border-radius:var(--radius-sm);color:var(--text-main);text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe2ede6;padding:9px 10px;font-weight:800}.template4-target-tabs button.is-active{border-color:#ffb24af2;box-shadow:0 0 0 2px #ffb24a2e}.template4-settings input,.template4-settings select{border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text-main);font:inherit;background:#fff;border:1px solid #dbe2edf2;padding:9px 10px}.template4-settings input:disabled,.template4-settings select:disabled{color:var(--text-secondary);cursor:default;background:#f4f7fb}.template4-project-select-field select{border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text-main);font:inherit;background:#fff;border:1px solid #dbe2edf2;padding:9px 10px}.template4-name-row,.template4-preset-row,.template4-color-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.template4-name-row:has(button+button){grid-template-columns:minmax(0,1fr) auto auto}.template4-color-row{grid-template-columns:minmax(0,1fr) auto auto}.template4-name-row button,.template4-preset-row button,.template4-color-row button{border-radius:var(--radius-sm);background:var(--navy-strong);color:#fff;white-space:nowrap;cursor:pointer;border:0;min-width:62px;padding:9px 12px;font-weight:800}.template4-name-row button.is-secondary{background:var(--surface-soft);color:var(--text-secondary)}.template4-name-row button:disabled,.template4-preset-row button:disabled,.template4-color-row button:disabled{opacity:.5;cursor:not-allowed}.template4-color-row input[type=color]{height:38px;padding:3px}.template4-fit-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.template4-fit-options button{border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;background:#fff;border:1px solid #dbe2edf2;padding:9px 6px;font-size:12px;font-weight:900}.template4-fit-options button.is-active{background:var(--navy-strong);color:#fff;border-color:#ffb24af2}.template4-fit-options button:disabled{opacity:.5;cursor:not-allowed}.template4-output-strip{gap:10px;min-height:118px;max-height:132px;padding:4px 0;display:flex;overflow-x:auto}.template4-output-strip button{border-radius:var(--radius-sm);cursor:pointer;background:#fff;border:1px solid #dbe2ede6;flex:none;gap:5px;width:92px;padding:6px;display:grid}.template4-output-strip img{object-fit:cover;border-radius:4px;width:78px;height:100px}.template4-output-strip span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}@media (width<=1180px){.template4-workspace{grid-template-columns:300px 230px 760px 280px}}.template5-workspace{grid-template-columns:minmax(310px,340px) minmax(820px,1fr) minmax(280px,320px);align-items:stretch;gap:10px;height:100%;min-height:0;display:grid;overflow:auto hidden}.template5-workspace>.panel-card{min-width:0}.template5-sidebar,.template5-settings{flex-direction:column;gap:12px;min-height:0;display:flex;overflow-y:auto}.template5-sidebar .template2-create-row{grid-template-columns:minmax(0,1fr) auto;display:grid}.template5-import-tile{border-radius:var(--radius-sm);color:var(--text-secondary);background:#fff;border:1px dashed #234a7d42;gap:8px;padding:12px;transition:background .18s,border-color .18s,box-shadow .18s;display:grid}.template5-import-tile.is-drag-active{background:#ffb24a1a;border-color:#ffb24ae6;box-shadow:0 0 0 3px #ffb24a29}.template5-import-tile.is-disabled{opacity:.68}.template5-import-tile strong{color:var(--text-primary)}.template5-import-tile span{font-size:var(--font-caption)}.template5-import-tile button,.template5-name-row button,.template5-color-row button{border-radius:var(--radius-sm);background:var(--navy-strong);color:#fff;white-space:nowrap;cursor:pointer;border:none;min-width:62px;padding:9px 12px;font-weight:800}.template5-import-tile button:disabled,.template5-name-row button:disabled,.template5-color-row button:disabled,.template5-attribute-options button:disabled{opacity:.5;cursor:not-allowed}.template5-project-select-field select,.template5-settings input{border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text-main);font:inherit;background:#fff;border:1px solid #dbe2edf2;padding:9px 10px}.template5-settings input:disabled{color:var(--text-secondary);cursor:default;background:#f4f7fb}.template5-project-select-row,.template5-name-row,.template5-color-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.template5-name-row:has(button+button){grid-template-columns:minmax(0,1fr) auto auto}.template5-name-row button.is-secondary{background:var(--surface-soft);color:var(--text-secondary)}.template5-danger-button,.template5-item-delete{border-radius:var(--radius-sm);color:#b64040;white-space:nowrap;cursor:pointer;background:#fff4f4f2;border:1px solid #e1676752;min-width:62px;padding:9px 12px;font-weight:800}.template5-danger-button:disabled,.template5-item-delete:disabled{opacity:.5;cursor:not-allowed}.template5-item-list{gap:8px;min-height:0;display:grid;overflow-y:auto}.template5-item-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;display:grid}.template5-item-main{border-radius:var(--radius-sm);color:var(--text-main);text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe2ede6;gap:3px;padding:9px 10px;font-weight:800;display:grid}.template5-item-row.is-active .template5-item-main{border-color:#ffb24af2;box-shadow:0 0 0 2px #ffb24a2e}.template5-item-list small{color:var(--text-muted);font-size:11px}.template5-stage-panel{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;min-width:820px;min-height:0;display:grid}.template5-editor-shell{border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;background:#f5f7fb;border:1px solid #dbe2ede6;place-items:start center;min-height:0;padding:12px;display:grid;overflow:auto}.template5-empty{width:min(420px,92%);min-height:260px;box-shadow:none}.template5-canvas{color:#342a22;flex:none;width:1200px;height:1600px;position:relative;overflow:hidden;box-shadow:0 20px 46px #13253f2e}.template5-card{background:#fff;border-radius:22px;width:1152px;height:1552px;position:absolute;top:24px;left:24px}.template5-title{color:#342a22;letter-spacing:4px;text-align:center;width:100%;font-family:Arial,sans-serif;font-size:56px;font-weight:900;line-height:1;position:absolute;top:88px;left:0;transform:scaleX(1.2)}.template5-title-image{width:398px;height:auto;position:absolute;top:84px;left:50%;transform:translate(-50%)}.template5-table-wrap{background:#fff;position:absolute;overflow:hidden}.template5-size-table{border-collapse:collapse;table-layout:fixed;color:#111;width:100%;height:100%;font-family:Arial,sans-serif}.template5-size-table th,.template5-size-table td{overflow-wrap:normal;word-break:normal;text-align:center;vertical-align:middle;border:2px solid #e0e0e0;overflow:hidden}.template5-size-table th{color:#111;background:#f4f4f4;font-weight:900;line-height:1.04}.template5-size-table th span{white-space:nowrap;display:block}.template5-size-table td{font-size:clamp(20px,2vw,34px);line-height:1.12}.template5-size-table td span{white-space:nowrap;display:block}.template5-size-table th:first-child,.template5-size-table td:first-child{background:#f4f4f4;font-weight:900}.template5-option-group{position:absolute}.template5-option-title-image{margin:0 0 23px;display:block}.template5-option-group h4{color:#342a22;letter-spacing:4px;transform-origin:0;margin:0 0 22px;font-family:Arial,sans-serif;font-size:38px;font-weight:900;line-height:1;transform:scaleX(1.12)}.template5-option-box{background:#fff;border:2px solid #342a22;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;height:70px;display:grid}.template5-option-box span{box-sizing:border-box;color:#342a22;text-align:center;white-space:nowrap;border-radius:10px;justify-content:center;justify-self:center;align-items:center;min-width:0;max-width:calc(100% - 16px);height:42px;margin:0;padding:0 8px;font-family:Arial,sans-serif;font-size:24px;font-weight:600;line-height:1;display:flex}.template5-option-box span.is-selected{color:#fff;background:#3b2f26;min-width:0;padding:0 12px}.template5-color-row input[type=color]{height:38px;padding:3px}.template5-attribute-controls{gap:12px;display:grid}.template5-attribute-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.template5-attribute-options button{border-radius:var(--radius-sm);min-width:0;color:var(--text-main);cursor:pointer;background:#fff;border:1px solid #dbe2edf2;padding:9px 6px;font-size:11px;font-weight:900}.template5-attribute-options button.is-active{background:var(--navy-strong);color:#fff;border-color:#ffb24af2}.template5-output-strip{gap:10px;min-height:118px;max-height:132px;padding:4px 0;display:flex;overflow-x:auto}.template5-output-strip button{border-radius:var(--radius-sm);cursor:pointer;background:#fff;border:1px solid #dbe2ede6;flex:none;gap:5px;width:92px;padding:6px;display:grid}.template5-output-strip img{object-fit:cover;border-radius:4px;width:78px;height:100px}.template5-output-strip span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}@media (width<=1180px){.template5-workspace{grid-template-columns:300px 760px 280px}}.batch-field-cell{background:#fff;border-radius:12px;align-items:stretch;transition:box-shadow .18s,background .18s;display:flex;position:relative}.batch-field-cell.is-editing .batch-prompt-input{cursor:text;-webkit-user-select:text;user-select:text}.batch-field-cell.is-range-selected{background:#ffb24a14;box-shadow:inset 0 0 0 1px #ffb24aa6}.batch-field-cell.is-selected{background:#ffb24a1f;box-shadow:inset 0 0 0 2px #ffb24a}.batch-field-cell.is-fill-preview{background:#3a87ff14;box-shadow:inset 0 0 0 1px #3a87ff8c}.batch-grid-row.is-row-selected .batch-ref-cell,.batch-grid-row.is-row-selected .batch-field-cell{background:#ffb24a14}.batch-field-cell .batch-field-input{flex:1}.batch-fill-handle{cursor:crosshair;z-index:3;background:#ffb24a;border:none;border-radius:2px;width:10px;height:10px;position:absolute;bottom:-4px;right:-4px;box-shadow:0 0 0 1px #fff}.batch-fill-handle:hover{background:#ff9e1a}.batch-grid-row select,.batch-grid-row input{align-self:start;padding:9px 10px}.batch-row-generate{border-radius:var(--radius-sm);background:var(--navy-strong);color:#fff;cursor:pointer;font-size:var(--font-caption);border:none;align-self:center;padding:10px 12px;font-weight:700}.batch-row-generate:disabled{opacity:.7;cursor:progress}.batch-row-generate.is-stop{background:var(--danger-soft);color:var(--danger-strong)}.prompt-library-toolbar{align-items:center;gap:6px;margin-bottom:8px;display:flex}.prompt-library-toolbar .project-type-trigger{flex:auto;min-width:0}.prompt-library-toolbar .ghost-button,.prompt-library-new-button{flex:none}.prompt-library-current{background:#fff;border:1px solid #12233d1a;border-radius:8px;gap:10px;padding:12px;display:grid}.prompt-library-current-info{gap:7px;min-width:0;display:grid}.prompt-library-current .prompt-library-list-title strong{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;overflow:visible}.prompt-library-current-actions{grid-template-columns:1.4fr 1fr 1fr;gap:5px;display:grid}.prompt-library-current-actions .ghost-button{min-width:0;min-height:30px;padding:0 6px}.prompt-library-current-options{border-top:1px solid #12233d14;justify-content:space-between;align-items:center;gap:8px;padding-top:9px;display:flex}.prompt-library-current-options .agent-checkbox-row{min-width:0;font-size:11px}.prompt-library-current-options .ghost-button{flex:none;min-height:30px;padding:0 10px}.prompt-library-delete-button{min-height:28px;padding:0 8px;font-size:11px}.prompt-meta-dialog{width:min(560px,100vw - 32px)}.prompt-meta-types{gap:6px;display:grid}.prompt-meta-types>span{color:var(--text-secondary);font-size:12px}.prompt-meta-types>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:280px;display:grid;overflow-y:auto}.prompt-meta-types button{min-width:0;color:var(--text-primary);text-align:left;cursor:pointer;background:#fff;border:1px solid #12233d1a;border-radius:6px;gap:3px;padding:8px 9px;display:grid}.prompt-meta-types button.is-selected{background:#fff8eb;border-color:#ffa837bf}.prompt-meta-types button strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.prompt-meta-types button small{color:var(--text-secondary);font-size:10px}.prompt-library-browser{width:min(640px,100vw - 32px)}.prompt-library-browser .prompt-library-list{max-height:min(420px,56vh)}.prompt-library-search{gap:5px;margin-bottom:8px;display:grid}.prompt-library-search>span{color:var(--text-secondary);font-size:11px}.prompt-library-search input{width:100%;min-height:36px;color:var(--text-primary);font:inherit;background:#fff;border:1px solid #12233d21;border-radius:7px;padding:0 10px;font-size:12px}.prompt-library-search input:focus{border-color:#ffa837cc;outline:2px solid #ffa83724}.prompt-library-browser .prompt-library-list-main{background:#fff;border:1px solid #12233d17;border-radius:6px;flex:none}.prompt-library-browser .prompt-library-list-main:hover{border-color:#12233d2e}.prompt-library-browser .prompt-library-list-main.is-selected{border-color:#ffa837b8;box-shadow:inset 3px 0 #ffad3d}.prompt-library-list{background:#f6f8fbb8;border:1px solid #12233d17;border-radius:8px;flex-direction:column;gap:4px;max-height:184px;padding:4px;display:flex;overflow-y:auto}.prompt-library-list-item{background:#fff;border:1px solid #0000;border-radius:6px;flex:none;width:100%;min-width:0;display:grid;overflow:hidden}.prompt-library-list-main{width:100%;min-width:0;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:0;gap:5px;padding:9px 10px;display:grid}.prompt-library-list-item:hover{border-color:#12233d24}.prompt-library-list-item.is-selected{border-color:#ffa837b8;box-shadow:inset 3px 0 #ffad3d}.prompt-library-list-item.is-draft .prompt-library-list-main{cursor:default}.prompt-library-list-title,.prompt-library-list-meta{align-items:center;gap:6px;min-width:0;display:flex}.prompt-library-list-title strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.prompt-library-list-title em{color:#9a5a00;background:#fff1d7;border-radius:4px;flex:none;padding:2px 5px;font-size:10px;font-style:normal}.prompt-library-list-title>small{color:#28745b;flex:none;font-size:10px}.prompt-library-list-meta{color:var(--text-secondary);justify-content:space-between}.prompt-library-list-meta small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prompt-library-list>p{color:var(--text-secondary);text-align:center;margin:14px 8px;font-size:12px}.prompt-library-list-actions{border-top:1px solid #12233d14;justify-content:flex-end;gap:5px;padding:6px 8px 7px;display:flex}.prompt-library-list-actions .ghost-button{min-height:28px;padding:0 8px}.prompt-document-secondary-actions{margin:2px 0 6px}.prompt-name-dialog{width:min(420px,100vw - 32px)}.prompt-editor-modal.batch-project-create-modal{width:min(460px,100vw - 32px);height:auto;min-height:0;max-height:calc(var(--app-viewport-height) - 32px);grid-template-rows:auto auto auto auto;gap:14px}.project-type-tag-fieldset{border:1px solid #d9e0e8;border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;margin:10px 0;padding:10px;display:grid}.project-type-tag-fieldset legend{color:#536273;padding:0 5px;font-size:12px}.project-type-tag-fieldset .agent-checkbox-row{min-width:0;margin:0}.project-type-tag-fieldset .agent-checkbox-row span{overflow-wrap:anywhere}@media (width<=720px){.project-type-tag-fieldset{grid-template-columns:1fr}}.project-type-compact-row,.project-type-summary-row{align-items:center;gap:8px;min-width:0;display:flex}.project-type-compact-row>span,.project-type-summary-row>span:first-child{color:var(--text-secondary);font-size:var(--font-caption);flex:none}.project-tag-compact-row .project-type-chips,.project-tag-compact-row .project-type-empty{flex:1;min-width:0}.project-tag-compact-row>.ghost-button{flex:none;min-height:30px;padding:0 10px}.project-type-trigger{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-card);min-width:0;min-height:34px;color:var(--text-primary);flex:1;justify-content:space-between;align-items:center;gap:10px;padding:0 10px;display:inline-flex}.project-type-dialog-backdrop{z-index:120;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080e1c80;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.project-type-dialog,.project-type-manager{width:min(540px,100vw - 32px);max-height:calc(var(--app-viewport-height) - 32px);overscroll-behavior:contain;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-card);padding:16px;overflow:auto;box-shadow:0 18px 48px #08142833}.project-type-picker-dialog{height:min(560px, calc(var(--app-viewport-height) - 32px));flex-direction:column;display:flex;overflow:hidden}.project-type-picker-dialog>.project-type-dialog-head,.project-type-picker-dialog>.project-type-groups,.project-type-picker-dialog>.project-type-dialog-actions{flex:none}.project-type-picker-dialog>.project-type-choice-list{overscroll-behavior:contain;flex:1;align-content:start;min-height:0;overflow-y:auto}.project-type-choice-empty{color:var(--text-secondary);text-align:center;grid-column:1/-1;margin:0;padding:28px 12px}.project-type-dialog-head,.project-type-dialog-head>div,.project-type-dialog-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.project-type-groups{border-radius:var(--radius-sm);background:var(--surface-soft);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:14px 0 10px;padding:3px;display:grid}.project-type-groups button{min-height:32px;color:var(--text-secondary);background:0 0;border:0;border-radius:4px}.project-type-groups button.is-active{background:var(--surface-card);color:var(--text-primary);box-shadow:0 1px 4px #1423371a}.project-type-choice-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.project-type-choice-list button{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-card);min-height:48px;color:var(--text-primary);text-align:left;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 10px;display:flex;overflow:hidden}.project-type-choice-list button.is-selected{border-color:var(--amber-strong);background:var(--amber-soft)}.project-type-choice-list button small{color:var(--text-secondary);overflow-wrap:anywhere}.project-type-choice-list.compact{max-height:220px;overflow:auto}.project-type-dialog-actions{justify-content:flex-end;margin-top:14px}.project-type-chips{flex:1;gap:4px;min-width:0;display:flex;overflow:hidden}.project-type-chips>span,.project-type-empty{background:var(--surface-soft);max-width:120px;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:11px;overflow:hidden}.project-type-manager{grid-template-columns:minmax(260px,.9fr) minmax(300px,1.1fr);gap:0 18px;width:min(820px,100vw - 32px);display:grid}.project-type-manager>.project-type-dialog-head{grid-column:1/-1;margin-bottom:12px}.project-type-manager-list{border-right:1px solid var(--border-soft);max-height:520px;padding-right:12px;overflow:auto}.project-type-manager-list>button{border:0;border-bottom:1px solid var(--border-soft);width:100%;color:var(--text-primary);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:9px;display:flex}.project-type-manager-list>button.is-selected{background:var(--amber-soft)}.project-type-manager-list span,.project-type-manager-list small{min-width:0;display:block}.project-type-manager-list small,.project-type-manager-list em{color:var(--text-secondary);font-size:11px;font-style:normal}.project-type-manager-form{min-width:0}.project-type-manager-form>label{gap:5px;margin-top:10px;display:grid}@media (width<=720px){.project-type-choice-list,.project-type-manager{grid-template-columns:1fr}.project-type-manager-list{border-right:0;border-bottom:1px solid var(--border-soft);max-height:220px;padding:0 0 10px}}.batch-prompt-writer-cell{flex-direction:column;justify-content:center;gap:8px;min-width:0;display:flex}.batch-prompt-writer-cell.is-column-selected{background:#ffb24a1a;box-shadow:inset 0 0 0 2px #ffb24a}.batch-prompt-writer-button{border-radius:var(--radius-sm);background:var(--navy-strong);color:#fff;cursor:pointer;border:none;width:100%;min-height:38px;padding:8px 6px;font-size:12px;font-weight:700}.batch-prompt-writer-button.is-running,.batch-prompt-writer-button.is-failed{background:var(--danger-soft);color:var(--danger-strong)}.batch-prompt-writer-button.is-success{color:#15834d;background:#25b46e24}.batch-prompt-writer-button.is-cancelled{color:var(--text-secondary);background:#eef3f9}.batch-prompt-writer-button:disabled{cursor:not-allowed;opacity:.65}.batch-row-timer{color:var(--text-secondary);background:#eef3f9;border-radius:10px;gap:5px;padding:7px;font-size:11px;display:grid}.batch-row-timer span{color:var(--text-primary);font-weight:700}.batch-row-timer small{color:var(--text-muted);font:inherit}.batch-row-timer.is-slow{color:#9a5a00;background:#ffb24a29}.batch-row-timer.is-stuck{color:#c64230;background:#e256441f}.batch-row-timer button{background:var(--navy-strong);color:#fff;cursor:pointer;font-size:var(--font-caption);border:none;border-radius:9px;padding:7px;font-weight:700}.batch-generate-cell{flex-direction:column;justify-content:center;gap:8px;display:flex}.batch-version-nav{color:var(--text-muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:4px;font-size:11px;display:grid}.batch-version-nav button{color:var(--text-secondary);cursor:pointer;background:#eef3f9;border:none;border-radius:999px;padding:5px 6px}.batch-version-nav button:disabled{opacity:.45;cursor:not-allowed}.batch-output-cell{place-items:center;display:grid}.batch-output-generating{width:100%;height:clamp(72px, calc(var(--batch-row-height,264px) - 58px), 180px);color:var(--text-muted);text-align:center;gap:6px;font-size:11px;display:grid}.batch-grid-row.is-row-disabled>*{background:#f8fafc}.batch-grid-row.is-row-disabled .batch-row-index{opacity:.78}.batch-output-button{width:100%;height:clamp(72px, calc(var(--batch-row-height,264px) - 58px), 180px);cursor:pointer;background:0 0;border:none;padding:0}.batch-selected-preview{width:100%;height:clamp(64px, calc(var(--batch-row-height,264px) - 126px), 140px);cursor:zoom-in;background:0 0;border:none;padding:0;display:block}.batch-output-media,.batch-selected-media{width:100%;position:relative}.batch-output-select,.batch-selected-remove{cursor:pointer;opacity:0;pointer-events:none;border:none;transition:opacity .18s,transform .18s;position:absolute}.batch-output-select{color:#fff;background:#132544e0;border-radius:999px;padding:7px 8px;font-size:12px;bottom:8px;left:8px;right:8px}.batch-output-media:hover .batch-output-select,.batch-selected-media:hover .batch-selected-remove{opacity:1;pointer-events:auto;transform:translateY(0)}.batch-selected-cell{place-items:center;display:grid}.batch-selected-media{gap:8px;width:100%;display:grid}.batch-selected-visual{position:relative}.batch-selected-meta{gap:6px;display:grid}.batch-selected-label{font-size:var(--font-caption);color:var(--text-secondary);font-weight:700}.batch-selected-media img,.batch-selected-media .image-load-fallback{object-fit:contain;background:#fffdf5;border-radius:10px;width:100%;height:100%;box-shadow:inset 0 0 0 2px #ffb24a57}.batch-selected-remove{color:#fff;background:#d83f31;border-radius:999px;width:22px;height:22px;font-size:16px;line-height:1;top:6px;right:6px}.batch-selected-note{width:100%;color:var(--text-primary);font:inherit;background:#fff;border:1px solid #12233d1f;border-radius:10px;padding:7px 9px;font-size:12px}.batch-selected-download{width:100%;color:var(--navy-strong);opacity:1;pointer-events:auto;box-shadow:none;background:#1325441a;border:none;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:700;position:static;bottom:auto;left:auto;right:auto;transform:none}.mini-copy-button.danger{color:#c64230;background:#e256441a}.batch-output-error{color:#c64230;font-size:12px;line-height:1.4}.batch-empty-row{min-height:120px;padding:18px}.batch-context-menu{z-index:30;background:#fff;border:1px solid #12233d1f;border-radius:12px;min-width:152px;padding:6px;position:fixed;box-shadow:0 18px 42px #13253f2e}.batch-context-menu-divider{background:#dbe2ede6;height:1px;margin:6px 4px}.batch-context-menu button{width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:9px;padding:9px 10px;display:block}.batch-context-menu button:hover{background:#f6f8fb}.batch-context-menu button:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.55}.batch-insert-count-backdrop{z-index:60}.batch-insert-count-dialog{width:min(380px,100%)}.batch-insert-count-field{color:var(--text-secondary);gap:8px;font-size:14px;display:grid}.batch-insert-count-field input{border:1px solid var(--border-strong);width:100%;color:var(--text-primary);font:inherit;background:#fff;border-radius:8px;padding:11px 12px}.batch-insert-count-field input:focus{border-color:var(--amber-strong);outline:2px solid color-mix(in srgb, var(--amber-strong) 18%, transparent)}.batch-insert-count-error{color:var(--danger-strong);margin:8px 0 0;font-size:13px}.batch-insert-count-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.pagination-bar{justify-content:space-between;margin-top:4px;padding:8px 6px 4px}.pagination-size select{width:110px}.pagination-pages button,.pagination-jump button{min-width:38px;color:var(--text-primary);background:#eef3f9;border-radius:12px;padding:9px 12px}.pagination-pages button.is-active{color:#fff;background:#132544}.pagination-pages button:disabled{opacity:.45;cursor:not-allowed}.pagination-jump input{width:78px}.lightbox{z-index:20;overscroll-behavior:contain;background:#0c121dc7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.lightbox-close{color:#fff;background:#ffffff2e;border-radius:50%;width:42px;height:42px;font-size:24px;position:absolute;top:20px;right:20px}.lightbox-toolbar{color:#fff;background:#111827ad;border-radius:999px;align-items:center;gap:8px;padding:8px;display:flex;position:absolute;top:20px;left:20px}.lightbox-toolbar button{color:#fff;background:#ffffff29;border-radius:999px;padding:8px 12px}.lightbox-stage{cursor:default;justify-content:center;align-items:center;width:auto;max-width:calc(92vw - 150px);height:auto;max-height:90vh;display:flex;position:relative}.lightbox-stage.is-draggable{cursor:grab}.lightbox-viewport{border-radius:0;max-width:none;max-height:none;display:block;overflow:visible}.lightbox-image{-webkit-user-select:none;user-select:none;transform-origin:50%;width:auto;max-width:calc(92vw - 150px);height:auto;max-height:90vh;transition:transform 80ms linear;display:block;box-shadow:0 18px 36px #00000038}.lightbox-image.image-load-fallback{color:#ffffffe0;background:#0f172aad;border-color:#ffffff24;min-width:min(360px,92vw - 150px);min-height:min(240px,60vh)}.lightbox-nav{z-index:2;color:#fff;background:#111827ad;border-radius:50%;place-items:center;width:48px;height:48px;font-size:36px;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav-prev{left:-64px}.lightbox-nav-next{right:-64px}.lightbox-filmstrip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#11182785;border-radius:14px;flex-direction:column;gap:10px;width:116px;padding:10px;display:flex;position:absolute;top:82px;bottom:24px;right:20px}.lightbox-filmstrip-count{color:#fff;text-align:center;font-size:12px}.lightbox-filmstrip-list{gap:10px;padding-right:2px;display:grid;overflow-y:auto}.lightbox-filmstrip button{aspect-ratio:1;background:#ffffff24;border:2px solid #0000;border-radius:10px;width:92px;padding:0;overflow:hidden}.lightbox-filmstrip button.is-active{border-color:#ffb24a;box-shadow:0 0 0 3px #ffb24a3d}.lightbox-filmstrip img,.lightbox-filmstrip .image-load-fallback{object-fit:cover;width:100%;height:100%;display:block}.compare-overlay{z-index:19;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c121db3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.compare-modal{width:min(1760px, calc(var(--app-viewport-width) - 48px));height:min(900px, calc(var(--app-viewport-height) - 48px));background:linear-gradient(#fffffff5,#f6f9fdf0);border-radius:24px;grid-template-columns:minmax(280px,1.05fr) minmax(320px,1.05fr) minmax(260px,.78fr) 118px;gap:12px;padding:18px;display:grid;position:relative;box-shadow:0 22px 60px #07112147}.compare-close{z-index:2;color:#fff;cursor:pointer;background:#132544e0;border:none;border-radius:50%;width:40px;height:40px;font-size:24px;line-height:1;position:absolute;top:14px;right:14px}.compare-panel{background:#fff;border:1px solid #dbe2edeb;border-radius:18px;flex-direction:column;gap:12px;min-width:0;min-height:0;padding:14px;display:flex}.compare-panel-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.compare-panel-head strong{font-size:16px;display:block}.compare-image-frame{background:#f5f7fb;border-radius:16px;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.compare-image-button{cursor:zoom-in;background:0 0;border:none;width:100%;height:100%;padding:0}.compare-main-image{object-fit:contain;width:100%;height:100%;display:block}.compare-main-image.image-load-fallback{background:#f8fafc}.compare-nav{z-index:1;color:#fff;cursor:pointer;background:#132544d1;border:none;border-radius:50%;width:42px;height:42px;font-size:30px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.compare-nav-prev{left:12px}.compare-nav-next{right:12px}.compare-empty{color:var(--text-muted);text-align:center;background:#f5f7fb;border-radius:16px;flex:1;place-items:center;padding:24px;font-size:14px;display:grid}.compare-info-panel{background:linear-gradient(#ecf5ffe6,#f8fbfffa)}.compare-info-list{gap:10px;margin:0;display:grid}.compare-info-list div{background:#ffffffd6;border-radius:14px;padding:10px 12px}.compare-info-list dt{color:var(--text-muted);margin-bottom:4px;font-size:12px}.compare-info-list dd{color:var(--text-primary);word-break:break-word;margin:0;line-height:1.5}.compare-prompt-block{flex-direction:column;gap:8px;min-height:0;display:flex}.compare-prompt-block span{color:var(--text-muted);font-size:12px}.compare-prompt-block p{color:var(--text-primary);word-break:break-word;background:#ffffffd6;border-radius:14px;flex:1;min-height:120px;margin:0;padding:12px;line-height:1.7;overflow:auto}.compare-action-row{flex-wrap:wrap;gap:8px;display:flex}.compare-filmstrip{padding:12px 10px}.compare-filmstrip-head strong{font-size:13px}.compare-filmstrip-list{gap:10px;padding-right:2px;display:grid;overflow-y:auto}.compare-filmstrip-list button{cursor:pointer;background:#f6f8fb;border:1px solid #0000;border-radius:14px;gap:6px;padding:6px;display:grid}.compare-filmstrip-list button.is-active{border-color:#ffb24a;box-shadow:0 0 0 3px #ffb24a33}.compare-filmstrip-list img,.compare-filmstrip-list .image-load-fallback{aspect-ratio:1;object-fit:cover;border-radius:10px;width:100%;display:block}.compare-filmstrip-list span{color:var(--text-secondary);text-align:center;font-size:11px}.auth-tab:hover,.batch-actions button:hover,.ghost-button:hover,.choice-pill:hover,.history-ref-item:hover,.lightbox-close:hover,.lightbox-toolbar button:hover,.user-panel button:hover,.primary-button:hover,.tile-action-button:hover,.lightbox-filmstrip button:hover,.mini-copy-button:hover,.pagination-pages button:hover,.pagination-jump button:hover{transform:translateY(-1px);box-shadow:0 10px 18px #12233d1f}.auth-tab.is-active:hover,.view-switcher button.is-active:hover,.batch-row-generate:not(.is-stop):hover,.batch-row-timer button:hover,.batch-output-select:hover{background:var(--navy-strong-hover);box-shadow:0 12px 20px #13254438}.batch-row-generate.is-stop:hover{background:#e2564429;box-shadow:0 12px 20px #c642301f}.batch-selected-download:hover{color:var(--navy-strong-hover);box-shadow:none;background:#13254424}.lightbox-nav:hover{background:#111827d6}.compare-close:hover,.compare-nav:hover,.compare-filmstrip-list button:hover{transform:translateY(-1px)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=1240px){.simple-topbar{grid-template-columns:1fr;justify-items:start}.stats-bar,.user-panel{justify-content:flex-start}.workspace{grid-template-columns:1fr;height:auto;overflow:visible}.control-panel .form-card,.result-panel{height:auto;position:static;overflow:visible}}@media (width<=960px){.auth-shell{grid-template-columns:1fr}.output-grid-1,.output-grid-2,.output-grid-3,.output-grid-4{grid-template-columns:repeat(2,minmax(0,188px))}.pagination-bar{flex-direction:column;align-items:flex-start}.admin-summary-grid,.admin-users-row,.view-switcher{grid-template-columns:1fr}.admin-users-row{gap:6px;min-width:0}.lightbox-stage,.lightbox-image{max-width:88vw}.lightbox-filmstrip{width:auto;max-height:104px;inset:auto 16px 16px}.lightbox-filmstrip-list{display:flex;overflow:auto hidden}.lightbox-filmstrip button{flex:none;width:72px}.lightbox-nav-prev{left:12px}.lightbox-nav-next{right:12px}.compare-modal{height:auto;max-height:calc(var(--app-viewport-height) - 32px);grid-template-columns:1fr 1fr;grid-template-areas:"reference generated""info filmstrip";overflow:auto}.compare-reference-panel{grid-area:reference;min-height:320px}.compare-generated-panel{grid-area:generated;min-height:320px}.compare-info-panel{grid-area:info}.compare-filmstrip{grid-area:filmstrip}}@media (width<=720px){.auth-shell,.topbar,.workspace{padding:16px}.floating-announcement{width:auto;top:88px;left:12px;right:12px}.announcement-list-item{grid-template-columns:1fr}.auth-hero,.auth-card,.panel-card,.batch-row,.empty-state{border-radius:20px;padding:16px}.compact-grid,.choice-row,.reference-grid,.output-grid-1,.output-grid-2,.output-grid-3,.output-grid-4{grid-template-columns:1fr}.batch-meta{flex-direction:column;align-items:flex-start}.user-panel{flex-wrap:wrap;justify-content:flex-start}.view-switcher{width:100%}.lightbox-stage{width:100%;height:calc(var(--app-viewport-height) - 170px)}.upload-box{grid-template-columns:1fr}.compare-overlay{padding:12px}.compare-modal{width:100%;height:auto;max-height:calc(var(--app-viewport-height) - 24px);grid-template-columns:1fr;grid-template-areas:"reference""generated""info""filmstrip";padding:14px}.compare-panel{padding:12px}.compare-reference-panel,.compare-generated-panel{min-height:260px}.compare-filmstrip-list{padding-bottom:2px;display:flex;overflow:auto hidden}.compare-filmstrip-list button{flex:none;width:88px}}.prompt-workspace-modal,.preset-browser-modal{zoom:1.4;flex-direction:column;width:min(90vw,1680px);max-width:none;height:min(88vh,1040px);display:flex;overflow:hidden}.prompt-workspace-body,.preset-browser-layout{flex:1;grid-template-columns:minmax(280px,32%) minmax(0,1fr);gap:12px;min-height:0;display:grid;overflow:hidden}.prompt-workspace-body .prompt-library-list,.preset-browser-list{min-height:0;overflow:auto}.prompt-workspace-editor,.preset-browser-preview{border-left:1px solid var(--border-color,#dbe3ee);flex-direction:column;gap:12px;min-width:0;min-height:0;padding:4px 4px 4px 16px;display:flex;overflow:auto}.prompt-workspace-editor-head{align-items:center;gap:10px;display:flex}.prompt-workspace-editor-head input{flex:1;min-width:0;font-size:16px;font-weight:700}.prompt-workspace-title-display,.prompt-workspace-name-editor{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.prompt-workspace-title-display>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;overflow:hidden}.prompt-workspace-title-display .ghost-button,.prompt-workspace-name-editor .ghost-button,.prompt-workspace-tags-summary .ghost-button{flex:none;min-height:28px;padding:4px 9px;font-size:12px}.prompt-workspace-editor-head span,.preset-media-strip-head small{color:#718096;white-space:nowrap}.prompt-workspace-tags{gap:6px;display:grid}.prompt-workspace-tags-summary{justify-content:space-between;align-items:flex-start;gap:10px;min-height:30px;display:flex}.prompt-workspace-tags-summary>div{flex-wrap:wrap;gap:5px 10px;min-width:0;display:flex}.prompt-workspace-selected-group{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.prompt-workspace-selected-group>strong{color:#758399;font-size:11px;font-weight:600}.prompt-workspace-selected-group>small{color:#5f6f84;background:#f7f9fc;border:1px solid #e2e8f0;border-radius:4px;padding:2px 6px;font-size:10px;line-height:1.4}.prompt-workspace-tag-options{background:#fbfcfe;border:1px solid #e2e8f0;border-radius:6px;gap:7px;max-height:126px;padding:8px;display:grid;overflow:auto}.prompt-workspace-tag-group{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:8px;display:grid}.prompt-workspace-tag-group>strong{color:#52627a;white-space:nowrap;padding-top:6px;font-size:11px}.prompt-workspace-tag-group>div{flex-wrap:wrap;gap:6px;display:flex}.prompt-workspace-tag-group button{color:#52627a;background:#f7f9fc;border:1px solid #dbe3ee;border-radius:6px;padding:3px 7px;font-size:11px}.prompt-workspace-tag-group button.is-selected{color:#8b4d00;background:#fff6e8;border-color:#f4a340}.prompt-workspace-editor>textarea{resize:none;flex:1;min-height:0;font-family:inherit;line-height:1.65}.prompt-workspace-editor-actions,.preset-media-strip-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.preset-media-gallery{grid-template-columns:1fr 1fr;gap:14px;display:grid}.preset-title-display,.preset-name-editor{align-items:center;gap:8px;min-width:0;display:flex}.preset-title-display>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.preset-title-display .ghost-button,.preset-name-editor .ghost-button,.preset-browser-management .ghost-button{min-height:28px;padding:4px 9px;font-size:12px}.preset-name-editor{flex:1}.preset-name-editor input{flex:1;min-width:0}.preset-browser-management{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;gap:7px;padding:9px 10px;display:grid}.preset-browser-management-head,.preset-browser-management-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.preset-browser-management-head>strong{color:#52627a;font-size:12px}.preset-browser-management-actions{flex-wrap:wrap;justify-content:flex-start}.preset-media-gallery section{min-width:0}.preset-media-strip{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin-top:7px;display:grid}.preset-media-strip a{aspect-ratio:1;background:#f3f6fa;border:1px solid #dbe3ee;border-radius:6px;position:relative;overflow:hidden}.preset-media-strip img,.preset-source-row-thumbs img{object-fit:cover;width:100%;height:100%}.preset-media-strip em{color:#fff;background:#121f32d1;border-radius:4px;padding:2px 5px;font-size:11px;font-style:normal;position:absolute;bottom:5px;left:5px}.preset-media-empty{color:#8290a3;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;place-items:center;min-height:128px;margin-top:7px;display:grid}.preset-source-row-dialog{width:min(760px,88vw);max-height:82vh}.preset-source-row-list{gap:8px;min-height:0;display:grid;overflow:auto}.preset-source-row-list>button{text-align:left;background:#fff;border:1px solid #dbe3ee;border-radius:6px;grid-template-columns:72px 180px minmax(0,1fr);align-items:center;gap:10px;width:100%;padding:8px;display:grid}.preset-source-row-list>button.is-selected{border-color:#f4a340;box-shadow:0 0 0 2px #f4a34029}.preset-source-row-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preset-source-row-thumbs{grid-template-columns:repeat(4,38px);gap:4px;display:grid}.preset-source-row-thumbs img{border-radius:4px;width:38px;height:38px}@media (width<=860px){.prompt-workspace-modal,.preset-browser-modal{width:96vw;height:92vh}.prompt-workspace-body,.preset-browser-layout{grid-template-rows:minmax(180px,34%) minmax(0,1fr);grid-template-columns:1fr}.prompt-workspace-editor,.preset-browser-preview{border-top:1px solid #dbe3ee;border-left:0;padding:12px 0 0}.preset-media-gallery{grid-template-columns:1fr}.preset-source-row-list>button{grid-template-columns:58px 150px minmax(0,1fr)}.prompt-workspace-tag-group{grid-template-columns:1fr;gap:3px}.prompt-workspace-tag-group>strong{padding-top:0}}.topbar{border-bottom-color:var(--border-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;min-height:48px;padding:5px 14px;box-shadow:0 1px #18223008}.brand-mark{border-radius:var(--radius-md);background:var(--amber-strong);width:54px;height:34px;font-size:14px;box-shadow:0 5px 14px #c070162e}.compact-stats div{border-color:var(--border-soft);border-radius:var(--radius-md);background:var(--surface-card);min-width:72px;padding:5px 9px}.compact-stats span{color:var(--text-secondary);font-size:12px;font-weight:500}.compact-stats strong{font-size:15px;font-weight:700}.view-switcher{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-soft);gap:4px;padding:3px}.view-switcher button,.user-panel button{border-radius:var(--radius-sm);min-height:30px;color:var(--text-secondary);background:0 0;padding:5px 10px;font-size:12px;font-weight:650}.view-switcher button.is-active{background:var(--navy-strong);color:#fff;box-shadow:0 3px 8px #172a4633}.user-avatar-button{width:32px;height:32px;background:var(--surface-soft)!important;border-radius:50%!important}.open-workspace-window-button{border:1px solid var(--border-soft);flex:0 0 32px;place-items:center;width:32px;height:32px;line-height:1;display:grid;border-radius:var(--radius-sm)!important;background:var(--surface-card)!important;min-height:32px!important;color:var(--text-secondary)!important;padding:0!important;font-size:18px!important}.open-workspace-window-button:hover{border-color:var(--border-strong);color:var(--navy-strong)!important}.user-avatar-button.is-active,.user-avatar-button[aria-expanded=true]{color:#fff;background:var(--navy-strong)!important}.user-menu-popover{border-color:var(--border-soft);border-radius:var(--radius-lg);padding:8px;box-shadow:0 18px 42px #18223029}.user-menu-popover button{border-radius:var(--radius-sm)}.panel-card,.batch-row,.empty-state,.control-surface,.batch-preset-section,.model-select-section,.ledger-summary-grid div,.ledger-analysis-card{border-color:var(--border-soft);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:none}.panel-card{padding:var(--space-4)}.form-card{gap:var(--space-3)}.form-section{gap:var(--space-2)}.control-surface{padding:var(--space-3);background:var(--surface-card);box-shadow:none}.section-head,.prompt-content-head{color:var(--text-primary)}.section-head h2,.section-head h3,.form-section>h3{font-weight:700}.section-head span,.panel-copy,.compact-grid span,.batch-compact-info span,.admin-form-label small,.ledger-page-head span,.ledger-section-head span{color:var(--text-muted)}.form-card :is(input,select,textarea),.auth-form input,.admin-form-label input,.ledger-filter-bar input,.ledger-filter-bar select,.batch-tool-group input,.batch-tool-group select,.admin-limit-input{border-color:var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);box-shadow:none;background:#fff}.form-card :is(input,select),.auth-form input,.admin-form-label input,.ledger-filter-bar input,.ledger-filter-bar select,.batch-tool-group input,.batch-tool-group select,.admin-limit-input{min-height:34px;padding:6px 10px}.form-card textarea{padding:10px 11px;line-height:1.65}.form-card input[type=checkbox],.form-card input[type=radio]{min-height:0;accent-color:var(--amber-strong);border-radius:3px;padding:0}.primary-button,.ghost-button,.danger-button,.mini-copy-button,.tile-action-button,.batch-actions button,.pagination-pages button,.pagination-jump button{border-radius:var(--radius-sm);min-height:32px;font-weight:650;transition:background .16s,border-color .16s,color .16s,box-shadow .16s,transform .12s}.primary-button:not(:disabled){background:var(--amber-strong);color:#241807;box-shadow:0 5px 14px #c0701629}.primary-button:not(:disabled):hover{background:var(--amber-hover);box-shadow:0 6px 16px #c0701638}.ghost-button,.mini-copy-button,.tile-action-button,.batch-actions button{background:var(--surface-soft);color:var(--text-secondary);border:1px solid #0000}.ghost-button:not(:disabled):hover,.mini-copy-button:not(:disabled):hover,.tile-action-button:not(:disabled):hover,.batch-actions button:not(:disabled):hover{border-color:var(--border-strong);color:var(--text-primary);background:#fff}button:not(:disabled):active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.48}.status-dot,.agent-badge,.batch-row-status,.agent-task-status{border-radius:999px;font-weight:650}.status-generating,.agent-task-status.is-running,.agent-task-status.is-claimed{background:var(--info-soft);color:var(--info-strong)}.status-completed,.agent-task-status.is-completed{background:var(--success-soft);color:var(--success-strong)}.status-partial_failed,.status-failed,.agent-task-status.is-failed{background:var(--danger-soft);color:var(--danger-strong)}.dialog-backdrop,.prompt-editor-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#111b2894}.dialog-card,.prompt-editor-modal,.preset-browser-modal,.prompt-workspace-modal,.image-editor-modal{border-color:var(--border-strong);border-radius:var(--radius-lg);background:#fff;box-shadow:0 24px 70px #111b283d}.dialog-header,.prompt-editor-header{border-bottom-color:var(--border-soft)}.empty-state,.empty-box,.admin-empty-state{border:1px dashed var(--border-strong);background:var(--surface-soft);color:var(--text-secondary)}*{scrollbar-color:#aeb8c6 transparent;scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#aeb8c6 padding-box padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-track{background:0 0}.workspace{height:calc(var(--app-viewport-height) - 48px);gap:10px;padding:10px 12px 12px}.control-panel{border-right:1px solid var(--border-soft)}.control-panel .form-card{padding-right:10px}.result-panel{gap:10px}.simple-result-header{align-items:center;min-height:42px;padding:0 4px}.history-project-filter{color:var(--text-secondary);font-weight:500}.history-project-filter select{border-color:var(--border-strong);border-radius:var(--radius-sm);min-height:34px}.batch-list{gap:10px;padding-right:8px}.batch-row{border-color:var(--border-soft);background:#fff;padding:12px}.batch-meta{margin-bottom:5px}.batch-title strong{color:var(--text-primary);font-size:15px;font-weight:750}.batch-title>span:not(.status-dot):not(.agent-badge),.batch-compact-info span{color:var(--text-muted)}.prompt-inline-label{color:var(--text-secondary);font-weight:650}.prompt-inline-text{color:var(--text-primary);line-height:1.55}.history-ref-item,.image-tile{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-soft)}.history-ref-item img,.history-ref-list-compact .history-ref-item img,.image-preview-button img{border-radius:var(--radius-sm)}.image-tile{min-height:204px;padding:7px}.image-tile-badges span{color:var(--text-secondary);background:#e9edf3}.pagination-bar{border-top:1px solid var(--border-soft);background:var(--surface-subtle);min-height:46px}.pagination-pages button.is-active{background:var(--navy-strong);color:#fff}.batch-workspace{gap:10px}.batch-project-panel{border-right:1px solid var(--border-soft);background:#fff}.batch-sidebar-tabs{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-soft);padding:3px}.batch-sidebar-tab{border-radius:var(--radius-sm);min-height:32px}.batch-sidebar-tab.is-active{color:var(--text-primary);background:#fff;box-shadow:0 2px 7px #18223014}.batch-agent-panel{gap:10px}.batch-agent-panel .control-surface:first-of-type{border-top:3px solid var(--amber-strong)}.batch-result-header{border-bottom:1px solid var(--border-soft);align-items:center;padding:0 2px 8px}.batch-title-row h2{color:var(--text-primary);font-size:22px;line-height:1.2}.batch-table-shell{border-color:var(--border-strong);border-radius:var(--radius-md);background:#fff}.batch-grid-row>*{border-right-color:var(--border-soft);border-bottom-color:var(--border-soft);background:#fff}.batch-grid-head>*{border-bottom-color:var(--border-strong);color:var(--text-secondary);background:#edf1f5;font-size:12px;font-weight:700}.batch-ref-head.is-selected,.batch-field-head.is-selected,.batch-filter-head.is-selected,.batch-row-index.is-selected{background:var(--amber-soft);box-shadow:inset 0 0 0 2px var(--amber-strong)}.batch-prompt-input,.batch-prompt-input.auto-resize-textarea{color:var(--text-primary);font-size:13px;line-height:1.6}.batch-grid-row :is(select,input){border-color:var(--border-strong);border-radius:var(--radius-sm);background:#fff}.batch-row-generate:not(.is-stop){background:var(--navy-strong);color:#fff}.prompt-library-current,.prompt-library-toolbar,.agent-progress-card{border-color:var(--border-soft);border-radius:var(--radius-md);background:#fff}.prompt-library-current{box-shadow:inset 3px 0 0 var(--amber-strong)}.agent-reference-option{border-color:var(--border-soft);border-radius:var(--radius-sm)}.agent-reference-option.is-selected{border-color:var(--amber-strong);background:var(--amber-soft);box-shadow:none}.size-chart-workspace{background:var(--surface-subtle)}.size-chart-mode-tabs{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff;padding:6px}.size-chart-mode-tabs button{border-radius:var(--radius-sm);min-height:34px;padding:6px 11px}.size-chart-result-panel{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff;padding:12px}.size-chart-preview{border-color:var(--border-soft);border-radius:var(--radius-md);background:#f3f5f8}.size-chart-empty{border:1px dashed var(--border-strong);min-height:180px;color:var(--text-secondary);background:#fff}.backoffice-workspace{background:var(--surface-subtle)}.backoffice-panel{gap:12px}.admin-page-header{border-bottom:1px solid var(--border-soft);padding:8px 2px 10px}.admin-page-header h2{color:var(--text-primary);font-size:24px}.admin-summary-grid{gap:8px}.admin-summary-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff;padding:12px}.admin-summary-card strong{font-size:21px}.agent-account-summary{gap:6px}.agent-account-summary span{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-soft);padding:8px 10px}.agent-token-create-card,.announcement-editor{border-color:var(--border-soft);border-radius:var(--radius-md);background:#fff;gap:10px;padding:12px}.ledger-panel{gap:10px}.ledger-filter-bar{border-color:var(--border-soft);border-radius:var(--radius-md);background:#fff;gap:8px;padding:10px}.ledger-summary-grid div{padding:10px}.ledger-summary-grid strong{margin-top:3px;font-size:18px}.ledger-analysis-card th,.ledger-analysis-card td{border-bottom-color:var(--border-soft)}.admin-users-table{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff;gap:0}.admin-users-row{border-bottom:1px solid var(--border-soft);color:var(--text-secondary);background:#fff;border-radius:0;gap:10px;padding:10px 12px}.admin-users-row:nth-child(odd):not(.admin-users-row-head){background:#f8fafc}.admin-users-row:last-child{border-bottom:0}.admin-users-row-head{color:var(--text-secondary);background:#edf1f5;font-weight:700}.admin-row-actions{gap:4px}@media (width<=1500px){.workspace:not(.backoffice-workspace):not(.size-chart-workspace){grid-template-columns:minmax(400px,440px) minmax(0,1fr)}.ledger-filter-bar{grid-template-columns:repeat(4,minmax(120px,1fr))}}@media (width<=1100px){.simple-topbar{grid-template-columns:auto minmax(0,1fr) auto}.compact-stats{display:none}.workspace:not(.backoffice-workspace):not(.size-chart-workspace){grid-template-columns:minmax(360px,400px) minmax(0,1fr)}.ledger-filter-bar{grid-template-columns:repeat(2,minmax(140px,1fr))}}.app-shell{background:var(--surface-subtle)}.topbar{background:#fffffffb;border-bottom-color:#e3e6ea;box-shadow:0 3px 14px #1822300e}.control-panel,.batch-project-panel{background:var(--surface-sidebar)}.panel-card,.control-surface,.batch-preset-section,.model-select-section,.ledger-analysis-card,.admin-summary-card,.agent-token-create-card,.announcement-editor{border-color:var(--border-soft);background:var(--surface-card);box-shadow:var(--shadow-surface)}.control-surface{box-shadow:var(--shadow-surface)}.batch-row{border-color:var(--border-soft);box-shadow:0 1px 2px #18223009,0 5px 15px #1822300a}.project-selector-section{background:#ffffffeb;border-color:#eadfce}.project-selector-section .section-head{padding-bottom:2px}.project-select{background:#fff!important;border-color:#c8d1dc!important}.project-type-compact-row{grid-template-columns:64px minmax(0,1fr) 52px;align-items:center;gap:8px;width:100%;min-height:32px;display:grid}.project-type-compact-row>span:first-child{color:var(--text-muted);white-space:nowrap;font-size:12px}.project-type-compact-row>.project-type-chips,.project-type-compact-row>.project-type-empty{min-width:0}.project-type-compact-row>.ghost-button{background:#f7f8fa;border:1px solid #e1e5ea;justify-self:end;width:52px;min-height:30px;padding:0}.project-type-chips>span{color:#526176;background:#f4f6f8;border:1px solid #e3e6ea}.batch-project-actions{gap:8px}.batch-project-actions .ghost-button{background:#ffffffc7;border-color:#e4e7eb}.batch-sidebar-tabs{background:#f0f2f5;border-color:#e2e5e9}.batch-sidebar-tab.is-active{box-shadow:0 3px 10px #18223017}.primary-button:not(:disabled){background:#ffad42;box-shadow:0 5px 16px #d37e1c33}.primary-button:not(:disabled):hover{background:#f5a039}.batch-grid-head>*{background:#f1f3f6}.batch-sticky-cell,.batch-grid-row.is-row-disabled .batch-sticky-cell{background:#f8f9fb}.size-chart-workspace,.backoffice-workspace{background:var(--surface-subtle)}.tutorial-workspace{height:calc(var(--app-viewport-height) - 54px);background:#f6f7f9;grid-template-columns:300px minmax(0,1fr);display:grid;overflow:hidden}.tutorial-sidebar{border-right:1px solid var(--border-soft);background:#fff;padding:24px 18px 32px;overflow-y:auto}.tutorial-sidebar-heading{gap:4px;margin-bottom:22px;display:grid}.tutorial-sidebar-heading span,.tutorial-intro>div>span{color:#b65f19;font-size:12px;font-weight:800}.tutorial-sidebar-heading strong{font-size:22px}.tutorial-search{color:var(--text-secondary);gap:7px;margin-bottom:18px;font-size:12px;font-weight:700;display:grid}.tutorial-search>div{border-radius:var(--radius-md);background:#fff;border:1px solid #d9dee7;align-items:center;display:flex}.tutorial-search input{min-width:0;color:var(--text-primary);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:10px 11px}.tutorial-search>div:focus-within{border-color:#df8b36;box-shadow:0 0 0 3px #df8b361f}.tutorial-search button{color:#a95618;background:0 0;border:0;margin-right:5px;padding:6px 8px;font-size:12px;font-weight:700}.tutorial-mobile-chapter-select{display:none}.tutorial-chapter-nav{gap:3px;display:grid}.tutorial-chapter-nav button{border-radius:var(--radius-md);width:100%;color:var(--text-secondary);text-align:left;background:0 0;border:0;grid-template-columns:28px minmax(0,1fr);gap:8px;padding:11px 10px;display:grid}.tutorial-chapter-nav button:hover{background:#f5f6f8}.tutorial-chapter-nav button.is-active{color:#9a4b12;background:#fff4e8}.tutorial-chapter-nav button>span:first-child{color:#9a6b45;padding-top:2px;font-size:11px;font-weight:800}.tutorial-chapter-nav button>span:last-child{gap:4px;min-width:0;display:grid}.tutorial-chapter-nav strong,.tutorial-chapter-nav small{display:block}.tutorial-chapter-nav strong{font-size:14px}.tutorial-chapter-nav small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.45;overflow:hidden}.tutorial-content{scroll-behavior:smooth;overflow-y:auto}.tutorial-intro,.tutorial-section,.tutorial-empty-state{width:min(1220px,100% - 64px);margin-inline:auto}.tutorial-intro{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;padding:48px 0 36px;display:grid}.tutorial-intro h1{margin:8px 0 10px;font-size:34px;line-height:1.18}.tutorial-intro p{max-width:720px;color:var(--text-secondary);margin:0;font-size:15px;line-height:1.75}.tutorial-intro dl{gap:22px;margin:0;display:flex}.tutorial-intro dl>div{gap:3px;min-width:72px;display:grid}.tutorial-intro dt{color:var(--text-muted);font-size:11px}.tutorial-intro dd{margin:0;font-size:18px;font-weight:800}.tutorial-section{border-top:1px solid #dfe3e8;margin-bottom:24px;padding:32px 0 8px;scroll-margin-top:18px}.tutorial-section-header,.tutorial-section-header>div{align-items:flex-start;display:flex}.tutorial-section-header{justify-content:space-between;gap:24px;margin-bottom:24px}.tutorial-section-header>div{gap:14px}.tutorial-section-header>div>span{color:#b65f19;padding-top:5px;font-size:12px;font-weight:900}.tutorial-section-header h2,.tutorial-topic-heading h3,.tutorial-instructions h4{margin:0}.tutorial-section-header h2{font-size:25px}.tutorial-section-header p,.tutorial-topic-heading p{color:var(--text-secondary);margin:7px 0 0;line-height:1.65}.tutorial-section-header>button,.tutorial-empty-state button,.tutorial-image-error button{border-radius:var(--radius-md);color:var(--text-secondary);background:#fff;border:1px solid #d8dde5;flex:none;padding:9px 13px;font-weight:700}.tutorial-section-header>button:hover,.tutorial-empty-state button:hover,.tutorial-image-error button:hover{color:#9a4b12;border-color:#e18d3d}.tutorial-topic-list{gap:42px;display:grid}.tutorial-topic{border-bottom:1px solid #e2e5ea;padding-bottom:40px}.tutorial-topic:last-child{border-bottom:0}.tutorial-topic-heading{margin-bottom:16px}.tutorial-topic-heading h3{font-size:18px}.tutorial-topic-heading p{font-size:13px}.tutorial-figure{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:14px;display:grid}.tutorial-screenshot-frame{aspect-ratio:16/10;border-radius:var(--radius-md);background:#eef1f4;border:1px solid #d9dee7;position:relative;overflow:hidden;box-shadow:0 10px 26px #18223014}.tutorial-screenshot-frame img{object-fit:cover;object-position:top left;width:100%;height:100%;display:block}.tutorial-annotation{z-index:2;color:#fff;background:#ef8c32;border:2px solid #fff;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;font-size:12px;font-weight:900;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 10px #47220552}.tutorial-annotation.is-active{outline-offset:2px;outline:3px solid #152235b8}.tutorial-annotation-list{border-radius:var(--radius-md);background:#fff;border:1px solid #dfe3e8;display:grid;overflow:hidden}.tutorial-annotation-list button{color:var(--text-primary);text-align:left;background:0 0;border:0;border-bottom:1px solid #eceef1;grid-template-columns:26px minmax(0,1fr);gap:9px;padding:11px 12px;display:grid}.tutorial-annotation-list button:last-child{border-bottom:0}.tutorial-annotation-list button:hover,.tutorial-annotation-list button.is-active{background:#fff5e9}.tutorial-annotation-list button>span:first-child{width:24px;height:24px;color:var(--text-secondary);background:#f1f3f5;border-radius:50%;place-items:center;font-size:11px;font-weight:900;display:grid}.tutorial-annotation-list button.is-active>span:first-child{color:#fff;background:#ef8c32}.tutorial-annotation-list button>span:last-child{gap:3px;display:grid}.tutorial-annotation-list strong{font-size:13px}.tutorial-annotation-list small{color:var(--text-muted);font-size:11px;line-height:1.45}.tutorial-image-error{height:100%;color:var(--text-secondary);text-align:center;place-content:center;justify-items:center;gap:8px;padding:24px;display:grid}.tutorial-image-error span{font-size:12px}.tutorial-instructions{grid-template-columns:minmax(0,1fr) 300px;gap:14px;margin-top:16px;display:grid}.tutorial-instructions>div,.tutorial-instructions aside{border-radius:var(--radius-md);padding:18px 20px}.tutorial-instructions>div{background:#fff;border:1px solid #e0e4e9}.tutorial-instructions aside{color:#7a352d;background:#fff2ef}.tutorial-instructions h4{margin-bottom:11px;font-size:13px}.tutorial-instructions ol{color:var(--text-secondary);gap:8px;margin:0;padding-left:20px;font-size:13px;line-height:1.6;display:grid}.tutorial-instructions aside p{margin:0 0 7px;font-size:12px;line-height:1.6}.tutorial-instructions aside p:last-child{margin-bottom:0}.tutorial-empty-state{border-radius:var(--radius-md);background:#fff;border:1px solid #dfe3e8;justify-items:start;gap:8px;margin-top:60px;padding:28px;display:grid}.tutorial-empty-state p{color:var(--text-muted);margin:0 0 8px}.tutorial-back-to-top{color:var(--text-muted);background:0 0;border:0;margin:10px auto 42px;padding:9px 14px;font-weight:700;display:block}@media (width<=1100px){.tutorial-workspace{display:block;overflow-y:auto}.tutorial-sidebar{z-index:4;border-right:0;border-bottom:1px solid var(--border-soft);padding:12px 18px;position:sticky;top:0;overflow:visible}.tutorial-sidebar-heading,.tutorial-chapter-nav{display:none}.tutorial-search{margin-bottom:9px}.tutorial-mobile-chapter-select{border-radius:var(--radius-md);background:#fff;border:1px solid #d9dee7;width:100%;padding:9px 10px;display:block}.tutorial-content{overflow:visible}.tutorial-intro,.tutorial-section,.tutorial-empty-state{width:min(100% - 32px,920px)}.tutorial-intro{grid-template-columns:1fr;padding-top:32px}.tutorial-figure,.tutorial-instructions{grid-template-columns:1fr}.tutorial-annotation-list{grid-template-columns:repeat(2,minmax(0,1fr))}.tutorial-annotation-list button:nth-last-child(2):nth-child(odd){border-bottom:0}}@media (width<=680px){.tutorial-intro h1{font-size:27px}.tutorial-intro dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.tutorial-section-header{display:grid}.tutorial-section-header>button{justify-self:start}.tutorial-annotation-list{grid-template-columns:1fr}}
