:root{color-scheme:dark;--bg: #09090b;--bg-gradient: radial-gradient(at top left, rgba(63, 63, 70, .3) 0%, transparent 50%), radial-gradient(at bottom right, rgba(24, 24, 27, .8) 0%, transparent 60%), #09090b;--surface: rgba(24, 24, 27, .55);--surface-solid: #1c1c1e;--surface-blur: blur(24px) saturate(160%);--surface-2: rgba(255, 255, 255, .06);--surface-3: rgba(255, 255, 255, .1);--ink: #fafafa;--muted: #a1a1aa;--line: rgba(255, 255, 255, .08);--accent: #ffffff;--accent-ink: #000000;--olive: #7c926f;--shadow: 0 12px 32px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .06);--hard-shadow: 0 24px 48px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .08);--font-display: "Onest", system-ui, -apple-system, sans-serif;--font-sans: "Manrope", system-ui, -apple-system, sans-serif;--radius: 999px;--panel-radius: 24px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);background:#1c1c1e;background-attachment:fixed;font-family:var(--font-sans);font-size:16px;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none}button{color:inherit;font:inherit;letter-spacing:0}button:focus-visible{outline:2px solid color-mix(in srgb,var(--ink) 82%,transparent);outline-offset:3px}.app-shell{min-height:100dvh;display:grid;place-items:center;padding:0;position:relative;z-index:0;background:#1c1c1e}.app-shell:before{content:"";position:fixed;inset:-20px;background:url(/assets/bg-swamp-upscaled.png) center/cover no-repeat;filter:brightness(.7) grayscale(15%);opacity:.2;mix-blend-mode:normal;z-index:-2;-webkit-mask-image:linear-gradient(to bottom,black 0%,black 50%,transparent 95%);mask-image:linear-gradient(to bottom,black 0%,black 50%,transparent 95%)}.app-shell:after{content:"";position:fixed;inset:0;background:radial-gradient(circle at 50% -20%,rgba(171,184,157,.1) 0%,transparent 60%),radial-gradient(circle at 100% 100%,rgba(0,0,0,.4) 0%,transparent 80%),radial-gradient(circle at 0% 100%,rgba(0,0,0,.3) 0%,transparent 60%);z-index:-1;pointer-events:none}.miniapp{width:100%;height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border:0;background:transparent;box-shadow:none}.topbar{min-height:62px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:16px 20px 8px;background:transparent;border:none}.brand-mark{width:max-content;display:flex;align-items:center;align-self:center;min-height:44px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.brand-mark span{font-family:Playfair Display,Times New Roman,Times,serif;font-style:italic;font-size:clamp(1.45rem,6.4vw,2.1rem);white-space:nowrap;font-weight:600;line-height:1;letter-spacing:-.02em;text-transform:lowercase;color:#fff}.brand-mark small{font-family:var(--font-sans);color:var(--muted);font-size:.65rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.top-actions{display:flex;gap:8px}.icon-button,.carousel-arrow,.qty-control button,.trash-button{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);cursor:pointer;transition:transform .14s ease,background-color .14s ease,opacity .14s ease}@media(hover:hover){.icon-button:hover,.qty-control button:hover,.trash-button:hover{background:var(--surface-2);transform:scale(1.04)}}.icon-button:active,.qty-control button:active,.trash-button:active{background:var(--surface-3);transform:scale(.96);transition-duration:50ms}.icon-button.is-active{background:var(--ink);color:var(--bg);transform:scale(.96)}.icon-button:disabled{opacity:.34;pointer-events:none}.cart-button{position:relative}.cart-count{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;display:inline-grid;place-items:center;padding:0 5px;border-radius:999px;color:var(--accent-ink);background:var(--accent);font-family:var(--font-display);font-size:.68rem;font-weight:700}.step-track{height:2px;background:#ffffff0f;margin:0 20px;border-radius:4px;overflow:hidden}.step-track span{display:block;height:100%;background:var(--ink);transition:width .26s ease}.step-track.is-hidden{visibility:hidden;opacity:0}.content{height:100%;min-height:0;display:flex;flex-direction:column}.screen{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:14px 12px max(32px,env(safe-area-inset-bottom))}.confirm-screen,.cart-screen{grid-template-rows:auto minmax(260px,1fr) auto auto}.cart-screen,.checkout-screen{overflow-y:auto;overscroll-behavior:contain;scroll-padding-bottom:calc(32px + env(safe-area-inset-bottom))}.screen-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-height:48px;padding:0 4px}.screen-title:has(.title-carousel){align-items:center}.sheet-head span{color:var(--muted);font-family:var(--font-sans);font-size:.65rem;font-weight:500;letter-spacing:.06em;text-transform:lowercase;white-space:nowrap}.title-carousel{display:inline-grid;overflow:hidden;justify-items:start;align-items:center;line-height:1.1;flex:1;padding:8px 0;margin:-8px 0;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 85%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 85%,transparent 100%)}.carousel-title-item{grid-area:1 / 1;white-space:nowrap;font-family:var(--font-display);font-weight:600;font-size:1.7rem;letter-spacing:-.02em;color:var(--ink);text-transform:lowercase;transition:transform .65s cubic-bezier(.16,1,.3,1),opacity .65s cubic-bezier(.16,1,.3,1)}.carousel-title-item.active{transform:translateY(0);opacity:1}.carousel-title-item.hidden-up{transform:translateY(-100%);opacity:0;pointer-events:none}.carousel-title-item.hidden-down{transform:translateY(100%);opacity:0;pointer-events:none}.screen-title h1{margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,7vw,2.4rem);font-weight:600;letter-spacing:-.04em;line-height:1;text-transform:lowercase}.screen-title-aside{margin:0;color:var(--ink);font-family:var(--font-display);font-size:clamp(1.1rem,5vw,1.5rem);font-weight:650;text-align:right;letter-spacing:-.02em;white-space:nowrap}.price-badge{text-align:center;color:var(--ink);font-family:var(--font-display);font-size:1.2rem;font-weight:600;letter-spacing:.02em;margin-bottom:24px}.carousel-shell{position:relative;width:100%;height:100%;min-width:0;min-height:0;display:grid;place-items:center;touch-action:pan-y}.slide-grip{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;cursor:grab}.slide-grip:active{cursor:grabbing}.carousel-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);color:var(--ink);width:44px;height:44px;border-radius:50%;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);background:var(--surface);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);box-shadow:var(--shadow)}.carousel-arrow:after{content:"";position:absolute;inset:-20px}@media(hover:hover){.carousel-arrow:hover{transform:translateY(-50%) scale(1.05)}}.carousel-arrow:active{background:var(--surface-2);transform:translateY(-50%) scale(.94);transition-duration:50ms}.carousel-arrow.left{left:0}.carousel-arrow.right{right:0}.product-preview{position:relative;width:min(100%,430px);height:100%;min-height:0;display:grid;place-items:center;isolation:isolate;justify-self:center;margin:0 auto;will-change:transform;transform:translateZ(0)}.product-preview:before{content:"";position:absolute;top:50%;left:50%;width:min(85vw,420px);height:min(85vw,420px);transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;z-index:0;transition:background .3s ease}.product-preview.color-white:before{background:radial-gradient(circle,rgba(0,0,0,.5) 0%,transparent 60%)}.product-preview.color-black:before{background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 60%)}.product-preview.color-beige:before{background:radial-gradient(circle,rgba(231,223,204,.14) 0%,transparent 62%)}.product-preview.is-compact{width:74px;min-height:74px;height:74px;flex:0 0 auto}.product-preview.is-compact:before{display:none}.garment-image{z-index:1;width:min(92%,390px);max-height:min(100%,440px);object-fit:contain;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 20px 24px rgba(20,19,17,.22));transform:translateY(-16px)}.product-longsleeve .garment-image{width:min(110%,480px);max-height:min(110%,500px);transform:translateY(-20px) scale(1.15)}.product-sweater .garment-image{width:min(130%,560px);max-height:min(120%,520px);transform:translateY(-32px) scale(1.25)}.product-preview.is-compact .garment-image{width:100%;max-height:74px;filter:drop-shadow(0 8px 10px rgba(20,19,17,.18));transform:none}.product-preview.is-compact.product-longsleeve .garment-image{transform:scale(1.1)}.product-preview.is-compact.product-sweater .garment-image{transform:scale(1.18)}:root[data-theme=dark] .product-preview.color-black .garment-image{filter:brightness(1.34) contrast(1.08) drop-shadow(0 20px 28px rgba(0,0,0,.44))}:root[data-theme=dark] .product-preview.is-compact.color-black .garment-image{filter:brightness(1.26) contrast(1.06) drop-shadow(0 8px 10px rgba(0,0,0,.35))}.embroidery-layer{position:absolute;z-index:2;left:var(--design-left);top:var(--design-top);width:var(--design-width);aspect-ratio:var(--design-aspect);background:var(--thread-color);mask-position:center;mask-repeat:no-repeat;mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;will-change:transform;-webkit-mask-size:contain;transform:translate(-50%,-50%) translateZ(0);filter:drop-shadow(0 1px 0 rgba(255,255,255,.18)) drop-shadow(0 2px 3px rgba(0,0,0,.22));pointer-events:none}.product-preview.is-compact .embroidery-layer{filter:none}.picker-panel{display:grid;gap:16px;padding:14px 20px 20px;border:1px solid rgba(255,255,255,.08);background:#1c1c1e!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-radius:var(--panel-radius);transition:transform .3s ease;margin:0 auto 12px;width:calc(100% - 16px);max-width:520px}.product-picker-panel{background:var(--surface)!important;backdrop-filter:var(--surface-blur)!important;-webkit-backdrop-filter:var(--surface-blur)!important;border-color:var(--line);box-shadow:var(--shadow)}.copy-block,.design-head,.summary-strip,.cart-total{display:flex;align-items:center;justify-content:space-between;gap:12px}.copy-block p,.design-head p{margin:0;color:var(--muted);font-family:var(--font-sans);font-size:.65rem;font-weight:500;text-transform:lowercase;letter-spacing:.05em}.copy-block strong,.design-head strong,.summary-strip strong{font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:-.02em;white-space:nowrap}.color-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.color-row>span{color:var(--ink);font-family:var(--font-sans);font-size:.95rem;font-weight:600;text-transform:lowercase;letter-spacing:.05em}.color-row>div{display:flex;align-items:center;gap:10px}.swatch-button{position:relative;width:40px;height:40px;display:grid;place-items:center;padding:0;border:2px solid transparent;border-radius:50%;background:transparent;cursor:pointer;transition:border-color .2s ease}.swatch-button span{width:100%;height:100%;border-radius:50%;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);background:var(--swatch);transition:transform .25s cubic-bezier(.16,1,.3,1)}.swatch-button.is-active{border-color:var(--ink)}.swatch-button.is-active span{transform:scale(.72)}.swatch-button:disabled{opacity:.28;cursor:not-allowed}.primary-button,.secondary-button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 24px;border-radius:var(--radius);font-family:var(--font-sans);font-size:.95rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1)}.primary-button{border:none;color:#000;background:var(--ink)}.secondary-button{border:1px solid rgba(255,255,255,.16);color:var(--ink);background:var(--surface-2)}@media(hover:hover){.primary-button:hover{background:#d4d4d8}.secondary-button:hover{background:#2c2c2e;box-shadow:0 4px 12px #0003}}.secondary-button:active{transform:scale(.97);transition-duration:.1s}.primary-button:active{transform:scale(.97);animation:buttonGlitch .15s steps(2,end) infinite;text-shadow:2px 0px 0px #ff003c,-2px 0px 0px #00eaff}@keyframes buttonGlitch{0%{transform:scale(.97) skew(0) translate(0)}25%{transform:scale(.97) skew(-5deg) translate(-2px,1px)}50%{transform:scale(.97) skew(5deg) translate(2px,-1px)}75%{transform:scale(.97) skew(-2deg) translate(-1px,2px)}to{transform:scale(.97) skew(2deg) translate(1px,-2px)}}.primary-button:disabled,.secondary-button:disabled{opacity:.58;cursor:wait;transform:none}.primary-button.is-locked{opacity:.4;cursor:not-allowed}.primary-button.is-locked:active{transform:none}.icon-text{min-height:40px;padding:0 12px;font-size:.95rem;font-weight:600;letter-spacing:.05em;text-transform:lowercase}.summary-strip{padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:var(--panel-radius);background:#1c1c1e!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.summary-strip div{display:grid;gap:3px}.summary-strip span{color:var(--muted);font-family:var(--font-sans);font-size:.65rem;font-weight:500;text-transform:lowercase;letter-spacing:.08em}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bottom-dots{height:22px;display:flex;align-items:center;justify-content:center;gap:7px;border-top:1px solid var(--line)}.bottom-dots span{width:24px;height:2px;background:var(--line)}.bottom-dots .is-active{background:var(--ink)}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;align-items:end;justify-items:center;padding:12px;background:#0a0a097a}.bottom-sheet{width:min(100%,470px);max-height:min(74dvh,620px);display:grid;grid-template-rows:auto 1fr;gap:16px;padding:20px;overflow:hidden;border:1px solid var(--line);border-radius:var(--panel-radius);background:var(--surface-solid);box-shadow:var(--hard-shadow)}.size-row{display:flex;flex-direction:column;gap:8px}.size-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.size-row>span,.size-row-head>span{font-family:var(--font-sans);font-size:.95rem;font-weight:600;letter-spacing:.05em;text-transform:lowercase;color:var(--ink)}.size-row-head strong{color:var(--ink);font-family:var(--font-sans);font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-size:.95rem;white-space:nowrap}.size-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.product-picker-panel .size-buttons.size-count-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.product-picker-panel .size-buttons.size-count-5 .size-button{min-width:0;width:100%;padding:0}.size-button{min-width:64px;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2);color:var(--ink);font-family:var(--font-sans);font-size:.95rem;font-weight:700;cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1)}@media(hover:hover){.size-button:hover:not(.is-active){background:#ffffff26;box-shadow:0 4px 12px #0003}}.size-button:active{transform:scale(.95);transition-duration:.1s}.size-button.is-active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.size-guide-btn{display:flex;align-items:center;gap:4px;min-height:40px;margin-left:auto;padding:0 8px;border:none;background:transparent;color:var(--muted);font-family:var(--font-sans);font-size:.95rem;font-weight:600;letter-spacing:.05em;cursor:pointer;white-space:nowrap;text-transform:lowercase;transition:all .14s ease}@media(hover:hover){.size-guide-btn:hover{color:var(--ink)}}.size-guide-modal{background:var(--surface);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);color:var(--ink);border:1px solid var(--line);border-radius:var(--panel-radius);padding:24px;width:min(100%,400px);box-shadow:var(--hard-shadow);display:flex;flex-direction:column;gap:16px}.size-guide-header{display:flex;justify-content:space-between;align-items:center}.size-guide-header h3{font-size:1.35rem;font-family:var(--font-display);font-weight:650;letter-spacing:-.03em;margin:0;color:var(--ink);text-transform:lowercase}.size-guide-header button{background:transparent;border:none;color:var(--muted);cursor:pointer;display:flex;padding:4px;transition:color .15s}@media(hover:hover){.size-guide-header button:hover{color:var(--ink)}}.size-guide-modal img{width:100%;border-radius:12px;display:block}.size-guide-text{display:grid;gap:10px;padding:6px 0 2px}.size-guide-text p{margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#ffffff0f;font-family:var(--font-sans);font-size:.82rem;font-weight:600;line-height:1.35}.checkout-screen{display:block;padding-bottom:40px}.checkout-screen .screen-title{margin-bottom:18px}.checkout-form{display:grid;gap:24px}.checkout-form .delivery-first{order:-1}.input-group{display:grid;gap:8px}.input-group label{font-family:var(--font-sans);font-size:.8rem;font-weight:500;letter-spacing:.05em;text-transform:lowercase;color:var(--muted)}.input-group label span{color:#c94040}.glass-input{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--ink);font-family:var(--font-sans);font-size:1rem;outline:none;transition:border-color .14s ease}.glass-input:focus{border-color:var(--ink);outline:none}textarea.glass-input{resize:vertical;min-height:80px;border-radius:20px}.input-hint{font-size:.65rem;color:var(--muted)}.delivery-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.delivery-card{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:12px 6px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2);color:var(--ink);text-align:center;cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1)}@media(hover:hover){.delivery-card:hover:not(.is-active):not(:disabled){background:#ffffff26;box-shadow:0 4px 12px #0003}}.delivery-card:active:not(:disabled){transform:scale(.95);transition-duration:.1s}.delivery-card.is-active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.delivery-card.is-active span{color:var(--bg)}.delivery-card:disabled{opacity:.42;cursor:not-allowed}.delivery-card strong{display:block;font-size:.78rem;font-weight:700;line-height:1.1}.delivery-card span{display:block;font-size:.65rem;font-weight:500;color:var(--muted);text-transform:lowercase;line-height:1.15}.checkout-panel.picker-panel{width:100%;max-width:none;margin:0}.checkout-summary.picker-panel{display:grid;gap:16px;width:100%;max-width:none;margin-top:16px;margin-bottom:0}.checkout-pay-button{width:100%;margin-top:18px}.checkout-consent-check{display:flex;align-items:flex-start;gap:10px;margin:16px 2px 12px;color:var(--muted);font-family:var(--font-sans);font-size:.82rem;line-height:1.5}.checkout-consent-check input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;margin-top:2px;background-color:var(--surface-2);border:1px solid var(--line);border-radius:4px;cursor:pointer;position:relative;transition:all .2s ease}.checkout-consent-check input[type=checkbox]:hover{border-color:#fff6}.checkout-consent-check input[type=checkbox]:checked{background-color:var(--ink);border-color:var(--ink)}.checkout-consent-check input[type=checkbox]:checked:after{content:"";position:absolute;left:6px;top:2px;width:4px;height:9px;border:solid var(--bg);border-width:0 2px 2px 0;transform:rotate(45deg)}.checkout-consent-check a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}.submit-note{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:18px;background:var(--surface-2);color:var(--muted);font-family:var(--font-sans);font-size:.95rem;font-weight:600;line-height:1.35;text-transform:lowercase}.submit-note.is-sent{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 24%,transparent)}.submit-note.is-error{color:#ffb8b8;border-color:#ff5a5a59}.summary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:flex-start;font-size:.85rem;color:var(--muted);text-transform:lowercase}.summary-row.is-total{font-size:1rem;font-weight:600;color:var(--ink);padding-top:12px;border-top:1px dashed var(--line);margin-top:4px}.summary-row.is-total strong{font-size:1.25rem;font-family:var(--font-display);letter-spacing:-.02em}.summary-row div:first-child{min-width:0;max-width:none;overflow-wrap:anywhere}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sheet-head div{display:grid;gap:3px}.sheet-head strong{font-family:var(--font-display);font-size:1.22rem;font-weight:600;text-transform:lowercase;letter-spacing:-.02em}.design-grid{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;overflow:auto;padding-right:0;padding-bottom:24px;scroll-padding-bottom:24px;scrollbar-width:none}.design-grid::-webkit-scrollbar{display:none}.design-tile{min-width:0;min-height:160px;display:grid;grid-template-rows:1fr auto;gap:12px;justify-items:center;padding:20px;border:none;border-radius:24px;color:var(--ink);background:var(--surface-2);cursor:pointer;text-align:center;transition:transform .4s cubic-bezier(.16,1,.3,1),background-color .4s,box-shadow .4s}.design-tile.is-active{background:#ffffff29;box-shadow:inset 0 0 0 1.5px var(--ink)}@media(hover:hover){.design-tile:hover:not(.is-active){background:#ffffff1a}}.design-tile:active{transform:scale(.96);transition-duration:.1s}.design-tile span{color:var(--muted);font-family:var(--font-sans);font-size:.65rem;font-weight:500;letter-spacing:.08em;text-transform:lowercase}.design-tile strong{overflow-wrap:anywhere;font-family:var(--font-display);font-size:.85rem;font-weight:600;text-transform:lowercase;letter-spacing:-.02em;text-align:center}.design-patch{width:var(--patch-width);height:var(--patch-height);max-width:100%;align-self:center;justify-self:center;background:var(--thread-color);mask-position:center;mask-repeat:no-repeat;mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain}.cart-screen{grid-template-rows:auto auto auto auto;align-content:start;gap:16px}.cart-list{min-height:auto;display:grid;align-content:start;gap:12px;overflow:visible}.cart-row-container{position:relative;border-radius:24px}.cart-row-delete-bg{position:absolute;top:0;right:0;height:100%;background:#f03e3e;border-radius:24px;overflow:hidden;z-index:0}.cart-row-delete-icon-wrapper{position:absolute;right:0;top:0;height:100%;width:80px;display:flex;align-items:center;justify-content:center;color:#fff}.cart-row{position:relative;z-index:1;display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:112px;padding:16px 14px;border:1px solid rgba(255,255,255,.08);border-radius:var(--panel-radius);background:#1c1c1e!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.cart-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.cart-copy span,.cart-copy small{overflow:hidden;color:var(--muted);font-family:var(--font-sans);font-size:.85rem;font-weight:500;line-height:1.3;text-overflow:ellipsis;text-transform:lowercase;letter-spacing:.02em;white-space:nowrap}.cart-size-badge{background:color-mix(in srgb,var(--ink) 11%,transparent);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);color:var(--ink)!important;padding:2px 8px;border-radius:999px;font-size:.75rem!important;font-weight:700!important;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center;line-height:1.2;white-space:nowrap}.cart-copy strong{overflow:hidden;color:var(--ink);font-family:var(--font-display);font-size:1rem;font-weight:600;line-height:1.2;text-overflow:ellipsis;text-transform:lowercase;letter-spacing:-.02em;white-space:nowrap}.cart-meta-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0;margin-top:1px}.cart-actions{display:grid;justify-items:center}.qty-control{display:grid;grid-template-columns:32px 24px 32px;align-items:center;gap:3px}.qty-control button{width:32px;height:32px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);backdrop-filter:none;-webkit-backdrop-filter:none}.qty-control span{font-family:var(--font-display);font-size:.86rem;font-weight:600;text-align:center}.trash-button{width:36px;height:36px;color:var(--ink)}.cart-total{padding:16px 2px 0;border-top:1px solid var(--line)}.cart-total span{font-family:var(--font-sans);font-size:1rem;font-weight:600;color:var(--ink);text-transform:lowercase}.cart-total strong{font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.02em}.empty-cart{min-height:320px;display:grid;place-items:center;align-content:center;gap:14px;color:var(--muted)}.empty-cart p{margin:0;font-family:var(--font-display);font-size:1.05rem;font-weight:600;text-transform:lowercase}.order-note{width:min(100%,360px);display:grid;justify-items:center;gap:12px;padding:32px 22px;border:1px solid var(--line);border-radius:var(--panel-radius);color:var(--ink);background:var(--surface-solid);box-shadow:var(--hard-shadow);text-align:center}.order-note h2{margin:0;font-family:var(--font-display);font-size:1.35rem;font-weight:600;letter-spacing:-.02em;text-transform:lowercase}.order-note p{margin:0;color:var(--muted);font-family:var(--font-sans);font-weight:500}@media(max-width:390px){.topbar,.screen{padding-right:10px;padding-left:10px}.screen-title{grid-template-columns:86px 1fr}.screen-title h1{font-size:clamp(1.24rem,6.6vw,1.72rem)}.screen-title div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.garment-image{width:96%}.product-longsleeve .garment-image{width:100%}.picker-panel{padding:10px}.size-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.size-button{min-width:0;width:100%;padding-right:0;padding-left:0}.cart-row{grid-template-columns:64px 1fr auto;gap:8px;padding:10px}.cart-row .product-preview{width:64px;min-height:64px;height:64px}.cart-copy{gap:4px}.cart-copy span{overflow:visible;text-overflow:clip;white-space:normal;line-height:1.16}.trash-button{width:32px;height:32px}.cart-actions .trash-button{grid-column:auto}.qty-control{grid-template-columns:28px 22px 28px}.qty-control button{width:28px;height:28px}}@media(max-width:640px){.product-picker-panel{gap:14px;margin:0 14px 12px;padding:16px 18px 18px;border-radius:26px}.product-picker-panel .size-row{gap:10px;margin-top:0}.product-picker-panel .size-buttons{display:flex;flex-wrap:wrap;gap:8px}.product-picker-panel .size-button{width:auto;min-width:68px;min-height:46px;padding:0 14px;border-radius:18px;font-size:.9rem;line-height:1}.product-picker-panel .color-row{justify-content:flex-start;gap:18px}.product-picker-panel .color-row>span{min-width:72px}.product-picker-panel .color-row>div{gap:12px}.product-picker-panel .swatch-button{width:36px;height:36px}}@media(min-width:960px){.screen{padding-inline:clamp(20px,3vw,36px)}.topbar,.bottom-dots{padding-inline:clamp(16px,3vw,36px)}.picker-panel{justify-self:center;margin-inline:auto;padding:22px 26px}.picker-panel .size-guide-btn{margin-left:0}.picker-panel .color-row{justify-content:flex-start;gap:24px}.checkout-screen{display:grid;grid-template-columns:minmax(0,580px) minmax(300px,380px);grid-template-rows:auto auto;align-content:start;justify-content:center;gap:22px 24px;padding-bottom:48px}.checkout-screen .screen-title,.checkout-screen .checkout-login-banner{grid-column:1 / -1;margin-bottom:0}.checkout-summary.picker-panel{position:sticky;top:10px;align-self:start;margin-top:0;margin-bottom:0}.checkout-pay-button{grid-column:1;margin-top:0}.cart-screen,.confirm-screen{max-width:760px;width:100%;justify-self:center}.product-preview{width:min(100%,520px);min-height:0}.garment-image{width:min(90%,440px)}.product-longsleeve .garment-image{width:min(96%,470px)}}@media(max-height:720px){.screen{grid-template-rows:auto minmax(0,1fr) auto;gap:7px;padding-top:10px}.cart-screen{grid-template-rows:auto auto auto auto}.checkout-screen{grid-template-rows:auto auto}.product-preview{min-height:0}.picker-panel{gap:9px}.primary-button,.secondary-button{min-height:44px}}.glass-input.has-error{border-color:#ef444480;background:#ef44440d;box-shadow:0 0 0 1px #ef444480 inset}.toast-notification{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--bg);padding:14px 28px;border-radius:var(--radius);font-family:var(--font-sans);font-weight:700;font-size:.9rem;z-index:100;box-shadow:0 10px 30px #0006;pointer-events:none;text-transform:lowercase}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}@media(min-width:960px){.topbar{max-width:1300px;margin-inline:auto;width:100%}.step-track{max-width:1260px;margin-inline:auto;width:100%}.product-screen,.design-screen{display:grid;grid-template-columns:minmax(0,1fr) 420px;grid-template-rows:1fr auto minmax(340px,auto) 1fr;align-items:center;justify-content:center;gap:0 64px;max-width:1300px;margin:0 auto;width:100%}.product-screen .screen-title,.design-screen .screen-title{grid-column:2;grid-row:2;margin-bottom:24px;justify-content:space-between;align-self:end}.product-screen .carousel-shell,.design-screen .carousel-shell{grid-column:1;grid-row:1 / 5;height:100%}.product-screen .picker-panel,.design-screen .picker-panel{grid-column:2;grid-row:3;align-self:start;margin:0}.product-screen .product-preview,.design-screen .product-preview{width:min(100%,760px)}.product-screen .garment-image,.design-screen .garment-image{width:min(90%,650px);max-height:min(100%,750px)}.product-screen .product-longsleeve .garment-image,.design-screen .product-longsleeve .garment-image{width:min(100%,700px);max-height:min(110%,800px)}.product-screen .product-sweater .garment-image,.design-screen .product-sweater .garment-image{width:min(120%,800px);max-height:min(120%,850px)}}@media(min-width:431px)and (max-width:959px){.miniapp{max-width:420px;margin-inline:auto}}.size-button.is-soldout{opacity:.32;cursor:not-allowed}.address-suggest{position:absolute;top:100%;left:0;right:0;margin-top:6px;z-index:50;background:#1c1c1e;border:1px solid rgba(255,255,255,.12);border-radius:14px;overflow:hidden;box-shadow:0 14px 36px #00000080}.address-suggest-item{display:block;width:100%;text-align:left;padding:11px 14px;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.06);color:var(--ink);font-size:.9rem;cursor:pointer}.address-suggest-item:last-child{border-bottom:0}.address-suggest-item:active{background:#ffffff14}.pvz-list{display:grid;gap:8px;margin-top:10px;max-height:260px;overflow-y:auto}.pvz-item{display:grid;gap:3px;text-align:left;padding:11px 13px;border-radius:13px;border:1px solid rgba(255,255,255,.12);background:#1c1c1e;color:var(--ink);cursor:pointer}.pvz-item.is-active{border-color:#fff;background:#ffffff14}.pvz-item strong{font-size:.88rem;font-weight:600}.pvz-item span{font-size:.74rem;color:var(--muted)}.auth-panel{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:18px;padding:16px 18px;border-radius:var(--panel-radius);background:#1c1c1e;border:1px solid rgba(255,255,255,.08)}.auth-panel.auth-flash{animation:auth-flash 1.1s ease-out}@keyframes auth-flash{0%{border-color:var(--ink);box-shadow:0 0 0 3px #ffffff59}to{border-color:#ffffff14;box-shadow:none}}.auth-panel.is-loading{justify-content:flex-start;color:var(--muted);font-family:var(--font-sans);font-size:.9rem;font-weight:500;text-transform:lowercase;letter-spacing:.02em}.auth-spinner{width:18px;height:18px;flex:0 0 auto;border-radius:50%;border:2px solid rgba(255,255,255,.18);border-top-color:var(--ink);animation:authSpin .8s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-panel.is-error{color:#ffb8b8;border-color:#ff5a5a59;font-family:var(--font-sans);font-size:.85rem;font-weight:500;line-height:1.35;text-transform:lowercase}.auth-identity{display:flex;align-items:center;gap:12px;min-width:0}.auth-avatar{width:44px;height:44px;flex:0 0 auto;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.12)}.auth-avatar-fallback{display:grid;place-items:center;background:var(--surface-3);color:var(--ink);font-family:var(--font-display);font-size:1.1rem;font-weight:700}.auth-identity-text{display:grid;gap:2px;min-width:0}.auth-identity-text strong{font-family:var(--font-display);font-size:1.02rem;font-weight:600;letter-spacing:-.02em;text-transform:lowercase;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-identity-text span{font-family:var(--font-sans);font-size:.78rem;font-weight:500;letter-spacing:.02em;color:var(--muted)}.auth-logout{min-height:40px;padding:0 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--ink);font-family:var(--font-sans);font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:lowercase;cursor:pointer;transition:background-color .14s ease,transform .14s ease}@media(hover:hover){.auth-logout:hover{background:var(--surface-3)}}.auth-logout:active{transform:scale(.96)}.auth-guest-copy{display:grid;gap:3px;min-width:0}.auth-guest-copy strong{font-family:var(--font-display);font-size:1.02rem;font-weight:600;letter-spacing:-.02em;text-transform:lowercase;color:var(--ink)}.auth-guest-copy span{font-family:var(--font-sans);font-size:.78rem;font-weight:500;letter-spacing:.02em;text-transform:lowercase;color:var(--muted)}.tg-login-widget{display:grid;gap:8px;justify-items:end}.tg-login-slot{min-height:44px;display:flex;align-items:center}.tg-login-note{max-width:320px;color:var(--muted);font-family:var(--font-sans);font-size:.74rem;font-weight:500;line-height:1.4;letter-spacing:.01em;text-transform:lowercase}.tg-login-note code{font-family:var(--font-sans);font-size:.72rem;color:var(--ink);white-space:nowrap}@media(min-width:960px){.checkout-screen>.auth-panel{grid-column:1 / -1;margin-bottom:0}}.admin-link{width:auto;padding:0 12px;font-family:var(--font-sans);font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:lowercase;white-space:nowrap}.notif-wrap{position:relative;display:inline-flex}.notif-bell{position:relative}.notif-badge{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;display:inline-grid;place-items:center;padding:0 5px;border-radius:999px;color:var(--accent-ink);background:var(--accent);font-family:var(--font-display);font-size:.66rem;font-weight:700}.notif-panel{position:absolute;top:calc(100% + 10px);right:0;width:min(320px,calc(100vw - 32px));max-height:min(420px,70dvh);overflow-y:auto;z-index:80;display:grid;gap:4px;padding:8px;border:1px solid var(--line);border-radius:var(--panel-radius);background:var(--surface);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);box-shadow:var(--hard-shadow)}.notif-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 4px}.notif-head span{font-family:var(--font-display);font-weight:600;text-transform:lowercase;letter-spacing:-.01em}.notif-close{display:inline-grid;place-items:center;width:30px;height:30px;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer}.notif-close:hover{background:var(--surface-2);color:var(--ink)}.notif-empty{padding:14px 10px 16px;color:var(--muted);font-size:.88rem}.notif-list{display:grid;gap:4px}.notif-item{display:grid;gap:3px;padding:10px 12px;border-radius:14px;background:var(--surface-2)}.notif-item.is-unread{background:var(--surface-3)}.notif-item.is-unread .notif-text{font-weight:600}.notif-text{font-size:.88rem;line-height:1.4}.notif-time{font-size:.7rem;color:var(--muted)}.profile-screen{gap:14px}.my-orders{display:grid;gap:10px}.orders-note{color:var(--muted);font-size:.9rem;padding:4px 2px}.orders-list{display:grid;gap:8px}.order-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface-solid)}.order-row-main{display:grid;gap:2px}.order-row-main strong{font-family:var(--font-display);font-size:.95rem}.order-status{color:var(--muted);font-size:.8rem;font-weight:600;text-transform:lowercase}.order-total{font-family:var(--font-display);font-weight:600;white-space:nowrap}@media(max-width:600px){.admin-link{display:none}.top-actions{gap:6px}}@media(max-width:430px){.topbar{padding-left:12px;padding-right:12px;gap:8px;grid-template-columns:44px 1fr auto}.top-actions{gap:6px}.top-actions .icon-button{width:44px;height:44px}.topbar>.icon-button{width:44px;height:44px}}.profile-screen{display:flex;flex-direction:column;gap:14px;overflow-y:auto;overscroll-behavior:contain;align-content:start}.profile-admin-btn{width:100%;margin-top:2px}@media(max-width:600px){.notif-panel{position:fixed;top:62px;left:16px;right:16px;width:auto;max-width:none}}.profile-inner{width:100%;max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.order-status.s-waiting_payment{color:#d9a441}.order-status.s-paid{color:#5fb87a}.order-status.s-approved{color:#6ea8e0}.order-status.s-shipped{color:#b08be0}.order-status.s-arrived{color:#4fb0a8}.order-status.s-received{color:#5fb87a}.order-status.s-canceled{color:#e0524a}.profile-screen,.info-screen,.checkout-screen,.cart-screen{padding-top:22px;scroll-padding-top:22px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 18px);mask-image:linear-gradient(to bottom,transparent 0,#000 18px)}.topbar>.icon-button{transition:transform .16s cubic-bezier(.16,1,.3,1),background-color .16s ease}.topbar>.icon-button:active{transform:scale(.9);transition-duration:.12s}@media(hover:hover){.topbar>.icon-button:hover{transform:scale(1.06)}}.auth-panel.is-authed,.auth-panel.is-guest{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:16px}.auth-identity-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.auth-guest-copy{display:grid;gap:4px}.auth-guest-copy strong{font-family:var(--font-display);font-size:1.05rem;font-weight:600;letter-spacing:-.02em;text-transform:lowercase;color:var(--ink)}.auth-guest-copy span{font-family:var(--font-sans);font-size:.82rem;font-weight:500;color:var(--muted);line-height:1.4}.auth-form{display:grid;gap:12px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2)}.auth-tab{position:relative;min-height:38px;border:0;border-radius:calc(var(--radius) - 4px);background:transparent;color:var(--muted);font-family:var(--font-sans);font-size:.85rem;font-weight:600;letter-spacing:.02em;text-transform:lowercase;cursor:pointer;transition:color .18s ease}.auth-tab.is-active{color:#000}.auth-tab-pill{position:absolute;inset:0;z-index:0;border-radius:calc(var(--radius) - 4px);background:var(--ink)}.auth-tab-label{position:relative;z-index:1}.auth-field{display:grid;gap:6px}.auth-field>span{font-family:var(--font-sans);font-size:.74rem;font-weight:600;letter-spacing:.04em;text-transform:lowercase;color:var(--muted);padding-left:2px}.auth-field input{width:100%;min-height:46px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-solid, #161618);color:var(--ink);font-family:var(--font-sans);font-size:.95rem;letter-spacing:.01em;transition:border-color .14s ease,box-shadow .14s ease}.auth-field input:focus{outline:none;border-color:#fff6;box-shadow:0 0 0 3px #ffffff12}.auth-field input::placeholder{color:#ffffff47}.auth-error{font-family:var(--font-sans);font-size:.82rem;font-weight:500;line-height:1.35;color:#ffb8b8;padding:2px 2px 0}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--line)}.auth-divider span{font-family:var(--font-sans);font-size:.74rem;font-weight:500;letter-spacing:.06em;text-transform:lowercase}.recaptcha-invisible{display:none}.auth-remember{display:flex;align-items:center;gap:9px;cursor:pointer;padding:2px;-webkit-user-select:none;user-select:none}.auth-remember input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--ink);cursor:pointer}.auth-remember span{font-family:var(--font-sans);font-size:.85rem;font-weight:500;color:var(--muted);text-transform:lowercase}.password-input{position:relative}.password-input input{width:100%;padding-right:46px}.password-eye{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-grid;place-items:center;width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;transition:color .14s ease,background-color .14s ease}@media(hover:hover){.password-eye:hover{color:var(--ink);background:#ffffff0d}}.account-actions{display:grid;gap:8px;padding-top:14px;border-top:1px solid var(--line)}.account-action{width:100%;min-height:46px;padding:0 16px;text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--ink);font-family:var(--font-sans);font-size:.9rem;font-weight:600;letter-spacing:.02em;text-transform:lowercase;cursor:pointer;transition:background-color .14s ease,transform .14s ease}@media(hover:hover){.account-action:hover{background:var(--surface-3)}}.account-action:active{transform:scale(.99)}.account-linked{padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--muted);font-family:var(--font-sans);font-size:.85rem;font-weight:500;letter-spacing:.01em;text-transform:lowercase}.account-action-note{display:flex;align-items:center;gap:10px;padding:12px 4px 4px;color:var(--muted);font-family:var(--font-sans);font-size:.84rem;font-weight:500;line-height:1.4}.account-form{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface-solid, #161618)}.account-form-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:2px}.account-form-cancel,.account-form-save{min-height:46px;border-radius:var(--radius);border:1px solid var(--line);font-family:var(--font-sans);font-size:.88rem;font-weight:600;letter-spacing:.02em;text-transform:lowercase;cursor:pointer;transition:background-color .14s ease,transform .14s ease}.account-form-cancel{background:var(--surface-2);color:var(--ink)}.account-form-save{background:var(--ink);color:#000;border-color:var(--ink)}@media(hover:hover){.account-form-cancel:hover{background:var(--surface-3)}.account-form-save:hover{transform:translateY(-1px)}}.account-form-save:disabled{opacity:.6;cursor:default}.auth-tg{display:grid;gap:8px}.auth-tg-btn{width:100%}.auth-tg-note{text-align:center;font-family:var(--font-sans);font-size:.74rem;font-weight:500;line-height:1.4;letter-spacing:.01em;color:var(--muted);padding:0 6px}.checkout-login-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px;padding:14px 16px;border-radius:var(--panel-radius);background:#1c1c1e;border:1px solid rgba(255,255,255,.08)}.checkout-login-copy{display:grid;gap:3px;min-width:0}.checkout-login-copy strong{font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:-.02em;text-transform:lowercase;color:var(--ink)}.checkout-login-copy span{font-family:var(--font-sans);font-size:.8rem;font-weight:500;color:var(--muted);line-height:1.4}.checkout-login-btn{flex:0 0 auto;min-height:44px;padding:0 24px;border:0;border-radius:999px;background:var(--ink);color:#000;font-family:var(--font-sans);font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:transform .14s ease}@media(hover:hover){.checkout-login-btn:hover{transform:translateY(-1px)}}.order-item{border:1px solid var(--line);border-radius:16px;background:var(--surface-solid);overflow:hidden}.order-item .order-row{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer;transition:background-color .14s ease}@media(hover:hover){.order-item .order-row:hover{background:var(--surface-2)}}.order-item .order-total{margin-left:auto}.order-chevron{flex:0 0 auto;display:inline-grid;place-items:center;color:var(--muted);transition:transform .2s cubic-bezier(.16,1,.3,1)}.order-chevron.is-open{transform:rotate(180deg)}.order-detail{display:grid;gap:14px;padding:14px 16px 16px;border-top:1px solid var(--line)}.od-items{display:grid;gap:12px}.od-line{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;font-family:var(--font-sans)}.od-line-info{display:grid;gap:3px;min-width:0}.od-line-name{font-size:.92rem;font-weight:600;color:var(--ink);line-height:1.3}.od-line-sub{font-size:.8rem;color:var(--muted);line-height:1.3}.od-line-price{flex:0 0 auto;font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--ink);white-space:nowrap}.od-fields{display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--line)}.od-field{display:grid;gap:2px}.od-field>span{font-family:var(--font-sans);font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:lowercase;color:var(--muted)}.od-field>b{font-family:var(--font-sans);font-size:.9rem;font-weight:600;color:var(--ink);line-height:1.4;word-break:break-word}.od-summary{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.od-sum-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-family:var(--font-sans);font-size:.88rem;color:var(--ink)}.od-sum-row>span:last-child{color:var(--ink);font-weight:600}.od-sum-row.is-total{margin-top:4px;padding-top:10px;border-top:1px solid var(--line)}.od-sum-row.is-total>span{color:var(--ink);font-size:.95rem}.od-sum-row.is-total>b{color:var(--ink);font-family:var(--font-display);font-size:1.1rem;font-weight:600}.account-action-admin{color:var(--ink)}.info-screen{display:flex;flex-direction:column;gap:14px;overflow-y:auto;overscroll-behavior:contain;align-content:start}.info-inner{width:100%;max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.info-list{display:grid;border:1px solid rgba(255,255,255,.08);border-radius:var(--panel-radius);background:#1c1c1e;overflow:hidden}.info-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:16px 18px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font-family:var(--font-sans);font-size:.95rem;font-weight:600;letter-spacing:.01em;text-transform:lowercase;text-align:left;text-decoration:none;cursor:pointer;transition:background-color .14s ease}.info-row:last-child{border-bottom:0}@media(hover:hover){.info-row:hover{background:var(--surface-2)}}.info-row:active{background:var(--surface-3)}.info-row-arrow{flex:0 0 auto;color:var(--muted);font-size:1.05rem}.info-back{align-self:flex-start;padding:2px;border:0;background:transparent;color:var(--muted);font-family:var(--font-sans);font-size:.85rem;font-weight:600;letter-spacing:.02em;text-transform:lowercase;cursor:pointer;transition:color .14s ease}@media(hover:hover){.info-back:hover{color:var(--ink)}}.info-detail-body{display:grid;gap:10px;padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:var(--panel-radius);background:#1c1c1e;color:var(--muted);font-family:var(--font-sans);font-size:.92rem;line-height:1.55}.more-photos{display:inline-flex;align-items:center;justify-content:center;gap:8px;align-self:center;margin:4px 0 0;padding:11px 20px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-family:var(--font-display);font-weight:600;font-size:.86rem;text-transform:lowercase;letter-spacing:.01em;cursor:pointer;transition:background .14s ease,color .14s ease,transform .14s ease}.more-photos:active{transform:scale(.97)}@media(hover:hover){.more-photos:hover{background:var(--surface-2);color:var(--ink)}}.gallery-overlay{position:fixed;inset:0;z-index:1200;display:flex;flex-direction:column;background:#0b0b0e}.gallery-head{display:flex;align-items:center;gap:12px;padding:16px 18px 10px}.gallery-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-weight:600;font-size:1.05rem;text-transform:lowercase;color:var(--ink)}.gallery-count{flex:0 0 auto;color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}.gallery-close{flex:0 0 auto}.gallery-sub{color:var(--muted);font-style:normal;font-weight:500}.gallery-feed{flex:1;min-height:0;width:100%;max-width:980px;margin:0 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;column-count:2;column-gap:6px;padding:6px 6px calc(22px + env(safe-area-inset-bottom))}@media(min-width:700px){.gallery-feed{column-count:3}}@media(min-width:1100px){.gallery-feed{column-count:4}}.gallery-card{display:block;width:100%;padding:0;margin:0 0 6px;border:0;background:var(--surface-2);cursor:pointer;break-inside:avoid;-webkit-column-break-inside:avoid;transition:opacity .14s ease}.gallery-card img{display:block;width:100%;height:auto}@media(hover:hover){.gallery-card:hover{opacity:.9}}.gallery-lightbox{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;background:#060608}.gallery-lb-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 10px}.gallery-lb-scroller{flex:1;min-height:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.gallery-lb-scroller::-webkit-scrollbar{display:none}.gallery-lb-slide{flex:0 0 100%;scroll-snap-align:center;display:flex;align-items:center;justify-content:center;padding:6px 14px calc(18px + env(safe-area-inset-bottom))}.gallery-lb-slide img{max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:#1c1c20d1;color:var(--ink);cursor:pointer;transition:background .14s ease,opacity .14s ease,transform .12s ease}.gallery-nav.prev{left:12px}.gallery-nav.next{right:12px}.gallery-nav:disabled{opacity:.32;cursor:default}.gallery-nav:not(:disabled):active{transform:translateY(-50%) scale(.92)}@media(hover:hover){.gallery-nav:not(:disabled):hover{background:#28282ccc}}.panel-top-row{position:relative;display:flex;align-items:center;justify-content:center;min-height:40px;margin-bottom:2px}.panel-more-photos,.product-info-btn{display:inline-flex;align-items:center;min-height:40px;padding:0 2px;border:0;background:transparent;color:var(--muted);font-family:var(--font-sans);font-size:.95rem;font-weight:600;letter-spacing:.05em;text-transform:lowercase;white-space:nowrap;cursor:pointer;transition:color .14s ease,transform .14s ease}.product-info-btn{position:absolute;right:2px;top:50%;transform:translateY(-50%);justify-content:center;padding:0 6px}.panel-more-photos:active{transform:scale(.97)}.product-info-btn:active{transform:translateY(-50%) scale(.95)}@media(hover:hover){.panel-more-photos:hover,.product-info-btn:hover{color:var(--ink)}}.ul-icon-text{display:inline-flex;align-items:center;gap:6px;border-bottom:1px solid color-mix(in srgb,currentColor 32%,transparent);padding-bottom:2px;line-height:1.15;transition:border-color .14s ease}.panel-more-photos:hover .ul-icon-text,.product-info-btn:hover .ul-icon-text,.size-guide-btn:hover .ul-icon-text,.panel-more-photos:active .ul-icon-text,.product-info-btn:active .ul-icon-text,.size-guide-btn:active .ul-icon-text{border-bottom-color:currentColor}.product-info-text{white-space:pre-line;color:var(--ink);font-family:var(--font-sans);font-size:.95rem;line-height:1.6;letter-spacing:.01em}.product-screen .picker-panel,.design-screen .picker-panel{position:relative;z-index:6}.header-menu-wrap{position:relative;display:inline-grid;place-items:center}.header-mobile-only{display:none}.header-menu{position:fixed;top:64px;right:16px;left:auto;min-width:224px;display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid var(--line);border-radius:var(--panel-radius);background:var(--surface);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);box-shadow:var(--hard-shadow);z-index:60;transform-origin:top right;animation:header-menu-pop .16s cubic-bezier(.16,1,.3,1)}@keyframes header-menu-pop{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:none}}.header-menu-item{display:flex;align-items:center;gap:13px;width:100%;padding:13px 14px;border:0;border-radius:14px;background:transparent;color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:1rem;text-transform:lowercase;letter-spacing:.01em;cursor:pointer;transition:background .14s ease,color .14s ease}.header-menu-item.is-active{background:var(--ink);color:var(--bg)}.header-menu-item:active{background:var(--surface-3);transform:scale(.99)}@media(hover:hover){.header-menu-item:not(.is-active):hover{background:var(--surface-2)}}.header-menu-icon{display:inline-grid;place-items:center}.header-menu-label{flex:1;text-align:left}.header-menu-badge{min-width:22px;height:22px;display:inline-grid;place-items:center;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-family:var(--font-display);font-weight:700;font-size:.78rem}.header-menu-item.is-active .header-menu-badge{background:var(--bg);color:var(--ink)}@media(max-width:600px){.header-desktop-only{display:none!important}.header-mobile-only{display:inline-grid}}.custom-emb-cta{width:100%;margin-top:10px;border:1px dashed var(--line);letter-spacing:.01em}.custom-modal{width:min(460px,100%);max-height:92dvh;overflow-y:auto;display:grid;gap:14px;padding:22px 20px 24px;border-radius:24px;border:1px solid var(--line);background:var(--surface-1, #1c1c1e);color:var(--ink)}.custom-modal-head{display:flex;align-items:center;justify-content:space-between}.custom-modal-head h2{margin:0;font-family:var(--font-display);font-size:1.25rem;text-transform:lowercase}.modal-close{border:none;background:transparent;color:var(--muted);font-size:1.6rem;line-height:1;cursor:pointer;padding:0 4px}.custom-hint{font-size:.85rem;line-height:1.5}.custom-stage{position:relative;width:100%;aspect-ratio:4 / 5;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#0d0d0f center/contain no-repeat;touch-action:none}.custom-area{position:absolute;transform:translate(-50%,-50%);border:1.5px dashed rgba(171,184,157,.85);background:#abb89d1a;box-sizing:border-box;pointer-events:none}.custom-emb-img{position:absolute;transform:translate(-50%,-50%);cursor:grab;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;touch-action:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}.custom-upload{width:100%;text-align:center;cursor:pointer}.custom-size-row{display:flex;align-items:center;gap:12px}.custom-size-row input[type=range]{flex:1}.custom-colors{display:flex;flex-wrap:wrap;gap:8px}.custom-swatch{display:inline-flex;align-items:center;gap:7px;padding:7px 12px 7px 8px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-family:var(--font-sans);font-size:.85rem;cursor:pointer}.custom-swatch.is-on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.custom-swatch-dot{width:16px;height:16px;border-radius:50%;border:1px solid var(--line);flex:none}.custom-colors-count{font-size:.8rem}.custom-comment{width:100%;min-height:64px;resize:vertical;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-family:var(--font-sans);font-size:.92rem}.custom-cart-thumb{width:64px;height:64px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#0d0d0f;flex:none}.custom-cart-thumb img{width:100%;height:100%;object-fit:contain}.legal-backdrop{align-items:center}.legal-sheet{width:min(720px,100%);height:min(86dvh,900px);display:flex;flex-direction:column;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:var(--surface-1, #1c1c1e)}.legal-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);font-family:var(--font-display);text-transform:lowercase}.legal-frame{flex:1;width:100%;border:0;background:#141416}.legal-link{display:inline;padding:0;border:0;background:none;color:var(--ink);font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.custom-backdrop{align-items:center}.custom-slide{position:relative;width:100%;height:100%;display:grid;place-items:center}.custom-slide-badge{position:absolute;left:50%;bottom:8%;transform:translate(-50%);padding:8px 16px;border-radius:999px;white-space:nowrap;background:#141416c7;color:var(--ink);border:1px solid var(--line);font-family:var(--font-display);font-size:.9rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.design-tile-custom{display:grid;place-items:center;gap:8px;min-height:120px;border-style:dashed}.design-tile-custom-mark{font-size:1.8rem;line-height:1;opacity:.85}.design-tile-img{width:100%;height:120px;object-fit:contain;border-radius:12px;background:#0d0d0f;border:1px solid var(--line)}.custom-colors-note{font-size:.85rem;line-height:1.5;padding:10px 12px;border:1px dashed var(--line);border-radius:12px;background:var(--surface-2)}.custom-modal{width:min(440px,100%);max-height:92dvh;display:flex;flex-direction:column;overflow:hidden;padding:0}.custom-modal-head{padding:16px 18px 10px;border-bottom:1px solid var(--line)}.custom-modal-scroll{flex:1;min-height:0;overflow-y:auto;padding:12px 18px 16px;display:grid;gap:12px}.custom-hint{font-size:.82rem;line-height:1.45;margin:0}.custom-stage{position:relative;width:100%;height:min(42dvh,360px);border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#0d0d0f;touch-action:none}.custom-garment{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.custom-area{position:absolute;transform:translate(-50%,-50%);border:1.5px dashed rgba(171,184,157,.9);background:#abb89d14;box-sizing:border-box;pointer-events:none;border-radius:4px}.custom-area-upload{position:absolute;transform:translate(-50%,-50%);display:grid;place-content:center;gap:4px;text-align:center;cursor:pointer;color:#fff;border-radius:8px;font-family:var(--font-sans);font-size:.82rem;font-weight:600}.custom-area-upload span{background:#0c0c0e9e;padding:4px 12px;border-radius:999px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-shadow:0 1px 2px rgba(0,0,0,.6)}.custom-area-upload .cau-plus{font-size:1.4rem;line-height:1;padding:2px 11px}.custom-area-upload:hover span{background:#0c0c0ecc}.custom-emb-obj{position:absolute;transform:translate(-50%,-50%);touch-action:none}.custom-emb-img{width:100%;height:auto;display:block;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45))}.custom-emb-img:active{cursor:grabbing}.ceh{position:absolute;width:22px;height:22px;border-radius:50%;background:var(--ink);border:2px solid #0d0d0f;cursor:nwse-resize;touch-action:none;box-shadow:0 1px 4px #00000080}.ceh-tl{left:0;top:0;transform:translate(-50%,-50%)}.ceh-tr{right:0;top:0;transform:translate(50%,-50%)}.ceh-bl{left:0;bottom:0;transform:translate(-50%,50%)}.ceh-br{right:0;bottom:0;transform:translate(50%,50%)}.custom-controls-row{display:flex;align-items:center;gap:12px}.custom-replace{flex:none;cursor:pointer;color:var(--ink);font-size:.85rem;text-decoration:underline;text-underline-offset:2px}.custom-size-range{flex:1;accent-color:var(--ink)}.custom-colors-block{display:grid;gap:8px}.custom-colors-label{font-size:.82rem;color:var(--muted)}.custom-submit{margin:0;border-radius:0 0 24px 24px}
