:root{--page:#fff;--ink-text:#161a33;--ink-soft:#565b78;--rule:#161a331a;--desk:#1b2f7a;--pen:#2340a8;--marker:#ff2e88;--marker-ink:#b8135c;--vermilion:#d1331c;--emerald:#0b7a57;--teal:#0f7895;--saffron:#e0950a;--magenta:#c42a73;--display:"Bricolage Grotesque Variable", "Bricolage Grotesque", system-ui, sans-serif;--pen-hand:"Nanum Pen Script", cursive;--kid-hand:"Permanent Marker", cursive;--tray:clamp(250px, 24vw, 310px);--slot-h:0px;--disc-h:44px;--reserve:16px;--bar-h:52px}@media (width<1000px){:root{--tray:0px;--slot-h:120px;--reserve:calc(var(--slot-h) + var(--disc-h) + 16px)}}@media (width<700px){:root{--slot-h:72px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;touch-action:manipulation}body{font-family:var(--display);font-optical-sizing:auto;color:var(--ink-text);background:var(--page);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;display:block}:focus-visible{outline:3px solid var(--marker);outline-offset:3px;border-radius:6px}.app{grid-template-columns:minmax(0, 1fr) var(--tray);height:100dvh;display:grid;overflow:hidden}.canvas-col{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative}[data-letter-slot]{background:var(--desk);height:100dvh;position:sticky;top:0}.disclosure{border-top:1px solid var(--rule);color:var(--ink-soft);text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 12px;font-size:10.5px;line-height:1.25;display:flex}.disclosure .icecat-notice{max-width:64rem;color:var(--ink-soft);margin:0;font-size:9.5px;line-height:1.3}@media (width<1000px){.app{grid-template-columns:minmax(0,1fr)}.canvas-col{grid-template-rows:auto minmax(0,1fr)}[data-letter-slot]{z-index:30;height:var(--slot-h);position:fixed;inset:auto 0 0}.disclosure{z-index:30;left:0;right:0;bottom:var(--slot-h);position:fixed}}.bar{z-index:20;min-width:0;height:var(--bar-h);-webkit-backdrop-filter:saturate(1.4)blur(10px);background:#ffffffeb;align-items:center;gap:10px;padding:0 clamp(8px,1.6vw,20px);display:flex;position:relative}.wordmark{min-height:44px;color:var(--ink-text);letter-spacing:-.02em;flex:none;align-items:center;padding:.18em .4em;font-size:1.25rem;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.here{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.85rem;font-weight:650;overflow:hidden}.sections-btn{min-height:44px;color:var(--ink-text);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#fff;border:1.5px solid #161a3340;border-radius:999px;flex:none;align-items:center;padding:0 16px;font-size:.95rem;font-weight:650;display:inline-flex}.sections-btn:hover,.sections-btn[aria-expanded=true]{background:#161a330d}.sections-btn:has(+:popover-open){background:#161a330d}.sections-sheet{inset:auto;top:var(--bar-h);right:calc(var(--tray) + clamp(8px, 1.6vw, 20px));width:min(420px,100vw - 24px);max-height:calc(100dvh - var(--bar-h) - 12px);background:#fff;border:1px solid #161a3329;border-radius:12px;margin:0;padding:6px;position:fixed;overflow-y:auto;box-shadow:0 2px 4px #161a331a,6px 10px 28px #161a3333}.sections-sheet:popover-open{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:grid}html[data-no-popover] .sections-sheet[data-open]{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:grid}html[data-no-popover] .sections-sheet:not([data-open]){display:none}.section-link{--ink:var(--vermilion);min-height:48px;color:var(--ink-soft);border-radius:10px;align-items:center;gap:10px;padding:4px 12px;font-size:.95rem;font-weight:650;line-height:1.2;text-decoration:none;display:flex}.section-link[data-ink=emerald]{--ink:var(--emerald)}.section-link[data-ink=teal]{--ink:var(--teal)}.section-link[data-ink=saffron]{--ink:var(--saffron)}.section-link[data-ink=magenta]{--ink:var(--magenta)}.section-link:before{content:"";background:var(--ink);border-radius:50%;flex:none;width:9px;height:9px}.section-link:hover{color:var(--ink-text);background:#161a330d}.section-link[aria-current=page]{background:color-mix(in srgb, var(--ink) 11%, #fff);color:var(--ink-text)}@media (width<700px){.bar{gap:6px}.wordmark{padding-inline:.2em;font-size:1.15rem}}@media (width<400px){.here{font-size:.78rem}.wordmark{font-size:1.05rem}}[data-book]{--ink:var(--vermilion);--ink-deep:color-mix(in srgb, var(--ink) 72%, var(--ink-text));min-width:0;min-height:0;padding:8px clamp(8px, 1.6vw, 20px) calc(var(--reserve) - 8px);background:#f6f5f1;grid-template-rows:minmax(0,1fr) auto;gap:8px;transition:none;display:grid;position:relative;overflow:hidden}[data-paged]{overflow:clip}[data-book][data-ink=emerald]{--ink:var(--emerald)}[data-book][data-ink=teal]{--ink:var(--teal)}[data-book][data-ink=saffron]{--ink:var(--saffron)}[data-book][data-ink=magenta]{--ink:var(--magenta)}.book-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}[data-book]:not([data-paged]){display:block;overflow-y:auto}[data-book]:not([data-paged]) .stage,[data-book]:not([data-paged]) .turn,[data-paged] .pool{display:none}:root[data-js] [data-book]:not([data-paged]) .pool{animation:4s step-end pool-wait}@keyframes pool-wait{0%,to{visibility:hidden}}.pool{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px 10px;display:grid}.pool .toy-img,.pool .toy:has(.note) .toy-img{width:100%}.stage{contain:layout;touch-action:pinch-zoom;-webkit-user-select:none;user-select:none;min-height:0;position:relative}.leaf{transform-origin:0 0;display:none;position:absolute;inset:0}.leaf-sheet{transform-origin:0 0;background:var(--page);border:1px solid #161a3329;border-radius:6px;grid-template-rows:minmax(0,1fr);padding:22px 22px 8px;display:grid;position:absolute;inset:0;box-shadow:0 1px 2px #161a331a,4px 7px 20px #161a3324;container-type:inline-size}.leaf[data-current],.leaf[data-leaving]{display:block}.leaf[data-current]{z-index:2}.leaf[data-leaving]{z-index:1;pointer-events:none}.leaf[data-turning]{z-index:3;overflow:hidden}.leaf.probe{z-index:-1;visibility:hidden;pointer-events:none;display:block}.leaf.probe .leaf-sheet{box-shadow:none}.leaf-grid{grid-template-columns:repeat(var(--cols,1), minmax(0, 1fr));grid-template-rows:repeat(var(--rows,1), minmax(0, 1fr));min-height:0;display:grid}.leaf-grid .toy{container-type:size}.leaf-grid .toy:nth-child(4n+1){--lift:0px;--pw:100%}.leaf-grid .toy:nth-child(4n+2){--lift:6px;--pw:96%}.leaf-grid .toy:nth-child(4n+3){--lift:2px;--pw:98%}.leaf-grid .toy:nth-child(4n){--lift:10px;--pw:94%}@media (width<700px){.leaf-sheet{padding:10px 8px 6px}.leaf-grid .toy:nth-child(n){--lift:0px;--pw:100%}}.turn{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.turn-btn{border:2px solid var(--ink);width:48px;height:48px;color:var(--ink-deep);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#fff;border-radius:50%;place-items:center;padding:0;transition:background .16s,color .16s,transform .12s;display:grid}.turn-btn svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.turn-btn:hover{background:color-mix(in srgb, var(--ink) 12%, #fff)}.turn-btn:active{background:var(--ink-deep);color:#fff;transform:scale(.94)}.turn-btn[aria-disabled=true]{color:#161a334d;cursor:default;background:0 0;border-color:#161a3329;transform:none}.turn-count{color:var(--pen);font-family:var(--pen-hand);text-align:center;margin:0;font-size:1.5rem;line-height:1}.turn-fx{z-index:5;pointer-events:none;display:none;position:absolute;inset:0}.turn-fx[data-on]{display:block}.turn-fx-clip{border-radius:6px;position:absolute;inset:0;overflow:hidden}.turn-fx-clip>i{transform-origin:0 0;opacity:0;position:absolute;top:0;left:0}.turn-under{background:linear-gradient(90deg,#161a3357,#161a331f 35%,#161a3300)}.turn-crease{background:linear-gradient(90deg,#161a3300,#161a3338,#161a3300)}.turn-flap-wrap{filter:drop-shadow(-5px 3px 7px #161a333d);position:absolute;inset:0}.turn-flap{transform-origin:0 0;opacity:0;position:absolute;top:0;left:0;overflow:hidden}.turn-flap-sheet{transform-origin:0 0;background:#f7f5ef;border:1px solid #161a331f;border-radius:6px;outline:1px solid #0000;position:absolute;top:0;left:0;overflow:hidden;box-shadow:inset 0 0 0 1px #161a3314}.turn-sheen{transform-origin:0 0;background:linear-gradient(90deg,#161a3333,#ffffffd9 5%,#fff3 38%,#161a330d 70%,#161a3329);position:absolute;top:0;left:0}html[data-turn-in] [data-stage]{view-transition-name:turn-new}html[data-turn-in] .turn-fx{view-transition-name:turn-fx;display:block}html[data-turn-in] [data-book]:not([data-paged]) .stage{display:block}::view-transition-old(root),::view-transition-new(root),::view-transition-old(turn-old),::view-transition-new(turn-old),::view-transition-old(turn-new),::view-transition-new(turn-new),::view-transition-old(turn-fx),::view-transition-new(turn-fx),::view-transition-group(root),::view-transition-group(turn-new),::view-transition-group(turn-fx){animation:none}::view-transition-group(turn-old){animation:.6s linear turn-hold}@keyframes turn-hold{0%,to{opacity:1}}::view-transition-image-pair(turn-old){transform-origin:0 0;overflow:hidden}::view-transition-old(turn-old){transform-origin:0 0}html[data-turn-in=forward]::view-transition-group(turn-old){z-index:2}html[data-turn-in=forward]::view-transition-group(turn-new){z-index:1}html[data-turn-in=back]::view-transition-group(turn-new){z-index:2}html[data-turn-in=back]::view-transition-group(turn-old){z-index:1}html[data-turn-in]::view-transition-group(turn-fx){z-index:3}html[data-turn-in=back]::view-transition-new(turn-new){opacity:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important}}:root{--desk-deep:#13235f;--on-desk:#fff;--on-desk-soft:#b9c4f0;--paper:#fffefa;--postmark:#2b2350;--ease-out:cubic-bezier(.16, 1, .3, 1)}.toy-img{--halo:28px;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}.toy-img:before{content:"";inset:calc(var(--halo) * -1);z-index:-1;position:absolute}@media (width<=600px){.toy-img{--halo:8px}}.toy-img:focus-visible{outline:3px solid var(--marker);outline-offset:4px;border-radius:10px}.toy-img img{transition:transform .26s var(--ease-out)}.toy-img:after{transition:transform .26s var(--ease-out), opacity .26s}@media (hover:hover){.toy-img:hover img{transform:translateY(-6px)rotate(-1deg)}}.toy-img[aria-pressed=true] img{transform:translateY(-4px)}.toy-img[aria-pressed=true]:after{opacity:.7;transform:scale(.88)}.scenes{overflow-x:clip}.toy-img .loop{z-index:3;pointer-events:none;width:136%;height:136%;position:absolute;top:-18%;left:-18%;overflow:visible}.loop path,.ink-layer path{fill:none;stroke:var(--marker);stroke-width:6px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none;opacity:.94}.ink-layer{z-index:25;pointer-events:none;width:100vw;height:100dvh;position:fixed;inset:0;overflow:visible}[data-letter-slot]{color:var(--on-desk);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);padding:22px 18px;display:grid;overflow:hidden}[data-letter-slot]>*{position:relative}.letter{background:repeating-linear-gradient(to bottom, transparent 0 31px, #1b2f7a14 31px 32px) 0 128px / 100% calc(100% - 128px) no-repeat, var(--paper);min-height:0;color:var(--ink-text);grid-template-rows:auto minmax(0,1fr) auto auto;padding:20px 18px 16px;display:grid;transform:rotate(-1deg);box-shadow:0 1px 1px #0000001a,0 22px 40px -22px #0000008c}.address p{margin:0}.address .to{color:var(--desk);letter-spacing:-.02em;font-size:1.25rem;font-weight:800;line-height:1.05}.address .to small{color:var(--ink-soft);margin-right:.2em;font-size:.7em;font-weight:600}.address .postcode{color:var(--desk);letter-spacing:.12em;margin-top:3px;font-size:1.08rem;font-weight:800}.address .wish{color:var(--marker-ink);font-family:var(--kid-hand);transform-origin:0;margin-top:14px;font-size:1.3rem;transform:rotate(-2deg)}.stamps{scrollbar-width:thin;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:88px;align-content:start;gap:14px 4px;min-height:0;padding:14px 12px 10px 6px;display:grid;position:relative;overflow:hidden auto}.stuck{transform:rotate(var(--tilt,0deg));position:relative}.stuck.is-placeholder{visibility:hidden}.stamp{--ink:var(--vermilion);--r:2.6px;height:100%;padding:calc(2 * var(--r));background:radial-gradient(var(--r), #0000 97%, var(--paper)) round var(--r) var(--r) / calc(3 * var(--r)) calc(3 * var(--r)), linear-gradient(var(--paper) 0 0) no-repeat 50% / calc(100% - 3 * var(--r)) calc(100% - 3 * var(--r));filter:drop-shadow(0 1.5px 1.5px #00000029);display:block;position:relative}.stamp[data-ink=emerald]{--ink:var(--emerald)}.stamp[data-ink=teal]{--ink:var(--teal)}.stamp[data-ink=saffron]{--ink:var(--saffron)}.stamp[data-ink=magenta]{--ink:var(--magenta)}.stamp-face{background:color-mix(in srgb, var(--ink) 12%, #fff);height:100%;box-shadow:inset 0 0 0 1.5px var(--ink);place-items:center;padding:6px 4px 4px;display:grid;position:relative}.stamp-face img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:100%}.stamp-denom{color:var(--ink);font-variation-settings:"wdth" 75;font-size:.66rem;font-weight:800;position:absolute;top:3px;left:4px}.stuck .postmark{width:84px;height:39px;color:var(--postmark);mix-blend-mode:multiply;opacity:.8;pointer-events:none;position:absolute;bottom:0;left:-10px}.postmark text{font-family:var(--display);letter-spacing:.1em;fill:currentColor;font-weight:700}.letter-empty{color:var(--ink-soft);text-align:center;grid-column:1/-1;justify-items:center;gap:10px;padding:14px 6px;display:grid}.letter-empty .outline{border:2px dashed #1b2f7a4d;border-radius:3px;width:62px;height:74px}.letter-empty p{margin:0;font-weight:600;line-height:1.35}.from{border-top:1px solid #1b2f7a1f;flex-wrap:wrap;align-items:baseline;gap:0 10px;padding:10px 0 4px;display:flex}.from small{color:var(--ink-soft);font-weight:600}.from .rule{border-bottom:1.5px solid #1b2f7a59;flex:40px;min-width:24px;height:1.2em;font-size:1.25rem}.kid-name{color:var(--desk);font-family:var(--kid-hand);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;display:block;overflow:hidden}.count{color:var(--desk);font-family:var(--kid-hand);white-space:nowrap;margin:0;font-size:1rem}.stamp-remove{--mark:22px;cursor:pointer;width:44px;height:44px;transform:rotate(calc(var(--tilt,0deg) * -1));touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:start end;padding:0;display:grid;position:absolute;top:-7px;right:-7px}[data-stamps] .stamp:active{cursor:default}.stamp-remove svg{width:var(--mark);height:var(--mark);background:var(--ink-text);color:var(--paper);box-shadow:0 0 0 2px var(--paper), 0 2px 4px #00000047;transition:transform .16s var(--ease-out), background-color .16s var(--ease-out);border-radius:50%;display:block}.stamp-remove path{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round}@media (hover:hover){.stamp-remove:hover svg{background:var(--marker-ink);transform:scale(1.1)}}.stamp-remove:active svg{background:var(--marker-ink);transform:scale(.92)}.stamp-remove:focus-visible{outline:none}.stamp-remove:focus-visible svg{outline:3px solid var(--marker);outline-offset:2px}.start-over{min-height:44px;color:var(--ink-soft);text-underline-offset:3px;white-space:nowrap;cursor:pointer;transition:color .16s var(--ease-out);background:0 0;border:0;border-radius:8px;align-items:center;margin-left:auto;padding:0 6px;font-family:inherit;font-size:.88rem;font-weight:650;text-decoration:underline 1.5px;display:inline-flex}.start-over:hover{color:var(--marker-ink)}.start-over:active{transform:translateY(1px)}.start-over:focus-visible{outline:3px solid var(--marker);outline-offset:0}.start-over[hidden]{display:none}.btn{background:var(--marker-ink);color:#fff;letter-spacing:-.005em;white-space:nowrap;cursor:pointer;min-height:52px;transition:transform .16s var(--ease-out), box-shadow .16s var(--ease-out);border:0;border-radius:14px;justify-content:center;align-items:center;padding:.8em 1.2em;font-family:inherit;font-size:1rem;font-weight:750;display:inline-flex;box-shadow:0 1px #00000014,0 8px 18px -8px #0006}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.letter .btn{width:100%;margin-top:10px}@media (width>=1000px){[data-letter-slot]:before{content:"";background:#c9a06a;position:absolute;inset:34px 10px 40px 28px;transform:rotate(3.5deg);box-shadow:0 18px 30px -18px #00000080}}.flyer{z-index:60;transform-origin:50%;pointer-events:none;margin:0;position:fixed}.flyer .flyer-toy,.flyer .stamp{position:absolute;inset:0}.flyer .flyer-toy img{object-fit:contain;width:100%;height:100%}.gate{z-index:80;-webkit-backdrop-filter:blur(8px);background:#13235f8c;place-items:center;display:grid;position:fixed;inset:0}.gate[hidden]{display:none}.gate-card{width:min(420px,100vw - 32px);color:var(--ink-text);text-align:center;background:#fff;border-radius:20px;justify-items:center;gap:14px;padding:30px 28px 24px;display:grid;box-shadow:0 30px 60px -20px #00000073}.gate-card h2{letter-spacing:-.02em;margin:0;font-size:1.6rem}.gate-card p{color:var(--ink-soft);margin:0;line-height:1.45}.hold{background:var(--desk);color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;border:0;border-radius:50%;width:128px;height:128px;font-family:inherit;font-size:1rem;font-weight:750;position:relative}.hold svg{pointer-events:none;width:calc(100% + 16px);height:calc(100% + 16px);position:absolute;inset:-8px;transform:rotate(-90deg)}.hold circle{fill:none;stroke:var(--marker);stroke-width:6px;stroke-linecap:round}.gate-cancel{min-height:44px;color:var(--ink-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:8px 12px;font-family:inherit;font-size:1rem;text-decoration:underline}.gate-card .gate-disclosure{font-size:.8rem}@media (width<1000px){[data-letter-slot]{padding:8px 16px}.letter{background:var(--paper);grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 16px;height:100%;padding:8px 16px;transform:none}.address{grid-area:1/1}.address .to{font-size:1.1rem}.address .postcode{margin-top:2px;font-size:.95rem}.address .wish{display:none}.stamps{scrollbar-width:none;grid-area:1/2/span 2;grid-template-rows:72px;grid-template-columns:none;grid-auto-rows:72px;grid-auto-columns:62px;grid-auto-flow:column;align-content:center;gap:0 8px;padding:14px 28px 4px 10px;scroll-padding-inline:4px 28px;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000 100%)}.stamps::-webkit-scrollbar{display:none}.letter-empty{text-align:left;align-items:center;gap:12px;width:max-content;padding:0;display:flex}.letter-empty .outline{flex:none;width:46px;height:56px}.from{border:0;flex-wrap:nowrap;grid-area:2/1;align-items:center;padding:0}.from .rule{flex:24px}.count{font-size:.9rem}.letter .btn{grid-area:1/3/span 2;width:auto;margin:0;padding:0 20px}}@media (width<700px){[data-letter-slot]{padding:0}.letter{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) auto auto;align-content:center;gap:0 10px;padding:6px 10px;box-shadow:0 -10px 24px -12px #00000059}.address{display:none}.stamps{grid-area:1/1/span 3;grid-template-rows:48px;grid-auto-rows:48px;grid-auto-columns:40px;gap:0 8px;margin-block:-6px;padding:22px 28px 2px 4px}.stamp-remove{--mark:20px;transform-origin:16px 46px;padding:16px 2px 0 0;top:-22px;right:-8px}.stamp{--r:2px}.stamp-face{padding:4px 2px 2px}.stamp-denom{font-size:.7rem;top:2px;left:3px}.stuck .postmark{display:none}.letter-empty{gap:8px}.letter-empty .outline{width:32px;height:40px}.letter-empty p{white-space:nowrap;font-size:.85rem}.from{display:contents}.from small{display:none}.from .rule{display:contents}.kid-name{grid-area:1/2;justify-self:center;max-width:4.8rem;font-size:.85rem;line-height:1}.kid-name:empty{display:none}.letter:has(.letter-empty) .kid-name{grid-row:1/span 3;align-self:center;max-width:clamp(2.5rem,100vw - 310px,4.8rem)}.count{grid-area:2/2;place-self:end center;font-size:.85rem}.letter:has(.kid-name:not(:empty)) .count{line-height:1}.letter:has(.kid-name:not(:empty)) .start-over{margin-top:-11px}.start-over{grid-area:3/2;justify-self:center;margin:0;padding:0 4px;font-size:.9rem}.count:empty{display:none}.letter .btn{grid-area:1/3/span 3;min-height:44px;padding:0 14px;font-size:.86rem}}@media (prefers-reduced-motion:reduce){.toy-img img,.toy-img:after,.btn,.stamp-remove svg,.start-over{transition:none}.stamp-remove:hover svg,.stamp-remove:active svg,.start-over:active{transform:none}}
