[hidden] { display:none!important; }
.factory-nav { display:flex; gap:20px; flex-wrap:wrap; font-size:13px; }
.factory-nav a { color:var(--muted); text-decoration:none; white-space:nowrap; }
.factory-nav a[aria-current],.factory-nav a:hover { color:var(--green); }
.factory-user { font-size:13px; color:var(--muted); }
.factory-main { max-width:1560px; margin:auto; padding:44px 40px 70px; }
.factory-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.factory-heading h1 { font-size:36px; letter-spacing:-1px; margin:9px 0 10px; }
.factory-heading p:not(.eyebrow) { margin:0; color:var(--muted); font-size:14px; }
.heading-dot { color:#3e9c6a; margin-left:3px; }
.factory-badge { padding:10px 16px; border:1px solid #ccdacf; color:#52715e; font:11px ui-monospace,monospace; letter-spacing:1px; }
.factory-notice { min-height:20px; margin:0 0 16px; color:var(--green); font-size:13px; }
.factory-notice.error { color:var(--red); }
.factory-tabs { display:flex; border-bottom:1px solid #cdd8d1; margin-bottom:24px; gap:28px; }
.factory-tabs button { border:0; border-bottom:2px solid transparent; background:none; padding:12px 2px 16px; color:var(--muted); font-size:14px; }
.factory-tabs button[aria-current] { color:var(--green); border-color:var(--green); font-weight:700; }
#historyCount { font-size:11px; padding:2px 7px; background:#dde7e0; border-radius:10px; margin-left:5px; }
.factory-workbench { display:grid; grid-template-columns:380px minmax(0,1fr); gap:24px; align-items:start; }
.factory-panel { background:#fff; border:1px solid var(--line); border-radius:6px; min-width:0; }
.factory-input { padding:26px; display:grid; gap:19px; }
.factory-section-label { display:flex; align-items:center; gap:12px; }
.factory-section-label>span { color:#68927a; font:11px ui-monospace,monospace; letter-spacing:1px; }
.factory-section-label h2 { margin:0; font-size:17px; }
.factory-main label { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13px; font-weight:600; color:#43564b; }
.factory-main label input:not([type=file]),.factory-main label textarea,.factory-main label select { width:100%; }
.factory-main input,.factory-main textarea,.factory-main select { border:1px solid #d8e2db; border-radius:4px; padding:10px 12px; background:#fff; color:#26382d; font-size:13px; }
.factory-main textarea { resize:vertical; line-height:1.7; }
.factory-main input:focus,.factory-main textarea:focus,.factory-main select:focus { outline:2px solid #bdd8c6; outline-offset:1px; }
.factory-main input::placeholder,.factory-main textarea::placeholder { color:#9ba79f; }
.field-optional { font-size:11px; color:#8a988e; font-weight:400; }
.factory-help { color:#85938a; font-size:12px; line-height:1.7; margin:0; font-weight:400; }
.factory-image-drop { border:1px dashed #c7d7cc; padding:15px; justify-content:center; cursor:pointer; color:#547b62!important; background:#f9fbf9; border-radius:4px; }
.factory-image-drop.dragging { border-color:#176c4b; background:#e9f3ec; }
.factory-image-drop small { font-size:10px; color:#95a298; font-weight:400; }
.factory-images { display:flex; gap:8px; flex-wrap:wrap; }
.factory-images:empty { display:none; }
.factory-image { position:relative; width:70px; height:70px; }
.factory-image img { width:100%; height:100%; object-fit:cover; border:1px solid var(--line); border-radius:4px; }
.factory-image button { position:absolute; top:-5px; right:-5px; border:0; border-radius:50%; background:#294636; color:white; width:20px; height:20px; padding:0; }
.factory-reference { font-size:12px; color:#6d7c72; }
.factory-reference summary { cursor:pointer; }
.factory-reference textarea { width:100%; margin-top:12px; }
.factory-generate-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid #eef2ef; padding-top:18px; }
.factory-generate-footer span { font-size:10px; color:#8b9c91; }
.factory-main .primary,.factory-main .quiet { font-size:12px; padding:10px 14px; border-radius:4px; }
.factory-output { position:sticky; top:20px; }
.factory-output-head { padding:25px 28px 20px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
#saveStatus { color:#8c9d91; font-size:11px; }
.factory-output-toolbar { display:flex; align-items:center; justify-content:space-between; background:#fafcfb; padding:9px 22px; border-top:1px solid #edf1ee; border-bottom:1px solid #edf1ee; }
.factory-view-switch { display:flex; gap:2px; }
.factory-view-switch button { border:0; padding:6px 12px; background:none; color:#7b8b80; font-size:12px; border-radius:3px; }
.factory-view-switch button.selected { background:#e7efe9; color:#176c4b; }
.factory-document-title { padding:20px 28px 0; }
.factory-document-title input { border:0; padding:0; font-weight:600; font-size:16px; }
.factory-document-title input:disabled { background:transparent; }
.factory-output-empty { min-height:500px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#89998e; padding:30px; }
.factory-paper-icon { font:32px ui-monospace,monospace; color:#8eac99; border:1px solid #dce6df; border-radius:3px; width:66px; height:82px; line-height:82px; position:relative; margin-bottom:22px; background:linear-gradient(140deg,#f6faf7,#fff); transform:rotate(-5deg); }
.factory-paper-icon span { font-size:20px; }
.factory-output-empty h3 { font-size:17px; font-weight:500; color:#526a5b; }
.factory-output-empty p { font-size:13px; line-height:1.9; }
.factory-output-content { min-height:500px; max-height:calc(100vh - 270px); overflow:auto; }
.factory-output-content .factory-document { padding:28px 32px 40px; }
#markdownSource { border:0; border-radius:0; width:100%; min-height:500px; height:100%; padding:25px 28px; resize:vertical; font:12px/1.85 ui-monospace,SFMono-Regular,Menlo,monospace; background:#fbfcfb; }
.factory-output-content[data-view=preview] #markdownSource,.factory-output-content[data-view=source] #markdownPreview { display:none; }
.factory-output-content[data-view=split] { display:grid; grid-template-columns:1fr 1fr; }
.factory-output-content[data-view=split] #markdownSource { border-right:1px solid var(--line); }
.factory-output-content[data-view=split] .factory-document { padding:24px; }
.factory-export { border-top:1px solid var(--line); padding:14px 22px; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.factory-export>span { color:#96a69c; font:10px ui-monospace,monospace; letter-spacing:1px; }
.factory-export>div { display:flex; gap:5px; }
.factory-export .quiet { padding:7px 10px; }
.factory-skills { display:grid; grid-template-columns:240px minmax(0,1fr); gap:24px; align-items:start; }
.factory-skill-list { padding:22px; }
.factory-list-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.factory-list-head h2 { font-size:15px; margin:0; }
#profileList { display:grid; gap:7px; margin-bottom:20px; }
#profileList button { border:0; text-align:left; padding:12px; background:#f6f9f7; border-radius:3px; font-size:13px; color:#647b6c; }
#profileList button.selected { background:#e4f0e8; color:var(--green); }
.factory-profile-form { padding:30px; display:grid; gap:24px; }
.factory-sample-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.factory-sample-grid label { align-content:start; }
.factory-sample-grid input[type=file] { width:100%; font-size:11px; padding:8px 0; border:0; }
.factory-profile-actions { display:flex; gap:12px; justify-content:flex-end; align-items:center; }
#profileStatus { margin-right:auto; font-size:12px; color:#7a8b80; }
.factory-job { border:1px solid #bcd7c6; background:#edf6f0; border-radius:4px; padding:14px 18px; margin-bottom:20px; display:flex; align-items:center; gap:12px; color:#2a6945; font-size:13px; }
.job-dot { width:7px; height:7px; border-radius:50%; background:#4a9c67; flex-shrink:0; }
.factory-job.running .job-dot { animation:factory-pulse 1.4s infinite; }
@keyframes factory-pulse { 50% { opacity:.3; } }
.factory-history { padding:28px; }
.factory-history-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:22px; }
.factory-history-head h2 { margin:0 0 8px; font-size:19px; }
.factory-history-head input { max-width:300px; }
.factory-history-row { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:20px 0; border-top:1px solid #edf1ee; }
.factory-history-row h3 { font-size:15px; margin:0 0 8px; }
.factory-history-row time { color:#8b9e91; font-size:11px; }
.factory-history-row>div:last-child { display:flex; gap:10px; flex-shrink:0; }
.factory-history #historyEmpty { min-height:220px; }
.factory-login { padding:70px 20px; text-align:center; color:#687d6e; }
.factory-link-button { display:inline-block; text-decoration:none; margin-top:16px; }
@media(min-width:1500px) { .factory-workbench { grid-template-columns:420px minmax(0,1fr); } }
@media(max-width:1100px) { .topbar { flex-wrap:wrap; gap:15px; } .factory-nav { order:3; width:100%; } .factory-workbench { grid-template-columns:330px minmax(0,1fr); } .factory-main { padding:32px 24px; } .factory-export { flex-wrap:wrap; } }
@media(max-width:800px) { .factory-workbench,.factory-skills { grid-template-columns:1fr; } .factory-output { position:static; } .factory-main { padding:28px 16px; } .factory-heading h1 { font-size:29px; } .factory-badge { display:none; } .factory-sample-grid { grid-template-columns:1fr; } .factory-output-content { max-height:850px; } .factory-output-content[data-view=split] { grid-template-columns:1fr; } .factory-output-content[data-view=split] #markdownSource { min-height:280px; height:280px; border-bottom:1px solid var(--line); } .factory-nav { gap:15px; } .factory-history { padding:20px; } .factory-history-head { flex-wrap:wrap; } .factory-history-row { align-items:flex-start; } .factory-profile-form { padding:22px; } }
