*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:#17201c;background:#eef1ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}pre{white-space:pre-wrap;word-break:break-word}.workbench{display:grid;grid-template-columns:292px minmax(0,1fr);gap:20px;width:min(1280px,calc(100vw - 32px));margin:0 auto;padding:20px 0 36px}.sidebar{position:sticky;top:20px;display:flex;flex-direction:column;gap:14px;height:calc(100vh - 56px);padding:16px;background:#f9faf7;border:1px solid #cfd8cd;border-radius:8px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid #e2e6df}.brand-mark{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;color:#fff;background:#17201c;border-radius:8px}.eyebrow{display:block;margin-bottom:3px;color:#68756b;font-size:11px;font-weight:700;letter-spacing:0;text-transform:uppercase}.sidebar-brand strong{font-size:15px;letter-spacing:0}.new-project-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;color:#fff;background:#245c43;border:0;border-radius:6px;font-size:13px;font-weight:700}.new-project-button:hover{background:#1c4a36}.project-list-heading{display:inline-flex;align-items:center;gap:6px;margin-top:2px;color:#47584b;font-size:12px;font-weight:700}.project-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-right:2px}.project-row{display:flex;align-items:center;gap:8px;padding:10px;color:#445148;background:#fff;border:1px solid #e1e6df;border-radius:6px;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s}.project-row:hover,.project-row.is-active{color:#17201c;background:#eef7f0;border-color:#87b699;box-shadow:0 0 0 2px #245c4314}.project-row-main{display:flex;min-width:0;flex:1;flex-direction:column;gap:4px}.project-row-main strong{overflow:hidden;color:inherit;font-size:13px;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.project-row-main span{color:#768279;font-size:11px;letter-spacing:0}.delete-project-button{display:grid;width:26px;height:26px;flex:0 0 auto;place-items:center;color:#8a948d;background:transparent;border:0;border-radius:5px}.delete-project-button:hover{color:#9f2d24;background:#fff0ee}.no-projects{padding:14px 6px;color:#7a867d;font-size:13px;line-height:1.5}.workspace{min-width:0;height:calc(100vh - 56px);min-height:0}.workspace-stack{display:flex;flex-direction:column;gap:14px;height:100%;min-height:0}.workspace-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:14px}.session-panel.version-panel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;padding:12px}.version-panel .message-draft{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.version-panel .message-draft .message-meta{flex:0 0 auto}.version-panel .message-draft pre{flex:1 1 auto;min-height:0;overflow-y:auto}.microtune-footer{flex:0 0 auto}.create-project-form{display:grid;gap:16px;padding:18px;background:#fbfcfa;border:1px solid #d5ddd3;border-radius:8px}.create-project-form h1{margin:0;color:#14211b;font-size:26px;line-height:1.2}.project-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-form-grid .full{grid-column:1 / -1}.new-project-image-section{display:grid;gap:8px}.create-project-submit{justify-self:start;padding:0 18px}.model-stack{display:inline-flex;align-items:center;gap:8px;padding:7px 9px 7px 12px;color:#536258;background:#e3ece4;border:1px solid #bfd3c2;border-radius:6px;font-size:12px;font-weight:700}.model-stack span{display:inline-flex;align-items:center;gap:5px}.workspace-form{display:grid;gap:16px}.form-section,.session-panel{background:#fbfcfa;border:1px solid #d5ddd3;border-radius:8px}.form-section{display:grid;gap:14px;padding:16px}.section-heading,.session-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2,.session-heading h2{margin:0;color:#1a261f;font-size:16px;letter-spacing:0}.section-heading p,.session-heading p{margin:4px 0 0;color:#758078;font-size:12px}.version-title{display:inline-flex;align-items:baseline;gap:8px}.version-title span{color:#758078;font-size:12px}.field{display:grid;gap:6px}.field>span,.field-heading{color:#33443a;font-size:13px;font-weight:700}input,select,textarea{width:100%;color:#15241c;background:#fff;border:1px solid #cbd5cc;border-radius:6px;outline:none}input,select{height:38px;padding:0 10px}textarea{min-height:90px;padding:9px 10px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#245c43;box-shadow:0 0 0 3px #245c431a}input::placeholder,textarea::placeholder{color:#9aa69d}.field-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.field-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.upload-zone{display:grid;gap:8px}.text-button{display:inline-flex;align-items:center;gap:4px;color:#7b4b44;background:transparent;border:0;font-size:12px;font-weight:700}.upload-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:142px;color:#5c6a61;background:#f4f7f2;border:1px dashed #9aad9d;border-radius:6px;font-size:13px;font-weight:700}.upload-box:hover{color:#1f3327;background:#eef7f0;border-color:#3e7b5b}.upload-box span{color:#859189;font-size:11px;font-weight:500}.preview-wrapper{overflow:hidden;border:1px solid #cad6cb;border-radius:6px}.preview-wrapper img{display:block;object-fit:cover;width:100%;max-height:240px;background:#eef2ee}.form-actions{display:flex;align-items:center;gap:14px}.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;color:#fff;background:#17201c;border:0;border-radius:6px;font-weight:700}.primary-action:hover{background:#2e382f}.generate-button{min-width:136px;padding:0 16px}.form-actions>span{color:#6c7870;font-size:12px}.primary-action:disabled{color:#dfe3e0;background:#76827b}.session-panel{display:grid;gap:12px;padding:16px}.project-header .project-detail{display:grid;gap:6px}.project-header .project-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 16px;margin:0}.project-meta-row{display:flex;align-items:baseline;gap:6px;min-width:0}.project-meta-row.full{grid-column:1 / -1}.project-meta-row dt,.project-image-block>span,.project-vision-block>span{color:#6c7a70;font-size:12px;font-weight:700}.project-meta-row dt{flex:0 0 auto;white-space:nowrap}.project-meta-row dd{margin:0;min-width:0;color:#25322a;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.project-meta-row dd pre{margin:0;color:#25322a;font-family:inherit;line-height:1.5}.project-image-row{display:flex;align-items:stretch;gap:14px}.project-image-block,.project-vision-block{display:flex;flex-direction:column;gap:5px;min-width:0}.project-image-block{flex:0 0 auto}.project-vision-block{flex:1 1 auto;overflow:hidden}.project-image-block img{display:block;width:160px;height:120px;object-fit:cover;border:1px solid #d9dfd8;border-radius:6px;cursor:pointer}.project-vision-block pre{margin:0;color:#25322a;font-family:inherit;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}.project-header-toggle{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 10px;color:#35473d;background:#fff;border:1px solid #ccd7ce;border-radius:5px;font-size:12px;font-weight:700}.project-header-toggle:hover{color:#245c43;border-color:#245c43}.inline-error{max-width:520px;padding:8px 10px;color:#8f2c23;background:#ffe8e5;border:1px solid #efb3ad;border-radius:6px;font-size:12px;line-height:1.5}.vision-warning{max-width:520px;padding:8px 10px;color:#7a5b13;background:#fff4d6;border:1px solid #e8d7a6;border-radius:6px;font-size:12px;line-height:1.5}.empty-state,.empty-message,.generation-state{display:flex;align-items:center;justify-content:center;gap:12px;padding:42px 20px;color:#68736b;text-align:center}.empty-state{min-height:calc(100vh - 76px);flex-direction:column;background:#fbfcfa;border:1px solid #d5ddd3;border-radius:8px}.empty-state h2{margin:18px 0 8px;color:#1d2a22;font-size:24px;letter-spacing:0}.empty-state p,.empty-message p,.generation-state p{max-width:420px;margin:0;line-height:1.6}.empty-state .primary-action{margin-top:10px;padding:0 16px}.empty-state-icon{display:grid;width:62px;height:62px;place-items:center;color:#245c43;background:#e0eee3;border-radius:50%}.empty-message,.generation-state{min-height:120px;border:1px dashed #c9d5ca;border-radius:6px}.message{padding:12px;border:1px solid #e0e5de;border-radius:6px;background:#fff}.message-assistant{border-color:#cddacf;background:#fff;overflow:auto}.message-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px;color:#768279;font-size:12px}.message-meta>span:first-child{display:inline-flex;align-items:center;gap:5px;color:#3e5544;font-weight:700}.message-meta time{color:#8b958e}.message pre{margin:0;color:#25322a;font-family:inherit;line-height:1.7}.assistant-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;color:#6d7a71;border-top:1px solid #e6eae4;font-size:11px}.assistant-meta>span{padding:4px 7px;background:#f1f5ef;border-radius:5px}.assistant-meta details{flex-basis:100%}.assistant-meta summary{color:#3f6c50;cursor:pointer;font-weight:700}.assistant-meta details pre{margin:8px 0 0;padding:10px;color:#39463e;background:#f6f9f5;border-radius:5px;font-size:12px;line-height:1.6}.follow-up-row{display:grid;grid-template-columns:1fr auto;gap:8px}.follow-up-row textarea{min-height:66px}.follow-up-send{align-self:stretch;min-width:92px;padding:0 12px}.message-draft pre{margin:10px 0 0}.streaming-pre{min-height:22px}.streaming-cursor{display:inline-block;margin-left:2px;color:#245c43;animation:cursor-blink 1s steps(1) infinite}@keyframes cursor-blink{50%{opacity:0}}.assistant-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.assistant-card-heading h2,.assistant-card-heading p{margin:0}.assistant-card-heading p{margin-top:5px;color:#758078;font-size:12px}.tune-prompt{display:flex;align-items:center;gap:4px;padding:10px 12px;background:#f3f7f3;border:1px solid #dbe6dc;border-radius:6px;font-size:12px}.tune-prompt span:first-child{color:#3f6c50;font-weight:700}.tune-prompt span:last-child{margin:0;color:#25322a}.draft-card{display:grid;gap:12px}.draft-field{display:grid;gap:4px}.draft-field-label{color:#3f6c50;font-size:11px;font-weight:700}.draft-field-value{color:#25322a;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.draft-field-value p{margin:0}.draft-field-value ul{margin:0;padding-left:18px;display:grid;gap:4px}.draft-field-value li{line-height:1.6}.draft-section{display:grid;gap:6px}.draft-section h4{margin:0;color:#3e5544;font-size:14px}.draft-section p{margin:0;color:#25322a;line-height:1.7}.draft-skeleton{display:grid;gap:10px;margin-top:10px}.skeleton-bar{display:block;height:12px;border-radius:6px;background:#e6eae4;animation:skeleton-pulse 1.2s ease-in-out infinite}.skeleton-title{width:55%;height:16px}.skeleton-short{width:70%}@keyframes skeleton-pulse{50%{opacity:.55}}.version-controls{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.version-controls button{position:relative;display:grid;width:34px;height:34px;place-items:center;padding:0;color:#35473d;background:#fff;border:1px solid #ccd7ce;border-radius:6px}.version-controls button:hover:not(:disabled){color:#245c43;border-color:#245c43}.version-controls button:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%) translateY(3px);padding:4px 8px;color:#fff;background:#17201cf0;border-radius:4px;font-size:11px;font-weight:600;line-height:1.2;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s ease,transform .12s ease;z-index:20}.version-controls button:hover:after,.version-controls button:focus-visible:after{opacity:1;transform:translate(-50%) translateY(0)}.version-controls button:disabled{color:#a8b1ab;cursor:not-allowed}.version-controls .diff-toggle.is-active,.version-controls .diff-toggle.is-active:hover{color:#fff;background:#245c43;border-color:#245c43}.version-panel .message-draft .diff-view{flex:1 1 auto;min-height:0;overflow-y:auto}.diff-view{display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.7}.diff-legend{display:inline-flex;gap:14px;margin-bottom:2px;color:#768279;font-size:11px}.diff-legend span{display:inline-flex;align-items:center;gap:5px}.diff-swatch{display:inline-block;width:10px;height:10px;border-radius:3px}.diff-field{display:grid;gap:4px}.diff-field-label{color:#3f6c50;font-size:11px;font-weight:700}.diff-field--added .diff-field-label{color:#2f7a45}.diff-field--removed .diff-field-label{color:#c0392b;text-decoration:line-through}.diff-swatch--added{background:#e3f4e5;border:1px solid #b9dcc0}.diff-swatch--removed{background:#ffe5e3;border:1px solid #efb3ad}.diff-line{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;padding:1px 8px;border-radius:4px}.diff-line-mark{color:#aab3ad;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-align:center;-webkit-user-select:none;user-select:none}.diff-line-text{overflow-wrap:anywhere;white-space:pre-wrap}.diff-line--added{background:#e3f4e5}.diff-line--added .diff-line-mark{color:#2f7a45}.diff-line--removed{background:#ffe5e3}.diff-line--removed .diff-line-mark{color:#c0392b}.diff-line--removed .diff-line-text{color:#8f2c23;text-decoration:line-through}.diff-line--changed .diff-line-mark{color:#a8862b}.diff-char--added{background:#bfe5c4;border-radius:2px}.diff-char--removed{color:#8f2c23;background:#ffd0ca;border-radius:2px;text-decoration:line-through}.material-textarea{min-height:130px}.app-loading{display:flex;min-height:100vh;align-items:center;justify-content:center;gap:12px;color:#516057;background:#eef1ed}.app-loading p{margin:0;font-size:14px}.spin{animation:spin 1s linear infinite}.image-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:40px 48px 48px;background:#0a100cd1;cursor:zoom-out}.image-viewer-stage{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(1000px,100%);height:100%;min-height:0}.image-viewer img{flex:1 1 auto;min-height:0;width:100%;max-width:100%;object-fit:contain;border-radius:6px;box-shadow:0 12px 40px #0006}.image-viewer-caption{flex:0 0 auto;width:100%;max-height:34%;overflow-y:auto;padding:12px 16px;color:#e6ede8;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:8px;cursor:auto}.image-viewer-caption span{display:block;color:#9fc7ad;font-size:11px;font-weight:700}.image-viewer-caption pre{margin:6px 0 0;color:#e6ede8;font-family:inherit;font-size:13px;line-height:1.6}.image-viewer-close{position:fixed;top:18px;right:18px;z-index:101;display:grid;width:40px;height:40px;place-items:center;color:#fff;background:#ffffff24;border:1px solid rgba(255,255,255,.28);border-radius:50%}.image-viewer-close:hover{background:#ffffff42}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1020px){.workbench{grid-template-columns:248px minmax(0,1fr)}.field-grid,.project-header .project-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.workbench{grid-template-columns:1fr;width:min(100vw - 20px,1280px)}.sidebar{position:static;width:100%;height:auto}.project-form-grid,.project-header .project-meta{grid-template-columns:1fr}.form-section,.session-panel{padding:13px}.form-actions{align-items:stretch;flex-direction:column}.follow-up-row{grid-template-columns:1fr}.follow-up-send{min-height:38px}.assistant-card-heading{align-items:flex-start;flex-direction:column}.version-controls{justify-content:flex-start}}@media(max-width:480px){.field-grid{grid-template-columns:1fr}.model-stack{display:none}.session-heading{align-items:flex-start;flex-direction:column}}
