@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/manrope-cyrillic-400-normal-BMzJvInZ.woff2) format("woff2"),url(/build/assets/manrope-cyrillic-400-normal-Dvx59UGC.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/manrope-cyrillic-500-normal-B1OEZity.woff2) format("woff2"),url(/build/assets/manrope-cyrillic-500-normal-CNwnNrRC.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/manrope-cyrillic-600-normal-DvRl3Mj-.woff2) format("woff2"),url(/build/assets/manrope-cyrillic-600-normal-It4mZcQk.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/manrope-cyrillic-700-normal-Dw_fZAg2.woff2) format("woff2"),url(/build/assets/manrope-cyrillic-700-normal-7JNVKxyl.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/build/assets/manrope-cyrillic-800-normal-AvdZ5mAV.woff2) format("woff2"),url(/build/assets/manrope-cyrillic-800-normal-BuEMjQU-.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/manrope-latin-400-normal-PaqtzbVb.woff2) format("woff2"),url(/build/assets/manrope-latin-400-normal-8tf8FM3T.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),url(/build/assets/manrope-latin-600-normal-BqgrALkZ.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/manrope-latin-700-normal-BZp_XxE4.woff2) format("woff2"),url(/build/assets/manrope-latin-700-normal-DGRFkw-m.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/build/assets/manrope-latin-800-normal-BfWYOv1c.woff2) format("woff2"),url(/build/assets/manrope-latin-800-normal-uHUdIJgA.woff) format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/unbounded-cyrillic-600-normal-DW6uzIMB.woff2) format("woff2"),url(/build/assets/unbounded-cyrillic-600-normal-B-s5c2Kn.woff) format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/unbounded-cyrillic-700-normal-BnWDpkfm.woff2) format("woff2"),url(/build/assets/unbounded-cyrillic-700-normal-BKv7sql3.woff) format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/unbounded-latin-600-normal-oRSANpZr.woff2) format("woff2"),url(/build/assets/unbounded-latin-600-normal-BPdB_PEv.woff) format("woff")}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/unbounded-latin-700-normal-CaoNriVp.woff2) format("woff2"),url(/build/assets/unbounded-latin-700-normal-CZtriu5h.woff) format("woff")}.item-card .pv{position:relative}.item-card .fav{position:absolute;top:5px;right:5px;width:28px;height:28px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;background:color-mix(in srgb,var(--panel) 85%,transparent);color:var(--muted);opacity:0;transition:opacity .15s,color .15s,transform .15s}.item-card:hover .fav,.item-card .fav.on{opacity:1}.item-card .fav:hover{transform:scale(1.12)}.item-card .fav svg,.fav-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}.item-card .fav.on,.fav-btn.on{color:var(--bad)}.item-card .fav.on svg,.fav-btn.on svg{fill:currentColor}.item-card .card-foot{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:2px}.item-card .price{flex:none;font-size:12px;font-weight:800;white-space:nowrap}.shop-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line)}.shop-row b{display:block;font-size:16px;font-weight:800}.shop-btns{display:flex;gap:6px;align-items:center}.shop-btns .btn{text-decoration:none;display:inline-flex;align-items:center}.specs{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;margin:0;font-size:13px}.specs dt{color:var(--muted)}.specs dd{margin:0;font-weight:600}.cat-filters{flex-wrap:wrap}.cat-filters .inp.sm{max-width:150px}@media(hover:none){.item-card .fav{opacity:1}}:root{--bg: #f4f2ee;--panel: #ffffff;--panel-2: #f8f7f4;--line: #e6e2da;--text: #22211f;--muted: #86817a;--accent: #e2673a;--accent-2: #fbe7dd;--blue: #2f7de1;--bad: #e0443e;--good: #2f9e6a;--wall: #3b3834;--plan-bg: #faf9f6;--grid-a: #e9e5de;--grid-b: #ddd7cc;--shadow: 0 6px 24px rgba(40, 32, 20, .12), 0 1px 3px rgba(40, 32, 20, .08);--r: 12px}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:Manrope,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;color:var(--text);background:var(--bg);display:flex;flex-direction:column;overflow:hidden;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}input,select{font:inherit;color:inherit}[hidden]{display:none!important}svg{display:block}:root[data-theme=dark]{--bg: #11100f;--panel: #1c1a18;--panel-2: #24211e;--line: #2f2b27;--text: #f4f0e9;--muted: #9d968b;--accent: #ff7d4d;--accent-2: #3a2218;--blue: #6aa2f0;--bad: #ff6b63;--good: #4cc78f;--wall: #d9d2c6;--plan-bg: #161513;--grid-a: #1f1d1a;--grid-b: #29261f;--shadow: 0 10px 30px rgba(0, 0, 0, .5), 0 1px 3px rgba(0, 0, 0, .4);color-scheme:dark}:root[data-theme=dark] .ln{stroke:#2a2724}:root[data-theme=dark] .op-gap{fill:var(--plan-bg)}:root[data-theme=dark] .op-leaf,:root[data-theme=dark] .op-jamb{stroke:#e9e3d8}:root[data-theme=dark] .dim .lab rect,:root[data-theme=dark] .meas .lab rect{fill:#1c1a18}:root[data-theme=dark] .dim text{fill:#f4f0e9}:root[data-theme=dark] .dim line{stroke:#9d968b}:root[data-theme=dark] .pane3d{background:#1a1816}:root[data-theme=dark] .v3-tools .seg,:root[data-theme=dark] .v3-tools .icon-btn{background:#1c1a18eb}:root[data-theme=dark] .inp,:root[data-theme=dark] .dims3 input,:root[data-theme=dark] .prop-grid input,:root[data-theme=dark] .dim-input,:root[data-theme=dark] .alt,:root[data-theme=dark] .proj-name:focus{background:var(--panel-2)}:root[data-theme=dark] .toast{background:#f4f0e9;color:#1c1a17}:root[data-theme=dark] .toast button{background:#0000001a;color:inherit}:root[data-theme=dark] .warn{background:#3a1b1a;color:#ff9d97}:root[data-theme=dark] .okmsg{background:#173327;color:#6fd6a4}:root[data-theme=dark] .toggle2 button.on{color:#ff9a72}:root[data-theme=dark] .floatbar .cdot{border-color:#1c1a18}:root[data-theme=dark] .swatch{border-color:#1c1a18}.brand a.logo-link{display:grid;place-items:center;border-radius:8px}.tb-right .btn.primary{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.tb-right a.btn{display:inline-flex;align-items:center;text-decoration:none;color:inherit}.save-state.err{color:var(--bad)}.save-state.ok:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--good);margin-right:6px;vertical-align:1px}.theme-toggle{position:relative;width:56px;height:30px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);padding:0;flex:none}.theme-toggle .knob{position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:var(--panel);box-shadow:0 1px 3px #0003;display:grid;place-items:center;transition:transform .4s cubic-bezier(.2,.8,.2,1)}:root[data-theme=dark] .theme-toggle .knob{transform:translate(26px);background:var(--accent);color:#1a0f0a}.theme-toggle .knob svg{width:14px;height:14px}.theme-toggle .sun,:root[data-theme=dark] .theme-toggle .moon{display:block}.theme-toggle .moon,:root[data-theme=dark] .theme-toggle .sun{display:none}.guest-note{font-size:12px;color:var(--muted);max-width:260px;line-height:1.3}.v3-error{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;color:var(--muted);font-weight:600}.topbar{height:56px;flex:none;display:flex;align-items:center;gap:16px;padding:0 16px;background:var(--panel);border-bottom:1px solid var(--line);z-index:5}.brand{display:flex;align-items:center;gap:10px;min-width:0}.proj-name{border:1px solid transparent;background:transparent;font-weight:700;font-size:16px;padding:6px 8px;border-radius:8px;width:220px}.proj-name:hover{border-color:var(--line)}.proj-name:focus{outline:none;border-color:var(--accent);background:var(--panel)}.tb-group{display:flex;gap:4px}.tb-right{margin-left:auto;display:flex;align-items:center;gap:12px}.save-state{color:var(--muted);font-size:12px}.icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--panel);display:grid;place-items:center;padding:0;transition:background .15s,border-color .15s}.icon-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-btn:hover{background:var(--panel-2);border-color:#d6d0c5}.icon-btn:disabled{opacity:.35;cursor:default}.btn{height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:var(--panel);font-weight:600;transition:background .15s,transform .1s}.btn:hover{background:var(--panel-2)}.btn:active{transform:scale(.98)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{background:#d45a2e}.btn.danger{color:var(--bad)}.btn.wide{width:100%}.btn.sm{height:30px;padding:0 10px;font-size:13px}.ghost-btn{border-color:transparent;background:transparent;color:var(--muted)}.seg{display:flex;background:var(--panel-2);border:1px solid var(--line);border-radius:11px;padding:3px;gap:2px}.seg button{border:0;background:transparent;padding:6px 12px;border-radius:8px;font-weight:600;color:var(--muted);white-space:nowrap}.seg button.on{background:var(--panel);color:var(--text);box-shadow:0 1px 3px #0000001a}.seg.sm button{padding:5px 10px;font-size:12px}.layout{flex:1;display:flex;min-height:0}.left{width:340px;flex:none;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.tabs{display:flex;padding:10px 10px 0;gap:4px;border-bottom:1px solid var(--line)}.tabs button{flex:1;border:0;background:transparent;padding:10px 8px 12px;font-weight:700;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:11px;background:var(--panel-2);border:1px solid var(--line);margin-right:6px}.tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.tabs button.on b{background:var(--accent);color:#fff;border-color:var(--accent)}.tab{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px;min-height:0}#tab-catalog{padding:0;gap:0}.card{border:1px solid var(--line);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:10px}.card-h{font-weight:700;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.muted{color:var(--muted);font-weight:500}.small{font-size:12px;margin:0;line-height:1.45}.inp{height:36px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:#fff;width:100%}.inp:focus,.dims3 input:focus,.prop-grid input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-2)}.inp.sm{height:32px;width:auto}.dims3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.dims3 label,.prop-grid label{display:flex;flex-direction:column;gap:4px;position:relative}.dims3 span,.prop-grid span{font-size:11px;color:var(--muted);font-weight:600}.dims3 input,.prop-grid input{height:36px;border:1px solid var(--line);border-radius:9px;padding:0 26px 0 10px;width:100%;font-weight:700;-moz-appearance:textfield}.dims3 input::-webkit-inner-spin-button,.prop-grid input::-webkit-inner-spin-button{opacity:.5}.dims3 i,.prop-grid i{position:absolute;right:8px;bottom:10px;font-style:normal;font-size:11px;color:var(--muted);pointer-events:none}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips.scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.chip{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600;white-space:nowrap;transition:all .15s}.chip:hover{border-color:#cfc8bc}.chip.on{background:var(--text);color:#fff;border-color:var(--text)}.op-palette{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.op-card{border:1px solid var(--line);border-radius:10px;padding:8px 4px 6px;background:var(--panel-2);display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:600;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;transition:border-color .15s,transform .15s}.op-card:hover{border-color:var(--accent);transform:translateY(-1px)}.op-card svg{width:54px;height:34px}.room-list{display:flex;flex-direction:column;gap:6px}.room-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);cursor:pointer;transition:border-color .15s,background .15s}.room-row:hover{border-color:#cfc8bc}.room-row.on{border-color:var(--accent);background:var(--accent-2)}.room-row .sw{width:22px;height:22px;border-radius:6px;flex:none;border:1px solid rgba(0,0,0,.1)}.room-row .nm{font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-row .sz{font-size:12px;color:var(--muted);white-space:nowrap}.cat-top{padding:12px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--line)}.search{position:relative}.search svg{position:absolute;left:11px;top:11px;width:16px;height:16px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round}.search input{width:100%;height:38px;border-radius:10px;border:1px solid var(--line);padding:0 12px 0 34px;background:var(--panel-2)}.search input:focus{outline:none;border-color:var(--accent);background:var(--panel)}.cat-filters{display:flex;justify-content:space-between;align-items:center;gap:8px}.cat-grid{flex:1;overflow:hidden auto;padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}.item-card{border:1px solid var(--line);border-radius:12px;padding:8px;background:var(--panel);cursor:grab;display:flex;flex-direction:column;gap:4px;-webkit-user-select:none;user-select:none;touch-action:none;transition:border-color .15s,box-shadow .15s,transform .15s}.item-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}.item-card .pv{height:86px;background:var(--panel-2);border-radius:8px;display:grid;place-items:center;padding:8px}.item-card .pv svg{max-width:100%;max-height:100%}.item-card .nm{font-weight:700;font-size:12px;line-height:1.25}.item-card .br{font-size:11px;color:var(--accent);font-weight:700}.item-card .dm{font-size:11px;color:var(--muted)}.item-card .dots{display:flex;flex-wrap:wrap;gap:3px;flex:1;min-width:0}.item-card .dots i{flex:none;width:9px;height:9px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}.cat-empty{grid-column:1 / -1;text-align:center;color:var(--muted);padding:30px 0}.ln{stroke:#3a3632;stroke-width:1;vector-effect:non-scaling-stroke}.stage{flex:1;display:flex;min-width:0;position:relative}.pane{flex:1;position:relative;min-width:0}.pane3d{border-left:1px solid var(--line);background:#e9e5de}#plan{width:100%;height:100%;background:var(--plan-bg);outline:none;touch-action:none;-webkit-user-select:none;user-select:none}#plan.panning{cursor:grabbing}#view3d{position:absolute;inset:0}#view3d canvas{display:block;outline:none}.zoombox{position:absolute;right:14px;bottom:14px;display:flex;flex-direction:column;gap:6px}.zoombox .icon-btn{box-shadow:var(--shadow)}.scalebar{position:absolute;left:14px;bottom:16px;display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:700;color:var(--muted);pointer-events:none}.scalebar i{display:block;height:6px;border:2px solid var(--muted);border-top:0}.hint{position:absolute;left:50%;bottom:14px;transform:translate(-50%);background:#22211fdb;color:#fff;padding:7px 14px;border-radius:999px;font-size:12px;white-space:nowrap;pointer-events:none;max-width:calc(100% - 180px);overflow:hidden;text-overflow:ellipsis}.hint kbd{font:inherit;font-weight:700;background:#ffffff2e;padding:1px 5px;border-radius:4px}.toast{position:absolute;left:50%;top:16px;transform:translate(-50%);background:var(--text);color:#fff;border-radius:10px;padding:8px 8px 8px 14px;display:flex;gap:10px;align-items:center;box-shadow:var(--shadow);font-weight:600;z-index:3}.toast button{border:0;background:#ffffff26;color:#fff;border-radius:7px;padding:5px 10px;font-weight:700}.floatbar{position:absolute;display:flex;align-items:center;gap:2px;background:var(--panel);border-radius:12px;padding:4px;box-shadow:var(--shadow);z-index:2;transform:translate(-50%,-100%);white-space:nowrap}.floatbar .fb{width:32px;height:32px;border:0;background:transparent;border-radius:8px;display:grid;place-items:center}.floatbar .fb:hover{background:var(--panel-2)}.floatbar .fb svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.floatbar .fb.del{color:var(--bad)}.floatbar .sep{width:1px;height:20px;background:var(--line);margin:0 4px}.floatbar .cdot{width:20px;height:20px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);margin:0 2px;padding:0}.floatbar .cdot.on{box-shadow:0 0 0 2px var(--accent)}.floatbar .lbl{font-size:12px;font-weight:700;padding:0 6px;color:var(--muted)}.dim-input{position:absolute;width:84px;height:30px;border:2px solid var(--accent);border-radius:8px;text-align:center;font-weight:800;transform:translate(-50%,-50%);z-index:4;box-shadow:var(--shadow);background:#fff}.dim-input:focus{outline:none}.wall{fill:var(--wall)}.floor{cursor:pointer}.floor.sel{stroke:var(--accent);stroke-width:3;vector-effect:non-scaling-stroke}.room-label{font-weight:800;fill:#3a3632;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#ffffffb3;stroke-width:3px;stroke-linejoin:round}.room-area{fill:#7a746b;text-anchor:middle;font-weight:600;pointer-events:none;paint-order:stroke;stroke:#ffffffb3;stroke-width:3px}.dim line,.meas line{stroke:#6b665e;stroke-width:1;vector-effect:non-scaling-stroke}.dim .lab rect,.meas .lab rect{fill:#fff;stroke:#d7d1c6;stroke-width:1;vector-effect:non-scaling-stroke}.dim .lab,.meas .lab{cursor:text}.dim .lab:hover rect,.meas .lab:hover rect{stroke:var(--accent);fill:var(--accent-2)}.dim text,.meas text{font-weight:700;fill:#3a3632;text-anchor:middle;dominant-baseline:central}.dim.sel line{stroke:var(--accent)}.meas line{stroke:var(--blue);stroke-dasharray:4 3}.meas .lab rect{stroke:var(--blue)}.meas text{fill:var(--blue)}.meas.tight line{stroke:var(--bad)}.meas.tight .lab rect{stroke:var(--bad)}.meas.tight text{fill:var(--bad)}.guide{stroke:var(--accent);stroke-width:1;stroke-dasharray:5 4;vector-effect:non-scaling-stroke;pointer-events:none}.wall-hl{fill:var(--accent);opacity:.85;pointer-events:none}.item{cursor:move}.item.upper{opacity:.82}.item .selbox{fill:none;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:6 4}.item.bad .selbox,.item .badbox{stroke:var(--bad)}.item .badbox{fill:#e0443e2e;stroke-width:2;vector-effect:non-scaling-stroke}.handle{fill:#fff;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke;cursor:pointer}.handle.rot{cursor:grab}.handle-line{stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke}.edge-h{fill:var(--accent);stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.edge-h.ns{cursor:ns-resize}.edge-h.ew{cursor:ew-resize}.opening{cursor:pointer}.op-gap{fill:#fff}.op-leaf{stroke:#3a3632;stroke-width:2.5;vector-effect:non-scaling-stroke}.op-arc{fill:none;stroke:#8a847a;stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.op-glass{stroke:#6aa6d6;stroke-width:1.2;vector-effect:non-scaling-stroke}.op-jamb{stroke:#3a3632;stroke-width:1.5;vector-effect:non-scaling-stroke}.opening.sel .op-gap{fill:var(--accent-2)}.opening.sel .op-leaf{stroke:var(--accent)}.opening.preview{opacity:.75}.v3-tools{position:absolute;top:12px;left:12px;right:12px;display:flex;gap:8px;flex-wrap:wrap}.v3-tools .seg,.v3-tools .icon-btn{box-shadow:var(--shadow);background:#ffffffeb}.v3-tools .icon-btn{margin-left:auto}.v3-hint{position:absolute;bottom:14px;left:50%;transform:translate(-50%);background:#22211fcc;color:#fff;padding:6px 12px;border-radius:999px;font-size:12px;pointer-events:none;white-space:nowrap}.v3-loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-weight:600;pointer-events:none}.right{width:300px;flex:none;background:var(--panel);border-left:1px solid var(--line);overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:14px}.p-head{display:flex;gap:10px;align-items:flex-start}.p-head .pv{width:64px;height:64px;flex:none;background:var(--panel-2);border-radius:10px;display:grid;place-items:center;padding:6px}.p-head .pv svg{max-width:100%;max-height:100%}.p-head h3{margin:0 0 2px;font-size:15px;line-height:1.25}.p-head .br{color:var(--accent);font-weight:700;font-size:12px}.p-close{margin-left:auto;flex:none}.p-sec{display:flex;flex-direction:column;gap:8px}.p-sec>.t{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.prop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.prop-grid.two{grid-template-columns:1fr 1fr}.swatches{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.swatch{width:28px;height:28px;border-radius:8px;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);padding:0}.swatch.on{box-shadow:0 0 0 2px var(--accent)}.swatch-lg{width:auto;height:34px;padding:0 10px 0 36px;border-radius:9px;position:relative;font-size:12px;font-weight:600;background:var(--panel);border:1px solid var(--line);box-shadow:none;text-align:left}.swatch-lg:before{content:"";position:absolute;left:6px;top:6px;width:22px;height:20px;border-radius:5px;background:var(--c);border:1px solid rgba(0,0,0,.1)}.swatch-lg.on{border-color:var(--accent);background:var(--accent-2)}.color-pick{width:28px;height:28px;border:0;padding:0;background:none;cursor:pointer}.btn-row{display:flex;gap:6px;flex-wrap:wrap}.stat{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;border-bottom:1px dashed var(--line)}.stat b{font-weight:800}.alt-list{display:flex;flex-direction:column;gap:6px}.alt{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:6px;background:#fff;text-align:left;transition:border-color .15s}.alt:hover{border-color:var(--accent)}.alt .pv{width:44px;height:36px;flex:none;display:grid;place-items:center;background:var(--panel-2);border-radius:6px;padding:3px}.alt .pv svg{max-width:100%;max-height:100%}.alt .nm{font-size:12px;font-weight:700;line-height:1.2}.alt .dm{font-size:11px;color:var(--muted)}.warn{background:#fdecea;color:#a8322d;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:600}.okmsg{background:#e7f5ee;color:#22724d;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:600}.toggle2{display:flex;gap:6px}.toggle2 button{flex:1}.toggle2 button.on{border-color:var(--accent);background:var(--accent-2);color:#b04a22}.ghost{position:fixed;pointer-events:none;z-index:50;transform:translate(-50%,-50%);background:#fff;border-radius:10px;padding:6px;box-shadow:var(--shadow);opacity:.92}.ghost svg{width:70px;height:56px}.modal{position:fixed;inset:0;background:#221e1873;display:grid;place-items:center;z-index:100;padding:16px}.modal-box{background:var(--panel);border-radius:18px;padding:26px;width:min(820px,100%);max-height:100%;overflow:auto;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.modal-box h2{margin:0;font-size:24px}.modal-box p{margin:0 0 8px}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.tpl{border:1px solid var(--line);border-radius:14px;padding:10px;background:var(--panel-2);text-align:left;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,transform .15s,box-shadow .15s}.tpl:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}.tpl .pv{height:110px;background:#fff;border-radius:10px;display:grid;place-items:center;padding:8px}.tpl .pv svg{max-width:100%;max-height:100%}.tpl b{font-size:14px}.tpl span{font-size:12px;color:var(--muted)}.tpl.featured{border-color:var(--accent);background:var(--accent-2)}.au-open{width:100%;margin-bottom:6px}.au-box{width:min(760px,100%);gap:14px}.au-row{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:flex-end}.au-f{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:var(--muted)}.au-f .inp{min-width:200px}.au-opts{display:flex;flex-wrap:wrap;gap:6px}.au-opts .btn.on{border-color:var(--accent);background:var(--accent-2);color:#b04a22}.au-opts .btn:before{content:"+ ";opacity:.5}.au-opts .btn.on:before{content:"✓ ";opacity:1}.au-box .tpl-grid{grid-template-columns:repeat(3,1fr)}.au-box .tpl .pv{height:150px}.au-foot{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.au-foot .ghost-btn{margin-right:auto}.au-foot .btn:disabled{opacity:.45;pointer-events:none}@media(max-width:640px){.au-box .tpl-grid{grid-template-columns:1fr}}@media(max-width:1100px){.right{position:absolute;right:0;top:56px;bottom:0;z-index:6;box-shadow:var(--shadow)}.save-state{display:none}}@media(max-width:820px){.left{width:280px}.proj-name{width:120px}.seg button{padding:6px 8px}.tb-group{display:none}}
