/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.italic{font-style:italic}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@font-face{font-family:Birthday Hand;src:url(/fonts/ZCOOLKuaiLe-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{--canvas:#f8f7f2;--surface:#fffefa;--surface-soft:#f1eee8;--ink:#2c2b3a;--ink-soft:#716e7e;--line:#d9d6df;--line-dark:#9993a5;--accent:#f06f87;--accent-soft:#fde4e9;--gold:#e2b74f;--gold-soft:#fff1c5;--sage:#73b791;--sage-soft:#e1f1e8;--blue:#5d82d8;--blue-soft:#e4ecff;--blue-ink:#4869b7;--accent-ink:#bc4963;--sky:#78c5e6;--radius-sm:12px;--radius-md:18px;--radius-lg:26px;--shadow-sm:0 8px 22px #3d456c0e;--shadow-md:0 14px 36px #3d456c13;--shadow-lg:0 24px 64px #3d456c1b;--shadow:var(--shadow-lg);--ease:cubic-bezier(.22, .61, .36, 1);--ease-spring:cubic-bezier(.22, 1, .36, 1);--ease-pop:cubic-bezier(.18, 1.42, .36, 1);--ease-whoosh:cubic-bezier(.16, 1, .3, 1);--motion-fast:.18s;--motion-medium:.52s;--motion-slow:4.8s;--whoosh-left:-64px;--whoosh-right:64px;--emoji-font:"Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;--display:"Songti SC", "STSong", "Microsoft YaHei", serif;--sans:"PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;--handwritten:"Birthday Hand", "HanziPen SC", "STKaiti", "KaiTi", cursive}*{box-sizing:border-box}::selection{color:var(--ink);background:#ccdcff}html{scroll-behavior:smooth}body{background:linear-gradient(#5d82d80b 1px, transparent 1px), linear-gradient(90deg, #5d82d80b 1px, transparent 1px), radial-gradient(circle at 7% 6%, #e2b74f1f, transparent 24rem), radial-gradient(circle at 93% 16%, #78c5e61f, transparent 29rem), var(--canvas);min-width:320px;color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;background-size:44px 44px,44px 44px,auto,auto,auto;margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}a:focus-visible,input:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.site-emoji{vertical-align:-.16em;flex:none;justify-content:center;align-items:center;width:1em;height:1em;margin-inline:.025em;line-height:1;display:inline-flex}.site-emoji>img{object-fit:contain;width:100%;height:100%;display:block}.site-shell{width:min(100%,1460px);min-height:100vh;margin:0 auto;padding:30px 52px 40px;position:relative}.home-page{min-height:100vh}.home-content{min-height:auto;padding-top:38px}.birthday-opening{isolation:isolate;background:radial-gradient(circle at 14% 76%,#ffabc633,#0000 24rem),radial-gradient(circle at 82% 18%,#73adef38,#0000 28rem),radial-gradient(circle at 73% 79%,#ffd6702e,#0000 23rem),linear-gradient(145deg,#fffdf7 0%,#f7fbff 48%,#fff9f4 100%);place-items:center;width:100%;height:max(640px,100svh);display:grid;position:relative;overflow:hidden}.birthday-opening:before{z-index:-2;content:"";background-image:radial-gradient(circle,#5d82d824 1.15px,#0000 1.35px),linear-gradient(115deg,#0000 0 49.8%,#5d82d80b 49.8% 50.2%,#0000 50.2%);background-position:0 0,50%;background-size:30px 30px,100% 100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000b8,#0003 68%,#0000 92%);mask-image:linear-gradient(#000000b8,#0003 68%,#0000 92%)}.birthday-opening:after{z-index:0;content:"";pointer-events:none;border:1.5px solid #5d82d82e;border-radius:50%;width:58px;height:58px;position:absolute;bottom:clamp(76px,11vh,128px);right:clamp(50px,7vw,118px);box-shadow:-72vw -2vh 0 -18px #f06f871a,-72vw -2vh 0 -17px #f06f872e,-9vw -62vh 0 -16px #e2b74f1a,-9vw -62vh 0 -15px #e2b74f33}.opening-glow{z-index:-1;filter:blur(3px);pointer-events:none;background:radial-gradient(#fffffff5 0 34%,#ffffff5c 62%,#0000 74%);border-radius:50%;width:min(76vw,960px);height:min(54vw,620px);position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.hanging-friends{z-index:5;pointer-events:none;height:1px;position:absolute;inset:0 0 auto}.hanger-anchor{--display-friend-size:var(--friend-size);top:0;left:var(--hanger-x);width:var(--display-friend-size);margin-left:calc(var(--display-friend-size) / -2);transform-origin:50% 0;will-change:transform, opacity;position:absolute}.hanging-friends:not(.is-revealed) .hanger-anchor{opacity:0;transform:translateY(-108%)}.hanger-pin{z-index:2;background:var(--rope-color);border-radius:0 0 999px 999px;width:18px;height:7px;position:absolute;top:-2px;left:50%}@supports (color:color-mix(in lab, red, red)){.hanger-pin{background:color-mix(in srgb, var(--rope-color) 84%, white)}}.hanger-pin{box-shadow:0 2px 7px var(--rope-color)}@supports (color:color-mix(in lab, red, red)){.hanger-pin{box-shadow:0 2px 7px color-mix(in srgb, var(--rope-color) 32%, transparent)}}.hanger-pin{transform:translate(-50%)}.hanger-pendulum{width:100%;transform:rotate(var(--sway-from));transform-origin:50% 0;will-change:transform;flex-direction:column;align-items:center;display:flex}.hanger-rope{width:3px;height:var(--rope-length);background:linear-gradient(90deg, var(--rope-color), var(--rope-color) 58%, var(--rope-color));border-radius:999px;display:block;position:relative}@supports (color:color-mix(in lab, red, red)){.hanger-rope{background:linear-gradient(90deg, color-mix(in srgb, var(--rope-color) 72%, white), var(--rope-color) 58%, color-mix(in srgb, var(--rope-color) 62%, white))}}.hanger-rope{box-shadow:0 0 0 1px var(--rope-color), 0 4px 10px var(--rope-color)}@supports (color:color-mix(in lab, red, red)){.hanger-rope{box-shadow:0 0 0 1px color-mix(in srgb, var(--rope-color) 14%, transparent), 0 4px 10px color-mix(in srgb, var(--rope-color) 20%, transparent)}}.hanger-rope:after{border-radius:inherit;content:"";background:#ffffffad;width:1px;position:absolute;top:8px;bottom:8px;left:.5px}.hanger-knot{z-index:2;background:var(--rope-color);width:11px;height:11px;box-shadow:0 3px 8px var(--rope-color);border:2px solid #ffffffc7;border-radius:50%;margin-top:-3px;display:block;position:relative}@supports (color:color-mix(in lab, red, red)){.hanger-knot{box-shadow:0 3px 8px color-mix(in srgb, var(--rope-color) 32%, transparent)}}.hanger-knot:before,.hanger-knot:after{border:2px solid var(--rope-color);content:"";background:#ffffff6b;width:9px;height:7px;position:absolute;top:3px}.hanger-knot:before{border-radius:70% 35% 55% 45%;right:6px;transform:rotate(-18deg)}.hanger-knot:after{border-radius:35% 70% 45% 55%;left:6px;transform:rotate(18deg)}.hanger-figure{z-index:1;width:var(--display-friend-size);height:var(--display-friend-size);object-fit:contain;filter:drop-shadow(0 12px 13px #40487026);pointer-events:auto;transform-origin:50% 34%;transition:scale .26s var(--ease-pop), filter .26s var(--ease), box-shadow .26s var(--ease);-webkit-user-select:none;user-select:none;margin-top:-1px;display:block;position:relative;scale:1}.hanger-figure--album{filter:none;object-fit:cover;background:#fffffff2;border:1px solid #5d82d824;border-radius:17px;padding:5px;overflow:hidden;box-shadow:0 12px 25px #40487029,inset 0 1px #ffffffe6}@media (hover:hover) and (pointer:fine){.hanger-anchor:hover{z-index:12}.hanger-figure{cursor:zoom-in}.hanger-figure:hover{filter:drop-shadow(0 20px 20px #40487038);scale:1.12}.hanger-figure--album:hover{filter:none;scale:1.1;box-shadow:0 22px 38px #40487038,inset 0 1px #ffffffeb}}.opening-copy{z-index:3;text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffb3;border:1px solid #7397dc2e;border-radius:clamp(34px,5vw,54px);width:min(880px,100% - 64px);margin-top:clamp(80px,12vh,128px);padding:clamp(35px,5vw,58px) clamp(28px,6vw,72px);position:relative;box-shadow:0 28px 90px #46599117,inset 0 1px #fffffff5}.opening-copy:before,.opening-copy:after{background:#ffffffb8;border:1px solid #5d82d826;border-radius:50%;place-items:center;width:43px;height:43px;font-size:18px;display:grid;position:absolute;box-shadow:0 9px 22px #40487012}.opening-copy:before{color:#6fa5e5;content:"✦";top:-17px;left:clamp(28px,8%,68px);transform:rotate(-8deg)}.opening-copy:after{color:#ee8fa8;content:"♡";bottom:-17px;right:clamp(24px,7%,60px);transform:rotate(9deg)}.opening-copy h1{color:#303952;font-family:var(--handwritten);font-synthesis:none;letter-spacing:-.045em;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 16px;margin:0;line-height:1.16;display:flex}.opening-copy h1>span{color:#6688c8;width:100%;font-family:var(--handwritten);letter-spacing:.13em;font-size:clamp(20px,2.5vw,30px);font-weight:400;rotate:.4deg}.opening-copy h1>strong{z-index:1;letter-spacing:-.015em;text-shadow:0 3px #ffffffeb,0 9px 22px #4b5f971f;white-space:nowrap;font-size:clamp(44px,6.3vw,82px);font-weight:400;position:relative;rotate:-.55deg}.opening-copy h1>strong:after{z-index:-1;content:"";background:linear-gradient(90deg,#79aeeb61,#ffa2be52,#ffd76d5c);border-radius:999px;height:.22em;position:absolute;bottom:3px;left:-4px;right:-4px;transform:rotate(-.7deg)}.opening-cake-surprise__icon{background:#ffffffc2;border:1px solid #5d82d821;border-radius:50%;place-items:center;width:clamp(54px,6vw,72px);height:clamp(54px,6vw,72px);font-size:clamp(34px,4.2vw,52px);font-weight:400;line-height:1;display:inline-grid;box-shadow:0 10px 24px #40487014}.opening-cake-surprise__icon img{object-fit:contain;width:72%;height:72%;display:block}.opening-story{z-index:4;pointer-events:none;grid-template-columns:minmax(270px,350px) minmax(420px,1fr);align-items:center;gap:clamp(18px,3vw,38px);width:min(1050px,100% - 180px);display:grid;position:absolute;bottom:clamp(54px,6.5vh,88px);left:50%;transform:translate(-50%)}.opening-story:before{z-index:-1;content:"";border-top:2px dashed #5d82d82e;border-radius:50%;width:62%;height:54px;position:absolute;top:50%;left:24%;transform:rotate(-3deg)}.opening-story:after{z-index:-2;color:#5d82d809;content:"18";font-family:var(--sans);letter-spacing:-.12em;pointer-events:none;font-size:clamp(128px,15vw,220px);font-weight:800;line-height:.8;position:absolute;bottom:-46px;right:14%}.opening-story:not(.is-revealed) .opening-birthday-postcard,.opening-story:not(.is-revealed) .opening-quick-nav,.opening-story:not(.is-revealed) .opening-story-spark{opacity:0}.opening-birthday-postcard{pointer-events:auto;transform-origin:48% 76%;width:100%;transition:transform .3s var(--ease-pop), box-shadow .3s var(--ease);background:#fffefaf5;border:1px solid #5d82d829;border-radius:24px;margin:0;padding:9px 9px 7px;position:relative;transform:rotate(-2.2deg);box-shadow:0 22px 48px #42528426,0 4px 12px #42528412,inset 0 1px #fff}.opening-birthday-postcard img{aspect-ratio:735/412;object-fit:cover;border-radius:16px;width:100%;height:auto;display:block}.opening-birthday-postcard figcaption{color:var(--ink-soft);letter-spacing:.15em;justify-content:space-between;align-items:center;gap:14px;padding:9px 8px 3px;font-size:7px;font-weight:700;display:flex}.opening-birthday-postcard figcaption strong{color:var(--blue-ink);white-space:nowrap;font-size:8px;font-weight:700}.opening-postcard-tape{z-index:2;clip-path:polygon(5% 8%,97% 0,92% 92%,2% 100%);content:"";background:linear-gradient(90deg,#b7d8f9ad,#e0edffc2,#a9cff69e);border:1px solid #5d82d817;width:94px;height:27px;position:absolute;top:-14px;left:50%;transform:translate(-50%)rotate(1.5deg);box-shadow:0 5px 12px #41538412}.opening-age-stamp{width:59px;height:59px;color:var(--blue-ink);text-align:center;background:#e8f1fff0;border:1px solid #5d82d83d;border-radius:50%;place-content:center;line-height:1;display:grid;position:absolute;bottom:25px;right:-20px;transform:rotate(8deg);box-shadow:0 9px 22px #3f52841f,inset 0 0 0 4px #ffffffb3}.opening-age-stamp strong{font-family:var(--handwritten);font-size:25px;font-weight:400}.opening-age-stamp small{letter-spacing:.18em;margin-top:2px;font-size:6px;font-weight:800}.opening-quick-nav{pointer-events:auto;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffb8;border:1px solid #5d82d829;border-radius:26px;padding:17px;position:relative;box-shadow:0 18px 48px #404d7e1a,inset 0 1px #fffffff5}.opening-quick-heading{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.opening-quick-heading>div{gap:3px;display:grid}.opening-quick-heading>div>span{color:var(--blue-ink);letter-spacing:.18em;font-size:7px;font-weight:800}.opening-quick-heading>div>strong{color:#343c55;font-family:var(--handwritten);letter-spacing:.03em;font-size:19px;font-weight:400}.opening-quick-heading>a{min-height:34px;color:var(--blue-ink);letter-spacing:.08em;white-space:nowrap;transition:background .18s var(--ease), transform .18s var(--ease-pop);background:#f5f9ffe0;border:1px solid #5d82d824;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-size:8px;font-weight:700;display:inline-flex}.opening-quick-heading>a span{transition:transform .18s var(--ease-pop);font-size:13px}.opening-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px;display:grid}.opening-quick-link{--quick-accent:var(--blue);border:1px solid var(--quick-accent);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:68px;padding:11px 10px 11px 12px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.opening-quick-link{border:1px solid color-mix(in srgb, var(--quick-accent) 18%, white)}}.opening-quick-link{box-shadow:inset 0 3px 0 var(--quick-accent), 0 5px 14px #45507e0e;background:#fffefae6;border-radius:17px}@supports (color:color-mix(in lab, red, red)){.opening-quick-link{box-shadow:inset 0 3px 0 color-mix(in srgb, var(--quick-accent) 58%, white), 0 5px 14px #45507e0e}}.opening-quick-link{transition:border-color .22s var(--ease), box-shadow .22s var(--ease), transform .22s var(--ease-pop)}.opening-quick-index{color:var(--quick-accent)}@supports (color:color-mix(in lab, red, red)){.opening-quick-index{color:color-mix(in srgb, var(--quick-accent) 78%, #39415a)}}.opening-quick-index{letter-spacing:.08em;font-size:7px;font-weight:800}.opening-quick-link>strong{color:#3a3e50;font-size:11px;font-weight:600;line-height:1.35}.opening-quick-arrow{background:var(--quick-accent);border-radius:50%;place-items:center;width:27px;height:27px;display:grid}@supports (color:color-mix(in lab, red, red)){.opening-quick-arrow{background:color-mix(in srgb, var(--quick-accent) 13%, white)}}@supports (color:color-mix(in lab, red, red)){.opening-quick-arrow{color:color-mix(in srgb, var(--quick-accent) 78%, #39415a)}}.opening-quick-arrow{transition:transform .22s var(--ease-pop);font-size:12px}.opening-story-spark{z-index:2;pointer-events:none;font-style:normal;line-height:1;position:absolute}.opening-story-spark--blue{color:#74a5e6;font-size:18px;top:-26px;left:35%;rotate:-9deg}.opening-story-spark--pink{color:#f2a0b6;font-size:10px;bottom:-13px;right:8%}.opening-story-spark--gold{color:#e7bd55;font-size:16px;top:-17px;right:27%;rotate:8deg}@media (hover:hover) and (pointer:fine){.opening-story.is-revealed .opening-birthday-postcard:hover{transform:translateY(-5px)rotate(-.55deg);box-shadow:0 29px 58px #42528430,0 7px 15px #42528414,inset 0 1px #fff}.opening-quick-heading>a:hover{background:#fff;transform:translateY(-2px)}.opening-quick-heading>a:hover span{transform:translateY(2px)}.opening-quick-link:hover{border-color:var(--quick-accent)}@supports (color:color-mix(in lab, red, red)){.opening-quick-link:hover{border-color:color-mix(in srgb, var(--quick-accent) 34%, white)}}.opening-quick-link:hover{box-shadow:inset 0 3px 0 var(--quick-accent), 0 10px 20px #45507e1a;transform:translateY(-4px)}.opening-quick-link:hover .opening-quick-arrow{transform:translate(2px,-2px)rotate(5deg)}}.opening-confetti{z-index:6;pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti-cannon{pointer-events:none;width:56px;height:56px;position:absolute;bottom:clamp(16px,3.4vh,36px)}.confetti-cannon--left{left:clamp(12px,2.8vw,44px)}.confetti-cannon--right{right:clamp(12px,2.8vw,44px)}.confetti-cannon__pieces{pointer-events:none;width:1px;height:1px;position:absolute;bottom:52%;right:50%}.confetti-piece{background:var(--piece-color);opacity:0;will-change:transform, opacity;border-radius:3px;width:10px;height:4px;position:absolute;bottom:0;left:0;box-shadow:0 1px 2px #3e466c17}.confetti-piece:nth-child(3n){border-radius:50%;width:7px;height:7px}.confetti-piece:nth-child(4n){border-radius:999px;width:5px;height:12px}.confetti-piece:nth-child(5n){border-radius:2px;width:8px;height:8px}.confetti-cannon__direction{appearance:none;color:inherit;cursor:pointer;pointer-events:auto;touch-action:manipulation;transform-origin:50% 70%;background:0 0;border:0;border-radius:18px;place-items:center;margin:0;padding:0;display:grid;position:absolute;inset:0}.confetti-cannon--right .confetti-cannon__direction{transform:scaleX(-1)}.confetti-cannon__emoji{filter:drop-shadow(0 7px 9px #40487021);transform-origin:36% 72%;transition:scale .18s var(--ease-pop), filter .18s var(--ease);font-size:clamp(38px,4.4vw,56px);line-height:1;display:block;scale:1}.confetti-cannon__emoji img{width:1em;height:1em;display:block}.confetti-cannon__direction:hover .confetti-cannon__emoji{filter:drop-shadow(0 10px 12px #4048702e);scale:1.08}.confetti-cannon__direction:active .confetti-cannon__emoji{scale:.9}.confetti-cannon__direction:focus-visible{outline-offset:3px}.birthday-entry-gate{z-index:100;isolation:isolate;background:radial-gradient(circle at 16% 18%,#ffb7cf66,#0000 30%),radial-gradient(circle at 84% 20%,#8dbeff70,#0000 32%),radial-gradient(circle at 76% 82%,#ffdc8b6b,#0000 30%),linear-gradient(145deg,#fff9fb 0%,#f5f9ff 48%,#fffaf0 100%);place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:hidden}.birthday-entry-gate.is-leaving{animation:entry-gate-leave .52s var(--ease-whoosh) both;pointer-events:none}.entry-sky{z-index:-1;position:absolute;inset:0;overflow:hidden}.entry-sky:before{content:"";border:1px solid #7099e221;border-radius:50%;width:min(820px,92vw);height:min(820px,92vw);position:absolute;top:8%;left:50%;transform:translate(-50%);box-shadow:0 0 0 58px #ffffff2e,0 0 0 118px #7099e209}.entry-sky i{background:#ff9ab8;border-radius:4px;width:13px;height:13px;display:block;position:absolute;rotate:18deg;box-shadow:0 5px 16px #4d59801c}.entry-sky i:first-child{background:#83aff0;top:14%;left:13%}.entry-sky i:nth-child(2){background:#ffd170;width:18px;height:7px;top:23%;right:16%;rotate:-27deg}.entry-sky i:nth-child(3){background:#8bd8bb;bottom:20%;right:9%;rotate:42deg}.entry-sky i:nth-child(4){background:#bd9fe7;width:19px;height:8px;bottom:15%;left:16%;rotate:-14deg}.entry-sky i:nth-child(5){background:#ffbc8d;width:8px;height:18px;top:48%;left:7%;rotate:34deg}.entry-sky i:nth-child(6){background:#f3a2bb;width:9px;height:9px;top:8%;right:39%;rotate:45deg}.entry-card{text-align:center;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#ffffffd1;border:1px solid #6081ca26;border-radius:42px;width:min(520px,100%);padding:54px 46px 35px;position:relative;box-shadow:0 30px 85px #4353802b,inset 0 1px #fffffffa}.entry-card:before,.entry-card:after{color:#6f98e5;content:"✦";background:#f5f9ffd6;border:1px solid #6991e229;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute}.entry-card:before{top:24px;left:27px}.entry-card:after{color:#ef8daa;content:"♡";bottom:27px;right:28px}.entry-cake{background:linear-gradient(145deg,#e9f1ffeb,#fff4dfe0);border:1px solid #5e84d821;border-radius:50%;place-items:center;width:80px;height:80px;margin:-7px auto 18px;font-size:45px;display:grid;box-shadow:0 14px 30px #4657891f}.entry-cake img{object-fit:contain;width:62px;height:62px;display:block}.entry-kicker{color:var(--blue-ink);letter-spacing:.2em;margin-bottom:13px;font-size:9px;font-weight:750;display:block}.entry-card>p{color:var(--ink-soft);letter-spacing:.05em;margin:17px 0 24px;font-size:12px}.entry-start-button{color:#fff;cursor:pointer;min-height:54px;font:700 14px/1 var(--sans);letter-spacing:.07em;transition:box-shadow .18s var(--ease), scale .2s var(--ease-pop), filter .18s var(--ease);background:linear-gradient(135deg,#789de9,#5e82d8 58%,#819ee2);border:0;border-radius:999px;justify-content:center;align-items:center;gap:13px;padding:14px 27px;display:inline-flex;box-shadow:0 14px 30px #4d70c445,inset 0 1px #ffffff5c}.entry-start-button:disabled{cursor:wait;opacity:.72}.entry-start-button:focus-visible{outline-offset:5px;outline:3px solid #5d82d847}.entry-start-button:active{scale:.96}.entry-card>.entry-error{color:#bf657e;margin:13px 0 -1px;font-size:10px}.entry-quiet-button{color:#8991a3;cursor:pointer;font:500 10px/1.4 var(--sans);text-underline-offset:4px;background:0 0;border:0;margin:14px auto 0;padding:5px 8px;-webkit-text-decoration:underline #8991a352;text-decoration:underline #8991a352;display:block}.music-dock{--vinyl-size:84px;z-index:30;width:var(--vinyl-size);height:var(--vinyl-size);position:fixed;bottom:clamp(76px,11vh,128px);right:clamp(50px,7vw,118px)}.vinyl-button{appearance:none;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:50%;place-items:center;width:100%;height:100%;margin:0;padding:0;display:grid;position:relative}.vinyl-button:before{content:"";transition:scale .22s var(--ease-pop), box-shadow .22s var(--ease);background:#ffffff73;border:1px solid #5d82d824;border-radius:50%;position:absolute;inset:-7px;box-shadow:0 14px 32px #4048701f}.vinyl-disc{will-change:transform;background:radial-gradient(circle,#0000 0 17%,#000000bd 17.5% 19.5%,#0000 20%),repeating-radial-gradient(circle,#111216 0 2px,#292a30 3px,#0c0d10 4px,#202127 5px,#101116 6px);border:2px solid #121319d1;border-radius:50%;width:100%;height:100%;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0f,inset 0 0 18px #00000094,0 10px 24px #2b30482e}.vinyl-disc:before{background:conic-gradient(from 18deg, transparent 0 14%, #fff3 17%, transparent 22% 49%, #ffffff14 54%, transparent 59% 100%);content:"";opacity:.62;border-radius:50%;position:absolute;inset:5px}.vinyl-disc:after{content:"";background:radial-gradient(circle,#f9f6ef 0 10%,#ee8fac 11% 26%,#f5cc63 27% 47%,#7daee8 48% 100%);border:2px solid #ffffffd1;border-radius:50%;width:29px;height:29px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 7px #00000038}.vinyl-disc>i{z-index:2;background:#20222a;border:1px solid #ffffffe0;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.music-player-panel{width:min(390px,100vw - 30px);color:var(--ink);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;pointer-events:none;transform-origin:calc(100% - 36px) 100%;transition:opacity .18s var(--ease), transform .22s var(--ease-pop);background:#fffefaf2;border:1px solid #5d82d829;border-radius:26px;padding:20px;position:absolute;bottom:calc(100% + 20px);right:-7px;transform:translateY(13px)scale(.94);box-shadow:0 24px 62px #36436f2e,inset 0 1px #fffffff0}.music-player-panel.is-open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.music-player-panel:after{content:"";background:#fffefaf5;border-bottom:1px solid #5d82d824;border-right:1px solid #5d82d824;width:16px;height:16px;position:absolute;bottom:-8px;right:32px;transform:rotate(45deg)}.music-player-head{border-bottom:1px solid #d9d6dfb8;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:17px;display:flex}.music-player-head>div{flex-direction:column;gap:5px;min-width:0;display:flex}.music-player-head span{color:var(--blue-ink);letter-spacing:.18em;font-size:8px;font-weight:700}.music-player-head strong{font-family:var(--handwritten);text-overflow:ellipsis;white-space:nowrap;font-size:22px;font-weight:400;overflow:hidden}.music-player-head small{color:var(--ink-soft);letter-spacing:.1em;font-size:8px}.music-player-head>button{background:var(--blue-soft);width:44px;height:44px;color:var(--blue-ink);cursor:pointer;border:1px solid #5d82d824;border-radius:50%;flex:none;place-items:center;margin:-3px -3px 0 0;padding:0;font-size:19px;line-height:1;display:grid}.music-player-panel--custom{scrollbar-color:#6889d247 transparent;scrollbar-width:thin;width:min(430px,100vw - 30px);max-height:min(680px,100svh - 170px);padding:14px;overflow-y:auto}.music-player-close{z-index:3;width:38px;height:38px;color:var(--blue-ink);cursor:pointer;transition:background .18s var(--ease), scale .18s var(--ease-pop);background:#ebf1ffe6;border:1px solid #5d82d82e;border-radius:50%;place-items:center;padding:0;font-size:18px;line-height:1;display:grid;position:absolute;top:18px;right:18px;box-shadow:0 6px 16px #48598717}.custom-player-card{background:#ffffffdb;border:1px solid #5d82d81f;border-radius:20px;grid-template-columns:clamp(98px,31vw,132px) minmax(0,1fr);align-items:stretch;gap:16px;padding:8px;display:grid;box-shadow:inset 0 1px #fffffff5,0 12px 28px #40487014}.current-track-cover{aspect-ratio:1;object-fit:cover;border-radius:15px;align-self:center;width:100%;height:auto;display:block;box-shadow:0 8px 20px #2b304829}.custom-player-main{flex-direction:column;justify-content:center;min-width:0;padding:8px 7px 5px 0;display:flex}.current-track-copy{flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:67px;padding-right:42px;display:flex}.current-track-copy>span{color:var(--blue-ink);letter-spacing:.17em;font-size:7px;font-weight:750}.current-track-copy>strong{color:var(--ink);font-family:var(--sans);letter-spacing:-.01em;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:17px;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.current-track-copy>small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:550;overflow:hidden}.music-progress{--music-progress:0%;appearance:none;cursor:ew-resize;background:0 0;border:0;width:100%;height:16px;margin:4px 0 2px;padding:0}.music-progress::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--blue) 0 var(--music-progress), #9aa2b557 var(--music-progress) 100%);border-radius:999px;height:4px}.music-progress::-webkit-slider-thumb{appearance:none;background:var(--blue);border:3px solid #fff;border-radius:50%;width:15px;height:15px;margin-top:-5.5px;box-shadow:0 2px 8px #42528047}.music-progress::-moz-range-track{background:#9aa2b557;border-radius:999px;height:4px}.music-progress::-moz-range-progress{background:var(--blue);border-radius:999px;height:4px}.music-progress::-moz-range-thumb{background:var(--blue);border:3px solid #fff;border-radius:50%;width:10px;height:10px;box-shadow:0 2px 8px #42528047}.music-progress:disabled{cursor:wait;opacity:.48}.custom-player-controls{grid-template-columns:1fr 34px 46px 34px 1fr;align-items:center;gap:5px;display:grid}.custom-player-controls time{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:9px}.custom-player-controls time:last-child{text-align:right}.custom-player-controls button{color:#fff;cursor:pointer;width:42px;height:42px;font-family:var(--sans);transition:box-shadow .18s var(--ease), scale .18s var(--ease-pop);background:linear-gradient(145deg,#779ae9,#5d82d8);border:0;border-radius:50%;place-items:center;margin:auto;padding:0;font-size:15px;line-height:1;display:grid;box-shadow:0 8px 18px #5d82d847,inset 0 1px #ffffff59}.custom-player-controls button span{transform:translate(.5px)}.custom-player-controls .track-toggle-icon{width:18px;height:18px;line-height:0;display:block;transform:none}.custom-player-controls .track-toggle-icon[data-player-icon=play]{transform:translate(1px)}.custom-player-controls .track-toggle-icon>svg{fill:currentColor;width:100%;height:100%;display:block;overflow:visible}.custom-player-controls .track-skip-button{width:32px;height:32px;box-shadow:none;color:var(--blue-ink);background:#e7eeffd1;border:1px solid #5d82d824;font-size:17px}.custom-track-list{background:#f8faffad;border:1px solid #5d82d81c;border-radius:18px;flex-direction:column;gap:3px;margin:10px 0 0;padding:5px;list-style:none;display:flex}.custom-track-list li{margin:0}.custom-track-list button{width:100%;min-height:46px;color:var(--ink);cursor:pointer;text-align:left;transition:background .16s var(--ease), border-color .16s var(--ease), transform .18s var(--ease-pop);background:0 0;border:1px solid #0000;border-radius:13px;grid-template-columns:27px 36px minmax(0,1fr) 22px;align-items:center;gap:8px;padding:5px 8px;display:grid}.custom-track-list li.is-current button{background:linear-gradient(90deg,#e2ecffdb,#ffeff5ad);border-color:#5d82d824}.custom-track-list img{object-fit:cover;border-radius:9px;width:36px;height:36px;display:block;box-shadow:0 4px 10px #36436f1a}.track-number{color:#98a0b1;font-variant-numeric:tabular-nums;text-align:center;font-size:9px}.track-list-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.track-list-copy strong,.track-list-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.track-list-copy strong{font-size:11px;font-weight:680}.track-list-copy small{color:var(--ink-soft);font-size:8px}.track-playing-mark{color:#eb7f9e;text-align:center;font-size:16px}.music-resume-hint{color:#c16d83;text-align:center;margin:4px 0 -2px;font-size:8px}.custom-play-mode{color:var(--ink-soft);letter-spacing:.08em;text-align:center;margin:9px 0 -2px;font-size:8px}.netease-player-shell{background:#fff;border:1px solid #5d82d81a;border-radius:18px;margin:14px -8px 0;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,0 10px 26px #414a7012}.netease-player-shell iframe{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;border:0;width:100%;height:430px;display:block}.netease-control-note{color:var(--ink-soft);letter-spacing:.055em;text-align:center;margin:10px 0 -3px;font-size:8px}.netease-open-link{width:fit-content;min-height:31px;color:var(--blue-ink);letter-spacing:.04em;transition:background .18s var(--ease), border-color .18s var(--ease), transform .18s var(--ease-pop);background:#e4ecff7a;border:1px solid #5d82d824;border-radius:999px;justify-content:center;align-items:center;gap:6px;margin:11px auto -4px;padding:7px 13px;font-size:9px;font-weight:650;display:flex}@media (hover:hover) and (pointer:fine){.entry-start-button:hover{filter:saturate(1.08);scale:1.035;box-shadow:0 17px 35px #4d70c457,inset 0 1px #fff6}.vinyl-button:hover:before{scale:1.08;box-shadow:0 18px 38px #4048702b}.music-player-head>button:hover{background:#d7e3ff}.music-player-close:hover{background:#d7e3ff;scale:1.06}.custom-player-controls button:hover{scale:1.06;box-shadow:0 10px 22px #5d82d857,inset 0 1px #ffffff61}.custom-player-controls .track-skip-button:hover{background:#dce7ff;box-shadow:0 7px 14px #5d82d826}.custom-track-list button:hover{background:#ebf1ffb8;border-color:#5d82d81c;transform:translate(2px)}.netease-open-link:hover{background:#d5e1ffb8;border-color:#5d82d83d;transform:translateY(-1px)}}@media (prefers-reduced-motion:no-preference){.birthday-entry-gate:not(.is-leaving) .entry-card{animation:entry-card-arrive .65s 80ms var(--ease-whoosh) both}.birthday-entry-gate:not(.is-leaving) .entry-cake{animation:cake-greeting .72s .42s var(--ease-pop) both}.entry-sky i{animation:3s ease-in-out infinite alternate entry-confetti-float}.entry-sky i:nth-child(2),.entry-sky i:nth-child(5){animation-duration:3.6s;animation-delay:-1.2s}.entry-sky i:nth-child(3),.entry-sky i:nth-child(6){animation-duration:4.1s;animation-delay:-2.1s}.music-dock--fallback .vinyl-disc,.music-dock--custom .vinyl-disc{animation:14s linear infinite vinyl-spin}.music-dock--custom .vinyl-disc{animation-play-state:paused}.music-dock--custom.is-playing .vinyl-disc{animation-play-state:running}.music-dock.is-playing .vinyl-note-stream>i{animation:vinyl-note-float var(--note-duration) cubic-bezier(.2, .72, .3, 1) var(--note-delay) infinite}.music-player-panel.is-open{animation:music-panel-pop .38s var(--ease-pop) both}@keyframes vinyl-spin{to{transform:rotate(360deg)}}@keyframes vinyl-note-float{0%{opacity:0;filter:blur();transform:translateY(8px)scale(.58)rotate(-8deg)}14%{opacity:.78}64%{opacity:.48}to{opacity:0;filter:blur(.65px);transform:translate3d(var(--note-drift), var(--note-rise), 0) scale(1.08) rotate(var(--note-turn))}}@keyframes music-panel-pop{0%{opacity:0;transform:translateY(13px)scale(.86)}62%{opacity:1;transform:translateY(-3px)scale(1.025)}82%{transform:translateY(1px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes entry-card-arrive{0%{opacity:0;transform:translateY(24px)scale(.86)}64%{opacity:1;transform:translateY(-4px)scale(1.025)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cake-greeting{0%{opacity:0;transform:translateY(18px)rotate(-8deg)scale(.55)}62%{opacity:1;transform:translateY(-5px)rotate(5deg)scale(1.12)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}@keyframes entry-confetti-float{0%{transform:translateY(-5px)rotate(-8deg)}to{transform:translateY(9px)rotate(13deg)}}}@keyframes entry-gate-leave{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.035)}}.site-header{z-index:20;border-radius:var(--radius-md);min-height:62px;box-shadow:inset 0 1px 0 #ffffffeb, var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffefadb;border:1px solid #d9d6dfd1;grid-template-columns:minmax(220px,1fr) auto minmax(190px,1fr);align-items:center;gap:28px;margin-bottom:34px;padding:8px 12px;display:grid;position:sticky;top:14px}.brand{align-items:center;gap:12px;width:fit-content;display:inline-flex}.brand:hover .brand-mark{transform:rotate(-5deg)scale(1.03)}.brand-mark{background:var(--blue);color:#fff;width:42px;height:42px;font-family:var(--display);transition:transform var(--motion-fast) var(--ease-spring);border:0;border-radius:50%;place-items:center;font-size:17px;display:grid;box-shadow:0 7px 16px #5d82d833}.brand-copy{flex-direction:column;gap:2px;display:flex}.brand small{color:var(--ink-soft);letter-spacing:.12em;font-size:10px}.main-nav{background:#f1eee8b8;border-radius:999px;align-items:center;gap:5px;padding:4px;display:flex}.main-nav a{color:var(--ink-soft);letter-spacing:.03em;white-space:nowrap;transition:color .18s var(--ease), background .18s var(--ease), transform .18s var(--ease);border-radius:999px;padding:9px 14px;font-size:12px;position:relative}.main-nav a.is-active:after{background:var(--blue);content:"";border-radius:999px;width:16px;height:2px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.countdown-badge{background:var(--gold-soft);border:1px solid #e2b74f80;border-radius:999px;justify-self:end;align-items:center;gap:11px;padding:8px 12px;display:flex}.countdown-badge strong{color:var(--blue-ink);font-family:var(--sans);letter-spacing:.12em;font-size:12px;font-weight:700}.birthday-stage{grid-template-columns:minmax(170px,.72fr) minmax(520px,2.2fr) minmax(180px,.78fr);align-items:center;gap:clamp(28px,3.5vw,58px);min-height:640px;padding:20px 0 38px;display:grid}.stage-left,.stage-right{flex-direction:column;justify-content:center;gap:34px;display:flex}.paper-note{border-radius:var(--radius-md);background:linear-gradient(145deg, #fff5d5, var(--gold-soft));box-shadow:var(--shadow-sm);transition:transform .24s var(--ease-spring), box-shadow .24s var(--ease);border:1px solid #e2b74f6b;padding:47px 24px 27px;position:relative;transform:rotate(-.35deg)}.paper-note:after{content:"";background-image:radial-gradient(circle,#5d82d84d 1px,#0000 1.4px);background-size:9px 6px;width:28px;height:6px;position:absolute;bottom:18px;right:19px}.note-tab{color:var(--blue);letter-spacing:.13em;padding-left:19px;font-size:7.5px;font-weight:700;position:absolute;top:19px;left:22px}.note-tab:before{background:var(--blue);content:"";border-radius:999px;width:12px;height:1px;position:absolute;top:50%;left:0}.paper-note:before{border:1.5px solid var(--blue);content:"";border-radius:50%;width:10px;height:10px;position:absolute;top:17px;right:18px}.eyebrow{color:var(--blue-ink);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:10px;font-weight:600}.memo-copy{font-family:var(--display);margin:17px 0;font-size:clamp(21px,2vw,27px);font-weight:600;line-height:1.76}.note-signature{color:var(--ink-soft);font-family:var(--sans);letter-spacing:.16em;margin-top:14px;font-size:8px;display:block}.mini-player{background:#fffefa94;border:1px solid #5d82d824;border-radius:11px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:14px;padding:8px 9px;display:grid;box-shadow:inset 0 1px #ffffffb8}.player-button{background:var(--accent);border-radius:50%;place-items:center;width:26px;height:26px;display:grid;position:relative;box-shadow:0 5px 12px #f06f872e}.player-button:before{content:"";border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid #fff;width:0;height:0;margin-left:2px}.player-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.player-copy small{color:var(--blue-ink);letter-spacing:.14em;font-size:6px;font-weight:700}.player-copy b{letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;overflow:hidden}.music-bars{align-items:end;gap:2px;height:18px;display:flex}.music-bars i{background:var(--blue);transform-origin:bottom;border-radius:999px;width:2px;height:7px;display:block}.music-bars i:nth-child(2){background:var(--sky);height:13px}.music-bars i:nth-child(3){background:var(--accent);height:10px}.music-bars i:nth-child(4){background:var(--gold);height:15px}.admission-ticket{border-radius:var(--radius-sm);transition:transform .22s var(--ease-spring), box-shadow .22s var(--ease);background:linear-gradient(135deg,#e4ecfff5,#fffefad1);border:1px dashed #5d82d88c;grid-template-columns:1fr auto;align-items:end;gap:5px 14px;padding:18px 19px;display:grid;position:relative;overflow:hidden}.admission-ticket:before,.admission-ticket:after{background:var(--canvas);content:"";border:1px dashed #5d82d859;border-radius:50%;width:13px;height:13px;position:absolute;top:50%;transform:translateY(-50%)}.admission-ticket:before{left:-7px}.admission-ticket:after{right:-7px}.ticket-dots{gap:4px;display:flex;position:absolute;top:8px;right:11px}.ticket-dots i{background:var(--blue);opacity:.45;width:3px;height:3px;transition:opacity var(--motion-fast) var(--ease), scale var(--motion-fast) var(--ease-spring);border-radius:50%}.admission-ticket span{color:var(--ink-soft);letter-spacing:.16em;font-size:9px}.admission-ticket strong{color:var(--blue);font-family:var(--sans);grid-area:1/2/3;font-size:27px;font-weight:700}.admission-ticket small{color:var(--ink-soft);font-family:var(--display);font-size:12px}.hero-window{border-radius:var(--radius-lg);min-height:590px;box-shadow:var(--shadow-lg), inset 0 1px 0 #fffffff5;background:#fffefaf0;border:1px solid #5d82d840;position:relative;overflow:hidden}.hero-window:before,.hero-window:after{z-index:2;content:"";pointer-events:none;position:absolute}.hero-window:before{border:2px solid var(--sky);opacity:.58;will-change:transform;border-radius:50%;width:17px;height:17px;top:80px;left:30px}.hero-window:after{background:var(--gold);opacity:.62;will-change:transform;border-radius:3px;width:13px;height:13px;bottom:36px;right:34px;transform:rotate(12deg)}.window-bar{background:var(--blue-soft);height:48px;color:var(--blue);border-bottom:1px solid #5d82d82e;justify-content:space-between;align-items:center;gap:20px;padding:0 27px;display:flex}.window-bar b,.window-bar span{font-family:var(--display);letter-spacing:.2em;font-size:9px;font-weight:500}.hero-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:540px;padding:52px clamp(34px,6vw,84px) 62px;display:flex;position:relative}.hero-content:before{aspect-ratio:1.9;content:"";pointer-events:none;border:1px solid #5d82d81a;border-radius:50%;width:min(72%,540px);position:absolute;top:86px;left:50%;transform:translate(-50%)rotate(-3deg)}.hero-content:after{content:"";background-image:radial-gradient(circle,#5d82d833 1px,#0000 1.4px);background-size:8px 8px;width:34px;height:34px;position:absolute;top:32px;right:32px}.hero-confetti{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-confetti i{--w:8px;--h:8px;--shape:3px;--color:var(--blue);--rot:0deg;--from-x:0px;--from-y:0px;--over-x:0px;--over-y:0px;--back-x:0px;--back-y:0px;--lift:-7px;--lift-2:-3px;--tilt:7deg;--tilt-2:-2deg;width:var(--w);height:var(--h);will-change:transform;display:block;position:absolute}.hero-confetti i:before{box-sizing:border-box;border-radius:var(--shape);background:var(--color);content:"";opacity:.9;will-change:transform, opacity;width:100%;height:100%;position:absolute}.hero-confetti i:first-child{--w:18px;--h:6px;--shape:999px;--color:var(--blue);--rot:-24deg;--from-x:64px;--from-y:35px;--over-x:-7px;--over-y:-4px;--back-x:2px;--back-y:1px;--tilt:7deg;top:25%;left:7.5%}.hero-confetti i:nth-child(2){--w:10px;--h:10px;--shape:50%;--color:var(--accent);--rot:8deg;--from-x:-60px;--from-y:32px;--over-x:6px;--over-y:-4px;--back-x:-2px;--back-y:1px;--tilt:-7deg;--tilt-2:3deg;top:19%;right:11%}.hero-confetti i:nth-child(3){--w:7px;--h:17px;--shape:3px;--color:var(--gold);--rot:16deg;--from-x:-68px;--from-y:0;--over-x:7px;--back-x:-2px;--lift:-8px;--tilt:8deg;--tilt-2:-3deg;top:47%;right:5.5%}.hero-confetti i:nth-child(4){--w:12px;--h:12px;--shape:4px;--color:var(--sage);--rot:25deg;--from-x:70px;--from-y:-8px;--over-x:-7px;--over-y:1px;--back-x:2px;--back-y:-1px;--tilt:-8deg;--tilt-2:3deg;top:58%;left:5.5%}.hero-confetti i:nth-child(5){--w:16px;--h:5px;--shape:999px;--color:var(--sky);--rot:30deg;--from-x:54px;--from-y:-34px;--over-x:-6px;--over-y:4px;--back-x:2px;--back-y:-2px;--tilt:7deg;bottom:9%;left:13%}.hero-confetti i:nth-child(6){--w:11px;--h:11px;--shape:50%;--color:transparent;--rot:-18deg;--from-x:-50px;--from-y:-38px;--over-x:6px;--over-y:4px;--back-x:-2px;--back-y:-2px;--tilt:-8deg;--tilt-2:3deg;bottom:8%;right:12%}.hero-confetti i:nth-child(6):before{border:2px solid var(--blue)}.hero-seal{background:var(--accent-soft);width:46px;height:46px;color:var(--accent);will-change:transform;border:1px solid #f06f8757;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:28px;left:30px;transform:rotate(-2deg)}.hero-seal b{font-family:var(--sans);font-size:17px;line-height:1}.hero-seal small{letter-spacing:.09em;margin-top:2px;font-size:6px;font-weight:700}.collage-label{z-index:1;color:var(--blue-ink);font-family:var(--sans);letter-spacing:.11em;background:#e4ecffc7;border:1px solid #5d82d81f;border-radius:999px;margin:0 0 34px;padding:7px 13px;font-size:10px;font-weight:600;position:relative}.photo-phrase h1{font-family:var(--display);letter-spacing:.055em;flex-direction:column;gap:15px;margin:0;font-size:clamp(34px,4vw,59px);font-weight:600;line-height:1.22;display:flex}.photo-phrase h1>span{color:#454556;font-size:.82em;font-weight:500}.photo-phrase{z-index:1;position:relative}.photo-phrase h1 strong{z-index:0;isolation:isolate;color:var(--accent);font-size:1.05em;font-weight:600;position:relative}.photo-phrase h1 strong:after{content:"";z-index:-1;transform-origin:50%;background:#e2b74f61;border-radius:999px;height:4px;position:absolute;bottom:2px;left:14%;right:14%}.photo-phrase>p{color:var(--ink-soft);letter-spacing:.15em;margin:28px 0 0;font-size:9px}.hero-meta{color:var(--blue);letter-spacing:.16em;justify-content:center;align-items:center;gap:9px;margin-top:15px;font-size:7px;font-weight:700;display:flex}.hero-meta i{background:var(--gold);border-radius:50%;width:3px;height:3px}.youth-progress{width:min(100%,340px);color:var(--blue-ink);background:#e4ecff9e;border:1px solid #5d82d824;border-radius:999px;grid-template-columns:auto minmax(78px,1fr) auto;align-items:center;gap:9px;margin:22px auto 0;padding:7px 10px;display:grid;box-shadow:inset 0 1px #fffc}.youth-progress>span{letter-spacing:.08em;white-space:nowrap;font-size:8px;font-weight:700}.youth-progress>i{background:#5d82d824;border-radius:999px;height:4px;overflow:hidden}.youth-progress>i>b{border-radius:inherit;background:linear-gradient(90deg, var(--blue), var(--sky) 72%, var(--accent));transform-origin:0;width:100%;height:100%;display:block}.youth-progress>strong{color:var(--accent-ink);font-size:8px;font-weight:700}.hero-signoff{z-index:1;text-align:left;border-top:1px solid #5d82d83d;align-items:center;gap:17px;width:min(100%,470px);margin-top:23px;padding-top:16px;display:flex;position:relative}.hero-signoff span{color:var(--blue-ink);font-family:var(--sans);letter-spacing:.18em;font-size:9px;font-weight:700}.hero-signoff p{color:var(--ink-soft);font-family:var(--sans);letter-spacing:.04em;margin:0;font-size:11px}.same-sticker{border-radius:var(--radius-md);color:#fff;min-height:202px;transition:transform .22s var(--ease), box-shadow .22s var(--ease);background:linear-gradient(145deg,#7396e5,#587bd0);border:0;flex-direction:column;justify-content:center;align-items:flex-start;padding:28px 24px;display:flex;position:relative;overflow:hidden;transform:rotate(.35deg);box-shadow:0 13px 30px #4762a229,inset 0 1px #ffffff2e}.same-sticker:after{content:"";border:1px solid #ffffff47;border-radius:50%;width:130px;height:130px;position:absolute;bottom:-45px;right:-28px}.same-orbit{will-change:transform;border:2px solid #ffffff61;border-radius:50%;width:19px;height:19px;position:absolute;top:23px;right:23px}.same-orbit:after{content:"";background:#fff;border-radius:50%;width:3px;height:3px;position:absolute;top:-4px;left:50%;transform:translate(-50%);box-shadow:0 0 0 2px #ffffff1f}.same-online{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff21;border:1px solid #fff3;border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-weight:700;display:inline-flex;position:absolute;top:18px;left:20px;color:#ffffffe0!important;letter-spacing:.12em!important;font-size:6px!important}.same-online i{background:#9ce5b7;border-radius:50%;width:5px;height:5px;box-shadow:0 0 0 3px #9ce5b71f}.same-sticker:hover{transform:rotate(0)translateY(-2px);box-shadow:0 18px 38px #4762a233}.same-sticker span{color:#ffffffc2;letter-spacing:.16em;font-size:8px}.same-sticker strong{font-family:var(--display);margin:16px 0 20px;font-size:clamp(24px,2.6vw,36px);font-weight:600;line-height:1.35}.same-sticker small{color:#ffffffd1;letter-spacing:.08em;font-size:9px}.level-card{border-radius:var(--radius-md);background:linear-gradient(145deg, #fde8ec, var(--accent-soft));border:1px solid #f06f8738;padding:26px 22px 24px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb8}.level-card:after{content:"";border:11px solid #f06f8712;border-radius:50%;width:105px;height:105px;position:absolute;top:-32px;right:-28px}.level-card:before{z-index:1;width:28px;height:28px;color:var(--blue-ink);content:"✦";background:#e4ecffd6;border:1px solid #5d82d829;border-radius:50%;place-items:center;font-size:12px;display:grid;position:absolute;bottom:15px;right:17px;box-shadow:inset 0 1px #ffffffd1}.level-card>div{align-items:center;gap:14px;display:flex}.level-card strong{color:var(--accent);font-family:var(--sans);font-size:clamp(58px,6vw,82px);font-weight:700;line-height:.9}.level-card span{color:var(--accent-ink);font-family:var(--sans);letter-spacing:.14em;font-size:9px;font-weight:700;line-height:1.55}.level-card p{color:var(--ink-soft);font-family:var(--sans);margin:22px 0 0;font-size:11px;line-height:1.85}.level-dots{gap:5px;margin-top:17px;display:flex}.level-dots i{background:#f06f872e;border-radius:999px;width:16px;height:3px}.level-dots i:nth-child(-n+3){background:var(--accent)}.portal-heading{border-bottom:1px solid #d9d6dfd6;justify-content:space-between;align-items:flex-end;gap:28px;padding:0 4px 20px;display:flex}.portal-heading h2{font-family:var(--sans);letter-spacing:-.02em;margin:9px 0 0;font-size:clamp(23px,2.5vw,32px);font-weight:600}.portal-heading>span{color:var(--ink-soft);letter-spacing:.15em;white-space:nowrap;padding-bottom:3px;font-size:8px;font-weight:600}.portal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.portal-card{border-radius:var(--radius-md);background:var(--surface);min-height:242px;box-shadow:var(--shadow-sm);transition:box-shadow .22s var(--ease), transform .22s var(--ease), border-color .22s var(--ease);border:1px solid #5d82d81f;padding:31px 30px 68px;position:relative;overflow:hidden}.portal-card:after{background:repeating-linear-gradient(90deg, var(--tape-color,#5d82d847) 0 7px, #ffffff5c 7px 9px);content:"";pointer-events:none;width:50px;height:11px;transform:translateX(-50%) rotate(var(--tape-rotate,-2deg));transition:transform .22s var(--ease-pop);border-radius:3px;position:absolute;top:8px;left:50%}.portal-card:before{background:var(--accent);content:"";width:6px;height:6px;transition:scale var(--motion-fast) var(--ease-spring);border-radius:50%;position:absolute;top:26px;right:28px;box-shadow:0 0 0 4px #f06f8714}.portal-todo:before{background:var(--blue)}.portal-same:before{background:var(--sage)}.portal-you:before{background:#8b9ce8}.portal-todo:before{box-shadow:0 0 0 4px #5d82d814}.portal-same:before{box-shadow:0 0 0 4px #73b79114}.portal-you:before{box-shadow:0 0 0 4px #8b9ce81a}.portal-memories{--tape-color:#e2b74f61;--tape-rotate:-2deg;background:linear-gradient(150deg, var(--surface) 72%, #fff1c5ad 100%)}.portal-todo{--tape-color:#5d82d84d;--tape-rotate:1.5deg;background:linear-gradient(150deg, var(--surface) 72%, #e4ecffbf 100%)}.portal-same{--tape-color:#f06f874d;--tape-rotate:-1deg;background:linear-gradient(150deg, var(--surface) 72%, #fde4e9b3 100%)}.portal-you{--tape-color:#8b9ce857;--tape-rotate:1deg;background:linear-gradient(150deg, var(--surface) 72%, #ebe8ffc2 100%)}.portal-card:hover{box-shadow:var(--shadow-md);border-color:#5d82d833;transform:translateY(-2px)}.portal-index{color:var(--blue-ink);font-family:var(--sans);letter-spacing:.17em;font-size:9px;font-weight:700}.portal-card h2{font-family:var(--sans);transition:color var(--motion-fast) var(--ease);margin:14px 0 10px;font-size:clamp(22px,2vw,28px);font-weight:600}.portal-card>p{max-width:34ch;color:var(--ink-soft);margin:0;font-size:12px;line-height:1.75}.portal-arrow{width:32px;height:32px;color:var(--blue-ink);font-family:var(--sans);transition:transform .22s var(--ease), background .22s var(--ease);background:#ffffffb8;border:1px solid #5d82d829;border-radius:50%;place-items:center;font-size:14px;display:grid;position:absolute;bottom:18px;right:26px;box-shadow:inset 0 1px #ffffffe6}.portal-card:hover .portal-arrow{transform:translate(2px,-2px)}.portal-tag{color:var(--ink-soft);letter-spacing:.15em;border-top:1px solid #d9d6dfbf;padding-top:12px;font-size:7px;font-weight:700;position:absolute;bottom:20px;left:30px;right:75px}.platform-row{flex-wrap:wrap;gap:16px;margin-top:23px;display:flex}.platform-row>span{color:var(--ink-soft);transition:translate var(--motion-fast) var(--ease-spring), border-color var(--motion-fast) var(--ease);background:#ffffff94;border:1px solid #d9d6df8f;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:9px;display:inline-flex}.dot{border-radius:50%;width:4px;height:4px}.dot-pink{background:var(--accent)}.dot-green{background:var(--sage)}.dot-red{background:#a46d68}.site-footer{border-top:1px solid var(--line);color:var(--ink-soft);font-family:var(--sans);letter-spacing:.18em;justify-content:space-between;gap:20px;margin-top:56px;padding-top:19px;font-size:8px;display:flex}.inner-shell{padding-bottom:76px}.inner-heading{max-width:820px;padding:66px 0 55px;position:relative}.inner-heading:after{background:linear-gradient(90deg, var(--blue) 0 48%, var(--accent) 48% 73%, var(--gold) 73%);content:"";opacity:.66;border-radius:999px;width:60px;height:4px;margin-top:27px;display:block}.back-link{min-height:38px;color:var(--ink-soft);align-items:center;margin-bottom:31px;font-size:11px;display:inline-flex}.back-link:hover{color:var(--accent)}.inner-heading h1,.detail-hero h1{font-family:var(--display);letter-spacing:.04em;margin:16px 0 20px;font-size:clamp(48px,7vw,82px);font-weight:600;line-height:1.12}.inner-heading>p:last-child,.detail-hero>div:first-child>p:last-child{max-width:650px;color:var(--ink-soft);font-family:var(--sans);margin:0;font-size:13px;line-height:1.9}.platform-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.platform-card{border-radius:var(--radius-md);background:radial-gradient(circle at 100% 0%, #f06f8721, transparent 42%), var(--surface);min-height:335px;box-shadow:var(--shadow-sm);transition:box-shadow .22s var(--ease), transform .22s var(--ease), border-color .22s var(--ease);border:1px solid #5d82d81f;padding:34px 32px;position:relative}.platform-card:before{content:"";border:1px solid #5d82d829;border-radius:50%;width:38px;height:38px;position:absolute;top:23px;right:23px;box-shadow:inset 0 0 0 7px #5d82d809}.platform-wechat{background:radial-gradient(circle at 100% 0%, #73b79124, transparent 42%), var(--surface)}.platform-xiaohongshu{background:radial-gradient(circle at 100% 0%, #e2b74f26, transparent 42%), var(--surface)}.platform-card:hover{box-shadow:var(--shadow-md);border-color:#5d82d833;transform:translateY(-2px)}.platform-number{width:42px;height:42px;color:var(--blue-ink);font-family:var(--sans);box-shadow:var(--shadow-sm);background:#ffffff8c;border:1px solid #5d82d847;border-radius:50%;place-items:center;margin-bottom:31px;font-size:11px;font-weight:700;display:grid}.platform-card h2{font-family:var(--sans);margin:11px 0 14px;font-size:32px;font-weight:600}.platform-card>p{max-width:30ch;color:var(--ink-soft);font-family:var(--sans);margin:0;font-size:12px;line-height:1.78}.platform-open{color:var(--blue-ink);letter-spacing:.05em;font-size:10px;font-weight:600;position:absolute;bottom:29px;left:32px}.platform-open b{margin-left:6px;font-size:14px}.platform-card:hover .platform-open b{display:inline-block;transform:translate(2px,-2px)}.section-title-row{justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px;display:flex}.section-title-row h2{font-family:var(--display);margin:10px 0 0;font-size:clamp(25px,3vw,38px);font-weight:500}.section-title-row>span{color:var(--ink-soft);letter-spacing:.08em;font-size:10px}.empty-grid,.detail-slots{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.empty-slot{border-radius:var(--radius-md);text-align:center;background:linear-gradient(#5d82d807 1px,#0000 1px) 0 0/28px 28px,linear-gradient(90deg,#5d82d807 1px,#0000 1px) 0 0/28px 28px,#fffefab8;border:1px dashed #5d82d86b;flex-direction:column;justify-content:center;align-items:center;min-height:210px;padding:24px;display:flex;position:relative}.slot-kicker{color:var(--blue-ink);letter-spacing:.14em;opacity:.76;font-size:7px;font-weight:700;position:absolute;top:17px;left:18px}.slot-plus{width:34px;height:34px;color:var(--blue-ink);font-family:var(--sans);background:#e4ecffb8;border:1px solid #5d82d838;border-radius:50%;place-items:center;margin-bottom:15px;font-size:18px;display:grid}.empty-slot p{font-family:var(--sans);margin:0 0 7px;font-size:13px;font-weight:600}.slot-lines{flex-direction:column;align-items:center;gap:6px;width:min(70%,150px);margin-top:19px;display:flex}.slot-lines i{background:#716e7e1f;border-radius:999px;width:58%;height:3px;display:block}.slot-lines i:last-child{width:36%}.detail-hero{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:end;gap:40px;padding:62px 0 54px;display:grid}.detail-stamp{background:var(--blue-soft);width:142px;height:142px;color:var(--blue-ink);border:1px solid #5d82d838;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 1px #fffc}.detail-stamp span,.detail-stamp small{font-family:var(--display);letter-spacing:.18em;font-size:8px}.detail-stamp strong{font-family:var(--display);font-size:56px;font-weight:400;line-height:1}.detail-slots{margin-top:54px}.detail-slot-card{border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .22s var(--ease), box-shadow .22s var(--ease);border:1px solid #5d82d826;padding:10px;position:relative}.detail-slot-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.slot-count{z-index:2;color:var(--accent);font-family:var(--display);letter-spacing:.1em;font-size:9px;position:absolute;top:20px;left:20px}.platform-detail .empty-slot{border-color:var(--line);min-height:365px}.detail-netease .detail-stamp{background:var(--accent-soft);color:var(--accent-ink)}.detail-wechat .detail-stamp{background:var(--sage-soft);color:var(--sage)}.detail-xiaohongshu .detail-stamp{background:var(--gold-soft);color:#b48831}.page-note{border-top:1px solid var(--line);max-width:700px;color:var(--ink-soft);font-family:var(--sans);text-align:center;margin:68px auto 0;padding-top:18px;font-size:11px;line-height:1.8}.todo-book-section{max-width:1080px;margin:0 auto}.todo-book-intro{background:linear-gradient(135deg, var(--blue-soft), #fffefae0);border:1px solid #5d82d829;border-radius:20px 20px 0 0;justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:17px 24px;display:flex}.todo-book-intro>div{flex-direction:column;gap:7px;display:flex}.todo-book-intro strong{font-family:var(--display);font-size:18px;font-weight:500}.todo-book-intro>span{color:var(--blue-ink);letter-spacing:.09em;font-size:9px;font-weight:700}.todo-book-intro>.todo-book-tip{font-family:var(--handwritten);letter-spacing:.02em;margin-left:clamp(10px,3vw,42px);margin-right:auto;font-size:clamp(13px,1.6vw,17px);font-weight:400}.todo-book-intro>button{color:var(--blue-ink);font-family:var(--sans);cursor:pointer;background:#ffffffa6;border:1px solid #5d82d840;border-radius:999px;padding:9px 14px;font-size:9px}.todo-book-scene{perspective:2400px;background:radial-gradient(circle at 50% 48%,#fffffff2,#e4ecff6b 58%,#f1eee8b8);border:1px solid #5d82d821;border-top:0;place-items:center;min-height:700px;padding:38px 24px 30px;display:grid}.todo-book{width:min(940px,100%);height:min(67svh,630px);min-height:520px;transform-style:preserve-3d;transition:transform .9s var(--ease-whoosh);position:relative}.todo-book.is-closed{transform:translate(-25%)rotate(-2deg)}.todo-book.is-open{transform:translate(0)rotate(0)}.todo-book:after{z-index:-2;content:"";filter:blur(22px);background:#2b2f4430;border-radius:50%;height:42px;position:absolute;bottom:-25px;left:2%;right:2%;transform:translateZ(-20px)}.todo-book-back{z-index:0;color:#ffffffeb;text-align:center;background:linear-gradient(145deg,#91c4ff,#7299ee);border:1px solid #6991e04d;border-left:0;border-radius:0 15px 15px 0;flex-direction:column;justify-content:center;align-items:center;width:50%;display:flex;position:absolute;top:0;bottom:0;left:50%;box-shadow:12px 16px 28px #526fb029}.todo-book-back span{font-family:var(--display);letter-spacing:.13em;font-size:clamp(24px,3vw,38px);line-height:1.45}.todo-book-back small{letter-spacing:.17em;margin-top:28px;font-size:7px}.todo-book-sheet,.todo-book-cover{transform-origin:0;width:50%;height:100%;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.55,.06,.3,.96),z-index 0s .425s;position:absolute;top:0;left:50%}.todo-book-sheet.is-turned,.todo-book-cover.is-turned{transform:rotateY(-180deg)}.todo-book-sheet:not(.is-turned) .todo-book-page--back,.todo-book-sheet.is-turned .todo-book-page--front,.todo-book-cover.is-turned .todo-book-cover-front{pointer-events:none}.todo-book-cover{z-index:10;transition-duration:.98s}.todo-book-cover.is-turned{z-index:0}.todo-book-page,.todo-book-cover-front,.todo-book-cover-inside{backface-visibility:hidden;position:absolute;inset:0}.todo-book-page{color:var(--ink);background:linear-gradient(90deg,#eee9dc 0,#fffdf5 7%,#fffef9 100%);border:1px solid #ded8ca;flex-direction:column;padding:clamp(18px,2.4vw,30px);display:flex;box-shadow:inset 10px 0 20px #514b3e12,8px 10px 18px #3d456c14}.todo-book-page--front{border-radius:0 12px 12px 0}.todo-book-page--back{background:linear-gradient(270deg,#eee9dc 0,#fffdf5 7%,#fffef9 100%);border-radius:12px 0 0 12px;transform:rotateY(180deg);box-shadow:inset -10px 0 20px #514b3e12,-8px 10px 18px #3d456c14}.todo-page-heading{border-bottom:1px solid #5d82d829;min-height:73px;padding-bottom:13px}.todo-page-heading span{color:var(--blue-ink);letter-spacing:.15em;font-size:7px;font-weight:700}.todo-page-heading p{font-family:var(--handwritten);margin:8px 0 0;font-size:clamp(13px,1.45vw,18px);line-height:1.4}.todo-book-page>button{cursor:zoom-in;background:0 0;border:0;flex:1;place-items:center;min-height:0;margin:15px 0 10px;padding:0;display:grid;position:relative;overflow:hidden}.todo-book-page>button img{object-fit:contain;border:5px solid #fff;border-radius:5px;width:auto;max-width:100%;height:auto;max-height:100%;display:block;box-shadow:0 8px 22px #3a394321}.todo-book-page>button>span{color:#fff;opacity:0;transition:opacity .18s var(--ease);background:#2c2b3aad;border-radius:999px;padding:5px 8px;font-size:7px;position:absolute;bottom:8px;right:8px}.todo-book-page>button:hover>span,.todo-book-page>button:focus-visible>span{opacity:1}.todo-book-page>small{color:var(--ink-soft);font-family:var(--display);text-align:center;font-size:8px}.todo-book-cover-front{color:var(--ink);cursor:pointer;text-align:center;background:linear-gradient(145deg,#8dc4ff,#7399ef);border:1px solid #78a9f6;border-radius:0 16px 16px 0;padding:0;overflow:hidden;box-shadow:inset 13px 0 24px #4b6db72e,14px 18px 38px #526fb033}.todo-cover-collage{background:linear-gradient(145deg,#92c7ff,#779eef);grid-template-rows:1.05fr .82fr 1.05fr;grid-template-columns:.92fr 1.08fr;gap:5px;padding:9px;display:grid;position:absolute;inset:0}.todo-cover-collage span{border:1px solid #ffffff73;min-width:0;min-height:0;display:block;position:relative;overflow:hidden}.todo-cover-collage span:first-child{grid-row:1/span 2}.todo-cover-collage span:nth-child(2){grid-area:1/2}.todo-cover-collage span:nth-child(3){grid-area:2/2}.todo-cover-collage span:nth-child(4){grid-area:3/1}.todo-cover-collage span:nth-child(5){grid-area:3/2}.todo-cover-collage img{object-fit:cover;filter:saturate(.88)contrast(.96);width:100%;height:100%;display:block}.todo-cover-collage span:first-child img{object-position:center 63%}.todo-cover-collage span:nth-child(2) img{object-position:center 42%}.todo-cover-collage span:nth-child(3) img{object-position:center 58%}.todo-cover-collage span:nth-child(4) img{object-position:center 53%}.todo-cover-collage span:nth-child(5) img{object-position:center 56%}.todo-cover-collage:after{content:"";pointer-events:none;background:linear-gradient(90deg,#4f6fb721,#0000 18% 82%,#6489d714);position:absolute;inset:0}.todo-cover-title-card{z-index:2;width:74%;max-width:320px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;flex-direction:column;align-items:center;padding:22px 20px 20px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-1deg)}.todo-cover-label{color:#fffdf5;letter-spacing:.2em;opacity:.94;text-shadow:0 1px 5px #12264bf2;font-size:7px;font-weight:700}.todo-book-cover-front strong{color:#fffdf5;font-family:var(--display);text-shadow:0 2px 8px #12264bfa,0 0 2px #12264be6;margin:13px 0 10px;font-size:clamp(25px,3.4vw,42px);font-weight:500;line-height:1.15}.todo-book-cover-front i{color:#fffdf5;text-shadow:0 1px 5px #12264bf2;border:1px solid #fffdf5b8;border-radius:50%;place-items:center;width:34px;height:34px;margin-bottom:9px;font-style:normal;display:grid}.todo-book-cover-front small{color:#fffdf5;font-family:var(--handwritten);text-shadow:0 1px 6px #12264bfa,0 0 2px #12264be6;font-size:12px;line-height:1.5}.todo-book-cover-front b{z-index:3;color:#fff;letter-spacing:.14em;background:#253d68c7;border:1px solid #ffffff9e;border-radius:999px;padding:7px 9px;font-size:7px;position:absolute;bottom:17px;right:19px;box-shadow:0 4px 12px #1d27432e}.todo-book-cover-inside{color:var(--ink-soft);background:linear-gradient(270deg,#ebe5d8,#fffdf6 8%,#fffef9);border:1px solid #ded8ca;border-radius:12px 0 0 12px;flex-direction:column;justify-content:center;align-items:center;display:flex;transform:rotateY(180deg);box-shadow:inset -12px 0 22px #514b3e14}.todo-book-cover-inside span{font-family:var(--handwritten);text-align:center;font-size:clamp(16px,2vw,23px);line-height:1.7}.todo-book-cover-inside i{font-family:var(--display);letter-spacing:.12em;font-size:8px;font-style:normal;position:absolute;bottom:24px}.todo-page-turn{z-index:30;width:42px;height:42px;color:var(--blue-ink);cursor:pointer;box-shadow:var(--shadow-sm);background:#ffffffe6;border:1px solid #5d82d83d;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;bottom:18px}.todo-page-turn--previous{left:18px}.todo-page-turn--next{right:18px}.todo-book-controls{opacity:0;max-height:0;transition:max-height .3s var(--ease), opacity .3s var(--ease), padding .3s var(--ease);justify-content:center;align-items:center;gap:22px;display:flex;overflow:hidden}.todo-book-controls.is-visible{opacity:1;max-height:72px;padding:17px 12px 0}.todo-book-controls button{background:var(--surface);min-width:96px;color:var(--blue-ink);cursor:pointer;border:1px solid #5d82d833;border-radius:999px;padding:9px 13px;font-size:9px}.todo-book-controls button:disabled{cursor:default;opacity:.35}.todo-book-controls span{min-width:130px;color:var(--ink-soft);text-align:center;font-size:9px}.todo-lightbox{z-index:5000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1e1e27e0;grid-template-columns:minmax(0,1fr);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.todo-lightbox figure{scrollbar-width:thin;border-radius:14px;width:fit-content;max-width:100%;max-height:calc(100svh - 40px);margin:0 auto;overflow:auto}.todo-lightbox figcaption{z-index:2;min-height:52px;color:var(--ink);font-family:var(--handwritten);background:#fffefaf5;align-items:center;gap:12px;padding:13px 18px;font-size:15px;display:flex;position:sticky;top:0}.todo-lightbox figcaption span{color:var(--blue-ink);font-family:var(--sans);letter-spacing:.12em;flex:none;font-size:8px;font-weight:700}.todo-lightbox figure img{background:#fff;width:min(760px,100%);height:auto;margin:0 auto;display:block}.todo-lightbox-close{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#ffffff1f;border:1px solid #ffffff47;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;font-size:25px;line-height:1;display:grid;position:fixed;top:20px;right:22px}.detail-netease .site-header{position:relative;top:auto}.netease-theater{color:#704b55;background:#f8eeea;border:1px solid #b5897e6b;border-radius:28px;max-width:1180px;margin:54px auto 0;position:relative;overflow:hidden;box-shadow:0 28px 72px #6d4a502b,0 5px 17px #6d4a501c}.theater-marquee{z-index:20;background:radial-gradient(circle at 12% 25%,#ffffffe0,#0000 30%),linear-gradient(105deg,#fffaf4 0%,#f7e3e5 54%,#f6eadb 100%);border-bottom:1px solid #bf936857;justify-content:space-between;align-items:center;gap:20px;min-height:92px;padding:19px clamp(22px,4vw,46px);display:flex;position:relative;box-shadow:inset 0 -1px #8d5e5b24,inset 0 1px #ffffffe6}.theater-marquee:before,.theater-marquee:after{content:"";background:#d8ab63;border-radius:50%;width:7px;height:7px;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 0 10px #daab6380}.theater-marquee:before{left:13px}.theater-marquee:after{right:13px}.theater-marquee>div{flex-direction:column;gap:7px;min-width:0;display:flex}.theater-marquee span{color:#a97842;letter-spacing:.2em;font-size:8px;font-weight:700}.theater-marquee strong{color:#704853;font-family:var(--display);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(19px,2.4vw,29px);font-weight:500;overflow:hidden}.theater-marquee button{color:#956536;cursor:pointer;background:#ffffff8f;border:1px solid #b184506b;border-radius:999px;flex:none;padding:10px 15px;font-size:9px;transition:background .18s,color .18s,transform .18s}.theater-marquee button:hover{color:#764a50;background:#ffffffdb;transform:translateY(-1px)}.theater-room{aspect-ratio:793/496;isolation:isolate;background-color:#d7a397;background-image:url(/netease/theater-auditorium-bright.jpg);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;position:relative;overflow:hidden}.theater-room:before{z-index:1;content:"";mix-blend-mode:screen;opacity:0;pointer-events:none;background:radial-gradient(at 50% 34%,#fffae547,#ffc5cf14 48%,#0000 72%);transition:opacity 1.1s 2.45s;position:absolute;inset:14% 13% 22%}.theater-room:after{z-index:18;content:"";pointer-events:none;background:radial-gradient(at 50% 42%,#0000 55%,#6f30451c 100%),linear-gradient(135deg,#fff6e10b,#0000 45%,#ffc9d806);position:absolute;inset:0;box-shadow:inset 0 0 30px #532b332e}.theater-room-light{z-index:2;clip-path:polygon(18% 0,82% 0,100% 100%,0 100%);opacity:0;pointer-events:none;background:linear-gradient(#0000,#ffdce21f);height:31%;transition:opacity 1s 3s;position:absolute;bottom:0;left:9%;right:9%}.theater-projector-beam{z-index:2;clip-path:polygon(0 0,100% 0,59% 100%,41% 100%);mix-blend-mode:screen;opacity:0;pointer-events:none;transform-origin:bottom;background:linear-gradient(#fff8e01f,#ffdee503);width:56%;height:52%;transition:opacity 1s 2.8s;position:absolute;top:20%;left:50%;transform:translate(-50%)}.theater-screen-shell{z-index:4;filter:brightness(.28)saturate(.55);opacity:.7;background:#080709;border-radius:2px;min-width:0;transition:filter .9s 2.35s,opacity .9s 2.35s,transform .9s 2.35s;position:absolute;inset:21.25% 23.3% 34.15% 23.05%;overflow:hidden;transform:scale(.992);box-shadow:inset 0 0 22px #fff3db1f,0 0 34px #ffe1ae17}.netease-theater.is-open .theater-screen-shell{filter:brightness()saturate();opacity:1;transform:scale(1)}.theater-screen-toolbar{z-index:7;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0f0b0ebd;border:1px solid #f3ce8f33;border-radius:999px;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:9px;min-width:0;min-height:32px;padding:3px 8px;display:grid;position:absolute;top:8px;left:10px;right:10px;box-shadow:0 5px 16px #0003}.theater-screen-toolbar nav{justify-content:center;align-items:center;gap:5px;min-width:0;display:flex}.theater-screen-toolbar nav button{color:#a89a98;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;padding:5px 10px;font-size:7px;overflow:hidden}.theater-reel{background:radial-gradient(circle,#c3a87d 0 8%,#3b3333 9% 43%,#9e876b 44% 48%,#211b1e 49%);border:1px solid #e2c19475;border-radius:50%;width:22px;height:22px;display:block;position:relative}.theater-reel i{background:#0b090b;border-radius:50%;width:4px;height:4px;margin:-2px;position:absolute;top:50%;left:50%}.theater-reel i:first-child{transform:translateY(-6px)}.theater-reel i:nth-child(2){transform:translate(6px)}.theater-reel i:nth-child(3){transform:translateY(6px)}.theater-reel i:nth-child(4){transform:translate(-6px)}.theater-filmstrip{touch-action:pan-y;background:#08070a;min-width:0;min-height:0;padding:10px;position:absolute;inset:0;overflow:hidden}.filmstrip-perforations{z-index:6;opacity:.78;pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 9px,#d6c9ad 9px 14px,#0000 14px 20px);height:5px;position:absolute;left:4px;right:4px}.filmstrip-perforations--top{top:3px}.filmstrip-perforations--bottom{bottom:3px}.theater-slide{background:#f7eee0;height:100%;overflow:hidden;box-shadow:inset 0 0 42px #4628232b}.theater-chapter-slide{color:#713747;text-align:center;background:radial-gradient(circle,#ffffffe6,#0000 36%),repeating-linear-gradient(90deg,#0000 0 39px,#ad69710b 39px 40px),linear-gradient(145deg,#f9e6e4,#f2d4d7 58%,#dfb7bb);flex-direction:column;justify-content:center;align-items:center;height:100%;padding:48px 22px 65px;display:flex;position:relative;overflow:hidden}.theater-chapter-slide:before,.theater-chapter-slide:after{aspect-ratio:1;content:"";border:1px solid #75364521;border-radius:50%;width:min(20vw,190px);position:absolute}.theater-chapter-slide:before{top:-48%;left:-6%;box-shadow:0 0 0 12px #ffffff1c,0 0 0 13px #75364514}.theater-chapter-slide:after{bottom:-56%;right:-5%;box-shadow:0 0 0 16px #ffffff1c,0 0 0 17px #75364512}.theater-chapter-slide>*{z-index:1;position:relative}.theater-chapter-slide>span{letter-spacing:.22em;font-size:6px;font-weight:700}.theater-chapter-slide>i{border:1px solid #7137473d;border-radius:50%;place-items:center;width:25px;height:25px;margin:7px 0 4px;font-size:9px;font-style:normal;display:grid}.theater-chapter-slide h2{font-family:var(--display);margin:0;font-size:clamp(30px,4vw,51px);font-weight:500;line-height:.95}.theater-chapter-slide p{color:#a65d70;letter-spacing:.2em;margin:7px 0 5px;font-size:6px;font-weight:700}.theater-chapter-slide small{color:#7c5b64;font-family:var(--handwritten);font-size:10px}.theater-photo-slide{color:#2e2830;background:radial-gradient(at 50% 42%,#fffdf6,#eadfd0 110%);flex-direction:column;height:100%;min-height:0;padding:45px 10px 65px;display:flex}.theater-photo-slide>div{flex:none;justify-content:space-between;align-items:center;gap:10px;padding-bottom:5px;display:flex}.theater-photo-slide>div span{color:#a64d65;letter-spacing:.12em;font-size:6px;font-weight:700}.theater-photo-slide>div strong{color:#7f6c6c;letter-spacing:.14em;font-size:6px}.theater-photo-slide>button{cursor:zoom-in;background:#d6d0c8;border:1px solid #48373621;border-radius:2px;flex:1;place-items:center;min-height:0;padding:0;display:grid;position:relative;overflow:hidden;box-shadow:0 5px 14px #2e1f201f}.theater-photo-slide>button img{object-fit:contain;width:100%;height:100%;min-height:0;display:block}.theater-photo-slide>button span{color:#fff;letter-spacing:.06em;opacity:0;background:#110d10b8;border:1px solid #ffffff40;border-radius:999px;padding:4px 7px;font-size:6px;transition:opacity .18s,transform .18s;position:absolute;bottom:6px;right:7px;transform:translateY(3px)}.theater-photo-slide>button:hover span,.theater-photo-slide>button:focus-visible span{opacity:1;transform:translateY(0)}.theater-film-controls{z-index:7;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#37252bd1;border:1px solid #f0cf9947;border-radius:999px;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:9px;min-height:40px;padding:4px 8px;display:grid;position:absolute;bottom:33px;left:10px;right:10px;box-shadow:0 5px 14px #3218202e}.theater-film-controls>button{color:#88455a;cursor:pointer;background:linear-gradient(145deg,#fffaf1,#efd9cf);border:1px solid #dea86f94;border-radius:50%;place-items:center;width:31px;height:31px;padding:0;font-size:17px;font-weight:700;line-height:1;transition:transform .16s,box-shadow .16s,opacity .16s;display:grid;box-shadow:0 3px 9px #2412183d,inset 0 1px #ffffffeb}.theater-film-controls>button:last-child{justify-self:end}.theater-film-controls>button:hover:not(:disabled){transform:translateY(-1px)scale(1.04);box-shadow:0 5px 13px #2412184d,inset 0 1px #fffffff0}.theater-film-controls>button:disabled{cursor:default;opacity:.48}.theater-film-controls>div{text-align:center;justify-content:center;align-items:center;gap:9px;min-width:0;display:flex}.theater-film-controls>div span{color:#d6b7af;text-overflow:ellipsis;white-space:nowrap;font-size:6px;overflow:hidden}.theater-film-controls>div strong{color:#f0c77e;letter-spacing:.12em;flex:none;font-size:7px}.theater-film-index{z-index:7;scrollbar-width:none;background:#08070ad1;border-radius:5px;justify-content:center;align-items:center;gap:3px;min-width:0;padding:3px 5px;display:flex;position:absolute;bottom:7px;left:10px;right:10px;overflow-x:auto}.theater-film-index::-webkit-scrollbar{display:none}.theater-film-index button{color:#918485;cursor:pointer;background:#21191e;border:1px solid #e8cb9f38;border-radius:2px;place-items:center;min-width:17px;height:17px;padding:0 3px;font-size:5px;display:grid}.theater-film-index button.is-chapter{color:#d1a75f;border-color:#ebb66d52;min-width:26px}.theater-film-index button.is-active{color:#fff;background:#a94d62;border-color:#efc276;box-shadow:0 0 0 1px #efc27629}.theater-curtain{z-index:9;filter:brightness(1.03)saturate(.94);pointer-events:none;will-change:width;background:linear-gradient(#fff3,#0000 28%,#48142629),repeating-linear-gradient(90deg,#713047 0 5%,#ad5069 9% 14%,#d8899a 17% 20%,#85364d 24% 29%);width:27.62%;transition:width 4.2s cubic-bezier(.55,0,.2,1),filter 1.1s;position:absolute;top:15.1%;bottom:31.7%;overflow:hidden;box-shadow:inset 0 0 28px #461b2940,inset 0 1px #fff6ef42,0 7px 20px #4c2a303d}.theater-curtain>span{display:flex;position:absolute;inset:0}.theater-curtain>span b{background:linear-gradient(90deg,#3e12226e,#ffede838 48%,#4b162857);flex:1;box-shadow:inset 1px 0 #ffffff12}.theater-curtain--left{border-right:1px solid #ffdcd680;left:22.43%}.theater-curtain--right{border-left:1px solid #ffdcd680;right:22.43%}.theater-curtain>i{z-index:3;opacity:0;background:linear-gradient(#f0d38f,#8d5423);border:1px solid #e0b462;border-radius:50%;width:17px;height:8px;transition:opacity .7s;position:absolute;top:54%;box-shadow:0 2px 6px #0000006b}.theater-curtain--left>i{left:13%;transform:rotate(-12deg)}.theater-curtain--right>i{right:13%;transform:rotate(12deg)}.netease-theater.is-open .theater-curtain>i{opacity:1;transition-delay:2.85s}.theater-valance{z-index:10;filter:drop-shadow(0 8px 7px #00000073);pointer-events:none;height:9%;display:flex;position:absolute;top:13.4%;left:20.8%;right:20.8%;overflow:hidden}.theater-valance:before{z-index:2;content:"";background:repeating-linear-gradient(90deg,#7c1d3e 0 7%,#c94e70 11% 15%,#65142f 19% 23%);height:45%;position:absolute;top:0;left:0;right:0}.theater-valance i{background:radial-gradient(at 50% 12%,#df7c92,#7b1b3c 73%);border-radius:0 0 52% 52%;flex:1;height:66%;position:relative;top:24%;box-shadow:inset 0 -7px 11px #50112540}.theater-hint{z-index:20;color:#76545d;letter-spacing:.06em;text-align:center;background:linear-gradient(90deg,#f3dfe1,#fff8ef 50%,#f3dfe1);border-top:1px solid #bc916545;margin:0;padding:14px 20px 16px;font-size:9px;position:relative}.theater-opening-status{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.netease-lightbox{background:#150b10ed}.netease-lightbox figcaption{background:#fff6eef7}.netease-lightbox figcaption span{color:#a94762}@media (prefers-reduced-motion:no-preference){.netease-theater.is-open .theater-reel{animation:9s linear infinite theater-reel-turn}.theater-slide--forward{animation:.44s cubic-bezier(.22,.75,.22,1) both theater-slide-forward}.theater-slide--backward{animation:.44s cubic-bezier(.22,.75,.22,1) both theater-slide-backward}}@keyframes theater-reel-turn{to{rotate:360deg}}@keyframes theater-slide-forward{0%{opacity:0;transform:translate(20px)scale(.99)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes theater-slide-backward{0%{opacity:0;transform:translate(-20px)scale(.99)}to{opacity:1;transform:translate(0)scale(1)}}@media (prefers-reduced-motion:reduce){.theater-curtain,.theater-curtain>i,.theater-screen-shell,.theater-projector-beam,.theater-room:before,.theater-room-light{transition-duration:1ms;transition-delay:0s}}@media (width<=680px){.netease-theater{border-radius:20px;margin-top:36px}.theater-marquee{min-height:80px;padding:15px 21px}.theater-marquee span{letter-spacing:.14em;font-size:7px}.theater-marquee strong{font-size:18px}.theater-marquee button{padding:8px 11px;font-size:8px}.theater-room{aspect-ratio:auto;background-size:auto 100%;height:620px}.theater-screen-shell{inset:21.25% 8% 34.15%}.theater-curtain{width:42%;top:15.1%;bottom:31.7%}.theater-curtain--left{left:8%}.theater-curtain--right{right:8%}.theater-valance{top:13.4%;left:3.4%;right:3.4%}.theater-projector-beam{width:86%}.theater-screen-toolbar{grid-template-columns:24px minmax(0,1fr) 24px;gap:4px;left:7px;right:7px}.theater-screen-toolbar nav{gap:2px}.theater-screen-toolbar nav button{padding-inline:7px}.theater-reel{width:20px;height:20px}.theater-photo-slide{padding:44px 8px 65px}.theater-film-controls{left:7px;right:7px}.theater-film-index{justify-content:flex-start;left:7px;right:7px}.theater-photo-slide>button span{display:none}.theater-hint{padding:12px 13px 14px;font-size:8px;line-height:1.6}}@media (width<=420px){.theater-marquee{gap:10px}.theater-marquee strong{max-width:220px;font-size:16px}.theater-room{height:560px}.theater-screen-shell{left:3%;right:3%}.theater-curtain{width:47%}.theater-curtain--left{left:3%}.theater-curtain--right{right:3%}.netease-theater.is-open .theater-curtain--left,.netease-theater.is-open .theater-curtain--right{width:8%}.theater-valance{left:0;right:0}.theater-reel{display:none}.theater-screen-toolbar{grid-template-columns:1fr}.theater-film-controls>div span{display:none}.theater-film-controls>div strong{font-size:7px}.theater-chapter-slide h2{font-size:40px}.theater-chapter-slide small{font-size:9px}.theater-photo-slide>div span{text-overflow:ellipsis;white-space:nowrap;max-width:122px;overflow:hidden}}.same-feature{border-radius:var(--radius-lg);background:linear-gradient(135deg,#e4ecffdb,#fde4e9b8);border:1px solid #5d82d824;grid-template-columns:minmax(270px,.8fr) 1.35fr;align-items:center;gap:clamp(48px,8vw,118px);margin:12px 0 70px;padding:58px clamp(32px,7vw,92px);display:grid;box-shadow:inset 0 1px #ffffffb8}.same-burst{aspect-ratio:1;background:radial-gradient(circle at 35% 28%, #7598e8, var(--blue) 68%);color:#fff;text-align:center;border:0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;transform:rotate(-.25deg);box-shadow:0 0 0 5px #ffffff94,0 0 0 6px #5d82d829,0 20px 42px #4762a229}.same-burst span{font-family:var(--display);font-size:21px}.same-burst strong{font-family:var(--display);margin:5px 0 12px;font-size:clamp(30px,4vw,48px);font-weight:500;line-height:1.1}.same-burst small{letter-spacing:.18em;font-size:8px}.same-feature-copy h2{font-family:var(--display);margin:15px 0 21px;font-size:clamp(34px,4vw,54px);font-weight:500;line-height:1.45}.same-feature-copy>p:last-child{max-width:560px;color:var(--ink-soft);font-family:var(--sans);margin:0;font-size:13px;line-height:1.9}.same-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.same-card{border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .22s var(--ease), box-shadow .22s var(--ease);border:1px solid #5d82d824;padding:21px 21px 28px}.same-card:first-child{border-top:3px solid var(--blue)}.same-card:nth-child(2){border-top:3px solid var(--accent);background:var(--surface)}.same-card:nth-child(3){border-top:3px solid var(--gold);background:var(--surface)}.same-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.same-card-photo{border-radius:var(--radius-sm);background:#fffefa94;border:1px dashed #5d82d857;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:230px;margin:17px 0 23px;display:flex}.same-card-photo span{color:var(--blue);font-family:var(--sans);font-size:26px}.same-card-photo small{color:var(--ink-soft);font-size:9px}.same-card h2{font-family:var(--sans);margin:0 0 10px;font-size:19px;font-weight:600}.same-card>p{color:var(--ink-soft);font-family:var(--sans);margin:0;font-size:11px;line-height:1.78}@media (hover:hover) and (pointer:fine){.brand:hover .brand-mark{animation:icon-hop .43s var(--ease-pop)}.paper-note:hover{box-shadow:var(--shadow-md);transform:rotate(-.8deg)translateY(-3px)}.admission-ticket:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.admission-ticket:hover .ticket-dots i{opacity:.92;scale:1.45}.admission-ticket:hover .ticket-dots i:nth-child(2){transition-delay:45ms}.admission-ticket:hover .ticket-dots i:nth-child(3){transition-delay:90ms}.same-sticker:hover .same-orbit{animation-duration:1.2s}.portal-card:hover:before{scale:1.35}.portal-card:hover:after{transform:translate(-50%)translateY(-2px)rotate(2deg)}.portal-card:hover h2{color:#24263a}.portal-card:hover .portal-arrow{animation:arrow-zip .43s var(--ease-whoosh) both}.portal-memories:hover .platform-row>span{border-color:#5d82d833;translate:0 -2px}.portal-memories:hover .platform-row>span:nth-child(2){transition-delay:35ms}.portal-memories:hover .platform-row>span:nth-child(3){transition-delay:70ms}}.brand:focus-visible .brand-mark{transform:rotate(-5deg)scale(1.03)}.portal-card:focus-visible .portal-arrow{transform:translate(3px,-3px)rotate(6deg)}.portal-card:focus-visible:before{scale:1.35}.platform-card:focus-visible .platform-open b{display:inline-block;transform:translate(2px,-2px)}@media (width<=1160px){.site-header{grid-template-columns:1fr auto}.main-nav{grid-area:2/1/auto/-1;justify-self:center}.birthday-stage{grid-template-columns:minmax(0,.78fr) minmax(490px,2fr);grid-template-areas:"left hero""right hero"}.stage-left{grid-area:left}.hero-window{grid-area:hero}.stage-right{grid-area:right}.stage-left,.stage-right{gap:28px}.same-sticker{min-height:180px}}@media (width<=900px){.site-shell{padding:24px 24px 36px}.home-content{padding-top:30px}.hanger-anchor{--display-friend-size:min(var(--friend-size), 21.75vw)}.hanger-anchor:nth-child(n+5){--display-friend-size:min(var(--friend-size), 16.3125vw)}.opening-copy{width:min(760px,100% - 44px)}.opening-story{grid-template-columns:minmax(220px,255px) minmax(0,1fr);gap:17px;width:min(820px,100% - 64px);bottom:52px}.opening-birthday-postcard{border-radius:20px;padding:7px 7px 5px}.opening-birthday-postcard img{border-radius:13px}.opening-birthday-postcard figcaption{padding:7px 6px 2px;font-size:6px}.opening-age-stamp{width:51px;height:51px;bottom:20px;right:-15px}.opening-age-stamp strong{font-size:22px}.opening-quick-nav{border-radius:21px;padding:13px}.opening-quick-heading>div>strong{font-size:16px}.opening-quick-grid{gap:7px;margin-top:9px}.opening-quick-link{border-radius:14px;gap:6px;min-height:60px;padding:9px 7px 9px 9px}.opening-quick-link>strong{font-size:9.5px}.opening-quick-arrow{width:23px;height:23px;font-size:10px}.birthday-stage{flex-direction:column;display:flex}.hero-window{order:1;width:100%}.stage-left,.stage-right{grid-template-columns:1fr 1fr;align-items:center;width:100%;display:grid}.stage-left{order:2}.stage-right{order:3}.same-sticker{min-height:200px}.portal-grid{grid-template-columns:1fr 1fr}.portal-memories{grid-column:auto}.platform-grid,.empty-grid,.detail-slots,.same-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-card{min-height:295px}.same-feature{grid-template-columns:1fr}.same-burst{width:min(100%,340px);margin:auto}}@media (width<=680px){:root{--whoosh-left:-36px;--whoosh-right:36px}.site-shell{padding:17px 15px 28px}.home-content{padding-top:22px}.birthday-opening{height:max(840px,100svh)}.birthday-opening:before{background-size:24px 24px,100% 100%}.birthday-opening:after{width:40px;height:40px;bottom:88px;right:24px}.opening-glow{width:112vw;height:76vw}.hanger-anchor,.hanger-anchor:nth-child(n+5){--display-friend-size:var(--mobile-friend-size)}.hanger-rope{height:var(--mobile-rope-length);width:2px}.hanger-pin{width:12px;height:5px}.hanger-knot{border-width:1.5px;width:8px;height:8px}.hanger-knot:before,.hanger-knot:after{border-width:1px;width:6px;height:5px;top:2px}.hanger-knot:before{right:5px}.hanger-knot:after{left:5px}.hanger-figure--album{border-radius:10px;padding:3px}.opening-copy{border-radius:32px;width:calc(100% - 30px);margin-top:36px;padding:34px 19px 38px}.opening-copy:before,.opening-copy:after{width:34px;height:34px;font-size:14px}.opening-copy:before{top:-14px;left:25px}.opening-copy:after{bottom:-14px;right:24px}.opening-copy h1{gap:9px 8px}.opening-copy h1>span{letter-spacing:.1em;font-size:clamp(17px,5.3vw,23px)}.opening-copy h1>strong{letter-spacing:-.015em;white-space:normal;font-size:clamp(34px,10.6vw,54px)}.opening-cake-surprise__icon{width:48px;height:48px;font-size:31px}.opening-story{grid-template-columns:1fr;justify-items:start;gap:9px;width:calc(100% - 30px);bottom:54px}.opening-story:before,.opening-story:after{display:none}.opening-birthday-postcard{border-radius:15px;width:185px;margin-left:10px;padding:5px 5px 4px}.opening-birthday-postcard img{border-radius:10px}.opening-birthday-postcard figcaption{letter-spacing:.11em;gap:5px;padding:5px 4px 1px;font-size:4.5px}.opening-birthday-postcard figcaption strong{font-size:5px}.opening-postcard-tape{width:57px;height:17px;top:-9px}.opening-age-stamp{width:41px;height:41px;bottom:14px;right:-12px}.opening-age-stamp strong{font-size:18px}.opening-age-stamp small{font-size:4.5px}.opening-quick-nav{border-radius:17px;width:calc(100% - 76px);padding:9px}.opening-quick-heading{align-items:center;gap:8px}.opening-quick-heading>div>span{display:none}.opening-quick-heading>div>strong{font-size:13px}.opening-quick-heading>a{min-height:30px;padding:5px 8px;font-size:0}.opening-quick-heading>a span{font-size:12px}.opening-quick-grid{gap:5px;margin-top:7px}.opening-quick-link{border-radius:12px;grid-template-columns:auto minmax(0,1fr);gap:5px;min-height:50px;padding:7px 6px}.opening-quick-link>strong{font-size:8.5px;line-height:1.3}.opening-quick-arrow,.opening-story-spark--pink{display:none}.opening-story-spark--blue{font-size:13px;top:15px;left:62%}.opening-story-spark--gold{font-size:12px;top:92px;right:15%}.confetti-cannon{width:46px;height:46px}.confetti-cannon__emoji{font-size:40px}.confetti-piece{width:7px;height:3px}.music-dock{--vinyl-size:62px;bottom:92px;right:18px}.music-player-panel{border-radius:22px;width:min(370px,100vw - 18px);max-height:calc(100svh - 178px);padding:14px;bottom:calc(100% + 14px);right:-2px;overflow-y:auto}.music-player-panel:after{right:24px}.music-player-head{padding-bottom:13px}.music-player-head>button{width:40px;height:40px}.music-player-panel--custom{padding:10px}.custom-player-card{border-radius:17px;gap:11px;padding:7px}.current-track-cover{border-radius:12px}.custom-player-main{padding:5px 4px 3px 0}.current-track-copy{min-height:58px;padding-right:38px}.current-track-copy>strong{font-size:14px}.music-player-close{width:34px;height:34px;top:14px;right:14px}.custom-player-controls{grid-template-columns:1fr 30px 40px 30px 1fr;gap:4px}.custom-player-controls button{width:38px;height:38px}.custom-player-controls .track-skip-button{width:29px;height:29px}.netease-player-shell{border-radius:16px;margin-left:-5px;margin-right:-5px}.netease-player-shell iframe{height:min(430px,100svh - 292px);min-height:300px}.site-header{gap:11px;margin-bottom:16px;top:8px}.brand small{display:none}.brand-mark{width:38px;height:38px}.countdown-badge span{display:none}.main-nav{scroll-snap-type:x proximity;scrollbar-width:none;justify-content:flex-start;gap:4px;width:100%;scroll-padding-inline:4px;overflow-x:auto}.main-nav::-webkit-scrollbar{display:none}.main-nav a{scroll-snap-align:start;text-align:center;white-space:nowrap;flex:none;min-height:42px;padding:12px 14px;font-size:10px}.hero-window{min-height:530px}.window-bar{padding:0 18px}.window-bar span{display:none}.hero-content{min-height:482px;padding:40px 20px 46px}.photo-phrase h1{letter-spacing:.03em;font-size:clamp(29px,10vw,44px)}.hero-confetti i{--lift:-5px;--lift-2:-2px}.hero-confetti i:first-child{--w:14px;--h:5px;--from-x:34px;top:23%;left:3%}.hero-confetti i:nth-child(2){--w:8px;--h:8px;--from-x:-32px;top:17%;right:7%}.hero-confetti i:nth-child(3){--w:5px;--h:13px;--from-x:-36px;top:43%;right:2%}.hero-confetti i:nth-child(4){--w:9px;--h:9px;--from-x:36px;top:54%;left:2%}.hero-confetti i:nth-child(5){--w:12px;--h:4px;--from-x:30px;bottom:7%;left:7%}.hero-confetti i:nth-child(6){--w:9px;--h:9px;--from-x:-30px;bottom:6%;right:8%}.stage-left,.stage-right{grid-template-columns:1fr}.portal-heading{flex-direction:column;align-items:flex-start;gap:9px;padding-bottom:17px}.portal-heading>span{padding:0}.portal-grid{grid-template-columns:1fr}.portal-memories{grid-column:auto}.portal-card{min-height:220px;padding:27px 24px 60px}.portal-tag{left:24px;right:67px}.portal-arrow{right:22px}.site-footer{flex-direction:column}.inner-heading{padding:45px 0 36px}.inner-heading h1,.detail-hero h1{font-size:clamp(38px,11vw,54px)}.section-title-row{flex-direction:column;align-items:start}.platform-grid,.empty-grid,.detail-slots,.same-grid,.detail-hero{grid-template-columns:1fr}.detail-stamp{border-radius:999px;flex-direction:row;gap:6px;width:fit-content;height:auto;padding:9px 13px;display:flex}.detail-stamp strong{font-size:20px}.todo-book-scene{min-height:620px;padding-left:16px;padding-right:16px}.todo-book{height:min(62svh,560px);min-height:480px}.same-feature{padding:38px 22px}}@media (width<=420px){.todo-book-intro{align-items:flex-start;padding:15px 16px}.todo-book-intro strong{font-size:15px}.todo-book-intro>span{text-align:right;max-width:74px;line-height:1.5}.todo-book-intro>.todo-book-tip{text-align:left;max-width:98px;margin-left:0;font-size:11px}.todo-book-scene{min-height:500px;padding:25px 5px 20px}.todo-book{height:57svh;min-height:420px}.todo-book-page{padding:12px 9px}.todo-page-heading{min-height:76px}.todo-page-heading p{font-size:11px}.todo-book-page>button img{border-width:3px}.todo-book-cover-front{padding:0}.todo-cover-collage{gap:3px;padding:5px}.todo-cover-title-card{width:82%;padding:14px 9px 13px}.todo-book-cover-front strong{margin:8px 0 7px;font-size:22px}.todo-book-cover-front small{font-size:9px}.todo-book-cover-front i{width:27px;height:27px;margin-bottom:6px}.todo-book-cover-front b{padding:5px 6px;font-size:6px;bottom:8px;right:8px}.todo-book-cover-inside span{font-size:13px}.todo-page-turn{width:34px;height:34px;bottom:10px}.todo-page-turn--previous{left:8px}.todo-page-turn--next{right:8px}.todo-book-controls{gap:7px}.todo-book-controls button{min-width:77px;padding:8px;font-size:8px}.todo-book-controls span{min-width:102px;font-size:8px}.todo-lightbox{grid-template-columns:minmax(0,1fr);padding:10px 4px}.todo-lightbox figure{max-height:calc(100svh - 20px)}.todo-lightbox-close{width:38px;height:38px;top:12px;right:12px}.todo-lightbox figcaption{padding-right:46px}}@media (prefers-reduced-motion:no-preference){.hanging-friends.is-revealed .hanger-anchor{animation:hanger-arrive .82s calc(var(--drop-delay) + .43s) var(--ease-pop) both}.hanging-friends.is-revealed .hanger-pendulum{animation-name:hanger-sway;animation-duration:var(--sway-duration);animation-timing-function:ease-in-out;animation-delay:calc(var(--drop-delay) + 1.07s);animation-iteration-count:infinite;animation-direction:alternate}.opening-copy{animation:opening-card-pop .76s .39s var(--ease-pop) both}.opening-copy h1>span{animation:opening-word-arrive .56s .59s var(--ease-whoosh) both}.opening-copy h1>strong{animation:opening-word-arrive .66s .69s var(--ease-pop) both}.opening-cake-surprise__icon{animation:cake-bounce .72s .82s var(--ease-pop) both}.opening-copy:before{animation:3.8s ease-in-out 1.25s infinite opening-charm-left}.opening-copy:after{animation:4.2s ease-in-out 1.4s infinite opening-charm-right}.opening-story.is-revealed .opening-birthday-postcard{animation:opening-postcard-whoosh .76s .93s var(--ease-pop) both}.opening-story.is-revealed .opening-quick-nav{animation:opening-quick-nav-arrive .68s 1.08s var(--ease-pop) both}.opening-story.is-revealed .opening-quick-link{animation:opening-quick-link-arrive .52s var(--ease-pop) both}.opening-story.is-revealed .opening-quick-link:first-child{animation-delay:1.25s}.opening-story.is-revealed .opening-quick-link:nth-child(2){animation-delay:1.33s}.opening-story.is-revealed .opening-quick-link:nth-child(3){animation-delay:1.41s}.opening-story.is-revealed .opening-story-spark{animation:3.4s ease-in-out 1.5s infinite opening-story-spark-float}.opening-story.is-revealed .opening-story-spark--pink{animation-duration:3.9s;animation-delay:1.8s}.opening-story.is-revealed .opening-story-spark--gold{animation-duration:3.1s;animation-delay:2s}.confetti-piece{animation:opening-confetti-flight var(--piece-duration) var(--piece-delay) cubic-bezier(.18, .64, .3, 1) both}.confetti-cannon__emoji{animation:cannon-kick .82s 40ms var(--ease-pop) both}.site-header{animation:header-shoot .5s var(--ease-whoosh) both}.hero-window{animation:window-pop .7s 40ms var(--ease-whoosh) both}.collage-label{animation:pill-zip .52s .13s var(--ease-pop) both}.photo-phrase h1>span:first-child{animation:whoosh-left .6s .18s var(--ease-pop) both}.photo-phrase h1>strong{animation:birthday-pop .65s .26s var(--ease-pop) both}.photo-phrase h1>span:last-child{animation:whoosh-right .6s .35s var(--ease-pop) both}.photo-phrase h1 strong:after{animation:underline-pop .56s .43s var(--ease-pop) both}.photo-phrase>p{animation:hop-soft .5s .43s var(--ease-pop) both}.hero-meta{animation:hop-soft .5s .48s var(--ease-pop) both}.youth-progress{animation:hop-soft .52s .52s var(--ease-pop) both}.youth-progress>i>b{animation:load-fill .9s .65s var(--ease-whoosh) both}.hero-signoff{animation:whoosh-right .56s .5s var(--ease-pop) both}.hero-seal{animation:seal-pop .52s .18s var(--ease-pop) both, periodic-hop 3.2s 1.05s ease-in-out infinite}.hero-window:before{animation:3.1s ease-in-out .92s infinite decor-bounce-blue}.hero-window:after{animation:3.7s ease-in-out 1.15s infinite decor-bounce-gold}.hero-confetti i:first-child{animation:2.8s ease-in-out 1.02s infinite confetti-hop}.hero-confetti i:nth-child(2){animation:3.15s ease-in-out 1.12s infinite confetti-hop}.hero-confetti i:nth-child(3){animation:2.65s ease-in-out 1.2s infinite confetti-hop}.hero-confetti i:nth-child(4){animation:3.3s ease-in-out 1.28s infinite confetti-hop}.hero-confetti i:nth-child(5){animation:2.95s ease-in-out 1.38s infinite confetti-hop}.hero-confetti i:nth-child(6){animation:3.45s ease-in-out 1.48s infinite confetti-hop}.hero-confetti i:first-child:before{animation:confetti-shoot .68s .26s var(--ease-pop) both}.hero-confetti i:nth-child(2):before{animation:confetti-shoot .68s .31s var(--ease-pop) both}.hero-confetti i:nth-child(3):before{animation:confetti-shoot .68s .36s var(--ease-pop) both}.hero-confetti i:nth-child(4):before{animation:confetti-shoot .68s .41s var(--ease-pop) both}.hero-confetti i:nth-child(5):before{animation:confetti-shoot .68s .46s var(--ease-pop) both}.hero-confetti i:nth-child(6):before{animation:confetti-shoot .68s .51s var(--ease-pop) both}.music-bars i{animation:.76s ease-in-out infinite alternate music-jump}.music-bars i:nth-child(2){animation-duration:.62s;animation-delay:-280ms}.music-bars i:nth-child(3){animation-duration:.86s;animation-delay:-470ms}.music-bars i:nth-child(4){animation-duration:.7s;animation-delay:-160ms}.same-online i{animation:1.9s ease-in-out infinite online-pulse}.paper-note{animation:whoosh-left .68s .32s var(--ease-whoosh) both}.admission-ticket{animation:whoosh-left .68s .42s var(--ease-whoosh) both}.same-sticker{animation:whoosh-right .68s .35s var(--ease-whoosh) both}.same-orbit{animation:4s linear infinite orbit-turn}.level-card{animation:whoosh-right .68s .45s var(--ease-whoosh) both}.level-dots i{animation:2.8s ease-in-out infinite dot-hop}.level-dots i:first-child{animation-delay:1.06s}.level-dots i:nth-child(2){animation-delay:1.15s}.level-dots i:nth-child(3){animation-delay:1.24s}.level-dots i:nth-child(4){animation-delay:1.33s}.level-dots i:nth-child(5){animation-delay:1.42s}.portal-heading{animation:card-hop .62s .56s var(--ease-pop) both}.portal-card{animation:card-hop .68s var(--ease-pop) both}.portal-card:first-child{animation-delay:.65s}.portal-card:nth-child(2){animation-delay:.72s}.portal-card:nth-child(3){animation-delay:.79s}.site-footer{animation:fade-arrive .42s .86s var(--ease) both}.inner-heading,.detail-hero{animation:whoosh-left .62s 70ms var(--ease-whoosh) both}.todo-book-section,.same-feature,.memory-preview-section{animation:inner-hop .68s .17s var(--ease-pop) both}.platform-card,.detail-slot-card,.same-card{animation:card-hop-small .62s var(--ease-pop) both}.platform-card:first-child,.detail-slot-card:first-child,.same-card:first-child{animation-delay:.23s}.platform-card:nth-child(2),.detail-slot-card:nth-child(2),.same-card:nth-child(2){animation-delay:.31s}.platform-card:nth-child(3),.detail-slot-card:nth-child(3),.same-card:nth-child(3){animation-delay:.39s}.same-burst{animation:3.6s ease-in-out 1.25s infinite periodic-hop}.countdown-badge strong{animation:3.8s ease-in-out 1.45s infinite periodic-hop}@keyframes hanger-arrive{0%{opacity:0;transform:translateY(-108%)}58%{opacity:1;transform:translateY(9px)}76%{transform:translateY(-4px)}89%{transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes hanger-sway{0%{transform:rotate(var(--sway-from))}to{transform:rotate(var(--sway-to))}}@keyframes opening-card-pop{0%{opacity:0;transform:translateY(32px)scale(.92)}55%{opacity:1;transform:translateY(-8px)scale(1.018)}76%{transform:translateY(3px)scale(.994)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes opening-word-arrive{0%{opacity:0;transform:translateY(24px)scale(.88)}60%{opacity:1;transform:translateY(-6px)scale(1.035)}80%{transform:translateY(2px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cake-bounce{0%{opacity:0;transform:translate(42px,12px)rotate(18deg)scale(.4)}54%{opacity:1;transform:translate(-5px,-7px)rotate(-5deg)scale(1.16)}72%{transform:translate(2px,3px)rotate(2deg)scale(.94)}86%{transform:translate(-1px,-2px)rotate(-1deg)scale(1.035)}to{opacity:1;transform:translate(0)rotate(0)scale(1)}}@keyframes opening-charm-left{0%,to{transform:translateY(0)rotate(-8deg)}48%{transform:translateY(-7px)rotate(4deg)}66%{transform:translateY(2px)rotate(-11deg)}}@keyframes opening-charm-right{0%,to{transform:translateY(0)rotate(9deg)}43%{transform:translateY(-6px)rotate(-3deg)}63%{transform:translateY(2px)rotate(13deg)}}@keyframes opening-postcard-whoosh{0%{opacity:0;transform:translate(-86px,38px)rotate(-8deg)scale(.82)}58%{opacity:1;transform:translate(8px,-6px)rotate(.6deg)scale(1.025)}76%{transform:translate(-3px,2px)rotate(-3deg)scale(.992)}to{opacity:1;transform:translate(0)rotate(-2.2deg)scale(1)}}@keyframes opening-quick-nav-arrive{0%{opacity:0;transform:translate(74px,26px)scale(.9)}62%{opacity:1;transform:translate(-6px,-4px)scale(1.015)}80%{transform:translate(2px,1px)scale(.996)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes opening-quick-link-arrive{0%{opacity:0;translate:0 18px;scale:.88}66%{opacity:1;translate:0 -3px;scale:1.025}to{opacity:1;translate:0;scale:1}}@keyframes opening-story-spark-float{0%,to{opacity:.72;transform:translateY(0)rotate(0)}48%{opacity:1;transform:translateY(-7px)rotate(10deg)}68%{transform:translateY(2px)rotate(-4deg)}}@keyframes opening-confetti-flight{0%{opacity:0;transform:translate(0)rotate(0)scale(.18)}6%{opacity:1}34%{opacity:1;transform:translate3d(var(--x-1), var(--y-1), 0) rotate(var(--rotate-1)) scale(1.08)}49%{opacity:1;transform:translate3d(var(--x-2), var(--y-2), 0) rotate(var(--rotate-1)) scale(1)}68%{opacity:.98;transform:translate3d(var(--x-3), calc(var(--y-2) + 17vmin), 0) rotate(var(--rotate-2)) scale(.96)}88%{opacity:.72}to{opacity:0;transform:translate3d(var(--x-3), 54vmin, 0) rotate(var(--rotate-2)) scale(.82)}}@keyframes cannon-kick{0%{opacity:0;transform:translate(-12px,18px)rotate(-16deg)scale(.34)}38%{opacity:1;transform:translate(4px,-5px)rotate(8deg)scale(1.18)}59%{transform:translate(-2px,2px)rotate(-4deg)scale(.95)}76%{transform:translate(1px,-1px)rotate(2deg)scale(1.035)}to{opacity:1;transform:translate(0)rotate(0)scale(1)}}@keyframes header-shoot{0%{opacity:0;translate:0 -36px;scale:.96}64%{opacity:1;translate:0 5px;scale:1.01}82%{translate:0 -2px;scale:.995}to{opacity:1;translate:0;scale:1}}@keyframes window-pop{0%{opacity:0;translate:0 42px;scale:.9}52%{opacity:1;translate:0 -11px;scale:1.025}70%{translate:0 5px;scale:.99}84%{translate:0 -3px;scale:1.007}to{opacity:1;translate:0;scale:1}}@keyframes whoosh-left{0%{opacity:0;translate:var(--whoosh-left) 10px;scale:.86}54%{opacity:1;translate:9px -6px;scale:1.045}72%{translate:-4px 3px;scale:.985}86%{translate:2px -2px;scale:1.008}to{opacity:1;translate:0;scale:1}}@keyframes whoosh-right{0%{opacity:0;translate:var(--whoosh-right) 10px;scale:.86}54%{opacity:1;translate:-9px -6px;scale:1.045}72%{translate:4px 3px;scale:.985}86%{translate:-2px -2px;scale:1.008}to{opacity:1;translate:0;scale:1}}@keyframes birthday-pop{0%{opacity:0;translate:0 30px;rotate:-3deg;scale:.52}50%{opacity:1;translate:0 -11px;rotate:1deg;scale:1.11}69%{translate:0 5px;rotate:-.4deg;scale:.96}84%{translate:0 -3px;rotate:.15deg;scale:1.02}to{opacity:1;translate:0;rotate:none;scale:1}}@keyframes pill-zip{0%{opacity:0;translate:-52px;rotate:-7deg;scale:.7}58%{opacity:1;translate:8px;rotate:2deg;scale:1.08}78%{translate:-3px;rotate:-1deg;scale:.98}to{opacity:1;translate:0;rotate:none;scale:1}}@keyframes hop-soft{0%{opacity:0;translate:0 22px;scale:.82}58%{opacity:1;translate:0 -7px;scale:1.06}77%{translate:0 3px;scale:.98}to{opacity:1;translate:0;scale:1}}@keyframes card-hop{0%{opacity:0;translate:0 42px;scale:.84}52%{opacity:1;translate:0 -12px;scale:1.045}70%{translate:0 5px;scale:.985}84%{translate:0 -4px;scale:1.012}to{opacity:1;translate:0;scale:1}}@keyframes card-hop-small{0%{opacity:0;translate:0 26px;scale:.92}55%{opacity:1;translate:0 -8px;scale:1.025}74%{translate:0 3px;scale:.99}88%{translate:0 -2px;scale:1.006}to{opacity:1;translate:0;scale:1}}@keyframes inner-hop{0%{opacity:0;translate:0 28px;scale:.94}54%{opacity:1;translate:0 -8px;scale:1.018}76%{translate:0 3px;scale:.992}to{opacity:1;translate:0;scale:1}}@keyframes fade-arrive{0%{opacity:0}to{opacity:1}}@keyframes underline-pop{0%{opacity:0;transform:scaleX(0)}58%{opacity:1;transform:scaleX(1.1)}78%{transform:scaleX(.96)}to{opacity:1;transform:scaleX(1)}}@keyframes seal-pop{0%{opacity:0;rotate:-14deg;scale:.45}55%{opacity:1;rotate:5deg;scale:1.18}74%{rotate:-3deg;scale:.92}88%{rotate:1deg;scale:1.05}to{opacity:1;rotate:none;scale:1}}@keyframes periodic-hop{0%,65%,to{translate:0;scale:1}73%{translate:0 -8px;scale:1.07}81%{translate:0 2px;scale:.97}88%{translate:0 -3px;scale:1.025}95%{translate:0;scale:1}}@keyframes decor-bounce-blue{0%,58%,to{transform:translate(0)rotate(0)}69%{transform:translate(3px,-7px)rotate(5deg)}79%{transform:translateY(2px)rotate(-2deg)}89%{transform:translate(1px,-2px)rotate(2deg)}}@keyframes decor-bounce-gold{0%,60%,to{transform:translate(0)rotate(12deg)}71%{transform:translate(-3px,-8px)rotate(18deg)}82%{transform:translate(1px,2px)rotate(9deg)}91%{transform:translate(-1px,-2px)rotate(14deg)}}@keyframes orbit-turn{to{transform:rotate(360deg)}}@keyframes confetti-shoot{0%{opacity:0;transform:translate(var(--from-x), var(--from-y)) rotate(calc(var(--rot) - 65deg)) scale(.15)}58%{opacity:1;transform:translate(var(--over-x), var(--over-y)) rotate(calc(var(--rot) + 14deg)) scale(1.28)}77%{opacity:1;transform:translate(var(--back-x), var(--back-y)) rotate(calc(var(--rot) - 5deg)) scale(.92)}to{opacity:.9;transform:translate(0, 0) rotate(var(--rot)) scale(1)}}@keyframes confetti-hop{0%,to{transform:translateY(0)rotate(0)}32%{transform:translateY(var(--lift)) rotate(var(--tilt))}49%{transform:translateY(1px)rotate(0)}68%{transform:translateY(var(--lift-2)) rotate(var(--tilt-2))}84%{transform:translateY(0)rotate(0)}}@keyframes dot-hop{0%,68%,to{translate:0;scale:1}76%{translate:0 -4px;scale:1.3}83%{translate:0 1px;scale:.92}91%{translate:0 -2px;scale:1.08}}@keyframes music-jump{0%,18%{opacity:.55;scale:1 .42}72%,to{opacity:1;scale:1}}@keyframes online-pulse{0%,58%,to{opacity:.7;scale:1}72%{opacity:1;scale:1.45}84%{opacity:.86;scale:.9}}@keyframes load-fill{0%{opacity:.35;transform:scaleX(0)}68%{opacity:1;transform:scaleX(1.06)}to{opacity:1;transform:scaleX(1)}}@keyframes arrow-zip{0%{opacity:1;transform:translate(0)scale(1)}38%{opacity:0;transform:translate(10px,-10px)scale(.65)}39%{opacity:0;transform:translate(-7px,7px)scale(.65)}72%{opacity:1;transform:translate(4px,-4px)scale(1.12)}to{opacity:1;transform:translate(3px,-3px)rotate(6deg)scale(1)}}@keyframes icon-hop{0%{transform:rotate(-5deg)translateY(0)scale(1.03)}34%{transform:rotate(-12deg)translateY(-8px)scale(1.12)}57%{transform:rotate(4deg)translateY(2px)scale(.96)}78%{transform:rotate(-7deg)translateY(-3px)scale(1.05)}to{transform:rotate(-5deg)translateY(0)scale(1.03)}}@keyframes check-pop{0%{rotate:-12deg;scale:.45}55%{rotate:5deg;scale:1.28}75%{rotate:-2deg;scale:.9}to{rotate:none;scale:1}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation:none!important}.hanger-pendulum{transform:none}.confetti-piece{display:none}}@media (hover:none){.portal-card:hover,.platform-card:hover,.detail-slot-card:hover,.same-card:hover,.same-sticker:hover,.brand:hover .brand-mark,.main-nav a:hover{transform:none}}@media (pointer:coarse){.brand,.back-link,.main-nav a{min-height:44px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{--figma-canvas:#f7f7f5;--figma-surface:#fff;--figma-ink:#1e1e1e;--figma-muted:#666;--figma-stroke:#e6e6e6;--figma-purple:#9747ff;--figma-purple-soft:#f2e8ff;--figma-violet:#a259ff;--figma-coral:#ff7262;--figma-orange:#f24e1e;--figma-blue:#1abcfe;--figma-green:#0acf83;--figma-shadow-sm:0 1px 2px #0000000f, 0 8px 24px #0000000a;--figma-shadow-md:0 18px 48px #1818181c, 0 3px 10px #1818180f;--canvas:var(--figma-canvas);--surface:var(--figma-surface);--surface-soft:#f1f1ef;--ink:var(--figma-ink);--ink-soft:var(--figma-muted);--line:var(--figma-stroke);--line-dark:#b8b8b8;--accent:var(--figma-coral);--accent-soft:#fff0ed;--accent-ink:#c43625;--blue:var(--figma-blue);--blue-soft:#e7f8ff;--blue-ink:#0879a5;--sage:var(--figma-green);--sage-soft:#e5fbf3;--gold:#ffbf43;--gold-soft:#fff7dc;--radius-sm:10px;--radius-md:16px;--radius-lg:20px;--shadow-sm:var(--figma-shadow-sm);--shadow-md:var(--figma-shadow-sm);--shadow-lg:var(--figma-shadow-md);--shadow:var(--figma-shadow-md);--display:var(--sans);--sans:Inter, "SF Pro Text", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;--emoji-font:"Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif}html{background:var(--figma-canvas)}body{color:var(--figma-ink);font-family:var(--sans);background-color:var(--figma-canvas);background-image:radial-gradient(circle at 1px 1px,#1e1e1e1a 1px,#0000 1.1px);background-size:24px 24px}button,input,a{-webkit-tap-highlight-color:transparent}:where(a,button,input):focus-visible{outline:3px solid color-mix(in srgb, var(--figma-purple) 38%, transparent);outline-offset:3px}.site-shell{width:min(1280px,100% - 48px);max-width:none;padding-bottom:72px}.home-page,.inner-shell{background:0 0}.site-header,.detail-netease .site-header{z-index:50;border:1px solid var(--figma-stroke);min-height:64px;box-shadow:var(--figma-shadow-sm);-webkit-backdrop-filter:blur(18px)saturate(1.4);backdrop-filter:blur(18px)saturate(1.4);background:#ffffffe6;border-radius:16px;align-items:center;gap:18px;margin-top:16px;padding:9px 11px;display:flex;position:sticky;top:16px}.brand{color:var(--figma-ink);flex:none;gap:10px}.brand-mark{background:var(--figma-purple);width:44px;height:44px;box-shadow:none;color:#fff;font-family:var(--sans);border:0;border-radius:10px;font-size:14px;font-weight:700;transform:none}.brand:hover .brand-mark,.brand:focus-visible .brand-mark{background:#8435e7;transform:none}.brand-copy{gap:1px}.brand strong{font-family:var(--sans);letter-spacing:.06em;font-size:13px;font-weight:700}.brand small{max-width:250px;color:var(--figma-muted);letter-spacing:0;font-size:10px}.brand-home-hint{color:#d34b78;letter-spacing:.02em;white-space:nowrap;align-items:center;gap:3px;min-height:13px;font-size:10px;font-weight:700;line-height:1.15;display:flex}.brand-home-hint svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;transform-origin:0;flex:none;width:25px;height:12px;transition:transform .22s;overflow:visible;transform:rotate(-4deg)}.brand:hover .brand-home-hint svg,.brand:focus-visible .brand-home-hint svg{transform:translate(-2px,-1px)rotate(-9deg)}.main-nav{background:#f6f6f4;border:1px solid #ececea;border-radius:12px;align-items:center;gap:2px;margin-left:auto;padding:4px;display:flex}.main-nav a{color:#4c4c4c;letter-spacing:0;border-radius:8px;min-height:38px;padding:10px 14px;font-size:12px;font-weight:550;position:relative}.main-nav a:hover{color:var(--figma-ink);background:#fff;transform:none}.main-nav a.is-active{background:var(--figma-purple-soft);color:#6c21c8}.main-nav a.is-active:after{display:none}.countdown-badge{min-height:44px;box-shadow:none;background:#dff8ec;border:1px solid #b7efd9;border-radius:10px;padding:7px 12px}.countdown-badge span{color:#1e6b4e;letter-spacing:.02em;font-size:9px}.countdown-badge strong{color:#075f3e;letter-spacing:.06em;font-size:11px}.birthday-entry-gate{z-index:10000;background:radial-gradient(circle at 18% 20%,#a259ff29,#0000 27%),radial-gradient(circle at 80% 76%,#1abcfe26,#0000 25%),linear-gradient(#1e1e1e0e 1px,#0000 1px) 0 0/24px 24px,linear-gradient(90deg,#1e1e1e0e 1px,#0000 1px) 0 0/24px 24px,#f7f7f5}.entry-sky{opacity:.55;filter:saturate(.8)}.entry-card{background:#fffffff5;border:1px solid #d9d9d6;border-radius:24px;width:min(520px,100% - 32px);padding:70px 48px 38px;box-shadow:0 30px 90px #1e1e1e26,0 2px 8px #1e1e1e14}.entry-card:before{width:auto;height:auto;color:var(--figma-purple);content:"PRESENT / FRAME 18";letter-spacing:.12em;background:0 0;border:0;font-size:10px;font-weight:700;top:22px;left:24px}.entry-card:after{color:#07613f;content:"READY";letter-spacing:.08em;background:#dff8ec;border-radius:7px;align-items:center;width:auto;min-height:26px;padding:0 9px;font-size:9px;font-weight:700;display:inline-flex;top:18px;bottom:auto;right:20px}.entry-cake{border:2px solid var(--figma-purple);background:var(--figma-purple-soft);border-radius:18px;width:92px;height:92px;margin-bottom:22px;font-size:42px;box-shadow:8px 8px #9747ff1a}.entry-kicker{color:var(--figma-purple);letter-spacing:.13em;font-size:10px;font-weight:700}.entry-card h1{color:var(--figma-ink);font-family:var(--sans);letter-spacing:-.045em;margin:17px 0 13px;font-size:clamp(35px,5vw,50px);font-weight:760;line-height:1.16}.entry-card>p{color:var(--figma-muted);font-size:14px}.entry-start-button{min-height:50px;box-shadow:none;color:#fff;font-family:var(--sans);background:#1e1e1e;border:1px solid #1e1e1e;border-radius:10px;margin-top:24px;padding:0 22px;font-size:14px;font-weight:650}.entry-start-button:hover{background:var(--figma-purple);border-color:var(--figma-purple);transform:translateY(-1px)}.entry-quiet-button{min-height:42px;color:var(--figma-muted);font-size:12px;text-decoration:none}.birthday-opening{background:radial-gradient(54% 46% at 7% 18%,#e6f4ffd1 0%,#e6f4ff57 50%,#0000 78%),radial-gradient(48% 42% at 91% 16%,#f2ebffc7 0%,#f2ebff4d 52%,#0000 80%),radial-gradient(50% 44% at 20% 84%,#ffeaf2c7 0%,#ffeaf24d 52%,#0000 80%),radial-gradient(48% 40% at 76% 80%,#e8f7eed1 0%,#e8f7ee4d 52%,#0000 80%),radial-gradient(38% 34% at 51% 47%,#fff6d9b8 0%,#fff6d93d 52%,#0000 78%),linear-gradient(145deg,#fffefa 0%,#fbfdff 50%,#fffdfa 100%);grid-template-columns:minmax(340px,.78fr) minmax(520px,1.22fr);align-items:center;gap:clamp(42px,6vw,88px);height:auto;min-height:920px;padding:clamp(360px,36vh,400px) max(24px,50vw - 640px) 96px;display:grid;overflow:visible}.birthday-opening:before,.birthday-opening:after,.opening-glow,.opening-copy:before,.opening-copy:after,.opening-story:before,.opening-story:after,.opening-story-spark{display:none}.hanging-friends{width:min(1280px,100% - 32px);height:170px;top:0;left:50%;transform:translate(-50%)}.hanger-pin{background:var(--rope-color);border:2px solid #fff;width:10px;height:10px;top:0;box-shadow:0 0 0 1px #1e1e1e2e}.hanger-rope{opacity:.65;width:1px}.hanger-figure{width:min(var(--friend-size), 150px);height:min(var(--friend-size), 150px);filter:drop-shadow(0 8px 12px #1e1e1e1f)}.hanger-figure--album{border:3px solid #fff;border-radius:14px;box-shadow:0 0 0 1px #1e1e1e1f}.opening-copy{width:auto;max-width:500px;box-shadow:none;text-align:left;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;align-self:center;margin:0;padding:0;transform:none}.canvas-kicker{background:var(--figma-purple);color:#fff;letter-spacing:.1em;border-radius:7px;align-items:center;min-height:28px;margin:0 0 23px;padding:0 10px;font-size:10px;font-weight:700;display:inline-flex}.opening-copy h1{text-align:left;grid-template-columns:minmax(0,1fr) auto;justify-content:start;align-items:flex-start;gap:10px 12px;margin:0;display:grid}.opening-copy h1>span{max-width:32ch;color:var(--figma-muted);font-family:var(--sans);letter-spacing:0;grid-column:1/-1;margin-bottom:14px;font-size:15px;font-weight:550}.opening-copy h1>strong{max-width:8ch;color:var(--figma-ink);font-family:var(--sans);letter-spacing:-.075em;width:118%;max-width:none;text-shadow:none;white-space:nowrap;transform-origin:0;grid-column:1;font-size:clamp(60px,5vw,68px);font-weight:780;line-height:.98;display:block;transform:scaleX(.85)}.opening-copy h1>strong:after{display:none}.opening-cake-surprise{color:#f05d76;isolation:isolate;align-items:center;gap:clamp(7px,1vw,12px);min-height:62px;margin-top:14px;text-decoration:none;display:inline-flex;position:relative}.opening-cake-surprise__icon{z-index:2;width:58px;height:58px;transition:transform .22s var(--ease-pop), box-shadow .22s ease;background:#ffffffe6;border:1px solid #f05d761f;border-radius:50%;flex:0 0 58px;place-items:center;font-size:30px;line-height:1;display:inline-grid;position:relative;transform:rotate(5deg);box-shadow:0 12px 28px #4f37621a,0 0 #f05d762e}.opening-cake-surprise__arrow{fill:none;filter:drop-shadow(0 2px #ffffffe6);flex:0 104px;width:clamp(72px,7vw,104px);height:42px;overflow:visible;transform:rotate(-2deg)}.opening-cake-surprise__arrow path{stroke:currentColor;stroke-width:3.4px;stroke-linecap:round;stroke-linejoin:round}.opening-cake-surprise__arrow-doodle{opacity:.74;stroke-width:2.5px!important}.opening-cake-surprise__copy{z-index:1;font-family:var(--handwritten);letter-spacing:.025em;white-space:nowrap;flex:none;padding:6px 2px 3px;font-size:clamp(18px,1.6vw,23px);line-height:1.1;position:relative;transform:rotate(-2deg)}.opening-cake-surprise__copy:after{content:"";z-index:-1;background:#ffc66657;border-radius:50%;height:5px;position:absolute;bottom:0;left:0;right:-2px;transform:rotate(-1deg)}.opening-cake-surprise__spark{color:#f4b93e;align-self:flex-start;margin:3px 0 0 -7px;font-size:14px;transform:rotate(12deg)}.opening-cake-surprise:hover .opening-cake-surprise__icon{transform:translateY(-3px)rotate(-5deg)scale(1.08);box-shadow:0 16px 32px #4f376221,0 0 0 8px #f05d761a}.opening-cake-surprise:hover .opening-cake-surprise__copy{color:#e64d68}.opening-full-wish{color:#3d3d3d;max-width:31ch;font-family:var(--handwritten);margin:30px 0 0;font-size:clamp(20px,2vw,28px);line-height:1.55}.opening-story{z-index:4;border:2px solid var(--figma-purple);width:100%;max-width:720px;box-shadow:var(--figma-shadow-md);pointer-events:auto;background:#fff;border-radius:20px;grid-template-columns:minmax(0,1fr);align-items:center;gap:16px;margin:0;padding:17px;display:grid;position:relative;bottom:auto;left:auto;right:auto;transform:none}.opening-story::selection{background:var(--figma-purple-soft)}.opening-birthday-postcard{border:1px solid var(--figma-stroke);width:100%;box-shadow:none;background:#fff;border-radius:14px;margin:0;overflow:hidden;transform:none}.opening-birthday-postcard img{object-fit:cover;width:100%;max-height:420px}.opening-postcard-tape{display:none}.opening-birthday-postcard figcaption{border-top:1px solid var(--figma-stroke);background:#fff;min-height:52px;padding:12px 15px}.opening-birthday-postcard figcaption span{color:var(--figma-muted);letter-spacing:.08em;font-size:9px}.opening-birthday-postcard figcaption strong{color:var(--figma-purple);font-family:var(--sans);font-size:12px;font-weight:700}.opening-age-stamp{background:var(--figma-purple);color:#fff;border:2px solid #fff;border-radius:12px;width:64px;height:64px;top:14px;right:14px;transform:none;box-shadow:0 0 0 1px #1e1e1e1f}.opening-quick-nav{border:0;border-top:1px solid var(--figma-stroke);box-shadow:none;background:0 0;border-radius:0;margin-top:16px;padding:18px 2px 2px}.opening-quick-heading>div>span{color:var(--figma-purple);letter-spacing:.11em;font-size:9px}.opening-quick-heading>div>strong{color:var(--figma-ink);font-family:var(--sans);font-size:16px;font-weight:650}.opening-quick-heading>a{color:var(--figma-muted);font-size:11px}.opening-quick-grid{gap:10px}.opening-quick-link{border:1px solid var(--figma-stroke);border-top:4px solid var(--quick-accent);min-height:78px;box-shadow:none;background:#fff;border-radius:12px;padding:13px}.opening-quick-link:hover{border-color:var(--quick-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--quick-accent) 22%, transparent);transform:translateY(-2px)}.opening-quick-link--pink{--quick-accent:var(--figma-violet)}.opening-quick-link--blue{--quick-accent:var(--figma-green)}.opening-quick-link--gold{--quick-accent:var(--figma-coral)}.opening-quick-link--sky{--quick-accent:var(--figma-blue)}.opening-quick-index{color:var(--quick-accent);font-size:10px}.opening-quick-link>strong{color:var(--figma-ink);font-size:13px}.opening-quick-arrow{color:var(--quick-accent)}.home-content{margin-top:0}.portal-section{margin-top:64px}.portal-heading{border-bottom:1px solid var(--figma-stroke);align-items:end;padding-bottom:20px}.eyebrow,.portal-index{color:var(--figma-purple);font-family:var(--sans);letter-spacing:.11em;font-size:10px;font-weight:700}.portal-heading h2{letter-spacing:-.045em;max-width:20ch;margin-top:11px;font-size:clamp(31px,3.3vw,46px);font-weight:720;line-height:1.12}.portal-heading>span{font-size:10px}.portal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px}.portal-card{border:1px solid var(--figma-stroke);border-top:5px solid var(--frame-accent);min-height:300px;box-shadow:var(--figma-shadow-sm);background:#fff;border-radius:16px;padding:28px;overflow:visible}.portal-memories{--frame-accent:var(--figma-violet)}.portal-todo{--frame-accent:var(--figma-green)}.portal-same{--frame-accent:var(--figma-coral)}.portal-you{--frame-accent:var(--figma-blue)}.portal-card:before{background:var(--frame-accent);width:8px;height:8px;box-shadow:none;border-radius:2px;top:18px;right:18px}.portal-card:after{background:var(--frame-accent);color:#fff;content:"FRAME";opacity:0;border-radius:6px;width:auto;height:24px;padding:0 8px;font-size:9px;font-weight:700;line-height:24px;inset:auto 20px -13px auto;transform:translateY(-4px)}.portal-card:hover,.portal-card:focus-visible{border-color:var(--frame-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--frame-accent) 24%, transparent), var(--figma-shadow-sm);transform:translateY(-3px)}.portal-card:hover:after,.portal-card:focus-visible:after{opacity:1;transform:translateY(0)}.portal-card h2{letter-spacing:-.035em;margin-top:28px;font-size:clamp(24px,2.3vw,31px);font-weight:700}.portal-card>p{color:var(--figma-muted);font-size:13px;line-height:1.75}.portal-tag{border-color:var(--figma-stroke);font-size:9px;bottom:24px;left:28px;right:74px}.portal-arrow{border-color:var(--figma-stroke);width:36px;height:36px;box-shadow:none;color:var(--figma-ink);background:#f5f5f3;border-radius:9px;bottom:20px;right:24px}.platform-row>span{border-color:var(--figma-stroke);background:#f8f8f6;border-radius:7px;font-size:10px}.site-footer{border-color:var(--figma-stroke);color:var(--figma-muted);margin-top:72px;padding:20px 4px 0;font-size:9px}.inner-heading{border-bottom:1px solid var(--figma-stroke);max-width:none;padding:56px 0 48px}.inner-heading:after{display:none}.page-frame-label{color:var(--figma-muted);letter-spacing:.12em;margin-bottom:22px;font-size:10px;font-weight:650;display:block}.back-link{border:1px solid var(--figma-stroke);min-height:36px;color:var(--figma-muted);background:#fff;border-radius:8px;margin-bottom:28px;padding:0 11px;font-size:11px}.back-link:hover{border-color:var(--figma-purple);color:var(--figma-purple)}.inner-heading h1,.detail-hero h1{color:var(--figma-ink);font-family:var(--sans);letter-spacing:-.065em;margin:12px 0 17px;font-size:clamp(46px,5.4vw,72px);font-weight:760;line-height:1.03}.inner-heading>p:last-child,.detail-hero>div:first-child>p:last-child{max-width:720px;color:var(--figma-muted);font-size:15px;line-height:1.8}.platform-grid{gap:16px;margin-top:40px}.platform-grid--single{grid-template-columns:minmax(0,1fr)}.platform-card{--platform-accent:var(--figma-violet);border:1px solid var(--figma-stroke);border-top:5px solid var(--platform-accent);min-height:360px;box-shadow:var(--figma-shadow-sm);background:#fff;border-radius:16px;padding:30px;overflow:visible}.platform-wechat{--platform-accent:var(--figma-green);background:#fff}.platform-xiaohongshu{--platform-accent:var(--figma-coral);background:#fff}.platform-netease{--platform-accent:var(--figma-orange)}.platform-card:before{background:var(--platform-accent);width:11px;height:11px;box-shadow:0 0 0 1px var(--platform-accent);border:2px solid #fff;border-radius:3px;top:26px;right:26px}.platform-card:hover,.platform-card:focus-visible{border-color:var(--platform-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--platform-accent) 22%, transparent), var(--figma-shadow-sm);transform:translateY(-3px)}.platform-number{border-color:var(--figma-stroke);color:var(--platform-accent);font-family:var(--sans);background:#f5f5f3;border-radius:8px}.platform-card .eyebrow{color:var(--platform-accent)}.platform-card h2{letter-spacing:-.05em;font-size:38px;font-weight:730}.platform-card>p{color:var(--figma-muted);font-size:13px;line-height:1.75}.platform-open{color:var(--platform-accent);font-size:11px;bottom:28px}.memory-preview-section{margin-top:88px}.section-title-row{border-bottom:1px solid var(--figma-stroke);padding-bottom:20px}.section-title-row h2{font-family:var(--sans);letter-spacing:-.045em;font-size:clamp(28px,3vw,42px);font-weight:720}.empty-slot{background-color:#fbfbfa;background-image:linear-gradient(#1e1e1e09 1px,#0000 1px),linear-gradient(90deg,#1e1e1e09 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px dashed #aaa;border-radius:14px;min-height:280px}.empty-slot:hover{border-color:var(--figma-purple);box-shadow:0 0 0 2px #9747ff24}.slot-kicker{color:var(--figma-purple);font-size:9px}.slot-plus{color:var(--figma-purple)}.empty-slot p{font-size:14px;font-weight:650}.empty-slot small{color:var(--figma-muted);font-size:10px}.detail-hero{border-color:var(--figma-stroke);align-items:center;padding:56px 0 44px}.detail-stamp{border:2px solid var(--platform-detail-accent,var(--figma-purple));width:150px;height:150px;box-shadow:10px 10px 0 color-mix(in srgb, var(--platform-detail-accent,var(--figma-purple)) 13%, transparent);color:var(--platform-detail-accent,var(--figma-purple));background:#fff;border-radius:18px;transform:rotate(2deg)}.detail-netease{--platform-detail-accent:var(--figma-orange)}.detail-wechat{--platform-detail-accent:var(--figma-green)}.detail-xiaohongshu{--platform-detail-accent:var(--figma-coral)}.detail-netease .detail-stamp,.detail-wechat .detail-stamp,.detail-xiaohongshu .detail-stamp{color:var(--platform-detail-accent);background:#fff}.detail-stamp span,.detail-stamp small,.detail-stamp strong{font-family:var(--sans)}.detail-slot-card{border-color:var(--figma-stroke);box-shadow:var(--figma-shadow-sm);background:#fff;border-radius:16px}.detail-slot-card:hover{border-color:var(--platform-detail-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--platform-detail-accent) 18%, transparent)}.page-note{border-color:var(--figma-stroke);color:var(--figma-muted);font-size:12px}.todo-book-section{border:2px solid var(--figma-purple);max-width:1120px;box-shadow:var(--figma-shadow-md);background:#fff;border-radius:20px;padding:4px}.todo-book-intro{border:0;border-bottom:1px solid var(--figma-stroke);background:#fff;border-radius:15px 15px 0 0;min-height:72px;padding:14px 18px}.todo-book-intro:before{background:var(--figma-purple);color:#fff;content:"COMPONENT";letter-spacing:.08em;border-radius:6px;align-self:center;padding:5px 8px;font-size:9px;font-weight:700}.todo-book-intro strong{color:var(--figma-ink);font-family:var(--sans);font-size:17px;font-weight:680}.todo-book-intro>span,.todo-book-intro>.todo-book-tip{color:var(--figma-muted);font-family:var(--sans);font-size:10px}.todo-book-intro>button,.todo-book-controls button{border:1px solid var(--figma-stroke);min-height:40px;color:var(--figma-ink);font-family:var(--sans);background:#f7f7f5;border-radius:9px;padding:0 14px;font-size:11px}.todo-book-scene{background-color:#f7f7f5;background-image:linear-gradient(#1e1e1e0b 1px,#0000 1px),linear-gradient(90deg,#1e1e1e0b 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:0}.todo-book-controls{background:#fff}.todo-lightbox{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#111111e6}.todo-lightbox figure{background:#fff;border:1px solid #3a3a3a;border-radius:16px;box-shadow:0 24px 80px #00000059}.todo-lightbox figcaption{border-bottom:1px solid var(--figma-stroke);min-height:56px;color:var(--figma-ink);font-family:var(--sans);background:#fffffff5;font-size:13px}.todo-lightbox figcaption span{color:var(--figma-purple);font-size:9px}.todo-lightbox figcaption>.todo-lightbox-caption-copy{min-width:0;color:var(--figma-ink);font:inherit;font-size:inherit;font-weight:inherit;letter-spacing:normal;flex:auto}.todo-lightbox figcaption .site-emoji{width:1em;height:1em;font-size:1em;display:inline-flex}.todo-lightbox figure .site-emoji>img{width:100%;height:100%;box-shadow:none;object-fit:contain;background:0 0;border:0;border-radius:0;margin:0;display:block}.todo-lightbox-close{background:#ffffff1a;border-color:#ffffff3d;border-radius:10px}.netease-theater{color:#f3f3f3;background:#151515;border:1px solid #393939;border-radius:20px;margin-top:48px;box-shadow:0 24px 72px #0000003d}.theater-marquee{min-height:76px;box-shadow:none;background:#1e1e1e;border-color:#353535;padding:14px 24px}.theater-marquee:before,.theater-marquee:after{background:var(--figma-orange);box-shadow:0 0 0 4px #f24e1e1f}.theater-marquee span{color:#ff9b7b;font-size:9px}.theater-marquee strong{color:#fff;font-family:var(--sans);font-size:clamp(18px,2vw,26px);font-weight:680}.theater-marquee button{color:#fff;background:#2a2a2a;border-color:#4a4a4a;border-radius:9px;min-height:40px;padding:0 13px;font-size:10px}.theater-marquee button:hover{background:var(--figma-orange);color:#fff}.theater-screen-toolbar{background:#151515e6;border-color:#ffffff24;border-radius:8px}.theater-screen-toolbar nav button{color:#aaa;border-radius:6px;font-size:8px}.theater-screen-toolbar nav button.is-active{border-color:var(--figma-orange);color:#fff;background:#f24e1e2e}.theater-film-index{background:#0f0f0feb;border:1px solid #ffffff1a;border-radius:7px}.theater-film-index button{color:#aaa;background:#252525;border-color:#444;border-radius:3px}.theater-film-index button.is-active{border-color:var(--figma-orange);background:var(--figma-orange);box-shadow:none;color:#fff}.theater-hint{color:#bdbdbd;background:#1e1e1e;border-color:#363636;font-size:10px}.theater-opening-status{color:#aaa}.theater-curtain{transition-duration:.9s!important}.theater-screen-shell{transition-duration:.7s!important}.netease-theater.is-open .theater-curtain>i{transition-delay:.6s}.same-feature{border:1px solid var(--figma-stroke);box-shadow:var(--figma-shadow-sm);background:radial-gradient(circle at 18% 24%,#a259ff21,#0000 29%),radial-gradient(circle at 87% 80%,#ff72621f,#0000 25%),#fff;border-radius:20px;grid-template-columns:minmax(280px,.85fr) 1.2fr;gap:clamp(40px,7vw,100px);padding:64px clamp(30px,6vw,82px);position:relative}.same-burst{aspect-ratio:1;border:2px solid var(--figma-purple);color:var(--figma-ink);background-color:#fff;background-image:linear-gradient(#9747ff0f 1px,#0000 1px),linear-gradient(90deg,#9747ff0f 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:20px;position:relative;transform:none;box-shadow:10px 10px #9747ff1a}.same-burst:before,.same-burst:after{color:#fff;content:"面蛋  ↖";border-radius:7px 7px 7px 2px;align-items:center;min-height:28px;padding:0 9px;font-size:10px;font-weight:700;display:inline-flex;position:absolute}.same-burst:before{background:var(--figma-purple);top:-16px;left:22px}.same-burst:after{background:var(--figma-coral);content:"你  ↖";bottom:-14px;right:18px}.same-burst span{color:var(--figma-muted);font-family:var(--sans);font-size:18px}.same-burst strong{color:var(--figma-ink);font-family:var(--sans);letter-spacing:-.05em;font-size:clamp(34px,4vw,50px);font-weight:760}.same-burst small{color:#08724c;background:#dff8ec;border-radius:7px;align-items:center;min-height:28px;padding:0 9px;font-size:9px;font-weight:700;display:inline-flex}.same-feature-copy h2{color:var(--figma-ink);font-family:var(--sans);letter-spacing:-.055em;font-size:clamp(36px,4.3vw,58px);font-weight:750;line-height:1.13}.same-feature-copy>p:last-child{color:var(--figma-muted);font-size:14px;line-height:1.8}.same-grid{gap:16px}.same-card{border:1px solid var(--figma-stroke);border-top:5px solid var(--same-accent);box-shadow:var(--figma-shadow-sm);background:#fff;border-radius:16px}.same-card:first-child{--same-accent:var(--figma-purple)}.same-card:nth-child(2){--same-accent:var(--figma-coral);border-top-color:var(--figma-coral)}.same-card:nth-child(3){--same-accent:var(--figma-green);border-top-color:var(--figma-green)}.same-card:hover{border-color:var(--same-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--same-accent) 20%, transparent)}.same-card-photo{background-color:#fbfbfa;background-image:linear-gradient(#1e1e1e09 1px,#0000 1px),linear-gradient(90deg,#1e1e1e09 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-color:#aaa;border-radius:12px}.same-card-photo span{color:var(--same-accent)}.same-card h2{font-size:20px;font-weight:700}.same-card>p{color:var(--figma-muted);font-size:12px}.music-dock{--music-dock-bottom:clamp(104px, 12vh, 126px);z-index:90;right:24px;bottom:var(--music-dock-bottom);width:72px;height:72px}.vinyl-button{background:radial-gradient(circle at 50% 42%,#303136 0 47%,#1e1e20 48% 68%,#121214 69% 100%);border:1px solid #2f2f2f;border-radius:50%;width:100%;height:100%;padding:0;transition:border-color .18s,box-shadow .18s,transform .18s;box-shadow:0 12px 28px #0003}.vinyl-button:before{display:none}.vinyl-disc{z-index:1;width:54px;height:54px;box-shadow:none}.vinyl-label{z-index:2;color:#ffffffb8;font-family:var(--sans);letter-spacing:.14em;text-align:center;text-shadow:0 1px 4px #000000e0;font-size:6px;font-weight:750;line-height:1;position:absolute;bottom:7px;left:0;right:0}.vinyl-note-stream{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:visible}.vinyl-note-stream>i{top:9px;left:var(--note-left);color:var(--note-color);font-family:Georgia,Times New Roman,serif;font-size:var(--note-size);opacity:0;text-shadow:0 3px 10px color-mix(in srgb, var(--note-color) 48%, transparent);will-change:opacity, transform, filter;font-style:normal;font-weight:700;line-height:1;position:absolute}.vinyl-note-stream>i:first-child{--note-left:27%;--note-color:#91dfc1;--note-size:15px;--note-drift:-24px;--note-rise:-82px;--note-turn:-16deg;--note-duration:3.5s;--note-delay:-.5s}.vinyl-note-stream>i:nth-child(2){--note-left:47%;--note-color:#9ecbff;--note-size:17px;--note-drift:18px;--note-rise:-106px;--note-turn:12deg;--note-duration:4.2s;--note-delay:-2.4s}.vinyl-note-stream>i:nth-child(3){--note-left:64%;--note-color:#f1a8c3;--note-size:13px;--note-drift:30px;--note-rise:-76px;--note-turn:20deg;--note-duration:3.2s;--note-delay:-1.3s}.vinyl-note-stream>i:nth-child(4){--note-left:39%;--note-color:#f4cf76;--note-size:12px;--note-drift:-8px;--note-rise:-118px;--note-turn:-8deg;--note-duration:4.7s;--note-delay:-3.6s}.vinyl-note-stream>i:nth-child(5){--note-left:57%;--note-color:#b99cec;--note-size:14px;--note-drift:10px;--note-rise:-92px;--note-turn:14deg;--note-duration:3.9s;--note-delay:-1.9s}.music-dock.is-playing .vinyl-button{border-color:#54d2a0;box-shadow:0 12px 30px #24ac7738}.music-dock.is-playing .vinyl-label{color:#8ff0c9}@media (hover:hover) and (pointer:fine){.vinyl-button:hover{border-color:#7d7d7d;transform:translateY(-2px);box-shadow:0 16px 34px #00000040}}.music-player-panel,.music-player-panel--custom{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff5;border:1px solid #d8d8d5;border-radius:18px;width:min(390px,100vw - 28px);max-height:min(620px,100svh - 240px);padding:18px;bottom:94px;right:0;overflow:auto;box-shadow:0 24px 72px #0003}.music-player-panel:after{display:none}.music-player-close{border:1px solid var(--figma-stroke);width:36px;height:36px;color:var(--figma-ink);background:#f5f5f3;border-radius:9px}.custom-player-card{border:1px solid var(--figma-stroke);box-shadow:none;background:#f7f7f5;border-radius:14px;gap:14px;margin-top:28px;padding:12px}.current-track-cover{width:112px;height:112px;box-shadow:none;border:1px solid #ddd;border-radius:10px}.current-track-copy>span{color:var(--figma-purple);letter-spacing:.1em;font-size:9px}.current-track-copy>strong{color:var(--figma-ink);font-size:16px}.current-track-copy>small{color:var(--figma-muted);font-size:11px}.custom-player-controls button{border-color:var(--figma-stroke);color:var(--figma-ink);box-shadow:none;background:#fff}.custom-player-controls .track-toggle-button{border-color:var(--figma-purple);background:var(--figma-purple);color:#fff}.custom-track-list{gap:4px;margin-top:12px;padding:4px 2px}.custom-track-list button{background:0 0;border:1px solid #0000;border-radius:10px;min-height:50px;padding:6px 8px}.custom-track-list li.is-current button{background:var(--figma-purple-soft);color:#5e1bb4;border-color:#d9c1fa}.custom-track-list img{border-radius:7px}.track-number{color:var(--figma-muted);font-size:9px}.track-list-copy strong{font-size:12px}.track-list-copy small{font-size:10px}.track-playing-mark{color:var(--figma-purple)}.custom-play-mode,.music-resume-hint{color:var(--figma-muted);font-size:10px}@media (width>=1101px){.birthday-opening{min-height:100svh;padding-top:clamp(292px,33vh,310px);padding-bottom:32px}.hanger-rope{height:min(var(--rope-length), 134px)}.hanger-figure{width:min(var(--friend-size), 132px);height:min(var(--friend-size), 132px)}.opening-story{gap:10px;max-width:640px;padding:12px}.opening-birthday-postcard img{max-height:320px}.opening-birthday-postcard figcaption{min-height:44px;padding:9px 12px}.opening-age-stamp{width:56px;height:56px;top:11px;right:11px}.opening-quick-nav{margin-top:10px;padding-top:10px}.opening-quick-heading>div>strong{font-size:14px}.opening-quick-heading>a{min-height:30px;padding:5px 9px;font-size:10px}.opening-quick-grid{gap:8px;margin-top:8px}.opening-quick-link{border-top-width:3px;min-height:58px;padding:9px}}@media (width>=1101px) and (height<=820px){.birthday-opening{padding-top:260px;padding-bottom:20px}.hanger-rope{height:min(var(--rope-length), 116px)}.hanger-figure{width:min(var(--friend-size), 116px);height:min(var(--friend-size), 116px)}.opening-story{gap:8px;max-width:590px;padding:10px}.opening-birthday-postcard img{max-height:280px}.opening-birthday-postcard figcaption{min-height:40px;padding-block:7px}.opening-quick-nav{margin-top:7px;padding-top:7px}.opening-quick-link{min-height:52px;padding:7px 8px}}@media (width<=1100px){.birthday-opening{grid-template-columns:1fr;gap:48px;min-height:auto;padding-top:360px}.opening-copy{max-width:760px}.opening-copy h1>strong{max-width:none}.opening-story{max-width:850px}.portal-grid{grid-template-columns:1fr 1fr}.portal-memories{grid-column:auto}.platform-grid{grid-template-columns:1fr 1fr}.platform-card:first-child{grid-column:1/-1}}@media (width<=900px){.site-shell{width:min(100% - 28px,760px)}.opening-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header,.detail-netease .site-header{flex-wrap:wrap;margin-top:8px;top:8px}.main-nav{order:3;width:100%;overflow-x:auto}.main-nav a{flex:1 0 max-content;text-align:center}.same-feature{grid-template-columns:1fr}.same-burst{justify-self:center;width:min(360px,86%)}.detail-hero{grid-template-columns:1fr}.detail-stamp{width:112px;height:112px}.todo-book-intro{flex-wrap:wrap}.todo-book-intro:before{order:-1}}@media (width<=700px){body{background-size:20px 20px}.site-shell{width:calc(100% - 20px);padding-bottom:48px}.brand small{display:none}.brand strong{font-size:11px}.brand-mark{width:40px;height:40px}.countdown-badge{margin-left:auto}.birthday-opening{gap:34px;padding:220px 14px 56px}.hanging-friends{height:112px;top:0}.hanger-anchor,.hanger-anchor:nth-child(n+5){--display-friend-size:var(--mobile-friend-size)}.hanger-rope{height:var(--mobile-rope-length)}.hanger-figure{width:min(var(--mobile-friend-size), 76px);height:min(var(--mobile-friend-size), 76px)}.opening-copy h1>span{font-size:13px}.opening-copy h1>strong{max-width:8ch;font-size:clamp(43px,13vw,61px)}.opening-cake-surprise{gap:6px;margin-top:12px}.opening-cake-surprise__icon{flex-basis:50px;width:50px;height:50px;font-size:27px}.opening-cake-surprise__arrow{flex-basis:72px;width:clamp(50px,17vw,72px)}.opening-cake-surprise__copy{font-size:clamp(16px,5vw,20px)}.opening-full-wish{font-size:20px}.opening-story{border-radius:16px;padding:10px}.opening-quick-heading{flex-direction:column;align-items:flex-start;gap:9px}.opening-quick-grid,.portal-grid,.platform-grid,.same-grid{grid-template-columns:1fr}.portal-memories,.platform-card:first-child{grid-column:auto}.portal-card,.platform-card{min-height:280px}.platform-card{min-height:340px;padding-bottom:76px}.portal-heading,.section-title-row{flex-direction:column;align-items:flex-start}.inner-heading{padding:42px 0 34px}.inner-heading h1,.detail-hero h1{font-size:clamp(40px,13vw,58px)}.detail-hero{padding-top:40px}.detail-stamp{display:none}.same-feature{margin-bottom:42px;padding:42px 20px}.same-feature-copy h2{font-size:37px}.todo-book-section{border-width:1px}.todo-book-intro:before{display:none}.todo-book-scene{background-size:20px 20px;min-height:560px;padding:24px 10px}.todo-lightbox{grid-template-columns:minmax(0,1fr);padding:10px 4px}.netease-theater{border-radius:14px;margin-top:30px}.theater-marquee{align-items:flex-start;padding:14px 18px}.theater-marquee strong{white-space:normal}.music-dock{--music-dock-bottom:max(96px, calc(env(safe-area-inset-bottom) + 84px));right:12px;bottom:var(--music-dock-bottom);width:58px;height:58px}.vinyl-button{border-radius:50%;width:100%;height:100%;padding:0}.vinyl-disc{width:44px;height:44px}.vinyl-label{font-size:5px;bottom:5px}.music-player-panel,.music-player-panel--custom{right:8px;bottom:max(186px, calc(env(safe-area-inset-bottom) + 174px));border-radius:18px;width:auto;max-height:min(70svh,100svh - 206px);position:fixed;left:8px}.entry-card{padding:64px 24px 30px}.entry-card h1{font-size:36px}}@media (prefers-reduced-motion:reduce){.portal-card,.platform-card,.same-card,.opening-quick-link,.entry-start-button,.theater-curtain,.theater-screen-shell{transition-duration:.01ms!important}}:is(.hanger-chiikawa,.hanger-joke-bear,.hanger-little-prince) .hanger-figure{width:min(var(--friend-size), 195px);height:min(var(--friend-size), 195px)}@media (width>=1101px){:is(.hanger-chiikawa,.hanger-joke-bear,.hanger-little-prince) .hanger-figure{width:min(var(--friend-size), 171.6px);height:min(var(--friend-size), 171.6px)}}@media (width>=1101px) and (height<=820px){:is(.hanger-chiikawa,.hanger-joke-bear,.hanger-little-prince) .hanger-figure{width:min(var(--friend-size), 150.8px);height:min(var(--friend-size), 150.8px)}}@media (width<=700px){:is(.hanger-chiikawa,.hanger-joke-bear,.hanger-little-prince) .hanger-figure{width:min(var(--mobile-friend-size), 98.8px);height:min(var(--mobile-friend-size), 98.8px)}}.hanger-joke-bear .hanger-figure{width:min(var(--friend-size), 214.5px);height:min(var(--friend-size), 214.5px)}@media (width>=1101px){.hanger-joke-bear .hanger-figure{width:min(var(--friend-size), 188.76px);height:min(var(--friend-size), 188.76px)}}@media (width>=1101px) and (height<=820px){.hanger-joke-bear .hanger-figure{width:min(var(--friend-size), 165.88px);height:min(var(--friend-size), 165.88px)}}@media (width<=700px){.hanger-joke-bear .hanger-figure{width:min(var(--mobile-friend-size), 108.68px);height:min(var(--mobile-friend-size), 108.68px)}}.same-page .site-header{margin-bottom:12px}.same-page .inner-heading{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:3px 22px;padding:14px 0 16px;display:grid}.same-page .inner-heading .back-link{grid-area:1/1/span 4;margin:0}.same-page .inner-heading .page-frame-label{grid-column:2;margin:0}.same-page .inner-heading .eyebrow,.same-page .inner-heading h1,.same-page .inner-heading>p:last-child{grid-column:2}.same-page .inner-heading h1{margin:2px 0 4px;font-size:clamp(38px,4.4vw,58px)}.same-page .inner-heading>p:last-child{max-width:760px;margin:0;font-size:13px;line-height:1.65}.same-pixel-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.same-pixel-scene{--same-pixel-wood:#8b4f2f;--same-pixel-wood-dark:#4c2b1c;--same-pixel-cream:#fff4d7;--same-pixel-shadow:#3a2530;isolation:isolate;contain:layout paint;border:4px solid var(--same-pixel-shadow);background:#8fd4f2;border-radius:3px;height:clamp(480px,100svh - 300px,680px);margin-top:16px;position:relative;overflow:hidden;box-shadow:8px 8px #3a253038}.same-pixel-scene:after{z-index:20;pointer-events:none;content:"";border:2px solid #fff8db8a;position:absolute;inset:5px}.same-pixel-scene__background{z-index:0;image-rendering:pixelated;background-image:url(/same/scene/sakura-park-pixel-v3-soft-angle-bench.png);background-position:50%;background-size:cover;position:absolute;inset:0}.same-pixel-scene__label,.same-pixel-scene__weather,.same-pixel-scene__hint{z-index:14;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;position:absolute}.same-pixel-scene__label{color:#322539;background:#fff8e9;border:2px solid #322539;gap:3px;padding:8px 10px 7px;line-height:1;display:grid;top:20px;left:20px;box-shadow:4px 4px #322539}.same-pixel-scene__label span{color:#9747ff;letter-spacing:.12em;font-size:8px;font-weight:900}.same-pixel-scene__label strong{letter-spacing:.06em;font-size:10px}.same-pixel-scene__weather{color:#4b3949;letter-spacing:.05em;background:#fff8e9e6;border:2px solid #322539db;align-items:center;gap:7px;padding:6px 8px;font-size:8px;font-weight:800;display:flex;top:22px;left:220px;right:auto;box-shadow:3px 3px #322539db}.same-pixel-scene__weather i{background:#ffb82e;width:7px;height:7px;box-shadow:0 -4px 0 -2px #ffb82e,0 4px 0 -2px #ffb82e,4px 0 0 -2px #ffb82e,-4px 0 0 -2px #ffb82e}.same-pixel-scene__hint{color:#43302b;letter-spacing:.03em;background:#fff4d7eb;border:2px solid #43302b;padding:7px 9px;font-size:8px;font-weight:800;bottom:15px;left:18px;box-shadow:3px 3px #43302b}.same-pixel-petals{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.same-pixel-petals--near{z-index:12}.same-pixel-petal{--petal-fall:800px;--petal-fall-28:224px;--petal-fall-55:448px;--petal-fall-78:640px;top:-28px;left:var(--petal-left);opacity:.82;will-change:transform;width:8px;height:6px;animation:samePixelPetalFall var(--petal-duration) linear var(--petal-delay) infinite;background:#ffd2e2;border-radius:1px 5px;position:absolute;box-shadow:4px -2px #f59abc}.same-pixel-petals--near .same-pixel-petal{opacity:.96;width:10px;height:8px}.same-pixel-petal--tone-2{background:#ffe5ed;box-shadow:4px -2px #ffb6cf}.same-pixel-petal--tone-3{background:#f5a7c6;box-shadow:4px -2px #ffe1eb}.same-pixel-scene.is-paused .same-pixel-petal{animation-play-state:paused}.same-pixel-easel{z-index:7;width:clamp(300px,28vw,360px);padding-bottom:68px;position:absolute;bottom:2.5%;right:6%}.same-pixel-machine__body{z-index:2;display:block;position:relative}.same-pixel-easel__stand{z-index:0;pointer-events:none;position:absolute;inset:36% 4% 0}.same-pixel-easel__leg{border:3px solid var(--same-pixel-wood-dark);background:var(--same-pixel-wood);transform-origin:top;width:18px;position:absolute;top:0;bottom:0;box-shadow:inset 5px 0 #ffcf792e,5px 5px #3a25303d}.same-pixel-easel__leg--left{left:29%;transform:rotate(7deg)}.same-pixel-easel__leg--right{right:29%;transform:rotate(-7deg)}.same-pixel-easel__leg--center{z-index:-1;left:calc(50% - 9px);transform:translateY(-18px)}.same-pixel-frame{z-index:2;border:5px solid var(--same-pixel-wood-dark);background:linear-gradient(90deg, transparent 0 8px, #ffd68a29 8px 12px, transparent 12px 100%), var(--same-pixel-wood);box-shadow:8px 8px 0 var(--same-pixel-shadow), inset 0 0 0 3px #ffd58733;border-radius:2px;margin:0;padding:12px;position:relative}.same-pixel-frame__media{background:var(--same-pixel-cream);color:#4a2b1f;cursor:zoom-in;touch-action:pan-y;border:4px solid #4a2b1f;border-radius:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.same-pixel-frame__mat{aspect-ratio:4/4.35;background-color:#fff8e9;background-image:linear-gradient(90deg,#69462a12 1px,#0000 1px),linear-gradient(#69462a12 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:8px 8px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:center;width:100%;padding:12px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 5px #f1dcb8}.same-pixel-frame__image{object-fit:contain;-webkit-user-select:none;user-select:none;image-rendering:auto;background:#fff;width:100%;max-width:100%;height:100%;max-height:100%;display:block;box-shadow:4px 4px #43302b38}.same-pixel-frame__image--next{animation:.32s steps(6,end) both samePixelPageNext}.same-pixel-frame__image--previous{animation:.32s steps(6,end) both samePixelPagePrevious}.same-pixel-frame__zoom{background:#fff4d7;border:2px solid #4a2b1f;padding:4px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px;font-weight:900;position:absolute;bottom:7px;right:7px;box-shadow:2px 2px #4a2b1f}.same-pixel-frame__caption{color:#fff6df;letter-spacing:.08em;gap:6px;padding:8px 3px 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:8px;display:grid}.same-pixel-frame__meta{justify-content:space-between;align-items:center;gap:12px;min-height:22px;display:flex}.same-pixel-frame__caption strong{color:#ffe091;font-size:10px}.same-pixel-frame__note{color:#4a2b1f;letter-spacing:0;background-color:#fff8e9;background-image:linear-gradient(90deg,#9747ff0f 1px,#0000 1px),linear-gradient(#9747ff0f 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:8px 8px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:2px solid #4a2b1f;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:56px;padding:7px 9px;display:grid;box-shadow:2px 2px #4a2b1f}.same-pixel-frame__note.has-copy{grid-template-columns:auto minmax(0,1fr)}.same-pixel-frame__note>span:first-child{color:#9747ff;letter-spacing:.06em;white-space:nowrap;font-size:10px;font-weight:900}.same-pixel-frame__note-copy{color:#4a2b1f;font-family:var(--sans);letter-spacing:0;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;font-weight:750;line-height:1.45;display:-webkit-box;overflow:hidden}.same-pixel-frame__note-lines{gap:6px;min-width:0;display:grid}.same-pixel-frame__note-lines i{background:#4a2b1f3d;height:1px;display:block}.same-pixel-frame__note small{color:#9a6847;white-space:nowrap;font-size:6px;font-weight:800}.same-pixel-controls{z-index:4;border:4px solid var(--same-pixel-wood-dark);background:#a86135;grid-template-columns:auto minmax(32px,1fr) auto;align-items:center;gap:8px;min-height:48px;padding:5px 7px;display:grid;position:absolute;bottom:7px;left:1%;right:1%;box-shadow:5px 5px #3a253057}.same-pixel-controls button{color:#3f281e;cursor:pointer;background:#fff4d7;border:3px solid #3f281e;border-radius:0;justify-content:center;align-items:center;gap:6px;min-width:86px;min-height:38px;padding:0 9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:900;display:inline-flex;box-shadow:3px 3px #3f281e}.same-pixel-controls button:hover:not(:disabled){background:#ffe19a;transform:translate(-1px,-1px)}.same-pixel-controls button:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px #3f281e}.same-pixel-controls button:disabled{cursor:not-allowed;opacity:.42}.same-pixel-controls button span{font-size:16px;line-height:1}.same-pixel-controls button small{white-space:nowrap;font-size:8px}.same-pixel-controls__progress{background:#6f3d29;border:2px solid #3f281e;height:8px;overflow:hidden}.same-pixel-controls__progress i{background:#ffd77c;height:100%;transition:width .26s steps(6,end);display:block}.same-pixel-lightbox{z-index:210;background:0 0;border:0;grid-template-columns:minmax(0,980px);justify-content:center;align-items:center;gap:18px;width:100vw;max-width:none;height:100svh;max-height:none;margin:0;padding:26px 72px;display:grid;position:fixed;inset:0}.same-pixel-lightbox::backdrop{background:#1d1521e8}.same-pixel-lightbox__close{color:#2f2332;cursor:pointer;z-index:2;background:#fff4d7;border:3px solid #2f2332;border-radius:0;width:46px;height:46px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:25px;font-weight:900;position:fixed;top:18px;right:20px;box-shadow:4px 4px #d493ac}.same-pixel-lightbox__paper{background:#fff4d7;border:7px solid #704027;border-radius:1px;flex-direction:column;width:100%;min-height:0;max-height:calc(100svh - 54px);margin:0;display:flex;overflow:hidden;box-shadow:10px 10px #d493ac}.same-pixel-lightbox__viewport{overscroll-behavior:contain;scrollbar-color:#9a6847 #f7dfb5;background-color:#fff9ea;background-image:linear-gradient(90deg,#50392a0f 1px,#0000 1px),linear-gradient(#50392a0f 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:12px 12px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;flex:1;min-height:0;overflow:auto}.same-pixel-lightbox__viewport img{object-fit:contain;image-rendering:auto;width:100%;height:auto;margin:0 auto;display:block}.same-pixel-lightbox figcaption{color:#493024;letter-spacing:.04em;border-top:4px solid #704027;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:9px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;display:flex}.same-pixel-lightbox figcaption strong{color:#9747ff;font-size:11px}@keyframes samePixelPetalFall{0%{transform:translate3d(0, -40px, 0) rotate(0deg) scale(var(--petal-scale))}28%{transform:translate3d(var(--petal-drift-28), var(--petal-fall-28), 0) rotate(145deg) scale(var(--petal-scale))}55%{transform:translate3d(var(--petal-drift-55), var(--petal-fall-55), 0) rotate(310deg) scale(var(--petal-scale))}78%{transform:translate3d(var(--petal-drift-78), var(--petal-fall-78), 0) rotate(510deg) scale(var(--petal-scale))}to{transform:translate3d(var(--petal-drift), var(--petal-fall), 0) rotate(720deg) scale(var(--petal-scale))}}@keyframes samePixelPageNext{0%{opacity:.28;transform:translate(12px)rotateY(-8deg)}to{opacity:1;transform:translate(0)rotateY(0)}}@keyframes samePixelPagePrevious{0%{opacity:.28;transform:translate(-12px)rotateY(8deg)}to{opacity:1;transform:translate(0)rotateY(0)}}@media (width<=980px){.same-pixel-scene{height:clamp(480px,100svh - 300px,620px)}.same-pixel-easel{width:clamp(290px,40vw,360px);right:7%}.same-pixel-controls button{min-width:70px;padding-inline:6px}}@media (height<=850px) and (width>=701px){.same-pixel-easel{width:clamp(300px,27vw,350px)}}@media (width<=700px){.same-page .inner-heading{padding:24px 0 20px;display:block}.same-page .inner-heading .back-link{margin-bottom:12px;display:inline-flex}.same-page .inner-heading .page-frame-label{margin-bottom:8px}.same-page .inner-heading h1{margin:6px 0 9px;font-size:clamp(36px,11vw,50px)}.same-page .inner-heading>p:last-child{font-size:12px;line-height:1.55}.same-pixel-scene{--petal-fall:700px;border-width:3px;height:clamp(600px,155vw,700px);margin-top:16px;box-shadow:5px 5px #3a253038}.same-pixel-scene__background{background-position:42%;background-size:auto 100%}.same-pixel-scene__label{padding:7px 8px 6px;top:13px;left:13px;box-shadow:3px 3px #322539}.same-pixel-scene__weather{top:76px;left:13px;right:auto}.same-pixel-scene__hint{display:none}.same-pixel-petal{--petal-fall:700px;--petal-fall-28:196px;--petal-fall-55:392px;--petal-fall-78:560px}.same-pixel-easel{width:min(80%,320px);bottom:1.5%;left:50%;right:auto;transform:translate(-50%)}.same-pixel-machine__body{display:block}.same-pixel-frame{box-shadow:6px 6px 0 var(--same-pixel-shadow), inset 0 0 0 2px #ffd58733;border-width:4px;padding:10px}.same-pixel-frame__mat{padding:9px}.same-pixel-frame__caption{gap:4px;padding-top:7px}.same-pixel-frame__note{grid-template-columns:auto minmax(0,1fr);gap:6px;min-height:44px;padding:6px 7px}.same-pixel-frame__note-copy{font-size:12px;line-height:1.4}.same-pixel-frame__note small{display:none}.same-pixel-controls{gap:5px;padding-inline:5px}.same-pixel-controls button{min-width:70px;min-height:40px}.same-pixel-lightbox{grid-template-columns:minmax(0,1fr);gap:0;padding:58px 8px 8px}.same-pixel-lightbox__close{width:42px;height:42px;top:8px;right:8px}.same-pixel-lightbox__paper{border-width:5px;max-height:calc(100svh - 70px);box-shadow:5px 5px #d493ac}.same-pixel-lightbox figcaption{flex-direction:column;align-items:flex-start;gap:3px;padding:8px}}@media (width<=430px){.same-pixel-scene{height:clamp(590px,158vw,680px)}.same-pixel-scene__weather{display:none}.same-pixel-easel{width:min(82%,310px);left:50%}.same-pixel-frame__note>span:first-child{font-size:9px}.same-pixel-controls button{min-width:46px}.same-pixel-controls button small{display:none}}@media (prefers-reduced-motion:reduce){.same-pixel-petal{display:none;animation:none!important}.same-pixel-frame__image,.same-pixel-controls__progress i{transition:none!important;animation:none!important}}@media (prefers-reduced-motion:no-preference){.opening-cake-surprise__arrow{animation:1.8s ease-in-out 1.25s infinite opening-cake-arrow-wiggle}.opening-cake-surprise__spark{animation:1.55s ease-in-out 1.4s infinite opening-cake-spark}}@keyframes opening-cake-arrow-wiggle{0%,to{transform:translate(0)rotate(-2deg)}42%{transform:translate(-7px)rotate(-5deg)}64%{transform:translate(2px)rotate(1deg)}}@keyframes opening-cake-spark{0%,to{opacity:.48;transform:rotate(12deg)scale(.82)}46%{opacity:1;transform:rotate(32deg)scale(1.28)}70%{opacity:.74;transform:rotate(18deg)scale(.96)}}html[data-birthday-skip-entry=true] .birthday-entry-gate{display:none!important}.cake-celebration-page{isolation:isolate;color:#4a3340;background:radial-gradient(circle at 50% 54%,#ffe8bec2,#0000 29rem),radial-gradient(circle at 12% 19%,#ffffffe0,#0000 20rem),radial-gradient(circle at 16% 66%,#ffbfd359,#0000 25rem),radial-gradient(circle at 87% 28%,#d3c9f57a,#0000 26rem),linear-gradient(145deg,#fff9f2 0%,#f8e9e6 47%,#f1ecf8 100%);place-items:center;min-height:100svh;padding:34px 24px 38px;display:grid;position:relative;overflow:hidden}.cake-celebration-page:before{z-index:-2;content:"";background-image:radial-gradient(circle,#ffffffb8 0 2px,#0000 3px),radial-gradient(circle,#ffffff7a 0 7px,#0000 9px),linear-gradient(115deg,#0000 0 49.8%,#ffffff2e 49.8% 50.2%,#0000 50.2%);background-position:0 0,38px 52px,50%;background-size:68px 68px,170px 170px,100% 100%;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 48%,#000 0 38%,#0000 88%);mask-image:radial-gradient(circle at 50% 48%,#000 0 38%,#0000 88%)}.cake-celebration-page:after{z-index:-1;content:"";filter:blur(24px);background:radial-gradient(#ffddb07a,#0000 68%);border-radius:50%;height:24%;position:absolute;inset:auto 5% 0}.cake-back-link{z-index:20;color:#563845e0;letter-spacing:.04em;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-height:44px;transition:border-color .18s ease, background .18s ease, transform .18s var(--ease-pop);background:#ffffffb3;border:1px solid #6c4a5821;border-radius:999px;align-items:center;gap:8px;padding:9px 15px;font-size:13px;font-weight:650;display:inline-flex;position:absolute;top:24px;left:26px;box-shadow:0 10px 34px #6d46551f}.cake-back-link:hover{background:#ffffffeb;border-color:#6c4a5847;transform:translate(-3px)}.cake-birthday-banner{z-index:18;pointer-events:none;justify-content:center;align-items:flex-start;gap:7px;min-width:390px;padding:12px 34px 0;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.cake-birthday-banner__cord{z-index:-1;border-top:2px solid #8855696b;border-radius:50%;width:100%;height:20px;position:absolute;top:9px;left:0;transform:rotate(-.8deg)}.cake-birthday-banner__cord:before,.cake-birthday-banner__cord:after{content:"";background:#fff;border-radius:50%;width:10px;height:10px;position:absolute;top:-6px;box-shadow:0 3px 10px #5936462e}.cake-birthday-banner__cord:before{left:-2px}.cake-birthday-banner__cord:after{right:-2px}.cake-birthday-banner__flag{background:var(--cake-banner-color);clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%);filter:drop-shadow(0 7px 8px #6d425224);color:#fff;width:49px;height:57px;font-family:var(--handwritten);text-shadow:0 2px 2px #52313d29;transform-origin:50% 0;place-items:center;padding-bottom:9px;font-size:24px;line-height:1;display:grid}.cake-birthday-banner__flag:nth-of-type(2n){transform:rotate(2deg)}.cake-birthday-banner__flag:nth-of-type(3n){transform:rotate(-2.5deg)}.cake-party-decor{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.cake-party-sprinkles{position:absolute;inset:0}.cake-party-sprinkles i{top:var(--party-sprinkle-y);left:var(--party-sprinkle-x);background:var(--party-sprinkle-color);width:6px;height:21px;box-shadow:0 3px 8px color-mix(in srgb, var(--party-sprinkle-color) 32%, transparent);opacity:.72;transform:rotate(var(--party-sprinkle-rotate));border-radius:999px;position:absolute}.cake-party-sprinkles i:nth-child(3n){border-radius:50%;width:10px;height:10px}.cake-party-sticker{aspect-ratio:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff9e;border:2px solid #ffffffdb;border-radius:28px;place-items:center;width:clamp(64px,7vw,98px);font-size:clamp(40px,5vw,66px);display:grid;position:absolute;box-shadow:0 18px 42px #71465621}.cake-party-sticker--cake{top:28%;left:11%;transform:rotate(-8deg)}.cake-party-sticker--cupcake{top:32%;right:10%;transform:rotate(9deg)}.cake-party-sticker--popper-left,.cake-party-sticker--popper-right{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;font-size:clamp(52px,6vw,82px);bottom:9%}.cake-party-sticker--popper-left{left:7%;transform:rotate(-16deg)}.cake-party-sticker--popper-right{bottom:16%;right:8%;transform:rotate(14deg)}.cake-candle-cluster{filter:drop-shadow(0 10px 13px #6c445426);align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:31%}.cake-candle-cluster--left{left:16%}.cake-candle-cluster--right{right:15%}.cake-party-candle{background:repeating-linear-gradient(-35deg, #ffffff9e 0 6px, transparent 6px 13px), var(--cake-candle-color);border:2px solid #ffffffd1;border-radius:8px 8px 5px 5px;width:18px;height:74px;display:block;position:relative}.cake-party-candle:nth-child(2){height:91px}.cake-party-candle:nth-child(3){height:67px}.cake-party-candle i{transform-origin:50% 100%;background:radial-gradient(circle at 55% 70%,#fffbd4 0 13%,#ffcf5c 30%,#ff795a 72%);border-radius:70% 30% 65% 35%;width:15px;height:23px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)rotate(5deg);box-shadow:0 0 18px #ff9a4f80}.cake-celebration-heading{z-index:8;text-align:center;text-shadow:0 2px 16px #ffffffeb;width:min(94%,980px);position:absolute;top:clamp(92px,10vh,112px);left:50%;transform:translate(-50%)}.cake-celebration-heading>p{color:#bd7358;letter-spacing:.2em;margin:0 0 5px;font-size:clamp(9px,.9vw,12px);font-weight:760}.cake-celebration-heading h1{gap:1px;margin:0;display:grid}.cake-celebration-heading h1>span{color:#e45876;font-family:var(--handwritten);letter-spacing:.03em;font-size:clamp(23px,2.4vw,34px);font-weight:400;line-height:1.05}.cake-celebration-wish-line{color:#4b303e;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:3px 12px;line-height:1.15;display:flex}.cake-celebration-wish-line b{font-family:var(--handwritten);letter-spacing:.01em;font-size:clamp(30px,3.5vw,49px);font-weight:400}.cake-celebration-wish-line small{color:#5b3d4ac2;font-family:var(--handwritten);letter-spacing:.035em;font-size:clamp(15px,1.55vw,21px);font-weight:400}.cake-celebration-stage{z-index:3;justify-items:center;max-width:min(74vw,624px);margin:0;display:grid;position:relative}.cake-celebration-halo{z-index:-1;aspect-ratio:1;filter:blur(16px);background:radial-gradient(circle,#ffe0b242,#ff81a317 38%,#0000 72%);border-radius:50%;width:76%;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.cake-celebration-photo{object-fit:contain;border:1px solid #ffffffdb;border-radius:clamp(22px,3vw,42px);width:auto;max-width:min(74vw,624px);height:auto;max-height:75svh;display:block;box-shadow:0 42px 100px #72495838,0 0 80px #ffd5ad57,inset 0 0 0 1px #ffffff0a}.cake-celebration-actions{z-index:12;align-items:center;gap:13px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.cake-celebration-home-link{color:#fff;cursor:pointer;min-height:44px;transition:filter .18s ease, transform .18s var(--ease-pop);background:linear-gradient(135deg,#ff6891eb,#f1526feb);border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:7px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:760;text-decoration:none;display:inline-flex;box-shadow:0 10px 30px #eb477047}.cake-celebration-home-link:hover{filter:brightness(1.08);transform:translateY(-2px)scale(1.025)}.cake-celebration-actions>p{color:#5236429e;letter-spacing:.04em;white-space:nowrap;margin:0;font-size:11px}.cake-celebration-effects{z-index:10;pointer-events:none;position:fixed;inset:0;overflow:hidden}.cake-celebration-ring{aspect-ratio:1;opacity:0;border:2px solid #ffbb91c2;border-radius:50%;width:18vmin;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)scale(.2);box-shadow:0 0 40px #ffbb8047}.cake-celebration-ring--two{border-color:#d38bbe80;animation-delay:.43s!important}.cake-confetti-field{position:absolute;inset:0}.cake-confetti-piece{top:-4vh;left:var(--cake-confetti-x);width:var(--cake-confetti-width);height:var(--cake-confetti-height);background:var(--cake-confetti-color);box-shadow:0 0 8px color-mix(in srgb, var(--cake-confetti-color) 48%, transparent);opacity:0;border-radius:2px;position:absolute}.cake-confetti-piece--round{border-radius:50%}.cake-firework{top:var(--cake-firework-y);left:var(--cake-firework-x);width:4px;height:4px;transform:scale(var(--cake-firework-scale));position:absolute}.cake-firework:after{background:var(--cake-firework-color);box-shadow:0 0 26px var(--cake-firework-color);content:"";opacity:0;border-radius:50%;position:absolute;inset:-5px}.cake-firework i{background:linear-gradient(to top, transparent, var(--cake-firework-color));width:3px;height:27px;box-shadow:0 0 12px var(--cake-firework-color);opacity:0;transform:translate(-50%, -100%) rotate(var(--cake-firework-ray)) scaleY(.15);transform-origin:50% 100%;border-radius:999px;position:absolute;top:50%;left:50%}.cake-celebration-sparkle{top:var(--cake-sparkle-top);left:var(--cake-sparkle-left);color:#fffdf4;opacity:0;text-shadow:0 0 20px #ffc987;font-size:clamp(18px,2.4vw,34px);font-style:normal;position:absolute}@media (prefers-reduced-motion:no-preference){.cake-birthday-banner{animation:cake-banner-arrive .76s .24s var(--ease-pop) both}.cake-birthday-banner__flag{animation:2.8s ease-in-out infinite alternate cake-banner-sway}.cake-birthday-banner__flag:nth-of-type(2n){animation-delay:-1.1s}.cake-birthday-banner__flag:nth-of-type(3n){animation-delay:-1.8s}.cake-party-sticker{animation:3.4s ease-in-out 1.1s infinite cake-party-sticker-float}.cake-party-sticker--cupcake{animation-duration:3.9s;animation-delay:1.45s}.cake-party-sticker--popper-left{animation-duration:3.1s;animation-delay:.86s}.cake-party-sticker--popper-right{animation-duration:3.6s;animation-delay:1.3s}.cake-party-candle i{animation:cake-candle-flicker 1.15s var(--cake-candle-delay) ease-in-out infinite alternate}.cake-party-sprinkles i{animation:cake-party-sprinkle-drift 3.2s var(--party-sprinkle-delay) ease-in-out infinite alternate}.cake-celebration-heading{animation:cake-heading-arrive .9s .54s var(--ease-pop) both}.cake-celebration-photo{animation:cake-grand-entrance 1.25s .12s var(--ease-pop) both}.cake-celebration-halo{animation:3.8s ease-in-out 1.15s infinite cake-halo-breathe}.cake-celebration-actions{animation:cake-actions-arrive .65s 1.45s var(--ease-pop) both}.cake-celebration-ring{animation:1.65s ease-out .12s both cake-ring-burst}.cake-confetti-piece{animation:cake-confetti-fall var(--cake-confetti-duration) var(--cake-confetti-delay) cubic-bezier(.2, .66, .38, 1) both}.cake-firework:after{animation:cake-firework-core 1.2s var(--cake-firework-delay) ease-out both}.cake-firework i{animation:cake-firework-ray 1.25s var(--cake-firework-delay) ease-out both}.cake-celebration-sparkle{animation:cake-sparkle-pop 1.7s var(--cake-sparkle-delay) ease-in-out 2 both}}@keyframes cake-banner-arrive{0%{opacity:0;transform:translate(-50%,-42px)scale(.84)}68%{opacity:1;transform:translate(-50%,5px)scale(1.025)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes cake-banner-sway{0%{translate:0;rotate:-2.2deg}to{translate:0 2px;rotate:2.2deg}}@keyframes cake-party-sticker-float{0%,to{translate:0;rotate:-2deg}48%{translate:0 -9px;rotate:3deg}70%{translate:0 2px;rotate:0deg}}@keyframes cake-candle-flicker{0%{opacity:.78;transform:translate(-50%)rotate(-7deg)scale(.9,1.08)}to{opacity:1;transform:translate(-50%)rotate(7deg)scale(1.08,.92)}}@keyframes cake-party-sprinkle-drift{0%{translate:0;scale:.92}to{translate:0 -6px;scale:1.08}}@keyframes cake-grand-entrance{0%{opacity:0;filter:blur(10px)brightness(1.5);transform:translateY(90px)rotate(-4deg)scale(.58)}52%{opacity:1;filter:blur()brightness(1.08);transform:translateY(-16px)rotate(1.3deg)scale(1.045)}70%{filter:brightness();transform:translateY(8px)rotate(-.6deg)scale(.982)}86%{transform:translateY(-3px)rotate(.2deg)scale(1.012)}to{opacity:1;filter:none;transform:translateY(0)rotate(0)scale(1)}}@keyframes cake-heading-arrive{0%{opacity:0;transform:translate(-50%,-24px)scale(.88)}64%{opacity:1;transform:translate(-50%,5px)scale(1.035)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes cake-actions-arrive{0%{opacity:0;transform:translate(-50%,24px)scale(.9)}68%{opacity:1;transform:translate(-50%,-4px)scale(1.02)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes cake-halo-breathe{0%,to{opacity:.7;transform:translate(-50%,-50%)scale(.94)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}}@keyframes cake-ring-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.15)}18%{opacity:.9}72%{opacity:.26}to{opacity:0;transform:translate(-50%,-50%)scale(7.4)}}@keyframes cake-confetti-fall{0%{opacity:0;transform:translateY(-5vh)rotate(0)scale(.35)}8%{opacity:1}48%{opacity:1;transform:translate3d(calc(var(--cake-confetti-drift) * .48), 48vh, 0) rotate(calc(var(--cake-confetti-rotate) * .55)) scale(1)}84%{opacity:.88}to{opacity:0;transform:translate3d(var(--cake-confetti-drift), 108vh, 0) rotate(var(--cake-confetti-rotate)) scale(.82)}}@keyframes cake-firework-core{0%{opacity:0;transform:scale(.2)}24%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:scale(.35)}}@keyframes cake-firework-ray{0%{opacity:0;transform:translate(-50%, -100%) rotate(var(--cake-firework-ray)) translateY(0) scaleY(.12)}28%{opacity:1}64%{opacity:.92;transform:translate(-50%, -100%) rotate(var(--cake-firework-ray)) translateY(-34px) scaleY(1.25)}to{opacity:0;transform:translate(-50%, -100%) rotate(var(--cake-firework-ray)) translateY(-66px) scaleY(.25)}}@keyframes cake-sparkle-pop{0%,to{opacity:0;transform:rotate(-12deg)scale(.3)}38%{opacity:1;transform:rotate(12deg)scale(1.25)}62%{opacity:.76;transform:rotate(25deg)scale(.88)}}@media (width<=1180px){.cake-party-sticker--cake{left:5%}.cake-party-sticker--cupcake{right:5%}.cake-candle-cluster--left{left:8%}.cake-candle-cluster--right{right:8%}}@media (width<=900px){.cake-celebration-page{align-content:start;padding:150px 14px 118px;overflow-y:auto}.cake-back-link{top:16px;left:14px}.cake-birthday-banner{min-width:350px;top:72px}.cake-birthday-banner__flag{width:44px;height:52px;font-size:21px}.cake-celebration-heading{order:1;width:min(100%,720px);margin:0 auto 18px;position:relative;top:auto;left:auto;transform:none}.cake-celebration-stage{order:2;width:min(74vw,496px);max-width:min(74vw,496px)}.cake-celebration-photo{width:100%;max-width:100%;max-height:none}.cake-party-sticker{border-radius:18px;width:58px;font-size:39px}.cake-party-sticker--cake{top:39%;left:2%}.cake-party-sticker--cupcake{top:43%;right:2%}.cake-party-sticker--popper-left{top:67%;bottom:auto;left:1%}.cake-party-sticker--popper-right{top:58%;bottom:auto;right:1%}.cake-candle-cluster{gap:5px;bottom:23%;transform:scale(.72)}.cake-candle-cluster--left{left:2%}.cake-candle-cluster--right{right:2%}.cake-celebration-actions{text-align:center;flex-direction:column;order:3;align-items:center;gap:9px;margin-top:18px;position:relative;bottom:auto;left:auto;transform:none}.cake-celebration-actions>p{white-space:normal}.cake-firework:nth-of-type(n+5){opacity:.75}@keyframes cake-heading-arrive{0%{opacity:0;transform:translateY(-24px)scale(.88)}64%{opacity:1;transform:translateY(5px)scale(1.035)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cake-actions-arrive{0%{opacity:0;transform:translateY(24px)scale(.9)}68%{opacity:1;transform:translateY(-4px)scale(1.02)}to{opacity:1;transform:translateY(0)scale(1)}}}@media (width<=520px){.cake-celebration-page{padding-top:150px}.cake-birthday-banner{gap:4px;width:calc(100% - 26px);min-width:0;padding-inline:18px;top:72px}.cake-birthday-banner__flag{width:38px;height:46px;font-size:18px}.cake-celebration-heading>p{letter-spacing:.13em;font-size:8px}.cake-celebration-heading h1>span{font-size:clamp(21px,6.5vw,27px)}.cake-celebration-wish-line{gap:2px;display:grid}.cake-celebration-wish-line b{font-size:clamp(27px,8.2vw,34px)}.cake-celebration-wish-line small{max-width:22ch;margin-inline:auto;font-size:clamp(13px,4vw,16px);line-height:1.45}.cake-party-sticker--cupcake,.cake-candle-cluster--right{display:none}.cake-celebration-home-link{min-height:48px}}@media (prefers-reduced-motion:reduce){.cake-celebration-effects{display:none}.cake-celebration-heading,.cake-celebration-photo,.cake-celebration-actions{opacity:1}}.cake-redesign-page{isolation:isolate;color:#412f38;background:radial-gradient(circle at 14% 18%,#fffffff0,#0000 27rem),radial-gradient(circle at 84% 24%,#ded3f19e,#0000 29rem),radial-gradient(circle at 50% 100%,#ffd5bb85,#0000 32rem),linear-gradient(145deg,#fffaf4 0%,#faefec 52%,#f2eef8 100%);place-items:center;min-height:100svh;padding:12px clamp(18px,4vw,56px) 18px;display:grid;position:relative;overflow:clip}.cake-redesign-page:before,.cake-redesign-page:after{z-index:-2;aspect-ratio:1;content:"";filter:blur(1px);opacity:.72;border:1px solid #ffffff80;border-radius:50%;width:min(34vw,460px);position:absolute}.cake-redesign-page:before{top:-22%;left:-10%;box-shadow:0 0 0 42px #ffffff1f,0 0 0 98px #ffffff12}.cake-redesign-page:after{bottom:-26%;right:-12%;box-shadow:0 0 0 48px #ffffff1c,0 0 0 104px #ffffff0f}.cake-redesign-layout{z-index:3;gap:10px;width:min(1240px,100%);margin:auto;display:grid;position:relative}.cake-redesign-topbar{grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;min-height:58px;display:grid}.cake-redesign-back{color:#604851;letter-spacing:.03em;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff94;border:1px solid #563d481f;border-radius:999px;justify-self:start;align-items:center;gap:8px;width:max-content;min-height:44px;padding:8px 14px;font-size:12px;font-weight:650;transition:background .18s,border-color .18s,transform .18s;display:inline-flex;box-shadow:0 8px 24px #57394512}.cake-redesign-back:hover{background:#ffffffdb;border-color:#563d483d;transform:translate(-2px)}.cake-redesign-banner{pointer-events:none;justify-content:center;align-items:flex-start;gap:5px;min-width:322px;padding:10px 20px 0;display:flex;position:relative}.cake-redesign-banner__cord{border-top:1px solid #714f5e52;border-radius:50%;width:100%;height:16px;position:absolute;top:7px;left:0}.cake-redesign-banner__cord:before,.cake-redesign-banner__cord:after{content:"";background:#ffffffeb;border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;box-shadow:0 3px 9px #4e343f1f}.cake-redesign-banner__cord:before{left:-1px}.cake-redesign-banner__cord:after{right:-1px}.cake-redesign-banner__flag{border:1px solid color-mix(in srgb, var(--cake-banner-color) 22%, white);background:color-mix(in srgb, var(--cake-banner-color) 10%, white);clip-path:polygon(0 0,100% 0,100% 77%,50% 100%,0 77%);width:42px;height:46px;color:var(--cake-banner-color);font-family:var(--handwritten);text-shadow:0 1px #fff;place-items:center;padding-bottom:7px;font-size:20px;line-height:1;display:grid;position:relative}.cake-redesign-edition{color:#715763;letter-spacing:.2em;justify-self:end;font-size:9px;font-weight:750}.cake-redesign-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff75;border:1px solid #ffffffd1;border-radius:clamp(28px,3vw,38px);grid-template-columns:minmax(280px,.82fr) minmax(420px,1.18fr);grid-template-areas:"memory heading""memory stage""memory actions";justify-self:center;place-items:center;gap:clamp(10px,1.4vh,15px) clamp(38px,5vw,72px);width:min(1140px,100%);padding:clamp(18px,2.2vh,25px) clamp(24px,3.4vw,46px) clamp(20px,2.5vh,27px);display:grid;position:relative;box-shadow:0 26px 72px #70495a1f,inset 0 1px #ffffffb8}.cake-redesign-card:before{border-radius:inherit;content:"";pointer-events:none;border:1px solid #ffffff7a;position:absolute;inset:10px}.cake-redesign-heading{z-index:2;text-align:center;grid-area:heading;width:100%;position:relative}.cake-redesign-heading>p:first-child{color:#8c5148;letter-spacing:.2em;margin:0 0 5px;font-size:clamp(8px,.75vw,10px);font-weight:760}.cake-redesign-heading h1{gap:1px;margin:0;display:grid}.cake-redesign-heading h1>span{color:#be405c;font-family:var(--handwritten);letter-spacing:.035em;font-size:clamp(23px,2.15vw,29px);font-weight:400;line-height:1.15}.cake-redesign-heading h1>strong{color:#3d2b34;font-family:var(--sans);letter-spacing:-.045em;font-size:clamp(32px,3.15vw,43px);font-weight:760;line-height:1.13}.cake-redesign-wish{color:#66515b;letter-spacing:.055em;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 .35em;margin:7px 0 0;font-size:clamp(14px,1.25vw,16px);font-weight:520;line-height:1.6;display:flex}.cake-redesign-memory-column{grid-area:memory;align-content:center;justify-items:center;gap:13px;width:100%;min-width:0;display:grid}.cake-redesign-memory{justify-items:center;gap:8px;width:100%;margin:0;display:grid}.cake-redesign-memory-frame{background:#ffffffc2;border:1px solid #775b6621;border-radius:28px;place-items:center;max-width:100%;padding:7px;display:grid;position:relative;box-shadow:0 18px 46px #5d3e4a1f,inset 0 1px #ffffffe6}.cake-redesign-memory-tape{z-index:2;background:#ffe8aea3;border:1px solid #dcb66f33;width:72px;height:24px;position:absolute;top:-9px;left:50%;transform:translate(-50%)rotate(-1.5deg);box-shadow:0 4px 10px #734e3a0f}.cake-redesign-memory-photo{object-fit:contain;border-radius:21px;width:auto;max-width:100%;height:min(60svh,600px);display:block}.cake-redesign-memory figcaption{text-align:left;gap:2px;width:min(100%,330px);padding-inline:5px;display:grid}.cake-redesign-memory figcaption span{color:#9a645d;letter-spacing:.18em;font-size:8px;font-weight:760}.cake-redesign-note{text-align:left;background:linear-gradient(135deg,#ffffffd1,#fff9f5b3),#ffffff9e;border:1px solid #795b671f;border-radius:20px;align-content:start;gap:12px;width:min(100%,390px);min-height:198px;padding:17px 19px 16px;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 30px #5b3c4914}.cake-redesign-note:after{aspect-ratio:1;content:"";background:#ee6a8417;border-radius:50%;width:66px;position:absolute;top:-18px;right:-12px}.cake-redesign-note header{z-index:1;justify-content:space-between;align-items:baseline;gap:12px;display:flex;position:relative}.cake-redesign-note header span{color:#9a645d;letter-spacing:.2em;font-size:9px;font-weight:780}.cake-redesign-note header strong{color:#be405c;font-family:var(--handwritten);font-size:19px;font-weight:400}.cake-redesign-note>p{z-index:1;color:#6f5862;font-family:var(--sans);letter-spacing:.015em;margin:0;font-size:15px;font-weight:520;line-height:1.7;position:relative}.cake-redesign-stage{z-index:2;grid-area:stage;align-content:center;justify-items:center;gap:8px;margin:0;display:grid;position:relative}.cake-redesign-halo{z-index:-1;aspect-ratio:1;filter:blur(22px);background:radial-gradient(circle,#ffd3a44f,#ea9fb31a 43%,#0000 71%);border-radius:50%;width:112%;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.cake-redesign-photo{object-fit:contain;border:1px solid #ffffffe6;border-radius:clamp(22px,2.6vw,30px);width:auto;max-width:min(100%,450px);height:min(60svh,600px);display:block;box-shadow:0 22px 56px #66445029}.cake-redesign-stage figcaption{color:#96717e;letter-spacing:.18em;font-size:8px;font-weight:720}.cake-redesign-actions{z-index:3;text-align:center;grid-area:actions;justify-items:center;gap:7px;display:grid;position:relative}.cake-redesign-home-link{color:#fff;letter-spacing:.02em;background:#e9627c;border:1px solid #cf486529;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:9px 18px;font-size:13px;font-weight:720;transition:background .18s,box-shadow .18s,transform .18s;display:inline-flex;box-shadow:0 10px 24px #d54f6b33}.cake-redesign-home-link:hover{background:#db536e;transform:translateY(-2px);box-shadow:0 12px 28px #d54f6b40}.cake-redesign-actions>p{color:#735c66;letter-spacing:.055em;margin:0;font-size:10px;line-height:1.5}.cake-redesign-ornaments{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:visible}.cake-redesign-candles{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff6;border:1px solid #ffffffb3;border-radius:19px;align-items:flex-end;gap:5px;padding:13px 13px 9px;display:flex;position:absolute;bottom:74px;left:-66px;box-shadow:0 14px 34px #5c3c491a}.cake-redesign-candles>span{background:repeating-linear-gradient(-35deg, #ffffffa3 0 4px, transparent 4px 9px), var(--cake-candle-color);border:1px solid #ffffffd1;border-radius:5px 5px 3px 3px;width:11px;height:40px;display:block;position:relative}.cake-redesign-candles>span:nth-child(2){height:50px}.cake-redesign-candles>span:nth-child(3){height:36px}.cake-redesign-candles i{transform-origin:50% 100%;background:radial-gradient(circle at 55% 72%,#fffbd5 0 15%,#ffd466 35%,#ef7d58 78%);border-radius:70% 30% 66% 34%;width:10px;height:16px;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)rotate(3deg);box-shadow:0 0 12px #f18f506b}.cake-redesign-popper{width:54px;height:68px;position:absolute;bottom:79px;right:-62px;transform:rotate(14deg)}.cake-redesign-popper>span{clip-path:polygon(0 0,100% 32%,43% 100%);filter:drop-shadow(0 9px 10px #5939461f);background:linear-gradient(60deg,#0000 0 24%,#ffffffb8 25% 38%,#0000 39% 58%,#ffffff94 59% 70%,#0000 71%),linear-gradient(145deg,#e85f7b,#e7b85a);width:36px;height:49px;position:absolute;bottom:0;right:4px}.cake-redesign-popper i{background:#68bda6;border-radius:999px;width:6px;height:18px;position:absolute;transform:rotate(-22deg)}.cake-redesign-popper i:first-of-type{top:0;left:4px}.cake-redesign-popper i:nth-of-type(2){background:#739ed9;height:9px;top:4px;left:24px;transform:rotate(42deg)}.cake-redesign-popper i:nth-of-type(3){background:#e5657e;height:8px;top:18px;left:1px;transform:rotate(75deg)}.cake-redesign-effects{z-index:10;pointer-events:none;position:fixed;inset:0;overflow:hidden}.cake-redesign-confetti{position:absolute;inset:0}.cake-redesign-confetti>i{top:-4vh;left:var(--cake-confetti-x);width:var(--cake-confetti-width);height:var(--cake-confetti-height);background:var(--cake-confetti-color);opacity:0;border-radius:2px;position:absolute}.cake-redesign-confetti>i.is-round{border-radius:50%}.cake-redesign-firework{top:var(--cake-firework-y);left:var(--cake-firework-x);width:4px;height:4px;transform:scale(var(--cake-firework-scale,1));position:absolute}.cake-redesign-firework i{background:linear-gradient(to top, transparent, var(--cake-firework-color));width:4px;height:38px;box-shadow:0 0 10px var(--cake-firework-color);opacity:0;transform:translate(-50%, -100%) rotate(var(--cake-firework-ray)) scaleY(.15);transform-origin:50% 100%;border-radius:999px;position:absolute;top:50%;left:50%}.cake-redesign-sparkle{top:var(--cake-sparkle-top);left:var(--cake-sparkle-left);color:#ffffffeb;opacity:0;text-shadow:0 0 16px #ffbe77bd;font-size:clamp(17px,2vw,27px);font-style:normal;position:absolute}.cake-redesign-page+.music-dock{--music-dock-bottom:22px;width:60px;height:60px;right:18px}.cake-redesign-page+.music-dock .vinyl-disc{width:45px;height:45px}.cake-redesign-page+.music-dock .vinyl-label{font-size:5px;bottom:5px}@media (prefers-reduced-motion:no-preference){.cake-redesign-card{animation:cake-redesign-card-arrive .68s 90ms var(--ease) both}.cake-redesign-banner{animation:cake-redesign-banner-arrive .56s .18s var(--ease-spring) both}.cake-redesign-photo{animation:cake-redesign-photo-arrive .72s .26s var(--ease-spring) both}.cake-redesign-memory-frame{animation:cake-redesign-memory-arrive .68s .2s var(--ease-spring) both}.cake-redesign-note{animation:cake-redesign-memory-arrive .62s .34s var(--ease) both}.cake-redesign-confetti>i{animation:cake-redesign-confetti-fall var(--cake-confetti-duration) var(--cake-confetti-delay) cubic-bezier(.2, .66, .38, 1) infinite}.cake-redesign-firework i{animation:cake-redesign-firework-ray 18s var(--cake-firework-delay) linear infinite}.cake-redesign-sparkle{animation:cake-redesign-sparkle-pop 4.8s var(--cake-sparkle-delay) ease-in-out infinite}.cake-redesign-candles i{animation:cake-redesign-candle-flicker 1.2s var(--cake-candle-delay) ease-in-out infinite alternate}}@keyframes cake-redesign-card-arrive{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes cake-redesign-banner-arrive{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes cake-redesign-photo-arrive{0%{opacity:0;transform:translateY(16px)scale(.975)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cake-redesign-memory-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes cake-redesign-confetti-fall{0%{opacity:0;transform:translateY(-5vh)rotate(0)scale(.5)}5%{opacity:.92}45%{opacity:.8}55%,to{opacity:0;transform:translate3d(var(--cake-confetti-drift), 106vh, 0) rotate(var(--cake-confetti-rotate)) scale(.85)}}@keyframes cake-redesign-firework-ray{0%{opacity:0;transform:translate(-50%, -100%) rotate(var(--cake-firework-ray)) translateY(0) scaleY(.15)}1.7%{opacity:.96}4%{opacity:.75;transform:translate(-50%, -100%) rotate(var(--cake-firework-ray)) translateY(-48px) scaleY(1)}6.7%,to{opacity:0;transform:translate(-50%, -100%) rotate(var(--cake-firework-ray)) translateY(-82px) scaleY(.2)}}@keyframes cake-redesign-sparkle-pop{0%,to{opacity:0;transform:rotate(-8deg)scale(.45)}44%{opacity:.92;transform:rotate(10deg)scale(1.08)}}@keyframes cake-redesign-candle-flicker{0%{opacity:.8;transform:translate(-50%)rotate(-5deg)scale(.94,1.05)}to{opacity:1;transform:translate(-50%)rotate(5deg)scale(1.05,.94)}}@media (height<=820px) and (width>=641px){.cake-redesign-page{padding-top:10px;padding-bottom:8px}.cake-redesign-layout{gap:8px}.cake-redesign-topbar{min-height:48px}.cake-redesign-banner__flag{width:37px;height:40px;font-size:18px}.cake-redesign-card{gap:7px 42px;padding-top:14px;padding-bottom:16px}.cake-redesign-heading>p:first-child{margin-bottom:2px}.cake-redesign-heading h1>span{font-size:23px}.cake-redesign-heading h1>strong{font-size:clamp(31px,2.9vw,39px)}.cake-redesign-wish{margin-top:4px;font-size:14px}.cake-redesign-memory-column{gap:8px}.cake-redesign-memory-photo{height:min(58svh,440px)}.cake-redesign-memory figcaption{gap:1px}.cake-redesign-note{gap:8px;min-height:176px;padding:12px 16px 11px}.cake-redesign-note header strong{font-size:17px}.cake-redesign-note>p{font-size:14px;line-height:1.64}.cake-redesign-photo{height:min(55svh,430px)}.cake-redesign-home-link{min-height:40px;padding-block:7px}.cake-redesign-actions{gap:4px}}@media (width<=900px){.cake-redesign-page{place-items:start center;min-height:100svh;padding-bottom:92px}.cake-redesign-layout{width:100%}.cake-redesign-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading""memory""stage""actions";gap:24px 0;width:min(760px,100%)}.cake-redesign-memory-column{gap:14px;width:100%}.cake-redesign-memory-photo{width:min(70vw,300px);max-width:100%;height:auto}.cake-redesign-note{width:min(100%,380px);min-height:190px}.cake-redesign-photo{width:min(76vw,400px);max-width:100%;height:auto}.cake-redesign-candles,.cake-redesign-popper{display:none}}@media (width<=760px){.cake-redesign-page{place-items:start center;min-height:100svh;padding:12px 14px 88px;overflow:clip}.cake-redesign-layout{gap:12px;width:100%}.cake-redesign-topbar{grid-template-columns:1fr auto;grid-template-areas:"back edition""banner banner";gap:7px 12px;min-height:94px}.cake-redesign-back{grid-area:back}.cake-redesign-edition{grid-area:edition}.cake-redesign-banner{grid-area:banner;justify-self:center;min-width:min(322px,100%)}.cake-redesign-card{border-radius:27px;gap:22px;padding:18px 14px 23px}.cake-redesign-card:before{inset:7px}.cake-redesign-heading h1>span{font-size:clamp(22px,6.4vw,27px)}.cake-redesign-heading h1>strong{letter-spacing:-.05em;font-size:clamp(29px,8.4vw,35px)}.cake-redesign-wish{max-width:23em;margin-top:5px;font-size:clamp(13px,3.8vw,15px);line-height:1.52}.cake-redesign-memory-photo{width:min(72vw,280px)}.cake-redesign-memory figcaption,.cake-redesign-note{width:min(100%,330px)}.cake-redesign-note{min-height:190px;padding:14px 16px}.cake-redesign-photo{width:min(78vw,304px);max-width:100%;height:auto}.cake-redesign-home-link{min-height:48px;padding-inline:20px}.cake-redesign-actions>p{max-width:25em;font-size:9px}.cake-redesign-firework{scale:.72}.cake-redesign-page+.music-dock{--music-dock-bottom:10px;width:46px;height:46px;right:5px}.cake-redesign-page+.music-dock .vinyl-disc{width:34px;height:34px}}@media (width<=380px){.cake-redesign-page{padding-inline:10px}.cake-redesign-banner{gap:3px;padding-inline:12px}.cake-redesign-banner__flag{width:37px;height:42px;font-size:18px}.cake-redesign-heading h1>strong{font-size:28px}.cake-redesign-photo{width:min(76vw,278px)}}@media (prefers-reduced-motion:reduce){.cake-redesign-effects{display:none}.cake-redesign-card,.cake-redesign-banner,.cake-redesign-photo,.cake-redesign-memory-frame,.cake-redesign-note{opacity:1;transform:none;animation:none!important}.cake-redesign-candles i{animation:none!important}}.netease-theater{--cinema-gold:#d7b36a;--cinema-ivory:#fff6df;--cinema-navy:#080b15;--cinema-wine:#791f3e;width:100%;max-width:1180px;color:var(--cinema-ivory);isolation:isolate;background:#070810;border:1px solid #d7b36a57;border-radius:24px;margin-top:54px;transition:border-radius .42s,box-shadow .42s;overflow:hidden;box-shadow:0 30px 90px #0d0e1b47,0 8px 24px #26141f2e}.theater-marquee{z-index:40;background:radial-gradient(circle at 8% 20%,#ffe2ae17,#0000 28%),linear-gradient(115deg,#171a28,#090b14 62%,#18101a);border-bottom:1px solid #d7b36a3d;min-height:82px;padding:15px clamp(20px,3vw,34px);box-shadow:inset 0 -1px #ffffff09,inset 0 1px #ffffff0e}.theater-marquee:before,.theater-marquee:after{background:#efc471;width:6px;height:6px;box-shadow:0 0 0 5px #efc47117,0 0 18px #efc4719e}.theater-marquee .theater-marquee-copy{flex-direction:column;gap:6px;min-width:0;display:flex}.theater-marquee .theater-marquee-copy>span{color:#e7be78;letter-spacing:.22em;font-size:8px;font-weight:750}.theater-marquee .theater-marquee-copy>strong{color:#fff8e8;font-family:var(--sans);letter-spacing:-.035em;font-size:clamp(19px,2.2vw,28px);font-weight:680}.theater-marquee .theater-marquee-actions{flex-direction:row;flex:none;align-items:center;gap:12px;display:flex}.theater-marquee .cinema-light-state{color:#b9b3ac;letter-spacing:.14em;white-space:nowrap;font-size:7px;font-weight:700}.theater-marquee .theater-marquee-actions>button{color:#f3d89f;background:#fff8e712;border:1px solid #d7b36a57;border-radius:999px;min-height:38px;padding:0 14px;font-size:9px}.theater-marquee .theater-marquee-actions>button:hover{color:#fff8e8;background:#d7b36a33}.theater-marquee .theater-marquee-actions>button:disabled{cursor:default;opacity:.46}.theater-room{aspect-ratio:3/2;isolation:isolate;background-color:#060810;background-image:url(/netease/cinema-auditorium-v2.png);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;height:auto;position:relative;overflow:hidden}.theater-opening-control{z-index:32;place-items:center;display:grid;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.theater-opening-control>button{color:#fff6df;cursor:pointer;letter-spacing:.08em;background:#4a142bf0;border:1px solid #ffe0a0d1;border-radius:999px;min-width:132px;min-height:46px;padding:0 22px;font-size:13px;font-weight:700;transition:background .18s,box-shadow .18s,transform .18s,opacity .18s;box-shadow:0 10px 30px #0000008a,inset 0 1px #ffffff1f}.theater-opening-control>button:hover:not(:disabled),.theater-opening-control>button:focus-visible{background:#772343fa;outline:none;transform:translateY(-1px);box-shadow:0 0 0 3px #ffe0a033,0 12px 34px #00000094}.theater-opening-control>button:disabled{cursor:wait;opacity:.72}.theater-room:before{z-index:2;mix-blend-mode:screen;opacity:0;background:radial-gradient(circle at 9% 17%,#ffdfa233,#0000 15%),radial-gradient(circle at 91% 17%,#ffdfa233,#0000 15%),linear-gradient(#fff4d614,#0000 46%);transition:opacity .9s 2.5s;inset:0}.theater-room:after{z-index:3;pointer-events:none;background:radial-gradient(at 50% 42%,#0000 0 43%,#0002091a 68%,#0001065c 100%);inset:0;box-shadow:inset 0 0 70px #00000057}.netease-theater.is-open .theater-room:before{opacity:1}.theater-room-light{z-index:2;clip-path:none;opacity:0;background:linear-gradient(105deg,#ffdc9b1a,#0000 24%),linear-gradient(255deg,#ffdc9b1a,#0000 24%);width:auto;height:auto;transition:opacity .9s 2.7s;inset:0}.netease-theater.is-open .theater-room-light{opacity:.76}.theater-projector-beam{z-index:5;opacity:0;background:linear-gradient(#e2e9ff05,#ebf2ff1f);width:61%;height:58%;transition:opacity .9s 2.8s;top:15%}.netease-theater.is-open .theater-projector-beam{opacity:.28}.theater-ambient-darkness{z-index:4;opacity:0;pointer-events:none;background:radial-gradient(at 50% 42%,#00000008 0 34%,#00010857 58%,#000107c7 100%),linear-gradient(#01020747,#00000480);transition:opacity .82s;position:absolute;inset:0}.theater-screen-shell{z-index:8;filter:brightness(.3)saturate(.5);opacity:.72;background:#05070b;border:5px solid #05070c;border-radius:5px;transition:filter .9s 2.65s,opacity .9s 2.65s,transform .9s 2.65s;inset:22.45% 22.75% 37.25%;overflow:hidden;transform:scale(.993);box-shadow:0 0 0 1px #d7b36a2e,0 0 38px #d5e0ff29,0 18px 38px #00000075}.netease-theater.is-open .theater-screen-shell,.netease-theater.is-lights-off .theater-screen-shell{filter:brightness()saturate();opacity:1;transform:scale(1)}.theater-screen-toolbar{background:#07090fe0;border-color:#d7b36a38;border-radius:8px;box-shadow:0 5px 18px #00000052}.theater-screen-toolbar nav button.is-active{color:#f7d896;background:#d7b36a29;border-color:#d7b36ab3}.theater-filmstrip{background:#03050a;padding:10px}.theater-chapter-slide{padding-bottom:36px;padding-inline:72px}.theater-photo-slide{padding-bottom:36px;padding-left:72px;padding-right:72px}.theater-text-slide{color:#4f3039;background:radial-gradient(circle at 10% 16%,#ffffffc7,#0000 24%),radial-gradient(circle at 92% 86%,#dc99a833,#0000 25%),repeating-linear-gradient(0deg,#0000 0 23px,#8b4c5b0a 23px 24px),linear-gradient(145deg,#f9ece8,#f3dadd 58%,#ead0d3);place-items:center;height:100%;padding:50px 54px 36px;display:grid;position:relative;overflow:hidden;container-type:size}.theater-text-slide__paper{z-index:1;overscroll-behavior:contain;background:#fffdf8d6;border:1px solid #7c425029;border-radius:9px;flex-direction:column;justify-content:flex-start;width:min(100%,510px);min-height:0;max-height:100%;padding:clamp(9px,7.5cqh,15px) 22px clamp(10px,7.8cqh,16px);display:flex;position:relative;overflow-y:auto;box-shadow:0 10px 30px #5c343d1f,inset 0 1px #ffffffd1}.theater-text-slide__paper>span{color:#a45a6e;letter-spacing:.18em;font-size:6px;font-weight:700}.theater-text-slide__paper h2{color:#713747;font-family:var(--display);margin:4px 0 8px;font-size:clamp(15px,9.5cqh,19px);font-weight:600;line-height:1.1}.theater-text-slide__paper p{color:#563b43;letter-spacing:.015em;text-align:left;text-wrap:pretty;white-space:pre-wrap;margin:0;font-size:clamp(9px,min(.92vw,6.3cqh),14px);font-weight:550;line-height:1.62}.theater-film-controls>.theater-film-control-button{color:#fff4db;cursor:pointer;background:radial-gradient(circle at 38% 30%,#a64a68,#5c1d38 70%);border:1px solid #efca7fb8;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;padding:0;transition:background .18s,border-color .18s,transform .18s,opacity .18s;display:inline-flex;box-shadow:0 5px 14px #00000057,inset 0 1px #ffffff24}.theater-film-control-button--previous{justify-self:start}.theater-film-control-button--next{justify-self:end}.theater-film-controls>.theater-film-control-button>span{font-size:19px;line-height:.9}.theater-film-controls>.theater-film-control-button:hover:not(:disabled),.theater-film-controls>.theater-film-control-button:focus-visible{background:radial-gradient(circle at 38% 30%,#c45d7c,#762744 72%);border-color:#ffe0a0;outline:none;transform:translateY(-1px)scale(1.04)}.theater-film-controls>.theater-film-control-button:focus-visible{box-shadow:0 0 0 3px #ffe0a04d,0 8px 20px #00000061}.theater-film-controls>.theater-film-control-button:disabled{cursor:default;opacity:.28}.theater-film-controls{z-index:13;width:max-content;min-height:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;opacity:0;pointer-events:none;background:0 0;border:0;align-items:center;gap:8px;padding:0;transition:opacity .26s,transform .26s;display:flex;position:absolute;inset:calc(62.75% + 9px) auto auto 50%;transform:translate(-50%,5px)}.theater-film-controls>div{background:#080a11e6;border:1px solid #d7b36a66;border-radius:999px;justify-content:center;align-items:center;min-width:60px;height:30px;padding:0 9px;display:flex;box-shadow:0 4px 12px #00000047,inset 0 1px #ffffff0d}.theater-film-controls>div strong{color:#f4d58f;letter-spacing:.1em;white-space:nowrap;font-size:8px}.netease-theater.is-open .theater-film-controls,.netease-theater.is-lights-off .theater-film-controls{opacity:1;pointer-events:auto;transition-delay:3.3s;transform:translate(-50%)}.theater-film-index{background:#03050ae6;border-color:#d7b36a24}.theater-film-index button.is-active{color:#fff7e7;background:#7a2241;border-color:#ebc06d}.theater-film-index button.is-text{color:#e6bd75;background:#302128;border-color:#efc57961;min-width:22px}.theater-film-index button.is-text.is-active{color:#fff8e7;background:#8c2f50;border-color:#efc276}.netease-lightbox{grid-template-columns:minmax(0,1fr);justify-items:center}.netease-lightbox figure{grid-column:1;justify-self:center}.theater-curtain{z-index:14;filter:brightness(.93)saturate(.84)contrast(1.08);background-color:#0000;background-image:linear-gradient(#ffe2d31a,#0000 19%,#14000980 100%),linear-gradient(90deg,#0c000647,#0000 15% 82%,#0c000657),url(/netease/curtain-velvet-texture-v2.png);background-position:50%;background-repeat:no-repeat;background-size:100% 100%,100% 100%,145% 100%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-top:1px solid #ffdfd838;width:27.55%;top:17.1%;bottom:34.4%;box-shadow:inset 0 0 34px #18000b80,inset 0 1px #ffebe233,0 15px 32px #0000007a;transition:width 4.1s cubic-bezier(.55,0,.2,1),filter .76s!important}.theater-curtain:before{z-index:2;content:"";mix-blend-mode:soft-light;pointer-events:none;background:radial-gradient(at 50% 9%,#ffdccf33,#0000 31%),linear-gradient(#0000 0 68%,#0e000759);position:absolute;inset:0}.theater-curtain:after{z-index:3;content:"";pointer-events:none;background:linear-gradient(90deg,#090005bd,#962d4a4d 48%,#080004e0);width:13px;position:absolute;top:0;bottom:0;box-shadow:0 0 15px #00000085}.theater-curtain>span{z-index:1;pointer-events:none;background:linear-gradient(105deg,#ffcdc30f,#0000 24%),linear-gradient(#0000 76%,#06000359);display:block}.theater-curtain--left{background-position:50%,50%,41%;border-right:1px solid #db758557;left:22.45%}.theater-curtain--left:after{right:-2px}.theater-curtain--right{background-position:50%,50%,68%;border-left:1px solid #db758557;right:22.45%}.theater-curtain--right:after{left:-2px;transform:scaleX(-1)}.netease-theater.is-open .theater-curtain--left,.netease-theater.is-open .theater-curtain--right{filter:brightness(.88)saturate(.82)contrast(1.1);width:5.7%}.theater-valance{z-index:15;filter:brightness(.9)saturate(.86)contrast(1.07)drop-shadow(0 10px 8px #0000009e);background:url(/netease/curtain-valance-v2.png) 50%/100% 100% no-repeat;height:11.7%;display:block;top:14.1%;left:19.7%;right:19.7%;overflow:visible}.theater-valance:before,.theater-valance:after{content:none;display:none}.theater-valance i{display:none}.cinema-light-station{z-index:28;color:#fff1d1;pointer-events:none;width:19.5%;height:52%;position:absolute;top:0;left:2.4%}.cinema-light-station>p{color:#fff0cf;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#060911bd;border:1px solid #efc97c40;border-radius:10px;width:min(155px,100% - 85px);margin:0;padding:9px 10px;font-size:clamp(7px,.72vw,10px);line-height:1.65;position:absolute;top:72px;left:85px;box-shadow:0 8px 24px #00000047}.cinema-light-station>small{color:#d9b973;letter-spacing:.05em;white-space:nowrap;font-size:7px;position:absolute;top:164px;left:86px}.cinema-light-pull{width:88px;height:260px;color:inherit;cursor:grab;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:0 0 28px 28px;padding:0;position:absolute;top:0;left:-1px;overflow:hidden}.cinema-light-pull:active,.is-pulling-light .cinema-light-pull{cursor:grabbing}.cinema-light-pull:focus-visible{outline:none}.cinema-light-pull__photo{border-radius:inherit;filter:saturate(.88)contrast(1.02);opacity:1;background-color:#0000;background-position:top;background-repeat:no-repeat;background-size:auto 260px;transition:filter .19s,opacity .11s;position:absolute;inset:0}.cinema-light-pull__photo--rest{background-image:url(/netease/cinema-pull-switch-rest-v2-transparent.png)}.cinema-light-pull__photo--pulled{opacity:0;background-image:url(/netease/cinema-pull-switch-pulled-v2-transparent.png)}.cinema-light-pull.is-pulled .cinema-light-pull__photo--rest{opacity:0}.cinema-light-pull.is-pulled .cinema-light-pull__photo--pulled{opacity:1}.cinema-light-pull:hover .cinema-light-pull__photo,.cinema-light-pull:focus-visible .cinema-light-pull__photo{filter:brightness(1.08)saturate(.94)contrast(1.02)}.cinema-light-pull:focus-visible:after{z-index:2;content:"";border:2px solid #ffe0a0c2;border-radius:0 0 25px 25px;position:absolute;inset:3px;box-shadow:0 0 0 3px #ffe0a029}.netease-theater.is-lights-off .cinema-light-pull__photo{filter:brightness(.63)saturate(.74)contrast(1.04)}.theater-hint{color:#bdb8b0;background:linear-gradient(90deg,#10131e,#080a12 50%,#10131e);border-top:1px solid #d7b36a2e;font-size:9px}.netease-theater.is-immersive{z-index:4000;width:100vw;max-width:none;height:100dvh;box-shadow:none;background:radial-gradient(circle at 50% 43%,#10131e,#010207 76%);border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto;margin:0;display:grid;position:fixed;inset:0;overflow:hidden}.netease-theater.is-immersive .theater-marquee{min-height:72px;padding-block:11px}.netease-theater.is-immersive .theater-room{aspect-ratio:3/2;background-size:100% 100%;place-self:center;width:min(100vw,150dvh - 177px);max-height:calc(100dvh - 118px)}.netease-theater.is-lights-off .theater-ambient-darkness{opacity:.93}.netease-theater.is-lights-off .theater-room-light,.netease-theater.is-lights-off .theater-room:before{opacity:0;transition-delay:0s}.netease-theater.is-lights-off .theater-projector-beam{opacity:.56;transition-delay:80ms}.netease-theater.is-lights-off .theater-curtain,.netease-theater.is-lights-off .theater-valance{filter:brightness(.67)saturate(.8)}.netease-theater.is-immersive .theater-film-controls{width:max-content}.netease-theater.is-immersive .cinema-light-station>p{background:#02040adb}.netease-theater.is-immersive .theater-hint{color:#999ba5;min-height:38px;padding:10px 16px}@media (width>=681px) and (width<=1100px){.theater-text-slide{padding:40px 38px 27px}.theater-text-slide__paper h2{margin-block:3px 6px}}@media (width>=681px) and (height<=760px){.netease-theater.is-immersive .theater-text-slide{padding:38px 34px 28px}.netease-theater.is-immersive .theater-text-slide__paper{width:min(100%,540px);padding:7px 18px 8px}.netease-theater.is-immersive .theater-text-slide__paper h2{margin:2px 0 5px;font-size:clamp(15px,8.5cqh,18px)}.netease-theater.is-immersive .theater-text-slide__paper p{font-size:clamp(8px,min(.84vw,5.9cqh),13px);line-height:1.55}}@media (width>=681px) and (height<=640px){.netease-theater.is-immersive .theater-text-slide{padding:30px 20px 22px}.netease-theater.is-immersive .theater-text-slide__paper{padding:5px 12px 6px}.netease-theater.is-immersive .theater-text-slide__paper>span{letter-spacing:.13em;font-size:5px}.netease-theater.is-immersive .theater-text-slide__paper h2{margin:1px 0 3px;font-size:15px;line-height:1.05}.netease-theater.is-immersive .theater-text-slide__paper p{letter-spacing:0;font-size:8px;line-height:1.45}}@media (width<=900px){.theater-marquee .cinema-light-state{display:none}.cinema-light-station>p{width:138px;left:55px}.cinema-light-station>small{left:56px}}@media (width<=680px){.netease-theater{border-radius:16px;margin-top:34px}.theater-marquee{align-items:center;min-height:74px;padding:12px 16px}.theater-marquee .theater-marquee-copy>strong{white-space:normal;max-width:220px;font-size:16px}.theater-marquee .theater-marquee-actions>button{min-height:36px;padding-inline:10px}.theater-room{aspect-ratio:auto;background-size:auto 100%;height:620px}.theater-screen-shell{inset:22.45% 6% 37.25%}.theater-curtain{width:44.2%;top:17.1%;bottom:34.4%}.theater-curtain--left{left:6%}.theater-curtain--right{right:6%}.netease-theater.is-open .theater-curtain--left,.netease-theater.is-open .theater-curtain--right{width:7%}.theater-valance{top:15.6%;left:2.5%;right:2.5%}.cinema-light-station{width:28%;left:.8%}.cinema-light-pull{width:64px;height:230px;left:-8px;transform:none}.cinema-light-pull__photo{background-size:auto 230px}.cinema-light-station>p{width:108px;padding:7px 8px;font-size:7px;top:55px;left:61px}.cinema-light-station>small{display:none}.theater-chapter-slide,.theater-photo-slide{padding-bottom:34px;padding-left:50px;padding-right:50px}.theater-text-slide{padding:44px 26px 34px}.theater-text-slide__paper{border-radius:6px;padding:10px 13px 11px}.theater-text-slide__paper>span{letter-spacing:.13em;font-size:5px}.theater-text-slide__paper h2{margin:2px 0 5px;font-size:16px}.theater-text-slide__paper p{letter-spacing:0;font-size:9px;line-height:1.65}.theater-film-controls{gap:6px;width:max-content;top:calc(62.75% + 7px)}.theater-film-controls>.theater-film-control-button{width:40px;height:40px}.theater-film-controls>.theater-film-control-button>span{font-size:18px}.theater-film-controls>div{min-width:54px;height:28px;padding-inline:8px}.netease-theater.is-immersive{grid-template-rows:auto minmax(0,1fr) auto}.netease-theater.is-immersive .theater-room{aspect-ratio:auto;background-size:auto 100%;width:100%;height:100%;max-height:none}.netease-theater.is-immersive .theater-screen-shell{left:3.5%;right:3.5%}.netease-theater.is-immersive .theater-curtain{width:47%}.netease-theater.is-immersive .theater-curtain--left{left:3.5%}.netease-theater.is-immersive .theater-curtain--right{right:3.5%}.netease-theater.is-immersive.is-open .theater-curtain--left,.netease-theater.is-immersive.is-open .theater-curtain--right{width:7.5%}.netease-theater.is-immersive .theater-valance{left:0;right:0}}@media (width<=420px){.theater-marquee .theater-marquee-copy>span{display:none}.theater-marquee .theater-marquee-copy>strong{max-width:185px}.cinema-light-station>p{width:92px;line-height:1.45}.theater-film-controls>div span{display:none}}@media (prefers-reduced-motion:reduce){.theater-curtain,.theater-screen-shell,.theater-room:before,.theater-room-light,.theater-projector-beam,.theater-ambient-darkness,.theater-film-controls,.cinema-light-pull__photo{transition-duration:.01ms!important;transition-delay:0s!important}}.you-night-page{--you-ivory:#fff6df;--you-gold:#f4c979;--you-ink:#182234;isolation:isolate;min-height:100svh;color:var(--you-ivory);background-color:#18294a;background-image:url(/you/japan-miura-blue-hour-unsplash.jpg);background-position:50% 60%;background-repeat:no-repeat;background-size:cover;position:relative;overflow:clip}.you-night-page:after{z-index:-1;pointer-events:none;content:"";background:linear-gradient(#03081247 0%,#0308120a 36%,#03081233 100%),radial-gradient(circle at 52% 42%,#0000 0 42%,#02071124 100%);position:absolute;inset:0}.you-night-shell{z-index:1;width:min(1360px,100% - 48px);min-height:100svh;margin:0 auto;padding-top:1px;position:relative}.you-night-page .site-header{z-index:20;-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15);background:#081325ad;border-color:#e1ebff33;min-height:64px;margin:18px 0 0;position:relative;top:auto;box-shadow:inset 0 1px #ffffff1a,0 18px 42px #01081433}.you-night-page .brand,.you-night-page .brand strong{color:#fff9eb}.you-night-page .brand small{color:#e5edfab3}.you-night-page .brand-home-hint{color:#ffc3d5;text-shadow:0 1px 10px #ff89b133}.you-night-page .brand-mark{background:linear-gradient(145deg,#8378db,#46568e);box-shadow:inset 0 1px #ffffff57,0 9px 20px #130d4047}.you-night-page .main-nav{background:#ffffff12;border:1px solid #e1ebff14}.you-night-page .main-nav a{color:#f2f6ffc2}.you-night-page .main-nav a:hover{color:#fff;background:#ffffff1a}.you-night-page .main-nav a.is-active{color:#fff;background:#bcc4f833;box-shadow:inset 0 0 0 1px #dae1ff1f}.you-night-page .main-nav a.is-active:after{background:#d8d6ff}.you-night-page .countdown-badge{background:#0e4c5266;border-color:#77e0d240}.you-night-page .countdown-badge span{color:#e2faf6ad}.you-night-page .countdown-badge strong{color:#d9fff7}.you-night-experience{min-height:calc(100svh - 83px);position:relative;overflow:hidden}.you-night-fireworks{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.you-firework{top:var(--you-firework-top);left:var(--you-firework-left);width:1px;height:1px;color:var(--you-firework-color);position:absolute}.you-firework__rocket,.you-firework__flash,.you-firework__spark,.you-firework__reflection{pointer-events:none;display:block;position:absolute}.you-firework__rocket{opacity:0;filter:drop-shadow(0 0 5px);width:2px;height:54px;animation:11.2s cubic-bezier(.42,0,.62,1) infinite you-firework-rocket;animation-delay:var(--you-firework-delay);background:linear-gradient(#0000,currentColor 65%,#fff 100%);border-radius:999px;top:0;left:-1px}.you-firework__flash{opacity:0;width:10px;height:10px;box-shadow:0 0 18px 8px currentColor, 0 0 42px 14px color-mix(in srgb, currentColor 62%, transparent);animation:11.2s ease-out infinite you-firework-flash;animation-delay:var(--you-firework-delay);background:#fff;border-radius:50%;top:-5px;left:-5px}.you-firework__spark{opacity:0;transform-origin:50% 0;width:3px;height:14px;animation:11.2s cubic-bezier(.13,.64,.32,1) infinite you-firework-spark;animation-delay:var(--you-firework-delay);background:linear-gradient(#fff,currentColor 42%,#0000);border-radius:999px;top:-2px;left:-1px;box-shadow:0 0 7px}.you-firework__spark--1{filter:brightness(1.12);width:2px;height:10px}.you-firework__spark--2{opacity:0;height:8px}.you-firework__reflection{opacity:0;filter:blur(5px);width:40px;height:3px;animation:11.2s ease-out infinite you-firework-reflection;animation-delay:var(--you-firework-delay);background:currentColor;border-radius:50%;top:55vh;left:-20px}.you-night-ember{opacity:0;background:#ffe3a6;border-radius:50%;width:4px;height:4px;animation:8s ease-in-out infinite you-ember-drift;position:absolute;box-shadow:0 0 10px #ffd37b}.you-night-ember--one{animation-delay:1s;bottom:27%;left:24%}.you-night-ember--two{animation-delay:3.1s;bottom:36%;left:59%}.you-night-ember--three{animation-delay:5.6s;bottom:22%;left:77%}.you-night-ember--four{animation-delay:7.2s;bottom:44%;left:43%}@keyframes you-firework-rocket{0%,5%{opacity:0;transform:translateY(55vh)scaleY(.45)}7%{opacity:.94}19%{opacity:.78;transform:translate(0,0)scaleY(1)}21%,to{opacity:0;transform:translateY(-4px)scaleY(.2)}}@keyframes you-firework-flash{0%,19%,25%,to{opacity:0;transform:scale(.15)}20%{opacity:1;transform:scale(1)}22%{opacity:.38;transform:scale(2.8)}}@keyframes you-firework-spark{0%,19%{opacity:0;transform:translate(0,0)rotate(0)scaleY(.2)}20%{opacity:.98}29%{opacity:.86;transform:translate3d(var(--you-spark-x), var(--you-spark-y), 0) rotate(8deg) scaleY(1)}45%{opacity:0;transform:translate3d(calc(var(--you-spark-x) + var(--you-spark-drift)), calc(var(--you-spark-y) + 44px), 0) rotate(18deg) scaleY(.38)}to{opacity:0}}@keyframes you-firework-reflection{0%,20%,44%,to{opacity:0;transform:scaleX(.4)}23%{opacity:.25;transform:scaleX(1.8)}31%{opacity:.08;transform:scaleX(3.2)}}@keyframes you-ember-drift{0%,to{opacity:0;transform:translateY(12px)}28%{opacity:.62}72%{opacity:.18}85%{opacity:0;transform:translate(18px,-54px)}}.you-seagull-stage{z-index:5;aspect-ratio:3/2;width:clamp(116px,11.2vw,172px);position:absolute;top:clamp(24px,4vh,52px);left:clamp(22px,4vw,54px)}.you-seagull-flight{transform-origin:52% 48%;width:100%;height:100%;animation:7.6s ease-in-out infinite you-seagull-glide;position:relative}.you-seagull-flight:hover,.you-seagull-flight:focus-within{animation-play-state:paused}.you-seagull-letter-button{z-index:2;width:100%;height:100%;color:inherit;cursor:pointer;appearance:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:48%;padding:0;display:block;position:absolute;inset:0}.you-seagull-letter-button:disabled{cursor:default}.you-seagull-letter-button:focus-visible{outline-offset:-24px;filter:drop-shadow(0 0 18px #ffd67b7a);outline:2px solid #ffe7abf0}.you-seagull-image{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 14px 18px #03091638)drop-shadow(0 3px 4px #0309162e);width:100%;height:100%;transition:transform .26s,filter .26s;display:block}.you-seagull-letter-button:hover .you-seagull-image,.you-seagull-letter-button:focus-visible .you-seagull-image{filter:drop-shadow(0 16px 22px #03091647)drop-shadow(0 0 12px #ffe09d33);transform:scale(1.025)}.you-seagull-callout{z-index:4;pointer-events:none;width:max-content;transition:opacity .24s,transform .24s;position:absolute;top:66%;left:94%}.you-seagull-callout p{color:#fff1c9;letter-spacing:.06em;text-shadow:0 2px 5px #0a122dc2,0 0 13px #ffabcc8a;margin:0;font-family:Birthday Hand,HanziPen SC,Yuanti SC,cursive;font-size:clamp(11px,.9vw,14px);font-weight:400;line-height:1}.you-seagull-arrow{stroke:#ffc2d5;stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 4px #0a122d80);width:clamp(54px,4vw,72px);height:auto;position:absolute;top:0;right:calc(100% + clamp(62px,6.5vw,118px));overflow:visible}.you-seagull-arrow__spark{stroke:#ffe8a9;stroke-width:2.4px}.is-reading .you-seagull-callout{opacity:0;transform:translateY(-8px)}@keyframes you-seagull-glide{0%,to{transform:translate(-13px,5px)rotate(-.8deg)}50%{transform:translate(14px,-9px)rotate(.8deg)}}.you-letter-dialog{color:#2d2a28;background:0 0;border:0;width:min(720px,100vw - 38px);max-width:none;max-height:min(820px,100svh - 38px);margin:auto;padding:0;overflow:visible}.you-letter-dialog::backdrop{-webkit-backdrop-filter:blur(9px)saturate(.82);backdrop-filter:blur(9px)saturate(.82);background:radial-gradient(circle at 50% 42%,#3d4d6824,#0000 46%),#020711c2}.you-letter-dialog[open]{animation:.46s cubic-bezier(.2,.76,.24,1) both you-letter-dialog-enter}.you-letter-paper{background:linear-gradient(103deg,#0000 0 56%,#70502809 56.2% 56.6%,#0000 56.8%),repeating-linear-gradient(0deg,#664b2c06 0 1px,#0000 1px 5px),linear-gradient(145deg,#fffaf0 0%,#f8edd7 56%,#f2e3c8 100%);border:1px solid #5b44243d;border-radius:4px 14px 7px 10px;min-height:520px;max-height:min(790px,100svh - 48px);padding:clamp(52px,7vw,78px) clamp(34px,7vw,82px) clamp(42px,6vw,64px);position:relative;overflow:auto;box-shadow:0 34px 90px #00000075,inset 0 0 80px #7b592912,inset 0 1px #ffffffe6}.you-letter-paper:before{pointer-events:none;content:"";border:1px solid #84633621;position:absolute;inset:18px}.you-letter-paper__corner{pointer-events:none;filter:drop-shadow(-4px -4px 6px #4a311817);background:linear-gradient(135deg,#0000 48%,#8c663414 49%,#ead6b4 100%);width:74px;height:74px;position:absolute;bottom:0;right:0}.you-letter-close{z-index:2;color:#372d24ad;cursor:pointer;background:#fffbf2b8;border:1px solid #4839292e;border-radius:50%;place-items:center;width:38px;height:38px;padding:0 0 3px;font:300 26px/1 Georgia,serif;transition:color .16s,background .16s,transform .18s;display:grid;position:absolute;top:24px;right:26px}.you-letter-close:hover,.you-letter-close:focus-visible{color:#3b2f26;outline-offset:2px;background:#fffaf0;outline:2px solid #7d5a2e40;transform:rotate(5deg)}.you-letter-overline{color:#9c613c;letter-spacing:.18em;margin:0 0 26px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:700}.you-letter-paper h2{color:#312925;letter-spacing:.08em;margin:0;font-family:Songti SC,STSong,serif;font-size:clamp(38px,6vw,62px);font-weight:600;line-height:1.12}.you-letter-paper h2:after{content:"";background:linear-gradient(90deg,#b77d4d,#0000);width:74px;height:2px;margin:26px 0 34px;display:block}.you-letter-body{color:#50463e;letter-spacing:.055em;font-family:Kaiti SC,STKaiti,Songti SC,serif;font-size:clamp(17px,2vw,20px);line-height:2}.you-letter-body p{margin:0 0 1.25em}.you-letter-signature{color:#47372a9e;justify-content:flex-end;align-items:flex-end;gap:24px;margin-top:60px;font-family:Kaiti SC,STKaiti,serif;font-size:15px;display:flex}.you-letter-signature i{color:#974336b8;border:2px solid #974336a3;border-radius:50%;place-items:center;width:52px;height:52px;font-family:Georgia,serif;font-size:18px;font-style:normal;display:grid;transform:rotate(-8deg)}.you-night-sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@keyframes you-letter-dialog-enter{0%{opacity:0;transform:translateY(24px)rotate(-.8deg)scale(.96)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}.you-night-page+.music-dock{--music-dock-bottom:24px}@media (width>=1800px){.you-seagull-stage{width:172px;top:44px;left:54px}}@media (width<=1080px){.you-night-page .site-header{gap:10px}.you-night-page .main-nav a{padding-inline:10px;font-size:11px}.you-seagull-stage{width:clamp(108px,14.4vw,148px);top:clamp(22px,3.5vh,38px);left:clamp(18px,3vw,32px)}}@media (width<=900px){.you-night-page{background-position:58% 60%}.you-night-shell{width:min(100% - 28px,760px)}.you-night-page .site-header{flex-wrap:wrap;min-height:auto;padding:10px}.you-night-page .brand{margin-right:auto}.you-night-page .main-nav{scrollbar-width:none;order:3;width:100%;overflow-x:auto}.you-night-page .main-nav::-webkit-scrollbar{display:none}.you-night-page .main-nav a{flex:1 0 max-content;text-align:center}.you-night-experience{min-height:calc(100svh - 145px)}.you-seagull-stage{width:clamp(96px,17.2vw,128px);top:22px;left:14px}.you-seagull-callout p{font-size:10px}}@media (width<=600px){.you-night-page{background-position:68%}.you-night-shell{width:calc(100% - 20px)}.you-night-page .site-header{border-radius:14px;margin-top:10px}.you-night-page .brand small{display:none}.you-night-page .brand-mark{width:38px;height:38px}.you-night-page .countdown-badge{padding:7px 9px}.you-night-page .countdown-badge span{display:none}.you-night-experience{min-height:calc(100svh - 136px)}.you-seagull-stage{width:clamp(112px,34vw,132px);top:22px;left:8px}.you-seagull-callout{top:68%;left:92%}.you-seagull-callout p{letter-spacing:.03em;font-size:10px}.you-letter-dialog{width:calc(100vw - 22px);max-height:calc(100svh - 22px)}.you-letter-paper{border-radius:3px 10px 5px 8px;min-height:470px;max-height:calc(100svh - 22px);padding:56px 30px 38px}.you-letter-paper:before{inset:12px}.you-letter-close{top:18px;right:18px}.you-letter-signature{margin-top:44px}.you-night-page+.music-dock{--music-dock-bottom:max(18px, env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.you-firework:nth-child(n+3),.you-night-ember{display:none}.you-firework__rocket,.you-firework__flash,.you-firework__reflection{opacity:0;animation:none}.you-firework__spark{opacity:.48;transform:translate3d(var(--you-spark-x), var(--you-spark-y), 0);animation:none}.you-seagull-flight{animation:none;transform:none}.you-seagull-image,.you-seagull-callout,.you-letter-dialog[open]{transition-duration:.01ms;animation-duration:.01ms}}
