@font-face{font-family:Pacifico;src:url(/fonts/Pacifico-Regular.ttf)format("truetype");font-display:swap}@font-face{font-family:BebasKey;src:url(/fonts/BebasNeue-Regular.ttf)format("truetype");font-display:swap}@font-face{font-family:ArchivoBlack;src:url(/fonts/ArchivoBlack-Regular.ttf)format("truetype");font-display:swap}.app{--s-ring:0 0 0 1px var(--line-2);--s-lift:0 0 0 1px var(--line-2), 0 7px 14px -6px #32325d2e, 0 3px 7px -3px #0000001a;--s-on:0 0 0 2px var(--accent), 0 0 0 5px rgb(var(--accent-rgb) / .12);--s-frost:rgb(var(--bg-rgb) / .86);--s-pill:var(--bg-3);--s-thumb:0 0 0 1px #0a1f331a, 0 2px 5px -1px #32325d47, 0 1px 3px -1px #0003}:root[data-theme=dark] .app{--s-lift:0 0 0 1px var(--line-3), 0 8px 18px -6px #0009;--s-on:0 0 0 2px var(--accent), 0 0 0 5px rgb(var(--accent-rgb) / .22);--s-pill:var(--bg-4);--s-thumb:0 0 0 1px #0000004d, 0 2px 6px -1px #0009}.app{grid-template-columns:var(--rail) minmax(0, 1fr) var(--panel);height:calc(100dvh - var(--bar-h,72px));background:var(--bg);animation:app-in .35s var(--ease-out) both;grid-template-rows:minmax(0,1fr);font-size:14px;display:grid;overflow:hidden}.app-skeleton{background:linear-gradient(90deg, transparent var(--rail), var(--line) var(--rail), var(--line) calc(var(--rail) + 1px), transparent 0), radial-gradient(60% 70% at 50% 0%, var(--stage-a), transparent 75%), linear-gradient(180deg, var(--stage-c), var(--bg-3))}@keyframes app-in{0%{opacity:0}}.rail{border-right:1px solid var(--line);background:var(--bg);scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;padding:24px 16px 32px;overflow-y:auto}.rail-head{margin:0 4px 16px}.rail-title{letter-spacing:-.011em;color:var(--ink);margin:0;font-size:15px;font-weight:500}.rail-sub{color:var(--ink-faint);text-wrap:pretty;margin:4px 0 0;font-size:13px;line-height:1.45}.upload-wrap{margin-bottom:22px}.upload-card{border-radius:var(--r-lg);background:var(--bg-3);transition:background-color var(--d-normal) var(--ease), box-shadow var(--d-normal) var(--ease), transform var(--d-normal) var(--ease-out);position:relative;box-shadow:0 1px 3px -1px #32325d1f}.upload-card:before{content:"";border-radius:inherit;border:1px dashed var(--line-3);pointer-events:none;transition:border-color var(--d-normal) var(--ease);position:absolute;inset:0}.upload-card:hover:before{border-color:rgb(var(--accent-rgb) / .55)}.upload-card.over{background:color-mix(in srgb, var(--accent) 6%, var(--bg-3));transform:scale(1.012)}.upload-card.over:before{border-color:var(--accent)}.upload-card.on{box-shadow:var(--s-on)}.upload-card.on:before{border-color:#0000}.upload-empty,.upload-yours{border-radius:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:14px;display:flex}.upload-icon{border-radius:var(--r-sm);width:40px;height:40px;color:var(--accent-ink);background:var(--accent);box-shadow:0 1px 1px #0000000f, 0 3px 8px -3px rgb(var(--accent-rgb) / .6);transition:transform var(--d-normal) var(--ease-out);flex:none;place-items:center;display:grid}.upload-card:hover .upload-icon{transform:translateY(-1px)}.upload-text{flex-direction:column;gap:2px;min-width:0;display:flex}.upload-text small{color:var(--accent-2);font-size:12.5px;font-weight:500;line-height:1.2}.upload-text strong{letter-spacing:-.006em;white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font-size:14px;font-weight:500;line-height:1.3;overflow:hidden}.upload-yours .upload-text strong{font-family:var(--font-mono);letter-spacing:-.01em;font-size:13px;font-weight:500}.upload-text em{color:var(--ink-faint);font-size:12.5px;font-style:normal;line-height:1.4}.upload-actions{justify-content:space-between;align-items:center;gap:8px;padding:0 8px 8px 14px;display:flex}.link-btn{color:var(--accent-2);transition:color var(--d-fast) var(--ease);background:0 0;border:0;padding:10px 0;font-size:13.5px;font-weight:500;text-decoration:none}.link-btn:hover{color:var(--ink)}.icon-btn{border-radius:var(--r-sm);width:44px;height:44px;color:var(--ink-soft);transition:background-color var(--d-fast) var(--ease), color var(--d-fast) var(--ease), transform var(--d-instant) var(--ease);background:0 0;border:0;flex:none;place-items:center;display:grid}.icon-btn.sm{width:44px;height:36px}.icon-btn:hover{background:var(--bg-2);color:var(--ink)}.icon-btn:active{transform:scale(.94)}.upload-wrap .form-error,.sheet .form-error{color:var(--danger);margin:8px 2px 0;font-size:13px;line-height:1.45}.cat-group+.cat-group{margin-top:22px}.kicker.cat-title{letter-spacing:-.003em;color:var(--ink-faint);margin:0 4px 8px;font-size:13px;font-weight:500;display:block}.cat-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.cat-card{border-radius:var(--r-lg);text-align:left;transition:background-color var(--d-fast) var(--ease), transform var(--d-instant) var(--ease);background:0 0;border:0;flex-direction:column;align-items:stretch;gap:2px;padding:6px 6px 10px;display:flex;position:relative}.cat-card:hover{background:var(--bg-2)}.cat-card:active{transform:scale(.98)}.cat-on{border-radius:inherit;box-shadow:var(--s-on);pointer-events:none;position:absolute;inset:0}.cat-thumb{aspect-ratio:1;border-radius:var(--r-md);background:radial-gradient(circle at 50% 38%, var(--thumb-a), var(--thumb-b) 72%);box-shadow:inset 0 0 0 1px var(--line);place-items:center;display:grid;overflow:hidden}.cat-thumb img{object-fit:contain;width:100%;height:100%;transition:transform .5s var(--ease-out)}.cat-card:hover .cat-thumb img{transform:scale(1.05)}.cat-name{letter-spacing:-.006em;color:var(--ink);margin-top:8px;padding-inline:2px;font-size:13.5px;font-weight:500;line-height:1.25}.cat-meta{color:var(--ink-faint);align-items:center;gap:6px;padding-inline:2px;font-size:12px;line-height:1.35;display:flex}.cat-dots{flex:none;display:inline-flex}.cat-dots i{width:9px;height:9px;box-shadow:0 0 0 1.5px var(--bg), inset 0 0 0 1px rgb(var(--ink-rgb) / .12);border-radius:50%}.cat-dots i+i{margin-left:-3px}.stage{isolation:isolate;min-width:0;position:relative;overflow:hidden}.stage-bg{z-index:-3;background:radial-gradient(70% 80% at 50% 0%, var(--stage-a), transparent 75%), linear-gradient(180deg, var(--stage-c), var(--bg-3) 92%);position:absolute;inset:0}.stage-glow{z-index:-2;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:absolute;inset:0}.stage-word{z-index:-1;text-align:center;font-family:var(--font-display);letter-spacing:-.045em;color:#0000;-webkit-text-stroke:1px rgb(var(--ink-rgb) / .07);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(80px,11vw,210px);font-weight:300;line-height:.8;position:absolute;inset:auto 0 6%}.stage-canvas{touch-action:none;inset:0;position:absolute!important}.stage-meta{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:absolute;top:20px;left:24px;right:20px}.now{border-radius:var(--r-lg);background:var(--s-frost);-webkit-backdrop-filter:saturate(1.6)blur(18px);min-width:0;max-width:min(360px,100%);box-shadow:var(--shadow-2);flex-direction:column;gap:3px;padding:12px 16px 13px;display:flex}.now small{letter-spacing:-.003em;color:var(--accent-2);font-size:13px;font-weight:500;line-height:1.2}.now strong{font-family:var(--font-display);letter-spacing:-.022em;white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font-size:22px;font-weight:400;line-height:1.15;overflow:hidden}.now span{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--ink-faint);font-size:12.5px}.tools{border-radius:var(--r-lg);background:var(--s-frost);-webkit-backdrop-filter:saturate(1.6)blur(18px);box-shadow:var(--shadow-2);pointer-events:auto;flex-direction:column;gap:2px;padding:4px;display:flex}.tool{border-radius:var(--r-md);width:40px;height:40px;color:var(--ink-soft);transition:background-color var(--d-fast) var(--ease), color var(--d-fast) var(--ease), transform var(--d-instant) var(--ease);background:0 0;border:0;place-items:center;display:grid}.tool:hover{color:var(--ink);background:rgb(var(--ink-rgb) / .05)}.tool:active{transform:scale(.92)}.tool[aria-pressed=true]{color:var(--accent-2);background:var(--accent-wash)}.loader{pointer-events:none;background:radial-gradient(40% 40% at 50% 50%, rgb(var(--bg-rgb) / .6), transparent 75%);place-items:center;display:grid;position:absolute;inset:0}.loader-in{justify-items:center;gap:16px;display:grid}.loader-bed{flex-direction:column-reverse;gap:4px;width:64px;display:flex}.loader-bed i{background:var(--wave);transform-origin:0;height:5px;animation:layer 1.6s var(--ease-in-out) infinite;border-radius:3px}.loader-bed i:first-child{animation-delay:0s}.loader-bed i:nth-child(2){margin:0 4px;animation-delay:.18s}.loader-bed i:nth-child(3){margin:0 8px;animation-delay:.36s}.loader-bed i:nth-child(4){margin:0 14px;animation-delay:.54s}@keyframes layer{0%{opacity:0;transform:scaleX(0)}35%,70%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}.loader p{color:var(--ink-faint);margin:0;font-size:13.5px}.loader.error{pointer-events:auto}.loader.error p{text-align:center;max-width:34ch;color:var(--danger)}.print-hud{z-index:3;border-radius:var(--r-lg);background:var(--s-frost);-webkit-backdrop-filter:saturate(1.6)blur(18px);min-width:min(440px,80%);box-shadow:var(--shadow-2);padding:12px 12px 12px 16px;position:absolute;bottom:84px;left:50%}.print-hud-row{white-space:nowrap;color:var(--ink-faint);align-items:center;gap:12px;font-size:13px;display:flex}.print-hud-row .tnum:not(.muted){font-family:var(--font-mono);color:var(--ink-soft);font-size:12.5px}.print-hud-row .kicker{color:var(--ink);font-size:14px;font-weight:500}.print-hud-row .link-btn{margin-left:auto;padding:6px 8px}.print-dot{background:var(--hot);width:8px;height:8px;box-shadow:0 0 0 3px rgb(var(--hot-rgb) / .18);border-radius:50%;animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.4}}.print-bar{background:var(--line-2);border-radius:4px;height:4px;margin-top:10px;overflow:hidden}.print-bar i{background:var(--wave);transform-origin:0;height:100%;display:block}.slot-dock{border-radius:var(--r-lg);background:var(--s-frost);-webkit-backdrop-filter:saturate(1.6)blur(18px);box-shadow:var(--shadow-2);align-items:center;gap:2px;padding:4px 4px 4px 14px;display:flex;position:absolute;bottom:84px;left:50%;transform:translate(-50%)}.slot-dock-tip{color:var(--ink-faint);white-space:nowrap;margin-right:6px;font-size:13px;font-weight:500}.slot-dock button{width:40px;height:40px;transition:box-shadow var(--d-fast) var(--ease), transform var(--d-instant) var(--ease);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.slot-dock button .swatch-dot{width:26px;height:26px}.slot-dock button[aria-checked=true]{box-shadow:inset 0 0 0 2px var(--accent)}.slot-dock button:active{transform:scale(.9)}.viewbar{border-radius:var(--r-lg);background:var(--s-frost);-webkit-backdrop-filter:saturate(1.6)blur(18px);box-shadow:var(--shadow-2);align-items:center;gap:2px;padding:4px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.viewbar .sep{background:var(--line-2);width:1px;height:20px;margin:0 4px}.vbtn{border-radius:var(--r-md);min-width:40px;height:40px;color:var(--ink-soft);letter-spacing:-.006em;white-space:nowrap;transition:background-color var(--d-fast) var(--ease), color var(--d-fast) var(--ease), transform var(--d-instant) var(--ease);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:500;display:inline-flex}.vbtn.icon{padding:0}.vbtn:hover{color:var(--ink);background:rgb(var(--ink-rgb) / .05)}.vbtn:active{transform:scale(.95)}.vbtn[aria-pressed=true]{color:var(--accent-2);background:var(--accent-wash)}.vbtn.primary{color:var(--accent-ink);background:var(--accent);box-shadow:0 1px 1px #00000014, 0 2px 5px -1px rgb(var(--accent-rgb) / .45)}.vbtn.primary:hover{color:var(--accent-ink);background:var(--accent-deep)}.vbtn.primary[aria-pressed=true]{background:var(--hot);color:#fff;box-shadow:0 1px 1px #00000014, 0 2px 5px -1px rgb(var(--hot-rgb) / .5)}.vbtn:disabled{opacity:.5}.drop-overlay{z-index:8;border-radius:var(--r-lg);border:1.5px dashed var(--accent);background:rgb(var(--bg-rgb) / .78);-webkit-backdrop-filter:saturate(1.6)blur(10px);pointer-events:none;place-items:center;display:grid;position:absolute;inset:14px}.drop-overlay div{color:var(--accent-2);text-align:center;justify-items:center;gap:8px;display:grid}.drop-overlay strong{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:24px;font-weight:400}.drop-overlay span{color:var(--ink-faint);font-size:13.5px}.panel{border-left:1px solid var(--line);background:var(--bg);flex-direction:column;min-height:0;display:flex;position:relative}.panel-scroll{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;flex:1;padding:0 24px 28px;overflow-y:auto}.tabs-m{display:none}.ssection{border-bottom:1px solid var(--line);padding:24px 0 26px}.ssection:last-child{border-bottom:0}.ssection[data-only=mobile]{display:none}.sec-head{align-items:baseline;gap:10px;margin-bottom:16px;display:flex}.sec-head h2{font-family:var(--font-body);letter-spacing:-.011em;color:var(--ink);align-items:baseline;gap:10px;margin:0;font-size:16px;font-weight:500;display:flex}.kicker.sec-num{font-family:var(--font-mono);letter-spacing:0;color:var(--ink-ghost);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.sec-aside{color:var(--ink-faint);text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:auto;font-size:13.5px;overflow:hidden}.sfield{margin-top:18px}.field-label{color:var(--ink-faint);margin:0 0 8px;font-size:13px;font-weight:500;display:block}.hint{color:var(--ink-faint);text-wrap:pretty;margin:8px 2px 0;font-size:13px;line-height:1.5}.hint.ok{color:var(--ok)}.hint.center{text-align:center}.note{border-radius:var(--r-md);background:var(--accent-wash);box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / .18);color:var(--ink-soft);margin:0 0 4px;padding:10px 12px;font-size:13px;line-height:1.5}.blurb{color:var(--ink-soft);text-wrap:pretty;margin:14px 2px 0;font-size:13.5px;line-height:1.55}.seg{border-radius:var(--r-md);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:3px;display:grid}.seg button{border-radius:var(--r-sm);min-height:36px;color:var(--ink-faint);letter-spacing:-.006em;transition:color var(--d-fast) var(--ease);background:0 0;border:0;justify-content:center;align-items:center;padding:0 6px;font-size:13.5px;font-weight:500;display:inline-flex;position:relative}.seg button:hover:not(:disabled){color:var(--ink)}.seg button:disabled{opacity:.35}.seg button[aria-selected=true],.seg button[aria-checked=true]{color:var(--ink)}.seg-pill{border-radius:var(--r-sm);background:var(--s-pill);box-shadow:var(--shadow-1);position:absolute;inset:0}.seg button>span{z-index:1;white-space:nowrap;align-items:center;gap:6px;display:inline-flex;position:relative}.seg button em{font-style:normal;font-family:var(--font-mono);color:var(--ink-ghost);font-size:11.5px;font-weight:400}.seg .dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.mat-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mat-card{border-radius:var(--r-lg);background:var(--bg-3);box-shadow:var(--shadow-1);text-align:left;transition:box-shadow var(--d-normal) var(--ease), transform var(--d-fast) var(--ease-out);border:0;align-content:start;gap:3px;padding:12px;display:grid;position:relative}.mat-card:hover{box-shadow:var(--s-lift);transform:translateY(-1px)}.mat-card:active{transform:scale(.98)}.mat-card strong{letter-spacing:-.008em;color:var(--ink);font-size:14px;font-weight:500;line-height:1.3}.mat-card small{color:var(--ink-faint);font-size:12px;line-height:1.4}.mat-dots{margin-bottom:8px;display:flex}.mat-dots .swatch-dot{width:18px;height:18px;box-shadow:0 0 0 2px var(--bg-3), inset 0 0 0 1px rgb(var(--ink-rgb) / .12)}.mat-dots .swatch-dot+.swatch-dot{margin-left:-4px}.card-on{border-radius:inherit;box-shadow:var(--s-on);pointer-events:none;position:absolute;inset:0}.swatch-dot{background:var(--c);width:30px;height:30px;box-shadow:inset 0 0 0 1px rgb(var(--ink-rgb) / .12), inset 0 -4px 8px #0000001f;border-radius:50%;flex:none;display:inline-block}.swatch-dot.gloss{background:radial-gradient(circle at 34% 28%, #ffffff8c, transparent 32%), var(--c)}.swatch-dot.silk{background:radial-gradient(circle at 32% 26%, #ffffffb3, transparent 26%), conic-gradient(from 200deg, color-mix(in oklch, var(--c) 60%, white), var(--c), color-mix(in oklch, var(--c) 55%, black), var(--c), color-mix(in oklch, var(--c) 60%, white))}.slider{margin-top:18px}.slider-head{justify-content:space-between;align-items:baseline;margin-bottom:2px;display:flex}.slider-head label{color:var(--ink-faint);font-size:13px;font-weight:500}.slider-head output{font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:500}.app input[type=range]{appearance:none;touch-action:pan-y;background:0 0;width:100%;height:32px;margin:0}.app input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) var(--p,50%), var(--bg-4) var(--p,50%));border-radius:4px;height:4px}.app input[type=range]::-moz-range-track{background:var(--bg-4);border-radius:4px;height:4px}.app input[type=range]::-moz-range-progress{background:var(--accent);border-radius:4px;height:4px}.app input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;box-shadow:var(--s-thumb);transition:transform var(--d-fast) var(--ease-out), box-shadow var(--d-fast) var(--ease);background:#fff;border:0;border-radius:50%;margin-top:-8px}.app input[type=range]:active::-webkit-slider-thumb{transform:scale(1.12)}.app input[type=range]:focus-visible{outline:none}.app input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:var(--s-thumb), 0 0 0 4px rgb(var(--accent-rgb) / .25)}.app input[type=range]::-moz-range-thumb{width:20px;height:20px;box-shadow:var(--s-thumb);background:#fff;border:0;border-radius:50%}.size-readout{align-items:baseline;gap:8px;display:flex;overflow:hidden}.size-readout strong{font-family:var(--font-display);letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:44px;font-weight:300;line-height:1}.size-readout span{color:var(--ink-soft);font-size:14px;font-weight:500}.size-readout em{color:var(--ink-faint);font-style:normal;font-weight:400}.presets,.chips{flex-wrap:wrap;gap:8px;display:flex}.presets{margin-top:6px}.chip-btn{border-radius:var(--r-md);background:var(--bg-3);min-height:40px;box-shadow:var(--shadow-1);letter-spacing:-.006em;color:var(--ink-soft);transition:box-shadow var(--d-fast) var(--ease), color var(--d-fast) var(--ease), transform var(--d-instant) var(--ease);border:0;align-items:center;gap:8px;padding:0 12px;font-size:13.5px;font-weight:500;display:inline-flex}.chip-btn em{font-style:normal;font-family:var(--font-mono);color:var(--ink-ghost);font-size:11.5px;font-weight:400}.chip-btn:hover{color:var(--ink);box-shadow:var(--s-lift)}.chip-btn:active{transform:scale(.97)}.chip-btn[aria-pressed=true]{color:var(--ink);box-shadow:var(--s-on)}.chip-btn[aria-pressed=true] em{color:var(--accent-2)}.presets .chip-btn{flex-direction:column;flex:1 1 0;justify-content:center;align-items:flex-start;gap:1px;min-width:72px;min-height:48px;padding:7px 12px}.dims{border-radius:var(--r-lg);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);margin-top:18px;padding:14px 16px}.dims .field-label{margin-bottom:4px}.dims-val{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:16px;font-weight:500}.dims-val span{color:var(--ink-faint);font-size:12.5px}.fit{align-items:flex-start;gap:8px;margin:10px 0 0;font-size:13px;line-height:1.45;display:flex}.fit svg{flex:none;margin-top:1px}.fit.ok{color:var(--ok)}.fit.warn{color:var(--hot)}.fit-bed{font-family:var(--font-mono);color:var(--ink-ghost);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto;font-size:11.5px}.slots{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.slot{border-radius:var(--r-lg);background:var(--bg-3);min-height:56px;box-shadow:var(--shadow-1);text-align:left;transition:box-shadow var(--d-normal) var(--ease);border:0;align-items:center;gap:10px;padding:8px 12px 8px 10px;display:flex;position:relative}.slot:hover{box-shadow:var(--s-lift)}.slot>span{flex-direction:column;min-width:0;display:flex}.slot small{color:var(--ink-faint);font-size:12px;font-weight:400;line-height:1.3}.slot strong{white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font-size:13.5px;font-weight:500;overflow:hidden}.palette{border-radius:var(--r-lg);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:8px;margin-top:14px;padding:12px;display:grid}.pal{aspect-ratio:1;min-width:40px;transition:transform var(--d-fast) var(--ease-out);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.pal .swatch-dot{width:100%;height:100%}.pal:after{content:"";transition:box-shadow var(--d-fast) var(--ease), inset var(--d-fast) var(--ease-out);border-radius:50%;position:absolute;inset:-2px;box-shadow:0 0 0 2px #0000}.pal:hover{transform:scale(1.06)}.pal:active{transform:scale(.94)}.pal[aria-checked=true]:after{box-shadow:0 0 0 2px var(--accent);inset:-4px}.pal-check{pointer-events:none;position:absolute}.sfield>.seg+div .hint{margin-top:10px}.parts{gap:2px;margin:12px 0 0;padding:0;list-style:none;display:grid}.parts li{border-radius:var(--r-md);min-height:48px;transition:background-color var(--d-fast) var(--ease);justify-content:space-between;align-items:center;gap:10px;padding:4px 4px 4px 12px;display:flex}.parts li+li{box-shadow:0 -1px 0 var(--line)}.parts li:hover{background:var(--bg-2);box-shadow:none}.part-name{color:var(--ink);font-size:13.5px;font-weight:500}.part-slots{gap:2px;display:flex}.part-slot{width:40px;height:40px;transition:box-shadow var(--d-fast) var(--ease), transform var(--d-instant) var(--ease);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.part-slot .swatch-dot{opacity:.5;width:24px;height:24px;transition:opacity var(--d-fast)}.part-slot[aria-checked=true]{box-shadow:inset 0 0 0 2px var(--accent)}.part-slot[aria-checked=true] .swatch-dot,.part-slot:hover .swatch-dot{opacity:1}.part-slot:active{transform:scale(.9)}.bands{margin-top:12px}.band-bar{height:12px;box-shadow:inset 0 0 0 1px rgb(var(--ink-rgb) / .1);border-radius:6px;display:flex;overflow:hidden}.band-bar i{min-width:2px;display:block}.paint .row,.row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.chip-btn b{color:var(--ink);font-size:18px;font-weight:400}.font-pacifico b{font-family:Pacifico,cursive;font-size:16px}.font-bebas b{letter-spacing:.04em;font-family:BebasKey,sans-serif;font-size:20px}.font-archivo b{font-family:ArchivoBlack,sans-serif;font-size:15px}.chips .chip-btn[class*=font-]{flex-direction:column;flex:1 1 0;align-items:flex-start;gap:0;min-width:0;padding:8px 12px}.chips .chip-btn[class*=font-] span{color:var(--ink-faint);font-size:12px}.chips .chip-btn[class*=font-] b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.orient{flex-wrap:wrap;gap:8px;display:flex}.orient .tnum{font-family:var(--font-mono);font-size:12.5px}.sinput{border-radius:var(--r-sm);background:var(--bg-3);width:100%;min-height:44px;box-shadow:var(--shadow-1);color:var(--ink);transition:box-shadow var(--d-fast) var(--ease);border:0;padding:10px 12px;font-size:16px}.sinput:focus{box-shadow:0 0 0 1px var(--accent), 0 0 0 4px rgb(var(--accent-rgb) / .2);outline:none}.sinput[aria-invalid=true]{box-shadow:0 0 0 1px var(--danger), 0 0 0 4px color-mix(in srgb, var(--danger) 18%, transparent)}.sinput.big{letter-spacing:-.012em;font-size:20px;font-weight:500}textarea.sinput{resize:vertical;line-height:1.45}.switch{cursor:pointer;min-height:44px;color:var(--ink);align-items:center;gap:12px;margin-top:16px;font-size:14px;font-weight:500;display:flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch i{background:var(--bg-4);width:40px;height:24px;box-shadow:inset 0 0 0 1px var(--line-2);transition:background-color var(--d-normal) var(--ease);border-radius:999px;flex:none;position:relative}.switch i:after{content:"";width:20px;height:20px;box-shadow:var(--s-thumb);transition:transform var(--d-normal) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.switch input:checked+i{background:var(--accent);box-shadow:none}.switch input:checked+i:after{transform:translate(16px)}.switch input:focus-visible+i{outline:2px solid var(--accent);outline-offset:2px}.spec{grid-template-columns:1fr 1fr;gap:12px 16px;margin:16px 0 0;display:grid}.spec>div.wide{grid-column:1/-1}.spec dt{color:var(--ink-faint);align-items:center;gap:6px;font-size:12.5px;display:flex}.spec dt.ok{color:var(--ok)}.spec dt.warn{color:var(--hot)}.spec dd{color:var(--ink);margin:2px 0 0;font-size:14px;font-weight:500}.spec dd a{min-height:24px;color:var(--accent-2);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.spec dd a:hover{color:var(--ink)}.spec.compact{margin-top:16px}.sbtn{border-radius:var(--r-sm);background:var(--bg-3);min-height:44px;box-shadow:var(--shadow-1);letter-spacing:-.006em;white-space:nowrap;color:var(--ink);transition:background-color var(--d-fast) var(--ease), box-shadow var(--d-normal) var(--ease), transform var(--d-instant) var(--ease);border:0;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.sbtn:hover{box-shadow:var(--s-lift)}.sbtn:active{transform:scale(.98)}.sbtn[disabled]{opacity:.45;transform:none}.sbtn.ghost{box-shadow:inset 0 0 0 1px var(--line-2);background:0 0}.sbtn.ghost:hover{background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line-3)}.sbtn.gold{color:var(--accent-ink);background:var(--accent);box-shadow:0 1px 1px #00000014, 0 3px 8px -2px rgb(var(--accent-rgb) / .5);font-size:15px;font-weight:500}.sbtn.gold:hover{background:var(--accent-deep);box-shadow:0 1px 1px #00000014, 0 7px 16px -4px rgb(var(--accent-rgb) / .55)}.sbtn.big{border-radius:var(--r-md);min-height:48px;padding:0 22px}.sbtn.wide{width:100%}.orderbar{padding:18px 24px calc(16px + var(--safe-b));border-top:1px solid var(--line);background:var(--bg);flex-direction:column;align-items:stretch;gap:12px;display:flex;position:relative}.orderbar-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.orderbar .price{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.orderbar .price strong{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:32px;font-weight:300;line-height:1.05}.price-wait{height:34px;color:var(--ink-faint);place-items:center;display:grid}.orderbar .how{text-align:left;color:var(--ink-faint);background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;padding:2px 0;font-size:12.5px;line-height:1.4;display:flex}.how-link{color:var(--accent-2);transition:color var(--d-fast) var(--ease);font-weight:500}.how:hover .how-link{color:var(--ink)}.qty-z{border-radius:var(--r-md);background:var(--bg-3);height:44px;box-shadow:var(--shadow-1);flex:none;align-items:center;display:inline-flex}.qty-z button{border-radius:var(--r-md);width:44px;height:44px;color:var(--ink-soft);transition:background-color var(--d-fast) var(--ease), color var(--d-fast) var(--ease);background:0 0;border:0;place-items:center;display:grid}.qty-z button:hover:not(:disabled){color:var(--ink);background:var(--bg-2)}.qty-z button:disabled{opacity:.35}.qty-z span{text-align:center;min-width:28px;color:var(--ink);font-size:15px;font-weight:500}.bulk-line{color:var(--ink-faint);flex-wrap:wrap;gap:4px 10px;margin:0;font-size:13px;display:flex}.bulk-line b{color:var(--ok);font-weight:500}.orderbar .sbtn.gold.orderbar-add{width:100%}.orderbar-trust{color:var(--ink-faint);flex-wrap:wrap;justify-content:center;gap:4px 14px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.orderbar-trust li{align-items:center;gap:5px;display:inline-flex}.orderbar-trust .ai-icon{color:var(--ok)}.how-pop{z-index:10;border-radius:var(--r-lg);background:var(--bg-3);box-shadow:var(--shadow-2);transform-origin:0 100%;padding:16px 18px 8px;position:absolute;bottom:calc(100% + 10px);left:14px;right:14px}.how-pop .kicker{color:var(--ink);font-size:14px;font-weight:500}.breakdown{margin:8px 0 0;display:grid}.breakdown>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;display:flex}.breakdown>div:last-child{border-bottom:0}.breakdown dt{color:var(--ink-soft);font-size:13px}.breakdown dt em{color:var(--ink-faint);margin-left:4px;font-size:12px;font-style:normal}.breakdown dt small{color:var(--ink-faint);margin-top:2px;font-size:12px;display:block}.breakdown dd{color:var(--ink);margin:0;font-size:13.5px;font-weight:500}.breakdown .strong dt,.breakdown .strong dd{color:var(--ink);font-weight:500}.sheet-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050c1773;position:fixed;inset:0}.sheet{z-index:51;border-radius:var(--r-xl);background:var(--bg);width:min(1120px,94vw);max-height:94vh;box-shadow:var(--shadow-3);overscroll-behavior:contain;flex-direction:column;margin:0 auto;display:flex;position:fixed;top:3vh;left:0;right:0;overflow:hidden auto}.sheet:focus{outline:none}.sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px 16px;display:flex}.sheet-head .kicker{font-size:14px}.sheet-head h2{letter-spacing:-.022em;margin:2px 0 0;font-size:22px;font-weight:400}.sheet-head .hint{margin-top:6px}.grabber{touch-action:none;cursor:grab;place-items:center;height:24px;margin-bottom:-10px;display:grid}.grabber i{background:var(--line-3);border-radius:999px;width:36px;height:5px}.order-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);display:grid}.order-left{border-right:1px solid var(--line);background:var(--bg-2);padding:22px 24px}.order-right{padding:8px 24px 24px}.shots{grid-template-rows:1fr 1fr;grid-template-columns:1.4fr 1fr;gap:8px;display:grid}.shot{border-radius:var(--r-md);background:radial-gradient(circle at 50% 40%, var(--thumb-a), var(--thumb-b) 75%);box-shadow:inset 0 0 0 1px var(--line);min-height:120px;margin:0;position:relative;overflow:hidden}.shot.front{aspect-ratio:1;grid-row:span 2}.shot img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.shot figcaption{color:var(--ink-faint);font-size:12px;font-weight:500;line-height:1.2;position:absolute;bottom:8px;left:10px}.shot-wait{background:linear-gradient(100deg, transparent 30%, rgb(var(--ink-rgb) / .05) 50%, transparent 70%) 0 0 / 200% 100%;animation:1.2s linear infinite shimmer;position:absolute;inset:0}@keyframes shimmer{to{background-position:-200% 0}}.color-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.color-list li{align-items:center;gap:10px;display:flex}.color-list .swatch-dot{width:26px;height:26px}.color-list span{flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;display:flex}.color-list strong{font-size:13.5px;font-weight:500}.color-list em{font-style:normal;font-family:var(--font-mono);color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:11.5px}.color-list small{color:var(--ink-faint);flex-basis:100%;font-size:12px}.sheet .stepper{border-radius:var(--r-md);background:var(--bg-3);box-shadow:var(--shadow-1);align-items:center;display:inline-flex;overflow:hidden}.sheet .stepper button{width:48px;height:48px;transition:background-color var(--d-fast);background:0 0;border:0;place-items:center;display:grid}.sheet .stepper button:hover:not(:disabled){background:var(--bg-2)}.sheet .stepper button:disabled{opacity:.35}.sheet .stepper input{border:0;border-inline:1px solid var(--line);text-align:center;font-variant-numeric:tabular-nums;background:0 0;width:64px;height:48px;font-size:17px;font-weight:500}.sheet .stepper input:focus{background:var(--bg-2);outline:none}.total-row{border-top:1px solid var(--line-2);justify-content:space-between;align-items:baseline;gap:12px;margin:12px 0 16px;padding-top:14px;font-size:15px;font-weight:500;display:flex}.total-row strong{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:300}.order-cta{z-index:2;background:linear-gradient(180deg, transparent, var(--bg) 18px);margin:0 -24px;padding:2px 24px 16px;position:sticky;bottom:0}.receipt{padding-bottom:22px}.thanks{color:var(--ok);margin:4px 0 0;font-size:15px;font-weight:500}.ticket{border-radius:var(--r-lg);background:var(--paper);color:var(--paper-ink);box-shadow:var(--shadow-2);margin:20px 24px 0;padding:26px;font-size:13.5px}.ticket .kicker{font-size:13px}.ticket h2{letter-spacing:-.028em;margin:0;font-size:26px;font-weight:300}.ticket-top{border-bottom:1px dashed var(--line-3);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;padding-bottom:18px;display:flex}.ticket-num{text-align:right;justify-items:end;display:grid}.ticket-num span{color:var(--ink-faint);font-size:12px}.ticket-num strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:18px;font-weight:500}.ticket-num em{color:var(--ink-faint);font-size:12px;font-style:normal}.ticket .shots{grid-template-rows:150px 150px}.ticket .shot.front{aspect-ratio:auto}.ticket-spec{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;margin:22px 0 0;display:grid}.ticket-spec .wide{grid-column:1/-1}.ticket-spec dt{color:var(--ink-faint);font-size:12.5px;line-height:1.3}.ticket-spec dd{margin:2px 0 0;font-weight:500}.ticket .color-list{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));margin-top:6px}.ticket .color-list em,.ticket .color-list small,.ticket .muted{color:var(--ink-faint)}.cuts{font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.ticket-total{border-top:1px dashed var(--line-3);margin-top:22px;padding-top:8px}.ticket .breakdown dt,.ticket .breakdown dd{color:var(--paper-ink)}.ticket .breakdown dt small,.ticket .breakdown dt em{color:var(--ink-faint)}.ticket .total-row{margin-bottom:0}.receipt-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin:20px 24px 0;display:flex}@media (max-width:1279px){:root{--rail:252px;--panel:380px}}@media (max-width:1023px){:root{--topbar:62px;--stage-h:max(48svh, 320px)}.app{flex-direction:column;height:auto;min-height:100dvh;display:flex;overflow:visible}.rail{display:none}.stage{top:calc(var(--topbar) + var(--safe-t));height:var(--stage-h);z-index:5;border-bottom:1px solid var(--line);position:sticky}.stage-meta{top:12px;left:12px;right:12px}.now{padding:10px 12px 11px}.now strong{font-size:18px}.now span{font-size:12px}.tool{width:44px;height:44px}.stage-word{font-size:22vw;bottom:14%}.viewbar{bottom:12px}.vbtn{min-width:44px;height:44px;padding:0 14px}.slot-dock{padding:3px;bottom:70px}.slot-dock button{width:44px;height:44px}.slot-dock button .swatch-dot{width:26px;height:26px}.slot-dock-tip{display:none}.print-hud{width:calc(100% - 24px);min-width:0;padding:10px 10px 10px 14px;bottom:70px}.print-hud-row{gap:8px;font-size:12px}.print-hud-row .muted{display:none}.panel{border-left:0;flex:1}.tabs-m{top:calc(var(--topbar) + var(--safe-t) + var(--stage-h));z-index:4;background:linear-gradient(var(--bg) 78%, rgb(var(--bg-rgb) / 0));padding:12px 16px 8px;display:block;position:sticky}.tabs-m .seg button{min-height:44px;font-size:14.5px}.panel-scroll{padding:0 16px calc(120px + var(--safe-b));overflow:visible}.ssection{border:0;padding:14px 0 8px;display:none}.panel .ssection{animation:tab-in .22s var(--ease-out)}.panel[data-tab=model] .ssection[data-s=model],.panel[data-tab=material] .ssection[data-s=material],.panel[data-tab=size] .ssection[data-s=size],.panel[data-tab=color] .ssection[data-s=color]{display:block}.panel[data-tab=model] .ssection[data-s=model]~.ssection[data-s=model]{border-top:1px solid var(--line);margin-top:10px;padding-top:22px}.sec-head{display:none}.ssection.info .sec-head,.ssection[data-s=model]:not([data-only]) .sec-head{display:flex}.cat-grid,.mat-grid{grid-template-columns:repeat(3,1fr)}.orderbar{z-index:30;padding:12px 16px calc(12px + var(--safe-b));background:rgb(var(--bg-rgb) / .95);-webkit-backdrop-filter:saturate(1.6)blur(18px);box-shadow:0 -1px 0 var(--line), 0 -12px 32px -16px #32325d38;border-top:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;display:grid;position:fixed;bottom:0;left:0;right:0}.orderbar-top{grid-column:1}.orderbar .price strong{font-size:26px}.orderbar .qty-z{display:none}.orderbar .sbtn.gold.orderbar-add{grid-area:1/2;width:auto;min-height:50px;padding:0 20px}.bulk-line,.orderbar-trust{display:none}.orderbar .how{font-size:12px}.sheet{width:100%;max-height:calc(100dvh - 16px - var(--safe-t));border-radius:var(--r-xl) var(--r-xl) 0 0;padding-bottom:var(--safe-b);top:auto;bottom:0}.sheet-head{padding:14px 16px 12px}.order-grid{grid-template-columns:1fr}.order-left{border-right:0;border-bottom:1px solid var(--line);padding:16px}.order-right{padding:4px 16px 20px}.order-cta{padding:2px 16px calc(14px + var(--safe-b));margin:0 -16px}.ticket{margin:14px 12px 0;padding:18px}.ticket-spec{grid-template-columns:1fr 1fr}.receipt-actions{margin:16px 12px 0}.receipt-actions .sbtn{flex:auto}.app input[type=range]{height:44px}.spec dd a{margin:-12px 0;padding:12px 0}.chip-btn,.link-btn{min-height:44px}.cat-meta,.seg button em,.fit-bed,.breakdown dt small,.color-list em,.mat-card small,.chip-btn em{font-size:12px}}@keyframes tab-in{0%{opacity:0;transform:translateY(6px)}}@media (max-width:560px){.mat-grid,.cat-grid{grid-template-columns:1fr 1fr}.vbtn.primary .lbl{font-size:13.5px}}@media (max-width:420px){.ticket-top{flex-direction:column}.ticket-num{text-align:left;justify-items:start}.shots{grid-template-rows:auto auto;grid-template-columns:1fr 1fr}.shot.front{grid-area:auto/1/auto/-1}.shot{aspect-ratio:1;min-height:0}}@media (hover:none){.cat-card:hover{background:0 0}.cat-card:hover .cat-thumb img{transform:none}.mat-card:hover,.slot:hover,.chip-btn:hover,.sbtn:not(.gold):not(.ghost):hover{box-shadow:var(--shadow-1);transform:none}.chip-btn[aria-pressed=true]:hover{box-shadow:var(--s-on)}.vbtn:not([aria-pressed=true]):not(.primary):hover,.tool:not([aria-pressed=true]):hover{background:0 0}.pal:hover{transform:none}.parts li:hover{background:0 0}.upload-card:hover .upload-icon{transform:none}}@media (prefers-reduced-motion:reduce){.app *,.app :before,.app :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-transparency:reduce){.now,.viewbar,.orderbar,.tools,.slot-dock,.print-hud{-webkit-backdrop-filter:none;background:var(--bg)}}@media (prefers-contrast:more){.app{--line:rgb(var(--ink-rgb) / .22);--line-2:rgb(var(--ink-rgb) / .32);--ink-faint:rgb(var(--ink-rgb) / .74)}}@media print{body *{visibility:hidden}.ticket,.ticket *{visibility:visible}.ticket{width:100%;box-shadow:none;margin:0;position:absolute;inset:0 auto auto 0}}@media (max-width:1023px){body:has(.orderbar){--ck-abajo:calc(90px + var(--safe-b))}}