:root{font-family:Segoe UI,Arial,sans-serif;color:#191d19;background:#e8e9e3;font-synthesis:none;--mono:"Cascadia Mono","SFMono-Regular",Consolas,monospace}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button{cursor:pointer}main{min-height:100vh}header{height:72px;background:#171b18;color:#f3f2eb;display:flex;align-items:center;padding:0 24px;gap:18px}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand strong{display:block;font-size:16px}.brand small{display:block;color:#9ca49d;font:10px var(--mono);text-transform:uppercase;letter-spacing:.12em;margin-top:3px}.mark{display:grid;place-items:center;border:1px solid #606660;width:36px;height:36px;font:500 12px var(--mono);color:#d9ff5b}.status{font:11px var(--mono);color:#aeb5ae;display:flex;gap:8px;align-items:center}.status i{width:7px;height:7px;border-radius:50%;background:#b6e64b}.status i.working{animation:pulse 1s infinite}.project-actions{display:flex;gap:6px}.ghost{border:1px solid #424742;background:transparent;color:#eee;padding:8px 10px;border-radius:3px;font-size:11px}.notice{position:fixed;z-index:20;top:82px;left:50%;transform:translate(-50%);background:#dfff67;box-shadow:0 8px 30px #0003;padding:10px 12px;display:flex;align-items:center;gap:18px;font-size:12px}.notice.error{background:#ffd0c9}.notice button{border:0;background:transparent;font-size:18px}.workspace{display:grid;grid-template-columns:330px minmax(440px,1fr) 285px;height:calc(100vh - 72px)}aside{background:#f5f4ee}.controls{padding:30px 24px;overflow:auto;border-right:1px solid #d4d5cf}.eyebrow{font:10px var(--mono);color:#788078;text-transform:uppercase;letter-spacing:.15em}.controls h1{font-size:28px;line-height:1.1;margin:10px 0 24px;letter-spacing:-.04em}.controls select{width:100%;padding:11px;background:#fff;border:1px solid #d8d9d2;margin-bottom:22px}details{border-top:1px solid #d5d6d0}summary{padding:17px 0;list-style:none;font-weight:650;font-size:13px;display:flex;justify-content:space-between}summary em{font:10px var(--mono);color:#8a908a}.group{padding:0 0 18px}.group label{display:block;margin:10px 0}.group label span{display:flex;justify-content:space-between;font-size:11px;color:#555b55}.group label b{font:500 10px var(--mono);color:#1a1e1a}.group input[type=range]{width:100%;accent-color:#34433a;height:3px}.toggle{display:flex!important;justify-content:space-between}.seg{display:flex;gap:3px;background:#e1e2dc;padding:3px}.seg button{flex:1;border:0;background:transparent;padding:7px 4px;font-size:10px}.seg button.active,.tabs button.active{background:#1c211d;color:#fff}.stage{display:flex;flex-direction:column;min-width:0;background:#dcddd7}.stagebar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #c8cac3}.stagebar>span{font:10px var(--mono);color:#6f756f}.tabs{display:flex}.tabs button{border:0;background:transparent;padding:9px 13px;font-size:11px}.canvas{position:relative;flex:1;min-height:0;display:grid;place-items:center;overflow:hidden;background-image:radial-gradient(#bdc0b8 1px,transparent 1px);background-size:18px 18px}.sheet-view{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden;touch-action:none;cursor:grab}.sheet-view:active{cursor:grabbing}.paper{width:88%;max-height:85%;aspect-ratio:1.5;background:#fafaf6;box-shadow:0 18px 50px #6e726b33;padding:2%;transform-origin:center;will-change:transform}.paper svg{width:100%;height:auto}.svg-host #CUT_OUTER,.svg-host #CUT_INNER{display:var(--cut)}.svg-host #ENGRAVE{display:var(--engrave)}.svg-host #LABEL{display:var(--label)}.svg-host #GUIDE{display:var(--guide)}.view-tools{position:absolute;right:14px;bottom:14px;display:flex;background:#f8f8f3;box-shadow:0 3px 14px #0002}.view-tools button,.view-tools output{border:0;border-right:1px solid #d1d3cc;background:transparent;padding:7px 9px;font:10px var(--mono)}.three{width:100%;height:100%}.legend{min-height:48px;padding:8px 18px;display:flex;gap:16px;align-items:center;font:10px var(--mono);color:#606660;flex-wrap:wrap}.legend label{display:flex;align-items:center;cursor:pointer}.legend input{margin:0 5px 0 0}.legend i{display:inline-block;width:14px;height:2px;margin-right:6px}.legend .red{background:red}.legend .black{background:#111}.legend .green{background:green}.legend .gray{background:#8b8b8b}.legend small{margin-left:auto}.summary{padding:30px 22px;border-left:1px solid #d4d5cf;overflow:auto}.summary h2{font-size:20px;margin:10px 0 25px}.metric{background:#dfff67;padding:18px;display:flex;align-items:end;gap:10px}.metric strong{font-size:38px;line-height:1}.metric span{font-size:10px;line-height:1.2}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #dddcd5;border-top:0}.stats div{padding:12px 8px;border-right:1px solid #dddcd5}.stats div:last-child{border:0}.stats span{display:block;font:8px var(--mono);color:#858b85;text-transform:uppercase}.stats b{font:500 14px var(--mono)}.warnings{margin:20px 0}.warnings>div{display:flex;gap:9px;font-size:10px;padding:9px 0;border-bottom:1px solid #ddd}.warnings b{display:grid;place-items:center;border-radius:50%;width:17px;height:17px;background:#dfff67}.warnings .warning b{background:#ffd66b}.exports button{border:1px solid #c8cac3;background:#fff}.primary{width:100%;display:grid;grid-template-columns:auto 1fr auto;text-align:left;align-items:center;padding:14px;background:#1b201c!important;color:#fff!important;border:0!important}.primary span{font:600 16px var(--mono)}.primary b{font-size:9px;color:#aeb5ae;margin-left:12px}.exports>div{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:6px 0}.exports>div button{padding:10px}.package{width:100%;padding:11px;font-size:10px}.package span{float:right;font:10px var(--mono)}.hint{font-size:9px;color:#777d77;line-height:1.5;margin-top:20px}@keyframes pulse{50%{opacity:.3}}@media(max-width:1150px){.project-actions .ghost:nth-of-type(2),.project-actions .ghost:nth-of-type(3){display:none}}@media(max-width:1000px){.workspace{grid-template-columns:300px 1fr}.summary{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;height:auto}.summary .eyebrow,.summary h2{grid-column:1/-1}.workspace{height:auto}.stage{min-height:650px}}@media(max-width:700px){header{padding:0 14px}.status,.project-actions .ghost{display:none}.project-actions .ghost:first-of-type,.project-actions .ghost:last-of-type{display:block}.workspace{display:flex;flex-direction:column}.stage{order:-1;min-height:58vh}.controls,.summary{border:0}.summary{display:block}.legend small{display:none}.controls h1{font-size:24px}}.window-side-grid{display:grid;gap:7px;margin:10px 0}.window-side-grid article{border:1px solid #d4d6cf;background:#fff;padding:9px}.window-side-grid article>strong{font:600 10px var(--mono);text-transform:uppercase}.window-side-grid .number-grid{grid-template-columns:1fr 1fr}.window-side-grid input{width:100%;border:1px solid #d4d6cf;padding:6px;font:10px var(--mono)}.brand{color:inherit;text-decoration:none}@media(max-width:700px){.three-tools{top:8px;left:8px;width:calc(100% - 16px)}.three-tools>div{justify-content:space-between}.three-help{display:none}}.three-shell{position:absolute;top:0;right:0;bottom:0;left:0}.three-tools{position:absolute;left:14px;top:14px;width:min(330px,calc(100% - 28px));padding:11px;background:#f8f8f3e8;box-shadow:0 4px 18px #0002;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:10px var(--mono)}.three-tools>div{display:flex;gap:12px;flex-wrap:wrap}.three-tools label{display:flex;align-items:center;gap:4px;cursor:pointer}.three-tools input{accent-color:#34433a}.three-tools .explode{display:block;margin-top:9px}.explode span{display:flex;justify-content:space-between}.explode input{width:100%}.three-tools output{display:block;border-top:1px solid #d2d4cd;margin-top:8px;padding-top:8px;color:#34433a;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.three-help{position:absolute;right:14px;bottom:12px;padding:6px 8px;background:#f8f8f3dd;font:9px var(--mono);color:#555}.opening-mode{margin-bottom:14px}.manual-openings{border:1px solid #d4d6ce;background:#ebece6}.manual-heading{display:flex;align-items:center;justify-content:space-between;padding:10px}.manual-heading strong,.manual-heading small{display:block}.manual-heading strong{font-size:12px}.manual-heading small{font:9px var(--mono);color:#747b74;margin-top:2px}.manual-heading button{border:0;background:#202620;color:#fff;padding:7px 9px;font-size:10px}.manual-heading button:disabled{opacity:.45}.empty-openings{font-size:10px;line-height:1.5;color:#666d66;padding:0 10px 11px;margin:0}.opening-tabs{display:flex;gap:4px;overflow:auto;padding:0 10px 9px}.opening-tabs button{min-width:112px;border:1px solid #d3d5cd;background:#fff;padding:6px;text-align:left;display:flex;gap:7px}.opening-tabs button.active{border-color:#202620;box-shadow:inset 0 -2px #202620}.opening-tabs b{font:11px var(--mono);background:#e5ff80;width:20px;height:20px;display:grid;place-items:center}.opening-tabs span{font:10px var(--mono)}.opening-tabs small{display:block;font:8px Segoe UI,sans-serif;color:#737a73;margin-top:2px}.opening-form{background:#fff;border-top:1px solid #d4d6ce;padding:10px}.opening-form>label{margin:0 0 8px}.opening-form select{margin:3px 0 0;padding:7px}.opening-numbers{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:9px 0}.opening-numbers label{margin:0}.opening-numbers span{font-size:9px;color:#646b64}.opening-numbers input{width:100%;padding:7px;border:1px solid #d4d6ce;margin-top:3px;font:11px var(--mono)}.wall-preview{display:block;width:100%;height:108px;background:#eef0e9;border:1px solid #c8cbc2;touch-action:none;cursor:crosshair}.wall-body{fill:#ded4bd;stroke:#766c58;stroke-width:.6}.opening-shape{fill:#9bc9d1;stroke:#1e5963;stroke-width:1.2;vector-effect:non-scaling-stroke}.preview-help{display:block;font-size:8px;color:#717771;line-height:1.4;margin:5px 0 9px}.remove-opening{border:0;background:transparent;color:#9a342e;padding:4px 0;font-size:9px;text-decoration:underline}.warnings .error b{background:#ffb1a6}.sheet-picker{display:flex;align-items:center;gap:5px;padding:0 7px;border-right:1px solid #d1d3cc}.sheet-picker span{font:9px var(--mono);color:#707770}.sheet-picker select{border:0;background:transparent;font:10px var(--mono);padding:5px 2px;margin:0}.opening-add-actions{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.opening-add-actions button{white-space:nowrap}.roof-opening-editor{margin-top:10px}.camera-presets{display:flex;gap:5px!important}.camera-presets button{border:1px solid #c9ccc4;background:#fff;padding:5px 8px;font:9px var(--mono)}.project-overflow{display:none}.project-overflow:not([open])>div{display:none!important}@media(max-width:700px){header{padding-left:12px;padding-right:12px;gap:8px}header .brand small{display:none}.project-actions{display:none}.project-overflow{display:block;position:relative;border:0}.project-overflow>summary{list-style:none;border:1px solid #505750;border-radius:3px;padding:10px 11px;font:10px var(--mono);color:#eef0ec}.project-overflow>summary::-webkit-details-marker{display:none}.project-overflow>div{position:absolute;right:0;top:48px;z-index:30;width:190px;padding:7px;background:#171b18;border:1px solid #454c46;box-shadow:0 12px 30px #0007}.project-overflow button{display:block;width:100%;min-height:44px;border:0;border-bottom:1px solid #363c37;background:transparent;color:#eef0ec;text-align:left;padding:10px 12px}.project-overflow button:last-child{border-bottom:0}.stage{min-height:62svh}.controls,.summary{padding-left:18px;padding-right:18px}.group input:not([type=range]):not([type=checkbox]),.group select,.controls>select,.exports button,.tabs button,.view-tools button{min-height:44px}header button,header summary,.seg button,.manual-heading button,.opening-tabs button,.add-row,.remove-opening{min-height:44px}.stagebar{padding:0 10px}.stagebar>span{display:none}.legend{gap:9px;padding-left:12px;padding-right:12px}.legend label{min-height:32px}.view-tools{right:8px;bottom:8px;max-width:calc(100% - 16px);overflow-x:auto}.view-tools button,.view-tools output{min-width:40px}.notice{top:78px;width:calc(100% - 24px)}.three-tools{max-height:45%;overflow:auto;padding:9px}.three-tools>div{justify-content:flex-start}.three-tools label{min-height:32px}.three-tools input[type=checkbox]{width:20px;height:20px}.camera-presets{display:grid!important;grid-template-columns:repeat(3,1fr);width:100%}.camera-presets button{min-height:36px}.three-help{display:block;right:8px;bottom:8px;max-width:calc(100% - 16px);font-size:8px}.three canvas{touch-action:none}}.group label>select,.group label>input[type=number],.opening-form label>select,.opening-numbers input[type=number],.placement-grid input[type=number],.placement-grid select{display:block;width:100%;height:36px;margin:5px 0 0;padding:0 9px;border:1px solid #cfd2ca;border-radius:2px;background:#fff;color:#252a25;font:11px var(--mono);line-height:34px}.group label>span,.opening-form label>span,.opening-numbers label>span,.placement-grid label>span{min-height:15px;align-items:center;font-size:10px;line-height:1.35;color:#555c55}.group label>select:focus,.group label>input[type=number]:focus,.opening-form label>select:focus,.opening-numbers input[type=number]:focus,.placement-grid input[type=number]:focus,.placement-grid select:focus{outline:2px solid #a9ca49;outline-offset:1px;border-color:#6d7e38}.group .toggle>input{width:auto;height:auto;margin:0}.group select{margin-bottom:0}.number-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.number-grid label{min-width:0}.number-grid input,.addon-editor input{width:100%;padding:7px;border:1px solid #d4d6ce;background:#fff;font:10px var(--mono)}.number-grid .wide{grid-column:1/-1}.addon-editor article{border:1px solid #d4d6ce;background:#ebece6;padding:9px;margin-bottom:8px}.addon-editor article>div:first-child{display:flex;justify-content:space-between;align-items:center}.addon-editor article strong{font:11px var(--mono)}.addon-editor article button{border:0;background:transparent;font-size:9px}.addon-editor article>div:first-child button{color:#9a342e}.addon-editor select{margin:3px 0 5px;padding:7px}.add-row{width:100%;padding:9px;border:1px dashed #858d85;background:transparent;font-size:10px}.mode-help{padding:8px;background:#e9f4c7;font:9px/1.5 var(--mono);color:#4f584f}.three-state{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#eef0eae8;color:#465047;font:11px var(--mono);z-index:2}.three-state.error{color:#8f3029;background:#fff0ede8}.placement-editor article{padding:9px;background:#fff;border:1px solid #d4d6ce;margin-bottom:7px}.placement-editor article>div:first-child{display:flex;gap:6px}.placement-editor article>div:first-child select{min-width:0;flex:1;margin:0;padding:7px}.placement-editor article>div:first-child button{border:0;background:transparent;color:#9a342e;font-size:9px;text-decoration:underline}.placement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:7px}.placement-grid label{margin:0}.placement-grid input,.placement-grid select{width:100%;margin:3px 0 0;padding:6px;border:1px solid #d4d6ce;font:10px var(--mono)}.placement-grid label span{font-size:8px}.placement-editor .add-row{width:100%;padding:8px;border:1px solid #bfc2b9;background:#e5ff80;font-size:10px}.placement-editor .add-row:disabled{opacity:.45}.measure-value{display:inline-flex!important;align-items:center;justify-content:flex-end!important;gap:4px}.measure-value input{width:68px;border:1px solid #c8cbc3;border-radius:2px;background:#fff;padding:3px 5px;text-align:right;font:500 10px var(--mono);color:#1a1e1a}.measure-value input:focus{outline:2px solid #b6e64b;outline-offset:1px}.measure-value small{font:9px var(--mono);color:#687068}.sheet-view .paper{width:88%;height:85%;max-height:none;padding:0;background:transparent;box-shadow:none;display:grid;place-items:center}.sheet-view .svg-host{width:100%;height:100%;min-width:0;min-height:0;display:grid;place-items:center}.sheet-view .paper svg{display:block;width:auto;height:auto;max-width:100%;max-height:100%;overflow:hidden;background:#fafaf6;box-shadow:0 18px 50px #6e726b33}.floor-types{flex-wrap:wrap}.floor-types button{min-width:48px}.floor-editor{margin-top:10px;border:1px solid #cfd1c9;background:#fff}.floor-editor-bar{display:flex;justify-content:space-between;align-items:flex-start;padding:9px 10px;border-bottom:1px solid #d9dbd4}.floor-editor-bar b{display:block;font-size:10px}.floor-editor-bar small{display:block;margin-top:3px;font:8px/1.4 var(--mono);color:#727972}.floor-editor-bar>span{padding:3px 5px;font:8px var(--mono);text-transform:uppercase}.floor-editor-bar .closed{background:#dfff67}.floor-editor-bar .open{background:#ffd66b}.floor-editor svg{display:block;width:100%;height:230px;touch-action:none;cursor:crosshair}.floor-fill{fill:#ffd66b33;stroke:none}.floor-fill.valid{fill:#dfff6733}.floor-edge{stroke:#242c26;stroke-width:1.4;vector-effect:non-scaling-stroke}.floor-hint{stroke:#839083;stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.floor-point{cursor:grab}.floor-point circle{fill:#1c211d;stroke:#dfff67;stroke-width:1;vector-effect:non-scaling-stroke}.floor-point text,.floor-length{font:5px var(--mono);fill:#394139;paint-order:stroke;stroke:#fff;stroke-width:2px;stroke-linejoin:round;pointer-events:none}.floor-length{text-anchor:middle}.floor-editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:7px;border-top:1px solid #d9dbd4}.floor-editor-actions button{border:1px solid #cdd0c8;background:#f5f5f0;padding:6px 3px;font-size:9px}.floor-editor-actions button:disabled{opacity:.4;cursor:default}.floor-coordinate-list{max-height:118px;overflow:auto;border-top:1px solid #d9dbd4;padding:5px 7px}.floor-coordinate-list label{display:grid!important;grid-template-columns:28px 1fr 1fr;gap:4px;margin:3px 0!important;align-items:center}.floor-coordinate-list label span{font:8px var(--mono)!important}.floor-coordinate-list input{width:100%;min-width:0;border:1px solid #d4d6cf;padding:4px;font:9px var(--mono)}.floor-validation{border-top:1px solid #d9dbd4;padding:6px 9px;background:#fff4df}.floor-validation p{margin:3px 0;font:8px/1.4 var(--mono);color:#8a4e15}.floor-validation p.error{color:#a52e24}@media(max-width:700px){.floor-editor svg{height:260px}.floor-coordinate-list{max-height:150px}}.floor-segment-list{border-top:1px solid #d9dbd4;padding:7px;max-height:140px;overflow:auto}.floor-segment-list>b{font-size:9px}.floor-segment-list label{display:grid!important;grid-template-columns:28px 1fr 95px;gap:4px;align-items:center;margin:4px 0!important}.floor-segment-list input{min-width:0;width:100%;padding:4px;border:1px solid #d4d6cf;font:9px var(--mono)}.floor-segment-list small{font:8px var(--mono);color:#737a73}.room-divider-editor{margin-top:12px;padding-top:12px;border-top:1px solid #d4d6cf}.room-divider-editor .manual-heading>button{border:1px solid #aeb4a8;background:#e5ff80;padding:6px 8px;font-size:9px}.room-divider-editor .manual-heading>button:disabled{opacity:.4}.room-divider-preview{display:block;width:100%;height:160px;margin-top:10px;background:#f8f8f3;border:1px solid #d2d5cd}.room-divider-preview rect{fill:#fff;stroke:#899087;stroke-width:1;vector-effect:non-scaling-stroke}.room-divider-preview line{stroke:#2784c4;stroke-width:3;vector-effect:non-scaling-stroke}.room-divider-preview line.active{stroke:#d93025;stroke-width:4}.platform{min-height:100vh;background:#e8e9e3;color:#191d19}.platform-header{height:72px}.platform-brand{color:inherit;text-decoration:none}.platform-header nav{display:flex;align-items:center;gap:18px;font-size:11px}.platform-header nav a{color:#eef0ec;text-decoration:none}.account-coming{color:#8e968f;border:1px solid #414742;padding:7px 9px}.catalog-hero{display:grid;grid-template-columns:1fr 220px;gap:40px;align-items:end;max-width:1220px;margin:auto;padding:74px 28px 48px}.catalog-hero h1{font-size:64px;line-height:.95;letter-spacing:-.06em;margin:14px 0 24px}.catalog-hero p{max-width:600px;color:#5e655e}.catalog-stat{border-left:1px solid #bfc2bb;padding-left:24px;display:flex;flex-direction:column}.catalog-stat strong{font:64px/1 var(--mono)}.catalog-stat span{font-weight:700}.catalog-stat small{margin-top:8px;color:#767d76}.catalog-tools{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:1fr 300px;gap:14px;max-width:1220px;margin:auto;padding:16px 28px;background:#e8e9e3ee;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.catalog-tools label>span{display:block;font:9px var(--mono);text-transform:uppercase;color:#707770;margin-bottom:5px}.catalog-tools input,.catalog-tools select{width:100%;height:42px;background:#f9f9f5;border:1px solid #c9ccc4;padding:0 12px}.generator-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:1220px;margin:auto;padding:18px 28px 60px}.generator-card{min-height:260px;border:1px solid #cfd1ca;background:#f6f5ef;padding:18px;text-align:left;display:flex;flex-direction:column;color:inherit;transition:.15s ease}.generator-card:hover{transform:translateY(-3px);border-color:#6d755e;box-shadow:0 12px 28px #555a501c}.card-top,.card-foot{display:flex;justify-content:space-between;align-items:center}.card-top small,.card-foot small{font:9px var(--mono);text-transform:uppercase;color:#717871}.card-top b{font:8px var(--mono);padding:4px 6px;background:#ffd66b}.generator-icon{font:40px/1 var(--mono);color:#80963c;margin:32px 0 20px}.generator-card>strong{font-size:18px}.generator-description{font-size:11px;line-height:1.45;color:#666d66;margin-top:7px}.card-foot{margin-top:auto;padding-top:18px;border-top:1px solid #dcddd7}.card-foot b{font-size:10px}.platform-footer{text-align:center;border-top:1px solid #c9ccc4;padding:22px;font:9px var(--mono);color:#6b726b}.empty-catalog,.catalog-error,.loading,.load-error{max-width:1164px;margin:30px auto;padding:30px}.catalog-error,.render-error{background:#ffd0c9}.generic-title{height:180px;display:flex;justify-content:space-between;align-items:end;padding:34px 28px;max-width:1500px;margin:auto}.generic-title>div:first-child{max-width:720px}.generic-title a,.license-page>a{font-size:10px;color:#555d55;text-decoration:none;display:block;margin-bottom:18px}.generic-title h1{font-size:38px;letter-spacing:-.04em;margin:7px 0}.generic-title p{margin:0;color:#636a63}.engine-badge{background:#dfff67;padding:15px 18px;display:flex;flex-direction:column;min-width:170px}.engine-badge span,.engine-badge small{font:9px var(--mono);margin-top:4px}.generic-workspace{display:grid;grid-template-columns:350px minmax(400px,1fr) 260px;min-height:calc(100vh - 252px);border-top:1px solid #c8cbc3}.generic-controls,.generic-output{background:#f5f4ee;padding:24px;overflow:auto}.generic-controls{border-right:1px solid #c8cbc3}.generic-controls details{border-color:#d1d3cd}.generic-controls details>div{padding-bottom:15px}.generic-field{display:block;margin:13px 0}.generic-field>span{display:block;font-size:11px;font-weight:650}.generic-field input,.generic-field select{width:100%;height:36px;margin-top:5px;border:1px solid #cfd2ca;background:#fff;padding:0 9px;font:11px var(--mono)}.generic-field small,.generic-toggle small{display:block;font-size:8px;line-height:1.4;color:#767d76;margin-top:4px}.generic-toggle{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0}.generic-toggle>span{font-size:11px}.experimental-warning{background:#ffdc77;padding:12px;margin-bottom:18px;font-size:10px}.experimental-warning span{display:block;margin-top:4px;line-height:1.4}.generic-preview{min-width:0;display:flex;flex-direction:column;background:#dcddd7}.preview-bar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #c8cbc3;font:10px var(--mono)}.preview-bar button{border:0;background:#1d221e;color:#fff;padding:10px 14px}.preview-bar button:disabled{opacity:.6}.preview-canvas{flex:1;min-height:520px;display:grid;place-items:center;padding:30px;background-image:radial-gradient(#bdc0b8 1px,transparent 1px);background-size:18px 18px;overflow:auto}.preview-canvas img{display:block;max-width:100%;max-height:72vh;background:#fff;box-shadow:0 18px 50px #6e726b33}.preview-placeholder{text-align:center;color:#717871}.preview-placeholder span{font:70px var(--mono)}.render-error{margin:0;padding:12px;font-size:10px}.generic-output{border-left:1px solid #c8cbc3}.generic-output h2{font-size:20px}.generic-output dl{border:1px solid #d8dad3}.generic-output dl>div{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid #d8dad3}.generic-output dl>div:last-child{border:0}.generic-output dt{font-size:9px;color:#737a73}.generic-output dd{margin:0;font:10px var(--mono)}.primary-download{width:100%;border:0;background:#1b201c;color:#fff;padding:14px;margin-top:10px}.primary-download:disabled{opacity:.35}.generic-output p,.generic-output>a{font-size:9px;line-height:1.5;color:#687068}.license-page{max-width:820px;margin:0 auto;padding:70px 30px}.license-page h1{font-size:48px;letter-spacing:-.05em}.license-page h2{margin-top:40px}.license-page p{line-height:1.7;color:#505850}.license-page dl{border:1px solid #c9ccc4}.license-page dl>div{display:grid;grid-template-columns:140px 1fr;padding:12px;border-bottom:1px solid #c9ccc4}.license-page dl>div:last-child{border:0}.license-page dd{margin:0;overflow-wrap:anywhere}@media(max-width:1050px){.generator-grid{grid-template-columns:repeat(3,1fr)}.generic-workspace{grid-template-columns:320px 1fr}.generic-output{grid-column:1/-1;border-left:0;border-top:1px solid #c8cbc3}}@media(max-width:760px){.catalog-hero{grid-template-columns:1fr}.catalog-hero h1{font-size:46px}.catalog-stat{display:none}.catalog-tools{grid-template-columns:1fr}.generator-grid{grid-template-columns:1fr 1fr}.generic-title{height:auto;align-items:start;gap:18px}.generic-workspace{display:flex;flex-direction:column}.generic-controls{border:0}.generic-preview{min-height:600px}.engine-badge{display:none}}@media(max-width:480px){.generator-grid{grid-template-columns:1fr}.platform-header nav{display:none}}.generator-card{min-height:300px}.generator-thumbnail{height:112px;margin:14px 0;display:grid;place-items:center;overflow:hidden;background:#fff;border:1px solid #dcddd7}.generator-thumbnail img{display:block;width:100%;height:100%;object-fit:contain;padding:6px}.generator-thumbnail>span{font:18px var(--mono);color:#80963c}.generator-thumbnail .loading-thumb{animation:pulse 1s infinite}.generator-thumbnail .failed{color:#8e968f}.card-foot b{margin-left:auto}.platform-footer a{color:inherit}.preview-tabs{display:flex;gap:4px}.preview-tabs button{background:transparent!important;color:#596159!important;border:1px solid transparent!important}.preview-tabs button.active{background:#1d221e!important;color:#fff!important}.generic-three-shell{position:relative;width:100%;height:100%;min-height:520px;overflow:hidden}.generic-three{position:absolute;top:0;right:0;bottom:0;left:0}.generic-three canvas{display:block;width:100%;height:100%;touch-action:none}.assembly-quality{position:absolute;left:14px;top:14px;max-width:min(360px,calc(100% - 28px));padding:10px 12px;background:#f8f8f3e8;box-shadow:0 4px 18px #0002;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.assembly-quality b,.assembly-quality span{display:block}.assembly-quality b{font-size:10px}.assembly-quality span{font-size:8px;line-height:1.4;margin-top:4px;color:#646c65}.assembly-quality.exact{border-left:3px solid #9acb30}.assembly-quality.parts{border-left:3px solid #e0a32e}.generic-three-tools{position:absolute;left:14px;bottom:14px;width:min(290px,calc(100% - 28px));padding:10px 12px;background:#f8f8f3e8;box-shadow:0 4px 18px #0002;font:9px var(--mono)}.generic-three-tools label span{display:flex;justify-content:space-between}.generic-three-tools input{width:100%}.generic-three-tools output{display:block;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.generic-three-help{position:absolute;right:14px;bottom:14px;padding:7px;background:#f8f8f3dd;font:8px var(--mono)}.mobile-navigation{display:none}.mobile-navigation:not([open])>nav{display:none!important}@media(max-width:760px){.catalog-hero{padding:48px 18px 30px}.catalog-tools,.generator-grid,.generic-title{padding-left:18px;padding-right:18px}.generic-controls{padding:18px}.generic-preview{min-height:520px}.preview-canvas{min-height:430px;padding:14px}.generic-output{padding:20px}.generic-field input,.generic-field select,.catalog-tools input,.catalog-tools select,.primary-download,.secondary-action{min-height:44px}}@media(max-width:540px){.platform-header{gap:8px}.platform-header button,.platform-header summary{min-height:44px}.platform-header .brand small,.platform-header .desktop-navigation{display:none}.mobile-navigation{display:block;position:relative;border:0}.mobile-navigation>summary{list-style:none;border:1px solid #505750;border-radius:3px;padding:10px 11px;font:10px var(--mono);color:#eef0ec}.mobile-navigation>summary::-webkit-details-marker{display:none}.platform-header .mobile-navigation>nav{position:absolute;display:flex;right:0;top:48px;z-index:30;min-width:190px;padding:8px;background:#171b18;border:1px solid #454c46;box-shadow:0 12px 30px #0007;flex-direction:column;align-items:stretch;gap:0}.mobile-navigation>nav a{min-height:44px;padding:13px 12px;border-bottom:1px solid #363c37}.mobile-navigation>nav a:last-child{border-bottom:0}.catalog-hero h1{font-size:40px}.generator-card{min-height:310px}.generator-thumbnail{height:140px}}.export-format{display:block;margin:18px 0 8px}.export-format>span{display:block;margin-bottom:6px;color:#687068;font:9px var(--mono);text-transform:uppercase}.export-format select{width:100%;height:40px;padding:0 10px;border:1px solid #c8cbc3;background:#fff;color:#191d19;font:11px var(--mono)}.export-hint{display:block;margin:8px 0 18px;color:#687068;font-size:8px;line-height:1.5}.secondary-action{width:100%;border:1px solid #c8cbc3;background:#fff;padding:11px;margin-top:6px}.action-notice,.admin-notice{background:#dfff67!important;color:#303630!important;padding:10px!important}.auth-shell{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:30px}.auth-shell form{width:min(430px,100%);background:#f8f7f1;border:1px solid #c9ccc4;padding:34px}.auth-shell h1{font-size:38px;letter-spacing:-.04em;margin:8px 0}.auth-shell p{font-size:11px;line-height:1.55;color:#626962}.auth-shell label{display:block;margin:18px 0}.auth-shell label span{display:block;font-size:10px;font-weight:700;margin-bottom:5px}.auth-shell input{width:100%;height:42px;border:1px solid #c9ccc4;padding:0 10px}.auth-shell label small{font-size:8px;color:#747b74}.auth-shell button,.admin-form button{width:100%;border:0;background:#1b201c;color:#fff;padding:13px}.auth-shell form>a{display:block;text-align:center;margin-top:17px;font-size:10px;color:#525a52}.form-error{background:#ffd0c9;padding:10px;font-size:10px;margin-bottom:12px}.success-message{background:#dfff67;padding:12px;font-size:11px;line-height:1.5;margin:18px 0}.token-result{width:min(540px,100%);background:#f8f7f1;border:1px solid #c9ccc4;padding:34px}.token-result h1{font-size:36px}.token-result p{line-height:1.6;color:#596159}.token-result a{display:inline-block;margin-top:14px;color:#394434}.account-page,.admin-page{max-width:1080px;margin:0 auto;padding:58px 28px}.account-title{display:flex;justify-content:space-between;align-items:end}.account-title h1,.admin-page>h1{font-size:40px;letter-spacing:-.04em;margin:8px 0}.account-title button{border:1px solid #c4c7bf;background:#f7f6f0;padding:9px 12px}.account-page>section{margin-top:45px}.account-page h2{font-size:20px}.account-page h2 small{font:10px var(--mono);color:#737a73}.account-list{border:1px solid #c8cbc3;background:#f7f6f0}.account-list article{display:flex;justify-content:space-between;align-items:center;padding:14px;border-bottom:1px solid #d3d5cf}.account-list article:last-child{border:0}.account-list strong,.account-list span{display:block}.account-list span{font:9px var(--mono);color:#707770;margin-top:4px}.account-list button{border:0;background:transparent;color:#923b31;text-decoration:underline;font-size:9px}.row-actions{display:flex;gap:8px}.row-actions button:first-child{color:#36422f}.empty-state{border:1px dashed #bec1b9;padding:24px;color:#717871;font-size:11px}.admin-page>details{background:#f7f6f0;border:1px solid #c9ccc4;margin-top:12px}.admin-page>details summary{padding:18px}.admin-section{border-top:1px solid #c9ccc4;padding:18px}.admin-search{width:100%;height:40px;border:1px solid #c9ccc4;padding:0 10px;margin-bottom:12px}.generator-admin-list{max-height:520px;overflow:auto;border:1px solid #d0d2cb}.generator-admin-list article{display:grid;grid-template-columns:1fr 80px 80px;gap:12px;align-items:center;padding:10px;background:#fff;border-bottom:1px solid #dedfd9}.generator-admin-list article:last-child{border:0}.generator-admin-list strong,.generator-admin-list small{display:block}.generator-admin-list strong{font-size:11px}.generator-admin-list small{font:8px var(--mono);color:#747b74;margin-top:3px}.generator-admin-list label{display:flex;align-items:center;gap:5px;font-size:9px}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-form label>span{display:block;font-size:10px;margin-bottom:5px}.admin-form label>input:not([type=checkbox]),.admin-form label>select{width:100%;height:38px;border:1px solid #c9ccc4;background:#fff;padding:0 9px}.admin-form button,.admin-form>small{grid-column:1/-1}.admin-form>small{font-size:9px;color:#687068}.admin-security-toggle{grid-column:1/-1;border:1px solid #c9ccc4;padding:14px;display:grid;grid-template-columns:1fr auto;gap:5px 14px;align-items:center}.admin-security-toggle>span{margin:0!important;font-weight:700}.admin-security-toggle>small{grid-column:1/-1;font-size:9px;line-height:1.5;color:#687068}.smtp-buttons{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.smtp-buttons button{grid-column:auto}.mail-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.mail-counts span{border:1px solid #c9ccc4;padding:10px;font-size:10px}.mail-counts strong{display:block;font-size:18px}.mail-list{display:grid;gap:7px;margin-bottom:12px}.mail-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d9dcd5;padding:10px}.mail-list small{display:block;color:#687068;margin-top:3px}.mail-list button{width:auto;border:0;background:#1b201c;color:#fff;padding:8px 12px;white-space:nowrap}@media(max-width:650px){.admin-form{grid-template-columns:1fr}.generator-admin-list article{grid-template-columns:1fr 60px 60px}.account-page,.admin-page{padding:35px 16px}.mail-counts{grid-template-columns:1fr 1fr}.mail-list article{align-items:flex-start;flex-direction:column}}@media(max-width:650px){.generator-admin-list article{grid-template-columns:1fr 64px 64px}.account-title{align-items:flex-start;gap:14px;flex-direction:column}.account-title button,.account-list button,.admin-form button,.mail-list button{min-height:44px}.account-list article{align-items:flex-start;gap:12px;flex-direction:column}.row-actions{width:100%}.row-actions button{flex:1;border:1px solid #c8cbc3;text-decoration:none}.auth-shell{padding:18px}.auth-shell form,.token-result{padding:24px 18px}.auth-shell input,.auth-shell button{min-height:44px}}.theme-toggle{display:flex;align-items:center;gap:7px;border:1px solid #424742;border-radius:3px;background:transparent;color:#eef0ec;padding:7px 9px}.theme-toggle span{font-size:15px;line-height:1}.theme-toggle small{font:9px var(--mono);text-transform:uppercase;letter-spacing:.06em}[data-theme=dark],[data-theme=dark] body,[data-theme=dark] .platform{background:#111512;color:#e7eae5}[data-theme=dark] header{background:#0a0d0b;border-bottom:1px solid #2d342f}[data-theme=dark] aside,[data-theme=dark] .controls,[data-theme=dark] .summary,[data-theme=dark] .generic-controls,[data-theme=dark] .generic-output{background:#171c18;border-color:#343b35}[data-theme=dark] .stage,[data-theme=dark] .generic-preview{background:#141915}[data-theme=dark] .canvas,[data-theme=dark] .preview-canvas{background-color:#111612;background-image:radial-gradient(#343c36 1px,transparent 1px)}[data-theme=dark] .paper{background:#f6f6f1;box-shadow:0 18px 55px #0009}[data-theme=dark] details,[data-theme=dark] .stagebar,[data-theme=dark] .stats,[data-theme=dark] .stats div,[data-theme=dark] .legend,[data-theme=dark] .catalog-stat,[data-theme=dark] .platform-footer,[data-theme=dark] .generic-workspace,[data-theme=dark] .preview-bar{border-color:#343b35}[data-theme=dark] .group label span,[data-theme=dark] .group label b,[data-theme=dark] summary em,[data-theme=dark] .legend,[data-theme=dark] .stagebar>span,[data-theme=dark] .hint,[data-theme=dark] .eyebrow,[data-theme=dark] .catalog-hero p,[data-theme=dark] .catalog-stat small,[data-theme=dark] .generator-description,[data-theme=dark] .card-top small,[data-theme=dark] .card-foot small,[data-theme=dark] .generic-title p,[data-theme=dark] .generic-field small,[data-theme=dark] .generic-toggle small,[data-theme=dark] .generic-output p,[data-theme=dark] .generic-output>a,[data-theme=dark] .auth-shell p,[data-theme=dark] .account-list span,[data-theme=dark] .admin-form>small,[data-theme=dark] .mail-list small{color:#9da79f}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea,[data-theme=dark] .controls select,[data-theme=dark] .generic-field input,[data-theme=dark] .generic-field select,[data-theme=dark] .catalog-tools input,[data-theme=dark] .catalog-tools select,[data-theme=dark] .admin-search,[data-theme=dark] .admin-form label>input:not([type=checkbox]),[data-theme=dark] .admin-form label>select{background:#202622;color:#edf0eb;border-color:#465048}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#7e8981}[data-theme=dark] .seg,[data-theme=dark] .manual-openings,[data-theme=dark] .addon-editor article{background:#222923;border-color:#414a43}[data-theme=dark] .seg button,[data-theme=dark] .tabs button{color:#cfd6d0}[data-theme=dark] .seg button.active,[data-theme=dark] .tabs button.active{background:#dfff67;color:#182019}[data-theme=dark] .view-tools,[data-theme=dark] .three-tools,[data-theme=dark] .three-help{background:#202722e8;color:#e4e9e4}[data-theme=dark] .view-tools button,[data-theme=dark] .view-tools output,[data-theme=dark] .three-tools output{color:#dfe6df;border-color:#465048}[data-theme=dark] .generator-card,[data-theme=dark] .auth-shell form,[data-theme=dark] .token-result,[data-theme=dark] .account-list,[data-theme=dark] .admin-page>details,[data-theme=dark] .generator-admin-list article,[data-theme=dark] .opening-form,[data-theme=dark] .opening-tabs button,[data-theme=dark] .placement-editor article{background:#1a201c;color:#eef1ed;border-color:#3a433c}[data-theme=dark] .generator-card:hover{border-color:#a7c84c;box-shadow:0 12px 32px #0008}[data-theme=dark] .catalog-tools{background:#111512ee}[data-theme=dark] .card-foot,[data-theme=dark] .account-list article,[data-theme=dark] .generator-admin-list article,[data-theme=dark] .admin-section,[data-theme=dark] .mail-list article{border-color:#343d36}[data-theme=dark] .secondary-action,[data-theme=dark] .camera-presets button,[data-theme=dark] .account-title button{background:#202722;color:#e8ede8;border-color:#465048}[data-theme=dark] .primary-download,[data-theme=dark] .primary,[data-theme=dark] .auth-shell button,[data-theme=dark] .admin-form button,[data-theme=dark] .mail-list button{background:#dfff67!important;color:#182019!important}[data-theme=dark] .license-page p,[data-theme=dark] .license-page a,[data-theme=dark] .generic-title a,[data-theme=dark] .auth-shell form>a,[data-theme=dark] .token-result p,[data-theme=dark] .token-result a{color:#b5c1b7}[data-theme=dark] .three-state{background:#151b17e8;color:#cbd5cc}[data-theme=dark] .mode-help{background:#29351f;color:#dbe9d0}[data-theme=dark] .empty-state{border-color:#4a554c;color:#aab4ac}[data-theme=dark] .generator-thumbnail{background:#f6f6f1;border-color:#465048}[data-theme=dark] .mobile-navigation>nav,[data-theme=dark] .project-overflow>div{background:#101411;border-color:#3f4741}[data-theme=dark] .assembly-quality,[data-theme=dark] .generic-three-tools,[data-theme=dark] .generic-three-help{background:#202722e8;color:#e8ede8}[data-theme=dark] .assembly-quality span{color:#aeb7af}[data-access-checking=true] body{visibility:hidden}[data-theme=dark] .metric,[data-theme=dark] .notice,[data-theme=dark] .action-notice,[data-theme=dark] .admin-notice,[data-theme=dark] .success-message,[data-theme=dark] .mode-help{background:#253127!important;color:#e8eee9!important;border:1px solid #46564a;box-shadow:none}[data-theme=dark] .metric strong{color:#c9dc9a}[data-theme=dark] .notice.error{background:#432825!important;color:#f4d7d2!important;border-color:#72443e}[data-theme=dark] .experimental-warning,[data-theme=dark] .card-top b,[data-theme=dark] .engine-badge{background:#352f20;color:#f0e7ce;border:1px solid #61583d}[data-theme=dark] .warnings b{background:#27342a;color:#dce7de;border:1px solid #4b5c4f}[data-theme=dark] .warnings .warning b{background:#403722;color:#f3dfae;border-color:#6b5e3c}[data-theme=dark] .warnings .error b,[data-theme=dark] .form-error,[data-theme=dark] .catalog-error,[data-theme=dark] .render-error{background:#432825;color:#f4d7d2;border-color:#72443e}[data-theme=dark] .seg button.active,[data-theme=dark] .tabs button.active,[data-theme=dark] .primary-download,[data-theme=dark] .primary,[data-theme=dark] .auth-shell button,[data-theme=dark] .admin-form button,[data-theme=dark] .mail-list button{background:#344337!important;color:#f0f4f0!important;border-color:#526357!important}[data-theme=dark] .opening-tabs b{background:#344337;color:#edf2ed}[data-theme=dark] .generator-thumbnail{background:#202622;border-color:#465048}[data-theme=dark] .floor-editor,[data-theme=dark] .floor-coordinate-list input,[data-theme=dark] .floor-editor-actions button,[data-theme=dark] .floor-validation,[data-theme=dark] .admin-security-toggle{background:#171d19;color:#e7ece8;border-color:#3b463e}[data-theme=dark] .floor-editor-bar,[data-theme=dark] .floor-coordinate-list,[data-theme=dark] .floor-editor-actions{border-color:#3b463e}[data-theme=dark] .floor-validation p{color:#e1bb79}[data-theme=dark] .floor-validation p.error{color:#eda69e}[data-theme=dark] .admin-security-toggle>small{color:#a6b0a8}[data-theme=dark] .mail-counts span,[data-theme=dark] .generic-output dl,[data-theme=dark] .generic-output dl>div{background:#171d19;border-color:#38423a}[data-theme=dark] .stats span,[data-theme=dark] .generic-output dt,[data-theme=dark] .catalog-tools label>span{color:#aab3ab}@media(max-width:700px){.theme-toggle small{display:none}.theme-toggle{padding:7px}}
