:root{--carbon: #171B20;--volt: #00D4FF;--ember: #FF5C00;--ice: #E8F4F8;--steel: #5A6670;--white: #FFFFFF}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;background:var(--carbon);color:var(--white);overflow:hidden;height:100vh;height:100dvh}#app{display:flex;height:100vh;height:100dvh}#viewer{flex:7;min-width:0;position:relative;background:#c8cdd2}#c3d{width:100%;height:100%;display:block}#sidebar{flex:3;min-width:280px;max-width:420px;background:#1a1d22;border-left:1px solid #2a2d32;display:flex;flex-direction:column;overflow:hidden}#sidebar-header{padding:14px 18px;border-bottom:1px solid #2a2d32}#sidebar-header h1{font-family:Arial Black,Arial,sans-serif;text-transform:uppercase;font-size:16px;letter-spacing:1px;color:var(--volt)}#sidebar-header p{font-size:11px;color:var(--steel);margin-top:3px}#steps{display:flex;gap:0;padding:0 18px;border-bottom:1px solid #2a2d32}.step-hit-zone{flex:1;cursor:pointer;padding:10px 0;display:flex;flex-direction:column;align-items:center;gap:3px}.step-dot{width:100%;height:3px;background:#2a2d32;border-radius:2px;transition:background .3s}.step-dot.active{background:var(--volt)}.step-dot.done{background:var(--ember)}.step-label{font-size:9px;text-transform:uppercase;color:var(--steel);letter-spacing:.5px;transition:color .2s}.step-hit-zone:hover .step-label{color:var(--white)}#step-content{flex:1;overflow-y:auto;padding:16px 18px}#step-content h2{font-family:Arial Black,Arial,sans-serif;text-transform:uppercase;font-size:14px;margin-bottom:4px}.subtitle{font-size:12px;color:var(--steel);margin-bottom:14px}.section-label{font-size:11px;text-transform:uppercase;color:var(--steel);display:block;margin-bottom:6px;margin-top:6px;font-weight:700}.hint-text{font-weight:400;color:var(--steel);opacity:.7}.helper-text{font-size:11px;color:var(--steel);margin-top:6px;margin-bottom:6px}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.option-card{background:#22252a;border:2px solid transparent;border-radius:6px;padding:10px;cursor:pointer;transition:all .2s;text-align:center}.option-card:hover{border-color:#3a3d42}.option-card.selected{border-color:var(--volt);background:#1a2a30}.option-card .icon{font-size:22px;margin-bottom:4px}.option-card .label{font-size:11px;font-weight:700;text-transform:uppercase}.bg-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}.bg-thumb{position:relative;aspect-ratio:2.86 / 1;overflow:hidden;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:border-color .2s}.bg-thumb:hover{border-color:#3a3d42}.bg-thumb img{width:100%;height:100%;object-fit:cover}.bg-thumb-name{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000b3);padding:2px 6px;font-size:10px;color:#fffc}.btn-clear{width:100%;background:transparent;border:1px solid #3a3d42;color:var(--steel);border-radius:4px;padding:6px;font-size:11px;cursor:pointer;transition:all .2s;margin-top:8px}.btn-clear:hover{border-color:var(--steel);color:var(--white)}.color-section{margin-bottom:14px}.color-section label{font-size:11px;text-transform:uppercase;color:var(--steel);display:block;margin-bottom:6px;font-weight:700}.color-row{display:flex;align-items:center;gap:8px}.color-swatch{width:30px;height:30px;border-radius:4px;border:2px solid #3a3d42;cursor:pointer;position:relative;overflow:hidden;flex-shrink:0}.color-swatch input{position:absolute;top:-10px;left:-10px;width:52px;height:52px;cursor:pointer;opacity:0}.color-hex{font-size:11px;color:var(--steel);font-family:monospace}.preset-colors{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.preset-dot{width:20px;height:20px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:border-color .2s}.preset-dot:hover,.preset-dot.active{border-color:var(--white)}input[type=text],select{width:100%;background:#22252a;border:1px solid #3a3d42;color:var(--white);padding:9px 12px;border-radius:4px;font-size:13px;outline:none}input[type=text]:focus,select:focus{border-color:var(--volt)}.field-group{margin-bottom:10px}.field-group label{font-size:11px;text-transform:uppercase;color:var(--steel);display:block;margin-bottom:4px;font-weight:700}.font-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.font-btn{background:#22252a;border:2px solid transparent;border-radius:4px;padding:6px 8px;cursor:pointer;font-size:11px;text-align:center;transition:all .2s;color:var(--steel)}.font-btn:hover{border-color:#3a3d42;color:var(--white)}.font-btn.selected{border-color:var(--volt);color:var(--volt);background:#1a2a30}.logo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}.logo-thumb{position:relative;aspect-ratio:1;overflow:hidden;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:all .2s;background:#ffffff0d;padding:6px}.logo-thumb:hover{border-color:#3a3d42}.logo-thumb.selected{border-color:var(--volt);background:#00d4ff14}.logo-thumb img{width:100%;height:100%;object-fit:contain}.logo-badge{position:absolute;top:3px;right:3px;width:16px;height:16px;border-radius:50%;background:var(--volt);color:var(--carbon);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center}.logo-dropzone{border:2px dashed #3a3d42;border-radius:8px;padding:16px;text-align:center;cursor:pointer;transition:all .2s;margin-bottom:8px;display:flex;flex-direction:column;align-items:center;gap:4px}.logo-dropzone:hover,.logo-dropzone.dragover{border-color:var(--volt);background:#00d4ff0a}.dropzone-icon{font-size:24px}.dropzone-label{font-size:12px;font-weight:700;color:var(--white)}.dropzone-hint{font-size:10px;color:var(--steel)}.logo-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.logo-chip{display:flex;align-items:center;gap:4px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.3);border-radius:12px;padding:3px 8px;font-size:10px;color:var(--volt)}.logo-chip button{background:none;border:none;color:var(--steel);cursor:pointer;font-size:12px;line-height:1}.logo-chip button:hover{color:#f44}.selected-logos{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.logo-control{background:#00d4ff0f;border:1px solid rgba(0,212,255,.2);border-radius:6px;padding:8px 10px}.logo-control-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.logo-control-header span{font-size:11px;color:var(--volt);font-weight:700}.logo-control-header button{background:none;border:none;color:var(--steel);font-size:10px;cursor:pointer}.logo-control-header button:hover{color:#f44}.logo-control-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.logo-control-row label{font-size:10px;color:var(--steel);min-width:32px}.logo-control-row input[type=range]{flex:1;accent-color:var(--volt)}.range-value{font-size:10px;color:var(--steel);font-family:monospace;min-width:28px}.mirror-toggle{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--steel);cursor:pointer}.mirror-toggle input{accent-color:var(--volt)}.review-panel{display:flex;flex-direction:column;gap:10px}.review-row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#22252a;border-radius:4px}.review-row.review-total{background:#1a2a30;border:1px solid rgba(0,212,255,.2)}.review-label{font-size:11px;text-transform:uppercase;color:var(--steel);font-weight:700}.review-value{font-size:13px;display:flex;align-items:center;gap:4px}.review-price{color:var(--volt);font-family:Arial Black,Arial,sans-serif;font-size:16px}.review-swatch{display:inline-block;width:16px;height:16px;border-radius:3px;border:1px solid #3a3d42;flex-shrink:0}.review-hint{font-size:12px;color:var(--steel);margin-top:6px}.review-actions{display:flex;gap:8px;margin-top:4px}.empty-state{font-size:12px;color:var(--steel);padding:8px 0}#nav-buttons{padding:16px 18px 4px;border-top:1px solid #2a2d32;display:flex;gap:8px}.btn{padding:10px 14px;border:none;border-radius:4px;font-family:Arial Black,Arial,sans-serif;text-transform:uppercase;font-size:12px;cursor:pointer;flex:1;transition:all .2s}.btn-back{background:#22252a;color:var(--steel)}.btn-back:hover{background:#2a2d32;color:var(--white)}.btn-next{background:var(--ember);color:var(--white)}.btn-next:hover{background:#ff7a33}.btn-secondary{background:#22252a;color:var(--steel);border:1px solid #3a3d42}.btn-secondary:hover{background:#2a2d32;color:var(--white);border-color:var(--steel)}#price-bar{padding:12px 18px;border-top:1px solid #2a2d32;display:flex;justify-content:space-between;align-items:center}.price-label{font-size:10px;text-transform:uppercase;color:var(--steel);letter-spacing:1px}.price{font-family:Arial Black,Arial,sans-serif;font-size:22px;color:var(--volt)}#loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#c8cdd2e6;pointer-events:none;z-index:10}#loading-overlay p{margin-top:12px;font-size:13px;color:var(--steel)}.spinner{width:32px;height:32px;border:3px solid #ddd;border-top-color:var(--volt);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.size-heading-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;margin-top:4px}.size-dynamic-price{font-family:Arial Black,Arial,sans-serif;font-size:16px;color:var(--volt)}.size-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.size-pill{padding:5px 10px;border-radius:20px;font-size:10px;font-weight:700;text-transform:uppercase;cursor:pointer;border:1px solid #3a3d42;background:#22252a;color:var(--steel);transition:all .2s;white-space:nowrap}.size-pill:hover{border-color:var(--steel);color:var(--white)}.size-pill.active{border-color:var(--volt);background:#00d4ff1a;color:var(--volt)}.logo-dropdown-wrapper{position:relative;margin-bottom:8px}.logo-dropdown-trigger{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#22252a;border:1px solid #3a3d42;border-radius:6px;cursor:pointer;transition:all .2s}.logo-dropdown-trigger:hover,.logo-dropdown-trigger.open{border-color:var(--volt)}.logo-dropdown-placeholder{font-size:12px;color:var(--steel)}.logo-dropdown-chevron{font-size:10px;color:var(--steel)}.logo-dropdown-panel{position:absolute;top:100%;left:0;right:0;z-index:20;background:#22252a;border:1px solid #3a3d42;border-top:none;border-radius:0 0 6px 6px;max-height:240px;display:flex;flex-direction:column}.logo-dropdown-search{width:100%;padding:7px 10px;background:#1a1d22;border:none;border-bottom:1px solid #3a3d42;color:var(--white);font-size:12px;outline:none}.logo-dropdown-search:focus{background:#171a1e}.logo-dropdown-list{overflow-y:auto;max-height:200px}.logo-dropdown-item{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:12px;color:var(--white);cursor:pointer;transition:background .15s}.logo-dropdown-item:hover{background:#00d4ff14}.logo-dropdown-item.selected{background:#00d4ff1f;color:var(--volt)}.logo-dropdown-item.pinned{color:var(--volt);font-weight:700;border-bottom:1px solid #2a2d32}.logo-dropdown-item.active{background:#00d4ff1a}.logo-dropdown-item-icon{font-size:14px;width:20px;text-align:center;flex-shrink:0}.logo-dropdown-item-thumb{width:24px;height:24px;object-fit:contain;border-radius:3px;flex-shrink:0}.logo-dropdown-check{margin-left:auto;color:var(--volt);font-weight:700}.logo-dropdown-empty{padding:12px 10px;font-size:11px;color:var(--steel);text-align:center}.logo-dropdown-upload{padding:12px;margin:4px 8px 8px;border:2px dashed #3a3d42;border-radius:6px;text-align:center;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:2px}.logo-dropdown-upload:hover,.logo-dropdown-upload.dragover{border-color:var(--volt);background:#00d4ff0a}.bg-upload-toggle{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;font-size:11px;color:var(--steel);cursor:pointer;border:1px solid transparent;border-radius:4px;margin-bottom:6px;transition:all .2s}.bg-upload-toggle:hover{color:var(--white);border-color:#3a3d42}.bg-upload-toggle.open{color:var(--volt);border-color:#00d4ff4d}.bg-upload-chevron{font-size:9px}.bg-upload-zone{border:2px dashed #3a3d42;border-radius:6px;padding:12px;text-align:center;cursor:pointer;transition:all .2s;margin-bottom:8px;display:flex;flex-direction:column;align-items:center;gap:2px}.bg-upload-zone:hover,.bg-upload-zone.dragover{border-color:var(--volt);background:#00d4ff0a}.step-heading{display:flex;justify-content:space-between;align-items:baseline}@media(max-width:768px){#app{flex-direction:column}#viewer{flex:1;min-height:50vh}#sidebar{max-width:none;flex:none;height:50vh}}.hkyiq-ring-carousel{margin-bottom:8px}.hkyiq-ring-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--steel);margin-bottom:10px}.hkyiq-ring-wrap,.hkyiq-ring-scene{touch-action:pan-y}.hkyiq-ring-arrow{width:28px;height:28px;border-radius:50%;background:#000000d9;border:1px solid #3a3d42;color:var(--white);font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;padding:0}.hkyiq-ring-arrow:hover{background:#00d4ff40;border-color:var(--volt)}.hkyiq-ring-frame{transition:border-color .2s}.hkyiq-ring-item-box{transition:border-color .2s,box-shadow .2s}.hkyiq-ring-item:hover .hkyiq-ring-item-box{border-color:#3a3d42!important}
