:root{
  --accent:#ff5f9f;
  --accent-2:#8b70ff;
  --theme-bg-1:#100916;
  --theme-bg-2:#2b112a;
  --theme-surface:#211326;
  --light-bg-1:#fff8fb;
  --light-bg-2:#f4edff;
  --light-surface:#fff;
  --glow:#ffd4e6;
  --font-display:'Instrument Serif',Georgia,serif;
  --font-body:'Manrope',Arial,sans-serif;
  --font-scale:1;
  --glass-alpha:.7;
  --heading-weight:400;
  --heading-tracking:-.035em;
  --motion:.85;
  --radius-xl:40px;
  --radius-lg:28px;
  --radius-md:20px;
  --ease:cubic-bezier(.2,.78,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#08080c}
body{
  --bg-1:var(--theme-bg-1);
  --bg-2:var(--theme-bg-2);
  --surface:var(--theme-surface);
  --text:#f7f4f6;
  --muted:rgba(247,244,246,.64);
  --soft:rgba(255,255,255,.055);
  --line:rgba(255,255,255,.11);
  --line-strong:rgba(255,255,255,.2);
  --shadow:0 38px 120px rgba(0,0,0,.34);
  margin:0;min-height:100vh;overflow-x:hidden;color:var(--text);
  background:
    radial-gradient(circle at 15% 2%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 27%),
    radial-gradient(circle at 86% 18%,color-mix(in srgb,var(--accent-2) 16%,transparent),transparent 30%),
    linear-gradient(150deg,var(--bg-1),var(--bg-2));
  background-attachment:fixed;font-family:var(--font-body);font-size:calc(16px * var(--font-scale));line-height:1.65;
  text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;
}
body[data-appearance="light"]{
  --bg-1:var(--light-bg-1);--bg-2:var(--light-bg-2);--surface:var(--light-surface);
  --text:#17141b;--muted:rgba(23,20,27,.62);--soft:rgba(20,17,27,.045);--line:rgba(24,20,30,.1);--line-strong:rgba(24,20,30,.18);--shadow:0 38px 110px rgba(64,44,75,.13);
  color-scheme:light;
}
@media(prefers-color-scheme:light){body[data-appearance="auto"]{--bg-1:var(--light-bg-1);--bg-2:var(--light-bg-2);--surface:var(--light-surface);--text:#17141b;--muted:rgba(23,20,27,.62);--soft:rgba(20,17,27,.045);--line:rgba(24,20,30,.1);--line-strong:rgba(24,20,30,.18);--shadow:0 38px 110px rgba(64,44,75,.13);color-scheme:light}}
button,input,textarea,select{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}p{margin:0 0 1rem}h1,h2,h3{font-family:var(--font-display);font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);line-height:.96;text-wrap:balance;margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::selection{background:color-mix(in srgb,var(--accent) 42%,transparent)}
.page-noise{position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.09;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E")}.cursor-glow{position:fixed;left:0;top:0;width:420px;height:420px;border-radius:50%;z-index:-1;pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 16%,transparent),transparent 68%);filter:blur(14px)}#confettiCanvas{position:fixed;inset:0;z-index:2500;pointer-events:none}.reading-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:2200;background:transparent}.reading-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 0 15px var(--accent)}
.section-shell{width:min(1180px,calc(100% - 48px));margin:auto;padding:112px 0;position:relative}.section-heading{max-width:720px;margin-bottom:46px}.section-heading.compact{max-width:650px;margin-inline:auto;text-align:center}.section-heading h2{font-size:clamp(2.5rem,6vw,5.7rem)}.section-heading p:last-child{max-width:610px;color:var(--muted);font-size:.95rem;margin:20px 0 0}.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.2em;font-size:.66rem;font-weight:700;color:var(--accent)}
.glass-card{background:color-mix(in srgb,var(--surface) var(--glass-percent,70%),transparent);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(24px) saturate(120%)}
.primary-button,.ghost-button,.icon-button{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:50px;padding:0 21px;border-radius:999px;font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:-.01em;transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease),background .28s var(--ease)}.primary-button{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 15px 40px color-mix(in srgb,var(--accent) 28%,transparent)}.primary-button:hover,.ghost-button:hover,.icon-button:hover{transform:translateY(-3px)}.ghost-button,.icon-button{border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 54%,transparent);backdrop-filter:blur(16px)}.ghost-button:hover,.icon-button:hover{border-color:var(--line-strong)}
.site-header{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:1000;width:min(1180px,calc(100% - 32px));height:62px;padding:0 12px 0 16px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--bg-1) 65%,transparent);backdrop-filter:blur(24px) saturate(130%);box-shadow:0 16px 50px rgba(0,0,0,.16)}.brand{display:flex;align-items:center;gap:10px;font-size:.78rem;font-weight:700;letter-spacing:.01em}.brand-mark{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 28%,transparent),color-mix(in srgb,var(--accent-2) 24%,transparent));border:1px solid var(--line)}.nav-actions{display:flex;gap:8px}.icon-button{min-height:40px;padding:0 14px}.music-bars{display:flex;align-items:end;gap:2px;height:14px}.music-bars i{display:block;width:2px;height:7px;border-radius:4px;background:currentColor}.icon-button.is-playing .music-bars i{animation:musicBar .8s ease-in-out infinite alternate}.icon-button.is-playing .music-bars i:nth-child(2){animation-delay:.2s}.icon-button.is-playing .music-bars i:nth-child(3){animation-delay:.4s}
.intro-gate{position:fixed;inset:0;z-index:2400;display:grid;place-items:center;background:linear-gradient(145deg,var(--theme-bg-1),var(--theme-bg-2));transition:opacity .8s var(--ease),visibility .8s}.intro-gate.closed{opacity:0;visibility:hidden}.intro-aurora{position:absolute;inset:-20%;background:radial-gradient(circle at 30% 45%,color-mix(in srgb,var(--accent) 30%,transparent),transparent 30%),radial-gradient(circle at 70% 45%,color-mix(in srgb,var(--accent-2) 28%,transparent),transparent 32%);filter:blur(20px);animation:aurora 8s ease-in-out infinite alternate}.intro-button{position:relative;width:min(330px,80vw);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff;backdrop-filter:blur(28px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;box-shadow:0 40px 120px rgba(0,0,0,.3);transition:.35s var(--ease)}.intro-button:hover{transform:scale(1.025)}.intro-icon{font-size:3rem}.intro-small{font-size:.73rem;color:rgba(255,255,255,.65);max-width:220px}.intro-button strong{font-family:var(--font-display);font-weight:400;font-size:2.25rem;letter-spacing:-.04em}
.hero{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(48px,7vw,100px);align-items:center;padding-top:120px}.hero-visual{position:relative;min-height:680px;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow);transform-style:preserve-3d;transition:transform .25s ease}.hero-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(8,5,12,.58) 100%),linear-gradient(120deg,color-mix(in srgb,var(--accent) 18%,transparent),transparent 55%)}.floating-sticker{position:absolute;z-index:2;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.82);color:#17131b;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 12px 32px rgba(0,0,0,.17)}.sticker-one{top:26px;left:24px;transform:rotate(-5deg)}.sticker-two{top:68px;right:22px;transform:rotate(5deg)}.profile-chip{position:absolute;left:22px;right:22px;bottom:22px;z-index:2;border-radius:20px;padding:12px;display:flex;align-items:center;gap:12px}.profile-chip img{width:54px;height:54px;border-radius:16px;object-fit:cover}.profile-chip small{display:block;color:rgba(255,255,255,.62);font-size:.61rem;text-transform:uppercase;letter-spacing:.13em}.profile-chip strong{display:block;color:#fff;font-size:.88rem;margin-top:2px}.hero-copy{max-width:560px}.hero-copy h1{font-size:clamp(4rem,8.5vw,8.9rem);margin-left:-.06em}.hero-subtitle{font-size:clamp(1rem,1.45vw,1.18rem);line-height:1.8;color:var(--muted);max-width:530px;margin:28px 0 0}.hero-meta{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.72rem;margin:28px 0}.hero-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--accent)}.hero-buttons{display:flex;flex-wrap:wrap;gap:10px}
.countdown-section{text-align:center}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}.time-card{padding:28px 15px;border-radius:24px}.time-card strong{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(3rem,6vw,5.3rem);line-height:.9;letter-spacing:-.05em}.time-card span{display:block;margin-top:13px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:.59rem}.countdown-status{margin:20px 0 0;color:var(--muted);font-size:.78rem}
.gift-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.gift-copy h2{font-size:clamp(3rem,6vw,6rem)}.gift-copy>p:last-child{color:var(--muted);margin-top:22px}.gift-stage{min-height:590px;position:relative;display:grid;place-items:center;perspective:1100px}.gift-box{position:relative;width:230px;height:210px;border:0;background:none;cursor:pointer;transform-style:preserve-3d;transition:transform .9s var(--ease)}.gift-body,.gift-lid{position:absolute;left:0;width:100%;background:linear-gradient(145deg,var(--accent),var(--accent-2));box-shadow:0 28px 65px color-mix(in srgb,var(--accent) 24%,transparent)}.gift-body{bottom:0;height:165px;border-radius:18px 18px 28px 28px}.gift-lid{top:20px;height:55px;border-radius:15px;z-index:2;transform-origin:10% 100%;transition:transform .75s var(--ease)}.gift-ribbon{position:absolute;z-index:3;left:50%;top:20px;bottom:0;width:28px;transform:translateX(-50%);background:rgba(255,255,255,.72)}.gift-bow{position:absolute;z-index:4;left:50%;top:-10px;transform:translateX(-50%);width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--accent);font-size:1.5rem}.gift-box.open{transform:translateX(-155px) rotateY(-12deg) scale(.84)}.gift-box.open .gift-lid{transform:translateY(-85px) rotateZ(-18deg) rotateX(48deg)}.gift-message{position:absolute;right:0;width:min(390px,90%);padding:30px;border-radius:26px}.gift-message-icon{display:block;font-size:2rem;margin-bottom:15px}.gift-message p{margin:0;font-family:var(--font-display);font-size:2rem;line-height:1.1;letter-spacing:-.035em}
.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.reason-card{min-height:220px;padding:24px;border-radius:24px;display:flex;flex-direction:column;justify-content:space-between;transform-style:preserve-3d;transition:transform .25s ease,border-color .25s}.reason-number{font-family:var(--font-body);font-size:.62rem;color:var(--accent);letter-spacing:.16em}.reason-card p{font-family:var(--font-display);font-size:clamp(1.65rem,2.4vw,2.35rem);line-height:1.08;margin:40px 0 0}.reason-card:hover{border-color:var(--line-strong)}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;gap:12px}.gallery-item{position:relative;overflow:hidden;border:0;border-radius:24px;background:var(--soft);padding:0;cursor:pointer;grid-column:span 4;grid-row:span 2}.gallery-item:first-child{grid-column:span 7;grid-row:span 3}.gallery-item:nth-child(2){grid-column:span 5;grid-row:span 3}.gallery-item:nth-child(5){grid-column:span 5}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .8s var(--ease)}.gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,5,12,.7));transition:.4s}.gallery-item:hover img{transform:scale(1.045);filter:saturate(1.08)}.gallery-caption{position:absolute;z-index:2;left:20px;right:20px;bottom:17px;color:#fff;text-align:left}.gallery-caption small{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:.55rem;color:rgba(255,255,255,.65)}.gallery-caption strong{display:block;font-family:var(--font-display);font-weight:400;font-size:1.35rem;letter-spacing:-.02em;margin-top:4px}
.dimension-stage{height:720px;position:relative;overflow:hidden;border-radius:42px;border:1px solid var(--line);background:linear-gradient(145deg,color-mix(in srgb,var(--bg-1) 88%,#000),color-mix(in srgb,var(--bg-2) 84%,#000));box-shadow:var(--shadow);perspective:1300px;transform-style:preserve-3d;isolation:isolate}.dimension-atmosphere{position:absolute;inset:-20%;background:radial-gradient(circle at 35% 40%,color-mix(in srgb,var(--accent) 26%,transparent),transparent 27%),radial-gradient(circle at 72% 54%,color-mix(in srgb,var(--accent-2) 25%,transparent),transparent 32%);filter:blur(22px);animation:dimensionBreath calc(8s / var(--motion)) ease-in-out infinite alternate}.dimension-grid{position:absolute;inset:45% -20% -30%;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:55px 55px;transform:rotateX(68deg) translateZ(-50px);mask-image:linear-gradient(to bottom,transparent,#000 20%,#000)}.dimension-ring{position:absolute;left:50%;top:48%;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);border-radius:50%;transform-style:preserve-3d}.ring-one{width:500px;height:500px;margin:-250px;transform:rotateX(66deg) rotateZ(0);animation:ringSpin calc(22s / var(--motion)) linear infinite}.ring-two{width:620px;height:300px;margin:-150px -310px;transform:rotateY(62deg);border-color:color-mix(in srgb,var(--accent-2) 42%,transparent);animation:ringSpinReverse calc(28s / var(--motion)) linear infinite}.dimension-core{position:absolute;left:50%;top:50%;width:190px;transform:translate3d(-50%,-50%,110px);text-align:center;z-index:4}.dimension-core>img{width:145px;height:145px;margin:auto;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.35);box-shadow:0 0 0 18px rgba(255,255,255,.05),0 25px 70px rgba(0,0,0,.35)}.core-halo{position:absolute;left:50%;top:72px;width:230px;height:230px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,color-mix(in srgb,var(--accent) 25%,transparent),transparent 66%);filter:blur(8px);z-index:-1}.dimension-core div{margin-top:20px}.dimension-core small{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:.55rem;color:rgba(255,255,255,.62)}.dimension-core strong{display:block;color:#fff;font-family:var(--font-display);font-weight:400;font-size:2rem;letter-spacing:-.04em}.dimension-memory{position:absolute;width:190px;margin:0;padding:9px;border-radius:20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(18px);box-shadow:0 22px 55px rgba(0,0,0,.28);transform-style:preserve-3d;transition:transform .35s ease}.dimension-memory img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px}.dimension-memory figcaption{color:#fff;font-size:.62rem;padding:8px 4px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memory-1{left:9%;top:12%;transform:translateZ(35px) rotateY(13deg) rotateZ(-4deg)}.memory-2{right:8%;top:14%;transform:translateZ(10px) rotateY(-15deg) rotateZ(4deg)}.memory-3{left:13%;bottom:10%;transform:translateZ(80px) rotateY(10deg) rotateZ(5deg)}.memory-4{right:13%;bottom:9%;transform:translateZ(55px) rotateY(-12deg) rotateZ(-5deg)}.dimension-mascot{position:absolute;right:4%;bottom:4%;width:155px;z-index:7;filter:drop-shadow(0 24px 32px rgba(0,0,0,.3));animation:mascotFloat calc(5s / var(--motion)) ease-in-out infinite}.dimension-hint{position:absolute;left:24px;bottom:22px;z-index:8;color:rgba(255,255,255,.72);font-size:.64rem;letter-spacing:.05em;padding:9px 12px;border-radius:999px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.12)}
.journey-game{position:relative;overflow:hidden;border-radius:34px;padding:28px;min-height:610px}.journey-world{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--accent-2) 12%,transparent),transparent 56%)}.journey-moon{position:absolute;right:8%;top:8%;font-family:var(--font-display);font-size:7rem;color:color-mix(in srgb,var(--glow) 70%,transparent);opacity:.45}.journey-cloud{position:absolute;width:180px;height:36px;border-radius:999px;background:rgba(255,255,255,.07);filter:blur(1px)}.journey-cloud::before,.journey-cloud::after{content:"";position:absolute;border-radius:50%;background:inherit}.journey-cloud::before{width:64px;height:64px;left:30px;bottom:0}.journey-cloud::after{width:90px;height:90px;right:18px;bottom:-2px}.cloud-a{top:20%;left:8%;animation:cloudMove calc(18s / var(--motion)) linear infinite}.cloud-b{top:30%;right:-10%;transform:scale(.7);animation:cloudMoveReverse calc(23s / var(--motion)) linear infinite}.journey-spark{position:absolute;color:var(--glow);animation:sparkPulse 2.5s ease-in-out infinite}.spark-a{left:12%;top:14%}.spark-b{right:18%;top:28%;animation-delay:.7s}.spark-c{left:45%;top:10%;animation-delay:1.2s}.journey-hill{position:absolute;bottom:-100px;width:62%;height:220px;border-radius:50% 50% 0 0;background:color-mix(in srgb,var(--accent) 11%,var(--surface))}.hill-a{left:-12%;transform:rotate(8deg)}.hill-b{right:-18%;background:color-mix(in srgb,var(--accent-2) 12%,var(--surface));transform:rotate(-7deg)}.journey-hud,.journey-story,.journey-map-scroll,.journey-complete{position:relative;z-index:2}.journey-hud{display:flex;align-items:center;justify-content:space-between;gap:18px}.journey-hud small{display:block;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:.55rem}.journey-hud strong{font-size:.84rem}.journey-score{display:flex;align-items:baseline;gap:5px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--soft)}.journey-score>span{color:var(--accent)}.journey-score strong{font-family:var(--font-display);font-size:1.8rem}.journey-map-scroll{overflow-x:auto;padding:46px 10px 28px;scrollbar-width:none}.journey-map-scroll::-webkit-scrollbar{display:none}.journey-map{position:relative;min-width:760px;height:175px}.journey-path{position:absolute;left:6%;right:6%;top:76px;height:3px;background:var(--line);border-radius:99px}.journey-path span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 0 18px color-mix(in srgb,var(--accent) 45%,transparent);transition:width .7s var(--ease)}.journey-stops{position:absolute;inset:0 4%;display:flex;align-items:center;justify-content:space-between}.journey-stop{position:relative;width:74px;border:0;background:none;color:var(--muted);cursor:pointer;padding:0;display:grid;justify-items:center;gap:9px}.journey-stop:disabled{cursor:not-allowed;opacity:.38}.journey-stop-icon{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:color-mix(in srgb,var(--surface) 75%,transparent);border:1px solid var(--line);font-size:1.45rem;transition:.35s var(--ease)}.journey-stop.unlocked .journey-stop-icon{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.journey-stop.active .journey-stop-icon{transform:translateY(-8px) scale(1.08);background:linear-gradient(145deg,var(--accent),var(--accent-2));box-shadow:0 14px 35px color-mix(in srgb,var(--accent) 25%,transparent)}.journey-stop-label{font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.journey-avatar{position:absolute;left:6%;top:12px;transform:translateX(-50%);display:grid;justify-items:center;gap:3px;transition:left .8s var(--ease)}.journey-avatar span{width:43px;height:43px;border-radius:16px;display:grid;place-items:center;background:#fff;color:var(--accent);box-shadow:0 12px 30px rgba(0,0,0,.2)}.journey-avatar small{font-size:.53rem;color:var(--muted)}.journey-story{max-width:720px;margin:5px auto 0;padding:30px;border:1px solid var(--line);border-radius:26px;background:color-mix(in srgb,var(--surface) 62%,transparent);backdrop-filter:blur(18px)}.journey-panel[hidden]{display:none}.journey-panel{animation:panelIn .45s var(--ease)}.journey-kicker{font-size:.59rem;text-transform:uppercase;letter-spacing:.16em;color:var(--accent)}.journey-panel h3{font-size:clamp(2rem,4vw,3.6rem);margin:12px 0}.journey-panel p{color:var(--muted);margin:0;max-width:580px}.journey-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:28px}.journey-controls button:disabled{opacity:.35;cursor:not-allowed}.journey-dots{display:flex;gap:6px}.journey-dots i{width:6px;height:6px;border-radius:50%;background:var(--line-strong);transition:.3s}.journey-dots i.active{width:22px;border-radius:99px;background:var(--accent)}.journey-complete{text-align:center;max-width:580px;margin:25px auto 0;padding:35px;border-radius:26px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 16%,var(--surface)),color-mix(in srgb,var(--accent-2) 12%,var(--surface)))}.journey-complete[hidden]{display:none}.journey-complete>span{font-size:3rem}.journey-complete strong{display:block;font-family:var(--font-display);font-weight:400;font-size:2.5rem;letter-spacing:-.04em}.journey-complete p{color:var(--muted)}
.orbit-scene{height:590px;border-radius:34px;position:relative;perspective:1100px;overflow:hidden;display:grid;place-items:center;cursor:grab}.orbit-scene:active{cursor:grabbing}.orbit-core{position:absolute;z-index:3;width:140px;text-align:center}.orbit-core span{width:92px;height:92px;margin:auto;border-radius:32px;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent),var(--accent-2));font-size:2rem;box-shadow:0 0 0 18px var(--soft),0 22px 70px color-mix(in srgb,var(--accent) 26%,transparent)}.orbit-core strong{display:block;font-family:var(--font-display);font-weight:400;font-size:1.4rem;margin-top:18px}.orbit-ring{position:absolute;width:100%;height:100%;transform-style:preserve-3d}.orbit-card{position:absolute;left:50%;top:50%;width:150px;height:205px;margin:-102px -75px;padding:8px;border-radius:18px;background:color-mix(in srgb,var(--surface) 74%,transparent);border:1px solid var(--line);transform:rotateY(calc(360deg / var(--total) * var(--i))) translateZ(310px);backface-visibility:hidden}.orbit-card img{width:100%;height:165px;object-fit:cover;border-radius:13px}.orbit-card figcaption{font-size:.55rem;padding:8px 3px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.panorama-viewer{height:620px;border-radius:36px;background-position:50% center;background-size:auto 100%;background-repeat:repeat-x;position:relative;overflow:hidden;cursor:grab;box-shadow:var(--shadow);border:1px solid var(--line)}.panorama-viewer:active{cursor:grabbing}.panorama-viewer::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.25),transparent 20%,transparent 80%,rgba(0,0,0,.25));pointer-events:none}.panorama-hint{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:2;padding:9px 13px;border-radius:999px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:.64rem;backdrop-filter:blur(14px)}
.timeline{position:relative;max-width:820px;margin:auto}.timeline::before{content:"";position:absolute;left:35px;top:20px;bottom:20px;width:1px;background:linear-gradient(var(--accent),var(--line),var(--accent-2))}.timeline-item{display:grid;grid-template-columns:72px 1fr;gap:24px;align-items:start;margin-bottom:18px}.timeline-marker{position:relative;z-index:2}.timeline-marker span{width:70px;height:70px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent),var(--accent-2));color:#fff;font-family:var(--font-display);font-size:1.4rem;box-shadow:0 12px 34px color-mix(in srgb,var(--accent) 22%,transparent)}.timeline-card{padding:26px;border-radius:24px}.timeline-card small{color:var(--accent);font-size:.58rem;text-transform:uppercase;letter-spacing:.15em}.timeline-card h3{font-size:2.1rem;margin:9px 0 12px}.timeline-card p{color:var(--muted);margin:0}
.letter-card{position:relative;max-width:900px;margin:auto;padding:clamp(34px,7vw,90px);border-radius:40px;background:color-mix(in srgb,var(--light-surface) 94%,var(--accent) 6%);color:#231c24;box-shadow:0 38px 110px rgba(0,0,0,.2);overflow:hidden}.letter-card::before{content:"";position:absolute;inset:14px;border:1px solid rgba(35,28,36,.09);border-radius:30px;pointer-events:none}.letter-card .eyebrow{color:color-mix(in srgb,var(--accent) 74%,#332)}.letter-card h2{font-size:clamp(3rem,7vw,6.8rem);max-width:760px}.letter-body{font-size:clamp(1rem,1.45vw,1.14rem);line-height:2;color:rgba(35,28,36,.75);max-width:720px;margin-top:32px}.letter-signoff{margin:32px 0 0;font-family:var(--font-display);font-size:1.4rem;line-height:1.25}.letter-stamp{position:absolute;right:38px;top:34px;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;border:1px dashed rgba(35,28,36,.25);color:var(--accent);font-size:1.4rem;transform:rotate(8deg)}
.cake-section{text-align:center}.cake-stage{min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:center}.candles{display:flex;gap:26px;position:relative;z-index:2;margin-bottom:-8px}.candle{width:16px;height:92px;border:0;border-radius:7px 7px 2px 2px;background:repeating-linear-gradient(45deg,#fff 0 8px,var(--accent) 8px 16px);position:relative;cursor:pointer}.wick{position:absolute;left:50%;top:-8px;width:2px;height:10px;background:#372727;transform:translateX(-50%)}.flame{position:absolute;left:50%;top:-34px;width:18px;height:28px;border-radius:55% 45% 55% 45%;background:linear-gradient(#fff4a7,#ff8a3d);transform:translateX(-50%) rotate(45deg);box-shadow:0 0 22px #ffbf55;animation:flame calc(.9s / var(--motion)) ease-in-out infinite alternate}.candle.out .flame{opacity:0;transform:translateX(-50%) translateY(10px) scale(0)}.cake{width:min(520px,88vw);filter:drop-shadow(0 30px 40px rgba(0,0,0,.22))}.cake-top{height:60px;border-radius:50%;background:linear-gradient(145deg,#fff6f7,#ffd7e4);transform:translateY(28px)}.cake-layer{margin:auto;border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 76%,#fff),color-mix(in srgb,var(--accent-2) 68%,#fff))}.layer-one{width:100%;height:115px}.layer-two{width:82%;height:90px;margin-top:-8px}.layer-three{width:64%;height:74px;margin-top:-7px}.wish-status{color:var(--muted);font-size:.76rem;margin-top:22px}
.finale-card{text-align:center;padding:clamp(35px,8vw,95px);border-radius:40px}.finale-emoji{display:grid;place-items:center;width:78px;height:78px;margin:0 auto 25px;border-radius:26px;background:linear-gradient(145deg,var(--accent),var(--accent-2));color:#fff;font-size:2rem}.finale-card h2{font-size:clamp(3rem,7vw,7rem);max-width:930px;margin:auto}.finale-card>p:not(.eyebrow){color:var(--muted);max-width:620px;margin:25px auto}.finale-card .primary-button{margin-top:10px}.site-footer{width:min(1180px,calc(100% - 48px));margin:auto;padding:28px 0 38px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.68rem}.site-footer p{margin:0}.site-footer a:hover{color:var(--text)}
.lightbox{position:fixed;inset:0;z-index:1800;background:rgba(5,4,8,.92);backdrop-filter:blur(26px);display:grid;place-items:center;padding:30px}.lightbox[hidden]{display:none}.lightbox figure{margin:0;max-width:min(1050px,85vw);max-height:86vh}.lightbox img{max-width:100%;max-height:78vh;margin:auto;border-radius:24px;box-shadow:0 35px 100px rgba(0,0,0,.62)}.lightbox figcaption{text-align:center;margin-top:14px;color:rgba(255,255,255,.65);font-size:.72rem}.lightbox-close,.lightbox-nav{position:absolute;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;backdrop-filter:blur(14px);border-radius:50%;cursor:pointer}.lightbox-close{top:22px;right:22px;width:46px;height:46px;font-size:1.6rem}.lightbox-nav{top:50%;width:52px;height:52px;font-size:1.7rem}.lightbox-nav.prev{left:24px}.lightbox-nav.next{right:24px}
.access-page{min-height:100vh;display:grid;place-items:center;padding:24px}.access-card{width:min(520px,100%);padding:42px;border-radius:32px;text-align:center}.access-card h1{font-size:clamp(3rem,8vw,5.5rem)}.access-card>p:not(.eyebrow){color:var(--muted)}.mini-orb{width:70px;height:70px;border-radius:24px;margin:0 auto 22px;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent),var(--accent-2));color:#fff;font-size:1.8rem}.access-form{display:grid;gap:10px;text-align:left;margin-top:25px}.access-form label{font-size:.68rem;font-weight:700}.access-form input{border:1px solid var(--line);background:var(--soft);color:var(--text);padding:14px;border-radius:14px;outline:none}.access-form small{color:var(--muted);font-size:.65rem}.access-form .primary-button{margin-top:7px}.form-alert{padding:11px;border-radius:12px;font-size:.72rem}.form-alert.error{background:rgba(255,80,100,.1);border:1px solid rgba(255,80,100,.25);color:#ff9aa7}
.reveal-on-scroll{opacity:0;transform:translateY(34px) scale(.985);transition:opacity calc(.85s * var(--motion)) var(--ease),transform calc(.85s * var(--motion)) var(--ease)}.reveal-on-scroll.visible{opacity:1;transform:none}.scroll-companions{position:fixed;inset:0;z-index:800;pointer-events:none}.scroll-companion{position:absolute;width:clamp(90px,9vw,150px);filter:drop-shadow(0 22px 30px rgba(0,0,0,.25));opacity:0;will-change:transform,opacity;transition:opacity .35s ease}.companion-left{left:-20px;top:27%}.companion-right{right:-20px;top:60%}
body[data-typography="modern_minimal"] h1,body[data-typography="modern_minimal"] h2,body[data-typography="modern_minimal"] h3{line-height:1.02;letter-spacing:-.055em}body[data-typography="modern_minimal"] .hero-copy h1{font-size:clamp(3.5rem,7.2vw,7.7rem)}body[data-typography="soft_romantic"] h1,body[data-typography="soft_romantic"] h2,body[data-typography="soft_romantic"] h3{font-style:italic;letter-spacing:-.025em}body[data-typography="future_luxe"] h1,body[data-typography="future_luxe"] h2,body[data-typography="future_luxe"] h3{text-transform:none;line-height:.98;letter-spacing:-.06em}
@keyframes musicBar{to{height:14px}}@keyframes aurora{to{transform:translate3d(4%,-3%,0) scale(1.08)}}@keyframes dimensionBreath{to{transform:scale(1.08) translate3d(2%,-2%,0)}}@keyframes ringSpin{to{transform:rotateX(66deg) rotateZ(360deg)}}@keyframes ringSpinReverse{to{transform:rotateY(62deg) rotateZ(-360deg)}}@keyframes mascotFloat{50%{transform:translateY(-18px) rotate(-4deg)}}@keyframes cloudMove{from{transform:translateX(-180px)}to{transform:translateX(1050px)}}@keyframes cloudMoveReverse{from{transform:scale(.7) translateX(250px)}to{transform:scale(.7) translateX(-1100px)}}@keyframes sparkPulse{50%{opacity:.35;transform:scale(.7)}}@keyframes panelIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes flame{to{transform:translateX(-50%) rotate(40deg) scale(.9)}}
@media(max-width:980px){.section-shell{padding:90px 0}.hero{grid-template-columns:1fr;min-height:auto;padding-top:115px}.hero-visual{min-height:700px;order:2}.hero-copy{max-width:750px}.gift-section{grid-template-columns:1fr;gap:35px}.gift-copy{max-width:600px}.reason-grid{grid-template-columns:repeat(2,1fr)}.dimension-stage{height:650px}.dimension-memory{width:155px}.orbit-card{transform:rotateY(calc(360deg / var(--total) * var(--i))) translateZ(240px)}.sticky-space{display:none}}
@media(max-width:700px){.section-shell{width:min(100% - 24px,1180px);padding:76px 0}.site-header{top:8px;height:56px}.brand span:last-child,.button-label{display:none}.icon-button{width:40px;padding:0}.hero{padding-top:95px;gap:35px}.hero-visual{min-height:530px;border-radius:28px}.hero-copy h1{font-size:clamp(3.8rem,18vw,6.8rem)}.floating-sticker{font-size:.52rem}.profile-chip{left:12px;right:12px;bottom:12px}.countdown-grid{grid-template-columns:repeat(2,1fr)}.time-card{padding:24px 10px}.gift-stage{min-height:510px}.gift-box.open{transform:translateY(-125px) scale(.72)}.gift-message{width:100%;right:auto;bottom:0}.reason-grid{grid-template-columns:1fr}.reason-card{min-height:170px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.gallery-item:nth-child(n){grid-column:span 1;grid-row:span 1}.gallery-item:first-child{grid-column:span 2;grid-row:span 2}.dimension-stage{height:630px;border-radius:28px}.dimension-memory{width:116px;padding:6px;border-radius:15px}.dimension-memory img{border-radius:10px}.memory-1{left:3%;top:10%}.memory-2{right:3%;top:12%}.memory-3{left:5%;bottom:11%}.memory-4{right:5%;bottom:10%}.dimension-core{width:150px}.dimension-core>img{width:112px;height:112px}.dimension-mascot{width:105px}.journey-game{padding:18px;border-radius:26px}.journey-story{padding:22px}.journey-controls{flex-wrap:wrap}.journey-dots{order:3;width:100%;justify-content:center}.orbit-scene{height:490px}.orbit-card{width:118px;height:164px;margin:-82px -59px;transform:rotateY(calc(360deg / var(--total) * var(--i))) translateZ(175px)}.orbit-card img{height:125px}.panorama-viewer{height:480px}.timeline::before{left:22px}.timeline-item{grid-template-columns:45px 1fr;gap:13px}.timeline-marker span{width:45px;height:45px;border-radius:15px;font-size:1rem}.timeline-card{padding:20px}.timeline-card h3{font-size:1.7rem}.letter-stamp{width:54px;height:54px;right:20px;top:18px}.candles{gap:17px}.candle{height:72px}.site-footer{width:calc(100% - 24px);align-items:flex-start;gap:18px}.lightbox-nav{top:auto;bottom:22px}.lightbox-nav.prev{left:calc(50% - 66px)}.lightbox-nav.next{right:calc(50% - 66px)}.scroll-companion{width:84px}.companion-left{left:-28px}.companion-right{right:-28px}}
@media(max-width:460px){.hero-visual{min-height:470px}.hero-buttons{display:grid}.hero-buttons>a{width:100%}.section-heading h2{font-size:2.75rem}.gift-box{width:190px;height:180px}.gift-body{height:140px}.gift-message p{font-size:1.65rem}.gallery-grid{grid-auto-rows:150px}.dimension-stage{height:560px}.dimension-memory{width:95px}.dimension-core>img{width:95px;height:95px}.dimension-core strong{font-size:1.6rem}.journey-map{min-width:660px}.journey-stop-icon{width:50px;height:50px;border-radius:16px}.journey-story{padding:18px}.orbit-scene{height:430px}.orbit-card{transform:rotateY(calc(360deg / var(--total) * var(--i))) translateZ(145px)}.panorama-viewer{height:400px}.letter-card{border-radius:28px}.finale-card{border-radius:28px}.scroll-companions{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important}.cursor-glow,.scroll-companions{display:none}.reveal-on-scroll{opacity:1;transform:none}}

/* --- WishCraft Premium V5 gadget-style refinements --- */
html{background:#08080c;-webkit-text-size-adjust:100%}
body{background-attachment:scroll}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:32px 32px}
.section-shell{padding:118px 0}
.site-header{height:68px;padding:0 14px 0 16px;border-radius:22px;background:color-mix(in srgb,var(--bg-1) 72%,transparent);box-shadow:0 20px 60px rgba(0,0,0,.2)}
.brand{gap:12px}
.brand-mark{width:42px;height:42px;border-radius:14px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 10px 28px rgba(0,0,0,.22)}
.brand-mark img{width:100%;height:100%;object-fit:cover}
.brand-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.brand-copy strong{font-size:.82rem;letter-spacing:.01em;line-height:1}
.brand-copy small{font-size:.62rem;color:var(--muted);text-transform:uppercase;letter-spacing:.16em;line-height:1.1}
.hero-visual,.gift-stage,.dimension-stage,.journey-game,.orbit-scene,.panorama-viewer,.letter-card,.finale-card,.reason-card,.timeline-card,.gallery-item{position:relative;overflow:hidden}
.hero-visual::before,.dimension-stage::before,.journey-game::before,.orbit-scene::before,.panorama-viewer::before,.letter-card::before,.finale-card::before{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.09),transparent 30%,transparent 70%,rgba(255,255,255,.04));opacity:.9}
.hero-visual::after,.dimension-stage::after,.journey-game::after,.orbit-scene::after,.panorama-viewer::after,.letter-card::after,.finale-card::after{content:"";position:absolute;inset:auto 18px 18px auto;width:82px;height:82px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 30%,transparent),transparent 70%);filter:blur(6px);opacity:.7}
.reason-card,.timeline-card,.gallery-item,.letter-card,.journey-game,.finale-card{border:1px solid rgba(255,255,255,.12);box-shadow:0 28px 80px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.06)}
.reason-card{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 85%,transparent),color-mix(in srgb,var(--surface) 68%,transparent));padding-top:72px}
.reason-number{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:32px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(16px)}
.gallery-item{transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease)}
.gallery-item:hover{transform:translateY(-6px);box-shadow:0 32px 90px rgba(0,0,0,.28);border-color:rgba(255,255,255,.2)}
.gallery-item img{transition:transform .8s var(--ease)}
.gallery-item:hover img{transform:scale(1.06)}
.timeline-card{background:linear-gradient(155deg,color-mix(in srgb,var(--surface) 82%,transparent),color-mix(in srgb,var(--surface) 62%,transparent))}
.letter-card{background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 92%,transparent),color-mix(in srgb,var(--surface) 72%,transparent)),radial-gradient(circle at top right,color-mix(in srgb,var(--accent-2) 18%,transparent),transparent 34%),radial-gradient(circle at bottom left,color-mix(in srgb,var(--accent) 18%,transparent),transparent 32%)}
.letter-stamp{border-style:solid;background:rgba(255,255,255,.35);backdrop-filter:blur(10px)}
.finale-card{background:linear-gradient(160deg,color-mix(in srgb,var(--surface) 94%,transparent),color-mix(in srgb,var(--surface) 78%,transparent))}
.panorama-viewer{background-size:auto 118%;touch-action:none;user-select:none;cursor:ew-resize}
.panorama-hint{background:rgba(0,0,0,.48)}
.orbit-scene,.dimension-stage,.panorama-viewer,.hero-visual{will-change:transform}
.profile-chip,.gift-message,.time-card,.lightbox-close,.lightbox-nav,.icon-button,.ghost-button{backdrop-filter:blur(20px) saturate(130%)}
@media(max-width:700px){
  .site-header{height:58px}
  .brand-mark{width:38px;height:38px}
  .section-shell{padding:84px 0}
}
.dossier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dossier-card{padding:26px 24px 24px;border-radius:28px;min-height:250px;background:linear-gradient(160deg,color-mix(in srgb,var(--surface) 88%,transparent),color-mix(in srgb,var(--surface) 68%,transparent));border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 70px rgba(0,0,0,.22);display:flex;flex-direction:column;gap:12px}.dossier-pill{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;padding:8px 12px;border-radius:999px;font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:var(--accent)}.dossier-card small{color:var(--muted);text-transform:uppercase;letter-spacing:.16em;font-size:.62rem}.dossier-card h3{font-size:2rem;line-height:1.02}.dossier-card p{margin:0;color:var(--muted)}
@media(max-width:980px){.dossier-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.dossier-grid{grid-template-columns:1fr}}

/* --- WishCraft Premium V6 immersive gadget refinements --- */
:root{--device-shell:rgba(255,255,255,.07);--device-border:rgba(255,255,255,.12);--device-shadow:0 30px 90px rgba(0,0,0,.25)}
body{background:
  radial-gradient(circle at 12% 4%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 24%),
  radial-gradient(circle at 84% 18%,color-mix(in srgb,var(--accent-2) 18%,transparent),transparent 28%),
  linear-gradient(145deg,var(--bg-1),var(--bg-2));}
.section-heading p:last-child,.timeline-card p,.dossier-card p,.journey-panel p,.letter-body,.gallery-caption small,.countdown-status{max-width:68ch}
.site-header{background:linear-gradient(180deg,color-mix(in srgb,var(--bg-1) 84%,transparent),color-mix(in srgb,var(--surface) 78%,transparent));border:1px solid var(--device-border);box-shadow:0 18px 60px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.04)}
.site-header::after{content:"LIVE";position:absolute;right:14px;top:8px;font-size:.55rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.hero-visual,.gift-stage,.dimension-stage,.journey-game,.orbit-scene,.panorama-viewer,.letter-card,.finale-card,.reason-card,.timeline-card,.dossier-card,.time-card,.gallery-item{border:1px solid var(--device-border);box-shadow:var(--device-shadow),inset 0 1px 0 rgba(255,255,255,.05)}
.hero-copy,.gift-copy,.section-heading{position:relative}
.hero-copy::before,.gift-copy::before,.section-heading::before{content:"interface module";display:inline-flex;margin:0 0 14px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:var(--muted);font-size:.58rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.hero-copy .eyebrow,.gift-copy .eyebrow,.section-heading .eyebrow{margin-top:6px}
.hero-visual{background:#06070e}
.hero-overlay{background:linear-gradient(180deg,transparent 26%,rgba(8,5,12,.64) 100%),linear-gradient(120deg,color-mix(in srgb,var(--accent) 18%,transparent),transparent 55%),radial-gradient(circle at top right,color-mix(in srgb,var(--accent-2) 12%,transparent),transparent 26%)}
.profile-chip{background:linear-gradient(180deg,rgba(7,10,18,.48),rgba(12,18,30,.65));border:1px solid rgba(255,255,255,.12)}
.reason-card p{font-size:1.03rem;line-height:1.8}
.dossier-card,.timeline-card,.journey-story,.letter-card,.finale-card{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 88%,transparent),color-mix(in srgb,var(--surface) 70%,transparent));}
.letter-card{background:
  radial-gradient(circle at 88% 14%,color-mix(in srgb,var(--accent-2) 18%,transparent),transparent 30%),
  radial-gradient(circle at 12% 84%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 28%),
  linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,transparent),color-mix(in srgb,var(--surface) 78%,transparent));}
.letter-card .eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}
.letter-body{font-size:1.02rem;line-height:1.95;color:var(--text)}
.gallery-section .section-heading p:last-child{max-width:54ch}
.gallery-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,33vw);gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 50%,transparent) transparent}
.gallery-grid::-webkit-scrollbar{height:9px}.gallery-grid::-webkit-scrollbar-track{background:transparent}.gallery-grid::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:999px}
.gallery-item{min-height:410px;scroll-snap-align:start;grid-column:auto!important;grid-row:auto!important;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 84%,transparent),color-mix(in srgb,var(--surface) 68%,transparent))}
.gallery-item img{width:100%;height:100%;object-fit:cover}
.gallery-caption{backdrop-filter:blur(18px) saturate(130%);background:linear-gradient(180deg,transparent,rgba(6,8,14,.78))}
.gallery-caption strong{font-size:1rem;line-height:1.25}
.panorama-viewer{height:640px;background-size:auto 135%;background-position:50% center;cursor:grab;transform:translateZ(0)}
.panorama-viewer.is-dragging{cursor:grabbing}
.panorama-viewer::before{background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 26%,transparent 75%,rgba(255,255,255,.03))}
.panorama-hint{bottom:18px;padding:10px 14px;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(16px) saturate(125%)}
.orbit-scene,.dimension-stage,.panorama-viewer,.hero-visual,.journey-game{transform:translateZ(0)}
.journey-story{border:1px solid rgba(255,255,255,.12)}
.journey-controls .primary-button,.journey-controls .ghost-button{min-width:170px}
.finale-card p:nth-of-type(2){color:var(--muted)}
.site-footer{border-top:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,transparent,rgba(255,255,255,.03))}
.performance-lite .page-noise,.performance-lite .cursor-glow{display:none}
.performance-lite .hero-visual,.performance-lite .dimension-stage,.performance-lite .orbit-scene,.performance-lite .panorama-viewer,.performance-lite .journey-game{will-change:auto}
.performance-lite .hero-visual::after,.performance-lite .dimension-stage::after,.performance-lite .journey-game::after,.performance-lite .orbit-scene::after,.performance-lite .panorama-viewer::after{opacity:.35}
.performance-lite .floating-sticker,.performance-lite .scroll-companion{animation:none!important}
.performance-lite body::before{opacity:.12}
@media(max-width:980px){
  .gallery-grid{grid-auto-columns:minmax(300px,72vw)}
  .panorama-viewer{height:540px;background-size:auto 128%}
}
@media(max-width:700px){
  .hero-copy::before,.gift-copy::before,.section-heading::before{font-size:.52rem;padding:6px 10px;letter-spacing:.15em}
  .gallery-grid{grid-auto-columns:88vw;gap:14px}
  .gallery-item{min-height:320px}
  .panorama-viewer{height:430px;background-size:auto 120%}
  .site-header::after{display:none}
}
@media(max-width:460px){
  .gallery-grid{grid-auto-columns:92vw}
  .gallery-item{min-height:285px}
}
body[data-appearance="light"] .profile-chip,body[data-appearance="light"] .gallery-caption,body[data-appearance="light"] .letter-card .eyebrow{color:#17141b}
body[data-appearance="light"] .gallery-caption{background:linear-gradient(180deg,transparent,rgba(255,255,255,.88))}
body[data-appearance="light"] .profile-chip{background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,.82))}
