:root{--bg: #ffffff;--ink: #1a1d21;--muted: #6b7280;--line: #e5e7eb;--accent: #111827;--ok: #047857;--err: #b91c1c}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}.app{display:grid;grid-template-columns:1fr 360px;height:100vh}.stage{position:relative;min-width:0}.panel{border-left:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}.options{padding:24px;overflow-y:auto;flex:1}.options h2{margin:0 0 20px;font-size:20px}.group{margin-bottom:22px}.group-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:10px}.group-remove{background:none;border:1px solid var(--line);color:var(--err, #b91c1c);font-size:11px;padding:2px 8px;border-radius:6px;cursor:pointer;font-weight:600}.group-remove:hover{border-color:var(--err, #b91c1c);background:#fef2f2}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch-wrap{position:relative;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:#fff;transition:border-color .15s,box-shadow .15s}.swatch-wrap:hover{border-color:#c7cbd1}.swatch-wrap.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.swatch{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border:none;background:none;cursor:pointer;font-size:13px;border-radius:999px}.swatch-color{width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.15);flex:none}.swatch-original{background:conic-gradient(#ccc 25%,#fff 0,#fff 50%,#ccc 0,#ccc 75%,#fff 0) 0 0 / 10px 10px}.swatch-remove{border:none;background:none;cursor:pointer;color:var(--muted);font-size:16px;line-height:1;padding:0 8px 0 0}.swatch-remove:hover{color:var(--err)}.add-color-btn{margin-top:10px;background:none;border:1px dashed #b9bec6;border-radius:8px;padding:7px 12px;font-size:13px;cursor:pointer;color:var(--ink)}.add-color-btn:hover{border-color:var(--accent)}.add-row{display:flex;gap:8px}.add-color{margin-top:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.color-input{width:38px;height:34px;padding:0;border:1px solid var(--line);border-radius:8px;background:none;cursor:pointer}.name-input{flex:1;min-width:120px;padding:8px 10px;font-size:13px;border:1px solid var(--line);border-radius:8px}.add-color-save{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:13px;cursor:pointer;font-weight:600}.hint{font-size:13px;color:var(--muted);line-height:1.5;margin:0 0 18px}.map-toggles{display:flex;flex-direction:column;gap:8px;margin:0 0 18px}.map-toggles label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer}.map-toggles input{margin:0}.empty-prompt{text-align:center;background:#ffffffd9;padding:18px 22px;border-radius:12px;max-width:260px;box-shadow:0 4px 20px #0000000f}.empty-title{font-size:15px;font-weight:700;margin-bottom:6px}.empty-sub{font-size:12px;color:var(--muted);line-height:1.5}.inspector{margin-top:8px;border-top:1px dashed var(--line);padding-top:14px}.uploader{margin-bottom:22px}.upload-btn{width:100%;padding:10px;border:1px dashed #b9bec6;border-radius:10px;background:#f9fafb;color:var(--ink);cursor:pointer;font-size:13px;font-weight:600}.upload-btn:hover{border-color:var(--accent)}.upload-info{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:var(--muted)}.upload-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-btn{background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;padding:0;text-decoration:underline}.uploader .link-btn{display:block;margin-top:6px}.fabric-folder-uploader{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#fbfcfd}.fabric-folder-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.fabric-folder-head strong{font-size:12px;color:var(--ink)}.fabric-folder-head .pbr-rig{margin-bottom:0}.fabric-folder-uploader .upload-btn{width:auto;padding:7px 12px;font-size:12px;border-radius:8px}.fabric-folder-uploader .link-btn{margin:0}.fabric-folder-uploader .status{margin-top:8px;font-size:12px}.fabric-folder-uploader .pkg-row{margin-top:8px;font-size:12px;color:var(--muted)}.fabric-folder-uploader .pkg-row strong{color:var(--muted);font-weight:600}.dim-label{display:inline-block;background:#ffffffeb;color:#4c5560;border:1px solid rgba(140,150,165,.45);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600;letter-spacing:.01em;white-space:nowrap;box-shadow:0 1px 4px #0000001f;-webkit-user-select:none;user-select:none}.pkg-summary{margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#f9fafb;font-size:12px;color:var(--ink)}.pkg-summary .pkg-row{margin:2px 0}.pkg-summary .pkg-row strong{color:var(--muted);font-weight:600}.pkg-warnings{margin:8px 0 0;padding-left:4px;list-style:none;font-size:12px;color:#b45309}.pkg-warnings li{margin:2px 0}.inspector-body{font-size:12px;color:var(--muted)}.inspector-body code{background:#f3f4f6;padding:1px 5px;border-radius:4px}.inspector-body ul{padding-left:16px}.pricebar{border-top:1px solid var(--line);padding:18px 24px;display:grid;grid-template-columns:1fr auto;grid-template-areas:"price qty" "btn btn" "status status";gap:12px 16px;align-items:center}.price{grid-area:price;display:flex;flex-direction:column}.price-label{font-size:12px;color:var(--muted)}.price-value{font-size:24px;font-weight:700}.qty{grid-area:qty;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:4px 10px}.qty button{border:none;background:none;font-size:18px;cursor:pointer;width:24px;height:24px;line-height:1}.add-btn{grid-area:btn;background:var(--accent);color:#fff;border:none;padding:14px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}.add-btn:disabled{opacity:.6;cursor:default}.status{grid-area:status;font-size:13px}.status.ok{color:var(--ok)}.status.err{color:var(--err)}.loader{font-size:13px;color:var(--muted);background:#fffc;padding:8px 14px;border-radius:8px}.viewer-fabric-loading{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);background:#ffffffd9;padding:8px 14px;border-radius:999px;box-shadow:0 2px 8px #00000014;pointer-events:none;z-index:5}.viewer-fabric-loading-spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:fabric-loading-spin .7s linear infinite}@keyframes fabric-loading-spin{to{transform:rotate(360deg)}}@media (max-width: 800px){.app{grid-template-columns:1fr;grid-template-rows:55vh 1fr}.panel{border-left:none;border-top:1px solid var(--line)}}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.field label{font-size:12px;font-weight:600;color:var(--muted)}.field input{padding:9px 10px;font-size:14px;border:1px solid var(--line);border-radius:8px}.field-row{display:flex;gap:12px}.field-row .field{flex:1}.delta-input{width:64px;padding:8px;font-size:13px;border:1px solid var(--line);border-radius:8px}.swatch-delta{color:var(--muted);font-style:normal;font-size:11px}.swatch-admin{display:inline-flex;align-items:center;gap:4px;padding-right:4px}.swatch-remove{width:20px;height:20px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--err, #b91c1c);font-size:11px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.swatch-remove:hover{border-color:var(--err, #b91c1c);background:#fef2f2}.save-btn{width:100%;margin-top:18px;background:var(--accent);color:#fff;border:none;padding:14px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}.save-btn:disabled{opacity:.6;cursor:default}.save-actions{display:flex;gap:10px;margin-top:18px}.save-actions .save-btn{margin-top:0}.save-btn--secondary{background:#fff;color:var(--accent);border:1px solid var(--accent)}.draft-note{background:#eef6ff;border:1px solid #bfdbfe;color:#1e40af;padding:10px 12px;border-radius:8px}.dev-note{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;padding:10px 12px;border-radius:8px}.viewer-app{height:640px}.viewer-app .pricebar{margin-top:18px;border-top:1px solid var(--line)}.viewer-app.canvas-only{display:block;grid-template-columns:none;height:clamp(620px,65vw,820px);min-height:620px;max-height:820px}.viewer-app.canvas-only .stage{width:100%;height:100%}.viewer-app.canvas-only .panel{display:none}.configurator-viewer-fill,.single-product-page .elementor-element-b9018c4{width:100%!important;max-width:100%!important;align-self:stretch}.configurator-viewer-fill.elementor-widget,.single-product-page .elementor-element-b9018c4{flex:1 1 100%!important;--width: 100% !important;--flex-grow: 1 !important}@media (min-width: 769px){.configurator-product-row,.single-product-page .elementor-element-5e3b41e>.e-con-inner,.single-product-page .e-con-inner:has(>.wd-sticky-container-lg #configurator-viewer-root){display:grid!important;grid-template-columns:minmax(0,11fr) minmax(420px,9fr)!important;align-items:start}.configurator-product-row>.configurator-viewer-column,.configurator-product-row>.configurator-details-column,.single-product-page .elementor-element-5e3b41e>.e-con-inner>.elementor-element-c5b9519,.single-product-page .elementor-element-5e3b41e>.e-con-inner>.elementor-element-d9e6474,.single-product-page .e-con-inner:has(>.wd-sticky-container-lg #configurator-viewer-root)>.e-con{width:auto!important;max-width:none!important;min-width:0}}@media (max-width: 1024px){.viewer-app.canvas-only{height:65vh;min-height:520px;max-height:680px}}.fabric-section{margin-bottom:20px}.fabric-family{margin-top:14px}.family-name{font-size:12px;font-weight:600;color:var(--ink);margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;gap:8px}.swatch-square{flex-direction:column;align-items:center;gap:6px;padding:6px}.swatch-color-lg{width:46px;height:46px;border-radius:8px;border:1px solid rgba(0,0,0,.12)}.swatch-square .swatch-label{font-size:11px;text-align:center}.fabric-picker{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#fbfcfd;margin-bottom:12px}.fabric-picker .hint{margin:6px 0 0;font-size:12px}.fabric-picker .status{margin-top:8px;font-size:12px}.fabric-picker .fabric-family{margin-top:12px}.picker-count{margin:0;white-space:nowrap}.swatch.picked .swatch-color{box-shadow:0 0 0 2px var(--accent)}.swatch.picked .swatch-label{font-weight:600}.family-maps{margin-left:auto;font-size:11px;font-weight:400;color:var(--muted);white-space:nowrap}.family-name .group-remove{margin-left:0}.family-rename{font-size:12px;font-weight:600;color:var(--ink);padding:4px 6px;border:1px solid transparent;border-radius:6px;background:transparent;min-width:120px;flex:0 1 220px}.family-rename:hover{border-color:var(--line);background:#fff}.family-rename:focus{border-color:var(--accent);background:#fff;outline:none}.fabric-library .fabric-family{border-top:1px solid var(--line);padding-top:10px}.fabric-library .save-btn{margin-top:16px}.fabric-library .upload-btn{width:auto;padding:7px 12px;font-size:12px;border-radius:8px}.fabric-library .link-btn{margin:0}.fabric-library .status{margin-top:8px;font-size:12px}.fabric-oneoff{margin-bottom:12px}.fabric-oneoff>summary{cursor:pointer;font-size:12px;color:var(--muted);padding:4px 0;-webkit-user-select:none;user-select:none}.fabric-oneoff>summary:hover{color:var(--ink)}.fabric-oneoff[open]>summary{margin-bottom:8px}.admin-shell{display:flex;flex-direction:column;height:100%;min-height:0}.admin-tabs{display:flex;gap:4px;padding:0 16px;border-bottom:1px solid var(--line);background:#fafafa;flex:none}.admin-tabs .tab{border:none;background:none;padding:14px 18px;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.admin-tabs .tab:hover{color:var(--ink)}.admin-tabs .tab.active{color:var(--ink);border-bottom-color:var(--accent)}.admin-content{flex:1;min-height:0;overflow:hidden}.admin-content.single{overflow-y:auto}.admin-content.configure{display:flex;flex-direction:column}.configure-topbar{display:flex;align-items:center;gap:14px;padding:12px 20px;border-bottom:1px solid var(--line);background:#fff;flex:none}.configure-title{font-size:14px;font-weight:600}.admin-content.configure .app{flex:1;min-height:0;height:auto}.product-list{padding:24px}.product-list-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.product-list-head h2{margin:0;font-size:20px}.product-search{padding:9px 12px;font-size:14px;border:1px solid var(--line);border-radius:8px;min-width:220px}.product-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.product-card{border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:12px;background:#fff}.product-thumb{aspect-ratio:4 / 3;border-radius:8px;overflow:hidden;background:#f3f4f6;display:flex;align-items:center;justify-content:center}.product-thumb img{width:100%;height:100%;object-fit:cover}.product-thumb-empty{font-size:12px;color:var(--muted)}.product-meta{display:flex;flex-direction:column;gap:4px}.product-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-sub{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.badge{background:#ecfdf5;color:var(--ok);border:1px solid #a7f3d0;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.configure-btn{margin-top:auto;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px;font-size:13px;font-weight:600;cursor:pointer}.configure-btn:hover{opacity:.92}.global-settings{max-width:560px}.checkbox-row{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:500;color:var(--ink);line-height:1.5;cursor:pointer}.checkbox-row input{margin-top:2px}.pbr-toggle{position:absolute;top:10px;left:10px;z-index:10;width:208px;max-height:calc(100% - 20px);overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:6px 10px;font-size:12px;font-weight:600;color:#1c2530;background:#ffffffe6;border:1px solid rgba(0,0,0,.12);border-radius:6px;box-shadow:0 1px 3px #0000001f;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pbr-toggle>summary{cursor:pointer;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;padding-bottom:2px}.pbr-toggle:not([open]){gap:0}.pbr-toggle label{display:flex;align-items:center;gap:6px;cursor:pointer}.pbr-toggle input{cursor:pointer;margin:0}.pbr-toggle .pbr-range{flex-direction:column;align-items:stretch;gap:2px;padding-top:2px}.pbr-toggle .pbr-range input[type=range]{width:150px}.pbr-toggle .pbr-dir{display:flex;flex-direction:column;gap:2px;padding-top:2px}.pbr-toggle .pbr-dir input[type=range]{width:150px}.pbr-toggle .pbr-dir input[type=range]:disabled{opacity:.35;cursor:default}.lighting-controls{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#1c2530}.lighting-controls label{display:flex;align-items:center;gap:6px;cursor:pointer}.lighting-controls input{cursor:pointer;margin:0}.lighting-controls .pbr-range{flex-direction:column;align-items:stretch;gap:2px}.lighting-controls .pbr-range input[type=range]{width:100%}.lighting-controls .pbr-dir{display:flex;flex-direction:column;gap:2px}.lighting-controls .pbr-dir input[type=range]{width:100%}.lighting-controls .pbr-dir input[type=range]:disabled{opacity:.35;cursor:default}.lighting-controls .pbr-rig{flex-wrap:wrap}.lighting-controls .pbr-rig button{flex:1 1 auto;min-width:76px;font-size:11px;padding:5px 8px;cursor:pointer;border:1px solid rgba(0,0,0,.15);background:#fff;border-radius:6px;color:#1c2530}.lighting-controls .pbr-rig button.active{border-color:var(--accent);font-weight:600}.lighting-controls .pbr-select{display:flex;flex-direction:column;gap:3px;font-size:11px}.lighting-controls .pbr-select select{width:100%;font-size:11px;padding:4px 6px;border-radius:6px;border:1px solid rgba(0,0,0,.15);background:#fff;color:#1c2530}.tex-scale{display:flex;flex-direction:column;gap:8px;border:1px solid rgba(0,0,0,.08);background:#fff;border-radius:10px;padding:12px;margin:0 0 18px}.tex-scale-head{display:flex;align-items:center;justify-content:space-between}.tex-scale-head label{font-size:12px;font-weight:700;color:#1c2530}.tex-scale-head button{font-size:11px;padding:4px 8px;cursor:pointer;border:1px solid rgba(0,0,0,.15);background:#fff;border-radius:6px;color:#1c2530}.tex-scale .hint{margin:0;font-size:11px}.tex-scale-row{display:grid;grid-template-columns:82px 1fr 52px;align-items:center;gap:8px;font-size:12px;color:#1c2530;cursor:default}.tex-scale-row input[type=range]{width:100%;cursor:pointer;margin:0}.tex-scale-row b{font-size:11px;text-align:right;font-weight:600}.lighting-note{font-size:11px;font-weight:600;line-height:1.4;color:#7a5b00;background:#fff7e0;border:1px solid #f3dfa2;border-radius:6px;padding:6px 8px}.fabric-lighting{margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f9fafb}.fabric-lighting-head{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;font-size:12px;color:var(--muted)}.fabric-lighting-head strong{color:var(--ink)}.fabric-lighting-head .pbr-rig{margin-bottom:0}.asm-view{grid-template-columns:1fr 400px;position:relative}.asm-view.dropping .stage{outline:2px dashed var(--accent);outline-offset:-8px}.asm-drop-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;background:#ffffff8c;font-size:15px;font-weight:600}.asm-panel{padding-bottom:40px}.asm-sub-label{margin:14px 0 6px;font-size:12px;font-weight:600;color:var(--muted)}.asm-meta{font-size:12px;color:var(--muted);margin:8px 0 0;line-height:1.5}.asm-check{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;color:var(--muted);cursor:pointer}.asm-check input{margin:0}.asm-library{list-style:none;margin:0;padding:0;display:grid;gap:4px}.asm-lib-btn{width:100%;display:grid;grid-template-columns:1fr auto 16px;align-items:center;gap:8px;text-align:left;cursor:pointer;background:#f9fafb;border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:12px;color:var(--ink)}.asm-lib-btn:hover{border-color:var(--accent)}.asm-lib-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asm-lib-role{color:var(--muted);font-size:11px}.asm-lib-add{color:var(--muted);font-weight:700;text-align:center}.asm-row-btns{display:flex;flex-wrap:wrap;gap:6px}.asm-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 11px;font-size:12px;cursor:pointer;color:var(--ink)}.asm-btn:hover:not(:disabled){border-color:var(--accent)}.asm-btn.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.asm-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.asm-btn.sm{padding:5px 9px}.asm-btn:disabled{opacity:.45;cursor:not-allowed}.link-btn.danger{color:var(--err)}.asm-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}.asm-item{border:1px solid var(--line);border-radius:10px;padding:9px 10px;cursor:pointer;display:grid;gap:7px}.asm-item:hover{border-color:#c7cbd1}.asm-item.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.asm-item-head{display:flex;align-items:center;gap:8px;justify-content:space-between}.asm-item-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asm-item-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.asm-item-row select{flex:1;min-width:0;font-size:12px;padding:5px 6px;border:1px solid var(--line);border-radius:8px;background:#fff}.asm-status{font-size:11px;font-weight:600;flex:none}.asm-status.ok{color:var(--ok)}.asm-status.warn{color:#b45309}.asm-status.free,.asm-status.loading{color:var(--muted);font-weight:500}.asm-vec{display:grid;grid-template-columns:62px repeat(3,1fr);gap:6px;margin-top:8px}.asm-vec-label{font-size:12px;color:var(--muted);align-self:center}.asm-vec input,.asm-step input{min-width:0;font-size:12px;padding:5px 6px;border:1px solid var(--line);border-radius:8px}.asm-step{display:flex;align-items:center;gap:8px;margin:10px 0;font-size:12px;color:var(--muted)}.asm-step input{width:90px}.asm-dir{display:grid;grid-template-columns:118px 1fr 32px;align-items:center;gap:8px;margin:2px 0}.asm-dir .asm-check{margin-top:0}.asm-dir input[type=range]{width:100%;min-width:0;padding:0;border:0;border-radius:0}.asm-dir input[type=range]:disabled{opacity:.35;cursor:default}.asm-dir-value{font-size:11px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.asm-dir.off .asm-check,.asm-dir.off .asm-dir-value{opacity:.55}.asm-dir-role{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 4px}.asm-issues{list-style:none;margin:0;padding:0;display:grid;gap:6px}.asm-issues li{font-size:12px;line-height:1.45;padding:7px 9px;border-radius:8px;background:#fffbeb;color:#92400e;border:1px solid #fde68a}.asm-issues li.error{background:#fef2f2;color:var(--err);border-color:#fecaca}.asm-issues li.info{background:#f9fafb;color:var(--muted);border-color:var(--line)}.asm-ok-msg{font-size:12px;color:var(--ok);margin:0}.asm-note{font-size:12px;color:var(--muted);margin:16px 0 0;padding:9px 10px;background:#f9fafb;border:1px solid var(--line);border-radius:8px}.asm-select{width:100%;font-size:12px;padding:6px 7px;border:1px solid var(--line);border-radius:8px;background:#fff}.asm-tag{margin-left:6px;padding:1px 7px;border-radius:999px;background:#f3f4f6;border:1px solid var(--line);font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.asm-pkg{margin-top:10px;padding:9px 10px;border-radius:8px;background:#f9fafb;border:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.6}.asm-pkg .warn{color:#92400e}.pbr-rig{display:flex;gap:4px;margin-bottom:6px}.pbr-rig button{flex:1;font-size:11px;padding:4px 6px;cursor:pointer;border:1px solid rgba(0,0,0,.15);background:#fff;border-radius:6px}.pbr-rig button.active{border-color:var(--accent);font-weight:600}.pbr-select{display:flex;flex-direction:column;gap:3px;font-size:11px}.pbr-select select{font-size:11px;padding:3px 4px;border-radius:6px;border:1px solid rgba(0,0,0,.15)}.compare-view{max-width:2400px;padding:24px}.compare-head h2{margin:0 0 6px;font-size:20px}.compare-head .hint{margin-bottom:18px}.compare-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:24px}.compare-slot{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}.compare-slot-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.compare-slot-key{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.compare-canvas{position:relative;width:100%;height:720px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#f6f6f6;margin-bottom:12px}.compare-canvas canvas{display:block}.compare-file{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px}.compare-type{font-size:12px;color:var(--muted);margin-bottom:12px}.compare-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.compare-kpi{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:1px solid var(--line);border-radius:8px;background:#f9fafb}.compare-kpi-val{font-size:16px;font-weight:700}.compare-kpi-label{font-size:10px;color:var(--muted);text-transform:uppercase}.compare-group{margin-bottom:14px}.compare-group-label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}.compare-options{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:5px}.compare-option{font-size:12px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);cursor:pointer;font-family:inherit}.compare-option:hover{border-color:var(--accent);color:var(--accent)}.compare-option.active{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.compare-table-wrap h3{margin:0 0 10px;font-size:16px}.compare-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.compare-table th,.compare-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.5}.compare-table thead th{background:#f9fafb;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.compare-table .cmp-th-group{font-weight:600;color:var(--ink);white-space:nowrap}.compare-table tbody tr:last-child td{border-bottom:none}.stage-buttons{position:absolute;bottom:14px;left:50%;transform:translate(-50%);z-index:5;display:flex;gap:8px}.ar-button,.dim-button{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #00000014}.ar-button:hover,.dim-button:hover{border-color:var(--accent)}.dim-button.on{background:var(--accent);border-color:var(--accent);color:#fff}.ar-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;background:#11182780}.ar-modal-card{position:relative;background:#fff;border-radius:12px;padding:24px;text-align:center;max-width:90vw}.ar-modal-close{position:absolute;top:8px;right:12px;border:none;background:none;font-size:20px;cursor:pointer;color:var(--muted)}.ar-modal-card img{width:280px;height:280px;max-width:100%;border-radius:8px}.ar-modal-loading{width:280px;height:280px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px}.ar-modal-card p{margin:14px 0 6px;font-size:13px;color:var(--muted)}.ar-modal-link{font-size:13px;color:var(--accent)}.ar-launch-btn{width:100%;padding:13px 28px;border:none;border-radius:999px;background:#111827;color:#fff;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #00000040}.ar-launch-btn:hover{background:#1f2937}.ar-button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;-webkit-tap-highlight-color:transparent}.ar-quicklook-img{width:0;height:0;opacity:0;position:absolute;pointer-events:none}.ar-toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%);z-index:2147483000;display:flex;align-items:center;gap:10px;max-width:92vw;padding:10px 12px 10px 16px;border-radius:10px;background:#111827eb;color:#fff;font-size:13px;box-shadow:0 6px 20px #0000004d}.ar-toast-close{border:none;background:none;color:#fff;font-size:18px;line-height:1;cursor:pointer;padding:0 2px}.ar-modal-title{margin:0 0 4px;font-size:16px;color:var(--ink)}.ar-modal-list{margin:10px 0 16px;padding-left:20px;text-align:left;font-size:14px;color:var(--ink)}.ar-modal-list li{margin:2px 0}.ar-live{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.ar-live canvas{background:transparent!important}.ar-hint{position:absolute;top:max(16px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:61;pointer-events:none;padding:8px 16px;border-radius:999px;background:#111827b8;color:#fff;font-size:13px;white-space:nowrap;max-width:92vw}.ar-hud{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:0;right:0;z-index:61;display:flex;justify-content:center;gap:8px;pointer-events:none}.ar-hud>*{pointer-events:auto}.ar-pill{padding:11px 18px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:#111827b8;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.ar-pill:disabled{opacity:.55;cursor:default}.ar-pill-exit{border-color:#fff9}.ar-fail{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:62;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:88vw;padding:18px 20px;border-radius:12px;background:#111827eb;color:#fff;text-align:center}.ar-fail p{margin:0;font-size:13px}.ar-crash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;padding:24px;overflow:auto;background:#fff;color:#b91c1c;font-family:monospace;font-size:13px}
