@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&display=swap";.conformal-panel{--conformal-accent:#ff8b46;--conformal-accent-strong:#ff6b2b;--conformal-ink:#172137;--conformal-muted:#6d7688;--conformal-line:#dfe4ec;color:var(--conformal-ink);border:1px solid var(--conformal-line);background:#fffffff7;border-radius:20px;overflow:hidden;box-shadow:0 16px 45px #1721371a}.conformal-panel__header,.conformal-panel__section,.conformal-estimate,.conformal-progress,.conformal-actions{padding:18px 20px}.conformal-panel__header{background:linear-gradient(145deg,#fff7f1,#fff);border-bottom:1px solid #f0e2d9;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.conformal-panel__header h2{max-width:430px;margin:4px 0 0;font-size:18px;line-height:1.3}.conformal-panel__eyebrow{color:var(--conformal-accent-strong);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.conformal-panel__badge{color:#9b451e;background:#ffe4d3;border:1px solid #ffc8a8;border-radius:999px;flex:none;padding:5px 9px;font-size:11px;font-weight:800}.conformal-panel__section+.conformal-panel__section{border-top:1px solid var(--conformal-line)}.conformal-panel__section h3{letter-spacing:.02em;margin:0 0 16px;font-size:13px}.conformal-control+.conformal-control{margin-top:16px}.conformal-control__heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px;font-size:13px;font-weight:650;display:flex}.conformal-control__number{color:var(--conformal-muted);align-items:center;gap:5px;font-size:12px;font-weight:600;display:flex}.conformal-control__number input{width:62px;color:var(--conformal-ink);border:1px solid var(--conformal-line);font:inherit;text-align:right;background:#f7f8fb;border-radius:7px;padding:5px 6px}.conformal-control__range{width:100%;accent-color:var(--conformal-accent-strong);cursor:pointer}.conformal-control__range:disabled{cursor:not-allowed;opacity:.55}.conformal-control__hint{color:var(--conformal-muted);margin:5px 0 0;font-size:11px;line-height:1.45}.conformal-panel__columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.conformal-panel__columns .conformal-control+.conformal-control{margin-top:0}.conformal-axis{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 16px;padding:0;display:grid}.conformal-axis legend{margin-bottom:8px;font-size:12px;font-weight:650}.conformal-axis label{color:var(--conformal-muted);border:1px solid var(--conformal-line);text-align:center;cursor:pointer;background:#f7f8fb;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:750}.conformal-axis label.is-active{color:#a44117;background:#fff1e7;border-color:#ffb889}.conformal-axis input{opacity:0;block-size:1px;inline-size:1px;position:absolute}.conformal-toggle{cursor:pointer;align-items:center;gap:9px;margin-bottom:16px;font-size:13px;font-weight:650;display:flex}.conformal-toggle input{opacity:0;position:absolute}.conformal-toggle span{background:#c8ced8;border-radius:999px;width:34px;height:19px;transition:background .16s;position:relative}.conformal-toggle span:after{content:"";background:#fff;border-radius:50%;width:13px;height:13px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #00000040}.conformal-toggle input:checked+span{background:var(--conformal-accent-strong)}.conformal-toggle input:checked+span:after{transform:translate(15px)}.conformal-estimate{color:#2b604a;background:#edf8f2;border-block:1px solid #cfe9dc;grid-template-columns:1fr auto;gap:3px 12px;font-size:12px;display:grid}.conformal-estimate strong{font-size:15px}.conformal-estimate em{color:#438064;grid-column:1/-1;font-size:11px;font-style:normal}.conformal-progress{border-top:1px solid var(--conformal-line)}.conformal-progress__line{justify-content:space-between;margin-bottom:8px;font-size:12px;display:flex}.conformal-progress__track{background:#e8ebf0;border-radius:999px;height:7px;overflow:hidden}.conformal-progress__track span{width:var(--conformal-progress,0%);background:linear-gradient(90deg, var(--conformal-accent), var(--conformal-accent-strong));border-radius:inherit;height:100%;transition:width .18s;display:block}.conformal-actions{border-top:1px solid var(--conformal-line);gap:10px;display:flex}.conformal-actions button{min-height:42px;font:inherit;cursor:pointer;border-radius:10px;padding:0 17px;font-size:13px;font-weight:800}.conformal-actions__primary{color:#fff;background:linear-gradient(135deg, var(--conformal-accent), var(--conformal-accent-strong));border:0;flex:1;box-shadow:0 8px 18px #ff6b2b40}.conformal-actions__primary:disabled{box-shadow:none;cursor:not-allowed;filter:grayscale(.45);opacity:.65}.conformal-actions__cancel{color:#a34636;background:#fff;border:1px solid #edc9c3}.conformal-panel :focus-visible{outline-offset:2px;outline:3px solid #ff6b2b47}@media (width<=480px){.conformal-panel__columns{grid-template-columns:1fr}.conformal-panel__columns .conformal-control+.conformal-control{margin-top:12px}.conformal-panel__badge{display:none}}@media (prefers-reduced-motion:reduce){.conformal-toggle span,.conformal-toggle span:after,.conformal-progress__track span{transition:none}}body{overflow:hidden}@media (width<=800px){body{overflow:auto}}@media (width>=801px){html,body{overscroll-behavior:auto;height:auto;min-height:100%;overflow:auto}main{align-items:start;min-height:100dvh;height:auto!important;position:relative!important;inset:auto!important;overflow:visible!important}aside{min-height:100dvh;height:auto!important;overflow:visible!important}.workspace{height:100dvh!important;position:sticky!important;top:0!important}}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-height:0;margin:0;font-family:Manrope,Arial,sans-serif}body{background:#0c1020}button,input{font:inherit}main{grid-template-columns:minmax(360px,420px) minmax(0,1fr);width:100%;height:100dvh;min-height:560px;display:grid;overflow:hidden}aside{overscroll-behavior:contain;scrollbar-gutter:stable;color:#182035;background:#f7f8fc;border-right:1px solid #dfe3ee;height:100dvh;min-height:0;padding:30px 34px 52px;overflow:hidden auto}.back{color:#526074;margin-bottom:25px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.brand{align-items:center;gap:11px;margin-bottom:30px;display:flex}.brand i{color:#fff;background:#5d75f2;border-radius:10px;place-items:center;width:36px;height:36px;font-style:normal;font-weight:800;display:grid}.brand b,.brand small{display:block}.brand small{color:#7a8296;text-transform:uppercase;letter-spacing:.09em;font-size:9px}h1{letter-spacing:-.04em;margin:0 0 11px;font-size:28px;line-height:1.13}.intro{color:#737b8e;margin:0 0 28px;font-size:13px;line-height:1.55}section{border-top:1px solid #e1e4ec;padding:20px 0 7px}aside>.conformal-panel{border-top:1px solid #dfe4ec;margin:20px 0 8px;padding:0}.conformal-panel section{border:0;padding:0}h2{color:#697187;text-transform:uppercase;letter-spacing:.1em;margin:0 0 15px;font-size:10px}.upload{cursor:pointer;background:#eef1fa;border:1px dashed #8190b6;border-radius:14px;gap:6px;padding:16px;display:grid}.upload input{width:100%;font-size:11px}.upload b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.upload small{color:#737d95;font-size:9px}.error{color:#c1364e;font-size:11px}.field{margin-bottom:15px;display:block}.field>span{color:#3a4359;margin-bottom:6px;font-size:10px;font-weight:700;display:block}.field>div{grid-template-columns:1fr 72px 19px;align-items:center;gap:8px;display:grid}.field input[type=number]{border:1px solid #d9deea;border-radius:8px;min-width:0;padding:7px}.field small{color:#7a8296;font-size:9px}.workspace{background:radial-gradient(circle at 50% 42%,#151d35 0,#0c1020 58%,#080b16 100%);min-width:0;min-height:0;position:relative;overflow:hidden}.viewer{position:absolute;inset:0}.viewer canvas{width:100%;height:100%;display:block}.empty{color:#dce4ff;text-align:center;place-content:center;gap:8px;padding:30px;display:grid;position:absolute;inset:0}.empty b{font-size:clamp(25px,4vw,44px)}.empty span{color:#8390b2}.build-overlay{z-index:5;color:#edf2ff;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#090d19d9;place-content:center;justify-items:center;gap:12px;padding:30px;display:grid;position:absolute;inset:0}.build-overlay__spinner{border:4px solid #6f7ea044;border-top-color:#ff7c3b;border-radius:50%;width:52px;height:52px;animation:.9s linear infinite spin}.build-overlay>b{max-width:520px;font-size:18px}.build-overlay>span{color:#ffad7b;font-size:24px;font-weight:800}.build-overlay__track{background:#65718c38;border-radius:99px;width:min(420px,70vw);height:8px;overflow:hidden}.build-overlay__track i{border-radius:inherit;background:linear-gradient(90deg,#ff9c59,#ff6425);height:100%;transition:width .15s;display:block}.build-overlay button{color:#fff;cursor:pointer;background:#242e47;border:1px solid #ffffff2e;border-radius:10px;margin-top:4px;padding:10px 16px;font-weight:800}@keyframes spin{to{transform:rotate(360deg)}}.downloads{gap:10px;display:flex;position:absolute;bottom:22px;right:22px}.downloads button{color:#fff;cursor:pointer;background:#607cff;border:0;border-radius:12px;padding:12px 16px;font-weight:800;box-shadow:0 12px 34px #0005}.downloads button+button{background:#21a98e}.downloads button:disabled{opacity:.35;cursor:default}.upload.loading{opacity:.72;cursor:progress}.model-summary{color:#34405d;background:#e9eefc;border-radius:10px;gap:4px;margin-top:10px;padding:11px 12px;font-size:11px;display:grid}.model-summary span{font-weight:800}.model-summary small{color:#75809a}.warning{color:#725718;background:#fff2cd;border-radius:8px;margin:8px 0 0;padding:8px 10px;font-size:10px;line-height:1.4}.control-title{color:#3a4359;margin:14px 0 7px;font-size:10px;font-weight:700;display:block}.unit-presets,.rotation-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:10px;display:grid}.rotation-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.unit-presets button,.rotation-buttons button{color:#46516b;cursor:pointer;background:#fff;border:1px solid #d5dbea;border-radius:9px;min-height:38px;padding:7px;font-size:10px;font-weight:800}.unit-presets button.active{color:#4058d3;background:#eef1ff;border-color:#607cff}.helper{color:#778198;margin:-3px 0 8px;font-size:10px}.quality-badge{z-index:3;color:#c8d2ed;background:#182039e8;border:1px solid #ffffff1e;border-radius:999px;padding:9px 12px;font-size:10px;font-weight:800;position:absolute;top:20px;right:20px;box-shadow:0 8px 24px #0004}.quality-badge.ok{color:#eafff9;background:#14725fe8}.downloads.three{flex-wrap:wrap;justify-content:flex-end}.downloads.three button:nth-child(3){background:#687389}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #8396ff}@media (width<=800px){html,body,#root{height:auto;min-height:100%}main{flex-direction:column;height:auto;min-height:100dvh;display:flex;overflow:visible}aside{scrollbar-gutter:auto;width:100%;height:auto;min-height:100dvh;padding:24px 22px 38px;overflow:visible}.workspace{height:64dvh;min-height:440px}.quality-badge{top:12px;right:12px}.downloads{bottom:12px;left:12px;right:12px}.downloads.three{grid-template-columns:repeat(3,1fr);display:grid}.downloads button{flex:1;padding:10px 5px;font-size:9px}}@media (prefers-reduced-motion:reduce){.build-overlay__spinner{animation:none}}.mode-switch{grid-template-columns:repeat(3,1fr);gap:6px;margin:22px 0 14px;display:grid}.mode-switch button{color:#526074;cursor:pointer;background:#eef1fa;border:1px solid #d9dfeb;border-radius:12px;padding:10px 8px;font-size:12px;font-weight:700}.mode-switch button:hover:not(:disabled){color:#3a4359;border-color:#5d75f2}.mode-switch button.is-active{color:#fff;background:#5d75f2;border-color:#5d75f2}.mode-switch button:disabled{opacity:.6;cursor:default}.platform-editor .downloads button{min-width:0;min-height:44px}@media (width<=800px){.platform-editor .downloads button{overflow-wrap:anywhere;padding:10px 8px;font-size:12px;line-height:1.35}.platform-editor .quality-badge{overflow-wrap:anywhere;border-radius:16px;width:auto;max-width:calc(100% - 24px);font-size:12px;line-height:1.45;left:12px;right:12px}}.platform-editor{--editor-accent:#4361ee;--editor-text:#182035;--editor-muted:#596579;--editor-border:#dde2ea}.platform-editor>aside{color:var(--editor-text);border-color:var(--editor-border);background:#fff;padding:24px}.editor-header{border:0;border-bottom:1px solid var(--editor-border);color:var(--editor-text);margin:0 0 24px;padding:0 0 20px;display:block}.editor-header .editor-wordmark{min-height:44px;color:var(--editor-text);letter-spacing:-1px;align-items:center;gap:6px;font:800 24px/1.2 Manrope,Arial,sans-serif;text-decoration:none;display:inline-flex}.editor-wordmark span{color:var(--editor-accent)}.editor-product{color:var(--editor-muted);flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 12px;font-size:12px;font-weight:600;display:flex}.editor-prototype{color:#8a5a14;background:#fff3dc;border-radius:6px;padding:4px 8px;font-size:11px}.editor-header nav{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;display:flex}.editor-header nav a{min-height:44px;color:var(--editor-accent);align-items:center;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.platform-editor :focus-visible{outline:3px solid var(--editor-accent);outline-offset:3px}.platform-editor>aside h1{letter-spacing:-.035em;font-family:Manrope,Arial,sans-serif;font-size:24px;line-height:1.25}.platform-editor>aside input:not([type=checkbox]):not([type=range]):not([type=file]):not([type=color]),.platform-editor>aside select{font-variant-numeric:tabular-nums;min-height:44px}.platform-editor>aside button{min-height:44px}@media (width<=800px){.platform-editor,main.platform-editor.app-shell{flex-direction:column;height:auto;min-height:100dvh;display:flex;overflow:visible}.platform-editor>.workspace{order:0;width:100%;height:48dvh;min-height:340px;max-height:560px}.platform-editor>aside{border-right:0;order:1;width:100%;height:auto;min-height:0;padding:20px;overflow:visible}.platform-editor>.workspace canvas{max-width:100%}.platform-editor .folded-preview-card{display:none}.platform-editor.app-shell>.workspace>.viewer{height:calc(100% - 62px);min-height:0}.platform-editor.app-shell .fabric-note{display:none}.platform-editor>aside input,.platform-editor>aside select,.platform-editor>aside textarea{font-size:16px}.platform-editor .editor-header{margin-bottom:20px}}@media (prefers-reduced-motion:reduce){.platform-editor *,.platform-editor :before,.platform-editor :after{scroll-behavior:auto!important;transition:none!important}}
