:root{--muted:#5c695f}
body{font-size:15px}
button:disabled{cursor:not-allowed;opacity:.65}
.button{min-height:44px;font-size:14px;padding:10px 15px}
.button svg{width:18px;height:18px}
button[aria-disabled=true]{background:#e6eae3;color:#52604f;cursor:pointer;box-shadow:none}
.workspace{padding-left:30px;padding-right:30px}
.topbar{height:76px;gap:16px}
.breadcrumb{font-size:13px;min-width:0;max-width:35%}
.breadcrumb strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar-right{display:flex;align-items:center;gap:16px}
.wallet-strip{display:flex;gap:15px}
.wallet-strip>button{text-align:left;padding:7px 0;font-size:12px;white-space:nowrap;min-height:44px}
.wallet-strip strong{font-size:14px;font-weight:600;margin-left:4px}
.wallet-strip small{display:block;font-size:11px;color:var(--muted)}
.spending-menu{position:relative;z-index:40}
.spending-trigger{display:flex;align-items:center;gap:7px;min-height:44px;border:1px solid #d8e1d4;padding:10px 12px;border-radius:10px;background:#fff;white-space:nowrap;font-size:13px}
.spending-trigger strong{font-variant-numeric:tabular-nums}
.spending-trigger svg{width:17px;height:17px}
.spending-popover{display:none;position:absolute;top:calc(100% - 1px);right:0;width:310px;padding:20px;background:#fff;border:1px solid #d8e1d4;border-radius:12px;box-shadow:0 14px 40px #233b2524}
.spending-menu[data-open=true] .spending-popover{display:block}
.spending-popover h3{font-size:16px;margin:0 0 5px}
.spending-popover p,.spending-popover small{font-size:12px;color:var(--muted);margin:0;line-height:1.6}
.spending-popover dl{margin:16px 0}
.spending-popover dl>div{display:flex;justify-content:space-between;gap:20px;margin:8px 0;font-size:14px}
.spending-popover dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600}
.spending-total{border-top:1px solid var(--line);padding-top:11px}
.spending-popover .button{width:100%;margin-top:14px}
.page-heading{padding:21px 0 18px}
.page-heading h1{font-size:28px;line-height:1.25}
.page-heading p{font-size:13px;margin-top:5px;color:var(--muted)}
.step-row{margin-bottom:20px;padding-bottom:15px}
.step-button{font-size:14px;min-height:44px;padding:9px 12px}
.step-meta{font-size:12px;color:var(--muted)}
.section-title{margin-bottom:18px;gap:20px}
.section-title h2{font-size:21px;font-weight:600}
.section-title p{font-size:14px;color:var(--muted);line-height:1.6}
.source-grid{align-items:start;gap:20px}
.panel{padding:22px}
.panel h3{font-size:16px;margin:0 0 16px;font-weight:600}
.mode-picker{gap:10px;margin-bottom:12px}
.choice-card{padding:14px;min-height:82px}
.choice-card b{font-size:14px}
.choice-card small{font-size:13px;color:var(--muted)}
.mode-help{display:none}
.background-rule{font-size:13px;margin-bottom:17px;color:#46613d}
.dropzone{min-height:215px;padding:22px;gap:8px;color:#596b51}
.dropzone b{font-size:17px;color:#305d48}
.dropzone p{font-size:13px}
.dropzone svg{width:36px;height:36px;margin:0 0 5px}
.source-panel .image-stage,.image-stage>img{height:255px;min-height:0}
.reference-strip{margin-top:14px;gap:10px}
.thumb{width:64px;height:64px}
.thumb>button{min-width:32px;min-height:32px;border-radius:0 0 0 6px;display:grid;place-items:center}
.thumb>button svg{width:15px;height:15px}
.upload-add{min-width:56px;min-height:56px}
.upload-help{font-size:12px;color:var(--muted)}
.field label{font-size:14px;color:#334e3d}
.field input,.field textarea,.field select{font-size:15px;min-height:44px;background:#fff;line-height:1.5}
.field textarea{min-height:118px}
.field .hint,.hint,.muted,.stage-annotation,.check-label small{font-size:13px;color:#59675b;line-height:1.65}
.field .hint{margin:0}
.field-feedback{font-size:13px;color:#59675b;margin:9px 0 0;line-height:1.5}
.field-feedback[hidden]{display:none}
.field-feedback.invalid,.precondition.invalid{color:#914329}
[aria-invalid=true]{border-color:#a55337!important;box-shadow:0 0 0 1px #a55337}
.precondition{font-size:13px;line-height:1.6;color:#52634e;margin:12px 0}
.advanced-details{margin:0 0 16px}
.advanced-details summary{cursor:pointer;padding:10px 0;color:#36573f;font-size:14px;min-height:44px}
.advanced-details[open] .field{margin-top:10px}
.save-status{font-size:12px;color:var(--muted)}
.style-picker{gap:10px}
.style-card b{font-size:14px}
.style-card small{font-size:12px;color:var(--muted)}
.style-example{aspect-ratio:4/3}
.style-card input,.choice-card input{width:18px;height:18px}
.style-compare-button{font-size:13px}
.workflow-guidance{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:13px 16px;border-radius:10px;background:#edf2e8;margin-bottom:16px}
.workflow-guidance p{font-size:14px;flex:1 1 300px;margin:0;color:#385337}
.selection-count{display:block;flex-basis:100%;font-size:13px;color:#53634d}
.front-confirmation{border:1px solid #cfdcc7;background:#f1f6ec;border-radius:11px;padding:15px;margin-bottom:18px}
.check-label{font-size:14px;color:#344d38;line-height:1.5}
.check-label input{width:20px;height:20px;margin:1px 0 0}
.check-label small{display:block;margin-top:5px}
.compact-select{font-size:13px;min-height:44px;padding:10px;max-width:180px;color:#334c35}
.view-head{font-size:15px;padding:12px;gap:5px}
.view-head small{font-size:11px;color:#5d6d56}
.has-selection{border-color:#9bb58e}
.view-image{height:210px}
.view-image>.view-placeholder{font-size:13px!important;line-height:1.5;text-align:center;color:#53664b;padding:14px;gap:10px}
.view-placeholder strong{font-size:14px;font-weight:500}
.view-placeholder span{font-size:12px}
.view-placeholder svg{color:#8ea282}
.view-image .zoom-button{width:44px;height:44px;bottom:8px;right:8px}
.version-thumbnails{display:flex;gap:7px;padding:10px;overflow:auto;scrollbar-width:thin;border-top:1px solid #edf0e8}
.version-thumbnails button{flex:0 0 48px;width:48px;height:48px;border:1px solid #dbe3d6;position:relative;border-radius:7px;padding:2px;background:#fff;overflow:hidden}
.version-thumbnails img{width:100%;height:100%;object-fit:contain}
.version-thumbnails span{position:absolute;bottom:0;right:0;background:#fff;padding:0 3px;font-size:11px;color:#324e38}
.version-thumbnails button[aria-pressed=true]{outline:2px solid #52784a;outline-offset:-2px}
.view-controls{padding:10px;gap:7px}
.view-controls .button{font-size:12px;min-height:44px;padding:8px;flex:1 1 80px}
.view-controls .button svg{width:14px;height:14px}
.view-history{font-size:13px;min-height:44px;padding:9px;color:#40583b}
.review-row{padding:18px;align-items:center;gap:20px}
.review-row .precondition{margin:8px 0 0 30px}
.review-row .button{flex-shrink:0}
.model-settings{display:grid;gap:18px;align-content:start;min-width:0}
.model-settings .panel{padding:19px}
.model-settings .button{width:100%;margin-top:8px}
.model-settings .field{margin-bottom:13px}
.viewer-grid{grid-template-columns:minmax(0,1fr) 325px;align-items:start}
.viewer-host,.viewer-panel,.viewer-empty{min-height:490px;height:490px}
.viewer-empty>svg{width:74px;height:74px}
.viewer-empty .button svg{width:18px;height:18px;stroke-width:1.6}
.viewer-empty p{font-size:14px;color:#55674d;max-width:300px}
.viewer-empty h3{font-size:18px;color:#3f593b}
.viewer-tools button{width:44px;height:44px}
.viewer-hint{font-size:12px;color:#465e40}
.export-panel{display:block}
.export-panel .hint{margin:0 0 16px}
.download-card h4{font-size:15px}
.download-card p,.download-card a{font-size:14px;color:#3b5633}
.download-card a.primary{color:#fff}
.notice{font-size:13px;color:#506346;line-height:1.6}
.bottom-bar{font-size:12px;color:#5b6c55}
.job-banner{font-size:14px}
.job-banner small{font-size:12px;opacity:1}
.modal-header p,.plan-line,.plan-line small,.modal-total span,.connection-row,.technical,.money-table{font-size:13px}
.plan-line small,.money-table small,.connection-row span:last-child{color:#52664b;font-size:12px}
.close-modal{width:44px;height:44px;flex-shrink:0}
.modal-footer{flex-wrap:wrap}
.mobile-action-dock{display:none}
@media(max-width:1150px){.workspace{padding-left:22px;padding-right:22px}.topbar{gap:12px}.topbar-right{gap:10px}.wallet-strip{gap:10px}.breadcrumb>span,.breadcrumb>svg{display:none}.viewer-grid{grid-template-columns:minmax(0,1fr) 300px}.views-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.sidebar{padding:10px 20px}.sidebar-bottom .nav-main{width:44px;height:44px}.topbar{height:auto;min-height:68px}.breadcrumb{max-width:180px}.mobile-project-select{font-size:14px;min-height:44px;max-width:170px}.section-title{flex-wrap:wrap}.section-actions{justify-content:flex-start}.viewer-grid{grid-template-columns:1fr}.viewer-host,.viewer-panel,.viewer-empty{height:400px;min-height:400px}.model-settings{grid-template-columns:1fr 1fr}.source-grid{grid-template-columns:1fr 1fr}.choice-card{padding:12px}.choice-card small{font-size:12px}.bottom-bar{gap:16px}}
@media(max-width:620px){
  .workspace{padding:0 16px 130px}.sidebar{padding:6px 16px}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:6px 0 9px}.topbar-right{display:contents}.breadcrumb{grid-column:1;grid-row:1;max-width:100%;gap:0}.mobile-project-select{max-width:145px;width:100%;font-size:14px}.spending-menu{grid-column:2;grid-row:1}.spending-trigger{font-size:12px;padding:9px;gap:5px}.spending-trigger svg{width:16px;height:16px}.spending-popover{width:min(310px,calc(100vw - 32px));padding:17px}.wallet-strip{grid-row:2;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0}.wallet-strip>button{padding:3px 0;min-height:38px;font-size:12px}.wallet-strip small{display:inline;font-size:10px;margin-left:5px}.wallet-strip strong{font-size:13px}.page-heading{padding:14px 0 12px;align-items:center}.page-heading h1{font-size:24px}.page-heading p{display:none}.page-heading>.button{font-size:12px;min-height:44px;padding:9px 12px}.step-row{margin:0 0 17px;padding:0 0 12px;gap:0}.step-button{font-size:12px;padding:9px 7px;min-height:44px;gap:6px}.step-button span{width:20px;height:20px;font-size:11px}.step-line{width:10px}.section-title{margin-bottom:12px;gap:10px}.section-title h2{font-size:19px}.section-title p{font-size:13px;margin-top:4px}.mode-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:8px}.choice-card{padding:11px 8px;gap:5px;min-height:64px}.choice-card input{width:16px;height:16px;flex-shrink:0}.choice-card b{font-size:12px;line-height:1.35}.choice-card small{display:none}.mode-help{display:block;font-size:13px;color:var(--muted);margin:7px 0 10px;line-height:1.5}.background-rule{font-size:12px;margin:8px 0 14px}.source-grid{grid-template-columns:1fr;gap:16px}.source-grid:has(.style-panel) .description-panel{order:-1}.panel{padding:17px}.panel h3{font-size:16px;margin-bottom:14px}.dropzone{min-height:180px;padding:20px 12px}.dropzone b{font-size:17px}.dropzone p{font-size:13px}.field label{font-size:14px}.field input,.field textarea,.field select{font-size:16px}.field textarea{font-size:15px}.field .hint,.hint,.muted,.check-label small,.precondition{font-size:13px}.form-footer{padding-top:12px}.desktop-next{display:none!important}.mobile-action-dock{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;flex-direction:column;gap:7px;padding:10px 16px max(12px,env(safe-area-inset-bottom));background:#fffffff5;backdrop-filter:blur(10px);border-top:1px solid #dce4d6;box-shadow:0 -4px 18px #233b250b}.mobile-action-dock>span{font-size:12px;line-height:1.4;color:#4a6041;max-height:34px;overflow:auto}.mobile-action-dock>.button{width:100%;min-height:46px;font-size:14px}.section-actions{width:100%;gap:9px;align-items:stretch;flex-wrap:wrap}.section-actions .button{font-size:13px;min-height:44px;flex:1 1 170px;padding:9px 12px}.section-actions .button svg{display:block}.compact-select{font-size:13px;min-height:44px;max-width:100%;flex:1 1 140px}.workflow-guidance{padding:12px}.workflow-guidance p,.selection-count{font-size:13px}.front-confirmation{padding:13px}.check-label{font-size:14px;gap:10px}.views-grid{gap:10px}.view-head{padding:10px;font-size:14px;align-items:flex-start;flex-direction:column}.view-head small{font-size:11px}.view-image{height:170px}.view-image>.view-placeholder{font-size:12px!important;padding:10px}.view-placeholder strong{font-size:13px}.view-placeholder span{font-size:12px}.version-thumbnails{padding:8px;gap:6px}.version-thumbnails button{width:44px;height:44px;flex-basis:44px}.view-controls{padding:8px;gap:7px}.view-controls .button{font-size:12px;min-height:44px;flex-basis:100%;padding:8px}.view-controls .button svg{display:block}.view-history{font-size:12px;min-height:44px}.review-row{padding:14px}.review-row .precondition{margin-left:30px}.model-settings{grid-template-columns:1fr}.viewer-host,.viewer-panel,.viewer-empty{height:340px;min-height:340px}.viewer-empty{padding:22px}.viewer-empty .button{min-height:44px;font-size:13px}.viewer-empty .button svg{width:18px;height:18px}.viewer-hint{font-size:11px}.model-settings .panel{padding:17px}.notice{font-size:13px;padding:13px}.bottom-bar{font-size:11px;gap:12px}.bottom-bar>span{max-width:160px}.modal-inner{padding:20px 17px}.modal-header h2{font-size:22px}.modal-header p,.modal-footer .button{font-size:13px}.close-modal{width:44px;height:44px}.toast{bottom:115px;font-size:13px}.connection-row span:last-child{font-size:12px}.style-card b{font-size:14px}.style-card small{font-size:12px}.style-compare-button{font-size:13px}.style-comparison b{font-size:13px}.style-comparison small{font-size:12px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.spinner{animation-duration:2s}}
.button.primary[aria-disabled=true]{background:#e6eae3;color:#52604f;cursor:pointer;box-shadow:none}
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible,.spending-trigger:focus-visible,.version-thumbnails button:focus-visible{outline:3px solid #709464;outline-offset:2px}
@media(max-width:620px){.wallet-strip>button{white-space:normal;min-width:0}.wallet-strip small{display:block;margin-left:0;font-size:11px}.wallet-strip strong{white-space:nowrap}.mobile-project-select{min-width:0}}.money-table button{min-height:44px;font-size:13px;padding:8px 4px}
@media(max-width:620px){.spending-popover{width:min(310px,calc(100vw - 48px))}.source-panel:has(.dropzone)>h3{display:none}.dropzone{min-height:160px}}
