:root{--ink: #34251f;--ink-soft: #665046;--paper: #fffaf0;--paper-deep: #f1e5cf;--coral: #d8654b;--coral-dark: #a94738;--sage: #718366;--blue: #769ba7;--butter: #edbc55;--display: "Iowan Old Style", "Palatino Linotype", Baskerville, Georgia, serif;--sans: "Avenir Next", Avenir, "Trebuchet MS", sans-serif;--mono: "Courier New", Courier, monospace;color-scheme:light}*{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0;overflow:hidden;background:#c89551;color:var(--ink);font-family:var(--sans)}button,input,textarea{font:inherit}button{color:inherit}[hidden]{display:none!important}.room-stage{position:relative;width:100vw;height:100dvh;min-height:100dvh;overflow:hidden;isolation:isolate;background-color:#e7b96f;background-position:center;background-repeat:no-repeat;background-size:cover}.room-stage.is-loading{display:grid;place-items:center;padding:24px;background:#e7c89a}.room-loading-message{margin:0;color:#80654c;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.04em;text-align:center;opacity:0;animation:roomLoadingAppear .18s ease-out .3s forwards}@keyframes roomLoadingAppear{to{opacity:1}}.room-stage.is-room{--room-space-width: calc(100vw - 48px) ;--room-space-height: max(1px, calc(100dvh - 32px) );background:radial-gradient(ellipse at 24% 18%,#fff9eccc,transparent 62%),radial-gradient(ellipse at 88% 82%,#dce2cf66,transparent 58%),linear-gradient(145deg,#f1e8d8,#e8dfcf)}.room-stage.is-room .paper-grain{opacity:.035}.room-stage.is-landing{background-color:#e7c89a;background-image:url(/assets/home-signature-room-imagegen-v1.webp)}.room-light{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(#ffbe5b08,#ffbe5b08),radial-gradient(circle at 15% 28%,rgba(255,244,174,.38),transparent 22%),linear-gradient(90deg,rgba(77,43,17,.06),transparent 14%,transparent 86%,rgba(77,43,17,.07));mix-blend-mode:multiply;transition:background .4s ease}.room-viewport{position:absolute;top:16px;right:24px;bottom:16px;left:24px;z-index:0;display:grid;place-items:center;overflow:hidden}.room-canvas{position:relative;flex:none;width:min(var(--room-space-width),calc(var(--room-space-height) * 3 / 2));aspect-ratio:3 / 2;overflow:hidden;isolation:isolate;box-shadow:0 16px 45px -18px #735b3838,0 0 0 1px #8e74541a}@media(max-width:600px){.room-stage.is-room{--room-space-width: calc(100vw - 24px) ;--room-space-height: max(1px, calc(100dvh - 24px) )}.room-viewport{top:12px;right:12px;bottom:12px;left:12px}}.room-canvas-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.room-stage.is-landing .room-light{background:none}.room-stage.is-landing .paper-grain{opacity:.045}.paper-grain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;opacity:.12;pointer-events:none;background-image:repeating-radial-gradient(circle at 17% 31%,rgba(52,37,31,.22) 0 .45px,transparent .6px 3px),repeating-linear-gradient(91deg,transparent 0 5px,rgba(255,255,255,.18) 6px 7px);background-size:11px 13px,17px 17px;mix-blend-mode:multiply}.door-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:90;overflow:hidden;background:#c9a671}.door-scene-canvas{position:absolute;top:50%;left:50%;z-index:0;width:max(100vw,177.79vh);height:max(100vh,calc(100vw / 1.7779));perspective:1500px;transform:translate(-50%,-50%)}.door-scene-image,.door-leaf-image{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.door-leaf-motion{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;transform-origin:64% 55%;transform-style:preserve-3d;transition:transform 1.12s cubic-bezier(.16,.78,.17,1),filter .7s ease;will-change:transform}.door-leaf-image{clip-path:inset(33.5% 24.2% 22.5% 64%)}.door-scene:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(90deg,rgba(255,245,216,.08),transparent 49%);pointer-events:none}.door-scene:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;opacity:.17;background-image:repeating-radial-gradient(circle,rgba(72,45,31,.22) 0 .5px,transparent .7px 3px);background-size:9px 11px;mix-blend-mode:multiply}.door-copy{position:absolute;top:18%;left:9%;z-index:4;width:min(480px,38vw)}.door-copy h1{margin:0;font-family:var(--display);font-size:clamp(42px,5vw,75px);font-weight:500;letter-spacing:-.045em;line-height:.92}.door-copy h1 span{color:var(--coral-dark);font-family:Snell Roundhand,Bradley Hand,cursive;font-weight:400;white-space:nowrap}.door-copy>p:last-child{max-width:360px;margin:19px 0 0;color:var(--ink-soft);font-family:var(--display);font-size:18px;line-height:1.45}.door-plaque{position:absolute;top:46.5%;left:69.8%;z-index:5;width:5.1%;padding:0;border:0;background:transparent;box-shadow:none;color:#4a2f21;font-family:var(--mono);font-size:clamp(5px,.5vw,9px);line-height:1.35;text-align:center;transform:translate(-50%,-50%) rotate(.4deg) translateZ(1px);backface-visibility:hidden}.door-plaque b{font-family:var(--display);font-size:1.55em;letter-spacing:-.02em}.door-open-trigger{position:absolute;top:33.5%;left:64%;z-index:8;width:11.8%;height:44%;padding:0;border:0;background:transparent;color:#34251fad;cursor:pointer}.door-open-trigger:after{content:"";position:absolute;top:3%;right:3%;bottom:3%;left:3%;border:1px dashed transparent;transition:border-color .18s ease,background-color .18s ease}.door-open-trigger:hover:after,.door-open-trigger:focus-visible:after{border-color:#52321d3d;background:#fff0ca09}.door-open-trigger:focus-visible{outline:none}.door-open-trigger span{position:absolute;top:calc(100% + 11px);left:50%;width:max-content;color:#34251f94;font-family:var(--mono);font-size:clamp(7px,.55vw,10px);letter-spacing:.06em;transform:translate(-50%);transition:opacity .16s ease}.door-scene.is-opening .door-open-trigger span{opacity:0}.door-scene.is-opening .door-leaf-motion{transform:rotateY(78deg);filter:brightness(1.06)}.door-scene.is-opening{pointer-events:none;animation:doorSceneAway .42s 1.12s ease-in forwards}@media(max-height:560px)and (min-width:761px){.door-copy{top:7%;width:min(410px,36vw)}.door-copy h1{font-size:clamp(40px,4vw,56px)}.door-copy>p:last-child{max-width:330px;margin-top:10px;font-size:14px;line-height:1.3}}.room-header{position:absolute;inset:20px 24px auto;z-index:35;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.room-header button{pointer-events:auto}.room-stage.is-landing .room-header{justify-content:flex-end}.brand-stamp{display:flex;align-items:center;gap:11px;min-width:0;padding:10px 16px 10px 10px;border:1px solid rgba(52,37,31,.82);border-radius:2px;background:var(--paper);box-shadow:3px 4px #34251f38;text-align:left;transform:rotate(-1deg);cursor:pointer}.brand-mark{width:36px;height:36px;flex:0 0 36px}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.brand-stamp strong,.brand-stamp em{display:block;line-height:.95}.brand-stamp strong{font-family:var(--display);font-size:19px;font-weight:600}.brand-stamp em{margin-top:5px;color:#4c382f;font-family:var(--sans);font-size:12px;font-style:normal;font-weight:500;letter-spacing:0;line-height:1.25}.brand-stamp--room{position:relative;width:max-content;min-width:0;max-width:min(460px,54vw);padding:10px 16px 10px 10px;overflow:hidden;cursor:default;border-radius:999px}.room-home-mark{display:grid;flex:0 0 auto;padding:0;border:0;background:transparent;cursor:pointer}.room-home-mark .brand-mark{transition:transform .15s ease,filter .15s ease;transform-origin:center}.room-home-mark:hover .brand-mark{filter:drop-shadow(1px 2px 0 rgba(52,37,31,.22));transform:translateY(-1px) rotate(-7deg) scale(1.07)}.room-home-mark:active .brand-mark{filter:none;transform:translateY(1px) rotate(-2deg) scale(.98)}.room-title-button,.room-title-copy{flex:0 1 auto;min-width:0;padding:0;text-align:left}.room-title-button{border:0;background:transparent;cursor:pointer}.room-name-line{display:flex;min-width:0;align-items:center;gap:6px}.room-name-line strong{min-width:0}.room-edit-pen{display:grid;width:21px;height:21px;flex:0 0 21px;place-items:center;border-radius:50%;background:var(--coral);color:var(--paper);font-family:var(--sans);font-size:14px;font-weight:700;line-height:1;opacity:0;transform:rotate(-8deg) scale(.75);transition:opacity .14s ease,transform .14s ease}.room-title-button:hover .room-edit-pen,.room-title-button:focus-visible .room-edit-pen{opacity:1;transform:rotate(-8deg) scale(1)}.room-title-button:hover strong{color:var(--coral-dark)}.room-title-button:focus-visible,.room-home-mark:focus-visible{border-radius:2px;outline:1px dashed var(--coral-dark);outline-offset:3px}.brand-stamp--room strong,.brand-stamp--room em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-stamp--room strong{line-height:1.05}.header-actions{display:flex;align-items:center;gap:10px;pointer-events:auto}.sound-toggle{display:flex;height:40px;min-height:40px;align-items:center;justify-content:center;flex-shrink:0;gap:8px;padding:0 16px;border:1px solid rgba(52,37,31,.72);border-radius:999px;background:var(--paper);box-shadow:2px 3px #34251f29;color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sound-waves{display:flex;height:14px;align-items:center;gap:2px}.sound-waves i{display:block;width:2px;height:5px;border-radius:2px;background:currentColor;transition:height .16s ease,opacity .16s ease}.sound-waves i:nth-child(2){height:11px}.sound-waves i:nth-child(3){height:8px}.sound-toggle[aria-pressed=false] .sound-waves i{height:2px;opacity:.55}.sound-label{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:0}.visitor-count{display:flex;min-height:42px;align-items:center;padding:0 16px;border:1px solid rgba(52,37,31,.58);border-radius:999px;background:var(--paper);box-shadow:2px 3px #34251f24;color:var(--ink);font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.visitor-count strong{margin-right:2px;font-size:13px}.gift-send-button{display:flex;min-height:42px;align-items:center;gap:7px;padding:0 17px;border:1px solid rgba(52,37,31,.72);border-radius:999px;background:var(--paper);box-shadow:2px 3px #34251f29;color:var(--ink);font-size:11px;font-weight:700;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease}.gift-send-button__icon{color:var(--coral-dark);font-family:var(--mono);font-size:14px;line-height:1}.gift-send-button:hover{background:var(--coral);box-shadow:2px 4px #34251f33;color:var(--paper);transform:translateY(-1px)}.gift-send-button:hover .gift-send-button__icon{color:inherit}.gift-send-button:active{box-shadow:1px 1px #34251f2e;transform:translateY(1px)}.paper-button{min-height:36px;padding:0 15px;border:1px solid var(--ink);border-radius:3px;background:var(--paper);box-shadow:2px 2px #34251f2e;font-size:12px;font-weight:700;cursor:pointer}.welcome-note{position:absolute;top:15%;left:49%;z-index:13;width:min(500px,39vw);padding:clamp(28px,3vw,47px) clamp(28px,3.4vw,54px) 32px;border:1px solid rgba(52,37,31,.2);background:linear-gradient(#fffcf4f0,#fff9edf0),repeating-linear-gradient(0deg,transparent 0 25px,rgba(88,120,137,.08) 26px 27px);box-shadow:0 18px 60px #4b2b1429,4px 5px #4b2b141f;text-align:center;transform:translate(-50%) rotate(.6deg)}.welcome-note:after,.paper-modal:after,.decor-drawer:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.23;background-image:repeating-radial-gradient(circle,rgba(84,59,45,.22) 0 .4px,transparent .7px 3px);background-size:8px 9px}.tape{position:absolute;top:-11px;width:86px;height:25px;background:#dec388ad;box-shadow:inset 0 0 8px #74542d1f}.tape--left{left:22px;transform:rotate(-5deg)}.tape--right{right:22px;transform:rotate(4deg)}.eyebrow{margin:0 0 12px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.14em}.welcome-note h1,.paper-modal h2,.decor-drawer h2,.memory-card h2{font-family:var(--display);font-weight:500;letter-spacing:-.035em}.welcome-note h1{max-width:400px;margin:0 auto 14px;font-size:clamp(32px,3.5vw,55px);line-height:.95}.welcome-note>p:not(.eyebrow){max-width:360px;margin:0 auto 24px;color:var(--ink-soft);font-size:13px;line-height:1.55}.welcome-note em{color:var(--coral-dark);font-family:var(--display);font-size:1.08em}.ink-button{min-height:48px;padding:0 24px;border:1px solid #17110e;border-radius:3px;background:var(--ink);box-shadow:3px 3px #d8654ba6;color:#fffaf0;font-size:12px;font-weight:700;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.ink-button:hover{transform:translate(-1px,-1px);box-shadow:5px 5px #d8654ba6}.ink-button:active{transform:translate(2px,2px);box-shadow:1px 1px #d8654ba6}.ink-button--wide{width:100%}.items-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9;pointer-events:none}.party-rain{width:100%;height:100%;contain:strict;position:absolute;top:0;right:0;bottom:0;left:0;z-index:18;overflow:hidden;pointer-events:none}.item-party-button .memory-visual{transition:transform .11s ease}.item-party-button:not(.is-editable):active .memory-visual{transform:translateY(5%) scaleY(.91)}.room-item.is-party-reacting>.wall-object-plane .memory-visual{animation:party-pet-reaction .82s cubic-bezier(.2,.85,.32,1);transform-origin:50% 90%}@keyframes party-pet-reaction{0%,to{transform:translateY(0) rotate(0)}28%{transform:translateY(-9%) rotate(-3deg)}52%{transform:translateY(-3%) rotate(3deg)}72%{transform:translateY(-6%) rotate(-1deg)}}@media(prefers-reduced-motion:reduce){.party-rain{display:none}.room-item.is-party-reacting>.wall-object-plane .memory-visual{animation:none}}.room-item{--size: 10;--rotation: 0deg;position:absolute;left:50%;top:50%;width:calc(var(--size) * 1%);min-width:46px;padding:0;border:0;background:transparent;filter:drop-shadow(3px 8px 5px rgba(73,42,18,.18));transform:translate(-50%,-50%) rotate(var(--rotation));transform-origin:50% 80%;cursor:pointer;pointer-events:auto;touch-action:none;transition:filter .16s ease,transform .16s ease,opacity .16s ease}.room-item:not(.is-preview):hover,.room-item:not(.is-preview):focus-visible{outline:none;filter:drop-shadow(4px 12px 7px rgba(73,42,18,.25));transform:translate(-50%,-50%) rotate(var(--rotation))}.room-item-edit-hint{position:absolute;top:3px;right:3px;z-index:12;display:grid;width:28px;height:28px;padding:0;place-items:center;border:1px solid var(--coral-dark);border-radius:50%;background:var(--coral-dark);box-shadow:1px 2px #34251f24;color:var(--paper);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-3px);transition:color .14s ease,background-color .14s ease,opacity .14s ease,transform .14s ease}.room-item-edit-hint svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.room-item.is-editable:hover .room-item-edit-hint,.room-item.is-preview.is-editable .room-item-edit-hint{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}.room-item-edit-hint:hover{background:var(--coral);transform:scale(1.04)}.room-item.is-preview{filter:drop-shadow(4px 12px 7px rgba(73,42,18,.28));cursor:grab}.room-item.is-preview:active{cursor:grabbing}.placement-controls{position:absolute;z-index:20;transform-origin:50% 80%;pointer-events:none}.placement-controls .room-item-edit-hint{visibility:visible;opacity:1;pointer-events:auto;transform:none}.placement-frame{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;border:1px solid rgba(169,71,56,.9);border-radius:3px;pointer-events:none}.placement-handle{position:absolute;z-index:11;display:grid;width:26px;height:26px;min-width:0;padding:0;place-items:center;border:1px solid var(--coral-dark);border-radius:50%;background:var(--coral-dark);box-shadow:1px 2px #34251f33;color:var(--paper);-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:0;pointer-events:auto;touch-action:none}.placement-handle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.placement-handle--resize{right:-8px;bottom:-8px;border-radius:5px;cursor:nwse-resize}.placement-handle--rotate{top:-35px;left:50%;cursor:grab;transform:translate(-50%)}.placement-handle--rotate:after{content:"";position:absolute;top:24px;left:50%;width:1px;height:11px;border-left:1px dashed var(--coral-dark);transform:translate(-50%)}.room-item img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.generated-object-asset{object-fit:contain}.pet-sprite{display:block;width:100%;aspect-ratio:4 / 5;overflow:hidden;background-repeat:no-repeat;pointer-events:auto}.pet-sprite--idle{background-size:400% 100%;animation:petIdleFrames 3.2s linear infinite}.pet-sprite--reaction{background-size:600% 100%;animation:petReactionFrames .9s linear 1 both}@keyframes petIdleFrames{0%,24.999%{background-position:0 0}25%,49.999%{background-position:33.333% 0}50%,74.999%{background-position:66.667% 0}75%,to{background-position:100% 0}}@keyframes petReactionFrames{0%,16.665%{background-position:0 0}16.666%,33.332%{background-position:20% 0}33.333%,49.999%{background-position:40% 0}50%,66.665%{background-position:60% 0}66.666%,83.332%{background-position:80% 0}83.333%,to{background-position:100% 0}}.classic-cat-sprite{display:block;width:100%;aspect-ratio:4 / 5;overflow:hidden;background-repeat:no-repeat;background-position:0 0;background-size:1500% 100%;animation:classicCatWagFrames 2.4s steps(1,end) infinite;pointer-events:auto}.classic-cat-sprite.is-reacting{animation-duration:.9s;animation-iteration-count:1}@keyframes classicCatWagFrames{0%,6.665%{background-position:0 0}6.666%,13.332%{background-position:7.143% 0}13.333%,19.999%{background-position:14.286% 0}20%,26.665%{background-position:21.429% 0}26.666%,33.332%{background-position:28.571% 0}33.333%,39.999%{background-position:35.714% 0}40%,46.665%{background-position:42.857% 0}46.666%,53.332%{background-position:50% 0}53.333%,59.999%{background-position:57.143% 0}60%,66.665%{background-position:64.286% 0}66.666%,73.332%{background-position:71.429% 0}73.333%,79.999%{background-position:78.571% 0}80%,86.665%{background-position:85.714% 0}86.666%,93.332%{background-position:92.857% 0}93.333%,to{background-position:100% 0}}.item-balloon:not(.is-editable):not(.is-preview) .memory-visual,.item-balloons:not(.is-editable):not(.is-preview) .memory-visual{transform-origin:50% 86%}.item-balloon.is-balloon-popping .memory-visual,.item-balloons.is-balloon-popping .memory-visual{animation:balloon-release 1.05s cubic-bezier(.2,.72,.22,1) both;will-change:opacity,transform}.item-number-balloon .memory-visual{transform-origin:50% 90%}.item-number-balloon.is-number-balloon-bouncing .memory-visual{animation:number-balloon-bounce .7s cubic-bezier(.2,.75,.25,1) both;will-change:transform}.item-party-hat.is-party-hat-wiggling .memory-visual{animation:party-hat-wiggle .5s cubic-bezier(.34,.12,.2,1) both;transform-origin:50% 88%;will-change:transform}@keyframes number-balloon-bounce{0%,to{transform:translateY(0) rotate(0) scale(1)}20%{transform:translateY(-7%) rotate(-2deg) scale(1.025)}43%{transform:translateY(1.5%) rotate(1.5deg) scale(.99)}64%{transform:translateY(-3%) rotate(-.8deg) scale(1.012)}82%{transform:translateY(.5%) rotate(.35deg) scale(.998)}}@keyframes party-hat-wiggle{0%,to{transform:rotate(0)}18%{transform:rotate(-6deg)}38%{transform:rotate(5deg)}58%{transform:rotate(-3.5deg)}76%{transform:rotate(2deg)}}.item-balloon.is-balloon-hidden,.item-balloons.is-balloon-hidden{visibility:hidden;pointer-events:none}.balloon-pop-particles{position:absolute;top:34%;left:50%;z-index:3;width:1px;height:1px;pointer-events:none}.balloon-pop-particles:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border:2px solid rgba(255,248,218,.9);border-radius:50%;animation:balloon-burst-ring .3s 245ms ease-out both}@keyframes balloon-release{0%{opacity:1;transform:rotate(0) scale(1)}18%{opacity:1;transform:translateY(2px) rotate(-2.2deg) scale(.985)}36%{opacity:1;transform:translateY(-3px) rotate(1.8deg) scale(1.015)}58%{opacity:1;transform:translateY(-10px) rotate(-.8deg) scale(1.01)}to{opacity:0;transform:translateY(-48px) rotate(1deg) scale(.96)}}.balloon-confetti{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;overflow:hidden;pointer-events:none}.balloon-confetti i{position:absolute;top:var(--confetti-origin-y);left:var(--confetti-origin-x);width:var(--confetti-width);height:var(--confetti-height);opacity:0;animation:balloon-confetti-burst var(--confetti-duration) var(--confetti-delay) cubic-bezier(.18,.66,.3,1) both}.balloon-confetti i b{display:block;width:100%;height:100%;border-radius:1px 3px 1px 2px;background:var(--confetti-color);box-shadow:0 1px 2px #34251f33;animation:balloon-confetti-tumble .28s linear infinite}.balloon-confetti i:nth-child(3n) b{border-radius:50%}.balloon-confetti i:nth-child(2n) b{animation-direction:reverse;animation-duration:.34s}.balloon-confetti i:nth-child(5n) b{animation-duration:.22s}@keyframes balloon-confetti-burst{0%{opacity:0;transform:translate3d(-50%,-50%,0) rotate(0)}6%{opacity:1}34%{opacity:1;transform:translate3d(var(--confetti-burst-x),var(--confetti-burst-y),0) rotate(var(--confetti-mid-turn))}82%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-end-x),var(--confetti-end-y),0) rotate(var(--confetti-turn))}}@keyframes balloon-confetti-tumble{0%{transform:perspective(30px) rotateX(0) rotateY(0) scaleX(1)}50%{transform:perspective(30px) rotateX(95deg) rotateY(35deg) scaleX(.62)}to{transform:perspective(30px) rotateX(180deg) rotateY(70deg) scaleX(1)}}@keyframes balloon-burst-ring{0%{opacity:.9;transform:scale(.2)}to{opacity:0;transform:scale(3.6)}}@media(prefers-reduced-motion:reduce){.item-balloon.is-balloon-popping .memory-visual,.item-balloons.is-balloon-popping .memory-visual,.item-number-balloon.is-number-balloon-bouncing .memory-visual,.item-party-hat.is-party-hat-wiggling .memory-visual,.balloon-confetti i,.balloon-confetti i b{animation:none}.balloon-pop-particles,.balloon-pop-particles:before,.balloon-confetti{display:none}}.item-board{width:calc(var(--size) * 1.15%)}.item-window{width:calc(var(--size) * .92%)}.generated-photo,.generated-note{position:relative;display:block}.generated-photo-frame{position:relative;z-index:1}.generated-photo-content{position:absolute;top:13.3%;left:12.8%;z-index:2;width:72.7%!important;height:64.8%!important;clip-path:polygon(0 5.2%,94.8% 0,100% 95%,5% 100%);object-fit:cover;object-position:center}.generated-note>span{position:absolute;top:28%;left:20%;z-index:2;width:60%;color:#6a4a3c;font-family:Bradley Hand,Comic Sans MS,cursive;font-size:clamp(7px,.67vw,11px);line-height:1.17;text-align:center}.item-sofa,.item-bookcase,.item-lamp{width:calc(var(--size) * 1%)}.item-lamp .generated-object-asset{transition:filter .22s ease,opacity .18s ease}.item-lamp.is-lamp-on .generated-object-asset{filter:drop-shadow(0 0 8px rgba(255,205,91,.42))}.lamp-switch{position:absolute;top:37.5%;left:56%;z-index:11;width:40px;height:40px;min-width:0;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;touch-action:manipulation;transform:translate(-50%,-50%)}.lamp-switch-hint{position:absolute;top:50%;left:50%;width:14px;height:14px;border:1px dashed rgba(122,69,39,.86);border-radius:50%;background:#fffaf080;box-shadow:0 1px 5px #34251f29;opacity:0;transform:translate(-50%,-50%) scale(.75);transition:opacity .14s ease,transform .14s ease}.item-lamp:hover .lamp-switch-hint,.lamp-switch:hover .lamp-switch-hint,.lamp-switch:focus-visible .lamp-switch-hint{opacity:1;transform:translate(-50%,-50%) scale(1)}.lamp-switch:focus-visible{outline:2px solid var(--coral-dark);outline-offset:1px}.doodle-paper{display:grid;aspect-ratio:1.3;padding:7%;place-items:center;border:1px dashed rgba(52,37,31,.35);background:#fffaf0d6;box-shadow:2px 3px #34251f24}.doodle-paper img{width:100%;max-height:100%;object-fit:contain}.doodle-paper:not(.is-empty){aspect-ratio:auto;padding:0;border:0;background:transparent;box-shadow:none}.doodle-paper:not(.is-empty).has-background{background:var(--doodle-item-background)}.doodle-paper:not(.is-empty) img{display:block;max-height:none}.doodle-paper.is-empty{border-style:dashed;background:#fffdf7d1}.doodle-paper-empty{display:block;max-width:110px;color:var(--ink-soft);font-family:var(--mono);font-size:10px;line-height:1.45;text-align:center}.room-item:after{content:"";position:absolute;left:50%;bottom:-13px;width:5px;height:5px;border:1px solid rgba(52,37,31,.8);border-radius:50%;background:var(--paper);opacity:0;transform:translate(-50%);transition:opacity .16s ease}.room-item:not(.is-preview):hover:after,.room-item:not(.is-preview):focus-visible:after{opacity:1}.room-item.is-editable:after{display:none}.add-room-button{position:absolute;right:28px;bottom:25px;z-index:35;display:flex;min-height:50px;align-items:center;gap:9px;padding:6px 18px 6px 7px;border:1px solid rgba(52,37,31,.72);border-radius:999px;background:var(--paper);box-shadow:0 7px 18px #34251f24,2px 3px #34251f2e;color:var(--ink);font-size:11px;font-weight:750;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease}.add-room-button__icon{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:var(--coral-dark);box-shadow:inset 0 0 0 1px #34251f29;color:var(--paper);font-family:var(--sans);font-size:20px;font-weight:500;line-height:1;transition:background-color .15s ease,transform .18s ease}.add-room-button:hover{border-color:var(--coral-dark);background:#fffdf7;box-shadow:0 9px 22px #34251f2b,2px 4px #34251f33;transform:translateY(-1px)}.add-room-button:hover .add-room-button__icon{background:var(--coral);transform:rotate(8deg) scale(1.04)}.add-room-button:active{box-shadow:0 4px 12px #34251f29,1px 2px #34251f33;transform:translateY(1px)}.gift-send-button:focus-visible,.add-room-button:focus-visible{outline:2px solid var(--paper);outline-offset:3px}.tiny-credit{position:absolute;right:18px;bottom:10px;z-index:12;margin:0;color:#34251fa6;font-family:var(--mono);font-size:8px;letter-spacing:.03em}.add-room-button+.tiny-credit{right:auto;left:18px}.overlay,.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#2d1d1373;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.overlay{display:grid;place-items:center;padding:22px;overflow:auto}.paper-modal{position:relative;z-index:1;width:min(520px,100%);border:1px solid rgba(52,37,31,.28);background:var(--paper);box-shadow:8px 10px #34251f33}.paper-modal h2,.decor-drawer h2{margin:0;font-size:clamp(31px,4vw,48px);line-height:.98}.create-card{padding:40px 44px 42px}.create-room-card h2{font-size:clamp(30px,5vw,38px);line-height:1.12}.create-room-card .eyebrow{color:var(--coral-dark);margin-right:28px}.create-names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.create-room-card .create-theme-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 24px}.create-theme-picker legend{padding:0;margin-bottom:10px;font-size:12px;letter-spacing:.06em}.create-theme-picker label{position:relative;margin:0;cursor:pointer}.create-theme-picker input{position:absolute;opacity:0;width:1px;height:1px}.create-theme-picker label>span{display:grid;place-items:center;min-height:50px;padding:10px;border:1px solid #c9baaa;border-radius:5px;background:#fffdf8;font-size:13px;letter-spacing:0}.create-theme-picker input:checked+span{border-color:var(--coral-dark);box-shadow:inset 0 0 0 1px var(--coral-dark);background:#f9ebdf}.create-theme-picker input:focus-visible+span{outline:2px solid var(--coral-dark);outline-offset:3px}.create-room-card .create-template-option{display:flex;align-items:flex-start;gap:10px;margin:0 0 26px;cursor:pointer}.create-template-option input{flex:none;width:17px;height:17px;margin:2px 0 0;accent-color:var(--coral-dark)}.create-template-option>span{font-size:14px;letter-spacing:0;line-height:1.5}.create-template-option small{display:block;margin-top:4px;color:var(--ink-soft);font-size:12px}.create-template-option input:focus-visible{outline:2px solid var(--coral-dark);outline-offset:3px}.close-button{position:absolute;top:12px;right:14px;z-index:5;display:grid;width:33px;height:33px;padding:0;place-items:center;border:1px solid rgba(52,37,31,.3);border-radius:50%;background:#fffaf0d9;font-family:var(--mono);font-size:18px;cursor:pointer}.create-card form,.object-details{margin-top:28px}form label,form fieldset{display:block;margin:0 0 19px;padding:0;border:0}form label>span:first-child,form legend,.doodle-label{display:block;margin-bottom:7px;letter-spacing:.08em;text-transform:uppercase}.create-card form label>span:first-child{font-size:12px;text-transform:none}input,textarea{width:100%;border:0;border-bottom:1px solid rgba(52,37,31,.42);border-radius:0;outline:none;background:transparent;caret-color:var(--coral-dark);color:var(--ink);font-family:var(--display);font-size:20px}input{height:39px}textarea{min-height:95px;padding:8px 0;line-height:1.35;resize:vertical}input:focus,textarea:focus{border-color:var(--coral-dark)}input::placeholder,textarea::placeholder{color:#34251f61}.decor-drawer{position:fixed;top:0;right:0;bottom:0;z-index:120;width:min(880px,94vw);padding:34px 38px 38px;overflow-y:auto;border-left:1px solid rgba(52,37,31,.25);background:linear-gradient(#fffaf0f7,#faf2e2f7),var(--paper);box-shadow:-12px 0 40px #2b1b122e;animation:drawerIn .26s ease-out}.decor-drawer--details{top:50%;right:50%;bottom:auto;width:min(940px,calc(100vw - 48px));max-height:calc(100dvh - 24px);padding:30px 36px 34px;border:1px solid rgba(52,37,31,.28);border-radius:14px;box-shadow:0 24px 70px #2b1b1247,5px 6px #2b1b121a;transform:translate(50%,-50%);animation:detailsModalIn .22s ease-out}.decor-drawer--details .drawer-handle{display:none}.decor-drawer--details .drawer-intro,.decor-drawer--details .object-details{width:100%;max-width:840px;margin-inline:auto}.drawer-backdrop{z-index:110}.drawer-handle{position:absolute;top:50%;left:-13px;width:26px;height:74px;border:1px solid rgba(52,37,31,.28);border-right:0;background:var(--paper);transform:translateY(-50%)}.drawer-intro>p:not(.eyebrow){margin:7px 0 0;color:var(--ink-soft);font-family:var(--display);font-size:16px}.drawer-intro{max-width:690px;padding-right:48px}.drawer-cancel-link{display:inline-flex;align-items:center;gap:5px;margin:0 0 12px;padding:2px 0;border:0;background:transparent;color:var(--ink);font-family:var(--mono);font-size:11px;font-weight:700;line-height:1.4;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.drawer-cancel-link svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.drawer-cancel-link:hover{color:var(--coral-dark)}.drawer-intro--details h2{font-size:clamp(34px,4vw,44px)}.object-scroll-hint{display:none}.object-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:24px}.object-picker>button{position:relative;display:grid;min-height:128px;padding:10px;place-items:center;border:1px solid rgba(52,37,31,.28);border-radius:2px;background:#f5edde;cursor:pointer;transition:transform .15s ease,background .15s ease}.object-picker>button:hover{z-index:2;background:#fffdf7;transform:rotate(-1deg) translateY(-2px)}.object-picker>button:nth-last-child(2):nth-child(6n+1){grid-column:auto}.object-picker b,.object-picker small{display:block}.object-picker b{align-self:end;font-family:var(--display);font-size:15px;font-weight:600}.object-picker small{align-self:start;color:var(--ink-soft);font-family:var(--mono);font-size:9px;line-height:1.35}.picker-image{display:grid;width:100%;height:72px;place-items:center;overflow:hidden}.picker-image img{display:block;width:90%;max-height:76px;object-fit:contain;filter:drop-shadow(2px 4px 3px rgba(52,37,31,.16))}.picker-image--tall img{width:48%;max-height:72px}.picker-image--character img{width:52%;max-height:74px}.picker-image--wide img{width:94%;max-height:68px}.picker-icon{position:relative;display:block;width:52px;height:52px}.picker-icon--doodle{display:grid;place-items:center;border:1px dashed rgba(52,37,31,.5);background:#fffdf8;color:var(--coral);font-family:Bradley Hand,cursive;font-size:32px;transform:rotate(-3deg)}.back-link{grid-column:1 / -1;justify-self:start;margin:0;padding:3px 0;border:0;background:transparent;color:var(--ink);font-family:var(--mono);font-size:12px;font-weight:700;line-height:1.4;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.object-details{display:grid;max-width:none;grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);gap:16px 22px;align-items:stretch}.object-details--doodle{align-items:start}.object-details--doodle .object-preview-panel,.object-details--doodle .object-form-panel{width:100%}.object-details--doodle .message-field textarea{min-height:92px}.object-details--doodle .object-form-panel{padding:21px 23px 20px}.object-details--doodle .object-form-actions{margin-top:14px;padding-top:14px}.object-details--cake,.object-details--balloon,.object-details--party-hat{grid-template-columns:1fr}.object-details--cake .object-preview-panel,.object-details--balloon .object-preview-panel,.object-details--party-hat .object-preview-panel{display:none}.object-details--cake .object-form-panel,.object-details--balloon .object-form-panel,.object-details--party-hat .object-form-panel{gap:22px;padding:0;border:0;background:transparent;box-shadow:none}.object-details--cake .cake-style-picker,.object-details--cake .message-field,.object-details--balloon .balloon-style-picker,.object-details--balloon .message-field,.object-details--party-hat .party-hat-style-picker,.object-details--party-hat .message-field{margin:0}.object-details--cake .message-field,.object-details--balloon .message-field,.object-details--party-hat .message-field{padding-bottom:18px}.object-details--cake .object-form-actions,.object-details--balloon .object-form-actions,.object-details--party-hat .object-form-actions{margin-top:0}.object-remove-button{display:block;margin:13px auto 0;min-height:36px;padding:8px 12px;border:0;background:transparent;color:var(--coral-dark);font-family:var(--mono);font-size:12px;font-weight:700;line-height:1.35;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.object-remove-button:hover{color:var(--coral-dark)}.remove-confirm-overlay{z-index:150}.remove-confirm-card{width:min(430px,100%);padding:38px 40px 34px;text-align:center}.remove-confirm-card h2{margin:8px 0 10px;font-size:clamp(31px,4vw,43px)}.remove-confirm-card>p:not(.eyebrow){margin:0;color:var(--ink-soft)}.remove-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}.remove-confirm-actions button{min-height:46px;border:1px solid var(--ink);font-weight:700;cursor:pointer}.remove-cancel-button{background:var(--paper);color:var(--ink)}.remove-confirm-button{background:var(--coral-dark);color:#fffaf0}.remove-confirm-actions button:disabled{cursor:wait;opacity:.58}.chosen-object{display:grid;width:100%;height:220px;margin:8px 0 12px;place-items:center;overflow:hidden;border:0;background:radial-gradient(circle at 50% 62%,rgba(216,101,75,.13),transparent 58%)}.chosen-object .room-item{position:relative;top:auto!important;left:auto!important;width:min(220px,88%);max-height:205px;pointer-events:none;transform:none!important}.chosen-object .room-item img{max-height:205px;object-fit:contain}.chosen-object .item-lamp,.chosen-object .item-plant,.chosen-object .item-drawer{width:min(130px,62%)}.chosen-object .item-cat,.chosen-object .item-dog{width:min(145px,66%)}.chosen-object .item-clock,.chosen-object .item-note{width:min(155px,70%)}.chosen-object--photo{height:235px}.chosen-object--photo .room-item{width:165px;max-height:225px}.chosen-object--photo .room-item img{max-height:none}.chosen-object--photo .room-item .generated-photo-content{object-fit:cover}.object-details label{position:relative}.object-preview-panel,.object-form-panel{border:1px solid rgba(52,37,31,.23);background:#fffdf7d6;box-shadow:4px 5px #34251f17}.object-preview-panel{position:static;display:flex;min-height:370px;padding:23px 22px 19px;flex-direction:column;text-align:center}.object-preview-panel .eyebrow{margin-bottom:5px;color:var(--coral-dark);font-size:10px;line-height:1.4}.object-preview-panel h3{margin:10px 0 0;font-family:var(--display);font-size:30px;font-weight:500}.object-preview-caption{margin:auto 0 0;color:var(--ink-soft);font-family:var(--mono);font-size:11px;font-weight:700;line-height:1.4}.object-form-panel{display:flex;padding:25px 27px 24px;flex-direction:column}.object-form-panel label>span:first-child,.object-form-panel legend{margin-bottom:9px;color:var(--ink);font-size:14px;line-height:1.2;text-transform:none}.object-form-panel input,.object-form-panel textarea{padding:11px 12px;border:1px solid rgba(52,37,31,.28);border-radius:3px;background:#fffaf0bd;font-size:17px}.object-form-panel textarea{min-height:132px;resize:none}.object-form-panel input:focus,.object-form-panel textarea:focus{border-color:var(--coral-dark);box-shadow:0 0 0 2px #a947381a}.object-form-panel .destination-editor-card input{padding:8px 4px;border-width:0 0 1px;border-radius:0;background:transparent;font-size:14px}.object-form-actions{margin-top:auto;padding-top:19px;border-top:1px solid rgba(52,37,31,.16)}.object-details label>small{position:absolute;right:0;bottom:7px;color:var(--ink-soft);font-family:var(--mono);font-size:10px}.message-field{padding-bottom:18px}.object-details .message-field>small{bottom:0}.upload-field input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.upload-button{display:grid!important;min-height:66px;padding:12px 16px;place-items:center;border:2px dashed rgba(52,37,31,.54);background:#f5edde;font-family:var(--sans)!important;font-size:14px!important;font-weight:700;text-transform:none!important;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,transform .15s ease}.upload-field:hover .upload-button{border-color:var(--coral-dark);background:#fff8eb;transform:translateY(-1px)}.upload-field--photo{padding:0;border:0!important;background:transparent}.upload-field--photo.has-photo{background:transparent}.field-status{display:inline-block;margin-left:7px;color:var(--ink-soft);font-family:var(--sans);font-size:10px;font-style:normal;font-weight:700;letter-spacing:.07em;text-transform:uppercase;vertical-align:.1em}.field-status--required{color:var(--coral-dark)}.photo-message-field textarea{min-height:108px}.object-form-actions .ink-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.48;transform:none}.photo-upload-note{display:block!important;margin-top:8px;color:var(--ink-soft);font-family:var(--mono)!important;font-size:10px!important;line-height:1.4;letter-spacing:.02em;text-align:center;text-transform:none!important}.destination-field{margin:4px 0 24px}.destination-field>p{margin:-2px 0 12px;color:var(--ink-soft);font-family:var(--display);font-size:14px}.destination-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.destination-editor-card{padding:8px 8px 10px;border:1px solid rgba(52,37,31,.25);background:#f6eedf;box-shadow:2px 3px #34251f1a}.destination-editor-card:nth-child(2n){transform:rotate(.35deg)}.destination-editor-card:nth-child(odd){transform:rotate(-.35deg)}.destination-upload{position:relative;display:grid!important;height:88px;margin:0 0 8px!important;place-items:center;overflow:hidden;border:1px dashed rgba(52,37,31,.38);background:linear-gradient(165deg,#d6e2d8 0,#d6e2d8 53%,#b9c59f 54%,#b9c59f 68%,#8fa47e 69%);cursor:pointer}.destination-editor-card:nth-child(2) .destination-upload{background:linear-gradient(165deg,#e9c6ad 0,#e9c6ad 50%,#d48668 51%,#d48668 66%,#8f7256 67%)}.destination-editor-card:nth-child(3) .destination-upload{background:linear-gradient(165deg,#bfd2d8 0,#bfd2d8 50%,#738f9a 51%,#738f9a 64%,#53716f 65%)}.destination-editor-card:nth-child(4) .destination-upload{background:linear-gradient(165deg,#d8d4e4 0,#d8d4e4 48%,#8b86a1 49%,#8b86a1 65%,#585a75 66%)}.destination-editor-card:nth-child(5) .destination-upload{background:linear-gradient(165deg,#eed7b4 0,#eed7b4 52%,#d4a56e 53%,#d4a56e 68%,#9f7755 69%)}.destination-editor-card:nth-child(6) .destination-upload{background:linear-gradient(165deg,#b9c5d7 0,#b9c5d7 48%,#7c8ea8 49%,#7c8ea8 66%,#455b75 67%)}.destination-upload input{position:absolute;width:1px;height:1px;opacity:0}.destination-upload-placeholder{position:relative;z-index:1;padding:5px 8px;border:1px solid rgba(52,37,31,.28);background:#fffaf0d1;color:var(--ink-soft);font-family:var(--mono)!important;font-size:8px!important;text-transform:lowercase!important}.destination-upload-preview{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;object-fit:cover}.destination-editor-card>input{height:31px;font-size:16px}.destination-editor-card>input:last-child{color:var(--ink-soft);font-size:13px}.doodle-label{display:flex;align-items:center;justify-content:space-between}.doodle-field{width:100%;min-width:0}.doodle-label button{border:0;background:transparent;color:var(--ink-soft);font-family:var(--mono);font-size:11px;text-decoration:underline;cursor:pointer}.doodle-canvas{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1.63;box-sizing:border-box;border:1px dashed rgba(52,37,31,.45);background-color:var(--doodle-background, #fffdf7);cursor:crosshair;touch-action:none}.doodle-canvas.has-transparent-background{background-color:#fffdf7;background-image:linear-gradient(45deg,rgba(52,37,31,.055) 25%,transparent 25%),linear-gradient(-45deg,rgba(52,37,31,.055) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(52,37,31,.055) 75%),linear-gradient(-45deg,transparent 75%,rgba(52,37,31,.055) 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.crayons{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.crayons button{width:26px;height:26px;padding:0;border:3px solid #fffaf0;border-radius:50%;outline:1px solid rgba(52,37,31,.25);background:var(--crayon);cursor:pointer}.crayons button.is-selected{outline:2px solid var(--ink);outline-offset:2px}.doodle-tools{margin-top:12px;overflow:hidden;border:1px solid rgba(52,37,31,.18);border-radius:5px;background:#fffaf08c}.doodle-tool-row{display:grid;min-height:44px;grid-template-columns:86px minmax(0,1fr);gap:12px;align-items:center;padding:8px 12px}.doodle-tool-row+.doodle-tool-row{border-top:1px solid rgba(52,37,31,.12)}.doodle-tool-title{color:var(--ink-soft);font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.doodle-backgrounds,.doodle-strokes{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.doodle-backgrounds button,.doodle-strokes button{display:grid;width:32px;height:28px;min-width:0;padding:3px;place-items:center;border:1px solid rgba(52,37,31,.23);border-radius:5px;background:#fffaf0;cursor:pointer}.doodle-backgrounds button.is-selected,.doodle-strokes button.is-selected{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.doodle-backgrounds button>span{display:block;width:100%;height:100%;border-radius:2px;background:var(--doodle-swatch)}.doodle-backgrounds button.is-transparent>span{position:relative;overflow:hidden;background:linear-gradient(45deg,rgba(52,37,31,.12) 25%,transparent 25%),linear-gradient(-45deg,rgba(52,37,31,.12) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(52,37,31,.12) 75%),linear-gradient(-45deg,transparent 75%,rgba(52,37,31,.12) 75%),#fffdf7;background-position:0 0,0 5px,5px -5px,-5px 0;background-size:10px 10px}.doodle-backgrounds button.is-transparent>span:after{content:"×";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--coral-dark);font-size:15px;line-height:1}.doodle-strokes button{width:52px}.doodle-strokes button>span{display:block;width:30px;height:var(--stroke-size);border-radius:999px;background:var(--ink)}.memory-card,.share-card{padding:44px 48px 42px;text-align:center;transform:rotate(.45deg)}.memory-kind{margin:0 0 7px;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.12em}.memory-card h2{margin:0;color:var(--coral-dark);font-family:Snell Roundhand,Bradley Hand,cursive;font-size:clamp(37px,5vw,57px);font-weight:400;transform:rotate(-2deg)}.memory-rule{display:flex;align-items:center;gap:8px;margin:17px 0;color:var(--coral);font-size:13px}.memory-rule:before,.memory-rule:after{content:"";flex:1;border-top:1px dashed rgba(52,37,31,.35)}.memory-message{margin:0;font-family:var(--display);font-size:clamp(20px,3vw,28px);line-height:1.35}.memory-extra{margin:20px 0 0;padding:12px 14px;border:1px dashed rgba(52,37,31,.34);background:#f5edde;font-family:var(--mono);font-size:10px;line-height:1.5}.memory-extra a{color:var(--coral-dark);font-weight:700;text-decoration:underline;text-underline-offset:3px}.memory-date{margin:23px 0 0;color:var(--ink-soft);font-family:var(--mono);font-size:8px;text-transform:uppercase}.memory-edit-button{width:100%;margin-top:18px}.window-overlay{background:#271f189e;-webkit-backdrop-filter:blur(7px) saturate(.78);backdrop-filter:blur(7px) saturate(.78)}.window-journey{position:relative;width:min(900px,100%);padding:48px clamp(28px,5vw,66px) 35px;overflow:hidden;border:8px solid #70462e;background:linear-gradient(#fffaeff0,#f8eed8f5),repeating-radial-gradient(circle,rgba(84,59,45,.2) 0 .5px,transparent .8px 4px);box-shadow:inset 0 0 0 2px #bc8454,14px 18px #1e130e3d;color:var(--ink);animation:windowJourneyArrives .42s cubic-bezier(.2,.8,.2,1)}.window-journey:before,.window-journey:after{content:"";position:absolute;top:0;bottom:0;z-index:0;width:46px;background:repeating-linear-gradient(90deg,#a94e45 0,#a94e45 11px,#c46758 12px,#c46758 22px);box-shadow:inset -8px 0 12px #46231d33}.window-journey:before{left:0}.window-journey:after{right:0;transform:scaleX(-1)}.window-journey>*{position:relative;z-index:1}.window-journey header{max-width:640px;margin:0 auto 24px;text-align:center}.window-journey h2{margin:0;font-family:var(--display);font-size:clamp(36px,5vw,62px);font-weight:500;letter-spacing:-.04em;line-height:.95}.window-journey header>p:last-child{margin:13px auto 0;color:var(--ink-soft);font-family:var(--display);font-size:17px;line-height:1.4}.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.destination-card{min-width:0;padding:9px 9px 14px;border:1px solid rgba(52,37,31,.3);background:#fffaf0;box-shadow:3px 4px #34251f21;opacity:0;transform:translateY(12px) rotate(-.6deg);animation:destinationArrives .36s ease-out forwards;animation-delay:calc(90ms + var(--destination-index) * 70ms)}.destination-card:nth-child(2n){transform:translateY(12px) rotate(.7deg)}.destination-picture{position:relative;aspect-ratio:1.45;overflow:hidden;background:linear-gradient(165deg,#dbe6df 0,#dbe6df 52%,#a4b89b 53%,#a4b89b 67%,#788d6c 68%)}.destination-card--2 .destination-picture{background:linear-gradient(165deg,#eed0b5 0,#eed0b5 48%,#d98b68 49%,#d98b68 65%,#8a6950 66%)}.destination-card--3 .destination-picture{background:linear-gradient(165deg,#c4d9df 0,#c4d9df 50%,#7898a3 51%,#7898a3 66%,#567273 67%)}.destination-card--4 .destination-picture{background:linear-gradient(165deg,#d7d4e3 0,#d7d4e3 47%,#89879f 48%,#89879f 64%,#555972 65%)}.destination-card--5 .destination-picture{background:linear-gradient(165deg,#efd7ad 0,#efd7ad 51%,#cea36c 52%,#cea36c 67%,#967052 68%)}.destination-card--6 .destination-picture{background:linear-gradient(165deg,#bdc9da 0,#bdc9da 48%,#7e90a8 49%,#7e90a8 65%,#455c73 66%)}.destination-picture:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-radial-gradient(circle,rgba(255,255,255,.2) 0 .6px,transparent .9px 4px);mix-blend-mode:soft-light;pointer-events:none}.destination-picture img{width:100%;height:100%;object-fit:cover}.destination-card h3{margin:10px 2px 3px;font-family:var(--display);font-size:20px;font-weight:600}.destination-card p{margin:0 2px;color:var(--ink-soft);font-family:var(--mono);font-size:8px;line-height:1.45}.window-signature{margin:21px 0 0;color:var(--ink-soft);font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-align:center;text-transform:uppercase}.window-journey .memory-edit-button{display:block;width:min(310px,100%);margin:17px auto 0}.paper-modal.share-card{padding:42px 32px 30px;text-align:left;transform:none}.share-card .eyebrow{margin:0 36px 15px 0;color:var(--coral-dark);font-size:10px}.share-card h2{font-size:clamp(29px,5vw,38px);line-height:1.12;letter-spacing:-.035em}.share-card>p:not(.eyebrow){margin:12px 0 24px;color:var(--ink-soft);font-family:var(--sans);font-size:14px;line-height:1.6;overflow-wrap:anywhere}.share-mode-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:24px 0 4px}.share-mode-picker button{min-height:96px;padding:14px;border:1px solid rgba(52,37,31,.3);border-radius:2px;background:#f5edde;text-align:left;cursor:pointer}.share-mode-picker button[aria-selected=true]{border-color:var(--ink);background:#fffdf8;box-shadow:3px 3px #d8654b80}.share-mode-picker b,.share-mode-picker small{display:block}.share-mode-picker b{font-family:var(--display);font-size:16px}.share-mode-picker small{margin-top:5px;color:var(--ink-soft);font-family:var(--mono);font-size:8px;line-height:1.35}.share-link-field{display:block;text-align:left}.share-link-field>span{display:block;margin-bottom:8px;font-size:12px;font-weight:600}.share-link-field input{height:46px;padding:0 12px;border:1px solid #c9baaa;border-radius:5px;background:#fffdf8;font-family:var(--mono);font-size:12px;text-overflow:ellipsis}.share-link-field input:focus-visible{outline:2px solid var(--coral-dark);outline-offset:2px}.share-copy-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;margin-top:12px}.share-copy-button svg{width:18px;height:18px;flex:none}.share-card>small{display:block;margin-top:18px;color:var(--ink-soft);font-family:var(--sans);font-size:12px;line-height:1.6}.share-card>p.share-notice{margin:14px 0 0;font-size:13px;color:var(--coral-dark)}@media(max-width:480px){.paper-modal.share-card{padding:40px 22px 26px}}.toast{position:fixed;top:22px;left:50%;z-index:200;padding:11px 18px;border:1px solid var(--ink);background:var(--paper);box-shadow:3px 4px #34251f33;font-family:var(--mono);font-size:10px;transform:translate(-50%) rotate(-1deg);animation:toastIn .22s ease-out}.celebration-bit{position:absolute;z-index:60;width:11px;height:17px;border-radius:50% 50% 45% 20%;pointer-events:none;animation:flutter 1.4s ease-out forwards}@keyframes drawerIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes detailsModalIn{0%{opacity:0;transform:translate(50%,calc(-50% + 14px)) scale(.985)}to{opacity:1;transform:translate(50%,-50%) scale(1)}}@keyframes placedPulse{0%,to{transform:translate(-50%,-50%) rotate(var(--rotation)) scale(1)}50%{transform:translate(-50%,-52%) rotate(var(--rotation)) scale(1.025)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-10px) rotate(-1deg)}to{opacity:1;transform:translate(-50%) rotate(-1deg)}}@keyframes boothArrives{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes windowJourneyArrives{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes destinationArrives{to{opacity:1;transform:translateY(0) rotate(-.6deg)}}.destination-card:nth-child(2n){animation-name:destinationArrivesEven}@keyframes destinationArrivesEven{to{opacity:1;transform:translateY(0) rotate(.7deg)}}@keyframes instantPrint{0%{opacity:.2;transform:translateY(-70px) rotate(-.4deg);filter:sepia(1) contrast(.45) brightness(1.4)}55%{opacity:.72;filter:sepia(.55) contrast(.75) brightness(1.16)}to{opacity:1;transform:translateY(0) rotate(-.4deg);filter:none}}@keyframes cameraFlash{0%{opacity:0}18%{opacity:.98}to{opacity:0}}@keyframes flutter{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:0;transform:translate(var(--drift),160px) rotate(520deg)}}@keyframes doorSceneAway{0%{opacity:1}to{opacity:0}}@media(max-width:760px){.room-stage{min-height:100dvh}.room-header{inset:12px 12px auto}.brand-stamp--room{min-width:0;max-width:calc(100vw - 74px);gap:8px;padding:7px 10px 7px 7px}.room-edit-pen{width:19px;height:19px;flex-basis:19px;font-size:12px;opacity:1;transform:rotate(-8deg) scale(1)}.brand-stamp--room .brand-mark{width:30px;height:30px;flex-basis:30px}.brand-stamp--room strong{font-size:16px}.brand-stamp--room em{margin-top:3px;font-size:9.5px}.visitor-count{display:none}.sound-toggle{width:40px;min-width:40px;padding:0;gap:0}.sound-label{display:none}.door-copy{top:8%;left:50%;width:86vw;text-align:center;transform:translate(-50%)}.door-copy h1{font-size:clamp(37px,10.5vw,48px)}.door-copy>p:last-child{max-width:310px;margin:10px auto 0;font-size:14px}.door-scene-canvas{transform:translate(-75%,-50%)}.door-actions{top:auto;right:auto;bottom:2.5%;left:50%;width:90vw;transform:translate(-50%)}.door-whisper{display:none}.paper-button{min-height:34px;padding:0 11px}.welcome-note{top:13%;left:50%;width:min(88vw,420px);padding:30px 25px 26px}.welcome-note h1{font-size:clamp(35px,10vw,47px)}.gift-send-button{width:42px;min-width:42px;padding:0;justify-content:center}.gift-send-button__label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.add-room-button{right:14px;bottom:16px;min-height:48px;gap:8px;padding:5px 16px 5px 6px}.add-room-button__icon{width:36px;height:36px}.placement-frame{top:0;right:0;bottom:0;left:0}.placement-handle{width:28px;height:28px}.placement-handle svg{width:15px;height:15px}.placement-handle--resize{right:-6px;bottom:-6px}.placement-handle--rotate{top:-37px}.placement-handle--rotate:after{top:26px;height:11px}.tiny-credit{display:none}.create-card,.memory-card,.share-card{padding:39px 25px 30px}.window-overlay{padding:10px}.window-journey{padding:45px 24px 28px;border-width:5px}.window-journey:before,.window-journey:after{width:23px}.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.destination-card{padding:7px 7px 11px}.destination-card h3{font-size:17px}.destination-editor-grid{grid-template-columns:1fr}.decor-drawer{top:auto;width:100%;max-height:82dvh;padding:36px 20px 24px;border-top:1px solid rgba(52,37,31,.25);border-left:0;box-shadow:0 -12px 40px #2b1b122e;animation-name:drawerUp}.decor-drawer--details{right:0;bottom:0;max-height:82dvh;border-radius:18px 18px 0 0;transform:none;animation-name:drawerUp}.decor-drawer--details .drawer-handle{display:block}.drawer-intro{padding-right:38px}.drawer-intro--details h2{font-size:clamp(31px,9vw,40px)}.object-details{grid-template-columns:1fr;gap:14px}.object-preview-panel{position:static;min-height:250px;padding:18px 17px 14px}.chosen-object{height:150px;margin:3px 0 8px}.chosen-object .room-item,.chosen-object .room-item img{max-height:145px}.chosen-object--photo{height:205px}.chosen-object--photo .room-item{max-height:195px}.object-form-panel{padding:21px 18px 20px}.object-scroll-hint{display:block;color:var(--coral-dark)!important;font-family:var(--mono)!important;font-size:10px!important;letter-spacing:.03em}.drawer-handle{top:9px;left:50%;width:60px;height:5px;border:0;border-radius:999px;background:#34251f33;transform:translate(-50%)}.object-picker>button{min-height:126px}.object-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.object-picker>button:nth-last-child(2):nth-child(6n+1){grid-column:auto}.picker-image{height:72px}.picker-image img{max-height:82px}.picker-image--tall img{width:52%;max-height:76px}.picker-image--character img{width:58%;max-height:78px}.picker-image--wide img{max-height:68px}.picker-icon{width:66px;height:66px}.picker-icon--doodle{font-size:38px}.object-picker b{font-size:17px}.object-picker small{font-size:10px}.share-mode-picker{grid-template-columns:1fr}}@keyframes drawerUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.photo-camera-button{width:100%;margin:0 0 18px}.photo-capture-overlay{z-index:160}.photo-capture-card{position:relative;width:min(440px,100%);max-height:90dvh;overflow-y:auto;padding:28px;background:#fff9ea;color:var(--ink);box-shadow:5px 7px #432f2733}.photo-capture-card h2{margin:0 40px 20px 0}.photo-capture-preview{aspect-ratio:1;background:#302722;overflow:hidden}.photo-capture-preview video,.photo-capture-preview img{width:100%;height:100%;object-fit:cover}.photo-capture-preview video{transform:scaleX(-1)}.photo-capture-preview [hidden]{display:none}.photo-capture-card p{font-size:14px;line-height:1.5}.photo-capture-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.photo-capture-actions button{flex:1 1 auto;min-height:44px}.photo-capture-card small{display:block;font-size:12px;line-height:1.5}.memory-visual,.memory-reveal{display:block;width:100%}.memory-cover{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;padding:15% 12%;color:#705442;text-align:center;font-weight:400;container-type:inline-size;box-shadow:0 1px 1px #50382330,2px 5px 8px #50382326,5px 13px 20px -10px #50382338}.memory-cover--photo{aspect-ratio:.82;border:1px solid #cbbda369;border-radius:2px 3px 1px;background:radial-gradient(ellipse at 15% 85%,#c7af7c12,transparent 65%),repeating-linear-gradient(0deg,transparent 0 2px,#bda78606 2px 3px),#f4f0e5}.memory-cover--photo:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:1px solid #ffffff80;pointer-events:none}.memory-cover--note{aspect-ratio:1.3;color:var(--note-ink, #715541);border-radius:3px 5px 2px 4px;background:linear-gradient(178deg,transparent 0 62%,#b99b6540 63%,#fff5daaa 64%,transparent 66%),linear-gradient(100deg,#e6d4a819,transparent 20% 80%,#bf9e6617),linear-gradient(transparent 0 63%,#0000000c 65%,#0000000c),var(--note-paper, #f8edce)}.memory-cover--note:after{content:"♡";position:absolute;left:46%;bottom:18%;color:var(--note-accent, #b57059);font:400 clamp(12px,1.2vw,22px) Georgia,serif;transform:rotate(-9deg)}.memory-cover-tape{position:absolute;width:30%;height:10%;top:-5%;left:35%;background:linear-gradient(100deg,#cdbb8c66,#e3d5afad 45%,#d3c29680);clip-path:polygon(2% 0,97% 3%,100% 15%,98% 35%,100% 62%,97% 100%,1% 97%,3% 75%,0 53%,2% 28%);transform:rotate(-6deg)}.memory-cover--note .memory-cover-tape{left:37%;width:26%;transform:rotate(4deg)}.memory-cover-title{position:relative;max-width:100%;font-family:Bradley Hand,Segoe Print,Comic Sans MS,cursive;font-style:normal;font-weight:400;font-size:clamp(12px,10cqw,30px);line-height:1.5;overflow-wrap:anywhere;transform:rotate(-4deg)}.memory-cover--photo .memory-cover-title{margin-top:-15%}.memory-cover--note .memory-cover-title{margin-top:-18%}.memory-reveal{transform-origin:center;animation:memoryTurn .5s ease-out both}.memory-reveal--note{transform-origin:top;animation-name:memoryUnfold}@keyframes memoryTurn{0%{transform:perspective(600px) rotateY(-85deg);opacity:.35}to{transform:perspective(600px) rotateY(0);opacity:1}}@keyframes memoryUnfold{0%{transform:perspective(600px) rotateX(-75deg);opacity:.35}to{transform:perspective(600px) rotateX(0);opacity:1}}.cover-options{margin:0 0 20px;padding:16px;border:1px solid #b79c7666;background:#f6eddc}.cover-options legend{padding:0 6px;font-family:Georgia,serif;font-style:italic}.cover-options .cover-toggle{display:flex;align-items:center;gap:10px;margin:0;cursor:pointer}.cover-options .cover-toggle input{width:18px;height:18px;flex:0 0 18px;accent-color:#b66049}.cover-options p{margin:10px 0 16px;font-size:13px;line-height:1.5;color:var(--ink-soft)}.cover-preview-button{margin-top:20px}@media(prefers-reduced-motion:reduce){.memory-reveal{animation:none}}.scratch-overlay{z-index:180;background:#32261bb0;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.scratch-card{position:relative;width:min(470px,100%);max-height:92dvh;overflow:auto;padding:28px 30px 22px;text-align:center;background:#f6f0e2;border:1px solid #dfd1b5;box-shadow:0 18px 70px #24160850}.scratch-card h2{margin:8px 20px 22px;font:400 clamp(22px,4vw,32px)/1.4 "Bradley Hand",cursive;color:#715541;overflow-wrap:anywhere}.scratch-card .eyebrow{margin:0 25px;font-size:8px}.scratch-print{padding:12px 12px 0;background:#fffcf2;box-shadow:1px 4px 8px #47362129;transform:rotate(-1deg)}.scratch-picture{position:relative;aspect-ratio:1;overflow:hidden;background:#e8dfcc}.scratch-picture img,.scratch-picture canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.scratch-picture img{object-fit:cover}.scratch-picture canvas{touch-action:none;cursor:crosshair;transition:opacity .8s ease}.scratch-print.is-revealed canvas{opacity:0;pointer-events:none}.scratch-signature{display:block;padding:15px 0 18px;font:400 17px Bradley Hand,cursive;color:#a08567}.scratch-instruction{margin:22px 0 10px;font-size:13px;color:#826d55;line-height:1.5}.scratch-skip{padding:9px 14px;border:0;background:transparent;font-size:12px;color:#826d55;text-decoration:underline;text-underline-offset:4px}@media(max-width:480px){.scratch-card{padding:25px 20px 16px}}@media(prefers-reduced-motion:reduce){.scratch-picture canvas{transition:none}}.click-sparkles{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;pointer-events:none;overflow:hidden}.click-sparkle{position:absolute;pointer-events:none;animation:clickSparkle .58s ease-out both;filter:drop-shadow(0 1px 1px #fff4de80)}@keyframes clickSparkle{0%{opacity:0;transform:translate(-50%,-50%) scale(.35) rotate(0)}18%{opacity:.9}70%{opacity:.65}to{opacity:0;transform:translate(calc(-50% + var(--spark-x)),calc(-50% + var(--spark-y))) scale(1) rotate(var(--spark-tilt))}}@media(prefers-reduced-motion:reduce){.click-sparkles{display:none}}.style-room-button{position:absolute;left:28px;bottom:25px;z-index:35;min-height:50px;padding:12px 20px;border:1px solid var(--ink-soft);border-radius:999px;background:var(--paper);box-shadow:0 7px 18px #34251f24;font-size:12px;font-weight:700;cursor:pointer}.surface-drawer{position:absolute;z-index:80;top:90px;right:24px;width:min(350px,calc(100vw - 32px));max-height:calc(100dvh - 116px);overflow-y:auto;padding:26px 22px 22px;border:1px solid #c9b798;border-radius:18px;background:#fffaf0f5;box-shadow:0 14px 50px #49341d29}.surface-drawer h2{margin:8px 0;font-family:var(--display);font-size:29px;font-weight:500}.surface-hint{margin:0 0 20px;font-size:12px;color:var(--ink-soft)}.surface-drawer fieldset{margin:0 0 18px;padding:0;border:0}.surface-drawer legend{margin-bottom:10px;font-size:13px;font-weight:750}.surface-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 8px}.surface-option{padding:5px;border:1px solid transparent;border-radius:9px;background:transparent;font-size:10px;cursor:pointer}.surface-option[aria-pressed=true]{border-color:#9d5f48;background:#f4e7d5;box-shadow:0 0 0 1px #9d5f48}.surface-swatch{display:block;height:37px;margin-bottom:6px;border-radius:5px;border:1px solid #34251f18}.surface-swatch--stripe{background-image:repeating-linear-gradient(90deg,#fffaf06b 0 5px,transparent 5px 14px)}.surface-swatch--dots{background-image:radial-gradient(#986c6666 1px,transparent 1.5px);background-size:10px 10px}.surface-swatch--oak,.surface-swatch--pale,.surface-swatch--walnut{background-image:repeating-linear-gradient(0deg,transparent 0 9px,#73573944 9px 10px)}.surface-swatch--checker{background-image:conic-gradient(#ede5d2 25%,transparent 0 50%,#ede5d2 0 75%,transparent 0);background-size:18px 18px}.surface-swatch--carpet{background-image:repeating-linear-gradient(0deg,transparent 0 2px,#fff4 2px 3px)}.surface-actions{position:sticky;bottom:-22px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0 6px;background:var(--paper);border-top:1px solid #e6d9c3}.surface-actions .ink-button{padding:12px 16px;font-size:12px}.surface-reset{border:0;background:transparent;text-decoration:underline;font-size:11px;cursor:pointer}.surface-error{color:#a1392c;font-size:12px}.surface-option:focus-visible,.style-room-button:focus-visible,.surface-reset:focus-visible{outline:2px solid var(--coral-dark);outline-offset:3px}.surface-drawer button:disabled{opacity:.5;cursor:wait}@media(max-width:600px){.style-room-button{left:14px;bottom:16px;min-height:48px;padding:10px 15px;font-size:11px}.surface-drawer{top:auto;bottom:78px;right:12px;width:min(350px,calc(100vw - 24px));max-height:53dvh;padding:20px 18px 18px}}.item-bunting{filter:drop-shadow(1px 3px 2px #49301c26)}.wall-object-plane{display:block;transform-origin:50% 50%;transition:transform .16s ease-out}.room-item.is-preview .wall-object-plane{transition:none}@media(prefers-reduced-motion:reduce){.wall-object-plane{transition:none}}.bouquet-visual{position:relative;display:block;container-type:inline-size}.bouquet-tag{position:absolute;right:2%;bottom:5%;width:44%;min-height:24%;padding:8% 4% 5%;background:#fff3d8;border:1px solid #c6a975;box-shadow:1px 2px 3px #51361530;transform:rotate(-6deg);color:#71452b;font-family:Bradley Hand,Comic Sans MS,cursive;font-size:clamp(5px,8cqw,17px);line-height:1.12;text-align:center;overflow-wrap:anywhere}.bouquet-tag:before{content:"";position:absolute;width:7%;aspect-ratio:1;border-radius:50%;background:#b78653;top:7%;left:46%}.bouquet-style-picker{border:0;padding:0;margin:0 0 18px}.bouquet-style-picker legend{margin-bottom:10px;font-weight:700;font-size:13px}.bouquet-style-picker>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bouquet-style-picker button{display:grid;justify-items:center;gap:8px;padding:8px 4px;background:#fff8e9;border:1px solid #dfceb3;border-radius:10px;font-size:11px;cursor:pointer}.bouquet-style-picker button[aria-pressed=true]{outline:2px solid var(--coral-dark);background:#f5e7d7}.bouquet-style-picker img{width:100%;height:100px;object-fit:contain}.sofa-view-picker img{height:84px}.object-details--bouquet .bouquet-card-title-field{display:flex;flex-direction:column;gap:8px}.object-details--bouquet .bouquet-card-title-field>span:first-child{margin-bottom:0}.object-details--bouquet .bouquet-card-title-field>small{position:static;display:block;color:var(--ink-soft);font-family:var(--mono);font-size:10px;line-height:1.55}.bouquet-letter h2{overflow-wrap:anywhere}.bouquet-letter .memory-message{white-space:pre-wrap}.bouquet-signature{font-family:var(--display);font-style:italic;color:var(--ink-soft)}.number-balloon-picker{min-width:0;border:0;padding:0;margin:0 0 20px}.number-balloon-picker legend{font-size:13px;font-weight:700}.number-balloon-picker p{color:var(--ink-soft);font-size:12px}.number-balloon-picker>div{display:grid;grid-template-columns:repeat(10,minmax(50px,1fr));gap:7px;overflow-x:auto;padding:3px 3px 8px;scrollbar-width:thin}.number-balloon-picker button{display:grid;min-width:0;justify-items:center;gap:3px;padding:7px 3px 6px;border:1px solid #dfceb3;border-radius:9px;background:#fff8e9;color:var(--ink);font:inherit;font-size:11px;cursor:pointer}.number-balloon-picker button[aria-pressed=true]{outline:2px solid var(--coral-dark);background:#f5e7d7}.number-balloon-picker button:focus-visible{outline:2px solid var(--coral-dark);outline-offset:3px}.number-balloon-picker img{width:100%;height:52px;object-fit:contain}.object-details--number-balloon .object-form-actions{margin-top:0}.item-fairy-lights{filter:drop-shadow(0 0 3px #efc47255)}.fairy-lights-visual{position:relative;display:block;width:100%}.item-fairy-lights .generated-object-asset{position:relative;z-index:1;opacity:.72}.fairy-light-bulbs{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.fairy-light-bulbs i{position:absolute;top:0;right:0;bottom:0;left:0;background:url(/assets/fairy-lights.webp) center / 100% 100% no-repeat;opacity:0;filter:brightness(1.22) saturate(1.16) drop-shadow(0 0 5px #ffc85daa);clip-path:ellipse(3.8% 11.5% at var(--bulb-x) var(--bulb-y));will-change:opacity}.item-fairy-lights.is-fairy-steady .fairy-light-bulbs i{opacity:1}.item-fairy-lights.is-fairy-breathe .fairy-light-bulbs i{animation:fairy-light-bulb-breathe 2.8s ease-in-out infinite}.item-fairy-lights.is-fairy-alternate .fairy-light-bulbs i{animation:fairy-lights-blink 1.25s steps(1,end) infinite}.item-fairy-lights.is-fairy-off .generated-object-asset{opacity:.42;filter:brightness(.68) saturate(.9)}@keyframes fairy-light-bulb-breathe{0%,to{opacity:.18}50%{opacity:1}}@keyframes fairy-lights-blink{0%,49%{opacity:1}50%,to{opacity:.08}}@media(prefers-reduced-motion:reduce){.item-fairy-lights.is-fairy-breathe .fairy-light-bulbs i,.item-fairy-lights.is-fairy-alternate .fairy-light-bulbs i{animation:none}.item-fairy-lights.is-fairy-breathe .fairy-light-bulbs i,.item-fairy-lights.is-fairy-alternate .fairy-light-bulbs i{opacity:.72}}.layers-toggle{position:absolute;left:158px;bottom:25px;z-index:35;min-height:50px;padding:12px 18px;border:1px solid var(--ink-soft);border-radius:999px;background:var(--paper);box-shadow:0 7px 18px #34251f24;font-size:12px;font-weight:700;cursor:pointer}.layers-toggle[aria-expanded=true]{background:#eee4d3;border-color:var(--coral-dark)}.layers-toggle span{margin-left:5px;opacity:.65}.layer-manager{position:absolute;z-index:70;left:24px;bottom:88px;width:min(330px,calc(100vw - 32px));max-height:min(650px,calc(100dvh - 190px));display:flex;flex-direction:column;padding:20px 16px 12px;border:1px solid #c9b798;border-radius:18px;background:#fffaf0f5;box-shadow:0 14px 50px #49341d29;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.layer-manager-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.layer-manager-header .eyebrow{margin:0 0 5px;font-size:9px}.layer-manager h2{margin:0;font-size:26px}.layer-manager h2 span{font:12px sans-serif;color:var(--ink-soft);vertical-align:middle}.layer-close{width:36px;height:36px;border:0;border-radius:50%;background:#eee4d3;font-size:24px;cursor:pointer}.layer-search{width:100%;min-height:42px;flex-shrink:0;padding:10px 12px;border:1px solid #cfbea5;border-radius:9px;background:#fffdf6;color:var(--ink);font:inherit;font-size:12px}.layer-help,.layer-status{margin:10px 0;font-size:10px;color:var(--ink-soft)}.layer-list{list-style:none;padding:0;margin:0;overflow-y:auto;overscroll-behavior:contain;min-height:0}.layer-row{border:1px solid transparent;border-radius:10px;margin-bottom:5px;background:#f3ecdf80}.layer-row.is-selected{border-color:var(--coral-dark);background:#f3e4d7}.layer-select{display:flex;align-items:center;gap:10px;width:100%;min-height:68px;padding:8px;border:0;border-radius:10px;background:transparent;text-align:left;cursor:pointer;color:inherit}.layer-thumbnail{flex:0 0 46px;height:46px;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none}.layer-thumbnail>img,.layer-thumbnail>span{max-width:100%;max-height:100%;object-fit:contain}.layer-thumbnail .generated-object-asset{width:100%;height:100%;object-fit:contain}.layer-copy{min-width:0;display:grid;gap:5px}.layer-copy strong{font-size:12px}.layer-copy small{font-size:10px;font-weight:400;color:var(--ink-soft)}.layer-copy>span{font-size:11px;color:var(--ink-soft);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.layer-actions{display:flex;align-items:center;gap:5px;padding:0 8px 8px}.layer-order-actions{display:flex;gap:3px;margin-right:auto}.layer-actions button{min-width:30px;min-height:36px;padding:5px;border:1px solid #d4bfa5;border-radius:6px;background:#fffaf0;color:inherit;font:inherit;font-size:11px;cursor:pointer}.layer-order-actions button{font-size:18px}.layer-actions .layer-remove{color:#a04435}.layer-actions button:disabled{opacity:.35;cursor:default}.layer-manager button:focus-visible,.layer-search:focus-visible,.layers-toggle:focus-visible{outline:2px solid var(--coral-dark);outline-offset:2px}.layer-empty{font-size:12px;line-height:1.6;padding:15px 5px}.layer-status{margin-bottom:0}@media(max-width:600px){.layers-toggle{left:118px;bottom:16px;min-height:48px;padding:10px 12px;font-size:11px}.layer-manager{left:14px;bottom:76px;max-height:min(55dvh,calc(100dvh - 170px))}}.cat-variant-picker>p{margin:0 0 12px;font-size:12px;line-height:1.5;color:var(--ink-soft)}.cat-variant-picker>div{grid-template-columns:repeat(3,minmax(0,1fr))}.cat-variant-picker button{min-width:0}.cat-variant-picker button img{height:90px;object-fit:contain}.cat-variant-picker button small{display:block;font-size:10px;line-height:1.4;color:var(--ink-soft);font-weight:400}.cat-variant-picker button:focus-visible{outline:2px solid var(--coral-dark);outline-offset:3px}@media(max-width:600px){.cat-variant-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}}.generated-photo-strip{display:block;width:100%;height:auto;box-shadow:2px 4px 6px #35241725}.chosen-object .item-photobooth{width:min(150px,65%)}.chosen-object .item-photo-album{width:min(230px,80%)}.object-feature-note{font-size:13px;line-height:1.6;padding:14px;border-radius:10px;background:#f2e8d7}.booth-overlay{z-index:165}.booth-card{position:relative;width:min(940px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;padding:32px;border:1px solid #ccb895;border-radius:22px;background:#fffaf0;box-shadow:0 20px 80px #30211645}.booth-card h2{margin:8px 40px 22px 0;font-size:clamp(26px,4vw,40px)}.booth-card--camera{width:min(1000px,calc(100vw - 32px));padding:28px 34px 34px;border-color:#d8c7aa;border-radius:26px;background:linear-gradient(145deg,#fffdf7,#fbf4e8);box-shadow:0 28px 90px #2d1b1045,inset 0 1px #fff}.booth-card--camera .booth-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding-right:42px}.booth-card--camera h2{margin:5px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(31px,3.5vw,44px);font-weight:400;line-height:1.03;letter-spacing:-.025em}.booth-card--camera .eyebrow{color:#8b6447;letter-spacing:.22em}.booth-card--camera .booth-tabs{flex:0 0 auto;margin:0 0 2px;padding:4px;border:1px solid #d8c6a7;border-radius:999px;background:#f5ecdc;box-shadow:inset 0 1px 3px #6b4b2b12}.booth-card--camera .booth-tabs button{min-height:36px;padding:7px 15px;border:0;font-size:12px}.booth-card--camera .booth-tabs button[aria-pressed=true]{background:#5a3f2e;box-shadow:0 3px 9px #3a25192b}.booth-card--camera>.close-button{top:20px;right:22px;width:36px;height:36px;border-color:#a98e6d80;background:#fffdf8;color:#6a4b36;box-shadow:0 2px 8px #49301c17}.booth-card--camera>.close-button:focus-visible{outline:1px solid #9a6749;outline-offset:3px}.booth-card--album{width:min(1040px,calc(100vw - 32px));padding:28px 34px 24px;border-color:#d8c7aa;border-radius:26px;background:linear-gradient(145deg,#fffdf7,#fbf4e8);box-shadow:0 28px 90px #2d1b1045,inset 0 1px #fff}.booth-card--album .booth-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding-right:42px}.booth-card--album h2{margin:5px 0 7px;font-family:Georgia,Times New Roman,serif;font-size:clamp(29px,3.3vw,43px);font-weight:400;line-height:1.02;letter-spacing:-.025em}.booth-card--album .eyebrow{color:#8b6447;letter-spacing:.22em}.booth-card--album .booth-intro{margin:0;color:#8a7764;font:italic 13px/1.5 Georgia,serif}.booth-card--album .booth-tabs{flex:0 0 auto;margin:0 0 2px;padding:4px;border:1px solid #d8c6a7;border-radius:999px;background:#f5ecdc;box-shadow:inset 0 1px 3px #6b4b2b12}.booth-card--album .booth-tabs button{min-height:36px;padding:7px 15px;border:0;font-size:12px}.booth-card--album .booth-tabs button[aria-pressed=true]{background:#5a3f2e;box-shadow:0 3px 9px #3a25192b}.booth-card--album>.close-button{top:20px;right:22px;width:36px;height:36px;border-color:#a98e6d80;background:#fffdf8;color:#6a4b36;box-shadow:0 2px 8px #49301c17}.booth-card--album>.close-button:focus-visible{outline:1px solid #9a6749;outline-offset:3px}.booth-tabs{display:flex;gap:8px;margin-bottom:20px}.booth-tabs button{min-height:42px;padding:10px 18px;border:1px solid #cfbca2;border-radius:24px;background:transparent;color:inherit;cursor:pointer}.booth-tabs button[aria-pressed=true]{background:#654835;color:#fff9ed;border-color:#654835}.booth-session{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr);gap:28px;align-items:stretch;margin-top:27px}.booth-session.is-camera-stage{display:block}.booth-session.is-camera-stage .booth-viewfinder{width:min(760px,100%);margin-inline:auto}.booth-viewfinder{position:relative;min-width:0;aspect-ratio:1.3;overflow:hidden;border:9px solid #614633;border-radius:19px;background:#241f1b;box-shadow:0 0 0 1px #2f2119,0 0 0 4px #b28a5d,0 16px 32px #3d281b30,inset 0 0 0 1px #d1ab7d55}.booth-viewfinder:before{content:"";position:absolute;z-index:2;top:9px;right:9px;bottom:9px;left:9px;border:1px solid #f1ddbc35;border-radius:8px;pointer-events:none}.booth-viewfinder video{display:block;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.booth-freeze-frame{position:absolute;z-index:3;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover;animation:boothFreezeIn .18s ease-out both}.booth-flash{position:absolute;z-index:6;top:0;right:0;bottom:0;left:0;background:#fffdf5;animation:boothFlash .16s ease-out both;pointer-events:none}.booth-camera-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#e2d0b2;text-align:center}.booth-camera-placeholder i{position:relative;width:82px;height:82px;margin-bottom:24px;border:2px solid #d3b990;border-radius:50%;box-shadow:inset 0 0 0 9px #241f1b,inset 0 0 0 11px #927653,0 0 35px #c9a97a12}.booth-camera-placeholder i:before{content:"";position:absolute;top:20px;right:20px;bottom:20px;left:20px;border:1px solid #d3b990;border-radius:50%;background:radial-gradient(circle,#181511 0,#181511 34%,#5e4c38 36%,#5e4c38 39%,#201b17 41%)}.booth-camera-start{min-width:190px;min-height:46px;padding:10px 24px;border:1px solid #d6bd95;border-radius:999px;background:#f4e8d2;color:#3e2d23;font:600 12px var(--sans);cursor:pointer;box-shadow:0 4px #8d5f43,0 10px 24px #0004;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.booth-camera-start:hover:not(:disabled){background:#fff5e5;transform:translateY(-1px);box-shadow:0 5px #8d5f43,0 12px 28px #0005}.booth-camera-start:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #8d5f43,0 5px 14px #0004}.booth-camera-status{max-width:380px;margin-top:16px;padding-inline:20px;color:#bda98d;font:12px/1.55 Georgia,serif;letter-spacing:0;text-transform:none}.booth-live-start{position:absolute;z-index:4;bottom:28px;left:50%;display:inline-flex;align-items:center;gap:11px;min-height:48px;padding:8px 20px 8px 10px;border:1px solid #fff8;border-radius:999px;background:#2d211bd9;color:#fffaf0;font:600 12px var(--sans);cursor:pointer;box-shadow:0 7px 24px #0006,inset 0 1px #fff2;transform:translate(-50%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .16s ease,transform .16s ease}.booth-live-start span{display:block;width:30px;height:30px;border:2px solid #f5e8d2;border-radius:50%;background:#b75545;box-shadow:inset 0 0 0 4px #2d211b,inset 0 0 0 6px #f5e8d2}.booth-live-start:hover{background:#3a2921eb;transform:translate(-50%,-2px)}.booth-live-start:active{transform:translate(-50%,1px)}.booth-template-drawer{width:100%;padding:10px;border:1px solid #d7c5a8;border-radius:12px;background:#fffaf1a6;box-shadow:inset 0 1px #fff9}.booth-template-label{display:block;margin:0 0 8px 2px;color:#806851;font:9px var(--mono);letter-spacing:.14em;text-transform:uppercase}.booth-theme-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.booth-theme-option{display:grid;justify-items:center;align-content:center;gap:5px;min-width:0;min-height:68px;padding:6px 3px 5px;border:1px solid #d5c2a4;border-radius:9px;background:#fffaf1;color:#725c49;cursor:pointer;box-shadow:0 3px 8px #49301c0d;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.booth-theme-option:hover{transform:translateY(-2px)}.booth-theme-option[aria-pressed=true]{border-color:#75513a;box-shadow:0 0 0 2px #ead6b9,0 5px 12px #49301c1c;color:#422f24}.booth-theme-option small{font:11px var(--sans)}.booth-theme-miniature{display:grid;grid-template-rows:repeat(3,1fr);gap:2px;width:23px;height:40px;padding:3px;background:#fff9ed;box-shadow:0 1px 3px #38231835}.booth-theme-miniature i{display:block;background:#927b68}.booth-theme-option--birthday .booth-theme-miniature{background:#fff4e4;border-top:3px solid #d45e51}.booth-theme-option--birthday .booth-theme-miniature i:nth-child(2){background:#7ca69d}.booth-theme-option--film .booth-theme-miniature{background:#181716}.booth-theme-option--film .booth-theme-miniature i{background:#c5b8a6}.booth-theme-option--sweet .booth-theme-miniature{background:#fff0f1;border-bottom:3px solid #d4869a}.booth-theme-option--sweet .booth-theme-miniature i{background:#b58f94}.booth-theme-option--disco .booth-theme-miniature{background:#292039;border-top:3px solid #d7a8e8}.booth-theme-option--disco .booth-theme-miniature i:nth-child(1){background:#f2a7c2}.booth-theme-option--disco .booth-theme-miniature i:nth-child(2){background:#9fd8db}.booth-theme-option--disco .booth-theme-miniature i:nth-child(3){background:#f1d574}.booth-theme-option--garden .booth-theme-miniature{background:#edf3df;border-inline:3px solid #75936d}.booth-theme-option--garden .booth-theme-miniature i{background:#91a886}.booth-theme-option--stars .booth-theme-miniature{background:#18233d;border-top:3px solid #e1bd69}.booth-theme-option--stars .booth-theme-miniature i{background:#d9cfb5}.booth-theme-option--candy .booth-theme-miniature{background:repeating-linear-gradient(135deg,#f9e6eb 0,#f9e6eb 5px,#e18da4 5px,#e18da4 7px,#f9e6eb 7px,#f9e6eb 12px,#77a9b4 12px,#77a9b4 14px)}.booth-theme-option--candy .booth-theme-miniature i{background:#f6ece8}.booth-countdown{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:80px;font-weight:700;color:#fff;text-shadow:0 2px 15px #0009}.booth-countdown small{font-size:15px}@keyframes boothFlash{0%{opacity:0}18%{opacity:1}to{opacity:.08}}@keyframes boothFreezeIn{0%{filter:brightness(1.65) saturate(.75)}to{filter:brightness(1) saturate(1)}}.booth-session-controls{display:flex;flex-direction:column;align-self:stretch;gap:13px;min-width:0;padding:25px 23px;border:1px solid #d9c8ac;border-radius:17px;background:#f5ecdc8c;box-shadow:inset 0 1px #fff9,0 8px 22px #4a301619}.booth-session:not(.has-strip) .booth-session-controls{justify-content:center}.booth-session-controls h3{margin:0 0 4px;color:#4f392b;font: 26px/1.05 Georgia,serif}.booth-session-controls .booth-status{min-height:44px;margin:0;color:#675346;font:13px/1.55 Georgia,serif}.booth-session-controls>small,.booth-sharing{color:#77644f;font-size:12px;line-height:1.6}.booth-session-controls label{display:grid;gap:7px;font-size:13px}.booth-session-controls label span{color:#77644f}.booth-session-controls input{min-width:0;padding:12px;border:1px solid #cdbb9e;border-radius:9px;background:#fffdf7;box-shadow:inset 0 1px 2px #4e33100d}.booth-session-controls .ink-button{min-height:49px;border-radius:10px;box-shadow:0 4px #ae5e4b,0 8px 16px #5133211c}.booth-session-controls .ink-button:active{transform:translateY(2px);box-shadow:0 2px #ae5e4b}.booth-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.booth-secondary-actions .paper-button{width:100%}.booth-session.has-strip{grid-template-columns:minmax(280px,.85fr) minmax(300px,1fr)}.booth-session.has-strip .booth-viewfinder{aspect-ratio:auto;background:#e8ddcb;border:1px solid #c8b18c;padding:18px;box-shadow:0 14px 30px #3d281b26,inset 0 0 0 7px #f5ebd9}.booth-strip{display:block;max-height:58dvh;width:auto;max-width:100%;margin:auto;box-shadow:2px 5px 12px #30211635}.booth-intro{color:#77644f;font-size:14px}.album-empty{text-align:center;padding:45px 12px}.album-empty>span{font-size:64px;color:#a97662}.album-stage{position:relative;margin-top:22px}.album-book{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:475px;padding:13px;border:1px solid #3d291d;border-radius:13px 18px 18px 13px;background:linear-gradient(135deg,#4c3323,#6e4b31 45%,#493022);box-shadow:0 20px 42px #2d1b103d,0 4px #352318,inset 0 0 0 2px #8e6949,inset 0 0 0 4px #3b281d}.album-book:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;z-index:0;border:1px solid #c69b5f99;border-radius:8px 13px 13px 8px;pointer-events:none}.album-book:after{content:"";position:absolute;z-index:-1;right:7px;bottom:-7px;left:8px;height:10px;border-radius:0 0 10px 10px;background:repeating-linear-gradient(#e8dcc1 0,#e8dcc1 1px,#baaa8d 1px,#baaa8d 2px);box-shadow:0 5px 8px #27170d33}.album-spine{position:absolute;z-index:3;top:13px;bottom:13px;left:50%;width:38px;transform:translate(-50%);background:linear-gradient(90deg,transparent,#5c412b12 17%,#3f2a203f 44%,#fffdf18c 50%,#3f2a2038 56%,transparent 83%);pointer-events:none}.album-bookmark{position:absolute;z-index:4;top:13px;left:calc(50% + 8px);width:13px;height:52px;background:linear-gradient(90deg,#9a3f36,#c45e4e 50%,#8e352f);clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);filter:drop-shadow(1px 2px 1px #35211640)}.album-page{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:28px;min-width:0;padding:34px 37px 47px;overflow:hidden;background-color:#f1e8d5;background-image:linear-gradient(90deg,#fffdf87d,transparent 22% 78%,#9a79541c),repeating-linear-gradient(0deg,transparent 0 7px,#71553408 7px 8px);box-shadow:inset 0 0 34px #76593820;animation:albumPageIn .26s ease both}.album-page:after{content:"";position:absolute;top:15px;right:15px;bottom:15px;left:15px;border:1px solid #bda88355;pointer-events:none}.album-page:first-of-type{border-radius:5px 0 0 6px;box-shadow:inset -14px 0 28px #65452f1c,inset 0 0 34px #7659381c}.album-page:last-of-type{border-radius:0 8px 8px 0;box-shadow:inset 14px 0 28px #65452f1c,inset 0 0 34px #7659381c}.album-page-number{position:absolute;bottom:24px;left:50%;color:#957a5c;font:italic 11px Georgia,serif;transform:translate(-50%)}.album-page-number:before{content:"—  "}.album-page-number:after{content:"  —"}.album-page-empty{grid-column:1 / -1;color:#b29375;font-size:48px;text-align:center}.album-photo{position:relative;min-width:0;padding:0;border:0;background:transparent;color:#594638;cursor:pointer;transform:rotate(-.55deg) translateY(3px);transition:transform .22s ease,filter .22s ease}.album-photo--tilted{transform:rotate(.7deg) translateY(-2px)}.album-photo:hover{z-index:4;transform:rotate(0) translateY(-6px) scale(1.015);filter:drop-shadow(0 12px 12px #402a1b22)}.album-photo:focus-visible{z-index:2;outline:3px solid var(--coral-dark);outline-offset:4px}.album-photo img{display:block;width:100%;max-height:300px;object-fit:contain;filter:drop-shadow(0 5px 6px #402a1b2b)}.album-photo-tape{position:absolute;z-index:2;top:-10px;left:50%;width:58px;height:21px;background-color:#d8c399b5;background-image:repeating-linear-gradient(90deg,transparent 0 8px,#fff4 8px 9px);border-left:1px dashed #fff8;border-right:1px dashed #fff8;box-shadow:0 1px 2px #54391f20;transform:translate(-50%) rotate(-1.5deg);pointer-events:none}.album-photo-caption{display:grid;gap:2px;padding-top:10px;font-family:Bradley Hand,cursive;text-align:center}.album-photo-caption strong{overflow:hidden;color:#584336;font-size:15px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.album-photo-caption small{color:#917963;font-family:Georgia,serif;font-size:9px;letter-spacing:.04em}.album-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:18px 4px 0;color:#77644f}.album-turn{display:inline-flex;align-items:center;gap:9px;min-height:38px;padding:0 4px;border:0;background:transparent;color:#6c4b34;cursor:pointer}.album-turn--previous{justify-self:start}.album-turn--next{justify-self:end}.album-turn b{display:grid;width:31px;height:31px;place-items:center;border:1px solid #c8aa7e;border-radius:50%;background:#fffaf0;font:14px Georgia,serif;transition:transform .16s ease,background .16s ease}.album-turn:hover b{background:#f0e2cc;transform:translate(2px)}.album-turn--previous:hover b{transform:translate(-2px)}.album-turn span{font:9px var(--mono);text-transform:uppercase;letter-spacing:.14em}.album-turn:disabled{visibility:hidden}.album-spread-count{display:grid;justify-items:center;gap:3px}.album-spread-count strong{color:#674b38;font: 12px Georgia,serif;letter-spacing:.12em}.album-spread-count i{padding:0 3px;color:#b19775;font-weight:400}@keyframes albumPageIn{0%{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.album-page,.booth-freeze-frame,.booth-flash{animation:none}}.album-viewer{position:fixed;z-index:170;top:50%;left:50%;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);align-items:center;gap:30px;width:min(900px,calc(100vw - 48px));max-height:calc(100dvh - 48px);min-height:470px;padding:38px;overflow-y:auto;border:1px solid #bca27b;border-radius:16px;background:#e8dcc3;box-shadow:0 25px 90px #2112089c;transform:translate(-50%,-50%)}.album-viewer-close{position:absolute;top:12px;right:14px;width:40px;height:40px;border:0;background:transparent;color:#594638;font-size:30px;cursor:pointer}.album-viewer-print{display:flex;justify-content:center;min-width:0;padding:16px;background:#fffdf6;box-shadow:3px 7px 16px #3f291b35;transform:rotate(-.7deg)}.album-viewer-print img{display:block;width:auto;max-width:100%;max-height:58dvh;object-fit:contain}.album-viewer-details h3{margin:6px 0 8px;font:32px Bradley Hand,cursive}.album-viewer-details>p:not(.eyebrow){color:#77644f;font:italic 13px Georgia,serif}.album-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.album-viewer .album-actions{justify-content:flex-start;margin-top:24px}.album-actions .paper-button{padding:8px;font-size:11px;min-height:36px}.album-remove{border:0;background:transparent;color:#a14736;font-size:11px;cursor:pointer;min-height:36px}.album-confirm{padding:10px;background:#fff5e7;font-size:12px;line-height:1.6}.album-confirm button{padding:8px;margin:4px;cursor:pointer}.booth-card button:disabled{opacity:.5;cursor:default}.booth-card :is(button,a,input):focus-visible{outline:2px solid var(--coral-dark);outline-offset:3px}@media(max-width:600px){.booth-card{padding:24px 18px}.booth-card--camera{padding:24px 16px 20px;border-radius:20px}.booth-card--camera .booth-header{display:block;padding-right:35px}.booth-card--camera h2{margin-top:4px;font-size:29px}.booth-card--camera .booth-tabs{width:fit-content;margin-top:16px}.booth-card--camera>.close-button{top:15px;right:15px}.booth-card--album{padding:24px 16px 20px;border-radius:20px}.booth-card--album .booth-header{display:block;padding-right:35px}.booth-card--album h2{margin-top:4px;font-size:29px}.booth-card--album .booth-intro{max-width:260px}.booth-card--album .booth-tabs{width:fit-content;margin-top:16px}.booth-card--album>.close-button{top:15px;right:15px}.booth-session,.booth-session.has-strip{grid-template-columns:1fr;gap:18px;margin-top:22px}.booth-session.is-camera-stage .booth-viewfinder{width:100%}.booth-viewfinder{border-width:7px;border-radius:15px}.booth-camera-placeholder i{width:62px;height:62px;margin-bottom:16px}.booth-camera-placeholder i:before{top:15px;right:15px;bottom:15px;left:15px}.booth-camera-start{min-width:168px;min-height:42px}.booth-camera-status{margin-top:12px;font-size:11px}.booth-live-start{bottom:18px;min-height:44px}.booth-template-drawer{padding:9px}.booth-theme-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.booth-theme-option{width:auto;min-height:66px;gap:4px;padding:6px 3px 4px}.booth-theme-option small{font-size:9px}.booth-session-controls{padding:21px 18px}.booth-session-controls h3{font-size:24px}.booth-strip{max-height:40dvh}.album-stage{margin-top:20px}.album-book{grid-template-columns:1fr;min-height:420px;padding:10px}.album-spine{display:none}.album-bookmark{left:auto;right:30px;top:10px;height:43px}.album-page{gap:14px;padding:32px 18px 43px;border-radius:5px!important}.album-page:after{top:11px;right:11px;bottom:11px;left:11px}.album-photo{padding:0}.album-photo img{max-height:240px}.album-photo-tape{top:-8px;width:44px;height:17px}.album-photo-caption strong{font-size:13px}.album-pagination{gap:8px;padding-top:14px}.album-turn span{display:none}.album-turn b{width:34px;height:34px}.album-viewer{top:16px;right:16px;bottom:16px;left:16px;grid-template-columns:1fr;align-content:start;gap:18px;width:auto;max-height:none;min-height:0;padding:48px 22px 24px;transform:none}.album-viewer-print{max-height:55dvh}.album-viewer-print img{max-height:calc(55dvh - 32px)}.album-viewer-details h3{font-size:26px}}.booth-card a.paper-button{display:inline-flex;align-items:center;justify-content:center;color:var(--ink);text-decoration:none;text-align:center}.table-style-picker img{height:76px;aspect-ratio:3 / 2}.table-style-picker button{align-content:start}.cake-style-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.object-details--cake .cake-style-picker>div{grid-template-columns:repeat(4,minmax(0,1fr))}.object-details--balloon .balloon-style-picker>div{grid-template-columns:repeat(5,minmax(0,1fr))}.object-details--party-hat .party-hat-style-picker>div{grid-template-columns:repeat(5,minmax(0,1fr))}.cake-style-picker button{min-width:0}.balloon-style-picker img,.party-hat-style-picker img{height:112px;object-fit:contain}.balloon-style-picker button,.party-hat-style-picker button{min-width:0}.cake-style-picker button:focus-visible,.balloon-style-picker button:focus-visible,.party-hat-style-picker button:focus-visible{outline:2px solid var(--coral-dark);outline-offset:3px}@media(max-width:760px){.object-details--cake .object-form-panel,.object-details--balloon .object-form-panel,.object-details--party-hat .object-form-panel{gap:14px}.object-details--cake .cake-style-picker>div,.object-details--balloon .balloon-style-picker>div,.object-details--party-hat .party-hat-style-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}}.cake-visual,.window-visual{display:block;position:relative}.candle-flames{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.candle-flame{position:absolute;width:2.7%;height:7.5%;border-radius:55% 45% 45%;background:radial-gradient(ellipse at 50% 75%,#fffef1 0 24%,#ffe89b 42%,#ffb94a 70%,transparent 100%);transform:translate(-50%,-100%);transform-origin:50% 100%;filter:drop-shadow(0 0 3px #ffbc5c);animation:candle-flicker 1.3s ease-in-out infinite alternate;animation-delay:var(--flicker-delay)}@keyframes candle-flicker{0%{transform:translate(-50%,-100%) rotate(-4deg) scaleX(.96)}to{transform:translate(-50%,-100%) rotate(5deg) scale(1.08,.9)}}.window-outside-dim{position:absolute;top:13.5%;right:20.5%;bottom:18%;left:20.5%;background:#121124;opacity:0;transition:opacity 1.5s .3s;pointer-events:none}.window-curtains{position:absolute;top:9.7%;right:8%;bottom:9%;left:8%;pointer-events:none}.window-curtain{position:absolute;top:0;bottom:0;width:52%;transform:scaleX(.2244);transition:transform 1.7s .3s cubic-bezier(.45,0,.25,1);filter:drop-shadow(2px 2px 2px #4f3b2838)}.window-curtain--left{left:0;transform-origin:left top}.window-curtain--right{right:0;transform-origin:right top}.room-item .window-curtain img{position:absolute;top:0;left:-7%;width:114%;height:100%;max-width:none;object-fit:fill}.window-curtain--right img{transform:scaleX(-1)}[data-wish-phase]:not([data-wish-phase=idle]):not([data-wish-phase=celebration]) .window-curtain{transform:scaleX(1)}[data-wish-phase]:not([data-wish-phase=idle]) .window-outside-dim{opacity:.85}[data-wish-phase=celebration] .window-curtain{transform:scaleX(.2244);transition-delay:0s}[data-wish-phase=celebration] .window-outside-dim{opacity:0;transition-delay:0s}.room-stage .item-fairy-lights,.room-stage .item-lamp,.room-stage .room-light{transition:opacity .45s,filter .45s}[data-wish-phase]:not([data-wish-phase=idle]):not([data-wish-phase=celebration]) .item-fairy-lights,[data-wish-phase]:not([data-wish-phase=idle]):not([data-wish-phase=celebration]) .item-lamp{filter:brightness(.25);opacity:.45;transition-delay:1.4s}[data-wish-phase]:not([data-wish-phase=idle]) .room-light{opacity:0}[data-wish-phase=celebration] .room-light{opacity:1}[data-wish-phase]:not([data-wish-phase=idle]) .items-layer .candle-flames{visibility:hidden}[data-wish-phase]:not([data-wish-phase=idle])>:is(.room-header,.add-room-button,.style-room-button,.layers-toggle,.tiny-credit){opacity:0;pointer-events:none}.make-wish-trigger{position:fixed;z-index:25;bottom:24px;left:50%;transform:translate(-50%);padding:13px 25px;border:1px solid #bfa47a;border-radius:40px;background:#fff8e9f5;color:#74432e;font:18px var(--display);box-shadow:0 5px 20px #67431d22;cursor:pointer;white-space:nowrap}.wish-effects{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none}.wish-darkness,.wish-warmth{position:absolute;top:0;right:0;bottom:0;left:0}.wish-darkness{background:radial-gradient(ellipse var(--glow-radius) calc(var(--glow-radius) * .8) at var(--glow-x) var(--glow-y),rgba(14,10,20,.16),rgba(10,8,20,.75) 55%,rgba(8,7,16,.96) 100%);opacity:1}.wish-effects--closing .wish-darkness{animation:room-darken 2s both}@keyframes room-darken{0%,30%{opacity:0}to{opacity:1}}.wish-warmth{background:radial-gradient(ellipse var(--glow-radius) calc(var(--glow-radius) * .7) at var(--glow-x) var(--glow-y),#ffca772e,#ffb55010 40%,transparent 72%);mix-blend-mode:screen;animation:warmth-in 2s both}@keyframes warmth-in{0%{opacity:0}to{opacity:1}}.wish-flame-anchor{position:absolute;transform-origin:50% 80%}.wish-flame-anchor .candle-flame{filter:drop-shadow(0 0 5px #ffd883) drop-shadow(0 0 12px #ffb957)}.wish-effects--blowing .candle-flame{animation:flame-out .45s forwards}@keyframes flame-out{30%{transform:translate(-20%,-100%) skew(30deg)}to{transform:translateY(-80%) scale(.2);opacity:0}}.candle-smoke{position:absolute;width:2%;height:12%;border-left:1px solid #e4ded4;border-radius:50%;animation:candle-smoke .6s ease-out both}@keyframes candle-smoke{0%{opacity:0;transform:translateY(-50%)}30%{opacity:.6}to{opacity:0;transform:translate(7px,-150%)}}.wish-effects--out .wish-darkness{background:#050408}.wish-effects--out .wish-warmth,.wish-effects--celebration .wish-warmth{display:none}.wish-effects--celebration .wish-darkness{animation:lights-return .6s both}@keyframes lights-return{0%{opacity:1}to{opacity:0}}.wish-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;outline:none;color:#fff1d4;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:max(9vh,60px) 24px max(7vh,30px);text-align:center}.wish-exit{position:absolute;right:25px;top:20px;border:1px solid #aa978075;border-radius:50%;background:#231b22b8;color:#fff5de;font-size:26px;width:42px;height:42px;cursor:pointer}.wish-copy{max-width:560px;text-shadow:0 2px 18px #160c16}.wish-copy h2{margin:10px 0;font:clamp(28px,4.6vw,54px)/1.1 var(--display)}.wish-copy p{line-height:1.6;font-size:14px}.wish-copy .wish-eyebrow{letter-spacing:.23em;font-size:10px}.wish-dialog--closing .wish-copy{animation:wish-copy-in 1.8s both}@keyframes wish-copy-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.wish-dialog--out .wish-copy{visibility:hidden}.wish-actions{display:flex;flex-direction:column;gap:12px;align-items:center}.wish-blow{position:relative;overflow:hidden;padding:15px 28px;border:1px solid #e7c892;border-radius:30px;color:#5a3828;background:#fff2d7;font:17px var(--display);cursor:pointer;box-shadow:0 0 30px #ffd39125;touch-action:manipulation}.wish-blow.is-held{background:#edc787;transition:background 1s}.wish-replay{padding:8px 16px;background:#fff5e9dd;border:1px solid #b9a385;border-radius:20px;color:#654630;cursor:pointer}.wish-dialog--celebration .wish-copy{padding:20px 30px;background:#fff8eaf2;color:#68452f;border:1px solid #d4b995;border-radius:18px;text-shadow:none;box-shadow:0 8px 35px #51392320;animation:wish-copy-in .7s both}.wish-copy .wish-message{white-space:pre-wrap;max-height:22vh;overflow:auto;overflow-wrap:anywhere}.wish-copy h2{overflow-wrap:anywhere}.wish-signature{font-family:var(--display);font-style:italic}.wish-confetti{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.wish-confetti i{position:absolute;top:-20px;left:var(--x);width:7px;height:13px;background:var(--color);animation:wish-confetti 3.6s var(--delay) ease-out both}@keyframes wish-confetti{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(var(--turn));opacity:0}}@media(max-width:600px){.wish-dialog{padding-top:65px;padding-bottom:38px}.wish-copy h2{font-size:29px}.wish-copy p{font-size:12px}.wish-dialog--celebration .wish-copy{padding:15px 20px}.make-wish-trigger{bottom:20px;font-size:16px}}@media(prefers-reduced-motion:reduce){.candle-flame,.candle-smoke,.wish-confetti i{animation:none!important}.wish-confetti{display:none}.window-curtain{transition-duration:.01s}.wish-copy{animation:none!important}.wish-effects--blowing .candle-flame{opacity:0}}.room-stage.is-room:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:#100e17;opacity:0;transition:opacity 1.8s ease;pointer-events:none}.room-stage[data-wish-phase]:not([data-wish-phase=idle]):not([data-wish-phase=celebration]):before{opacity:1}.room-stage[data-wish-phase=out]:before{background:#050408}@media(prefers-reduced-motion:reduce){.room-stage.is-room:before{transition-duration:.15s}}.window-visual{isolation:isolate}.window-view-aperture{position:absolute;top:9%;right:17%;bottom:14.5%;left:17%;overflow:hidden;z-index:0;background:#acccda}.room-item .window-landscape,.window-crop-preview .window-landscape{display:block;width:100%;height:100%;object-fit:cover;max-width:none}.window-view-aperture .window-outside-dim{top:0;right:0;bottom:0;left:0}.window-fixed-frame{position:relative;z-index:3;pointer-events:none}.window-sashes{position:absolute;top:9.2%;right:17.3%;bottom:14.8%;left:17.3%;z-index:2;perspective:450px;transform-style:preserve-3d}.window-sash{position:absolute;top:0;bottom:0;width:50.5%;transform:rotateY(0);transition:transform .85s ease-in-out;transform-style:preserve-3d}.window-sash--left{left:0;transform-origin:0 50%}.window-sash--right{right:0;transform-origin:100% 50%}.window-sash svg{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;overflow:hidden}.window-sash--right svg{transform:scaleX(-1)}.window-sash:before{content:"";position:absolute;top:5%;right:9%;bottom:5%;left:9%;background:linear-gradient(125deg,#f4f9ff18,transparent 42%,#ffffff1f 44%,transparent 62%)}.is-window-open .window-sash--left{transform:rotateY(76deg)}.is-window-open .window-sash--right{transform:rotateY(-76deg)}.window-visual .window-curtains{z-index:4;left:7%;right:7%}.window-visual.is-window-open .window-curtain{transform:scaleX(.2244)}[data-wish-phase]:not([data-wish-phase=idle]):not([data-wish-phase=celebration]) .window-sash{transform:rotateY(0);transition-duration:.7s;transition-delay:0s}[data-wish-phase=closing] .window-curtain{transition-delay:.75s;transition-duration:1.25s}[data-wish-phase=celebration] .window-sash{transition-delay:1s}.window-view-editor{padding:0;margin:0 0 24px;border:0;min-width:0}.window-view-editor legend{font-weight:700;font-size:14px;margin-bottom:12px}.window-view-choices{display:flex;gap:8px;margin-bottom:12px}.window-view-choices button,.window-reset-crop{padding:8px 12px;border:1px solid #d3bda0;border-radius:12px;background:#fff8e9;font-size:12px;cursor:pointer}.window-view-choices button[aria-pressed=true]{outline:2px solid var(--coral-dark)}.window-view-choices button:disabled{opacity:.5;cursor:default}.window-view-editor p{font-size:12px;color:var(--ink-soft);line-height:1.5}.window-photo-upload input{width:100%;font-size:12px}.window-crop-preview{width:min(100%,280px);margin:14px auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.window-crop-preview:active{cursor:grabbing}.window-crop-preview .window-visual{display:block;position:relative}.window-crop-preview .window-fixed-frame{display:block;width:100%;height:auto}.window-crop-preview .window-curtain img{position:absolute;left:-7%;top:0;width:114%;height:100%;object-fit:fill}.window-crop-preview .window-curtains{display:none}.window-crop-preview img{pointer-events:none}.window-crop-slider{display:grid!important;grid-template-columns:1fr 2fr 45px;gap:8px;align-items:center;font-size:12px}.window-crop-slider input{width:100%;padding:0}.window-default-open{display:flex!important;align-items:center;gap:8px;margin-top:16px;font-size:12px}.window-default-open input{width:auto!important}@media(prefers-reduced-motion:reduce){.window-sash{transition-duration:.01s!important;transition-delay:0s!important}}.window-sashes,.window-sash,.window-sash svg{pointer-events:none}.window-hotspot{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;pointer-events:auto;cursor:pointer;touch-action:manipulation}.window-hotspot:focus-visible{outline:2px solid #dba85d;outline-offset:-2px;background:#ffe7aa25}.window-view-hotspot{cursor:zoom-in}.window-handle-hotspot{inset:43% auto auto 44%;width:12%;height:16%;z-index:3}.window-sash-hotspot{cursor:grab}.window-curtain-hotspot{cursor:ew-resize}.window-visual.is-curtains-closed .window-curtain{transform:scaleX(1)}.window-visual.is-curtains-closed .window-outside-dim{opacity:.75}[data-wish-phase]:not([data-wish-phase=idle]) .window-hotspot{pointer-events:none}.note-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:grid;place-items:center;padding:24px;perspective:1200px}.note-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#35271966;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}.note-letter{position:relative;width:min(480px,100%);min-width:0;outline:none;color:var(--note-ink, #715541);border:1px solid #c5ab7959;border-radius:3px 7px 4px 6px;background:repeating-linear-gradient(0deg,transparent 0 3px,#bda78608 3px 4px),linear-gradient(100deg,#e6d4a838,transparent 22% 78%,#bf9e661c),var(--note-paper, #f8edce);box-shadow:0 24px 75px #32200e38,0 3px 8px #32200e15;transform-origin:center}.note-letter:after{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:linear-gradient(#b99b651c,#fff9e799);pointer-events:none}.note-letter-content{position:relative;padding:45px 42px 32px;max-height:calc(100dvh - 64px);overflow:auto;animation:note-ink-in .22s .18s both;z-index:1}.note-letter-kicker{margin:0 20px 22px 0;font-size:9px;letter-spacing:.18em;color:var(--note-ink, #715541);opacity:.7}.note-letter-message{margin:0 0 30px;font:400 clamp(21px,3vw,26px)/1.75 "Bradley Hand","Segoe Print",cursive;white-space:pre-wrap;overflow-wrap:anywhere}.note-letter-signature{margin:0;text-align:right;font:400 19px/1.6 Bradley Hand,Segoe Print,cursive;overflow-wrap:anywhere}.note-overlay--folded{padding-block:100px}.note-overlay--folded .note-letter-content{animation:none;opacity:0;visibility:hidden;max-height:calc(100dvh - 200px)}.note-overlay--folded.is-unfolding .note-letter-content{visibility:visible;animation:note-ink-in .22s .4s both}.note-letter-flap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;border-radius:inherit;background:linear-gradient(178deg,transparent 62%,#b99b6540 63%,#fff5daaa 64%,transparent 66%),linear-gradient(transparent 63%,#0000000c 65%),var(--note-paper, #f8edce);transform-origin:50% 0;backface-visibility:visible;pointer-events:none;transform-style:preserve-3d;transform:perspective(1200px) rotateX(0)}.note-overlay.is-unfolding .note-letter-flap{animation:note-flap-open .62s cubic-bezier(.3,.05,.2,1) both}.note-letter-flap span{backface-visibility:hidden;font:400 34px/1.3 Bradley Hand,Segoe Print,cursive;max-width:85%;overflow-wrap:anywhere}.note-letter-flap i{backface-visibility:hidden;color:var(--note-accent, #b57059);font:30px Georgia,serif}.note-overlay.is-closing .note-letter-content{animation:note-ink-out .15s both}.note-overlay.is-closing .note-letter-flap{animation:none}@keyframes note-ink-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes note-ink-out{to{opacity:0}}@keyframes note-flap-open{0%{transform:perspective(1200px) rotateX(0)}to{transform:perspective(1200px) rotateX(100deg)}}@media(max-width:600px){.note-overlay{padding:20px}.note-overlay--folded{padding-block:100px}.note-letter-content{padding:38px 26px 28px}}@media(prefers-reduced-motion:reduce){.note-letter-content,.note-overlay--folded .note-letter-content,.note-overlay--folded.is-unfolding .note-letter-content,.note-overlay.is-closing .note-letter-content{animation:none;opacity:1;visibility:visible}.note-letter-flap{display:none}}.decor-drawer--note{height:min(760px,calc(100dvh - 24px));overflow:hidden}.decor-drawer--note .drawer-intro{max-width:860px}.decor-drawer--note .object-details--note{height:calc(100% - 105px);min-height:0;grid-template-columns:minmax(290px,.9fr) minmax(360px,1.1fr);gap:22px;margin-top:20px}.object-details--note .object-preview-panel{min-height:0;padding:24px;overflow:hidden;background:linear-gradient(145deg,#fffdf8,#f5ecdc)}.object-details--note .object-form-panel{min-height:0;padding:0 24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.note-preview-header{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;text-align:left}.object-preview-panel .note-preview-header h3{margin:3px 0 0;font-size:27px}.note-preview-header>div:first-child>span{color:var(--coral-dark);font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.12em}.note-preview-tabs{display:inline-flex;padding:3px;border:1px solid #d7c8b1;border-radius:999px;background:#eee5d6}.note-preview-tabs button{min-height:30px;padding:5px 11px;border:0;border-radius:999px;background:transparent;color:var(--ink-soft);font:700 10px var(--sans);cursor:pointer}.note-preview-tabs button[aria-pressed=true]{background:#fffaf0;color:var(--ink);box-shadow:0 1px 4px #34251f20}.note-preview-tabs button:focus-visible{outline:2px solid var(--coral-dark);outline-offset:2px}.note-editor-preview{position:relative;display:grid;width:min(340px,96%);aspect-ratio:1.18;margin:auto;place-items:stretch;color:var(--note-ink);filter:drop-shadow(0 14px 13px #4c321d25);transition:background-color .16s ease,color .16s ease}.note-editor-cover,.note-editor-letter{position:relative;min-width:0;overflow:hidden;background:var(--note-paper)}.note-editor-cover{display:grid;place-items:center;padding:18%;border-radius:4px 7px 3px 6px;text-align:center}.note-editor-cover:after{content:"";position:absolute;left:0;right:0;top:64%;height:2px;background:linear-gradient(#9f835327,#fff8df9c)}.note-editor-cover p{z-index:1;max-width:100%;margin:-8% 0 0;font:400 clamp(20px,3vw,29px)/1.4 "Bradley Hand","Segoe Print",cursive;overflow-wrap:anywhere;transform:rotate(-3deg)}.note-editor-cover>span{position:absolute;z-index:1;left:47%;top:65%;color:var(--note-accent);font:30px Georgia,serif;transform:rotate(-8deg)}.note-editor-tape{position:absolute;z-index:2;top:-2%;left:37%;width:27%;height:10%;background:#d8c99eaa;clip-path:polygon(2% 0,97% 3%,100% 15%,98% 35%,100% 62%,97% 100%,1% 97%,3% 75%,0 53%,2% 28%);transform:rotate(4deg)}.note-editor-letter{display:flex;flex-direction:column;padding:clamp(28px,7%,40px);border-radius:4px 7px 3px 6px;text-align:left;background:repeating-linear-gradient(0deg,transparent 0 3px,#bda78608 3px 4px),var(--note-paper)}.note-editor-letter>span{font:700 8px/1.4 var(--mono);letter-spacing:.14em;opacity:.7}.note-editor-letter>p{max-height:140px;margin:22px 0;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:400 clamp(18px,2.3vw,24px)/1.55 "Bradley Hand","Segoe Print",cursive;scrollbar-width:thin}.note-editor-letter>p.is-placeholder{opacity:.45}.note-editor-letter>i{margin-top:auto;font:400 17px/1.4 Bradley Hand,Segoe Print,cursive;text-align:right}.note-preview-hint{margin:0;color:var(--ink-soft);font:10px/1.5 var(--mono)}.note-copy-editor{padding:24px 0 22px}.note-section-heading{display:flex;align-items:flex-start;gap:11px;margin-bottom:18px}.note-section-heading>span{display:grid;width:25px;height:25px;flex:0 0 25px;place-items:center;border-radius:50%;background:var(--ink);color:var(--paper);font:700 10px var(--mono)}.note-section-heading h3{margin:0;font:600 20px/1.1 var(--display)}.object-form-panel .note-section-heading p{margin:5px 0 0;color:var(--ink-soft);font-size:11px;line-height:1.45}.object-details--note .note-message-field{margin-bottom:17px}.object-details--note .note-message-field textarea{min-height:126px;resize:vertical;font-family:Bradley Hand,Segoe Print,cursive;font-size:20px;line-height:1.5}.object-details--note .note-cover-field{margin-bottom:0;padding-bottom:17px}.object-details--note .note-cover-field>small{bottom:0}.note-theme-picker{margin:0;padding:22px 0;border-top:1px solid #dfceb3;background:transparent}.note-theme-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 17px}.note-theme-presets button{position:relative;min-width:0;padding:5px;border:1px solid #dfceb3;border-radius:9px;background:#fffaf0;color:var(--ink);cursor:pointer}.note-theme-presets button[aria-pressed=true]{border-color:var(--coral-dark);box-shadow:0 0 0 1px var(--coral-dark)}.note-theme-presets button[aria-pressed=true]:after{content:"✓";position:absolute;top:7px;right:8px;color:currentColor;font:700 10px var(--sans)}.note-theme-presets .note-theme-swatch{display:grid;height:52px;margin-bottom:6px;place-items:center;border-radius:5px;font:22px Bradley Hand,cursive}.note-theme-presets b{display:block;overflow:hidden;font-size:9px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.note-theme-presets i{font-style:normal}.note-theme-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 14px}.note-theme-colors label{display:grid;min-width:0;grid-template-columns:29px minmax(0,1fr);gap:4px 7px;align-items:center;margin:0;padding:7px;border:1px solid #e3d6c1;border-radius:7px;background:#fffaf0;cursor:pointer}.object-form-panel .note-theme-colors label>span:first-child{grid-column:1 / -1;margin:0;color:var(--ink-soft);font-size:9px}.note-theme-colors input[type=color]{width:29px;min-width:29px;height:29px;padding:2px;border:1px solid #d3bfa0;border-radius:5px;background:transparent;cursor:pointer}.note-theme-colors code{min-width:0;overflow:hidden;color:var(--ink-soft);font-size:9px;text-overflow:ellipsis}.object-details--note .object-form-actions{position:sticky;z-index:3;bottom:0;margin-top:0;padding:15px 0 18px;background:#fffdf7;box-shadow:0 -12px 20px #fffdf7}@media(max-width:760px){.decor-drawer--note{height:auto;max-height:90dvh;overflow-y:auto}.decor-drawer--note .object-details--note{height:auto;grid-template-columns:1fr}.object-details--note .object-preview-panel{min-height:0;padding:20px 18px 17px}.object-details--note .object-form-panel{overflow:visible;padding:0 18px}.note-editor-preview{width:min(230px,78%);margin-block:14px}.note-editor-letter{padding:23px}.note-editor-letter>p{max-height:92px;margin:14px 0;font-size:18px}.note-preview-hint{max-width:280px;margin-inline:auto}.note-theme-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.note-theme-colors{grid-template-columns:1fr}.note-theme-colors label{grid-template-columns:minmax(0,1fr) 34px 58px}.object-form-panel .note-theme-colors label>span:first-child{grid-column:auto}.object-details--note .object-form-actions{position:static;box-shadow:none}}.photo-memory-overlay{perspective:1200px}.photo-memory-card{width:min(480px,100%);max-height:calc(100dvh - 44px);overflow-y:auto;padding:42px 28px 26px;text-align:center;box-shadow:0 18px 70px #24160840;transform-origin:center}.photo-memory-print{padding:10px 10px 25px;background:#fffcf5;box-shadow:0 4px 12px #47362126}.photo-memory-print img{display:block;width:100%;max-height:42dvh;object-fit:contain}.photo-memory-print.is-strip{width:fit-content;margin-inline:auto}.photo-memory-print.is-strip img{width:auto;max-width:100%}.photo-memory-story{margin-top:24px;animation:photoStoryIn .32s .33s both;overflow-wrap:anywhere}.photo-memory-story .memory-message{margin:18px 0;font-size:19px}.photo-memory-signature{font-family:Bradley Hand,cursive;color:var(--ink-soft)}.photo-motion-card .scratch-instruction,.photo-motion-card .scratch-skip{animation:photoStoryIn .32s .33s both}@keyframes photoStoryIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.photo-memory-card{padding:42px 18px 22px}}@media(prefers-reduced-motion:reduce){.photo-memory-story,.photo-motion-card .scratch-instruction,.photo-motion-card .scratch-skip{animation:none}}.scratch-card.photo-motion-card{padding-top:48px}.photo-presentation{position:relative;color:#594638;min-width:0}.photo-presentation .photo-memory-story{min-width:0}.photo-presentation .memory-message{white-space:pre-wrap;line-height:1.65}.photo-presentation .memory-date{margin:14px 0 0;font-size:10px;letter-spacing:.1em}.photo-presentation .photo-memory-signature{margin:20px 0 0;font-size:18px}.photo-presentation .photo-caption{font-size:13px;line-height:1.6;white-space:pre-wrap}.photo-presentation .photo-memory-print{min-width:0}.photo-presentation--polaroid{padding:12px 12px 24px;background:#fffcf5;box-shadow:0 5px 18px #47362124}.photo-presentation--polaroid .photo-memory-print{padding:0;box-shadow:none}.photo-presentation--polaroid .photo-memory-story{margin-top:20px;padding-inline:10px}.photo-presentation--polaroid .memory-message{font-family:Bradley Hand,cursive;font-size:22px}.photo-memory-card--polaroid{background:#f2ebdd}.photo-memory-card--postcard,.scratch-card--postcard{width:min(820px,100%)}.photo-presentation--postcard{display:grid;grid-template-columns:1.12fr 1fr;align-items:stretch;padding:18px;background:#fff9e9;border:1px solid #bfa98755;box-shadow:0 4px 14px #4736211a;text-align:left}.photo-presentation--postcard .photo-memory-print{display:flex;align-items:center;padding:0 22px 0 0;background:transparent;box-shadow:none}.photo-presentation--postcard .photo-memory-print img{max-height:55dvh}.photo-presentation--postcard .photo-memory-story{position:relative;margin:0;padding:72px 4px 14px 22px;border-left:0;background:repeating-linear-gradient(transparent 0 31px,#bbaa861c 31px,#bbaa861c 32px)}.photo-postage{position:absolute;top:0;right:0;display:grid;place-items:center;width:45px;height:54px;border:3px dotted #a9755c;outline:1px solid #a9755c44;outline-offset:-7px;color:#a9755c;background:#eee2c9;font:28px Georgia,serif;transform:rotate(5deg)}.photo-presentation--postcard .memory-message{font-size:18px;margin-top:0}.photo-memory-card--scrapbook,.scratch-card--scrapbook{width:min(610px,100%);background-color:#eee3cd;background-image:linear-gradient(#b69c7220 1px,transparent 1px),linear-gradient(90deg,#b69c7220 1px,transparent 1px);background-size:24px 24px}.photo-presentation--scrapbook{padding:20px 14px 6px}.photo-presentation--scrapbook .photo-memory-print{position:relative;transform:rotate(-2deg);padding:10px 10px 22px;margin:0 8px 28px}.photo-presentation--scrapbook .photo-memory-print:before,.photo-presentation--scrapbook .photo-memory-print:after{content:"";position:absolute;z-index:1;top:-12px;width:65px;height:25px;background:#ceb991b8;border-left:2px dashed #fff6;border-right:2px dashed #fff6}.photo-presentation--scrapbook .photo-memory-print:before{left:-15px;transform:rotate(-30deg)}.photo-presentation--scrapbook .photo-memory-print:after{right:-15px;transform:rotate(24deg)}.photo-presentation--scrapbook .photo-memory-story{position:relative;background:#fff9e8;padding:18px 20px;box-shadow:2px 4px #a18b6530;text-align:left}.photo-presentation--scrapbook .photo-memory-story:after{content:"♡";position:absolute;right:12px;bottom:10px;color:#b77660;font-size:26px;transform:rotate(12deg)}.photo-presentation--scrapbook .memory-message{margin-top:0}.photo-layout-placeholder{display:grid;place-items:center;width:100%;min-height:140px;aspect-ratio:4 / 3;background:#e4ddcd;color:#8a7968;font-size:13px}.photo-style-picker{min-width:0;margin:0 0 24px;padding:0;border:0}.photo-style-picker legend{font-size:14px;font-weight:700}.photo-style-picker>p{font-size:12px;color:var(--ink-soft);margin:8px 0 14px}.photo-style-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.photo-style-options button{min-width:0;padding:12px 5px;border:1px solid #bca58a66;background:#fffaf0;color:var(--ink);cursor:pointer}.photo-style-options button[aria-pressed=true]{border-color:#ab6047;background:#f5e4d4;box-shadow:0 0 0 1px #ab6047}.photo-style-options button:focus-visible{outline:2px solid var(--coral-dark);outline-offset:3px}.photo-style-options button>span:not(.photo-style-swatch){display:block;font-size:12px;font-weight:700}.photo-style-options small{display:block;margin-top:5px;font-size:10px;line-height:1.4}.photo-style-swatch{position:relative;display:block;width:54px;height:56px;margin:0 auto 10px;padding:5px 5px 16px;background:#fffef6;box-shadow:1px 2px 3px #59463833}.photo-style-swatch i{display:block;height:100%;background:linear-gradient(150deg,#d5dfcf 45%,#a5b1a0 46%,#a5b1a0 65%,#789081 66%)}.photo-style-swatch b{position:absolute;height:2px;background:#b6a58b;width:25px;left:14px;bottom:7px}.photo-style-swatch--postcard{width:68px;height:45px;margin-top:5px;margin-bottom:16px;padding:5px 32px 5px 5px}.photo-style-swatch--postcard b{left:42px;bottom:14px;width:18px;box-shadow:0 -6px #b6a58b,0 -12px #b6a58b}.photo-style-swatch--scrapbook{transform:rotate(-6deg);background:#ede0c6}.photo-style-swatch--scrapbook:after{content:"";position:absolute;top:-3px;left:14px;width:27px;height:10px;background:#c3a878b0}.photo-style-preview{container-type:inline-size;margin-top:18px;padding:14px;background:#eee5d5;border:1px solid #bca58a44}.photo-style-preview .photo-memory-story{animation:none}.photo-style-preview .photo-memory-print img{max-height:200px}.photo-style-preview .memory-message{font-size:16px}.photo-style-preview .photo-memory-signature{font-size:15px}.photo-style-preview .photo-presentation--postcard{padding:10px}.photo-style-preview .photo-presentation--postcard .photo-memory-print{padding-right:12px}.photo-style-preview .photo-presentation--postcard .photo-memory-story{padding-left:12px}.photo-preview-link{text-decoration:underline;font-size:12px}.decor-drawer--photo{width:min(1100px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px 28px 28px}.decor-drawer--photo .drawer-intro,.decor-drawer--photo .object-details--photo{max-width:1020px}.decor-drawer--photo .drawer-cancel-link{margin-bottom:7px}.decor-drawer--photo .drawer-intro--details h2{font-size:clamp(32px,4vw,42px)}.object-details--photo{grid-template-columns:minmax(340px,.94fr) minmax(430px,1.06fr);gap:20px;margin-top:19px;align-items:start}.object-details--photo .object-preview-panel{position:sticky;top:-1px;min-height:590px;padding:22px;border-color:#4d342833;border-radius:10px;background:#f4ecde;box-shadow:none;text-align:left}.photo-editor-preview-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.photo-editor-preview-header>div:first-child>span{color:var(--coral-dark);font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.08em}.object-preview-panel .photo-editor-preview-header h3{margin:3px 0 0;font-size:27px}.photo-preview-tabs{display:inline-flex;padding:3px;border:1px solid rgba(52,37,31,.18);border-radius:999px;background:#fffdf7b8}.photo-preview-tabs button{min-height:32px;padding:5px 12px;border:0;border-radius:999px;background:transparent;color:var(--ink-soft);font:700 12px/1 var(--sans);cursor:pointer}.photo-preview-tabs button[aria-pressed=true]{background:var(--ink);color:#fffaf0}.photo-preview-tabs button:focus-visible{outline:2px solid var(--coral-dark);outline-offset:2px}.photo-editor-preview-canvas{container-type:inline-size;display:grid;min-height:460px;padding:24px;place-items:center;overflow:hidden;border:1px solid rgba(77,52,40,.13);border-radius:7px;background:linear-gradient(#fffdf7d1,#fffdf7d1),repeating-linear-gradient(135deg,#cdbda433 0 1px,transparent 1px 8px)}.photo-editor-preview-canvas .photo-presentation{width:min(100%,430px);max-height:430px;overflow:auto}.photo-editor-preview-canvas--polaroid .photo-presentation{width:min(84%,350px)}.photo-editor-preview-canvas--scrapbook .photo-presentation{width:min(92%,390px)}.photo-editor-preview-canvas .photo-memory-print img{max-height:245px;object-fit:contain}.photo-editor-preview-canvas .photo-memory-story{animation:none}.photo-cover-preview{display:grid;width:100%;min-height:390px;place-items:center}.photo-cover-preview .room-item{position:relative;inset:auto!important;width:min(210px,65%);pointer-events:none;transform:none!important}.photo-editor-preview-hint{margin:13px 2px 0;color:var(--ink-soft);font-size:13px;line-height:1.45;text-align:center}.object-details--photo .object-form-panel{gap:12px;padding:0;border:0;background:transparent;box-shadow:none}.photo-editor-section{margin:0!important;padding:19px 20px 20px;border:1px solid rgba(52,37,31,.18)!important;border-radius:9px;background:#fffdf7e0}.photo-editor-section-heading{display:flex;align-items:flex-start;gap:11px;margin-bottom:16px}.photo-editor-section-heading>span{display:grid;width:26px;height:26px;flex:0 0 26px;place-items:center;border-radius:50%;background:var(--ink);color:#fffaf0;font:700 12px/1 var(--mono)}.photo-editor-section-heading h3,.photo-editor-section-heading legend{margin:0!important;color:var(--ink);font:700 16px/1.25 var(--sans)!important}.photo-editor-section-heading p{margin:3px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.4}.photo-source-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:9px}.photo-source-actions .upload-field{margin:0}.photo-source-actions .upload-button,.photo-source-actions .photo-camera-button{min-height:47px;margin:0;padding:10px 12px;border-width:1px;font-size:14px!important}.photo-source-actions .upload-button{display:flex!important;align-items:center;justify-content:center;gap:7px}.replace-photo-icon{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.photo-source-actions .photo-camera-button{width:100%}.photo-editor-section--source>.photo-upload-note{margin:9px 0 0;font-size:12px!important;text-align:left}.photo-editor-section.photo-style-picker>.photo-editor-section-heading>div>p{margin:3px 0 0}.photo-editor-section .photo-style-options{gap:9px}.photo-editor-section .photo-style-options button{position:relative;min-height:116px;padding:11px 7px 10px;border-radius:6px;transition:border-color .14s ease,background-color .14s ease,transform .14s ease}.photo-editor-section .photo-style-options button:hover{border-color:#ab6047aa;transform:translateY(-1px)}.photo-editor-section .photo-style-options button[aria-pressed=true]:after{content:"✓";position:absolute;top:7px;right:7px;display:grid;width:19px;height:19px;place-items:center;border-radius:50%;background:var(--coral-dark);color:#fff;font:700 11px/1 var(--sans)}.photo-editor-section .photo-style-options button>span:not(.photo-style-swatch){font-size:13px}.photo-editor-section .photo-style-options small{font-size:12px}.photo-editor-section--story>label{margin-bottom:16px}.photo-editor-section--story .photo-message-field{padding-bottom:15px}.photo-editor-section--story .photo-message-field textarea{min-height:86px}.photo-editor-section--story .cover-options{margin:4px 0 0;padding:15px;border:1px solid #b79c7655!important;border-radius:7px;background:#f6eddc}.photo-editor-section--story .cover-toggle{align-items:flex-start}.photo-editor-section--story .cover-toggle>span{margin:0}.photo-editor-section--story .cover-toggle strong,.photo-editor-section--story .cover-toggle small{display:block}.photo-editor-section--story .cover-toggle strong{font-size:14px;line-height:1.35}.photo-editor-section--story .cover-toggle small{margin-top:2px;color:var(--ink-soft);font-size:12px;line-height:1.4}.photo-editor-section--story .photo-cover-title{margin:15px 0 0;padding-top:14px;border-top:1px solid rgba(52,37,31,.13)}.object-details--photo .object-form-actions{margin:0;padding:4px 0 0;border:0;background:transparent}.object-details--photo .object-form-actions .ink-button{min-height:50px}@media(max-width:820px){.decor-drawer--photo{width:100%;max-height:90dvh;padding:36px 18px 24px}.object-details--photo{grid-template-columns:1fr;gap:14px}.object-details--photo .object-preview-panel{position:static;min-height:0;padding:17px}.photo-editor-preview-canvas{min-height:310px;padding:17px}.photo-editor-preview-canvas .photo-presentation{max-height:330px}.photo-editor-preview-canvas .photo-memory-print img{max-height:190px}.photo-cover-preview{min-height:270px}}@media(max-width:480px){.photo-editor-preview-header{align-items:flex-start}.object-preview-panel .photo-editor-preview-header h3{font-size:23px;white-space:nowrap}.photo-preview-tabs button{padding-inline:10px}.photo-editor-preview-canvas{min-height:270px;padding:12px}.photo-source-actions{grid-template-columns:1fr}.photo-editor-section{padding:17px 15px 18px}.photo-editor-section .photo-style-options{gap:6px}.photo-editor-section .photo-style-options button{min-height:106px;padding-inline:3px}.photo-editor-section .photo-style-options small{display:none}.photo-editor-section .photo-style-swatch{transform:scale(.88);transform-origin:center bottom}.photo-editor-section .photo-style-swatch--scrapbook{transform:scale(.88) rotate(-6deg)}}@container (max-width: 360px){.photo-presentation--postcard{grid-template-columns:1fr}.photo-presentation--postcard .photo-memory-print{padding:0}.photo-presentation--postcard .photo-memory-story{border-left:0;border-top:0;padding:65px 4px 10px;margin-top:16px}.photo-presentation--postcard .photo-postage{top:10px}}@media(max-width:600px){.photo-presentation--postcard{grid-template-columns:1fr;padding:12px}.photo-presentation--postcard .photo-memory-print{padding:0}.photo-presentation--postcard .photo-memory-story{border-left:0;border-top:0;padding:65px 4px 10px;margin-top:18px}.photo-presentation--postcard .photo-postage{top:10px}.photo-presentation--scrapbook{padding-inline:6px}}.photo-image-surface{position:relative;width:100%;min-width:0}.photo-memory-print.is-strip .photo-image-surface{width:fit-content;max-width:100%}.photo-image-surface--scratch canvas{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;width:calc(100% + 2px);height:calc(100% + 2px);touch-action:none;cursor:crosshair;transition:opacity .65s ease}.photo-presentation--scrapbook.is-concealed .photo-image-surface--scratch canvas{top:-11px;right:-11px;bottom:-23px;left:-11px;width:calc(100% + 22px);height:calc(100% + 34px)}.photo-presentation--scrapbook.is-concealed .photo-memory-print:before,.photo-presentation--scrapbook.is-concealed .photo-memory-print:after{z-index:2}.photo-image-surface--scratch.is-revealed canvas{opacity:0;pointer-events:none}.photo-scratch-controls{position:absolute;z-index:3;inset:auto 8px 12px;text-align:center;color:#715541;pointer-events:none}.photo-scratch-controls p{margin:0 0 8px;font-size:12px;line-height:1.4}.photo-scratch-controls button{pointer-events:auto;border:1px solid #a98c69;border-radius:3px;padding:7px 12px;background:#fff9e9;color:#715541;font-size:12px;cursor:pointer}.photo-scratch-controls button:disabled{opacity:.6;cursor:wait}@media(prefers-reduced-motion:reduce){.photo-image-surface--scratch canvas{transition:none}}.photo-memory-card--polaroid{width:fit-content;max-width:min(480px,100%);padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}.photo-memory-card--polaroid>.close-button{top:-15px;right:-15px;z-index:3}.photo-memory-card--polaroid>.photo-presentation{width:min-content;min-width:min(240px,calc(100vw - 72px));max-width:100%;max-height:calc(100dvh - 72px);overflow-y:auto;padding:12px 12px 20px}.photo-memory-card--polaroid .photo-memory-print img{width:auto;max-width:min(380px,calc(100vw - 72px));max-height:52dvh;margin-inline:auto}.photo-memory-card--polaroid .photo-image-surface{width:fit-content;max-width:100%;margin-inline:auto}.photo-memory-card--polaroid .photo-memory-print{margin-inline:auto}.photo-memory-card--polaroid .photo-memory-story{margin-top:14px;padding-inline:8px}.photo-memory-card--polaroid .memory-message{margin:0 0 12px;font-size:20px;line-height:1.45}.photo-memory-card--polaroid .photo-memory-signature{margin-top:12px;font-size:16px}.photo-memory-card--polaroid .memory-date{margin-top:8px;font-size:9px}.photo-memory-card--polaroid>.memory-edit-button{background:#fff9ed}.photo-memory-card--postcard{padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}.photo-memory-card--postcard>.close-button{top:-15px;right:-15px;z-index:3}.photo-memory-card--postcard>.photo-presentation{max-height:calc(100dvh - 72px);overflow-y:auto;padding:20px}.balloon-postcard-card{width:min(700px,100%)}.balloon-postcard-card .photo-presentation--postcard{grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr)}.balloon-postcard-card .photo-memory-print{justify-content:center}.balloon-postcard-card .photo-memory-print img{width:100%;max-width:100%;max-height:36dvh;margin-inline:auto}.photo-memory-card--postcard:has(.is-without-message){width:min(640px,100%)}.photo-presentation--postcard .photo-memory-story{display:flex;flex-direction:column}.photo-presentation--postcard .photo-memory-footer{margin-top:auto;padding-top:24px}.photo-presentation--postcard .photo-memory-footer .photo-memory-signature{margin-top:0}.photo-presentation--postcard.is-without-message{grid-template-columns:1.35fr 1fr}.photo-presentation--postcard.is-without-message .photo-memory-print img{max-height:46dvh}.photo-presentation--postcard.is-without-message .photo-memory-story{background:none}.photo-presentation--postcard.is-without-message .photo-memory-footer{border-bottom:0;padding-bottom:12px}.photo-memory-card--postcard>.memory-edit-button{background:#fff9ed}@media(max-width:600px){.balloon-postcard-card .photo-presentation--postcard{grid-template-columns:1fr}.balloon-postcard-card .photo-memory-print img{max-width:42%;max-height:180px}.photo-presentation--postcard.is-without-message{grid-template-columns:1fr}.photo-presentation--postcard .photo-memory-footer{padding-top:14px}.photo-presentation--postcard.is-without-message .photo-memory-story{padding-top:16px;padding-right:62px}}@container (max-width: 360px){.photo-presentation--postcard.is-without-message{grid-template-columns:1fr}}.photo-memory-card--polaroid,.photo-memory-card--postcard{background:#fffcf5;box-shadow:0 18px 70px #24160840}.photo-memory-card--polaroid{padding:12px 12px 20px}.photo-memory-card--polaroid>.photo-presentation{padding:0;background:none;box-shadow:none}.photo-memory-card--postcard>.photo-presentation{background:none;border:0;box-shadow:none}.photo-style-preview .photo-presentation--polaroid,.photo-style-preview .photo-presentation--postcard{box-shadow:none;border:0}.message-wall-overlay{z-index:180}.message-wall{position:relative;width:min(900px,100%);max-height:calc(100dvh - 44px);overflow-y:auto;padding:36px;background:#f3ebdc;color:var(--ink);box-shadow:0 20px 80px #30201655}.message-wall header{padding-right:24px}.message-wall h2{margin:8px 0 14px;font-family:var(--display);font-size:clamp(26px,4vw,38px);font-weight:500}.message-wall-intro{max-width:640px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.65;color:var(--ink-soft)}.message-wall-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0;font-size:12px}.message-wall-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px 18px;padding:8px 4px 24px}.wall-note{position:relative;min-width:0;padding:25px 20px 16px;background:#fff3ba;box-shadow:2px 5px 9px #674e2420;transform:rotate(-1deg)}.wall-note:before{content:"";position:absolute;top:-8px;left:calc(50% - 23px);width:46px;height:18px;background:#c5b59088;transform:rotate(4deg)}.wall-note--1{background:#f7d9d1;transform:rotate(1deg)}.wall-note--2{background:#dfe8d5;transform:rotate(-.5deg)}.wall-note--3{background:#e0e7ee;transform:rotate(.6deg)}.wall-note-message{margin:0 0 24px;white-space:pre-wrap;overflow-wrap:anywhere;font:19px/1.55 Bradley Hand,cursive}.wall-note footer{display:flex;flex-direction:column;gap:8px;overflow-wrap:anywhere;font-size:13px}.wall-note time{font-size:10px;color:var(--ink-soft)}.wall-note-remove{border:0;background:none;padding:12px 0 0;font-size:10px;text-decoration:underline;color:var(--ink-soft);cursor:pointer}.wall-note-confirm{border-top:1px solid #6e523433;margin-top:12px;font-size:13px}.wall-note-confirm button{margin-right:6px;padding:7px;background:#fff9;border:1px solid #6e523433;cursor:pointer}.message-wall-empty{padding:30px 16px;text-align:center;color:var(--ink-soft)}.message-wall-empty span{font-size:40px;color:#a97158}.message-wall-compose{padding:24px;background:#fffbf2;border:1px solid #b6a28355}.message-wall-compose h3{margin:0 0 18px;font:24px var(--display)}.message-wall-compose label{display:block;min-width:0}.message-wall-compose label>span{display:block;margin-bottom:8px;font-size:12px}.message-wall-compose textarea,.message-wall-compose input{width:100%;padding:12px;border:1px solid #b6a28388;background:#fffdf7;color:var(--ink);font:inherit}.message-wall-compose textarea{resize:vertical;min-height:100px}.message-wall-compose-bottom{display:flex;align-items:end;gap:14px;margin-top:14px}.message-wall-compose-bottom label{flex:1}.message-wall-compose-bottom small{font-size:10px;padding-bottom:12px}.message-wall-compose>p{font-size:11px;line-height:1.5;color:var(--ink-soft);margin-bottom:0}.message-wall-error{color:#9b392b;font-size:14px}.message-wall-notice{font-size:13px;color:#536842}.message-wall-notice:empty{display:none}@media(max-width:700px){.message-wall-notes{grid-template-columns:repeat(2,minmax(0,1fr))}.message-wall{padding:30px 22px}}@media(max-width:450px){.message-wall-notes{grid-template-columns:1fr}.message-wall{padding:28px 18px}.message-wall-compose{padding:16px}.message-wall-compose-bottom{flex-wrap:wrap}.message-wall-compose-bottom .ink-button{width:100%}}.music-box{position:relative;display:block;width:100%;aspect-ratio:1 / 1.2;isolation:isolate}.music-box img{position:absolute;display:block;object-fit:contain;pointer-events:none}.music-box .music-box-base{left:1%;bottom:0;width:90%;height:50%;z-index:2}.music-box .music-box-key{right:-4%;bottom:14%;width:28%;height:21%;z-index:4;transform-origin:50% 50%}.music-box-bear-motion{position:absolute;left:25%;bottom:30%;width:42%;height:59%;z-index:3;transform-origin:50% 88%;transition:transform .45s ease}.music-box .music-box-bear{width:100%;height:auto;left:0;bottom:0}.music-box-shadow{position:absolute;width:76%;height:9%;bottom:1%;left:8%;background:#51341630;border-radius:50%;filter:blur(3px)}.music-box--winding .music-box-key{animation:musicBoxWind .6s ease-in-out}.music-box--playing .music-box-bear-motion{animation:musicBoxSway 2.6s ease-in-out infinite}.music-box--paused .music-box-bear-motion{animation:musicBoxSway 2.6s ease-in-out infinite paused}.music-box-notes{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4}.music-box-notes i{position:absolute;right:0;top:30%;color:#b77b36;font:normal clamp(12px,2vw,23px) Georgia,serif;opacity:0}.music-box--playing .music-box-notes i{animation:musicBoxNote 3s ease-out infinite}.music-box--playing .music-box-notes i:nth-child(2){animation-delay:1s;right:12%}.music-box--playing .music-box-notes i:nth-child(3){animation-delay:2s;right:-8%}.music-box-status{position:absolute;left:50%;bottom:-24px;transform:translate(-50%);width:max-content;padding:4px 7px;font-size:10px;background:#fff8e8ed;border-radius:6px;color:#725034;opacity:0;pointer-events:none}.room-item:hover .music-box-status,.room-item:focus-visible .music-box-status,.music-box--playing .music-box-status,.music-box--winding .music-box-status,.music-box--paused .music-box-status{opacity:1}.pet-message-tip{position:absolute;left:50%;top:-8px;z-index:8;width:max-content;max-width:min(240px,42vw);padding:6px 9px;border:1px solid #bba58b66;background:#fff8e8f2;box-shadow:0 2px 8px #51341620;border-radius:7px;color:#725034;font-size:10px;line-height:1.45;text-align:center;white-space:normal;transform:translate(-50%,-100%) rotate(var(--counter-rotation));animation:petTipIn .18s ease-out;pointer-events:none}.pet-message-tip:before{content:"";position:absolute;left:50%;bottom:-5px;width:8px;height:8px;border-right:1px solid #bba58b66;border-bottom:1px solid #bba58b66;background:#fff8e8f2;transform:translate(-50%) rotate(45deg)}.layer-thumbnail .pet-message-tip,.chosen-object .pet-message-tip{display:none}@keyframes petTipIn{0%{opacity:0;transform:translate(-50%,calc(-100% + 4px)) rotate(var(--counter-rotation))}}.picker-music-box{width:85px;height:100px;margin-inline:auto}.picker-music-box .music-box{width:80px}.layer-thumbnail .music-box-status{display:none}@keyframes musicBoxWind{to{transform:perspective(200px) rotateX(720deg)}}@keyframes musicBoxSway{0%,to{transform:skew(-3deg)}50%{transform:skew(3deg)}}@keyframes musicBoxNote{0%{opacity:0;transform:translateY(0) rotate(-8deg)}20%{opacity:.85}to{opacity:0;transform:translate(12px,-35px) rotate(12deg)}}@media(prefers-reduced-motion:reduce){.music-box--winding .music-box-key,.music-box--playing .music-box-bear-motion,.music-box--paused .music-box-bear-motion,.music-box--playing .music-box-notes i{animation:none}}.room-canvas .room-item,.room-canvas .room-item .wall-object-plane,.room-canvas .room-item .wall-object-plane *{pointer-events:none}.room-canvas .room-item .wall-object-plane img,.room-canvas .room-item .pet-sprite,.room-canvas .room-item .classic-cat-sprite,.room-canvas .room-item .memory-cover,.room-canvas .room-item .doodle-paper.has-background,.room-canvas .room-item .doodle-paper.is-empty,.room-canvas .room-item .bouquet-tag,.room-canvas .room-item .window-view-aperture,.room-canvas .room-item .window-hotspot,.room-canvas .room-item .lamp-switch,.room-canvas .room-item .placement-handle{pointer-events:auto}.room-canvas .room-item .wall-object-plane{transition:transform .16s ease-out,filter .16s ease}.room-canvas .room-item.is-preview .wall-object-plane{transition:filter .16s ease}.room-canvas .room-item:hover>.wall-object-plane,.room-canvas .room-item:focus-visible>.wall-object-plane{filter:drop-shadow(0 0 1px #fff9e6) drop-shadow(0 0 3px rgba(255,222,151,.95))}.room-item.is-editable:focus-within .room-item-edit-hint{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.room-canvas .room-item .wall-object-plane{transition:none}.pet-sprite,.classic-cat-sprite{animation:none;background-position:0 0}}[data-wish-phase]:not([data-wish-phase=idle]) .room-canvas .room-item .window-hotspot{pointer-events:none}.music-box-theme-picker{padding:0;margin:0 0 24px;border:0;min-width:0}.music-box-theme-picker legend{font-weight:700;font-size:14px}.music-box-theme-picker>p{font-size:12px;line-height:1.6;color:var(--ink-soft)}.music-box-theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.music-box-theme-options>button{min-width:0;padding:10px 10px 16px;border:1px solid #bba58b66;background:#fffbf1;color:var(--ink);cursor:pointer}.music-box-theme-options>button[aria-pressed=true]{border-color:#ac7652;background:#f4e6d2;box-shadow:0 0 0 1px #ac7652}.music-box-theme-options>button:focus-visible{outline:2px solid var(--coral-dark);outline-offset:3px}.music-box-theme-options .music-box{width:min(130px,100%);margin:0 auto 8px}.music-box-theme-options .music-box-status{display:none}.music-box-theme-options strong,.music-box-theme-options small{display:block}.music-box-theme-options strong{font-size:13px}.music-box-theme-options small{margin-top:5px;font-size:11px;line-height:1.4;color:var(--ink-soft)}.chosen-object .item-music-box{width:min(175px,80%)}@media(max-width:700px){.chosen-object .item-music-box{width:120px}}.music-box-theme--moon-bunny .music-box-bear-motion,.music-box-theme--carousel .music-box-bear-motion{left:18%;width:56%;bottom:35%}.music-box-theme--unicorn .music-box-bear-motion{left:20%;width:52%;bottom:35%}.gift-overlay{z-index:150;background:#30251b80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.gift-dialog{position:relative;width:min(560px,100%);padding:28px 16px 24px;color:var(--ink);background:transparent;text-align:center;outline:none}.gift-dialog>.eyebrow,.gift-reveal-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.gift-reveal{position:relative;height:470px;isolation:isolate}.gift-reveal-art{position:absolute;width:min(360px,78%);aspect-ratio:1;bottom:0;left:50%;margin-left:calc(min(360px,78%)/-2);transform-origin:50% 95%}.gift-reveal-art>img,.gift-reveal-ribbon,.gift-reveal-ribbon img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none}.gift-reveal-body{z-index:1}.gift-reveal-lid{z-index:2;transform-origin:75% 55%}.gift-reveal-ribbon{z-index:3;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;mask-mode:alpha;-webkit-mask-composite:source-over;mask-composite:add}.gift-reveal-closed{z-index:4}.gift-reveal-glow{position:absolute;top:5%;right:-12%;bottom:15%;left:-12%;border-radius:50%;opacity:0;background:radial-gradient(ellipse,#ffdf8880,#fff0b100 70%);filter:blur(10px)}.gift-reveal-letter{position:absolute;z-index:5;width:min(370px,94%);left:50%;bottom:220px;padding:17px 22px 20px;border:1px solid #d9c8ad;border-radius:4px;background:#fffaf0;box-shadow:0 12px 35px #5f412426;opacity:0;visibility:hidden;transform:translate(-50%,150px) scale(.25);transform-origin:50% 100%}.gift-reveal-heart{display:block;margin-bottom:5px;color:var(--coral-dark);font-size:24px;line-height:1}.gift-reveal-message{max-height:145px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.gift-reveal-message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.6}.gift-reveal-message .gift-reveal-signature{margin-top:14px;color:var(--ink-soft);font-family:var(--display);font-style:italic;font-size:14px}.gift-reveal-sparkles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.gift-reveal-sparkles i{position:absolute;font-style:normal;color:#bb923e;opacity:0;font-size:24px}.gift-reveal-sparkles i:nth-child(1){left:-5%;top:30%}.gift-reveal-sparkles i:nth-child(2){right:-2%;top:44%}.gift-reveal-sparkles i:nth-child(3){left:18%;top:4%}.gift-reveal-sparkles i:nth-child(4){right:10%;top:0}.gift-reveal-actions{min-height:38px;margin-top:20px;display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.gift-reveal-actions .paper-button{font-size:12px}.gift-dialog :focus-visible{outline:2px solid var(--coral-dark);outline-offset:4px}.gift-reveal.is-active .gift-reveal-art{animation:gift-anticipation .3s ease-in-out both}.gift-reveal.is-active .gift-reveal-ribbon{animation:gift-ribbon-fade .6s .35s ease-in-out both}.gift-reveal.is-active .gift-reveal-lid{animation:gift-lid-lift .75s 1.05s cubic-bezier(.22,.7,.25,1) both}.gift-reveal.is-active .gift-reveal-letter{visibility:visible;animation:gift-card-rise .75s 1.6s cubic-bezier(.22,.75,.2,1) both}.gift-reveal.is-active .gift-reveal-glow{animation:gift-glow .95s 1.2s both}.gift-reveal.is-active .gift-reveal-sparkles i{animation:gift-sparkle .9s 1.4s both}@keyframes gift-anticipation{0%,to{transform:rotate(0)}25%{transform:rotate(-2deg)}70%{transform:rotate(2deg)}}@keyframes gift-ribbon-fade{0%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes gift-lid-lift{0%{transform:none}40%{transform:translate(4%,-25%) rotate(-6deg)}to{transform:translate(20%,-18%) rotate(22deg) scale(.72)}}@keyframes gift-card-rise{0%{opacity:0;transform:translate(-50%,150px) scale(.25) rotate(-6deg)}45%{opacity:1}to{opacity:1;transform:translate(-50%) scale(1) rotate(0)}}@keyframes gift-glow{to{opacity:1}}@keyframes gift-sparkle{0%{opacity:0;transform:translateY(20px) scale(.4)}45%{opacity:1}to{opacity:0;transform:translateY(-45px) scale(1.15)}}.gift-reveal.is-fallback .gift-reveal-art,.gift-reveal.is-fallback .gift-reveal-closed{animation:none}.gift-reveal.is-fallback .gift-reveal-art>:not(.gift-reveal-closed){display:none}.gift-reveal.is-fallback .gift-reveal-letter{animation:none;opacity:1;transform:translate(-50%)}@media(max-width:600px){.gift-overlay{padding:12px}.gift-dialog{padding:22px 12px 18px}.gift-reveal{height:420px}.gift-reveal-art{width:280px;max-width:78%;margin-left:0;translate:-50% 0}.gift-reveal-letter{bottom:180px;padding:16px}.gift-reveal-message{max-height:135px}}@media(prefers-reduced-motion:reduce){.gift-reveal.is-active *,.gift-reveal.is-active .gift-reveal-sparkles i{animation:none}.gift-reveal.is-active .gift-reveal-ribbon{opacity:0;visibility:hidden}.gift-reveal.is-active .gift-reveal-lid{transform:translate(20%,-18%) rotate(22deg) scale(.72)}.gift-reveal.is-active .gift-reveal-letter{opacity:1;visibility:visible;transform:translate(-50%)}.gift-reveal.is-fallback .gift-reveal-closed{opacity:1;visibility:visible}}.gift-content-picker{border:0;padding:0;margin:0 0 20px}.gift-content-picker legend{font-size:13px;font-weight:700;margin-bottom:10px}.gift-content-picker>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gift-content-picker button{display:flex;align-items:center;gap:8px;padding:12px 9px;border:1px solid #dfceb3;border-radius:8px;background:#fff8e9;color:var(--ink);font:inherit;font-size:12px;text-align:left;cursor:pointer}.gift-content-picker button[aria-pressed=true]{outline:2px solid var(--coral-dark);background:#f5e7d7}.gift-content-picker button span{font-size:20px;color:var(--coral-dark)}.gift-content-editor label{display:grid;gap:8px;margin-bottom:18px}.gift-content-editor small,.gift-voice-editor>p{color:var(--ink-soft);font-size:12px;line-height:1.6}.gift-photo-preview{width:100%;max-height:220px;object-fit:contain;border-radius:4px;background:#f3e8d8}.gift-voice-editor audio,.gift-content-audio audio{display:block;width:100%;min-width:0;margin:10px 0}.gift-voice-editor>.paper-button{margin-bottom:16px}.gift-coupon-ideas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.gift-coupon-ideas .paper-button{font-size:11px;padding:8px}.gift-content-photo{display:block;width:100%;max-height:180px;object-fit:contain;margin:0 auto 12px}.gift-reveal-letter:has(.gift-content-photo) .gift-reveal-message{max-height:240px}@media(max-width:600px){.gift-reveal-letter:has(.gift-content-photo) .gift-reveal-message{max-height:205px}}.gift-reveal-letter[data-content=coupon]{width:min(440px,98%);padding:0;background:transparent;border:0;box-shadow:none;filter:drop-shadow(0 12px 18px #38271535)}.gift-reveal-letter[data-content=coupon]>.gift-reveal-heart{display:none}.gift-reveal-letter[data-content=coupon] .gift-reveal-message{max-height:300px}.wish-ticket{--stub: 78px;display:grid;grid-template-columns:minmax(0,1fr) var(--stub);min-height:195px;text-align:left;color:#664732;background:#fff6e3;border-radius:5px;-webkit-mask-image:radial-gradient(circle at calc(100% - var(--stub)) 0,transparent 9px,#000 9.5px),radial-gradient(circle at calc(100% - var(--stub)) 100%,transparent 9px,#000 9.5px);mask-image:radial-gradient(circle at calc(100% - var(--stub)) 0,transparent 9px,#000 9.5px),radial-gradient(circle at calc(100% - var(--stub)) 100%,transparent 9px,#000 9.5px);-webkit-mask-composite:source-in;mask-composite:intersect}.wish-ticket-main{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:24px;background:repeating-linear-gradient(0deg,#d3b68b08 0 1px,transparent 1px 4px)}.wish-ticket-kicker{font-size:9px;font-weight:700;letter-spacing:.2em;color:#ad714d}.wish-ticket-title{font-family:var(--display);font-size:clamp(22px,3vw,29px);font-weight:600;line-height:1.15;overflow-wrap:anywhere}.gift-reveal-message .wish-ticket-note{font-size:14px;line-height:1.55}.gift-reveal-message .wish-ticket-signature{margin-top:auto;padding-top:10px;font-size:14px;font-family:var(--display);font-style:italic;color:#967051}.wish-ticket-stub{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;border-left:1px dashed #b89672;padding:22px 7px;background:#eddbbd80;text-align:center}.wish-ticket-seal{display:grid;place-items:center;width:38px;height:38px;border:1px solid #b07852;border-radius:50%;outline:1px solid #b0785250;outline-offset:3px;font-size:25px;color:#a56743;transform:rotate(-12deg)}.wish-ticket-label{font-size:10px;font-weight:700;letter-spacing:.13em;line-height:1.7}.wish-ticket-number{font-family:monospace;font-size:8px;letter-spacing:.03em;color:#997c5c}@media(max-width:600px){.wish-ticket{--stub: 65px}.wish-ticket-main{padding:21px 18px}.gift-reveal-letter[data-content=coupon] .gift-reveal-message{max-height:245px}}.gift-reveal-letter[data-content=song]{width:min(430px,98%);padding:0;border:1px solid #c9b493;background:#fcf2df;box-shadow:4px 5px #e2ceb0,0 15px 32px #35241e35}.gift-reveal-letter[data-content=song]>.gift-reveal-heart{display:none}.gift-reveal-letter[data-content=song] .gift-reveal-message{max-height:310px}.song-sleeve{padding:24px;text-align:left;background:repeating-linear-gradient(0deg,#b78d6207 0 1px,transparent 1px 4px)}.song-sleeve-header{display:grid;grid-template-columns:88px minmax(0,1fr);gap:20px;align-items:center;padding-bottom:20px;border-bottom:1px solid #c8b29580}.song-vinyl{width:88px;height:88px;display:grid;place-items:center;border-radius:50%;background:repeating-radial-gradient(circle,#332d2b 0,#332d2b 2px,#554740,#554740,#302b29 3.5px,#302b29 5px);box-shadow:2px 5px 8px #43362935;position:relative}.song-vinyl:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 20deg,transparent,#fff1d51a 15%,transparent 30%,transparent 55%,#fff1d522 65%,transparent 85%)}.song-vinyl>span{z-index:1;width:36px;height:36px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:#b36950;color:#fff5de;border:1px solid #d39473}.song-vinyl i{font-style:normal;font-size:17px;line-height:1}.song-vinyl small{font-family:monospace;font-size:6px;letter-spacing:.1em}.song-sleeve-title{display:grid;gap:10px;min-width:0}.song-sleeve-title small{font-size:9px;letter-spacing:.18em;color:#a16a4b;font-weight:700}.song-sleeve-title strong{font-family:var(--display);font-size:clamp(22px,3vw,28px);line-height:1.13;overflow-wrap:anywhere;color:#513b2c}.gift-reveal-message .song-sleeve-note{margin-top:17px;font-family:var(--display);font-size:17px;line-height:1.55;color:#6e513d}.gift-reveal-message .song-sleeve-signature{font-size:12px;font-style:italic;color:#967259;margin-top:12px}.song-sleeve-listen{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:12px 15px;border:1px solid #ae7456;border-radius:3px;background:#995d43;color:#fff6e5;text-decoration:none;font-size:12px}.song-sleeve-listen:hover{background:#824a35}@media(max-width:600px){.song-sleeve{padding:20px}.song-sleeve-header{grid-template-columns:72px minmax(0,1fr);gap:14px;padding-bottom:16px}.song-vinyl{width:72px;height:72px}.gift-reveal-letter[data-content=song] .gift-reveal-message{max-height:290px}}.object-details.object-details--gift{grid-template-columns:minmax(160px,.65fr) minmax(0,1.65fr);align-items:start;gap:24px}.object-details--gift .object-preview-panel{min-height:0;position:sticky;top:12px;padding:20px 12px;border:0;box-shadow:none;background:transparent}.object-details--gift .object-preview-panel h3{font-size:23px}.object-details--gift .chosen-object{height:190px;min-height:0;margin:12px 0}.object-details--gift .chosen-object .room-item{width:180px;max-width:100%}.gift-preview-label{margin:0 0 18px;font-size:14px}.gift-preview-hint{margin:12px 0 0;font-size:12px;color:var(--ink-soft)}.object-details--gift .object-form-panel{min-width:0;padding:24px;border-radius:12px;box-shadow:none}.object-details--gift .gift-wrapping-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.object-details--gift .gift-wrapping-picker button{position:relative;padding:8px 4px;min-width:0}.object-details--gift .gift-wrapping-picker img{height:74px;width:100%;object-fit:contain}.object-details--gift .gift-wrapping-picker button[aria-pressed=true]:after{content:"✓";position:absolute;top:5px;right:7px;color:var(--coral-dark)}.object-details--gift .gift-content-editor{padding-top:22px;margin-top:4px;border-top:1px solid #34251f20}.object-details--gift .gift-content-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.object-details--gift .gift-content-picker button{min-height:48px}.object-details--gift label{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;min-width:0}.object-details--gift label>span:first-child{margin-bottom:0;line-height:1.5}.object-details--gift label>small{position:static;display:block;font-family:inherit;font-size:12px;line-height:1.6}.object-details--gift input:not([type=file]),.object-details--gift textarea{width:100%;min-width:0;font-family:inherit;font-size:16px;line-height:1.5}.object-details--gift .message-field{margin-top:8px;padding-bottom:0}.object-details--gift .message-field textarea{min-height:100px;resize:vertical}.object-details--gift .message-field>small{align-self:flex-end}.object-details--gift .object-form-actions{position:sticky;bottom:-24px;z-index:2;margin-top:8px;padding:16px 0 4px;background:#fffaf0}@media(max-width:640px){.object-details.object-details--gift{grid-template-columns:1fr;gap:12px}.object-details--gift .object-preview-panel{position:static;display:grid;grid-template-columns:95px 1fr;gap:5px 16px;text-align:left;padding:0 8px}.object-details--gift .object-preview-panel h3,.object-details--gift .gift-preview-hint{display:none}.object-details--gift .chosen-object{grid-row:1 / 3;width:95px;height:105px;margin:0}.object-details--gift .chosen-object .room-item{width:95px}.object-details--gift .gift-preview-label{margin:12px 0 0}.object-details--gift .object-preview-panel>button{justify-self:start;align-self:start}.object-details--gift .object-form-panel{padding:16px}.object-details--gift .gift-wrapping-picker img{height:66px}.object-details--gift .object-form-actions{bottom:-16px}}.object-categories{position:sticky;top:-1px;z-index:5;display:flex;flex-wrap:wrap;gap:7px;margin-top:20px;padding:12px 0;background:#fbf5e9;border-bottom:1px solid rgba(52,37,31,.16)}.object-categories button{padding:8px 12px;border:1px solid rgba(52,37,31,.22);border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer}.object-categories button[aria-pressed=true]{background:var(--ink);color:#fffaf0;border-color:var(--ink)}.object-categories button:focus-visible,.object-picker button:focus-visible{outline:2px solid var(--coral-dark);outline-offset:3px}.object-group{margin-top:24px}.object-group h3{display:flex;align-items:center;gap:10px;margin:0;font-size:19px}.object-group h3 span{font-family:var(--mono);font-size:11px;font-weight:400;opacity:.6}.object-group .object-picker{margin-top:12px}.items-layer>.item-rug{z-index:-1;min-width:0}.room-item.item-rug,.room-item.item-rug:not(.is-preview):hover,.room-item.item-rug:not(.is-preview):focus-visible{transform:translate(-50%,-50%);filter:drop-shadow(0 1px 1px #665b4026)}.rug-visual{position:relative;display:block;width:100%;aspect-ratio:2 / 1;overflow:visible;pointer-events:none}.rug-visual .rug-texture{position:absolute;left:50%;top:50%;display:block;width:100%;height:auto;max-height:none;transform-origin:50% 50%}.rug-style-picker .rug-visual{width:100%}.google-sign-in{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;margin:20px 0;padding:10px 16px;border:1px solid #747775;border-radius:4px;background:#fff;color:#1f1f1f;font:500 14px Arial,sans-serif;text-decoration:none}.google-sign-in svg{width:20px;height:20px;flex:none}.google-sign-in:hover{background:#f6f8fc}.google-sign-in:focus-visible{outline:3px solid #4285f4;outline-offset:3px}.paywall-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 18px;text-align:left}.paywall-plan{position:relative;display:flex;flex-direction:column;padding:22px 16px 16px;border:1px solid #cbbb9e;border-radius:10px;background:#fffdf6}.paywall-plan--lifetime{border-color:#a45840;background:#fbefe2}.paywall-plan h3{margin:0 0 8px;font-size:22px}.share-card .paywall-price{margin:0;font-size:32px;line-height:1.3}.paywall-price span{font:11px Arial,sans-serif}.share-card .paywall-plan>p:not(.paywall-price){flex:1;font-size:15px;line-height:1.4;margin:12px 0 18px}.paywall-badge{position:absolute;top:-10px;left:12px;padding:3px 9px;border-radius:20px;background:#a45840;color:#fff;font:11px Arial,sans-serif}.paywall-plan .ink-button{padding-inline:8px;font-size:13px}@media(max-width:430px){.paywall-plans{grid-template-columns:1fr;gap:18px}.paywall-plan{padding-top:18px}}@media(max-width:520px){.sound-toggle{width:36px;min-width:36px;height:36px;min-height:36px}}.welcome-note>p.welcome-occasions{max-width:100%;margin:24px auto 0;color:var(--ink-soft);font-size:11px;line-height:1.6;text-align:center;text-wrap:balance}.account-page{min-height:100dvh;background:#f8f5ed;color:#403e35;padding:0 6vw 40px;font-family:inherit}.account-header{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:25px 0;border-bottom:1px solid #ddd9cd}.account-brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit;font-weight:600}.account-brand img{width:40px;height:40px}.account-content{max-width:1080px;margin:0 auto}.account-page a{color:inherit}.account-page .ink-button{color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.account-menu{display:inline-flex;align-items:center}.account-avatar{display:inline-grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;background:#e7eadc;border:1px solid #bec5ac;color:#46523c;font:600 17px Georgia,serif}.account-menu button{cursor:pointer}.account-sign-in{font:inherit;color:inherit;text-decoration:none;border:1px solid #c7c4b6;border-radius:24px;padding:9px 17px;background:#faf8ef}.account-popover{position:fixed;inset:76px 28px auto auto;margin:0;width:min(330px,calc(100vw - 32px));padding:28px 24px 16px;border:1px solid #d8d2c3;border-radius:18px;background:#fffdf6;color:#403e35;box-shadow:0 18px 70px #302b2126}.account-popover::backdrop{background:#302b2115}.account-close{position:absolute;right:8px;top:4px;border:0;background:none;font-size:25px;color:#696353}.account-person{display:flex;gap:12px;align-items:center;padding-right:6px}.account-person strong{display:block}.account-person small{display:block;overflow-wrap:anywhere;color:#817b6e;margin-top:5px;font-size:12px}.account-plan{font-size:13px;color:#596548;background:#edf0e5;border-radius:8px;padding:10px 12px}.account-upgrade{display:block;color:#4a573e;margin:16px 0;text-decoration:none;font-weight:600}.account-popover nav{border-block:1px solid #e5e0d4;padding:8px 0}.account-popover nav a{display:flex;justify-content:space-between;padding:12px 0;text-decoration:none;color:inherit}.account-logout{padding:16px 0 4px;border:0;background:none;color:#827065;font:inherit}.account-tabs{display:flex;gap:30px;padding:27px 0 12px}.account-tabs a{text-decoration:none;padding:8px 0;color:#8a8375}.account-tabs a[aria-current]{color:#46523c;border-bottom:2px solid #46523c}.account-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:40px 0 30px}.account-heading h1,.account-lifetime h1,.account-empty h1{font:400 clamp(36px,5vw,58px)/1.12 Georgia,serif;margin:10px 0 15px}.account-heading h1 span{color:#899472}.account-heading p,.account-lifetime p{color:#827b6b;line-height:1.7}.account-filters{display:flex;gap:8px;align-items:center;margin:30px 0 24px}.account-filters button{border:1px solid transparent;border-radius:30px;background:transparent;color:#716b5f;padding:9px 17px;font:inherit;cursor:pointer}.account-filters button[aria-pressed=true]{background:#e7eadf;border-color:#d4dac7;color:#4b593e}.account-filters>span{margin-left:auto;color:#898373;font-size:13px}.account-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.account-room-card{border:1px solid #e1dbce;border-radius:13px;overflow:hidden;background:#fffdf7}.account-room-cover{display:flex;min-height:175px;background:radial-gradient(ellipse at 50% 80%,#d8d9be55,transparent 70%),#eeeade;align-items:center;justify-content:center;flex-direction:column;gap:18px;text-decoration:none}.account-room-cover img{width:70px;height:70px;object-fit:contain}.account-room-cover span{letter-spacing:2px;font-size:11px;overflow-wrap:anywhere;text-align:center;padding:0 12px}.account-room-details{padding:20px}.account-room-status{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#788366}.account-room-details h2{font:400 22px/1.25 Georgia,serif;overflow-wrap:anywhere;margin:15px 0 8px}.account-room-details p{font-size:12px;color:#8a8376;line-height:1.6}.account-room-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;font-size:12px}.account-room-links a{text-underline-offset:4px}.account-empty{text-align:center;border:1px dashed #d5cfbf;padding:65px 20px;border-radius:14px;margin:35px 0}.account-empty h2{font:400 28px Georgia,serif}.account-empty p{color:#817b6c;line-height:1.7}.account-text-link{display:inline-block;margin-top:15px;text-underline-offset:5px}.account-footer{text-align:center;font:italic 15px Georgia,serif;color:#96907e;margin-top:70px}.account-purchases{background:#fffdf7;border:1px solid #ded8c9;border-radius:14px;overflow:hidden}.account-purchase{display:flex;justify-content:space-between;gap:20px;padding:24px;border-bottom:1px solid #e9e3d6}.account-purchase:last-child{border:0}.account-purchase h2{font:400 22px Georgia,serif;margin:0 0 8px}.account-purchase p,.account-purchase small,.account-muted{color:#81796a;font-size:13px;line-height:1.6}.account-purchase>div:last-child{text-align:right;min-width:100px}.account-purchase span{display:block;font-size:12px;color:#748061;margin-top:12px}.account-lifetime{text-align:center;max-width:680px;margin:55px auto;padding:40px 24px;border:1px solid #d8decb;border-radius:18px;background:#eef0e6}.account-lifetime .account-price{font:40px Georgia,serif;color:#435039;margin:30px 0 12px}.account-price small{font:13px sans-serif}.account-lifetime .ink-button{margin-top:16px}.account-notice{padding:16px;background:#e8eddc;border-radius:8px}.account-page button:focus-visible,.account-page a:focus-visible,.account-menu button:focus-visible,.account-popover a:focus-visible{outline:2px solid #697950;outline-offset:4px}.account-page button:disabled{opacity:.6;cursor:wait}@media(max-width:800px){.account-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-heading{align-items:flex-start;flex-direction:column}.account-page{padding-inline:22px}}@media(max-width:520px){.account-popover{inset:auto 12px 12px;width:auto;max-width:none;border-radius:22px;padding:32px 24px 20px}.account-room-grid{grid-template-columns:1fr}.account-heading{margin-top:28px}.account-tabs{gap:25px}.account-filters{gap:0}.account-filters button{padding:8px 12px;font-size:13px}.account-header{padding:19px 0}.account-lifetime{padding:30px 18px}.account-purchase{padding:20px 16px}.account-avatar{width:36px;height:36px}.account-page .account-muted{font-size:12px}}.account-room-cover{position:relative}.account-room-cover img.account-cover-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.account-room-cover:has(.account-cover-photo) span{position:relative;background:#fffdf1e8;border-radius:6px;padding:7px 12px;margin-top:100px}.account-tabs a{white-space:nowrap}@media(max-width:1000px){.room-stage.is-room .visitor-count{display:none}}@media(max-width:700px){.room-stage.is-room .room-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.room-stage.is-room .room-identity{max-width:100%;overflow:hidden}.room-stage.is-room .room-title-button,.room-stage.is-room .room-title-copy{min-width:0}.room-stage.is-room .room-name-line strong,.room-stage.is-room .room-title-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-stage.is-room .header-actions{gap:6px}}.account-page{height:100dvh;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain}.account-popover{max-height:calc(100dvh - 100px);overflow-y:auto}@media(max-width:520px){.account-popover{max-height:calc(100dvh - 24px)}}.account-popover{width:min(316px,calc(100vw - 24px));padding:23px 16px 10px;border:1px solid #e3d9c6;border-radius:16px;background:linear-gradient(145deg,#fffdf6,#faf6eb);box-shadow:0 4px 8px #45321e08,0 18px 45px #45321e26,inset 0 1px #fff;font-size:14px}.account-popover::backdrop{background:#33291b08}.account-popover .account-close{display:grid;place-items:center;top:8px;right:8px;width:28px;height:28px;padding:0;border-radius:50%;font:20px/1 var(--sans);color:#948b7b}.account-close:hover{background:#eee7d9;color:#4b4438}.account-popover .account-person{gap:12px;padding:0 22px 0 6px}.account-person>div{min-width:0}.account-popover .account-person .account-avatar{width:44px;height:44px;border-color:#cdd1bb;background:#e9ecde;box-shadow:inset 0 0 0 3px #f9faf2;font-size:19px}.account-popover .account-person strong{font-size:15px;font-weight:600;letter-spacing:-.2px}.account-popover .account-person small{font-size:11px;margin-top:3px;line-height:1.5}.account-menu-status{display:flex;align-items:center;gap:7px;margin:13px 6px 17px;color:#817c6b;font-size:11px}.account-menu-status>span{width:5px;height:5px;border-radius:50%;background:#929f7d;flex-shrink:0}.account-popover .account-upgrade{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:13px 12px;border:1px solid #dfdfc9;border-radius:10px;color:#536144;background:linear-gradient(110deg,#edf0e1,#f4f3e6);font-weight:400;transition:border-color .15s,background .15s}.account-upgrade:hover{border-color:#a9b18e;background:#e8eddb}.account-upgrade-star{font:32px/1 Georgia,serif;color:#819365}.account-upgrade strong{display:block;font:600 13px/1.4 var(--sans)}.account-upgrade small{display:block;margin-top:3px;font-size:10px;color:#7c856d}.account-upgrade>span:last-child{margin-left:auto;font-size:19px}.account-popover nav{border:0;padding:0 0 8px}.account-popover nav a{align-items:center;justify-content:flex-start;gap:12px;min-height:44px;padding:10px 12px;border-radius:8px;transition:background .15s}.account-popover nav a:hover{background:#eee9dc}.account-popover svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:#8b8877;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.account-popover .account-menu-chevron{margin-left:auto;color:#a29b8a;font:20px/1 Georgia,serif}.account-popover .account-logout{display:flex;align-items:center;gap:12px;width:100%;padding:13px 12px 7px;border-top:1px solid #e8e1d2;color:#94816f;font-size:12px;text-align:left}.account-logout:hover{color:#674f40}.account-logout:disabled{opacity:.5;cursor:wait}@media(max-width:520px){.account-popover{inset:auto 12px 12px;width:auto;padding:24px 18px 16px;border-radius:18px}.account-popover nav a{min-height:48px}}
