@charset "UTF-8";
:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",sans-serif;font-weight:400;color:#173a36;font-synthesis:none;--cream:#ffedb8;--forest:#173d3d;--ink:#183b36;--phone-width:430px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;overscroll-behavior:none}body{background:#e8e7df;display:flex;align-items:center;justify-content:center;min-height:100dvh;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline:3px solid #e9902e;outline-offset:5px}button:disabled{cursor:wait;opacity:.65}button{touch-action:manipulation}p,h1,h2{margin:0}button:active{transform:translateY(1px)}
.desktop-note{position:absolute;left:max(4vw,calc(50% - 540px));top:calc(50% - 220px);width:280px}.tiny-label{font-size:12px;letter-spacing:2px}.desktop-title{font-size:48px;line-height:1.35;letter-spacing:-2px;font-weight:800;margin-top:30px;position:relative}.desktop-title span{color:#ce632e;font-size:38px;margin-left:5px}.desktop-copy{font-size:14px;line-height:1.9;color:#748077;margin-top:24px}.desktop-rule{width:50px;height:2px;background:#aeb3a6;margin:30px 0}.desktop-instruction{font-size:12px;line-height:1.8;color:#717a70}.desktop-instruction span{font-size:30px;float:right;margin-right:60px}.desktop-foot{font-size:8px;letter-spacing:1.5px;display:block;margin-top:100px;color:#889083}.desktop-year{position:absolute;right:max(4vw,calc(50% - 485px));font-weight:900;font-size:105px;line-height:.9;color:#d5d9cc;letter-spacing:-8px;transform:rotate(0deg)}.desktop-year span{display:block;writing-mode:vertical-rl;font-size:12px;line-height:1.4;letter-spacing:4px;margin:30px 0 0 40px;color:#84917e}
.phone{width:430px;height:calc(100dvh - 48px);max-height:900px;position:relative;background:#173d3d;overflow:hidden;border-radius:28px;box-shadow:0 24px 65px #3144372c,0 0 0 7px #fcfbf5,0 0 0 8px #c6c9bc;isolation:isolate;margin-left:0}.journey{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;scroll-snap-type:y proximity;scrollbar-width:none;overscroll-behavior-y:contain}.journey::-webkit-scrollbar{display:none}.app-header{position:absolute;z-index:20;left:0;top:0;width:100%;height:57px;display:flex;align-items:center;justify-content:space-between;padding:0 23px;color:#fff6d9;transition:color .35s,background .35s;background:linear-gradient(#112b3266,transparent)}.brand{font-weight:800;font-size:16px;background:none;padding:6px 0;letter-spacing:1px}.brand span{color:#e6bc70;font-size:12px}.app-header>span{font-size:13px;letter-spacing:.5px}.motion-toggle{height:30px;width:30px;border:1px solid currentColor;border-radius:50%;background:transparent;font-size:12px;opacity:.7}.app-header.light{color:#244534;background:linear-gradient(#faf6e0bf,transparent)}.progress-line{position:absolute;bottom:0;left:0;right:0;height:2px;background:currentColor;color:#e9d69733}.progress-line span{display:block;height:100%;width:0;background:#dbbb70;transition:width .25s}.chapter-dots{position:absolute;right:10px;top:47%;z-index:21;display:flex;flex-direction:column;gap:3px;transform:translateY(-50%)}.chapter-dots button{padding:5px;width:14px;height:16px;background:none;display:grid;place-items:center}.chapter-dots button:after{content:"";width:4px;height:4px;border-radius:3px;background:#899787aa;transition:.3s}.chapter-dots button[aria-current="true"]:after{height:14px;background:#e2b65e}.page{height:100%;min-height:650px;position:relative;scroll-snap-align:start;overflow:hidden;isolation:isolate;container-type:inline-size}.hero-page{background:#153843}.hero-art,.hero-shade,.hoard-art,.hoard-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-art{object-position:center 60%}.hero-shade{z-index:-1;background:linear-gradient(180deg,#12393e44 0%,transparent 25%,transparent 73%,#092526d9 100%)}.hero-copy{position:absolute;left:30px;right:26px;top:12%}.eyebrow{font-size:13px;letter-spacing:2.1px;display:flex;align-items:center;gap:12px;font-weight:600;line-height:1.4;color:#537552}.eyebrow.light{color:#f1dd9c}.hero-copy .eyebrow{justify-content:space-between;letter-spacing:1px;font-size:13px}.hero-copy .eyebrow span{font-size:13px;letter-spacing:3px}.hero-copy h1{color:#fff0c6;font-size:39px;font-weight:900;line-height:1.16;letter-spacing:-1.5px;margin-top:14px;text-shadow:0 2px 14px #06282c20}.hero-copy h1 em{font-style:normal;color:#ffdb83;font-size:47px;letter-spacing:-2px}.title-star{position:absolute;font-size:25px;transform:rotate(-10deg);margin-left:7px;color:#f6ce71}.hero-copy>p:last-child{font-size:12px;line-height:1.8;color:#f2e6c8;margin-top:13px}.hero-bottom{position:absolute;left:32px;right:32px;bottom:3%}.primary{display:flex;justify-content:center;align-items:center;gap:15px;width:100%;min-height:52px;border-radius:999px;font-weight:700;font-size:18px;transition:background .2s,transform .2s;letter-spacing:.5px}.primary.cream{background:#ffedb9;color:#25413b;box-shadow:0 5px 0 #bea66a,0 7px 20px #112c301a}.primary span{font-size:20px;line-height:1}.primary:hover{background:#ffe2a0}.sample-note{font-size:12px;letter-spacing:.3px;text-align:center;color:#fff2d59c;margin-top:16px}.chapter-copy{position:relative;z-index:3;padding:88px 28px 0}.dash{height:1px;width:22px;background:currentColor;opacity:.6}.chapter-copy h2{font-size:22px;line-height:1.4;letter-spacing:.15px;margin:0;font-weight:400}.chapter-copy h2 span{color:#26744c}.body-copy{font-size:20px;line-height:1.45;margin-top:12px;letter-spacing:.15px;display:grid;gap:6px}.copy-line{display:block}.body-copy b{font-weight:400;color:var(--review-accent,inherit)}.inline-count{font-family:inherit;font-size:23px;line-height:inherit;color:var(--review-accent,inherit);padding:0 2px;font-weight:480}.chapter-bottom{position:absolute;bottom:26px;left:28px;right:28px;z-index:6;display:flex;flex-direction:column;align-items:stretch;gap:24px}.chapter-bottom>p{font-size:19px;line-height:1.5;letter-spacing:.1px;display:grid;gap:4px}.next-link{align-self:flex-end;background:transparent;font-size:14px;white-space:nowrap;padding:4px 0;border-bottom:0;opacity:.8}.next-link > span:last-child{display:inline-block;margin-left:7px;font-size:16px}.daily-page{--review-accent:#ffda83;background:#103b65;color:#fff5df}.daily-page:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,transparent 61%,#08233740 77%,#082337c7 100%);z-index:1;pointer-events:none}.daily-visual{position:absolute;inset:0;width:100%;height:100%;z-index:0}.daily-visual>img{width:100%;height:100%;object-fit:cover;object-position:center center}.daily-page .chapter-copy{padding-top:calc(76px + env(safe-area-inset-top))}.daily-page .chapter-copy,.daily-page .chapter-bottom{text-shadow:0 1px 8px #08233766}.daily-page .chapter-bottom{color:#fff5df}.scene-sticker{position:absolute;bottom:8%;left:30px;transform:rotate(-6deg);font-size:10px;letter-spacing:.5px;background:#c9ef5d;padding:9px 12px;box-shadow:0 3px 0 #77973e33;border-radius:4px}.steam{position:absolute;width:16px;height:36px;top:37%;left:51%;border-radius:50%;border-left:2px solid #ffffffaa;filter:blur(2px);animation:steam 3s infinite;opacity:0}.steam-two{left:55%;animation-delay:1.5s}.hoard-page{--review-accent:#ffda83;color:#fff0da;background:#4c3024}.hoard-art{object-position:center center}.hoard-shade{z-index:-1;background:linear-gradient(180deg,transparent 60%,#3727215c 78%,#372721d9 100%)}.hoard-page .chapter-copy h2 span{color:#ffe5a0}.hoard-page .chapter-copy{--review-accent:#98601e;color:#50382f;padding-top:calc(40px + env(safe-area-inset-top))}.hoard-page .chapter-copy:before{content:"";position:absolute;inset:0 0 -80px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#fffdf2a3 0%,#fffdf285 55%,#fffdf23d 76%,#fffdf200 100%)}.hoard-page .body-copy{color:inherit;font-size:20px;line-height:1.45;gap:6px;margin-top:12px}.inventory{display:flex;gap:28px;align-items:center;margin-top:14px}.inventory-item{display:flex;align-items:center;gap:9px;white-space:nowrap}.inventory-icon{width:42px;height:42px;flex:0 0 42px;display:block;position:relative;border-radius:9px;padding:2px;background:linear-gradient(145deg,#fffdf4,#e3c285);box-shadow:0 3px 8px #77532a16,inset 0 0 0 1px #fff8e5b3;transform:rotate(-4deg)}.inventory-item:nth-child(2) .inventory-icon{transform:rotate(4deg)}.inventory-icon img{display:block;width:100%;height:100%;object-fit:contain;border-radius:7px}.inventory-info{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.inventory small{font-size:14px;line-height:1.3;letter-spacing:.5px;color:#785f4b} .inventory b{font-size:24px;line-height:1.1;font-weight:480;letter-spacing:.15px;color:var(--review-accent,#ffda83);font-family:inherit}.hoard-page .chapter-bottom{bottom:28px;text-shadow:0 1px 8px #37272199}.hoard-page .next-link{border-color:#ffe5a060}.studio-page{background:#eef0d7}.love-page{--review-accent:#98601e;background:#f5f2ce}.love-page .chapter-copy h2 span{color:#7a892c}.studio-scene{height:47%;width:100%;position:absolute;top:28%;isolation:isolate;overflow:visible}.scene-word{position:absolute;top:9%;left:0;width:100%;text-align:center;font-weight:900;font-size:54px;letter-spacing:-2px;color:#adb46d25;z-index:-1;white-space:nowrap}.character-main{position:absolute;width:56%;height:94%;left:22%;top:0%;display:flex;justify-content:center;align-items:flex-end;z-index:2;mix-blend-mode:multiply}.sprite{position:relative;overflow:hidden;display:block;width:100%;aspect-ratio:var(--crop-ratio);mask-image:linear-gradient(to bottom,transparent,black 6%,black 91%,transparent);flex-shrink:0}.sprite img{position:absolute;max-width:none;width:var(--image-width);height:var(--image-height);left:var(--image-left);top:var(--image-top);pointer-events:none}.character-main .sprite{max-height:100%;width:auto;height:100%;aspect-ratio:var(--crop-ratio);animation:float 6s ease-in-out infinite}.scene-plinth{position:absolute;bottom:0%;left:14%;width:72%;height:50px;border-radius:50%;background:linear-gradient(180deg,#e2dca1,#b7b981);box-shadow:0 12px 0 #c4c78d,0 24px 28px #556b2a17;z-index:1}.orbit{position:absolute;width:85%;height:75%;border:1px solid #b5b86255;border-radius:50%;left:8%;top:14%;transform:rotate(-28deg)}.orbit-two{transform:rotate(25deg);height:61%;top:17%;width:92%;left:4%}.floating-tag{position:absolute;background:#fffff3;border:1px solid #d6dab3;padding:7px 11px;font-size:15px;z-index:3;border-radius:5px;box-shadow:0 5px 10px #75864b12}.tag-one{left:10%;top:30%;transform:rotate(-11deg)}.tag-two{right:5%;top:22%;transform:rotate(9deg);background:#f0d960;color:#55582b}.tag-three{right:7%;bottom:7%;transform:rotate(-5deg)}.sparkle{position:absolute;color:#cc9d32;z-index:3;font-size:35px;animation:twinkle 3s infinite}.s-one{left:12%;bottom:25%;font-size:28px}.s-two{right:14%;top:2%;font-size:22px;animation-delay:1s}.s-three{right:15%;top:42%;color:#fff7df;font-size:39px}.style-page{--review-accent:#8c4c9f;background:#ede5f2}.style-page .chapter-copy h2 span{color:#7d4f9a}.style-page .eyebrow{color:#976ea6;font-size:13px}.style-page .scene-word{color:#a17faf26}.style-page .scene-plinth{background:linear-gradient(#e3d8e8,#c7b6d6);box-shadow:0 12px 0 #bca8ce,0 25px 28px #72598522}.mirror-arch{position:absolute;width:67%;height:94%;left:16.5%;top:-3%;border-radius:48% 48% 6% 6%;border:5px solid #d2bedb;background:linear-gradient(130deg,#faf4fb80,#cec1db66,#f7edf97a);box-shadow:inset 0 0 0 2px #f9f0ff}.style-scene .character-main{width:56%;left:22%}.camera-corner{position:absolute;width:15px;height:15px;border-color:#9277a399;border-style:solid;z-index:4}.top-left{top:7%;left:12%;border-width:1px 0 0 1px}.top-right{top:7%;right:12%;border-width:1px 1px 0 0}.bottom-left{bottom:8%;left:12%;border-width:0 0 1px 1px}.bottom-right{bottom:8%;right:12%;border-width:0 1px 1px 0}.camera-label{position:absolute;top:3%;right:15%;font-size:12px;letter-spacing:1px;color:#8f729b;z-index:5}.guide-page{--review-accent:#ffda83;color:#fff5df;background:#362116}.guide-art,.guide-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.guide-art{object-fit:cover;object-position:center center}.guide-shade{z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 62%,#1e100d52 78%,#1e100dcc 100%)}.guide-page .chapter-copy{padding-top:calc(52px + env(safe-area-inset-top))}.guide-page .chapter-copy:before{content:"";position:absolute;inset:0 0 -88px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#1a100bd6 0%,#1a100bc2 48%,#1a100b70 74%,#1a100b00 100%)}.guide-page .chapter-copy,.guide-page .chapter-bottom{text-shadow:0 1px 8px #21140db3}.guide-page .eyebrow{color:#6d8057;font-size:13px}.guide-page .scene-word{font-size:45px;color:#8a9d7326;top:10%}.guide-page .chapter-copy h2 span{color:#4d713a}.headline-mark{display:inline-block;margin-left:13px!important;color:#cf9f53!important;font-size:40px!important}.guide-page .scene-plinth{background:linear-gradient(#d8d8ad,#b3b38b);box-shadow:0 12px 0 #a2ae7d,0 25px 28px #6d794922}.paper-note{position:absolute;z-index:3;background:#f8efbd;box-shadow:0 8px 14px #49542718;font-size:15px;line-height:1.7;padding:12px 12px 17px;border-radius:1px;color:#5d623c}.paper-note:before{content:"";position:absolute;top:-5px;left:35%;width:28px;height:10px;background:#cab98966;transform:rotate(-7deg)}.note-one{top:19%;left:6%;transform:rotate(-8deg)}.note-two{bottom:12%;right:7%;transform:rotate(8deg);font-size:14px}.guide-scene .character-main{width:58%;left:23%}.motion-ready .reveal-line{opacity:0;transform:translateY(20px) scale(.985);transform-origin:left center}.motion-ready .is-entered .reveal-line{animation:copy-arrive .72s cubic-bezier(.2,.75,.25,1) both;animation-delay:var(--enter-delay,0ms)}.inline-count,.inventory b{display:inline-block;font-variant-numeric:tabular-nums;font-size:24px}
.awards-page{background:radial-gradient(ellipse at 50% 40%,#376454,#173d3d 65%);color:#ffedc2;min-height:840px}.award-rays{position:absolute;width:150%;height:80%;left:-25%;top:-5%;background:conic-gradient(from -15deg at 50% 0%,transparent,#b9b6750b 15deg,transparent 25deg,transparent 35deg,#b9b67515 45deg,transparent 55deg,transparent);pointer-events:none}.award-copy{position:relative;text-align:center;padding:80px 20px 0}.award-copy .eyebrow{justify-content:center;font-size:13px;letter-spacing:2px}.award-copy h2{font-size:32px;line-height:1.22;font-weight:850;margin-top:17px;letter-spacing:-.7px}.award-copy h2 span{font-size:41px;color:#ffe19c}.award-copy h2 i{font-style:normal;position:absolute;color:#dfb56a;font-size:25px;transform:rotate(10deg);margin-left:10px;margin-top:4px}.award-copy>p:last-child{font-size:16px;line-height:1.5;color:#c3cfc0;margin-top:10px}.collection-count{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;margin:20px 0 0}.collection-count>span{font-size:13px;letter-spacing:1px;color:#d9debd}.collection-count strong{font-family:inherit;font-size:34px;line-height:1;font-weight:400}.collection-count b{font-weight:400;color:#ffe9b3}.collection-count em{font-style:normal;font-size:20px;margin-left:5px;color:#b5bba0}.collection-count #awardStatus{color:#dfca8b;font-size:13px;min-width:48px}.trophy-stage{height:280px;margin:4px 14px 0;position:relative;border-bottom:1px solid #cbd0a84d;perspective:800px}.trophy-stage:before{content:"";position:absolute;width:92%;height:45%;left:4%;bottom:2%;background:repeating-conic-gradient(#d1ceb3 0% 25%,#c0c3ab 0% 50%) 0/48px 48px;transform:rotateX(55deg);transform-origin:center bottom;border-radius:50%;box-shadow:0 16px 0 #748c74,0 24px 30px #0d292f66;opacity:.6}.trophy{position:absolute;width:27%;height:190px;bottom:36px;left:36.5%;transition:left .6s cubic-bezier(.2,.7,.3,1),bottom .6s,transform .65s,filter .4s,opacity .4s;z-index:4;background:none;padding:0;opacity:0;transform:translateY(50px) scale(.6);filter:brightness(.3)}.trophy.revealed{opacity:1;transform:translateY(0) scale(1);filter:brightness(1)}.trophy[data-slot="0"]{left:36.5%;bottom:15px;z-index:7}.trophy[data-slot="1"]{left:12%;bottom:42px;z-index:5;transform:scale(.84)}.trophy[data-slot="2"]{left:61%;bottom:42px;z-index:5;transform:scale(.84)}.trophy[data-slot="3"]{left:0%;bottom:83px;z-index:3;transform:scale(.7)}.trophy[data-slot="4"]{left:73%;bottom:83px;z-index:3;transform:scale(.7)}.trophy:not(.revealed){opacity:0;transform:translateY(35px) scale(.5)}.trophy-art{width:100%;height:154px;background:radial-gradient(ellipse at 50% 70%,#e1e0d2 35%,#cfd8c7 65%,transparent 73%);mask-image:radial-gradient(ellipse at 50% 55%,black 55%,transparent 76%);display:flex;align-items:flex-end;justify-content:center;position:relative;z-index:2}.trophy-art .sprite{height:100%;width:auto;mix-blend-mode:multiply}.trophy-base{position:absolute;height:29px;bottom:16px;left:7%;width:86%;border-radius:50% 50% 30% 30% / 28% 28% 25% 25%;background:linear-gradient(100deg,#998049,#e5d292 25%,#fce9af 50%,#af9458 100%);box-shadow:0 6px 0 #847049,0 9px 15px #102f2a55;z-index:1}.trophy-base:after{content:"";position:absolute;top:4px;left:3px;right:3px;border-top:1px solid #fff2bdbb;border-radius:50%;height:10px}.trophy-name{position:absolute;bottom:-3px;left:-10%;width:120%;text-align:center;font-size:14px;color:#e9dfb8;letter-spacing:.3px}.trophy .center-badge{position:absolute;top:0;left:50%;transform:translate(-50%,-70%);font-size:12px;white-space:nowrap;background:#fae6a9;color:#315243;border-radius:30px;padding:4px 8px;opacity:0;transition:opacity .3s;z-index:4}.trophy[data-slot="0"] .center-badge{opacity:1}.trophy[data-slot="0"] .trophy-base{box-shadow:0 6px 0 #847049,0 0 28px #f1ce6866}.award-controls{position:relative;z-index:8;text-align:center;padding:8px 25px 20px}.choose-label{font-size:18px;font-weight:600;letter-spacing:.5px;margin:9px 0 13px}.role-picker{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.role-picker button{font-size:14px;min-height:35px;padding:7px 11px;border-radius:18px;background:#ffffff0d;border:1px solid #e8dfae33;color:#ced6be;transition:.3s;white-space:nowrap}.role-picker button[aria-pressed="true"]{color:#27473d;background:#f5df9f;border-color:#f5df9f}.selection-summary{font-size:15px;line-height:1.6;color:#d3d2ae;margin:14px 0 16px;min-height:24px}.text-button{background:none;font-size:14px;color:#b9c7b6}.replay{padding:17px 15px 5px}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden;z-index:10}.confetti i{position:absolute;width:6px;height:11px;left:var(--x);top:-15px;background:var(--color);animation:confetti 3s var(--delay) ease-in both}
.card-dialog{padding:20px;border:1px solid #9d976f55;border-radius:24px;width:min(400px,calc(100vw - 24px));max-height:calc(100dvh - 30px);overflow:auto;background:#1e443e;color:#fcebc0;box-shadow:0 30px 100px #061d3099}.card-dialog::backdrop{background:#102c2ccf;backdrop-filter:blur(9px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.dialog-top h2{font-size:20px;font-weight:650}.close-button{background:#ffffff15;color:#e9e2c2;border-radius:50%;width:30px;height:30px;font-size:23px;line-height:1}.card-preview{background:#ede4cb;min-height:170px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:7px;color:#4a5b49}.card-preview img{display:block;width:100%;height:auto}.card-preview p{font-size:17px;padding:30px}.card-actions{display:flex;align-items:center;gap:10px;margin-top:17px}.card-actions .primary{min-height:44px;font-size:16px;flex:1}.secondary{min-height:44px;background:#ffffff0d;border:1px solid #d7d7ab66;color:#dddcc0;border-radius:40px;font-size:16px;padding:0 17px}.save-hint{font-size:14px;color:#bec8b8;text-align:center;margin-top:17px;line-height:1.6}.toast{position:fixed;z-index:100;bottom:7%;left:50%;transform:translate(-50%,20px);background:#122e28ee;color:#fff1cb;padding:12px 20px;border:1px solid #bcb47e55;border-radius:99px;opacity:0;transition:.3s;font-size:16px;pointer-events:none;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes float{0%,100%{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-5px) rotate(.4deg)}}@keyframes twinkle{0%,100%{opacity:.3;transform:scale(.7) rotate(-8deg)}50%{opacity:1;transform:scale(1.05) rotate(8deg)}}@keyframes steam{0%{transform:translateY(10px) scale(.8);opacity:0}40%{opacity:.6}100%{transform:translateY(-28px) scale(1.3);opacity:0}}@keyframes confetti{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:1}100%{transform:translateY(850px) rotate(620deg);opacity:0}}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .journey{scroll-behavior:auto}.motion-paused .reveal-line{animation:none!important;opacity:1!important;transform:none!important}.motion-paused .trophy{transition:none}
@media(min-width:1450px){.phone{margin-left:0}.desktop-note{left:calc(50% - 570px)}.desktop-year{right:calc(50% - 480px)}}
@media(max-width:1050px){.desktop-note{left:4vw;width:220px}.desktop-title{font-size:36px}.desktop-year{display:none}.phone{margin-left:0}}@media(max-width:780px){.desktop-note{display:none}.phone{margin-left:0}}
@media(max-width:520px){body{background:#173d3d;min-height:100svh}.phone{width:100%;height:100dvh;max-height:none;border-radius:0;box-shadow:none;margin:0}.page{min-height:650px}.app-header{padding-top:env(safe-area-inset-top);height:calc(57px + env(safe-area-inset-top))}.hero-copy{top:max(12%,calc(75px + env(safe-area-inset-top)))}.chapter-copy{padding-top:calc(88px + env(safe-area-inset-top))}.chapter-bottom{bottom:max(25px,env(safe-area-inset-bottom))}.hero-bottom{bottom:max(24px,env(safe-area-inset-bottom))}.awards-page{min-height:840px}.award-copy{padding-top:calc(80px + env(safe-area-inset-top))}.card-dialog{padding:16px;border-radius:18px}}
@media(max-width:370px){.hero-copy{left:25px;right:24px}.hero-copy h1{font-size:33px}.hero-copy h1 em{font-size:41px}.chapter-copy{padding-left:24px;padding-right:24px}.chapter-copy h2{font-size:22px;line-height:1.4}.body-copy{font-size:20px;line-height:1.45;gap:6px;margin-top:12px}.role-picker{gap:7px;flex-wrap:wrap}.role-picker button{font-size:14px;padding:7px 11px}.chapter-bottom{left:24px;right:24px}.chapter-bottom>p{font-size:19px;line-height:1.5;gap:4px}.inventory{gap:22px}.inventory-icon{width:34px;height:34px;flex-basis:34px;border-radius:8px}.inventory-icon img{border-radius:6px}.inventory-item{gap:8px}.inventory b{font-size:24px}.awards-page{min-height:840px}.trophy-stage{height:270px;margin-left:10px;margin-right:10px}}
.hero-copy{top:10%}.hero-intro{text-align:center;color:#fff0d0;font-size:17px;line-height:1.5;margin:0 0 14px;text-shadow:0 1px 7px #142c24}.hero-shade{background:linear-gradient(180deg,#12393e44,transparent 28%,transparent 65%,#092526dd 100%)}

.character-main .sprite,.trophy-art .sprite{filter:brightness(1.13) contrast(1.18);mask-image:linear-gradient(to bottom,transparent,black 3%,black 97%,transparent)}
.studio-scene{isolation:auto}
.scene-word{display:none}.note-one{top:39%;left:3%}
.trophy-stage{background:radial-gradient(ellipse at 50% 40%,#f0edd9,#cdd7be);border-radius:26px;overflow:hidden;margin-top:16px;height:268px;border-bottom:0;box-shadow:inset 0 0 0 1px #fff9d933}
.trophy-stage:before{bottom:4%;background:repeating-conic-gradient(#b5c4a6 0% 25%,#c8d0b4 0% 50%) 0/48px 48px;box-shadow:0 12px 0 #a7b79b,0 20px 24px #304d3017;opacity:.65}
.trophy{mix-blend-mode:multiply;filter:none}.trophy.revealed{filter:none}.trophy-art{background:none;mask-image:none}.trophy-name{color:#304d35;font-size:14px;letter-spacing:.3px}.trophy .center-badge{background:#fff4c7;color:#3c5535;font-size:12px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.journey{scroll-behavior:auto}.reveal-line{animation:none!important;opacity:1!important;transform:none!important}}

.app-header.review-mode{background:transparent}.app-header.review-mode .brand,.app-header.review-mode #chapterLabel{visibility:hidden}.app-header.review-mode .progress-line{opacity:0}.app-header.review-mode .motion-toggle{opacity:.28}

@media(max-width:520px) and (max-height:740px){.daily-page .chapter-copy{padding-top:calc(56px + env(safe-area-inset-top))}.hoard-page .chapter-copy{padding-top:calc(32px + env(safe-area-inset-top))}}

@keyframes copy-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:520px) and (max-height:740px){.body-copy{margin-top:12px;line-height:1.45;gap:6px;font-size:20px}.inventory{margin-top:10px}.chapter-bottom>p{gap:4px;font-size:19px;line-height:1.5}}

@media(max-width:520px) and (max-height:740px){.guide-page .chapter-copy{padding-top:calc(36px + env(safe-area-inset-top))}}

/* Melt only scene imagery; readable copy stays in the normal scroll layer. */
.journey{position:relative;z-index:1}
.scroll-melt{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:0}
.scroll-melt.is-active{opacity:1}
.page.melt-source-active{background:transparent}
.melt-source-active>.hero-art,.melt-source-active>.hero-shade,.melt-source-active>.hoard-art,.melt-source-active>.hoard-shade,.melt-source-active>.guide-art,.melt-source-active>.guide-shade,.melt-source-active>.daily-visual>img,.daily-page.melt-source-active:before,.melt-source-active .chapter-copy:before{opacity:0}

/* Small, single-settle spring inspired by Animated Content; no framework needed. */
.achievement-unlock{display:flex;align-items:center;gap:6px;width:max-content;max-width:100%;min-height:23px;margin-top:22px;padding:0;border:0;border-radius:0;color:inherit;background:none;box-shadow:none;text-shadow:0 1px 3px #16110d99;transform-origin:left center;pointer-events:none}
.unlock-icon{display:block;width:21px;height:21px;flex:none}
.unlock-label{font-size:14px;font-weight:400;letter-spacing:.3px;color:inherit;opacity:1;white-space:nowrap}
.unlock-title{display:flex;font-size:16px;font-weight:400;line-height:1.45;letter-spacing:.3px;white-space:nowrap}
.hoard-page .achievement-unlock{text-shadow:0 1px 2px #fff9e880}
.motion-ready .reveal-line{transform:translateY(12px)}
.motion-ready .is-entered .reveal-line{animation-duration:.55s}
.motion-ready .is-entered .chapter-aside .reveal-line{animation-duration:.74s}
.motion-ready .is-entered .chapter-bottom .reveal-line{animation-duration:.8s}
.motion-ready .achievement-unlock{opacity:0;transform:translateY(12px) scale(.97)}
.motion-ready .is-entered.has-unlocked .achievement-unlock{animation:achievement-arrive .64s both;animation-delay:var(--unlock-delay)}
@keyframes achievement-arrive{0%{opacity:0;transform:translateY(12px) scale(.97);animation-timing-function:cubic-bezier(.18,.7,.28,1)}68%{opacity:1;transform:translateY(-1.5px) scale(1.006);animation-timing-function:cubic-bezier(.35,0,.35,1)}100%{opacity:1;transform:translateY(0) scale(1)}}
.motion-paused .achievement-unlock{animation:none!important;opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.motion-ready .achievement-unlock{animation:none!important;opacity:1!important;transform:none!important}}

/* Keep the original video framing; reveal only the outpainted floor below it. */
.app-header,.app-header.light,.app-header.review-mode{justify-content:flex-end;background:none;pointer-events:none}
.motion-toggle{pointer-events:auto}
.hero-page{display:block;background:#25150e}
.hero-floor{position:absolute;top:0;left:0;width:100%;height:auto;z-index:0;pointer-events:none;clip-path:inset(max(0px,calc(177.777778cqw - 32px)) 0 0)}
.hero-page:after{content:"";position:absolute;inset:65% 0 0;z-index:1;background:linear-gradient(180deg,transparent,#160c0922 55%,#160c096b);pointer-events:none}
.hero-page .hero-art{--art-bottom:min(100%,177.777778cqw);position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center top;z-index:1;mask-image:linear-gradient(180deg,#000 calc(var(--art-bottom) - 32px),transparent var(--art-bottom))}
.hero-page .hero-video{visibility:hidden;background:transparent;pointer-events:none}
.hero-page .hero-video.has-frame{visibility:visible}
.hero-page:has(.hero-video.has-frame)>img.hero-art{visibility:hidden}
/* Keep the logo aligned to the red curtain as the screen height changes. */
.hero-brand{position:absolute;inset:0;z-index:2;pointer-events:none}
.hero-brand img{position:absolute;left:50%;top:calc(2.5cqw + 4px);width:clamp(72px,20cqw,84px);height:auto;transform:translateX(-50%);filter:brightness(0) invert(1) drop-shadow(0 1px 2px #3c101455);opacity:.94}
.hero-bottom,.chapter-bottom,.hoard-page .chapter-bottom{position:absolute;left:24px;right:24px;bottom:max(20px,env(safe-area-inset-bottom));z-index:6;display:flex;flex-direction:column;align-items:center;padding:0}
.hero-bottom{bottom:max(6%,calc(env(safe-area-inset-bottom) + 12px));color:#fff5df;text-shadow:0 1px 6px #160c09b3}
.next-link{align-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:92px;min-height:44px;padding:5px 12px;background:transparent;border:0;box-shadow:none;font-size:17px;font-weight:400;line-height:1.45;letter-spacing:.5px;opacity:.96}
.next-link > span:last-child{display:block;width:8px;height:8px;margin:0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;font-size:0;transform:rotate(45deg)}
.next-link:focus-visible{outline:1px solid currentColor;outline-offset:3px;border-radius:4px}
.chapter-copy .body-copy{margin-top:0}
.chapter-copy h2+.body-copy{margin-top:10px}
.chapter-bottom{gap:18px}
.chapter-bottom>p{align-self:stretch;margin:0}
.daily-page .chapter-copy{color:#163a60;--review-accent:#85430e;text-shadow:0 1px 2px #ffffff66}
.daily-page .achievement-unlock{text-shadow:0 1px 2px #ffffff80}
.award-copy h2{margin-top:0}
.love-page,.style-page{--review-accent:#ffda83;color:#fff5df;background:#281529}
.love-art,.love-shade,.style-art,.style-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.love-art,.style-art{object-fit:cover;object-position:center center}
.love-art{object-position:75% center}
.love-shade,.style-shade{z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 62%,#1b0d2a52 78%,#1b0d2acc 100%)}
.love-page .chapter-copy:before,.style-page .chapter-copy:before{content:"";position:absolute;inset:0 0 -64px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#1b0d2ad1 0%,#1b0d2ab8 54%,#1b0d2a66 76%,#1b0d2a00 100%)}
.love-page .chapter-copy,.love-page .chapter-bottom,.style-page .chapter-copy,.style-page .chapter-bottom{text-shadow:0 1px 8px #1b0d2a80}
.melt-source-active>.love-art,.melt-source-active>.love-shade,.melt-source-active>.style-art,.melt-source-active>.style-shade{opacity:0}

/* Keep contrast local to the copy; the main artwork stays unobscured. */
.daily-page .chapter-copy:before{content:"";position:absolute;inset:0 0 -68px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#eff8fff0 0%,#eff8ffde 48%,#eff8ff9e 72%,#eff8ff00 100%)}
/* Mostly single marker strokes, with selected double/triple accents. */
.marker-swash{position:relative;display:inline-block;isolation:isolate;white-space:nowrap;vertical-align:baseline;line-height:0}
.chapter-copy .marker-text,.inventory-info .marker-text,.chapter-bottom .marker-text{position:relative;z-index:1;display:inline-block;line-height:1.15;padding:0 2px;color:#4c2d0a;text-shadow:none}
.marker-swash>.marker-brush{position:absolute;inset:0;z-index:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.motion-ready .marker-swash>.marker-brush{clip-path:inset(-10px 100% -10px -8px)}
.motion-ready .is-entered .chapter-copy .marker-swash>.marker-brush,
.motion-ready .is-entered.has-unlocked .unlock-result .marker-swash>.marker-brush{animation:marker-swipe .46s ease-out both;animation-delay:calc(var(--enter-delay,0ms) + 180ms)}
@keyframes marker-swipe{from{clip-path:inset(-10px 100% -10px -8px)}to{clip-path:inset(-10px -8px -10px -8px)}}
.motion-paused .marker-swash>.marker-brush{animation:none!important;clip-path:none}
@media(prefers-reduced-motion:reduce){.motion-ready .marker-swash>.marker-brush{animation:none!important;clip-path:none}}

.hero-review-link{gap:3px;line-height:1.35;text-align:center}
.hero-review-link > span:last-child{margin-top:4px}
.hero-review-link .hint-title{font-size:18px;letter-spacing:1px}
.hero-review-link .hint-subtitle{font-size:16px;letter-spacing:.3px;opacity:.9}

@media (prefers-reduced-motion: no-preference) {
  .motion-ready:not(.motion-paused) .is-entered.has-unlocked .unlock-icon path {
    stroke-dasharray: 1;
    animation: trophy-draw var(--stroke-time) ease-out both;
    animation-delay: calc(var(--unlock-delay) + var(--stroke-at));
  }
}
@keyframes trophy-draw {
  0% { stroke-dashoffset: 1; opacity: 0; }
  2% { opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 1; }
}

.chapter-bottom [hidden] { display: none !important; }
.chapter-aside { display: grid; gap: 1px; margin: 10px 0 0; font-size: 15px; line-height: 1.48; }
.chapter-bottom { gap: 13px; }
.unlock-result { display: grid; justify-items: center; gap: 9px; text-align: center; outline-offset: 4px; }
.unlock-result .achievement-unlock { margin: 0; transform-origin: center; }
.peer-copy { margin: 0; font-size: 16px; line-height: 1.5; color: inherit; text-shadow: 0 1px 6px #170e17aa; }
.peer-copy b { font-family: system-ui, sans-serif; font-weight: 700; font-variant-numeric: tabular-nums; }
.chapter-bottom:has(.unlock-result) { color: #fff7e8; }
.peer-line { display: block; }
@media (prefers-reduced-motion: no-preference) {
  .motion-ready:not(.motion-paused) .is-entered.has-unlocked .peer-line {
    animation: copy-arrive .7s cubic-bezier(.2,.75,.25,1) var(--enter-delay) both;
  }
  .motion-ready:not(.motion-paused) .is-entered.has-unlocked .chapter-bottom [data-next] {
    animation: reading-arrive .55s ease-out var(--enter-delay) both;
  }
}
@media (max-height: 740px) { .chapter-aside { margin-top: 6px; font-size: 14px; line-height: 1.4; } }

/* Individual translate preserves the chevron's rotation. */
@keyframes reading-arrive {
  from { opacity: 0; visibility: hidden; translate: 0 7px; }
  1% { visibility: visible; }
  to { opacity: 1; visibility: visible; translate: none; }
}
@media (prefers-reduced-motion: no-preference) {
  .motion-ready:not(.motion-paused) .reading-cover .hero-review-link > span {
    animation: reading-arrive .55s ease-out var(--enter-delay, 0ms) both;
  }
}
