*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{height:100%;-webkit-text-size-adjust:100%;accent-color:var(--sage-dp)}body{background:radial-gradient(120% 60% at 50% 0,#f6f0e9 0,transparent 60%),var(--sand);color:var(--ink);font-family:var(--font-ui);font-weight:400;font-size:15px;line-height:1.6;display:flex;justify-content:center;padding:0;min-height:100%;-webkit-font-smoothing:antialiased}.app{position:fixed;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.topbar{display:flex;align-items:center;gap:.55rem;padding:.8rem 1rem;border-bottom:1px solid rgba(122,110,99,.14);background:rgba(255,252,248,.55)}.mark{color:inherit;text-decoration:none;flex:none}.mainnav{display:none;gap:.15rem;margin-left:1.1rem}.navlink{padding:.45rem 1rem;border-radius:999px;font-family:var(--font-display);font-size:1.2rem;font-weight:var(--display-weight);color:var(--ink-2);text-decoration:none;white-space:nowrap}.navlink[aria-current=page]{background:var(--card);color:var(--ink);box-shadow:var(--sh-1)}.signin{display:none;font-size:1rem;font-weight:700;color:var(--ink-2);padding:.4rem .7rem}.screen{min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:.9rem;padding:1rem}.screen-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.7rem;flex:none}.screen-head h1{font-family:var(--font-display);font-size:1.7rem;font-weight:var(--display-weight);letter-spacing:-.01em;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.screen.screen--capped{--shop-w:1920px;padding-inline:1rem}.screen.screen--capped.screen--narrow{--shop-w:72rem}@media (min-width:860px){.screen.screen--capped{padding-inline:max(2rem,calc((100% - var(--shop-w)) / 2))}}.scrollarea{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--sand-2) transparent;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 26px),transparent)}.scrollarea::-webkit-scrollbar{width:8px}.scrollarea::-webkit-scrollbar-thumb{background:var(--sand-2);border-radius:99px}.tabbar{display:flex;background:rgba(255,252,248,.92);border-top:1px solid rgba(122,110,99,.14);padding:.3rem .3rem calc(.5rem + env(safe-area-inset-bottom))}.tab{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.4rem 0 .2rem;color:var(--ink-2);font-size:.75rem;font-weight:700;text-decoration:none;position:relative}.tab[aria-current=page]{color:var(--sage-dp)}.tab[aria-current=page]:before{content:"";position:absolute;top:0;left:50%;width:1.6rem;height:3px;margin-left:-.8rem;border-radius:0 0 3px 3px;background:var(--sage-dp)}.tab--raised .tab-raised-disc{width:46px;height:46px;margin-top:-25px;border-radius:50%;background:var(--sage-dp);color:var(--card);display:grid;place-items:center;box-shadow:var(--sh-2)}.tab--raised[aria-current=page]:before{display:none}.tab--raised[aria-current=page] .tab-raised-disc{background:var(--ink)}@media (min-width:860px){.topbar{padding:.95rem 1.5rem}.mainnav{display:flex}.signin{display:block}.tabbar{display:none}.screen{padding:1.5rem 1.9rem;gap:1.1rem}.screen-head h1{font-size:2.1rem}}.mark{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:1.1rem;letter-spacing:-.01em}.mark svg,.mark-img{display:block;flex:none}.mark-img{height:38px;width:auto}.lang{position:relative}.lang-toggle{font:inherit;font-size:.75rem;font-weight:800;display:flex;align-items:center;gap:.28rem;border:0;cursor:pointer;color:var(--ink-2);background:var(--sand-2);padding:.36rem .6rem .36rem .7rem;border-radius:999px}.lang-toggle[aria-expanded=true]{background:var(--card);color:var(--ink);box-shadow:var(--sh-1)}.lang-menu{position:absolute;top:calc(100% + .35rem);right:0;z-index:20;background:var(--card);border-radius:14px;box-shadow:var(--sh-2);padding:.3rem;min-width:118px}.lang-menu button{display:flex;width:100%;align-items:center;font:inherit;font-size:.8rem;font-weight:600;border:0;background:none;color:var(--ink-2);padding:.42rem .6rem;border-radius:10px;cursor:pointer;text-align:left}.lang-menu button[aria-current=true]{color:var(--ink);font-weight:800;background:var(--sage-tint)}.crop-step,.upload-step{gap:.9rem;padding:.5rem .35rem 1.5rem}.crop-step,.dropzone,.upload-step{display:flex;flex-direction:column}.dropzone{align-items:center;justify-content:center;gap:.8rem;text-align:center;min-height:9rem;border:2px dashed var(--ink-3);border-radius:var(--r);background:var(--card);box-shadow:var(--sh-1);cursor:pointer;padding:1.5rem 1rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.dropzone-btn{display:inline-block;font:inherit;font-weight:700;color:var(--card);background:var(--sage-dp);padding:.6rem 1.1rem;border-radius:999px}.upload-hint{font-size:.82rem;color:var(--ink-2);line-height:1.5}.upload-reject{font-size:.82rem;color:#b5473a}.upload-busy{font-size:.82rem;color:var(--ink-2)}.crop-frame{display:flex;align-items:center;justify-content:center;max-height:460px;max-height:var(--stage-max,min(56svh,460px));padding:32px}.crop-ratios,.preview-zoom{display:inline-flex;align-self:center;background:var(--sand-2);padding:.22rem;border-radius:999px;gap:.18rem}.preview-zoom{margin-top:.9rem}.crop-ratios button,.preview-zoom button{font:inherit;font-size:.78rem;font-weight:700;border:0;background:none;color:var(--ink-2);padding:.35rem .7rem;border-radius:999px;cursor:pointer;min-height:44px;min-width:44px}.crop-ratios button[aria-checked=true]{background:var(--card);color:var(--ink);box-shadow:var(--sh-1)}.crop-canvas-wrap{position:relative;max-width:100%;border-radius:var(--r);box-shadow:var(--sh-1);touch-action:none}.crop-canvas-wrap canvas{display:block;width:100%;height:100%;border-radius:inherit}.crop-rect{position:absolute;box-sizing:border-box;border:2px solid var(--sage);border-radius:var(--r);background:rgba(147,174,156,.18);cursor:move}.crop-handle{position:absolute;width:44px;height:44px;display:flex}.crop-handle:after{content:"";width:16px;height:16px;border-radius:50%;background:var(--sage-dp);border:2px solid var(--card)}.crop-handle[data-corner=nw]{left:-32px;top:-32px;cursor:nwse-resize;justify-content:flex-start;align-items:flex-start;padding-left:24px;padding-top:24px}.crop-handle[data-corner=ne]{right:-32px;top:-32px;cursor:nesw-resize;justify-content:flex-end;align-items:flex-start;padding-right:24px;padding-top:24px}.crop-handle[data-corner=sw]{left:-32px;bottom:-32px;cursor:nesw-resize;justify-content:flex-start;align-items:flex-end;padding-left:24px;padding-bottom:24px}.crop-handle[data-corner=se]{right:-32px;bottom:-32px;cursor:nwse-resize;justify-content:flex-end;align-items:flex-end;padding-right:24px;padding-bottom:24px}.crop-fixed{display:flex;flex-direction:column;align-items:center;gap:.7rem}.crop-fixed__surface{position:relative;overflow:hidden;border-radius:var(--r);box-shadow:var(--sh-1);touch-action:none;cursor:-webkit-grab;cursor:grab}.crop-fixed__surface canvas{display:block}.crop-zoom input[type=range]{width:12rem}.step-back{font:inherit;font-weight:700;padding:.6rem 1.1rem;background:var(--sand-2);color:var(--ink);text-decoration:none}.step-back,.step-next{border:0;border-radius:999px;cursor:pointer}.step-next{font:inherit;font-weight:800;font-size:.95rem;padding:.7rem 1.1rem;background:var(--sage-dp);color:var(--card);align-self:flex-start}.crop-reset{font:inherit;font-weight:700;border:0;border-radius:999px;padding:.6rem 1.1rem;cursor:pointer;background:var(--sand-2);color:var(--ink);align-self:center}.size-step{display:flex;flex-direction:column;gap:1rem;padding:.5rem .35rem 1.5rem}.size-preview{display:block;max-width:100%;max-height:100%;min-height:0;height:auto;object-fit:contain;border-radius:14px;box-shadow:var(--sh-1)}.size-field{display:flex;flex-direction:column;gap:.4rem}.size-field label{font-size:.82rem;font-weight:700;color:var(--ink-2)}.size-field select{font:inherit;padding:.5rem .7rem;border-radius:var(--r);border:1px solid var(--ink-3);background:var(--card);color:var(--ink)}.size-width-value{font-size:.82rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-2)}.size-stats{display:flex;flex-wrap:wrap;gap:.6rem}.size-stat{flex:1 1 auto;display:flex;flex-direction:column;gap:.15rem;padding:.7rem .9rem;border-radius:var(--r);background:var(--card);box-shadow:var(--sh-1)}.size-stat .k{font-size:.75rem;font-weight:700;letter-spacing:.04em;color:var(--ink-2)}.size-stat .v{font-size:1.1rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.preview{padding:1.35rem;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"slot";align-items:center;text-align:center}.canvas-slot{grid-area:slot}.preview-side{display:flex;align-self:center}.preview-side--left{grid-area:zoom;justify-content:flex-end}.preview-side--right{grid-area:view;justify-content:flex-start}.preview .preview-zoom--icons,.preview .switch--icons{margin:0;display:inline-flex;align-items:center;gap:.18rem;padding:.22rem;background:var(--sand-2)}.preview .preview-zoom--icons{border-radius:999px 0 0 999px;padding-right:0}.preview .switch--icons{border-radius:0 999px 999px 0;padding-left:0;border-left:1px solid rgba(122,110,99,.18)}.preview .preview-zoom--icons button,.preview .switch--icons button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:999px}.preview .preview-zoom--icons button:hover,.preview .switch--icons button:hover{color:var(--ink)}.preview .preview-zoom--icons button:focus-visible,.preview .switch--icons button:focus-visible{outline:2px solid var(--sage-dp);outline-offset:-2px}@media (min-width:600px){.preview-side--left,.preview-side--right{justify-content:center}.preview .preview-zoom--icons,.preview .switch--icons{flex-direction:column;border-radius:999px;padding:.22rem;border-left:0}}.stagepane>.card{place-self:stretch;display:flex;min-height:0;min-width:0}.stagepane>.card>.preview{flex:1 1 auto;min-height:0;min-width:0;justify-content:center}.canvas-slot{flex:1 1 auto;align-self:stretch;min-height:0;min-width:0;display:grid;place-items:center;container-type:size}.canvas-wrap{display:block;width:100%;width:min(100cqw,calc((100cqh - var(--pills-h, 0px)) * var(--pattern-ratio, 1)));aspect-ratio:var(--pattern-ratio,1);max-width:100%;max-height:var(--stage-max,460px);padding:.9rem;border-radius:16px;background:var(--sand);box-shadow:inset 0 2px 6px rgba(90,70,50,.1);touch-action:none;cursor:-webkit-grab;cursor:grab;position:relative}.canvas-wrap:active{cursor:-webkit-grabbing;cursor:grabbing}.canvas-wrap canvas{display:block;border-radius:6px;position:absolute;top:.9rem;left:.9rem}.switch{margin-top:1.05rem;display:inline-flex;background:var(--sand-2);padding:.22rem;border-radius:999px}.switch button{font:inherit;font-size:.75rem;font-weight:700;border:0;background:none;color:var(--ink-2);padding:.36rem .95rem;border-radius:999px;cursor:pointer;transition:.22s}.switch button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:var(--sh-1)}.parts-card,.presets-card{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);padding:1.25rem}.sect-h{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.sect-h h2{font-size:.98rem;font-weight:800}.sect-sub{font-size:.78rem;color:var(--ink-2);line-height:1.55;margin-bottom:1rem}.presets{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:.55rem;gap:.55rem}.preset{border:2px solid var(--sand-2);background:var(--card);border-radius:16px;padding:.8rem .4rem;cursor:pointer;text-align:center;transition:.24s;font:inherit;color:var(--ink)}.preset:hover{border-color:var(--ink-3);transform:translateY(-2px)}.preset[aria-pressed=true]{border-color:var(--sage-dp);background:var(--sage-tint);box-shadow:var(--sh-1);transform:translateY(-2px)}.preset .nm{font-size:.76rem;font-weight:700;margin-bottom:.35rem}.preset .dots{display:flex;justify-content:center;gap:2px;margin-bottom:.45rem;height:7px}.preset .dots i{width:5px;height:5px;border-radius:50%;background:var(--sand-2)}.preset[aria-pressed=true] .dots i{background:var(--sage)}.preset .n{font-size:.75rem;color:var(--ink-2);font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.preset .pr{font-size:.86rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:.15rem}.preset .warn{margin-top:.35rem;font-size:.75rem;font-weight:700;line-height:1.35;color:#b5473a}.saveline{margin-top:.9rem;border-radius:12px;padding:.6rem .85rem;font-size:.76rem;color:var(--sage-dp);font-weight:700;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-height:2.1rem;display:flex;align-items:center;justify-content:center}.restore-note,.saveline{background:var(--sage-tint)}.restore-note{border-radius:14px;padding:.6rem .75rem;font-size:.76rem;line-height:1.5;color:var(--ink-2)}.linkbtn{font:inherit;font-weight:800;border:0;padding:0;background:none;color:var(--sage-dp);text-decoration:underline;cursor:pointer}.rows{margin-top:.4rem}.row{display:grid;grid-template-columns:1.5rem 3.3rem .9rem 1fr auto;align-items:center;grid-gap:.7rem;gap:.7rem;padding:.5rem .3rem;border-radius:12px;font-size:.8rem;transition:.18s}.row:hover{background:var(--sand)}.bead{width:1.5rem;height:1.5rem;border-radius:50%;position:relative;box-shadow:inset 0 -2px 4px rgba(0,0,0,.16)}.bead:after{content:"";position:absolute;inset:35%;border-radius:50%;background:var(--card);box-shadow:inset 0 1px 2px rgba(0,0,0,.28)}.row .c{font-weight:700;font-size:.76rem}.row .lock-mark{display:flex;align-items:center;color:var(--ink-3)}.row .n{font-size:.75rem;color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.row .p{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.78rem}.more{width:100%;margin-top:.5rem;background:var(--sand);border:0;border-radius:12px;padding:.6rem;font:inherit;font-size:.75rem;font-weight:700;color:var(--ink-2);cursor:pointer;transition:.2s}.more:hover{background:var(--sand-2);color:var(--ink)}button.row{width:100%;border:2px solid transparent;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}button.row[aria-pressed=true]{border-color:var(--sage-dp);background:var(--sage-tint)}.colour-editor{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.ce-head{display:flex;align-items:center;gap:.6rem;font-size:.85rem;font-weight:800}.ce-field{flex-direction:column;gap:.35rem;font-size:.78rem;color:var(--ink-2)}.ce-field,.ce-lock{display:flex;font-weight:700}.ce-lock{align-items:center;gap:.5rem;font-size:.85rem;cursor:pointer}.colour-select{position:relative}.colour-select__label{font-size:.78rem;font-weight:700;color:var(--ink-2)}.colour-select__trigger{display:flex;align-items:center;gap:.5rem;width:100%;min-height:44px;font:inherit;font-size:.85rem;font-weight:700;color:var(--ink);text-align:left;padding:.45rem .7rem;border-radius:10px;border:1px solid var(--ink-3);background:var(--card);cursor:pointer}.colour-select__trigger:disabled{color:var(--ink-3);cursor:not-allowed}.colour-select__placeholder{color:var(--ink-2);font-weight:500}.colour-select__list{position:fixed;z-index:42;max-height:15rem;margin:0;padding:.3rem;list-style:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--sand-2) transparent;background:var(--card);border-radius:12px;box-shadow:var(--sh-2)}.colour-select__list::-webkit-scrollbar{width:8px}.colour-select__list::-webkit-scrollbar-thumb{background:var(--sand-2);border-radius:99px}.colour-select__option{display:flex;align-items:center;gap:.55rem;padding:.4rem .5rem;border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer}.colour-select__option.is-active{background:var(--sand-2)}.colour-select .bead,.colour-select__list .bead{width:1.15rem;height:1.15rem;flex:none}.action-row{display:flex;flex-wrap:wrap;gap:.5rem}.connect-confirm,.discard-confirm{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.6rem;font-size:.85rem;color:var(--ink)}.connect-confirm{background:var(--blush);margin-top:.9rem}.connect-confirm__price,.connect-confirm__title{font-weight:800}.inspector{position:fixed;inset:0;z-index:20;overflow-y:auto;background:var(--sand);padding:1.5rem 1.1rem 3rem;display:flex;flex-direction:column;align-items:center;gap:.9rem;max-width:46rem;margin:0 auto}.inspector__title{font-weight:800;font-size:1.05rem}.inspector__canvas{border-radius:var(--r);background:var(--card);max-width:100%;height:auto}.inspector__legend{list-style:none;display:flex;flex-direction:column;gap:.45rem;font-size:.85rem;align-self:stretch}.inspector__legend li{display:flex;align-items:center;gap:.55rem}.inspector__swatch{width:.9rem;height:.9rem;border-radius:50%;flex:none}.inspector__swatch--ring{border-width:2px;border-style:solid}.generator{display:flex;flex-direction:column}.result-step{padding-bottom:1.5rem}.result-step,.result-step__content{display:flex;flex-direction:column;gap:.85rem}.card{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1)}.stats{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:1.15rem 1.3rem}.stat{display:flex;flex-direction:column;gap:.15rem}.stat .k{font-size:.75rem;font-weight:700;color:var(--ink-2);letter-spacing:.04em}.stat .v{font-size:1.5rem;font-weight:800;line-height:1.15;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .v small{font-size:.75rem;font-weight:500;color:var(--ink-2)}.pricepill{background:var(--sage-dp);color:var(--card);border-radius:16px;padding:.6rem 1rem;text-align:right;box-shadow:var(--sh-1)}.pricepill .k{font-size:.75rem;font-weight:700;opacity:.85;letter-spacing:.06em}.pricepill .v{font-size:1.45rem;font-weight:800;line-height:1.15;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dims{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1.3rem 1.2rem}.chipinfo{background:var(--sand);border-radius:999px;padding:.32rem .8rem;font-size:.75rem;color:var(--ink-2);font-weight:500}.chipinfo b{color:var(--ink);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chips-card,.looks-card{padding:1rem 1.25rem}.chips{gap:.5rem;margin-top:.5rem}.chip{border:2px solid var(--sand-2);background:var(--card);color:var(--ink);padding:.45rem .9rem;font-size:.85rem;transition:.2s;display:inline-flex;align-items:center;gap:.4rem}.chip:hover{border-color:var(--ink-3)}.chip:disabled{cursor:default;opacity:.6}.chip-badge{font-weight:500;font-size:.75rem;color:var(--ink-2)}.look{border:2px solid var(--sand-2);background:var(--card);color:var(--ink);border-radius:16px;padding:.6rem .4rem;cursor:pointer;text-align:center;transition:.24s;font:inherit}.look:hover:enabled{border-color:var(--ink-3);transform:translateY(-2px)}.look[aria-pressed=true]{border-color:var(--sage-dp);background:var(--sage-tint);box-shadow:var(--sh-1)}.look:disabled{cursor:default;opacity:.7}.look-pic{aspect-ratio:1;display:flex;align-items:center;justify-content:center;margin-bottom:.4rem}.look .nm{font-size:.8rem;font-weight:700}.look .n{font-size:.78rem;margin-top:.15rem}.look .n small,.preset .n small{font-size:inherit}.look .pr{font-weight:700;margin-top:.15rem}.look .pending,.look .warn{font-size:.75rem;margin-top:.3rem;opacity:.8}.looks-card{container-type:inline-size}.cards{display:grid;grid-gap:.55rem;gap:.55rem;margin-top:.5rem}.cards--base{grid-template-columns:repeat(2,minmax(0,1fr))}.cards--filter{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:.3rem;scrollbar-width:thin}.cards--filter .look{flex:0 0 96px;scroll-snap-align:start;padding:.45rem .3rem;border-radius:12px}.cards--filter .look .n,.cards--filter .look .nm,.cards--filter .look .pr{font-size:.75rem}@container (min-width: 400px){.cards--filter{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;padding-bottom:0}.cards--filter .look{flex:none}}.card-thumb{width:100%;height:auto;border-radius:8px}.gallery{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:1fr}.gallery-rows{display:grid;grid-gap:1rem;gap:1rem;min-width:0}.options-card{padding:.9rem 1.25rem}.options-card .sect-h h2{font-size:.95rem}.option-switches{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:.4rem}.option-switch{display:flex;align-items:center;gap:.6rem;background:none;border:0;padding:.2rem 0;font:inherit;font-size:.9rem;font-weight:600;color:var(--ink);cursor:pointer}.option-switch:disabled{cursor:default;opacity:.6}.option-switch-track{width:38px;height:22px;border-radius:999px;background:var(--sand-2);position:relative;transition:.2s;flex:none}.option-switch-knob{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--card);transition:.2s}.option-switch[aria-checked=true] .option-switch-track{background:var(--sage-dp)}.option-switch[aria-checked=true] .option-switch-knob{left:19px}.error{flex-direction:column;align-items:flex-start;gap:.75rem;font-size:.85rem;color:#b5473a;background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);padding:1rem 1.2rem}.error,.tot{display:flex}.tot{justify-content:space-between;align-items:baseline;margin-top:.9rem}.tot span{font-size:.8rem;font-weight:700;color:var(--ink-2)}.tot b{font-size:1.3rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fine{margin-top:.5rem;font-size:.75rem;color:var(--ink-2);text-align:center;line-height:1.6}.basket-empty,.designs-empty{display:flex;flex-direction:column;gap:1rem}.empty-note{max-width:60ch;font-size:.875rem;line-height:1.6;color:var(--ink-2)}.paths--inline .path{aspect-ratio:4/3}@media (min-width:860px){.paths--inline .path{aspect-ratio:16/11}}.photos-note{background:var(--sage-tint);border-radius:14px;padding:.7rem .85rem;font-size:.76rem;line-height:1.5;color:var(--ink-2);display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.photos-note>button{font:inherit;font-weight:800;font-size:.76rem;border:0;border-radius:999px;padding:.4rem .9rem;background:var(--sand-2);color:var(--ink);cursor:pointer}.designs-list{display:flex;flex-direction:column;gap:.85rem}.design-card{display:flex;column-gap:.9rem;row-gap:.7rem;background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);padding:1rem;flex-wrap:wrap}.design-card-row{flex-basis:100%}.design-thumb{width:64px;height:64px;object-fit:contain;border-radius:12px;background:var(--sand);flex-shrink:0}.design-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.design-title{font-size:.95rem;font-weight:800;overflow-wrap:break-word}.design-title-button{font:inherit;display:block;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.design-title-text{overflow-wrap:break-word;-webkit-text-decoration:underline dotted var(--ink-3);text-decoration:underline dotted var(--ink-3);text-underline-offset:4px}.design-title-button:focus-visible .design-title-text,.design-title-button:hover .design-title-text{-webkit-text-decoration-color:var(--ink-2);text-decoration-color:var(--ink-2)}.design-title-pencil{display:inline-block;width:.8em;height:.8em;margin-left:.35rem;vertical-align:-.05em;color:var(--ink-2)}.design-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.76rem;color:var(--ink-2)}.design-meta-item{background:var(--sand);border-radius:999px;padding:.22rem .65rem}.design-badge{font-size:.76rem;color:var(--ink);background:var(--blush);border-radius:12px;padding:.5rem .7rem;line-height:1.5}.design-corrupt{font-size:.8rem;color:#b5473a}.connectivity-notice{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;font-size:.85rem;color:var(--ink);background:var(--blush);border-radius:var(--r);padding:1rem 1.2rem}.connectivity-notice__counts{font-weight:800}.connectivity-notice__explain,.connectivity-notice__stranded{color:var(--ink-2);font-size:.8rem;line-height:1.5}.step-next:disabled{background:var(--ink-3);cursor:not-allowed}.connectivity-notice--settled{background:var(--sand-2);color:var(--ink-2)}.design-actions{display:flex;flex-wrap:wrap;gap:.5rem}.design-card .design-actions .step-back,.design-card .design-actions .step-next{font-size:.8rem;padding:.5rem .9rem}.design-confirm{font-size:.8rem;color:var(--ink)}.design-confirm,.design-rename{display:flex;flex-direction:column;gap:.5rem}.design-rename-input{font:inherit;font-size:.9rem;font-weight:700;padding:.4rem .6rem;border-radius:10px;border:1px solid var(--ink-3);background:var(--card);color:var(--ink)}.design-preview{flex-basis:100%;padding-top:.5rem}.product-sold-out{font-weight:600;color:var(--danger,#b00020);margin-left:.5rem}.product-variants{margin-top:.45rem}.product-variants-label{display:block;font-size:.75rem;font-weight:700;opacity:.75}.product-variant-options{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.25rem}.product-variant{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;line-height:1.2}.product-colour{display:flex;align-items:center;gap:.45rem;margin-top:.25rem;font-size:.82rem}.product-colour .bead{width:22px;height:22px;flex:none}.product-colour-code{font-weight:700}.product-colour-open{margin-left:auto;font:inherit;font-size:.78rem;background:none;border:1px solid var(--sand-2);border-radius:999px;padding:.25rem .7rem;color:var(--ink);cursor:pointer}.colour-dialog{border:none;padding:0;background:var(--card);color:var(--ink);box-shadow:var(--sh-2);width:100%;max-width:100%;max-height:85vh;margin:auto 0 0;border-radius:var(--r) var(--r) 0 0;overflow-y:auto}.colour-dialog::-webkit-backdrop{background:rgba(70,61,53,.35)}.colour-dialog::backdrop{background:rgba(70,61,53,.35)}.colour-dialog-body{padding:.9rem 1rem 1.2rem}.colour-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.colour-dialog-head h2{margin:0;font-size:1rem}.colour-dialog-close{font:inherit;background:none;border:none;color:var(--sage-dp);cursor:pointer}@media (min-width:860px){.colour-dialog{width:min(720px,92vw);max-height:80vh;margin:auto;border-radius:var(--r)}}.basket-add-success{margin-top:.5rem;font-size:.76rem;font-weight:700;color:var(--sage-dp)}.basket-add-success a{color:inherit;text-decoration:underline}.chips{display:flex;gap:.4rem;flex:none;flex-wrap:wrap}.chip{font:inherit;font-size:.76rem;font-weight:700;border:0;background:var(--sand-2);color:var(--ink-2);padding:.36rem .8rem;border-radius:999px;cursor:pointer}.chip[aria-checked=true],.chip[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 2px var(--sage-dp)}.products-scroll{padding-bottom:1.4rem}.header-actions{display:flex;align-items:center;gap:.4rem;margin-left:auto}.basket-badge{display:inline-flex;align-items:center;gap:.35rem;height:2.5rem;padding:0 .95rem;border-radius:999px;background:var(--sage-dp);color:var(--card);text-decoration:none;font-weight:800;font-size:1.05rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;box-shadow:var(--sh-1)}.basket-count{line-height:1}.qty-stepper{display:inline-flex;align-items:center;gap:.5rem}.qty-btn{width:1.8rem;height:1.8rem;border-radius:50%;border:0;background:var(--sand-2);color:var(--ink);font:inherit;font-weight:800;font-size:1rem;line-height:1;cursor:pointer}.qty-btn:disabled{color:var(--ink-3);cursor:not-allowed}.qty-value{min-width:1.4rem;text-align:center;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.qty-max-note{flex-basis:100%;width:100%;order:1;margin-top:.15rem;font-size:.75rem;color:var(--ink-2)}.basket-add{padding:1.1rem 1.25rem}.basket-add-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.basket-add-label{font-size:.8rem;font-weight:700;color:var(--ink-2)}.buy{padding:.85rem 1.3rem;border:0;border-radius:16px;background:var(--sage-dp);color:var(--card);font:inherit;font-size:.9rem;font-weight:800;cursor:pointer;transition:.24s;box-shadow:var(--sh-2)}.buy:hover{transform:translateY(-2px)}.buy:active{transform:translateY(0)}.buy:disabled{opacity:.6;cursor:not-allowed;transform:none}.basket-list{display:flex;flex-direction:column;gap:.85rem}.basket-problem,.basket-problems{display:flex;flex-direction:column;gap:.6rem}.basket-problem{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);padding:1rem 1.2rem;font-size:.82rem;color:var(--ink)}.basket-row{padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.6rem}.basket-row-main{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.basket-kit-toggle{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:.45rem;text-align:left;border:0;background:none;font:inherit;color:var(--ink);cursor:pointer}.basket-kit-label{display:flex;flex-direction:column;gap:.1rem;min-width:0}.basket-kit-name{font-size:.88rem;font-weight:800;overflow-wrap:break-word}.basket-kit-meta{font-size:.75rem;font-weight:600;color:var(--ink-2)}.basket-kit-chevron{flex:none;color:var(--ink-3);transition:transform .18s}.basket-kit-toggle[aria-expanded=true] .basket-kit-chevron{transform:rotate(90deg)}.basket-kit-toggle:hover .basket-kit-chevron{color:var(--ink)}.basket-kit-toggle:hover .basket-kit-name{text-decoration:underline;text-underline-offset:.2em}.basket-product-title{flex:1 1 auto;min-width:0;font-size:.88rem;font-weight:800;overflow-wrap:break-word}.basket-row-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.basket-row-price{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.85rem;min-width:4.2rem;text-align:right}.basket-repriced-notice{font-size:.78rem;color:var(--ink-2)}.basket-loading{padding:1rem 1.2rem;font-size:.85rem;color:var(--ink-2)}.basket-kit-rows{margin-top:.2rem}.basket-kit-colour-row{grid-template-columns:1.5rem 3.3rem 1fr auto}.basket-kit-colour-row .n{font-size:.75rem;color:var(--ink-2)}.basket-total{padding:1.1rem 1.25rem}.basket-below-minimum,.orders-closed{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);padding:1rem 1.2rem;margin:.9rem 0 0;font-size:.85rem;color:var(--ink-2)}.basket-checkout-link{display:inline-block;text-align:center;text-decoration:none}.quote-summary{display:flex;flex-direction:column;gap:.85rem}.quote-kit-colour-row{grid-template-columns:3.3rem 1fr auto}.quote-shipping{padding:.9rem 1.25rem;display:flex;justify-content:space-between;align-items:baseline;font-size:.85rem;font-weight:700;color:var(--ink-2)}.quote-shipping [data-testid=quote-shipping-amount]{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.quote-tax-note{margin-top:.4rem;font-size:.78rem;color:var(--ink-2);text-align:right}.basket-total>.tot,.order-total>.tot{margin-top:0}.checkout{display:flex;flex-direction:column;gap:.85rem;padding-bottom:2rem}.checkout-loading{padding:1rem 1.2rem;font-size:.85rem;color:var(--ink-2)}.checkout-discount-row{display:flex;gap:.5rem}.checkout-discount-row input{flex:1 1;min-width:0;text-transform:uppercase}.checkout-discount-applied,.checkout-discount-note{margin:.35rem 0 0;font-size:.9rem}.quote-summary--busy{opacity:.55;transition:opacity .15s}.checkout-discount-remove{margin-top:.35rem;background:none;border:0;padding:0;text-decoration:underline;cursor:pointer;color:inherit}.checkout-form{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:1.25rem;gap:1.25rem;align-items:start}@media (min-width:860px){.checkout-form{grid-template-columns:minmax(0,3fr) minmax(18rem,2fr);gap:1.5rem}}.checkout-details{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.8rem}.checkout-details h2{font-size:.85rem;font-weight:800;margin:.4rem 0 -.1rem}.checkout-details h2:first-child{margin-top:0}.checkout-review{display:flex;flex-direction:column;gap:.85rem}.checkout-review h2{font-size:.95rem;font-weight:800;padding:.9rem .35rem 0;border-top:1px solid var(--sand-2)}@media (min-width:860px){.checkout-review h2{padding-top:.2rem;border-top:0}}.checkout-field{min-width:0;display:flex;flex-direction:column;gap:.35rem;font-size:.78rem;font-weight:700;color:var(--ink-2)}.checkout-field input,.checkout-field textarea{font:inherit;font-size:.85rem;font-weight:500;color:var(--ink);padding:.55rem .7rem;border-radius:10px;border:1px solid var(--ink-3);background:var(--card)}.checkout-field input:not([type=checkbox]),.checkout-field textarea{min-width:0;width:100%}.checkout-field input:disabled{color:var(--ink-3);cursor:not-allowed}.checkout-field textarea{min-height:4.5rem;resize:vertical}.checkout-field-row{display:flex;gap:.7rem}.checkout-field-row .checkout-field{flex:1 1}.checkout-consent,.checkout-consent label{display:flex;align-items:flex-start;gap:.5rem;font-size:.82rem;font-weight:700;color:var(--ink);cursor:pointer}.checkout-consent input[type=checkbox]{margin-top:.15rem;flex:none}.checkout-order-button{align-self:stretch;margin-top:.3rem}.checkout-order-button.confirm{align-self:center;width:100%}.checkout-order-button:disabled{background:var(--sand-2);color:var(--ink-2);cursor:not-allowed}.checkout-order-hint{font-size:.78rem;color:var(--ink-2);text-align:center}.checkout-order-exists,.checkout-quote-changed{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);padding:.8rem 1rem;font-size:.82rem;font-weight:700;color:var(--ink)}.order-page{gap:.9rem;padding-bottom:1.5rem}.order-confirmation,.order-page{display:flex;flex-direction:column}.order-confirmation{gap:.7rem}.order-confirmation h1{font-size:1.05rem;font-weight:800;padding:0 .35rem}.order-confirmation h2{font-size:.85rem;font-weight:800;margin:.4rem 0 -.1rem;padding:0 .35rem}.order-confirmation>p{padding:0 .35rem;font-size:.85rem;color:var(--ink-2);line-height:1.6}.order-address{display:flex;flex-direction:column;padding:0 .35rem;font-size:.85rem;font-style:normal;color:var(--ink)}.order-kit-header{display:flex;align-items:center;gap:.6rem;padding:1rem 1.2rem 0}.order-kit-thumbnail{width:2.6rem;height:2.6rem;border-radius:calc(var(--r) - .4rem);object-fit:cover;flex:none}.order-kit-title{font-size:.88rem;font-weight:800}.order-product-row{padding:1rem 1.2rem;align-items:center;gap:.6rem}.order-product-row,.order-shipping{display:flex;justify-content:space-between;font-size:.85rem}.order-shipping{padding:.9rem 1.25rem;align-items:baseline;font-weight:700;color:var(--ink-2)}.order-shipping [data-testid=order-shipping-amount]{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.order-payment{padding:1rem 1.25rem;margin-bottom:1.25rem}.order-payment-facts>*+*,.order-payment>*+*{margin-top:.75rem}.order-payment-facts>.order-payment-label:first-child{margin-top:0}.order-payment-body{display:grid;grid-gap:1.5rem;gap:1.5rem}@media (min-width:860px){.order-payment-body{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:2.5rem}}.order-payment button{font:inherit;font-size:.85rem;font-weight:700;min-height:44px;padding:.5rem 1rem;border:1px solid var(--ink-3);border-radius:16px;background:var(--card);color:var(--ink);cursor:pointer}.order-payment button:focus-visible{outline:2px solid var(--sage-dp);outline-offset:2px}.order-payment-label{margin:.75rem 0 .25rem;font-size:.8rem;font-weight:700}.order-payment-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.order-payment-amount{font-size:2rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.order-payment-reference{font-size:1.4rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em;overflow-wrap:anywhere}.order-payment-tabs{display:flex;gap:.5rem;margin-bottom:.75rem}.order-payment-tabs [aria-pressed=true]{font-weight:800;border-color:var(--sage-dp);background:var(--sage-tint);text-decoration:underline;text-underline-offset:.3em}.order-payment-codes{display:flex;gap:1.25rem;align-items:flex-start}.order-payment-code{margin:0;width:220px;max-width:100%;text-align:center;font-size:.8rem;font-weight:700;color:var(--ink-2)}.order-payment-code img{display:block;width:100%;height:auto;margin-bottom:.4rem;border-radius:12px;background:#fff;padding:8px;box-shadow:var(--sh-1)}.order-payment-rate{font-size:.8rem}@media (max-width:859px){.order-payment-code[data-selected=false]{display:none}}@media (min-width:860px){.order-payment-tabs{display:none}}.order-total{padding:1.1rem 1.25rem}.order-loading{padding:1rem 1.2rem}.order-loading,.order-not-found{font-size:.85rem;color:var(--ink-2)}.order-not-found{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);padding:1.5rem 1.2rem;display:flex;flex-direction:column;gap:.6rem;line-height:1.6}.order-not-found h1{font-size:1.05rem;font-weight:800;color:var(--ink)}.flow-app{inset:0;display:grid;grid-template-rows:auto minmax(0,1fr);position:fixed}.flow{--flow-bar-h:70px;--flow-bar-band:calc(var(--flow-bar-h) + env(safe-area-inset-bottom));--flow-w:1920px;--flow-pad:0.85rem;--flow-gutter:max(var(--flow-pad),calc((100% - var(--flow-w)) / 2));width:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto var(--flow-bar-band)}.flow-progress{display:flex;align-items:center;gap:.7rem;padding:.5rem var(--flow-gutter) .1rem;border-top:1px solid rgba(122,110,99,.14);background:rgba(255,252,248,.92)}.flow-progress__title{flex:none;max-width:45%;font-size:.82rem;font-weight:800;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail{display:flex;gap:.3rem;list-style:none;align-items:center;margin:0;padding:0}.rail,.rail li{flex:1 1;min-width:0}.rail-bar{display:block;height:4px;border-radius:99px;background:var(--sand-2)}.rail li.done .rail-bar{background:var(--sage)}.rail li.now .rail-bar{background:var(--sage-dp)}.flow-count{font-size:.75rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.flow-count,.flow-reset{color:var(--ink-2);flex:none}.flow-reset{font:inherit;font-size:.75rem;font-weight:800;background:none;border:0;padding:.3rem .5rem;border-radius:999px;text-decoration:underline;cursor:pointer;white-space:nowrap}.flow-reset--armed{color:var(--ink);background:var(--blush);text-decoration:none}.flow-pane{min-height:0;overflow:hidden;padding:.9rem var(--flow-gutter);display:grid}.flow-actions{display:flex;align-items:center;gap:.7rem;padding:0 var(--flow-gutter) env(safe-area-inset-bottom);border-top:1px solid rgba(122,110,99,.14);background:rgba(255,252,248,.92)}.flow-progress+.flow-actions{border-top:0}.flow-actions__mid{margin:0 auto;text-align:center;line-height:1.15;min-width:0;overflow:hidden}.editor-kit .btn-primary,.editor-resize__body .btn-primary,.editor-size .btn-primary,.flow-actions .btn-ghost,.flow-actions .btn-primary{font:inherit;font-weight:800;font-size:.88rem;border:0;border-radius:999px;padding:.66rem 1.3rem;cursor:pointer;white-space:nowrap;flex:none}.flow-actions .btn-ghost{background:var(--sand-2);color:var(--ink)}.editor-kit .btn-primary,.editor-resize__body .btn-primary,.editor-size .btn-primary,.flow-actions .btn-primary{background:var(--sage-dp);color:var(--card);box-shadow:var(--sh-1)}.editor-kit .btn-primary[disabled],.editor-resize__body .btn-primary[disabled],.editor-size .btn-primary[disabled],.flow-actions .btn-primary[disabled]{opacity:.4;cursor:not-allowed}.flow-price{display:none;flex-direction:column;align-items:center;gap:.1rem;font-size:.75rem;color:var(--ink-2);white-space:nowrap}.flow-price__total{font-size:.95rem;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.flow-actions .buy{padding:.66rem 1.1rem;border-radius:999px;font-size:.88rem;box-shadow:var(--sh-1);display:inline-flex;align-items:center;text-decoration:none}.flow-actions .buy:hover{transform:none}.flow-actions .buy[disabled]{opacity:.4;cursor:not-allowed}@media (max-width:519px){.flow-actions{gap:.5rem}.flow-actions .btn-ghost,.flow-actions .btn-primary,.flow-actions .buy{padding-left:.85rem;padding-right:.85rem;font-size:.84rem}}@media (max-width:339px){.flow{--flow-pad:0.7rem}.flow-actions{gap:.5rem;padding:0 var(--flow-gutter) env(safe-area-inset-bottom)}.flow-actions__mid{display:none}}.duo{grid-gap:.85rem;gap:.85rem;grid-template-rows:var(--stage-max) max-content;overflow-y:auto}.duo,.stagepane{--stage-max:56vh;--stage-max:min(56svh,460px);display:grid;min-height:0}.stagepane{max-height:var(--stage-max);place-items:center;overflow:hidden;padding:.9rem}.sidepane{min-height:0;display:flex;flex-direction:column;gap:.7rem}.duo-single{--stage-max:56vh;--stage-max:min(56svh,460px);min-height:0;display:grid;grid-template-rows:minmax(0,1fr);place-items:stretch}.upload-preview{min-height:0;max-height:var(--stage-max);display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;grid-gap:.7rem;gap:.7rem}.upload-preview img{max-width:100%;max-height:min(100%,var(--stage-max,460px));min-height:0;object-fit:contain;border-radius:14px}.upload-change{cursor:pointer;text-align:center}.upload-notes:empty{display:none}.flow-pane>.generator{min-height:0}.flow-pane>.generator>*{min-height:0;flex:1 1 auto}.flow-pane .crop-step,.flow-pane .size-step,.flow-pane .upload-step{padding:0}.flow-pane .duo{flex:1 1 auto;min-height:0}.flow-pane .crop-frame{max-height:none;place-self:stretch;min-height:0}.crop-step .stagepane,.size-step .stagepane{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.size-step .stagepane{justify-items:stretch;align-items:stretch;gap:.6rem}.size-stage-picture{min-height:0;min-width:0;display:grid;place-items:center}.flow-pane .result-step{grid-template-rows:var(--stage-max) max-content;overflow-y:auto;padding-bottom:0}@media (min-width:860px){.flow{--flow-bar-h:78px;--flow-pad:1.8rem}.flow-progress{padding-top:.65rem}.flow-progress__title{font-size:.95rem}.flow-pane{padding-block:1.4rem}.flow-price{display:flex}.duo{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 342px;gap:1.2rem}@media (min-width:1400px){.duo{grid-template-columns:minmax(0,1fr) 480px;gap:1.6rem}.result-step .stagepane{--stage-max:68vh;--stage-max:min(68svh,900px)}}.flow-pane .duo-single{width:100%;max-width:720px;margin-inline:auto}.flow-pane .duo-single,.stagepane{--stage-max:68vh;--stage-max:min(68svh,640px)}.stagepane{padding:0}.flow-pane .result-step{grid-template-rows:minmax(0,1fr);overflow-y:visible}.flow-pane .result-step>.sidepane{overflow-y:auto;overscroll-behavior:contain}.crop-step .duo{--stage-max:68vh;--stage-max:min(68svh,640px);grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,var(--stage-max)) max-content}.crop-step .sidepane{flex-direction:row;align-items:center;justify-content:center;gap:1rem}}.parts-scrim{position:absolute;inset:0;background:rgba(70,61,53,.4);z-index:40}.parts-sheet{position:absolute;left:0;right:0;bottom:0;z-index:41;background:var(--card);border-radius:26px 26px 0 0;box-shadow:var(--sh-2);display:grid;grid-template-rows:auto auto minmax(0,1fr);max-height:78%;padding:.7rem .9rem .9rem}.parts-sheet__list{padding-bottom:26px}.parts-sheet__grab{width:38px;height:4px;border-radius:99px;background:var(--sand-2);margin:.1rem auto .6rem}.parts-panel__head,.parts-sheet__head{display:flex;align-items:center;gap:.6rem;padding:0 .2rem .55rem}.parts-panel__head h2,.parts-sheet__head h2{font-size:1rem;font-weight:800}.parts-panel__head .step-back,.parts-sheet__head .step-back{margin-left:auto}.linkrow{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.6rem .9rem;border:0;border-radius:16px;background:var(--sand-2);font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;color:var(--ink)}@media (min-width:860px){.parts-panel{display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);padding:.8rem .9rem .9rem;max-height:60vh}.parts-panel__list{min-height:0}}.paths{display:grid;grid-gap:.9rem;gap:.9rem;min-height:0;grid-template-rows:1fr 1fr}.path{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:0;padding:0;overflow:hidden;text-decoration:none;color:inherit;isolation:isolate}.path-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.path-copy{position:relative;z-index:1;display:flex;flex-direction:column;gap:.3rem;padding:2.6rem 1.1rem 1.1rem;background:linear-gradient(to bottom,rgba(255,252,248,0) 0,rgba(255,252,248,.82) 38%,var(--card) 72%)}.path h2{font-size:1.12rem;font-weight:800;letter-spacing:-.01em}.path p{font-size:.82rem;color:var(--ink-2);max-width:34ch}.path-go{font-size:.78rem;font-weight:800;color:var(--sage-dp)}@media (min-width:860px){.paths{grid-template-rows:1fr;grid-template-columns:1fr 1fr}.path-copy{padding:3.4rem 1.7rem 1.7rem}.path h2{font-size:1.5rem}.path p{font-size:.9rem}}.legal-document{display:flex;flex-direction:column;gap:.9rem;padding:.5rem .35rem 1.5rem}.legal-body{font-family:var(--font-ui);font-size:.88rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:break-word;max-width:62ch;color:var(--ink)}.legal-translation-notice{background:var(--blush);border-radius:var(--r);padding:.8rem 1rem;font-size:.85rem;font-weight:700;line-height:1.5;color:var(--ink)}.legal-version{font-size:.78rem;color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.screen-legal{margin:1.5rem 0 .5rem;font-size:.78rem;text-align:center}.screen-legal a{color:var(--ink-2);font-weight:700;text-decoration:none}.legal-index{list-style:none;margin:0;padding:0;gap:.7rem}.legal-index,.legal-index-link{display:flex;flex-direction:column}.legal-index-link{gap:.2rem;padding:.9rem 1rem;color:var(--ink);text-decoration:none}.legal-index-link span{font-size:.85rem;color:var(--ink-2)}.account-form{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:.35rem;gap:.35rem}.account-auth{width:100%;max-width:27rem;margin:1rem auto 0;padding:1.5rem 1.6rem 1.7rem;display:flex;flex-direction:column;gap:.9rem;font-size:.88rem;color:var(--ink)}@media (min-width:860px){.account-auth{margin-top:2.5rem;padding:2rem 2.2rem 2.2rem}}.account-form label{margin-top:.45rem;font-size:.78rem;font-weight:700;color:var(--ink-2)}.account-form label:first-child{margin-top:0}.account-form input{min-width:0;font:inherit;font-size:.9rem;font-weight:500;color:var(--ink);min-height:44px;padding:.55rem .8rem;border-radius:12px;border:1px solid var(--ink-3);background:var(--card)}.account-form input:focus-visible{outline:2px solid var(--sage-dp);outline-offset:1px;border-color:var(--sage-dp)}.account-form .step-next{align-self:stretch;margin-top:.8rem;min-height:44px}.account-form .step-next:disabled{opacity:.5;cursor:not-allowed}.account-identity{font-weight:700;color:var(--ink-2)}.account-orders{display:grid;grid-gap:.6rem;gap:.6rem;margin-bottom:1rem}.account-order{display:grid;grid-template-columns:1fr auto;grid-gap:.2rem 1rem;gap:.2rem 1rem;padding:.9rem 1.25rem;align-items:baseline}.account-order-status{grid-column:1;font-size:.8rem;color:var(--ink-2)}.account-order-total{grid-row:1/span 2;grid-column:2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.account-tabs{display:flex;gap:1.25rem;margin-bottom:.3rem;border-bottom:1px solid var(--sand-2)}.account-tab{flex:1 1;background:none;border:0;border-bottom:2px solid transparent;padding:.6rem 0;margin-bottom:-1px;font:inherit;color:var(--ink-2);cursor:pointer}.account-tab.is-active{color:var(--ink);font-weight:700;border-bottom-color:var(--ink)}.account-hint{font-size:.85rem;color:var(--ink-2)}.account-or{margin-top:.6rem;padding-top:1.2rem;border-top:1px solid var(--sand-2);color:var(--ink-2)}.crop-step .duo,.size-step .duo{grid-template-rows:minmax(0,1fr) max-content}.crop-step .stagepane,.size-step .stagepane{max-height:none}.flow-pane .duo-single{--stage-max:100%}@media (min-width:860px){.flow-pane .duo-single{max-width:1000px}}.crop-step .duo{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"stage";gap:0}.crop-step .stagepane{grid-area:stage}.crop-side{display:flex;align-items:center;align-self:center}.crop-side--ratios{grid-area:ratios;justify-content:flex-end}.crop-side--reset{grid-area:reset;justify-content:flex-start;padding-left:.5rem}.crop-side .crop-ratios{align-self:auto}.crop-side .crop-reset{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0}@media (min-width:860px){.crop-side--ratios,.crop-side--reset{justify-content:center;padding-left:0}.crop-side .crop-ratios{flex-direction:column}}@media (min-width:860px){.flow-pane .duo-single:has(.upload-preview){max-width:none}.upload-preview{grid-template-columns:auto minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"btn pic";column-gap:.9rem}.upload-preview img{grid-area:pic}.upload-preview .upload-change{grid-area:btn}}.sidepane>.size-stats{flex-wrap:nowrap}@media (max-width:859px){.sidepane>.size-stats .size-stat{flex-direction:row;align-items:baseline;gap:.45rem;padding:.45rem .8rem}.sidepane>.size-stats .size-stat .v{font-size:.95rem}}.pdf-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.1rem;border:2px solid var(--ink);border-radius:16px;background:var(--card);color:var(--ink);font:inherit;font-size:.9rem;font-weight:800;cursor:pointer;box-shadow:var(--sh-1)}.pdf-button:disabled{opacity:.6;cursor:progress}.flow-actions .flow-pdf{padding:.6rem 1rem;border-radius:999px;font-size:.88rem;white-space:nowrap;flex:none}@media (max-width:859px){.flow-actions:has(.flow-pdf) .flow-actions__mid{display:none}.flow-actions .flow-pdf{margin:0 auto}}@media (max-width:519px){.flow-actions .flow-pdf{padding:.6rem}.flow-actions .flow-pdf__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.pdf-failed{margin:0;color:#a8443a;font-size:.85rem}.share-status{margin:1rem 0;color:var(--ink-2)}.refill{gap:1rem}.refill,.refill-filters{display:flex;flex-direction:column}.refill-filters{gap:.75rem}.refill-filters .chips{margin-top:0}.refill-left{display:flex;flex-direction:column;gap:.75rem;min-width:0}.refill-empty-detail{display:none;padding:1.4rem 1.1rem;border:1px dashed var(--sand-2);border-radius:var(--r);color:var(--ink-2);font-size:.85rem;line-height:1.6;text-align:center}.chip--all[aria-pressed=true]{background:var(--sage-dp);color:var(--card);box-shadow:none}.refill-search{padding:.55rem .8rem;border:1px solid var(--ink-3);border-radius:8px;font:inherit}.refill-body{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem}.colour-picker{display:flex;flex-direction:column;gap:.75rem;min-width:0}.refill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));grid-gap:.5rem;gap:.5rem}.refill-swatch{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.4rem .2rem;border:1px solid transparent;border-radius:8px;background:none;cursor:pointer;font:inherit}.refill-swatch[aria-checked=true]{border-color:var(--sage-dp);background:var(--sage-tint)}.refill-swatch .bead{width:28px;height:28px}.refill-swatch .n{font-size:.75rem;color:var(--ink-2)}.refill-swatch--disabled{opacity:.4;cursor:not-allowed}.refill-detail{position:-webkit-sticky;position:sticky;bottom:0;display:flex;flex-direction:column;gap:.75rem;padding:.75rem 1rem 1rem}.refill-detail-head{display:flex;align-items:center;gap:.6rem}.refill-detail-swatch{width:36px;height:36px}.refill-sizes{display:flex;flex-direction:column;gap:.4rem}.refill-sizes .chip{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;width:100%;text-align:left;font-size:1.05rem;padding:.6rem 1rem}.refill-size-price{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.refill-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.refill-bag-link,.refill-view-basket{color:var(--sage-dp);font-weight:700;font-size:.85rem;text-decoration:underline}@media (min-width:860px){.refill-body{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.refill-empty-detail{display:block}.refill-detail{top:0;bottom:auto}}.flow-actions .upload-change{display:none}@media (min-width:860px){.flow-actions .upload-change{display:inline-flex;align-items:center}.upload-preview .upload-change{display:none}.upload-preview{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"pic"}}@keyframes skeleton-pulse{0%{opacity:.55}to{opacity:1}}.result-step__content[aria-busy=true]>:not(.gallery,.upload-busy,.restore-note){pointer-events:none}.flow-price[aria-busy=true],.result-step__content[aria-busy=true]>:not(.gallery,.upload-busy,.restore-note){animation:skeleton-pulse 1.1s ease-in-out infinite alternate}.flow-price[aria-busy=true]>*,.result-step__content[aria-busy=true] :is(.stat .v,.pricepill .v,.dims .chipinfo,.preset .n,.preset .pr,.saveline,.row .n,.row .p,.tot b,.fine){color:transparent;background:var(--sand-2);border-radius:6px}.result-step__content[aria-busy=true] .pricepill .v{background:rgba(255,255,255,.35)}@media (prefers-reduced-motion:reduce){.flow-price[aria-busy=true],.result-step__content[aria-busy=true]>*{animation:none;opacity:.7}}.rows>.colour-editor{margin:.25rem 0 .6rem;box-shadow:inset 0 0 0 2px var(--sage-tint)}.look .pending,.look .warn{box-sizing:border-box;min-height:calc(.78rem * 1.6 + 1rem * 1.6 + .3rem - .3rem)}.cards--filter .look .pending,.cards--filter .look .warn{min-height:calc(.75rem * 1.6 * 2 + .3rem - .3rem)}.canvas-hug,.crop-hug{--pill-w:calc(44px + 0.44rem);position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto minmax(0,1fr);grid-template-rows:auto auto;grid-template-areas:"pic pic pic pic" ". zoom view .";justify-items:center;align-items:center}.canvas-hug{--pills-h:calc(44px + 0.44rem + 0.9rem);row-gap:.9rem}.crop-hug{--pills-h:calc(44px + 0.44rem + 0.6rem);row-gap:.6rem}.canvas-hug>.canvas-wrap,.crop-hug>.crop-canvas-wrap,.crop-hug>.crop-fixed{grid-area:pic;place-self:center}.canvas-hug>.canvas-wrap{max-width:none}.canvas-hug>.preview-side--left{grid-area:zoom}.canvas-hug>.preview-side--right{grid-area:view}.crop-hug>.crop-side--ratios{grid-area:zoom}.crop-hug>.crop-side--reset{grid-area:view}@media (max-width:859px){.flow-pane .crop-frame{padding-top:calc(32px + (44px + .44rem + .6rem) / 2);padding-bottom:calc(32px + (44px + .44rem + .6rem) / 2)}}@media (min-width:600px){.canvas-hug{--pills-h:0px;grid-template-columns:auto;grid-template-rows:auto;grid-template-areas:"pic";row-gap:0}.canvas-hug>.preview-side{grid-area:auto;position:absolute;top:50%;transform:translateY(-50%)}.canvas-hug>.preview-side--left{right:calc(100% + .9rem)}.canvas-hug>.preview-side--right{left:calc(100% + .9rem)}.canvas-slot{padding-inline:calc(44px + .44rem + .9rem)}}@media (min-width:860px){.crop-hug{grid-template-columns:auto;grid-template-rows:auto;grid-template-areas:"pic";row-gap:0}.crop-hug>.crop-side{grid-area:auto;position:absolute;top:50%;transform:translateY(-50%);padding-left:0}.crop-hug>.crop-side--ratios{right:calc(100% + 32px + .5rem)}.crop-hug>.crop-side--reset{left:calc(100% + 32px + .5rem)}.crop-step .stagepane{padding-inline:calc(44px + .44rem + .5rem)}}.grid-stage{padding:22px}.grid-surface{position:relative;overflow:visible;-webkit-clip-path:inset(-22px);clip-path:inset(-22px);touch-action:none;border-radius:6px;background:var(--sand-2);-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-layer{position:absolute;inset:0;transform-origin:0 0}.grid-layer canvas{display:block}.grid-layer canvas.is-pixelated{image-rendering:pixelated}.grid-overlay{position:absolute;inset:0;overflow:visible}.grid-overlay__cells{fill:none;stroke:var(--sage-dp);stroke-width:1;opacity:.55}.grid-overlay__frame{fill:transparent;stroke:var(--sage-dp);stroke-width:2.5;cursor:move}.grid-handle{position:absolute;width:44px;height:44px;margin:0;cursor:nwse-resize;touch-action:none}.grid-handle:after{content:"";position:absolute;inset:14px;border-radius:50%;background:var(--card);border:2.5px solid var(--sage-dp);box-shadow:var(--sh-1)}.grid-handle[data-handle=ne],.grid-handle[data-handle=sw]{cursor:nesw-resize}.grid-handle--edge:after{inset:16px;border-radius:3px}.grid-handle[data-handle=n],.grid-handle[data-handle=s]{cursor:ns-resize}.grid-handle[data-handle=e],.grid-handle[data-handle=w]{cursor:ew-resize}.grid-preview-card{display:grid;place-items:center;padding:.6rem}.grid-preview{max-width:100%;height:auto;image-rendering:pixelated}.grid-redetect{align-self:flex-start;font-size:.82rem}.grid-region-hint{margin:0;font-size:.82rem;color:var(--ink-2);line-height:1.5}.upload-start{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;grid-gap:.7rem;gap:.7rem}.upload-choices{min-height:0;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.upload-choices .dropzone{min-height:9rem}.dropzone--link{color:inherit;text-decoration:none}.dropzone--draw,.dropzone--import,.dropzone--photo{--card-veil:linear-gradient(rgba(255,252,248,0.25),rgba(255,252,248,0.82) 36%,rgba(255,252,248,0.82) 64%,rgba(255,252,248,0.1) 85%)}.dropzone--photo{background:var(--card-veil),url(/landing/from-photo.webp) 54% 0 /auto 145% no-repeat var(--card)}.dropzone--import{background:var(--card-veil),url(/landing/from-import.webp) 47% 100% /cover no-repeat var(--card)}.dropzone--draw{background:var(--card-veil),url(/landing/from-scratch.webp) 47% 100% /cover no-repeat var(--card)}.upload-privacy{margin:0;text-align:center;justify-self:center;padding:.1rem .8rem;border-radius:999px;background:rgba(237,229,220,.88)}.flow-pane:has(.upload-start){background:url(/landing/bg-a-tall.webp) 50%/cover no-repeat}@media (min-width:600px){.upload-start{grid-template-rows:auto auto;align-content:center}.upload-choices{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:clamp(12rem,40vh,22rem)}.flow-pane:has(.upload-start){background-image:url(/landing/bg-a-wide.webp)}}.upload-preview:has(.sheet-hint),.upload-preview:has(.upload-switch){grid-template-rows:minmax(0,1fr) auto auto}@media (min-width:860px){.upload-preview:has(.sheet-hint),.upload-preview:has(.upload-switch){grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"pic" "note"}.upload-preview .sheet-hint,.upload-preview .upload-switch{grid-area:note}}.upload-switch{font-size:.86rem;font-weight:700}.sheet-hint .dropzone-btn{border:0;cursor:pointer}.sheet-hint{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .8rem;background:var(--sage-tint);border-radius:14px;padding:.6rem .8rem;font-size:.86rem}.editor-app{background:var(--sand)}.editor{position:relative;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-areas:"top" "stage" "palette" "tools"}.editor,.editor-message{min-height:0;display:grid}.editor-message{overflow-y:auto;place-items:start center;grid-gap:.8rem;gap:.8rem;padding:1.4rem 1rem}.editor-top{grid-area:top;position:relative;display:flex;align-items:center;gap:.3rem;min-width:0;padding:.35rem .5rem;background:var(--card);border-bottom:1px solid var(--sand-2)}.editor-top__title{padding:.3rem .4rem;border:0;background:none;color:var(--ink);font:inherit;font-weight:700;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-top__rename,.editor-top__title{flex:1 1;min-width:0}.editor-top__rename input{width:100%;font:inherit;font-weight:700;font-size:max(16px,1em);padding:.3rem .4rem}.editor-top__status{font-size:.78rem;color:var(--ink-2);white-space:nowrap;min-width:6em;text-align:right}.editor-top__status--error{color:var(--status-over)}.editor-iconbtn{flex:none;min-width:40px;min-height:40px;display:inline-grid;place-items:center;border:0;border-radius:12px;background:none;color:var(--ink)}.editor-iconbtn:disabled{opacity:.35}.editor-zoom{display:none;align-items:center;gap:.2rem}.editor-zoom__value{min-width:3.2em;text-align:center;font-size:.8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.editor-stage{grid-area:stage;position:relative;min-width:0;min-height:0}.editor-canvas,.editor-canvas__surface{position:absolute;inset:0;touch-action:none}.editor-canvas__surface{width:100%;height:100%;cursor:crosshair}.editor-canvas[data-tool=pan] .editor-canvas__surface{cursor:-webkit-grab;cursor:grab}.editor-canvas[data-tool=reference] .editor-canvas__surface{cursor:move}.editor-loupe{width:96px;height:96px;border-radius:50%;background:var(--sand);border:2px solid var(--card);box-shadow:var(--sh-2)}.editor-loupe,.editor-readout{position:absolute;pointer-events:none}.editor-readout{padding:.1rem .45rem;border-radius:8px;background:var(--ink);color:var(--card);font-size:.75rem;font-weight:700;white-space:nowrap}.editor-axis{position:absolute;z-index:2;touch-action:none;cursor:ew-resize}.editor-axis--y{cursor:ns-resize}.editor-axis:after{content:"";position:absolute;width:10px;height:10px;background:var(--status-approaching);border-radius:2px}.editor-axis--x[data-end=start]:after{left:50%;top:10px;transform:translate(-50%,-50%) rotate(45deg)}.editor-axis--x[data-end=end]:after{left:50%;top:22px;transform:translate(-50%,-50%) rotate(45deg)}.editor-axis--y[data-end=start]:after{top:50%;left:10px;transform:translate(-50%,-50%) rotate(45deg)}.editor-axis--y[data-end=end]:after{top:50%;left:22px;transform:translate(-50%,-50%) rotate(45deg)}.editor-axis[data-offscreen]:after{opacity:.5}.editor-axis[data-offscreen]:before{content:"";position:absolute;width:0;height:0;border:5px solid transparent}.editor-axis--x[data-offscreen][data-end=start]:before{top:10px;transform:translateY(-50%)}.editor-axis--x[data-offscreen][data-end=end]:before{top:22px;transform:translateY(-50%)}.editor-axis--x[data-offscreen=lo]:before{left:2px;border-left-width:0;border-right:7px solid var(--status-approaching)}.editor-axis--x[data-offscreen=hi]:before{right:2px;border-right-width:0;border-left:7px solid var(--status-approaching)}.editor-axis--y[data-offscreen][data-end=start]:before{left:10px;transform:translateX(-50%)}.editor-axis--y[data-offscreen][data-end=end]:before{left:22px;transform:translateX(-50%)}.editor-axis--y[data-offscreen=lo]:before{top:2px;border-top-width:0;border-bottom:7px solid var(--status-approaching)}.editor-axis--y[data-offscreen=hi]:before{bottom:2px;border-bottom-width:0;border-top:7px solid var(--status-approaching)}.editor-axis:focus-visible{outline:2px solid var(--ink);outline-offset:-2px;border-radius:6px}.editor-banner,.editor-hint{position:absolute;left:50%;top:.7rem;transform:translateX(-50%);max-width:calc(100% - 2rem);margin:0;padding:.5rem .8rem;border-radius:14px;background:var(--card);box-shadow:var(--sh-1);font-size:.82rem;text-align:center}.editor-banner{color:var(--status-over)}.editor-badge{position:absolute;right:.7rem;bottom:.7rem;padding:.45rem .8rem;border:0;border-radius:999px;background:var(--card);box-shadow:var(--sh-1);color:var(--ink);font:inherit;font-size:.8rem;font-weight:700}.editor-palette{grid-area:palette;display:flex;align-items:center;gap:.5rem;min-width:0;padding:.4rem .6rem;background:var(--card);border-top:1px solid var(--sand-2)}.editor-current{flex:none;display:flex;align-items:center;gap:.35rem;font-weight:700;font-size:.85rem}.editor-current__chip{width:28px;height:28px;border-radius:50%;border:1px solid var(--sand-2)}.editor-recent{flex:1 1;min-width:0;display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none}.editor-swatch{flex:none;position:relative;width:40px;height:40px;border:2px solid transparent;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(70,61,53,.15)}.editor-swatch[aria-pressed=true]{border-color:var(--ink)}.editor-swatch[data-sold-out]{opacity:.55}.editor-swatch[data-sold-out]:after{content:"";position:absolute;inset:45% -2px auto;height:2px;background:var(--status-over);transform:rotate(-35deg)}.editor-swatch__code{position:absolute;left:0;right:0;bottom:1px;font-size:.55rem;font-weight:700;color:var(--ink);background:rgba(255,252,248,.82);border-radius:0 0 9px 9px;text-align:center}.editor-colours{position:fixed;left:0;right:0;bottom:0;z-index:40;max-height:70dvh;display:flex;flex-direction:column;background:var(--card);border-radius:var(--r) var(--r) 0 0;box-shadow:var(--sh-2)}.editor-colours__head{display:flex;gap:.5rem;align-items:center;padding:.7rem;border-bottom:1px solid var(--sand-2)}.editor-colours__head input{flex:1 1;min-width:0;font:inherit;font-size:max(16px,1em);padding:.45rem .6rem;border-radius:10px;border:1px solid var(--sand-2)}.editor-colours__body{overflow-y:auto;padding:0 .7rem .9rem}.editor-colours__body h3{margin:.8rem 0 .4rem;font-size:.78rem;color:var(--ink-2)}.editor-colours__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));grid-gap:.35rem;gap:.35rem}.editor-tools{grid-area:tools;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:var(--card);border-top:1px solid var(--sand-2);padding-bottom:env(safe-area-inset-bottom)}.editor-tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:56px;border:0;background:none;color:var(--ink);font:inherit;font-size:.75rem}.editor-tool[aria-pressed=true],.editor-tool[data-active]{background:var(--sage-tint);color:var(--sage-dp)}.editor-tool>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-more.editor-shapes{right:auto;left:50%;transform:translateX(-50%)}.editor-shapes>button{display:flex;align-items:center;gap:.5rem}.editor-shapes>button[aria-pressed=true]{background:var(--sage-tint);color:var(--sage-dp)}.editor-segmented{display:flex;gap:.25rem;padding:.25rem 0}.editor-segmented button{flex:1 1;min-height:36px;padding:.3rem .4rem;border:1px solid var(--sand-2);border-radius:10px;background:none;color:var(--ink);font:inherit;font-size:.75rem}.editor-segmented button[aria-pressed=true]{background:var(--sage-tint);color:var(--sage-dp);border-color:var(--sage)}.editor-segmented button:disabled{opacity:.45}.editor-tool-options{gap:.3rem;padding-top:.5rem;border-top:1px solid var(--sand-2)}.editor-tool-options,.editor-tool-options .editor-segmented{flex-direction:column}.editor-tool-options__head{margin:.3rem 0 0;font-size:.75rem;font-weight:700;color:var(--ink-2);text-align:center}.editor-toggle{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-height:48px;border:0;border-radius:14px;background:none;color:var(--ink);font:inherit;font-size:.75rem}.editor-toggle[aria-pressed=true]{background:var(--sage-tint);color:var(--sage-dp)}.editor-mirror-centre{font-size:.75rem}.editor-more-wrap>.editor-tool{position:relative}.editor-more-wrap>.editor-tool[data-on]:after{content:"";position:absolute;top:.45rem;right:.55rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--sage-dp);border:2px solid var(--card);box-sizing:content-box}.editor-more .editor-tool-options__head{text-align:left;padding:.3rem .8rem 0}.editor-more .editor-toggle{flex-direction:row;justify-content:flex-start;gap:.5rem;padding:.5rem .7rem;font-size:.85rem}.editor-tool--wide{display:none}.editor-more-wrap{position:relative;display:flex;flex-direction:column}.editor-more-wrap>.editor-tool{flex:1 1}.editor-more{position:absolute;right:.4rem;bottom:calc(100% + .4rem);z-index:30;min-width:12rem;display:flex;flex-direction:column;padding:.3rem;max-height:calc(100dvh - 8rem);overflow-y:auto}.editor-more button{text-align:left;padding:.7rem .8rem;border:0;background:none;font:inherit;color:var(--ink);border-radius:10px}.editor-more button:hover{background:var(--sage-tint)}.editor-more .editor-segmented button{padding:.3rem .4rem;border:1px solid var(--sand-2);background:none;font-size:.75rem;text-align:center}.editor-more .editor-segmented button[aria-pressed=true]{background:var(--sage-tint);color:var(--sage-dp);border-color:var(--sage)}.editor-more .editor-toggle[aria-pressed=true],.editor-more .editor-toggle[aria-pressed=true]:hover{background:var(--sage-tint);color:var(--sage-dp)}.editor-more .editor-mirror-centre{padding:.5rem .7rem;font-size:.75rem;font-weight:800;color:var(--sage-dp);text-decoration:underline;cursor:pointer}.editor-side{display:none}.editor-size{width:min(100%,30rem);display:flex;flex-direction:column;gap:.9rem;padding:1.2rem}.editor-size h1{margin:0;font-size:1.2rem}.editor-size__options{display:flex;flex-wrap:wrap;gap:.4rem}.editor-size__custom{display:flex;gap:.8rem}.editor-size__custom label{display:flex;flex-direction:column;gap:.2rem;font-size:.82rem}.editor-size__custom input{width:6.5rem;font:inherit;font-size:max(16px,1em);padding:.4rem .5rem}.editor-size__facts{margin:0;color:var(--ink-2);font-size:.85rem}.editor-size__boards{display:block;width:100%;max-height:11rem}.editor-size__board{fill:var(--sand-2)}.editor-size__peg{fill:var(--ink-3)}.editor-size__area{fill:none;stroke:var(--sage-dp);stroke-width:2;vector-effect:non-scaling-stroke}.editor-tool-options__size{margin:0;font-size:.75rem;font-weight:700;text-align:center;color:var(--ink)}.editor-resize-open{font-size:.75rem}.editor-resize__scrim{position:fixed;inset:0;z-index:45;background:rgba(70,61,53,.25)}.editor-resize{position:fixed;z-index:46;left:50%;top:50%;transform:translate(-50%,-50%);width:min(calc(100% - 2rem),28rem);max-height:calc(100dvh - 2rem);overflow-y:auto;padding:1.1rem}.editor-resize__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}.editor-resize__head h2{margin:0;font-size:1.1rem}.editor-resize__body{display:flex;flex-direction:column;gap:.7rem}.editor-resize__body h3{margin:.4rem 0 0;font-size:.8rem;color:var(--ink-2)}.editor-resize__row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.editor-resize__lost{margin:0;color:var(--status-over);font-size:.85rem;font-weight:700}.editor-anchor{display:grid;grid-template-columns:repeat(3,36px);grid-gap:4px;gap:4px}.editor-anchor button{width:36px;height:36px;border:1px solid var(--sand-2);border-radius:8px;background:var(--card)}.editor-anchor button[aria-checked=true]{background:var(--sage);border-color:var(--sage-dp)}.editor-resize__place{display:grid;grid-template-columns:auto minmax(0,220px);justify-content:start;grid-gap:.8rem;gap:.8rem;align-items:start}.editor-resize__preview{position:relative;width:100%;aspect-ratio:1/1}.editor-resize__preview canvas{position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:10px;touch-action:none;cursor:-webkit-grab;cursor:grab}.editor-resize__preview canvas:active{cursor:-webkit-grabbing;cursor:grabbing}.editor-resize__preview canvas:focus-visible{outline:2px solid var(--sage-dp);outline-offset:2px}.editor-strip{gap:0;padding:.25rem 0 .25rem .3rem}.editor-strip__scroll{flex:1 1;min-width:0;display:flex;gap:0;overflow-x:auto;scrollbar-width:none}.editor-strip__scroll::-webkit-scrollbar{display:none}.editor-strip__scroll[data-more]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}.editor-strip__btn{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;min-width:40px;min-height:48px;padding:.2rem .3rem;border:0;border-radius:10px;background:none;color:var(--ink);font:inherit;font-size:.75rem}.editor-strip__btn>span{white-space:nowrap}.editor-strip__btn:disabled{opacity:.4}.editor-strip .editor-strip__btn{min-width:38px;padding:.2rem .15rem}.editor-strip .editor-strip__done{min-width:48px;margin-left:.15rem;border-left:1px solid var(--sand-2);border-radius:0;color:var(--sage-dp)}.editor-reference-toggle{position:absolute;top:26px;right:26px;z-index:3;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--sand-2);border-radius:50%;background:var(--card);color:var(--ink);box-shadow:var(--sh-1)}.editor-reference-toggle svg{width:20px;height:20px}.editor-reference-toggle[aria-pressed=false]{color:var(--ink-2);opacity:.75}.editor-reference{left:auto;right:1rem;top:5rem;transform:none;width:min(calc(100% - 2rem),22rem)}.editor-reference__opacity{display:flex;flex-direction:column;gap:.2rem;font-size:.75rem;color:var(--ink-2)}.editor-reference__opacity input{width:100%;accent-color:var(--sage-dp)}.editor-reference__adjust{display:flex;flex-direction:column;gap:.4rem}.editor-reference__error{margin:0;color:var(--status-over);font-size:.75rem}.editor-reference-strip .editor-reference__opacity{flex:1 1;min-width:8rem;justify-content:center;padding:0 .5rem}.parts-scrim--clear{background:transparent}.editor-select-actions{display:flex;flex-direction:column;gap:.1rem}.editor-select-actions .editor-strip__btn{width:100%;min-height:44px;font-size:.75rem}.editor-select-actions .editor-strip__btn>span{max-width:100%;overflow:hidden;text-overflow:ellipsis}@media (min-width:860px){.editor{grid-template-columns:88px minmax(0,1fr) 342px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"top top top" "tools stage side" "tools palette side"}.editor-zoom{display:flex}.editor-tools{grid-template-columns:minmax(0,1fr);align-content:start;gap:.3rem;padding:.6rem .4rem;border-top:0;border-right:1px solid var(--sand-2);overflow-y:auto}.editor-tool{border-radius:14px}.editor-tool--wide{display:flex}.editor-tool--phone{display:none}.editor-side{grid-area:side;display:flex;flex-direction:column;gap:.8rem;min-height:0;overflow-y:auto;padding:.9rem;background:var(--card);border-left:1px solid var(--sand-2)}.editor-colours{position:absolute;left:88px;right:342px;bottom:64px;max-height:55vh;border-radius:var(--r)}}.editor-kit{display:flex;flex-direction:column;gap:.8rem}.editor-kit__actions{display:flex;flex-wrap:wrap;gap:.5rem}.editor-kit__empty,.editor-kit__note{margin:0;font-size:.85rem;color:var(--ink-2)}.open-in-editor{align-self:flex-start}.float-basket{position:fixed;right:1rem;bottom:calc(4.6rem + env(safe-area-inset-bottom));z-index:5;display:inline-flex;align-items:center;gap:.4rem;padding:.6rem .9rem;border-radius:999px;background:var(--ink);color:var(--card);font-weight:800;font-size:.9rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-decoration:none;box-shadow:var(--sh-2)}@media (min-width:860px){.float-basket{display:none}}.screen.screen--bleed{padding:0;gap:0}.scrollarea.scrollarea--page{-webkit-mask-image:none;mask-image:none}.landing-sec{padding:1.6rem 1rem .4rem}.landing-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.landing-sec-head h2{font-family:var(--font-display);font-size:1.45rem;font-weight:var(--display-weight);letter-spacing:-.01em}.landing-sec-head a{font-size:1.15rem;font-weight:800;color:var(--sage-dp);white-space:nowrap;text-decoration:none}.hero{position:relative;overflow:hidden;padding:1.6rem 1rem 1.4rem;background:var(--dots),radial-gradient(60% 75% at 100% 0,rgba(227,176,165,.42) 0,rgba(227,176,165,0) 70%),radial-gradient(50% 65% at 0 100%,rgba(183,207,220,.5) 0,rgba(183,207,220,0) 70%),var(--butter-tint);background-size:var(--dots-size),auto,auto,auto}.hero-motif{position:absolute;z-index:0;pointer-events:none;opacity:.3;height:auto}.hero-motif--heart{width:min(52%,18rem);right:-14%;bottom:-20%;transform:rotate(12deg)}.hero-motif--cherry{width:30%;right:-6%;top:-7%;transform:rotate(14deg)}.hero-grid{position:relative;z-index:1;display:grid;grid-gap:1.4rem;gap:1.4rem;align-items:center}.hero-copy .eyebrow{display:block;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blush-dp)}.hero-title{font-family:var(--font-display);font-size:2.2rem;line-height:1.08;font-weight:var(--display-weight);letter-spacing:-.01em;text-wrap:balance;margin:.35rem 0 .6rem}.hero-title em{font-style:normal;color:var(--blush-dp)}.hero-lead{color:var(--ink-2);font-size:1rem;max-width:34ch}.hero-cta{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.hero-cta .step-back,.hero-cta .step-next{text-decoration:none;display:inline-flex;align-items:center}.hero-ghost{background:var(--card);box-shadow:var(--sh-1)}.hero-facts{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem 1rem;margin-top:1.1rem;padding:0;font-size:.82rem;font-weight:700;color:var(--ink)}.hero-facts li{display:inline-flex;align-items:center;gap:.35rem}.hero-facts .bead{width:.7rem;height:.7rem}.reveal{position:relative;aspect-ratio:3/2;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-2);background:var(--sand-2);touch-action:pan-y}.reveal canvas,.reveal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% var(--fy,50%);display:block}.reveal canvas{-webkit-clip-path:inset(0 0 0 var(--x,50%));clip-path:inset(0 0 0 var(--x,50%))}.reveal-handle{top:0;bottom:0;width:2px;box-shadow:0 0 0 1px rgba(0,0,0,.12);transform:translateX(-1px)}.reveal-handle,.reveal-knob{position:absolute;left:var(--x,50%);background:var(--card)}.reveal-knob{top:50%;width:46px;height:46px;border-radius:50%;color:var(--ink);box-shadow:var(--sh-2);transform:translate(-50%,-50%);display:grid;place-items:center}.reveal-knob svg{width:22px;height:22px}.reveal:focus-within .reveal-knob{outline:2.5px solid var(--sage-dp);outline-offset:2px}.reveal-lbl{position:absolute;bottom:.7rem;padding:.25rem .6rem;border-radius:999px;background:rgba(255,252,248,.88);color:var(--ink);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.reveal-lbl--l{left:.7rem}.reveal-lbl--r{right:.7rem}.reveal input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.reveal-foot{align-items:center;justify-content:space-between;gap:.6rem;margin-top:.75rem}.reveal-foot,.reveal-pick{display:flex;flex-wrap:wrap}.reveal-pick{gap:.45rem}.reveal-pick button{font:inherit;font-size:.82rem;font-weight:800;color:var(--ink-2);display:inline-flex;align-items:center;gap:.45rem;padding:.25rem .7rem .25rem .25rem;border:0;border-radius:999px;background:var(--card);box-shadow:var(--sh-1);cursor:pointer;transition:transform .15s,box-shadow .15s}.reveal-pick button:hover{transform:translateY(-1px);box-shadow:var(--sh-2)}.reveal-pick button[aria-pressed=true]{color:var(--ink);outline:2.5px solid var(--blush-dp);outline-offset:1px}.reveal-pick button:focus-visible{outline:2.5px solid var(--sage-dp);outline-offset:2px}.reveal-pick img{width:30px;height:30px;border-radius:50%;object-fit:cover;object-position:50% var(--fy,50%);display:block}.reveal-cta{font-size:.86rem;padding:.55rem .9rem;text-decoration:none}@media (prefers-reduced-motion:reduce){.reveal-pick button{transition:none}}@media (min-width:860px){.landing-sec{padding-left:1.9rem;padding-right:1.9rem;padding-top:2.2rem}.landing-sec-head h2{font-size:1.8rem}.hero{padding:2.6rem 1.9rem 2.4rem}.hero-grid{grid-template-columns:1.05fr 1fr;gap:2.6rem}.hero-title{font-size:3.4rem}.hero-lead{font-size:1.1rem}.reveal-wrap{max-width:600px;justify-self:end;width:100%}.hero-motif--heart{width:20%;right:auto;left:max(38%,26rem);bottom:-26%}.hero-motif--cherry{width:15%;right:30%;top:-9%}}.ribbon-card{display:block;position:relative;border-radius:var(--r);overflow:hidden;background:var(--card);box-shadow:var(--sh-1);color:inherit;text-decoration:none;transition:transform .18s,box-shadow .18s}.ribbon-card:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}.ribbon{display:flex;height:54px;background:var(--sand-2)}.ribbon i{flex:1 1;display:block}.ribbon-copy{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem 1rem}.ribbon-copy b{display:block;font-family:var(--font-display);font-weight:var(--display-weight);font-size:1.1rem}.ribbon-copy span{color:var(--ink-2);font-size:.86rem}.ribbon-copy .ribbon-go{font-size:1.15rem;font-weight:800;color:var(--sage-dp);white-space:nowrap}.sets{display:grid;grid-gap:.8rem;gap:.8rem}.set-tile{display:grid;grid-template-rows:1fr auto auto;background:var(--card);border-radius:var(--r);border:1px solid var(--tile-edge);box-shadow:var(--tile-sh);overflow:hidden;transition:transform .18s,box-shadow .18s}.set-tile-link{display:grid;grid-template-rows:auto 1fr;color:inherit;text-decoration:none}@media (hover:hover){.set-tile:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}}.set-art{background:var(--t,var(--tile-ground));aspect-ratio:4/3;display:grid;place-items:center;padding:.8rem;overflow:hidden;min-height:0}.set-art img{width:100%;height:100%;object-fit:contain;display:block}.set-body{padding:.9rem 1rem .4rem;display:grid;grid-gap:.35rem;gap:.35rem}.set-body h3{font-family:var(--font-display);font-size:1.1rem;font-weight:var(--display-weight)}.set-who{color:var(--ink-2);font-size:.86rem}.set-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:0 1rem 1rem}.set-price{font-family:var(--font-price);font-size:1.25rem;font-weight:var(--display-weight);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem}.set-price .product-sold-out{font-size:.76rem;margin-left:0}.set-tile .tile-plus{width:40px;height:40px}.set-tile .tile-plus svg{width:20px;height:20px}.set-cap{padding:0 1rem .9rem}@media (prefers-reduced-motion:reduce){.ribbon-card,.set-tile{transition:none}.ribbon-card:hover,.set-tile:hover{transform:none}}@media (min-width:860px){.sets{grid-template-columns:repeat(3,1fr)}}.landing-sec--sage{background:var(--sage-tint);padding-top:1.8rem;padding-bottom:1.7rem;margin-top:1.3rem}.steps{list-style:none;padding:0;grid-gap:.8rem}.step,.steps{display:grid;gap:.8rem}.step{grid-template-columns:auto 1fr;grid-gap:.8rem;align-items:start;background:var(--card);border-radius:18px;padding:.9rem 1rem;box-shadow:var(--sh-1)}.step-num{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),inset 2px 3px 4px rgba(255,255,255,.55)}.step h3,.step-num{font-family:var(--font-display);font-weight:var(--display-weight)}.step h3{font-size:1.05rem}.step p{color:var(--ink-2);font-size:.88rem}.story{display:grid;grid-gap:1rem;gap:1rem;align-items:center;background:var(--card);border-radius:var(--r);padding:1.4rem 1.2rem;box-shadow:var(--sh-1)}.story-mark{width:92px;height:92px}.story h2{font-family:var(--font-display);font-size:1.5rem;font-weight:var(--display-weight);margin-bottom:.3rem}.story p{color:var(--ink-2);font-size:.95rem;max-width:68ch;text-wrap:pretty}.story p+p{margin-top:.5rem;text-wrap:balance}.story p+p:lang(zh){word-break:keep-all}.landing-footer{margin-top:1.6rem;padding:1.6rem 1rem calc(2rem + env(safe-area-inset-bottom));background:var(--dots),var(--sand-2);background-size:var(--dots-size),auto;display:grid;grid-gap:1.2rem;gap:1.2rem}@media (max-width:859px){.landing-footer{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}}.landing-footer h4{font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:.45rem}.landing-footer h4 a{color:inherit;text-decoration:none}.landing-footer ul{list-style:none;padding:0;display:grid;grid-gap:.3rem;gap:.3rem;font-size:.9rem;font-weight:700}.landing-footer ul a{color:var(--ink);text-decoration:none}.landing-fine{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:1rem;font-size:.78rem;color:var(--ink)}.landing-fine img{height:26px}.landing-footer .lang-toggle{background:var(--card)}.landing-footer .lang-menu{left:0;right:auto}@media (min-width:860px){.landing-sec--sage{padding-top:2.2rem;padding-bottom:2rem}.steps{grid-template-columns:repeat(3,1fr)}.story{grid-template-columns:auto 1fr;gap:1.6rem;padding:1.8rem 2rem}.landing-footer{grid-template-columns:repeat(3,1fr);padding:2rem 1.9rem 2.4rem}}.fly{position:fixed;z-index:30;width:18px;height:18px;background:var(--c,var(--blush));box-shadow:inset 0 -2px 4px rgba(0,0,0,.16);pointer-events:none}.fly,.fly:after{border-radius:50%}.fly:after{content:"";position:absolute;inset:34%;background:var(--card)}.confetti{position:fixed;z-index:30;width:10px;height:10px;border-radius:50%;background:var(--c,var(--blush));box-shadow:inset 0 -1px 2px rgba(0,0,0,.16);pointer-events:none}.confirm{display:inline-grid;place-content:center;position:relative;overflow:hidden;white-space:nowrap;transition:transform var(--t-press) var(--ease-out)}.confirm:not(:disabled):active{transform:scale(.97)}.confirm-busy,.confirm-check,.confirm-label{transition:opacity var(--t-state) var(--ease-out)}.confirm-busy,.confirm-check{position:absolute;inset:0;margin:auto;opacity:0;pointer-events:none}.confirm-busy{display:flex;justify-content:center;align-items:center;gap:5px}.confirm-busy i{width:8px;height:8px;border-radius:50%;background:var(--card);opacity:.6}.confirm-check{width:22px;height:22px}.confirm-check path{stroke-dasharray:20;stroke-dashoffset:20}.confirm[data-phase=busy] .confirm-label{opacity:0}.confirm[data-phase=busy] .confirm-busy{opacity:1}.confirm[data-phase=busy] .confirm-busy i{animation:confirm-hop var(--t-busy) ease-in-out infinite}.confirm[data-phase=busy] .confirm-busy i:nth-child(2){animation-delay:calc(var(--t-busy) / 6);background:var(--butter)}.confirm[data-phase=busy] .confirm-busy i:nth-child(3){animation-delay:calc(var(--t-busy) / 3);background:var(--blush)}@keyframes confirm-hop{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}.confirm[data-phase=check],.confirm[data-phase=collapse]{padding-left:0;padding-right:0}.confirm[data-phase=check] .confirm-label,.confirm[data-phase=collapse] .confirm-label{opacity:0}.confirm[data-phase=check] .confirm-check{opacity:1}.confirm[data-phase=check] .confirm-check path{animation:check-draw var(--t-state) var(--ease-out) forwards}.confirm[data-phase=done] .confirm-label:before{content:"✓ ";content:"✓ "/""}@media (prefers-reduced-motion:reduce){.confirm,.confirm-busy,.confirm-check,.confirm-label{transition:none}.confirm:not(:disabled):active{transform:none}.confirm[data-phase=busy] .confirm-busy i{animation:none}}.bump{animation:bump .4s ease}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.16)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.bump{animation:none}}.tile-add{position:relative;flex:none;display:inline-block}.tile-plus{width:34px;height:34px;border:0;padding:0;border-radius:50%;background:var(--sage-dp);color:var(--card);display:grid;place-items:center;box-shadow:var(--sh-1);cursor:pointer;transition:transform var(--t-press) var(--ease-out)}.tile-plus svg{width:18px;height:18px;grid-area:1/1}.tile-check-icon{opacity:0;transition:opacity var(--t-state) var(--ease-out)}.tile-check-icon path{stroke-dasharray:20;stroke-dashoffset:0}.tile-plus-icon{transition:opacity var(--t-state) var(--ease-out)}.tile-plus[data-state=check] .tile-plus-icon{opacity:0}.tile-plus[data-state=check] .tile-check-icon{opacity:1}.tile-plus[data-state=check] .tile-check-icon path{animation:check-draw var(--t-state) var(--ease-out) forwards}@keyframes check-draw{0%{stroke-dashoffset:20}to{stroke-dashoffset:0}}.tile-plus:not([aria-disabled=true]):hover{transform:scale(1.08)}.tile-plus:not([aria-disabled=true]):active{transform:scale(.97)}.tile-plus[aria-disabled=true]{background:var(--ink-3);cursor:not-allowed;transform:none}.tile-count{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--ink);color:var(--card);font-size:.75rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:grid;place-items:center;pointer-events:none}@media (prefers-reduced-motion:reduce){.tile-plus{transition:none}.tile-plus:not([aria-disabled=true]):active,.tile-plus:not([aria-disabled=true]):hover{transform:none}.tile-check-icon,.tile-plus-icon{transition:none}.tile-plus[data-state=check] .tile-check-icon path{animation:none;stroke-dashoffset:0}}.screen-sub{color:var(--ink-2);font-size:.9rem}.shelf-sec{padding-top:.4rem}.shelf-sec+.shelf-sec{padding-top:1.6rem}.shelf-sec h2{font-family:var(--font-display);font-size:1.3rem;font-weight:var(--display-weight);margin-bottom:.7rem}.shelf-helper{display:flex;align-items:center;gap:.6rem;background:var(--sage-tint);color:var(--ink);border-radius:16px;padding:.8rem 1rem;font-size:.9rem;margin-bottom:.9rem}.shelf-helper .bead{width:1.1rem;height:1.1rem;flex:none}.shelf-helper .bead:after{background:var(--sage-tint)}.shelf-helper b{font-family:var(--font-display);font-weight:var(--display-weight)}.tiles{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.7rem;gap:.7rem}.tiles--sets{grid-template-columns:1fr;gap:.8rem}.tile{background:var(--card);border-radius:18px;border:1px solid var(--tile-edge);box-shadow:var(--tile-sh);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}@media (hover:hover){.tile:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}}.tile-art{aspect-ratio:5/4;background:var(--t,var(--tile-ground));display:grid;place-items:center;overflow:hidden;padding:.6rem}.tile--set .tile-art{aspect-ratio:4/3;padding:.8rem}.tile-img{width:100%;height:100%;object-fit:contain;display:block}.tile-body{padding:.65rem .75rem .75rem;display:flex;flex-direction:column;gap:.35rem;flex:1 1 auto}.tile-title{font-size:.9rem;font-weight:800;line-height:1.25;overflow-wrap:break-word}.tile--set .tile-title{font-family:var(--font-display);font-weight:var(--display-weight);font-size:1.1rem}.tile-who{color:var(--ink-2);font-size:.875rem;flex:1 1 auto}.tile-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto}.tile-price{font-family:var(--font-price);font-size:1.05rem;font-weight:var(--display-weight);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem}.tile--set .tile-price{font-size:1.25rem}.tile--set .tile-plus{width:40px;height:40px}.tile--set .tile-plus svg{width:20px;height:20px}.tile-cap{font-size:.76rem;color:var(--ink-2)}.tile .product-sold-out{font-size:.76rem;margin-left:0}.tile .product-colour,.tile .product-variants{margin-top:0}@media (prefers-reduced-motion:reduce){.tile{transition:none}.tile:hover{transform:none}}@media (min-width:860px){.screen-sub{font-size:1rem}.shelf-sec h2{font-size:1.6rem}.tiles{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.9rem}.tiles--sets{grid-template-columns:repeat(3,1fr)}}.subtabs{display:inline-flex;align-self:flex-start;flex:none;background:var(--sand-2);border-radius:999px;padding:3px}.subtabs a{padding:.45rem 1rem;border-radius:999px;font-weight:800;font-size:.9rem;color:var(--ink-2);text-decoration:none}.subtabs a[aria-current=page]{background:var(--card);color:var(--ink);box-shadow:var(--sh-1)}.families{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.7rem;gap:.7rem}.family{font:inherit;text-align:left;border:0;cursor:pointer;background:var(--cloud,var(--card));border-radius:18px;box-shadow:var(--sh-1);padding:.4rem;min-height:104px;display:flex;align-items:flex-end;transition:transform .15s}@media (hover:hover){.family:hover{transform:translateY(-2px)}}.family[aria-pressed=true]{outline:3px solid var(--ink);outline-offset:-3px}.family-name{max-width:100%;padding:.2rem .45rem .25rem;border-radius:8px;background:rgba(255,252,248,.86)}.family-name b{display:block;font-size:.75rem;font-weight:800;line-height:1.2}.family-name small{color:var(--ink-2);font-size:.75rem;display:block}.family-heading{font-family:var(--font-display);font-size:1.2rem;font-weight:var(--display-weight);margin-top:.4rem}.family-heading span{color:var(--ink-2);font-weight:700;font-size:.9rem}.colour-picker--families .refill-swatch .bead{width:36px;height:36px}@media (prefers-reduced-motion:reduce){.family{transition:none}.family:hover{transform:none}}@media (min-width:860px){.families{grid-template-columns:repeat(5,1fr)}.family{padding:.55rem}.family-name{padding:.3rem .55rem .35rem;border-radius:10px}.family-name b{font-size:.9rem}.family-name small{font-size:.75rem;margin-top:.1rem}}.shelf-sec--ribbon{padding-top:1.6rem}.basket-badge-total,.float-basket-total{font-family:var(--font-price);font-weight:var(--display-weight)}.basket-badge-total:before,.float-basket-total:before{content:"·";margin-right:.35rem;opacity:.7}@media (max-width:859px){.basket-badge-total{display:none}}.basket-group{display:flex;flex-direction:column;gap:.6rem}.basket-group-title{margin:0;padding-left:.2rem;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.basket-line{display:grid;grid-template-columns:56px minmax(0,1fr) auto;grid-gap:.6rem;gap:.6rem;align-items:center;padding:.7rem}.basket-line-thumb{width:56px;height:56px;border-radius:12px;background:var(--sand);display:grid;place-items:center;overflow:hidden}.basket-line-thumb img{width:100%;height:100%;object-fit:contain;display:block}.basket-line-thumb--bead .bead{width:2rem;height:2rem}.basket-line-thumb--bead .bead:after{background:var(--sand)}.basket-line-what{min-width:0;display:flex;flex-direction:column;gap:.15rem}.basket-line .basket-kit-toggle{align-self:flex-start}.basket-kit-head{display:flex;align-items:center;gap:.35rem;min-width:0}.basket-line-sub{font-size:.78rem;color:var(--ink-2)}.basket-line-remove{align-self:flex-start;margin-top:.2rem;padding:0;border:0;background:none;font:inherit;font-size:.78rem;font-weight:700;color:var(--ink-2);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.basket-line-remove:focus-visible,.basket-line-remove:hover{color:var(--ink)}.basket-line-right{display:grid;justify-items:end;grid-gap:.35rem;gap:.35rem}.basket-line-right .basket-row-price{font-family:var(--font-price);font-weight:var(--display-weight);font-size:1.05rem;min-width:0}.basket-line-right .qty-max-note{text-align:right}.basket-line-full{grid-column:1/-1}@media (min-width:860px){.basket-line{grid-template-columns:72px minmax(0,1fr) auto;padding:.8rem}.basket-line-thumb{width:72px;height:72px}}.basket-layout{align-items:stretch}.basket-layout,.basket-lines{display:flex;flex-direction:column;gap:1rem}.basket-lines{min-width:0}.basket-summary{position:-webkit-sticky;position:sticky;bottom:0;z-index:2;display:grid;grid-gap:.6rem;gap:.6rem;padding:1rem 1.1rem;box-shadow:var(--sh-2)}.basket-summary-row{display:flex;justify-content:space-between;font-size:.86rem;color:var(--ink-2)}.basket-summary>.tot{margin-top:0;padding-top:.6rem;border-top:1px solid var(--sand-2)}.basket-summary>.tot b{font-family:var(--font-price);font-weight:var(--display-weight);font-size:1.5rem}.basket-minimum{display:grid;grid-gap:.4rem;gap:.4rem}.basket-meter{height:8px;border-radius:99px;background:var(--sand);overflow:hidden}.basket-meter i{display:block;height:100%;width:var(--w,0);background:var(--sage);border-radius:99px}.basket-summary .basket-below-minimum,.basket-summary .orders-closed{background:none;box-shadow:none;padding:0;margin:0;font-size:.8rem}.basket-minimum-reached{font-size:.8rem;font-weight:700;color:var(--sage-dp)}.basket-summary-note{font-size:.78rem;color:var(--ink-2);text-align:center}.basket-summary .basket-checkout-link{display:block;text-align:center}.scrollarea.scrollarea--summary{-webkit-mask-image:none;mask-image:none}@media (max-width:859px){.scrollarea.scrollarea--summary{scroll-padding-bottom:16rem}}@media (max-width:859px) and (max-height:600px){.basket-summary{position:static}}@media (min-width:860px){.basket-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start;max-width:1100px;width:100%;margin:0 auto}.basket-summary{position:-webkit-sticky;position:sticky;top:0;bottom:auto}}.meins{display:flex;flex-direction:column;gap:.9rem}.me-tabs{display:flex;gap:.25rem;padding:.25rem;border-radius:999px;background:var(--sand-2);align-self:flex-start}.me-tab{font:inherit;font-size:.86rem;font-weight:800;color:var(--ink-2);border:0;border-radius:999px;padding:.45rem .9rem;background:none;cursor:pointer}.me-tab.is-active{background:var(--card);color:var(--ink);box-shadow:var(--sh-1)}.me-panel{gap:.9rem}.me-panel,.me-signed-out{display:flex;flex-direction:column}.me-signed-out{padding:1rem 1.2rem;gap:.8rem;align-items:flex-start;font-size:.88rem;color:var(--ink-2)}html[data-door-transition] .app>.screen,html[data-door-transition] .flow-app .flow{view-transition-name:door-page}html[data-door-transition]::view-transition-new(root),html[data-door-transition]::view-transition-old(root){animation:none;mix-blend-mode:normal}html[data-door-transition]::view-transition-group(door-page){animation:none;overflow:clip}html[data-door-transition]::view-transition-new(door-page),html[data-door-transition]::view-transition-old(door-page){width:100%;height:100%;object-fit:none;object-position:top center;mix-blend-mode:normal}html[data-door-transition]::view-transition-old(door-page){animation:page-out var(--t-page-out) ease-in both}html[data-door-transition]::view-transition-new(door-page){animation:page-in var(--t-page-in) var(--ease-out) var(--t-page-lead) both}@keyframes page-out{to{opacity:0}}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}}.basket-badge{view-transition-name:basket-badge}.float-basket{view-transition-name:basket-pill}@media (prefers-reduced-motion:reduce){::view-transition-new(basket-badge),::view-transition-new(basket-pill),::view-transition-new(root),::view-transition-old(basket-badge),::view-transition-old(basket-pill),::view-transition-old(root),html[data-door-transition]::view-transition-new(door-page),html[data-door-transition]::view-transition-old(door-page){animation:none}}.crash{width:100%;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem}.crash-card{width:min(100%,34rem);display:flex;flex-direction:column;gap:.75rem;background:var(--card);border-radius:var(--r);box-shadow:var(--sh-2);padding:1.6rem 1.5rem 1.4rem}.crash-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blush-dp)}.crash-card h1{font-family:var(--font-display);font-size:1.7rem;font-weight:var(--display-weight);letter-spacing:-.01em;line-height:1.2;overflow-wrap:anywhere}.crash-lead{max-width:60ch;font-size:.9rem;line-height:1.6;color:var(--ink-2)}.crash-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.1rem;margin-top:.3rem}.crash-home{font-weight:700;font-size:.9rem;color:var(--sage-dp);text-decoration:underline;text-underline-offset:.18em}.crash-detail-label{margin-top:.9rem;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}.crash-detail{margin:0;padding:.7rem .85rem;border-radius:12px;background:var(--sand);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;line-height:1.5;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:all;-moz-user-select:all;user-select:all}html[data-step-dir] .flow-pane{view-transition-name:wizard-step}html[data-step-dir] .rail li.now{view-transition-name:rail-now}html[data-step-dir=forward]{--step-out-x:-28px;--step-in-x:40px}html[data-step-dir=back]{--step-out-x:28px;--step-in-x:-40px}html[data-step-dir]::view-transition-new(wizard-step),html[data-step-dir]::view-transition-old(wizard-step){mix-blend-mode:normal}html[data-step-dir]::view-transition-old(wizard-step){animation:step-out var(--t-step-out) ease-in both}html[data-step-dir]::view-transition-new(wizard-step){animation:step-in var(--t-step) var(--ease-out) var(--t-step-lead) both}@keyframes step-out{0%{transform:translateX(0);opacity:1}to{transform:translateX(var(--step-out-x));opacity:0}}@keyframes step-in{0%{transform:translateX(var(--step-in-x));opacity:0}to{transform:translateX(0);opacity:1}}html[data-step-dir]::view-transition-group(rail-now){animation-duration:var(--t-rail);animation-timing-function:var(--ease-out)}@media (prefers-reduced-motion:reduce){html[data-step-dir]::view-transition-group(rail-now),html[data-step-dir]::view-transition-new(wizard-step),html[data-step-dir]::view-transition-old(wizard-step){animation:none}}.hero-pool{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.pool-bead{opacity:.55;will-change:transform;box-shadow:inset 0 -10px 24px rgba(0,0,0,.08);animation:pool-drift var(--pool-d) ease-in-out infinite alternate}.pool-bead,.pool-bead:after{position:absolute;border-radius:50%}.pool-bead:after{content:"";inset:34%;background:var(--butter-tint)}.pool-bead--1{background:var(--blush);width:220px;height:220px;left:8%;top:-12%;--dx:40px;--dy:60px;--pool-d:38s}.pool-bead--2{background:var(--sky);width:180px;height:180px;left:70%;top:60%;--dx:-50px;--dy:-30px;--pool-d:31s}.pool-bead--3{background:var(--butter);width:150px;height:150px;left:55%;top:-8%;--dx:30px;--dy:50px;--pool-d:27s}.pool-bead--4{background:var(--sage);width:130px;height:130px;left:85%;top:18%;--dx:-30px;--dy:40px;--pool-d:44s}.pool-bead--5{background:var(--blush);width:120px;height:120px;left:28%;top:72%;--dx:40px;--dy:-30px;--pool-d:35s}@keyframes pool-drift{0%{transform:translate(0) rotate(0deg)}to{transform:translate(var(--dx),var(--dy)) rotate(18deg)}}.landing-footer,.landing-footer>:not(.footer-beads){position:relative}.footer-beads{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.drop-bead{width:12px;height:12px;background:var(--c);box-shadow:inset 0 -2px 3px rgba(0,0,0,.16)}.drop-bead,.drop-bead:after{position:absolute;border-radius:50%}.drop-bead:after{content:"";inset:32%;background:var(--card)}@media (prefers-reduced-motion:reduce){.pool-bead{animation:none;will-change:auto}}.bead-build{position:absolute;top:0;left:0;display:block;pointer-events:none}.stagepane>.card[data-build]{position:relative}.bead-stage--over{position:absolute;inset:0;pointer-events:none}.bead-pills{grid-area:zoom;height:var(--pill-w)}@media (min-width:600px){.bead-pills{display:none}}.order-kit-thumb{position:relative;flex:none;width:2.6rem;height:2.6rem;border-radius:calc(var(--r) - .4rem);overflow:hidden}.order-kit-thumb>.order-kit-thumbnail{display:block;width:100%;height:100%}@media (prefers-reduced-motion:reduce){.bead-build,.bead-stage{display:none}}