@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,600;12..96,700&family=JetBrains+Mono:wght@400;500&display=swap";*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;margin:0;overflow:hidden}#root{height:100%;overflow:hidden}.configurator-root .config-panel{--panel-accent:#e8b84a;--panel-accent-dim:#e8b84a24;--panel-accent-glow:#e8b84a59;--panel-surface:#141210;--panel-surface-raised:#1c1916;--panel-surface-inset:#0f0e0d;--panel-line:#fff8eb12;--panel-line-strong:#e8b84a38;--panel-text-soft:#8a8278;--panel-radius:10px;--panel-radius-sm:6px;background:linear-gradient(165deg, #181512 0%, var(--panel-surface) 42%, #100f0d 100%);border-left:1px solid var(--panel-line);flex-direction:column;height:100%;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:-12px 0 40px #00000059}.configurator-root .config-panel:before{content:"";pointer-events:none;opacity:.55;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");position:absolute;inset:0}.configurator-root .config-panel:after{content:"";background:linear-gradient(180deg, transparent 0%, var(--panel-accent) 18%, var(--panel-accent) 82%, transparent 100%);opacity:.55;z-index:1;pointer-events:none;width:3px;height:100%;position:absolute;top:0;left:0}.configurator-root .config-panel>*{z-index:2;position:relative}.configurator-root .config-panel__header{border-bottom:1px solid var(--panel-line);flex-shrink:0;padding:10px 16px 9px}.configurator-root .config-panel__title{letter-spacing:-.02em;color:#faf6ef;align-items:center;gap:8px;margin:0;font-family:Bricolage Grotesque,sans-serif;font-size:15px;font-weight:700;line-height:1.2;display:flex}.configurator-root .config-panel__badge{letter-spacing:.08em;text-transform:uppercase;color:var(--panel-accent);border:1px solid var(--panel-line-strong);background:var(--panel-accent-dim);border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:500;line-height:1.3}.configurator-root .config-panel__scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1 1 0;min-height:0;padding:14px 14px 8px;overflow:hidden auto}.configurator-root .config-panel__scroll>.section{margin-bottom:12px}.configurator-root .config-panel__scroll>.section:last-child{margin-bottom:0}.configurator-root .config-panel__footer{border-top:1px solid var(--panel-line);background:var(--panel-surface-inset);flex-shrink:0;padding:14px 18px 18px}.configurator-root .config-panel__metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.configurator-root .config-panel__metric{border-radius:var(--panel-radius-sm);background:var(--panel-surface-raised);border:1px solid var(--panel-line);padding:10px 10px 9px;transition:border-color .2s,background .2s}.configurator-root .config-panel__metric dt{letter-spacing:.14em;text-transform:uppercase;color:var(--panel-text-soft);margin:0 0 4px;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:500}.configurator-root .config-panel__metric dd{color:#faf6ef;letter-spacing:-.02em;margin:0;font-family:Bricolage Grotesque,sans-serif;font-size:15px;font-weight:600}.configurator-root .config-panel__metric--accent dd{color:var(--panel-accent)}.configurator-root .config-panel .section{border-radius:var(--panel-radius);background:var(--panel-surface-raised);border:none;border:1px solid var(--panel-line);padding:0;animation:.45s backwards panel-section-in;overflow:hidden}.configurator-root .config-panel .section:first-child{animation-delay:50ms}.configurator-root .config-panel .section:nth-child(2){animation-delay:.12s}.configurator-root .config-panel .section:nth-child(3){animation-delay:.19s}@keyframes panel-section-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.configurator-root .config-panel .section__head{border-bottom:1px solid var(--panel-line);background:linear-gradient(90deg, var(--panel-accent-dim) 0%, transparent 55%);align-items:flex-start;gap:12px;padding:14px 16px 10px;display:flex}.configurator-root .config-panel .section__step{color:var(--panel-accent);opacity:.9;flex-shrink:0;padding-top:3px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;line-height:1}.configurator-root .config-panel .section__titles{min-width:0}.configurator-root .config-panel .section-title{letter-spacing:-.01em;text-transform:none;color:#faf6ef;margin:0 0 2px;font-family:Bricolage Grotesque,sans-serif;font-size:14px;font-weight:700}.configurator-root .config-panel .section-subtitle{color:var(--panel-text-soft);margin:0;font-size:11px;line-height:1.4}.configurator-root .config-panel .section__body{padding:14px 16px 16px}.configurator-root .config-panel .slider-row{margin-bottom:14px}.configurator-root .config-panel .slider-label{letter-spacing:.04em;color:var(--panel-text-soft);margin-bottom:8px;font-family:JetBrains Mono,monospace;font-size:10px}.configurator-root .config-panel .slider-label span:last-child{color:var(--panel-accent);font-weight:500}.configurator-root .config-panel input[type=range]{background:linear-gradient(to right, var(--panel-accent) 0%, var(--panel-accent) var(--slider-pct,50%), var(--panel-surface-inset) var(--slider-pct,50%), var(--panel-surface-inset) 100%);border-radius:3px;height:5px;box-shadow:inset 0 1px 2px #0006}.configurator-root .config-panel input[type=range]::-webkit-slider-thumb{border:2px solid var(--panel-accent);width:16px;height:16px;box-shadow:0 0 0 3px var(--panel-accent-dim), 0 2px 8px #0006;background:#faf6ef;transition:transform .15s,box-shadow .15s}.configurator-root .config-panel input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 0 0 4px var(--panel-accent-glow), 0 2px 10px #00000073;transform:scale(1.08)}.configurator-root .config-panel input[type=range]::-moz-range-thumb{border:2px solid var(--panel-accent);width:16px;height:16px;box-shadow:0 0 0 3px var(--panel-accent-dim);background:#faf6ef}.configurator-root .config-panel .panel-stat{color:var(--panel-text-soft);border-radius:var(--panel-radius-sm);background:var(--panel-surface-inset);border:1px dashed var(--panel-line);align-items:center;gap:8px;margin:-2px 0 14px;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.configurator-root .config-panel .panel-stat strong{color:var(--panel-accent);font-weight:500}.configurator-root .config-panel .panel-stat:before{content:"↔";color:var(--panel-accent);opacity:.7;font-size:12px}.configurator-root .config-panel .wizard-field-label{letter-spacing:.12em;text-transform:uppercase;color:var(--panel-text-soft);margin:4px 0 10px;font-family:JetBrains Mono,monospace;font-size:9px}.configurator-root .config-panel .choice-btn{background:var(--panel-surface-inset);border:1px solid var(--panel-line);border-radius:var(--panel-radius-sm);transition:border-color .18s,background .18s,transform .12s}.configurator-root .config-panel .choice-btn:hover{border-color:var(--panel-line-strong);background:#ffffff08}.configurator-root .config-panel .choice-btn.active{border-color:var(--panel-accent);background:var(--panel-accent-dim);box-shadow:inset 0 0 0 1px #e8b84a1f}.configurator-root .config-panel .choice-btn.active .choice-label,.configurator-root .config-panel .choice-btn.active span:not(.choice-avatar):not(.slat-swatch){color:var(--panel-accent)}.configurator-root .config-panel .choice-avatar--placeholder{border:1px solid var(--panel-line);color:var(--panel-accent);background:#e8b84a14;font-family:JetBrains Mono,monospace}.configurator-root .config-panel .toggle{background:var(--panel-surface-inset);border-radius:11px;width:40px;height:22px}.configurator-root .config-panel .toggle.on{background:var(--panel-accent);border-color:var(--panel-accent)}.configurator-root .config-panel .toggle:after{background:#1a1815;width:16px;height:16px;top:2px;left:2px}.configurator-root .config-panel .toggle.on:after{background:#0e0d0c;left:20px}.configurator-root .config-panel .toggle-label{color:#d4cec4;font-size:13px}.configurator-root .config-panel :is(button,input,select,a):focus{outline:none}.configurator-root .config-panel :is(button,input,select,a):focus-visible{outline:2px solid var(--panel-accent);outline-offset:2px}.configurator-root .config-panel .gate-block{border-bottom:1px solid var(--panel-line);margin-bottom:18px;padding-bottom:16px}.configurator-root .config-panel .gate-block:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.configurator-root .config-panel .gate-label{letter-spacing:-.01em;color:#faf6ef;margin:0;font-family:Bricolage Grotesque,sans-serif;font-size:13px;font-weight:600}.configurator-root .config-panel .entrance-list-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.configurator-root .config-panel .entrance-add-btn{letter-spacing:.02em;text-transform:none;border-radius:var(--panel-radius-sm);border:1px solid var(--panel-line-strong);background:var(--panel-accent-dim);color:var(--panel-accent);cursor:pointer;flex-shrink:0;padding:7px 12px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;transition:background .18s,border-color .18s,transform .12s}.configurator-root .config-panel .entrance-add-btn:before{content:"+";opacity:.85;margin-right:5px;font-weight:600}.configurator-root .config-panel .entrance-add-btn:hover{border-color:var(--panel-accent);background:#e8b84a38}.configurator-root .config-panel .entrance-add-btn:active{transform:scale(.98)}.configurator-root .config-panel .entrance-empty-hint{color:var(--panel-text-soft);border-radius:var(--panel-radius-sm);background:var(--panel-surface-inset);border:1px dashed var(--panel-line);margin:0 0 10px;padding:10px 12px;font-size:11px;line-height:1.45}.configurator-root .config-panel .entrance-card{background:var(--panel-surface-inset);border:1px solid var(--panel-line);border-radius:var(--panel-radius);cursor:pointer;margin-bottom:10px;padding:12px 12px 12px 14px;transition:border-color .22s,box-shadow .22s,background .22s;position:relative}.configurator-root .config-panel .entrance-card:before{content:"";background:0 0;border-radius:0 2px 2px 0;width:3px;transition:background .22s,box-shadow .22s;position:absolute;top:10px;bottom:10px;left:0}.configurator-root .config-panel .entrance-card:last-child{margin-bottom:0}.configurator-root .config-panel .entrance-card:hover{border-color:var(--panel-line-strong);background:#fff8eb05}.configurator-root .config-panel .entrance-card--active{border-color:var(--panel-line-strong);background:#e8b84a0a;box-shadow:inset 0 1px #fff8eb0a,0 6px 24px #0003}.configurator-root .config-panel .entrance-card--active:before{background:var(--panel-accent);box-shadow:0 0 12px var(--panel-accent-glow)}.configurator-root .config-panel .entrance-card-header{border-bottom:1px solid var(--panel-line);justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;display:flex}.configurator-root .config-panel .entrance-card-title{color:#faf6ef;font-family:Bricolage Grotesque,sans-serif;font-size:13px;font-weight:600;line-height:1.3}.configurator-root .config-panel .entrance-card-posts{letter-spacing:.02em;color:var(--panel-text-soft);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:400}.configurator-root .config-panel .entrance-remove-btn{letter-spacing:.06em;text-transform:uppercase;border-radius:var(--panel-radius-sm);border:1px solid var(--panel-line);color:var(--panel-text-soft);cursor:pointer;background:0 0;flex-shrink:0;padding:5px 10px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:500;text-decoration:none;transition:color .18s,border-color .18s,background .18s}.configurator-root .config-panel .entrance-remove-btn:hover{color:#e8a090;background:#b45a461a;border-color:#c8786473}.configurator-root .config-panel .entrance-field{margin-bottom:14px}.configurator-root .config-panel .entrance-field:last-of-type{margin-bottom:0}.configurator-root .config-panel .entrance-field-label{letter-spacing:.1em;text-transform:uppercase;color:var(--panel-text-soft);margin-bottom:8px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:500;display:block}.configurator-root .config-panel .gate-variant-picker{margin-top:0}.configurator-root .config-panel .entrance-opening-hint{color:var(--panel-text-soft);margin:8px 0 0;padding-left:2px;font-size:11px;line-height:1.4}.configurator-root .config-panel .entrance-segmented{border-radius:var(--panel-radius-sm);border:1px solid var(--panel-line);background:#00000059;gap:0;padding:3px;display:flex}.configurator-root .config-panel .entrance-segmented .choice-btn{color:#b8b0a4;min-height:40px;box-shadow:none;background:0 0;border:none;border-radius:4px;flex:1;padding:8px 10px;font-family:Bricolage Grotesque,sans-serif;font-size:12px;font-weight:600}.configurator-root .config-panel .entrance-segmented .choice-btn:hover{color:#e8e2d8;background:#fff8eb0a}.configurator-root .config-panel .entrance-segmented .choice-btn.active{color:#1a1815;background:var(--panel-accent);border:none;box-shadow:0 1px 4px #00000059}.configurator-root .config-panel .entrance-segmented .choice-btn.active span{color:inherit}.configurator-root .config-panel .entrance-card .modern-style-picker--compact{margin-top:2px}.configurator-root .config-panel .entrance-card .modern-model-list--compact{grid-template-columns:repeat(3,1fr);gap:6px;max-height:none;margin-bottom:0;display:grid;overflow:visible}.configurator-root .config-panel .entrance-card .modern-model-btn{text-align:center;border:1px solid var(--panel-line);border-radius:var(--panel-radius-sm);background:#00000040;align-items:center;padding:10px 8px;transition:border-color .18s,background .18s}.configurator-root .config-panel .entrance-card .modern-model-btn:hover{border-color:var(--panel-line-strong);background:#fff8eb08}.configurator-root .config-panel .entrance-card .modern-model-btn.active{border-color:var(--panel-accent);background:var(--panel-accent-dim);box-shadow:inset 0 0 0 1px #e8b84a26}.configurator-root .config-panel .entrance-card .modern-model-btn__code{text-align:center;width:100%;font-family:Bricolage Grotesque,sans-serif;font-size:11px;font-weight:600}.configurator-root .config-panel .entrance-card .slider-row{margin-top:14px;margin-bottom:6px}.configurator-root .config-panel .entrance-card .dimension-derived{color:var(--panel-text-soft);margin:0;font-family:JetBrains Mono,monospace;font-size:10px}.configurator-root .config-panel .entrance-schematic-track{border-radius:var(--panel-radius-sm);background:var(--panel-surface-inset);border:1px solid var(--panel-line);box-sizing:border-box;align-items:stretch;gap:0;height:40px;padding:4px 3px}.configurator-root .config-panel .entrance-schematic-marker{box-sizing:border-box;letter-spacing:.04em;touch-action:none;border:1px solid #0000;border-radius:5px;justify-content:center;align-self:center;align-items:center;min-width:28px;height:30px;padding:0 6px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;line-height:1;transition:box-shadow .15s,border-color .15s,background .15s;display:flex}.configurator-root .config-panel .entrance-schematic-pair{border-left:1px solid var(--panel-line);border-right:1px solid var(--panel-line);box-sizing:border-box;background:#fff8eb08;justify-content:center;align-items:center;gap:4px;min-width:0;height:100%;padding:0 6px;display:flex}.configurator-root .config-panel .entrance-schematic-marker--paired{flex:1 1 0;width:auto;min-width:34px;max-width:42px}.configurator-root .config-panel .entrance-schematic-pair-post{background:var(--panel-line-strong);pointer-events:none;border-radius:1px;flex:0 0 2px;align-self:center;min-width:2px;height:18px}.configurator-root .config-panel .entrance-schematic-marker--wicket{background:var(--panel-accent-dim);color:var(--panel-accent);border-color:#e8b84a8c}.configurator-root .config-panel .entrance-schematic-marker--gate{color:#a8c492;background:#8fad7a26;border-color:#a8c49280}.configurator-root .config-panel .entrance-schematic-marker--active{box-shadow:0 0 0 2px var(--panel-accent-glow), inset 0 1px 0 #ffffff0f;outline:none}.configurator-root .config-panel .entrance-schematic-marker--wicket.entrance-schematic-marker--active{border-color:var(--panel-accent);background:#e8b84a38}.configurator-root .config-panel .entrance-schematic-marker--gate.entrance-schematic-marker--active{background:#8fad7a47;border-color:#a8c492}.configurator-root .config-panel .entrance-schematic-hint{color:var(--panel-text-soft);margin-top:6px;font-size:10px}.configurator-root .config-panel .entrance-order-btn--active{border-color:var(--panel-accent);color:var(--panel-accent);background:var(--panel-accent-dim)}.configurator-root .config-panel .entrance-order-btn:hover:not(:disabled){border-color:var(--panel-line-strong)}.configurator-root .config-panel .entrance-open-row{margin:12px 0 8px}.configurator-root .config-panel .entrance-open-btn{border-radius:var(--panel-radius-sm);border:1px solid var(--panel-line);background:var(--panel-surface-inset);color:#d4cec4;cursor:pointer;width:100%;padding:10px 14px;font-family:Bricolage Grotesque,sans-serif;font-size:12px;font-weight:600;transition:border-color .18s,color .18s,background .18s}.configurator-root .config-panel .entrance-open-btn:hover{border-color:var(--panel-accent);color:var(--panel-accent);background:var(--panel-accent-dim)}.configurator-root .config-panel .entrance-preset-row{border-radius:var(--panel-radius-sm);background:var(--panel-surface-inset);border:1px solid var(--panel-line);flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding:8px 10px;display:flex}.configurator-root .config-panel .entrance-preset-label{letter-spacing:.08em;text-transform:uppercase;color:var(--panel-text-soft);margin-right:4px;font-family:JetBrains Mono,monospace;font-size:9px}.configurator-root .config-panel .entrance-preset-btn{border:1px solid var(--panel-line);color:#c8c0b4;cursor:pointer;background:#0003;border-radius:4px;flex:1;min-width:0;padding:7px 10px;font-family:Bricolage Grotesque,sans-serif;font-size:11px;font-weight:600;transition:border-color .18s,color .18s,background .18s}.configurator-root .config-panel .entrance-preset-btn:hover{border-color:var(--panel-accent);color:var(--panel-accent);background:var(--panel-accent-dim)}.configurator-root .config-panel .entrance-swap-btn{border:1px solid var(--panel-line);background:var(--panel-surface-raised);width:26px;height:26px;color:var(--panel-text-soft);cursor:pointer;z-index:2;border-radius:5px;flex:0 0 26px;justify-content:center;align-items:center;margin:0;padding:0;font-size:12px;line-height:1;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.configurator-root .config-panel .entrance-swap-btn:hover{border-color:var(--panel-accent);color:var(--panel-accent);background:var(--panel-accent-dim)}.configurator-root .config-panel .slat-swatch{border-radius:4px;box-shadow:inset 0 0 0 1px #00000040}@media (width<=900px){.configurator-root .config-panel__header{padding:8px 14px 7px}.configurator-root .config-panel__scroll{padding:10px 10px 6px}.configurator-root .config-panel__scroll>.section{margin-bottom:10px}.configurator-root .config-panel__footer{padding:12px 14px max(14px, env(safe-area-inset-bottom,0px))}.configurator-root .config-panel__metric dd{font-size:14px}}@media (width<=900px) and (orientation:landscape){.configurator-root .config-panel__header{padding:8px 12px 6px}}@media (prefers-reduced-motion:reduce){.configurator-root .config-panel .section{animation:none}}.configurator-root{--bg:#0f0f0f;--panel:#161616;--panel2:#1e1e1e;--border:#ffffff14;--accent:#c8ff00;--accent2:#00d4aa;--text:#f0f0f0;--muted:#666;background:var(--bg);color:var(--text);height:100dvh;font-family:Bricolage Grotesque,sans-serif;overflow:hidden}.configurator-root .app{grid-template-columns:1fr min(360px,38vw);gap:0;height:100%;min-height:0;display:grid;overflow:hidden}.configurator-root .app>.config-panel{min-height:0;max-height:100%}@media (width<=900px){.configurator-root .app{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:1fr;height:100%}}.configurator-root .canvas-area{background:var(--bg);border-right:1px solid var(--border);height:100%;min-height:0;position:relative;overflow:hidden}@media (width<=900px){.configurator-root .canvas-area{border-right:none;border-bottom:1px solid var(--border)}}.configurator-root .viewport{width:100%;height:100%;position:absolute;inset:0}.configurator-root .viewport canvas{touch-action:none;display:block;width:100%!important;height:100%!important}.configurator-root .view-controls{z-index:2;gap:6px;display:flex;position:absolute;top:12px;left:12px}.configurator-root .camera-zoom-controls{z-index:2;flex-direction:column;gap:4px;display:flex;position:absolute;top:12px;right:12px}.configurator-root .camera-zoom-btn{border:1px solid var(--border);width:32px;height:32px;color:var(--text);cursor:pointer;background:#161616e6;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:18px;line-height:1;transition:all .15s}.configurator-root .camera-zoom-btn:hover{color:var(--accent);border-color:var(--accent)}.configurator-root .view-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:#161616e6;border-radius:4px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:11px;transition:all .15s}.configurator-root .view-btn:hover,.configurator-root .view-btn.active{color:var(--accent);border-color:var(--accent)}.configurator-root .info-bar{color:var(--muted);z-index:2;pointer-events:none;justify-content:space-between;align-items:center;font-family:JetBrains Mono,monospace;font-size:11px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.configurator-root .drag-hint{align-items:center;gap:6px;display:flex}.configurator-root .drag-icon{font-size:14px}.configurator-root .dim-label{color:#555;font-family:JetBrains Mono,monospace;font-size:11px}.configurator-root .panel{background:var(--panel);overscroll-behavior:contain;flex-direction:column;height:100%;min-height:0;display:flex;overflow-y:auto}.configurator-root .panel-header{border-bottom:1px solid var(--border);padding:20px 20px 16px}.configurator-root .panel-header h1{letter-spacing:-.02em;color:var(--text);margin:0;font-size:18px;font-weight:700}.configurator-root .panel-header p{color:var(--muted);margin:2px 0 0;font-family:JetBrains Mono,monospace;font-size:12px}.configurator-root .panel-placeholder{color:var(--muted);padding:20px;font-family:JetBrains Mono,monospace;font-size:13px}.configurator-root .panel-body{flex:1;overflow-y:auto}.configurator-root .row-between{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.configurator-root .gate-label{font-size:13px;font-weight:600}.configurator-root .slat-color-grid{grid-template-columns:repeat(3,1fr)}.configurator-root .panel-pattern-grid{grid-template-columns:repeat(3,1fr);margin-top:6px}.configurator-root .panel-pattern-grid--fill{grid-template-columns:repeat(5,1fr)}.configurator-root .modern-model-list{flex-direction:column;gap:6px;max-height:220px;margin-bottom:12px;display:flex;overflow-y:auto}.configurator-root .modern-model-list--compact{max-height:140px}.configurator-root .modern-model-list--compact .modern-model-btn{padding:6px 8px}.configurator-root .modern-model-btn{text-align:left;background:var(--panel2);width:100%;color:inherit;cursor:pointer;border:2px solid #0000;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.configurator-root .modern-model-btn:hover{border-color:#f4cb2973}.configurator-root .modern-model-btn.active{border-color:var(--pkm-yellow)}.configurator-root .modern-model-btn__code{font-size:12px;font-weight:700}.configurator-root .modern-model-btn__exec{color:var(--muted);font-size:10px;line-height:1.3}@media (width<=420px){.configurator-root .panel-pattern-grid--fill{grid-template-columns:repeat(3,1fr)}}.configurator-root .choice-btn--compact{padding:6px}.configurator-root .pattern-icon{border:1px solid var(--border);background:linear-gradient(#ffffff59 0 22%,#0000 22% 28%) 0 0/100% 28%;border-radius:4px;width:48px;height:28px;display:block}.configurator-root .pattern-icon--vertical{background:linear-gradient(90deg,#ffffff59 0 18%,#0000 18% 24%) 0 0/28% 100%}.configurator-root .pattern-icon--staggered{background-image:linear-gradient(#ffffff59 0 40%,#0000 40%),linear-gradient(#0000 0 50%,#ffffff59 50% 90%);background-position:0 0,50%;background-repeat:repeat;background-size:50% 50%,50% 50%}.configurator-root .pattern-icon--solid{background:#fff6}.configurator-root .pattern-icon--perforatedQg58{background-color:#ffffff26;background-image:radial-gradient(circle,#0000 18%,#ffffff73 19%);background-size:7px 7px}.configurator-root .pattern-icon--perforatedQg1030{background-color:#ffffff26;background-image:radial-gradient(circle,#0000 22%,#ffffff73 23%);background-size:11px 11px}.configurator-root .pattern-icon--perforatedRv58{background-color:#ffffff26;background-image:linear-gradient(90deg,#0000 35%,#ffffff80 36% 64%,#0000 65%);background-size:9px 6px}.configurator-root .pattern-icon--perforatedOz1016{background-color:#ffffff26;background-image:radial-gradient(60% 40%,#0000 55%,#ffffff73 56%);background-size:14px 10px}.configurator-root .slat-swatch{border:1px solid var(--border);border-radius:4px;width:48px;height:28px;display:block}.configurator-root .entrance-preset-grid{grid-template-columns:1fr}.configurator-root .section{border-bottom:1px solid var(--border);padding:16px 20px}.configurator-root .section-subtitle{color:var(--muted,#666);margin:-.25rem 0 .5rem;font-size:.72rem;line-height:1.35}.configurator-root .section-title{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-size:10px;font-weight:600}.configurator-root .style-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.configurator-root .style-btn{background:var(--panel2);border:1px solid var(--border);cursor:pointer;text-align:center;color:inherit;border-radius:6px;padding:10px 6px;font-family:Bricolage Grotesque,sans-serif;transition:all .15s}.configurator-root .style-btn:hover{border-color:#c8ff0066}.configurator-root .style-btn.active{border-color:var(--accent);background:#c8ff000f}.configurator-root .style-btn .icon{margin-bottom:4px;font-size:20px;display:block}.configurator-root .style-btn .label{color:var(--muted);font-size:10px}.configurator-root .style-btn.active .label{color:var(--accent)}.configurator-root .dimension-derived{color:var(--muted);margin:-4px 0 12px;font-family:JetBrains Mono,monospace;font-size:11px}.configurator-root .slider-row{margin-bottom:12px}.configurator-root .slider-row:last-child{margin-bottom:0}.configurator-root .slider-label{color:var(--muted);justify-content:space-between;margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:12px;display:flex}.configurator-root .slider-label span:last-child{color:var(--text)}.configurator-root input[type=range]{appearance:none;background:var(--panel2);cursor:pointer;border:none;border-radius:2px;outline:none;width:100%;height:3px}.configurator-root input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;border:2px solid var(--bg);border-radius:50%;width:14px;height:14px}.configurator-root input[type=range]::-moz-range-thumb{background:var(--accent);cursor:pointer;border:2px solid var(--bg);border-radius:50%;width:14px;height:14px}.configurator-root .color-row{flex-wrap:wrap;gap:8px;display:flex}.configurator-root .color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;padding:0;transition:all .15s}.configurator-root .color-swatch.active{border-color:var(--accent);transform:scale(1.15)}.configurator-root .material-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.configurator-root .material-btn{background:var(--panel2);border:1px solid var(--border);cursor:pointer;text-align:left;color:inherit;border-radius:6px;padding:10px;transition:all .15s}.configurator-root .material-btn:hover{border-color:#00d4aa66}.configurator-root .material-btn.active{border-color:var(--accent2);background:#00d4aa0f}.configurator-root .material-btn .m-name{color:var(--text);margin-bottom:2px;font-size:12px;font-weight:600;display:block}.configurator-root .material-btn.active .m-name{color:var(--accent2)}.configurator-root .material-btn .m-sub{color:var(--muted);font-family:JetBrains Mono,monospace;font-size:10px}.configurator-root .toggle-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.configurator-root .toggle-row:last-child{margin-bottom:0}.configurator-root .toggle-label{color:var(--muted);font-size:12px}.configurator-root .toggle{background:var(--panel2);cursor:pointer;border:1px solid var(--border);border-radius:10px;width:36px;height:20px;padding:0;transition:background .2s;position:relative}.configurator-root .toggle.on{background:var(--accent);border-color:var(--accent)}.configurator-root .toggle:after{content:"";background:#000;border-radius:50%;width:14px;height:14px;transition:left .2s;position:absolute;top:2px;left:2px}.configurator-root .toggle.on:after{left:18px}.configurator-root .summary{border-top:1px solid var(--border);background:var(--panel);margin-top:auto;padding:16px 20px}.configurator-root .specs-mini{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px;display:grid}.configurator-root .spec-chip{background:var(--panel2);border-radius:4px;padding:7px 10px;font-family:JetBrains Mono,monospace}.configurator-root .spec-chip .s-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.configurator-root .spec-chip .s-val{color:var(--text);margin-top:1px;font-size:13px;font-weight:500}.configurator-root .price-row{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.configurator-root .price-label{color:var(--muted);font-family:JetBrains Mono,monospace;font-size:11px}.configurator-root .price-main{color:var(--accent);letter-spacing:-.02em;font-size:24px;font-weight:700}.configurator-root .price-sub{color:var(--muted);font-family:JetBrains Mono,monospace;font-size:11px}.configurator-root .cta-btn{background:var(--accent);color:#000;cursor:pointer;letter-spacing:.02em;text-transform:uppercase;border:none;border-radius:6px;width:100%;padding:13px;font-family:Bricolage Grotesque,sans-serif;font-size:14px;font-weight:700;transition:opacity .15s}.configurator-root .cta-btn:hover{opacity:.9}.configurator-root .share-btn{width:100%;color:var(--muted);border:1px solid var(--border);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;background:0 0;border-radius:6px;margin-top:8px;padding:10px;font-family:JetBrains Mono,monospace;font-size:11px;transition:all .15s}.configurator-root .share-btn:hover{color:var(--text);border-color:#fff3}.configurator-root .sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=900px){.configurator-root .view-controls{top:max(10px, env(safe-area-inset-top,0px));left:max(10px, env(safe-area-inset-left,0px));flex-wrap:wrap;gap:8px;max-width:calc(100% - 7.5rem)}.configurator-root .camera-zoom-controls{top:max(10px, env(safe-area-inset-top,0px));right:max(10px, env(safe-area-inset-right,0px));gap:6px}.configurator-root .view-btn{min-width:44px;min-height:44px;padding:10px 12px;font-size:12px}.configurator-root .camera-zoom-btn{width:44px;height:44px;font-size:22px}.configurator-root .info-bar{bottom:max(10px, env(safe-area-inset-bottom,0px));left:max(10px, env(safe-area-inset-left,0px));right:max(10px, env(safe-area-inset-right,0px));font-size:12px}.configurator-root .drag-icon{font-size:16px}.configurator-root input[type=range]{height:6px}.configurator-root input[type=range]::-webkit-slider-thumb{width:22px;height:22px}.configurator-root input[type=range]::-moz-range-thumb{width:22px;height:22px}.configurator-root .choice-btn{min-height:48px;padding:10px}.configurator-root .config-panel__header{padding:8px 14px 7px}}@media (width<=900px) and (orientation:landscape){.configurator-root .app{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.configurator-root .canvas-area{border-right:1px solid var(--border);border-bottom:none}.configurator-root .config-panel__header{padding:10px 14px 8px}.configurator-root .config-panel__title{font-size:18px}.configurator-root .view-controls{max-width:calc(100% - 6.75rem)}}.configurator-root{--pkm-yellow:#f4cb29;--pkm-form-bg:#1a1a1a;--pkm-draw-bg:#eeeced;--pkm-summary-bg:#f5f5f5;--pkm-text-on-dark:#f0f0f0;background:var(--pkm-form-bg);color:var(--pkm-text-on-dark);height:100dvh;overflow:hidden}.configurator-root .wizard-layout{grid-template-columns:200px 1fr 320px;height:100%;min-height:0;display:grid;overflow:hidden}@media (width<=1100px){.configurator-root .wizard-layout{grid-template-columns:56px 1fr 280px}}@media (width<=900px){.configurator-root .wizard-layout{grid-template-rows:auto minmax(0,1fr) minmax(0,1fr);grid-template-columns:1fr;height:100%}.configurator-root .wizard-steps{max-height:120px}.configurator-root .wizard-side .wizard-summary{max-height:min(35vh,220px)}}.configurator-root .wizard-steps{overscroll-behavior:contain;background:#111;border-right:1px solid #ffffff14;min-height:0;overflow-y:auto}.configurator-root .wizard-steps__list{margin:0;padding:0;list-style:none}.configurator-root .wizard-steps__item{color:#888;cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #ffffff0f;align-items:flex-start;gap:8px;width:100%;padding:14px 12px;font-family:Bricolage Grotesque,sans-serif;transition:background .15s;display:flex}.configurator-root .wizard-steps__item.current{background:var(--pkm-yellow);color:#000}.configurator-root .wizard-steps__item.done{color:#bbb}.configurator-root .wizard-steps__num{min-width:1.2em;font-size:14px;font-weight:700}.configurator-root .wizard-steps__label{font-size:11px;line-height:1.3}.configurator-root .wizard-canvas-column{background:var(--bg);border-right:1px solid #ffffff14;height:100%;min-height:0;position:relative;overflow:hidden}.configurator-root .wizard-canvas-column .canvas-area{border:none;min-height:0;position:absolute;inset:0}.configurator-root .wizard-side{background:var(--panel);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.configurator-root .wizard-form-header{border-bottom:1px solid #ffffff14;flex-shrink:0;padding:16px 20px 8px}.configurator-root .wizard-form-header h1{margin:0;font-size:18px;font-weight:700}.configurator-root .wizard-catalog-status{color:#888;margin:4px 0 0;font-family:JetBrains Mono,monospace;font-size:11px}.configurator-root .wizard-catalog-status--warn{color:var(--pkm-yellow)}.configurator-root .wizard-form-area{overscroll-behavior:contain;border-bottom:1px solid #ffffff14;flex:1 1 0;min-height:0;padding:0 0 8px;overflow-y:auto}.configurator-root .wizard-form{padding-bottom:8px}.configurator-root .wizard-form .section{background:0 0;border:none;border-bottom:1px solid #ffffff14;border-radius:0;padding:16px 20px;animation:none}.configurator-root .wizard-form .section__head{background:0 0;border:none;margin-bottom:0;padding:0;display:block}.configurator-root .wizard-form .section__step{display:none}.configurator-root .wizard-form .section__body{padding:0}.configurator-root .wizard-form .section-title{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-size:10px;font-weight:600}.configurator-root .wizard-canvas-column .view-btn{color:var(--muted);border-color:var(--border);background:#161616e6}.configurator-root .wizard-canvas-column .view-btn.active{border-color:var(--accent);color:var(--accent)}.configurator-root .wizard-canvas-column .info-bar{color:var(--muted)}.configurator-root .wizard-side .wizard-summary{background:var(--pkm-summary-bg);color:#222;overscroll-behavior:contain;border-top:1px solid #ddd;flex:0 auto;min-height:0;max-height:min(40vh,280px);padding:20px 16px;overflow-y:auto}.configurator-root .wizard-summary__title{letter-spacing:.1em;text-transform:uppercase;color:#444;margin:0 0 16px;font-size:12px;font-weight:700}.configurator-root .wizard-summary__list{margin:0;padding:0;list-style:none}.configurator-root .wizard-summary__row{border-bottom:1px solid #e0e0e0;padding:10px 0;font-size:12px}.configurator-root .wizard-summary__row.has-error .wizard-summary__label{color:#888}.configurator-root .wizard-summary__error{color:#c0392b;margin-top:2px;font-size:11px;display:block}.configurator-root .choice-grid{gap:8px;display:grid}.configurator-root .post-type-grid{grid-template-columns:1fr 1fr}.configurator-root .choice-btn{background:var(--panel2);cursor:pointer;color:inherit;border:2px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:6px;padding:8px;transition:border-color .15s;display:flex}.configurator-root .choice-btn:hover{border-color:#f4cb2980}.configurator-root .choice-btn.active{border-color:var(--pkm-yellow)}.configurator-root .choice-avatar{object-fit:contain;width:48px;height:48px}.configurator-root .choice-avatar--placeholder{color:var(--muted);text-transform:uppercase;background:#ffffff14;border-radius:4px;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.configurator-root .wizard-field-label{color:var(--muted);margin:12px 0 8px;font-size:12px}.configurator-root .gate-block{border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:12px}.configurator-root .gate-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.configurator-root .entrance-list-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.configurator-root .entrance-add-btn{border:1px solid var(--border);background:var(--panel2);color:inherit;cursor:pointer;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.configurator-root .entrance-add-btn:hover{border-color:var(--accent,#3b82f6)}.configurator-root .entrance-empty-hint{color:var(--muted,#666);margin:0 0 8px;font-size:.75rem}.configurator-root .entrance-card{border:1px solid var(--border);background:var(--panel2);cursor:pointer;border-radius:8px;margin-bottom:10px;padding:10px}.configurator-root .entrance-card--active{border-color:var(--accent,#3b82f6);box-shadow:0 0 0 1px var(--accent,#3b82f6)}.configurator-root .entrance-card-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.configurator-root .entrance-card-title{font-size:13px;font-weight:600}.configurator-root .entrance-card-posts{color:var(--muted,#666);font-size:.72rem;font-weight:400}.configurator-root .entrance-remove-btn{color:var(--muted,#666);cursor:pointer;background:0 0;border:none;padding:2px 8px;font-size:11px;text-decoration:underline}.configurator-root .entrance-schematic-marker--active{outline:2px solid var(--accent,#3b82f6);outline-offset:1px}.configurator-root .entrance-schematic-group{align-items:stretch;min-height:100%;display:flex}.configurator-root .gate-variant-grid{grid-template-columns:repeat(2,1fr);margin-bottom:0}.configurator-root .gate-variant-picker{margin-top:4px}.configurator-root .entrance-opening-hint{color:var(--muted,#666);margin:6px 0 0;font-size:.72rem;line-height:1.35}.configurator-root .entrance-open-row{margin:8px 0 4px}.configurator-root .entrance-open-btn{border:1px solid var(--border);background:var(--panel2);width:100%;color:inherit;cursor:pointer;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:600}.configurator-root .entrance-open-btn:hover{border-color:var(--accent,#3b82f6)}.configurator-root .entrance-layout-block{margin-top:4px}.configurator-root .entrance-schematic{margin:8px 0 12px}.configurator-root .entrance-schematic-track{background:var(--panel2);border:1px solid var(--border);border-radius:4px;height:28px;position:relative}.configurator-root .entrance-schematic-marker{border-radius:3px;justify-content:center;align-items:center;min-width:18px;font-size:11px;font-weight:700;display:flex;position:absolute;top:4px;bottom:4px}.configurator-root .entrance-schematic-track .entrance-schematic-marker{touch-action:none;align-self:stretch;height:auto;position:relative;top:auto;bottom:auto}.configurator-root .entrance-schematic-marker--wicket{border:1px solid var(--accent);color:var(--accent);z-index:2;background:#c8ff0040}.configurator-root .entrance-schematic-marker--gate{border:1px solid var(--accent2);color:var(--accent2);z-index:1;background:#00d4aa33}.configurator-root .entrance-schematic-pair{border-left:1px solid var(--border);border-right:1px solid var(--border);background:#ffffff08;align-items:stretch;min-width:48px;height:100%;display:flex}.configurator-root .entrance-schematic-pair .entrance-schematic-marker{z-index:1;position:relative}.configurator-root .entrance-schematic-pair-post{pointer-events:none;align-self:stretch;min-width:2px}.configurator-root .entrance-swap-btn{border:1px solid var(--border);background:var(--panel);height:24px;color:var(--muted);cursor:pointer;z-index:5;pointer-events:auto;border-radius:3px;flex:0 0 28px;align-self:center;margin:0 2px;padding:0;font-size:13px;line-height:1;position:relative}.configurator-root .entrance-swap-btn:hover{border-color:var(--accent);color:var(--accent)}.configurator-root .entrance-order-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.configurator-root .entrance-order-label{color:var(--muted);width:100%;font-size:10px}.configurator-root .entrance-order-btns{flex:1;gap:6px;display:flex}.configurator-root .entrance-order-btn{border:1px solid var(--border);background:var(--panel2);min-height:36px;color:var(--text);cursor:pointer;border-radius:4px;flex:1;padding:8px 10px;font-family:inherit;font-size:11px;font-weight:600}.configurator-root .entrance-order-btn:hover:not(:disabled){border-color:var(--accent)}.configurator-root .entrance-order-btn--active{border-color:var(--accent);color:var(--accent);background:#c8ff0014}.configurator-root .entrance-order-btn:disabled{opacity:.45;cursor:not-allowed}.configurator-root .entrance-align-btn{border:1px dashed var(--border);width:100%;color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;padding:8px 10px;font-family:inherit;font-size:10px}.configurator-root .entrance-align-btn:hover{border-color:var(--accent2);color:var(--accent2)}.configurator-root .entrance-position-summary{color:var(--muted);margin:0 0 8px;font-size:10px;line-height:1.4}.configurator-root .entrance-preset-label{color:var(--muted);align-self:center;margin-right:2px;font-size:10px}.configurator-root .entrance-schematic-hint{color:var(--muted);justify-content:space-between;margin-top:4px;font-size:10px;display:flex}.configurator-root .entrance-preset-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.configurator-root .entrance-preset-btn{border:1px solid var(--border);background:var(--panel2);color:var(--text);cursor:pointer;border-radius:4px;padding:6px 10px;font-family:inherit;font-size:10px}.configurator-root .entrance-preset-btn:hover{border-color:var(--accent);color:var(--accent)}.configurator-root .choice-label{text-align:center;color:var(--muted);font-size:10px;line-height:1.2}.configurator-root .choice-btn.active .choice-label{color:var(--pkm-yellow)}.configurator-root .wizard-nav-buttons{flex-shrink:0;padding:12px 20px 16px}.configurator-root .wizard-errors{color:#ff6b6b;margin:0 0 10px;padding:0;font-size:12px;list-style:none}.configurator-root .wizard-nav-buttons__row{justify-content:flex-end;gap:10px;display:flex}.configurator-root .wizard-btn{cursor:pointer;border:none;border-radius:4px;padding:10px 24px;font-family:Bricolage Grotesque,sans-serif;font-size:13px;font-weight:600}.configurator-root .wizard-btn--back{color:var(--muted);border:1px solid var(--border);background:0 0}.configurator-root .wizard-btn--next{background:var(--pkm-yellow);color:#000}.configurator-root .wizard-btn--next:disabled{opacity:.4;cursor:not-allowed}.configurator-root .wizard-hint{color:var(--muted);margin:0;padding:0 20px 12px;font-family:JetBrains Mono,monospace;font-size:11px}.configurator-root .wizard-hint--note{padding-top:12px}.configurator-root .wizard-loading{color:var(--muted);padding:24px 20px}.configurator-root .wizard-form--summary .summary{border-top:none;margin-top:0}.configurator-root .wizard-form--summary .price-main{color:#b8860b}.configurator-root .config-panel .entrance-schematic-track .entrance-schematic-marker{align-self:center;height:30px}.configurator-root .config-panel .entrance-schematic-pair .entrance-schematic-marker{min-width:34px;max-width:42px}
