:root{font-family:DM Sans Variable,sans-serif;color:#14336d;background:#bfd6eb;font-synthesis:none;--blue: #1d5bff;--ink: #163467;--paper: #f8f7f1}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #ffa941;outline-offset:5px}button{border:0}a{color:inherit}.birthday-story{height:100dvh;overflow:hidden}.landing-world,.world-wash{position:fixed;inset:0;pointer-events:none}.landing-world canvas{display:block;width:100%;height:100%}.world-wash{background:linear-gradient(90deg,rgba(230,241,249,.5),transparent 60%)}.story-header{position:fixed;top:0;left:0;width:100%;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:25px 38px;color:var(--ink);pointer-events:none}.story-header>*{pointer-events:auto}.wordmark{display:flex;align-items:center;gap:8px;font-size:24px;font-weight:800;text-decoration:none;letter-spacing:-1px}.brand-symbol{display:grid;place-items:center;background:var(--blue);color:#fff;border-radius:50% 50% 50% 10%;width:30px;height:30px;font-size:26px;line-height:1;transform:rotate(-8deg)}.brand-dot{font-size:9px;align-self:flex-start;padding-top:5px}.edition{font-size:12px;font-weight:600;letter-spacing:.03em}.round-button{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border:1px solid #17376625;border-radius:50%;background:#ffffff75;color:var(--ink);transition:background .2s,transform .2s}.round-button:hover{background:#fff;transform:translateY(-2px)}.credits-button{font-family:Georgia,serif;font-style:italic;font-size:18px}.story-scroll{position:relative;height:100dvh;overflow:hidden;scrollbar-width:none;overflow-anchor:none;outline:0;overscroll-behavior:contain}.story-scroll.unlocked{overflow-y:auto}.story-scroll::-webkit-scrollbar{display:none}.story-section{position:relative;min-height:100dvh;width:100%;padding:20px;scroll-margin-top:0;perspective:1500px}.arrival{height:100dvh;padding:110px 6vw 55px}.arrival-top,.arrival-bottom{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.1em}.eyebrow{display:flex;align-items:center;gap:9px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #1d5bff12}.arrival-date{opacity:.65}.arrival-copy{position:absolute;left:6vw;top:25%;width:37%;transition:opacity .8s,transform .8s}.arrival-copy.in-flight{opacity:0;transform:translateY(-20px);pointer-events:none}.small-label{font-size:10px;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.arrival h1{font-family:Bricolage Grotesque Variable,sans-serif;font-size:clamp(58px,7.2vw,116px);font-weight:750;line-height:.97;letter-spacing:-.067em;margin:18px 0 23px}.arrival h1 em,h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.065em}.arrival-copy>p{max-width:265px;font-size:14px;line-height:1.7;margin:0 0 26px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:54px;padding:0 23px;border-radius:50px;background:var(--blue);color:#fff;font-weight:600;font-size:13px;box-shadow:0 4px #1649c4,0 12px 30px #1d5bff20;transition:transform .18s,box-shadow .18s}.primary-button:hover{transform:translateY(-3px);box-shadow:0 7px #1649c4,0 15px 32px #1d5bff30}.primary-button:active{transform:translateY(3px);box-shadow:0 1px #1649c4}.arrival-bottom{position:absolute;bottom:31px;left:6vw;right:6vw;font-size:9px}.arrival-bottom button{display:flex;align-items:center;gap:10px;background:none;color:inherit;font-size:12px;letter-spacing:0}.tiny-plane{font-size:21px;vertical-align:middle;margin-right:8px}.flight-caption{position:absolute;bottom:16%;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:#fffdf5e8;padding:18px 25px;border-radius:50px;white-space:nowrap;box-shadow:0 8px 30px #0f2f5912;font-weight:700;font-size:13px}.flight-caption>span:last-child{font-weight:400;opacity:.6}.loading-track{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:11px;width:230px}.loading-track>div{grid-column:1/-1;height:3px;background:#fff8;border-radius:3px}.loading-track>div:after{content:"";display:block;width:var(--progress);height:100%;background:var(--blue);transition:width .3s}.load-fallback{display:block;max-width:240px;margin-top:15px}.chapter-sheet{position:relative;min-height:calc(100dvh - 40px);border-radius:28px;background:var(--paper);padding:95px 6vw 100px;transform-origin:50% 40%;overflow:hidden;box-shadow:0 20px 100px #203c6218}.chapter-number{font-size:10px;font-weight:700;letter-spacing:.14em;margin-bottom:55px;opacity:.7}h2{font-family:Bricolage Grotesque Variable,sans-serif;font-size:clamp(42px,5.5vw,88px);font-weight:700;line-height:1.02;letter-spacing:-.055em;margin:0}p{line-height:1.7}.captain-chapter .chapter-sheet{background:#f6f8f2}.captain-intro{max-width:600px}.captain-intro .small-label{color:var(--blue)}.captain-intro h2{margin:20px 0}.captain-intro>p{font-size:16px;max-width:380px}.birthday-seal{position:absolute;right:10%;top:30%;height:245px;width:245px;border-radius:50%;background:var(--blue);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;transform:rotate(12deg)!important;box-shadow:inset 0 0 0 10px #3c73ff,inset 0 0 0 12px #b7d3ff90,0 25px 40px #1d5bff22}.birthday-seal>span{font-size:11px;letter-spacing:.17em}.birthday-seal strong{font-family:Bricolage Grotesque Variable;font-size:66px;line-height:1;letter-spacing:-.06em}.captain-footer{display:flex;justify-content:space-between;align-items:end;margin-top:70px}.captain-footer p{font-size:12px;opacity:.7}.text-button{display:inline-flex;gap:24px;align-items:center;background:none;color:inherit;font-size:12px;font-weight:700;padding:12px 0;border-bottom:1px solid currentColor}.journey-chapter .chapter-sheet{background:#dce8ff}.journey-chapter h2{margin-bottom:60px}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 35px}.timeline-stop{display:flex;gap:15px;border-top:1px solid #14336d30;padding-top:20px}.stop-index{font-size:12px;font-weight:700;opacity:.5}.timeline .small-label{font-size:9px;letter-spacing:.08em;color:#416195}.timeline h3{font-family:Bricolage Grotesque Variable;font-size:24px;letter-spacing:-.035em;line-height:1.1;margin:14px 0}.timeline p{font-size:12px;opacity:.85;margin:0}.journey-chapter .text-button{margin-top:40px}.crew-chapter .chapter-sheet{background:#f7f4eb}.crew-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.crew-copy h2{font-size:clamp(40px,4.5vw,70px)}.crew-copy p{font-size:13px;margin:25px 0}.letter-navigation{display:flex;gap:20px;align-items:center;margin-top:30px}.letter-navigation span{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.letter-navigation i{font-style:normal;opacity:.4}.mail-stack{position:relative;perspective:1000px;width:100%;max-width:420px;aspect-ratio:1.22;transform:rotate(4deg);transition:transform .7s cubic-bezier(.2,.8,.2,1)}.mail-stack.is-open{transform:rotate(0)}.mail-behind{position:absolute;inset:0;border-radius:10px;background:#d6e1f9;box-shadow:0 10px 25px #303c4810;transform:rotate(-9deg) translate(-7px,-5px)}.mail-behind.two{background:#e7dccc;transform:rotate(4deg) translate(7px,8px)}.mail-card{position:absolute;inset:0;width:100%;height:100%;text-align:left;color:var(--ink);background:#fffcf3;border:1px solid #f1e9d7;border-radius:10px;box-shadow:0 10px 15px #22304615;padding:30px;overflow:hidden}.mail-card:before{content:"";position:absolute;inset:0;background:linear-gradient(32deg,transparent 49.6%,#e9e2d555 50%,transparent 50.4%),linear-gradient(-32deg,transparent 49.6%,#e9e2d555 50%,transparent 50.4%);pointer-events:none}.mail-from{position:absolute;left:27px;top:27px;font-size:8px;letter-spacing:.08em;line-height:1.8}.mail-from strong{font-size:11px;letter-spacing:0}.stamp{position:absolute;right:25px;top:22px;border:2px dashed #9aacca;background:#dfebff;display:flex;align-items:center;padding:9px 7px;gap:6px}.stamp span{font-size:6px;line-height:1.5;font-weight:700}.mail-address{position:absolute;left:30px;top:40%;font-size:14px;line-height:1.4}.mail-address em{font-family:Georgia;font-size:46px}.mail-seal{position:absolute;right:42px;bottom:65px;background:#1d5bff;border:4px double #6993ff;color:#fff;padding:13px;border-radius:50%;box-shadow:2px 5px #0e49d4}.tap-note{position:absolute;bottom:24px;left:28px;display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:.13em}.letter-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:32px;background:#fffdf6;transform:translateY(104%);transition:transform .65s cubic-bezier(.22,1,.36,1);z-index:2}.letter-content>p{font-family:Georgia,serif;font-size:20px;line-height:1.5;letter-spacing:-.02em;margin:18px 0}.letter-content>span:last-child{font-size:10px;line-height:1.5}.is-open .letter-content{transform:translateY(0)}.is-open .tap-note{z-index:3;bottom:14px}.department-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:75px;max-width:900px}.department-list button{font-size:10px;background:transparent;border:1px solid #18346822;padding:9px 14px;border-radius:25px;color:#657590;transition:color .2s,background .2s}.department-list button.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.gifts-chapter .chapter-sheet{background:#e9ecff}.gifts-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:40px}.gifts-heading h2{font-size:clamp(40px,4.7vw,70px)}.gifts-heading p{font-size:12px;max-width:260px}.gift-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.gift-box{height:190px;position:relative;overflow:hidden;border-radius:25px;background:linear-gradient(135deg,#91b1ff,#3f69e7);color:#fff;box-shadow:inset 0 3px 5px #fff8,inset 0 -5px 6px #2344a633,0 12px 17px #667dc430;border:1px solid #8ba3f966;transition:transform .3s}.gift-box:hover{transform:translateY(-5px) rotate(-1deg)}.gift-1{background:linear-gradient(135deg,#f5bfea,#d67ad1)}.gift-2{background:linear-gradient(135deg,#acddb4,#6aaa83)}.gift-3{background:linear-gradient(135deg,#e9d38e,#c9a753)}.gift-4{background:linear-gradient(135deg,#b8a9f3,#8d71d2)}.gift-5{background:linear-gradient(135deg,#9ad5ec,#65adc8)}.gift-ribbon{position:absolute;inset:0;background:linear-gradient(90deg,transparent 44%,#ffffff42 44%,#ffffff80 49%,#ffffff42 55%,transparent 55%),linear-gradient(0deg,transparent 44%,#ffffff45 44%,#ffffff70 53%,transparent 53%);transition:opacity .3s}.gift-bow{position:absolute;top:18%;left:50%;transform:translate(-50%) rotate(-12deg);font-family:Georgia;font-size:95px;line-height:1;text-shadow:0 3px 0 #fff6,0 6px 6px #24447930;transition:transform .5s,opacity .3s}.gift-name{position:absolute;bottom:22px;left:22px;font-size:17px;font-weight:700;letter-spacing:-.03em}.gift-action{position:absolute;bottom:22px;right:20px;z-index:3}.gift-message{position:absolute;inset:0;background:#fff9;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:flex;flex-direction:column;align-items:start;justify-content:center;padding:24px;color:var(--ink);opacity:0;transform:translateY(12px);transition:opacity .3s,transform .4s}.gift-message p{font-size:15px;font-weight:600;line-height:1.35;margin:10px 0}.gift-message>span{font-size:9px;opacity:.65}.unwrapped .gift-message{opacity:1;transform:translateY(0)}.unwrapped .gift-bow{transform:translate(-50%) translateY(-90px) rotate(30deg);opacity:0}.gifts-footer{display:flex;align-items:center;justify-content:space-between;margin-top:25px}.gifts-footer>span{font-size:10px;opacity:.7}.finale-chapter .chapter-sheet{background:var(--blue);color:#fff;min-height:calc(100dvh - 40px)}.finale-copy{max-width:610px}.finale-copy h2{margin:25px 0;font-size:clamp(45px,5.6vw,86px)}.finale-copy>p{font-size:14px;max-width:390px;opacity:.85;margin:0 0 30px}.light-button{background:#fff;color:#1d5bff;box-shadow:0 4px #cbd9ff,0 12px 30px #1739a560;font-size:11px}.light-button:hover{box-shadow:0 7px #cbd9ff}.final-signature{display:block;font-family:Georgia;font-style:italic;margin-top:30px;font-size:21px}.finale-bottom{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-top:65px;font-size:8px;letter-spacing:.1em}.finale-bottom .text-button{font-size:10px;letter-spacing:0}.finale-portrait{position:absolute;right:6%;top:18%;width:440px;height:440px}.finale-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 18%;border-radius:50%;box-shadow:0 0 0 8px #fff,0 22px 40px #0733b355}.birthday-cake{position:absolute;right:11%;top:42%;width:220px;height:190px;filter:drop-shadow(0 25px 15px #0733b355);transform:rotate(-5deg)}.finale-portrait .birthday-cake{position:absolute;inset:auto -28px -18px auto;z-index:2;width:220px;height:190px;margin:0;transform:rotate(-8deg) scale(.78);transform-origin:70% 80%}.cake-body{position:absolute;top:35px;left:10px;width:200px;height:110px;border-radius:0 0 50% 50%/0 0 30% 30%;background:linear-gradient(90deg,#adbfff,#eff3ff 40%,#87a5f3);display:flex;justify-content:center;padding-top:35px}.cake-body span{color:#7393df;font-family:Bricolage Grotesque Variable;font-weight:800;letter-spacing:.2em;font-size:26px}.cake-top{position:absolute;top:4px;left:10px;width:200px;height:70px;background:radial-gradient(ellipse,#fff,#c5d6ff);border-radius:50%;z-index:2;box-shadow:inset 0 -4px #b5cbff}.cake-plate{position:absolute;top:110px;left:-10px;width:240px;height:60px;border-radius:50%;background:#9eb8fc;z-index:-1;box-shadow:0 6px #779bed}.candle{position:absolute;top:-44px;left:105px;width:12px;height:80px;border-radius:5px;background:repeating-linear-gradient(45deg,#5384ff 0 8px,#ebf1ff 8px 17px);z-index:3;box-shadow:3px 0 3px #3352a644}.candle i{position:absolute;top:-26px;left:0;width:13px;height:23px;background:#ffdf84;border-radius:80% 20% 55% 45%;box-shadow:0 0 20px #ffdf84;animation:flame 1s ease-in-out infinite alternate}.blown .candle i{opacity:0;transition:opacity .6s}.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti i{position:absolute;left:var(--x);top:-5%;width:8px;height:16px;background:var(--color);animation:confetti-fall 4s var(--delay) ease-in forwards}.chapter-dock{position:fixed;bottom:18px;left:50%;transform:translate(-50%);display:flex;gap:4px;padding:6px;background:#fffdf6de;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #fff9;border-radius:40px;z-index:20;box-shadow:0 4px 25px #122c5b1a;max-width:95vw}.chapter-dock button{background:none;color:#657b9b;border-radius:30px;padding:10px 12px;display:flex;align-items:center;gap:7px;font-size:10px;white-space:nowrap;transition:background .25s,color .25s}.chapter-dock button b{font-weight:600;display:none}.chapter-dock button.active{background:var(--blue);color:#fff}.chapter-dock button.active b{display:block}.chapter-dock button span{font-size:9px;font-variant-numeric:tabular-nums}.credits-dialog{border:0;border-radius:24px;padding:50px;max-width:520px;width:calc(100% - 35px);color:var(--ink);background:var(--paper);box-shadow:0 30px 90px #132c6450}.credits-dialog::backdrop{background:#12336870;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.close-dialog{position:absolute;right:18px;top:18px}.credits-dialog h2{font-size:36px;margin:22px 0}.credits-dialog p{font-size:12px}.credits-dialog a{color:var(--blue)}.credits-note,.on-paper .edition{opacity:.6}@keyframes flame{to{transform:rotate(9deg) scaleY(.9)}}@keyframes confetti-fall{to{top:115%;transform:rotate(var(--r)) translate(40px)}}@media(min-width:1500px){.chapter-sheet{padding-left:9vw;padding-right:9vw}.birthday-seal{right:15%}}@media(max-width:900px){.story-header{padding:21px 25px}.arrival-copy{width:48%;top:26%}.arrival h1{font-size:75px}.birthday-seal{width:185px;height:185px;right:6%;top:38%}.birthday-seal strong{font-size:52px}.captain-intro{max-width:65%}.captain-intro h2{font-size:60px}.captain-intro>p{font-size:14px}.timeline{grid-template-columns:repeat(2,1fr)}.crew-layout{gap:30px}.crew-copy h2{font-size:45px}.mail-card{padding:20px}.letter-content{padding:22px}.letter-content>p{font-size:16px}.stamp{right:15px;top:16px}.mail-from{left:18px;top:17px}.mail-from strong{font-size:9px}.mail-address{left:20px}.gift-grid{gap:15px}.gift-box{height:175px}.gift-message{padding:18px}.gift-message p{font-size:13px}.birthday-cake{right:5%;transform:scale(.8) rotate(-5deg);transform-origin:right center}.finale-portrait{width:300px;height:300px;right:4%;top:28%}.finale-portrait .birthday-cake{right:-16px;bottom:-10px;transform:rotate(-8deg) scale(.58)}.finale-copy{max-width:65%}.finale-copy h2{font-size:58px}}@media(max-width:600px){.story-header{padding:20px}.wordmark{font-size:21px}.brand-symbol{width:26px;height:26px;font-size:23px}.edition{display:none}.credits-button{width:32px;height:32px}.arrival{padding:95px 24px 45px}.arrival-top,.arrival-date{font-size:8px}.arrival-copy{left:24px;top:22%;width:75%}.arrival h1{font-size:68px;margin:15px 0 18px}.arrival-copy>p{max-width:240px;font-size:12px;line-height:1.6}.primary-button{min-height:48px;padding:0 20px;font-size:12px}.arrival-bottom{left:24px;right:24px;font-size:7px;bottom:27px}.arrival-bottom>span:last-child{max-width:100px;text-align:right;line-height:1.7}.flight-caption{font-size:11px;padding:15px 20px;bottom:18%}.flight-caption>span:last-child{display:none}.phase-landed .arrival-copy{top:18%}.phase-landed .arrival-bottom{bottom:84px}.story-section:not(.arrival){padding:10px}.chapter-sheet{padding:95px 25px;min-height:calc(100dvh - 20px);border-radius:22px}.chapter-number{font-size:8px;margin-bottom:35px}.small-label{font-size:8px}.captain-intro{max-width:none}.captain-intro h2{font-size:57px;margin:16px 0}.captain-intro>p{font-size:13px;max-width:270px}.birthday-seal{position:relative;right:auto;top:auto;width:140px;height:140px;margin:30px 0 0 auto;gap:8px}.birthday-seal strong{font-size:42px}.birthday-seal>span{font-size:7px}.birthday-seal svg{width:17px;height:17px}.captain-footer{margin-top:25px;align-items:center}.captain-footer p{font-size:10px;max-width:155px}.text-button{font-size:10px;gap:12px}.journey-chapter h2{font-size:45px;margin-bottom:38px}.timeline{grid-template-columns:1fr;gap:27px}.timeline-stop{padding-top:18px;gap:19px}.timeline h3{font-size:23px;margin:9px 0}.timeline p{font-size:12px}.timeline .small-label{font-size:8px}.crew-layout{grid-template-columns:1fr;gap:30px}.crew-copy h2{font-size:47px}.crew-copy p{font-size:12px;margin:19px 0}.letter-navigation{margin-top:20px}.mail-stack{max-width:345px;margin:0 auto}.letter-content>p{font-size:18px}.department-list{margin-top:35px;gap:6px}.department-list button{font-size:9px;padding:8px 11px}.gifts-heading{display:block;margin-bottom:30px}.gifts-heading h2{font-size:45px}.gifts-heading p{font-size:11px;margin-top:20px}.gift-grid{grid-template-columns:1fr 1fr;gap:15px}.gift-box{height:170px;border-radius:19px}.gift-bow{font-size:78px;top:17%}.gift-name{font-size:13px;bottom:17px;left:15px}.gift-action{bottom:15px;right:12px}.gift-message{padding:15px}.gift-message p{font-size:12px}.gift-message>span{font-size:8px}.gifts-footer{margin-top:20px}.gifts-footer>span{font-size:9px}.finale-copy{max-width:none}.finale-copy h2{font-size:50px;margin:20px 0}.finale-copy>p{font-size:12px;max-width:290px}.finale-copy .primary-button{font-size:10px;gap:15px}.final-signature{font-size:19px}.birthday-cake{position:relative;top:auto;right:auto;transform:scale(.63) rotate(-5deg);transform-origin:center center;margin:35px auto -15px;height:150px}.finale-portrait{position:relative;top:auto;right:auto;width:270px;height:270px;margin:28px auto 48px}.finale-portrait .birthday-cake{position:absolute;right:-8px;bottom:-8px;margin:0;height:190px;transform:rotate(-8deg) scale(.62);transform-origin:70% 80%}.finale-bottom{margin-top:20px;align-items:center;font-size:7px}.finale-bottom>span{max-width:135px;line-height:1.8}.chapter-dock{bottom:14px}.chapter-dock button{padding:10px;font-size:9px}.chapter-dock button.active b{font-size:9px}.credits-dialog{padding:45px 25px 25px}.credits-dialog h2{font-size:29px}.world-wash{background:linear-gradient(90deg,#e6f1f988,transparent 95%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.confetti i{display:none}}.phase-flying .story-scroll{overflow:clip}.phase-flying .world-wash{opacity:0;transition:opacity 1s}.flight-caption{bottom:10%;background:#fffdf5d9}.phase-landed .arrival-copy{pointer-events:auto}.phase-loading .story-section:not(.arrival),.phase-ready .story-section:not(.arrival),.phase-flying .story-section:not(.arrival){visibility:hidden}.on-blue{color:#fff}.on-blue .brand-symbol{background:#fff;color:var(--blue)}.gift-name,.gift-action{color:#173665}@media(max-width:600px){.arrival-copy{top:19%}}.gift-bow{width:105px;height:66px;font-size:0;top:22%;filter:drop-shadow(0 5px 3px #26497924)}.gift-bow:before,.gift-bow:after{content:"";position:absolute;top:2px;width:49px;height:36px;border:9px solid #d6e1ffb3;box-shadow:inset 0 2px 3px #fff9,0 2px 2px #ffffff70;border-radius:60% 60% 20%;transform:rotate(18deg)}.gift-bow:before{left:0}.gift-bow:after{right:0;transform:rotate(-18deg);border-radius:60% 60% 60% 20%}.gift-bow i{position:absolute;z-index:2;left:43px;top:21px;width:22px;height:25px;border-radius:7px;background:linear-gradient(135deg,#f4f7ff,#a3bbf3);box-shadow:inset 0 2px 3px #fff,0 3px 4px #4667b638}.story-header.on-paper{top:20px;left:20px;width:calc(100% - 40px);padding:12px 18px;border-radius:22px 22px 0 0;background:#f8f7f1de;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.story-header.on-blue{background:#1d5bffdf}@media(max-width:600px){.story-header.on-paper{top:10px;left:10px;width:calc(100% - 20px);padding:10px;border-radius:18px 18px 0 0}.gift-bow{transform:translate(-50%) rotate(-12deg) scale(.8);top:16%}}.touchdown-celebration{position:absolute;inset:0;isolation:isolate;display:grid;place-items:center;text-align:center}.touchdown-confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}.touchdown-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 47%,#edf5ffe8 0%,#edf5ffb5 32%,#eaf3ff25 68%,transparent 85%);z-index:-1}.touchdown-message{position:relative;z-index:2;width:100%;padding:100px 20px 105px;display:flex;align-items:center;flex-direction:column}.touchdown-tag{display:flex;align-items:center;justify-content:center;gap:9px;font-size:9px;letter-spacing:.13em;font-weight:800;color:#1a47a2}.arrival .touchdown-title{margin:20px 0 12px;font-family:Bricolage Grotesque Variable,sans-serif;font-size:clamp(64px,min(13vw,14vh),150px);letter-spacing:-.065em;line-height:.87;font-weight:800;color:#1d5bff;text-shadow:0 3px 0 #fff,0 7px 0 #b2cbff,0 18px 40px #184ca326}.touchdown-title>span{display:block;transform-origin:center center}.touchdown-title>span:last-child{font-family:Georgia,serif;font-style:italic;font-size:1.2em;font-weight:700;color:#17386d;margin-top:10px;text-shadow:0 3px 0 #fff,0 5px 0 #b7cce7}.touchdown-message>p{font-size:13px;line-height:1.5;font-weight:600;margin:20px 0 23px}.touchdown-welcome{font-size:9px;letter-spacing:.2em;display:grid;align-items:center;min-height:54px;color:#45678e}.touchdown-continue{position:relative;z-index:6}.has-touchdown .arrival-top{visibility:hidden}.has-touchdown .arrival-bottom{z-index:6}@media(max-width:600px){.arrival .touchdown-title{font-size:clamp(60px,15vw,90px);line-height:.95}.touchdown-message{padding:95px 15px 105px}.touchdown-tag{font-size:7px;letter-spacing:.1em}.touchdown-message>p{font-size:11px}.touchdown-continue{font-size:11px;gap:20px}}@media(max-height:620px)and (min-width:601px){.arrival .touchdown-title{font-size:64px}.touchdown-message{padding:80px 20px}.touchdown-tag{font-size:8px}.touchdown-message>p{margin:14px 0}.touchdown-continue{min-height:44px}}@media(prefers-reduced-motion:reduce){.touchdown-confetti{display:none}}.official-gopaddi-logo{position:relative;display:block;width:40px;height:40px;isolation:isolate}.official-gopaddi-logo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill}.official-gopaddi-logo .logo-glow{object-fit:contain;transform:scale(.82);mix-blend-mode:hard-light}.official-gopaddi-logo .logo-mark{transform:scale(.755,.375)}@media(max-width:600px){.official-gopaddi-logo{width:34px;height:34px}}.album-chapter .chapter-sheet{background:#f7f4eb;padding-bottom:130px}.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.album-reel{max-width:560px;margin:0 auto;padding:10px 10px 16px;border-radius:25px;background:#fffaf2;color:#10264d;border:1px solid #fff;box-shadow:inset 0 3px 5px #fff8,0 12px 17px #667dc430}.album-reel-photo{display:block;width:100%;aspect-ratio:4 / 3;padding:0;position:relative;overflow:hidden;border-radius:18px;background:#dce8ff;color:inherit}.album-photo-frame{position:absolute;inset:0}.album-photo-frame img,.album-photo-frame .album-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%}.album-progress{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;height:3px;border-radius:3px;background:#fff6;overflow:hidden}.album-progress i{display:block;height:100%;width:100%;background:#fff;transform-origin:left center;animation:album-fill 4.5s linear}.album-reel.paused .album-progress i{animation-play-state:paused}.album-reel-bar{display:flex;align-items:end;justify-content:space-between;gap:16px}@keyframes album-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.album-frame{display:flex;flex-direction:column;min-height:320px;padding:10px 10px 16px;border-radius:25px;background:#fffaf2;color:#10264d;text-align:left;border:1px solid #fff;box-shadow:inset 0 3px 5px #fff8,0 12px 17px #667dc430;transition:transform .3s}.album-photo,.album-stage{position:relative;overflow:hidden;border-radius:18px;background:#dce8ff}.album-photo{flex:1;min-height:190px}.album-photo img,.album-stage img,.album-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.album-meta{display:flex;flex-direction:column;gap:4px;padding:14px 8px 0}.album-meta small{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.65}.album-meta b{font-family:Bricolage Grotesque Variable,sans-serif;font-size:16px;font-weight:700;letter-spacing:-.03em;line-height:1.25}.album-still.tone-runway{background:linear-gradient(#c5dcff 0 46%,#8eaf8a 46% 100%)}.album-still.tone-runway:before{content:"";position:absolute;left:50%;bottom:0;width:22%;height:54%;transform:translate(-50%);background:repeating-linear-gradient(to bottom,#f7f4eb 0 16px,transparent 16px 30px)}.album-still.tone-window{background:linear-gradient(#9ec4ff,#1d5bff)}.album-still.tone-window:before{content:"";position:absolute;inset:12% 18% 14%;border:12px solid #f7f4eb;border-radius:46%;background:radial-gradient(circle at 30% 72%,#fff 0 16%,transparent 17%),linear-gradient(#d7ecff,#7eb6ff);box-shadow:0 8px #d5ccb4}.album-still.tone-crew{background:radial-gradient(circle at 28% 58%,#1d5bff 0 18%,transparent 19%),radial-gradient(circle at 50% 40%,#f4d58d 0 22%,transparent 23%),radial-gradient(circle at 72% 58%,#75d5dc 0 18%,transparent 19%),linear-gradient(#f7f4eb,#e7eefc)}.album-still.tone-mail{background:linear-gradient(160deg,#91b1ff,#1d5bff)}.album-still.tone-mail:before{content:"";position:absolute;inset:20% 14% 18%;border-radius:10px;background:linear-gradient(135deg,transparent 50%,#d5e4ff 51%) left top / 50% 42% no-repeat,linear-gradient(225deg,transparent 50%,#d5e4ff 51%) right top / 50% 42% no-repeat,#fffaf2;box-shadow:0 10px #c5d4f2}.album-still.tone-cake{background:linear-gradient(#fffaf2,#e4ebff)}.album-still.tone-cake:before{content:"";position:absolute;left:24%;right:24%;bottom:18%;height:38%;border-radius:0 0 46% 46%/0 0 30% 30%;background:linear-gradient(90deg,#adbfff,#eff3ff 40%,#87a5f3)}.album-still.tone-cake:after{content:"";position:absolute;left:24%;right:24%;bottom:46%;height:16%;border-radius:50%;background:radial-gradient(ellipse,#fff,#c5d6ff);box-shadow:0 -28px 0 -6px #ffdf84}.album-still.tone-map{background:radial-gradient(circle at 22% 68%,#1d5bff 0 7px,transparent 8px),radial-gradient(circle at 50% 44%,#1d5bff 0 7px,transparent 8px),radial-gradient(circle at 76% 28%,#f4d58d 0 9px,transparent 10px),linear-gradient(#dce8ff,#f7f4eb)}.album-still.tone-map:before{content:"";position:absolute;left:20%;top:26%;width:54%;height:42%;border-top:3px dashed #1d5bff;border-radius:80% 0 0;transform:rotate(12deg)}.album-dialog{position:relative;border:0;border-radius:24px;padding:18px 18px 8px;max-width:860px;width:calc(100% - 35px);color:#10264d;background:#f8f7f1;box-shadow:0 30px 90px #132c6450}.album-dialog::backdrop{background:#12336870;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.album-stage{aspect-ratio:4 / 3}.album-dialog-bar{display:flex;align-items:end;justify-content:space-between;gap:16px;padding-bottom:10px}.album-dialog .album-meta{padding-left:6px}.album-dialog .album-meta b{font-size:22px}.album-nav{display:flex;gap:8px;flex-shrink:0}@media(hover:hover)and (pointer:fine){.album-frame:hover{transform:translateY(-5px) rotate(-1deg)}}@media(max-width:900px){.album-grid{grid-template-columns:1fr 1fr;gap:15px}.album-frame{min-height:280px;border-radius:19px}}@media(max-width:600px){.album-grid{grid-template-columns:1fr}.album-frame{min-height:300px}.album-dialog{padding:16px 16px 6px}.album-dialog-bar{align-items:start;flex-direction:column}.album-dialog .album-meta b{font-size:18px}}:root{--ink: #10264d;--muted: #415372;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-shift: cubic-bezier(.77, 0, .175, 1);--press-duration: .16s;--word-duration: .9s;--letter-duration: .85s;--halo-duration: 1.6s;color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.loading-track,.letter-navigation,.gifts-footer,.chapter-dock{font-variant-numeric:tabular-nums}.world-wash{background:linear-gradient(90deg,#edf5fff2 0%,#edf5ff9e 29%,transparent 60%)}.arrival-copy>p{color:#10264d;font-weight:550}.arrival-date,.chapter-number,.stop-index,.timeline p,.captain-footer p,.letter-navigation i,.gifts-footer>span,.gift-message>span,.credits-note,.on-paper .edition{opacity:1;color:var(--muted)}.chapter-number,.small-label,.tap-note{font-weight:750}.timeline .small-label{color:#2e4770}.department-list button{color:#304766;background:#fffaf2;font-size:11px;min-height:40px;padding:10px 14px}.department-list button.selected{color:#fff;background:#143467}.chapter-dock{border:0;padding:6px;border-radius:30px;background:#fffcf7;box-shadow:0 1px 2px #10264d12,0 6px 24px #10264d29}.chapter-dock button{color:#304766;min-width:40px;min-height:40px;border-radius:24px}.chapter-dock button.active{color:#fff}.round-button{background:#fffcf7;border:0;box-shadow:0 0 0 1px #10264d1c,0 2px 4px #10264d0a}.credits-button{width:40px;height:40px}.wordmark{min-width:40px;min-height:40px}.official-gopaddi-logo{outline:1px solid rgba(0,0,0,.1);outline-offset:-1px;border-radius:8px}.story-header.on-blue .edition,.finale-chapter .chapter-number,.finale-copy>p{color:#fff;opacity:1}.finale-copy .small-label{color:#fff}.gift-name{padding:5px 9px;left:14px;bottom:14px;border-radius:10px;background:#fffaf2;color:#10264d;box-shadow:0 2px 5px #10264d15}.gift-message{background:#fffaf2f5;color:#10264d}.gift-message>span{font-size:10px}.gift-action{color:#10264d;background:#fffaf2;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;bottom:18px;right:16px}.gift-action>span{display:grid;place-items:center}.gift-box{perspective:800px;transition:transform .22s var(--ease-out),scale var(--press-duration) var(--ease-out)}.gift-bow{transition:transform .28s var(--ease-out),opacity .16s var(--ease-out)}.gift-message{transform:translateY(18px) rotateX(-9deg);transform-origin:50% 100%;transition:transform .26s var(--ease-out),opacity .18s var(--ease-out)}.unwrapped .gift-message{transform:translateY(0) rotateX(0)}.unwrapped .gift-bow{transform:translate(-50%) translateY(-120px) rotate(45deg)}.mail-stack,.mail-behind{transition:transform .26s var(--ease-out)}.is-open .mail-behind.one{transform:rotate(-12deg) translate(-16px,-12px)}.is-open .mail-behind.two{transform:rotate(8deg) translate(16px,8px)}.letter-content{transform:translateY(104%) rotateX(-9deg);transform-origin:50% 100%;transition:transform .24s var(--ease-out)}.is-open .letter-content{transform:translateY(0) rotateX(0)}.mail-seal{transition:transform .2s var(--ease-out),opacity .16s var(--ease-out)}.is-open .mail-seal{transform:rotate(20deg) scale(.94);opacity:0}.birthday-story button{transition-timing-function:var(--ease-out)}.birthday-story button:active{scale:.96}.primary-button,.round-button,.text-button,.department-list button,.chapter-dock button,.mail-card{transition:transform .18s var(--ease-out),scale var(--press-duration) var(--ease-out),background-color .18s var(--ease-out),color .18s var(--ease-out),box-shadow .18s var(--ease-out)}.text-button,.arrival-bottom button{min-height:40px}button:focus-visible,a:focus-visible{outline:3px solid #153fe5;outline-offset:4px;box-shadow:0 0 0 7px #fff}.primary-button{padding-right:21px}@media(hover:hover)and (pointer:fine){.primary-button:hover{transform:translateY(-3px)}.round-button:hover{transform:translateY(-2px)}.gift-box:hover{transform:translateY(-5px) rotate(-1.5deg)}.text-button:hover svg,.primary-button:hover svg{transform:translateY(2px)}}.primary-button svg,.text-button svg{transition:transform .18s var(--ease-out)}@media(hover:none),(pointer:coarse){.primary-button:hover,.round-button:hover,.gift-box:hover{transform:none}.primary-button:hover{box-shadow:0 4px #1649c4,0 12px 30px #1d5bff20}}.touchdown-glow{z-index:0;background:radial-gradient(ellipse at 50% 45%,#051441fa,#091d54e3 44%,#081841c2)}.touchdown-message{perspective:1100px}.touchdown-tag{color:#fff;font-size:10px;letter-spacing:.12em}.arrival .touchdown-title{color:#fffdf5;text-shadow:0 3px 0 #9db7ff,0 7px 0 #214390,0 13px 22px #0005;perspective:900px}.arrival .touchdown-title>.celebration-name{color:#ffd46b;text-shadow:0 3px 0 #bc792e,0 7px 0 #713f19,0 14px 26px #0005;transform:rotate(-6deg);margin-top:12px}.touchdown-message>p{color:#fff;font-size:14px;font-weight:550}.touchdown-welcome{color:#fff;font-weight:600}.touchdown-continue{background:#fffdf5;color:#10264d;box-shadow:0 4px #b4c7ec,0 12px 30px #0004}.touchdown-continue:hover{box-shadow:0 7px #b4c7ec,0 15px 35px #0005}.touchdown-continue:active{box-shadow:0 1px #b4c7ec}.has-touchdown .arrival-bottom,.story-header.over-celebration{color:#fff}.story-header.over-celebration .official-gopaddi-logo{outline-color:#ffffff1a}.celebration-word{animation:birthday-fold var(--word-duration) var(--word-delay) both var(--ease-out);transform-origin:center 80%;backface-visibility:hidden}.word-1{--entry-turn: -12deg}.word-0{--entry-turn: 12deg}.celebration-letter{display:inline-block;animation:birthday-letter var(--letter-duration) var(--letter-delay) both cubic-bezier(.16,1,.3,1);transform-origin:50% 80%}.celebration-halo{position:absolute;z-index:1;width:min(66vw,590px);aspect-ratio:1;border:1px solid #6997ff4d;border-radius:50%;box-shadow:0 0 0 40px #6997ff0a,0 0 0 80px #6997ff06;animation:birthday-halo var(--halo-duration) .1s both var(--ease-out);pointer-events:none}.celebration-sparks{position:absolute;inset:0;z-index:1;display:grid;place-items:center;pointer-events:none}.celebration-sparks>span{position:absolute;color:#ffd46b;font-size:clamp(24px,4vw,50px);text-shadow:0 0 18px #ffd46b35;animation:birthday-spark 1.25s var(--spark-delay) both var(--ease-out)}@keyframes birthday-fold{0%{opacity:0;transform:translate3d(0,58px,0) rotateX(65deg) rotate(var(--entry-turn)) scale(.94)}55%{opacity:1;transform:translate3d(0,-7px,0) rotateX(-7deg) rotate(-1deg) scale(1.025)}to{opacity:1;transform:translateZ(0) rotateX(0) rotate(0) scale(1)}}@keyframes birthday-letter{0%{opacity:0;transform:translate3d(0,70px,0) rotate(var(--letter-tilt)) scale(.94)}50%{opacity:1;transform:translate3d(0,-12px,0) rotate(-3deg) scale(1.1)}78%{transform:translate3d(0,4px,0) rotate(1deg) scale(.99)}to{opacity:1;transform:translateZ(0) rotate(0) scale(1)}}@keyframes birthday-halo{0%{opacity:0;transform:scale(.94)}35%{opacity:1}to{opacity:.65;transform:scale(1.25)}}@keyframes birthday-spark{0%{opacity:0;transform:rotate(var(--spark-angle)) translateY(-95px) rotate(0) scale(.94)}35%{opacity:1}to{opacity:0;transform:rotate(var(--spark-angle)) translateY(clamp(-350px,-38vw,-175px)) rotate(110deg) scale(1.1)}}@media(max-width:600px){.world-wash{background:linear-gradient(180deg,#edf5ffed,#edf5ff8c 42%,transparent 70%)}.touchdown-tag{font-size:9px;max-width:285px;line-height:1.5}.touchdown-message>p{font-size:12px}.chapter-number,.small-label{font-size:10px;letter-spacing:.09em}.gift-name{font-size:12px;padding:5px 7px;left:10px;bottom:13px}.gift-action{width:24px;height:24px;right:10px;bottom:14px}.chapter-dock{gap:0;padding:5px;border-radius:29px}.chapter-dock button{padding:10px 8px;min-width:38px;min-height:40px}.chapter-dock button.active b{font-size:9px}.department-list button{font-size:10px;padding:9px 12px}.gift-message>span{font-size:9px}}.keyboard-motion *,.quiet-celebration *{animation:none!important;transition-duration:0ms!important}.keyboard-motion button:active{scale:1}@media(prefers-reduced-motion:reduce){.celebration-word,.celebration-letter,.celebration-halo,.celebration-sparks>span{animation:none!important}.celebration-sparks{display:none}.birthday-story button:active{scale:1}}.quiet-celebration .celebration-sparks{display:none}@media(max-width:900px){.phase-landed .arrival-bottom{bottom:86px}}@media(min-width:601px)and (max-width:900px){.gift-name{font-size:14px;left:11px;padding-inline:8px}}@media(max-width:600px){.chapter-dock button{min-width:40px}.mail-stack{aspect-ratio:1.05}.letter-content{padding:25px 22px 38px}}.quiet-celebration .touchdown-confetti{display:none}:root{--blue: #1d5bff;--porcelain: #f5f7fc;--champagne: #f4d58d;--teal-ink: #176474}.gifts-chapter .chapter-sheet{background:#eaf0fc}.crew-chapter .chapter-sheet{background:#f8f7f2}.chapter-number{color:#425674}.department-list button.selected{background:var(--blue)}.mail-seal{background:radial-gradient(circle at 35% 25%,#4b81ff,#1d5bff 60%,#1641b6);color:#fff;box-shadow:inset 0 1px 2px #ffffff70,0 4px #143b9e,0 7px 13px #15378c29}.stamp{color:#174ccb;border-color:#8ca9de}.stop-index{color:#174ccb;background:#f8faff;box-shadow:0 0 0 1px #b9cbeb,0 3px #b9cbeb}.tiny-plane{display:inline-block;vertical-align:middle}.round-button svg,.primary-button svg,.text-button svg{flex-shrink:0}.mail-state-icon{display:inline-flex;animation:icon-arrive .24s var(--ease-out) both}.gift-box{--gift-light: #669bff;--gift-dark: #1d5bdf;--gift-ink: #1745b7;background:radial-gradient(ellipse at 25% 0%,#ffffff52,transparent 60%),linear-gradient(145deg,var(--gift-light),var(--gift-dark));border:1px solid #ffffff70;box-shadow:inset 0 2px 2px #ffffffa6,inset 0 -4px 6px #10264d1f,0 2px #10264d21,0 10px 18px #1936631c}.gift-1{--gift-light: #e6edff;--gift-dark: #a5bde9;--gift-ink: #1745b7}.gift-2{--gift-light: #4c728d;--gift-dark: #183f5c;--gift-ink: #234a64}.gift-3{--gift-light: #bce6e2;--gift-dark: #70b3bc;--gift-ink: #176474}.gift-4{--gift-light: #f5e9cb;--gift-dark: #d7be87;--gift-ink: #775721}.gift-5{--gift-light: #497fe6;--gift-dark: #254da8;--gift-ink: #1745b7}.gift-emblem{position:absolute;top:15px;left:16px;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;color:var(--gift-ink);background:#fbfcff;box-shadow:inset 0 1px #fff,0 2px #10264d22,0 3px 8px #10264d1a;transform:rotate(-8deg);transition:transform .24s var(--ease-out),opacity .14s}.unwrapped .gift-emblem{opacity:0;transform:translateY(-24px) rotate(14deg)}.gift-bow:before,.gift-bow:after{border-color:#edf3ffcc}.gift-bow i{background:linear-gradient(135deg,#fff,#b7cbed)}.gift-name{background:#fbfcff;box-shadow:0 1px #ffffff80,0 2px 5px #10264d15}.gift-action{background:#fbfcff;color:var(--gift-ink)}.gift-message{background:#fbfcfff5;padding-top:18px;padding-bottom:30px}.gift-message .virtue-icon{color:var(--gift-ink);flex-shrink:0}.unwrapped .virtue-icon{animation:virtue-unfold .65s var(--ease-out) both}.unwrapped .gift-ribbon,.unwrapped .gift-name{opacity:0}.gift-name{transition:opacity .14s var(--ease-out)}.gift-sparks{position:absolute;inset:0;z-index:4;pointer-events:none}.gift-sparks svg{position:absolute;top:55%;left:var(--spark-x);color:var(--champagne);animation:gift-spark .8s var(--spark-delay) var(--ease-out) both}.gift-sparks svg:nth-child(2n){color:#2c65e1}.gift-sparks svg:nth-child(3n){color:#399eaa}.chapter-dock button{position:relative;isolation:isolate}.chapter-dock button.active{background:transparent}.dock-active-pill{position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--blue);box-shadow:inset 0 1px 1px #ffffff4d,0 2px 3px #1745b72b}.dock-icon{flex-shrink:0}.chapter-dock .active .dock-icon{animation:icon-arrive .36s var(--ease-out) both}.celebration-sparks>span{display:flex;color:var(--champagne)}.arrival .touchdown-title>.celebration-name{color:var(--champagne)}@keyframes icon-arrive{0%{opacity:0;transform:translateY(5px) rotate(-12deg) scale(.85)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes virtue-unfold{0%{opacity:0;transform:translateY(16px) rotate(-18deg) scale(.94)}60%{opacity:1;transform:translateY(-3px) rotate(8deg) scale(1.12)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes gift-spark{0%{opacity:0;transform:translateY(12px) rotate(0) scale(.8)}20%{opacity:1}to{opacity:0;transform:translateY(-105px) rotate(var(--spark-turn)) scale(1.2)}}@media(hover:hover)and (pointer:fine){.gift-box:not(.unwrapped):hover .gift-bow{transform:translate(-50%) translateY(-5px) rotate(7deg)}.gift-box:hover .gift-emblem{transform:rotate(3deg) translateY(-2px)}.chapter-dock button:not(.active):hover{background:#eaf0fc;color:#174ccb}.mail-card:hover .mail-state-icon{transform:rotate(-8deg)}}@media(max-width:600px){.gift-emblem{top:12px;left:12px;width:30px;height:30px;border-radius:10px}.gift-emblem svg{width:19px;height:19px}.gift-message .virtue-icon{width:26px;height:26px}.chapter-dock button{padding-inline:9px}.chapter-dock button.active{padding-inline:12px}}@media(prefers-reduced-motion:reduce){.gift-sparks{display:none}.virtue-icon,.mail-state-icon,.chapter-dock .active .dock-icon{animation:none!important}}.keyboard-motion .gift-sparks{display:none}.gift-message{-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:inherit}.gift-box.unwrapped{background:#fbfcff}.journey-chapter .chapter-sheet{background:#edf2fc}.journey-chapter h2{margin-bottom:42px}.timeline{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;align-items:stretch}.timeline-stop{grid-column:span 2;display:flex;flex-direction:column;gap:0;min-width:0;border:0;padding:clamp(22px,2.3vw,34px);border-radius:26px;background:#fcfdff;box-shadow:0 0 0 1px #14346b09,0 2px 3px #14346b05,0 12px 28px #14346b08;text-align:left}.timeline-stop:nth-child(n+4){grid-column:span 3}.milestone-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.milestone-symbol{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:#edf2ff;color:#1b50d1;box-shadow:inset 0 1px 1px #fff,0 2px 3px #183f7e0a}.timeline .stop-index{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;align-self:center;width:auto;height:30px;padding:0 10px;border-radius:9px;font-size:12px;line-height:1;color:#274474;background:#edf2fa;box-shadow:none;opacity:1}.stop-index>span{font-size:10px;color:#576986}.timeline .small-label{display:block;font-size:9px;line-height:1.6;letter-spacing:.07em;color:#4a5f80}.timeline h3{margin:10px 0 15px;font-size:clamp(23px,2vw,29px);line-height:1.13;letter-spacing:-.035em;text-wrap:pretty;max-width:27ch}.timeline p{font-size:13px;line-height:1.75;color:#415372;opacity:1;max-width:54ch}.milestone-copy{flex:1;padding-bottom:26px}.milestone-route{position:relative;display:flex;align-items:center;gap:8px;border-top:1px dashed #cad6eb;padding-top:17px;color:#2857c5}.milestone-route>i{width:5px;height:5px;border-radius:50%;background:#d5deec}.milestone-route>i.reached{background:#2857c5}.milestone-route>svg{margin-left:auto}.milestone-1 .milestone-symbol{color:#39586f;background:#eaf0f5}.milestone-3 .milestone-symbol{color:#176474;background:#e6f3f1}.timeline-stop.milestone-4{background:#174dd4;color:#fff;box-shadow:inset 0 1px #ffffff30,0 10px 24px #174dd426}.milestone-4 .milestone-symbol{background:#fff;color:#174dd4}.milestone-4 .stop-index{background:#103a9c;color:#fff}.milestone-4 .stop-index>span{color:#d7e4ff}.milestone-4 .small-label,.milestone-4 p{color:#eff4ff}.milestone-4 .milestone-route{color:#fff;border-color:#ffffff50}.milestone-4 .milestone-route>i.reached{background:#f4d58d}.header-actions{display:flex;align-items:center;gap:10px}.sound-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 13px;border-radius:22px;color:#193660;background:#fffcf7;box-shadow:0 0 0 1px #10264d1c,0 2px 4px #10264d0a;font-size:11px;font-weight:650;transition:scale .16s var(--ease-out),background-color .16s var(--ease-out)}.sound-button[aria-pressed=false]{color:#53647c}@media(max-width:1000px)and (min-width:601px){.timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.timeline-stop,.timeline-stop:nth-child(n+4){grid-column:auto}.timeline-stop:last-child{grid-column:1 / -1}.timeline-stop{padding:25px}}@media(max-width:600px){.timeline{grid-template-columns:minmax(0,1fr);gap:16px}.timeline-stop,.timeline-stop:nth-child(n+4){grid-column:auto;padding:24px;border-radius:24px}.journey-chapter h2{margin-bottom:30px}.timeline h3{font-size:26px;margin-top:9px}.timeline p{font-size:13px;line-height:1.7}.timeline .small-label{font-size:9px}.milestone-top{margin-bottom:22px}.milestone-symbol{width:48px;height:48px;border-radius:15px}.header-actions{gap:8px}.sound-button{width:40px;padding:0}.sound-button>span{display:none}}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
