:root{color-scheme:light;--surface-primary: #F6F7F4;--surface-secondary: #FFFFFF;--surface-elevated: #FAFBF8;--text-primary: #1E2420;--text-secondary: #59645D;--text-tertiary: #7D887F;--border-default: #D8DED5;--border-subtle: #E8ECE4;--accent-primary: #2D7F6F;--accent-hover: #23695C;--status-error: #B33A35;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--surface-primary);color:var(--text-primary)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100dvh;background:var(--surface-primary)}button,input{font:inherit}.topbar{display:flex;align-items:end;justify-content:space-between;gap:var(--space-6);max-width:1440px;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-5)}.eyebrow{margin:0 0 var(--space-2);color:var(--accent-primary);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{max-width:760px;font-size:clamp(30px,4vw,40px);line-height:1.1}.lede{max-width:760px;margin-top:var(--space-3);color:var(--text-secondary);font-size:17px;line-height:1.55}.status-card,.control-panel,.viewport-shell{border:1px solid var(--border-default);background:var(--surface-secondary)}.status-card{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);color:var(--text-secondary);white-space:nowrap}.status-dot{width:10px;height:10px;border-radius:999px;background:var(--accent-primary)}.workspace{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:var(--space-6);max-width:1440px;min-height:calc(100dvh - 160px);margin:0 auto;padding:0 var(--space-6) var(--space-6)}.control-panel{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5)}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid var(--border-default);background:var(--surface-elevated);color:var(--text-primary);padding:0 var(--space-4);cursor:pointer;transition:transform .12s ease-out,border-color .12s ease-out,background .12s ease-out}.button:hover{border-color:var(--accent-primary)}.button:disabled{cursor:not-allowed;opacity:.58}.button:disabled:hover{border-color:var(--border-default)}.button.is-active{border-color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 10%,var(--surface-elevated))}.button:active{transform:translateY(1px)}.button:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--accent-primary) 35%,transparent);outline-offset:2px}.button.primary{border-color:var(--accent-primary);background:var(--accent-primary);color:#fff}.button.primary:hover{background:var(--accent-hover)}.button input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.drop-zone{display:grid;gap:var(--space-1);border:1px dashed var(--border-default);background:var(--surface-elevated);padding:var(--space-4);color:var(--text-secondary);transition:border-color .12s ease-out,background .12s ease-out}.drop-zone strong{color:var(--text-primary);font-size:15px;font-weight:650;line-height:1.35}.drop-zone span{font-size:13px;line-height:1.45}.drop-zone.drag-over{border-color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 8%,var(--surface-elevated))}.control-group{display:grid;gap:var(--space-3);border-top:1px solid var(--border-subtle);padding-top:var(--space-4)}.group-title{color:var(--text-secondary);font-size:13px;font-weight:650}.capture-group .button{width:fit-content}.capture-status{color:var(--text-secondary);font-size:13px;line-height:1.45}.view-cube{display:grid;grid-template-columns:repeat(3,48px);grid-template-areas:". top ." "left front right" ". back ." ". bottom .";gap:var(--space-2);width:max-content}.view-cube button{width:48px;height:42px;border:1px solid var(--border-default);background:var(--surface-elevated);color:var(--text-primary);cursor:pointer;font-weight:650;transition:transform .12s ease-out,border-color .12s ease-out,background .12s ease-out}.view-cube button:hover{border-color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 8%,var(--surface-elevated))}.view-cube button:active{transform:translateY(1px)}.view-cube button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent-primary) 35%,transparent);outline-offset:2px}.view-cube [data-view-direction=top]{grid-area:top;transform:skew(-18deg)}.view-cube [data-view-direction=back]{grid-area:back}.view-cube [data-view-direction=left]{grid-area:left;transform:skewY(12deg)}.view-cube [data-view-direction=front]{grid-area:front;border-color:var(--accent-primary)}.view-cube [data-view-direction=right]{grid-area:right;transform:skewY(-12deg)}.view-cube [data-view-direction=bottom]{grid-area:bottom;transform:skew(18deg)}.notice,.alert{border:1px solid var(--border-subtle);padding:var(--space-4);color:var(--text-secondary);font-size:13px;line-height:1.45}.alert{border-color:color-mix(in srgb,var(--status-error) 45%,var(--border-default));color:var(--status-error);background:color-mix(in srgb,var(--status-error) 9%,white)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3)}.section-title h2{font-size:18px}.section-title span{color:var(--text-tertiary);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.model-list{display:grid;gap:var(--space-3)}.model-list.empty{border:1px dashed var(--border-default);padding:var(--space-6);color:var(--text-tertiary);text-align:center}.model-row{display:grid;gap:var(--space-3);border:1px solid var(--border-subtle);padding:var(--space-4)}.model-main{display:flex;align-items:start;gap:var(--space-3)}.swatch{flex:0 0 auto;width:14px;height:14px;margin-top:3px;border:1px solid var(--border-default)}.model-row h3{font-size:15px;overflow-wrap:anywhere}.model-row p,.model-row label{color:var(--text-secondary);font-size:13px;line-height:1.45}.model-row label{display:flex;align-items:center;gap:var(--space-2)}.opacity{align-items:start;flex-direction:column}.opacity input{width:100%}.viewport-shell{min-height:560px;overflow:hidden}canvas{display:block;width:100%;height:100%;min-height:560px}@media(max-width:860px){.topbar{align-items:stretch;flex-direction:column;padding:var(--space-6) var(--space-4) var(--space-4)}.status-card{white-space:normal}.workspace{grid-template-columns:1fr;min-height:auto;padding:0 var(--space-4) var(--space-4)}.viewport-shell,canvas{min-height:420px}}
