:root{
  --db-top:#fffaf7;--db-mid:#f9efef;--db-bottom:#eef5f5;
  --db-glow-1:rgba(244,151,174,.22);--db-glow-2:rgba(255,199,162,.18);--db-glow-3:rgba(170,210,218,.16);
  --db-speed:1;--db-opacity:1;
}
html{background:#f8efeb}
body{position:relative;isolation:isolate;background:transparent!important;transition:color .8s ease}
.dynamic-background{position:fixed;inset:0;z-index:-10;overflow:hidden;pointer-events:none;opacity:var(--db-opacity);background:linear-gradient(160deg,var(--db-top) 0%,var(--db-mid) 48%,var(--db-bottom) 100%);transition:background 1.6s ease,opacity .6s ease;contain:layout paint style}
.dynamic-background::before{content:"";position:absolute;inset:-24%;background:radial-gradient(circle at 15% 18%,var(--db-glow-1),transparent 28%),radial-gradient(circle at 84% 20%,var(--db-glow-2),transparent 27%),radial-gradient(circle at 54% 95%,var(--db-glow-3),transparent 34%);filter:blur(8px);animation:dbAurora calc(24s / var(--db-speed)) ease-in-out infinite alternate}
.db-clouds,.db-lights,.db-stars,.db-weather,.db-landscape,.db-silhouette,.db-heart-field,.db-ribbon{position:absolute;inset:0;pointer-events:none}
.db-clouds{opacity:.28;filter:blur(22px);background:radial-gradient(ellipse at 12% 20%,rgba(255,255,255,.85) 0 7%,transparent 17%),radial-gradient(ellipse at 42% 12%,rgba(255,255,255,.54) 0 8%,transparent 19%),radial-gradient(ellipse at 82% 27%,rgba(255,255,255,.62) 0 9%,transparent 21%);animation:dbClouds calc(72s / var(--db-speed)) linear infinite}
.db-lights{opacity:.26;background-image:radial-gradient(circle,rgba(255,255,255,.9) 0 1px,transparent 2px),radial-gradient(circle,rgba(255,222,183,.72) 0 1.2px,transparent 2.2px);background-size:170px 170px,230px 230px;background-position:0 0,35px 40px;animation:dbTwinkle calc(8s / var(--db-speed)) ease-in-out infinite alternate}
.db-stars{opacity:0;background-image:radial-gradient(circle,rgba(255,255,255,.9) 0 1px,transparent 1.8px),radial-gradient(circle,rgba(255,220,170,.75) 0 1px,transparent 2px);background-size:70px 70px,110px 110px;animation:dbTwinkle calc(6s / var(--db-speed)) ease-in-out infinite alternate}
.db-ribbon{opacity:.14;background:linear-gradient(115deg,transparent 0 32%,rgba(255,255,255,.4) 38%,transparent 46%);transform:translateX(-55%);animation:dbRibbon calc(28s / var(--db-speed)) ease-in-out infinite}
.db-heart-field{overflow:hidden}
.db-heart{--size:28px;--left:10%;--delay:0s;--duration:26s;--drift:30px;position:absolute;left:var(--left);bottom:-90px;width:var(--size);height:var(--size);opacity:.24;filter:drop-shadow(0 8px 14px rgba(194,95,125,.08));animation:dbHeartRise calc(var(--duration) / var(--db-speed)) linear var(--delay) infinite}
.db-heart svg{display:block;width:100%;height:100%;overflow:visible}.db-heart path{fill:rgba(236,130,160,.55)}
.db-heart:nth-child(3n) path{fill:rgba(244,174,145,.48)}.db-heart:nth-child(4n) path{fill:rgba(205,147,188,.44)}
.db-silhouette{top:auto;height:31vh;min-height:210px;opacity:.09;background:linear-gradient(to top,rgba(106,78,91,.65),transparent 72%);clip-path:polygon(0 100%,0 75%,7% 75%,7% 58%,12% 58%,12% 73%,20% 73%,20% 49%,27% 49%,27% 72%,36% 72%,36% 62%,43% 62%,43% 73%,47% 73%,48.3% 35%,49.2% 35%,50% 13%,50.8% 35%,51.7% 35%,53% 73%,62% 73%,62% 56%,70% 56%,70% 72%,78% 72%,78% 48%,86% 48%,86% 73%,93% 73%,93% 61%,100% 61%,100% 100%)}
.db-landscape{opacity:0;top:auto;height:34vh;background:linear-gradient(166deg,transparent 0 45%,rgba(141,170,139,.12) 45% 54%,transparent 54%),linear-gradient(190deg,transparent 0 57%,rgba(104,139,117,.1) 57% 67%,transparent 67%);background-size:145% 100%;animation:dbRoad calc(18s / var(--db-speed)) linear infinite}
.db-weather{opacity:0;background-image:repeating-linear-gradient(112deg,transparent 0 20px,rgba(116,153,176,.11) 21px 22px,transparent 23px 43px);background-size:180% 180%;animation:dbRain calc(2.8s / var(--db-speed)) linear infinite}
body[data-bg-scene="pretrip"]{--db-top:#fffaf7;--db-mid:#f9eded;--db-bottom:#eef5f5;--db-glow-1:rgba(245,145,173,.25);--db-glow-2:rgba(255,202,163,.2);--db-glow-3:rgba(171,213,222,.15)}
body[data-bg-scene="road"]{--db-top:#fff8f1;--db-mid:#f4eee7;--db-bottom:#e8f0ea;--db-glow-1:rgba(237,177,145,.2);--db-glow-2:rgba(132,181,166,.16)}body[data-bg-scene="road"] .db-landscape{opacity:.62}
body[data-bg-scene="paris-day"]{--db-top:#fff9f2;--db-mid:#f8eeee;--db-bottom:#eaf2f4;--db-glow-1:rgba(245,150,169,.22);--db-glow-2:rgba(255,198,151,.18);--db-glow-3:rgba(119,182,199,.16)}
body[data-bg-scene="hotel"]{--db-top:#fffaf6;--db-mid:#f8eeee;--db-bottom:#f0e8e5}
body[data-bg-scene="seine"]{--db-top:#fbfdfd;--db-mid:#f6eef1;--db-bottom:#dfeef2;--db-glow-3:rgba(106,184,208,.22)}
body[data-bg-scene="disney"]{--db-top:#fff5fb;--db-mid:#f4eafb;--db-bottom:#e7ecff;--db-glow-1:rgba(235,130,194,.27);--db-glow-3:rgba(139,147,229,.2)}body[data-bg-scene="disney"] .db-lights{opacity:.62}
body[data-bg-scene="night"]{--db-top:#211d38;--db-mid:#3d2e48;--db-bottom:#5b3d54;--db-glow-1:rgba(154,103,195,.28);--db-glow-2:rgba(245,160,139,.18);--db-glow-3:rgba(93,101,159,.2)}body[data-bg-scene="night"] .db-stars{opacity:.72}body[data-bg-scene="night"] .db-clouds{opacity:.08}body[data-bg-scene="night"] .db-heart{opacity:.15}body[data-bg-scene="night"] .db-silhouette{opacity:.16}
body[data-bg-scene="after"]{--db-top:#fff9f4;--db-mid:#f4e8e9;--db-bottom:#ece4e3}
body[data-bg-weather="rain"] .db-weather{opacity:.38}body[data-bg-weather="rain"] .db-clouds{opacity:.5}body[data-bg-weather="cloudy"] .db-clouds{opacity:.5}
body[data-bg-mode="quiet"]{--db-speed:.48}.dynamic-background[data-mode="quiet"] .db-heart:nth-child(n+7){display:none}.dynamic-background[data-mode="quiet"] .db-lights{opacity:.12}.dynamic-background[data-mode="quiet"] .db-ribbon{opacity:.06}
body[data-bg-mode="off"] .dynamic-background{opacity:0}body[data-bg-mode="off"]{background:linear-gradient(180deg,#fffaf6,#f7eeeb)!important}
body.ambient-on[data-bg-mode="auto"]{--db-speed:1.12}
.dynamic-background-settings{position:relative;z-index:2;margin-top:15px;padding-top:14px;border-top:1px solid rgba(84,58,70,.1)}.dynamic-background-settings>span{display:block;margin-bottom:8px;color:#6c5861;font-size:12px;font-weight:900}.dynamic-background-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px;border-radius:14px;background:#f4edef}.dynamic-background-options button{position:relative;z-index:3;border:0;border-radius:10px;padding:9px 5px;background:transparent;color:#745f68;font:800 11px/1.2 Inter,system-ui,sans-serif;cursor:pointer;pointer-events:auto;touch-action:manipulation}.dynamic-background-options button.is-active{background:#fff;color:#4a3540;box-shadow:0 5px 14px rgba(66,42,53,.11)}.dynamic-background-hint{display:block;margin-top:7px;color:#8b7880;font-size:10.5px;line-height:1.4}
@keyframes dbAurora{to{transform:translate3d(5%,3%,0) scale(1.07)}}@keyframes dbClouds{to{transform:translate3d(18%,2%,0)}}@keyframes dbTwinkle{to{opacity:.48;transform:translateY(-5px)}}@keyframes dbRibbon{0%,100%{transform:translateX(-60%)}50%{transform:translateX(80%)}}@keyframes dbHeartRise{0%{transform:translate3d(0,0,0) rotate(-8deg) scale(.85);opacity:0}10%{opacity:.22}50%{transform:translate3d(var(--drift),-52vh,0) rotate(7deg) scale(1)}90%{opacity:.18}100%{transform:translate3d(calc(var(--drift) * -.35),-112vh,0) rotate(-5deg) scale(1.08);opacity:0}}@keyframes dbRoad{to{background-position:-145% 0}}@keyframes dbRain{to{background-position:-100px 180px}}
@media(max-width:700px){.db-silhouette{height:25vh;min-height:170px}.dynamic-background::before{inset:-38%}.db-heart{opacity:.2}.db-heart:nth-child(n+10){display:none}.dynamic-background-options button{padding:10px 3px}}
@media(prefers-reduced-motion:reduce){:root{--db-speed:.01}.dynamic-background *,.dynamic-background::before{animation:none!important}.dynamic-background{transition:none}.db-heart{display:none!important}}
