:root{--bg:#fff;--surface:#fff;--text:#000;--text-secondary:#666;--border:#e5e5e5;--accent:#000;--radius:4px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}#root{min-height:100vh}.configurator{max-width:1440px;min-height:calc(100vh - 56px);margin:56px auto 0;display:flex;position:relative}.site-header{z-index:100;border-bottom:1px solid var(--border);background:#fff;justify-content:center;align-items:center;height:56px;display:flex;position:fixed;top:0;left:0;right:0}.site-header .logo{width:auto;height:20px}.by-you{color:var(--text-secondary);letter-spacing:.02em;margin-left:6px;font-size:14px}.by-you strong{color:var(--text);font-weight:700}.preview-section{background:#f8f8f8;flex:1;justify-content:center;align-items:center;height:calc(100vh - 56px);padding:40px;display:flex;position:sticky;top:56px}.jacket-canvas{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 136px)}.controls-section{background:var(--surface);width:440px;min-width:440px;height:calc(100vh - 56px);padding:48px 40px;position:sticky;top:56px;overflow-y:auto}.gender-switcher{border:1.5px solid var(--border);border-radius:4px;gap:0;margin-bottom:28px;display:flex;overflow:hidden}.gender-btn{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex:1;padding:10px 0;font-size:13px;font-weight:600;transition:all .15s}.gender-btn+.gender-btn{border-left:1.5px solid var(--border)}.gender-btn.active{color:#fff;background:#000}.gender-btn:not(.active):hover{color:var(--text);background:#f5f5f5}.product-title{letter-spacing:-.5px;color:var(--text);margin-bottom:4px;font-size:28px;font-weight:600}.customised-label{text-transform:uppercase;letter-spacing:.08em;color:#fff;background:#000;border-radius:2px;margin-bottom:8px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.product-subtitle{color:var(--text-secondary);margin-bottom:24px;font-size:14px;line-height:1.4}.color-summary{color:var(--text);border-bottom:1px solid var(--border);margin-bottom:32px;padding-bottom:24px;font-size:13px}.color-summary strong{font-weight:600}.color-summary span{color:var(--text-secondary)}.panel-section{margin-bottom:28px}.panel-header{align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.panel-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text);font-size:13px;font-weight:600}.selected-color-name{color:var(--text-secondary);font-size:13px;font-weight:400}.color-grid{flex-wrap:wrap;gap:6px;display:flex}.color-swatch{cursor:pointer;background:0 0;border:1.5px solid #00000014;border-radius:4px;outline:none;width:32px;height:32px;padding:0;transition:all .12s;position:relative}.color-swatch:hover{border-color:#00000040}.color-swatch.active{border-color:#000;box-shadow:0 0 0 1.5px #000}.color-swatch .swatch-fill{border-radius:2.5px;width:100%;height:100%;display:block}.color-swatch .tooltip{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:10;background:#000;border-radius:3px;padding:4px 8px;font-size:11px;font-weight:500;transition:opacity .12s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.color-swatch .tooltip:after{content:"";border:4px solid #0000;border-top-color:#000;position:absolute;top:100%;left:50%;transform:translate(-50%)}.color-swatch:hover .tooltip{opacity:1}.product-price{color:var(--text);margin-bottom:24px;font-size:22px;font-weight:600}.info-note{color:var(--text-secondary);text-align:center;background:#f5f5f5;border-radius:6px;margin-top:28px;padding:12px 16px;font-size:13px;line-height:1.4}.add-to-cart{color:#fff;letter-spacing:.02em;cursor:pointer;background:#000;border:none;border-radius:0;justify-content:center;align-items:center;gap:12px;width:100%;margin-top:16px;padding:16px 24px;font-size:15px;font-weight:600;transition:background .15s;display:flex}.add-to-cart:hover{background:#222}.add-to-cart .cart-price{opacity:.7;font-weight:400}.divider{background:var(--border);height:1px;margin:28px 0}.loading-overlay{z-index:10;background:#f8f8f8cc;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.no-config{justify-content:center;align-items:center;min-height:100vh;padding:40px;display:flex}.no-config-inner{text-align:center;max-width:400px}.no-config-inner h2{margin-bottom:12px;font-size:22px;font-weight:600}.no-config-inner p{color:var(--text-secondary);font-size:14px;line-height:1.6}.no-config-inner code{background:#f0f0f0;border-radius:3px;padding:2px 6px;font-family:SF Mono,Fira Code,monospace;font-size:12px;display:inline-block}.no-config-inner ol{text-align:left;color:var(--text-secondary);margin:20px 0;padding-left:20px;font-size:13px;line-height:2}@media (width<=900px){.configurator{flex-direction:column}.preview-section{height:auto;min-height:60vh;padding:24px;position:relative}.controls-section{width:100%;min-width:unset;height:auto;padding:32px 24px;position:relative}}
