.gh-card{touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-width:0;inline-size:300px;box-sizing:border-box;--gh-u:12px;--gh-track:14px;--gh-knob:14px;display:grid;gap:calc(var(--gh-u) * .9);padding:16px;background:rgba(255,255,255,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#000;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 24px rgba(0,0,0,.08)}.gh-card,.gh-sv{border-radius:12px}.gh-sv{position:relative;inline-size:87%;aspect-ratio:1/1;margin-inline:auto;display:block;overflow:hidden;cursor:crosshair;border:1px solid rgba(0,0,0,.06)}.gh-sv-cursor{position:absolute;inline-size:var(--gh-knob);block-size:var(--gh-knob);border-radius:50%;border:2px solid #fff;transform:translate(-50%,-50%);box-shadow:0 0 0 2px rgba(0,0,0,.4);pointer-events:none}.gh-toolbar{gap:8px;padding-left:20px;min-width:0;flex-wrap:wrap}.gh-tabs,.gh-toolbar{display:flex;align-items:center;justify-content:flex-start}.gh-tabs{gap:6px;flex-wrap:nowrap}.gh-tabs button{flex:0 0 auto;margin:0;width:auto;min-width:unset;display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;border-radius:6px;border:none;background:transparent;color:rgba(0,0,0,.6);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.gh-tabs button:hover{color:#000;background:rgba(0,0,0,.04)}.gh-tabs button.on{background:rgba(0,0,0,.06)!important;color:#000}.gh-right{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.gh-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:6px 9px;background:#ffffff;border:1px solid rgba(0,0,0,.12);color:#000;border-radius:8px;max-width:100%;font-size:13px;cursor:pointer}.gh-toggle{--tgl-bg:rgba(0,0,0,0.04);--seg-bg:transparent;--seg-on:#ffffff;--r:8px;--pad:2px;background:var(--tgl-bg);border-radius:var(--r);padding:var(--pad);gap:0}.gh-toggle,.gh-toggle .seg{display:inline-flex;align-items:center}.gh-toggle .seg{background:var(--seg-bg);color:rgba(0,0,0,.6);border:0;margin:0;padding:0 8px;height:28px;min-width:32px;justify-content:center;line-height:1;font-size:13px;font-weight:500;box-sizing:border-box;cursor:pointer;transition:all .2s ease;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0}.gh-toggle .seg:first-child{border-top-left-radius:calc(var(--r) - var(--pad));border-bottom-left-radius:calc(var(--r) - var(--pad))}.gh-toggle .seg:last-child{border-top-right-radius:calc(var(--r) - var(--pad));border-bottom-right-radius:calc(var(--r) - var(--pad))}.gh-toggle .seg.on{background:var(--seg-on);color:#000;box-shadow:0 1px 3px rgba(0,0,0,.1)}.gh-controls{justify-content:center;gap:10px;flex-wrap:wrap}.gh-angle,.gh-controls{display:flex;align-items:center;min-width:0}.gh-angle{gap:8px}.gh-angle input[type=range]{flex:1 1 auto;min-width:180px;block-size:var(--gh-track);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:calc(var(--gh-track) / 2);border:1px solid rgba(0,0,0,.12);background:linear-gradient(90deg,#fff,#fff)}.gh-angle input[type=range]:disabled{opacity:.5}.gh-angle input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;inline-size:var(--gh-knob);block-size:var(--gh-knob);border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.2)}.gh-number{inline-size:clamp(56px,20vw,92px);padding:6px 8px;border-radius:6px;border:1px solid rgba(0,0,0,.12);background:#ffffff;color:#000;font-size:13px}.gh-number:disabled{opacity:.5}.gh-deg{opacity:.6;font-size:13px;color:#000}.gh-stopinfo{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.08);color:#000;font-size:12px}.gh-icon{--size:28px;width:var(--size)!important;height:var(--size)!important;min-width:var(--size);min-height:var(--size);padding:0!important;border-radius:6px!important;flex:0 0 auto!important;align-self:center;display:grid!important;place-items:center!important;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:0;background:#ffffff;border:1px solid rgba(0,0,0,.12);color:rgba(0,0,0,.6);cursor:pointer;transition:all .2s ease}.gh-icon:hover{color:#000;background:rgba(0,0,0,.04)}.gh-icon svg{display:block;margin:0;width:55%;height:55%;pointer-events:none}.gh-icon.danger{color:#dc2626}.gh-icon.danger:hover{background:#fef2f2;border-color:#fca5a5}.gh-hue,.gh-stops{--gh-track:20px;--gh-knob:18px}.gh-stops{touch-action:none;position:relative;inline-size:97%;block-size:var(--gh-track);border:1px solid rgba(0,0,0,.12);border-radius:calc(var(--gh-track) / 2);cursor:crosshair;margin:0 auto;background:#ffffff}.gh-stop{position:absolute;inset-block-start:50%;transform:translate(-50%,-50%);inline-size:12px;block-size:12px;border-radius:50%;border:2px solid #ffffff;box-shadow:0 0 0 1px rgba(0,0,0,.2);cursor:grab}.gh-stops>.gh-stop{--stop-size:14px;--stop-border:2px;--stop-half:calc((var(--stop-size) + 2*var(--stop-border)) / 2);-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;padding:0;margin:0;line-height:0;inline-size:var(--gh-knob)!important;block-size:var(--gh-knob)!important;border-radius:50%!important;border:2px solid #ffffff;cursor:grab;left:clamp(var(--stop-half),calc(var(--pos, 0) * 1%),calc(100% - var(--stop-half)));box-shadow:0 1px 3px rgba(0,0,0,.3)}.gh-stops>.gh-stop.active{box-shadow:0 0 0 2px #fff,0 0 0 4px #000}.gh-hue{display:flex;justify-content:center;inline-size:80%;margin-inline:auto;justify-self:center}.gh-hue input[type=range]{inline-size:100%;width:100%;block-size:var(--gh-track);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:calc(var(--gh-track) / 2);border:1px solid rgba(0,0,0,.12);outline:none}.gh-hue input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;inline-size:var(--gh-knob);block-size:var(--gh-knob);border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.2)}input[type=range]{touch-action:pan-y;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=range]::-webkit-slider-thumb{touch-action:none;-webkit-appearance:none;appearance:none}.gh-stops>.gh-stop{touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.loader_overlay__OCEIa{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#ffffff;z-index:9999}.loader_spinner__098nD{width:52px;height:52px;border-radius:9999px;border:3px solid rgba(0,0,0,.08);border-top-color:#000;animation:loader_spin__JtOGr .85s linear infinite}.loader_label__Ks7VK{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(0,0,0,.32)}@keyframes loader_spin__JtOGr{to{transform:rotate(1turn)}}.loader-parent{height:100vh;min-height:0;display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:#ffffff;position:relative}.view-canvas{background-color:transparent;position:fixed!important;inset:0;pointer-events:auto;z-index:0;animation:fadeInCanvas 1.5s cubic-bezier(.16,1,.3,1) forwards}@keyframes fadeInCanvas{0%{opacity:0}to{opacity:1}}.stages{position:fixed;bottom:0;left:0;right:0;z-index:20;gap:12px;padding:14px 24px calc(14px + env(safe-area-inset-bottom));background:rgba(255,255,255,.82);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.06)}.rotate-btn,.stages{display:flex;align-items:center;justify-content:center}.rotate-btn{width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(0,0,0,.1);background:rgba(255,255,255,.9);color:rgba(0,0,0,.4);cursor:pointer;transition:all .2s ease;flex-shrink:0}.rotate-btn:hover{border-color:rgba(0,0,0,.25);color:#000;background:#fff;transform:scale(1.05)}.rotate-btn.rotate-btn-on{background:#000;border-color:#000;color:#fff}.rotate-btn.rotate-btn-on:hover{background:#222;border-color:#222;transform:scale(1.05)}.option-panel{position:fixed;z-index:15;display:flex;flex-direction:column;background:rgba(255,255,255,.92);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(0,0,0,.08);box-shadow:0 8px 48px rgba(0,0,0,.1);left:20px;top:24px;width:300px;max-height:calc(100vh - 120px);border-radius:20px;overflow:hidden}.panel-header{display:flex;justify-content:space-between;padding:16px 20px 0}.panel-close,.panel-header{align-items:center;flex-shrink:0}.panel-close{display:none;justify-content:center;width:28px;height:28px;border-radius:50%;border:none;background:rgba(0,0,0,.06);color:rgba(0,0,0,.5);font-size:18px;line-height:1;cursor:pointer;transition:background .15s ease}.panel-close:hover{background:rgba(0,0,0,.12);color:#000}.panel-scroll-area{overflow-y:auto;flex:1;min-height:0;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.12) transparent}.panel-scroll-area::-webkit-scrollbar{width:4px}.panel-scroll-area::-webkit-scrollbar-track{background:transparent}.panel-scroll-area::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);border-radius:4px}.panel-section-title{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(0,0,0,.32);padding:12px 20px 6px}.option-row{display:flex;align-items:center;justify-content:space-between;padding:9px 20px;gap:12px;transition:background .12s ease}.option-row:hover{background:rgba(0,0,0,.025)}.option-row-label{font-size:13px;font-weight:500;color:rgba(0,0,0,.72);flex:1;min-width:0}.chip-group{display:flex;flex-wrap:wrap;gap:6px;padding:4px 20px 12px}.chip{font-size:11px;font-weight:600;padding:4px 12px;border-radius:9999px;border:1.5px solid rgba(0,0,0,.12);background:transparent;color:rgba(0,0,0,.5);cursor:pointer;transition:all .14s ease;text-transform:capitalize}.chip:hover{border-color:rgba(0,0,0,.28);color:#000;background:rgba(0,0,0,.03)}.chip.chip-active{background:#000;color:#fff;border-color:#000}.color-swatch{width:22px;height:22px;border-radius:6px;border:none;padding:0;cursor:pointer;outline:1.5px solid rgba(0,0,0,.12);outline-offset:1px;background:transparent}.color-swatch::-webkit-color-swatch-wrapper{padding:0}.color-swatch::-webkit-color-swatch{border:none;border-radius:5px}.toggle-track{position:relative;width:36px;height:20px;border-radius:9999px;background:rgba(0,0,0,.12);cursor:pointer;transition:background .2s ease;border:none;flex-shrink:0}.toggle-track.toggle-on{background:#000}.toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.2)}.toggle-track.toggle-on .toggle-thumb{transform:translateX(16px)}.paint-preview{width:22px;height:22px;border-radius:6px;border:none;padding:0;cursor:pointer;outline:1.5px solid rgba(0,0,0,.12);outline-offset:1px;flex-shrink:0}.panel-divider{height:1px;background:rgba(0,0,0,.06);margin:8px 20px;flex-shrink:0}.order-btn{position:absolute;top:24px;right:24px;height:44px;padding:0 20px;background:#000;color:#fff;border:none;border-radius:22px;font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:8px;cursor:pointer;z-index:100;box-shadow:0 4px 12px rgba(0,0,0,.15);transition:all .2s ease}.order-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.2)}.order-btn:active{transform:translateY(1px)}.gradient-modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.18);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}@media (max-width:1023px) and (min-width:768px){.option-panel{width:260px;left:16px;max-height:min(60vh,calc(100vh - 110px))}}@media (max-width:767px){.option-panel{left:0;right:0;bottom:calc(72px + env(safe-area-inset-bottom));top:auto;width:100%;border-radius:20px 20px 0 0;max-height:min(48vh,360px);border-bottom:none;border-left:none;border-right:none}.panel-close{display:flex}.stages{padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:8px}}.legal-modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.legal-modal-content{background:#fff;padding:32px;border-radius:16px;max-width:400px;width:100%;box-shadow:0 10px 40px rgba(0,0,0,.2);display:flex;flex-direction:column;gap:20px;color:#000}.legal-modal-content h3{margin:0;font-size:20px}.legal-modal-disclaimer{font-size:13px;line-height:1.5;color:rgba(0,0,0,.7);margin:0}.legal-modal-links{display:flex;flex-direction:column;gap:12px;font-size:14px;font-weight:500}.legal-modal-links a{color:#000;text-decoration:underline;text-decoration-color:rgba(0,0,0,.2);text-underline-offset:4px;transition:all .2s}.legal-modal-links a:hover{text-decoration-color:#000}.legal-modal-contact{font-size:13px;color:rgba(0,0,0,.6);line-height:1.6;margin-top:8px}.legal-modal-contact a{color:#000;text-decoration:none}.legal-modal-close{margin-top:10px;padding:12px;background:#f0f0f0;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.legal-modal-close:hover{background:#e0e0e0}.checkout-error-toast{position:absolute;top:80px;right:24px;background:#ff3333;color:white;padding:12px 16px;border-radius:8px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:12px;z-index:100;box-shadow:0 4px 12px rgba(255,0,0,.2)}.checkout-error-toast button{background:none;border:none;color:white;font-size:18px;line-height:1;cursor:pointer;opacity:.8;padding:0}.checkout-error-toast button:hover{opacity:1}.active-option,.active-stage{color:#000!important}