:root{--space:#010828;--space-deep:#000415;--cream:#eff4ff;--cream-muted:#eff4ffad;--neon:#6fff00;--violet:#9b6dff;--grotesk:"Permanent Marker", "Arial Narrow", sans-serif;--script:"Condiment", cursive;--sans-cn:"Noto Sans SC", "Microsoft YaHei", sans-serif;--brush:"Ma Shan Zheng", "Kaiti SC", "STKaiti", "KaiTi", var(--sans-cn);--intro-brush:"Zhi Mang Xing", "Ma Shan Zheng", "Kaiti SC", "STKaiti", "KaiTi", sans-serif;--mono:"Caveat", "Ma Shan Zheng", "Kaiti SC", "STKaiti", "KaiTi", var(--sans-cn)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--space);-webkit-tap-highlight-color:transparent;scroll-padding-top:88px}body{background:var(--space);color:var(--cream);font-family:var(--sans-cn);margin:0;overflow-x:hidden}button,a{color:inherit;font:inherit}button{touch-action:manipulation;border:0}a{text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--neon);outline-offset:5px}.texture-overlay{z-index:50;pointer-events:none;opacity:.2;mix-blend-mode:screen;background-image:radial-gradient(circle at 15% 20%,#ffffff6b 0 .5px,#0000 .7px),radial-gradient(circle at 78% 64%,#ffffff47 0 .6px,#0000 .8px);background-size:9px 9px,13px 13px;position:fixed;inset:0}.liquid-glass{background-blend-mode:luminosity;-webkit-backdrop-filter:blur(10px);background:#ffffff09;border:0;position:relative;overflow:hidden;box-shadow:inset 0 1px 1px #ffffff24}.liquid-glass:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(#ffffff7a,#ffffff1a 26%,#0000 48%,#ffffff1f 78%,#ffffff61);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.video-shade{background:linear-gradient(90deg,#010828d1,#0108280d 70%),linear-gradient(#0000 45%,#01082880);position:absolute;inset:0}.birthday-character-3d{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;overflow:visible}.birthday-character-3d:before{content:"";z-index:-1;filter:blur(12px);background:radial-gradient(#010828eb 0 44%,#0108289e 66%,#0000 80%);border-radius:50%;position:absolute;inset:7% -10% 2%}.birthday-character-3d canvas{width:100%;height:100%;display:block}.hero-character-3d-position{z-index:2;filter:drop-shadow(0 18px 28px #0004156b);width:clamp(280px,34vw,520px);height:clamp(330px,52vh,590px);bottom:clamp(2%,6vh,9%);right:clamp(15%,24vw,31%)}.story-character-3d-position{z-index:1;opacity:.88;filter:drop-shadow(0 18px 30px #0004157a);width:clamp(280px,34vw,520px);height:clamp(330px,52vh,590px);bottom:clamp(2%,8vh,12%);right:clamp(3%,9vw,13%)}.finale-character-3d-position{z-index:2;filter:drop-shadow(0 20px 34px #0004157a);width:clamp(300px,36vw,560px);height:clamp(360px,56vh,630px);bottom:clamp(3%,8vh,12%);left:clamp(6%,13vw,18%)}.gifts-character-3d-position{z-index:1;opacity:.32;filter:drop-shadow(0 16px 26px #0004155c);width:clamp(240px,28vw,430px);height:clamp(300px,44vh,520px);top:12%;right:5%}.script-accent{color:var(--neon);font-family:var(--script);text-transform:none;margin:0;font-weight:400;line-height:.8}.section-number,.eyebrow{color:var(--cream-muted);font:500 14px/1.4 var(--mono);letter-spacing:.18em;margin:0}.hero-section{isolation:isolate;background:radial-gradient(circle at 84% 18%,#f4788466,#0000 18%),radial-gradient(circle at 72% 72%,#69d0d93d,#0000 34%),linear-gradient(135deg,#071b48 0%,#080b2a 62%,#120925 100%);border-radius:0 0 32px 32px;min-height:100svh;position:relative;overflow:hidden}.site-header{z-index:4;grid-template-columns:1fr auto 1fr;align-items:center;width:min(1831px,100% - 48px);height:104px;margin:0 auto;display:grid;position:relative}.wordmark{font:400 17px/1 var(--grotesk);letter-spacing:.06em;justify-self:start}.main-nav{border-radius:28px;gap:44px;padding:20px 44px;display:flex}.main-nav a,.header-note{font:400 13px/1 var(--grotesk);letter-spacing:.06em}.main-nav a{transition:color .18s}.main-nav a:hover{color:var(--neon)}.header-note{cursor:pointer;border-bottom:2px solid var(--neon);background:0 0;justify-self:end;padding:10px 0}.nav-toggle{cursor:pointer;background:#ffffff0d;border-radius:14px;flex-direction:column;justify-content:center;justify-self:end;align-items:stretch;gap:5px;width:46px;height:44px;padding:0 13px;display:none}.nav-toggle-bar{background:var(--cream);border-radius:99px;width:100%;height:2px;transition:transform .22s cubic-bezier(.23,1,.32,1),opacity .22s;display:block}.nav-toggle.is-open .nav-toggle-bar:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle.is-open .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle.is-open .nav-toggle-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hero-content{z-index:3;width:min(1280px,100% - 48px);margin:clamp(90px,13vh,160px) auto 0;position:relative}.hero-content h1{max-width:1040px;font:900 clamp(46px, 7.3vw, 116px)/.98 var(--grotesk);letter-spacing:-.035em;text-transform:uppercase;margin:28px 0 0}.hero-content h1 span{font-family:var(--sans-cn);letter-spacing:-.035em;margin-left:clamp(28px,8vw,130px);font-size:.7em;font-weight:900;display:block}.hero-script{z-index:2;--hero-script-angle:-4deg;transform:rotate(var(--hero-script-angle));mix-blend-mode:exclusion;font-size:clamp(38px,5vw,78px);position:absolute;top:clamp(116px,14vw,208px);left:clamp(240px,47vw,700px)}.hero-copy{color:#eff4ffd1;font:500 17px/1.9 var(--mono);letter-spacing:.06em;margin:36px 0 0}html.js main:not([data-gate-reveal=true]) .hero-section .site-header,html.js main:not([data-gate-reveal=true]) .hero-section .hero-content>*,html.js main:not([data-gate-reveal=true]) .hero-section .hero-index,html.js main:not([data-gate-reveal=true]) .hero-section .hero-character-3d-position{visibility:hidden;opacity:0;transform:translateY(14px)}.hero-section .site-header,.hero-section .hero-content>*,.hero-section .hero-index,.hero-section .hero-character-3d-position{will-change:transform, opacity}.primary-cta,.wish-button{min-width:220px;color:var(--cream);cursor:pointer;border-radius:999px;justify-content:space-between;align-items:center;margin-top:30px;padding:16px 20px;font-size:13px;transition:background-color .18s,color .18s,transform .18s;display:inline-flex}.hero-index{z-index:3;color:#eff4ff9e;font:500 12px/1 var(--mono);letter-spacing:.16em;writing-mode:vertical-rl;align-items:center;gap:24px;display:flex;position:absolute;bottom:30px;right:30px}.story-section{isolation:isolate;background:radial-gradient(circle at 60% 32%,#a6ddff33,#0000 26%),radial-gradient(circle at 20% 70%,#724fc138,#0000 30%),linear-gradient(155deg,#101947 0%,#07091d 100%);min-height:100svh;margin-top:-32px;padding:clamp(140px,16vw,240px) 24px clamp(90px,10vw,150px);position:relative;overflow:hidden}.story-shade{background:radial-gradient(circle at 75% 45%,#0000 0,#0108282e 28%,#010828bd 75%),linear-gradient(#010828d1,#01082833 35%,#010828e0)}.story-layout{z-index:2;grid-template-columns:minmax(360px,.95fr) minmax(220px,.4fr) minmax(390px,.84fr);align-items:center;gap:clamp(24px,3.4vw,58px);width:min(1540px,100%);margin:0 auto;display:grid;position:relative}.story-heading{position:relative}.story-heading h2{font:400 clamp(48px, 6.6vw, 106px)/.98 var(--grotesk);margin:22px 0 0}.story-heading .script-accent{width:max-content;margin:18px 0 0 clamp(42px,5vw,76px);font-size:clamp(40px,4.7vw,70px);display:block;position:relative;transform:rotate(-5deg)}.story-character-slot{align-self:stretch;min-height:clamp(390px,44vw,560px);position:relative}.story-character-slot .story-character-3d-position{opacity:.96;width:min(31vw,430px);height:min(50vw,540px);inset:auto auto 34px 50%;transform:translate(-50%)}.story-character-slot>span{color:#eff4ff61;width:max-content;font:500 9px/1 var(--mono);letter-spacing:.18em;position:absolute;bottom:4px;right:50%;transform:translate(50%)}.story-letter{background:linear-gradient(145deg,#ffffff1b,#ffffff0b),#070b28c7;border-radius:34px;max-width:570px;padding:clamp(30px,4vw,58px);box-shadow:0 30px 80px #00041557}.story-letter>span,.story-letter small{color:var(--neon);font:500 13px/1.3 var(--mono);letter-spacing:.18em}.story-letter p{letter-spacing:.03em;margin:34px 0 0;font-size:clamp(16px,1.55vw,23px);line-height:1.85}.story-letter p+p{color:#eff4ffad;font:400 15px/1.9 var(--mono);letter-spacing:.11em}.story-letter small{color:#eff4ff8f;margin-top:50px;display:block}.story-background-text{z-index:1;color:#eff4ff0b;width:max-content;font:400 clamp(56px, 9vw, 150px)/.8 var(--grotesk);white-space:nowrap;margin:0;position:absolute;bottom:-.2em;left:50%;transform:translate(-50%)}.gifts-section{z-index:3;background:radial-gradient(circle at 85% 5%, #6fff0014, transparent 25%), var(--space);border-radius:32px 32px 0 0;margin-top:-32px;padding:clamp(120px,12vw,190px) 24px clamp(120px,14vw,220px);position:relative;overflow-x:clip}.section-heading{z-index:2;justify-content:space-between;align-items:end;gap:48px;width:min(1540px,100%);margin:0 auto;display:flex;position:relative}.section-heading h2{font:400 clamp(44px, 5.6vw, 92px)/1 var(--grotesk);margin:24px 0 0}.section-heading h2 .script-accent{padding:0 .14em 0 .04em;font-size:.8em;display:inline-block;transform:rotate(-4deg)}.heading-note{max-width:240px;color:var(--cream-muted);font:500 15px/1.8 var(--mono);text-align:right;margin:0 0 8px}.gift-grid{z-index:2;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:min(1540px,100%);margin:clamp(60px,7vw,110px) auto 0;display:grid;position:relative}.gift-card{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:32px;padding:16px;transition:transform .28s,background-color .28s}.gift-card.liquid-glass{-webkit-backdrop-filter:none;background:linear-gradient(165deg,#ffffff17,#ffffff08 45%,#ffffff0f)}.gift-card:after{content:"";background:linear-gradient(90deg, #6fff00b8, var(--neon));height:3px;transform:scaleX(var(--hold,0));transform-origin:0;opacity:0;pointer-events:none;transition:opacity .16s;position:absolute;bottom:0;left:0;right:0}.gift-card:has(.gift-reveal.is-holding):after{opacity:1}.gift-media{aspect-ratio:1;background:radial-gradient(circle at 50% 26%,#79ecd838,#0000 36%),linear-gradient(145deg,#102f58,#07102d 72%);border-radius:24px;position:relative;overflow:hidden}.gift-model-3d{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.gift-model-3d canvas{width:100%;height:100%;display:block}.gift-tint{z-index:1;background:linear-gradient(#0000 45%,#010828b8);position:absolute;inset:0}.gift-number{color:#eff4ffb8;font:400 14px/1 var(--grotesk);position:absolute;top:20px;left:22px}.gift-message{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;background:#01082894;place-items:center;padding:42px;transition:opacity .48s cubic-bezier(.23,1,.32,1),transform .48s cubic-bezier(.23,1,.32,1);display:grid;position:absolute;inset:0;transform:translateY(12px)}.gift-message p{letter-spacing:.04em;text-align:center;max-width:310px;margin:0;font-size:clamp(18px,1.8vw,28px);font-weight:700;line-height:1.75}.gift-card.is-open .gift-message{opacity:1;transition-delay:.12s;transform:none}.gift-meta{justify-content:space-between;align-items:center;gap:16px;min-height:105px;padding:22px 4px 3px 8px;display:flex}.gift-meta span{color:#eff4ff7a;font:500 12px/1.3 var(--mono);letter-spacing:.14em}.gift-meta h3{margin:9px 0 0;font-size:clamp(16px,1.35vw,21px);line-height:1.45}.gift-meta button{cursor:pointer;color:#fff;background:linear-gradient(135deg,#c34aff,#6556ff);border-radius:50%;flex:0 0 52px;width:52px;height:52px;transition:transform .22s,box-shadow .22s;position:relative;box-shadow:0 12px 30px #7e3fff61}.gift-meta button span{color:#fff;font:300 28px/1 var(--sans-cn)}.gift-reveal{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.gift-reveal-ring{pointer-events:none;opacity:0;width:calc(100% + 14px);height:calc(100% + 14px);transition:opacity .18s;position:absolute;top:-7px;left:-7px;overflow:visible;transform:rotate(-90deg)}.gift-reveal.is-holding .gift-reveal-ring{opacity:1}.gift-reveal-ring circle{fill:none;stroke-width:3px}.gift-reveal-ring-track{stroke:#eff4ff29}.gift-reveal-ring-fill{stroke:var(--neon);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--hold,0) * 100)}.gift-reveal.is-holding{transform:scale(.93)}.gift-card:has(.gift-reveal.is-holding){transform:translateY(-6px);box-shadow:0 0 0 1px #6fff0052,0 26px 60px #6fff0029}.gift-reveal.is-teaching{animation:.44s gift-teach}@keyframes gift-teach{0%,to{transform:translate(0)}22%{transform:translate(-5px)rotate(-7deg)}58%{transform:translate(5px)rotate(7deg)}82%{transform:translate(-3px)}}.gift-hold-hint{color:var(--cream);font:500 11px/1 var(--mono);letter-spacing:.06em;white-space:nowrap;opacity:0;pointer-events:none;background:#010828db;border-radius:999px;padding:6px 10px;font-style:normal;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 12px);right:0;transform:translateY(6px)}.gift-reveal.is-teaching .gift-hold-hint{opacity:1;transform:translateY(0)}.finale-section{isolation:isolate;background:radial-gradient(circle at 22% 58%,#6ed3cd38,#0000 28%),radial-gradient(circle at 82% 74%,#f478843d,#0000 24%),linear-gradient(145deg,#080c29 0%,#020516 100%);min-height:100svh;position:relative;overflow:hidden}.finale-shade{background:linear-gradient(90deg,#010828bd,#01082814 58%,#0108285c),linear-gradient(#0000 55%,#000415b8)}.finale-progress{z-index:8;pointer-events:none;width:min(620px,100% - 48px);height:0;margin:0 auto;position:sticky;top:0}.finale-progress ol{grid-template-columns:repeat(3,1fr);gap:18px;margin:0;padding:22px 0 0;list-style:none;display:grid}.finale-progress li{color:#eff4ff57;font:500 10px/1 var(--mono);letter-spacing:.12em;border-top:1px solid #eff4ff2e;grid-template-columns:24px 1fr;gap:8px;padding-top:9px;transition:color .3s,border-color .3s;display:grid}.finale-progress li strong{font:inherit}.finale-progress li.is-current,.finale-progress li.is-complete{color:var(--cream);border-color:#6fff00b8}.finale-progress li.is-current strong{color:var(--neon)}.finale-stage{z-index:2;position:relative}.finale-hero{min-height:100svh;position:relative}.finale-copy{z-index:3;width:min(760px,100% - 48px);margin-left:auto;padding:clamp(120px,16vh,190px) clamp(30px,8vw,130px) 40px 0;position:relative}.finale-copy>.script-accent{mix-blend-mode:exclusion;margin-left:-70px;font-size:clamp(42px,5.8vw,88px);transform:rotate(-4deg)}.finale-copy h2{letter-spacing:-.06em;margin:18px 0 0;font-size:clamp(42px,5.3vw,84px);font-weight:900;line-height:1.22}.finale-copy>p:not(.script-accent){color:var(--cream-muted);font:500 14px/1.9 var(--mono);letter-spacing:.16em;margin:36px 0 0}.wish-button{min-width:260px;margin-top:42px;font-weight:700}.wish-button:disabled{color:var(--space);cursor:default;background:var(--neon)}.finale-extras{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.record-player,.card-export{color:var(--cream);cursor:pointer;text-align:left;border-radius:999px;align-items:center;gap:12px;padding:12px 20px 12px 14px;transition:transform .18s,color .18s,box-shadow .18s;display:inline-flex}.record-player-copy strong,.card-export-copy strong{font-size:13px;font-weight:700;display:block}.record-player-copy small,.card-export-copy small{color:#eff4ff75;font:500 9px/1 var(--mono);letter-spacing:.16em;margin-top:3px;display:block}.record-player{--record-duration:16s;width:100%;color:var(--cream);isolation:isolate;border:1px solid #eff4ff21;grid-template-rows:minmax(150px,1fr) auto 2px;align-items:stretch;display:grid;position:relative;overflow:hidden}.record-player-stage{pointer-events:none;width:100%;min-height:150px;display:block;position:relative}.record-player-stage canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.record-player-fallback{opacity:1;transition:opacity .22s;display:block;position:absolute;inset:10% 8%}.record-player-stage[data-webgl=ready] .record-player-fallback{opacity:0}.fallback-disc{aspect-ratio:1;background:repeating-radial-gradient(circle,#0c101a 0 4px,#1b2333 5px 6px);border-radius:50%;width:min(48%,150px);position:absolute;top:50%;left:42%;transform:translate(-50%,-50%);box-shadow:0 14px 24px #00000052}.fallback-disc:after{content:"PYT";color:#182550;font:700 10px/1 var(--mono);letter-spacing:.08em;background:#efe3ba;border-radius:50%;place-items:center;display:grid;position:absolute;inset:34%}.fallback-arm{transform-origin:top;background:#c3ccda;border-radius:6px;width:6px;height:54%;position:absolute;top:23%;right:19%;transform:rotate(25deg);box-shadow:0 0 0 1px #ffffff40}.record-player-copy{z-index:2;min-height:48px;display:block;position:relative}.record-player-copy strong{color:var(--cream);transition:color .18s}.record-player.is-playing .record-player-copy strong{color:var(--neon)}.record-player.is-error .record-player-copy strong{color:#ffb09f}.record-player-progress{z-index:2;background:#eff4ff24;height:1px;margin-top:13px;display:block;position:relative;overflow:hidden}.record-player-progress i{background:linear-gradient(90deg,var(--neon),#d8ffbf);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.record-player.is-loading .record-player-progress i{transition:transform .5s;transform:scaleX(.08)}.record-player.is-playing .record-player-progress i{animation:record-playback-progress var(--record-duration) linear forwards}@keyframes record-playback-progress{to{transform:scaleX(1)}}.record-player.is-playing .fallback-disc{animation:1.85s linear infinite fallback-record-spin}@keyframes fallback-record-spin{to{transform:translate(-50%,-50%)rotate(360deg)}}.card-export-icon{flex:0 0 26px;width:26px;height:24px;display:block;position:relative}.card-export-icon:before,.card-export-icon:after{content:"";border:1px solid #eff4ff57;border-radius:5px;position:absolute}.card-export-icon:before{background:#6fff0024;inset:5px 8px 0 0}.card-export-icon:after{border-color:#6fff00bf;inset:0 0 5px 8px}.card-export.is-working{opacity:.72;cursor:progress}@media (hover:hover) and (pointer:fine){.record-player:hover,.card-export:hover{color:var(--neon);transform:translateY(-2px)}.record-player:hover{box-shadow:0 18px 54px #0000003d,inset 0 0 0 1px #6fff001a}}.card-preview{z-index:96;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#010828d6;place-items:center;padding:24px;animation:.26s both card-preview-in;display:grid;position:fixed;inset:0;overflow-y:auto}@keyframes card-preview-in{0%{opacity:0}to{opacity:1}}.card-preview-panel{text-align:center;border-radius:28px;flex-direction:column;width:min(420px,100%);min-height:0;max-height:100%;padding:18px;display:flex}.card-preview-panel img{object-fit:contain;border-radius:18px;width:100%;height:auto;min-height:0;display:block;box-shadow:0 24px 60px #00041599}.card-preview-panel p{color:var(--cream-muted);margin:16px 4px 0;font-size:12px;line-height:1.8}.card-preview-actions{gap:10px;margin-top:16px;display:flex}.card-preview-download,.card-preview-actions button{cursor:pointer;text-align:center;border-radius:999px;flex:1;padding:13px 16px;font-size:12.5px;font-weight:700}.card-preview-download{color:var(--space);background:var(--neon)}.card-preview-actions button{color:var(--cream);background:#eff4ff1a}@media (height<=620px){.card-preview{padding:12px}.card-preview-panel{border-radius:22px;padding:12px}.card-preview-panel img{flex:auto;width:auto;max-width:100%;margin:0 auto}.card-preview-panel p{margin-top:10px;font-size:11px;line-height:1.6}.card-preview-actions{margin-top:10px}.card-preview-download,.card-preview-actions button{padding:11px 14px}}.constellation{z-index:2;opacity:.56;align-items:center;display:flex;position:absolute;bottom:18%;left:7%}.constellation span{width:58px;height:58px;font:400 19px/1 var(--grotesk);border:1px solid #eff4ff73;border-radius:50%;place-items:center;display:grid;box-shadow:0 0 30px #eff4ff2e}.constellation i{background:#eff4ff6b;width:clamp(38px,6vw,96px);height:1px}.wish-is-lit .constellation{opacity:1;filter:drop-shadow(0 0 16px var(--neon));transition:opacity .7s,filter .7s}.finale-next-cue{width:min(430px,100%);color:var(--cream);cursor:pointer;text-align:left;background:0 0;border-top:1px solid #6fff008a;border-bottom:1px solid #eff4ff29;grid-template-columns:1fr auto;align-items:center;gap:5px 18px;margin-top:28px;padding:18px 0;animation:.62s cubic-bezier(.23,1,.32,1) both finale-act-in;display:grid}.finale-next-cue span{color:var(--neon);font:500 10px/1 var(--mono);letter-spacing:.16em}.finale-next-cue strong{letter-spacing:.04em;grid-column:1;font-size:14px}.finale-next-cue i{color:var(--neon);grid-area:1/2/3;font-size:24px;font-style:normal}.finale-stage-keepsake{grid-template-rows:auto auto;grid-template-columns:minmax(0,.9fr) minmax(430px,1fr);align-content:center;gap:34px clamp(64px,8vw,120px);width:min(1180px,100% - 48px);min-height:100svh;margin:0 auto;padding:clamp(130px,16vh,180px) 0 clamp(110px,14vh,160px);animation:.7s cubic-bezier(.23,1,.32,1) both finale-act-in;display:grid}.finale-stage-keepsake:before,.finale-stage-ritual:before{content:"";background:linear-gradient(90deg,#0000,#6fff006b,#0000);height:1px;position:absolute;top:0;left:0;right:0}.finale-stage-heading{align-self:center;position:relative}.finale-stage-heading>.script-accent{margin:18px 0 0 clamp(38px,5vw,72px);font-size:clamp(42px,5.4vw,78px);transform:rotate(-4deg)}.finale-stage-heading h2{font-family:var(--brush);letter-spacing:.03em;margin:20px 0 0;font-size:clamp(46px,5.5vw,78px);font-weight:400;line-height:1.18}.finale-stage-heading>p:last-child{max-width:500px;color:var(--cream-muted);margin:28px 0 0;font-size:15px;line-height:1.9}.finale-stage-keepsake .finale-extras{grid-template-columns:repeat(2,minmax(0,1fr));align-self:end;gap:14px;margin:0;display:grid}.finale-stage-keepsake .record-player,.finale-stage-keepsake .card-export{background:radial-gradient(circle at 84% 12%,#6fff001f,#0000 32%),#ffffff0e;border-radius:28px;flex-direction:column;justify-content:flex-end;align-items:flex-start;min-height:254px;padding:26px}.finale-stage-keepsake .record-player-stage,.finale-stage-keepsake .card-export-icon{margin-bottom:auto}.finale-stage-keepsake .record-player-copy strong,.finale-stage-keepsake .card-export-copy strong{font-size:15px}.finale-stage-keepsake .record-player-copy small,.finale-stage-keepsake .card-export-copy small{margin-top:8px;line-height:1.5}.finale-continue{border:1px solid var(--neon);width:100%;color:var(--space);background:var(--neon);cursor:pointer;border-radius:999px;grid-column:2;justify-content:space-between;align-items:center;padding:17px 20px;font-size:13px;font-weight:800;transition:transform .18s,filter .18s;display:flex}.finale-stage-ritual{background:radial-gradient(circle at 50% 34%,#f4788421,#0000 26%),radial-gradient(circle at 50% 72%,#6fff000f,#0000 30%);min-height:100svh;padding:clamp(130px,16vh,180px) 24px clamp(190px,22vh,260px);animation:.7s cubic-bezier(.23,1,.32,1) both finale-act-in}.finale-stage-heading-centered{text-align:center;width:min(820px,100%);margin:0 auto}.finale-stage-heading-centered>.script-accent{width:max-content;margin-left:auto;margin-right:auto}.finale-stage-heading-centered>p:last-child{margin-left:auto;margin-right:auto}.finale-stage-ritual .cake-stage{margin-top:68px}.finale-stage-ritual .wish-composer{margin-top:0}@keyframes finale-act-in{0%{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}.wish-moment{z-index:6;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.wish-moment>p{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0108288a;border:1px solid #ffffff4d;border-radius:999px;margin:0;padding:20px 28px;font-size:clamp(16px,2vw,24px);font-weight:700;animation:.9s both wish-arrive;box-shadow:0 20px 80px #0000004d}.confetti-field{position:absolute;inset:0;overflow:hidden}.confetti-field i{top:-8%;left:var(--x);background:var(--neon);width:6px;height:18px;animation:confetti-fall 2.8s var(--delay) ease-in both;position:absolute}.confetti-field i:nth-child(3n){background:var(--violet)}.confetti-field i:nth-child(3n+1){background:var(--cream)}footer{z-index:4;color:#eff4ff7a;font:500 12px/1.3 var(--mono);letter-spacing:.15em;justify-content:space-between;display:flex;position:absolute;bottom:28px;left:32px;right:32px}html.js .reveal:not([data-visible]){opacity:0;transform:translateY(28px)}.reveal{transition:opacity .72s,transform .72s cubic-bezier(.2,.78,.25,1)}@keyframes wish-arrive{0%{opacity:0;transform:translateY(24px)scale(.94)}to{opacity:1;transform:none}}@keyframes confetti-fall{0%{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:1}to{transform:translateY(115vh) rotate(var(--spin));opacity:.25}}@media (hover:hover) and (pointer:fine){.gift-card:hover{background:#ffffff12;transform:translateY(-8px)}.gift-meta button:hover{transform:rotate(8deg)scale(1.07);box-shadow:0 16px 38px #7e3fff8c}.primary-cta:hover,.wish-button:hover:not(:disabled){color:var(--space);background:var(--neon);transform:translateY(-2px)}.finale-next-cue:hover{color:var(--neon)}.finale-continue:hover{filter:brightness(1.12);transform:translateY(-2px)}}@media (width<=1180px) and (width>=981px){.story-layout{grid-template-columns:minmax(0,1fr) minmax(260px,.58fr)}.story-character-slot{min-height:400px}.story-character-slot .story-character-3d-position{width:300px;height:400px}.story-letter{grid-column:1/-1;justify-self:end;width:min(700px,72%)}}@media (width<=980px){.site-header{grid-template-columns:1fr auto auto;gap:12px}.nav-toggle{display:flex}.main-nav{background:#010828f0;border-radius:22px;flex-direction:column;gap:0;padding:12px;display:none;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 50px #00041566}.main-nav.is-open{display:flex}.main-nav a{border-radius:12px;padding:13px 24px}.main-nav a:hover{color:var(--cream);background:#ffffff0f}.story-layout{grid-template-columns:1fr}.story-character-slot{min-height:340px}.story-character-slot .story-character-3d-position{width:min(380px,62vw);height:390px}.story-letter{justify-self:end}.gift-grid{grid-template-columns:1fr;max-width:660px}.gift-card{grid-template-columns:1fr .72fr;align-items:center;display:grid}.gift-meta{padding:28px}.finale-stage-keepsake{grid-template-rows:auto;grid-template-columns:1fr;gap:42px}.finale-stage-keepsake .finale-stage-heading{max-width:680px}.finale-stage-keepsake .finale-extras{justify-self:end;width:min(620px,100%)}.finale-continue{grid-column:1;justify-self:end;width:min(620px,100%)}}@media (width<=680px){html{scroll-padding-top:70px}.texture-overlay{opacity:.12;mix-blend-mode:normal}.liquid-glass{-webkit-backdrop-filter:blur(8px)}.site-header{width:calc(100% - 36px);height:76px}.header-note{display:none}.hero-content{width:calc(100% - 36px);margin-top:12vh}.hero-content h1{font-size:clamp(48px,17.5vw,92px);line-height:1}.hero-content h1 span{margin:12px 0 0 18px;font-size:.67em}.hero-script{font-size:44px;top:145px;left:auto;right:4px}.hero-copy{margin-top:48px;font-size:12px}.hero-index{display:none}.hero-character-3d-position{opacity:.9;width:66vw;height:38vh;bottom:2%;right:1%}.story-character-3d-position{opacity:.66;width:62vw;height:36vh;bottom:0;right:-8%}.story-section{min-height:auto;padding:64px 18px 80px}.story-layout{gap:36px}.story-heading h2{font-size:clamp(58px,19vw,80px)}.story-heading .script-accent{font-size:42px;right:0}.story-letter{border-radius:28px;padding:28px}.story-letter p{font-size:15px;line-height:1.9}.gifts-section{padding:72px 18px 96px}.gift-grid{margin-top:36px}.gift-media{aspect-ratio:4/3}.section-heading{display:block}.section-heading h2{font-size:clamp(47px,15vw,72px)}.heading-note{text-align:left;margin-top:34px}.gift-card{display:block}.gift-meta{min-height:112px;padding:22px 6px 4px 8px}.gift-meta h3{font-size:15.5px}.gift-meta button{flex-basis:56px;width:56px;height:56px}.gift-message{padding:30px}.gift-message p{font-size:clamp(17px,5.2vw,22px);line-height:1.65}.finale-copy{width:calc(100% - 36px);margin:0 auto;padding:16vh 0 40px}.finale-character-3d-position{opacity:.7;width:64vw;height:38vh;bottom:2%;left:-7%}.gifts-character-3d-position{display:none}.finale-copy>.script-accent{margin-left:0;font-size:46px}.finale-copy h2{font-size:clamp(38px,11vw,54px);line-height:1.3}.constellation{bottom:108px;left:18px}.constellation span{width:44px;height:44px;font-size:15px}footer{right:18px;bottom:max(24px, env(safe-area-inset-bottom));gap:16px;font-size:7px;left:18px}.wish-moment>p{text-align:center;max-width:calc(100% - 36px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.texture-overlay,.ambient-blessing-field,.confetti-field,.journey-motes,.intro-canvas,.intro-nebula,.intro-comet,.star-trail-comet,.celebration-aurora,.celebration-rings,.celebration-pieces,.burst-ray,.burst-ring,.cake .gust,.candle .flame-wrap,.wish-canvas{display:none!important}.reveal,.book,.book-page,.gift-card,.gift-message,.gift-reveal-ring,.primary-cta,.wish-button,.record-player,.card-export,.journey-photo,.journey-photo img,.journey-stop,.journey-handoff,.candle .flame,.photo-lightbox-arrow,.gift-reveal:after,.gift-card:after{transition-duration:.12s!important}html.js .reveal:not([data-visible]){opacity:1;transform:none}}.memories-section{isolation:isolate;background:radial-gradient(circle at 18% 12%,#a6ddff24,#0000 30%),radial-gradient(circle at 82% 80%,#6fff0012,#0000 30%),linear-gradient(165deg,#0c1136 0%,#060a20 100%);padding:clamp(120px,14vw,200px) 24px clamp(110px,12vw,170px);position:relative;overflow:hidden}.photo-lightbox{z-index:80;-webkit-backdrop-filter:blur(14px);cursor:zoom-out;background:#000415d1;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.photo-lightbox figure{text-align:center;max-width:min(920px,92vw);margin:0}.photo-lightbox img{background:#dfe5f2;border-radius:8px;width:auto;max-width:100%;max-height:78vh;margin:0 auto;display:block;box-shadow:0 40px 120px #00041599}.photo-lightbox figcaption{color:var(--cream);letter-spacing:.04em;margin-top:16px;font-size:14px;font-weight:700}.photo-lightbox-close{width:48px;height:48px;color:var(--cream);cursor:pointer;background:#ffffff1a;border-radius:50%;font-size:26px;line-height:1;position:absolute;top:22px;right:24px}.cake-stage{z-index:3;text-align:center;width:min(560px,100% - 48px);margin:10px auto 90px;position:relative}.cake-script{margin-bottom:16px;font-size:clamp(30px,4vw,44px);display:block;transform:rotate(-3deg)}.cake-panel{border-radius:30px;padding:26px 20px 24px}.cake-line{min-height:24px;color:var(--cream);letter-spacing:.03em;margin:0;font-size:clamp(14px,1.3vw,15.5px);font-weight:700}.cake{padding-top:44px;position:relative}.cake-candles{justify-content:center;align-items:flex-end;gap:clamp(14px,3vw,24px);display:flex}.candle{cursor:pointer;background:repeating-linear-gradient(45deg,#ff9ecf 0 4px,#fff4fa 4px 8px);border:0;border-radius:4px;width:12px;height:42px;padding:0;position:relative}.candle:disabled{cursor:default}.candle:before{content:"";position:absolute;inset:-10px -8px}.candle .smoke{filter:blur(3px);opacity:0;pointer-events:none;background:#dce4ff8c;border-radius:50%;width:7px;height:7px;position:absolute;top:-12px;left:50%}.cake.is-blown .candle .smoke{animation:1.4s ease-out both smoke-rise;animation-delay:calc(var(--i) * .1s)}.candle .wish-tag{color:var(--neon);letter-spacing:.08em;white-space:nowrap;opacity:0;transition:opacity .26s,transform .26s;transition-delay:calc(var(--i) * 60ms);pointer-events:none;background:#010828c7;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:700;position:absolute;top:-42px;left:50%;transform:translate(-50%,6px)}.candle.is-lit .wish-tag{opacity:1;transform:translate(-50%)}.cake-top{z-index:2;background:linear-gradient(#ffd7e6,#ff9ecf 72%);border-radius:18px 18px 6px 6px;width:clamp(200px,46%,232px);height:34px;margin:0 auto;position:relative}.cake-body{background:linear-gradient(#5a3b2e,#3a2418);border-radius:8px 8px 14px 14px;width:clamp(230px,54%,262px);height:56px;margin:-10px auto 0;position:relative;overflow:hidden}.cake-body .drip{background:#ffd7e6;border-radius:0 0 12px 12px;width:17px;position:absolute;top:-2px}.cake-body .drip:first-child{height:24px;left:6px}.cake-body .drip:nth-child(2){height:16px;left:48px}.cake-body .drip:nth-child(3){height:28px;left:92px}.cake-body .drip:nth-child(4){height:18px;left:136px}.cake-body .drip:nth-child(5){height:26px;left:180px}.cake-body .drip:nth-child(6){height:15px;left:222px}.cake-plate{background:radial-gradient(at 50% 32%,#e9edff 0 58%,#9aa6d8 66%,#0000 72%);border-radius:50%;width:clamp(280px,64%,330px);height:16px;margin:-7px auto 0}.cake-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:22px;display:flex}.cake-blow{cursor:pointer;border-radius:999px;min-height:44px;padding:12px 20px;font-size:13px;font-weight:700;transition:transform .18s,background-color .18s,color .18s}.cake-skip{min-height:44px;color:var(--cream-muted);letter-spacing:.06em;cursor:pointer;background:0 0;border-bottom:1px solid #eff4ff52;padding:12px 4px;font-size:11px}.cake-hint{color:#eff4ff9e;margin:14px 0 0;font-size:12px}.cake-hint.is-warn{color:#ffd08a}.cake .gust{filter:blur(6px);opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000,#eff4ff6b,#0000);border-radius:999px;width:26%;height:44px;animation:.62s cubic-bezier(.3,.7,.4,1) forwards gust-sweep;position:absolute;top:24%;left:-20%}@keyframes gust-sweep{0%{opacity:0;transform:translate(0)scaleX(.6)}28%{opacity:.7}to{opacity:0;transform:translate(560%)scaleX(1.5)}}.cake.is-almost .cake-candles{animation:.52s candles-wobble}@keyframes candles-wobble{0%,to{transform:translate(0)}25%{transform:translate(-4px)}62%{transform:translate(3px)}}.cake.is-almost .flame{filter:brightness(1.4)saturate(1.15)}.blow-meter.is-failing{animation:.44s meter-nudge}@keyframes meter-nudge{0%,to{transform:translate(0)}25%{transform:translate(-4px)}70%{transform:translate(4px)}}.cake-skip.is-nudged{color:var(--cream);border-color:var(--neon);animation:1.8s ease-in-out 2 skip-nudge}@keyframes skip-nudge{0%,to{transform:none}50%{transform:translateY(-3px)}}@keyframes smoke-rise{0%{opacity:0;transform:translate(-50%)scale(.7)}25%{opacity:.85}to{opacity:0;transform:translate(-32%,-46px)scale(1.7)}}@media (hover:hover) and (pointer:fine){.cake-blow:hover{color:var(--space);background:var(--neon);transform:translateY(-2px)}}@media (width<=680px){.cake-stage{margin-bottom:70px}.cake-panel{padding:22px 14px 20px}}.character-poster{object-fit:contain;object-position:center bottom;opacity:1;pointer-events:none;width:100%;height:100%;transition:opacity .7s;position:absolute;inset:0}.birthday-character-3d[data-model-ready] .character-poster{opacity:0}.candle .flame-wrap{width:12px;height:16px;transform:translateX(-50%) skewX(calc(var(--wind,0) * -16deg)) scaleY(calc(1 - var(--wind,0) * .28));transform-origin:50% 100%;pointer-events:none;transition:transform 90ms linear;position:absolute;top:-15px;left:50%}.candle .flame{opacity:0;transform-origin:50% 90%;pointer-events:none;background:radial-gradient(circle at 50% 72%,#fff6b0,#ffb63d 55%,#ff7a3d);border-radius:50%/62% 62% 38% 38%;transition:opacity .18s,transform .18s;position:absolute;inset:0;transform:scale(0);box-shadow:0 0 16px 5px #ffaa3c80}.blow-meter{background:#eff4ff24;border-radius:99px;width:min(300px,70%);height:5px;margin:2px auto 8px;display:block;overflow:hidden}.blow-meter-fill{border-radius:inherit;transform-origin:0;background:linear-gradient(90deg,#ffb63d,#6fff00);width:100%;height:100%;display:block;transform:scaleX(0)}.section-dots{z-index:45;flex-direction:column;gap:12px;display:flex;position:fixed;top:50%;right:16px;transform:translateY(-50%)}.section-dots button{cursor:pointer;background:0 0;border:1px solid #eff4ff6b;border-radius:50%;width:9px;height:9px;padding:0;transition:background-color .22s,transform .22s,box-shadow .22s,border-color .22s}.intro-gate{z-index:90;cursor:pointer;background:radial-gradient(circle at 50% 42%,#6fff001f,#0000 32%),linear-gradient(160deg,#071b48 0%,#080b2a 55%,#120925 100%);flex-direction:column;justify-content:center;align-items:center;gap:14px;transition:background .2s;animation:.7s 14s forwards intro-autodismiss;display:flex;position:fixed;inset:0;overflow:hidden}.intro-gate.is-done{pointer-events:none}.intro-gate:not(.is-reduced).is-done{background:0 0;animation:none}.intro-gate:not(.is-reduced).is-done>:not(.intro-curtain){opacity:0;transition:opacity .2s}.intro-gate.is-reduced.is-done{animation:intro-out .4s var(--birthday-ease-out,ease) forwards;animation-duration:.4s!important}.intro-hint{color:var(--cream-muted);font:500 15px/1 var(--mono);letter-spacing:.3em;opacity:.72;margin:6px 0 0;animation:2.4s ease-in-out infinite intro-hint-pulse}.intro-gate[data-ignited=true] .intro-hint{animation:.32s 1.2s forwards intro-hint-dismiss}.intro-gate[data-soon] .intro-hint{animation:.9s ease-in-out both intro-hint-soon}@keyframes intro-hint-pulse{0%,to{opacity:.4}50%{opacity:.95}}@keyframes intro-hint-soon{0%,to{opacity:.72;text-shadow:none;transform:scale(1)}45%,65%{opacity:1;text-shadow:0 0 18px #6fff0094;transform:scale(1.06)}}@keyframes intro-hint-dismiss{0%{opacity:.78;visibility:visible;transform:translateY(0)}to{opacity:0;visibility:hidden;transform:translateY(-6px)}}.intro-name{color:#eff4ff;font-family:var(--intro-brush);white-space:nowrap;text-shadow:0 0 2px #ffffff52,0 0 10px #9b6dff29;margin:0;font-size:clamp(40px,8vw,118px);font-weight:400;line-height:1;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.intro-skip{right:max(20px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));color:var(--cream-muted);font:500 12px/1 var(--mono);letter-spacing:.12em;cursor:pointer;background:#01082880;border:1px solid #eff4ff47;border-radius:999px;padding:9px 16px;transition:color .16s,border-color .16s;position:absolute}@media (hover:hover) and (pointer:fine){.intro-skip:hover{color:var(--cream);border-color:#eff4ff8c}}.intro-sub{color:var(--cream-muted);font:500 14px/1 var(--mono);letter-spacing:.22em;opacity:0;will-change:transform, opacity;margin:0;transform:translateY(8px)}.intro-stars i{left:var(--sx);top:var(--sy);width:calc(2px * var(--ss));height:calc(2px * var(--ss));animation:intro-twinkle 1.6s ease-in-out var(--sd) infinite alternate;background:#eff4ffd9;border-radius:50%;position:absolute;box-shadow:0 0 8px #6fff0080}@keyframes intro-twinkle{0%{opacity:.15}to{opacity:.9}}@keyframes intro-autodismiss{to{opacity:0;visibility:hidden}}@media (hover:hover) and (pointer:fine){.section-dots button:hover{border-color:var(--neon);transform:scale(1.2)}}@media (width<=980px){.section-dots{display:none}}.candle.is-lit .flame{opacity:1;animation:.9s ease-in-out infinite alternate flame-flicker;transform:scale(1)}.cake.is-blown .flame{opacity:0;animation:none;transform:scale(0)}@keyframes flame-flicker{0%{transform:scale(1)skew(-2deg)}to{transform:scale(1.08,1.16)skew(3deg)}}.cake-panel[data-cake-phase=extinguishing],.cake-panel[data-cake-phase=wish-forming],.cake-panel[data-cake-phase=received]{--wish-warm:#eff4ff}.cake--extinguishing .flame{opacity:.18!important;transition:opacity .3s,transform .3s cubic-bezier(.32,.72,.34,1)!important;animation:none!important;transform:translateY(4px)scale(.62,.34)skew(-13deg)!important}.cake--wish-forming .flame,.cake--received .flame{opacity:0!important;animation:none!important;transform:translateY(6px)scale(0)!important}.cake--extinguishing .candle .smoke{filter:blur(2.5px);opacity:0;width:24px;height:58px;animation:1s cubic-bezier(.28,.76,.34,1) both wish-smoke-gather;animation-delay:calc(.3s + var(--i) * 64ms);background:0 0;border:1px solid #0000;border-color:#dce4ff47 #0000 #0000 #dce4ff47;border-radius:54% 46% 50% 44%;margin-left:-12px;top:-10px;left:50%}@keyframes wish-smoke-gather{0%{opacity:0;transform:translate(calc(var(--i) * 4px - 8px), 0) rotate(calc(var(--i) * 3deg - 8deg)) scale(.48, .38)}18%{opacity:.58}to{opacity:0;transform:translate(calc(var(--i) * -6px + 12px), -70px) rotate(calc(var(--i) * -4deg + 9deg)) scale(1.18, 1)}}.cake-actions.is-exiting,.blow-meter.is-exiting{opacity:0;pointer-events:none;transition:opacity .22s,transform .22s;transform:translateY(4px)}.wish-formation{z-index:5;pointer-events:none;opacity:0;width:1px;height:102px;transition:opacity .26s;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.cake--wish-forming .wish-formation,.cake--received .wish-formation{opacity:1}.wish-thread{width:1px;height:46px;transform:translateX(var(--wish-offset));transform-origin:50% 100%;position:absolute;top:26px;left:0}.wish-thread:before{content:"";filter:blur(.7px);opacity:.72;width:1px;height:42px;transform:rotate(calc(var(--wish-index) * 3deg - 6deg));background:linear-gradient(#0000,#eff4ff9e,#0000);border-radius:999px;position:absolute;top:0;left:0}.wish-ember,.wish-seed{background:var(--wish-warm);border-radius:50%;display:block;position:absolute;box-shadow:0 0 9px #eff4ff80,0 0 16px #9b6dff38}.wish-ember{opacity:.86;width:5px;height:5px;top:3px;left:-2px}.wish-seed{opacity:.7;width:7px;height:7px;top:30px;left:-3px}.cake--wish-forming .wish-thread{animation:.7s cubic-bezier(.2,.8,.28,1) both wish-seed-gather;animation-delay:calc(var(--wish-index) * 68ms)}@keyframes wish-seed-gather{0%{opacity:0;transform:translateX(var(--wish-offset)) translateY(12px) scale(.7)}28%{opacity:1}to{opacity:1;transform:translateX(var(--wish-gather)) translateY(-20px) scale(.46)}}.wish-star,.wish-star-ring{opacity:0;display:block;position:absolute;top:-12px;left:50%;transform:translate(-50%,12px)scale(.25)}.wish-star{z-index:2;width:48px;height:48px;color:var(--wish-warm);filter:drop-shadow(0 0 5px #eff4ffb3)drop-shadow(0 0 15px #9b6dff40)}.wish-star svg{fill:currentColor;width:100%;height:100%;display:block}.wish-star-ring{z-index:1;border:1px solid #eff4ff4d;border-radius:50%;width:76px;height:76px}.cake--received .wish-thread{opacity:.1;transform:translateX(var(--wish-gather)) translateY(-20px) scale(.46)}.cake--received .wish-star{opacity:1;animation:.42s cubic-bezier(.18,.82,.28,1) both wish-star-arrive,3.8s ease-in-out .42s infinite wish-star-breathe}.cake--received .wish-star-ring{opacity:1;animation:.46s ease-out both wish-ring-arrive,4.4s ease-in-out .46s infinite wish-ring-breathe}@keyframes wish-star-arrive{0%{opacity:0;transform:translate(-50%,12px)scale(.25)}72%{opacity:1;transform:translate(-50%,-1px)scale(1.08)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes wish-ring-arrive{0%{opacity:0;transform:translate(-50%,8px)scale(.42)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes wish-star-breathe{0%,to{filter:drop-shadow(0 0 5px #eff4ffb3)drop-shadow(0 0 15px #9b6dff40)}50%{filter:drop-shadow(0 0 7px #eff4ffd1)drop-shadow(0 0 19px #9b6dff4d)}}@keyframes wish-ring-breathe{0%,to{opacity:.46;transform:translate(-50%)scale(1)}50%{opacity:.76;transform:translate(-50%)scale(1.035)}}.wish-receipt{text-align:center;background:#01082852;border:1px solid #eff4ff29;border-radius:22px;width:min(100%,420px);margin:28px auto 0;padding:22px 20px 20px;animation:.42s cubic-bezier(.18,.82,.28,1) both wish-receipt-in;position:relative;box-shadow:inset 0 1px #eff4ff0f,0 18px 44px #0004152e}.wish-receipt:before{content:"";background:linear-gradient(90deg,#0000,#eff4ff80,#0000);height:1px;position:absolute;top:0;left:22%;right:22%}@keyframes wish-receipt-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.wish-receipt-kicker{color:#eff4ff8f;font:500 10px/1.2 var(--mono);letter-spacing:.16em;margin:0}.wish-receipt h3{color:var(--wish-warm);font-family:var(--sans-cn);letter-spacing:.08em;margin:13px 0 0;font-size:clamp(22px,4vw,28px);font-weight:700}.wish-receipt-body{color:#eff4ffd1;letter-spacing:.08em;margin:14px 0 0;font-size:14px;line-height:1.9}.wish-receipt-signoff{color:#eff4ffa8;letter-spacing:.08em;margin:13px 0 0;font-size:13px}.wish-receipt-action{min-width:148px;min-height:44px;color:var(--wish-warm);letter-spacing:.06em;cursor:pointer;background:#eff4ff14;border:1px solid #eff4ff47;border-radius:999px;margin-top:20px;padding:10px 18px;font-size:13px;font-weight:700;transition:border-color .18s,background-color .18s,transform .18s}.wish-receipt-action:hover{background:#eff4ff21;border-color:#eff4ff94;transform:translateY(-1px)}.wish-receipt-action:focus-visible{outline-offset:4px;outline:2px solid #eff4ffb8}.wish-receipt-hint{color:#eff4ff70;letter-spacing:.06em;margin:12px 0 0;font-size:11px}.wish-receipt small{color:#eff4ff57;font:500 9px/1 var(--mono);letter-spacing:.18em;margin-top:18px;display:block}.wish-input.is-guided{animation:.9s both wish-input-guide}@keyframes wish-input-guide{0%,to{box-shadow:none;border-color:#eff4ff2e}35%{border-color:#eff4ff9e;box-shadow:0 0 0 4px #eff4ff14}}@media (width<=680px){.wish-receipt{margin-top:24px;padding:20px 16px 18px}.wish-receipt h3{letter-spacing:.05em;font-size:22px}.wish-receipt-body{font-size:13px}.wish-receipt-action{width:min(100%,220px)}}@media (prefers-reduced-motion:reduce){.candle .flame-wrap{transition-duration:.12s!important;display:block!important}.cake--extinguishing .flame{transition-duration:.12s!important}.cake--extinguishing .candle .smoke,.cake--wish-forming .wish-thread{animation:none!important}.cake--extinguishing .wish-formation{opacity:0}.cake--received .wish-formation{opacity:1}.cake--received .wish-thread{display:none}.cake--received .wish-star,.cake--received .wish-star-ring{opacity:1;transform:translate(-50%)scale(1);animation:none!important}.wish-receipt{opacity:1;animation:none;transform:none}.wish-input.is-guided{animation-duration:.18s!important}}.intro-nebula{background:radial-gradient(circle at 30% 30%,#9b6dff24,#0000 58%),radial-gradient(circle at 72% 62%,#69d0d91a,#0000 62%);animation:7s ease-in-out infinite alternate intro-nebula;position:absolute;inset:-20%}.intro-comet{opacity:0;background:linear-gradient(90deg,#0000,#eff4fff2 65%,#6fff00);border-radius:99px;width:150px;height:2px;position:absolute;left:0;box-shadow:0 0 12px #6fff008c}.intro-comet-a{animation:1.8s cubic-bezier(.2,.6,.35,1) .3s both intro-comet;top:16%}.intro-line{will-change:transform;background:linear-gradient(90deg,#0000,#6fff00 50%,#0000);width:220px;height:1px;transform:scaleX(0)}.intro-stars i:nth-child(3n){background:var(--neon);box-shadow:0 0 8px #6fff0099}.intro-stars i:nth-child(4n){background:var(--violet);box-shadow:0 0 8px #9b6dff99}.intro-gate[data-formed=true] .intro-line{animation:.7s cubic-bezier(.23,1,.32,1) both intro-line-draw}.intro-gate[data-formed=true] .intro-sub{animation:.6s ease-out both intro-sub-in}@keyframes intro-comet{0%{opacity:0;transform:translate(-12vw,-6vh)rotate(-18deg)}12%{opacity:1}to{opacity:0;transform:translate(112vw,52vh)rotate(-18deg)}}@keyframes intro-line-draw{to{transform:scaleX(1)}}@keyframes intro-sub-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-nebula{0%{transform:translate(-2%,-1%)scale(1)}to{transform:translate(2%,2%)scale(1.07)}}@keyframes intro-out{to{opacity:0;visibility:hidden;transform:scale(1.03)}}.intro-curtain{z-index:20;opacity:0;pointer-events:none;will-change:transform, opacity;background:#060913;width:50.5%;transition:transform .7s cubic-bezier(.65,0,.25,1) .2s,opacity 1ms linear .2s;position:absolute;top:0;bottom:0}.intro-curtain.left{left:0;box-shadow:inset -2px 0 #eff4ff24}.intro-curtain.right{right:0;box-shadow:inset 2px 0 #eff4ff24}.intro-gate:not(.is-reduced).is-done .intro-curtain{opacity:1}.intro-gate:not(.is-reduced).is-done .intro-curtain.left{transform:translate(-103%)}.intro-gate:not(.is-reduced).is-done .intro-curtain.right{transform:translate(103%)}.intro-gate.is-reduced.is-done .intro-curtain{opacity:0;transform:none}html.js .intro-gate{animation:none}.intro-gate{isolation:isolate;cursor:default;background:0 0;transition:opacity .22s,visibility 0s linear .22s}.intro-gate.is-done{pointer-events:none;opacity:0;visibility:hidden}.intro-backdrop{z-index:0;pointer-events:none;will-change:opacity;background:radial-gradient(circle at 50% 42%,#6fff0018,#0000 30%),linear-gradient(160deg,#071b48 0%,#080b2a 55%,#120925 100%);position:absolute;inset:0;overflow:hidden}.intro-backdrop .intro-nebula{z-index:0}.intro-backdrop .intro-stars{z-index:1}.intro-backdrop .intro-canvas{z-index:2}.intro-nebula{opacity:.74;animation-duration:12s}.intro-canvas{pointer-events:none;will-change:opacity;width:100%;height:100%;position:absolute;inset:0}.intro-ripple{z-index:4;top:var(--ignite-y,42%);left:var(--ignite-x,50%);opacity:0;pointer-events:none;will-change:transform, opacity;background:radial-gradient(circle,#eff4ff2e,#0000 68%);border:1px solid #eff4ffb8;border-radius:50%;width:38px;height:38px;position:absolute;transform:translate(-50%,-50%)scale(.35)}.intro-seam{z-index:19;opacity:0;pointer-events:none;transform-origin:50%;will-change:transform, opacity;background:linear-gradient(#0000,#eff4ffe0 45%,#6fff00b3 50%,#0000);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)scaleY(.35);box-shadow:0 0 18px #eff4ff70}.intro-gate[data-formed=true] .intro-line,.intro-gate[data-formed=true] .intro-sub{animation:none!important}.intro-line{z-index:3;opacity:0;will-change:transform, opacity;background:linear-gradient(90deg,#0000,#6fff00 50%,#0000);width:clamp(160px,28vw,260px);height:1px;position:absolute;top:calc(42% + clamp(62px,8vh,90px));transform:scaleX(0)}.intro-sub{z-index:3;color:var(--cream-muted);font:500 clamp(12px, 1.35vw, 15px)/1 var(--mono);letter-spacing:.22em;opacity:0;will-change:transform, opacity;margin:0;position:absolute;top:calc(42% + clamp(77px,10vh,108px));transform:translateY(8px)}.intro-static-name{z-index:3;color:#eff4ff;font:400 clamp(40px, 8vw, 118px)/1 var(--intro-brush);white-space:nowrap;opacity:0;visibility:hidden;text-shadow:0 0 2px #ffffff52,0 0 10px #9b6dff29;max-width:calc(100vw - 36px);margin:0;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.intro-static-name.intro-name--birthday{font-size:clamp(34px,7vw,92px)}.intro-gate[data-compact=true][data-ignited=true] .intro-static-name,.intro-gate[data-canvas-fallback=true][data-ignited=true] .intro-static-name,.intro-gate.is-reduced[data-ignited=true] .intro-static-name{opacity:.9;visibility:visible}.intro-activate{z-index:5;width:100%;height:100%;color:var(--cream);cursor:pointer;appearance:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:0;padding:0;display:block;position:absolute;inset:0}.intro-gate[data-ignited=true] .intro-activate{pointer-events:none;cursor:default}.intro-activate-cue{pointer-events:none;will-change:transform, opacity;justify-items:center;gap:12px;min-width:max-content;display:grid;position:absolute;top:calc(42% + clamp(118px,16vh,162px));left:50%;transform:translate(-50%)}.intro-activate-star{color:#eff4ff;transform-origin:50%;background:radial-gradient(circle,#eff4ff1a,#9b6dff09 48%,#0000 72%);border:1px solid #eff4ff38;border-radius:50%;place-items:center;width:54px;height:54px;font-size:19px;font-style:normal;line-height:1;animation:2.9s ease-in-out infinite intro-star-breathe;display:grid;position:relative;box-shadow:0 0 0 8px #eff4ff06,0 0 26px #9b6dff24}.intro-activate-label{color:#eff4ffad;font:500 13px/1.4 var(--mono);letter-spacing:.12em;white-space:nowrap;transition:color .18s,opacity .18s}@keyframes intro-star-breathe{0%,to{transform:scale(.98);box-shadow:0 0 0 7px #eff4ff05,0 0 22px #9b6dff1f}50%{transform:scale(1.03);box-shadow:0 0 0 10px #eff4ff08,0 0 30px #9b6dff2e}}@keyframes intro-star-nudge{0%,to{transform:scale(.98)}45%,65%{transform:scale(.93)}}.intro-gate[data-soon=true] .intro-activate-star{animation:.65s ease-in-out both intro-star-nudge,2.9s ease-in-out .65s infinite intro-star-breathe}.intro-gate[data-ignited=true] .intro-activate-cue{pointer-events:none}.intro-activate:focus{outline:none}.intro-activate:focus-visible .intro-activate-cue{outline-offset:9px;border-radius:12px;outline:2px solid #eff4ffb8}@media (hover:hover) and (pointer:fine){.intro-activate:hover .intro-activate-star{color:#fff;border-color:#6fff0075;box-shadow:0 0 0 10px #6fff0006,0 0 30px #9b6dff33}.intro-activate:hover .intro-activate-label{color:#eff4ffe0}}.intro-skip{z-index:25;top:max(18px, env(safe-area-inset-top));right:max(18px, env(safe-area-inset-right));color:#eff4ff80;min-width:76px;min-height:44px;font:500 12px/1 var(--mono);letter-spacing:.1em;cursor:pointer;opacity:1;background:0 0;border:0;border-radius:0;place-items:center;padding:8px 10px;transition:color .18s,opacity .16s;display:inline-grid;position:absolute;bottom:auto;left:auto}.intro-skip:after{content:"";opacity:0;background:currentColor;height:1px;transition:opacity .18s,transform .18s;position:absolute;bottom:7px;left:10px;right:10px;transform:scaleX(.45)}.intro-gate[data-scatter=true] .intro-skip,.intro-gate.is-done .intro-skip{opacity:0;pointer-events:none}.intro-skip:hover,.intro-skip:focus-visible{color:#eff4ffe6}.intro-skip:hover:after,.intro-skip:focus-visible:after{opacity:.6;transform:scaleX(1)}.intro-curtain{z-index:20;opacity:0;background:linear-gradient(90deg,#071b48 0%,#080b2a 68%,#080b2ad6 100%);width:50.5%;transition:none!important}.intro-curtain.right{background:linear-gradient(270deg,#120925 0%,#080b2a 68%,#080b2ad6 100%)}.intro-gate:not(.is-reduced).is-done>:not(.intro-curtain){transition:none}.intro-gate.is-reduced[data-ignited=true] .intro-sub{opacity:1;transform:none}.intro-gate.is-reduced[data-ignited=true] .intro-line{opacity:.7;transform:scaleX(1)}@media (width<=680px){.intro-activate-cue{gap:10px;top:calc(42% + clamp(104px,17vh,140px))}.intro-activate-star{width:48px;height:48px;font-size:17px}.intro-activate-label{letter-spacing:.1em;font-size:12px}.intro-static-name{font-size:min(86px,21vw)}.intro-static-name.intro-name--birthday{font-size:min(68px,17vw)}}@media (prefers-reduced-motion:reduce){.intro-activate-star{animation:none}.intro-activate-cue{transition:opacity .14s,transform .14s}.intro-gate.is-reduced[data-ignited=true] .intro-activate-cue{opacity:0;transform:translate(-50%)translateY(-6px)scale(.96)}}.intro-stars i{background:#eff4ffd1;box-shadow:0 0 7px #eff4ff47}.intro-stars i:nth-child(7n){background:var(--violet);box-shadow:0 0 8px #9b6dff6b}.intro-stars i:nth-child(13n){background:var(--neon);box-shadow:0 0 8px #6fff007a}@property --lit{syntax:"<number>";inherits:true;initial-value:0}.journey-section{isolation:isolate;background:radial-gradient(62% 42% at 50% 106%,#6fff0013,#0000 70%),radial-gradient(circle at 88% 6%,#9b6dff2e,#0000 34%),linear-gradient(#04060f 0%,#0a0d1c 62%,#05070f 100%);padding:clamp(110px,13vw,180px) 0 clamp(100px,11vw,150px);position:relative;overflow:hidden}.journey-section .section-heading{width:min(1540px,100% - 48px);margin:0 auto}.journey-rail{--journey-gap:clamp(26px, 3.6vw, 60px);--journey-gutter:max(24px, calc((100% - 1540px) / 2));margin-top:clamp(36px,5vw,66px);position:relative}.journey-track{gap:var(--journey-gap);scroll-padding-inline:var(--journey-gutter);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;cursor:grab;-webkit-user-select:none;user-select:none;margin:0;padding:0;list-style:none;display:flex;position:relative;overflow:auto hidden}.journey-track:focus-visible{outline:2px solid var(--neon);outline-offset:8px}.journey-track.is-dragging{cursor:grabbing;scroll-snap-type:none}.journey-track img{-webkit-user-drag:none}.journey-stop{--lit:0;opacity:.52;scroll-snap-align:center;flex:0 0 clamp(268px,31vw,460px);padding-top:88px;transition:--lit .55s,opacity .42s;position:relative}.journey-stop.is-passed{opacity:.66}.journey-stop.is-active{--lit:1;opacity:1}.journey-stop:first-child{margin-left:var(--journey-gutter)}.journey-stop:last-child{margin-right:var(--journey-gutter)}.journey-stop:after{content:"";width:calc(100% + var(--journey-gap));background:#eff4ff29;border-radius:2px;height:2px;transition:background-color .32s;position:absolute;top:73px;left:0}.journey-stop:last-child:after{display:none}.journey-stop.is-passed:after{background:linear-gradient(90deg, var(--neon), #6fff0066)}.journey-dot{background:#05070f;border:2px solid #eff4ff6b;border-radius:50%;width:14px;height:14px;transition:border-color .42s,background-color .42s,box-shadow .42s;position:absolute;top:66px;left:0;transform:translate(-50%)}.journey-stop.is-active .journey-dot{border-color:var(--neon);background:var(--neon);box-shadow:0 0 0 6px #6fff0024,0 0 20px #6fff00a6}.journey-light{pointer-events:none;position:absolute;inset:0;overflow:hidden}.journey-beam{clip-path:polygon(39% 0,61% 0,102% 100%,-2% 100%);filter:blur(7px);width:116%;height:330px;opacity:calc(.07 + var(--lit) * .95);background:linear-gradient(#eff4ff42,#eff4ff12 46%,#6fff0008);position:absolute;top:44px;left:50%;transform:translate(-50%)}.journey-motes{height:330px;position:absolute;inset:44px 0 auto}.journey-motes i{width:2px;height:2px;opacity:calc(var(--lit) * .85);animation:7s ease-in-out infinite journey-mote;animation-delay:calc(var(--mote) * -1.8s);background:#eff4ffd9;border-radius:50%;position:absolute;box-shadow:0 0 8px #6fff00b3}.journey-motes i:first-child{top:24%;left:26%}.journey-motes i:nth-child(2){top:42%;left:64%}.journey-motes i:nth-child(3){top:66%;left:44%}.journey-motes i:nth-child(4){top:16%;left:74%}@keyframes journey-mote{0%,to{transform:translate(0,0)}50%{transform:translate(7px,-52px)}}.journey-photo:after{content:"";filter:blur(4px);width:100%;height:44px;opacity:calc(.1 + var(--lit) * .9);pointer-events:none;background:radial-gradient(#6fff0038,#0000 72%);border-radius:50%;position:absolute;bottom:-26px;left:50%;transform:translate(-50%)}.journey-cue{z-index:3;color:#eff4ff6b;font:400 12px/1 var(--grotesk);letter-spacing:.22em;margin:0 0 20px;transition:color .42s;position:relative}.journey-stop.is-active .journey-cue{color:var(--neon)}.journey-photo{transform-origin:top;transition:transform .52s var(--birthday-ease-out,ease), box-shadow .52s ease;background:#02030a;border-radius:8px;margin:0;position:relative;box-shadow:0 32px 64px #000000a8}.journey-photo img{aspect-ratio:3/2;object-fit:cover;filter:brightness(.4)saturate(.58);border-radius:8px;width:100%;height:auto;transition:filter .52s;display:block}.journey-stop.is-active .journey-photo{transform:translateY(-12px)scale(1.06);box-shadow:0 40px 80px #000000b8,0 0 0 1px #6fff0066,0 0 46px #6fff0024}.journey-stop.is-active .journey-photo img{filter:none}.journey-step{z-index:2;color:var(--cream);font:400 11px/1 var(--grotesk);letter-spacing:.16em;background:#01082899;border-radius:4px;padding:4px 9px;position:absolute;top:12px;left:14px}.journey-year{color:#eff4ff80;font:400 30px/1 var(--mono);margin:22px 0 0;transition:color .42s}.journey-stop.is-active .journey-year{color:var(--neon)}.journey-title{opacity:.62;margin:10px 0 4px;font-size:clamp(17px,1.5vw,20px);font-weight:700;line-height:1.45;transition:opacity .42s}.journey-stop.is-active .journey-title{opacity:1}.journey-sub{color:var(--cream-muted);font:400 16px/1 var(--mono);letter-spacing:.04em;margin:0}.journey-controls{align-items:center;gap:12px;width:min(1540px,100% - 48px);margin:40px auto 0;display:flex}.journey-controls button{width:46px;height:46px;color:var(--cream);cursor:pointer;background:#eff4ff0f;border:1px solid #eff4ff38;border-radius:50%;font-size:15px;transition:transform .18s,border-color .18s,color .18s}.journey-controls button:disabled{opacity:.32;cursor:default}.journey-count{color:#eff4ff73;font:500 12px/1 var(--mono);letter-spacing:.2em;margin-left:4px}.journey-hint{color:#eff4ff52;letter-spacing:.16em;margin-left:16px;font-size:11.5px}.journey-handoff{width:min(920px,100% - 48px);animation:journey-handoff-in .52s var(--birthday-ease-out,ease) both;border-top:1px solid #6fff0075;justify-content:space-between;align-items:center;gap:32px;margin:44px auto 0;padding:24px 0;display:flex}.journey-handoff div{gap:8px;display:grid}.journey-handoff div span{color:var(--neon);font:500 9px/1 var(--mono);letter-spacing:.18em}.journey-handoff p{color:var(--cream-muted);margin:0;font-size:14px;line-height:1.7}.journey-handoff button{border:1px solid var(--neon);color:var(--space);background:var(--neon);cursor:pointer;border-radius:999px;flex:0 0 min(320px,40%);justify-content:space-between;align-items:center;padding:16px 18px;font-size:13px;font-weight:800;transition:transform .18s,filter .18s;display:flex}@keyframes journey-handoff-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (hover:hover) and (pointer:fine){.journey-controls button:not(:disabled):hover{color:var(--neon);border-color:var(--neon);transform:translateY(-2px)}.journey-handoff button:hover{filter:brightness(1.1);transform:translateY(-2px)}}@media (width<=680px){.journey-rail{--journey-gap:22px;--journey-gutter:18px}.journey-stop{padding-top:76px}.journey-stop:after{top:61px}.journey-dot{top:54px}.journey-beam{height:250px;top:32px}.journey-motes{height:250px;inset:32px 0 auto}.journey-cue{font-size:11px}.journey-year{margin-top:18px;font-size:26px}.journey-controls{flex-wrap:wrap;gap:10px}.journey-hint{display:none}.journey-handoff{flex-direction:column;align-items:stretch;gap:20px;width:calc(100% - 36px);margin-top:34px}.journey-handoff button{flex-basis:auto;width:100%}}@media (width<=380px){.journey-controls{gap:8px}.journey-count{letter-spacing:.12em;font-size:11px}}.hero-content h1 span,.finale-copy h2,.memories-section .section-heading h2,.journey-section .section-heading h2,.celebration-message strong{font-family:var(--brush);font-weight:400}.hero-content h1 span{letter-spacing:.06em;font-size:.78em}.finale-copy h2{letter-spacing:.02em}.intro-canvas{width:100%;height:100%;animation:.6s both intro-canvas-in;position:absolute;inset:0}@keyframes intro-canvas-in{0%{opacity:0}to{opacity:1}}.wish-composer{z-index:3;text-align:center;width:min(560px,100% - 48px);margin:10px auto 90px;position:relative}.wish-canvas{z-index:62;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.wish-label{color:var(--cream);font:700 clamp(20px, 2.4vw, 28px)/1.2 var(--sans-cn);letter-spacing:.08em;margin:0;display:block}.wish-description{color:var(--cream-muted);font:500 13px/1.5 var(--sans-cn);letter-spacing:.05em;margin:9px 0 18px}.wish-row{gap:10px;display:flex}.wish-input{min-width:0;color:var(--cream);font:500 15px/1.2 var(--sans-cn);letter-spacing:.03em;background:#ffffff0f;border:1px solid #eff4ff2e;border-radius:999px;flex:1;padding:13px 18px;transition:border-color .18s}.wish-input::placeholder{color:#eff4ff66}.wish-input:focus-visible{border-color:var(--neon);outline:none}.wish-send{background:var(--neon);color:var(--space);white-space:nowrap;cursor:pointer;transition:transform .18s var(--birthday-ease-out,ease), filter .18s ease;border-radius:999px;padding:12px 18px;font-size:13.5px;font-weight:700}.wish-list-wrap{margin-top:20px}.wish-list-title{color:var(--neon);font:500 16px/1 var(--mono);letter-spacing:.12em;margin:0 0 10px}.wish-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.wish-list li{color:var(--cream-muted);font:500 14px/1.5 var(--sans-cn)}.wish-list li:before{content:"✦ ";color:var(--neon)}.wish-clear{color:var(--cream-muted);font:500 13px/1 var(--mono);letter-spacing:.1em;cursor:pointer;background:0 0;border-bottom:1px solid #eff4ff4d;margin-top:12px;padding:2px 0;transition:color .16s,border-color .16s}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.photo-lightbox-arrow{width:48px;height:48px;color:var(--cream);cursor:pointer;background:#ffffff1a;border-radius:50%;font-size:22px;line-height:1;transition:background-color .18s,transform .18s;position:absolute;top:50%;transform:translateY(-50%)}.photo-lightbox-prev{left:max(18px, env(safe-area-inset-left))}.photo-lightbox-next{right:max(18px, env(safe-area-inset-right))}@media (hover:hover) and (pointer:fine){.wish-send:hover{filter:brightness(1.12);transform:translateY(-2px)}.photo-lightbox-arrow:hover{background:#6fff0047;transform:translateY(-50%)scale(1.06)}.wish-clear:hover{color:var(--neon);border-color:var(--neon)}.wish-input:focus-visible{border-color:var(--neon)}}@media (width<=680px){.wish-composer{margin-bottom:max(170px, env(safe-area-inset-bottom) + 130px)}.wish-row{flex-direction:column}.wish-input{width:100%}.wish-send{width:100%;padding:13px}.wish-label{font-size:22px}.wish-description{margin-bottom:16px}.wish-list-title{font-size:15px}.wish-list li{font-size:13.5px}.photo-lightbox-arrow{width:42px;height:42px;top:auto;bottom:26px;transform:none}.photo-lightbox-arrow:hover{transform:none}}.birthday-banner{z-index:5;-webkit-backdrop-filter:blur(10px);white-space:nowrap;background:#0108288c;border:1px solid #ffd98a73;border-radius:999px;align-items:center;gap:12px;padding:12px 24px;animation:.8s cubic-bezier(.23,1,.32,1) both banner-in;display:flex;position:absolute;top:clamp(24px,4.5vh,48px);left:50%;transform:translate(-50%);box-shadow:0 0 36px #ffd98a2e}@keyframes banner-in{0%{opacity:0;transform:translate(-50%)translateY(-12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.birthday-banner strong{color:#ffd98a;font-family:var(--intro-brush);letter-spacing:.12em;font-size:20px;font-weight:400}.birthday-banner span{color:var(--cream-muted);font:500 11px/1 var(--mono);letter-spacing:.16em}main.is-birthday-today .hero-content h1 span{text-shadow:0 0 32px #ffd98a6b}main.is-birthday-today .section-dots button.is-active{background:#ffd98a;border-color:#ffd98a;box-shadow:0 0 12px #ffd98ab3}@media (width<=680px){.birthday-banner{text-align:center;white-space:normal;flex-direction:column;gap:4px;width:max-content;max-width:calc(100% - 32px);padding:10px 18px}.birthday-banner strong{font-size:18px}.birthday-banner span{letter-spacing:.12em;font-size:10px}}.finale-stage-ritual>footer{color:#eff4ff57;border-top:1px solid #eff4ff1f;padding-top:14px;font-size:9px;bottom:24px;left:24px;right:24px}@media (width<=680px){.wish-composer{margin-bottom:60px}.finale-stage-ritual>footer{left:18px;right:18px}.hero-section{min-height:max(100svh,780px)}.hero-content{width:calc(100% - 36px);margin-top:clamp(20px,4vh,38px);padding-bottom:clamp(238px,31vh,280px)}.hero-content h1{max-width:350px;font-size:clamp(50px,17vw,70px)}.hero-copy{max-width:255px;margin-top:22px;line-height:1.75}.primary-cta{z-index:4;margin-top:24px;position:relative}.hero-character-3d-position{right:2%;bottom:max(22px, env(safe-area-inset-bottom));opacity:.92;width:min(54vw,222px);height:clamp(230px,31vh,270px)}.hero-script{--hero-script-angle:-5deg;width:max-content;margin:14px 0 0 clamp(64px,18vw,92px);font-size:42px;display:block;position:relative;top:auto;left:auto;right:auto}.hero-copy{margin-top:24px}.story-heading .script-accent{width:max-content;margin:14px 0 0 auto;display:block;position:relative;bottom:auto;right:auto;transform:rotate(-5deg)}.story-layout{gap:24px}.story-character-slot{min-height:226px;margin:-2px 0 4px}.story-character-slot .story-character-3d-position{opacity:.96;width:218px;height:230px;inset:auto auto 22px 50%}.story-character-slot>span{font-size:8px;bottom:0}.story-letter{background:linear-gradient(145deg,#ffffff1c,#ffffff0d),#070b28e6;justify-self:stretch;max-width:none}.section-heading h2 .script-accent{margin-right:.24em;transform:rotate(-4deg)translateY(-.04em)}.finale-hero{flex-direction:column;min-height:0;padding-bottom:20px;display:flex}.finale-copy{order:1;width:calc(100% - 36px);margin:0 auto;padding:84px 0 24px}.finale-progress{width:calc(100% - 36px)}.finale-progress ol{gap:8px;padding-top:14px}.finale-progress li{letter-spacing:.08em;grid-template-columns:19px 1fr;gap:4px;font-size:8px}.finale-next-cue{margin-top:24px;padding:15px 0}.finale-next-cue strong{max-width:230px;font-size:13px;line-height:1.45}.finale-character-3d-position{opacity:.62;order:2;width:58vw;height:34vh;margin:0 auto;position:relative;inset:auto}.constellation{order:3;width:max-content;margin:4px 18px 0;position:relative;inset:auto}.finale-stage-keepsake{gap:34px;width:calc(100% - 36px);padding:110px 0 96px}.finale-stage-heading>.script-accent{margin:16px 0 0 34px;font-size:43px}.finale-stage-heading h2{margin-top:18px;font-size:clamp(42px,13vw,56px)}.finale-stage-heading>p:last-child{margin-top:22px;font-size:14px;line-height:1.8}.finale-stage-keepsake .finale-extras{grid-template-columns:1fr;gap:12px}.finale-stage-keepsake .record-player,.finale-stage-keepsake .card-export{border-radius:24px;flex-direction:row;justify-content:flex-start;align-items:center;min-height:124px;padding:20px}.finale-stage-keepsake .record-player{grid-template-rows:minmax(150px,1fr) auto 2px;min-height:250px;padding:16px 18px 18px}.finale-stage-keepsake .record-player-stage,.finale-stage-keepsake .card-export-icon{margin:0}.finale-continue{padding:16px 18px}.finale-stage-ritual{padding:110px 18px max(190px, env(safe-area-inset-bottom) + 150px)}.finale-stage-heading-centered{text-align:left}.finale-stage-heading-centered>.script-accent{margin-left:34px;margin-right:0}.finale-stage-heading-centered>p:last-child{margin-left:0}.finale-stage-ritual .cake-stage{width:100%;margin-top:52px}.finale-stage-ritual .wish-composer{width:100%}}.record-player-reference{color:#3678ac;isolation:isolate;text-align:left;cursor:default;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(140deg,#def1ff52,#eff9ff80);border:1.5px solid #ffffffbf;border-radius:28px;width:100%;min-height:254px;padding:26px 28px 28px;display:block;position:relative;overflow:hidden;box-shadow:inset 0 1px 7px #ffffff85,0 16px 40px #417eae24}.record-player-reference:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(circle at 70% 25%,#ffffff3d,#0000 42%);position:absolute;inset:0}.record-player-reference:hover{color:#3678ac;transform:translateY(-2px);box-shadow:inset 0 1px 7px #ffffff9e,0 20px 48px #417eae38}.record-player-reference .music-heading{z-index:3;color:#ffffffe6;letter-spacing:.1em;justify-content:space-between;align-items:center;font-size:14px;display:flex;position:relative}.record-player-reference .music-heading button,.record-player-reference .music-controls button{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.record-player-reference .music-heading button{width:44px;height:44px}.record-player-reference .music-heading button svg{width:25px;height:25px}.record-player-reference .music-heading button[aria-pressed=true]{color:#ff9fc4}.record-player-reference .record-player-stage{pointer-events:none;width:100%;min-height:168px;margin-top:8px;display:block;position:relative}.record-player-reference .music-turntable{aspect-ratio:1.12;width:min(100%,286px);margin:8px auto 0;position:relative}.record-player-reference .music-disc{aspect-ratio:1;background:conic-gradient(from 30deg,#52a6e85c,#b4ddff59,#4c9fe566,#8ccaff4d,#52a6e85c);border:5px solid #d7eeff47;border-radius:50%;place-items:center;width:82%;animation:18s linear infinite paused reference-vinyl-turn;display:grid;position:absolute;top:2%;left:3%;box-shadow:inset 0 0 20px #3a95da30,0 3px 8px #408dc82b}.record-player-reference .music-disc:after{content:"";border:1px solid #e1f3ff33;border-radius:50%;position:absolute;inset:8px}.record-player-reference .music-disc img{object-fit:contain;border-radius:50%;width:95%;height:95%}.record-player-reference .music-turntable.is-playing .music-disc{animation-play-state:running}.record-player-reference .music-arm{z-index:2;transform-origin:75% 12%;width:27%;height:75%;transition:transform .7s;position:absolute;top:0;right:-1%;transform:rotate(-9deg)}.record-player-reference .music-turntable.is-playing .music-arm{transform:rotate(5deg)}.record-player-reference .music-arm>img{z-index:1;object-fit:contain;width:60px;height:48px;position:absolute;top:-10px;right:-4px}.record-player-reference .music-arm>svg{fill:none;stroke:#f6fbff;stroke-width:5px;stroke-linecap:round;width:100%;height:100%;overflow:visible}.record-player-reference .music-arm .music-stylus{stroke-width:13px}.record-player-reference .music-notes{color:#ffffffe6;flex-direction:column;gap:2px;font-size:22px;display:flex;position:absolute;bottom:9%;right:2%;transform:rotate(25deg)}.record-player-reference .music-notes i{margin-left:-16px;font-style:normal}.record-player-reference .music-title{z-index:2;text-align:center;position:relative}.record-player-reference .music-title h2{color:#306f9f;letter-spacing:.08em;margin:0;font-size:22px;font-weight:750}.record-player-reference .music-title p{color:#f5fbffeb;letter-spacing:.1em;margin:5px 0 24px;font-size:13px}.record-player-reference .music-seek{z-index:2;position:relative}.record-player-reference .music-track{background:#eef9ffb8;border-radius:10px;height:4px;overflow:hidden}.record-player-reference .music-track i{border-radius:inherit;width:100%;height:100%;transform:scaleX(var(--record-played,0));transform-origin:0;background:#429fdf;transition:transform .12s linear;display:block}.record-player-reference .music-seek>div:last-child{color:#5e97c2;font-variant-numeric:tabular-nums;justify-content:space-between;margin:3px 0 18px;font-size:12px;display:flex}.record-player-reference .music-controls{z-index:3;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.record-player-reference .music-controls button{color:#327eb5;border-radius:50%;width:44px;min-width:44px;height:44px;min-height:44px;transition:background-color .18s,color .18s,transform .18s}.record-player-reference .music-controls button svg{width:24px;height:24px}.record-player-reference .music-controls button:disabled{opacity:.42;cursor:not-allowed}.record-player-reference .music-controls .music-play{color:#439ceb;background:#fffffff0;border-radius:50%;width:72px;height:72px;box-shadow:0 3px 10px #c8e6fa52}.record-player-reference .music-controls .music-play svg{width:30px;height:30px}.record-player-reference .music-controls button.is-active{background:#ffffffb8;box-shadow:0 0 0 2px #51a3da47}.record-player-reference .music-controls button:not(:disabled):hover{color:#146fae;transform:translateY(-1px)}.record-player-reference .music-controls .music-play:hover{color:#fff;background:#0c689f;transform:none}.record-player-reference .music-error{color:#375b80;text-align:center;margin:14px 0 0;font-size:12px}@keyframes reference-vinyl-turn{to{transform:rotate(360deg)}}@media (width<=680px){.finale-stage-keepsake .record-player-reference{border-radius:26px;width:min(410px,100%);min-height:250px;margin:0 auto;padding:24px;display:block}.record-player-reference .music-controls .music-play{width:66px;height:66px}}@media (prefers-reduced-motion:reduce){.record-player-reference,.record-player-reference .music-arm,.record-player-reference .music-track i{transition:none!important}.record-player-reference .music-disc{animation:none!important}}:root{--birthday-ease-out:cubic-bezier(.23, 1, .32, 1);--birthday-ease-in-out:cubic-bezier(.77, 0, .175, 1)}.ambient-blessing-field,.burst-layer,.grand-celebration{pointer-events:none;position:fixed;inset:0}.ambient-blessing-field{z-index:2;overflow:hidden}.ambient-blessing-field i{left:var(--ambient-x);opacity:0;width:2px;height:2px;animation:blessing-drift calc(13s + var(--ambient-index) * .4s) var(--ambient-delay) linear infinite;background:#eff4ffbd;border-radius:50%;position:absolute;bottom:-8px;box-shadow:0 0 9px #6fff0094}.primary-cta:active,.wish-button:active,.gift-meta button:active{transform:scale(.97)}.burst-layer{z-index:64}.wish-burst{width:1px;height:1px;position:absolute}.burst-ring{opacity:0;width:84px;height:84px;animation:burst-ring .9s var(--birthday-ease-out) both;border:1px solid #6fff00b8;border-radius:50%;position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(.94)}.burst-ray{opacity:0;width:4px;height:22px;transform:rotate(calc(var(--ray) * 36deg)) translateY(-30px) scaleY(.94);transform-origin:2px 31px;animation:burst-ray .78s calc(var(--ray) * 22ms) var(--birthday-ease-out) both;background:linear-gradient(#eff4ff,#6fff00);border-radius:99px;position:absolute;top:-1px;left:-2px}.wish-burst span{color:#eff4ff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.08em;opacity:0;width:max-content;transform:translate(-50%, -50%) rotate(calc((var(--word) - 1) * 18deg)) translateY(-42px) scale(.96);animation:blessing-word 1.8s calc(var(--word) * 50ms) var(--birthday-ease-out) both;background:#010828a3;border:1px solid #eff4ff38;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:700;position:absolute;top:0;left:0;box-shadow:0 12px 30px #0004153d}.grand-celebration{z-index:70;animation:celebration-backdrop 5.4s var(--birthday-ease-in-out) both;background:#00041538;place-items:center;display:grid;overflow:hidden}.celebration-aurora{filter:blur(18px);opacity:0;animation:aurora-bloom 4.8s var(--birthday-ease-in-out) both;background:radial-gradient(circle at 50% 45%,#6fff0038,#0000 26%),conic-gradient(from 30deg,#0000,#9b6dff2e,#0000 30%,#6fff001f,#0000 62%);position:absolute;inset:-25%;transform:rotate(-8deg)scale(.96)}.celebration-rings{aspect-ratio:1;width:min(76vw,760px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.celebration-rings i{opacity:0;animation:celebration-ring 2.5s var(--birthday-ease-out) both;border:1px solid #eff4ff57;border-radius:50%;position:absolute;inset:0;transform:scale(.94)}.celebration-rings i:nth-child(2){animation-delay:.18s}.celebration-rings i:nth-child(3){animation-delay:.36s}.celebration-pieces{width:1px;height:1px;position:absolute;top:50%;left:50%}.celebration-pieces i{opacity:0;width:5px;height:18px;transform:rotate(var(--angle)) translateY(-36px) scale(.96);transform-origin:2px 38px;animation:celebration-piece 2.2s var(--piece-delay) var(--birthday-ease-out) both;background:#6fff00;border-radius:99px;position:absolute;top:-5px;left:-2px}.celebration-pieces i:nth-child(3n){background:#9b6dff}.celebration-pieces i:nth-child(3n+1){background:#eff4ff}.celebration-message{z-index:2;text-align:center;opacity:0;width:min(560px,100% - 36px);animation:celebration-message 5.1s .42s var(--birthday-ease-out) both;background:#01082894;border-radius:36px;padding:clamp(34px,5vw,62px);position:relative;transform:translateY(18px)scale(.96);box-shadow:0 30px 100px #00041570}.celebration-message span,.celebration-message small{color:#6fff00;font:500 12px/1.4 var(--mono);letter-spacing:.18em;display:block}.celebration-message strong{color:#eff4ff;letter-spacing:-.06em;margin:24px 0;font-size:clamp(34px,6vw,66px);font-weight:900;line-height:1.25;display:block}.celebration-message small{color:#eff4ff99;font-family:var(--sans-cn);letter-spacing:.12em;font-size:12px}@keyframes blessing-drift{0%{opacity:0;transform:translate(0,0)scale(.96)}12%{opacity:.5}72%{opacity:.18}to{opacity:0;transform:translate(28px,-108vh)scale(1.08)}}@keyframes burst-ring{0%{opacity:0;transform:translate(-50%,-50%)scale(.94)}18%{opacity:.9}to{opacity:0;transform:translate(-50%,-50%)scale(2.1)}}@keyframes burst-ray{0%{opacity:0;transform:rotate(calc(var(--ray) * 36deg)) translateY(-25px) scaleY(.94)}20%{opacity:1}to{opacity:0;transform:rotate(calc(var(--ray) * 36deg)) translateY(-94px) scaleY(.72)}}@keyframes blessing-word{0%{opacity:0;filter:blur(3px);transform:translate(-50%, -50%) rotate(calc((var(--word) - 1) * 18deg)) translateY(-42px) scale(.96)}15%,62%{opacity:1;filter:blur()}to{opacity:0;transform:translate(-50%, -50%) rotate(calc((var(--word) - 1) * 18deg)) translateY(-112px) scale(1)}}@keyframes celebration-backdrop{0%,to{opacity:0}8%,88%{opacity:1}}@keyframes aurora-bloom{0%,to{opacity:0;transform:rotate(-8deg)scale(.96)}20%,76%{opacity:1;transform:rotate(8deg)scale(1.06)}}@keyframes celebration-ring{0%{opacity:0;transform:scale(.94)}16%{opacity:.65}to{opacity:0;transform:scale(1.52)}}@keyframes celebration-piece{0%{opacity:0;transform:rotate(var(--angle)) translateY(-36px) scale(.96)}12%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateY(calc(var(--distance) * -1)) scale(.76)}}@keyframes celebration-message{0%{opacity:0;filter:blur(3px);transform:translateY(18px)scale(.96)}12%,82%{opacity:1;filter:blur();transform:translateY(0)scale(1)}to{opacity:0;filter:blur(2px);transform:translateY(-10px)scale(.985)}}@media (width<=680px){.wish-burst span{font-size:10px}.celebration-message{border-radius:28px}}@media (width<=380px),(height<=600px){.celebration-message{border-radius:24px;padding:26px 20px}.celebration-message strong{margin:16px 0;font-size:clamp(26px,8.5vw,38px);line-height:1.3}.celebration-message span,.celebration-message small{font-size:11px}}@media (prefers-reduced-motion:reduce){.ambient-blessing-field,.celebration-rings,.celebration-pieces,.burst-ray,.burst-ring{display:none}.wish-burst span,.grand-celebration,.celebration-aurora,.celebration-message{transform:none;animation-duration:.2s!important;animation-delay:0s!important}}.star-trail{z-index:92;pointer-events:none;background:radial-gradient(circle at 50% 38%,#091034a8,#010415e6);animation:.42s both star-trail-in;position:fixed;inset:0}@keyframes star-trail-in{0%{opacity:0}to{opacity:1}}.star-trail-lines{position:absolute;inset:0}.star-trail-lines line{stroke:#6fff0099;stroke-width:1.5px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:.42s ease-out both star-trail-draw;animation-delay:var(--delay,0s)}@keyframes star-trail-draw{to{stroke-dashoffset:0}}.star-trail-comet{offset-distance:0%;background:#fff;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;animation-name:star-trail-travel;animation-timing-function:linear;animation-fill-mode:both;position:absolute;top:0;left:0;box-shadow:0 0 22px 7px #6fff00d9}@keyframes star-trail-travel{0%{offset-distance:0%}to{offset-distance:100%}}.star-trail-star{position:absolute;transform:translate(-50%,-50%)}.star-trail-star i{opacity:0;width:10px;height:10px;animation:.52s cubic-bezier(.2,.9,.3,1) both star-trail-ignite;animation-delay:var(--delay,0s);background:#eff4ff;border-radius:50%;margin:0 auto;display:block;transform:scale(.2);box-shadow:0 0 18px #6fff00e6}@keyframes star-trail-ignite{0%{opacity:0;transform:scale(.2)}45%{opacity:1;transform:scale(1.9)}to{opacity:1;transform:scale(1)}}.star-trail-star em{color:#eff4ffd1;font:500 12px/1 var(--mono);letter-spacing:.08em;white-space:nowrap;text-align:center;opacity:0;animation:.46s both star-trail-label;animation-delay:calc(var(--delay,0s) + .15s);margin-top:12px;font-style:normal;display:block;transform:translateY(6px)}@keyframes star-trail-label{to{opacity:1;transform:translateY(0)}}.star-trail-caption{color:#eff4ffa8;font:500 14px/1 var(--mono);letter-spacing:.3em;text-align:center;opacity:0;animation:.7s both star-trail-label;animation-delay:calc(var(--trail-total,1.6s) - .2s);margin:0;position:absolute;bottom:9vh;left:0;right:0}@font-face{font-family:Condiment;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/condiment-latin-ext.woff2?v=2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Condiment;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/condiment-latin.woff2?v=2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-sans-sc-400.woff2?v=5)format("woff2");unicode-range:U+20-7E,U+A9,U+B7,U+D7,U+2013-2014,U+201C-201D,U+2026,U+2190,U+2192-2193,U+2198,U+2500,U+2605,U+3001-3002,U+3007,U+4E00,U+4E07,U+4E09-4E0B,U+4E0D,U+4E16,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E4B-4E4C,U+4E50,U+4E58,U+4E5D,U+4E5F,U+4E86,U+4E8B-4E8C,U+4E8E,U+4E94,U+4E9B,U+4EA4,U+4EAE,U+4EB2,U+4EBA,U+4EC5,U+4ECA,U+4ECE,U+4EE5,U+4EEA,U+4EEC,U+4EF7,U+4EFB,U+4EFD,U+4F1A,U+4F46,U+4F4D,U+4F4F,U+4F55,U+4F5C,U+4F60,U+4FDD,U+5012,U+505A,U+505C,U+5065,U+50CF,U+513F,U+5149,U+514B,U+516B,U+516D,U+5173,U+518C-518D,U+5199,U+51B3,U+51D1,U+51E0,U+51FA-51FB,U+521D,U+522B,U+5230,U+5236,U+523B,U+524D,U+529B,U+52A8,U+52C7,U+5305,U+5319,U+5341,U+5355,U+5361,U+5370,U+5386,U+53BB,U+53CB,U+53D1,U+53D6,U+53D8,U+53E3,U+53EA,U+53EC,U+53EF-53F0,U+53F3,U+53F7,U+5408,U+540C-540E,U+5411,U+542C,U+542F,U+5439,U+54C8,U+54CD,U+54E8,U+54EA,U+5524,U+5531,U+559C,U+5609,U+5634,U+563B,U+56DB,U+56DE,U+56E0,U+56F4,U+56FE,U+5728,U+5730,U+573A,U+5766,U+58F0,U+5916,U+591A,U+591F,U+5927,U+5929-592A,U+5931,U+5954,U+5979,U+597D,U+5982,U+59CB,U+5A77,U+5B57-5B58,U+5B83,U+5B87,U+5B89,U+5B8C,U+5B99-5B9A,U+5BBE,U+5BC6,U+5BF9,U+5BFC,U+5BFF,U+5C01,U+5C0F,U+5C16,U+5C31,U+5C3E,U+5C55,U+5C81,U+5DE6,U+5DEE,U+5DF2,U+5E08,U+5E26,U+5E38,U+5E55,U+5E73-5E74,U+5E8F,U+5E95,U+5EA6,U+5EB7,U+5F00,U+5F0F,U+5F20,U+5F53,U+5F71,U+5F80,U+5F85,U+5F8B,U+5FAE,U+5FC3,U+5FC5,U+5FEB,U+5FF5,U+6021,U+606F-6070,U+60CA,U+60F3,U+6109,U+610F,U+613F,U+6210-6211,U+6216,U+6240,U+6249,U+624B,U+6253,U+628A,U+6295,U+62B5,U+62C6,U+62D6,U+62E5,U+6307,U+6309,U+63A5,U+63A7,U+6512,U+6536,U+653E,U+6562,U+6570,U+6574,U+65AD,U+65B0,U+65B9,U+65C5,U+65CB,U+65E0,U+65E5,U+65F6,U+660E,U+661F-6620,U+662F,U+665A,U+66F4,U+66FF-6700,U+6709,U+670B,U+671B,U+671F,U+672A,U+672C,U+6743,U+6765,U+67D4,U+67E5,U+6837,U+6839,U+683C,U+6848,U+68C0,U+68DA,U+6B21-6B22,U+6B4C,U+6B62-6B65,U+6BB5,U+6BCF,U+6BD4,U+6C14,U+6C38,U+6C64,U+6CA1,U+6D4B,U+6E05,U+6E29,U+6E2F,U+6E38,U+6E7E,U+6ED1,U+6EE1,U+6F2B,U+6F58,U+706B,U+706D,U+706F,U+7075,U+7089,U+70B9,U+70C8,U+70DB,U+70ED,U+7136,U+7167,U+7206,U+7231,U+7247-7248,U+7269,U+7279,U+72EC,U+73B0,U+7403,U+751F,U+7528,U+7531,U+753B,U+754C,U+7559,U+767B,U+767D,U+7684,U+7686,U+76D2,U+76F4,U+76F8,U+770B,U+771F,U+773C,U+7740-7741,U+775B,U+793A,U+793C,U+793E,U+795D,U+798F,U+79D2,U+79D8,U+7A0B,U+7A7A,U+7AD9,U+7AE0,U+7B2C,U+7B49,U+7B54,U+7BAD,U+7CD5,U+7EAA,U+7EBF,U+7ECF,U+7ED3,U+7ED9,U+7EE7,U+7EED,U+7F16,U+7F8E,U+7FFB,U+8000-8001,U+800C,U+80DC,U+81EA,U+81F4,U+822A,U+8272,U+8282,U+83DC,U+843D,U+85CF,U+86CB,U+8721,U+884C,U+88AB,U+88C5,U+89C4,U+89C8,U+89D2,U+89E3,U+8BA1,U+8BA9,U+8BB8,U+8BD5,U+8BDD,U+8BF4,U+8C01,U+8C22,U+8D25,U+8D3A,U+8D5B,U+8D70,U+8D74,U+8D77,U+8DDD,U+8DEF,U+8DF3,U+8EAB,U+8F68,U+8F7D,U+8FB9,U+8FBE,U+8FC7,U+8FD0-8FD1,U+8FD4,U+8FD8-8FD9,U+8FDB-8FDC,U+8FDE,U+9001,U+9014,U+9047,U+9053,U+90A3,U+90FD,U+9192,U+91CC,U+94A5,U+94AE,U+9501,U+952E,U+957F,U+95EA,U+95ED,U+95F4,U+9645,U+968F,U+9760,U+9762,U+97F3,U+9875,U+9884,U+9897,U+98CE,U+98DE,U+9996,U+9C9C,U+9EA6,U+9F84,U+9F9F,U+FF01,U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F,U+FF5E}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-sans-sc-500.woff2?v=5)format("woff2");unicode-range:U+20-7E,U+A9,U+B7,U+D7,U+2013-2014,U+201C-201D,U+2026,U+2190,U+2192-2193,U+2198,U+2500,U+2605,U+3001-3002,U+3007,U+4E00,U+4E07,U+4E09-4E0B,U+4E0D,U+4E16,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E4B-4E4C,U+4E50,U+4E58,U+4E5D,U+4E5F,U+4E86,U+4E8B-4E8C,U+4E8E,U+4E94,U+4E9B,U+4EA4,U+4EAE,U+4EB2,U+4EBA,U+4EC5,U+4ECA,U+4ECE,U+4EE5,U+4EEA,U+4EEC,U+4EF7,U+4EFB,U+4EFD,U+4F1A,U+4F46,U+4F4D,U+4F4F,U+4F55,U+4F5C,U+4F60,U+4FDD,U+5012,U+505A,U+505C,U+5065,U+50CF,U+513F,U+5149,U+514B,U+516B,U+516D,U+5173,U+518C-518D,U+5199,U+51B3,U+51D1,U+51E0,U+51FA-51FB,U+521D,U+522B,U+5230,U+5236,U+523B,U+524D,U+529B,U+52A8,U+52C7,U+5305,U+5319,U+5341,U+5355,U+5361,U+5370,U+5386,U+53BB,U+53CB,U+53D1,U+53D6,U+53D8,U+53E3,U+53EA,U+53EC,U+53EF-53F0,U+53F3,U+53F7,U+5408,U+540C-540E,U+5411,U+542C,U+542F,U+5439,U+54C8,U+54CD,U+54E8,U+54EA,U+5524,U+5531,U+559C,U+5609,U+5634,U+563B,U+56DB,U+56DE,U+56E0,U+56F4,U+56FE,U+5728,U+5730,U+573A,U+5766,U+58F0,U+5916,U+591A,U+591F,U+5927,U+5929-592A,U+5931,U+5954,U+5979,U+597D,U+5982,U+59CB,U+5A77,U+5B57-5B58,U+5B83,U+5B87,U+5B89,U+5B8C,U+5B99-5B9A,U+5BBE,U+5BC6,U+5BF9,U+5BFC,U+5BFF,U+5C01,U+5C0F,U+5C16,U+5C31,U+5C3E,U+5C55,U+5C81,U+5DE6,U+5DEE,U+5DF2,U+5E08,U+5E26,U+5E38,U+5E55,U+5E73-5E74,U+5E8F,U+5E95,U+5EA6,U+5EB7,U+5F00,U+5F0F,U+5F20,U+5F53,U+5F71,U+5F80,U+5F85,U+5F8B,U+5FAE,U+5FC3,U+5FC5,U+5FEB,U+5FF5,U+6021,U+606F-6070,U+60CA,U+60F3,U+6109,U+610F,U+613F,U+6210-6211,U+6216,U+6240,U+6249,U+624B,U+6253,U+628A,U+6295,U+62B5,U+62C6,U+62D6,U+62E5,U+6307,U+6309,U+63A5,U+63A7,U+6512,U+6536,U+653E,U+6562,U+6570,U+6574,U+65AD,U+65B0,U+65B9,U+65C5,U+65CB,U+65E0,U+65E5,U+65F6,U+660E,U+661F-6620,U+662F,U+665A,U+66F4,U+66FF-6700,U+6709,U+670B,U+671B,U+671F,U+672A,U+672C,U+6743,U+6765,U+67D4,U+67E5,U+6837,U+6839,U+683C,U+6848,U+68C0,U+68DA,U+6B21-6B22,U+6B4C,U+6B62-6B65,U+6BB5,U+6BCF,U+6BD4,U+6C14,U+6C38,U+6C64,U+6CA1,U+6D4B,U+6E05,U+6E29,U+6E2F,U+6E38,U+6E7E,U+6ED1,U+6EE1,U+6F2B,U+6F58,U+706B,U+706D,U+706F,U+7075,U+7089,U+70B9,U+70C8,U+70DB,U+70ED,U+7136,U+7167,U+7206,U+7231,U+7247-7248,U+7269,U+7279,U+72EC,U+73B0,U+7403,U+751F,U+7528,U+7531,U+753B,U+754C,U+7559,U+767B,U+767D,U+7684,U+7686,U+76D2,U+76F4,U+76F8,U+770B,U+771F,U+773C,U+7740-7741,U+775B,U+793A,U+793C,U+793E,U+795D,U+798F,U+79D2,U+79D8,U+7A0B,U+7A7A,U+7AD9,U+7AE0,U+7B2C,U+7B49,U+7B54,U+7BAD,U+7CD5,U+7EAA,U+7EBF,U+7ECF,U+7ED3,U+7ED9,U+7EE7,U+7EED,U+7F16,U+7F8E,U+7FFB,U+8000-8001,U+800C,U+80DC,U+81EA,U+81F4,U+822A,U+8272,U+8282,U+83DC,U+843D,U+85CF,U+86CB,U+8721,U+884C,U+88AB,U+88C5,U+89C4,U+89C8,U+89D2,U+89E3,U+8BA1,U+8BA9,U+8BB8,U+8BD5,U+8BDD,U+8BF4,U+8C01,U+8C22,U+8D25,U+8D3A,U+8D5B,U+8D70,U+8D74,U+8D77,U+8DDD,U+8DEF,U+8DF3,U+8EAB,U+8F68,U+8F7D,U+8FB9,U+8FBE,U+8FC7,U+8FD0-8FD1,U+8FD4,U+8FD8-8FD9,U+8FDB-8FDC,U+8FDE,U+9001,U+9014,U+9047,U+9053,U+90A3,U+90FD,U+9192,U+91CC,U+94A5,U+94AE,U+9501,U+952E,U+957F,U+95EA,U+95ED,U+95F4,U+9645,U+968F,U+9760,U+9762,U+97F3,U+9875,U+9884,U+9897,U+98CE,U+98DE,U+9996,U+9C9C,U+9EA6,U+9F84,U+9F9F,U+FF01,U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F,U+FF5E}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-sans-sc-700.woff2?v=5)format("woff2");unicode-range:U+20-7E,U+A9,U+B7,U+D7,U+2013-2014,U+201C-201D,U+2026,U+2190,U+2192-2193,U+2198,U+2500,U+2605,U+3001-3002,U+3007,U+4E00,U+4E07,U+4E09-4E0B,U+4E0D,U+4E16,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E4B-4E4C,U+4E50,U+4E58,U+4E5D,U+4E5F,U+4E86,U+4E8B-4E8C,U+4E8E,U+4E94,U+4E9B,U+4EA4,U+4EAE,U+4EB2,U+4EBA,U+4EC5,U+4ECA,U+4ECE,U+4EE5,U+4EEA,U+4EEC,U+4EF7,U+4EFB,U+4EFD,U+4F1A,U+4F46,U+4F4D,U+4F4F,U+4F55,U+4F5C,U+4F60,U+4FDD,U+5012,U+505A,U+505C,U+5065,U+50CF,U+513F,U+5149,U+514B,U+516B,U+516D,U+5173,U+518C-518D,U+5199,U+51B3,U+51D1,U+51E0,U+51FA-51FB,U+521D,U+522B,U+5230,U+5236,U+523B,U+524D,U+529B,U+52A8,U+52C7,U+5305,U+5319,U+5341,U+5355,U+5361,U+5370,U+5386,U+53BB,U+53CB,U+53D1,U+53D6,U+53D8,U+53E3,U+53EA,U+53EC,U+53EF-53F0,U+53F3,U+53F7,U+5408,U+540C-540E,U+5411,U+542C,U+542F,U+5439,U+54C8,U+54CD,U+54E8,U+54EA,U+5524,U+5531,U+559C,U+5609,U+5634,U+563B,U+56DB,U+56DE,U+56E0,U+56F4,U+56FE,U+5728,U+5730,U+573A,U+5766,U+58F0,U+5916,U+591A,U+591F,U+5927,U+5929-592A,U+5931,U+5954,U+5979,U+597D,U+5982,U+59CB,U+5A77,U+5B57-5B58,U+5B83,U+5B87,U+5B89,U+5B8C,U+5B99-5B9A,U+5BBE,U+5BC6,U+5BF9,U+5BFC,U+5BFF,U+5C01,U+5C0F,U+5C16,U+5C31,U+5C3E,U+5C55,U+5C81,U+5DE6,U+5DEE,U+5DF2,U+5E08,U+5E26,U+5E38,U+5E55,U+5E73-5E74,U+5E8F,U+5E95,U+5EA6,U+5EB7,U+5F00,U+5F0F,U+5F20,U+5F53,U+5F71,U+5F80,U+5F85,U+5F8B,U+5FAE,U+5FC3,U+5FC5,U+5FEB,U+5FF5,U+6021,U+606F-6070,U+60CA,U+60F3,U+6109,U+610F,U+613F,U+6210-6211,U+6216,U+6240,U+6249,U+624B,U+6253,U+628A,U+6295,U+62B5,U+62C6,U+62D6,U+62E5,U+6307,U+6309,U+63A5,U+63A7,U+6512,U+6536,U+653E,U+6562,U+6570,U+6574,U+65AD,U+65B0,U+65B9,U+65C5,U+65CB,U+65E0,U+65E5,U+65F6,U+660E,U+661F-6620,U+662F,U+665A,U+66F4,U+66FF-6700,U+6709,U+670B,U+671B,U+671F,U+672A,U+672C,U+6743,U+6765,U+67D4,U+67E5,U+6837,U+6839,U+683C,U+6848,U+68C0,U+68DA,U+6B21-6B22,U+6B4C,U+6B62-6B65,U+6BB5,U+6BCF,U+6BD4,U+6C14,U+6C38,U+6C64,U+6CA1,U+6D4B,U+6E05,U+6E29,U+6E2F,U+6E38,U+6E7E,U+6ED1,U+6EE1,U+6F2B,U+6F58,U+706B,U+706D,U+706F,U+7075,U+7089,U+70B9,U+70C8,U+70DB,U+70ED,U+7136,U+7167,U+7206,U+7231,U+7247-7248,U+7269,U+7279,U+72EC,U+73B0,U+7403,U+751F,U+7528,U+7531,U+753B,U+754C,U+7559,U+767B,U+767D,U+7684,U+7686,U+76D2,U+76F4,U+76F8,U+770B,U+771F,U+773C,U+7740-7741,U+775B,U+793A,U+793C,U+793E,U+795D,U+798F,U+79D2,U+79D8,U+7A0B,U+7A7A,U+7AD9,U+7AE0,U+7B2C,U+7B49,U+7B54,U+7BAD,U+7CD5,U+7EAA,U+7EBF,U+7ECF,U+7ED3,U+7ED9,U+7EE7,U+7EED,U+7F16,U+7F8E,U+7FFB,U+8000-8001,U+800C,U+80DC,U+81EA,U+81F4,U+822A,U+8272,U+8282,U+83DC,U+843D,U+85CF,U+86CB,U+8721,U+884C,U+88AB,U+88C5,U+89C4,U+89C8,U+89D2,U+89E3,U+8BA1,U+8BA9,U+8BB8,U+8BD5,U+8BDD,U+8BF4,U+8C01,U+8C22,U+8D25,U+8D3A,U+8D5B,U+8D70,U+8D74,U+8D77,U+8DDD,U+8DEF,U+8DF3,U+8EAB,U+8F68,U+8F7D,U+8FB9,U+8FBE,U+8FC7,U+8FD0-8FD1,U+8FD4,U+8FD8-8FD9,U+8FDB-8FDC,U+8FDE,U+9001,U+9014,U+9047,U+9053,U+90A3,U+90FD,U+9192,U+91CC,U+94A5,U+94AE,U+9501,U+952E,U+957F,U+95EA,U+95ED,U+95F4,U+9645,U+968F,U+9760,U+9762,U+97F3,U+9875,U+9884,U+9897,U+98CE,U+98DE,U+9996,U+9C9C,U+9EA6,U+9F84,U+9F9F,U+FF01,U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F,U+FF5E}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/noto-sans-sc-900.woff2?v=5)format("woff2");unicode-range:U+20-7E,U+A9,U+B7,U+D7,U+2013-2014,U+201C-201D,U+2026,U+2190,U+2192-2193,U+2198,U+2500,U+2605,U+3001-3002,U+3007,U+4E00,U+4E07,U+4E09-4E0B,U+4E0D,U+4E16,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E4B-4E4C,U+4E50,U+4E58,U+4E5D,U+4E5F,U+4E86,U+4E8B-4E8C,U+4E8E,U+4E94,U+4E9B,U+4EA4,U+4EAE,U+4EB2,U+4EBA,U+4EC5,U+4ECA,U+4ECE,U+4EE5,U+4EEA,U+4EEC,U+4EF7,U+4EFB,U+4EFD,U+4F1A,U+4F46,U+4F4D,U+4F4F,U+4F55,U+4F5C,U+4F60,U+4FDD,U+5012,U+505A,U+505C,U+5065,U+50CF,U+513F,U+5149,U+514B,U+516B,U+516D,U+5173,U+518C-518D,U+5199,U+51B3,U+51D1,U+51E0,U+51FA-51FB,U+521D,U+522B,U+5230,U+5236,U+523B,U+524D,U+529B,U+52A8,U+52C7,U+5305,U+5319,U+5341,U+5355,U+5361,U+5370,U+5386,U+53BB,U+53CB,U+53D1,U+53D6,U+53D8,U+53E3,U+53EA,U+53EC,U+53EF-53F0,U+53F3,U+53F7,U+5408,U+540C-540E,U+5411,U+542C,U+542F,U+5439,U+54C8,U+54CD,U+54E8,U+54EA,U+5524,U+5531,U+559C,U+5609,U+5634,U+563B,U+56DB,U+56DE,U+56E0,U+56F4,U+56FE,U+5728,U+5730,U+573A,U+5766,U+58F0,U+5916,U+591A,U+591F,U+5927,U+5929-592A,U+5931,U+5954,U+5979,U+597D,U+5982,U+59CB,U+5A77,U+5B57-5B58,U+5B83,U+5B87,U+5B89,U+5B8C,U+5B99-5B9A,U+5BBE,U+5BC6,U+5BF9,U+5BFC,U+5BFF,U+5C01,U+5C0F,U+5C16,U+5C31,U+5C3E,U+5C55,U+5C81,U+5DE6,U+5DEE,U+5DF2,U+5E08,U+5E26,U+5E38,U+5E55,U+5E73-5E74,U+5E8F,U+5E95,U+5EA6,U+5EB7,U+5F00,U+5F0F,U+5F20,U+5F53,U+5F71,U+5F80,U+5F85,U+5F8B,U+5FAE,U+5FC3,U+5FC5,U+5FEB,U+5FF5,U+6021,U+606F-6070,U+60CA,U+60F3,U+6109,U+610F,U+613F,U+6210-6211,U+6216,U+6240,U+6249,U+624B,U+6253,U+628A,U+6295,U+62B5,U+62C6,U+62D6,U+62E5,U+6307,U+6309,U+63A5,U+63A7,U+6512,U+6536,U+653E,U+6562,U+6570,U+6574,U+65AD,U+65B0,U+65B9,U+65C5,U+65CB,U+65E0,U+65E5,U+65F6,U+660E,U+661F-6620,U+662F,U+665A,U+66F4,U+66FF-6700,U+6709,U+670B,U+671B,U+671F,U+672A,U+672C,U+6743,U+6765,U+67D4,U+67E5,U+6837,U+6839,U+683C,U+6848,U+68C0,U+68DA,U+6B21-6B22,U+6B4C,U+6B62-6B65,U+6BB5,U+6BCF,U+6BD4,U+6C14,U+6C38,U+6C64,U+6CA1,U+6D4B,U+6E05,U+6E29,U+6E2F,U+6E38,U+6E7E,U+6ED1,U+6EE1,U+6F2B,U+6F58,U+706B,U+706D,U+706F,U+7075,U+7089,U+70B9,U+70C8,U+70DB,U+70ED,U+7136,U+7167,U+7206,U+7231,U+7247-7248,U+7269,U+7279,U+72EC,U+73B0,U+7403,U+751F,U+7528,U+7531,U+753B,U+754C,U+7559,U+767B,U+767D,U+7684,U+7686,U+76D2,U+76F4,U+76F8,U+770B,U+771F,U+773C,U+7740-7741,U+775B,U+793A,U+793C,U+793E,U+795D,U+798F,U+79D2,U+79D8,U+7A0B,U+7A7A,U+7AD9,U+7AE0,U+7B2C,U+7B49,U+7B54,U+7BAD,U+7CD5,U+7EAA,U+7EBF,U+7ECF,U+7ED3,U+7ED9,U+7EE7,U+7EED,U+7F16,U+7F8E,U+7FFB,U+8000-8001,U+800C,U+80DC,U+81EA,U+81F4,U+822A,U+8272,U+8282,U+83DC,U+843D,U+85CF,U+86CB,U+8721,U+884C,U+88AB,U+88C5,U+89C4,U+89C8,U+89D2,U+89E3,U+8BA1,U+8BA9,U+8BB8,U+8BD5,U+8BDD,U+8BF4,U+8C01,U+8C22,U+8D25,U+8D3A,U+8D5B,U+8D70,U+8D74,U+8D77,U+8DDD,U+8DEF,U+8DF3,U+8EAB,U+8F68,U+8F7D,U+8FB9,U+8FBE,U+8FC7,U+8FD0-8FD1,U+8FD4,U+8FD8-8FD9,U+8FDB-8FDC,U+8FDE,U+9001,U+9014,U+9047,U+9053,U+90A3,U+90FD,U+9192,U+91CC,U+94A5,U+94AE,U+9501,U+952E,U+957F,U+95EA,U+95ED,U+95F4,U+9645,U+968F,U+9760,U+9762,U+97F3,U+9875,U+9884,U+9897,U+98CE,U+98DE,U+9996,U+9C9C,U+9EA6,U+9F84,U+9F9F,U+FF01,U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F,U+FF5E}@font-face{font-family:Ma Shan Zheng;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/mashanzheng-subset.woff2?v=2)format("woff2");unicode-range:U+20-7E,U+A9,U+B7,U+D7,U+2013-2014,U+201C-201D,U+2026,U+2190,U+2192-2193,U+2198,U+2500,U+2605,U+3001-3002,U+3007,U+4E00,U+4E07,U+4E09-4E0B,U+4E0D,U+4E16,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E4B-4E4C,U+4E50,U+4E58,U+4E5D,U+4E5F,U+4E86,U+4E8B-4E8C,U+4E8E,U+4E94,U+4E9B,U+4EA4,U+4EAE,U+4EB2,U+4EBA,U+4EC5,U+4ECA,U+4ECE,U+4EE5,U+4EEA,U+4EEC,U+4EF7,U+4EFB,U+4EFD,U+4F1A,U+4F46,U+4F4D,U+4F4F,U+4F55,U+4F5C,U+4F60,U+4FDD,U+5012,U+505A,U+505C,U+5065,U+50CF,U+513F,U+5149,U+514B,U+516B,U+516D,U+5173,U+518C-518D,U+5199,U+51B3,U+51D1,U+51E0,U+51FA-51FB,U+521D,U+522B,U+5230,U+5236,U+523B,U+524D,U+529B,U+52A8,U+52C7,U+5305,U+5319,U+5341,U+5355,U+5361,U+5370,U+5386,U+53BB,U+53CB,U+53D1,U+53D6,U+53D8,U+53E3,U+53EA,U+53EC,U+53EF-53F0,U+53F3,U+53F7,U+5408,U+540C-540E,U+5411,U+542C,U+542F,U+5439,U+54C8,U+54CD,U+54E8,U+54EA,U+5524,U+5531,U+559C,U+5609,U+5634,U+563B,U+56DB,U+56DE,U+56E0,U+56F4,U+56FE,U+5728,U+5730,U+573A,U+5766,U+58F0,U+5916,U+591A,U+591F,U+5927,U+5929-592A,U+5931,U+5954,U+5979,U+597D,U+5982,U+59CB,U+5A77,U+5B57-5B58,U+5B83,U+5B87,U+5B89,U+5B8C,U+5B99-5B9A,U+5BBE,U+5BC6,U+5BF9,U+5BFC,U+5BFF,U+5C01,U+5C0F,U+5C16,U+5C31,U+5C3E,U+5C55,U+5C81,U+5DE6,U+5DEE,U+5DF2,U+5E08,U+5E26,U+5E38,U+5E55,U+5E73-5E74,U+5E8F,U+5E95,U+5EA6,U+5EB7,U+5F00,U+5F0F,U+5F20,U+5F53,U+5F71,U+5F80,U+5F85,U+5F8B,U+5FAE,U+5FC3,U+5FC5,U+5FEB,U+5FF5,U+6021,U+606F-6070,U+60CA,U+60F3,U+6109,U+610F,U+613F,U+6210-6211,U+6216,U+6240,U+6249,U+624B,U+6253,U+628A,U+6295,U+62B5,U+62C6,U+62D6,U+62E5,U+6307,U+6309,U+63A5,U+63A7,U+6512,U+6536,U+653E,U+6562,U+6570,U+6574,U+65AD,U+65B0,U+65B9,U+65C5,U+65CB,U+65E0,U+65E5,U+65F6,U+660E,U+661F-6620,U+662F,U+665A,U+66F4,U+66FF-6700,U+6709,U+670B,U+671B,U+671F,U+672A,U+672C,U+6743,U+6765,U+67D4,U+67E5,U+6837,U+6839,U+683C,U+6848,U+68C0,U+68DA,U+6B21-6B22,U+6B4C,U+6B62-6B65,U+6BB5,U+6BCF,U+6BD4,U+6C14,U+6C38,U+6C64,U+6CA1,U+6D4B,U+6E05,U+6E29,U+6E2F,U+6E38,U+6E7E,U+6ED1,U+6EE1,U+6F2B,U+6F58,U+706B,U+706D,U+706F,U+7075,U+7089,U+70B9,U+70C8,U+70DB,U+70ED,U+7136,U+7167,U+7206,U+7231,U+7247-7248,U+7269,U+7279,U+72EC,U+73B0,U+7403,U+751F,U+7528,U+7531,U+753B,U+754C,U+7559,U+767B,U+767D,U+7684,U+7686,U+76D2,U+76F4,U+76F8,U+770B,U+771F,U+773C,U+7740-7741,U+775B,U+793A,U+793C,U+793E,U+795D,U+798F,U+79D2,U+79D8,U+7A0B,U+7A7A,U+7AD9,U+7AE0,U+7B2C,U+7B49,U+7B54,U+7BAD,U+7CD5,U+7EAA,U+7EBF,U+7ECF,U+7ED3,U+7ED9,U+7EE7,U+7EED,U+7F16,U+7F8E,U+7FFB,U+8000-8001,U+800C,U+80DC,U+81EA,U+81F4,U+822A,U+8272,U+8282,U+83DC,U+843D,U+85CF,U+86CB,U+8721,U+884C,U+88AB,U+88C5,U+89C4,U+89C8,U+89D2,U+89E3,U+8BA1,U+8BA9,U+8BB8,U+8BD5,U+8BDD,U+8BF4,U+8C01,U+8C22,U+8D25,U+8D3A,U+8D5B,U+8D70,U+8D74,U+8D77,U+8DDD,U+8DEF,U+8DF3,U+8EAB,U+8F68,U+8F7D,U+8FB9,U+8FBE,U+8FC7,U+8FD0-8FD1,U+8FD4,U+8FD8-8FD9,U+8FDB-8FDC,U+8FDE,U+9001,U+9014,U+9047,U+9053,U+90A3,U+90FD,U+9192,U+91CC,U+94A5,U+94AE,U+9501,U+952E,U+957F,U+95EA,U+95ED,U+95F4,U+9645,U+968F,U+9760,U+9762,U+97F3,U+9875,U+9884,U+9897,U+98CE,U+98DE,U+9996,U+9C9C,U+9EA6,U+9F84,U+9F9F,U+FF01,U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F,U+FF5E}@font-face{font-family:Zhi Mang Xing;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/zhi-mang-xing-subset.woff2)format("woff2")}@font-face{font-family:ZCOOL QingKe HuangYou;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/zcool-qingke-huangyou.woff2?v=1)format("woff2");unicode-range:U+20-7E,U+A9,U+B7,U+D7,U+2013-2014,U+201C-201D,U+2026,U+2190,U+2192-2193,U+2198,U+2500,U+2605,U+3001-3002,U+3007,U+4E00,U+4E07,U+4E09-4E0B,U+4E0D,U+4E16,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E4B-4E4C,U+4E50,U+4E58,U+4E5D,U+4E5F,U+4E86,U+4E8B-4E8C,U+4E8E,U+4E94,U+4E9B,U+4EA4,U+4EAE,U+4EB2,U+4EBA,U+4EC5,U+4ECA,U+4ECE,U+4EE5,U+4EEA,U+4EEC,U+4EF7,U+4EFB,U+4EFD,U+4F1A,U+4F46,U+4F4D,U+4F4F,U+4F55,U+4F5C,U+4F60,U+4FDD,U+5012,U+505A,U+505C,U+5065,U+50CF,U+513F,U+5149,U+514B,U+516B,U+516D,U+5173,U+518C-518D,U+5199,U+51B3,U+51D1,U+51E0,U+51FA-51FB,U+521D,U+522B,U+5230,U+5236,U+523B,U+524D,U+529B,U+52A8,U+52C7,U+5305,U+5319,U+5341,U+5355,U+5361,U+5370,U+5386,U+53BB,U+53CB,U+53D1,U+53D6,U+53D8,U+53E3,U+53EA,U+53EC,U+53EF-53F0,U+53F3,U+53F7,U+5408,U+540C-540E,U+5411,U+542C,U+542F,U+5439,U+54C8,U+54CD,U+54E8,U+54EA,U+5524,U+5531,U+559C,U+5609,U+5634,U+563B,U+56DB,U+56DE,U+56E0,U+56F4,U+56FE,U+5728,U+5730,U+573A,U+5766,U+58F0,U+5916,U+591A,U+591F,U+5927,U+5929-592A,U+5931,U+5954,U+5979,U+597D,U+5982,U+59CB,U+5A77,U+5B57-5B58,U+5B83,U+5B87,U+5B89,U+5B8C,U+5B99-5B9A,U+5BBE,U+5BC6,U+5BF9,U+5BFC,U+5BFF,U+5C01,U+5C0F,U+5C16,U+5C31,U+5C3E,U+5C55,U+5C81,U+5DE6,U+5DEE,U+5DF2,U+5E08,U+5E26,U+5E38,U+5E55,U+5E73-5E74,U+5E8F,U+5E95,U+5EA6,U+5EB7,U+5F00,U+5F0F,U+5F20,U+5F53,U+5F71,U+5F80,U+5F85,U+5F8B,U+5FAE,U+5FC3,U+5FC5,U+5FEB,U+5FF5,U+6021,U+606F-6070,U+60CA,U+60F3,U+6109,U+610F,U+613F,U+6210-6211,U+6216,U+6240,U+6249,U+624B,U+6253,U+628A,U+6295,U+62B5,U+62C6,U+62D6,U+62E5,U+6307,U+6309,U+63A5,U+63A7,U+6512,U+6536,U+653E,U+6562,U+6570,U+6574,U+65AD,U+65B0,U+65B9,U+65C5,U+65CB,U+65E0,U+65E5,U+65F6,U+660E,U+661F-6620,U+662F,U+665A,U+66F4,U+66FF-6700,U+6709,U+670B,U+671B,U+671F,U+672A,U+672C,U+6743,U+6765,U+67D4,U+67E5,U+6837,U+6839,U+683C,U+6848,U+68C0,U+68DA,U+6B21-6B22,U+6B4C,U+6B62-6B65,U+6BB5,U+6BCF,U+6BD4,U+6C14,U+6C38,U+6C64,U+6CA1,U+6D4B,U+6E05,U+6E29,U+6E2F,U+6E38,U+6E7E,U+6ED1,U+6EE1,U+6F2B,U+6F58,U+706B,U+706D,U+706F,U+7075,U+7089,U+70B9,U+70C8,U+70DB,U+70ED,U+7136,U+7167,U+7206,U+7231,U+7247-7248,U+7269,U+7279,U+72EC,U+73B0,U+7403,U+751F,U+7528,U+7531,U+753B,U+754C,U+7559,U+767B,U+767D,U+7684,U+7686,U+76D2,U+76F4,U+76F8,U+770B,U+771F,U+773C,U+7740-7741,U+775B,U+793A,U+793C,U+793E,U+795D,U+798F,U+79D2,U+79D8,U+7A0B,U+7A7A,U+7AD9,U+7AE0,U+7B2C,U+7B49,U+7B54,U+7BAD,U+7CD5,U+7EAA,U+7EBF,U+7ECF,U+7ED3,U+7ED9,U+7EE7,U+7EED,U+7F16,U+7F8E,U+7FFB,U+8000-8001,U+800C,U+80DC,U+81EA,U+81F4,U+822A,U+8272,U+8282,U+83DC,U+843D,U+85CF,U+86CB,U+8721,U+884C,U+88AB,U+88C5,U+89C4,U+89C8,U+89D2,U+89E3,U+8BA1,U+8BA9,U+8BB8,U+8BD5,U+8BDD,U+8BF4,U+8C01,U+8C22,U+8D25,U+8D3A,U+8D5B,U+8D70,U+8D74,U+8D77,U+8DDD,U+8DEF,U+8DF3,U+8EAB,U+8F68,U+8F7D,U+8FB9,U+8FBE,U+8FC7,U+8FD0-8FD1,U+8FD4,U+8FD8-8FD9,U+8FDB-8FDC,U+8FDE,U+9001,U+9014,U+9047,U+9053,U+90A3,U+90FD,U+9192,U+91CC,U+94A5,U+94AE,U+9501,U+952E,U+957F,U+95EA,U+95ED,U+95F4,U+9645,U+968F,U+9760,U+9762,U+97F3,U+9875,U+9884,U+9897,U+98CE,U+98DE,U+9996,U+9C9C,U+9EA6,U+9F84,U+9F9F,U+FF01,U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F,U+FF5E}@font-face{font-family:Permanent Marker;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/permanentmarker-subset.woff2?v=1)format("woff2");unicode-range:U+20-7E,U+A9,U+B7,U+D7,U+2013-2014,U+201C-201D,U+2026,U+2190,U+2192-2193,U+2198,U+2500,U+2605,U+3001-3002,U+3007,U+4E00,U+4E07,U+4E09-4E0B,U+4E0D,U+4E16,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E4B-4E4C,U+4E50,U+4E58,U+4E5D,U+4E5F,U+4E86,U+4E8B-4E8C,U+4E8E,U+4E94,U+4E9B,U+4EA4,U+4EAE,U+4EB2,U+4EBA,U+4EC5,U+4ECA,U+4ECE,U+4EE5,U+4EEA,U+4EEC,U+4EF7,U+4EFB,U+4EFD,U+4F1A,U+4F46,U+4F4D,U+4F4F,U+4F55,U+4F5C,U+4F60,U+4FDD,U+5012,U+505A,U+505C,U+5065,U+50CF,U+513F,U+5149,U+514B,U+516B,U+516D,U+5173,U+518C-518D,U+5199,U+51B3,U+51D1,U+51E0,U+51FA-51FB,U+521D,U+522B,U+5230,U+5236,U+523B,U+524D,U+529B,U+52A8,U+52C7,U+5305,U+5319,U+5341,U+5355,U+5361,U+5370,U+5386,U+53BB,U+53CB,U+53D1,U+53D6,U+53D8,U+53E3,U+53EA,U+53EC,U+53EF-53F0,U+53F3,U+53F7,U+5408,U+540C-540E,U+5411,U+542C,U+542F,U+5439,U+54C8,U+54CD,U+54E8,U+54EA,U+5524,U+5531,U+559C,U+5609,U+5634,U+563B,U+56DB,U+56DE,U+56E0,U+56F4,U+56FE,U+5728,U+5730,U+573A,U+5766,U+58F0,U+5916,U+591A,U+591F,U+5927,U+5929-592A,U+5931,U+5954,U+5979,U+597D,U+5982,U+59CB,U+5A77,U+5B57-5B58,U+5B83,U+5B87,U+5B89,U+5B8C,U+5B99-5B9A,U+5BBE,U+5BC6,U+5BF9,U+5BFC,U+5BFF,U+5C01,U+5C0F,U+5C16,U+5C31,U+5C3E,U+5C55,U+5C81,U+5DE6,U+5DEE,U+5DF2,U+5E08,U+5E26,U+5E38,U+5E55,U+5E73-5E74,U+5E8F,U+5E95,U+5EA6,U+5EB7,U+5F00,U+5F0F,U+5F20,U+5F53,U+5F71,U+5F80,U+5F85,U+5F8B,U+5FAE,U+5FC3,U+5FC5,U+5FEB,U+5FF5,U+6021,U+606F-6070,U+60CA,U+60F3,U+6109,U+610F,U+613F,U+6210-6211,U+6216,U+6240,U+6249,U+624B,U+6253,U+628A,U+6295,U+62B5,U+62C6,U+62D6,U+62E5,U+6307,U+6309,U+63A5,U+63A7,U+6512,U+6536,U+653E,U+6562,U+6570,U+6574,U+65AD,U+65B0,U+65B9,U+65C5,U+65CB,U+65E0,U+65E5,U+65F6,U+660E,U+661F-6620,U+662F,U+665A,U+66F4,U+66FF-6700,U+6709,U+670B,U+671B,U+671F,U+672A,U+672C,U+6743,U+6765,U+67D4,U+67E5,U+6837,U+6839,U+683C,U+6848,U+68C0,U+68DA,U+6B21-6B22,U+6B4C,U+6B62-6B65,U+6BB5,U+6BCF,U+6BD4,U+6C14,U+6C38,U+6C64,U+6CA1,U+6D4B,U+6E05,U+6E29,U+6E2F,U+6E38,U+6E7E,U+6ED1,U+6EE1,U+6F2B,U+6F58,U+706B,U+706D,U+706F,U+7075,U+7089,U+70B9,U+70C8,U+70DB,U+70ED,U+7136,U+7167,U+7206,U+7231,U+7247-7248,U+7269,U+7279,U+72EC,U+73B0,U+7403,U+751F,U+7528,U+7531,U+753B,U+754C,U+7559,U+767B,U+767D,U+7684,U+7686,U+76D2,U+76F4,U+76F8,U+770B,U+771F,U+773C,U+7740-7741,U+775B,U+793A,U+793C,U+793E,U+795D,U+798F,U+79D2,U+79D8,U+7A0B,U+7A7A,U+7AD9,U+7AE0,U+7B2C,U+7B49,U+7B54,U+7BAD,U+7CD5,U+7EAA,U+7EBF,U+7ECF,U+7ED3,U+7ED9,U+7EE7,U+7EED,U+7F16,U+7F8E,U+7FFB,U+8000-8001,U+800C,U+80DC,U+81EA,U+81F4,U+822A,U+8272,U+8282,U+83DC,U+843D,U+85CF,U+86CB,U+8721,U+884C,U+88AB,U+88C5,U+89C4,U+89C8,U+89D2,U+89E3,U+8BA1,U+8BA9,U+8BB8,U+8BD5,U+8BDD,U+8BF4,U+8C01,U+8C22,U+8D25,U+8D3A,U+8D5B,U+8D70,U+8D74,U+8D77,U+8DDD,U+8DEF,U+8DF3,U+8EAB,U+8F68,U+8F7D,U+8FB9,U+8FBE,U+8FC7,U+8FD0-8FD1,U+8FD4,U+8FD8-8FD9,U+8FDB-8FDC,U+8FDE,U+9001,U+9014,U+9047,U+9053,U+90A3,U+90FD,U+9192,U+91CC,U+94A5,U+94AE,U+9501,U+952E,U+957F,U+95EA,U+95ED,U+95F4,U+9645,U+968F,U+9760,U+9762,U+97F3,U+9875,U+9884,U+9897,U+98CE,U+98DE,U+9996,U+9C9C,U+9EA6,U+9F84,U+9F9F,U+FF01,U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F,U+FF5E}@font-face{font-family:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/caveat-subset.woff2?v=1)format("woff2");unicode-range:U+20-7E,U+A9,U+B7,U+D7,U+2013-2014,U+201C-201D,U+2026,U+2190,U+2192-2193,U+2198,U+2500,U+2605,U+3001-3002,U+3007,U+4E00,U+4E07,U+4E09-4E0B,U+4E0D,U+4E16,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E4B-4E4C,U+4E50,U+4E58,U+4E5D,U+4E5F,U+4E86,U+4E8B-4E8C,U+4E8E,U+4E94,U+4E9B,U+4EA4,U+4EAE,U+4EB2,U+4EBA,U+4EC5,U+4ECA,U+4ECE,U+4EE5,U+4EEA,U+4EEC,U+4EF7,U+4EFB,U+4EFD,U+4F1A,U+4F46,U+4F4D,U+4F4F,U+4F55,U+4F5C,U+4F60,U+4FDD,U+5012,U+505A,U+505C,U+5065,U+50CF,U+513F,U+5149,U+514B,U+516B,U+516D,U+5173,U+518C-518D,U+5199,U+51B3,U+51D1,U+51E0,U+51FA-51FB,U+521D,U+522B,U+5230,U+5236,U+523B,U+524D,U+529B,U+52A8,U+52C7,U+5305,U+5319,U+5341,U+5355,U+5361,U+5370,U+5386,U+53BB,U+53CB,U+53D1,U+53D6,U+53D8,U+53E3,U+53EA,U+53EC,U+53EF-53F0,U+53F3,U+53F7,U+5408,U+540C-540E,U+5411,U+542C,U+542F,U+5439,U+54C8,U+54CD,U+54E8,U+54EA,U+5524,U+5531,U+559C,U+5609,U+5634,U+563B,U+56DB,U+56DE,U+56E0,U+56F4,U+56FE,U+5728,U+5730,U+573A,U+5766,U+58F0,U+5916,U+591A,U+591F,U+5927,U+5929-592A,U+5931,U+5954,U+5979,U+597D,U+5982,U+59CB,U+5A77,U+5B57-5B58,U+5B83,U+5B87,U+5B89,U+5B8C,U+5B99-5B9A,U+5BBE,U+5BC6,U+5BF9,U+5BFC,U+5BFF,U+5C01,U+5C0F,U+5C16,U+5C31,U+5C3E,U+5C55,U+5C81,U+5DE6,U+5DEE,U+5DF2,U+5E08,U+5E26,U+5E38,U+5E55,U+5E73-5E74,U+5E8F,U+5E95,U+5EA6,U+5EB7,U+5F00,U+5F0F,U+5F20,U+5F53,U+5F71,U+5F80,U+5F85,U+5F8B,U+5FAE,U+5FC3,U+5FC5,U+5FEB,U+5FF5,U+6021,U+606F-6070,U+60CA,U+60F3,U+6109,U+610F,U+613F,U+6210-6211,U+6216,U+6240,U+6249,U+624B,U+6253,U+628A,U+6295,U+62B5,U+62C6,U+62D6,U+62E5,U+6307,U+6309,U+63A5,U+63A7,U+6512,U+6536,U+653E,U+6562,U+6570,U+6574,U+65AD,U+65B0,U+65B9,U+65C5,U+65CB,U+65E0,U+65E5,U+65F6,U+660E,U+661F-6620,U+662F,U+665A,U+66F4,U+66FF-6700,U+6709,U+670B,U+671B,U+671F,U+672A,U+672C,U+6743,U+6765,U+67D4,U+67E5,U+6837,U+6839,U+683C,U+6848,U+68C0,U+68DA,U+6B21-6B22,U+6B4C,U+6B62-6B65,U+6BB5,U+6BCF,U+6BD4,U+6C14,U+6C38,U+6C64,U+6CA1,U+6D4B,U+6E05,U+6E29,U+6E2F,U+6E38,U+6E7E,U+6ED1,U+6EE1,U+6F2B,U+6F58,U+706B,U+706D,U+706F,U+7075,U+7089,U+70B9,U+70C8,U+70DB,U+70ED,U+7136,U+7167,U+7206,U+7231,U+7247-7248,U+7269,U+7279,U+72EC,U+73B0,U+7403,U+751F,U+7528,U+7531,U+753B,U+754C,U+7559,U+767B,U+767D,U+7684,U+7686,U+76D2,U+76F4,U+76F8,U+770B,U+771F,U+773C,U+7740-7741,U+775B,U+793A,U+793C,U+793E,U+795D,U+798F,U+79D2,U+79D8,U+7A0B,U+7A7A,U+7AD9,U+7AE0,U+7B2C,U+7B49,U+7B54,U+7BAD,U+7CD5,U+7EAA,U+7EBF,U+7ECF,U+7ED3,U+7ED9,U+7EE7,U+7EED,U+7F16,U+7F8E,U+7FFB,U+8000-8001,U+800C,U+80DC,U+81EA,U+81F4,U+822A,U+8272,U+8282,U+83DC,U+843D,U+85CF,U+86CB,U+8721,U+884C,U+88AB,U+88C5,U+89C4,U+89C8,U+89D2,U+89E3,U+8BA1,U+8BA9,U+8BB8,U+8BD5,U+8BDD,U+8BF4,U+8C01,U+8C22,U+8D25,U+8D3A,U+8D5B,U+8D70,U+8D74,U+8D77,U+8DDD,U+8DEF,U+8DF3,U+8EAB,U+8F68,U+8F7D,U+8FB9,U+8FBE,U+8FC7,U+8FD0-8FD1,U+8FD4,U+8FD8-8FD9,U+8FDB-8FDC,U+8FDE,U+9001,U+9014,U+9047,U+9053,U+90A3,U+90FD,U+9192,U+91CC,U+94A5,U+94AE,U+9501,U+952E,U+957F,U+95EA,U+95ED,U+95F4,U+9645,U+968F,U+9760,U+9762,U+97F3,U+9875,U+9884,U+9897,U+98CE,U+98DE,U+9996,U+9C9C,U+9EA6,U+9F84,U+9F9F,U+FF01,U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F,U+FF5E}
