/* V4: warm paper, teal, fine gold and cinnabar; fixed character proportions. */
:root{--v4-ink:#174b40;--v4-paper:#faf6ee;--v4-red:#b43b27;--v4-line:#174b4028}
html{background:#e7e7db}body{color:var(--v4-ink)}#app{background:var(--v4-paper)}
.content{padding:0 17px 114px}.top{margin-bottom:7px}.top h1{font-size:23px;letter-spacing:0}.top.back h1{font-size:17px}.status{color:#244c40}.card{background:#fffdf6;border-color:#e3dfd2;border-radius:14px}.btn{background:#1e6555;min-height:44px;padding:12px 17px;font-size:13px;line-height:1.5}.btn.red{background:var(--v4-red)}.btn.light{background:#eeeede;color:#275d4d}.btn.sm{min-height:34px;font-size:11px;padding:7px 13px}.nav{height:78px;background:#fbf8f0f7;border-color:#e5dfd3}.nav a{font-size:11px}.nav .active{color:var(--v4-red)}.nav .active .icon{box-shadow:none}.nav .icon{width:25px;height:25px;stroke-width:1.5}.figure-title,.hero h2,.trip-title{font-family:LocalKai,'KaiTi','SimSun',serif;color:var(--v4-ink)}.credit{font-size:9px;color:#8b9480}.data-note{color:#8b927f}.text-link{display:block;text-align:center;font-size:12px;font-weight:600;padding:17px 8px}.fixed-action{border-top:1px solid #e4dfd0;background:#faf6eef5;min-height:75px;gap:8px}.fixed-action .btn{flex:1}.fixed-action .summary{font-size:11px;min-width:100px}.story{line-height:1.95}.title-row h2{font-size:18px}
.live-hero{isolation:isolate;background:radial-gradient(ellipse at 80% 80%,#e4e8d6 0,transparent 59%),#f0eadb;min-height:205px;padding:19px 17px;overflow:hidden;position:relative;border:1px solid #e0d7c3}.live-hero .copy{position:relative;z-index:3;width:58%}.live-hero h2{font-size:30px;line-height:1.25;letter-spacing:.04em;margin:13px 0 8px}.live-hero .subtitle{font-size:11px;max-width:165px}.live-hero .btn{font-size:10px}.hero-actor{position:absolute;inset:8px -21px 8px 45%;z-index:2;pointer-events:none}.hero-wave{position:absolute;bottom:-15px;width:100%;height:75px;left:0;object-fit:cover;opacity:.15;z-index:0}.hero .store-title{white-space:nowrap;letter-spacing:.05em;font-size:clamp(25px,7.1vw,30px)}.home-pet>img{height:108px;width:77px}.home-pet{background:#e7ecde}.quick{margin-top:16px}.search{background:#fffdf7;border:1px solid #e4dfd1}.date-badge{background:#f6e5d9;color:var(--v4-red)}.performance-brief{padding:13px 11px;gap:9px}.performance-brief h3{font-size:12px}.performance-brief>a{font-size:10px;white-space:nowrap}
.afu-scene{width:100%;height:auto;aspect-ratio:1298 / 1212;position:relative;isolation:isolate;overflow:hidden;border-radius:15px;background:#eadfca}.afu-background,.afu-door{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.afu-background{z-index:0}.afu-door{z-index:3;pointer-events:none}.afu-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;touch-action:manipulation}.afu-canvas[data-interactive="1"]{cursor:pointer}.afu-canvas:focus-visible{outline:3px solid #c39943;outline-offset:-4px}.afu-court-title{position:absolute;top:9px;left:43%;font-family:'SimSun',serif;font-weight:900;font-size:34px;line-height:1.1;color:#174b40;z-index:4;pointer-events:none}.afu-court-title small{font-size:20px}.afu-sound{position:absolute;right:8px;top:8px;border:1px solid #174b4029;border-radius:20px;background:#fffbf0e8;padding:5px 8px;display:flex;gap:3px;align-items:center;color:#285c4c;z-index:6;font-size:9px}.afu-sound .icon{width:13px;height:13px;stroke-width:1.7}.afu-speech{position:absolute;left:8px;right:8px;bottom:9px;z-index:5;text-align:center;border-radius:20px;padding:6px 7px;background:#fffdf2d9;color:#2e6351;font-size:10px;line-height:1.5;pointer-events:none}.afu-scene-label{display:none}.scene-disclaimer{position:absolute;left:8px;bottom:8px;background:#fff7e1d9;padding:5px 7px;border-radius:5px;color:#486d59;z-index:5;font-size:8px}.afu-scene.museum{aspect-ratio:3 / 4}.afu-scene.village{aspect-ratio:4 / 5}.afu-scene.museum .afu-background,.afu-scene.village .afu-background{object-fit:cover}.afu-scene.village .afu-background{object-position:42% center}.afu-scene.museum .afu-background{object-position:center bottom}.afu-scene.silhouette .afu-canvas{filter:brightness(0);opacity:.82}.afu-scene .walk-hotspot{left:30%;top:38%;z-index:6;font-size:10px}.walk-location{position:absolute;left:10px;top:10px;z-index:5;border-radius:9px;padding:8px;background:#fffdf1e8;display:flex;align-items:center;gap:4px;font-size:10px}.walk-location .icon{width:14px;height:14px}
.courtyard-tools{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:10px;align-items:center;margin:20px 0 22px}.courtyard-tools button{padding:0;font-size:11px;white-space:nowrap;display:flex;align-items:center;flex-direction:column;gap:5px}.courtyard-tools .icon{width:28px;height:28px;stroke-width:1.55}.courtyard-tools .knock{background:var(--v4-red);color:#fff;display:grid;place-items:center;padding:14px 7px;font-size:19px;letter-spacing:.08em;border-radius:10px;min-height:54px}.v4-menu-list{border-top:1px solid var(--v4-line);margin-top:5px}.v4-menu-list .menu-row{padding:17px 2px;border-bottom:1px solid var(--v4-line);border-radius:0;gap:11px}.v4-menu-list .menu-row>span{font-size:15px;font-weight:600}.v4-menu-list .menu-row .icon{height:26px;width:26px;stroke-width:1.6}.v4-menu-list .chev{font-size:19px!important}.v4-menu-list .chev span{font-size:10px;font-weight:400}.v4-trip-row{display:flex;align-items:center;gap:13px;padding:15px 2px;border-bottom:1px solid var(--v4-line)}.v4-trip-row>img{height:57px;width:88px;object-fit:cover;border-radius:7px}.v4-trip-row strong{font-size:16px}.v4-trip-row small{display:block;font-size:10px;color:#7f8b76;margin-top:7px}.v4-trip-row>span{margin-left:auto;font-size:24px}.pet-name-line{text-align:center;padding:17px 0;font-size:12px;font-weight:650}.pet-small-links{display:flex;justify-content:space-around;font-size:9px;color:#81907c;padding-top:5px}.v4-pet{padding-bottom:105px}
.movement-heading{display:flex;align-items:center;justify-content:center;gap:20px;padding:4px 3px 13px}.movement-heading h2{font-family:'SimSun',serif;font-size:21px;font-weight:700;margin:0;white-space:nowrap}.movement-heading i{height:1px;background:#c9cbbc;flex:1}.move-instruction{text-align:center;font-size:13px;padding:13px 0 12px;margin:0;border-bottom:1px solid var(--v4-line);line-height:1.8}.movement-collected{text-align:center;font-size:11px;margin:13px 0 20px;color:#587765}.v4-practice>.btn{font-size:18px;letter-spacing:.1em}.move-description{font-size:11px;line-height:1.9;color:#7b8b76;padding-top:7px;border-top:1px solid var(--v4-line)}.move-description .btn{font-size:10px;margin:4px 0 7px}.v4-program-entry{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--v4-line);font-size:12px;font-weight:600}.v4-program-entry .icon{height:18px;width:18px}.collection-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:4px 0 17px}.collection-heading h2{font-size:14px;margin:0}.collection-heading>span{font-size:11px;white-space:nowrap}.v4-movement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.movement-tile{min-width:0;min-height:161px;padding:12px 9px 14px;border:1px solid #dcd8c6;background:#f7f3e8;position:relative;border-radius:11px;text-align:left;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px}.movement-tile .pose-frame{height:112px;width:100%;display:flex;align-items:center;justify-content:center}.movement-tile img{height:100%;max-width:100%;object-fit:contain}.movement-tile strong{font-family:LocalKai,'SimSun',serif;font-size:17px;line-height:1.3;white-space:nowrap;align-self:flex-end;padding-right:5px}.movement-tile .collect-mark{position:absolute;right:10px;top:10px;color:#547b63;font-size:18px}.movement-tile.collected{border-color:#9cae8b;background:#eff0e2}.movement-tile.collected .collect-mark{color:var(--v4-red)}.movement-tile.featured{grid-column:1/-1;min-height:165px;flex-direction:row;align-items:center;justify-content:flex-start;gap:20px;padding:12px 17px}.movement-tile.featured .pose-frame{width:48%;height:140px}.movement-tile.featured strong{align-self:center;font-size:21px;padding:0}.movement-tile.featured .collect-mark{top:72px}.gallery-caption{font-size:10px;line-height:1.8;color:#88937c;margin:17px 2px}.stage-slots>button{padding:12px 5px;border:1px solid #dce0ce;border-radius:10px;background:#e9eddf;text-align:center;min-width:0}.stage-slots>button small{font-size:10px;color:#8a957d}.stage-slots>button strong{display:block;margin-top:6px;font-size:13px;color:#457857}.stage-slots .editing{background:#d9e4cf;border-color:#7c9a66}
.v4-trip-cover{display:block;width:100%;aspect-ratio:1.55;object-fit:cover;border-radius:15px}.trip-title{font-size:26px;line-height:1.3;margin:19px 0 7px}.trip-subtitle{font-size:13px;margin:0 0 17px}.postcard-invite{display:flex;gap:17px;align-items:center;margin:24px 0}.postcard-thumb{position:relative;width:43%;aspect-ratio:1.6;padding:5px;background:#fff9e7;box-shadow:0 3px 8px #34502a15;transform:rotate(-5deg);border:1px solid #dcd7bd;flex-shrink:0}.postcard-thumb>img:first-child{width:100%;height:100%;object-fit:cover}.postcard-thumb .postcard-afu{position:absolute;bottom:3px;right:6px;width:38%;height:90%;object-fit:contain;filter:drop-shadow(0 1px 1px #23492b40)}.postcard-invite h3{font-size:17px;margin:0 0 8px}.postcard-invite p{font-size:11px;color:#839078;margin:0}.postcard-paper{background:#fffaf0;padding:11px;border:1px solid #e1d6b8;box-shadow:0 4px 17px #3860350d;border-radius:5px}.postcard-scene .afu-scene{aspect-ratio:1.1;border-radius:2px}.postcard-copy{position:relative;padding:20px 9px 18px}.postcard-copy>span{letter-spacing:.17em;font-size:8px;color:#a48b5a}.postcard-copy h2{font-family:'SimSun',serif;font-size:22px;margin:15px 0 9px;line-height:1.35;max-width:80%}.postcard-copy p{font-size:11px;color:#7a8a74}.postcard-stamp{position:absolute;bottom:18px;right:8px;border:2px solid #b74c36aa;color:#b74c36aa;font-family:'SimSun',serif;padding:6px;font-size:13px;line-height:1.3;transform:rotate(-9deg)}.postcard-received{margin:20px 0 13px}.postcard-received h3{font-size:15px}.postcard-received p{font-size:11px;line-height:1.8}.saved-photo{display:block;width:100%;height:auto;border-radius:12px}
.v4-splash{overflow:hidden;background:radial-gradient(ellipse at 85% 15%,#e8e9d358,transparent 55%),#faf6ee;position:relative}.v4-splash .content{z-index:1;padding-bottom:70px}.v4-splash .brand-mark{height:32px;margin:8px auto 7px;object-fit:contain}.v4-splash .brand-title{height:87px;object-fit:contain}.v4-splash .tagline{letter-spacing:.15em;margin:14px 0 1px;text-align:center;color:#8c865e}.v4-splash-stage{position:relative;height:330px;max-width:340px;margin:10px auto 0;isolation:isolate}.splash-ring{position:absolute;left:50%;top:32px;width:245px;height:245px;border-radius:50%;border:1px solid #c6ae755f;transform:translateX(-50%);background:radial-gradient(#eddeb750,transparent 68%)}.splash-greeting{position:absolute;bottom:-5px;left:0;right:0;text-align:center;font-size:10px;color:#9a8c63;letter-spacing:.05em}.v4-splash-stage .afu-sound{top:2px;right:0}.v4-splash .bottom{padding:27px 5px 0;position:relative;z-index:2}.v4-splash .bottom h2{font-family:'SimSun',serif;font-size:23px;margin:0 0 10px}.v4-splash .bottom .subtitle{font-size:10px}.v4-splash .bottom .btn{margin-top:22px;font-size:14px;letter-spacing:.13em}.v4-splash .wave{position:absolute;bottom:0;left:0;width:100%;height:55px;object-fit:cover;opacity:.6}.splash-caption{font-size:8px;letter-spacing:.12em;color:#a7a48b;text-align:center;margin:21px 0 0}.splash-cloud{position:absolute;width:150px;height:50px;border:1px solid #bca56924;border-radius:90px;transform:rotate(-18deg);pointer-events:none}.cloud-one{top:140px;left:-70px}.cloud-two{top:72px;right:-80px;transform:rotate(23deg)}
@media(max-width:370px){.content{padding-left:15px;padding-right:15px}.afu-court-title{font-size:30px}.afu-court-title small{font-size:17px}.courtyard-tools{gap:7px}.courtyard-tools .knock{font-size:17px}.courtyard-tools .icon{width:25px;height:25px}.movement-tile.featured{gap:12px}.movement-tile.featured strong{font-size:19px}.movement-tile .pose-frame{height:105px}.v4-splash-stage{height:299px}.v4-splash .brand-title{height:76px}.v4-splash .bottom h2{font-size:21px}.live-hero h2{font-size:27px}.v4-menu-list .menu-row>span{font-size:14px}.pet-small-links{font-size:8px}.v4-splash .bottom{padding-top:22px}}
@media(min-width:600px){.afu-scene{aspect-ratio:1298 / 1212}.content{padding-bottom:110px}}
.v4-pet .courtyard-tools{margin:16px 0}.v4-pet .v4-menu-list .menu-row{padding-top:14px;padding-bottom:14px}.pet-name-line{padding:13px 0}
