.atlas-sprite{display:block;overflow:hidden;user-select:none;-webkit-user-drag:none}.atlas-sprite image{pointer-events:none}.gold-button{background:linear-gradient(180deg,#ffe597,#f3be4c);border:1px solid #ffe7ab;box-shadow:0 5px 0 #aa7628,0 8px 20px #624b3525;color:#654316}.gold-button:not(:disabled):hover{background:linear-gradient(180deg,#ffedb4,#ffd065)}.gold-eyebrow{color:#efcd79;letter-spacing:.06em;font-size:14px}.chapter-choice{display:flex;flex-direction:column;gap:2px}.chapter-choice small{font-family:inherit;font-size:12px;white-space:nowrap}.quest-progress{margin-top:22px;color:#796794}.quest-progress>span{display:flex;align-items:center;gap:7px;font-size:13px}.mini-gear{width:37px;height:30px;border-radius:6px}.quest-progress>div{height:6px;background:#e4dbea;border-radius:5px;overflow:hidden;margin-top:4px}.quest-progress i{display:block;height:100%;background:linear-gradient(90deg,#bd92dd,#e9c06b);border-radius:5px}.adventure-nav{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:9px;margin-top:14px}.adventure-nav button{position:relative;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 3px;min-height:66px;border:1px solid #d6c9e6;border-radius:14px;background:#f3edf9;box-shadow:0 3px 0 #d4c7e2}.adventure-nav button span{font-size:13px;font-weight:800}.adventure-nav .nav-sprite{width:38px;height:38px;border-radius:8px}.adventure-nav button.ready{background:#fff0c8;border-color:#e8bf70;box-shadow:0 3px 0 #d5aa60}.nav-alert{position:absolute;top:-7px;right:5px;width:20px;height:20px;background:#bd5574;border:2px solid #fff;border-radius:50%;color:white;font-style:normal;font-size:12px}.home-view .title-block h1{font-size:36px}.home-view .speech-bubble{font-size:13px}.chapter-select-view{width:min(100%,580px);margin:20px auto}.chapter-select-view .learning-card{margin-top:14px}.chapter-select-view h1{font-size:21px;margin-bottom:20px}.chapter-select-view .kanji-map{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:10px}.chapter-select-view .kanji-tile{max-height:none;font-size:32px;min-height:48px}.gift-backdrop{position:fixed;inset:0;z-index:100;background:#111b40b8;backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px}.gift-card{width:min(100%,420px);max-height:92svh;overflow:auto;text-align:center;border:2px solid #ecd18b;background:radial-gradient(ellipse at 50% 33%,#465a89,#162848 72%);border-radius:28px;padding:23px 24px 27px;box-shadow:0 25px 90px #080d327d;color:#fff}.sparkle-ring{display:flex;align-items:center;justify-content:center;gap:16px;color:#f7d488;margin-bottom:12px}.sparkle-ring .icon{fill:#f7d488}.sparkle-ring .icon:nth-child(2){height:38px;width:38px}.gift-card h2{font-size:22px;line-height:1.6;margin:10px 0}.gift-card h3{font-size:24px;margin:5px 0 12px;color:#ffe0a1}.gift-card p:not(.gold-eyebrow){font-size:15px;line-height:1.8;margin-bottom:22px}.gift-sprite{height:190px;width:100%;filter:drop-shadow(0 10px 25px #fee69755);border-radius:18px}.gift-card .gold-eyebrow{margin:0}.collection-view{width:min(100%,850px);margin:22px auto}.wardrobe-preview{background:linear-gradient(125deg,#112648ed,#325981de);border:2px solid #d6be87;border-radius:25px;margin:17px 0 21px;display:flex;align-items:center;justify-content:center;gap:20px;padding:22px;color:#fff;box-shadow:var(--shadow)}.wardrobe-hero{width:270px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.wardrobe-hero .hero-character{width:100%;height:275px}.wardrobe-preview h1{font-size:27px;line-height:1.7;margin:8px 0}.wardrobe-preview p{font-size:15px;line-height:1.8;color:#dce6f5}.outfit-picker{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.outfit-picker button{border:1px solid #9eaac8;background:#243957;color:#dae3f7;min-height:35px;min-width:35px;border-radius:9px;padding:6px;font-size:13px}.outfit-picker button.active{background:#f1cf86;color:#624722;border-color:#ffe6a8}.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.equipment-tile{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:236px;padding:13px;background:linear-gradient(150deg,#283e64f7,#122744f2);border:2px solid #d3b977;border-radius:20px;color:#fff;box-shadow:0 6px 12px #2532522b}.equipment-art{height:135px;width:100%;border-radius:9px}.equipment-milestone{font-size:13px;color:#f0cd80;align-self:flex-start}.equipment-tile b{font-size:16px;text-align:center;line-height:1.5}.equipment-tile small{font-size:13px;color:#f0cc7f}.equipment-tile.locked{background:linear-gradient(150deg,#40516ee6,#31425ada);border-color:#8e9eb0}.equipment-tile.locked .equipment-art{opacity:.42;filter:grayscale(.65)}.equipment-tile.locked small{color:#d0d9e7}.collection-note{margin:18px 0;text-align:center;font-size:14px;color:#fff;text-shadow:0 1px 5px #243858}.boss-rules{border:1px solid #ded5ee;background:#fffdf6f2;border-radius:22px;padding:21px;text-align:center;margin:18px 0 20px;box-shadow:var(--shadow)}.boss-rules>b{font-size:20px}.boss-rules p{font-size:16px;line-height:1.8;margin-top:10px;color:#73617e}.boss-rules strong{color:#85601d}.boss-rules .button{max-width:320px;margin:15px auto 0}.boss-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.boss-tile{position:relative;display:flex;flex-direction:column;align-items:center;padding:15px;border:2px solid var(--theme-border,#c9b176);border-radius:23px;background:linear-gradient(150deg,var(--theme-bg,#1e3851),#13243e);box-shadow:var(--shadow);color:#fff}.boss-preview{width:100%;height:200px;border-radius:14px;margin:10px 0}.boss-milestone{align-self:flex-start;font-size:15px;color:#fbe7b5}.boss-tile b{font-size:19px;line-height:1.5}.boss-tile small{font-size:14px;margin:6px 0 3px;color:#ffe4a1}.boss-tile.locked .boss-preview{opacity:.53;filter:grayscale(.3)}.theme-earth{--theme-bg:#23483e;--theme-border:#95c997;--theme-glow:#56de9c}.theme-fire{--theme-bg:#652a2f;--theme-border:#ebac73;--theme-glow:#ffbb54}.theme-ice{--theme-bg:#285377;--theme-border:#a2d7ef;--theme-glow:#6edafa}.theme-star{--theme-bg:#45306a;--theme-border:#c3a7eb;--theme-glow:#c69fff}.cycle-nav{display:flex;align-items:center;gap:15px;margin-top:18px;color:#fff}.cycle-nav .button{font-size:14px}.boss-intro{width:min(100%,570px);margin:16px auto;color:#fff;text-align:center}.intro-monster{height:285px;margin:10px 0 -24px;position:relative;z-index:2;display:flex;justify-content:center}.boss-intro-art{width:92%;height:100%;filter:drop-shadow(0 10px 15px #13263c55);border-radius:24px}.intro-card{background:linear-gradient(150deg,var(--theme-bg),#18263efa);border:2px solid var(--theme-border);border-radius:26px;padding:42px 25px 17px;box-shadow:var(--shadow)}.intro-card h1{font-size:28px;margin:9px 0}.intro-card>p{font-size:15px;line-height:1.7;color:#d9e8f2}.boss-condition{background:#0002;border:1px solid #fff3;border-radius:14px;padding:12px;font-size:16px;line-height:1.8;margin:17px 0 22px}.boss-condition b{color:#ffe0a0}.intro-card .text-button{color:#e0d7ed}.battle-view{width:min(100%,760px);margin:18px auto}.battle-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff;font-size:16px;text-shadow:0 2px 5px #1b3657}.battle-top b{font-size:15px;white-space:nowrap}.battle-arena{height:265px;position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:15px 25px 12px;margin-top:13px;border:2px solid var(--theme-border);border-radius:27px;background:linear-gradient(180deg,var(--theme-bg),#10244288),url('/assets/world.webp') center/cover;overflow:hidden;box-shadow:var(--shadow)}.battle-hero{width:41%;height:100%;position:relative;display:flex;align-items:flex-end;justify-content:center;z-index:3}.battle-hero .hero-character{height:100%;width:100%}.battle-fox{position:absolute;width:35%;height:35%;bottom:-4%;left:-16%;filter:drop-shadow(0 3px 3px #14254a77)}.versus{position:absolute;left:47%;top:37%;color:#f8d382;font-family:Georgia,serif;font-weight:bold;font-style:italic;font-size:24px;text-shadow:0 2px 4px #0009;z-index:3}.battle-enemy{height:88%;width:43%;align-self:center;border-radius:17px;filter:drop-shadow(0 7px 6px #06132677);z-index:2}.battle-tracker{display:flex;align-items:center;justify-content:space-between;padding:14px 7px;color:#fff;font-size:14px}.answer-dots{display:flex;gap:8px}.answer-dots span{height:30px;width:30px;border:1.5px solid #fffa;border-radius:50%;display:grid;place-items:center;background:#20446a88;font-size:13px}.answer-dots .current{border:2px solid #ffe398;background:#ebca793b}.answer-dots .correct{background:#c7ecd0;border-color:#d5f7c5;color:#287d4d;font-size:21px}.answer-dots .incorrect{background:#fbe7d0;border-color:#ffe6c1;color:#986135;font-size:19px}.battle-question{background:#fffdf8f5;border:2px solid #fff;border-radius:23px;padding:18px 24px 23px;box-shadow:var(--shadow)}.question-caption{text-align:center;font-size:16px;line-height:1.6}.battle-question h1{text-align:center;font-family:'Hiragino Mincho ProN','Yu Mincho',serif;color:#554274;font-size:54px;line-height:1.3;margin:10px 0 17px}.battle-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.battle-options:has(>button:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}.battle-options .answer-option{display:flex;justify-content:center;font-size:19px;padding:10px 6px;min-height:50px}.battle-options .icon{width:18px}.battle-feedback{text-align:center;font-size:14px;line-height:1.6;min-height:44px;padding:12px 0 8px;color:#776387}.battle-question>.button{max-width:360px;margin:auto}.attack-effect{position:absolute;width:38%;height:4px;right:11%;top:49%;background:#fff;box-shadow:0 0 7px 4px #fff,0 0 24px 13px var(--theme-glow);z-index:5;transform:rotate(-42deg) scaleX(0);border-radius:80%}.hit .attack-effect{animation:slash .75s ease-out}.hit .battle-hero{animation:hero-attack .8s ease-in-out}.hit .battle-enemy{animation:enemy-hit .8s ease-out}.miss .battle-enemy{animation:enemy-attack .75s ease-in-out}.miss .battle-fox{animation:guard .85s ease-out}.attack-label{position:absolute;left:0;right:0;top:8px;text-align:center;color:#ffeba7;font-size:19px;font-weight:900;text-shadow:0 3px 6px #0f2345;z-index:6;animation:hit-label .6s ease-out}.miss .attack-label{font-size:16px;color:#f1e8ff}.boss-result{width:min(100%,590px);margin:25px auto;text-align:center;color:#fff}.result-heading h1{font-size:36px;text-shadow:0 2px 8px #203e6f;margin:10px 0}.result-heading>p{font-size:17px}.result-heading strong{font-size:47px;color:#ffe194}.result-heroes{height:205px;display:flex;justify-content:center;align-items:flex-end;gap:0}.result-heroes .hero-character{height:100%;width:235px}.result-heroes .fox-character{height:145px;width:155px;margin-left:-25px}.result-card{padding:23px;background:#fffc;border:2px solid #fff;border-radius:25px;box-shadow:var(--shadow);color:#655171}.result-card p{font-size:16px;line-height:1.8;margin-bottom:18px}.review-list{display:grid;gap:8px;margin:0 0 19px}.review-list>div{display:flex;gap:18px;align-items:center;border-radius:12px;padding:10px 14px;background:#f3eaf5;text-align:left}.review-list>div>b{font-size:26px;min-width:50px}.review-list span{font-size:13px;line-height:1.6}.review-list strong{display:block;font-size:18px;color:#7251a0}.chest-view{width:min(100%,570px);margin:20px auto;text-align:center;color:#fff}.chest-view h1{font-size:28px;margin:30px 0 12px;text-shadow:0 2px 7px #1e426a}.chest-view>p{font-size:15px}.treasure-chest{position:relative;display:block;width:100%;height:320px;background:none;border:0;margin:10px 0 0;isolation:isolate}.chest-art{height:100%;width:100%;position:relative;border-radius:25px}.chest-radiance{position:absolute;inset:10% 6%;background:radial-gradient(ellipse,#ffdfa567,transparent 69%);z-index:-1;animation:prize-pulse 2.8s infinite}.opening .chest-art{animation:chest-open 1.1s ease-out}.opening .chest-radiance{background:radial-gradient(ellipse,#fff9cbd0,#eac76466 45%,transparent 72%);animation:prize-pulse .45s infinite}.chest-sparks{position:absolute;left:0;right:0;top:22%;font-size:45px;color:#fff5a4;letter-spacing:20px;animation:sparks-rise 1s ease-out}.chest-view .buddy-line{color:#5e4d73;margin-bottom:17px}.treasure-view{width:min(100%,580px);margin:30px auto;text-align:center;color:#fff;display:flex;flex-direction:column;align-items:center}.treasure-view h1{font-size:32px;line-height:1.6;margin:8px 0 5px;text-shadow:0 2px 6px #173560}.prize-stage{width:100%;height:335px;position:relative;isolation:isolate}.prize-glow{position:absolute;inset:0;background:radial-gradient(ellipse,var(--theme-glow),transparent 65%);opacity:.7;animation:prize-pulse 2s infinite}.prize-art{height:100%;width:100%;position:relative;filter:drop-shadow(0 6px 12px #fff5c955);animation:prize-appear .65s ease-out}.treasure-view>p{font-size:15px;line-height:1.8}.treasure-actions{width:min(100%,410px);display:grid;gap:15px;margin-top:22px}.treasury-title{text-align:center;color:#fff;text-shadow:0 2px 7px #2e4d72;margin:28px 0 20px}.treasury-title h1{font-size:28px;margin-bottom:9px}.treasury-title p{font-size:15px}.treasure-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.treasure-tile{display:flex;flex-direction:column;align-items:center;border:2px solid var(--theme-border);border-radius:23px;background:linear-gradient(145deg,var(--theme-bg),#122443);padding:15px;color:white;box-shadow:var(--shadow)}.treasure-tile>span{font-size:14px;color:#ffe2a1;align-self:flex-start}.treasure-thumbnail{height:195px;width:100%}.treasure-tile b{font-size:18px;line-height:1.5;margin:4px 0 7px}.treasure-tile small{font-size:13px;color:#dbe2f4}.treasure-tile.locked .treasure-thumbnail{opacity:.45;filter:grayscale(.5)}.treasure-tile.pending{box-shadow:0 0 25px #ffe0a49e}.game-notice{position:fixed;bottom:max(25px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:110;max-width:90%;min-width:280px;background:#172644f5;color:#fff;border:1px solid #e6c883;padding:15px 20px;border-radius:15px;box-shadow:0 6px 20px #182b5666;font-size:15px;display:flex;align-items:center;justify-content:space-between;gap:10px}.game-notice span{font-size:21px}.game-notice:active{transform:translateX(-50%)!important}@keyframes slash{0%,20%{transform:rotate(-42deg) scaleX(0);opacity:0}45%{transform:rotate(-42deg) scaleX(1);opacity:1}100%{transform:rotate(-42deg) scaleX(1.25);opacity:0}}@keyframes hero-attack{0%,100%{transform:translateX(0) rotate(0)}35%{transform:translateX(34px) rotate(8deg)}50%{transform:translateX(28px) rotate(-6deg)}}@keyframes enemy-hit{0%,30%,100%{transform:translateX(0);filter:brightness(1)}40%{transform:translateX(12px) rotate(4deg);filter:brightness(2)}65%{transform:translateX(-5px)}}@keyframes enemy-attack{45%{transform:translateX(-22px) rotate(-4deg)}}@keyframes guard{50%{filter:drop-shadow(0 0 18px #d8bcff);transform:scale(1.17)}}@keyframes hit-label{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes chest-open{0%{transform:rotate(-3deg) scale(.92)}25%{transform:rotate(3deg) scale(1.02)}50%{transform:rotate(-2deg)}75%{transform:scale(1.05)}100%{transform:scale(1)}}@keyframes sparks-rise{from{transform:translateY(25px);opacity:0}40%{opacity:1}to{transform:translateY(-75px);opacity:0}}@keyframes prize-pulse{50%{opacity:.4;transform:scale(1.1)}}@keyframes prize-appear{from{transform:translateY(30px) scale(.6);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
@media(max-width:850px){.home-view .title-block h1{font-size:29px}.home-view .speech-bubble{font-size:11px}.adventure-nav button{min-height:62px}.adventure-nav .nav-sprite{width:33px;height:36px}}
@media(max-width:650px){.home-view .title-block h1{font-size:23px;line-height:1.55;margin-top:5px;white-space:normal}.home-view .title-block{height:52px}.home-view .character-stage{height:clamp(72px,calc(100svh - 560px),180px)}.home-view .character-stage .hero-character{height:calc(100% + 28px);width:180px;left:5px;bottom:-17px}.home-view .character-stage .fox-character{height:calc(100% + 5px);max-height:150px;width:140px;right:3px;bottom:-16px}.home-view .speech-bubble{right:-3px;top:5px;font-size:10px;padding:7px 9px}.home-view .chapter-card{padding:15px 17px}.home-view .chapter-progress{margin:11px 0 14px}.chapter-choice{padding:6px 8px;gap:3px}.chapter-choice small{font-size:11px}.quest-progress{margin-top:15px}.quest-progress>span{font-size:12px}.mini-gear{height:25px;width:30px}.adventure-nav{gap:7px;margin-top:12px}.adventure-nav button{min-height:59px;padding:5px 2px;gap:2px;flex-direction:column;border-radius:12px}.adventure-nav button span{font-size:12px;line-height:1.3}.adventure-nav .nav-sprite{width:42px;height:30px}.chapter-select-view{margin-top:13px}.chapter-select-view .learning-card{padding:19px 17px}.chapter-select-view h1{font-size:19px}.chapter-select-view .kanji-map{gap:9px}.chapter-select-view .kanji-tile{font-size:28px}.gift-card{padding:19px 19px 23px}.gift-card h2{font-size:19px}.gift-card h3{font-size:21px}.gift-sprite{height:160px}.gift-card p:not(.gold-eyebrow){font-size:14px;margin-bottom:18px}.collection-view{margin-top:14px}.wardrobe-preview{padding:16px 13px;gap:10px;border-radius:20px;margin-top:13px}.wardrobe-hero{width:46%}.wardrobe-hero .hero-character{height:192px}.wardrobe-preview h1{font-size:19px;margin:6px 0;line-height:1.6}.wardrobe-preview p{font-size:13px}.wardrobe-preview .gold-eyebrow{font-size:11px;letter-spacing:0}.outfit-picker{gap:5px;margin-top:11px}.outfit-picker button{font-size:12px;min-height:29px;min-width:27px;padding:5px}.equipment-grid{grid-template-columns:1fr 1fr;gap:11px}.equipment-tile{border-radius:17px;min-height:194px;padding:10px 9px;gap:6px}.equipment-art{height:100px}.equipment-tile b{font-size:14px}.equipment-tile small,.equipment-milestone{font-size:12px}.collection-note{font-size:12px}.boss-rules{padding:17px 14px;margin:14px 0 16px}.boss-rules>b{font-size:17px}.boss-rules p{font-size:15px;margin-top:7px}.boss-grid{gap:11px}.boss-tile{border-radius:19px;padding:10px}.boss-milestone{font-size:12px}.boss-preview{height:120px;margin:6px 0 8px;border-radius:9px}.boss-tile b{font-size:15px}.boss-tile small{font-size:12px}.boss-intro{margin-top:13px}.intro-monster{height:220px;margin-top:11px}.intro-card{padding:35px 18px 13px}.intro-card h1{font-size:24px}.intro-card>p{font-size:14px}.boss-condition{font-size:14px;margin:14px 0 18px;padding:10px}.battle-view{margin-top:12px}.battle-top{font-size:13px;gap:6px}.battle-top b{font-size:12px}.battle-arena{height:clamp(135px,24svh,205px);margin-top:10px;padding:12px 13px 8px;border-radius:20px}.battle-hero{width:45%;height:96%}.battle-enemy{width:44%;height:88%;border-radius:10px}.battle-fox{width:37%;height:37%;left:-13%;bottom:-7%}.versus{font-size:19px;top:42%;left:47%}.battle-tracker{padding:10px 3px;font-size:12px}.answer-dots{gap:6px}.answer-dots span{height:26px;width:26px;font-size:12px}.answer-dots .correct{font-size:20px}.answer-dots .incorrect{font-size:18px}.battle-question{padding:14px 15px 18px;border-radius:20px}.question-caption{font-size:14px}.battle-question h1{font-size:43px;margin:7px 0 12px}.battle-options{gap:8px}.battle-options .answer-option{font-size:17px;min-height:45px;white-space:normal;padding:8px 3px}.battle-options .icon{display:none}.battle-feedback{font-size:13px;padding:10px 0 8px;min-height:38px}.battle-question>.button{min-height:46px;font-size:16px}.attack-label{font-size:16px;top:5px}.miss .attack-label{font-size:13px}.boss-result{margin-top:22px}.result-heading h1{font-size:28px;margin:8px 0}.result-heading strong{font-size:39px}.result-heroes{height:173px}.result-heroes .hero-character{width:192px}.result-heroes .fox-character{height:123px;width:125px}.result-card{padding:18px 17px}.result-card p{font-size:14px;margin-bottom:16px}.review-list>div{padding:8px 10px;gap:10px}.review-list>div>b{font-size:23px}.review-list span{font-size:12px}.review-list strong{font-size:16px}.chest-view{margin-top:15px}.chest-view h1{font-size:23px;margin:25px 0 10px}.chest-view>p{font-size:13px}.treasure-chest{height:min(36svh,285px);margin-top:15px}.chest-view .buddy-line{margin-bottom:12px}.treasure-view{margin-top:25px}.treasure-view h1{font-size:26px}.prize-stage{height:min(39svh,310px)}.treasure-view>p{font-size:13px}.treasure-actions{gap:13px;margin-top:20px}.treasury-title{margin:23px 0 18px}.treasury-title h1{font-size:23px}.treasury-title p{font-size:14px}.treasure-grid{gap:12px}.treasure-tile{border-radius:19px;padding:11px 9px}.treasure-tile>span{font-size:12px}.treasure-thumbnail{height:132px}.treasure-tile b{font-size:15px}.treasure-tile small{font-size:12px}.game-notice{font-size:14px;padding:13px 16px}}
@media(max-width:650px) and (max-height:720px){.home-view .character-stage{height:clamp(56px,calc(100svh - 590px),120px)}.home-view .title-block{height:47px}.home-view .title-block h1{font-size:21px}.home-view .chapter-card{padding:12px 15px}.home-view .chapter-heading h2{font-size:21px}.home-view .chapter-progress{margin:8px 0 12px}.home-view .home-secondary{margin-top:12px}.quest-progress{margin-top:12px}.adventure-nav{margin-top:10px}.adventure-nav button{min-height:56px}.battle-arena{height:142px}.battle-question{padding:11px 13px 15px}.battle-question h1{font-size:37px;margin:6px 0 10px}.battle-tracker{padding:8px 3px}.battle-options .answer-option{min-height:42px;font-size:16px}.battle-feedback{min-height:36px;padding:8px 0}.intro-monster{height:185px}.boss-intro{margin-top:10px}.intro-card{padding-top:32px}.boss-condition{margin:10px 0 15px}.result-heroes{height:145px}.result-heroes .fox-character{height:109px}.chest-view h1{margin-top:18px}.treasure-view{margin-top:17px}.prize-stage{height:230px}.treasure-chest{height:230px}}
@media(max-width:370px){.home-view .title-block h1{font-size:19px}.adventure-nav button span{font-size:11px}.quest-progress>span{font-size:11px}.battle-top span{font-size:12px}.battle-options .answer-option{font-size:15px}.wardrobe-preview h1{font-size:17px}}
@media(prefers-reduced-motion:reduce){.attack-effect{display:none}.attack-label{animation:none}.chest-sparks{animation:none}.gift-sprite,.prize-art{animation:none}*{scroll-behavior:auto!important}}
.hero-character.is-equipped{border-radius:20px;filter:drop-shadow(0 8px 12px #0c1d3d55)}.gift-sprite,.equipment-art,.prize-art,.chest-art{border-radius:16px}.battle-tracker>b{font-size:12px;font-weight:700}.battle-hero .is-equipped{border-radius:14px}
@media(max-width:650px){.battle-tracker>b{font-size:10px}.hero-character.is-equipped{border-radius:15px}.home-view .character-stage .is-equipped{border:1px solid #e5c6869c}}

/* Shared return navigation and Lulu's message stay in the document flow. */
.home-return{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 14px;border:2px solid #c5afe7;border-radius:15px;background:#fff;color:#59408c;box-shadow:0 3px 0 #c5afe7;font-size:1rem;font-weight:800;line-height:1.4;flex-shrink:0}
.home-return .icon{width:21px;height:21px}
.home-return span{white-space:nowrap}
body:not([data-screen="home"]) .topbar{position:sticky;top:8px;z-index:20;flex-wrap:wrap;padding:7px;border:1px solid #ffffffc9;border-radius:21px;background:#eaf6fff2;box-shadow:0 5px 18px #30466924}
body:not([data-screen="home"]) .top-actions{margin-left:auto}
.buddy-name{color:#7950af;font-size:.875rem;font-weight:800;white-space:nowrap}
.buddy-line .buddy-name{margin-right:5px}
.home-view .title-block{height:auto;min-height:0;flex:none}
.home-view .title-block h1{line-height:1.45}
.home-view .title-block h1>span,.home-view .title-block h1>em{display:inline-block}
.home-view .speech-bubble{position:static;align-self:flex-end;display:flex;align-items:center;gap:9px;max-width:100%;margin:12px 0 12px;padding:9px 13px;font-size:.875rem;line-height:1.6;text-align:left;transform:none;flex:none}
.lulu-message{display:flex;flex-wrap:wrap;column-gap:.45em;min-width:0}
.lulu-message>span{display:inline-block;overflow-wrap:anywhere}
.home-view .character-stage{margin-top:0;flex:none}
.home-view .character-stage .hero-character{height:100%;bottom:-8px}
.home-view .character-stage .fox-character{height:78%;bottom:-8px}
.hero-character.is-equipped,.battle-hero .is-equipped,.home-view .character-stage .is-equipped{border:0;border-radius:0;background:none}
@media(max-width:650px){
 .home-return{padding:9px 10px;font-size:.875rem;gap:6px}
 body:not([data-screen="home"]) .topbar{top:5px;padding:6px;gap:7px}
 .home-view .title-block{height:auto}
 .home-view .title-block .eyebrow{font-size:.875rem;letter-spacing:.01em}
 .home-view .title-block h1{font-size:clamp(19px,5.5vw,25px);line-height:1.45;margin-top:5px}
 .home-view .speech-bubble{margin:8px 0 12px;padding:7px 10px;font-size:.875rem;border-radius:15px 15px 15px 3px}
 .home-view .character-stage{height:clamp(82px,calc(100svh - 620px),180px);width:min(100%,340px)}
 .home-view .character-stage .hero-character{height:100%;width:59%;left:0;bottom:-8px}
 .home-view .character-stage .fox-character{height:78%;width:47%;right:0;bottom:-8px;max-height:none}
 .play-heading{min-height:27px}
}
@media(max-width:650px) and (max-height:720px){
 .home-view .character-stage{height:72px}
 .home-view .speech-bubble{margin-top:6px;margin-bottom:11px}
}

/* Scene art and selected equipment keep their own readable space. */
.scene-character{border:0;border-radius:0;background:none;max-width:100%;height:auto}.scene-wrap,.dressed-wrap{display:inline-block;position:relative}.scene-wrap>.scene-character{width:100%!important;height:100%!important;position:static!important;display:block}.hero-base{width:100%;height:100%;object-fit:contain}.wardrobe-hero>.fox-character{width:85px;position:relative}.equipment-art{border-radius:12px}.outfit-picker{flex-wrap:wrap}.buddy-line .scene-wrap{flex-shrink:0}.mini-gear{border-radius:6px}

.chest-helper{width:150px;margin:12px auto}.thinking-hero{width:120px;margin:12px auto}.chest-helper .character-art,.thinking-hero .character-art{width:100%;height:auto}

/* Transparent character artwork is independent of layout wrappers. */
.scene-wrap>.character-art{inset:auto!important;filter:none!important;transform:none!important;animation:none!important;max-height:none!important}
.dressed-wrap>.character-art{display:block;width:100%;height:100%;object-fit:contain}
.home-view{grid-template-columns:minmax(0,1fr) minmax(0,450px)}
.adventure-scene,.character-stage,.home-controls{min-width:0}
@media(max-width:850px) and (min-width:651px){.app-shell{padding-left:22px;padding-right:22px}.home-view{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.chapter-card{padding:20px}.character-stage{height:290px}}
@media(max-width:650px){.home-view{grid-template-columns:minmax(0,1fr)}}

/* Keep character portraits and equipped item cards in separate normal-flow areas. */
.wardrobe-preview{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center}
.wardrobe-hero{width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.4fr);align-items:end;gap:8px}
.wardrobe-hero>.hero-character{width:100%;height:275px;min-width:0}
.wardrobe-hero>.fox-character{position:relative;width:100%;height:125px;min-width:0;margin-bottom:8px}
.wardrobe-description{min-width:0}
.equipped-loadout{display:grid;gap:9px;margin-top:14px}
.equipped-item{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #dcc68d;border-radius:12px;background:#fff6db;color:#423351;min-width:0}
.equipped-item-art{flex:none;width:64px;height:78px;border-radius:8px}
.equipped-item>div{min-width:0}.equipped-item small{display:block;font-size:14px;color:#776137;line-height:1.5}.equipped-item b{display:block;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:650px){.wardrobe-preview{grid-template-columns:minmax(0,1fr);gap:18px}.wardrobe-hero{max-width:300px;justify-self:center}.wardrobe-hero>.hero-character{height:220px}.wardrobe-hero>.fox-character{height:110px}.wardrobe-description h1 br{display:none}.equipped-item-art{width:54px;height:66px}}
/* Two independent adventurers, with the same learning content. */
.atlas-sprite{object-fit:contain}
.brand-grade{display:block;font-size:13px;font-weight:500;margin-top:3px}
.character-switch{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #fff9;border-radius:13px;background:#fffdf0eb;padding:5px 10px;min-height:46px;color:#5c4c83;font-size:14px}
.character-switch small{font-size:12px;color:#776795}
.choice-heading{color:#fff;text-shadow:0 2px 5px #314675;font-size:18px;display:flex;gap:12px;align-items:center;justify-content:center;padding:10px 0}
.choice-heading span{background:#ffffffd9;color:#635286;border-radius:20px;font-size:14px;padding:5px 12px;text-shadow:none}
.character-select{width:min(100%,790px);margin:auto;text-align:center;padding:24px 0 16px;color:white;text-shadow:0 2px 8px #254c7880}
.character-select h1{font-size:36px;margin:9px 0}.choose-intro{font-size:18px}
.character-choices{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:25px 0 18px}
.character-choice{display:flex;flex-direction:column;align-items:center;border:2px solid #ffffff;border-radius:28px;padding:18px 20px 20px;box-shadow:0 7px 0 #4769a780,0 16px 35px #29487836;text-shadow:none;transition:transform .18s,box-shadow .18s;background:linear-gradient(160deg,#f6fcff,#d8edff);color:#365a94;min-width:0}
.girl-choice{background:linear-gradient(160deg,#fffaff,#ede1ff);color:#7253a8;box-shadow:0 7px 0 #78629a80,0 16px 35px #29487836}
.character-choice:hover{transform:translateY(-4px)}
.choice-role{font-size:16px;font-weight:800;letter-spacing:.12em;padding:4px 14px;border-radius:20px;background:#ffffffb3}
.character-choice img{width:100%;height:260px;object-fit:contain;margin:10px 0;filter:drop-shadow(0 8px 9px #4b5e8a22)}
.character-choice strong{font-size:24px}.choice-equipment{font-size:15px;margin:7px 0 15px;line-height:1.5;min-height:23px}
.choice-start{width:100%;background:#497ab7;color:white;border-radius:14px;padding:12px 5px;font-size:17px;box-shadow:0 3px 0 #305886}
.girl-choice .choice-start{background:#9471c6;box-shadow:0 3px 0 #6c4e97}
.character-save-note{font-size:15px;line-height:1.8}.character-back{color:white;font-size:16px;text-decoration:underline}
@media(max-width:600px){
 .topbar{gap:5px}.topbar .brand b{font-size:13px}.top-actions{gap:6px}.character-switch{font-size:12px;padding:4px 7px;min-height:40px}.topbar .points{min-width:58px;padding:7px 9px;font-size:18px}.topbar .round-button{width:36px;height:36px}.topbar .brand>.icon{display:none}
 .character-select{padding:18px 0 10px}.character-select>.eyebrow{font-size:14px}.character-select h1{font-size:29px}.choose-intro{font-size:16px}.character-choices{gap:12px;margin:18px 0}.character-choice{padding:12px 8px 14px;border-radius:21px}.character-choice img{height:clamp(160px,29svh,250px);margin:8px 0}.character-choice strong{font-size:19px}.choice-role{font-size:14px;padding:3px 12px}.choice-equipment{font-size:13px;min-height:38px;display:flex;align-items:center;margin:5px 0 8px}.choice-start{font-size:14px;padding:11px 2px}.character-save-note{font-size:14px}.choice-heading{font-size:15px;gap:8px}.choice-heading span{font-size:12px;padding:4px 8px}
}
@media(prefers-reduced-motion:reduce){.character-choice{transition:none}}
@media(max-width:600px){.topbar{flex-wrap:wrap}.top-actions{margin-left:auto}.topbar .brand{min-width:0}.topbar .brand b{font-size:12px}.topbar .home-return{font-size:13px}}
/* Clear return action on the two-character game's home screen. */
.topbar .character-switch{flex-direction:row;gap:7px;min-height:48px;padding:8px 13px;border:2px solid #d9c8ff;border-radius:14px;background:linear-gradient(180deg,#7954bc,#59358f);color:#fff;box-shadow:0 4px 0 #3d2269,0 6px 12px #30204d33;font-size:14px;font-weight:800;line-height:1.35;white-space:nowrap}
.character-switch .icon{width:21px;height:21px;flex-shrink:0}
.topbar .character-switch:hover{background:linear-gradient(180deg,#8964cc,#68439e)}
.topbar .character-switch:active{transform:translateY(3px);box-shadow:0 1px 0 #3d2269}
.topbar .character-switch:focus-visible{outline:3px solid #ffe48c;outline-offset:4px}
@media(max-width:600px){.topbar .character-switch{min-height:44px;padding:6px 9px;gap:5px;font-size:13px}.character-switch .icon{width:18px;height:18px}}
