:root{--bg:#0c0c0c;--bg-grad:linear-gradient(180deg, #121212 0%, #0c0c0c 100%);--panel:#12121294;--panel-border:#ffffff14;--text:#f2f0ec;--text-dim:#a9a69f;--text-3:#6b6962;--accent:#4f7df9;--cream:linear-gradient(180deg, #f2f0ec, #cfccc6);--radius-pane:18px;--rail-w:clamp(300px, 20%, 420px);--font:-apple-system, "SF Pro Text", "PingFang SC", "Segoe UI", system-ui, sans-serif;font-size:15px}*{box-sizing:border-box}html,body{background:var(--bg-grad);height:100%;color:var(--text);font-family:var(--font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}#app{position:fixed;inset:0}#app canvas{width:100%;height:100%;display:block;position:absolute;top:0;left:0}#app.has-rail canvas{left:var(--rail-w);width:calc(100% - var(--rail-w))}#app.has-rail.intro-active canvas,#app.has-rail.ui-clean canvas{width:100%;left:0}.brand{z-index:10;pointer-events:none;align-items:baseline;gap:12px;display:flex;position:absolute;top:22px;left:28px}.brand h1{letter-spacing:.32em;margin:0;font-size:26px;font-weight:600}.brand-sub{color:var(--text-dim);letter-spacing:.2em;font-size:13px}.brand-badge{border:1px solid var(--panel-border);color:var(--accent);background:var(--panel);letter-spacing:.08em;border-radius:99px;padding:3px 9px;font-size:11px}.cfg-dock{z-index:10;background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;border-radius:18px;width:252px;max-height:calc(100vh - 160px);padding:18px;position:absolute;top:50%;left:24px;overflow-y:auto;transform:translateY(-50%)}.cfg-section+.cfg-section{margin-top:16px}.cfg-section-head{justify-content:space-between;align-items:baseline;margin-bottom:9px;display:flex}.cfg-section-head h3{color:var(--text-3);letter-spacing:.28em;text-transform:uppercase;margin:0;font-size:10px;font-weight:500}.cfg-current{color:var(--accent);font-size:12px}.cfg-swatches{flex-wrap:wrap;gap:9px;display:flex}.cfg-look-btn{color:#ffffffc7;letter-spacing:.04em;cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:999px;width:100%;margin-top:10px;padding:7px 14px;font-size:12px;transition:border-color .15s,color .15s,background .15s;display:block}.cfg-look-btn:hover{color:var(--text);border-color:#fff6}.cfg-look-btn.is-on{border-color:var(--accent);color:var(--text);background:#4f7df924}.cfg-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;outline:1px solid #ffffff24;width:34px;height:34px;padding:0;transition:transform .15s,outline-color .15s}.cfg-swatch:hover{transform:scale(1.1)}.cfg-swatch.is-active{outline:2px solid var(--accent);outline-offset:2px}.cfg-swatch-text{width:auto;height:30px;color:var(--text);letter-spacing:.04em;white-space:nowrap;background:#ffffff0f;border-radius:99px;flex:none;padding:0 13px;font-size:12.5px}.cfg-swatch-text.is-active{color:var(--accent);background:#4f7df929}.cfg-dock-handle{display:none}.decal-upload{text-align:center;width:100%;margin:2px 0 10px;display:block}.decal-sources{flex-wrap:wrap;gap:7px;margin-bottom:10px;display:flex}.decal-source{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.decal-cancel{color:var(--accent);background:#4f7df929}.decal-instances{flex-direction:column;gap:5px;display:flex}.decal-row{border:1px solid var(--panel-border);border-radius:9px;align-items:center;gap:5px;padding:5px 8px;font-size:12.5px;display:flex}.decal-row.is-selected{border-color:var(--accent);background:#4f7df91a}.decal-row-name{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;flex:1;min-width:0;overflow:hidden}.decal-mini{width:22px;height:22px;color:var(--text-dim);cursor:pointer;background:#ffffff0f;border:none;border-radius:6px;flex:none;padding:0;font-size:11px;transition:color .12s,background .12s}.decal-mini:hover{color:var(--text);background:#ffffff1f}.decal-del:hover{color:#ff6b6b}.decal-controls{flex-direction:column;gap:8px;margin-top:10px;display:flex}.decal-slider{color:var(--text-dim);align-items:center;gap:10px;font-size:12px;display:flex}.decal-slider span{flex:0 0 32px}.decal-slider input[type=range]{accent-color:var(--accent);flex:1}.decal-toggles{flex-wrap:wrap;gap:7px;display:flex}.price-panel{z-index:10;background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;width:296px;padding:18px 20px;position:absolute;bottom:24px;right:24px}.price-title{color:var(--text-3);letter-spacing:.28em;text-transform:uppercase;margin:0 0 12px;font-size:10px;font-weight:500}.price-line{color:var(--text-dim);justify-content:space-between;padding:3.5px 0;font-size:13px;display:flex}.price-line span:last-child{color:var(--text)}.price-total{border-top:1px solid var(--panel-border);color:var(--text-dim);justify-content:space-between;align-items:baseline;margin-top:11px;padding-top:11px;font-size:13px;display:flex}.price-total strong{color:var(--accent);letter-spacing:.02em;font-size:21px}.btn-primary{background:var(--cream);color:#0c0c0c;letter-spacing:.14em;cursor:pointer;border:none;border-radius:999px;width:100%;margin-top:14px;padding:11px 0;font-size:14px;font-weight:600;transition:filter .15s,transform .1s}.btn-primary:hover{filter:brightness(1.04)}.btn-primary:active{transform:scale(.98)}.btn-secondary{border:1px solid var(--panel-border);width:100%;color:var(--text-dim);letter-spacing:.1em;cursor:pointer;background:0 0;border-radius:999px;margin-top:9px;padding:9px 0;font-size:13px;transition:color .15s,border-color .15s,background .15s}.btn-secondary:hover{color:var(--text);background:#ffffff0a;border-color:#ffffff29}.loading-overlay{z-index:50;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:18px;transition:opacity .6s;display:flex;position:absolute;inset:0}.loading-overlay.is-done{opacity:0;pointer-events:none}.loading-overlay.is-error .loading-label{color:#e26d5a}.loading-spinner{border:2px solid #ffffff1f;border-top-color:var(--accent);border-radius:50%;width:42px;height:42px;animation:.9s linear infinite spin}.loading-label{color:var(--text-dim);letter-spacing:.14em;font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}.cfg-products{border-top:1px dashed #ffffff1f;margin-top:12px;padding-top:12px}.cfg-product-card{color:var(--text);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff24;border-radius:10px;align-items:center;gap:8px;padding:5px 12px 5px 6px;font-size:12px;transition:background .15s;display:flex}.cfg-product-card:hover{background:#ffffff1a}.cfg-product-card img{object-fit:cover;border-radius:6px;width:46px;height:30px}.cfg-editor-link{color:var(--text-dim);letter-spacing:.08em;margin-top:10px;font-size:12px;text-decoration:none;display:inline-block}.cfg-editor-link:hover{color:var(--text)}.product-back{z-index:60;color:var(--text);letter-spacing:.12em;background:#ffffff0f;border:1px solid #ffffff38;border-radius:999px;padding:10px 22px;font-size:13px;text-decoration:none;transition:background .15s;position:absolute;bottom:30%;left:50%;transform:translate(-50%)}.product-back:hover{background:#ffffff1f}.sky-controls{align-items:center;gap:10px;display:flex}.sky-slider{appearance:none;cursor:pointer;background:linear-gradient(90deg,#f4a259 0%,#ffe9a0 35%,#9cc7ee 60%,#2b3a55 100%);border-radius:99px;outline:none;flex:1;height:4px}.drive-slider{background:linear-gradient(90deg, #ffffff2e, var(--accent))}.sky-slider::-webkit-slider-thumb{appearance:none;background:var(--accent);border:2px solid #181206;border-radius:50%;width:15px;height:15px;box-shadow:0 0 6px #4f7df999}.intro-overlay{z-index:40;position:absolute;inset:0;overflow:hidden}.intro-sketch{background:#fff;width:100%;height:100%;transition:opacity 1.3s;position:absolute;inset:0}.intro-overlay.is-reveal .intro-sketch{opacity:0}.intro-title{text-align:center;letter-spacing:.4em;text-indent:.4em;color:#17181a;opacity:0;margin:0;font-size:46px;font-weight:600;transition:opacity .7s,transform .7s,color 1.3s;position:absolute;top:11%;left:0;right:0;transform:translateY(14px)}.intro-specs{opacity:0;color:#17181a;justify-content:center;gap:84px;transition:opacity .7s .2s,transform .7s .2s,color 1.3s;display:flex;position:absolute;bottom:12%;left:0;right:0;transform:translateY(14px)}.intro-spec{text-align:center}.intro-spec strong{font-size:24px;font-weight:600;display:block}.intro-spec span{color:inherit;opacity:.55;letter-spacing:.1em;margin-top:5px;font-size:12.5px;display:block}.intro-overlay.is-on .intro-title,.intro-overlay.is-on .intro-specs{opacity:1;transform:translateY(0)}.intro-overlay.is-reveal .intro-title,.intro-overlay.is-reveal .intro-specs{color:#e8eaee}.intro-overlay.is-leaving .intro-title,.intro-overlay.is-leaving .intro-specs{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(-10px)}.intro-active .brand,.intro-active .cfg-dock,.intro-active .price-panel,.intro-active .cfg-rail,.ui-clean .brand,.ui-clean .cfg-dock,.ui-clean .price-panel,.ui-clean .cfg-rail{opacity:0;pointer-events:none}.clean-exit{z-index:20;border:1px solid var(--panel-border);background:var(--panel);color:var(--text-dim);letter-spacing:.12em;cursor:pointer;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:99px;padding:9px 22px;font-size:13px;transition:color .15s;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.clean-exit:hover{color:var(--text)}.brand,.cfg-dock,.price-panel,.cfg-rail{transition:opacity .7s}.cfg-rail{width:var(--rail-w);z-index:12;background:var(--panel);border-right:1px solid var(--panel-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.cfg-rail-head{padding:calc(16px + env(safe-area-inset-top)) 20px 12px;flex-wrap:wrap;align-items:baseline;gap:8px 10px;display:flex}.cfg-rail-logo{letter-spacing:.22em;color:var(--text);font-size:18px;font-weight:600}.cfg-rail-nav{border-bottom:1px solid var(--panel-border);flex-wrap:wrap;gap:6px;padding:0 16px 12px;display:flex}.cfg-chip{border:1px solid var(--panel-border);color:var(--text-dim);letter-spacing:.04em;white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:6px 13px;font-family:inherit;font-size:12.5px;transition:border-color .15s,color .15s,background .15s}.cfg-chip:hover{color:var(--text);border-color:#ffffff52}.cfg-chip.is-active{border-color:var(--accent);color:var(--text);background:#4f7df929}.cfg-rail-body{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;flex:1;min-height:0;padding:16px;overflow-y:auto}.cfg-rail-panel{display:none}.cfg-rail-panel.is-active{animation:.2s cfg-rail-fade;display:block}.cfg-rail-panel .cfg-section:first-child{margin-top:0}@keyframes cfg-rail-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cfg-rail-foot{padding:13px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--panel-border)}.cfg-rail-total{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.cfg-rail-total span{letter-spacing:.2em;color:var(--text-3);text-transform:uppercase;font-size:11px}.cfg-rail-total strong{color:var(--accent);letter-spacing:.02em;font-size:20px;font-weight:600}.cfg-rail-foot .btn-primary{margin-top:0}.mcfg-top{z-index:12;padding:calc(10px + env(safe-area-inset-top)) 14px 8px;pointer-events:none;align-items:center;gap:10px;display:flex;position:fixed;top:0;left:0;right:0}.mcfg-top>*{pointer-events:auto}.mcfg-brand{letter-spacing:.22em;color:var(--text);font-size:14px;font-weight:600}.mcfg-top-total{cursor:pointer;color:var(--accent);background:0 0;border:none;margin-left:auto;padding:2px 0;font-family:inherit;font-size:13px;font-weight:600}.mcfg-top-total:after{content:" ▾";opacity:.7;font-size:9px}.mcfg-more{border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:28px;height:28px;color:var(--text);cursor:pointer;border-radius:50%;flex:none;font-size:14px;line-height:1}.mcfg-bar{z-index:14;padding-bottom:env(safe-area-inset-bottom);background:linear-gradient(#0000,#0c0c0cd9 28%);position:fixed;bottom:0;left:0;right:0}.mcfg-strip{max-height:0;transition:max-height .24s;overflow:hidden}.mcfg-bar.is-open .mcfg-strip{max-height:116px}.mcfg-strip-head{align-items:baseline;gap:8px;padding:5px 14px 4px;display:flex}.mcfg-strip-title{color:var(--text);flex:none;font-size:12px;font-weight:600}.mcfg-strip-current{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10.5px;overflow:hidden}.mcfg-strip-close{width:20px;height:20px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;font-size:11px}.mcfg-opts{scrollbar-width:none;gap:12px;padding:0 14px 8px;display:flex;overflow-x:auto}.mcfg-opts::-webkit-scrollbar{display:none}.mcfg-opt{cursor:pointer;background:0 0;border:none;flex-direction:column;flex:none;align-items:center;gap:4px;width:46px;padding:0;display:flex}.mcfg-opt-dot{width:32px;height:32px;color:var(--text);border-radius:50%;outline:1px solid #ffffff24;justify-content:center;align-items:center;font-size:11px;transition:outline-color .12s;display:flex}.mcfg-opt-dot.is-text{background:#ffffff12;border-radius:10px}.mcfg-opt.is-active .mcfg-opt-dot{outline:2px solid var(--accent);outline-offset:2px}.mcfg-opt-label{color:var(--text-dim);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:46px;font-size:10px;line-height:1.1;overflow:hidden}.mcfg-opt.is-active .mcfg-opt-label{color:var(--text)}.mcfg-row{padding:6px 12px calc(8px + env(safe-area-inset-bottom));align-items:center;gap:8px;display:flex}.mcfg-cats{scrollbar-width:none;flex:1;gap:6px;min-width:0;display:flex;overflow-x:auto}.mcfg-cats::-webkit-scrollbar{display:none}.mcfg-cat{border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-dim);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;padding:5px 11px;font-size:11.5px;transition:color .12s,border-color .12s,background .12s}.mcfg-cat.is-active{color:#0c0c0c;background:var(--cream);border-color:#0000;font-weight:600}.mcfg-go{background:var(--cream);color:#0c0c0c;letter-spacing:.06em;cursor:pointer;border:none;border-radius:999px;flex:none;padding:7px 16px;font-size:12.5px;font-weight:600}.mcfg-go:active{transform:scale(.97)}.mcfg-backdrop{z-index:16;background:#06060680;position:fixed;inset:0}.mcfg-menu{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:17;border:1px solid var(--panel-border);background:#141414fa;border-radius:16px;padding:6px;position:fixed;box-shadow:0 12px 40px #00000080}.mcfg-menu-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:13px 14px;font-size:14px;text-decoration:none;display:block}.mcfg-menu-item:active{background:#ffffff14}@media (width<=560px){.cfg-modal,.cfg-leads,.cfg-share{width:100%}}.cfg-modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0606069e;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cfg-modal{border-radius:var(--radius-pane);background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:380px;max-width:100%;max-height:calc(100vh - 40px);padding:22px 24px;overflow-y:auto;box-shadow:0 18px 60px #0000008c}.cfg-modal-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.cfg-modal-title{color:var(--text);letter-spacing:.04em;font-size:16px;font-weight:600}.cfg-modal-x{width:26px;height:26px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:0;font-size:13px}.cfg-modal-x:hover{color:var(--text);background:#ffffff14}.cfg-modal-summary{border:1px solid var(--panel-border);background:#ffffff08;border-radius:12px;margin-bottom:16px;padding:12px 14px}.cfg-modal-car{color:var(--text);margin-bottom:8px;font-size:13px;font-weight:600}.cfg-modal-line{color:var(--text-dim);justify-content:space-between;gap:12px;padding:2.5px 0;font-size:12px;display:flex}.cfg-modal-line span:last-child{color:var(--text);flex:none}.cfg-modal-total{border-top:1px solid var(--panel-border);color:var(--text-dim);justify-content:space-between;align-items:baseline;margin-top:9px;padding-top:9px;font-size:12px;display:flex}.cfg-modal-total strong{color:var(--accent);font-size:18px}.cfg-modal-form{flex-direction:column;gap:10px;display:flex}.cfg-modal-field{flex-direction:column;gap:5px;display:flex}.cfg-modal-field>span{color:var(--text-dim);letter-spacing:.04em;font-size:11px}.cfg-modal-input{border:1px solid var(--panel-border);width:100%;color:var(--text);background:#ffffff0d;border-radius:9px;padding:9px 11px;font-family:inherit;font-size:14px}.cfg-modal-input:focus{border-color:var(--accent);background:#4f7df91a;outline:none}.cfg-modal-note{resize:vertical;min-height:48px}.cfg-modal-error{color:#ff7a7a;margin:0;font-size:12px}.cfg-modal-error[hidden]{display:none}.cfg-modal-submit{margin-top:4px}.cfg-modal-note-text{color:var(--text-3);margin:12px 0 0;font-size:11px;line-height:1.5}.cfg-modal-confirm{text-align:center;padding:14px 4px}.cfg-modal-check{width:52px;height:52px;color:var(--accent);background:#4f7df929;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 14px;font-size:26px;display:flex}.cfg-modal-confirm-text{color:var(--text-dim);white-space:pre-line;margin:10px 0 18px;font-size:13px;line-height:1.6}.cfg-saved-list{flex-direction:column;gap:5px;margin-top:8px;display:flex}.cfg-saved-row{align-items:center;gap:5px;display:flex}.cfg-saved-name{border:1px solid var(--panel-border);min-width:0;color:var(--text);text-align:left;cursor:pointer;background:#ffffff0a;border-radius:9px;flex-direction:column;flex:1;gap:1px;padding:6px 10px;transition:background .12s;display:flex}.cfg-saved-name:hover{background:#ffffff1a}.cfg-saved-label{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.cfg-saved-meta{color:var(--text-dim);font-size:10.5px}.cfg-saved-del{width:24px;height:24px;color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;padding:0;font-size:11px}.cfg-saved-del:hover{color:#ff9b9b;background:#dc46462e}.cfg-leads-link{cursor:pointer;color:var(--accent);letter-spacing:.04em;background:0 0;border:none;padding:0;font-size:11px}.cfg-leads-link:hover{text-decoration:underline}.cfg-leads{width:420px}.cfg-leads-list{flex-direction:column;gap:8px;max-height:56vh;display:flex;overflow-y:auto}.cfg-lead-row{border:1px solid var(--panel-border);background:#ffffff08;border-radius:11px;align-items:flex-start;gap:6px;padding:10px 12px;display:flex}.cfg-lead-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cfg-lead-name{color:var(--text);font-size:13px;font-weight:600}.cfg-lead-meta{color:var(--text);font-size:12px}.cfg-lead-sub{color:var(--text-dim);font-size:11px}.cfg-lead-note{color:var(--text-dim);white-space:pre-line;margin-top:3px;font-size:11.5px}.cfg-lead-open{color:var(--accent);margin-top:4px;font-size:11px;text-decoration:none}.cfg-lead-open:hover{text-decoration:underline}.cfg-leads-actions{justify-content:flex-end;margin-top:14px;display:flex}.cfg-leads-actions .btn-secondary{width:auto;margin:0;padding:8px 18px}.cfg-share{text-align:center;width:320px}.cfg-share-qr{background:#fff;border-radius:12px;justify-content:center;align-items:center;width:180px;height:180px;margin:4px auto 10px;padding:8px;display:flex}.cfg-share-qr img{width:100%;height:100%;image-rendering:pixelated}.cfg-share-hint{color:var(--text-dim);margin:0 0 14px;font-size:12px}.cfg-share-link{gap:8px;display:flex}.cfg-share-link .cfg-modal-input{font-size:12px}.cfg-share-copy{flex:none;width:auto;margin:0;padding:0 16px}.app-fallback{z-index:200;background:var(--bg-grad);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.app-fallback-card{text-align:center;border-radius:var(--radius-pane);background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:380px;max-width:100%;padding:28px 26px}.app-fallback-title{color:var(--text);margin-bottom:12px;font-size:18px;font-weight:600}.app-fallback-card p{color:var(--text-dim);margin:0 0 10px;font-size:13px;line-height:1.6}.app-fallback-detail{color:var(--text-3);word-break:break-word;font-family:ui-monospace,monospace;font-size:11px}.app-fallback-card .btn-primary{margin-top:12px}
