:root{color:#181817;background:#f5f3ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:linear-gradient(180deg,#ffffffb3,#f5f3eee6),#f5f3ee}button,textarea,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}.app-shell{width:min(1180px,100%);min-height:100vh;margin:0 auto;padding:18px;display:grid;grid-template-columns:minmax(340px,410px) minmax(0,1fr);gap:18px}.composer,.library-section{min-width:0}.composer{position:sticky;top:18px;align-self:start;display:grid;gap:16px;padding:18px;border:1px solid #dfd8cc;border-radius:8px;background:#fffdf8f5;box-shadow:0 18px 38px #3a2f2114}.topbar,.library-head,.insights-head,.log-head,.toolbar,.controls-row,.card-meta,.status-strip,.label-row,.panel-title,.reference-pill,.reference-empty{display:flex;align-items:center}.topbar,.library-head,.insights-head,.log-head,.label-row{justify-content:space-between;gap:14px}.eyebrow{margin:0 0 4px;color:#737069;font-size:.72rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3,h4{margin:0;letter-spacing:0}h1{font-size:clamp(2rem,9vw,3.7rem);line-height:.92}h2{font-size:1.55rem}h3{font-size:1.1rem}h4{font-size:.9rem}.icon-button{width:42px;height:42px;display:inline-grid;place-items:center;border:1px solid #d7d0c3;border-radius:8px;color:#242321;background:#fffdfa}.icon-button.small{width:36px;height:36px}.prompt-stack{display:grid;gap:8px}.field-label{color:#4b4945;font-size:.86rem;font-weight:800}.text-button{min-height:30px;display:inline-flex;align-items:center;gap:6px;border:0;color:#165f4f;background:transparent;font-size:.82rem;font-weight:900}textarea,input,select{width:100%;border:1px solid #d7d0c3;border-radius:8px;color:#181817;background:#fffdfa;outline:none}textarea{min-height:178px;resize:vertical;padding:14px;line-height:1.45}input{min-height:42px;padding:0 12px}select{min-height:42px;padding:0 34px 0 12px}input[type=range]{min-height:34px;padding:0;border:0;accent-color:#2f7c67;background:transparent}textarea:focus,input:focus,select:focus,button:focus-visible{border-color:#2f7c67;box-shadow:0 0 0 3px #2f7c672e}.toolbar{flex-wrap:wrap;gap:10px}.primary-button,.tool-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;font-weight:800}.primary-button{flex:1 1 150px;border:1px solid #10100f;color:#fffdf8;background:#181817}.tool-button{flex:1 1 112px;border:1px solid #d7d0c3;color:#22211f;background:#fffdfa}.controls-row{justify-content:space-between;flex-wrap:wrap;gap:10px}.segmented{min-height:38px;display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(54px,1fr);gap:3px;padding:3px;border:1px solid #d7d0c3;border-radius:8px;background:#ebe5d9}.segmented button{min-height:30px;border:0;border-radius:6px;color:#4b4945;background:transparent;font-size:.86rem;font-weight:800}.segmented button.active{color:#11100f;background:#fffdfa;box-shadow:0 1px 4px #3a2f211f}.segmented.compact{grid-auto-columns:minmax(56px,max-content)}.reference-pill,.reference-empty{min-height:38px;gap:8px;padding:0 10px;border-radius:8px;font-size:.85rem;font-weight:800}.reference-pill{color:#123d34;background:#dcefe8}.reference-pill button{width:24px;height:24px;display:inline-grid;place-items:center;border:0;border-radius:6px;color:#123d34;background:#ffffffb3}.reference-empty{color:#6d6760;background:#ece7dd}.advanced{border-top:1px solid #e6dfd2;padding-top:12px}.advanced summary{margin-bottom:10px;color:#4b4945;cursor:pointer;font-weight:800}.metadata-grid,.modal-editor,.lora-panel,.model-panel,.edit-panel{display:grid;gap:10px}.metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metadata-grid .wide{grid-column:1 / -1}.metadata-grid label,.modal-editor label,.lora-panel label,.model-panel label,.edit-panel label{display:grid;gap:6px}.metadata-grid label span,.modal-editor label span,.lora-panel label span,.model-panel label span,.edit-panel label span{color:#5d5750;font-size:.76rem;font-weight:900}.lora-panel,.model-panel,.edit-panel{grid-template-columns:1fr}.edit-panel textarea{min-height:88px}.check-row{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:9px!important;color:#4b4945;font-size:.85rem;font-weight:900}.check-row input{width:18px;min-height:18px;accent-color:#2f7c67}.lora-status,.model-status{min-height:34px;display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;color:#5d5750;background:#f0ece4;font-size:.78rem;font-weight:800}.history-panel{display:grid;gap:10px;border-top:1px solid #e6dfd2;padding-top:12px}.panel-title{gap:8px;color:#4b4945;font-size:.86rem;font-weight:900}.prompt-list{display:grid;gap:6px}.prompt-list button{min-width:0;display:grid;gap:4px;padding:9px 0;border:0;border-top:1px solid #ebe5d9;color:#242321;background:transparent;text-align:left}.prompt-list button span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35}.prompt-list time,.modal-copy time,.quiet-copy{color:#777169;font-size:.78rem;font-weight:700}.quiet-copy{margin:0}.status-strip{min-height:38px;gap:8px;padding:9px 10px;border-radius:8px;color:#4d4a45;background:#f0ece4;font-size:.86rem;font-weight:700}.status-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#c75a4d}.status-dot.online{background:#2f7c67}.notice{padding:11px 12px;border-left:4px solid #d46b45;border-radius:8px;background:#fff4ed;color:#4d3429;font-weight:700;line-height:1.35}.library-section{display:grid;align-content:start;gap:16px}.insights-panel{display:grid;gap:12px;padding:14px;border:1px solid #dfd8cc;border-radius:8px;background:#fffdf8d1;box-shadow:0 10px 26px #3a2f210f}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat-card{min-width:0;display:grid;gap:7px;padding:10px;border:1px solid #e2dbcf;border-radius:8px;background:#fffdfa}.stat-card div{min-width:0;display:flex;align-items:center;gap:6px;color:#5d5750;font-size:.72rem;font-weight:900}.stat-card strong{min-width:0;overflow:hidden;color:#181817;font-size:1.2rem;line-height:1;text-overflow:ellipsis;white-space:nowrap}.stat-card small{min-width:0;overflow:hidden;color:#777169;font-size:.72rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.mini-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.top-list{min-width:0;display:grid;align-content:start;gap:7px;padding:10px;border:1px solid #e2dbcf;border-radius:8px;background:#fffdfa}.top-list h4{color:#4b4945}.top-list div{min-width:0;display:flex;justify-content:space-between;gap:8px;font-size:.78rem;font-weight:800}.top-list span{min-width:0;overflow:hidden;color:#4d4a45;text-overflow:ellipsis;white-space:nowrap}.top-list strong{color:#165f4f}.top-list p{margin:0;color:#777169;font-size:.78rem;font-weight:800}.log-head span{color:#777169;font-size:.78rem;font-weight:800}.telemetry-list{display:grid;gap:7px}.telemetry-row{min-width:0;display:grid;grid-template-columns:50px minmax(0,1fr);gap:8px;padding:8px;border:1px solid #e2dbcf;border-radius:8px;background:#fffdfa}.telemetry-row>span{align-self:start;padding:3px 5px;border-radius:6px;color:#fff;background:#4f5755;font-size:.64rem;font-weight:900;text-align:center;text-transform:uppercase}.telemetry-row.warn>span{background:#a8642c}.telemetry-row.error>span{background:#a33f35}.telemetry-row div{min-width:0;display:grid;gap:3px}.telemetry-row strong,.telemetry-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.telemetry-row strong{color:#252421;font-size:.8rem}.telemetry-row small{color:#777169;font-size:.72rem;font-weight:800}.compact-empty{min-height:130px}.group-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.group-strip button{min-height:34px;flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid #d7d0c3;border-radius:8px;color:#4b4945;background:#fffdfa;font-size:.82rem;font-weight:900}.group-strip button.active{border-color:#2f7c67;color:#123d34;background:#dcefe8}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px}.image-card{position:relative;min-width:0;display:grid;gap:9px;padding:8px;border:1px solid #ded7ca;border-radius:8px;color:#23221f;background:#fffdfa;text-align:left;box-shadow:0 8px 20px #3a2f210f}.image-card.selected{border-color:#2f7c67;box-shadow:0 0 0 3px #2f7c6724}.thumb{width:100%;aspect-ratio:1 / 1;overflow:hidden;border-radius:6px;background:#e3ded5}.thumb img{width:100%;height:100%;display:block;object-fit:cover}.pending-art{width:100%;height:100%;display:grid;place-items:center;color:#5c5751;background:linear-gradient(135deg,#2f7c672e,#d46b4529),#ece7dd}.card-meta{justify-content:space-between;gap:8px;font-size:.78rem;font-weight:800}.card-meta time{color:#777169;font-weight:700}.card-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-chips{display:flex;flex-wrap:wrap;gap:5px}.card-chips span{max-width:100%;overflow:hidden;padding:4px 6px;border-radius:6px;color:#4d4a45;background:#f0ece4;font-size:.7rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.badge{position:absolute;top:14px;left:14px;padding:5px 8px;border-radius:999px;color:#fff;background:#4f5755;font-size:.72rem;font-weight:900;text-transform:uppercase}.badge.failed{background:#a33f35}.empty-state{min-height:260px;display:grid;place-items:center;align-content:center;gap:10px;border:1px dashed #cfc6b7;border-radius:8px;color:#6f6860;background:#fffdf880}.empty-state p{margin:0;font-weight:800}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:#141210b8}.image-modal{position:relative;width:min(920px,100%);max-height:min(92vh,900px);display:grid;gap:12px;overflow:auto;padding:12px;border-radius:8px;background:#fffdfa}.image-modal img{max-width:100%;max-height:72vh;justify-self:center;border-radius:6px;object-fit:contain}.close-button{position:absolute;top:18px;right:18px;background:#fffdf8eb}.modal-copy{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;color:#36332f}.modal-copy>div:first-child{min-width:0;display:grid;gap:4px}.modal-copy p{min-width:0;margin:0;overflow-wrap:anywhere;line-height:1.35}.modal-copy a{flex:0 0 auto;color:#165f4f;font-weight:900}.modal-actions{flex:0 0 auto;display:flex;align-items:center;gap:10px}.modal-tool{min-height:38px;flex:0 0 auto;padding:0 12px}.upscale-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(150px,.8fr);gap:10px;border-top:1px solid #e6dfd2;padding-top:12px}.upscale-panel label{min-width:0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 10px}.upscale-panel label span{color:#5d5750;font-size:.76rem;font-weight:900}.upscale-panel input[type=range],.upscale-panel select{grid-column:1 / -1}.upscale-panel strong{color:#242321;font-size:.82rem}.file-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-top:1px solid #e6dfd2;padding-top:12px}.file-info-grid div{min-width:0;display:grid;gap:4px;padding:8px;border:1px solid #e2dbcf;border-radius:8px;background:#fffdfa}.file-info-grid span{color:#777169;font-size:.7rem;font-weight:900}.file-info-grid strong{min-width:0;overflow:hidden;color:#242321;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.modal-editor{grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #e6dfd2;padding-top:12px}.metadata-save{grid-column:1 / -1}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spin{animation:spin .9s linear infinite}.pulse{animation:pulse 1.2s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{transform:scale(1.1);opacity:.7}}@media(max-width:780px){.app-shell{grid-template-columns:1fr;padding:12px}.composer{position:static}.image-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:430px){.composer{padding:14px}.toolbar{display:grid;grid-template-columns:1fr 1fr}.primary-button{grid-column:1 / -1}.library-head{align-items:flex-start;flex-direction:column}.segmented.compact{width:100%}.metadata-grid,.modal-editor,.mini-columns,.upscale-panel,.file-info-grid{grid-template-columns:1fr}.modal-copy{flex-direction:column}.modal-actions{width:100%;justify-content:space-between}.metadata-save{grid-column:auto}.stats-grid{grid-template-columns:1fr}}
