:root{color-scheme:dark;--bg:#0b1020;--panel:#131b2c;--panel2:#182238;--border:#2b3650;--muted:#9aa8bf;--text:#f4f7ff;--accent:#52e0c4;--blue:#8ea9ff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 60% -10%,#1c2a4b 0,transparent 55%),var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--text)}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,.load-file:focus-within{outline:2px solid var(--accent);outline-offset:2px}.app{max-width:1700px;margin:auto;padding:0 24px}.topbar{height:85px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #263049}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-size:20px;font-weight:800;letter-spacing:-.7px}.brand b{color:var(--accent)}.brand small{display:block;margin-top:2px;font-size:9px;letter-spacing:2px;color:var(--muted);font-weight:650}.brand-mark{width:44px;height:44px;border:1px solid #54e7ca55;border-radius:14px;background:linear-gradient(145deg,#20394b,#102336);display:grid;place-content:center;color:var(--accent);position:relative;font-size:24px}.brand-mark span{position:absolute;top:3px;right:5px;font-size:11px}.top-actions{display:flex;align-items:center;gap:19px}.local-badge{font-size:12px;color:#c1d0e1}.status-dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:6px}.ghost{background:transparent;color:#d4dded;border:1px solid var(--border);border-radius:9px;padding:10px 14px}.ghost:hover{border-color:var(--accent)}.hero{display:flex;justify-content:space-between;align-items:center;padding:38px 5px 31px}.eyebrow{color:var(--accent);font-size:11px;letter-spacing:2.7px;font-weight:800}.hero h1{font-size:clamp(30px,3vw,46px);letter-spacing:-1.7px;margin:10px 0 9px}.hero h1 em{font-style:normal;color:var(--accent)}.hero p{margin:0;color:var(--muted);max-width:750px;line-height:1.6;font-size:14px}.hero-glyph{display:flex;gap:10px;align-items:center;color:var(--accent);opacity:.9}.hero-glyph span{border:1px solid #3e7e7e55;background:#1a2e3e;border-radius:13px;width:55px;height:55px;display:grid;place-items:center;font-size:29px;transform:rotate(-8deg)}.hero-glyph span:nth-child(2){transform:rotate(7deg);color:#9db4ff}.hero-glyph span:nth-child(3){transform:rotate(-4deg);color:#e8c18e}.workspace{display:grid;grid-template-columns:minmax(280px,355px) minmax(400px,1fr) minmax(260px,310px);gap:16px;align-items:start}.panel{background:linear-gradient(160deg,#162036,#111a2b);border:1px solid var(--border);border-radius:17px;padding:20px;min-width:0}.section-top,.preview-header>div:first-child{display:flex;align-items:flex-start;gap:11px}.section-top h2,.preview-header h2{font-size:15px;line-height:1.2;margin:0 0 5px;letter-spacing:-.3px}.section-top p,.preview-header p{font-size:12px;margin:0;color:var(--muted)}.step{color:var(--accent);font-size:10px;font-weight:900;border:1px solid #4ae0c449;background:#183c43;border-radius:7px;padding:6px}.machine-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:18px}.machine{padding:13px 4px;border:1px solid var(--border);border-radius:11px;background:#101a2b;color:#dbe5f6;display:flex;flex-direction:column;align-items:center;gap:3px}.machine.active{border-color:var(--accent);background:#153638;box-shadow:inset 0 0 0 1px #2fb9a744}.machine span{font-size:22px;color:var(--accent)}.machine strong{font-size:12px}.machine small{color:var(--muted);font-size:10px}.separator{height:1px;background:var(--border);margin:21px 0}.template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:17px}.template{display:flex;align-items:center;gap:9px;text-align:left;border:1px solid var(--border);background:#111a2c;color:#dce7f5;border-radius:10px;padding:12px 8px;font-size:11px;min-height:54px}.template.active{background:#19383d;border-color:#50dfc1}.shape-round{height:24px;width:24px;border:3px solid #79b8d1;border-radius:50%;flex-shrink:0}.shape-tag{height:18px;width:27px;border:3px solid #79b8d1;border-radius:12px;flex-shrink:0}.shape-plaque{height:19px;width:27px;border:3px solid #79b8d1;border-radius:4px;flex-shrink:0}.shape-gear{font-size:29px;color:#79b8d1;line-height:1}.fields{margin-top:15px;display:grid;gap:13px}.fields label{font-size:12px;color:#d1dbeb;display:block}.fields label span{font-size:10px;float:right;color:var(--muted)}input:not([type=range]),select{display:block;width:100%;background:#0c1527;border:1px solid #33415a;border-radius:8px;padding:11px 10px;color:white;margin-top:7px;min-width:0;outline:none}input:not([type=range]):focus,select:focus{border-color:var(--accent)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.range-field{padding:3px 0}.range-field>div{display:flex;justify-content:space-between;font-size:12px;color:#d3e0f0}.range-field output{color:var(--accent)}input[type=range]{width:100%;accent-color:var(--accent);margin:12px 0 0}.preview-panel{padding:0;overflow:hidden}.preview-header{padding:21px 20px;display:flex;justify-content:space-between;gap:10px;align-items:center}.preview-switch{display:flex;padding:4px;background:#0c1425;border:1px solid var(--border);border-radius:9px}.preview-switch button{border:0;background:none;color:#a1aec4;padding:7px 12px;border-radius:6px;font-size:12px}.preview-switch button.active{color:#062c30;background:var(--accent);font-weight:800}.viewport{height:clamp(370px,37vw,590px);position:relative;background:radial-gradient(ellipse at center,#27374c 0%,#151e31 55%,#0e1727 100%);overflow:hidden}.viewport canvas{display:block;width:100%;height:100%}.viewport svg{width:100%;height:100%}.viewport-hint{position:absolute;bottom:18px;left:18px;color:#bdcce1;font-size:11px;pointer-events:none;background:#091220ae;padding:7px 10px;border-radius:7px}.preview-footer{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:16px 20px;border-top:1px solid var(--border)}.preview-footer>div{display:flex;gap:7px;flex-wrap:wrap}.chip{font-size:11px;color:#d6e3f1;background:#263247;border:1px solid #3a4860;padding:7px 9px;border-radius:7px}.preview-footer>span{font-size:11px;color:var(--accent)}.tip{display:flex;align-items:flex-start;gap:11px;margin:0 18px 19px;border-radius:10px;background:#1a2940;border:1px solid #32425b;padding:12px}.tip span{color:var(--accent);font-size:19px}.tip p{font-size:11px;line-height:1.6;color:#aebdd4;margin:0}.tip b{color:#e2edfc}.export-options{display:grid;gap:10px;margin:20px 0}.export-card{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:#0e1728;border:1px solid #354159;border-radius:10px;color:#fff;padding:12px 9px}.export-card:hover{border-color:var(--accent);background:#183039}.file-icon{width:41px;height:40px;display:grid;place-items:center;border-radius:8px;background:#213e4a;color:var(--accent);font-size:11px;font-weight:900;flex-shrink:0}.export-card strong{display:block;font-size:12px}.export-card small{display:block;font-size:10px;color:var(--muted);margin-top:3px;line-height:1.3}.download-icon{margin-left:auto;color:var(--accent);font-size:21px}.load-file{display:block;text-align:center;cursor:pointer;padding:12px;border:1px dashed #5a6c88;border-radius:9px;color:#dce7f5;font-size:12px}.load-file:hover{border-color:var(--accent)}.machine-note{background:#1d2d3b;border-left:3px solid var(--accent);padding:13px;border-radius:4px;margin-top:23px}.machine-note h3{font-size:12px;margin:0 0 8px}.machine-note p,.limit-note p{font-size:11px;line-height:1.65;color:#becbe0;margin:0}.limit-note{margin-top:18px;border-top:1px solid var(--border);padding-top:17px}.limit-note strong{font-size:11px;color:#aebdd1}.limit-note p{margin-top:5px}.message{font-size:11px;line-height:1.5;color:var(--accent);min-height:20px;margin:15px 0 0}footer{text-align:center;color:#7183a0;font-size:11px;padding:28px 0 35px}@media(max-width:1190px){.workspace{grid-template-columns:minmax(275px,350px) minmax(350px,1fr)}.export-panel{grid-column:1/-1}.export-options{grid-template-columns:repeat(4,1fr)}.export-card{gap:7px}.export-card .download-icon{display:none}}@media(max-width:760px){.app{padding:0 12px}.topbar{height:72px}.brand{font-size:16px}.brand-mark{width:39px;height:39px}.local-badge,.hero-glyph{display:none}.ghost{padding:8px;font-size:11px}.hero{padding:25px 3px}.hero h1{font-size:31px}.workspace{grid-template-columns:1fr}.export-panel{grid-column:auto}.export-options{grid-template-columns:1fr 1fr}.viewport{height:370px}.panel{padding:16px}.preview-panel{padding:0}.preview-header{padding:18px 14px}.preview-footer{padding:12px}.tip{margin:0 12px 12px}.export-card{padding:9px}.file-icon{width:34px;height:34px}.export-card small{font-size:9px}}@media(max-width:410px){.export-options{grid-template-columns:1fr}.hero h1{font-size:27px}.preview-header p{max-width:170px}}

/* Free offline text-to-parameter workbench */
.ai-workbench{margin-bottom:16px}.ai-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:13px}.ai-heading h2{font-size:22px;letter-spacing:-.5px;margin:7px 0}.ai-heading p{font-size:12px;color:var(--muted);margin:0}.offline-pill{font-size:11px;white-space:nowrap;color:#80dfc8;background:#173933;border:1px solid #2a755e;border-radius:50px;padding:8px 10px}.ai-workbench textarea{width:100%;resize:vertical;min-height:88px;background:#0c1527;color:#f1f6ff;border:1px solid #354862;border-radius:10px;padding:14px;font:inherit;font-size:14px;line-height:1.5}.ai-workbench textarea:focus{outline:2px solid #5ce4c9;outline-offset:1px}.prompt-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;flex-wrap:wrap}.examples{display:flex;gap:7px;flex-wrap:wrap}.example{background:#1a2c42;border:1px solid #3a5470;color:#d4e5f9;border-radius:40px;padding:9px 12px;font-size:11px}.generate{background:#58dbc2;color:#08282e;font-size:12px;font-weight:800;border:0;padding:13px 18px;border-radius:9px}.generate:hover,.example:hover{filter:brightness(1.13)}.ai-result{font-size:12px;line-height:1.6;color:#c4d6e8;background:#0c1828;border:1px solid #2c4056;border-radius:9px;margin-top:13px;padding:12px}.ai-result strong{color:#63e4cc}.ai-result ul{margin:6px 0 0 16px;padding:0;color:#f0c18b}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:760px){.ai-heading{flex-direction:column}.ai-heading h2{font-size:19px}.generate{width:100%}}

/* Deterministic validation panel */
.validator{margin:18px 0;padding:15px;border:1px solid #3b5065;border-radius:12px;background:#142336}.validator .section-top{margin-bottom:12px}.validator-label,.validator-grid label{display:block;font-size:11px;color:#d9e5f5}.validator-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.validator-grid input{padding:9px!important}.profile-note{font-size:10px;color:#b9cadd;line-height:1.55}.validation-action,.report-action{width:100%;margin:8px 0}.validation-results{font-size:11px;line-height:1.6;background:#0d1929;border:1px solid #364962;border-radius:8px;padding:12px;max-height:310px;overflow:auto}.validation-results strong{color:#e4efff}.validation-results ul{margin:8px 0 0;padding-left:16px}.validation-results li{margin:5px 0}.validation-block{color:#ff9c9c}.validation-warning{color:#ffd297}.validation-pass{color:#80e2c8}.report-action:disabled{opacity:.42;cursor:not-allowed}@media(max-width:410px){.validator-grid{grid-template-columns:1fr}}

.cam-ack{display:flex;align-items:flex-start;gap:9px;color:#d5e4ef;font-size:11px;line-height:1.5;margin-top:10px}.cam-ack input{width:17px!important;min-width:17px;accent-color:var(--accent);margin:1px 0 0!important}.cam-result{white-space:pre-line}.report-action:not(:disabled){cursor:pointer}

/* v5 pocket layout is distinct from the original solid-model preview */
.pocket-preview-frame{margin-top:14px;border:1px solid var(--border);border-radius:11px;background:linear-gradient(135deg,#0c1724,#162d39);padding:12px;min-height:190px;display:flex;align-items:center;justify-content:center}
.pocket-preview-frame svg{width:100%;height:auto;max-height:260px;display:block}
.pocket-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:11px}
.pocket-actions button{flex:1;min-width:130px}

/* v6 recessed tray modeling */
.tray-model-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:13px 0}.tray-model-actions button{width:100%;margin:0;min-height:41px}.tray-model-actions button:disabled{opacity:.42;cursor:not-allowed}@media(max-width:410px){.tray-model-actions{grid-template-columns:1fr}}

/* v9 local design inspector */
.inspector-workbench{margin-bottom:17px}.inspector-controls{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.inspector-picker{width:max-content;min-width:200px;margin:0}.inspector-filename{font-size:12px;color:#b6c6d7;overflow-wrap:anywhere}.inspector-proposals{display:grid;gap:9px;margin:10px 0}.inspector-proposal{display:flex;gap:12px;padding:12px;border:1px solid #40576e;border-radius:9px;background:#102236;align-items:flex-start;cursor:pointer}.inspector-proposal input{width:18px!important;min-width:18px;margin:2px 0!important;accent-color:#58dbc2}.inspector-proposal span{display:grid;gap:5px;min-width:0}.inspector-proposal strong{font-size:12px;color:#e6f3ff}.inspector-proposal small{font-size:11px;color:#c5d4e7;overflow-wrap:anywhere}.inspector-workbench .pocket-actions button:disabled{opacity:.4;cursor:not-allowed}.inspector-workbench .cam-ack[hidden]{display:none}

/* V10 image-to-sketch workspace */
.image-upload-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:15px}.image-upload-toolbar .ghost{border:1px solid #40556f;border-radius:8px;padding:12px}.image-studio-layout{display:grid;grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:16px}.image-settings,.image-preview-panel{background:#0e1b2c;border:1px solid #344a60;border-radius:11px;padding:16px;min-width:0}.image-settings label{display:block;font-size:12px;color:#dae7f5;margin:13px 0}.image-settings input[type="number"]{width:100%}.image-settings input[type="range"]{display:block;width:100%;margin-top:8px}.image-settings .image-check{display:flex;align-items:center;gap:10px}.image-settings .image-check input{width:auto!important;margin:0!important;accent-color:var(--accent)}.image-preview-top{display:flex;justify-content:space-between;gap:12px;color:#d9e9f6;font-size:12px}.image-preview-top span{color:#71e4ca}.image-preview-tabs{display:flex;gap:7px;margin:12px 0;flex-wrap:wrap}.image-preview-tabs button{padding:8px 11px;background:#172d43;color:#cfdef0;border:1px solid #35546a;border-radius:7px;font-size:11px}.image-preview-tabs .active{background:#58dbc2;color:#08282e;border-color:#58dbc2;font-weight:bold}.image-preview-canvas{height:320px;display:flex;justify-content:center;align-items:center;background:repeating-conic-gradient(#e4e4e4 0% 25%,#fff 0% 50%) 50%/24px 24px;border-radius:9px;overflow:hidden;position:relative}.image-preview-canvas canvas{width:auto;height:auto;max-height:100%;max-width:100%;object-fit:contain;image-rendering:auto;position:relative;z-index:1}.image-preview-canvas canvas[hidden]{display:none}.image-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;background:#0f2233e8;color:#b7cce0;padding:24px;font-size:12px}.image-preview-panel:has(canvas[width]) .image-placeholder{display:none}.image-preview-panel.dragging{border-color:#58dbc2;box-shadow:0 0 0 2px #58dbc23f}.image-workbench .pocket-actions button:disabled{opacity:.35;cursor:not-allowed}@media(max-width:750px){.image-studio-layout{grid-template-columns:1fr}.image-preview-canvas{height:270px}}

/* v11 authenticated workspace and vector cleanup */
[hidden]{display:none!important}.auth-gate{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,440px);padding:30px}.auth-card h1{font-size:26px;margin:28px 0 9px}.auth-card p{font-size:13px;line-height:1.6;color:var(--muted)}.auth-card label{display:block;font-size:12px;margin:14px 0}.auth-card .generate{margin-top:12px;width:100%}.auth-card .ghost{width:100%;margin-top:12px}.auth-divider{text-align:center;color:var(--muted);font-size:12px;margin:18px 0 4px}.auth-providers{display:flex;gap:9px}.auth-providers .ghost{flex:1}.auth-status{padding:11px;border:1px solid var(--border);border-radius:9px;background:#101e30;color:#eac58e!important}.vector-repair{margin-top:15px;padding:14px}.vector-repair h3{margin:0 0 6px;font-size:15px}.vector-repair .repair-label{display:block;font-size:12px;color:#cadbea;margin-top:13px}.vector-repair input[type=range]{display:block;width:100%}.vector-repair button:disabled{opacity:.4;cursor:not-allowed}

/* v12 saved projects */
.project-actions{display:flex;flex-wrap:wrap;gap:9px}.project-actions button{min-width:150px}.project-actions button:disabled{opacity:.45;cursor:not-allowed}.project-list{display:grid;gap:8px;margin-top:12px}.project-item{border:1px solid #354b61;border-radius:10px;background:#102235;padding:12px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.project-item strong{display:block;font-size:13px}.project-item small{color:#a9c0d6;font-size:11px}.project-item-actions{display:flex;gap:8px}.project-item-actions button{padding:8px 12px}.project-empty{color:#a9c0d6;font-size:12px;margin:5px}@media(max-width:760px){.project-actions button{flex:1}.project-item-actions{width:100%}}

/* v25.5: accessible, branded login options; status shown only on meaningful messages. */
.auth-card .auth-providers{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}
.auth-card .auth-provider-button{display:flex;align-items:center;justify-content:center;position:relative;gap:12px;min-height:47px;width:100%;margin:0;padding:11px 16px;text-align:center;font-weight:650;font-size:14px}
.auth-provider-button .provider-icon{width:20px;height:20px;flex:none}
.auth-provider-button .microsoft-icon{width:19px;height:19px}
.auth-provider-button small{font-size:10px;font-weight:550;color:#b8c5d7;position:absolute;right:13px}
.auth-provider-button:disabled{opacity:.6;cursor:not-allowed;border-style:dashed}
.auth-provider-button:disabled:hover{border-color:var(--border);background:transparent}
.auth-card .auth-status[hidden]{display:none!important}
.auth-card .auth-status{margin:15px 0 0;padding:11px 12px;line-height:1.4}
@media(max-width:420px){.auth-card{padding:22px}.auth-provider-button small{position:static;margin-left:4px}}

/* v30.5 Saved reports */
.mf-ai-saved{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line, #ddd)}
.mf-ai-report-list{display:grid;gap:.65rem;margin-top:.8rem}
.mf-ai-report-entry{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;padding:.75rem;border:1px solid var(--line,#cbd5e1);border-radius:12px}
.mf-ai-report-entry>div{flex:1 1 220px;min-width:0;display:grid;gap:.2rem}
.mf-ai-report-entry strong{overflow-wrap:anywhere}
.mf-ai-report-entry small{opacity:.75}
@media(max-width:600px){.mf-ai-report-entry>div{flex-basis:100%}}
/* v30.8 subscriber pilot — isolated, responsive report controls */
.mf-subscriber-pilot{margin:0 0 1.5rem;padding:1.25rem;border:1px solid var(--border,#31425c);border-radius:16px;display:grid;gap:.7rem}
.mf-subscriber-pilot textarea{width:100%;max-width:100%;min-height:110px;box-sizing:border-box}
.mf-subscriber-pilot .mf-report-actions{display:flex;flex-wrap:wrap;gap:.65rem}
.mf-subscriber-pilot pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:460px;overflow-y:auto}
@media(max-width:620px){.mf-subscriber-pilot{padding:.8rem}.mf-subscriber-pilot .mf-report-actions button{width:100%}}
