@font-face{font-family:GiftSerif;src:url('./assets/noto-serif-sc-names-v19-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+957F,U+4F34,U+4E30,U+6DFB}
@font-face{font-family:GiftSerif;src:url('./assets/noto-serif-sc-names-v19-500.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap;unicode-range:U+957F,U+4F34,U+4E30,U+6DFB}
@font-face{font-family:GiftSerif;src:url('./assets/noto-serif-sc-names-v19-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap;unicode-range:U+957F,U+4F34,U+4E30,U+6DFB}
@font-face{font-family:GiftSerif;src:url('./assets/noto-serif-sc-names-v19-700.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap;unicode-range:U+957F,U+4F34,U+4E30,U+6DFB}
@charset "UTF-8";
@font-face{font-family:GiftSerif;src:url('./assets/noto-serif-sc-v12-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:GiftSerif;src:url('./assets/noto-serif-sc-v12-500.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:GiftSerif;src:url('./assets/noto-serif-sc-v12-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:GiftSerif;src:url('./assets/noto-serif-sc-v12-700.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{font-family:GiftSerif,"Songti SC","STSong",SimSun,serif;color:#241e17;background:#e7dccd;--paper:#f4e9d9;--red:#ad241b;--brown:#745036}*{box-sizing:border-box}body{margin:0;background:#e7dccd;display:flex;justify-content:center;min-height:100svh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid #ad241b;outline-offset:4px}[hidden]{display:none!important}button:disabled{cursor:default;opacity:.6}
.experience{position:relative;container-type:inline-size;width:min(100%,520px);min-height:100svh;background:var(--paper);isolation:isolate;overflow:clip;align-self:flex-start;box-shadow:0 0 70px #50382316}.hero{position:relative;height:137cqw;overflow:clip}.scene{position:absolute;inset:0;touch-action:none}.scene canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.scene canvas:active{cursor:grabbing}.scene-loading,.scene-error{position:absolute;inset:0;background:#eee3d2;z-index:12;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;text-align:center;font-size:13px;letter-spacing:2px;color:#8a6243}.scene-loading small{font-size:10px;color:#a98b6c}.scene-error{line-height:2;letter-spacing:1px;padding:30px;z-index:3}
.topbar{position:absolute;top:3.5cqw;left:8.5cqw;right:6.9cqw;display:flex;justify-content:space-between;align-items:center;z-index:5;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:2.4cqw;text-decoration:none;color:#161612}.brand-seal{position:relative;display:block;width:7.15cqw;height:7.15cqw;overflow:hidden;flex:none}.brand-seal img{position:absolute;width:1337.143%;max-width:none;left:-111.429%;top:-44.286%;height:auto;mix-blend-mode:multiply}.brand-text strong{display:block;font-size:3.3cqw;letter-spacing:.3cqw;font-weight:700;line-height:1.3}.brand-text small{display:block;font-family:Georgia,"Times New Roman",serif;font-weight:600;font-size:1.5cqw;letter-spacing:.48cqw;white-space:nowrap;margin-top:1cqw}.icon-button{display:grid;place-items:center;width:7.2cqw;height:7.2cqw;min-width:28px;min-height:28px;border:1px solid #75634d;border-radius:50%;background:#f5ebdc80;padding:1.8cqw}.icon-button img{width:100%;height:100%;opacity:.85}.intro{position:absolute;z-index:4;top:17.2cqw;left:8.5cqw;pointer-events:none;transition:opacity .3s,transform .3s}.eyebrow{display:flex;align-items:center;gap:1.5cqw;font-family:Georgia,"Times New Roman",serif;font-size:1.55cqw;letter-spacing:.46cqw;font-weight:500;white-space:nowrap;margin:0 0 2cqw;line-height:2.3cqw}.eyebrow>span{display:block;width:4.9cqw;border-top:1px solid #352b20}.intro h1{font-size:8.05cqw;line-height:1.2;letter-spacing:.1cqw;font-weight:500;margin:0;white-space:nowrap;text-shadow:0 1px 15px #f5ead988}.intro h1 span{color:var(--red)}.subtitle{font-size:2.65cqw;line-height:1.6;letter-spacing:.36cqw;margin:2.1cqw 0 0;white-space:nowrap;color:#42372a}.vertical-note{position:absolute;top:19cqw;right:6.8cqw;font-size:1.7cqw;letter-spacing:1.7cqw;line-height:2;writing-mode:vertical-rl;color:#745036;margin:0;z-index:4;pointer-events:none;transition:opacity .3s}.gift-trigger{position:absolute;z-index:6;width:43cqw;height:20cqw;transform:translate(-50%,-50%);border:0;padding:0;background:transparent;overflow:visible}.tap-hand{position:absolute;left:50%;top:0;width:9cqw;height:9cqw;transform:translateX(-50%);border-radius:50%;display:grid;place-items:center;background:#fff6e9e8;border:1px solid #e0bf8b;box-shadow:0 0 0 2cqw #fff6e93d;animation:tap 1.6s ease-in-out infinite}.tap-hand img{width:4.8cqw;opacity:.7}.tap-label{position:absolute;left:50%;top:22.5cqw;transform:translateX(-50%);font-size:2.4cqw;letter-spacing:.3cqw;padding:1.5cqw 2.5cqw;white-space:nowrap;border:1px solid #ead4b4;border-radius:20px;background:#fff6e7ed;color:#8d472b;box-shadow:0 2px 18px #54301a12}.gift-trigger:focus-visible .tap-label{outline:2px solid #a8241b;outline-offset:3px}.hotspots{position:absolute;inset:0;z-index:5;pointer-events:none}.hotspot{position:absolute;pointer-events:auto;display:flex;align-items:center;gap:1.2cqw;height:5.5cqw;padding:.5cqw 1.8cqw .5cqw .9cqw;font-size:2.3cqw;letter-spacing:.1cqw;background:#fff5e4ef;border:1px solid #e4ceb0;border-radius:6cqw;color:#684123;white-space:nowrap;box-shadow:0 1px 6px #6c4d2414;transform:translate(-50%,-100%)}.hotspot:before{content:"";position:absolute;inset:-8px}.hotspot>span{display:grid;place-items:center;width:3.9cqw;height:3.9cqw;border:1px solid #895c38;border-radius:50%;font-family:Georgia,serif;font-size:3cqw;line-height:1;font-weight:400}.hotspot.seen>span{background:#a8241c;color:#fff3df;border-color:#a8241c}.opening-message{position:absolute;z-index:7;top:auto;bottom:15cqw;left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:90%;margin:0;padding:10px 19px;text-align:center;font-family:GiftSerif,"Songti SC",serif;font-weight:600;font-size:clamp(15px,3.4cqw,18px);line-height:1.6;letter-spacing:.12em;color:#92271c;background:#fff6e8f5;border:1px solid #cbae82;border-radius:30px;box-shadow:0 3px 18px #4c271f24;pointer-events:none}.opening-message:empty{display:none}.scene-tools{position:absolute;left:8.5cqw;right:7cqw;bottom:14cqw;display:flex;align-items:center;justify-content:space-between;z-index:6;font-size:2cqw;letter-spacing:.15cqw;color:#805b3f;pointer-events:none}.scene-tools>span{padding:1.3cqw 2.2cqw;background:#fff4e6db;border:1px solid #d7bc9780;border-radius:22px}.scene-tools>div{display:flex;gap:1.2cqw;pointer-events:auto}.scene-tools button{width:6.5cqw;height:6.5cqw;min-width:26px;min-height:26px;padding:1.55cqw;background:#fff4e6dc;border:1px solid #cbb18f;border-radius:50%;display:grid;place-items:center}.scene-tools img{width:100%;height:100%;opacity:.8}
.collection{position:relative;margin-top:-10cqw;padding:4.5cqw 4.3cqw 2cqw;color:#211d16;pointer-events:none}.paper-edge{position:absolute;left:0;top:-7cqw;width:100%;height:33.4cqw;pointer-events:none;z-index:0}.collection:after{content:"";position:absolute;top:22cqw;left:0;right:0;bottom:0;background:var(--paper);z-index:0}.collection-content,.focus-panel{position:relative;z-index:1;pointer-events:auto}.chapter{font-size:1.8cqw;letter-spacing:.25cqw;margin-left:1.7cqw;line-height:2.6cqw;color:var(--brown);display:flex;align-items:center;gap:3cqw}.space-badge{font-size:1.6cqw;letter-spacing:.15cqw;border:1px solid #cdb594;border-radius:12px;padding:.4cqw 1.4cqw;color:#967047}.progress{display:flex;gap:.8cqw;margin:1.5cqw 0 3cqw 1.7cqw;height:.3cqw;align-items:center}.progress>span{display:block;width:3.7cqw;height:1px;background:#7e513b}.progress>span.active{width:6.5cqw;height:2px;background:#af241a}.collection-eyebrow{font-family:Georgia,"Times New Roman",serif;margin:0 0 2.1cqw 1.7cqw;font-size:1.7cqw;line-height:2cqw;letter-spacing:.5cqw;color:#6c452b}.collection-heading{display:flex;align-items:baseline;justify-content:space-between;margin:0 1.7cqw 1.3cqw}.collection-heading h2{font-size:5.15cqw;letter-spacing:.12cqw;line-height:1.2;font-weight:500;margin:0;white-space:nowrap}.discovered{font-size:3.2cqw;font-family:Georgia,"Times New Roman",serif;font-style:italic;white-space:nowrap;color:var(--red);letter-spacing:.15cqw}.product-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1cqw}.product-card{display:flex;align-items:center;flex-direction:column;padding:.8cqw .3cqw 1.5cqw;background:#fbf4e952;border:1px solid #cfb59b;border-radius:1.2cqw;min-width:0;height:20.9cqw;position:relative;transition:background .2s,transform .2s,border .2s}.product-card:hover:not(:disabled){background:#fff8ecb0;transform:translateY(-2px)}.product-card:active:not(:disabled){transform:scale(.97)}.product-card.seen{border-color:#a8422d;background:#fff5e7a0}.product-card>img{display:block;width:100%;height:12.3cqw;object-fit:contain;mix-blend-mode:multiply;pointer-events:none}.card-number{font-family:Georgia,"Times New Roman",serif;font-size:2.7cqw;line-height:3.2cqw;color:#754023;margin:.2cqw 0 .45cqw}.card-name{font-size:2.3cqw;line-height:3cqw;letter-spacing:.2cqw;white-space:nowrap}.footer{display:flex;justify-content:center;align-items:center;gap:1.4cqw;padding-top:3.2cqw;font-size:2.1cqw;letter-spacing:.35cqw;color:#82583d;white-space:nowrap}.footer i{font-style:normal;margin:0 1.5cqw}.footer button{position:relative;width:4.8cqw;height:4.8cqw;display:grid;place-items:center;background:none;border:0;padding:1cqw}.footer button:before{content:"";position:absolute;inset:-10px}.footer button img{width:100%}.prototype-note{font-size:1.65cqw;color:#aa9276;text-align:center;letter-spacing:.14cqw;margin:1.5cqw 0 0;line-height:1.6}
.focus-panel{min-height:45cqw;text-align:center;padding:0 2cqw}.focus-top{display:flex;justify-content:space-between;align-items:center;color:#9a7853;font:1.8cqw Georgia,serif;letter-spacing:.2cqw}.focus-top button{width:6.5cqw;height:6.5cqw;border:1px solid #cdb394;border-radius:50%;padding:1.6cqw;background:transparent;display:grid;place-items:center}.focus-top img{width:100%}.focus-panel h2{font-size:5.8cqw;font-weight:500;letter-spacing:.6cqw;margin:1.8cqw 0 1.4cqw}.focus-panel>p:not(.prototype-note){font-size:2.5cqw;color:#8c6b4b;letter-spacing:.25cqw;margin:0 0 3cqw}.model-action{display:block;margin:0 auto 3.2cqw;border:1px solid #c6a37d;background:#fff5e8;color:#8d4c2b;border-radius:25px;padding:1.8cqw 6cqw;font-size:2.5cqw;letter-spacing:.4cqw}.detail-actions{display:flex;align-items:center;justify-content:center;gap:2cqw}.detail-actions>button{height:9cqw;border:1px solid #c9aa84;background:transparent;border-radius:4px;padding:2cqw;display:grid;place-items:center}.detail-actions>button:first-child,.detail-actions>button:last-child{width:9cqw;flex:none}.detail-actions>button img{width:4cqw;opacity:.7}.detail-actions>#back-to-scene{width:45cqw;background:#a32c20;color:#fff4e3;border-color:#a32c20;font-size:2.5cqw;letter-spacing:.4cqw}.experience[data-state="focus"] .intro,.experience[data-state="focus"] .vertical-note{opacity:0;transform:translateY(-10px)}.experience[data-state="focus"] .scene-tools{bottom:12cqw}.experience[data-state="opening"] .reset{opacity:.7}
@keyframes tap{0%,100%{transform:translate(-50%,0) scale(1)}50%{transform:translate(-50%,4px) scale(.96)}}
@media(min-width:600px){body{padding:22px 0}.experience{box-shadow:0 16px 90px #50382328;min-height:0;border-radius:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Keep portrait artwork unobscured while preserving normal vertical page scrolling. */
@media(max-width:600px){html{scrollbar-width:none}html::-webkit-scrollbar{display:none;width:0;height:0}}

/* Keep the flight path clear while the products emerge. */
.experience[data-state="opening"] .intro,.experience[data-state="opening"] .vertical-note{opacity:0;transform:translateY(-10px)}

.header-actions{display:flex;gap:8px;pointer-events:auto}.asset-credits{margin:0 5cqw 12px;color:#795b42;font-size:10px;line-height:1.8}.asset-credits summary{cursor:pointer;min-height:28px;display:flex;align-items:center}.asset-credits p{overflow-wrap:anywhere;margin:4px 0}#music-toggle[aria-pressed="true"]{background:#fff4e2;border-color:#a63828}

/* v12: official corporate identity and the “越来越好” theme. */
.corporate-logo{display:block;width:33cqw;height:auto;max-width:172px}.corporate-brand{align-self:center}.intro h1 .theme-name{display:block;color:var(--red);font-size:12.7cqw;line-height:1.15;letter-spacing:.7cqw}.intro h1 .theme-line{display:block;color:#241e17;font-size:6.4cqw;line-height:1.35;margin-top:1.4cqw;letter-spacing:.18cqw}.intro .eyebrow{letter-spacing:.40cqw}.intro .subtitle{font-size:2.55cqw;letter-spacing:.18cqw}.header-actions .icon-button{min-width:30px;min-height:30px}

/* v14: remove metadata and decorative labels from the presentation. */
.collection-heading{margin-top:3.4cqw;margin-bottom:3cqw}.focus-top{justify-content:flex-end}.product-card{height:18cqw}.card-name{margin-top:.7cqw}.hotspot{padding:.6cqw 1.9cqw;height:4.8cqw}.footer{padding-top:2.5cqw}
