.cfg-spinner{width:36px;height:36px;border:3.5px solid rgba(255,255,255,.1);border-radius:50%;border-top-color:var(--copper-light);animation:cfg-spin .8s linear infinite}@keyframes cfg-spin{to{transform:rotate(360deg)}}.config-section{padding:100px 40px;background:linear-gradient(180deg,var(--charcoal),#252527);color:#fff}.config-layout{max-width:1200px;margin:48px auto 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,500px);gap:24px;align-items:start}.config-viewer{background:#ffffff08;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.06);position:sticky;top:80px;min-width:0}.config-canvas{width:100%;aspect-ratio:4/3;background:linear-gradient(180deg,#404348,#333538 50%,#2a2c30);cursor:grab;position:relative;overflow:hidden}.canvas-mobile-overlay,.canvas-lock-btn{display:none}.config-canvas:active{cursor:grabbing}.config-canvas .hint{position:absolute;bottom:10px;left:50%;transform:translate(-50%);font-size:11px;color:#ffffff4d;background:#0000004d;padding:4px 14px;border-radius:20px;pointer-events:none;z-index:2;text-align:center;width:max-content;max-width:90%}.config-pbar{padding:16px 24px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.06)}.config-plabel{font-size:12px;color:#fff6;text-transform:uppercase;letter-spacing:.06em}.config-pval{font-family:var(--serif);font-size:30px;font-weight:700;color:var(--copper-light)}.config-pnote{font-size:11px;color:#ffffff4d}.config-inst{font-size:13px;color:var(--copper-light);padding:0 24px 12px}.config-panel{background:#ffffff08;border-radius:16px;border:1px solid rgba(255,255,255,.06);overflow:hidden;display:grid;grid-template-columns:110px minmax(0,1fr);min-width:0}.cfg-content{display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:440px;min-width:0;box-sizing:border-box}.cfg-tabs{display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.06);background:#0003}.cfg-tabs button{width:100%;padding:18px 10px;background:none;border:none;border-left:3px solid transparent;font-family:var(--sans);cursor:pointer;color:#ffffff59;transition:all .25s;display:flex;align-items:center;text-align:left}.cfg-tabs button:hover{color:#ffffffb3;background:#ffffff03}.cfg-tabs button.active{border-left-color:var(--copper);color:var(--copper-light);background:#b8845c14}.cfg-tabs button.done .step-name{color:#fff9}.cfg-tabs button .step-name{font-size:12px;font-weight:500}.cfg-tabs button.active .step-name{font-weight:600}.cfg-body{padding:20px 16px;min-height:320px;min-width:0;box-sizing:border-box}.cfg-warning{background:#b8845c1a;border:1.5px solid var(--copper);border-radius:10px;padding:14px;font-size:13px;color:#fff;margin-bottom:18px;display:flex;gap:12px;align-items:flex-start;line-height:1.5}.cfg-warning strong{color:var(--copper-light)}.cfg-warning .warning-icon{width:20px;height:20px;color:var(--copper-light);flex-shrink:0}.cr.disabled{opacity:.35;cursor:not-allowed;border-color:#ffffff0a}.cr.disabled:hover{border-color:#ffffff0a;background:transparent}.cfg-t{font-family:var(--serif);font-size:22px;font-weight:600;color:#fff;margin-bottom:4px}.cfg-s{font-size:12px;color:#fff6;margin-bottom:16px}.cfg-grid{display:grid;gap:10px}.cfg-grid.c2{grid-template-columns:1fr 1fr}.cfg-grid.c3{grid-template-columns:1fr 1fr 1fr}.cc{border:2px solid rgba(255,255,255,.08);border-radius:10px;padding:12px 14px;cursor:pointer;transition:all .25s}.cc:hover{border-color:#b8845c66}.cc.sel{border-color:var(--copper);background:#b8845c14}.cc .ct{font-size:14px;font-weight:600;color:#fff}.cc .ct-lg{font-size:16px;font-weight:600;font-family:var(--serif);color:#fff}.cc .cd{font-size:11px;color:#fff6;margin-top:2px}.cc .cp{font-size:12px;font-weight:500;margin-top:5px;color:var(--copper-light)}.cc .cp.m{color:#ffffff40}.cr{border:2px solid rgba(255,255,255,.08);border-radius:10px;padding:12px 14px;cursor:pointer;transition:all .25s;display:flex;align-items:center;gap:10px}.cr:hover{border-color:#b8845c66}.cr.sel{border-color:var(--copper);background:#b8845c14}.cr .ri{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--copper-light);flex-shrink:0}.cr.sel .ri{color:#fff}.cfg-svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cr .rf{flex:1}.cr .rf .ct{font-size:13px;font-weight:600;color:#fff}.cr .rf .cd{font-size:11px;color:#ffffff59}.cr .rp{font-size:12px;font-weight:500;color:var(--copper-light);white-space:nowrap}.cr .rchk{width:20px;height:20px;border-radius:5px;border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;transition:all .2s;flex-shrink:0}.cr.sel .rchk{border-color:var(--copper);background:var(--copper)}.cdot{width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.15);flex-shrink:0}.cfg-sh{font-family:var(--serif);font-size:15px;font-weight:500;color:#ffffffb3;margin:16px 0 10px}.cfg-sr{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.cfg-sr .l{font-size:13px;color:#fff6}.cfg-sr .v{font-size:13px;font-weight:500;color:#fff;text-align:right}.cfg-st{display:flex;justify-content:space-between;padding:14px 0 4px;margin-top:6px}.cfg-st .l{font-family:var(--serif);font-size:18px;font-weight:600;color:#fff}.cfg-st .v{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--copper-light)}.cfg-cta{width:100%;margin-top:16px;padding:14px;background:var(--copper);color:#fff;border:none;border-radius:10px;font-family:var(--sans);font-size:14px;font-weight:600;cursor:pointer;transition:background .25s ease,transform .25s ease}.cfg-cta:hover{transform:translateY(-1px);background:var(--copper-dark)}.cfg-cta-group{display:flex;flex-direction:column;gap:10px;margin-top:16px}.cfg-cta.secondary{background:transparent;border:2px solid var(--copper);color:var(--copper-light);box-shadow:none;margin-top:0}.cfg-cta.secondary:hover{background:#b8845c14;color:#fff;transform:translateY(-1px)}.cfg-cf{display:grid;gap:10px;margin-top:16px}.cfg-cf input,.cfg-cf textarea{padding:11px 13px;border:2px solid rgba(255,255,255,.1);border-radius:8px;font-family:var(--sans);font-size:13px;outline:none;background:#ffffff0a;color:#fff;transition:border-color .2s}.cfg-cf input::placeholder,.cfg-cf textarea::placeholder{color:#ffffff4d}.cfg-cf input:focus,.cfg-cf textarea:focus{border-color:var(--copper)}.cfg-nav{display:flex;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}.cfg-nav button{padding:10px 20px;border-radius:8px;font-family:var(--sans);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.cprev{border:2px solid rgba(255,255,255,.2);background:transparent;color:#fff}.cnext{border:none;background:#ffffff1a;color:#fff;margin-left:auto}.cnext:hover{background:#ffffff26}@media(max-width:960px){.config-layout{grid-template-columns:1fr}.config-viewer{position:static}.config-section{padding:60px 20px}}@media(max-width:768px){.config-panel{grid-template-columns:1fr}.canvas-mobile-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;inset:0;background:#0a0a0cd9;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:5;padding:20px;transition:opacity .3s ease;text-align:center}.canvas-mobile-overlay .overlay-icon{font-size:32px;margin-bottom:12px;animation:rotate-hint 3s infinite linear}.canvas-mobile-overlay .overlay-btn{background:var(--copper);color:#fff;border:none;padding:10px 20px;border-radius:20px;font-family:var(--sans);font-size:14px;font-weight:600;cursor:pointer;margin-bottom:12px}.canvas-mobile-overlay .overlay-sub{font-size:11px;color:#fff6;max-width:220px;line-height:1.4;font-family:var(--sans)}.canvas-lock-btn{position:absolute;top:10px;right:10px;background:#0009;color:#fffc;border:1px solid rgba(255,255,255,.15);padding:6px 12px;border-radius:15px;font-size:11px;font-family:var(--sans);cursor:pointer;z-index:6;backdrop-filter:blur(4px)}@keyframes rotate-hint{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cfg-tabs{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,auto);border-right:none;border-bottom:1px solid rgba(255,255,255,.06);width:100%}.cfg-tabs button{width:100%;flex-direction:row;justify-content:center;align-items:center;gap:5px;padding:12px 4px;border-left:none;border-bottom:2px solid transparent;text-align:center}.cfg-tabs button:hover{background:none}.cfg-tabs button.active{border-bottom-color:var(--copper);border-left-color:transparent;background:#b8845c14}.cfg-tabs button .step-name{font-size:11px}}.cfg-custom-dims{display:flex;flex-direction:column;gap:12px;padding:14px 12px;border-radius:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);margin-bottom:16px;box-sizing:border-box;width:100%}.dim-num-input{flex:1;min-width:0;text-align:center;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);color:#fff;border-radius:8px;padding:8px 4px;font-family:var(--sans);font-size:16px;font-weight:700;outline:none;transition:border-color .2s,background-color .2s;box-sizing:border-box}.dim-num-input:focus{border-color:var(--copper-light);background:#ffffff14}.dim-num-input::-webkit-outer-spin-button,.dim-num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dim-num-input[type=number]{-moz-appearance:textfield}@media(max-width:600px){.cfg-grid.c3{grid-template-columns:1fr 1fr}}@media(max-width:480px){.cfg-tabs{grid-template-columns:repeat(4,1fr)}.cfg-tabs button .step-name{font-size:10px}}.dim-control-row{display:flex;align-items:center;gap:12px;width:100%}.dim-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--copper);background:var(--copper);color:#fff;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;user-select:none;flex-shrink:0}.dim-btn:hover{background:var(--copper-light);border-color:var(--copper-light);transform:scale(1.08)}.dim-btn:active{transform:scale(.92)}.wall-opt-btn{background:transparent;border:1.5px solid rgba(255,255,255,.08);color:#ffffff80;border-radius:6px;padding:8px 10px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;font-family:var(--sans);text-align:center}.wall-opt-btn:hover{border-color:#b8845c66;color:#fff}.wall-opt-btn.active{border-color:var(--copper);background:#b8845c14;color:var(--copper-light);font-weight:600}.wall-opt-btn:disabled{opacity:.35;cursor:not-allowed}
