@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&display=swap";*{box-sizing:border-box;-webkit-font-smoothing:antialiased;margin:0;padding:0}body{color:#0f172a;background:radial-gradient(circle at 0 0,#f8fafc,#e2e8f0);min-height:100vh;font-family:Outfit,Inter,-apple-system,sans-serif}button{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}button:active{transform:scale(.95)}button:disabled{cursor:default;opacity:.3;pointer-events:none}.app-container{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.designer-wrapper{flex-direction:column;gap:2.5rem;width:100%;max-width:1200px;animation:.8s ease-out fadeIn;display:flex}@media (width>=1024px){.designer-wrapper{flex-direction:row;align-items:flex-start}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.glass-card,.builder-pane,.text-edit-toolbar,.modern-toolbar{-webkit-backdrop-filter:blur(12px);background:#ffffffe6;border:1px solid #fff;border-radius:2rem;padding:2rem;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.selector-section{margin-bottom:2rem}.selector-section.no-margin{margin-bottom:0}.selector-section h3{text-transform:uppercase;letter-spacing:.1rem;color:#64748b;margin-bottom:1rem;font-size:.75rem;font-weight:700}.selector-section .pill-group{flex-direction:column;gap:.5rem;display:flex}.selector-section .pill{color:#0f172a;white-space:nowrap;background:#f8fafc;border:2px solid #f1f5f9;border-radius:1rem;justify-content:flex-start;width:100%;padding:.75rem .5rem;font-weight:600}.selector-section .pill.active{color:#6366f1;background:#fff;border-color:#6366f1}.selector-section .pill:hover:not(.active){background:#f1f5f9}.selector-section .swatch-group{flex-wrap:wrap;gap:1rem;display:flex}.selector-section .swatch{background-color:var(--swatch-color);border-radius:50%;width:3rem;height:3rem;position:relative;box-shadow:0 4px 6px -1px #0000000d}.selector-section .swatch:after{content:"";border:2px solid #0000;border-radius:50%;transition:all .2s;position:absolute;inset:-4px}.selector-section .swatch.active:after{border-color:#6366f1}.selector-section .swatch:hover{transform:translateY(-2px)}.selector-section .size-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.selector-section .size-btn{white-space:nowrap;background:#f8fafc;border:2px solid #f1f5f9;border-radius:.75rem;padding:.6rem .4rem;font-weight:700}.selector-section .size-btn.active{color:#fff;background:#0f172a;border-color:#0f172a}.sidebar{flex-direction:column;flex:0 0 320px;gap:2rem;display:flex}.sidebar .header h1{letter-spacing:-.05em;background:linear-gradient(90deg,#6366f1,#a855f7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:900}.sidebar .header p{color:#64748b;font-weight:500}.workspace{flex-direction:column;flex:1;gap:1.5rem;display:flex}.toolbar-container{z-index:110;flex-direction:column;align-self:center;align-items:center;width:100%;max-width:800px;margin-bottom:0;display:flex;position:relative}.modern-toolbar{z-index:100;border-radius:1.5rem;justify-content:space-around;align-items:center;width:100%;padding:1rem;display:flex}.modern-toolbar .group{align-items:center;gap:.75rem;display:flex}.modern-toolbar>.group:first-child{gap:.75rem}.modern-toolbar .divider{background:#e2e8f0;width:1px;height:1.5rem}.modern-toolbar .icon{color:#94a3b8;border-radius:.75rem;justify-content:center;align-items:center;padding:.65rem;display:flex}.modern-toolbar .icon svg{width:1.25rem;height:1.25rem;display:block}.modern-toolbar .icon:hover{color:#0f172a;background:#f1f5f9}.modern-toolbar .icon.active{color:#6366f1;background:#e2e8f0}.modern-toolbar .icon.danger{color:#ef4444;margin-left:.5rem}.modern-toolbar .icon.danger:hover{background:#fff1f2}.text-edit-toolbar{z-index:100;background:#fff;border:1px solid #fffc;border-radius:1rem;align-items:center;gap:1.5rem;width:fit-content;margin-top:.75rem;padding:.5rem 1rem;display:flex;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #0000000d}.text-edit-toolbar .divider{background:#e2e8f0;width:1px;height:1.25rem}.text-edit-toolbar .font-select{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:.6rem;outline:none;min-width:140px;padding:.35rem .65rem;font-size:.875rem;font-weight:600}.text-edit-toolbar .font-select:hover{border-color:#cbd5e1}.text-edit-toolbar .tool-btn{color:#94a3b8;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem;display:flex}.text-edit-toolbar .tool-btn svg{width:1.15rem;height:1.15rem;display:block}.text-edit-toolbar .tool-btn:hover{color:#0f172a;background:#f1f5f9}.text-edit-toolbar .tool-btn.active{color:#6366f1;background:#e2e8f0}.builder-pane{background:#fff;justify-content:center;align-items:center;min-height:750px;display:flex;position:relative;overflow:hidden}.canvas-wrapper{justify-content:center;align-items:center;width:500px;max-width:100%;height:500px;max-height:100%;display:flex;position:relative}.canvas-wrapper .shirt-background{border-radius:1.5rem;position:absolute;inset:0;overflow:hidden}.canvas-wrapper .shirt-background .white-base{background-color:#fff;position:absolute;inset:0}.canvas-wrapper .shirt-background .color-layer{background-color:var(--shirt-color,white);-webkit-mask-image:var(--shirt-mask);mask-image:var(--shirt-mask);z-index:2;transition:background-color .4s cubic-bezier(.4,0,.2,1);position:absolute;inset:0;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.canvas-wrapper .shirt-background .mockup-layer{object-fit:cover;pointer-events:none;mix-blend-mode:multiply;opacity:.95;z-index:3;width:100%;height:100%;position:absolute;inset:0}.canvas-wrapper .fabric-container{z-index:10;border-radius:4px;overflow:hidden}.canvas-wrapper .fabric-container .fabric-wrapper{-webkit-user-select:none;user-select:none;position:relative;width:100%!important;height:100%!important}.canvas-wrapper .fabric-container .fabric-wrapper canvas{width:100%!important;height:100%!important}.hidden-input{display:none!important}
