.door .wreath{left:50%;top:25%;width:74%;background:conic-gradient(from 10deg,#5b6e4f,#7f9667,#4f6345,#8aa071,#5b6e4f,#7f9667,#4f6345,#8aa071,#5b6e4f);-webkit-mask:radial-gradient(circle,transparent 46%,#000 48%,#000 70%,transparent 72%);mask:radial-gradient(circle,transparent 46%,#000 48%,#000 70%,transparent 72%)}.door .bow{position:absolute;left:50%;top:41%;transform:translateX(-50%);width:26%;height:6%;background:var(--gold);border-radius:40%}.lamp-glow{left:58.6%;top:46%;width:22%;background:radial-gradient(circle,rgba(255,214,140,calc(.2 + var(--night,0)*.55)),rgba(255,214,140,0) 65%);pointer-events:none;animation:glow 3s ease-in-out infinite}.win-glow{fill:rgba(255,206,130,calc(var(--night,0)*.55));mix-blend-mode:screen}.fern{transform-box:fill-box;transform-origin:50%0;animation:fernsway 5s ease-in-out infinite}.fern.b{animation-duration:6.2s;animation-delay:-2s}.scroll-cue{position:absolute;left:60%;top:16%;z-index:5;font-family:var(--hand);font-size:clamp(20px,1.9vw,27px);color:var(--fern-dk);transition:opacity .3s;pointer-events:none;white-space:nowrap}.scroll-cue svg{position:absolute;left:-46px;top:20px;width:70px;height:120px;overflow:visible}.scroll-cue path{fill:none;stroke:var(--fern-dk);stroke-width:2;stroke-linecap:round;stroke-dasharray:4 5;animation:dash 1.6s linear infinite}.lawn{position:absolute;left:0;right:0;bottom:0;height:7vh;z-index:3;background:linear-gradient(#8fa27a,#7e9269);border-radius:50% 50%0 0/14px 14px 0 0}.welcome,.welcome .bg{position:absolute;inset:0}.welcome{z-index:8;pointer-events:none;opacity:0;display:grid;place-items:center;text-align:center;color:var(--board)}.welcome .bg{background-size:cover;background-position:center 60%}.welcome .bg::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 70%at 50% 55%,rgba(40,28,14,.15),rgba(30,20,10,.6))}.welcome .t{position:relative;padding:0 20px}.welcome .t .hand{font-size:clamp(30px,3vw,44px);color:var(--gold-lt)}.room-panel h3,.welcome h2{font-weight:400;font-variation-settings:"SOFT"100,"WONK"1,"opsz"144}.welcome h2{font-size:clamp(44px,6.5vw,96px);line-height:1;letter-spacing:-.03em;margin-top:8px;text-shadow:0 4px 40px rgba(0,0,0,.35)}.rooms{background:var(--board)}.rooms-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:46px}.rooms-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,5vw,70px);align-items:start}.doll{position:relative;width:100%;aspect-ratio:700/640}.doll svg{width:100%;height:100%;overflow:visible}.room{cursor:pointer}.room image{filter:brightness(.55) saturate(.7);transition:filter .6s var(--ease)}.room .glow{fill:transparent;transition:fill .6s}.room .lbl{font-family:var(--hand);font-size:26px;fill:var(--board);font-weight:600;paint-order:stroke;stroke:rgba(30,22,14,.55);stroke-width:4px;transition:fill .3s}.room.on image,.room:hover image{filter:brightness(1) saturate(1)}.room.on .glow{fill:rgba(255,210,140,.12)}.room.on .frame{stroke:var(--gold);stroke-width:5}.room .frame{fill:none;stroke:#e9dfc7;stroke-width:4;transition:stroke .3s}.room-panel{position:sticky;top:110px}.room-panel .hand{font-size:30px;color:var(--teal)}.room-panel h3{font-size:clamp(34px,3.6vw,52px);line-height:1.05;letter-spacing:-.02em;color:var(--fern-dk);margin:4px 0 10px}.room-panel p{color:var(--muted);max-width:46ch}.room-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:26px 0}.room-items .pc{animation:pop .6s var(--ease) both}.room-items .pc:nth-child(2){animation-delay:.07s}.room-items .pc:nth-child(3){animation-delay:.14s}.room-items .pc:nth-child(4){animation-delay:.21s}.room-tabs{display:none}.pc,.pc-m{position:relative}.pc{display:block}.pc-m{aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:var(--linen)}.pc-m img,.tag{position:absolute}.pc-m img{inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s,transform 1.2s var(--ease)}.pc:hover .pc-m img.a{transform:scale(1.04)}.tag{right:12px;top:-6px;z-index:2;background:#e9d3a8;color:var(--bark);font-family:var(--hand);font-size:22px;font-weight:700;padding:16px 12px 6px;clip-path:polygon(50%0,100% 14px,100% 100%,0 100%,0 14px);transform-origin:50%0;transform:rotate(4deg);transition:transform .6s var(--ease);box-shadow:0 6px 10px -6px rgba(0,0,0,.4)}.tag::before{left:50%;top:6px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--board);box-shadow:inset 0 1px 1px rgba(0,0,0,.3)}.cline::before,.tag::after,.tag::before{content:"";position:absolute}.tag::after{left:50%;top:-40px;width:1px;height:46px;background:#9c8565}.pc:hover .tag{transform:rotate(-5deg)}.pc-i{padding:12px 2px 0}.pc-i h4{font-weight:500;font-size:17px;line-height:1.3;color:var(--ink)}.pc-i small,.qa{font-size:14px;color:var(--muted)}.qa{position:absolute;left:10px;right:10px;bottom:10px;height:44px;border-radius:999px;background:rgba(251,246,233,.94);color:var(--fern-dk);font-weight:600;transform:translateY(130%);transition:transform .5s var(--ease),background .3s,color .3s;z-index:2;display:flex;align-items:center;justify-content:center}.pc:hover .qa{transform:none}.arrow:hover,.hot .pop .row .a1,.qa:hover{background:var(--fern);color:var(--board)}.line-sec{background:linear-gradient(var(--butter),#f2e6cb);overflow:hidden}.line-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:40px}.line-ctrl{display:flex;gap:10px}.arrow{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--fern);color:var(--fern);display:grid;place-items:center;transition:all .3s;font-size:20px}.cline{position:relative}.cline::before{left:-10vw;right:-10vw;top:12px;height:2px;background:#8e7656;box-shadow:0 2px 2px rgba(0,0,0,.12)}.cline-track{display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 0 30px;cursor:grab}.cline-track::-webkit-scrollbar{display:none}.pola{flex:0 0 clamp(220px,22vw,290px);scroll-snap-align:start;position:relative;padding-top:6px;transform-origin:50%0;animation:sway 6s ease-in-out infinite}.pola:nth-child(2n){animation-delay:-2s}.pola:nth-child(3n){animation-delay:-4s;animation-duration:7s}.pin{position:absolute;left:50%;top:-2px;width:14px;height:42px;margin-left:-7px;z-index:3;background:linear-gradient(90deg,#c9a57a,#e2c49c 50%,#b98f62);border-radius:3px;box-shadow:0 2px 3px rgba(0,0,0,.25)}.pin::after{content:"";position:absolute;left:3px;right:3px;top:18px;height:3px;background:#9a7a55;border-radius:2px}.pola-in{background:var(--board);padding:12px 12px 16px;box-shadow:0 18px 30px -18px rgba(60,40,20,.45),0 2px 4px rgba(60,40,20,.08);margin-top:18px}.pola .pc-m{border-radius:2px;aspect-ratio:1}.pola .cap{font-family:var(--hand);font-size:24px;color:var(--ink);margin-top:10px;line-height:1.1}.pola .pr{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:15px;color:var(--muted)}.pola .pr b{color:var(--fern-dk);font-weight:600;font-size:17px}.pola .add{width:40px;height:40px;border-radius:50%;background:var(--fern);color:var(--board);font-size:22px;line-height:1;display:grid;place-items:center;transition:transform .4s var(--ease)}.pola .add:hover{transform:rotate(90deg)}.day{position:relative;height:320vh}.day-stick{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--dsky,#F6E3BD);transition:background .8s linear;color:var(--dink,var(--fern-dk))}.day-sky{position:absolute;inset:0;pointer-events:none}.day-moon,.day-sun{position:absolute;border-radius:50%;transform:translate(-50%,-50%)}.day-sun{width:90px;height:90px;background:radial-gradient(circle,#fff4d6 0,#f5c66a 55%,rgba(245,198,106,0) 72%)}.day-moon{width:64px;height:64px;background:radial-gradient(circle at 35% 35%,#fffbea,#e9e1c8);box-shadow:0 0 40px rgba(255,248,220,.4);opacity:0}.day-clock,.day-head{position:absolute;z-index:3}.day-head{left:clamp(18px,4vw,56px);top:clamp(96px,13vh,124px);max-width:600px}.day-head .h2{color:inherit;font-size:clamp(34px,3.6vw,54px)}.day-clock{right:clamp(18px,4vw,56px);top:clamp(96px,12vh,136px);text-align:right}.day-clock b{display:block;font-weight:300;font-size:clamp(50px,6vw,92px);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-variation-settings:"SOFT"100,"opsz"144}.day-clock span,.mom-ph .t{font-family:var(--hand);font-size:28px}.day-track{position:absolute;left:0;bottom:clamp(26px,5vh,56px);display:flex;gap:clamp(24px,3vw,44px);padding-left:46vw;will-change:transform;z-index:2}.mom{flex:0 0 clamp(280px,25vw,370px);display:grid;grid-template-columns:1fr;gap:10px}.mom-ph{position:relative;aspect-ratio:16/10;border-radius:18px;overflow:hidden;box-shadow:0 30px 50px -30px rgba(0,0,0,.45)}.chip img,.deck .card img,.mom-ph img,.sw button img{width:100%;height:100%;object-fit:cover}.mom-ph .t{position:absolute;left:14px;top:12px;font-size:26px;font-weight:700;padding:2px 12px 4px;border-radius:8px;transform:rotate(-3deg)}.mom h3,.spot h2{font-weight:400;font-size:clamp(22px,1.9vw,28px);line-height:1.1;letter-spacing:-.01em}.mom p{font-size:14.5px;line-height:1.5;opacity:.82;max-width:46ch}.mom-shop{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.chip,.mom-ph .t{color:var(--fern-dk)}.chip{display:inline-flex;align-items:center;gap:10px;padding:5px 14px 5px 5px;border-radius:999px;background:rgba(255,252,244,.82);font-size:14px;transition:background .3s}.chip:hover,.mom-ph .t{background:var(--board)}.chip img{width:34px;height:34px;border-radius:50%}.chip b{font-weight:600}.fire-sec{background:radial-gradient(90% 90%at 25% 60%,#4a2f1f 0,#2a1d15 55%,#1c1511 100%);color:var(--butter);overflow:hidden}.fire-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center}.hearth{position:relative;aspect-ratio:1/1;max-width:560px;width:100%;margin:0 auto}.hearth svg,.spot-ph img{width:100%;height:100%}.flame.f2{animation-duration:.9s;animation-delay:-.3s}.flame.f3{animation-duration:1.5s;animation-delay:-.6s}.flame.f4{animation-duration:1.05s;animation-delay:-.2s}.ember{position:absolute;width:4px;height:4px;border-radius:50%;background:#ffb45e;box-shadow:0 0 8px #ff9a3c;bottom:34%;left:50%;animation:ember 3.4s linear infinite;opacity:0}.fireglow{position:absolute;inset:-20%;background:radial-gradient(40% 35%at 50% 70%,rgba(255,150,60,.28),transparent 70%);animation:fg 2.2s ease-in-out infinite alternate;pointer-events:none}.spot{position:relative}.spot .hand{font-size:30px;color:var(--gold-lt)}.spot h2{font-size:clamp(38px,4.6vw,66px);line-height:1.02;letter-spacing:-.02em;margin:8px 0 14px;font-variation-settings:"SOFT"100,"WONK"1,"opsz"144}.spot p{opacity:.8;max-width:46ch}.spot-card{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center;margin-top:30px;padding:14px;border-radius:20px;background:rgba(255,248,232,.06);border:1px solid rgba(235,203,134,.22)}.spot-ph{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden}.spot-ph img{position:absolute;inset:0;object-fit:cover;transition:opacity .5s}.spot-ph::after{content:"";position:absolute;inset:0;background:radial-gradient(90% 80%at 20% 100%,rgba(255,150,60,.3),transparent 60%);mix-blend-mode:screen;animation:fg 1.8s ease-in-out infinite alternate}.sw{display:flex;gap:8px;margin:10px 0 14px}.sw button{width:36px;height:36px;border-radius:50%;overflow:hidden;border:2px solid transparent;transition:border-color .3s,transform .3s}.sw button.on{border-color:var(--gold-lt);transform:scale(1.08)}.price-l{font-size:24px}.price-l small{font-size:15px;opacity:.7}.gift{background:var(--board)}.gift-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(30px,5vw,80px);align-items:center}.basket-stage{position:relative;max-width:520px;width:100%;margin:0 auto;aspect-ratio:1/1}.basket-stage svg{position:absolute;left:0;right:0;bottom:0;width:100%;z-index:2}.basket-stage .back{z-index:0}.in-basket{position:absolute;left:16%;right:16%;bottom:44%;height:34%;z-index:1}.gp img,.in-basket img{aspect-ratio:1;object-fit:cover}.in-basket img{position:absolute;width:36%;border-radius:12px;box-shadow:0 10px 20px -10px rgba(0,0,0,.5);border:4px solid var(--board);animation:drop .8s var(--ease) both}.gtag{position:absolute;right:4%;top:22%;z-index:3;background:#f1e2c0;padding:14px 18px 12px 26px;clip-path:polygon(16px 0,100%0,100% 100%,16px 100%,0 50%);transform:rotate(8deg);box-shadow:0 8px 12px -8px rgba(0,0,0,.35);min-width:150px}.gp.on::after,.gtag::before{position:absolute;border-radius:50%}.gtag::before{content:"";left:12px;top:50%;width:7px;height:7px;margin-top:-3px;background:var(--board)}.gtag input,.gtag label{font-family:var(--hand);font-size:20px;color:var(--bark)}.gtag input{display:block;border:0;border-bottom:1px dashed #a48a62;background:0 0;font-size:28px;color:var(--fern-dk);width:130px;outline:0}.gift-picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:26px 0}.gp{position:relative;text-align:left;border-radius:14px;padding:8px;border:1.5px solid var(--line);background:var(--butter);transition:border-color .3s,transform .3s}.gp:hover{transform:translateY(-3px)}.gp img{width:100%;border-radius:9px}.gp b{display:block;font-weight:500;font-size:13px;line-height:1.25;margin-top:6px}.gp small{font-size:13px;color:var(--muted)}.gp.on{border-color:var(--fern);background:#eef0e6}.gp.on::after{content:"✓";top:2px;right:2px;width:26px;height:26px;background:var(--fern);color:var(--board);display:grid;place-items:center;font-size:14px}.gift-sum{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:20px;border-top:1px dashed var(--line)}.gift-sum .tot{font-size:30px;color:var(--fern-dk)}.gift-sum .tot small{display:block;font-size:14px;color:var(--muted)}.chalk-sec{background:linear-gradient(#f2e6cb,var(--butter))}.chalk-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,70px);align-items:center}.board{position:relative;border-radius:10px;padding:clamp(28px,4vw,54px);background:radial-gradient(120% 100%at 30% 20%,#3c4a40,#26302a);color:#f2eee4;border:16px solid #8b6845;box-shadow:inset 0 0 60px rgba(0,0,0,.45),0 30px 50px -30px rgba(60,40,20,.6);font-family:var(--hand)}.board::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 40%at 70% 80%,rgba(255,255,255,.05),transparent);pointer-events:none}.board h3{font-size:clamp(38px,4vw,58px);font-weight:700;line-height:1;color:#fff7e6}