:root{--ink:#171822;--muted:#62636d;--paper:#f8f7f3;--white:#fff;--pink:#ff4d91;--pink-light:#ffe2ed;--blue:#a9d6fb;--blue-deep:#213d70;--line:rgba(23,24,34,.16);--display:"Georgia","Noto Serif CJK SC","Songti SC",serif;--body:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit}button{font:inherit}.skip-link{position:absolute;top:-5rem;left:1rem;z-index:20;padding:.7rem 1rem;background:var(--ink);color:white}.skip-link:focus{top:1rem}.site-header{height:84px;max-width:var(--max);margin:auto;padding:0 5.4%;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-weight:750;font-size:1.25rem;letter-spacing:.12em}.brand img{width:42px;height:42px;object-fit:cover;border-radius:12px}.main-nav{display:flex;align-items:center;gap:clamp(18px,3.2vw,48px)}.main-nav>a:not(.nav-cta){text-decoration:none;font-size:.9rem;color:#484953}.main-nav>a:hover,.footer-links a:hover{color:var(--pink)}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:0 22px;border-radius:999px;text-decoration:none;font-size:.92rem;font-weight:650;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.nav-cta{background:var(--ink);color:#fff;min-height:42px}.nav-cta:hover,.button:hover{transform:translateY(-2px)}.menu-toggle{display:none}
.eyebrow{margin:0 0 17px;color:#676975;font-weight:700;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase}.eyebrow-mark{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:8px;background:var(--pink)}h1,h2,h3,p{margin-top:0}.section-heading h2 em{font-family:var(--display);font-weight:500;font-style:italic;letter-spacing:-.08em;color:#fa498e}.button-pink{background:var(--pink);color:white;box-shadow:0 9px 25px rgba(242,61,132,.22)}.button-pink:hover{background:#eb317d}.text-link{display:inline-flex;gap:9px;align-items:center;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;font-size:.93rem;font-weight:650}
.section-pad{padding:112px max(6.5%,calc((100vw - 1290px)/2))}.frame-intro{background:#fff}.section-heading{margin-bottom:42px}.section-heading-inline{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-heading h2,.mood-top h2,.memory-copy h2,.ip-copy h2,.faq-section h2{font-size:clamp(2.8rem,5.6vw,5.2rem);line-height:1.12;letter-spacing:-.055em;margin:0;font-weight:760}.section-heading h2 em{color:#ff4d91}.heading-aside{max-width:330px;color:#656671;font-size:.96rem;padding-bottom:7px}.heading-aside p{margin-bottom:10px}.hand-mark{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;border:1px solid var(--pink);border-radius:50%;font-family:var(--display);font-style:italic;color:#ed3782;font-size:1.1rem;transform:rotate(-13deg)}.ai-disclosure{display:flex;align-items:flex-start;gap:10px;margin:0 0 24px;color:#6a6b75;font-size:.82rem}.disclosure-dot{width:8px;height:8px;flex:0 0 auto;margin-top:8px;border-radius:50%;background:#fa4d91}.filter-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}.filter-chip{border:1px solid var(--line);background:transparent;border-radius:999px;padding:9px 17px;font-size:.85rem;cursor:pointer;color:#474852}.filter-chip span{margin-left:7px;color:#9a3a65}.filter-chip.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}.filter-chip.is-active span{color:#ffc0d8}.frame-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.frame-card{min-width:0;animation:card-in .45s both}.frame-card[hidden]{display:none}.frame-card a{display:block;text-decoration:none}.frame-card-image{overflow:hidden;border-radius:15px;background:#efe8ed;aspect-ratio:4/5;position:relative}.frame-card[data-category="心情"] .frame-card-image{aspect-ratio:1/1}.frame-card[data-category="档案"] .frame-card-image,.frame-card[data-category="故事"] .frame-card-image{aspect-ratio:9/15}.frame-card img{height:100%;width:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.75,.25,1)}.frame-card a:hover img{transform:scale(1.035)}.frame-card .card-category{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.9);padding:5px 10px;border-radius:99px;font-size:.69rem;font-weight:700;letter-spacing:.06em}.frame-meta{display:flex;justify-content:space-between;align-items:start;gap:8px;padding:12px 2px 0}.frame-meta h3{font-size:.98rem;line-height:1.35;margin:0;font-weight:700}.frame-meta p{font-size:.77rem;line-height:1.55;color:#777780;margin:5px 0 0}.card-arrow{font-size:1.2rem;color:var(--pink);flex:none}.gallery-foot{display:flex;justify-content:space-between;align-items:center;margin-top:38px}.button-outline{border:1px solid #b8b8c0;background:transparent;color:var(--ink);cursor:pointer}.button-outline:hover{border-color:var(--pink)}.gallery-count{font-size:.8rem;color:#797a83}.signature-section{background:#222c4e;color:white;min-height:720px;padding:100px max(7%,calc((100vw - 1240px)/2));display:grid;grid-template-columns:.74fr 1.26fr;align-items:center;gap:60px;overflow:hidden}.signature-copy{max-width:430px}.signature-copy .eyebrow{color:#bbc5e4}.signature-copy h2{font-size:clamp(3.3rem,6vw,6rem);line-height:1.06;letter-spacing:-.06em;margin:0 0 26px}.signature-copy h2 span{color:#ff85b6;font-family:var(--display);font-style:italic}.signature-copy>p:not(.eyebrow){max-width:390px;color:#d0d5e2;line-height:1.9;margin-bottom:30px}.text-link-light{color:white}.signature-art{position:relative;height:550px}.signature-art figure{position:absolute;margin:0;filter:drop-shadow(0 20px 25px rgba(0,0,0,.35))}.signature-art img{height:100%;width:100%;object-fit:cover;border-radius:16px}.signature-art figcaption{font-size:.75rem;color:#d7dcef;padding-top:10px}.signature-large{width:53%;height:92%;left:8%;top:1%;z-index:2;transform:rotate(-4deg)}.signature-small{width:34%;height:61%;right:4%;top:21%;transform:rotate(6deg)}.signature-sticker{position:absolute;z-index:3;right:3%;top:0;width:112px;height:112px;display:grid;place-items:center;text-align:center;border-radius:50%;background:#fc4e98;color:#201d32;transform:rotate(10deg);font-size:.72rem;font-weight:800;line-height:1.4}
.how-section{background:#f8f7f3}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step-card{border-radius:20px;padding:20px 20px 26px;background:#fff;border:1px solid #e8e6e2;position:relative}.step-num{position:absolute;top:18px;left:18px;z-index:2;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:white;font-weight:700;font-size:.8rem}.step-visual{height:310px;overflow:hidden;border-radius:13px;background:#f4e5ed;margin-bottom:23px}.step-visual img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.step-shoot .step-visual{position:relative;background:#dceafa}.step-shoot .step-visual img{filter:saturate(.78)}.camera-shutter{position:absolute;left:50%;bottom:17px;transform:translateX(-50%);width:44px;height:44px;border:3px solid white;border-radius:50%;background:var(--pink);box-shadow:0 0 0 5px rgba(20,24,35,.16)}.step-card h3{font-size:1.2rem;margin:0 0 7px}.step-card p{color:#696a74;font-size:.9rem;margin:0;max-width:320px}.step-keep .step-visual img{object-position:center 15%}
.mood-section{background:#dcecff;position:relative;overflow:hidden}.mood-section:after{content:"";position:absolute;right:-120px;top:-140px;width:490px;height:490px;border-radius:50%;border:1px solid rgba(34,64,114,.12);box-shadow:0 0 0 40px rgba(255,255,255,.1),0 0 0 80px rgba(255,255,255,.1)}.mood-top{display:flex;align-items:end;justify-content:space-between;gap:30px;position:relative;z-index:1}.mood-top h2{font-family:var(--display);font-weight:500}.mood-top h2 span{font-family:var(--body);font-weight:780;color:#ec4588}.mood-lede{max-width:370px;color:#4f5c70;line-height:1.9;margin:0 0 7px}.mood-reel{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr .95fr;gap:15px;align-items:start;margin-top:54px;position:relative;z-index:1}.mood-tile{margin:0;background:#fff;border-radius:14px;padding:8px 8px 13px;box-shadow:0 13px 28px rgba(43,69,106,.11)}.mood-tile:nth-child(2){margin-top:32px}.mood-tile:nth-child(3){margin-top:3px}.mood-tile:nth-child(4){margin-top:46px}.mood-tile-offset{margin-top:17px!important}.mood-tile img{width:100%;height:235px;object-fit:cover;border-radius:9px}.mood-tile-wide img{height:295px}.mood-tile figcaption{padding:10px 6px 0;font-size:.83rem;font-weight:700;display:flex;justify-content:space-between}.mood-tile figcaption span{font-size:.68rem;color:#7b8ba3}.mood-bottom{display:flex;align-items:center;gap:18px;margin-top:35px;font-size:.8rem;color:#455675}.mood-line{height:1px;max-width:300px;flex:1;background:#8198b8}
.ip-section{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;min-height:700px;padding:92px max(7%,calc((100vw - 1240px)/2));background:#ffe0ec;overflow:hidden}.ip-copy{max-width:520px}.ip-copy .eyebrow{color:#8c4a68}.ip-copy h2{margin-bottom:22px}.ip-copy h2 span{color:#ef438b;font-family:var(--display);font-weight:500;font-style:italic}.ip-copy>p:not(.eyebrow){max-width:460px;color:#654d5a;line-height:1.9;margin-bottom:27px}.button-dark{background:#242439;color:#fff}.ip-stage{height:510px;position:relative}.ip-sun{position:absolute;width:350px;height:350px;background:#ffb1cb;border-radius:50%;top:64px;left:15%;filter:blur(1px)}.ip-mascot{position:absolute;z-index:2;width:41%;height:60%;object-fit:contain;left:5%;top:19%;filter:drop-shadow(0 15px 20px rgba(67,34,53,.12))}.ip-frame{position:absolute;z-index:3;width:44%;height:83%;object-fit:cover;right:7%;top:8%;border:9px solid #fff;border-radius:14px;transform:rotate(5deg);box-shadow:0 20px 35px rgba(81,41,61,.2)}.ip-caption{position:absolute;bottom:0;left:9%;font-size:.68rem;letter-spacing:.17em;color:#874b67;font-weight:750}
.memory-section{background:#fff;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:9%;overflow:hidden}.memory-pictures{height:470px;position:relative;background:#f2eff1;border-radius:18px}.memory-img{position:absolute;object-fit:cover;border:7px solid #fff;border-radius:13px;box-shadow:0 18px 35px rgba(20,22,35,.17)}.memory-img-one{width:42%;height:74%;left:7%;top:5%;transform:rotate(-7deg)}.memory-img-two{width:39%;height:67%;left:40%;top:25%;transform:rotate(5deg)}.memory-img-three{width:29%;height:47%;right:2%;top:3%;transform:rotate(9deg)}.memory-date{position:absolute;z-index:4;right:8%;bottom:8%;font-family:var(--display);font-size:1.55rem;line-height:1.2;color:var(--pink);transform:rotate(-8deg)}.memory-copy h2{font-family:var(--display);font-weight:500;font-size:clamp(2.7rem,4.7vw,4.4rem)}.memory-copy h2 span{font-family:var(--body);font-weight:780;color:#ef438b}.memory-copy>p:not(.eyebrow){color:#676873;line-height:1.9;margin:22px 0 25px}.local-note{border-top:1px solid var(--line);padding-top:15px;font-size:.8rem!important;color:#777781!important}.local-note span{color:#3b8d7d;margin-right:6px}
.faq-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:9%;background:#f0eff3}.faq-section h2{font-size:clamp(2.8rem,4.5vw,4.5rem)}.faq-list details{border-bottom:1px solid #cac9d0;padding:19px 0}.faq-list details:first-child{border-top:1px solid #cac9d0}.faq-list summary{cursor:pointer;list-style:none;font-size:1.02rem;font-weight:680;display:flex;justify-content:space-between;gap:18px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"＋";color:var(--pink);font-size:1.2rem}.faq-list details[open] summary:after{content:"−"}.faq-list details p{margin:13px 36px 0 0;color:#666772;line-height:1.8}.end-card{max-width:1220px;margin:88px auto;padding:38px 48px;display:flex;align-items:center;gap:23px;background:#222c4e;color:#fff;border-radius:22px}.end-card>img{width:72px;height:72px;border-radius:18px}.end-card>div{flex:1}.end-card .eyebrow{color:#b8c4e2;margin-bottom:4px}.end-card h2{font-size:clamp(1.4rem,2.6vw,2.1rem);margin:0;letter-spacing:-.04em}.site-footer{max-width:var(--max);margin:auto;padding:32px 6.5% 24px;display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line)}.footer-brand .brand img{width:38px;height:38px}.footer-brand p{font-size:.84rem;color:#71717a;margin:9px 0 0 50px}.footer-links{display:flex;justify-content:flex-end;gap:26px;align-items:flex-start;flex-wrap:wrap}.footer-links a{font-size:.85rem;text-decoration:none}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:space-between;gap:20px;color:#81818a;font-size:.72rem}.support-note{font-size:.8rem;color:#777;margin:0}
/* Legal pages */
.legal-shell{min-height:100vh;background:#f4f5f8}.legal-top{padding:25px max(5%,calc((100vw - 1080px)/2));display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #e8e8ed}.legal-back{text-decoration:none;font-size:.88rem;color:#565763}.legal-top-links{display:flex;gap:20px}.legal-top-links a{font-size:.82rem;text-decoration:none}.legal-main{max-width:880px;margin:64px auto 110px;padding:0 25px}.legal-kicker{font-size:.76rem;letter-spacing:.15em;color:#ec4688;font-weight:760;margin-bottom:12px}.legal-main h1{font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-.06em;line-height:1.15;margin:0 0 30px}.legal-content{background:#fff;border:1px solid #e5e5eb;border-radius:20px;padding:clamp(26px,5vw,65px);box-shadow:0 20px 50px rgba(31,34,55,.045);font-size:1rem;line-height:1.9;overflow-wrap:anywhere}.legal-content h1{display:none}.legal-content h2{font-size:1.35rem;line-height:1.4;margin:2.3em 0 .8em;letter-spacing:-.02em}.legal-content h2:first-of-type{margin-top:1.5em}.legal-content h3{font-size:1.08rem;margin:1.8em 0 .55em}.legal-content p{color:#3d3e48;margin:0 0 1em}.legal-content strong{color:#22232e}.legal-content a{color:#ba2861;text-decoration-thickness:1px;text-underline-offset:3px}.legal-content ol,.legal-content ul{padding-left:1.5em;margin:.3em 0 1.2em}.legal-content li{padding-left:.28em;margin:.45em 0;color:#44454f}.legal-content table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;margin:1.3em 0 1.7em;font-size:.92rem}.legal-content th,.legal-content td{border:1px solid #dedee5;text-align:left;padding:11px 14px;min-width:115px}.legal-content th{background:#f7f4f7}.legal-content blockquote{border-left:3px solid var(--pink);padding:.5em 1em;margin:1.2em 0;background:#fff5f8;color:#666}.legal-footer{max-width:880px;margin:-72px auto 0;padding:0 25px 40px}.legal-footer .footer-links{justify-content:flex-start}.legal-footer .footer-bottom{margin-top:24px}
@keyframes card-in{from{opacity:.55;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1000px){.hero{padding-left:5%;padding-right:5%;grid-template-columns:.9fr 1.1fr}.hero-art{height:490px}.frame-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.section-pad{padding-top:85px;padding-bottom:85px}.signature-section{gap:30px;padding-left:5%;padding-right:5%}.signature-art{height:460px}.ip-section{padding-left:6%;padding-right:6%}.memory-section{gap:6%}.memory-pictures{height:390px}.end-card{margin-left:5%;margin-right:5%}}
@media(max-width:720px){html{scroll-padding-top:70px}.site-header{height:70px;padding:0 20px}.brand{font-size:1.1rem}.brand img{width:39px;height:39px}.menu-toggle{display:flex;width:44px;height:44px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:6px;padding:10px;cursor:pointer}.menu-toggle span{height:2px;width:22px;background:var(--ink);border-radius:2px}.main-nav{display:none;position:absolute;top:62px;left:14px;right:14px;padding:14px;background:#fff;border:1px solid #eceaf0;border-radius:16px;box-shadow:0 14px 40px rgba(20,22,35,.12);align-items:stretch;gap:0;flex-direction:column}.main-nav.is-open{display:flex}.main-nav>a:not(.nav-cta){padding:13px 10px;border-bottom:1px solid #efedf1}.main-nav .nav-cta{margin-top:10px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:auto;padding:62px 22px 78px;overflow:hidden}.hero:before{width:100vw;height:100vw;right:-37%;top:37%}.hero h1{font-size:clamp(3.3rem,13vw,5.2rem)}.hero-copy{max-width:none}.hero-deck{font-size:1rem;max-width:380px}.hero-art{height:420px;width:100%;margin-top:24px;max-width:440px;align-self:center}.hero-image-game{width:58%;height:94%;left:12%}.hero-image-fridge{width:37%;height:61%;right:0;bottom:12%}.hero-orbit{right:2%;width:82px;height:82px;font-size:.62rem}.hero-scroll{bottom:19px;left:22px;transform:none}.section-pad{padding:72px 21px}.section-heading-inline{display:block}.section-heading h2,.mood-top h2,.memory-copy h2,.ip-copy h2,.faq-section h2{font-size:clamp(2.7rem,11vw,4rem)}.heading-aside{display:flex;align-items:center;justify-content:space-between;max-width:450px;margin-top:20px}.heading-aside p{max-width:310px;margin:0}.hand-mark{width:56px;height:56px;flex:none}.filter-row{flex-wrap:nowrap;overflow-x:auto;padding:2px 0 9px;margin-right:-20px}.filter-chip{white-space:nowrap}.frame-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.frame-card-image{border-radius:12px}.frame-meta h3{font-size:.88rem}.frame-meta p{font-size:.72rem}.gallery-foot{margin-top:27px;align-items:flex-start;flex-direction:column;gap:12px}.signature-section{display:block;padding:70px 22px 76px;min-height:auto}.signature-copy h2{font-size:clamp(3.2rem,13vw,5rem)}.signature-art{height:430px;margin-top:24px}.signature-large{width:57%;height:88%;left:3%}.signature-small{width:36%;height:59%;right:2%;top:24%}.signature-sticker{width:87px;height:87px;font-size:.62rem}.steps-grid{grid-template-columns:1fr;gap:13px}.step-card{display:grid;grid-template-columns:40% 1fr;column-gap:17px;padding:13px 13px 17px}.step-num{top:16px;left:16px}.step-visual{grid-row:1/3;height:190px;margin:0}.step-card h3{align-self:end;margin:8px 0 0;font-size:1.05rem}.step-card p{align-self:start;font-size:.82rem;margin-top:5px}.mood-top{display:block}.mood-lede{margin-top:19px}.mood-reel{grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px;margin-right:-21px;overflow-x:auto;padding:0 21px 18px 0}.mood-tile,.mood-tile:nth-child(n){margin-top:0!important}.mood-tile img,.mood-tile-wide img{height:210px}.mood-bottom{font-size:.72rem;gap:10px}.mood-line{min-width:18px}.ip-section{display:flex;flex-direction:column;align-items:stretch;padding:68px 22px 44px;min-height:auto}.ip-stage{height:390px;margin-top:12px}.ip-sun{width:280px;height:280px;left:12%;top:37px}.ip-mascot{height:56%;width:39%;top:22%}.ip-frame{height:80%;width:46%;right:7%;top:9%}.memory-section{display:flex;flex-direction:column-reverse;gap:36px}.memory-copy{width:100%}.memory-pictures{width:100%;height:350px}.memory-img-one{width:44%;height:72%;left:4%;}.memory-img-two{width:43%;height:66%;left:38%;top:25%}.memory-img-three{width:31%;height:44%;right:1%}.memory-date{font-size:1.2rem;right:5%}.faq-section{display:block}.faq-list{margin-top:30px}.end-card{margin:42px 16px;padding:25px 20px;gap:13px;flex-wrap:wrap;border-radius:18px}.end-card>img{width:55px;height:55px;border-radius:14px}.end-card>div{min-width:calc(100% - 75px)}.end-card h2{font-size:1.25rem}.end-card .button{width:100%}.site-footer{display:block;padding:30px 21px 20px}.footer-links{justify-content:flex-start;gap:18px;margin:26px 0}.footer-bottom{flex-direction:column;gap:5px;font-size:.7rem}.legal-top{padding:17px 19px}.legal-top-links{gap:12px}.legal-top-links a,.legal-back{font-size:.76rem}.legal-main{margin:39px auto 95px;padding:0 15px}.legal-main h1{font-size:2.4rem}.legal-content{padding:24px 20px;border-radius:15px;font-size:.95rem;line-height:1.85}.legal-content h2{font-size:1.22rem}.legal-footer{padding:0 20px 36px}.legal-footer .footer-links{margin:0}.legal-footer .footer-bottom{margin-top:21px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.frame-card[data-category="mood"] .frame-card-image{aspect-ratio:1/1}.frame-card[data-category="profile"] .frame-card-image,.frame-card[data-category="story"] .frame-card-image{aspect-ratio:9/15}
.language-link{font-weight:750;letter-spacing:.06em}.main-nav .language-link{border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--ink)}html[lang="en"] .main-nav{gap:clamp(12px,2vw,30px)}html[lang="en"] .main-nav>a:not(.nav-cta){font-size:.82rem}.legal-top-links .language-link{color:#ba2861;font-weight:750}.language-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 75% 18%,#ffe0ec 0,transparent 38%),radial-gradient(circle at 20% 85%,#dcecff 0,transparent 36%),var(--paper)}.language-card{width:min(560px,100%);padding:clamp(36px,7vw,70px);text-align:center;background:rgba(255,255,255,.88);border:1px solid #ebe8eb;border-radius:28px;box-shadow:0 24px 70px rgba(32,31,43,.09)}.language-card>img{margin:0 auto 22px;border-radius:20px}.language-card h1{font-size:clamp(2.4rem,7vw,4.3rem);line-height:1.08;letter-spacing:-.055em;margin:0}.language-card h1 span{font-family:var(--display);color:var(--pink);font-weight:500}.language-actions{display:flex;justify-content:center;gap:12px;margin-top:34px}.language-actions .button{min-width:135px}
@media(max-width:1120px) and (min-width:721px){.site-header{padding-left:3%;padding-right:3%}.main-nav{gap:12px}.main-nav>a:not(.nav-cta),html[lang="en"] .main-nav>a:not(.nav-cta){font-size:.75rem}.nav-cta{padding-left:15px;padding-right:15px}}
@media(max-width:720px){.main-nav .language-link{border-radius:0;border-width:0 0 1px;padding:13px 10px}.legal-top .brand{display:none}.legal-top-links{margin-left:auto}.language-actions{flex-direction:column}.language-actions .button{width:100%}}

/* Full-viewport film opening. The movie itself carries the headline. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.film-home .site-header{position:absolute;top:0;left:0;right:0;max-width:none;height:84px;padding:0 3.2%;color:#fff;background:linear-gradient(180deg,rgba(5,5,5,.6),transparent);z-index:10}
.film-home .site-header .brand{color:#fff}
.film-home .main-nav>a:not(.nav-cta){color:rgba(255,255,255,.78)}
.film-home .main-nav>a:hover{color:#fff}
.film-home .main-nav .language-link{color:#fff;border-color:rgba(255,255,255,.28)}
.film-home .nav-cta{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff;box-shadow:none}
.hero.hero-film{position:relative;display:block;width:100%;max-width:none;height:100svh;min-height:420px;margin:0;padding:0;overflow:hidden;background:#050505;color:#fff;isolation:isolate}
.hero.hero-film::before{content:none}
.hero-film-figure,.hero-film-stage{position:absolute;inset:0;width:100%;height:100%;margin:0;background:#050505}
.hero-video{display:block;width:100%;height:100%;object-fit:contain}
.hero-film-poster{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero-film-poster img{display:block;width:100%;height:100%;object-fit:contain}
.hero-film-stage.is-playing .hero-film-poster,.hero-film-stage.has-frame .hero-film-poster{visibility:hidden}
.hero-video-controls{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));right:3.2%;display:flex;align-items:center;gap:6px;z-index:4}
.hero-video-controls[hidden]{display:none}
.film-control{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:9px 13px;color:rgba(255,255,255,.8);background:rgba(5,5,5,.45);border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:.7rem;line-height:1.4;cursor:pointer;backdrop-filter:blur(8px)}
.film-control:hover{color:#fff;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.5)}
.film-control:focus-visible,.hero-film a:focus-visible{outline:3px solid #fff;outline-offset:4px}
.hero-film-figure figcaption{position:absolute;bottom:34px;left:3.2%;max-width:36%;color:rgba(255,255,255,.42);font-size:.62rem;line-height:1.4}
.hero-film .hero-actions{position:absolute;left:24px;right:24px;bottom:max(86px,calc(env(safe-area-inset-bottom) + 70px));display:flex;align-items:center;justify-content:center;gap:26px;z-index:4}
.hero-film .button-pink{min-height:48px;padding:0 26px;background:#f8f7f3;color:#171822;box-shadow:none}
.hero-film .button-pink:hover{background:#fff}
.hero-film .text-link{color:rgba(255,255,255,.85);font-size:.8rem;border-color:rgba(255,255,255,.35)}
.hero-film noscript{position:absolute;left:24px;bottom:24px;color:#fff}
.hero-video-dialog{width:min(1440px,96vw);max-width:96vw;max-height:94svh;padding:54px 12px 12px;border:1px solid #38383b;border-radius:18px;background:#050505;color:#fff;overflow:auto}
.hero-video-dialog::backdrop{background:rgba(5,5,8,.92)}
.hero-video-dialog .film-close{position:absolute;right:12px;top:8px}
.hero-video-expanded{display:block;width:100%;height:auto;max-height:calc(94svh - 72px);object-fit:contain}
@media(max-width:720px){
 .film-home .site-header{height:72px;padding:0 20px}
 .film-home .menu-toggle span{background:#fff}
 .film-home .main-nav{background:rgba(12,12,15,.96);border-color:rgba(255,255,255,.18);backdrop-filter:blur(16px)}
 .film-home .main-nav>a:not(.nav-cta){color:#e5e5e8;border-color:rgba(255,255,255,.16)}
 .film-home .main-nav .language-link{border-color:rgba(255,255,255,.16)}
 .film-home .nav-cta{background:#fff;color:#171822}
 .hero-video-controls{left:0;right:0;bottom:max(18px,env(safe-area-inset-bottom));justify-content:center;gap:8px}
 .film-control{padding:8px 13px;font-size:.65rem}
 .hero-film .hero-actions{bottom:max(112px,calc(env(safe-area-inset-bottom) + 92px));flex-direction:column;gap:14px}
 .hero-film .hero-actions .button{min-width:230px;min-height:48px;font-size:.8rem}
 .hero-film .text-link{font-size:.73rem}
 .hero-film-figure figcaption{left:20px;right:20px;bottom:77px;max-width:none;text-align:center;font-size:.55rem}
 .hero-video-dialog{padding-left:6px;padding-right:6px;border-radius:12px}
}
@media(max-height:520px) and (min-aspect-ratio:4/5){
 .hero.hero-film{min-height:320px}
 .film-home .site-header{height:62px}
 .hero-film .hero-actions{bottom:24px;left:18px;right:auto;gap:18px}
 .hero-film .hero-actions .button{min-width:0;min-height:42px;font-size:.7rem}
 .hero-film-figure figcaption{display:none}
 .hero-video-controls{bottom:22px;left:auto;right:18px}
}

/* Our character world: transparent artwork, soft stages, and a little personality. */
.ip-world{column-gap:36px;row-gap:64px;padding-top:88px;padding-bottom:76px;background:#ffe6ef}
.ip-world .ip-stage{height:460px;margin:0;min-width:0}
html[lang="zh-CN"] .ip-world .ip-copy h2{font-size:clamp(2.7rem,4.8vw,4.4rem)}
html[lang="zh-CN"] .ip-world .ip-copy h2 span{white-space:nowrap}
.ip-orbit{position:absolute;width:360px;height:360px;max-width:85%;aspect-ratio:1;border-radius:50%;background:#ffc4d9;top:46px;left:9%;border:1px solid rgba(184,70,116,.12)}
.ip-orbit:after{content:"";position:absolute;inset:-19px;border:1px dashed rgba(139,63,93,.23);border-radius:50%;transform:rotate(-15deg)}
.ip-star{position:absolute;object-fit:contain;filter:drop-shadow(0 14px 15px rgba(125,57,80,.13));transition:transform .35s ease}
.ip-star-tea{width:62%;height:80%;left:0;top:10%;z-index:3;transform:rotate(-7deg)}
.ip-star-float{width:43%;height:48%;right:0;top:-1%;z-index:2;transform:rotate(12deg)}
.ip-star-heart{width:33%;height:42%;right:2%;bottom:10%;z-index:4;transform:rotate(8deg)}
.ip-stage:hover .ip-star-tea{transform:rotate(-3deg) translateY(-4px)}
.ip-stage:hover .ip-star-float{transform:rotate(5deg) translateY(-7px)}
.ip-stage:hover .ip-star-heart{transform:rotate(0deg) translateY(-3px)}
.ip-stage-sticker{position:absolute;top:2%;left:3%;z-index:4;font-size:.62rem;line-height:1.35;letter-spacing:.07em;font-weight:750;width:88px;height:88px;border-radius:50%;display:grid;place-content:center;text-align:center;color:#72435a;background:#fff6cf;transform:rotate(-14deg);border:1px solid rgba(114,67,90,.1)}
.ip-world .ip-caption{bottom:0;left:0;right:0;text-align:center;letter-spacing:.02em;font-size:.73rem;font-weight:500}
.character-gallery{grid-column:1/-1;min-width:0}
.character-gallery-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;border-top:1px solid rgba(117,66,88,.18);padding-top:26px;margin-bottom:24px}
.character-gallery-heading h3{font-size:1.15rem;letter-spacing:-.02em;margin:0}
.character-gallery-heading p{font-size:.83rem;color:#875a6c;margin:0}
.character-lineup{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.character-card{margin:0;min-width:0}
.character-portrait{height:235px;display:grid;place-items:center;background:#fff3f0;border-radius:100px 100px 16px 16px;overflow:hidden}
.character-portrait img{width:100%;height:100%;padding:14px 8px;object-fit:contain;filter:drop-shadow(0 9px 8px rgba(86,50,67,.08));transition:transform .3s ease}
.character-card:hover img{transform:translateY(-5px) rotate(-3deg)}
.character-blue-plush .character-portrait{background:#e5f1ff}
.character-cactus .character-portrait{background:#e8eddb}
.character-pearl-spirit .character-portrait{background:#eadff2}
.character-hooded-rebel .character-portrait{background:#ead6d9}
.character-card figcaption{display:flex;gap:9px;align-items:baseline;margin-top:12px;font-size:.8rem;font-weight:600;line-height:1.45}
.character-number{font-family:var(--display);font-style:italic;font-size:.73rem;color:#a27385;font-weight:400}
.character-family{margin:36px 0 0;background:#edecea;display:grid;grid-template-columns:.7fr 1.6fr;align-items:center;gap:16px;border-radius:20px;overflow:hidden;padding:24px 18px 18px 32px}
.character-family figcaption{position:relative;z-index:1}
.character-family .eyebrow{font-size:.63rem;margin-bottom:12px;color:#717075}
.character-family h3{font-size:clamp(1.4rem,2.5vw,2.1rem);line-height:1.25;letter-spacing:-.04em;margin:0 0 14px}
.character-family figcaption>p:last-child{font-size:.81rem;line-height:1.8;color:#68666b;margin:0}
.character-family>img{width:100%;height:auto;max-height:350px;object-fit:contain}
@media(max-width:1000px){.ip-world{column-gap:20px}.ip-world .ip-stage{height:400px}.ip-orbit{width:290px;height:290px;top:45px}.character-lineup{gap:12px}.character-portrait{height:190px}.character-card figcaption{font-size:.73rem;gap:6px}}
@media(max-width:720px){
  .ip-world{padding:68px 22px 48px;gap:32px}
  .ip-world .ip-stage{height:390px;width:100%;max-width:440px;align-self:center}
  .ip-orbit{width:280px;height:280px;top:38px;left:10%}
  .ip-stage-sticker{width:72px;height:72px;font-size:.54rem;left:0;top:5%}
  .ip-world .ip-caption{font-size:.65rem}
  .character-gallery-heading{display:block;padding-top:24px;margin-bottom:22px}
  .character-gallery-heading h3{font-size:1.1rem;margin-bottom:6px}
  .character-gallery-heading p{font-size:.8rem}
  .character-lineup{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
  .character-portrait{height:215px}
  .character-card figcaption{font-size:.78rem}
  .character-card:last-child{grid-column:1/-1;width:calc(50% - 6px);justify-self:center}
  .character-family{grid-template-columns:1fr;gap:0;padding:25px 18px 12px;margin-top:30px}
  .character-family h3{font-size:1.6rem}
  .character-family>img{max-height:none;margin-top:4px}
}
@media(max-width:380px){.ip-world .ip-stage{height:335px}.ip-orbit{width:230px;height:230px}.character-portrait{height:185px}.character-card figcaption{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.ip-star,.character-portrait img{transition:none}.ip-stage:hover .ip-star,.character-card:hover img{transform:none}}
/* Fill common laptop and phone screens; keep the safe composition on unusual ratios. */
@media(min-aspect-ratio:3/2) and (max-aspect-ratio:13/5), (min-aspect-ratio:2/5) and (max-aspect-ratio:31/50){
 .hero-video,.hero-film-poster img{object-fit:cover}
}
@media(min-width:721px){
 .film-home .site-header{height:64px}
 .film-home .main-nav>a[href^="#"]{display:none}
}

.film-start{position:absolute;left:50%;top:50%;z-index:5;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 28px;border:1px solid rgba(255,255,255,.4);border-radius:22px;background:rgba(5,5,5,.7);color:#fff;font:inherit;font-size:.85rem;cursor:pointer;backdrop-filter:blur(12px)}
.film-start[hidden]{display:none}
.film-start-icon{display:grid;place-items:center;width:58px;height:58px;padding-left:4px;border:1px solid rgba(255,255,255,.65);border-radius:50%;font-size:1.2rem}
.film-start:hover{background:rgba(5,5,5,.85);border-color:#fff}
.film-start:focus-visible{outline:3px solid #fff;outline-offset:5px}
