/* Homepage hierarchy; gameplay, tutorial and character timelines stay shared. */
.home{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start;gap:42px;padding:30px 28px 32px}.home .poster{align-self:start;position:sticky;top:24px;width:100%;gap:0}.home .logo{height:195px;width:100%;max-width:360px;margin:0 auto 8px}.home .logo h1{font-size:clamp(45px,5vw,62px);white-space:nowrap}.home .logo-ribbon{font-size:22px;padding:6px 24px}.home .poster>.cat-stage{width:240px;height:238px;margin:0 auto}.home .poster>.bubble{font-size:11px;max-width:330px;margin:8px auto 0;min-height:33px}.home .home-panel{padding:0;min-width:0;animation-delay:.55s}.home .current-challenge{background:#fffef9;border:2.5px solid var(--ink);border-radius:19px;padding:17px;box-shadow:4px 5px 0 var(--ink)}.current-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}.home .current-heading h2{display:block;font-size:18px;line-height:1.4;margin:0;letter-spacing:0}.current-heading>span{font-size:10px;padding:4px 7px;background:#e9e4fa;border-radius:6px;white-space:nowrap}.home .current-challenge .big-button{padding:16px 18px;border-radius:13px;min-height:86px;margin:0;box-shadow:0 4px 0 var(--ink)}.home .current-challenge .big-button strong{font-size:25px;line-height:1.4;display:block;max-width:calc(100% - 34px)}.home .current-challenge .big-button small{font-size:11px;line-height:1.6;margin-top:7px;max-width:calc(100% - 24px)}.home .current-challenge .arrow{font-size:28px;right:15px}.current-challenge .career-progress{margin:17px 0 0;padding:11px 12px;background:#fff5d1;border-width:1.5px;border-radius:10px}.progress-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;color:#7c687e;margin-bottom:6px}.progress-heading small{font-size:10px}.career-progress .progress-goal{display:block;font-size:14px;line-height:1.6;margin:0}.career-progress>.progress-slots{display:flex;margin:8px 0;gap:5px}.career-progress>.progress-slots i{height:9px}.career-progress>small{font-size:10px}.onboarding-goal{font-size:12px;line-height:1.7;margin:17px 0 0;color:#76627b}.home-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:21px}.home-shortcuts>button{border:2px solid var(--ink);border-radius:13px;background:#d8f5ec;text-align:left;padding:14px 13px;box-shadow:0 3px 0 var(--ink)}.home-shortcuts>button:nth-child(2){background:#eae3ff}.home-shortcuts b{font-size:16px;display:flex;justify-content:space-between;align-items:center;gap:8px}.home-shortcuts small{display:block;line-height:1.7;font-size:11px;color:#71657b;margin-top:7px}.home .section-label{display:flex;justify-content:space-between;align-items:center;margin:26px 0 13px;font-size:13px}.section-label>button{padding:4px 0;border:0;background:transparent;color:#807087;font-size:11px;text-decoration:underline}.home .challenge-tiers{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.home .challenge-tiers .level-button{position:relative;text-align:left;padding:29px 12px 13px;min-height:120px;border:2px solid var(--ink);border-radius:13px;box-shadow:0 4px 0 var(--ink);background:#fff6d0}.home .challenge-tiers .level-button b{display:block;font-size:25px;line-height:1.2}.home .challenge-tiers .tier-name{display:block;font-size:12px;margin:5px 0 0}.home .challenge-tiers .level-button small{display:block;margin-top:8px;font-size:10px;line-height:1.5;color:#7b6a7e}.home .challenge-tiers .tier-badge{position:absolute;right:10px;top:9px;display:inline-flex;align-items:center;font-size:9px;margin:0;color:#8b748a}.tier-badge svg{width:13px;height:14px}.home .challenge-tiers .tier-current{background:#ffe0ee;border-width:3px}.home .challenge-tiers .tier-current .tier-badge{color:#b85181}.home .challenge-tiers .tier-locked{background:#eeeae8;border-color:#b6acb9;color:#8c828f;box-shadow:0 3px 0 #b6acb9}.home .challenge-tiers .tier-locked small{color:#948896}.home .challenge-tiers .tier-locked .tier-badge{color:#9b8d9d}.home-collections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}.home-collections button{border:1.5px solid var(--ink);border-radius:11px;padding:13px 5px;background:#fffdf7}.home-collections b{display:block;font-size:13px}.home-collections small{display:block;font-size:10px;line-height:1.6;margin-top:6px;color:#84748b}.home-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:23px;padding-top:17px;border-top:1px dashed #bfb3c6;font-size:11px;color:#827089}.home-summary b{color:#b84c7d;margin-left:3px;font-size:12px}.home-note{font-size:10px;color:#96899d;line-height:1.7;margin:13px 0}.home-help{display:flex;gap:17px}.home-help button{background:none;border:0;text-decoration:underline;padding:6px 0;font-size:11px;color:#83718b}.practice-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.practice-tiers button{border:2px solid var(--ink);border-radius:11px;background:#e4f4ec;padding:13px 8px}.practice-tiers b{display:block;font-size:20px}.practice-tiers span{display:block;font-size:12px;margin-top:7px}.practice-tiers small{display:block;font-size:10px;margin-top:7px;color:#7b6c84}.friend-input-label{display:block;margin:22px 0 0;font-size:13px;font-weight:bold}.friend-error{font-size:12px;line-height:1.7;color:#b3446e;margin:0 0 13px}.friend-error:empty{display:none}#toast{opacity:0;visibility:hidden}#toast.show{opacity:1;visibility:visible}.audio-hint{width:225px;padding:12px 13px}.audio-hint>b{font-size:12px}.audio-hint p{font-size:11px;line-height:1.7;margin:7px 0}.audio-hint>button{font-size:10px;padding:5px 11px}
@media(max-width:900px) and (min-width:601px){.home{gap:25px;padding:28px 22px;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}.home .logo{height:160px}.home .logo h1{font-size:40px}.home .poster>.cat-stage{width:215px;height:213px}.home .challenge-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}.home .current-heading h2{font-size:16px}.home-shortcuts b{font-size:14px}}
@media(max-width:600px){.home{display:flex;flex-direction:column;gap:17px;padding:14px 18px 28px;max-width:480px}.home .poster{display:grid;grid-template-columns:minmax(0,1fr) 152px;grid-template-rows:160px auto;align-items:center;position:relative;top:auto;gap:0;isolation:isolate}.home .logo{height:126px;width:100%;max-width:210px;margin:0;align-self:center}.home .logo h1{font-size:35px;letter-spacing:-1px}.home .logo:before{inset:-3px 2px}.home .logo:after{inset:2px 7px}.home .logo-ribbon{font-size:14px;padding:4px 13px;margin-top:7px;white-space:nowrap}.home .doodle.plus{left:-1px;top:19px;font-size:22px}.home .doodle.star{right:-3px;top:15px;font-size:22px}.home .doodle.dot{left:12px;bottom:1px;font-size:20px}.home .poster>.cat-stage{width:154px;height:154px;margin:0;justify-self:center}.home .poster>.bubble{grid-column:1/-1;justify-self:center;width:auto;max-width:100%;margin:0;padding:6px 12px;font-size:10px;min-height:29px}.home .pet-caption{display:none}.home .cat-spark{font-size:19px}.home .spark-one{left:3px;top:32px}.home .spark-two{right:-1px;top:50px}.home .cat-heart{right:14px;top:13px}.home .current-challenge{padding:14px;border-radius:17px;box-shadow:3px 4px 0 var(--ink)}.home .current-heading h2{font-size:16px}.current-heading{margin-bottom:12px}.current-heading>span{font-size:9px}.home .current-challenge .big-button{padding:14px 13px;min-height:80px}.home .current-challenge .big-button strong{font-size:23px}.home .current-challenge .big-button small{font-size:10px}.home .current-challenge .arrow{font-size:25px;right:11px}.current-challenge .career-progress{margin-top:16px;padding:10px}.career-progress .progress-goal{font-size:13px}.career-progress>.progress-slots{margin:7px 0}.home-shortcuts{gap:11px;margin-top:19px}.home-shortcuts>button{padding:13px 11px}.home-shortcuts b{font-size:15px}.home-shortcuts small{font-size:10px}.home .section-label{margin:23px 0 12px;font-size:12px}.home .challenge-tiers{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.home .challenge-tiers .level-button{min-height:106px;padding:26px 12px 11px}.home .challenge-tiers .level-button b{font-size:24px}.home .challenge-tiers .tier-name{font-size:12px;margin-top:4px}.home .challenge-tiers .level-button small{font-size:10px;margin-top:6px}.home-collections{gap:8px;margin-top:21px}.home-collections b{font-size:12px}.home-collections small{font-size:9px}.home-summary{font-size:10px}.home-summary b{font-size:11px}.practice-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}.audio-hint{right:-35px;max-width:210px}.audio-hint:before{right:43px}}
@media(max-width:350px){.home{padding-left:14px;padding-right:14px}.home .poster{grid-template-columns:minmax(0,1fr) 126px;grid-template-rows:137px auto}.home .poster>.cat-stage{width:130px;height:130px}.home .logo{height:112px}.home .logo h1{font-size:28px}.home .logo-ribbon{font-size:12px;padding:4px 10px}.home .current-challenge .big-button strong{font-size:20px}.home .current-heading h2{font-size:15px}.home-shortcuts b{font-size:14px}.home-shortcuts small{font-size:9px}.home .poster>.bubble{font-size:9px}.audio-hint{right:-55px}.audio-hint:before{right:63px}}
.challenge-difficulty{display:flex;align-items:center;gap:8px;margin:-3px 0 14px;font-size:12px;color:#786681;flex-wrap:wrap}.difficulty-stars{display:inline-flex;gap:2px;font-size:15px;line-height:1;white-space:nowrap}.difficulty-stars i{font-style:normal;color:#dfd8e4}.difficulty-stars i.lit{color:#7952b4}.challenge-difficulty>small{font-size:11px;margin-left:auto;color:#8d7c92}.current-challenge .career-progress .progress-goal{font-size:14px;line-height:1.7}.promotion-track{height:8px;border:1px solid #cdbed2;border-radius:10px;background:#fffdfa;overflow:hidden;margin:9px 0}.promotion-track i{display:block;height:100%;background:#ec83b3;border-radius:10px}.career-progress .promotion-alternative{display:block;font-size:12px;line-height:1.7}.career-progress .promotion-fresh{display:block;font-size:10px;line-height:1.7;margin-top:4px;color:#927c92}@media(max-width:600px){.home .poster{display:flex;flex-direction:column;gap:0}.home .logo{width:100%;max-width:280px;height:130px;margin:0 auto 2px}.home .logo h1{font-size:46px;letter-spacing:-1px}.home .logo-ribbon{font-size:17px;padding:4px 19px;margin-top:8px}.home .logo:before{inset:-2px 8px}.home .logo:after{inset:3px 13px}.home .poster>.cat-stage{width:178px;height:176px;margin:0 auto}.home .poster>.bubble{margin:1px auto 0}.home .current-heading h2{font-size:18px}.challenge-difficulty{margin:-3px 0 12px;font-size:11px}.challenge-difficulty>small{font-size:10px}.current-challenge .career-progress .progress-goal{font-size:13px}.career-progress .promotion-alternative{font-size:11px}}@media(max-width:350px){.home .logo{max-width:245px;height:116px}.home .logo h1{font-size:40px}.home .logo-ribbon{font-size:15px}.home .poster>.cat-stage{width:158px;height:156px}.home .current-heading h2{font-size:17px}.challenge-difficulty{gap:6px}.difficulty-stars{font-size:13px}.current-challenge .career-progress .progress-goal{font-size:12px}}
@media(max-width:600px){.home .logo{margin-top:18px}}
.home .current-challenge .career-progress.promotion-compact{display:flex;align-items:center;gap:10px;margin:8px 0 0;padding:0;border:0;background:none;border-radius:0;min-height:36px}.promotion-compact>.promotion-track{flex:1;min-width:0;margin:0;height:8px}.promotion-conditions{flex-shrink:0;min-height:36px;padding:6px 8px;border:0;background:transparent;font-size:12px;font-weight:700;color:#785780;text-decoration:underline;text-underline-offset:3px;border-radius:6px}.promotion-conditions:hover{background:#f5e9f4}.promotion-dialog h2{padding-right:20px}.promotion-dialog .career-progress{margin:20px 0}.promotion-dialog .progress-goal{font-size:16px;line-height:1.8}.promotion-dialog .promotion-alternative{font-size:14px;line-height:1.8}.promotion-dialog .promotion-fresh{font-size:12px}.promotion-dialog>.text-button{display:block;padding-left:0;margin-top:7px}@media(max-width:350px){.home .current-challenge .career-progress.promotion-compact{gap:7px}.promotion-conditions{padding-left:6px;padding-right:6px}}
