
/* ------------------------------------------------------------------
   2luv Birthday Party Theme - Production Stylesheet dev
------------------------------------------------------------------- */
@font-face {
  font-family: 'PartyDisplay';
  src: url('fonts/abril-fatface-latin.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'PartyHand';
  src: url('fonts/shadows-into-light-latin.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('fonts/inter-latin.woff2') format('woff2');
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --cine-background: #FCEFE5;
  --cine-surface: #FFF8F1;
  --cine-ink: #3A2340;
  --cine-muted: #6E5869;
  --cine-accent: #D1264F;
  --cine-accent-ink: #FFFFFF;
  --cine-paper: #FFFCF7;
  --cine-paper-ink: #3A2340;
  --cine-border: #3A234026;
  --cine-display: PartyDisplay, 'Abril Fatface', Georgia, serif;
  --cine-body: Inter, system-ui, -apple-system, sans-serif;
  --cine-radius: 22px;
  --gift-ink: #3A2340;
  --gift-muted: #6E5869;
  --gift-gold: #D1264F;
  --gift-gold-hi: #D1264F;
  --gift-line: #3A234026;
  --gift-pine: #FFF8F1;
  --gift-night: #FCEFE5;
  --gift-paper: #FFFCF7;
  --gift-paper-ink: #3A2340;
  --gift-shadow: 0 18px 50px rgba(0,0,0,.45);
  --gift-display: PartyDisplay, 'Abril Fatface', Georgia, serif;
  --gift-ui: Inter, system-ui, sans-serif;
  --gift-dock-h: 64px;
  --gift-dock-bottom: max(20px, env(safe-area-inset-bottom, 0px));
  --gift-dock-gap: 10px;
  --gift-dock-safe: calc(var(--gift-dock-h) + var(--gift-dock-bottom) + var(--gift-dock-gap));
  --gift-brand-blend: normal;
  --gift-cta-start: #D1264F;
  --gift-cta-end: #D1264F;
  --gift-accent-ink: #FFFFFF;
  --gift-guide-dimmer: #FCEFE5;
  --gift-sheet-backdrop: hsl(26 79% 94% / .68);
  --gift-sheet-shadow: 0 30px 90px rgba(0,0,0,.6);
  --gift-sheet-background: 26 79% 94%;
  --gift-sheet-card: 30 100% 97%;
  --gift-sheet-foreground: 288 29% 19%;
  --gift-sheet-muted: 30 100% 97%;
  --gift-sheet-muted-foreground: 314 11% 39%;
  --gift-sheet-border: 288 29% 19%;
  --gift-sheet-primary: 346 69% 48%;
  --gift-sheet-primary-foreground: 0 0% 100%;
  --cine-transition: 480ms;
  --cine-content: 320ms;
  --party-dock-space: calc(var(--gift-dock-h,64px) + var(--gift-dock-bottom,20px) + 22px);
  --cv2-preview-scale: 1;
  --cv2-preview-viewport-width: 393px;
  --cv2-preview-viewport-height: 852px;
  --cv2-preview-frame-width: 409px;
  --cv2-preview-frame-height: 868px;
  --cv2-preview-chrome-height: 0px;
}

*, *::before, *::after {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #f7ede4;
  color: var(--cine-ink);
  font-family: var(--cine-body);
  user-select: none;
  -webkit-user-select: none;
}

/* Container Frame & Phone Mockup */
.cv2-preview-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  position: relative;
  background: radial-gradient(circle at 50% 30%, #fdf5ef 0%, #f0dfd1 100%);
}

.cv2-preview-pane {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
}

.cv2-preview-glow {
  position: absolute;
  width: 450px;
  height: 900px;
  border-radius: 60px;
  background: radial-gradient(circle, rgba(209, 38, 79, 0.08) 0%, transparent 70%);
  pointer-events: none;
  filter: blur(20px);
}

.cv2-preview-pane-label {
  position: absolute;
  bottom: 12px;
  z-index: 10;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cine-muted);
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(8px);
  padding: 5px 12px;
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.cv2-preview-pane-label span {
  font-weight: 800;
  color: var(--cine-accent);
}

.cv2-preview-device-fit {
  position: relative;
  width: var(--cv2-preview-frame-width);
  height: var(--cv2-preview-frame-height);
  display: block;
}

.cv2-preview-device-scale {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.cv2-phone-mockup {
  position: relative;
  width: 100%;
  height: 100%;
  border: 8px solid #1a151b;
  border-radius: 44px;
  background: #1a151b;
  box-shadow: 0 25px 60px -15px rgba(58, 35, 64, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
  overflow: hidden;
}

.cv2-phone-screen {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 36px;
  overflow: hidden;
  background: var(--cine-background);
}

.cv2-phone-notch {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 96px;
  height: 25px;
  border-radius: 999px;
  background: #1a151b;
  z-index: 50;
  box-shadow: 0 1px 3px rgba(0,0,0,0.4);
}

.cv2-phone-home {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 4px;
  border-radius: 999px;
  background: rgba(58, 35, 64, 0.3);
  z-index: 50;
  pointer-events: none;
}

.cv2-phone-side {
  position: absolute;
  width: 3px;
  border-radius: 999px;
  background: #2b222c;
  z-index: 2;
}
.cv2-phone-side-left {
  left: -11px;
  top: 110px;
  height: 54px;
}
.cv2-phone-side-right {
  right: -11px;
  top: 140px;
  height: 72px;
}

.cv2-letter-preview,
.letter-viewer,
.letter-content,
.letter-cinematic-stage {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* Header bar with sound & settings */
.party-head {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 56px;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 40;
  pointer-events: none;
}
.party-head .brand {
  width: 38px;
  height: 38px;
  object-fit: contain;
  pointer-events: auto;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,0.12));
}
.party-head .tools {
  display: flex;
  align-items: center;
  gap: 8px;
  pointer-events: auto;
}
.tool-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(58, 35, 64, 0.08);
  box-shadow: 0 4px 12px rgba(58, 35, 64, 0.08);
  display: grid;
  place-items: center;
  color: var(--cine-ink);
  cursor: pointer;
  transition: transform 0.15s, background 0.15s;
}
.tool-btn:hover {
  background: #ffffff;
  transform: scale(1.06);
}
.tool-btn:active {
  transform: scale(0.94);
}
.tool-btn svg {
  width: 17px;
  height: 17px;
}

/* Responsive adjustment for actual mobile viewports */
@media (max-width: 480px), (max-height: 840px) {
  .cv2-preview-frame {
    padding: 0;
    background: var(--cine-background);
  }
  .cv2-preview-pane-label, .cv2-preview-glow {
    display: none;
  }
  .cv2-preview-device-fit {
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
  }
  .cv2-preview-device-scale {
    position: relative;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
  }
  .cv2-phone-mockup {
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  .cv2-phone-side, .cv2-phone-notch, .cv2-phone-home {
    display: none !important;
  }
  .cv2-phone-screen {
    border-radius: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
}


/* === BPPLjHZH.js_block_0.css === */

  @font-face{font-family:PartyDisplay;src:url('fonts/abril-fatface-latin.woff2') format('woff2');font-weight:400;font-display:swap}
  @font-face{font-family:PartyDisplay;src:url('fonts/abril-fatface-latin-ext.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
  @font-face{font-family:PartyHand;src:url('fonts/shadows-into-light-latin.woff2') format('woff2');font-weight:400;font-display:swap}
  /* pan-y: a vertical drag still scrolls (the finale, a long story), a horizontal one stays ours for the swipe. */.party.svelte-11mij34{position:relative;width:100%;height:100%;min-height:100%;overflow:hidden;isolation:isolate;container:party / size;touch-action:pan-y;background:var(--cine-background);color:var(--cine-ink);font-family:var(--cine-body);-webkit-tap-highlight-color:transparent;outline:none}
  /* The studio's light: two candy glows that take the stage's colour. Soft radial gradients, not blurred discs: a
     60 px blur over two screen-sized circles had to be repainted on every change of stage (and of colour), the heaviest
     paint of the walk on a weak phone. */.sky.svelte-11mij34{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.glow.svelte-11mij34{position:absolute;width:62cqmax;height:62cqmax;border-radius:50%;opacity:.42;background:radial-gradient(closest-side,var(--glow) 58%,transparent)}
  /* The two big glows sit on one fixed anchor (the sky's top left) and each stage moves them with a translate, never
     with left/top/right/bottom: a change of stage repaints them, it does not shift a screen-sized box in the layout.
     Each translate is the box's old offset: `right:R` is `100cqw - R - 62cqmax`, `bottom:B` is `100cqh - B - 62cqmax`. */.glow.one.svelte-11mij34,.glow.two.svelte-11mij34{left:0;top:0}.glow.one.svelte-11mij34{translate:-18cqmax -22cqmax;--glow:var(--party-mood)}.glow.two.svelte-11mij34{translate:calc(100cqw - 42cqmax) calc(100cqh - 36cqmax);--glow:color-mix(in srgb,var(--party-mood) 55%,#c7a6f2)}.glow.three.svelte-11mij34{left:40%;top:56%;width:30cqmax;height:30cqmax;opacity:.22;--glow:#ffd98a}
  /* On the cover the cake's square is the sweep itself: the glows move to the words' side, away from it. */.party[data-stage='gift'].svelte-11mij34 .glow.one:where(.svelte-11mij34){translate:-34cqmax 6cqh;opacity:.3}.party[data-stage='gift'].svelte-11mij34 .glow.two:where(.svelte-11mij34){translate:calc(100cqw - 28cqmax) 6cqh;opacity:.3;--glow:var(--party-mood)}.party[data-stage='gift'].svelte-11mij34 .glow.three:where(.svelte-11mij34){opacity:0}
  @container party (max-aspect-ratio:1.15){.party[data-stage='gift'].svelte-11mij34 .glow.one:where(.svelte-11mij34){translate:-44cqmax calc(100cqh - 32cqmax)}.party[data-stage='gift'].svelte-11mij34 .glow.two:where(.svelte-11mij34){translate:calc(100cqw - 18cqmax) calc(100cqh - 32cqmax)}}
  /* The candles and the finale show the same cake (its square is the sweep's colour, cut to its silhouette): the glows
     keep to the words' side there too. */.party.svelte-11mij34:is([data-stage='candles']:where(.svelte-11mij34),[data-stage='world']:where(.svelte-11mij34)) .glow.one:where(.svelte-11mij34){translate:calc(100cqw - 36cqmax) -30cqmax;opacity:.32}.party.svelte-11mij34:is([data-stage='candles']:where(.svelte-11mij34),[data-stage='world']:where(.svelte-11mij34)) .glow.two:where(.svelte-11mij34){translate:calc(100cqw - 38cqmax) calc(100cqh - 28cqmax);opacity:.3}.party.svelte-11mij34:is([data-stage='candles']:where(.svelte-11mij34),[data-stage='world']:where(.svelte-11mij34)) .glow.three:where(.svelte-11mij34){opacity:0}
  @container party (max-aspect-ratio:1.15){.party.svelte-11mij34:is([data-stage='candles']:where(.svelte-11mij34),[data-stage='world']:where(.svelte-11mij34)) .glow.one:where(.svelte-11mij34){translate:calc(100cqw - 22cqmax) calc(100cqh - 22cqmax)}.party.svelte-11mij34:is([data-stage='candles']:where(.svelte-11mij34),[data-stage='world']:where(.svelte-11mij34)) .glow.two:where(.svelte-11mij34){opacity:0}
  }.stages.svelte-11mij34{position:absolute;inset:0;z-index:2}.stage.svelte-11mij34{position:absolute;inset:0;will-change:transform,opacity}.stage-load.svelte-11mij34{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;gap:14px;padding:80px 24px calc(var(--party-dock-space,112px) + 20px);text-align:center}.stage-load.svelte-11mij34 h2:where(.svelte-11mij34){margin:0;font:400 clamp(28px,5cqmin,48px)/1.15 var(--cine-display);outline:none}.stage-load.svelte-11mij34 p:where(.svelte-11mij34){margin:0;font:500 15px/1.5 var(--cine-body);color:var(--cine-muted)}.stage-retry.svelte-11mij34{padding:11px 20px;border:0;border-radius:999px;background:var(--cine-accent);color:var(--cine-accent-ink);font:700 14px/1.3 var(--cine-body);cursor:pointer}.stage-retry.svelte-11mij34:focus-visible{outline:2px solid var(--cine-ink);outline-offset:4px}.content-layer.svelte-11mij34{position:absolute;inset:0;transition:filter .65s ease,opacity .65s ease}
  /* A locked stage frosts under the paywall's veil (a plain filter: every engine paints it). */.content-layer.frost.svelte-11mij34{filter:blur(16px) saturate(.85);opacity:.7;pointer-events:none}.party-head.svelte-11mij34{position:absolute;z-index:30;top:max(14px,env(safe-area-inset-top));left:clamp(12px,3cqw,32px);right:clamp(12px,3cqw,32px);display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none;transition:opacity .3s ease}.party.svelte-11mij34:focus{outline:none}.party-head.concealed.svelte-11mij34{opacity:0}
  /* The open letter is the whole page: its own header (fold, close) takes the top, so the gift's steps aside. */.party.svelte-11mij34:has(.envelope-sheet.full) .party-head:where(.svelte-11mij34){opacity:0;pointer-events:none;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}.party-head.svelte-11mij34 > :where(.svelte-11mij34){pointer-events:auto}.party-head.bare.svelte-11mij34{justify-content:flex-end}.party.svelte-11mij34{--gift-menu-border:#3a234024;--gift-menu-bg:#ffffffb8;--gift-menu-ink:var(--cine-ink);--gift-menu-accent:var(--cine-accent);--gift-menu-shadow:0 6px 16px #3a234014}
  /* The 2luv birthday logo, sized like the other cinematic gifts' logos (60 px; 52 upright; 48 on a short landscape). */.brand.svelte-11mij34{flex:none;display:block;width:60px;height:60px;object-fit:contain;-webkit-user-drag:none;user-select:none;filter:drop-shadow(0 4px 10px #3a23401f)}
  @container party (max-aspect-ratio:1.15){.brand.svelte-11mij34{width:52px;height:52px}}
  @container party (max-height:559.98px) and (min-aspect-ratio:1.3){.brand.svelte-11mij34{width:48px;height:48px}}.tools.svelte-11mij34{display:flex;align-items:center;gap:8px}.sr-only.svelte-11mij34{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

  /* The shared Halloween pieces in party paint: the envelope in candy pink, the places map in daylight. */.party.svelte-11mij34{--env-side-edge:#f3a8bf;--env-side-mid:#f8c9d7;--env-bottom-top:#fcd9e3;--env-bottom-mid:#f6b8ca;--env-bottom-low:#ef9fb7;--env-flap-top:#fde0e8;--env-flap-mid:#f8c4d3;--env-flap-low:#f1abc0;--env-age:0;--env-shade:#8a2f4f;--env-shade-opacity:.16;--env-inside-top:#e58fa9;--env-inside-bottom:#c46b88;--env-inside-rim:#ffe3ec99;--env-drop-shadow:#3a234040;--env-open-flap-low:#d9809c;--env-open-flap-mid:#eda4ba;--env-open-flap-top:#f6bccd;--env-open-flap-shade:#3a234026;--env-flap-edge:#d47e99;--env-rim:#ffeef3;--env-crease:#cf7c97;--env-crease-shadow:#9b4767;--env-flap-shadow:#7a2e4b;--env-pocket-shadow:#3a234033;--env-seal-shadow:#7a2e4b66;--env-hint:#8a2f4f;--pm-backdrop:radial-gradient(120% 90% at 70% 60%,#fff6ee,#f6e4d8 70%);--pm-card:var(--cine-background);--pm-deep:var(--cine-background);--pm-ink:#3a2340;--pm-muted:#6e5869;--pm-rose:#d1264f;--pm-rose-soft:#f59bb5;--pm-champagne:#c0335a;--pm-lavender:#c7a6f2;--pm-vignette:linear-gradient(180deg,#fcefe566,transparent 16%,transparent 80%,#fcefe5aa);--pm-control:#fffffff2;--pm-list:#fffffff7;--pm-credits:#3a2340b3;--pm-credits-shadow:0 1px 2px #fff;--pm-canvas-filter:sepia(.14) saturate(1.3) hue-rotate(-10deg) brightness(1.02);--pm-title-style:normal;--pm-marker-glow:drop-shadow(0 0 16px #f59bb580);--pm-pulse:radial-gradient(circle,#f59bb555,#ffd98a22 58%,transparent 72%);--pm-popup-small:#d1264f;--pm-button:#fff;--pm-button-border:#f59bb588;--pm-focus:#d1264f;--xsheet-surface:var(--cine-background);--xsheet-shadow:0 18px 48px #3a234026;--xsheet-shadow-up:0 -18px 50px #3a234022;--xsheet-card-shadow:0 24px 60px #3a234024;--xsheet-hint-shadow:0 1px 6px #fff;--xsheet-grip-shadow:none;--xsheet-toggle-shadow:0 6px 18px #3a234026;--xsheet-handle-hi:#ffd1dc;--xsheet-handle-lo:#a61e40;--xsheet-handle-shadow:0 10px 24px #3a234033}.party.svelte-11mij34 .envelope-sheet .paper{border-radius:calc(26px * (1 - var(--pf))) calc(26px * (1 - var(--pf))) 0 0}.party.svelte-11mij34 .envelope-sheet h2{font-style:normal;font-family:var(--cine-display)}
  /* The party's envelope is candy paper, not aged kraft: no fractal-noise grain (two feTurbulence filters, the most
     expensive thing the envelope paints). */.party.svelte-11mij34 .envelope-sheet .aged{display:none}
  @media (prefers-reduced-motion:reduce){.glow.svelte-11mij34{transition:none}}

/* === Dw4rUIgM.js_block_0.css === */

  /* The parent's --balloon-h (a declaration on this element would shadow it), else a size from the container's width. */.balloons.svelte-1rjcsgv{--bh:var(--balloon-h,clamp(90px,14cqw,190px));position:relative;display:inline-flex;align-items:flex-start;pointer-events:none}.text.svelte-1rjcsgv{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.digit.svelte-1rjcsgv{position:relative;display:block;height:calc(var(--bh) * var(--scale));rotate:var(--tilt);margin-inline-start:calc(var(--bh) * -.1);animation:svelte-1rjcsgv-bob calc(5.2s + var(--i) * .9s) ease-in-out calc(var(--i) * -1.7s) infinite}.digit.svelte-1rjcsgv:first-of-type{margin-inline-start:0}.digit.svelte-1rjcsgv:nth-of-type(2){translate:0 6%}picture.svelte-1rjcsgv,img.svelte-1rjcsgv{display:block;height:100%;width:auto}img.svelte-1rjcsgv{filter:drop-shadow(0 14px 18px #b0485f2e);-webkit-user-drag:none;user-select:none}
  /* A curly ribbon from the balloon's knot, behind it. */.ribbon.svelte-1rjcsgv{position:absolute;left:50%;top:92%;width:calc(var(--bh) * .1);height:calc(var(--bh) * .62);translate:-50% 0;z-index:-1;overflow:visible}.ribbon.svelte-1rjcsgv path:where(.svelte-1rjcsgv){fill:none;stroke:#f3b4c4;stroke-width:2.4;stroke-linecap:round}
  @keyframes svelte-1rjcsgv-bob{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-5%) rotate(2.5deg)}}
  /* The opening: each digit floats up into place, one after the other, then bobs. */.rise.svelte-1rjcsgv .digit:where(.svelte-1rjcsgv){animation:svelte-1rjcsgv-float-up 1.15s cubic-bezier(.2,.95,.3,1.08) calc(var(--i) * .16s) both,svelte-1rjcsgv-bob calc(5.2s + var(--i) * .9s) ease-in-out calc(1.2s + var(--i) * .16s) infinite}
  @keyframes svelte-1rjcsgv-float-up{from{opacity:0;transform:translateY(90%) rotate(-8deg)}60%{opacity:1}to{opacity:1;transform:none}}
  /* Held: paused at time zero (the float-up's first frame, transparent), it plays from the start once released. */.held.svelte-1rjcsgv .digit:where(.svelte-1rjcsgv){animation-play-state:paused}.still.svelte-1rjcsgv .digit:where(.svelte-1rjcsgv){animation:none}[data-motion='reduced'] .digit.svelte-1rjcsgv{animation:none !important}
  @media (prefers-reduced-motion:reduce){.digit.svelte-1rjcsgv{animation:none !important}}

/* === Dw4rUIgM.js_block_1.css === */
.because.svelte-1wijcvs{margin:0;font:400 clamp(26px,3.1cqw,40px)/1.15 PartyHand,'Shadows Into Light',cursive;color:var(--cine-ink);text-wrap:balance}.slot.svelte-1wijcvs{display:inline-grid;vertical-align:bottom;perspective:400px;transition:width .45s cubic-bezier(.2,.9,.3,1)}.word.svelte-1wijcvs{grid-area:1/1;justify-self:start;color:var(--cine-accent);white-space:nowrap;opacity:0;transform:translateY(.55em) rotateX(-80deg);transform-origin:50% 100%;transition:opacity .38s ease,transform .52s cubic-bezier(.2,.9,.3,1.15);background:linear-gradient(transparent 62%,color-mix(in srgb,#ffd98a 70%,transparent) 62% 88%,transparent 88%)}.word.on.svelte-1wijcvs{opacity:1;transform:none}.word.off.svelte-1wijcvs{opacity:0;transform:translateY(-.55em) rotateX(80deg);transform-origin:50% 0;transition-duration:.3s,.42s}.sr-only.svelte-1wijcvs{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-motion='reduced'] .word.svelte-1wijcvs,[data-motion='reduced'] .slot.svelte-1wijcvs{transition:none}
  @media (prefers-reduced-motion:reduce){.word.svelte-1wijcvs,.slot.svelte-1wijcvs{transition:none}}
  @container party (max-aspect-ratio:1.15){.because.svelte-1wijcvs{font-size:clamp(23px,6.6cqw,32px)}}
  @container party (max-height:560px){.because.svelte-1wijcvs{font-size:21px}}

/* === Dw4rUIgM.js_block_2.css === */
.countdown.svelte-k59a1j{display:grid;justify-items:inherit;gap:8px}.lead.svelte-k59a1j{margin:0;font:700 12px/1.2 var(--cine-body);letter-spacing:.18em;text-transform:uppercase;color:var(--cine-accent)}.tiles.svelte-k59a1j{display:flex;gap:8px}.tile.svelte-k59a1j{display:grid;justify-items:center;gap:4px;min-width:62px;padding:10px 8px 8px;border-radius:18px;background:linear-gradient(170deg,#fff 0%,#fff6f0 100%);border:1px solid color-mix(in srgb,var(--cine-ink) 8%,transparent);box-shadow:0 10px 22px -12px color-mix(in srgb,var(--cine-ink) 40%,transparent),0 2px 0 #fff inset}.tile.svelte-k59a1j:nth-child(1){background:linear-gradient(170deg,#fff 0%,color-mix(in srgb,#f59bb5 30%,#fff) 100%)}.tile.svelte-k59a1j:nth-child(2){background:linear-gradient(170deg,#fff 0%,color-mix(in srgb,#c7a6f2 30%,#fff) 100%)}.tile.svelte-k59a1j:nth-child(3){background:linear-gradient(170deg,#fff 0%,color-mix(in srgb,#9fe0c9 32%,#fff) 100%)}.tile.svelte-k59a1j:nth-child(4){background:linear-gradient(170deg,#fff 0%,color-mix(in srgb,#ffd98a 38%,#fff) 100%)}.tile.wide.svelte-k59a1j{min-width:76px}.digits.svelte-k59a1j{display:block;height:1.1em;overflow:hidden;font:400 clamp(26px,2.6cqw,34px)/1.1 var(--cine-display);color:var(--cine-ink);font-variant-numeric:tabular-nums}.digits.svelte-k59a1j b:where(.svelte-k59a1j){display:block;font-weight:inherit}.digits.svelte-k59a1j b.flip:where(.svelte-k59a1j){animation:svelte-k59a1j-flip .42s cubic-bezier(.2,.9,.3,1.2) both}small.svelte-k59a1j{font:600 11px/1 var(--cine-body);letter-spacing:.08em;text-transform:uppercase;color:var(--cine-muted)}.caption.svelte-k59a1j{margin:0;font:400 clamp(19px,1.8cqw,23px)/1.25 PartyHand,'Shadows Into Light',cursive;color:var(--cine-ink)}
  @keyframes svelte-k59a1j-flip{from{opacity:0;transform:translateY(-70%) rotateX(70deg)}to{opacity:1;transform:none}}[data-motion='reduced'] .digits.svelte-k59a1j b:where(.svelte-k59a1j){animation:none !important}
  @media (prefers-reduced-motion:reduce){.digits.svelte-k59a1j b:where(.svelte-k59a1j){animation:none !important}}
  @container party (max-height:560px){.countdown.svelte-k59a1j{gap:5px}.tile.svelte-k59a1j{min-width:46px;padding:6px 5px 5px;border-radius:12px;gap:2px}.digits.svelte-k59a1j{font-size:20px}small.svelte-k59a1j{font-size:9px}.caption.svelte-k59a1j{font-size:17px}
  }
  @container party (max-aspect-ratio:1.15){.tiles.svelte-k59a1j{gap:6px}.tile.svelte-k59a1j{min-width:56px;padding:8px 6px 7px;border-radius:15px}.digits.svelte-k59a1j{font-size:clamp(22px,6.4cqw,28px)}small.svelte-k59a1j{font-size:10px}
  }

/* === Dw4rUIgM.js_block_3.css === */

  /* One axis on every screen: the wish on top, the turning cake as the poster in the middle, the countdown and the
     button below (a phone on its side splits it: the cake left, the words right). */.cover.svelte-oqcc2f{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;align-items:center;gap:clamp(4px,1.4cqh,14px);text-align:center;padding:clamp(60px,8.6cqh,88px) clamp(16px,4cqw,64px) clamp(26px,5.6cqh,58px);overflow:hidden}.titles.svelte-oqcc2f{position:relative;z-index:2;display:grid;justify-items:center;gap:clamp(4px,.9cqh,10px);max-width:min(100%,960px);
    animation:svelte-oqcc2f-rise .9s cubic-bezier(.2,.9,.25,1.05) .1s both}.hero.svelte-oqcc2f{position:relative;display:grid;place-items:center;width:100%;height:100%;min-height:0}.actions.svelte-oqcc2f{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:clamp(10px,2cqw,28px);margin-top:clamp(4px,1.2cqh,14px);
    animation:svelte-oqcc2f-rise .9s cubic-bezier(.2,.9,.25,1.05) .2s both}.sr-only.svelte-oqcc2f{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sprinkles.svelte-oqcc2f{position:absolute;inset:0;pointer-events:none}.sprinkles.svelte-oqcc2f i:where(.svelte-oqcc2f){position:absolute;width:14px;height:5px;border-radius:4px;transform:rotate(var(--rot));opacity:.75;
    animation:svelte-oqcc2f-drift 9s ease-in-out var(--delay) infinite alternate}.sprinkles.svelte-oqcc2f i[data-hue='0']:where(.svelte-oqcc2f){background:#f59bb5}.sprinkles.svelte-oqcc2f i[data-hue='1']:where(.svelte-oqcc2f){background:#c7a6f2}.sprinkles.svelte-oqcc2f i[data-hue='2']:where(.svelte-oqcc2f){background:#9fe0c9}.sprinkles.svelte-oqcc2f i[data-hue='3']:where(.svelte-oqcc2f){background:#ffd98a}.sprinkles.svelte-oqcc2f i[data-hue='4']:where(.svelte-oqcc2f){background:#ff8a7a}
  @keyframes svelte-oqcc2f-drift{from{translate:0 0}to{translate:6px -14px}}

  /* The poster: a square sized from the measured space (inline width and height); this is only the first paint's guess.
     The video's frame is empty above the candles (~6 % of the square): the cake slides up into it, under the words, by
     3 % of its own side (a centred square in its row: half of a 6 % pull). A translate, not a margin: it holds from the
     server's first paint (no measured size needed) and moves no layout. */.cake.svelte-oqcc2f{position:relative;justify-self:center;width:min(100%,56cqh);aspect-ratio:1;perspective:900px;outline:none;translate:0 -3%;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:pan-y;animation:svelte-oqcc2f-rise-cake .9s cubic-bezier(.2,.9,.25,1.05) both}.cake.spinnable.svelte-oqcc2f{cursor:grab}.cake.grabbing.svelte-oqcc2f{cursor:grabbing}.cake.svelte-oqcc2f:focus-visible{outline:3px solid color-mix(in srgb,var(--cine-accent) 45%,transparent);outline-offset:-6px;border-radius:24px}.cake.svelte-oqcc2f .poster,.cake.svelte-oqcc2f video:where(.svelte-oqcc2f){position:absolute;inset:0;z-index:5;width:100%;height:100%;pointer-events:none}.cake.svelte-oqcc2f .poster img{width:100%;height:100%;object-fit:cover}
  /* The loop's sweep is the page's colour. Cut to the turning cake's silhouette, nothing square shows over the polaroids
     behind it; without the mask, a soft frame hides any codec shift at the video's edges. */.cake.masked.svelte-oqcc2f .poster,.cake.masked.svelte-oqcc2f video:where(.svelte-oqcc2f){-webkit-mask:var(--cake-mask) center/100% 100% no-repeat;mask:var(--cake-mask) center/100% 100% no-repeat}.cake.svelte-oqcc2f:not(.masked) .poster,.cake.svelte-oqcc2f:not(.masked) video:where(.svelte-oqcc2f){-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 3%,#000 96%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 3%,#000 96%,transparent);mask-composite:intersect}.cake.svelte-oqcc2f video:where(.svelte-oqcc2f){object-fit:cover;opacity:0;transition:opacity .5s ease;background:transparent}.cake.svelte-oqcc2f video.ready:where(.svelte-oqcc2f){opacity:1}

  /* The polaroids ride the cake's angle: one transform per frame, nothing else moves. */.snap.svelte-oqcc2f{position:absolute;left:0;top:0;padding:0;border:0;background:none;cursor:pointer;transform-origin:50% 50%;will-change:transform;-webkit-tap-highlight-color:transparent}.cake.grabbing.svelte-oqcc2f .snap:where(.svelte-oqcc2f){cursor:grabbing}.paper.svelte-oqcc2f{display:block;padding:7% 7% 20%;border-radius:3px;background:#fff;box-shadow:0 12px 22px -10px color-mix(in srgb,var(--cine-ink) 55%,transparent),0 2px 4px color-mix(in srgb,var(--cine-ink) 14%,transparent);
    animation:svelte-oqcc2f-snap-in .7s cubic-bezier(.3,1.5,.5,1) calc(.08s * var(--i)) both}.snap.svelte-oqcc2f .snap-image{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px;background:#f4e8ec;pointer-events:none}.snap.svelte-oqcc2f:hover .paper:where(.svelte-oqcc2f){box-shadow:0 16px 26px -10px color-mix(in srgb,var(--cine-ink) 60%,transparent),0 0 0 2px color-mix(in srgb,var(--cine-accent) 35%,transparent)}.snap.svelte-oqcc2f:focus-visible .paper:where(.svelte-oqcc2f){outline:3px solid var(--cine-accent);outline-offset:3px}
  @keyframes svelte-oqcc2f-snap-in{from{opacity:0;scale:.6}to{opacity:1;scale:1}}.hint.svelte-oqcc2f{position:absolute;left:50%;bottom:5%;z-index:30;display:inline-flex;align-items:center;gap:8px;translate:-50% 0;padding:7px 14px;border-radius:999px;font:600 12px/1 var(--cine-body);letter-spacing:.02em;white-space:nowrap;color:var(--cine-ink);background:#ffffffd1;box-shadow:0 6px 16px color-mix(in srgb,var(--cine-ink) 12%,transparent);pointer-events:none;animation:svelte-oqcc2f-hint 7s ease 1.6s both}.arrows.svelte-oqcc2f{font-size:15px;color:var(--cine-accent);letter-spacing:.2em}.hint.svelte-oqcc2f .hint-keys{margin-inline-start:10px;padding-inline-start:10px;border-inline-start:1px solid color-mix(in srgb,var(--cine-ink) 14%,transparent)}
  @keyframes svelte-oqcc2f-hint{0%{opacity:0;translate:-50% 6px}8%,85%{opacity:1;translate:-50% 0}100%{opacity:0;translate:-50% 0}}
  /* The age flanks the cake at the height of its top tier, small and clear of its body (the turntable's silhouette spans
     13–84 % across): over the video (whose square backdrop would otherwise veil it), under the front polaroids. */
  /* The balloons stay behind everything that turns: the polaroids always pass in front of them. Behind the masked loop
     they must keep clear of the cake's union silhouette (inside it the loop's cream backdrop would cut them): high, beside
     the candles and the top tier (the silhouette spans 32–67 % of the square there, 27–72 % at the top tier), above the
     polaroids' orbit (from ~40 % down). */.ages.svelte-oqcc2f{position:absolute;inset:0;z-index:0;pointer-events:none}.age-text.svelte-oqcc2f{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.age.svelte-oqcc2f{position:absolute;top:0;--balloon-h:calc(var(--cake-w,min(86cqw,56cqh)) * .31);animation:svelte-oqcc2f-pop .9s cubic-bezier(.3,1.5,.5,1) .5s both}.age.left.svelte-oqcc2f{right:calc(100% - 26.5%);rotate:-6deg}.age.right.svelte-oqcc2f{left:calc(100% - 26.5%);rotate:6deg;animation-delay:.62s}

  /* Opening: the words and the sprinkles step back first, the cake (animated from the script) goes on. Their entrance
     animations hold their end values, so the way out is an animation too. */.leaving.svelte-oqcc2f .titles:where(.svelte-oqcc2f),.leaving.svelte-oqcc2f .actions:where(.svelte-oqcc2f){animation:svelte-oqcc2f-step-back .42s cubic-bezier(.4,0,.2,1) forwards}.leaving.svelte-oqcc2f .sprinkles:where(.svelte-oqcc2f){opacity:0;transition:opacity .5s ease}.leaving.svelte-oqcc2f .ages:where(.svelte-oqcc2f),.leaving.svelte-oqcc2f .hint:where(.svelte-oqcc2f){animation:svelte-oqcc2f-fade-out .2s ease forwards}.leaving.svelte-oqcc2f .cake:where(.svelte-oqcc2f){pointer-events:none}.leaving.svelte-oqcc2f .snap:where(.svelte-oqcc2f){opacity:0 !important;transition:opacity .25s ease}
  @keyframes svelte-oqcc2f-step-back{from{opacity:1;translate:0 0}to{opacity:0;translate:0 18px}}
  @keyframes svelte-oqcc2f-fade-out{to{opacity:0}}.eyebrow.svelte-oqcc2f{margin:0;font:700 12px/1.3 var(--cine-body);letter-spacing:.2em;text-transform:uppercase;color:var(--cine-accent)}
  /* The date and age, on a chip. */.eyebrow.chip.svelte-oqcc2f{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 12px;border-radius:999px;letter-spacing:.14em;background:#ffffffc7;box-shadow:0 8px 18px -10px color-mix(in srgb,var(--cine-ink) 40%,transparent),0 0 0 1px color-mix(in srgb,var(--cine-accent) 18%,transparent) inset}.countdown.today.svelte-oqcc2f{padding:10px 18px;font:400 clamp(20px,2cqw,24px)/1.1 var(--cine-display);color:var(--cine-accent-ink);background:linear-gradient(100deg,#ff8fb0,var(--cine-accent));box-shadow:0 12px 24px color-mix(in srgb,var(--cine-accent) 30%,transparent)}h1.svelte-oqcc2f{margin:0;font:400 clamp(34px,min(5.2cqw,7.4cqh),70px)/1.02 var(--cine-display);color:var(--cine-ink);letter-spacing:-.01em;text-wrap:balance;outline:none;overflow-wrap:anywhere}.name.svelte-oqcc2f{color:var(--cine-accent)}.from.svelte-oqcc2f{margin:0;font:400 clamp(16px,1.6cqw,19px)/1.5 var(--cine-body);color:var(--cine-muted);text-wrap:pretty}.countdown.svelte-oqcc2f{margin:0;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;font:600 13px/1.2 var(--cine-body);color:var(--cine-ink);background:color-mix(in srgb,#ffd98a 55%,#fff)}.open.svelte-oqcc2f{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:14px 28px;border:0;border-radius:999px;cursor:pointer;font:700 17px/1.2 var(--cine-body);color:var(--cine-accent-ink);background:linear-gradient(100deg,var(--cine-accent) 0%,color-mix(in srgb,var(--cine-accent) 78%,#ff8fb0) 45%,var(--cine-accent) 100%) 0 0/220% 100%;box-shadow:0 16px 30px color-mix(in srgb,var(--cine-accent) 36%,transparent),inset 0 1px 0 #ffffff55;transition:transform .2s ease;animation:svelte-oqcc2f-sheen 3.4s ease-in-out 2s infinite}.open.svelte-oqcc2f:hover{transform:translateY(-2px)}.open.svelte-oqcc2f:active{transform:scale(.97)}.open.svelte-oqcc2f:focus-visible{outline:3px solid color-mix(in srgb,var(--cine-accent) 55%,#fff);outline-offset:4px}.open.svelte-oqcc2f:disabled{cursor:progress;opacity:.8}
  @keyframes svelte-oqcc2f-sheen{0%,70%{background-position:100% 0}100%{background-position:-120% 0}}
  @keyframes svelte-oqcc2f-rise{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
  /* The cake's rise ends on its 3 % lift (see .cake): the same 22 px climb, from the same place as ever. */
  @keyframes svelte-oqcc2f-rise-cake{from{opacity:0;translate:0 calc(22px - 3%)}to{opacity:1;translate:0 -3%}}
  @keyframes svelte-oqcc2f-pop{from{opacity:0;scale:.4}to{opacity:1;scale:1}}
  /* While the birthday's opening plays over it, the cover holds its entrance; it rises in when the opening ends. */.holding.svelte-oqcc2f .cake:where(.svelte-oqcc2f),.holding.svelte-oqcc2f .titles:where(.svelte-oqcc2f),.holding.svelte-oqcc2f .actions:where(.svelte-oqcc2f),.holding.svelte-oqcc2f .age:where(.svelte-oqcc2f),.holding.svelte-oqcc2f .hint:where(.svelte-oqcc2f){animation-play-state:paused}

  /* Upright screens: the same axis, tighter; the button takes the width it needs. */
  @container party (max-aspect-ratio:1.15){.cover.svelte-oqcc2f{padding-inline:16px}h1.svelte-oqcc2f{font-size:clamp(30px,8.6cqw,50px)}.actions.svelte-oqcc2f{flex-direction:column;align-items:center;gap:10px}
    /* On a phone the cake's square reaches the screen's edges: the balloons stay inside it, beside the top tier. */.age.svelte-oqcc2f{top:1%;--balloon-h:calc(var(--cake-w,min(86cqw,56cqh)) * .27)}.age.left.svelte-oqcc2f{right:calc(100% - 26%);left:auto}.age.right.svelte-oqcc2f{left:calc(100% - 26%);right:auto}
  }
  /* Short phones: the sender's line steps aside so the cake keeps its room. */
  @container party (max-aspect-ratio:1.15) and (max-height:700px){.from.svelte-oqcc2f{display:none}h1.svelte-oqcc2f{font-size:clamp(27px,7.8cqw,40px)}.open.svelte-oqcc2f{min-height:50px;padding:12px 24px}
  }
  /* A phone on its side: the cake on the left, the wish and the button on the right. */
  @container party (min-aspect-ratio:1.5) and (max-height:560px){.cover.svelte-oqcc2f{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;justify-items:start;text-align:start;column-gap:clamp(16px,4cqw,48px);padding:54px clamp(16px,4cqw,48px) 14px}.hero.svelte-oqcc2f{grid-column:1;grid-row:1 / span 2}.titles.svelte-oqcc2f{grid-column:2;grid-row:1;justify-items:start;align-self:end}.actions.svelte-oqcc2f{grid-column:2;grid-row:2;justify-content:flex-start;align-self:start;align-items:center}h1.svelte-oqcc2f{font-size:clamp(24px,7.6cqh,38px)}.from.svelte-oqcc2f{display:none}.open.svelte-oqcc2f{min-height:44px;padding:10px 20px;font-size:15px}
  }[data-motion='reduced'] .cover.svelte-oqcc2f :where(.svelte-oqcc2f),[data-motion='reduced'] .cover.svelte-oqcc2f{animation:none !important}
  @media (prefers-reduced-motion:reduce){.cover.svelte-oqcc2f :where(.svelte-oqcc2f){animation:none !important}}

/* === Dw4rUIgM.js_block_4.css === */
.party-dock.svelte-2c5q8h{--pip:6px;position:absolute;z-index:30;left:50%;bottom:var(--gift-dock-bottom,max(20px,env(safe-area-inset-bottom)));translate:-50% 0;width:min(600px,calc(100% - 24px));height:var(--gift-dock-h,64px);display:flex;align-items:center;gap:6px;padding:0 8px;border-radius:999px;background:color-mix(in srgb,#fff 86%,var(--cine-background));border:1px solid color-mix(in srgb,var(--cine-ink) 10%,transparent);box-shadow:0 14px 34px color-mix(in srgb,var(--cine-ink) 16%,transparent),0 2px 0 #fff inset}
  /* In the envelope's footer: the same size as everywhere else (the sheet's own rule would stretch it to 720 px). */.party-dock.party-dock.inline.svelte-2c5q8h{position:relative;left:auto;bottom:auto;translate:none;margin:0 auto;width:min(600px,100%);max-width:600px;height:var(--gift-dock-h,64px)}.step.svelte-2c5q8h{flex:none;display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;cursor:pointer;color:var(--cine-accent-ink);background:var(--cine-accent);box-shadow:0 6px 14px color-mix(in srgb,var(--cine-accent) 34%,transparent);transition:transform .2s ease,opacity .2s ease,background .2s ease}.step.svelte-2c5q8h:first-child{color:var(--cine-ink);background:color-mix(in srgb,var(--cine-ink) 7%,transparent);box-shadow:none}.step.svelte-2c5q8h:not(:disabled):hover{transform:scale(1.06)}.step.svelte-2c5q8h:not(:disabled):active{transform:scale(.95)}.step.svelte-2c5q8h:disabled{opacity:.35;cursor:default;box-shadow:none}.step.svelte-2c5q8h:focus-visible,.dot.svelte-2c5q8h:focus-visible{outline:2px solid var(--cine-accent);outline-offset:3px}.middle.svelte-2c5q8h{flex:1;min-width:0;display:grid;justify-items:center;gap:3px}.name.svelte-2c5q8h{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 12.5px/1.1 var(--cine-body);color:var(--cine-ink)}.dots.svelte-2c5q8h{display:flex;align-items:center;justify-content:center;gap:4px;margin:0;padding:0;list-style:none;min-width:0}.dots.svelte-2c5q8h li:where(.svelte-2c5q8h){display:flex}
  /* Each step: its 3D icon, and under it, apart, the position pip. */.dot.svelte-2c5q8h{position:relative;isolation:isolate;display:grid;justify-items:center;align-content:start;width:40px;height:54px;padding:4px 0 0;border:0;border-radius:14px;cursor:pointer;background:transparent}.dot.svelte-2c5q8h img:where(.svelte-2c5q8h){width:34px;height:34px;object-fit:contain;opacity:.6;filter:saturate(.75);transition:opacity .2s ease,transform .3s cubic-bezier(.3,1.5,.5,1)}.dot.seen.svelte-2c5q8h img:where(.svelte-2c5q8h){opacity:.92}.dot.current.svelte-2c5q8h::before{content:"";position:absolute;z-index:-1;left:50%;top:0;width:42px;height:42px;translate:-50% 0;border-radius:50%;background:color-mix(in srgb,var(--party-mood,#f59bb5) 30%,#fff)}.dot.current.svelte-2c5q8h img:where(.svelte-2c5q8h){opacity:1;filter:none;transform:scale(1.08)}.dot.svelte-2c5q8h:hover img:where(.svelte-2c5q8h){opacity:1}
  /* Position: a pip under each step, as in the other cinematic docks. */.pip.svelte-2c5q8h{position:absolute;left:50%;bottom:4px;width:var(--pip);height:var(--pip);translate:-50% 0;border-radius:99px;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--cine-ink) 32%,transparent);transition:width .25s ease,background .2s ease}.seen.svelte-2c5q8h .pip:where(.svelte-2c5q8h){box-shadow:none;background:color-mix(in srgb,var(--cine-accent) 55%,#fff)}.current.svelte-2c5q8h .pip:where(.svelte-2c5q8h){width:calc(var(--pip) * 2.6);box-shadow:none;background:var(--cine-accent)}.lock.svelte-2c5q8h{position:absolute;right:0;top:0;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;color:#fff;background:var(--cine-ink)}.count.svelte-2c5q8h{flex:none;min-width:34px;text-align:center;font:700 12px/1 var(--cine-body);font-variant-numeric:tabular-nums;color:var(--cine-muted)}.sr-only.svelte-2c5q8h{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  /* Narrow screens: the current step's name over the pips alone (the icons would not fit). */.compact.svelte-2c5q8h .dots:where(.svelte-2c5q8h){gap:6px}.compact.svelte-2c5q8h .dot:where(.svelte-2c5q8h){width:auto;height:auto;padding:0;border-radius:99px;background:transparent}.compact.svelte-2c5q8h .dot.current:where(.svelte-2c5q8h)::before{display:none}.compact.svelte-2c5q8h .dot:where(.svelte-2c5q8h)::after{content:"";position:absolute;inset:-12px -4px}.compact.svelte-2c5q8h .pip:where(.svelte-2c5q8h){position:relative;left:auto;bottom:auto;translate:none;display:block;--pip:8px}.compact.svelte-2c5q8h .lock:where(.svelte-2c5q8h){display:none}
  @media (prefers-reduced-motion:reduce){.dot.svelte-2c5q8h,.step.svelte-2c5q8h,.pip.svelte-2c5q8h,.dot.svelte-2c5q8h img:where(.svelte-2c5q8h){transition:none}}

/* === EnvelopeSheet.DSRUW35Z.css === */
.envelope-sheet[hidden].svelte-nrmcif{display:none}.envelope-sheet.svelte-nrmcif{--pf:0;--env-drop:0px;--env-h:220px;--env-w:360px;--area:100%;position:absolute;inset:0;z-index:12;overflow:hidden;outline:none;-webkit-user-select:none;user-select:none}.envelope-sheet.svelte-nrmcif:not(.full),.envelope-sheet.svelte-nrmcif:not(.full) .paper:where(.svelte-nrmcif),.paper-head.svelte-nrmcif{touch-action:none}.envelope-sheet.docked.svelte-nrmcif{inset-block:0;inset-inline:auto 0;width:min(100%,780px)}.docked.svelte-nrmcif .paper-head:where(.svelte-nrmcif){padding-inline:28px 22px}.docked.svelte-nrmcif .body:where(.svelte-nrmcif){padding:24px clamp(20px,5cqw,56px) 36px}.docked.svelte-nrmcif .grip:where(.svelte-nrmcif){display:none}.docked.svelte-nrmcif .veil:where(.svelte-nrmcif){-webkit-mask-image:linear-gradient(to right,transparent,#000 38%);mask-image:linear-gradient(to right,transparent,#000 38%)}.docked.svelte-nrmcif .veil:where(.svelte-nrmcif):after{-webkit-mask-image:none;mask-image:none}.docked.svelte-nrmcif .sheet-navigation:where(.svelte-nrmcif){background:color-mix(in srgb,var(--gift-night) calc(var(--pf) * 100%),transparent)}.veil.svelte-nrmcif{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,color-mix(in srgb,var(--cine-background) 94%,transparent),transparent 62%)}.veil.svelte-nrmcif:after{content:"";position:absolute;inset:0;background:var(--cine-background);opacity:calc(var(--pf) * .9)}.env-layer.svelte-nrmcif{position:absolute;inset-inline-start:50%;bottom:calc(100% - var(--area));width:var(--env-w);height:var(--env-h);margin-inline-start:calc(var(--env-w) / -2);transform:translate3d(0,var(--env-drop),0);will-change:transform;pointer-events:none}[dir=rtl] .env-layer.svelte-nrmcif{margin-inline-start:0;margin-inline-end:calc(var(--env-w) / -2);inset-inline-start:auto;inset-inline-end:50%}.env-layer.back.svelte-nrmcif{z-index:2}.env-layer.front.svelte-nrmcif{z-index:4;pointer-events:auto;cursor:grab}.env-rise.svelte-nrmcif{position:absolute;inset:0;perspective:900px}.arriving.svelte-nrmcif .env-rise:where(.svelte-nrmcif){transform:translate3d(0,calc(100% + 220px),0)}.env-back.svelte-nrmcif{position:absolute;inset:0;border-radius:3px 3px 6px 6px;background:linear-gradient(to bottom,var(--env-inside-top,#6f4d27),var(--env-inside-bottom,#4a3016) 70%);box-shadow:inset 0 1px 0 var(--env-inside-rim,#e3c79a66),0 22px 50px var(--env-drop-shadow,#000b)}.flap-hinge.svelte-nrmcif{position:absolute;inset-inline:0;top:0;height:calc(var(--env-h) * .56);transform-style:preserve-3d}.flap.svelte-nrmcif{position:absolute;inset:0;backface-visibility:hidden}.open-flap.svelte-nrmcif{bottom:100%;top:auto;height:100%;transform-origin:50% 100%;clip-path:polygon(0 100%,47% 3%,50% 0,53% 3%,100% 100%);background:radial-gradient(90% 120% at 50% 100%,var(--env-open-flap-shade,#00000040),transparent 70%),linear-gradient(to top,var(--env-open-flap-low,#a57a45),var(--env-open-flap-mid,#c8a068) 70%,var(--env-open-flap-top,#d4ae78))}.sealed.svelte-nrmcif .open-flap:where(.svelte-nrmcif){transform:rotateX(-90deg)}.closed-flap.svelte-nrmcif{display:none;transform-origin:50% 0}.closed-flap.svelte-nrmcif svg:where(.svelte-nrmcif){display:block;width:100%;height:100%;overflow:visible}.closed-flap.svelte-nrmcif .flap-edge:where(.svelte-nrmcif){stroke:var(--env-flap-edge,#9a7340);stroke-opacity:.7;stroke-width:1;vector-effect:non-scaling-stroke}.sealed.svelte-nrmcif .closed-flap:where(.svelte-nrmcif){display:block}.front.svelte-nrmcif .flap-hinge:where(.svelte-nrmcif){z-index:2}.pocket-seal.svelte-nrmcif{position:absolute;z-index:3;left:50%;top:calc(var(--env-h) * .545);translate:-50% -50%;line-height:0;filter:drop-shadow(0 3px 4px var(--env-seal-shadow,#3a1a0a99))}.pocket.svelte-nrmcif{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 -2px 5px var(--env-pocket-shadow,#0000006b))}.pocket.svelte-nrmcif .aged:where(.svelte-nrmcif){opacity:var(--env-age,.5)}.closed-flap.svelte-nrmcif .flap-aged:where(.svelte-nrmcif){opacity:calc(var(--env-age,.5) * .9)}.pocket.svelte-nrmcif .rim:where(.svelte-nrmcif){stroke:var(--env-rim,#f3dfb6);stroke-opacity:.75;stroke-width:1;vector-effect:non-scaling-stroke}.pocket.svelte-nrmcif .crease:where(.svelte-nrmcif){stroke:var(--env-crease,#8f6a3a);stroke-opacity:.55;stroke-width:1;vector-effect:non-scaling-stroke}.pocket.svelte-nrmcif .flap-shadow:where(.svelte-nrmcif){stroke:var(--env-flap-shadow,#3d2408);stroke-opacity:0;stroke-width:9;vector-effect:non-scaling-stroke}.sealed.svelte-nrmcif .pocket:where(.svelte-nrmcif) .flap-shadow:where(.svelte-nrmcif){stroke-opacity:.22}.pocket.svelte-nrmcif .crease-shadow:where(.svelte-nrmcif){stroke:var(--env-crease-shadow,#5a3a17);stroke-opacity:.35;stroke-width:6;vector-effect:non-scaling-stroke}.hint.svelte-nrmcif{position:absolute;inset:auto 0 12px;display:flex;align-items:center;justify-content:center;gap:6px;margin:0;pointer-events:none;font:700 10px/1.3 var(--cine-body,system-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--env-hint,#4e3114);opacity:calc(.82 - var(--pf) * 3)}.hint-arrow.svelte-nrmcif{display:inline-grid;line-height:0;animation:svelte-nrmcif-hint-lift 1.8s ease-in-out 1.6s infinite}@keyframes svelte-nrmcif-hint-lift{0%,to{transform:translateY(1px)}50%{transform:translateY(-3px)}}.paper.svelte-nrmcif{position:absolute;inset-inline:0;top:0;height:var(--area);z-index:3;display:flex;flex-direction:column;transform:translate3d(0,110%,0);transform-origin:50% 0;will-change:transform;border-radius:calc(20px * (1 - var(--pf))) calc(20px * (1 - var(--pf))) 0 0;overflow:hidden;background:linear-gradient(170deg,#fff8e633,transparent 40%),var(--cine-paper-texture,none),var(--cine-paper);color:var(--cine-paper-ink);box-shadow:0 -12px 40px #0000004d,0 0 0 1px color-mix(in srgb,var(--cine-paper-ink) 12%,transparent);cursor:grab}.full.svelte-nrmcif .paper:where(.svelte-nrmcif){cursor:auto}.sealed.svelte-nrmcif .paper:where(.svelte-nrmcif){visibility:hidden}.paper-head.svelte-nrmcif{flex:none;position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:calc(18px + env(safe-area-inset-top,0px) * var(--pf)) 18px 12px 22px;border-bottom:1px solid color-mix(in srgb,var(--cine-paper-ink) calc(13% * var(--pf)),transparent)}.grip.svelte-nrmcif{position:absolute;top:7px;left:50%;width:38px;height:4px;margin-left:-19px;border-radius:4px;background:color-mix(in srgb,var(--cine-paper-ink) 28%,transparent);opacity:calc(1 - var(--pf))}.titles.svelte-nrmcif{min-width:0}.eyebrow.svelte-nrmcif{margin:0 0 4px;font:600 11px/1.4 var(--cine-body,system-ui);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--cine-accent) 42%,var(--cine-paper-ink));overflow-wrap:anywhere}h2.svelte-nrmcif{margin:0;font:italic clamp(21px,6cqw,26px)/1.2 var(--cine-display);overflow-wrap:anywhere;text-wrap:balance}.actions.svelte-nrmcif{flex:none;display:flex;gap:8px}.round.svelte-nrmcif{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid color-mix(in srgb,var(--cine-paper-ink) 24%,transparent);border-radius:50%;background:transparent;color:inherit;cursor:pointer}.round.svelte-nrmcif:focus-visible{outline:2px solid currentColor;outline-offset:3px}.round.svelte-nrmcif{position:relative}.round.svelte-nrmcif:after{content:"";position:absolute;inset:-7px;border-radius:50%}.toggle.svelte-nrmcif svg{transition:transform .25s ease}.full.svelte-nrmcif .toggle:where(.svelte-nrmcif) svg{transform:rotate(180deg)}.body.svelte-nrmcif{flex:1;min-height:0;overflow:hidden;overscroll-behavior:contain;scrollbar-width:thin;padding:18px 22px 40px;outline-offset:-4px;-webkit-user-select:text;user-select:text}.full.svelte-nrmcif .body:where(.svelte-nrmcif){overflow-y:auto;touch-action:pan-y}.body.svelte-nrmcif .letter-paper{padding:0;border:0;border-radius:0;background:none;box-shadow:none}.body.svelte-nrmcif .letter-paper.has-seal{padding-top:4px;margin-top:0}.body.svelte-nrmcif .letter-seal{display:none}.sheet-navigation.svelte-nrmcif{position:absolute;inset:auto 0 0;z-index:6;min-width:0;padding:var(--gift-dock-gap,10px) 12px var(--gift-dock-bottom,max(12px,env(safe-area-inset-bottom)));background:var(--gift-night)}.sheet-navigation.svelte-nrmcif .gift-dock.gift-dock{position:relative;inset:auto;width:100%;max-width:720px;animation:none}.sheet-navigation.svelte-nrmcif .dock-floor{display:none}@media(prefers-reduced-motion:reduce){.hint-arrow.svelte-nrmcif{animation:none}}


/* === PartyLetterStage.CYmTrCEo.css === */
.rain.svelte-xp5312{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.letter-stage.svelte-1w1e5by{position:absolute;inset:0}.rain.svelte-1w1e5by{position:absolute;inset:0;transition:opacity .6s ease}.letter-stage.svelte-1w1e5by:has(.envelope-sheet.full) .rain:where(.svelte-1w1e5by){opacity:.45}.docked.svelte-1w1e5by .envelope-sheet.docked{inset-inline:0;margin-inline:auto}.docked.svelte-1w1e5by .envelope-sheet.docked .veil{-webkit-mask-image:linear-gradient(to right,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(to right,transparent,#000 22%,#000 78%,transparent)}.paper-copy.svelte-1w1e5by{display:grid;gap:14px;max-width:62ch;margin-inline:auto;font:400 clamp(16.5px,1.3cqw,18.5px)/1.72 var(--cine-body);color:var(--cine-paper-ink)}.greeting.svelte-1w1e5by{margin:0;font:400 clamp(26px,3cqw,34px)/1.2 PartyHand,"Shadows Into Light",cursive;color:var(--cine-accent)}.line.svelte-1w1e5by{margin:0;white-space:pre-line;text-wrap:pretty}.signature.svelte-1w1e5by{margin:10px 0 0;justify-self:end;font:400 clamp(24px,2.6cqw,30px)/1.2 PartyHand,"Shadows Into Light",cursive;color:var(--cine-accent)}.photo.svelte-1w1e5by{justify-self:center;display:grid;gap:8px;width:min(100%,300px);padding:10px 10px 14px;border:0;cursor:pointer;background:#fff;border-radius:4px;rotate:-2deg;box-shadow:0 14px 28px -12px color-mix(in srgb,var(--cine-ink) 40%,transparent)}.photo.svelte-1w1e5by .photo-image{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px}.caption.svelte-1w1e5by{font:400 20px/1.2 PartyHand,Shadows Into Light,cursive;color:var(--cine-paper-ink)}.photo.svelte-1w1e5by:focus-visible{outline:2px solid var(--cine-accent);outline-offset:3px}


/* === PartyClawStage.CpHIuC1J.css === */
.claw-stage.svelte-1ep16hp{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:clamp(16px,4cqw,72px);padding:clamp(76px,11cqh,112px) clamp(20px,6cqw,104px) var(--party-dock-space,112px)}.game.svelte-1ep16hp{order:-1;position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;min-width:0;min-height:0;outline:none}.flip.svelte-1ep16hp .game:where(.svelte-1ep16hp){order:0}.game.svelte-1ep16hp:focus-visible{outline:3px solid color-mix(in srgb,var(--cine-accent) 55%,#fff);outline-offset:6px;border-radius:28px}.screen.svelte-1ep16hp{position:relative;min-height:0;display:grid;place-items:center;container-type:size}.card.svelte-1ep16hp{position:relative;display:flex;flex-direction:column;gap:16px;min-height:0;max-height:100%;overflow:auto;overscroll-behavior:contain;padding:clamp(22px,3cqw,36px) clamp(22px,3.2cqw,40px);border-radius:30px;scrollbar-width:thin;background:linear-gradient(160deg,#ffffffd9,#fffaf4c7);border:1px solid #ffffffb3;box-shadow:0 30px 60px -28px color-mix(in srgb,var(--cine-ink) 30%,transparent),0 2px #fff inset;animation:svelte-1ep16hp-card-in .7s cubic-bezier(.2,.9,.25,1) .08s both}.card.svelte-1ep16hp>:where(.svelte-1ep16hp){flex-shrink:0}.head.svelte-1ep16hp{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.titles.svelte-1ep16hp{display:grid;gap:8px;min-width:0}.eyebrow.svelte-1ep16hp{margin:0;font:700 12px/1.3 var(--cine-body);letter-spacing:.18em;text-transform:uppercase;color:var(--cine-accent)}h2.svelte-1ep16hp{margin:0;font:400 clamp(30px,4.2cqw,52px)/1.04 var(--cine-display);color:var(--cine-ink);text-wrap:balance;outline:none;overflow-wrap:anywhere}.solid.svelte-1ep16hp,.ghost.svelte-1ep16hp{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 20px;border-radius:999px;cursor:pointer;font:700 15px/1.2 var(--cine-body);white-space:nowrap;transition:transform .15s ease,background .2s ease}.solid.svelte-1ep16hp{border:0;color:var(--cine-accent-ink);background:var(--cine-accent);box-shadow:0 12px 24px color-mix(in srgb,var(--cine-accent) 30%,transparent)}.ghost.svelte-1ep16hp{border:1px solid color-mix(in srgb,var(--cine-ink) 18%,transparent);color:var(--cine-ink);background:#ffffffc0}.solid.svelte-1ep16hp:active,.ghost.svelte-1ep16hp:active{transform:scale(.97)}.icon.svelte-1ep16hp{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #3a234024;border-radius:999px;cursor:pointer;color:var(--cine-ink);background:#ffffffd0;box-shadow:0 6px 16px #3a234014}.solid.svelte-1ep16hp:focus-visible,.ghost.svelte-1ep16hp:focus-visible,.icon.svelte-1ep16hp:focus-visible,.views.svelte-1ep16hp button:where(.svelte-1ep16hp):focus-visible,.grab.svelte-1ep16hp:focus-visible,.joystick.svelte-1ep16hp:focus-visible{outline:3px solid color-mix(in srgb,var(--cine-accent) 55%,#fff);outline-offset:3px}.views.svelte-1ep16hp{display:none;flex:none;padding:3px;border-radius:999px;background:#ffffffc0;border:1px solid color-mix(in srgb,var(--cine-ink) 14%,transparent)}.views.svelte-1ep16hp button:where(.svelte-1ep16hp){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:6px 14px;border:0;border-radius:999px;cursor:pointer;font:700 14px/1 var(--cine-body);color:var(--cine-ink);background:transparent;transition:background .2s ease,color .2s ease}.views.svelte-1ep16hp button[aria-pressed=true]:where(.svelte-1ep16hp){color:var(--cine-accent-ink);background:var(--cine-accent);box-shadow:0 6px 14px color-mix(in srgb,var(--cine-accent) 30%,transparent)}.mini.svelte-1ep16hp{display:none;align-items:center;gap:12px;padding:8px 8px 8px 10px;border-radius:999px;background:color-mix(in srgb,#c7a6f2 14%,#fff);border:1px solid color-mix(in srgb,#c7a6f2 40%,transparent)}.mini-capsule.svelte-1ep16hp{position:relative;flex:none;width:38px;height:38px;--d:38px}.mini-count.svelte-1ep16hp{flex:1;min-width:0;margin:0;font:700 14px/1.3 var(--cine-body);color:var(--cine-ink)}.mini.svelte-1ep16hp .solid:where(.svelte-1ep16hp){min-height:44px;padding:8px 16px;font-size:14px}.status.svelte-1ep16hp{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-height:48px}.progress.svelte-1ep16hp{display:inline-flex;align-items:center;gap:8px;margin:0;font:700 14px/1.3 var(--cine-body);letter-spacing:.04em;color:var(--cine-muted);font-variant-numeric:tabular-nums}.done.svelte-1ep16hp .progress:where(.svelte-1ep16hp){color:var(--cine-accent)}.glyph.svelte-1ep16hp{display:inline-grid;flex:none;width:16px;height:15px;color:var(--cine-accent)}.glyph.svelte-1ep16hp svg:where(.svelte-1ep16hp){width:100%;height:100%}.note.svelte-1ep16hp{margin:0;font:500 14px/1.45 var(--cine-body);color:var(--cine-muted)}.hint.svelte-1ep16hp{margin-top:auto}.reasons.svelte-1ep16hp{display:grid;gap:10px;margin:0;padding:0;list-style:none}.reasons.svelte-1ep16hp li:where(.svelte-1ep16hp){position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:8px 14px 8px 8px;border-radius:18px;border:1.5px dashed color-mix(in srgb,#b48be6 34%,transparent);background:color-mix(in srgb,#c7a6f2 6%,transparent);isolation:isolate}.reasons.svelte-1ep16hp li.open:where(.svelte-1ep16hp){border:1px solid color-mix(in srgb,var(--hue) 55%,#fff);background:color-mix(in srgb,var(--hue) 16%,#fff);animation:svelte-1ep16hp-card-pop .55s cubic-bezier(.3,1.4,.5,1) var(--delay) both}.reasons.svelte-1ep16hp li.open:where(.svelte-1ep16hp):before{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;opacity:0;pointer-events:none;background:radial-gradient(120% 140% at 0% 50%,color-mix(in srgb,var(--hue) 70%,#fff),transparent 70%);animation:svelte-1ep16hp-row-glow 1.8s ease var(--delay) both}.bullet.svelte-1ep16hp{position:relative;display:grid;place-items:center;width:40px;height:40px;flex:none}.locked.svelte-1ep16hp{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#9b72d6;background:color-mix(in srgb,#c7a6f2 22%,#fff)}.cup.svelte-1ep16hp{position:absolute;left:3px;right:3px;bottom:2px;height:17px;border-radius:0 0 50% 50%/0 0 100% 100%;background:linear-gradient(180deg,color-mix(in srgb,var(--hue) 70%,#fff),var(--hue) 55%,color-mix(in srgb,var(--hue) 78%,#3a2340));box-shadow:inset 0 2px #ffffff8c}.bullet.svelte-1ep16hp img:where(.svelte-1ep16hp){position:relative;width:34px;height:34px;margin-bottom:10px;object-fit:contain;filter:drop-shadow(0 2px 2px #3a234026)}.open.svelte-1ep16hp .bullet:where(.svelte-1ep16hp){animation:svelte-1ep16hp-bullet-pop .6s cubic-bezier(.3,1.6,.5,1) var(--delay) both}.line.svelte-1ep16hp{position:relative;font-weight:500;line-height:1.42;overflow-wrap:anywhere}.still-in.svelte-1ep16hp{font:500 14px/1.4 var(--cine-body);color:#8a6fb0}.words.svelte-1ep16hp{display:block}.open.svelte-1ep16hp .words:where(.svelte-1ep16hp){animation:svelte-1ep16hp-row-in .6s cubic-bezier(.2,.9,.3,1) var(--delay) both}.machine.svelte-1ep16hp{--m:min(100cqw,100cqh * .8);position:relative;width:var(--m);height:min(100cqh,var(--m) / .66);container-type:inline-size;display:grid;grid-template-rows:auto minmax(0,1fr);animation:svelte-1ep16hp-machine-in .9s cubic-bezier(.22,1.35,.42,1) both;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.machine.svelte-1ep16hp:before{content:"";position:absolute;left:8%;right:8%;bottom:-3.2cqw;height:7cqw;border-radius:50%;z-index:-1;background:radial-gradient(closest-side,color-mix(in srgb,var(--cine-ink) 28%,transparent),transparent)}.marquee.svelte-1ep16hp{position:relative;z-index:2;height:16cqw;margin:0 3cqw -1.2cqw;border-radius:50% 50% 2.4cqw 2.4cqw/100% 100% 2.4cqw 2.4cqw;background:radial-gradient(120% 140% at 50% 120%,#d8bdfa,#b98ff0 70%,#a77be6);box-shadow:inset 0 1cqw #ffffff59,inset 0 -1.2cqw #8f63d433,0 1.4cqw 2.4cqw -1cqw #6a3fa84d}.bulb.svelte-1ep16hp{position:absolute;width:2.6cqw;height:2.6cqw;margin:-1.3cqw 0 0 -1.3cqw;border-radius:50%;background:radial-gradient(circle at 38% 34%,#fff,#fff3c4 45%,#ffd36b);box-shadow:0 0 0 .4cqw #fff6}.bulb.svelte-1ep16hp:after{content:"";position:absolute;inset:-1.5cqw;border-radius:50%;background:radial-gradient(closest-side,#fff1b8,#ffd98a88 45%,transparent);animation:svelte-1ep16hp-bulb 1.6s ease-in-out calc(var(--i) * -.12s) infinite}.bulb.svelte-1ep16hp:nth-child(2n):after{animation-delay:calc(var(--i) * -.12s - .8s)}.sign.svelte-1ep16hp{position:absolute;left:50%;bottom:2cqw;translate:-50% 0;display:flex;align-items:center;gap:1.4cqw;max-width:78%;padding:1.1cqw 3.2cqw 1.3cqw;border-radius:99px;background:linear-gradient(180deg,#fffaf3,#ffeede);box-shadow:0 .6cqw #e7c8e9,inset 0 0 0 .4cqw #fff;white-space:nowrap}.sign.svelte-1ep16hp b:where(.svelte-1ep16hp){overflow:hidden;text-overflow:ellipsis;font:400 clamp(13px,5cqw,24px)/1.05 var(--cine-display);color:var(--cine-accent);letter-spacing:.01em}.sign-heart.svelte-1ep16hp{display:grid;flex:none;width:2.6cqw;height:2.4cqw;color:#f59bb5}.sign-heart.svelte-1ep16hp svg:where(.svelte-1ep16hp){width:100%;height:100%}.cabinet.svelte-1ep16hp{position:relative;z-index:1;display:grid;grid-template-rows:minmax(0,1fr) auto auto;min-height:0;padding:3.2cqw 3.6cqw 0;border-radius:5cqw 5cqw 3cqw 3cqw;background:repeating-linear-gradient(90deg,#ffffff1f 0 2.2cqw,#fff0 2.2cqw 4.4cqw),linear-gradient(90deg,#f8b0c5,#ffc8d7 14%,#f9aec3 46%,#f39bb4 86%,#e98aa5);box-shadow:inset 0 .8cqw #fff6,inset -1.2cqw 0 #e17f9b55,0 2.6cqw 4cqw -2cqw color-mix(in srgb,var(--cine-ink) 36%,transparent)}.cabinet.svelte-1ep16hp:after{content:"";position:absolute;left:7%;right:7%;bottom:-2.6cqw;height:2.8cqw;z-index:-1;background:radial-gradient(circle at 10% 0,#7d4b80 0 2.2cqw,transparent 2.3cqw),radial-gradient(circle at 90% 0,#7d4b80 0 2.2cqw,transparent 2.3cqw)}.window.svelte-1ep16hp{position:relative;min-height:0;padding:2.2cqw;border-radius:3.6cqw;background:linear-gradient(180deg,#fffaf4,#fff1e6);box-shadow:inset 0 0 0 .5cqw #fff,inset 0 -.8cqw #f6d9cd,0 .9cqw #e58aa4}.glass.svelte-1ep16hp{position:relative;height:100%;overflow:hidden;border-radius:2.4cqw;touch-action:none;cursor:crosshair;isolation:isolate;box-shadow:inset 0 0 0 .35cqw #ffffffb3,inset 0 1.6cqw 2.4cqw -1.4cqw #6b3a7a40}.wall.svelte-1ep16hp{position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 20% 30%,#ffffff8c 0 .7cqw,transparent .8cqw) 0 0/7cqw 7cqw,radial-gradient(circle at 70% 75%,#ffffff6b 0 .5cqw,transparent .6cqw) 0 0/7cqw 7cqw,linear-gradient(180deg,#e9dcff,#f6e3f6 46%,#ffe9ef 78%,#fff0e4)}.wall.svelte-1ep16hp:after{content:"";position:absolute;inset:0;background:radial-gradient(70% 60% at 50% 38%,#ffffff70,transparent 70%)}.bed.svelte-1ep16hp{position:absolute;left:0;right:0;bottom:0;z-index:1;height:calc(var(--floor) + 1.6cqw);background:radial-gradient(circle at 50% 50%,#f59bb5 0 42%,transparent 46%) 0 0/3.4cqw 3cqw,radial-gradient(circle at 50% 50%,#c7a6f2 0 42%,transparent 46%) 1.7cqw 1.5cqw/3.4cqw 3cqw,radial-gradient(circle at 50% 50%,#9fe0c9 0 40%,transparent 44%) .9cqw .8cqw/3.1cqw 2.8cqw,radial-gradient(circle at 50% 50%,#ffd98a 0 40%,transparent 44%) 2.4cqw 2.1cqw/3.1cqw 2.8cqw,linear-gradient(180deg,#ffe3ec,#f9cfe0);-webkit-mask:linear-gradient(180deg,transparent,#000 1.6cqw);mask:linear-gradient(180deg,transparent,#000 1.6cqw)}.bed.svelte-1ep16hp:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffff66,transparent 30%,#3a234014)}.capsule.svelte-1ep16hp{position:absolute;z-index:2;width:var(--d);height:var(--d);translate:-50% -50%;rotate:var(--tilt)}.capsule.popping.svelte-1ep16hp{animation:svelte-1ep16hp-pop-out .62s cubic-bezier(.3,.9,.4,1) var(--pop) both}.shell.svelte-1ep16hp{position:absolute;inset:0;display:block;border-radius:50%;filter:drop-shadow(0 calc(var(--d) * .06) calc(var(--d) * .05) #6b3a7a40)}.inside.svelte-1ep16hp{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--hue) 10%,#fff),color-mix(in srgb,var(--hue) 34%,#fff) 72%)}.toy.svelte-1ep16hp{position:absolute;left:13%;top:3%;width:74%;height:74%;object-fit:contain}.base.svelte-1ep16hp{position:absolute;left:0;right:0;bottom:0;height:52%;border-radius:0 0 50% 50%/0 0 100% 100%;background:linear-gradient(180deg,color-mix(in srgb,var(--hue) 72%,#fff) 0 9%,var(--hue) 18%,color-mix(in srgb,var(--hue) 82%,#3a2340) 100%);box-shadow:inset 0 calc(var(--d) * .035) 0 #ffffff80,inset calc(var(--d) * -.06) calc(var(--d) * -.05) 0 #3a23401f}.dome.svelte-1ep16hp{position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse 30% 20% at 32% 20%,#ffffffd9,#fff0),linear-gradient(180deg,#fff3,#fff0 40%);box-shadow:inset 0 0 0 calc(var(--d) * .03) #ffffffb3,inset 0 0 calc(var(--d) * .1) #ffffff59}.track.svelte-1ep16hp{position:absolute;left:0;top:0;z-index:3;width:0;height:0;will-change:transform}.carriage.svelte-1ep16hp{position:absolute;left:calc(var(--d) * -.62);top:0;width:calc(var(--d) * 1.24);border-radius:0 0 calc(var(--d) * .2) calc(var(--d) * .2);background:linear-gradient(90deg,#f7a6bd,#ffd0dc 30%,#f59bb5 70%,#e5809e);box-shadow:inset 0 calc(var(--d) * -.06) 0 #d76f8e,0 calc(var(--d) * .05) calc(var(--d) * .08) #6b3a7a33}.carriage.svelte-1ep16hp:after{content:"";position:absolute;left:18%;right:18%;bottom:calc(var(--d) * .07);height:calc(var(--d) * .07);border-radius:9px;background:#fff6;box-shadow:0 0 0 1px #ffffff40}.hanger.svelte-1ep16hp{position:absolute;left:0;width:0;height:0;transform-origin:0 0;will-change:transform}.sway.svelte-1ep16hp{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0;animation:svelte-1ep16hp-sway 3.6s ease-in-out infinite}.busy.svelte-1ep16hp .sway:where(.svelte-1ep16hp){animation:none}.drop.svelte-1ep16hp{position:absolute;left:0;top:0;width:0;height:0;will-change:transform}.claw.svelte-1ep16hp{position:absolute;left:0;top:0;translate:-50% 0}.cable.svelte-1ep16hp{position:absolute;left:50%;bottom:calc(100% - var(--d) * .06);width:max(2px,calc(var(--d) * .045));height:900px;translate:-50% 0;border-radius:2px;background:linear-gradient(90deg,#9a90ab,#e6e1ee 50%,#9a90ab)}.hub.svelte-1ep16hp{position:absolute;left:50%;top:0;width:calc(var(--d) * .92);height:calc(var(--d) * .38);translate:-50% 0;z-index:4;border-radius:calc(var(--d) * .2) calc(var(--d) * .2) calc(var(--d) * .26) calc(var(--d) * .26);background:linear-gradient(180deg,#ffd0dc,#f59bb5 46%,#e07d9b);box-shadow:inset 0 calc(var(--d) * .04) 0 #fff9,inset 0 calc(var(--d) * -.05) 0 #c95f80,0 calc(var(--d) * .04) calc(var(--d) * .06) #6b3a7a40}.neck.svelte-1ep16hp{position:absolute;left:50%;top:calc(var(--d) * -.1);width:calc(var(--d) * .26);height:calc(var(--d) * .14);translate:-50% 0;border-radius:calc(var(--d) * .05);background:linear-gradient(90deg,#a59bb6,#f2eff7 50%,#a59bb6)}.badge.svelte-1ep16hp{position:absolute;left:50%;top:50%;display:grid;width:calc(var(--d) * .3);height:calc(var(--d) * .27);translate:-50% -46%;color:#d1264f;filter:drop-shadow(0 1px 0 #fff8)}.badge.svelte-1ep16hp svg:where(.svelte-1ep16hp){width:100%;height:100%}.prong.svelte-1ep16hp{position:absolute;top:calc(var(--d) * .28);width:calc(var(--d) * .42);height:calc(var(--d) * 1.06);z-index:3;will-change:transform}.prong.svelte-1ep16hp svg:where(.svelte-1ep16hp){display:block;width:100%;height:100%;overflow:visible}.prong.svelte-1ep16hp path:where(.svelte-1ep16hp){fill:#d9d3e3;stroke:#8e86a1;stroke-width:1.6;vector-effect:non-scaling-stroke}.prong.left.svelte-1ep16hp{left:calc(var(--d) * .094);transform-origin:80% 3%}.prong.right.svelte-1ep16hp{left:calc(var(--d) * .986);transform-origin:20% 3%}.prong.right.svelte-1ep16hp svg:where(.svelte-1ep16hp){transform:scaleX(-1)}.prong.left.svelte-1ep16hp path:where(.svelte-1ep16hp){fill:#e4dfec}.prong.right.svelte-1ep16hp path:where(.svelte-1ep16hp){fill:#cfc8db}.finger.svelte-1ep16hp{position:absolute;left:50%;top:calc(var(--d) * .3);width:calc(var(--d) * .16);height:calc(var(--d) * .86);translate:-50% 0;z-index:1;border-radius:0 0 calc(var(--d) * .1) calc(var(--d) * .1);background:linear-gradient(90deg,#8e86a1,#bdb5ca 50%,#8e86a1)}.held.svelte-1ep16hp{position:absolute;left:50%;z-index:2;width:var(--d);height:var(--d);translate:-50% -50%;opacity:0}.held-fall.svelte-1ep16hp,.held-tilt.svelte-1ep16hp{position:absolute;inset:0}.rail.svelte-1ep16hp{position:absolute;left:0;right:0;top:calc(var(--rail) - var(--d) * .09);z-index:4;height:calc(var(--d) * .18);background:linear-gradient(180deg,#fbfaff,#d9d3e6 45%,#a9a1bb 80%,#c9c2d6);box-shadow:0 calc(var(--d) * .05) calc(var(--d) * .06) #6b3a7a2e}.rail.svelte-1ep16hp:before,.rail.svelte-1ep16hp:after{content:"";position:absolute;top:-30%;width:calc(var(--d) * .2);height:160%;border-radius:calc(var(--d) * .05);background:linear-gradient(180deg,#f7a6bd,#e07d9b)}.rail.svelte-1ep16hp:before{left:0}.rail.svelte-1ep16hp:after{right:0}.chute.svelte-1ep16hp{position:absolute;bottom:0;z-index:5}.mouth.svelte-1ep16hp{position:absolute;left:6%;right:6%;top:-2%;height:18%;border-radius:50%;background:radial-gradient(closest-side,#2e1a34d9,#3a234099 62%,#3a234000)}.rim.svelte-1ep16hp{position:absolute;left:-3%;right:-3%;top:4%;height:max(6px,1.6cqw);border-radius:99px;background:repeating-linear-gradient(120deg,#f59bb5 0 7px,#fff 7px 14px);box-shadow:0 .4cqw .6cqw #6b3a7a33,inset 0 -.3cqw #00000014}.front.svelte-1ep16hp{position:absolute;inset:6% 0 0;border-radius:calc(var(--d) * .14) calc(var(--d) * .14) 0 0;background:linear-gradient(180deg,#ffffff8c,#ffffff38 30%,#ffffff2e),repeating-linear-gradient(115deg,#ffffff2e 0 6px,transparent 6px 14px);border:max(1.5px,.35cqw) solid #fffffff2;border-bottom:0;box-shadow:inset 0 calc(var(--d) * .12) 0 -1px #f59bb5cc,inset 0 calc(var(--d) * .2) 0 -1px #fff9}.sticker.svelte-1ep16hp{position:absolute;left:50%;top:55%;display:grid;width:calc(var(--d) * .42);height:calc(var(--d) * .38);translate:-50% -50%;color:#d1264f;opacity:.85}.sticker.svelte-1ep16hp svg:where(.svelte-1ep16hp){width:100%;height:100%}.neon.svelte-1ep16hp{position:absolute;left:50%;top:50%;z-index:1;width:42%;height:auto;translate:-50% -58%;opacity:0;overflow:visible;transition:opacity .6s ease;filter:drop-shadow(0 0 2px #ff4f84) drop-shadow(0 0 7px #ff8fb0)}.neon.svelte-1ep16hp path:where(.svelte-1ep16hp){fill:none;stroke:#ff6f97;stroke-width:1.1;stroke-linejoin:round}.done.svelte-1ep16hp .neon:where(.svelte-1ep16hp){opacity:.95;animation:svelte-1ep16hp-neon-on 1.2s steps(1,end) .9s both}.shine.svelte-1ep16hp{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden;background:linear-gradient(112deg,#fff0 0 10%,#ffffff40 10% 14%,#fff0 14% 19%,#ffffff26 19% 21%,#fff0 21%),linear-gradient(180deg,#ffffff26,#fff0 22%)}.shine.svelte-1ep16hp:after{content:"";position:absolute;top:-10%;bottom:-10%;left:0;width:22%;background:linear-gradient(90deg,#fff0,#fff5,#fff0);transform:translate(-140%) skew(-16deg);animation:svelte-1ep16hp-sheen 7.5s ease-in-out 1.6s infinite}.reveal.svelte-1ep16hp{position:absolute;inset:0;z-index:8;display:grid;place-items:end center;padding:3cqw 4cqw calc(var(--floor) * .55);pointer-events:none;background:radial-gradient(60% 46% at 50% 78%,color-mix(in srgb,var(--glow,#ffd98a) 30%,#fffaf400),#fffaf400),linear-gradient(180deg,#fffaf4a6,#fffaf4e0 42%,#fffaf4f0);animation:svelte-1ep16hp-veil-in .4s ease both}.ticket.svelte-1ep16hp{display:grid;justify-items:center;gap:.4cqw;width:100%}.slip.svelte-1ep16hp{position:relative;display:grid;justify-items:center;gap:.6cqw;max-width:min(100%,62cqw);margin:0;padding:2.4cqw 4cqw 2.8cqw;border-radius:2.6cqw;background:linear-gradient(180deg,#fffefb,#fff7ef);box-shadow:0 1.6cqw 3.2cqw -1.6cqw #6b3a7a59,inset 0 0 0 .3cqw color-mix(in srgb,var(--hue) 50%,#fff);transform-origin:50% 100%;animation:svelte-1ep16hp-slip-in .5s cubic-bezier(.2,1.3,.4,1) .72s both}.slip.svelte-1ep16hp:before{content:"";position:absolute;left:50%;top:-1.3cqw;width:13cqw;height:2.6cqw;translate:-50% 0;rotate:-2deg;border-radius:.4cqw;background:color-mix(in srgb,var(--hue) 70%,#fff);opacity:.9}.slip-heart.svelte-1ep16hp{display:grid;width:3.2cqw;height:3cqw;color:var(--cine-accent)}.slip-heart.svelte-1ep16hp svg:where(.svelte-1ep16hp){width:100%;height:100%}.slip-text.svelte-1ep16hp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden;text-align:center;text-wrap:balance;font:400 clamp(17px,5.4cqw,26px)/1.16 PartyHand,"Shadows Into Light",cursive;color:var(--cine-ink);overflow-wrap:anywhere}.prize.svelte-1ep16hp{position:relative;width:min(25cqw,150px);aspect-ratio:1}.open-inside.svelte-1ep16hp{position:absolute;inset:0;border-radius:50%;clip-path:inset(48% 0 0);background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--hue) 22%,#fff),color-mix(in srgb,var(--hue) 50%,#fff))}.open-toy.svelte-1ep16hp{position:absolute;left:14%;top:4%;width:72%;height:72%;object-fit:contain;filter:drop-shadow(0 .8cqw .8cqw #6b3a7a33);transform:translateY(-22%) scale(1.06);animation:svelte-1ep16hp-toy-up .62s cubic-bezier(.25,1.5,.45,1) .6s both}.open-base.svelte-1ep16hp{position:absolute;left:0;right:0;bottom:0;height:52%;border-radius:0 0 50% 50%/0 0 100% 100%;background:linear-gradient(180deg,color-mix(in srgb,var(--hue) 72%,#fff) 0 8%,var(--hue) 16%,color-mix(in srgb,var(--hue) 82%,#3a2340));box-shadow:inset 0 .6cqw #ffffff80,inset -1cqw -.8cqw #3a23401f,0 1.2cqw 1.6cqw -.8cqw #6b3a7a59}.open-dome.svelte-1ep16hp{position:absolute;left:0;right:0;top:0;height:50%;border-radius:50% 50% 0 0/100% 100% 0 0;transform-origin:15% 100%;background:radial-gradient(ellipse 34% 48% at 34% 44%,#ffffffe6,#fff0),linear-gradient(180deg,color-mix(in srgb,var(--hue) 22%,#ffffffcc),color-mix(in srgb,var(--hue) 40%,#ffffff99));box-shadow:inset 0 0 0 .5cqw #fffc;opacity:0;transform:translate(-48%,-130%) rotate(-58deg);animation:svelte-1ep16hp-dome-off .62s cubic-bezier(.4,0,.6,1) .5s both}.spark.svelte-1ep16hp{position:absolute;left:50%;top:50%;width:4.2cqw;height:4.2cqw;margin:-2.1cqw 0 0 -2.1cqw;color:var(--spark);opacity:0;background:var(--spark);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);animation:svelte-1ep16hp-spark .9s cubic-bezier(.2,.8,.3,1) calc(.55s + var(--n) * 25ms) both}.spark.heart.svelte-1ep16hp{background:none;clip-path:none}.spark.svelte-1ep16hp svg:where(.svelte-1ep16hp){display:block;width:100%;height:100%}.deck.svelte-1ep16hp{display:flex;align-items:center;justify-content:space-between;height:max(46px,15cqw);margin-top:3cqw;padding:0 8cqw;border-radius:3.4cqw;background:linear-gradient(180deg,#fffaf5,#ffeee3);box-shadow:inset 0 .6cqw #fff,0 1.2cqw #e88aa5,0 1.6cqw 2cqw -1cqw #6b3a7a40}.deck-stick.svelte-1ep16hp{position:relative;width:12cqw;height:12cqw}.stick-base.svelte-1ep16hp{position:absolute;inset:14% 6% 0;border-radius:50%;background:radial-gradient(circle at 50% 35%,#6a4a73,#3a2340 70%);box-shadow:inset 0 .5cqw #ffffff26,0 .5cqw .8cqw #3a234040}.stick-lever.svelte-1ep16hp{position:absolute;left:50%;bottom:40%;width:1.4cqw;height:58%;translate:-50% 0;border-radius:3px;transform-origin:50% 100%;background:linear-gradient(90deg,#a59bb6,#f2eff7 50%,#a59bb6);transform:rotate(calc(var(--tilt) * 26deg));transition:transform .14s ease-out}.stick-ball.svelte-1ep16hp{position:absolute;left:50%;top:0;width:6.8cqw;height:6.8cqw;translate:-50% -55%;border-radius:50%;background:radial-gradient(circle at 36% 30%,#ff9db6,#e2335d 52%,#a8143a);box-shadow:inset 0 -.4cqw #8f0f30,0 .6cqw .8cqw #3a234040}.deck-button.svelte-1ep16hp{width:13cqw;height:9cqw;border-radius:999px;background:radial-gradient(120% 90% at 40% 18%,#ff8aa9,#e2335d 48%,#c21f49);box-shadow:inset 0 .6cqw #ffffff59,0 1cqw #a8143a;transition:transform .12s ease}.busy.svelte-1ep16hp .deck-button:where(.svelte-1ep16hp){transform:translateY(.8cqw)}.plinth.svelte-1ep16hp{display:flex;align-items:center;justify-content:space-between;gap:3cqw;height:12cqw;padding:0 5cqw;margin-top:1.4cqw}.door.svelte-1ep16hp{position:relative;width:36cqw;height:8cqw;border-radius:2cqw;background:linear-gradient(180deg,#2e1a34,#4f3157);box-shadow:inset 0 .9cqw 1.2cqw #0006,0 0 0 .6cqw #fff0f4,0 .9cqw 0 .6cqw #e58aa4}.flap.svelte-1ep16hp{position:absolute;inset:1cqw 1.6cqw 2.2cqw;display:grid;place-items:center;border-radius:1cqw 1cqw 1.8cqw 1.8cqw;color:#f27a9c;background:linear-gradient(180deg,#fff7fa,#ffd3e0);box-shadow:inset 0 -.7cqw #f2b0c4,0 .5cqw .7cqw #00000040}.flap.svelte-1ep16hp svg:where(.svelte-1ep16hp){width:3.2cqw;height:3cqw}.score.svelte-1ep16hp{display:inline-flex;align-items:center;gap:1.2cqw;height:8cqw;min-width:15cqw;padding:0 2.4cqw;border-radius:2cqw;justify-content:center;background:linear-gradient(180deg,#2e1a34,#4f3157);box-shadow:inset 0 .7cqw 1cqw #0000008c,0 0 0 .6cqw #fff0f4,0 .9cqw 0 .6cqw #e58aa4}.score.svelte-1ep16hp b:where(.svelte-1ep16hp){font:800 clamp(11px,4.2cqw,19px)/1 var(--cine-body);font-variant-numeric:tabular-nums;letter-spacing:.06em;color:#ffc2d3;text-shadow:0 0 .7cqw #ff5c8a,0 0 2cqw #ff5c8a8c;animation:svelte-1ep16hp-score-tick .5s cubic-bezier(.3,1.6,.5,1) both}.score-heart.svelte-1ep16hp{display:grid;width:3cqw;height:2.8cqw;color:#ff8fb0;filter:drop-shadow(0 0 .6cqw #ff5c8a)}.score-heart.svelte-1ep16hp svg:where(.svelte-1ep16hp){width:100%;height:100%}.view.svelte-1ep16hp{position:absolute;inset:0}.view.svelte-1ep16hp canvas:where(.svelte-1ep16hp){position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;cursor:grab;opacity:0;transition:opacity .55s ease}.view.svelte-1ep16hp canvas:where(.svelte-1ep16hp):active{cursor:grabbing}.ready.svelte-1ep16hp .view:where(.svelte-1ep16hp) canvas:where(.svelte-1ep16hp){opacity:1}.placeholder.svelte-1ep16hp{position:absolute;left:50%;top:50%;height:94%;max-width:94%;aspect-ratio:.7;translate:-50% -50%;border-radius:16% 16% 8% 8%/10% 10% 5% 5%;background:linear-gradient(180deg,#dcc8fb 0 19%,#f7bccd 19% 100%);opacity:.5;animation:svelte-1ep16hp-breathe 1.5s ease-in-out infinite;transition:opacity .5s ease}.placeholder.svelte-1ep16hp i:where(.svelte-1ep16hp){position:absolute;left:7%;right:7%;top:22%;height:46%;border-radius:7%/9%;background:#fff8f4b3}.ready.svelte-1ep16hp .placeholder:where(.svelte-1ep16hp){opacity:0;animation:none}.slip3d.svelte-1ep16hp{position:absolute;z-index:3;width:min(92%,66cqw);display:grid;justify-items:center;pointer-events:none;transform:translate(-50%,-100%)}.slip3d.svelte-1ep16hp .slip:where(.svelte-1ep16hp){animation:none;max-width:100%}.minimize.svelte-1ep16hp{position:absolute;top:0;inset-inline-end:0;z-index:5;display:none}.pad.svelte-1ep16hp{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;min-width:0;border-radius:999px;background:linear-gradient(180deg,#ffffffd9,#fffaf4c7);border:1px solid #ffffffb3;box-shadow:0 18px 36px -22px color-mix(in srgb,var(--cine-ink) 40%,transparent)}.pad[inert].svelte-1ep16hp{opacity:.62}.joystick.svelte-1ep16hp{--size:104px;position:relative;flex:none;width:var(--size);height:var(--size);border-radius:50%;cursor:grab;touch-action:none;outline:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.joystick.dragged.svelte-1ep16hp{cursor:grabbing}.joy-base.svelte-1ep16hp{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 38%,#fff,#f6eef9 62%,#eadff2);border:1px solid color-mix(in srgb,var(--cine-ink) 12%,transparent);box-shadow:inset 0 -6px 12px #3a234014,inset 0 3px #fff,0 8px 18px -10px #3a234066}.joy-dot.svelte-1ep16hp{position:absolute;width:0;height:0;border:6px solid transparent;opacity:.55}.joy-dot.up.svelte-1ep16hp{left:50%;top:9px;translate:-50% 0;border-bottom-color:var(--cine-ink);border-top-width:0}.joy-dot.down.svelte-1ep16hp{left:50%;bottom:9px;translate:-50% 0;border-top-color:var(--cine-ink);border-bottom-width:0}.joy-dot.left.svelte-1ep16hp{top:50%;left:9px;translate:0 -50%;border-right-color:var(--cine-ink);border-left-width:0}.joy-dot.right.svelte-1ep16hp{top:50%;right:9px;translate:0 -50%;border-left-color:var(--cine-ink);border-right-width:0}.joy-knob.svelte-1ep16hp{position:absolute;left:50%;top:50%;width:46%;height:46%;margin:-23% 0 0 -23%;border-radius:50%;background:radial-gradient(circle at 36% 30%,#ff9db6,var(--cine-accent) 55%,color-mix(in srgb,var(--cine-accent) 70%,#3a2340));box-shadow:inset 0 -3px #0000002e,0 6px 12px -4px color-mix(in srgb,var(--cine-accent) 70%,transparent);transform:translate(calc(var(--kx,0) * var(--size) * .27),calc(var(--ky,0) * var(--size) * .27));transition:transform .28s cubic-bezier(.3,1.6,.5,1)}.joystick.dragged.svelte-1ep16hp .joy-knob:where(.svelte-1ep16hp){transition:none}.strip.svelte-1ep16hp{flex:1;min-width:0;display:grid;gap:3px;margin:0;text-align:center}.strip-count.svelte-1ep16hp{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:700 13px/1.25 var(--cine-body);letter-spacing:.03em;color:var(--cine-muted)}.done.svelte-1ep16hp .strip-count:where(.svelte-1ep16hp){color:var(--cine-accent)}.strip-last.svelte-1ep16hp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font:400 17px/1.15 PartyHand,Shadows Into Light,cursive;color:var(--cine-ink);overflow-wrap:anywhere}.grab.svelte-1ep16hp{position:relative;flex:none;display:grid;place-items:center;width:76px;height:76px;padding:6px;border:0;border-radius:50%;cursor:pointer;color:var(--cine-accent-ink);background:radial-gradient(circle at 38% 30%,color-mix(in srgb,var(--cine-accent) 55%,#fff),var(--cine-accent) 58%,color-mix(in srgb,var(--cine-accent) 78%,#3a2340));box-shadow:inset 0 -4px #0000002e,0 12px 24px color-mix(in srgb,var(--cine-accent) 34%,transparent);touch-action:manipulation;transition:transform .12s ease}.grab.svelte-1ep16hp span:where(.svelte-1ep16hp){font:800 13px/1.05 var(--cine-body);letter-spacing:.1em;text-transform:uppercase;text-align:center;overflow-wrap:anywhere}.grab.svelte-1ep16hp:active,.busy.svelte-1ep16hp .grab:where(.svelte-1ep16hp){transform:scale(.94)}.grab[aria-disabled=true].svelte-1ep16hp{cursor:default}.done.svelte-1ep16hp .grab:where(.svelte-1ep16hp){filter:saturate(.55) brightness(1.05)}.grab.svelte-1ep16hp:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:3px solid var(--cine-accent);opacity:0;pointer-events:none}.game.svelte-1ep16hp:not(.started) .grab:where(.svelte-1ep16hp):after{animation:svelte-1ep16hp-nudge 1.9s ease-out 1.4s infinite}.still.svelte-1ep16hp .grab:where(.svelte-1ep16hp):after{display:none}.hearts.svelte-1ep16hp{position:absolute;left:50%;top:40%;z-index:9;width:0;height:0;pointer-events:none}.hearts.svelte-1ep16hp i:where(.svelte-1ep16hp){position:absolute;left:0;top:0;width:var(--size);height:var(--size);translate:-50% -50%;opacity:0;animation:svelte-1ep16hp-heart-fly 1.9s cubic-bezier(.15,.7,.3,1) var(--delay) both}.hearts.svelte-1ep16hp svg:where(.svelte-1ep16hp){display:block;width:100%;height:100%;filter:drop-shadow(0 2px 2px #6b3a7a33)}.done.svelte-1ep16hp .bulb:where(.svelte-1ep16hp):after{animation-duration:.55s}.sr-only.svelte-1ep16hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.strip-keys.svelte-1ep16hp{display:none;flex-wrap:wrap;justify-content:center;gap:6px 12px}@media(hover:hover)and (pointer:fine){.strip-keys.svelte-1ep16hp{display:flex}.strip-hint.svelte-1ep16hp{display:none}}@keyframes svelte-1ep16hp-card-in{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes svelte-1ep16hp-machine-in{0%{opacity:0;transform:translateY(34px) scale(.86) rotate(-3deg)}to{opacity:1;transform:none}}@keyframes svelte-1ep16hp-bulb{0%,to{opacity:.25}50%{opacity:1}}@keyframes svelte-1ep16hp-sway{0%,to{transform:rotate(-1.3deg)}50%{transform:rotate(1.3deg)}}@keyframes svelte-1ep16hp-sheen{0%,62%{transform:translate(-140%) skew(-16deg)}to{transform:translate(560%) skew(-16deg)}}@keyframes svelte-1ep16hp-nudge{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.22)}}@keyframes svelte-1ep16hp-pop-out{0%{transform:scale(1)}35%{transform:scale(1.22) rotate(-8deg)}to{transform:scale(.15) rotate(20deg);opacity:0}}@keyframes svelte-1ep16hp-veil-in{0%{opacity:0}}@keyframes svelte-1ep16hp-slip-in{0%{opacity:0;transform:translateY(3cqw) scaleY(.2)}60%{opacity:1}to{opacity:1;transform:none}}@keyframes svelte-1ep16hp-toy-up{0%{opacity:0;transform:translateY(30%) scale(.6)}}@keyframes svelte-1ep16hp-dome-off{0%{transform:none;opacity:1}30%{transform:translate(-6%,-18%) rotate(-12deg);opacity:1}}@keyframes svelte-1ep16hp-spark{0%{opacity:0;transform:translate(0) scale(.3)}25%{opacity:1}to{opacity:0;transform:translate(var(--sx),var(--sy)) scale(1) rotate(40deg)}}@keyframes svelte-1ep16hp-heart-fly{0%{opacity:0;transform:translate(0) scale(.3) rotate(0)}14%{opacity:1}75%{opacity:1}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(1) rotate(var(--spin))}}@keyframes svelte-1ep16hp-row-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes svelte-1ep16hp-card-pop{0%{transform:scale(.96)}to{transform:none}}@keyframes svelte-1ep16hp-bullet-pop{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.16)}to{opacity:1;transform:none}}@keyframes svelte-1ep16hp-row-glow{0%{opacity:0}22%{opacity:1}to{opacity:0}}@keyframes svelte-1ep16hp-neon-on{0%{opacity:0}18%{opacity:.8}26%{opacity:.15}40%{opacity:.95}52%{opacity:.4}64%,to{opacity:.95}}@keyframes svelte-1ep16hp-score-tick{0%{opacity:.3;transform:scale(1.5)}to{opacity:1;transform:none}}@keyframes svelte-1ep16hp-breathe{0%,to{opacity:.38}50%{opacity:.62}}@container party (min-aspect-ratio:1.15) and (max-height:540px){.claw-stage.svelte-1ep16hp{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:14px;padding:clamp(64px,16cqh,76px) 14px var(--party-dock-space,104px)}.game.svelte-1ep16hp{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);align-items:end;gap:10px}.pad.svelte-1ep16hp{display:contents}.strip.svelte-1ep16hp{display:none}.joystick.svelte-1ep16hp{--size:92px;grid-column:1;grid-row:1}.screen.svelte-1ep16hp{grid-column:2;grid-row:1;height:100%}.grab.svelte-1ep16hp{grid-column:3;grid-row:1;width:70px;height:70px}.card.svelte-1ep16hp{padding:14px 16px;gap:10px;border-radius:22px}.eyebrow.svelte-1ep16hp,.hint.svelte-1ep16hp{display:none}h2.svelte-1ep16hp{font-size:clamp(22px,3.4cqw,30px)}.status.svelte-1ep16hp{min-height:44px}.reasons.svelte-1ep16hp{gap:6px}.reasons.svelte-1ep16hp li:where(.svelte-1ep16hp){padding:5px 10px 5px 5px;gap:8px}.bullet.svelte-1ep16hp{width:32px;height:32px}.bullet.svelte-1ep16hp img:where(.svelte-1ep16hp){width:26px;height:26px;margin-bottom:8px}.cup.svelte-1ep16hp{height:13px}.line.svelte-1ep16hp{font-size:14px}}@container party (max-aspect-ratio:1.15){.claw-stage.svelte-1ep16hp{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:10px;padding:clamp(60px,8.6cqh,80px) 12px var(--party-dock-space,104px)}.game.svelte-1ep16hp,.flip.svelte-1ep16hp .game:where(.svelte-1ep16hp){order:0;gap:8px}.card.svelte-1ep16hp{gap:12px;padding:10px 10px 10px 18px;border-radius:24px}.head.svelte-1ep16hp{align-items:center}.eyebrow.svelte-1ep16hp,.hint.svelte-1ep16hp{display:none}h2.svelte-1ep16hp{font-size:clamp(21px,6.2cqw,30px);line-height:1.08}.views.svelte-1ep16hp{display:flex}.status.svelte-1ep16hp{order:5;justify-content:center;min-height:0}.status.svelte-1ep16hp .progress:where(.svelte-1ep16hp){display:none}.minimize.svelte-1ep16hp{display:grid}.pad.svelte-1ep16hp{gap:10px;padding:8px 10px}[data-view=game].svelte-1ep16hp .card:where(.svelte-1ep16hp){overflow:visible}[data-view=game].svelte-1ep16hp .status:where(.svelte-1ep16hp),[data-view=game].svelte-1ep16hp .reasons:where(.svelte-1ep16hp),[data-view=game].svelte-1ep16hp .note:where(.svelte-1ep16hp){display:none}.claw-stage[data-view=list].svelte-1ep16hp{grid-template-rows:minmax(0,1fr)}[data-view=list].svelte-1ep16hp .game:where(.svelte-1ep16hp){display:none}[data-view=list].svelte-1ep16hp .card:where(.svelte-1ep16hp){padding:12px 12px 14px;align-self:stretch;overflow:hidden}[data-view=list].svelte-1ep16hp .reasons:where(.svelte-1ep16hp){flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;margin:0 -4px;padding:2px 4px 6px;scrollbar-width:thin}[data-view=list].svelte-1ep16hp .head:where(.svelte-1ep16hp){padding-inline-start:6px}[data-view=list].svelte-1ep16hp .mini:where(.svelte-1ep16hp){display:flex}.reasons.svelte-1ep16hp li:where(.svelte-1ep16hp){padding:8px 12px 8px 8px}.line.svelte-1ep16hp{font-size:15.5px}}@container party (max-aspect-ratio:1.15) and (max-width:480px){.strip-keys.svelte-1ep16hp{display:none}.strip-hint.svelte-1ep16hp{display:block;overflow:visible;-webkit-line-clamp:unset;line-clamp:none}}@container party (max-aspect-ratio:1.15) and (max-width:400px){.views.svelte-1ep16hp button:where(.svelte-1ep16hp){padding:6px 10px}.views.svelte-1ep16hp .label:where(.svelte-1ep16hp){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h2.svelte-1ep16hp{font-size:clamp(19px,5.6cqw,24px)}}@container party (max-aspect-ratio:1.15) and (max-height:640px){.claw-stage.svelte-1ep16hp{padding-top:58px;gap:8px}.card.svelte-1ep16hp{padding:6px 6px 6px 14px}h2.svelte-1ep16hp{font-size:clamp(19px,5.4cqw,24px)}.views.svelte-1ep16hp button:where(.svelte-1ep16hp){padding:6px 11px;font-size:13px}.joystick.svelte-1ep16hp{--size:88px}.grab.svelte-1ep16hp{width:68px;height:68px}.grab.svelte-1ep16hp span:where(.svelte-1ep16hp){font-size:12px}.strip-last.svelte-1ep16hp{font-size:15px}[data-view=list].svelte-1ep16hp .card:where(.svelte-1ep16hp){padding:8px 10px 12px}}.still.svelte-1ep16hp .card:where(.svelte-1ep16hp),.still.svelte-1ep16hp .machine:where(.svelte-1ep16hp),.still.svelte-1ep16hp :where(.svelte-1ep16hp),.still.svelte-1ep16hp :where(.svelte-1ep16hp):before,.still.svelte-1ep16hp :where(.svelte-1ep16hp):after{animation:none!important;transition:none!important}.still.svelte-1ep16hp .reasons:where(.svelte-1ep16hp) li.open:where(.svelte-1ep16hp):before{display:none}.still.svelte-1ep16hp .bulb:where(.svelte-1ep16hp):nth-child(2n):after{opacity:.4}@media(prefers-reduced-motion:reduce){.claw-stage.svelte-1ep16hp :where(.svelte-1ep16hp),.claw-stage.svelte-1ep16hp :where(.svelte-1ep16hp):before,.claw-stage.svelte-1ep16hp :where(.svelte-1ep16hp):after{animation:none!important;transition:none!important}}


/* === PartyCandlesStage.BaNCQnuR.css === */
.candle-cake.svelte-1m715ur{position:relative;aspect-ratio:1;width:100%;--u:5px}.candle-cake.svelte-1m715ur .cake-image{position:absolute;inset:0;z-index:1}.candle-cake.svelte-1m715ur .cake-image img{width:100%;height:100%;object-fit:cover}.masked.svelte-1m715ur .cake-image{-webkit-mask:var(--cake-mask) center/100% 100% no-repeat;mask:var(--cake-mask) center/100% 100% no-repeat}.wicks.svelte-1m715ur{position:absolute;inset:0;z-index:3;pointer-events:none}.defs.svelte-1m715ur{position:absolute;width:0;height:0;overflow:hidden;color:var(--party-smoke,#a99ca3)}.candlelight.svelte-1m715ur{position:absolute;left:50%;top:15%;width:calc(var(--u) * 62);height:calc(var(--u) * 44);translate:-50% -50%;border-radius:50%;background:radial-gradient(closest-side,#ffd99259,#ffc4702b 46%,transparent);opacity:calc(var(--lit,0) / 5);transition:opacity .6s ease}.wick.svelte-1m715ur{position:absolute;width:0;height:0}.glow.svelte-1m715ur{position:absolute;left:calc(var(--u) * -7);top:calc(var(--u) * -10.5);width:calc(var(--u) * 14);height:calc(var(--u) * 14);border-radius:50%;background:radial-gradient(closest-side,#fff3c8d9,#ffd27a73 30%,#ffb45a26 58%,transparent);scale:calc(1 - var(--wind,0) * .28);transition:opacity .42s ease;animation:svelte-1m715ur-breathe calc(2.2s + var(--i) * .31s) ease-in-out calc(var(--i) * -.53s) infinite alternate}.flame.svelte-1m715ur{position:absolute;left:calc(var(--u) * -.9);bottom:calc(var(--u) * -.6);width:calc(var(--u) * 1.8);height:calc(var(--u) * 3.9);transform-origin:50% 92%;transform:skew(calc(var(--wind,0) * var(--lean,0) * 1deg)) scale(calc(1 + var(--wind,0) * .1),calc(1 - var(--wind,0) * .3));transition:opacity .24s cubic-bezier(.55,0,1,.45),scale .24s cubic-bezier(.55,0,1,.45)}.fire.svelte-1m715ur{position:absolute;inset:0;transform-origin:50% 92%;transition:scale .24s ease-out;animation:svelte-1m715ur-flicker calc(.9s + var(--i) * .11s) ease-in-out calc(var(--i) * -.29s) infinite alternate}.fire.svelte-1m715ur:before,.fire.svelte-1m715ur:after{content:"";position:absolute}.fire.svelte-1m715ur:before{inset:-14% -70% -8%;border-radius:50%;background:radial-gradient(closest-side,#ffc35a80,#ffb45a24 62%,transparent)}.fire.svelte-1m715ur:after{inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 44'%3E%3Cdefs%3E%3CradialGradient id='f' cx='50%25' cy='74%25' r='70%25'%3E%3Cstop offset='0' stop-color='%23fffbe8'/%3E%3Cstop offset='.32' stop-color='%23ffe9a0'/%3E%3Cstop offset='.62' stop-color='%23ffb347'/%3E%3Cstop offset='.86' stop-color='%23ff7b2c' stop-opacity='.55'/%3E%3Cstop offset='1' stop-color='%23ff6a1f' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='b'%3E%3Cstop offset='0' stop-color='%238fc2ff' stop-opacity='.8'/%3E%3Cstop offset='1' stop-color='%235a8dff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M10 1C13 10 19 19 18 29C17.4 37.6 13.6 43 10 43C6.4 43 2.6 37.6 2 29C1 19 7 10 10 1Z' fill='url(%23f)'/%3E%3Cpath d='M10 15C11.8 20.4 14.6 25.6 14 31.4C13.6 35.6 11.8 38.4 10 38.4C8.2 38.4 6.4 35.6 6 31.4C5.4 25.6 8.2 20.4 10 15Z' fill='%23fffdf4' fill-opacity='.92'/%3E%3Cellipse cx='10' cy='38.6' rx='3.6' ry='4.4' fill='url(%23b)'/%3E%3C/svg%3E") center/100% 100% no-repeat}.wick[data-strain="1"].svelte-1m715ur .fire:where(.svelte-1m715ur){scale:.88}.wick[data-strain="2"].svelte-1m715ur .fire:where(.svelte-1m715ur){scale:.74}.wick[data-strain="3"].svelte-1m715ur .fire:where(.svelte-1m715ur){scale:.58}.wick[data-lit=false].svelte-1m715ur .flame:where(.svelte-1m715ur){opacity:0;scale:.4 .12;visibility:hidden;transition:opacity .24s cubic-bezier(.55,0,1,.45),scale .24s cubic-bezier(.55,0,1,.45),visibility 0s linear .24s}.wick[data-lit=false].svelte-1m715ur .glow:where(.svelte-1m715ur){opacity:0}.wick[data-lit=false].svelte-1m715ur .fire:where(.svelte-1m715ur),.wick[data-lit=false].svelte-1m715ur .glow:where(.svelte-1m715ur){animation-play-state:paused}.ember.svelte-1m715ur,.smoke.svelte-1m715ur{display:none}.wick[data-lit=false].svelte-1m715ur .ember:where(.svelte-1m715ur){display:block;animation:svelte-1m715ur-ember 1.8s ease-out both}.wick[data-lit=false].svelte-1m715ur .smoke:where(.svelte-1m715ur){display:block;animation:svelte-1m715ur-rise 3.4s cubic-bezier(.25,.6,.3,1) both}.ember.svelte-1m715ur{position:absolute;left:calc(var(--u) * -.6);top:calc(var(--u) * -.6);width:calc(var(--u) * 1.2);height:calc(var(--u) * 1.2);border-radius:50%;background:radial-gradient(closest-side,#ffe0a0,#ff7a32 45%,#ff5a1f00)}.smoke.svelte-1m715ur{position:absolute;left:calc(var(--u) * -3);bottom:calc(var(--u) * -.2);width:calc(var(--u) * 6);height:calc(var(--u) * 16);transform-origin:50% 100%}.smoke.svelte-1m715ur svg:where(.svelte-1m715ur){display:block;width:100%;height:100%;overflow:visible}.smoke.svelte-1m715ur path:where(.svelte-1m715ur){fill:none;stroke-linecap:round;stroke-width:3.6;opacity:.5}.smoke.svelte-1m715ur path.haze:where(.svelte-1m715ur){stroke-width:10;opacity:.13}.smoke.svelte-1m715ur path.thin:where(.svelte-1m715ur){stroke-width:2;opacity:.42}@keyframes svelte-1m715ur-flicker{0%{transform:rotate(-1.5deg) scale(1)}35%{transform:rotate(1.8deg) scale(.94,1.06)}70%{transform:rotate(-.8deg) scale(1.04,.95)}to{transform:rotate(1deg) scale(.97,1.03)}}@keyframes svelte-1m715ur-breathe{0%{transform:scale(.92)}to{transform:scale(1.08)}}@keyframes svelte-1m715ur-ember{0%{opacity:1;transform:scale(1.4)}to{opacity:0;transform:scale(.6)}}@keyframes svelte-1m715ur-rise{0%{opacity:0;transform:translate(0) scale(.55,.2)}12%{opacity:1}55%{opacity:.8}to{opacity:0;transform:translate(13%,-16%) scale(1.4,1.15)}}.still.svelte-1m715ur .flame:where(.svelte-1m715ur){transform:none;transition:none}.still.svelte-1m715ur .glow:where(.svelte-1m715ur){scale:none;transition:none}.still.svelte-1m715ur .fire:where(.svelte-1m715ur){transition:none}.still.svelte-1m715ur .fire:where(.svelte-1m715ur),.still.svelte-1m715ur .glow:where(.svelte-1m715ur){animation:none}.still.svelte-1m715ur .wick[data-lit=false]:where(.svelte-1m715ur) .flame:where(.svelte-1m715ur){scale:none;transition:none}@media(prefers-reduced-motion:reduce){.fire.svelte-1m715ur,.glow.svelte-1m715ur,.ember.svelte-1m715ur,.smoke.svelte-1m715ur{animation:none}.flame.svelte-1m715ur,.wick[data-lit=false].svelte-1m715ur .flame:where(.svelte-1m715ur){transform:none;scale:none;transition:none}.glow.svelte-1m715ur{scale:none;transition:none}}.candles-stage.svelte-1pr528g{--top: calc(max(14px, env(safe-area-inset-top)) + 62px) ;--bottom:var(--party-dock-space,106px);--pad:clamp(20px,5.2cqw,96px);--gap:clamp(18px,3.2cqw,60px);--card-w:clamp(330px,33cqw,460px);--party-smoke:#f3e9ee;position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr) var(--card-w);grid-template-rows:minmax(0,1fr);column-gap:var(--gap);align-items:center;padding:var(--top) var(--pad) var(--bottom)}.dusk.svelte-1pr528g{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;will-change:opacity;transition:opacity 1.2s ease;background:radial-gradient(circle at var(--spot-x,30%) var(--spot-y,42%),#1f0f1c2e 0,#1f0f1c80 calc(var(--spot-r,520px) * .5),#1f0f1cd4 calc(var(--spot-r,520px) * 1.15))}.dusk.svelte-1pr528g:after{content:"";position:absolute;inset:0;background:#1a0c17;opacity:0;transition:opacity .45s ease}[data-phase=lit].svelte-1pr528g .dusk:where(.svelte-1pr528g){opacity:calc(.72 + var(--out,0) * .045);animation:svelte-1pr528g-dusk-in 1.8s ease .5s backwards}[data-phase=dark].svelte-1pr528g .dusk:where(.svelte-1pr528g){opacity:1;transition-duration:.4s}[data-phase=dark].svelte-1pr528g .dusk:where(.svelte-1pr528g):after{opacity:.5}[data-phase=done].svelte-1pr528g .dusk:where(.svelte-1pr528g){opacity:0;transition-duration:1.6s}@keyframes svelte-1pr528g-dusk-in{0%{opacity:0}}.cake-cell.svelte-1pr528g{position:relative;display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;align-self:stretch;min-width:0;min-height:0}.cake-hold.svelte-1pr528g{position:relative;aspect-ratio:1;height:min(calc(100% / .905),calc((100cqw - 2 * var(--pad) - var(--card-w) - var(--gap)) / .64),900px);touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}[data-phase=done].svelte-1pr528g .cake-hold:where(.svelte-1pr528g){cursor:default}.cake-hold.svelte-1pr528g .cake-image,.cake-hold.svelte-1pr528g .wicks{animation:svelte-1pr528g-cake-in 1s cubic-bezier(.2,1.1,.4,1) backwards}@keyframes svelte-1pr528g-cake-in{0%{opacity:0;transform:translateY(28px) scale(.92)}}.card.svelte-1pr528g{position:relative;z-index:4;container:candles-card / inline-size;display:grid;align-content:start;gap:16px;min-width:0;max-height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;padding:clamp(22px,2.3cqw,32px) clamp(22px,2.5cqw,34px);border-radius:28px;background:linear-gradient(160deg,#fffffff2,#fffaf4e8);border:1px solid #ffffffb3;box-shadow:0 30px 60px -28px color-mix(in srgb,var(--cine-ink) 45%,transparent),0 2px #fff inset;animation:svelte-1pr528g-card-in .7s cubic-bezier(.2,.9,.25,1) .1s backwards}.card.svelte-1pr528g::-webkit-scrollbar{display:none}.card.svelte-1pr528g:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#1a0c17;opacity:0;pointer-events:none;transition:opacity .45s ease}[data-phase=dark].svelte-1pr528g .card:where(.svelte-1pr528g):after{opacity:.2}@keyframes svelte-1pr528g-card-in{0%{opacity:0;transform:translateY(26px)}}.status.svelte-1pr528g{display:flex;align-items:center;justify-content:space-between;gap:12px;height:20px;min-width:0}.eyebrow.svelte-1pr528g{flex:1;min-width:0;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:700 12px/20px var(--cine-body);letter-spacing:.16em;text-transform:uppercase;color:var(--cine-accent);animation:svelte-1pr528g-eyebrow-a .4s ease backwards}.eyebrow[data-flip=b].svelte-1pr528g{animation-name:svelte-1pr528g-eyebrow-b}@keyframes svelte-1pr528g-eyebrow-a{0%{opacity:0}}@keyframes svelte-1pr528g-eyebrow-b{0%{opacity:0}}.pips.svelte-1pr528g{flex:none;display:flex;align-items:flex-end;gap:7px;height:20px;padding-inline-end:2px}.pips.svelte-1pr528g i:where(.svelte-1pr528g){position:relative;width:5px;height:10px;border-radius:2px 2px 1px 1px;background:var(--hue);box-shadow:inset 0 -2px #3a23401f}.pips.svelte-1pr528g i:where(.svelte-1pr528g):after{content:"";position:absolute;left:50%;bottom:calc(100% + 1px);width:6px;height:8px;margin-left:-3px;border-radius:50%/70% 70% 30% 30%;background:radial-gradient(circle at 50% 72%,#fffbe8 0 22%,#ffc65a 55%,#ff8a3d);transform-origin:50% 100%;opacity:0;transform:scale(.3);transition:opacity .3s ease,transform .3s ease}.pips.svelte-1pr528g i.on:where(.svelte-1pr528g):after{opacity:1;transform:none}.words.svelte-1pr528g,.foot.svelte-1pr528g,.notes.svelte-1pr528g{display:grid}.words.svelte-1pr528g>:where(.svelte-1pr528g),.foot.svelte-1pr528g>:where(.svelte-1pr528g),.notes.svelte-1pr528g>:where(.svelte-1pr528g){grid-area:1 / 1;min-width:0}.moment.svelte-1pr528g{display:grid;align-content:start;gap:12px;transition:opacity .45s ease .12s}.h2.svelte-1pr528g{display:block;margin:0;font:400 clamp(32px,11cqw,50px)/1.04 var(--cine-display);color:var(--cine-ink);text-wrap:balance;overflow-wrap:anywhere}h2.svelte-1pr528g{outline:none}.copy.svelte-1pr528g{margin:0;font:400 clamp(15px,3.7cqw,17px)/1.55 var(--cine-body);color:var(--cine-ink);text-wrap:pretty}.note.svelte-1pr528g{margin:0;font:400 12.5px/1.5 var(--cine-body);color:var(--cine-muted)}.note.warn.svelte-1pr528g{color:var(--cine-accent);font-weight:600}.notes.roomy.svelte-1pr528g{margin-top:2px}.compact.svelte-1pr528g{display:none}.ghost.svelte-1pr528g{visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.off.svelte-1pr528g{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility 0s linear .25s}@keyframes svelte-1pr528g-swap-in{0%{opacity:0}}.controls.svelte-1pr528g{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.controls.svelte-1pr528g button:where(.svelte-1pr528g){position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:9px;height:52px;min-width:0;padding:0 22px;border-radius:999px;cursor:pointer;font:700 15.5px/1 var(--cine-body);overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;transition:background-color .2s ease,border-color .2s ease,opacity .25s ease;animation:svelte-1pr528g-swap-in .35s ease backwards}.controls.svelte-1pr528g button:where(.svelte-1pr528g) svg{flex:none}.label.svelte-1pr528g{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.short.svelte-1pr528g{display:none}.solid.svelte-1pr528g{border:0;color:var(--cine-accent-ink);background:var(--cine-accent);box-shadow:0 14px 26px color-mix(in srgb,var(--cine-accent) 30%,transparent)}.soft.svelte-1pr528g{border:1px solid color-mix(in srgb,var(--cine-ink) 18%,transparent);color:var(--cine-ink);background:#ffffffd6}.hold.svelte-1pr528g{touch-action:none}.hold.active.svelte-1pr528g{border-color:color-mix(in srgb,#e0a63a 70%,transparent);background:#fff6e2}.listening.svelte-1pr528g{background:color-mix(in srgb,var(--cine-accent) 82%,#3a2340)}.controls.svelte-1pr528g button:where(.svelte-1pr528g):disabled{cursor:default}[data-phase=lit].svelte-1pr528g .controls:where(.svelte-1pr528g) button:where(.svelte-1pr528g):disabled{opacity:.55}[data-phase=dark].svelte-1pr528g .controls:where(.svelte-1pr528g) button:where(.svelte-1pr528g){opacity:.6}.controls.svelte-1pr528g button:where(.svelte-1pr528g):focus-visible{outline:3px solid color-mix(in srgb,var(--cine-accent) 55%,#fff);outline-offset:3px}.meter.svelte-1pr528g{position:absolute;inset:0;z-index:-1;transform-origin:0 50%;transform:scaleX(0);opacity:0;pointer-events:none;background:linear-gradient(90deg,#ffeab0,#ffd07a);transition:transform .45s ease-out,opacity .3s ease}[dir=rtl] .meter.svelte-1pr528g{transform-origin:100% 50%}[data-blowing=hold].svelte-1pr528g .hold:where(.svelte-1pr528g) .meter:where(.svelte-1pr528g){transform:scaleX(1);opacity:.85;transition:transform .34s cubic-bezier(.45,0,.55,1),opacity .15s ease}.icon.svelte-1pr528g{position:relative;display:grid;place-items:center;flex:none}.icon.svelte-1pr528g:before{content:"";position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(closest-side,#ffffff80,#fff0);opacity:0}[data-mic=on].svelte-1pr528g .icon:where(.svelte-1pr528g):before{animation:svelte-1pr528g-listen 1.4s ease-out infinite}@keyframes svelte-1pr528g-listen{0%{transform:scale(.55);opacity:1}to{transform:scale(1.5);opacity:0}}.foot-lit.svelte-1pr528g,.foot-done.svelte-1pr528g{display:grid;gap:8px;align-content:start;justify-items:start;transition:opacity .45s ease .12s}.sr-only.svelte-1pr528g{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@container party (max-height:760px){.card.svelte-1pr528g{gap:13px}.h2.svelte-1pr528g{font-size:clamp(30px,9.6cqw,44px)}.copy.svelte-1pr528g{font-size:15.5px;line-height:1.5}}@container party (max-height:600px){.copy.roomy.svelte-1pr528g{display:none}}@container party (max-aspect-ratio:1.15){.candles-stage.svelte-1pr528g{--pad:14px;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;row-gap:10px;align-items:stretch}.cake-hold.svelte-1pr528g{height:min(calc(100% / .905),calc((100cqw - 2 * var(--pad)) / .64),760px)}.card.svelte-1pr528g{align-self:end}}@container party (max-aspect-ratio:1.15) or (max-height:520px){.card.svelte-1pr528g{gap:10px;padding:16px 16px 14px;border-radius:24px}.h2.svelte-1pr528g{font-size:clamp(24px,min(8cqw,7cqh),34px)}.roomy.svelte-1pr528g{display:none}.compact.svelte-1pr528g{display:block}.notes.compact.svelte-1pr528g{display:grid}.foot.svelte-1pr528g .keys{display:none}.copy.compact.svelte-1pr528g{font-size:13px;line-height:1.45}.note.svelte-1pr528g{font-size:11.5px;line-height:1.42}.controls.svelte-1pr528g{grid-template-columns:repeat(2,minmax(0,1fr))}.controls.solo.svelte-1pr528g{grid-template-columns:minmax(0,1fr)}.controls.done.svelte-1pr528g{grid-template-columns:minmax(0,1fr) 50px}.controls.svelte-1pr528g button:where(.svelte-1pr528g){height:50px;padding:0 14px;font-size:15px}.long.svelte-1pr528g{display:none}.short.svelte-1pr528g{display:inline}.relight.svelte-1pr528g{padding:0}.relight.svelte-1pr528g .label:where(.svelte-1pr528g){display:none}}@container candles-card (min-width:560px){.long.svelte-1pr528g{display:inline}.short.svelte-1pr528g{display:none}.controls.done.svelte-1pr528g{grid-template-columns:repeat(2,minmax(0,1fr))}.relight.svelte-1pr528g{padding:0 14px}.relight.svelte-1pr528g .label:where(.svelte-1pr528g){display:inline}}.still.svelte-1pr528g .dusk:where(.svelte-1pr528g),.still.svelte-1pr528g .dusk:where(.svelte-1pr528g):after,.still.svelte-1pr528g .card:where(.svelte-1pr528g):after,.still.svelte-1pr528g .moment:where(.svelte-1pr528g),.still.svelte-1pr528g .foot-lit:where(.svelte-1pr528g),.still.svelte-1pr528g .foot-done:where(.svelte-1pr528g),.still.svelte-1pr528g .off:where(.svelte-1pr528g){transition:none}.still.svelte-1pr528g .meter:where(.svelte-1pr528g),.still[data-blowing=hold].svelte-1pr528g .hold:where(.svelte-1pr528g) .meter:where(.svelte-1pr528g){transform:none;transition:opacity .2s ease}[data-motion=reduced] .candles-stage.svelte-1pr528g,[data-motion=reduced] .candles-stage.svelte-1pr528g :where(.svelte-1pr528g){animation:none!important}@media(prefers-reduced-motion:reduce){.candles-stage.svelte-1pr528g,.candles-stage.svelte-1pr528g :where(.svelte-1pr528g){animation:none!important}.dusk.svelte-1pr528g,.dusk.svelte-1pr528g:after,.moment.svelte-1pr528g,.off.svelte-1pr528g{transition:none}.meter.svelte-1pr528g,[data-blowing=hold].svelte-1pr528g .hold:where(.svelte-1pr528g) .meter:where(.svelte-1pr528g){transform:none;transition:opacity .2s ease}}


/* === PartyFinale.CwYKHjVN.css === */
.finale.svelte-eyox5p{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(16px,4cqw,72px);padding:clamp(76px,11cqh,112px) clamp(20px,6cqw,104px) var(--party-dock-space,112px)}.cake.svelte-eyox5p{justify-self:center;width:min(100%,62cqh,520px);animation:svelte-eyox5p-cake-in 1s cubic-bezier(.2,1.3,.4,1) both}.cake.svelte-eyox5p:not(.candles) img{filter:drop-shadow(0 30px 34px color-mix(in srgb,var(--cine-ink) 20%,transparent))}.balloons-hero.svelte-eyox5p{justify-self:center;display:grid;place-items:center;--balloon-h:clamp(120px,min(26cqh,18cqw),240px);padding-bottom:6%}.copy.svelte-eyox5p{display:grid;justify-items:start;gap:14px;max-width:560px;animation:svelte-eyox5p-rise .8s ease .15s both}.eyebrow.svelte-eyox5p{margin:0;font:700 12px/1.3 var(--cine-body);letter-spacing:.2em;text-transform:uppercase;color:var(--cine-accent)}h2.svelte-eyox5p{margin:0;font:400 clamp(36px,5.6cqw,68px)/1.02 var(--cine-display);color:var(--cine-ink);text-wrap:balance;outline:none;overflow-wrap:anywhere}.name.svelte-eyox5p{color:var(--cine-accent)}.closing.svelte-eyox5p{margin:0;font:400 clamp(24px,2.4cqw,30px)/1.25 PartyHand,"Shadows Into Light",cursive;color:var(--cine-ink);white-space:pre-line}.recap.svelte-eyox5p{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;list-style:none}.recap.svelte-eyox5p li:where(.svelte-eyox5p){width:44px;height:44px;padding:4px;border-radius:14px;background:#ffffffb0;animation:svelte-eyox5p-pop .5s cubic-bezier(.3,1.6,.5,1) calc(.5s + var(--i) * .08s) both}.recap.svelte-eyox5p img:where(.svelte-eyox5p){width:100%;height:100%;object-fit:contain}.actions.svelte-eyox5p{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.actions.svelte-eyox5p button:where(.svelte-eyox5p){display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:10px 20px;border-radius:999px;cursor:pointer;font:600 15px/1.2 var(--cine-body)}.ghost.svelte-eyox5p{border:1px solid color-mix(in srgb,var(--cine-ink) 18%,transparent);color:var(--cine-ink);background:#ffffffc0}.solid.svelte-eyox5p{border:0;color:var(--cine-accent-ink);background:var(--cine-accent);box-shadow:0 12px 24px color-mix(in srgb,var(--cine-accent) 30%,transparent)}.more.svelte-eyox5p{display:flex;flex-wrap:wrap;gap:8px}.more.svelte-eyox5p button:where(.svelte-eyox5p){min-height:44px;padding:8px 16px;border-radius:999px;cursor:pointer;font:600 14px/1.2 var(--cine-body);color:var(--cine-ink);border:1px solid color-mix(in srgb,var(--cine-ink) 14%,transparent);background:#ffffff8c}.actions.svelte-eyox5p button:where(.svelte-eyox5p):disabled,.more.svelte-eyox5p button:where(.svelte-eyox5p):disabled{opacity:.5;cursor:default}.actions.svelte-eyox5p button:where(.svelte-eyox5p):focus-visible,.more.svelte-eyox5p button:where(.svelte-eyox5p):focus-visible,.offer.svelte-eyox5p:focus-visible{outline:3px solid color-mix(in srgb,var(--cine-accent) 50%,#fff);outline-offset:3px}.offer.svelte-eyox5p{display:inline-flex;align-items:center;gap:8px;margin-top:4px;color:var(--cine-accent);font:700 15px/1.3 var(--cine-body);text-decoration:none}.offer.svelte-eyox5p:hover{text-decoration:underline}@keyframes svelte-eyox5p-cake-in{0%{opacity:0;transform:translateY(40px) scale(.85)}to{opacity:1;transform:none}}@keyframes svelte-eyox5p-rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes svelte-eyox5p-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@container party (max-aspect-ratio:1.15){.finale.svelte-eyox5p{display:flex;flex-direction:column;align-items:center;gap:clamp(6px,1.6cqh,14px);text-align:center;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:clamp(64px,9cqh,84px) 18px 0}.finale.svelte-eyox5p::-webkit-scrollbar{display:none}.finale.svelte-eyox5p:after{content:"";flex:none;height:var(--party-dock-space,104px)}.cake.svelte-eyox5p{--cake-h:clamp(120px,32cqh,400px);flex:none;display:block;margin-top:auto;height:var(--cake-h);width:calc(var(--cake-h) * 905 / 1200)}.crowded.svelte-eyox5p .cake:where(.svelte-eyox5p){--cake-h:clamp(110px,22cqh,280px)}.balloons-hero.svelte-eyox5p{flex:none;margin-top:auto;--balloon-h:clamp(80px,13cqh,120px);padding-bottom:4%}.crowded.svelte-eyox5p .balloons-hero:where(.svelte-eyox5p){--balloon-h:clamp(72px,10cqh,100px)}.cake.svelte-eyox5p picture{display:block;width:100%;height:100%}.cake.svelte-eyox5p img{width:100%;height:100%;object-fit:contain}.copy.svelte-eyox5p{flex:none;margin-bottom:auto;justify-items:center}.recap.svelte-eyox5p li:where(.svelte-eyox5p){width:34px;height:34px;padding:3px;border-radius:11px}.actions.svelte-eyox5p,.recap.svelte-eyox5p,.more.svelte-eyox5p{justify-content:center}}[data-motion=reduced] .finale.svelte-eyox5p :where(.svelte-eyox5p){animation:none!important}@media(prefers-reduced-motion:reduce){.finale.svelte-eyox5p :where(.svelte-eyox5p){animation:none!important}}


/* === navigation.DO7SjHqJ.css === */
.sound.svelte-eg219w{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;border:1px solid var(--cine-border);border-radius:999px;background:var(--cine-background);color:var(--cine-ink);padding:10px 14px;font:12px/1.3 var(--cine-body);cursor:pointer}.sound.compact.svelte-eg219w{padding:10px}.sound.dim.svelte-eg219w svg{opacity:.7}.sound[aria-disabled=true].svelte-eg219w{cursor:default}.sound.svelte-eg219w:disabled{opacity:.6;cursor:not-allowed}.sound.svelte-eg219w:focus-visible{outline:2px solid var(--cine-accent);outline-offset:3px}.eq.svelte-eg219w{display:flex;align-items:flex-end;gap:2px;height:12px}.eq.svelte-eg219w i:where(.svelte-eg219w){display:block;width:2px;border-radius:1px;background:var(--cine-accent);animation:svelte-eg219w-eq 1.1s ease-in-out infinite}.eq.svelte-eg219w i:where(.svelte-eg219w):nth-child(1){height:6px}.eq.svelte-eg219w i:where(.svelte-eg219w):nth-child(2){height:11px;animation-delay:-.4s}.eq.svelte-eg219w i:where(.svelte-eg219w):nth-child(3){height:8px;animation-delay:-.8s}@keyframes svelte-eg219w-eq{50%{transform:scaleY(.45)}}@media(prefers-reduced-motion:reduce){.eq.svelte-eg219w i:where(.svelte-eg219w){animation:none}}.wind-key.svelte-85h68w{display:block;flex:none;overflow:visible;filter:drop-shadow(0 4px 8px #000a)}.bow.svelte-85h68w{transform-box:fill-box;transform-origin:50% 50%;transition:transform .5s cubic-bezier(.3,1.3,.5,1)}[data-turn=wind].svelte-85h68w .bow:where(.svelte-85h68w){animation:svelte-85h68w-ratchet 1s cubic-bezier(.5,0,.3,1) infinite}[data-turn=unwind].svelte-85h68w .bow:where(.svelte-85h68w){animation:svelte-85h68w-unwind 2.6s ease-in-out infinite alternate}@keyframes svelte-85h68w-ratchet{0%{transform:scaleY(1)}28%,50%{transform:scaleY(-1)}78%,to{transform:scaleY(1)}}@keyframes svelte-85h68w-unwind{0%{transform:scaleY(1)}to{transform:scaleY(-1)}}.still.svelte-85h68w .bow:where(.svelte-85h68w){animation:none}@media(prefers-reduced-motion:reduce){.bow.svelte-85h68w{animation:none!important;transition:none}}


/* ==========================================================================
   ENHANCEMENTS & REFACTORING OVERRIDES
   ========================================================================== */

/* Top-Left Age Badge replacing 2L logo */
.party-age-badge {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: linear-gradient(135deg, #fff7f8 0%, #ffe5ed 100%);
  border: 1.5px solid rgba(209, 38, 79, 0.28);
  box-shadow: 0 4px 14px rgba(209, 38, 79, 0.16), inset 0 1px 1px #fff;
  font-family: var(--cine-display, "Abril Fatface", Georgia, serif);
  font-size: 21px;
  font-weight: 700;
  color: var(--cine-accent, #d1264f);
  user-select: none;
  cursor: default;
  transition: transform 0.2s ease;
}
.party-age-badge:hover {
  transform: scale(1.06);
}
.party[data-stage="gift"] .party-age-badge {
  display: none !important;
}

/* Hide header when envelope is open so it never overlaps the notch or paper */
.party:has(.envelope-sheet.full) .party-head {
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

/* Letter Envelope Sheet & Paper UX Improvements */
.envelope-sheet.svelte-nrmcif {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  padding: 0 !important;
}
.envelope-sheet:not(.full) .env-layer.front,
.envelope-sheet:not(.full) .env-layer.back {
  position: absolute !important;
  left: 50% !important;
  top: calc(50% - 20px) !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  width: min(88vw, 360px) !important;
  height: 228px !important;
  margin: 0 !important;
  cursor: pointer !important;
  transition: transform 0.45s cubic-bezier(0.2, 0.9, 0.3, 1), opacity 0.35s ease !important;
}
.envelope-sheet:not(.full) .pocket-seal {
  cursor: pointer !important;
  animation: svelte-seal-pulse 2s ease-in-out infinite !important;
}
@keyframes svelte-seal-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.08); }
}
.envelope-sheet:not(.full) .paper {
  position: absolute !important;
  left: 50% !important;
  top: calc(50% - 20px) !important;
  bottom: auto !important;
  transform: translate(-50%, calc(-50% + 50px)) scale(0.92) !important;
  width: min(85vw, 350px) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
  transition: transform 0.45s cubic-bezier(0.2, 0.9, 0.3, 1), opacity 0.35s ease !important;
}
.envelope-sheet:not(.full) .paper .body {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Open/Full State of the Letter */
.envelope-sheet.full .paper {
  position: absolute !important;
  top: calc(max(16px, env(safe-area-inset-top, 0px)) + 48px) !important;
  bottom: calc(var(--gift-dock-h, 64px) + var(--gift-dock-bottom, 20px) + 14px) !important;
  left: 16px !important;
  right: 16px !important;
  height: auto !important;
  max-width: 420px !important;
  margin: 0 auto !important;
  border-radius: 26px !important;
  background: var(--cine-paper, #fffcf7) !important;
  box-shadow: 0 20px 50px rgba(58, 35, 64, 0.24), 0 0 0 1px rgba(58, 35, 64, 0.08) !important;
  transform: none !important;
  clip-path: none !important;
  z-index: 25 !important;
  cursor: default !important;
  display: flex !important;
  flex-direction: column !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: transform 0.45s cubic-bezier(0.2, 0.9, 0.3, 1), opacity 0.35s ease !important;
}
.envelope-sheet.full .paper-head {
  padding: 18px 22px 14px !important;
  border-bottom: 1px solid rgba(58, 35, 64, 0.08) !important;
}
.envelope-sheet.full .paper-head .eyebrow {
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
}
.envelope-sheet.full .paper-head h2 {
  font-size: 24px !important;
}
.envelope-sheet.full .body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 20px 24px 50px !important;
  opacity: 1 !important;
}
.envelope-sheet.full .body .paper-copy {
  display: grid;
  gap: 16px;
  font-size: 15.5px;
  line-height: 1.68;
  color: var(--cine-ink);
}
.envelope-sheet.full .body .paper-copy .greeting {
  font-family: var(--hand, PartyHand, "Shadows Into Light", cursive);
  font-size: 28px;
  color: var(--cine-accent);
  margin-bottom: 4px;
}
.envelope-sheet.full .body .paper-copy .closing {
  font-family: var(--hand, PartyHand, "Shadows Into Light", cursive);
  font-size: 25px;
  color: var(--cine-accent);
  text-align: right;
  margin-top: 14px;
  padding-bottom: 10px;
}

/* When letter is open, push envelope pocket out of the way so text is never overlapped */
.envelope-sheet.full .env-layer.front,
.envelope-sheet.full .env-layer.back {
  transform: translate(-50%, 140px) scale(0.85) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease !important;
}

/* Claw Machine Touch & Control Polish */
.joystick.svelte-1ep16hp {
  touch-action: none !important;
  cursor: grab !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}
.joystick.svelte-1ep16hp:active {
  cursor: grabbing !important;
}
.joy-dot.svelte-1ep16hp {
  cursor: pointer !important;
}
.grab.svelte-1ep16hp {
  touch-action: manipulation !important;
  cursor: pointer !important;
}
.track.svelte-1ep16hp, .drop.svelte-1ep16hp, .claw.svelte-1ep16hp {
  will-change: transform !important;
  transform-style: preserve-3d !important;
  -webkit-backface-visibility: hidden !important;
  backface-visibility: hidden !important;
}

/* Claw Machine Held Ball & Drop Simulation (Dead-center aligned) */
.capsule.held-in-claw {
  position: absolute;
  left: 50% !important;
  top: calc(var(--d, 58px) * 0.82) !important;
  translate: -50% -50% !important;
  transform: none !important;
  width: var(--d, 58px) !important;
  height: var(--d, 58px) !important;
  z-index: 10;
  display: none;
  pointer-events: none;
  margin: 0 !important;
}
.capsule.held-in-claw .shell {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.capsule.dropping-into-chute {
  animation: svelte-claw-drop-fall 0.58s cubic-bezier(0.25, 0.1, 0.25, 1) forwards !important;
}
@keyframes svelte-claw-drop-fall {
  0% {
    translate: -50% -50% !important;
    transform: scale(1) !important;
    opacity: 1;
  }
  60% {
    translate: -50% calc(-50% + 115px) !important;
    transform: scale(0.9) !important;
    opacity: 0.95;
  }
  100% {
    translate: -50% calc(-50% + 155px) !important;
    transform: scale(0.65) !important;
    opacity: 0;
  }
}

/* Merged Candles & Finale Celebration Card */
.candles-celebration {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  padding: 16px 18px 20px;
  width: 100%;
  animation: svelte-1ep16hp-card-in 0.6s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.candles-celebration .eyebrow {
  margin: 0;
  font: 700 12px/1.3 var(--cine-body);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--cine-accent);
}
.candles-celebration .celebration-title {
  margin: 0;
  font: 400 clamp(24px, 6.2cqw, 34px)/1.08 var(--cine-display);
  color: var(--cine-ink);
}
.candles-celebration .celebration-closing-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  margin: 2px 0 4px;
}
.candles-celebration .celebration-closing {
  margin: 0;
  font: 400 24px/1.2 var(--hand, PartyHand, "Shadows Into Light", cursive);
  color: var(--cine-accent);
}
.candles-celebration .celebration-msg {
  margin: 2px 0 6px;
  font: 500 14.5px/1.45 var(--cine-body);
  color: var(--cine-muted);
  max-width: 320px;
}
.candles-celebration .recap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin: 2px 0 10px;
  padding: 0;
  list-style: none;
}
.candles-celebration .recap li {
  width: 40px;
  height: 40px;
  padding: 4px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 2px 8px rgba(58, 35, 64, 0.08);
  cursor: pointer;
  transition: transform 0.2s ease;
}
.candles-celebration .recap li:hover {
  transform: scale(1.15);
}
.candles-celebration .recap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.candles-celebration .replay-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 10px 24px;
  border-radius: 999px;
  border: 1px solid rgba(58, 35, 64, 0.18);
  background: #ffffffd0;
  color: var(--cine-ink);
  font: 600 15px/1.2 var(--cine-body);
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(58, 35, 64, 0.08);
  transition: transform 0.2s ease, background 0.2s ease;
}
.candles-celebration .replay-btn:hover {
  transform: scale(1.04);
  background: #ffffff;
}
.candles-celebration .replay-btn:active {
  transform: scale(0.97);
}


/* ==========================================================================
   MAILBOX & ENVELOPE ACTION ENHANCEMENTS
   ========================================================================== */

/* Envelope 3D flap & seal animations */
.envelope-sheet .flap-hinge {
  perspective: 600px;
}
.envelope-sheet .flap.closed-flap {
  transform-origin: 50% 0;
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
}
.envelope-sheet .pocket-seal {
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
}
.envelope-sheet.opening .pocket-seal,
.envelope-sheet.full .pocket-seal {
  transform: scale(0.2) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.envelope-sheet.opening .flap.closed-flap,
.envelope-sheet.full .flap.closed-flap {
  transform: rotateX(175deg) !important;
  opacity: 0.15 !important;
}
.envelope-sheet .hint {
  cursor: pointer;
  animation: svelte-hint-bounce 1.6s ease-in-out infinite;
}
@keyframes svelte-hint-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

/* Claw machine mailbox (bottom prize door) opening animation */
.door.svelte-1ep16hp {
  perspective: 400px;
  cursor: pointer;
  position: relative;
}
.door.svelte-1ep16hp .flap {
  transform-origin: 50% 0;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.3s ease;
}
.door.svelte-1ep16hp.open .flap {
  transform: rotateX(-75deg) translateY(-2px);
  background: linear-gradient(180deg, #ffe5ee, #ffc2d4);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4);
}
.door.svelte-1ep16hp .dispensed-ball {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 28px;
  height: 28px;
  margin-left: -14px;
  margin-top: -14px;
  border-radius: 50%;
  z-index: 10;
  pointer-events: none;
  animation: prize-roll-out 0.55s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
}
@keyframes prize-roll-out {
  0% { transform: scale(0.2) translateY(-16px); opacity: 0; }
  60% { transform: scale(1.15) translateY(2px); opacity: 1; }
  100% { transform: scale(1) translateY(0); opacity: 1; }
}
