@layer components{.gift-grid{--twine:color-mix(in srgb, var(--gp-copper) 50%, var(--gp-canvas))}.gift-slot{padding-top:1.6rem;position:relative}.gift-slot:before{content:"";border-top:2px dashed var(--twine);opacity:.85;position:absolute;top:.35rem;left:-.5rem;right:-.5rem}.gift-tag{transform-origin:50% 0;position:relative}.gift-tag:hover{animation:1.4s ease-in-out shop-swing}@keyframes shop-swing{0%{rotate:none}18%{rotate:2.4deg}42%{rotate:-1.8deg}66%{rotate:.9deg}84%{rotate:-.4deg}to{rotate:none}}.gift-tag-loop{z-index:1;border-left:2px solid var(--twine);pointer-events:none;width:0;height:1.5rem;position:absolute;top:-1.25rem;left:50%;transform:translate(-1px)}.gift-tag-hole{z-index:2;background:var(--gp-canvas);width:.85rem;height:.85rem;box-shadow:inset 0 1px 2px #1c191659, 0 0 0 2px color-mix(in srgb, var(--gp-copper) 30%, transparent);pointer-events:none;border-radius:50%;margin-left:-.425rem;position:absolute;top:.5rem;left:50%}.gift-tag-body{border:1px solid color-mix(in srgb, var(--gp-copper) 18%, transparent);background:linear-gradient(180deg, var(--gp-surface), color-mix(in srgb, var(--gp-peach) 55%, var(--gp-surface)));transition:box-shadow .5s var(--gp-ease), translate .5s var(--gp-ease);border-radius:1.1rem 1.1rem 1rem 1rem;padding:1.55rem .55rem .7rem;position:relative;box-shadow:0 10px 26px -12px #1c191638,inset 0 0 0 1px #ffffff80}.gift-tag:hover .gift-tag-body{translate:0 -3px;box-shadow:0 22px 36px -14px #1c19164d,inset 0 0 0 1px #ffffff80}.gift-tag-photo{box-shadow:0 0 0 1px color-mix(in srgb, var(--gp-copper) 14%, transparent);border-radius:.8rem;position:relative;overflow:hidden}.gift-price{z-index:2;background:var(--gp-surface);border:1.5px dashed color-mix(in srgb, var(--gp-copper) 55%, transparent);width:fit-content;font-family:var(--gp-font-display);color:var(--gp-ink);white-space:nowrap;border-radius:.35rem;margin:-.85rem 0 0 .55rem;padding:.2rem .7rem;font-size:1.05rem;line-height:1.25;position:relative;rotate:-2.5deg;box-shadow:0 4px 10px -4px #1c191659}.gift-seal{z-index:2;width:2.9rem;height:2.9rem;color:var(--gp-on-copper);background:radial-gradient(circle at 35% 28%, color-mix(in srgb, var(--gp-copper) 70%, #fff), var(--gp-copper) 55%, var(--gp-copper-dark));box-shadow:0 4px 10px -3px #1c191680, inset 0 0 0 2px color-mix(in srgb, var(--gp-on-copper) 45%, transparent);text-align:center;border-radius:50%;place-items:center;font-size:.7rem;font-weight:700;line-height:1;display:grid;position:absolute;top:.5rem;left:.5rem;rotate:-8deg}.awning{--awn-a:var(--gp-primary);--awn-b:var(--gp-peach);z-index:3;transform-origin:50% 0;background:repeating-linear-gradient(90deg, var(--awn-a) 0 1.6rem, var(--awn-b) 1.6rem 3.2rem);filter:drop-shadow(0 6px 5px #1c191659);height:1.9rem;transition:transform .5s var(--gp-ease);position:absolute;top:0;left:0;right:0;-webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - .7rem) no-repeat,radial-gradient(circle at 50% 0,#000 .8rem,#0000 calc(.8rem + .5px)) bottom/1.6rem .8rem repeat-x;mask:linear-gradient(#000 0 0) top/100% calc(100% - .7rem) no-repeat,radial-gradient(circle at 50% 0,#000 .8rem,#0000 calc(.8rem + .5px)) bottom/1.6rem .8rem repeat-x}.awning--1{--awn-a:var(--gp-primary);--awn-b:var(--gp-peach)}.awning--2{--awn-a:var(--gp-copper);--awn-b:var(--gp-surface)}.awning--3{--awn-a:#d99a8c;--awn-b:var(--gp-surface)}.awning--4{--awn-a:#d7a93f;--awn-b:var(--gp-primary)}.shopfront:hover .awning{animation:1.2s ease-in-out shop-awning-sway}@keyframes shop-awning-sway{0%,to{transform:skew(0)}30%{transform:skew(-1.6deg)}65%{transform:skew(1deg)}}.shopfront-photo{filter:hue-rotate(var(--hue,0deg));transition:transform .9s var(--gp-ease), filter .6s}.shopfront:hover .shopfront-photo{filter:hue-rotate(var(--hue,0deg)) brightness(1.12) saturate(1.1);transform:scale(1.06)}.open-sign{z-index:4;background:var(--gp-surface);color:var(--gp-copper-dark);letter-spacing:.18em;text-transform:uppercase;transform-origin:50% -.9rem;border-radius:.3rem;padding:.15rem .7rem;font-size:.68rem;font-weight:700;position:absolute;top:1.7rem;right:1rem;rotate:3deg;box-shadow:0 4px 8px -3px #1c191680}.open-sign:before{content:"";border-left:1.5px solid var(--gp-surface);height:.9rem;position:absolute;top:-.9rem;left:50%}.shopfront:hover .open-sign{animation:1.4s ease-in-out shop-swing}.world-photo{transform-origin:70% 40%;animation:26s ease-in-out infinite alternate shop-kenburns}@keyframes shop-kenburns{0%{transform:scale(1)}to{transform:scale(1.07)}}.pill{border:1px solid color-mix(in srgb, var(--gp-ink) 16%, transparent);background:color-mix(in srgb, var(--gp-surface) 80%, transparent);color:var(--gp-ink);white-space:nowrap;transition:background .25s, border-color .25s, transform .25s var(--gp-ease);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .85rem;font-size:.82rem;line-height:1.25;display:inline-flex}.pill:hover{border-color:var(--gp-copper);transform:translateY(-1px)}.pill[aria-current=true]{background:var(--gp-primary);border-color:var(--gp-primary);color:var(--gp-on-primary)}.gift-card{max-width:22rem;transition:rotate .4s var(--gp-ease);margin:.4rem 0 .2rem;position:relative;rotate:-1.4deg}.gift-card:hover{rotate:none}.gift-card-tape{z-index:2;background:color-mix(in srgb, var(--gp-copper) 32%, transparent);width:4.2rem;height:1.4rem;margin-left:-2.1rem;position:absolute;top:-.6rem;left:50%;rotate:-3deg;box-shadow:0 1px 2px #1c191633}.gift-card-paper{font-family:var(--font-caveat), "Segoe Script", cursive;background:repeating-linear-gradient(to bottom, transparent 0 1.55rem, color-mix(in srgb, var(--gp-copper) 22%, transparent) 1.55rem calc(1.55rem + 1px)) 0 .7rem / 100% 100% no-repeat, linear-gradient(180deg, var(--gp-surface), color-mix(in srgb, var(--gp-peach) 60%, var(--gp-surface)));box-shadow:0 10px 22px -10px #1c191659, inset 0 0 0 1px color-mix(in srgb, var(--gp-copper) 16%, transparent);color:var(--gp-ink);border-radius:.3rem;padding:1.1rem 1.3rem .9rem;position:relative}.gift-card-to{font-size:1.35rem;font-weight:600;line-height:1.55rem}.gift-card-body{overflow-wrap:anywhere;white-space:pre-wrap;min-height:3.1rem;font-size:1.4rem;line-height:1.55rem}.gift-card-empty{color:color-mix(in srgb, var(--gp-ink) 40%, transparent)}.gift-card-sign{text-align:right;color:var(--gp-copper-dark);margin-top:.3rem;font-size:1.25rem;line-height:1.5rem}}.gp-engrave{text-align:center;white-space:nowrap;pointer-events:none;transform-origin:50%;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute}.gp-engrave-text{max-width:100%;display:block}.gp-engrave-font-serif .gp-engrave-text{font-family:var(--font-newsreader), Georgia, serif;font-weight:600}.gp-engrave-font-sans .gp-engrave-text{font-family:var(--font-dm-sans), system-ui, sans-serif;font-weight:600}.gp-engrave-font-script .gp-engrave-text{font-family:var(--font-caveat), "Comic Sans MS", cursive;font-weight:700}.gp-engrave-fx-gold .gp-engrave-text{background:linear-gradient(115deg, color-mix(in srgb, var(--gp-copper-dark) 62%, black) 0%, var(--gp-peach) 38%, var(--gp-copper) 56%, color-mix(in srgb, var(--gp-copper-dark) 62%, black) 100%);color:#0000;filter:drop-shadow(.025em 0 #2d1804b3)drop-shadow(-.025em 0 #2d1804b3)drop-shadow(0 .025em #2d1804b3)drop-shadow(0 -.025em #2d1804b3)drop-shadow(0 .06em .05em #00000059);-webkit-background-clip:text;background-clip:text}.gp-engrave-fx-deep .gp-engrave-text{color:color-mix(in srgb, var(--gp-ink) 84%, transparent);mix-blend-mode:multiply;text-shadow:0 .04em #fff6,0 -.025em #00000052}.gp-engrave-fx-cream .gp-engrave-text{color:var(--gp-surface);text-shadow:0 .04em .07em #0006}.gp-engrave-fx-script .gp-engrave-text{color:var(--gp-ink);mix-blend-mode:multiply;opacity:.88}.gp-engrave-empty{outline-offset:.3cqw;background:#0000001a;border-radius:.6cqw;outline:1.5px dashed #ffffffd9}.gp-engrave-empty .gp-engrave-text{opacity:.7;font-style:italic}@keyframes gp-engrave-settle{0%{opacity:.4;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.gp-engrave-live .gp-engrave-text{animation:gp-engrave-settle .22s var(--gp-ease)}@keyframes gp-wrap-pop{0%{transform:scale(.9)rotate(-3deg)}55%{transform:scale(1.04)rotate(1.5deg)}to{transform:scale(1)rotate(0)}}.gp-wrap-pop{animation:gp-wrap-pop .55s var(--gp-ease) both}@keyframes gp-wrap-card{0%{opacity:0;transform:translateY(14px)rotate(14deg)}to{opacity:1;transform:translateY(0)rotate(6deg)}}.gp-wrap-card{animation:gp-wrap-card .5s var(--gp-ease) .12s both;transform-origin:100% 100%}@keyframes gp-quiz-in{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:translate(0)}}.gp-quiz-in{animation:gp-quiz-in .38s var(--gp-ease) both}@keyframes gp-quiz-pick{0%{transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(1)}}.gp-quiz-pick{animation:gp-quiz-pick .3s var(--gp-ease)}@keyframes gp-quiz-bubble{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.gp-quiz-bubble{animation:gp-quiz-bubble .35s var(--gp-ease) .1s both}.gp-tilt{perspective:900px;border-radius:var(--gp-radius-card,1.25rem);position:relative}.gp-tilt>*{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .35s var(--gp-ease), box-shadow .5s;will-change:transform}.gp-tilt:after{content:"";z-index:3;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--gp-peach) 70%, white) 0%, transparent 58%);mix-blend-mode:soft-light;opacity:calc(var(--glow,0) * .85);transition:opacity .4s;position:absolute;inset:0}.gp-map-robin{z-index:20;pointer-events:none;width:4.4rem;transition:left 1.1s var(--gp-ease), top 1.1s var(--gp-ease);filter:drop-shadow(0 0 2px var(--gp-surface)) drop-shadow(0 0 2px var(--gp-surface)) drop-shadow(0 6px 6px #1c191659);position:absolute;transform:translate(-50%,-108%)}@media (min-width:640px){.gp-map-robin{width:5.6rem}}.gp-map-robin-hop{transform-origin:50% 80%;animation:1.1s ease-out gp-map-hop}@keyframes gp-map-hop{0%{transform:translateY(0)rotate(-6deg)}22%{transform:translateY(-14px)rotate(4deg)}44%{transform:translateY(0)rotate(-3deg)}66%{transform:translateY(-8px)rotate(3deg)}to{transform:translateY(0)rotate(0)}}.gf-chip{border:1px solid color-mix(in srgb, var(--gp-ink) 13%, transparent);background:var(--gp-surface);color:var(--gp-ink);white-space:nowrap;transition:background .25s, border-color .25s, color .25s, transform .25s var(--gp-ease), box-shadow .25s;border-radius:999px;align-items:center;gap:.4rem;padding:.38rem .8rem;font-size:.82rem;line-height:1.25;display:inline-flex}.gf-chip svg{color:var(--gp-copper-dark);opacity:.85}.gf-chip:hover{border-color:var(--gp-copper);background:color-mix(in srgb, var(--gp-peach) 55%, var(--gp-surface));transform:translateY(-1px)}.gf-chip[aria-current=true]{background:var(--gp-primary);border-color:var(--gp-primary);color:var(--gp-on-primary);box-shadow:0 6px 14px -8px var(--gp-primary)}.gf-chip[aria-current=true] svg{color:var(--gp-on-primary);opacity:1}.gf-row{color:var(--gp-ink);border-radius:.85rem;align-items:center;gap:.6rem;padding:.42rem .55rem;font-size:.88rem;transition:background .2s;display:flex}.gf-row:hover{background:color-mix(in srgb, var(--gp-peach) 55%, transparent)}.gf-row[aria-current=true]{background:color-mix(in srgb, var(--gp-peach) 80%, var(--gp-surface));font-weight:600}.gf-radio{border:1.5px solid color-mix(in srgb, var(--gp-ink) 28%, transparent);background:var(--gp-surface);border-radius:50%;flex-shrink:0;width:1rem;height:1rem;transition:border-color .2s,box-shadow .2s,background .2s}.gf-row:hover .gf-radio{border-color:var(--gp-copper)}.gf-row[aria-current=true] .gf-radio{border-color:var(--gp-primary);background:var(--gp-primary);box-shadow:inset 0 0 0 2.5px var(--gp-surface)}.gf-money{border:1px solid color-mix(in srgb, var(--gp-ink) 16%, transparent);background:var(--gp-surface);min-width:0;color:color-mix(in srgb, var(--gp-ink) 55%, transparent);border-radius:999px;flex:1;align-items:center;gap:.25rem;padding:0 .6rem;font-size:.82rem;transition:border-color .2s,box-shadow .2s;display:flex}.gf-money:focus-within{border-color:var(--gp-copper);box-shadow:0 0 0 3px color-mix(in srgb, var(--gp-copper) 18%, transparent)}.gf-money input{width:100%;min-width:0;color:var(--gp-ink);appearance:textfield;background:0 0;border:0;outline:none;padding:.4rem 0;font-size:.82rem}.gf-money input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.gf-money input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.gf-apply{border:1px solid color-mix(in srgb, var(--gp-ink) 16%, transparent);background:var(--gp-surface);width:2.1rem;height:2.1rem;color:var(--gp-ink);border-radius:50%;flex-shrink:0;place-items:center;transition:background .2s,color .2s,border-color .2s;display:grid}.gf-apply:hover,.gf-apply--on{background:var(--gp-primary);border-color:var(--gp-primary);color:var(--gp-on-primary)}.gf-switch-row{border-radius:.85rem;align-items:center;gap:.65rem;display:flex}.gf-switch{background:color-mix(in srgb, var(--gp-ink) 18%, transparent);border-radius:999px;flex-shrink:0;width:2.5rem;height:1.4rem;transition:background .3s;position:relative}.gf-switch>i{background:var(--gp-surface);width:1.1rem;height:1.1rem;transition:transform .3s var(--gp-ease);border-radius:50%;position:absolute;top:.15rem;left:.15rem;box-shadow:0 1px 3px #0000004d}.gf-switch-row[aria-current=true] .gf-switch{background:var(--gp-primary)}.gf-switch-row[aria-current=true] .gf-switch>i{transform:translate(1.1rem)}.gf-switch-row:hover .gf-switch{background:color-mix(in srgb, var(--gp-copper) 55%, transparent)}.gf-switch-row[aria-current=true]:hover .gf-switch{background:var(--gp-primary)}.gf-sort{white-space:nowrap;color:color-mix(in srgb, var(--gp-ink) 70%, transparent);border-radius:999px;flex-shrink:0;padding:.3rem .75rem;font-size:.8rem;transition:background .2s,color .2s}.gf-sort:hover{background:color-mix(in srgb, var(--gp-peach) 70%, transparent);color:var(--gp-ink)}.gf-sort[aria-current=true]{background:var(--gp-ink);color:var(--gp-canvas);font-weight:500}.gf-applied{background:color-mix(in srgb, var(--gp-peach) 75%, var(--gp-surface));border:1px solid color-mix(in srgb, var(--gp-copper) 35%, transparent);color:var(--gp-ink);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .65rem .3rem .8rem;font-size:.8rem;transition:background .2s,border-color .2s;display:inline-flex}.gf-applied:hover{background:color-mix(in srgb, var(--gp-copper) 18%, var(--gp-surface));border-color:var(--gp-copper)}.gf-scroll{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--gp-copper) 40%, transparent) transparent}@keyframes gf-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.gf-sheet[data-state=open]{animation:gf-sheet-in .32s var(--gp-ease)}