:root{--ink:#493d62;--muted:#756b8e;--cream:#fffaf0;--paper:#ffffffeb;--line:#5b4d7c26;--sky:#bce8ff;--blue:#55b9ed;--pink:#f2879e;--lavender:#ad92ea;--gold:#f6b84f;--mint:#9bd6a5;--shadow:0 18px 50px #56487e2e}*{box-sizing:border-box}html{background:#dff3ff}body{color:var(--ink);font-family:var(--font-geist-sans), "PingFang TC", "Microsoft JhengHei", sans-serif;margin:0;font-size:16px;line-height:1.5}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:4px solid color-mix(in srgb, var(--hero,var(--blue)) 40%, white);outline-offset:3px}.adventure-app{isolation:isolate;min-height:100svh;padding:92px clamp(18px,4vw,68px) 58px;position:relative;overflow-x:hidden}.adventure-app.phase-battle{padding-top:86px}.adventure-app.phase-splash{background:#07184d;height:100svh;min-height:100svh;padding:0;overflow:hidden}.opening-splash{z-index:80;isolation:isolate;background:#07184d;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.opening-splash-backdrop{z-index:-2;filter:blur(30px)saturate(.9)brightness(.58);background:url(/opening-splash.webp) 50%/cover no-repeat;position:absolute;inset:-8%;transform:scale(1.08)}.opening-splash:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 42%,#0000 35%,#030a2b33 100%);position:absolute;inset:0}.opening-splash:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(#040e3905 58%,#040c2cb3 100%);position:absolute;inset:0}.opening-splash-art{z-index:1;object-fit:contain;object-position:center;filter:drop-shadow(0 22px 55px #00072880);width:100%;height:100%;position:absolute;inset:0}.opening-splash-actions{z-index:3;width:min(390px,100% - 36px);margin:0 18px max(24px, env(safe-area-inset-bottom));align-self:end;gap:12px;display:grid;position:relative}.opening-splash-enter{color:#3c245d;cursor:pointer;text-align:center;background:linear-gradient(135deg,#fff5b1,#ffd263 52%,#ffad5e);border:2px solid #fff8b5f2;border-radius:999px;width:100%;padding:13px 30px 12px;transition:transform .2s,filter .2s;animation:2.1s ease-in-out infinite splashButton;box-shadow:0 0 0 5px #6546c757,0 14px 36px #0907396b,inset 0 2px #ffffffe6}.opening-splash-enter strong,.opening-splash-enter span{display:block}.opening-splash-enter strong{letter-spacing:.06em;font-size:21px;font-weight:900;line-height:1.2}.opening-splash-enter span{opacity:.78;margin-top:3px;font-size:12px;font-weight:800}.opening-splash-enter:hover{filter:brightness(1.08);transform:translateY(-3px)scale(1.02)}.opening-splash-enter:active{transform:translateY(1px)scale(.99)}.world-bg,.weather-layer,.crt-layer{pointer-events:none;position:fixed;inset:0}.world-bg{z-index:-5;background:radial-gradient(13% 5% at 8% 13%,#ffffffeb 0 70%,#0000 72%),radial-gradient(17% 6% at 25% 22%,#ffffffbf 0 70%,#0000 72%),radial-gradient(12% 5% at 78% 12%,#ffffffd1 0 70%,#0000 72%),radial-gradient(16% 6% at 92% 26%,#ffffffa8 0 70%,#0000 72%),linear-gradient(#a9def8 0%,#dbf5ff 45%,#f9f1d5 45.2%,#c9e9ad 64%,#8fc880 100%)}.world-bg:before{content:"";opacity:.78;filter:drop-shadow(0 -12px 20px #5280691f);background:radial-gradient(at 12% 100%,#9fc79b 0 28%,#0000 29%),radial-gradient(at 33% 100%,#b6dba5 0 31%,#0000 32%),radial-gradient(at 62% 100%,#8fbf95 0 33%,#0000 34%),radial-gradient(at 88% 100%,#afd49e 0 27%,#0000 28%);position:absolute;inset:29% -10% 25%}.world-bg:after{content:"";opacity:.28;background:repeating-linear-gradient(84deg,#0000 0 90px,#ffffff5c 92px 98px),linear-gradient(#b8db98,#7cbf74);border-radius:50% 50% 0 0;width:min(1100px,115vw);height:58%;position:absolute;bottom:-15%;left:50%;transform:translate(-50%)}.weather-layer{z-index:-3;opacity:.55;background-image:radial-gradient(circle at 13% 22%,#fff 0 3px,#0000 4px),radial-gradient(circle at 48% 16%,#fff7b2 0 3px,#0000 4px),radial-gradient(circle at 75% 32%,#fff 0 4px,#0000 5px),radial-gradient(circle at 90% 8%,#fff7b2 0 3px,#0000 4px);background-size:290px 260px,360px 310px,410px 300px,330px 280px;animation:16s linear infinite sparkleDrift}.crt-layer{z-index:30;opacity:.12;mix-blend-mode:multiply;background-image:radial-gradient(#52466c29 .7px,#0000 .8px);background-size:6px 6px}.adventure-header{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc4;border:1px solid #ffffffb8;border-radius:22px;justify-content:space-between;align-items:center;gap:18px;width:min(1500px,100% - 32px);min-height:64px;padding:9px 12px 9px 16px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 10px 32px #464f7c24}.adventure-brand{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.adventure-brand>span{aspect-ratio:1;color:#fff;background:linear-gradient(145deg, var(--blue), var(--lavender));border-radius:15px;place-items:center;width:45px;font-size:24px;display:grid;box-shadow:inset 0 2px #ffffff8c,0 7px 16px #5d82cb40}.adventure-brand strong{font-size:21px;line-height:1.05}.adventure-brand small{color:var(--muted);letter-spacing:.13em;margin-top:5px;font-size:12px;font-weight:900;display:block}.header-actions{color:var(--muted);align-items:center;gap:14px;font-size:15px;font-weight:800;display:flex}.header-actions button{cursor:pointer;background:#fff;border:2px solid #71629724;border-radius:14px;min-height:42px;padding:0 16px;font-size:15px;font-weight:900}.header-actions button.sound-active{color:#7a55c4;background:#f6f0ff;border-color:#cebdf1}.title-screen,.hero-select,.map-screen,.encounter-screen,.lesson-screen,.battle-screen,.clear-screen,.ending-screen{width:min(1500px,100%);min-height:calc(100svh - 150px);margin:0 auto}.scene-enter{animation:.55s cubic-bezier(.18,.8,.2,1) both sceneIn}.title-screen{grid-template-columns:minmax(0,1.2fr) minmax(310px,.62fr);align-items:center;gap:clamp(30px,6vw,100px);display:grid;position:relative}.title-lockup{padding:clamp(25px,4vw,60px) 0 260px;position:relative}.title-lockup>p,.screen-heading>span,.map-heading>span,.encounter-copy>span,.clear-heading>span,.ending-copy>span{color:#7556b7;letter-spacing:.16em;margin:0 0 12px;font-size:13px;font-weight:900}.title-lockup h1{letter-spacing:-.07em;color:#44375e;text-shadow:0 7px #fff,0 14px 28px #4b386726;margin:0;font-size:clamp(62px,9vw,140px);line-height:.92}.title-lockup h2{color:#fff;background:linear-gradient(90deg,#f27e9b,#a888e5);border-radius:999px;width:fit-content;margin:20px 0 24px;padding:8px 22px;font-size:clamp(22px,3vw,40px);box-shadow:0 9px 22px #bc649938}.title-lockup blockquote{color:#645979;max-width:900px;margin:0;font-size:clamp(18px,1.8vw,25px);font-weight:700;line-height:1.65}.title-lockup blockquote span{display:block}.title-party{width:min(740px,100%);height:290px;position:absolute;bottom:-15px;left:0}.title-party img{object-fit:contain;filter:drop-shadow(0 14px 12px #4f46732e);width:235px;height:235px;animation:3.2s ease-in-out infinite heroFloat;position:absolute;bottom:0}.title-party img:first-child{z-index:2;left:0}.title-party img:nth-child(2){z-index:3;animation-delay:-.6s;left:25%}.title-party img:nth-child(3){z-index:2;animation-delay:-1.1s;left:50%}.title-party img:nth-child(4){width:155px;height:155px;animation-delay:-1.7s;bottom:-5px;left:72%}.title-menu{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffb8;border:1px solid #fffc;border-radius:30px;gap:13px;padding:24px;display:grid;position:relative}.title-menu button{cursor:pointer;text-align:left;background:#fffffff0;border:2px solid #5d4d811f;border-radius:18px;padding:19px 24px;transition:transform .2s,border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.title-menu button:after{content:"➜";color:#9a83cf;font-size:22px;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.title-menu button:hover{border-color:#c0a8ed;transform:translateY(-4px);box-shadow:0 12px 22px #5a4b8221}.title-menu button.continue-save{color:#fff;background:linear-gradient(135deg,#6ebee9,#9b82db);border-color:#0000}.title-menu button.continue-save:after{color:#fff}.title-menu strong{font-size:18px;display:block}.title-menu span{color:var(--muted);margin-top:4px;padding-right:25px;font-size:14px;font-weight:700;display:block}.title-menu .continue-save span{color:#ffffffd1}.title-menu button.share-entry{background:linear-gradient(135deg,#e8fff9fa,#eef4fffa);border-color:#57b1a647}.title-menu button.share-entry:after{content:"↗";color:#4f9d97}.title-menu .share-status{color:#6e58a4;margin:0 4px;font-size:13px;font-weight:900}.title-version{color:#9a90aa;text-align:center;letter-spacing:.1em;padding:6px;font-size:12px;font-weight:900}.modal-backdrop{z-index:96;background:#3d2d524d;animation:.2s both repairBackdropIn;position:fixed;inset:0}.guide-window{z-index:97;background:#fffaf1;border:4px solid #fff;border-radius:28px;width:min(620px,100% - 28px);max-height:86svh;padding:34px;animation:.26s cubic-bezier(.18,.8,.2,1) both repairModalIn;position:fixed;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 30px 100px #32265059}.guide-window>button{cursor:pointer;background:#efe5ff;border:0;border-radius:50%;width:38px;height:38px;font-size:25px;position:absolute;top:12px;right:15px}.guide-window>span{color:#8b69c9;letter-spacing:.15em;font-size:14px;font-weight:900}.guide-window h3{margin:9px 0 20px;font-size:28px}.guide-window ol{color:#665b76;gap:12px;margin:0;padding-left:25px;line-height:1.5;display:grid}.guide-window b{color:#483b61;margin-right:8px}.screen-heading,.map-heading{padding:35px 0 22px}.screen-heading h1,.map-heading h1,.encounter-copy h1,.clear-heading h1,.ending-copy h1{color:#46395f;margin:0;font-size:clamp(38px,5vw,72px);line-height:1.08}.screen-heading p,.map-heading p{color:var(--muted);font-size:17px;font-weight:700}.hero-select-toolbar{justify-content:space-between;align-items:flex-end;gap:28px;display:flex}.hero-select-toolbar .screen-heading{flex:1}.gender-switch{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffffb3;border:2px solid #ffffffd1;border-radius:21px;flex:none;margin-bottom:23px;padding:10px;box-shadow:0 12px 28px #5446781f}.gender-switch>span{color:var(--muted);letter-spacing:.08em;margin:0 0 7px 7px;font-size:13px;font-weight:900;display:block}.gender-switch>div{grid-template-columns:1fr 1fr;gap:7px;display:grid}.gender-switch button{color:#716681;cursor:pointer;background:#ffffffd1;border:2px solid #0000;border-radius:14px;min-width:125px;min-height:48px;padding:0 17px;font-size:16px;font-weight:900;transition:transform .18s,color .18s,background .18s,box-shadow .18s}.gender-switch button:hover{transform:translateY(-2px)}.gender-switch button.active{color:#fff;background:linear-gradient(135deg,#58bbea,#9e83e1);box-shadow:0 8px 18px #7560b93d}.hero-cards{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.hero-cards>button{background:linear-gradient(180deg, color-mix(in srgb, var(--card) 17%, white), #ffffffe0 65%);cursor:pointer;text-align:left;border:3px solid #fffc;border-radius:30px;min-height:520px;padding:0 23px 24px;transition:transform .22s,border-color .22s,box-shadow .22s;position:relative;overflow:hidden;box-shadow:0 14px 30px #5546781f}.hero-cards>button:before{content:"";background:color-mix(in srgb, var(--card) 28%, white);border-radius:50%;width:54px;height:54px;position:absolute;inset:20px 20px auto auto}.hero-cards>button:hover,.hero-cards>button.selected{border-color:var(--card);box-shadow:0 22px 42px color-mix(in srgb, var(--card) 25%, transparent);transform:translateY(-8px)}.hero-cards img{object-fit:contain;filter:drop-shadow(0 13px 10px #4c3f6826);width:100%;height:300px;display:block}.hero-cards span{color:color-mix(in srgb, var(--card) 70%, #493d62);letter-spacing:.1em;font-size:15px;font-weight:900}.hero-cards strong{margin:4px 0 6px;font-size:30px;display:block}.hero-cards p{min-height:48px;color:var(--muted);margin:0 0 13px;font-size:16px;line-height:1.55}.hero-cards em{color:#665878;background:#fffc;border-radius:15px;min-height:80px;padding:13px 15px;font-size:14px;font-style:normal;line-height:1.5;display:block}.hero-cards em b{color:var(--card);margin-bottom:4px;font-size:16px;display:block}.grade-start-picker{box-shadow:var(--shadow);background:#ffffffb8;border:3px solid #ffffffc2;border-radius:26px;grid-template-columns:minmax(230px,.65fr) 1.8fr;align-items:center;gap:20px;margin-top:22px;padding:20px;display:grid}.grade-start-picker.needs-choice{background:linear-gradient(135deg,#fff8faf0,#f8f4ffe6);border-color:#f0a5b7;box-shadow:0 14px 34px #9f4c6829}.grade-start-picker>div:first-child>span{color:#8266bf;letter-spacing:.13em;font-size:12px;font-weight:900}.grade-start-picker h2{margin:4px 0;font-size:25px}.grade-start-picker p{color:var(--muted);margin:0;font-size:14px;font-weight:700;line-height:1.5}.grade-start-picker>div:last-child{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.grade-start-picker button{cursor:pointer;text-align:left;background:#ffffffe0;border:2px solid #e6dced;border-radius:14px;min-height:58px;padding:8px 11px;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s}.grade-start-picker button:hover{border-color:#bfa8e9;transform:translateY(-2px)}.grade-start-picker button.active{background:linear-gradient(135deg,#eef8ff,#eee4ff);border-color:#8f73d1;box-shadow:0 8px 18px #6f58a529}.grade-start-picker button span,.grade-start-picker button strong{display:block}.grade-start-picker button span{color:#8064ba;font-size:13px;font-weight:900}.grade-start-picker button strong{margin-top:2px;font-size:14px}.hero-step-label{align-items:baseline;gap:12px;margin:27px 4px 10px;display:flex}.hero-step-label span{color:#8266bf;letter-spacing:.13em;font-size:12px;font-weight:900}.hero-step-label h2{margin:0;font-size:25px}.hero-step-label p{color:var(--muted);margin:0;font-size:14px;font-weight:700}.record-confirm{box-shadow:var(--shadow);background:#ffffffc2;border-radius:24px;justify-content:flex-end;gap:12px;margin-top:22px;padding:18px;display:flex}.record-confirm label{flex:1;max-width:330px}.record-confirm label span{color:var(--muted);margin:0 0 6px 4px;font-size:14px;font-weight:900;display:block}.record-confirm input{width:100%;height:54px;color:var(--ink);background:#fff;border:2px solid #e2d9ec;border-radius:16px;padding:0 17px;font-weight:800}.record-confirm>button,.encounter-copy>button,.map-heading>button{color:#fff;background:linear-gradient(135deg, var(--hero), #a585df);min-width:260px;box-shadow:0 10px 22px color-mix(in srgb, var(--hero) 30%, transparent);cursor:pointer;border:0;border-radius:17px}.record-confirm>button:disabled{color:#82798d;box-shadow:none;cursor:not-allowed;background:#ddd7e2}.record-confirm>button strong,.record-confirm>button small{display:block}.record-confirm>button small{opacity:.82;margin-top:4px}.map-screen{grid-template-rows:auto auto 1fr;grid-template-columns:1fr 320px;gap:0 25px;display:grid}.chapter-rail{scroll-snap-type:x proximity;overscroll-behavior-inline:contain;grid-column:1/-1;gap:10px;margin:22px 0 0;padding:3px 2px 12px;display:flex;overflow-x:auto}.chapter-rail button{scroll-snap-align:start;min-height:64px;color:var(--ink);cursor:pointer;text-align:left;background:#ffffffad;border:3px solid #ffffffb3;border-radius:18px;flex:0 0 172px;align-items:center;gap:11px;padding:9px 13px;transition:transform .18s,border-color .18s,background .18s;display:flex;box-shadow:0 9px 20px #4e42691a}.chapter-rail button:hover:not(:disabled){border-color:var(--chapter);transform:translateY(-3px)}.chapter-rail button.active{border-color:var(--chapter);background:color-mix(in srgb, var(--chapter) 16%, white)}.chapter-rail button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.65)}.chapter-rail button>i{color:#fff;background:var(--chapter);border-radius:13px;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:13px;font-style:normal;font-weight:900;display:grid}.chapter-rail button>span,.chapter-rail button small,.chapter-rail button strong{display:block}.chapter-rail button small{color:var(--muted);letter-spacing:.08em;font-size:10px;font-weight:900}.chapter-rail button strong{font-size:16px}.chapter-rail button.complete>i{background:#59bd8e}.chapter-rail button.review{background:#ffffff8a;border-style:dashed}.chapter-rail button.review>i{color:#6c5c84;background:#eee7f7}.map-heading{grid-column:1/-1}.map-heading>button{min-width:220px;padding:13px 18px}.map-heading-actions{flex-wrap:wrap;align-items:center;gap:9px;margin-top:15px;display:flex}.map-heading-actions>span{color:#73599f;background:#ffffffbd;border-radius:999px;padding:8px 11px;font-size:13px;font-weight:900}.map-heading-actions>button{color:#674c9a;cursor:pointer;background:#f8f4ff;border:2px solid #b9a2df;border-radius:12px;min-height:40px;padding:8px 14px;font-size:13px;font-weight:900}.map-heading-actions>button:hover{background:#eee5ff;border-color:#8d70c5}.city-map{min-height:610px;box-shadow:var(--shadow);background:radial-gradient(circle at 18% 80%,#ffffffb3 0 4%,#0000 4.5%),radial-gradient(circle at 70% 45%,#ffffff6b 0 4%,#0000 4.5%),linear-gradient(155deg,#cdeeff 0 42%,#faefcf 42.4% 48%,#a9d897 48.3% 100%);border:5px solid #ffffffc7;border-radius:35px;position:relative;overflow:hidden}.city-map:before{content:"";opacity:.32;background:radial-gradient(circle at 70% 10%,#fff7b5 0 4%,#0000 4.5%),repeating-radial-gradient(at 40% 130%,#0000 0 52px,#ffffff5c 53px 55px);position:absolute;inset:0}.route-line{z-index:1;filter:drop-shadow(0 3px #6d856a26);border:8px dashed #ffffffc7;border-radius:50% 35% 50% 45%;width:78%;height:55%;position:absolute;top:18%;left:10%;transform:rotate(-7deg)}.map-node{z-index:3;width:165px;min-height:132px;color:var(--ink);background:color-mix(in srgb, var(--node) 18%, white);cursor:pointer;border:4px solid #fff;border-radius:28px;padding:16px 12px 12px;transition:transform .2s,box-shadow .2s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 12px 22px #4548662e}.map-node:hover:not(:disabled),.map-node.current{box-shadow:0 18px 32px color-mix(in srgb, var(--node) 32%, transparent);transform:translate(-50%,-56%)scale(1.04)}.map-node:disabled{pointer-events:none;cursor:not-allowed;filter:grayscale(.72);opacity:.56}.map-node.review{background:#ffffffc7;border-style:dashed}.map-node>i{color:#fff;background:var(--node);border:4px solid #fff;border-radius:50%;place-items:center;width:48px;height:48px;font-size:16px;font-style:normal;font-weight:900;display:grid;position:absolute;top:-17px;left:-14px}.map-node span,.map-node small,.map-node em{display:block}.map-node span{font-size:18px;font-weight:900}.map-node small{color:var(--muted);margin-top:5px;font-size:13px;font-weight:800}.map-node .grade-benchmark{color:#6d5598;background:#ffffffd1;border-radius:999px;margin-top:7px;padding:4px 7px;font-size:11px;line-height:1.25;display:inline-block}.map-node .stage-state{margin-top:5px}.map-node em{color:#eea72f;margin-top:5px;font-size:15px;font-style:normal}.map-node img{object-fit:contain;filter:drop-shadow(0 8px 7px #473a632e);width:115px;height:115px;animation:2.8s ease-in-out infinite heroFloat;position:absolute;bottom:82%;left:50%;transform:translate(-50%)}.map-status{align-content:start;gap:14px;display:grid}.traveler-card,.mastery-list,.memory-card,.relic-list,.learning-report-button,.share-friend-button{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc7;border:3px solid #ffffffb3;border-radius:24px;padding:18px;box-shadow:0 12px 25px #4e42691c}.traveler-card{grid-template-columns:105px 1fr;align-items:center;gap:10px;display:grid}.traveler-card img{object-fit:contain;width:105px;height:105px}.traveler-card span,.traveler-card strong,.traveler-card small{display:block}.traveler-card span{color:var(--hero);font-size:13px;font-weight:900}.traveler-card strong{margin:3px 0;font-size:22px}.traveler-card small{color:var(--muted);font-size:13px}.traveler-card i,.mastery-list i{background:#e6e0ed;border-radius:8px;height:8px;margin-top:8px;display:block;overflow:hidden}.traveler-card i b,.mastery-list i em{border-radius:inherit;background:linear-gradient(90deg,var(--hero),#f5b861);height:100%;display:block}.mastery-list>span,.relic-list>span{color:#75658d;letter-spacing:.08em;margin-bottom:13px;font-size:14px;font-weight:900;display:block}.mastery-list>div{grid-template-columns:72px 1fr 92px;align-items:center;gap:8px;margin:9px 0;display:grid}.mastery-list b{font-size:14px}.mastery-list i{margin:0}.mastery-list small{color:var(--muted);text-align:right;font-size:12px}.memory-card{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.memory-card>span{color:#75658d;letter-spacing:.08em;grid-column:1/-1;font-size:14px;font-weight:900}.memory-card>div{text-align:center;background:#f2ecfb;border-radius:13px;padding:9px 5px}.memory-card>div.due{color:#a14d65;background:#ffe9ee}.memory-card strong,.memory-card b{display:block}.memory-card strong{font-size:22px;line-height:1.1}.memory-card strong small{font-size:11px}.memory-card b{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.2}.memory-card p{color:var(--muted);grid-column:1/-1;margin:2px 0 0;font-size:12px;font-weight:700;line-height:1.45}.relic-list b{color:#715ca0;background:#f0e8ff;border-radius:10px;margin:3px 5px 3px 0;padding:7px 9px;font-size:13px;display:inline-block}.relic-list small{color:var(--muted);font-size:13px}.learning-report-button{cursor:pointer;text-align:left;width:100%;transition:transform .18s,border-color .18s;display:block}.learning-report-button:hover{border-color:#cbb8ec;transform:translateY(-3px)}.learning-report-button span,.learning-report-button strong,.learning-report-button small{display:block}.learning-report-button span{color:#8b6fc2;letter-spacing:.08em;font-size:12px;font-weight:900}.learning-report-button strong{margin:4px 0;font-size:20px}.learning-report-button small{color:var(--muted);font-size:13px;font-weight:700}.share-friend-button{cursor:pointer;text-align:left;background:linear-gradient(135deg,#eafff8f0,#eff0fff0);border-color:#70c2b06b;width:100%;transition:transform .18s,border-color .18s,box-shadow .18s;display:block}.share-friend-button:hover{border-color:#73c3b0;transform:translateY(-3px);box-shadow:0 15px 27px #4a928429}.share-friend-button span,.share-friend-button strong,.share-friend-button small{display:block}.share-friend-button span{color:#4b9b8d;letter-spacing:.08em;font-size:12px;font-weight:900}.share-friend-button strong{margin:4px 0;font-size:20px}.share-friend-button small{color:var(--muted);font-size:13px;font-weight:700}.map-share-status{padding:0 6px;font-size:13px}.encounter-screen{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:center;gap:40px;display:grid}.encounter-copy{padding:40px 0}.encounter-copy>span{color:#65479f;font-size:15px}.encounter-copy h2{color:var(--stage);margin:13px 0 20px;font-size:clamp(22px,3vw,38px)}.curriculum-badge{border:2px solid color-mix(in srgb,var(--stage) 32%,white);background:#ffffffc2;border-radius:13px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;padding:9px 12px;display:inline-flex}.curriculum-badge span{color:#fff;background:var(--stage);border-radius:8px;padding:5px 9px;font-size:14px;font-weight:900}.curriculum-badge strong{font-size:16px}.encounter-copy p{color:#665b75;max-width:680px;font-size:20px;font-weight:750;line-height:1.7}.monster-trait{background:#ffffffa8;border:3px solid #ffffffb3;border-radius:18px;margin:28px 0;padding:18px 20px}.monster-trait small,.monster-trait strong{display:block}.monster-trait small{color:var(--stage);margin-bottom:6px;font-size:16px;font-weight:900}.monster-trait strong{color:#514661;font-size:18px;line-height:1.55}.encounter-copy>button{min-width:320px;padding:17px 26px}.encounter-copy>button strong,.encounter-copy>button small{display:block}.encounter-copy>button strong{font-size:19px}.encounter-copy>button small{opacity:.92;margin-top:5px;font-size:15px}.encounter-monster{background:radial-gradient(circle, #ffffffeb 0 28%, color-mix(in srgb,var(--stage) 25%,transparent) 29% 50%, transparent 66%);border:5px solid #ffffffb8;border-radius:50% 50% 34% 34%;place-items:center;min-height:610px;display:grid;position:relative}.encounter-monster:after{content:"";filter:blur(11px);background:#473e6029;border-radius:50%;width:54%;height:55px;position:absolute;bottom:88px}.encounter-monster img{z-index:3;object-fit:contain;filter:drop-shadow(0 23px 13px #4d3d6d33);width:min(520px,92%);height:480px;animation:3s ease-in-out infinite monsterIdle;position:relative}.monster-sprite{background-repeat:no-repeat}.encounter-monster .monster-sprite{z-index:3;filter:drop-shadow(0 23px 13px #4d3d6d33);width:min(520px,92%);height:480px;animation:3s ease-in-out infinite monsterIdle;position:relative}.encounter-monster>span,.encounter-monster>strong{z-index:5;position:absolute;bottom:38px}.encounter-monster>span{color:color-mix(in srgb,var(--stage) 82%,#423553);letter-spacing:.12em;font-size:16px;font-weight:900;bottom:69px}.encounter-monster>strong{font-size:32px}.summon-rings{animation:14s linear infinite spin;position:absolute;inset:12%}.summon-rings i{border:3px dashed color-mix(in srgb,var(--stage) 35%,white);border-radius:50%;position:absolute;inset:0}.summon-rings i:nth-child(2){inset:12%;transform:rotate(60deg)}.summon-rings i:nth-child(3){inset:24%;transform:rotate(120deg)}.lesson-screen{align-content:center;gap:20px;padding:24px 0;display:grid}.lesson-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.lesson-heading>div>span{color:#6745a6;letter-spacing:.13em;font-size:15px;font-weight:900}.lesson-heading h1{margin:5px 0 3px;font-size:clamp(34px,4.5vw,64px);line-height:1.08}.lesson-heading p{color:#665b75;margin:0;font-size:19px;font-weight:750}.lesson-progress{background:#ffffffb3;border:3px solid #ffffffb8;border-radius:18px;gap:8px;padding:10px;display:flex}.lesson-progress i{color:#766583;background:#eee8f2;border-radius:13px;place-items:center;width:44px;height:44px;font-size:18px;font-style:normal;font-weight:900;display:grid}.lesson-progress i.active{color:#fff;background:linear-gradient(135deg,var(--stage),#a27fdb);box-shadow:0 7px 16px color-mix(in srgb,var(--stage) 28%,transparent)}.lesson-progress i.done{color:#fff;background:#67bc8c}.lesson-layout{grid-template-columns:minmax(300px,.75fr) minmax(520px,1.25fr);align-items:stretch;gap:22px;display:grid}.lesson-party{background:radial-gradient(circle at 50% 42%,#ffffffeb,#deecffb8 42%,color-mix(in srgb,var(--stage) 25%,#c9e9ad));min-height:500px;box-shadow:var(--shadow);border:5px solid #ffffffc2;border-radius:34px;grid-template-columns:1fr 54px 1fr;align-items:end;padding:30px 16px;display:grid;position:relative;overflow:hidden}.lesson-party>div{z-index:2;justify-items:center;display:grid;position:relative}.lesson-party img,.lesson-party .monster-sprite{object-fit:contain;filter:drop-shadow(0 18px 12px #4e3f6a2e);width:100%;height:360px;animation:3s ease-in-out infinite heroFloat}.lesson-party .monster-sprite{background-repeat:no-repeat;animation-name:monsterIdle}.lesson-party>div span,.lesson-party>div strong{text-align:center;display:block}.lesson-party>div span{font-size:20px;font-weight:900}.lesson-party>div strong{color:#6a6078;font-size:14px}.lesson-party>b{color:#fff;background:linear-gradient(135deg,#f28ba4,#9e82dc);border:4px solid #fff;border-radius:50%;align-self:center;place-items:center;width:54px;height:54px;display:grid;box-shadow:0 8px 18px #533d7233}.study-card{min-height:500px;box-shadow:var(--shadow);background:#fffbf4f0;border:5px solid #ffffffd1;border-radius:34px;align-content:start;padding:clamp(24px,4vw,48px);display:grid}.study-card-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.study-card-meta span,.study-card-meta b,.study-card-meta em{border-radius:9px;padding:7px 11px;font-size:14px;font-style:normal;font-weight:900}.study-card-meta span{color:#fff;background:var(--stage)}.study-card-meta b{background:#f0e9f7}.study-card-meta em{color:#5d8f70;background:#e8f7ec;margin-left:auto}.study-card>small{color:#7255aa;letter-spacing:.035em;margin-top:25px;font-size:16px;font-weight:900}.study-card h2{letter-spacing:-.025em;margin:14px 0 24px;font-size:clamp(31px,4vw,54px);line-height:1.28}.study-card h2 mark{color:#7351ae;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#f0e5ff;border-radius:9px;margin:0 5px;padding:0 8px}.study-card.revealed h2 mark{color:#187a4e;background:#dcf8e7;animation:.35s both studyReveal}.lesson-practice{background:#faf6ff;border:3px solid #ded2f0;border-radius:17px;gap:10px;margin:-7px 0 16px;padding:14px;display:grid}.lesson-practice>span{color:#7255aa;font-size:14px;font-weight:900}.lesson-choice-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.lesson-choice-grid button{cursor:pointer;text-align:left;background:#fff;border:2px solid #d9ccec;border-radius:12px;min-height:48px;padding:8px 12px;font-size:16px;font-weight:900}.lesson-choice-grid button.selected{color:#67479f;background:#eee5ff;border-color:#9d80d8;box-shadow:0 6px 14px #684d9a21}.lesson-draft{gap:6px;display:grid}.lesson-draft span{color:var(--muted);font-size:13px;font-weight:900}.lesson-draft input{background:#fff;border:2px solid #d9ccec;border-radius:12px;min-height:50px;padding:0 14px;font-size:17px;font-weight:800}.reveal-card{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef829d,#947bd6);border:0;border-radius:19px;min-height:90px;padding:15px 22px;box-shadow:0 12px 25px #7750a03d}.reveal-card:disabled{color:#84798d;box-shadow:none;cursor:not-allowed;background:#ddd6e3}.reveal-card strong,.reveal-card span{display:block}.reveal-card strong{font-size:23px}.reveal-card span{opacity:.94;margin-top:4px;font-size:15px}.study-answer{background:#edfbf1;border:3px solid #bce3c8;border-radius:19px;padding:18px;animation:.35s both sceneIn}.study-answer>span{color:#427454;letter-spacing:.07em;font-size:14px;font-weight:900}.study-answer>strong{color:#27764c;margin:2px 0 8px;font-size:30px;display:block}.lesson-prediction-result{border-radius:12px;margin:8px 0 12px;padding:10px 12px;font-size:15px;font-weight:900}.lesson-prediction-result.correct{color:#23734a;background:#d9f5e3}.lesson-prediction-result.retry{color:#99566a;background:#ffe6ec}.study-answer p{color:#554d62;margin:0;font-size:18px;font-weight:700;line-height:1.65}.study-answer button{color:#28774e;cursor:pointer;background:#fff;border:2px solid #8ecda3;border-radius:12px;margin-top:13px;padding:11px 15px;font-size:16px;font-weight:900}.study-answer button:disabled{color:#7c7782;cursor:not-allowed;background:#f0edf1;border-color:#ddd6df}.study-answer>small{color:#606873;margin-top:10px;font-size:14px;font-weight:800;display:block}.lesson-next{color:#49365f;cursor:pointer;background:linear-gradient(135deg,#ffe596,#f5b756);border:3px solid #fff;border-radius:17px;justify-self:end;min-width:280px;min-height:56px;margin-top:18px;padding:0 20px;font-size:18px;font-weight:900;box-shadow:0 10px 22px #7e52432e}.lesson-next:disabled{color:#8b8393;box-shadow:none;cursor:not-allowed;background:#e2dce6}.battle-screen{padding-top:8px}.battle-titlebar{background:#ffffffd1;border:3px solid #ffffffc7;border-radius:21px 21px 0 0;grid-template-columns:1fr auto auto auto auto;align-items:center;gap:10px;min-height:52px;padding:0 16px;display:grid;box-shadow:0 10px 25px #403b631f}.battle-titlebar>span{letter-spacing:.08em;font-size:15px;font-weight:900}.battle-stage-title{align-items:center;gap:8px;min-width:0;display:flex}.battle-stage-title b{white-space:nowrap}.battle-stage-title em{color:#fff;background:var(--stage);letter-spacing:0;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:11px;font-style:normal;font-weight:900}.battle-titlebar>strong{color:var(--stage);font-size:15px}.battle-titlebar>button{cursor:pointer;background:#fff;border:2px solid #e7dfe8;border-radius:11px;padding:9px 14px;font-size:14px;font-weight:900}.engine-badge{color:#7154aa;letter-spacing:.06em;background:#eee7ff;border-radius:10px;align-items:center;gap:6px;padding:7px 10px;font-size:11px;font-weight:900;display:flex}.engine-badge i{background:#79dba5;border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite alternate engineGlow;box-shadow:0 0 0 3px #79dba533,0 0 10px #79dba5}.music-meter{color:#8b7b9d;background:#f4eff8;border-radius:10px;align-items:end;gap:3px;height:29px;padding:5px 8px;display:flex}.music-meter span{align-self:center;margin-right:5px;font-size:11px;font-weight:900}.music-meter i{background:#baa8d4;border-radius:3px;width:3px;height:6px}.music-meter.active i{background:var(--stage);animation:.65s ease-in-out infinite alternate meter}.music-meter.active i:nth-child(2){animation-delay:-.2s}.music-meter.active i:nth-child(3){animation-delay:-.4s}.music-meter.active i:nth-child(4){animation-delay:-.1s}.battle-arena{background:radial-gradient(ellipse 13% 5% at 18% 15%, #ffffffe6 0 75%, transparent 76%), radial-gradient(ellipse 16% 6% at 78% 20%, #ffffffb8 0 75%, transparent 76%), linear-gradient(180deg, color-mix(in srgb,var(--stage) 22%,#c7edff) 0 53%, #edf6d2 53.3% 60%, #aad586 60.3% 100%);min-height:clamp(250px,33svh,320px);box-shadow:var(--shadow);border:4px solid #fffc;border-top:0;border-radius:0 0 30px 30px;grid-template-columns:1fr 150px 1fr;align-items:end;display:grid;position:relative;overflow:hidden}.battle-arena:before{content:"";opacity:.75;background:radial-gradient(at 5% 100%,#7fbd7e 0 30%,#0000 31%),radial-gradient(at 27% 100%,#8ec98a 0 33%,#0000 34%),radial-gradient(at 53% 100%,#77b67a 0 30%,#0000 31%),radial-gradient(at 80% 100%,#93ca8b 0 31%,#0000 32%);position:absolute;inset:39% -5% 32%}.battle-arena:after{content:"";opacity:.25;transform-origin:bottom;background:repeating-linear-gradient(100deg,#0000 0 120px,#fff9 121px 127px);height:42%;position:absolute;bottom:0;left:0;right:0;transform:perspective(350px)rotateX(55deg)scale(1.3)}.battle-scenery{z-index:1;position:absolute;inset:0}.battle-scenery:before{content:"♧  ✿  ♧    ✿   ♧  ✿";color:#ffffffb8;letter-spacing:3.5vw;white-space:nowrap;font-size:37px;position:absolute;bottom:7px;left:3%;right:3%}.battle-scenery i{background:#77ae79;border-radius:50% 50% 15px 15px;width:58px;height:100px;position:absolute;top:28%;box-shadow:inset -10px 0 #44874933}.battle-scenery i:after{content:"";background:#8b704d;width:15px;height:53px;position:absolute;top:77px;left:22px}.battle-scenery i:first-child{left:3%;transform:scale(.8)}.battle-scenery i:nth-child(2){top:23%;right:4%;transform:scale(1.15)}.battle-scenery i:nth-child(3){opacity:.65;top:37%;left:52%;transform:scale(.52)}.battle-vfx{z-index:9;pointer-events:none;position:absolute;inset:0;overflow:hidden}.battle-vfx-canvas{pointer-events:none;display:block;width:100%!important;height:100%!important}.fighter{z-index:5;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0;height:clamp(245px,32svh,315px);padding:58px 18px 25px;display:flex;position:relative}.fighter:after{content:"";z-index:-1;filter:blur(8px);background:#423b582e;border-radius:50%;width:54%;height:28px;position:absolute;bottom:43px}.fighter img{object-fit:contain;filter:drop-shadow(0 16px 10px #42385c33);width:min(310px,80%);height:clamp(185px,24svh,235px);animation:2.5s ease-in-out infinite battleIdle}.fighter .monster-sprite{filter:drop-shadow(0 16px 10px #42385c33);width:min(310px,80%);height:clamp(185px,24svh,235px);animation:2.5s ease-in-out -1.1s infinite battleIdle}.hero-fighter img{transform-origin:50% 100%}.monster-fighter img{animation-delay:-1.1s}.fighter-name{text-align:center;background:#ffffffc7;border:3px solid #ffffffbd;border-radius:14px;min-width:180px;padding:9px 14px;position:absolute;top:13px}.fighter-name span,.fighter-name strong{display:block}.fighter-name span{color:var(--muted);letter-spacing:.08em;font-size:12px;font-weight:900}.fighter-name strong{margin-top:2px;font-size:22px}.heart-row{z-index:6;background:#ffffffd1;border-radius:14px;gap:4px;padding:8px 12px;display:flex;position:absolute;bottom:16px;left:20px}.heart-row i{color:#c9bec8;font-size:23px;font-style:normal}.heart-row i.full{color:#f06f8b;filter:drop-shadow(0 2px #fff)}.monster-hp{z-index:6;background:#ffffffd6;border-radius:14px;grid-template-columns:auto minmax(80px,180px) auto;align-items:center;gap:8px;min-width:min(340px,90%);padding:10px 13px;font-size:13px;font-weight:900;display:grid;position:absolute;bottom:16px;right:20px}.monster-hp i{background:#e9dfe7;border-radius:8px;height:10px;overflow:hidden}.monster-hp i b{border-radius:inherit;background:linear-gradient(90deg,#f1788f,var(--stage));height:100%;transition:width .45s;display:block}.shield-aura,.armor-tag{z-index:8;color:#fff;background:#7ac7e7;border:3px solid #fff;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:900;position:absolute;top:77px;right:16%;box-shadow:0 6px 15px #46547b33}.armor-tag{background:#ee9aa9;left:16%;right:auto}.battle-speedlines{z-index:4;opacity:0;pointer-events:none;background:repeating-conic-gradient(at 50% 55%,#0000 0deg 9deg,#ffffffad 10deg 10.7deg);position:absolute;inset:0}.battle-effects{z-index:12;pointer-events:none;align-self:center;place-items:center;height:clamp(165px,22svh,210px);display:grid;position:relative}.battle-effects:before{content:"VS";color:#fff;background:linear-gradient(145deg,#f28da4,#9d86df);border:5px solid #fff;border-radius:50%;place-items:center;width:65px;height:65px;font-size:20px;font-weight:900;display:grid;box-shadow:0 9px 20px #4d396833}.battle-effects strong,.battle-effects em{color:#fff;text-align:center;text-shadow:0 3px #4c365f59;display:none;position:absolute}.battle-effects strong{font-size:46px;top:34px}.battle-effects em{width:250px;font-size:19px;font-style:normal;font-weight:900;bottom:32px}.hero-shot,.enemy-shot{filter:drop-shadow(0 0 8px #fff);border-radius:50%;width:105px;height:18px;display:none;position:absolute}.hero-shot{background:linear-gradient(90deg,#0000,#fff4a3,#fff);left:-50px}.enemy-shot{background:linear-gradient(90deg,#fff,#ff9cae,#0000);right:-50px}.pulse-hero .hero-fighter img,.pulse-critical .hero-fighter img{animation:.58s cubic-bezier(.18,.8,.2,1) heroAttack}.pulse-enemy .monster-fighter img,.pulse-enemy .monster-fighter .monster-sprite{animation:.56s cubic-bezier(.18,.8,.2,1) enemyAttack}.pulse-hero .hero-shot,.pulse-critical .hero-shot{animation:.5s ease-out both shotRight;display:block}.pulse-enemy .enemy-shot{animation:.5s ease-out both shotLeft;display:block}.pulse-hero .battle-effects strong,.pulse-hero .battle-effects em,.pulse-critical .battle-effects strong,.pulse-critical .battle-effects em,.pulse-enemy .battle-effects strong,.pulse-enemy .battle-effects em,.pulse-victory .battle-effects strong,.pulse-victory .battle-effects em{animation:.65s ease-out both impactText;display:block}.pulse-critical .battle-speedlines,.pulse-victory .battle-speedlines{opacity:.75;animation:.6s ease-out flashLines}.pulse-critical .monster-fighter img,.pulse-victory .monster-fighter img,.pulse-critical .monster-fighter .monster-sprite,.pulse-victory .monster-fighter .monster-sprite{animation:.6s ease-out monsterHit}.pulse-enemy .hero-fighter img{animation:.58s ease-out heroHit}.boss-phase-two .battle-arena{box-shadow:inset 0 0 60px #e35e8052, var(--shadow)}.boss-phase-two .monster-fighter img,.boss-phase-two .monster-fighter .monster-sprite{filter:drop-shadow(0 0 19px #ee5d8294)drop-shadow(0 16px 10px #42385c33)}.battle-intro,.boss-alert{z-index:90;color:#fff;pointer-events:none;background:linear-gradient(135deg,#6dbde8,#a080de);border:5px solid #fff;border-radius:30px;place-items:center;width:min(560px,90%);padding:30px;animation:1.8s both battleIntro;display:grid;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 30px 90px #41305e59}.battle-intro small,.battle-intro span,.boss-alert small,.boss-alert span{letter-spacing:.13em;font-weight:900}.battle-intro strong,.boss-alert strong{margin:7px 0;font-size:clamp(36px,7vw,66px)}.boss-alert{background:linear-gradient(135deg,#f4748f,#a166c9);animation:2.2s both bossAlert}.battle-console{box-shadow:var(--shadow);background:#fffdf8eb;border:4px solid #fffc;border-radius:24px;margin-top:10px;padding:15px}.round-status{border-bottom:2px dashed #e9deeb;align-items:center;gap:13px;padding-bottom:9px;display:flex}.round-status>span{color:#8a70c1;letter-spacing:.08em;font-size:14px;font-weight:900}.round-status>strong{flex:1;font-size:17px}.round-status>div{gap:6px;display:flex}.round-status b{background:#f1eafa;border-radius:10px;padding:7px 10px;font-size:13px}.battle-feed{background:#fff2d9;border-radius:12px;grid-template-columns:auto 1fr minmax(300px,.65fr);align-items:center;gap:12px;margin:8px 0;padding:10px 13px;display:grid}.battle-feed>span{color:#c97817;letter-spacing:.07em;font-size:13px;font-weight:900}.battle-feed>strong{font-size:16px}.battle-feed>div{color:#625858;text-align:right;gap:3px;font-size:14px;font-weight:700;line-height:1.4;display:grid}.question-row{grid-template-columns:1fr 310px;align-items:stretch;gap:12px;display:grid}.question-row>div{padding:10px 4px}.question-row small{color:var(--stage);letter-spacing:.1em;font-size:13px;font-weight:900}.question-row h2{margin:6px 0 0;font-size:clamp(29px,3.2vw,44px);line-height:1.18}.hero-skill{border:3px solid color-mix(in srgb,var(--hero) 35%,white);background:color-mix(in srgb,var(--hero) 10%,white);cursor:pointer;text-align:left;border-radius:17px;padding:12px 15px}.hero-skill:disabled{cursor:not-allowed;filter:none;opacity:1;border-color:color-mix(in srgb,var(--hero) 24%,#e4dce8);background:color-mix(in srgb,var(--hero) 7%,white)}.hero-skill span,.hero-skill strong,.hero-skill small{display:block}.hero-skill span{color:color-mix(in srgb,var(--hero) 72%,#756b8e);font-size:13px;font-weight:900}.hero-skill strong{margin:3px 0;font-size:21px}.hero-skill small{color:#665d76;font-size:15px;font-weight:700;line-height:1.4}.battle-options{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.battle-options button{cursor:pointer;text-align:left;background:#fff;border:3px solid #eadfeb;border-radius:17px;min-height:76px;padding:14px 12px 12px 50px;transition:transform .18s,border-color .18s,box-shadow .18s;position:relative}.battle-options button:hover:not(:disabled){border-color:var(--stage);transform:translateY(-4px);box-shadow:0 10px 18px #50446e1f}.battle-options button>span{color:#fff;background:#aa98c8;border-radius:10px;place-items:center;width:30px;height:30px;font-size:13px;font-weight:900;display:grid;position:absolute;top:13px;left:12px}.battle-options strong{font-size:19px}.battle-options i{color:#c46d2f;margin-top:4px;font-size:12px;font-style:normal;font-weight:900;display:block}.battle-options button.correct{background:#eaffef;border-color:#72c695}.battle-options button.wrong{background:#fff0f2;border-color:#eb8395}.battle-options button.removed{opacity:.38}.battle-result{background:#edf9ef;border:3px solid #a9dfb5;border-radius:18px;margin-top:14px;padding:21px}.battle-result.miss{background:#fff4f4;border-color:#f0b2bc}.result-message>span{color:#65a978;letter-spacing:.09em;font-size:14px;font-weight:900}.miss .result-message>span{color:#d7657d}.result-message strong{margin-top:6px;font-size:24px;line-height:1.4;display:block}.result-message p{color:#625970;background:#ffffffc7;border-radius:11px;margin:11px 0 0;padding:13px 15px;font-size:17px;font-weight:700;line-height:1.6}.sentence-translation{background:#f5fff8;border:2px solid #bce4ce;border-radius:13px;margin:14px 0 2px;padding:13px 15px}.sentence-translation span,.sentence-translation strong{display:block}.sentence-translation span{color:#54896a;letter-spacing:.06em;font-size:13px;font-weight:900}.sentence-translation strong{color:#3f4f48;margin-top:4px;font-size:18px;line-height:1.55}.result-message .result-translation{background:#eef9ff}.result-translation b{color:#4a91ad;letter-spacing:.06em;margin-bottom:3px;font-size:12px;display:block}.repair-backdrop{z-index:94;background:#3d2d5247;animation:.25s both repairBackdropIn;position:fixed;inset:0}.battle-result.miss{z-index:95;border-width:4px;border-radius:26px;width:min(980px,100% - 32px);max-height:calc(100svh - 36px);margin:0;animation:.32s cubic-bezier(.18,.8,.2,1) both repairModalIn;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 30px 90px #2c1f4161}.repair-question-review{background:#fff;border:3px solid #eadff0;border-radius:15px;margin-top:16px;padding:17px 19px}.repair-question-review>span{color:#8d6dcc;letter-spacing:.06em;font-size:14px;font-weight:900}.repair-question-review>strong{color:#493d62;margin:5px 0 13px;font-size:24px;line-height:1.4;display:block}.repair-question-review>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.repair-question-review p{color:#564a68;background:#f4eff8;border-radius:11px;margin:0;padding:11px 14px;font-size:17px;font-weight:900}.repair-question-review p:last-child{background:#e9f8ee}.repair-question-review small{color:#887b98;margin-bottom:3px;font-size:12px;font-weight:900;display:block}.repair-question-review .repair-translation{color:#493d62;background:#eef9ff;margin-top:10px;line-height:1.55}.repair-question-review .repair-translation small{color:#4a91ad}.repair-counter{background:#fff;border-radius:15px;margin-top:16px;padding:19px}.repair-counter>span{color:#8d6dcc;font-size:14px;font-weight:900}.repair-counter h3{margin:6px 0 12px;font-size:21px;line-height:1.45}.repair-counter>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.repair-counter button{cursor:pointer;text-align:left;background:#fff;border:2px solid #e8deec;border-radius:12px;min-height:64px;padding:15px 16px;font-size:17px;font-weight:700;line-height:1.5}.repair-counter button.correct{background:#eaffed;border-color:#77c58b}.repair-counter p{color:#625970;margin:11px 0 0;font-size:16px;font-weight:700;line-height:1.55}.continue-battle{color:#fff;background:linear-gradient(135deg,var(--hero),#9b7bd5);cursor:pointer;border:0;border-radius:14px;min-width:200px;margin:16px 0 0 auto;padding:15px 24px;font-size:18px;font-weight:900;display:block}.battle-result .continue-battle{color:#49345f;min-height:58px;text-shadow:none;background:linear-gradient(135deg,#ffe18b,#f4b955);border:3px solid #fff;transition:transform .18s,box-shadow .18s;box-shadow:0 10px 22px #7e524333}.battle-result .continue-battle:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 28px #7e524342}.battle-result .continue-battle:disabled{color:#7f7489;box-shadow:none;cursor:not-allowed;opacity:1;background:#ddd5e3;border-color:#eee7f1}.clear-screen,.ending-screen{align-content:center;gap:25px;display:grid}.clear-heading,.ending-copy{max-width:900px}.clear-heading p,.ending-copy p{color:var(--muted);font-size:18px;line-height:1.65}.clear-benchmark{border:2px solid color-mix(in srgb,var(--stage) 35%,white);color:#fff;background:var(--stage);border-radius:999px;margin-top:8px;padding:7px 11px;font-size:13px;font-weight:900;display:inline-flex}.stage-grade{align-items:center;gap:18px;margin-top:14px;display:flex}.stage-grade strong{color:#f4aa36;letter-spacing:6px;font-size:39px}.stage-grade small{color:#8b79a2;font-size:14px;font-weight:900}.reward-hint{color:var(--muted);margin:-12px 0 0;font-size:15px;font-weight:800}.reward-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.reward-grid button{min-height:280px;box-shadow:var(--shadow);cursor:pointer;text-align:left;background:#ffffffd1;border:4px solid #fff;border-radius:26px;padding:25px;transition:transform .2s,border-color .2s;position:relative}.reward-grid button:hover{border-color:#c8b1ec;transform:translateY(-7px)}.reward-grid span{color:#8e72c5;letter-spacing:.1em;font-size:13px;font-weight:900}.reward-grid i{color:#f3b44b;margin:22px 0;font-size:45px;font-style:normal;display:block}.reward-grid strong{font-size:26px;display:block}.reward-grid p{color:var(--muted);font-size:16px;line-height:1.5}.reward-grid em{color:#896ec0;font-size:14px;font-style:normal;font-weight:900;position:absolute;bottom:22px;left:25px}.learning-report-dialog{z-index:97;background:#fffaf3;border:4px solid #fff;border-radius:28px;width:min(920px,100% - 28px);max-height:calc(100svh - 28px);padding:30px;animation:.26s cubic-bezier(.18,.8,.2,1) both repairModalIn;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 30px 100px #32265061}.modal-close{cursor:pointer;background:#efe5ff;border:0;border-radius:50%;width:40px;height:40px;font-size:25px;position:absolute;top:12px;right:15px}.learning-report-dialog>span{color:#8062bd;letter-spacing:.14em;font-size:13px;font-weight:900}.learning-report-dialog h2{margin:7px 48px 4px 0;font-size:34px;line-height:1.2}.report-scope{color:var(--muted);margin:0 0 18px;font-size:16px;font-weight:700;line-height:1.6}.report-overview{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px;display:grid}.report-overview>div{text-align:center;background:#f1e9fb;border:3px solid #fff;border-radius:16px;padding:15px}.report-overview b,.report-overview span{display:block}.report-overview b{font-size:27px}.report-overview b small{font-size:14px}.report-overview span{color:var(--muted);font-size:12px;font-weight:900}.report-mastery{background:#fff;border:3px solid #eee3ef;border-radius:18px;padding:18px}.report-mastery h3{margin:0 0 12px;font-size:20px}.report-mastery>div{border-top:1px solid #eee7f0;grid-template-columns:minmax(170px,.8fr) minmax(130px,1fr) 125px;align-items:center;gap:12px;padding:10px 0;display:grid}.report-mastery>div>div strong,.report-mastery>div>div small{display:block}.report-mastery>div>div small{color:var(--muted);font-size:12px}.report-mastery i{background:#ebe3ef;border-radius:10px;height:10px;display:block;overflow:hidden}.report-mastery i em{border-radius:inherit;background:linear-gradient(90deg,#74bee8,#a286df);height:100%;display:block}.report-mastery>div>b{text-align:right;font-size:14px}.report-next{background:#eaf8ee;border-radius:16px;margin-top:15px;padding:15px 17px}.report-next span,.report-next strong{display:block}.report-next span{color:#57906a;letter-spacing:.08em;font-size:12px;font-weight:900}.report-next strong{margin-top:4px;font-size:17px;line-height:1.5}.report-note{color:#7b7187;margin:13px 0 0;font-size:13px;line-height:1.55}.report-memory{background:#f3fbf4;border:3px solid #dceadb;border-radius:18px;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px;padding:14px;display:grid}.report-memory>div{text-align:center;background:#fff;border-radius:12px;padding:9px}.report-memory span,.report-memory strong{display:block}.report-memory span{color:#6e7a71;font-size:11px;font-weight:900}.report-memory strong{color:#407057;margin-top:3px;font-size:25px}.report-memory strong small{font-size:12px}.report-memory p{color:#667268;grid-column:1/-1;margin:2px 3px 0;font-size:12px;font-weight:700;line-height:1.5}.grade-switch-dialog{z-index:97;background:#fffaf3;border:4px solid #fff;border-radius:28px;width:min(820px,100% - 28px);max-height:calc(100svh - 28px);padding:30px;animation:.26s cubic-bezier(.18,.8,.2,1) both repairModalIn;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 30px 100px #32265061}.grade-switch-dialog>button{cursor:pointer;background:#efe5ff;border:0;border-radius:50%;width:40px;height:40px;font-size:25px;position:absolute;top:12px;right:15px}.grade-switch-dialog>span{color:#8062bd;letter-spacing:.14em;font-size:13px;font-weight:900}.grade-switch-dialog h2{margin:7px 48px 4px 0;font-size:34px}.grade-switch-dialog>p{color:var(--muted);margin:0 0 18px;font-size:16px;font-weight:700;line-height:1.6}.grade-switch-dialog>div{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.grade-switch-dialog>div button{cursor:pointer;text-align:left;background:#fff;border:3px solid #e9dfee;border-radius:15px;min-height:72px;padding:11px 13px}.grade-switch-dialog>div button.active{background:#eee6ff;border-color:#8f73d1}.grade-switch-dialog>div span,.grade-switch-dialog>div strong{display:block}.grade-switch-dialog>div span{color:#654b94;font-size:15px;font-weight:900}.grade-switch-dialog>div strong{color:var(--muted);margin-top:3px;font-size:12px}.grade-switch-dialog>small{color:#7a7085;margin-top:14px;font-size:13px;font-weight:700;display:block}.audio-settings-dialog{z-index:97;background:#fffaf3;border:4px solid #fff;border-radius:28px;width:min(620px,100% - 28px);max-height:calc(100svh - 28px);padding:30px;animation:.26s cubic-bezier(.18,.8,.2,1) both repairModalIn;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 30px 100px #32265061}.audio-settings-dialog>span{color:#8062bd;letter-spacing:.14em;font-size:13px;font-weight:900}.audio-settings-dialog h2{margin:7px 48px 4px 0;font-size:31px;line-height:1.2}.audio-settings-dialog>p{color:var(--muted);margin:0 0 18px;font-size:15px;font-weight:700;line-height:1.55}.audio-setting-row{border-top:1px solid #eae1eb;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.audio-setting-row strong,.audio-setting-row small{display:block}.audio-setting-row strong{font-size:18px}.audio-setting-row small{color:var(--muted);font-size:13px}.audio-setting-row>button,.audio-settings-dialog fieldset button{cursor:pointer;background:#fff;border:2px solid #ded3e9;border-radius:12px;min-width:86px;min-height:42px;padding:7px 13px;font-weight:900}.audio-setting-row>button.active,.audio-settings-dialog fieldset button.active{color:#fff;background:linear-gradient(135deg,#66bde8,#957bd8);border-color:#8f73d1}.audio-settings-dialog fieldset{border:2px solid #e5dce9;border-radius:16px;margin:12px 0 0;padding:14px}.audio-settings-dialog fieldset:disabled{opacity:.48}.audio-settings-dialog legend{color:#6c5a81;padding:0 7px;font-size:14px;font-weight:900}.audio-settings-dialog fieldset>div{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.audio-settings-dialog fieldset button{min-width:0}.ending-screen{max-width:1100px}.victory-screen{grid-template-columns:1fr 260px}.ending-copy{align-self:end}.final-rank{color:#fff;min-height:260px;box-shadow:var(--shadow);background:linear-gradient(145deg,#ef8fa7,#8f7bd4);border:6px solid #fff;border-radius:50%;grid-area:1/2/3;align-self:center;place-items:center;display:grid}.final-rank span,.final-rank small{font-weight:900}.final-rank strong{font-size:110px;line-height:1}.ending-stats{grid-column:1/-1;grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.ending-stats>div{text-align:center;background:#ffffffc2;border:3px solid #fff;border-radius:20px;padding:20px}.ending-stats b,.ending-stats span{display:block}.ending-stats b{font-size:30px}.ending-stats b small{font-size:13px}.ending-stats span{color:var(--muted);margin-top:5px;font-size:11px;font-weight:900}.ending-actions{flex-wrap:wrap;grid-column:1/-1;gap:10px;display:flex}.ending-primary,.ending-secondary{cursor:pointer;border-radius:16px;min-height:52px;padding:0 23px;font-weight:900}.ending-primary{color:#fff;background:linear-gradient(135deg,#ea8099,#8c77d2);border:0;box-shadow:0 10px 20px #7753a038}.ending-secondary{background:#ffffffb8;border:3px solid #ffffffd9}.share-status{color:#7d63b2;grid-column:1/-1;margin:0;font-weight:900}.defeat-screen{max-width:900px}.defeat-screen .ending-stats{grid-template-columns:repeat(3,1fr)}.adventure-footer{z-index:10;color:#423558d1;letter-spacing:.04em;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;width:min(1500px,100%);margin:22px auto 0;font-size:15px;font-weight:900;display:grid;position:relative}.adventure-footer>span:last-child{text-align:right}.adventure-producer{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#ffffff4d;border-radius:999px;justify-content:center;align-items:center;gap:11px;padding:7px 9px 7px 15px;display:flex}.adventure-producer>span{white-space:nowrap;font-size:16px}.adventure-producer a{letter-spacing:.02em;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:260px;min-height:54px;padding:12px 23px;font-size:17px;font-weight:900;text-decoration:none;transition:transform .2s,filter .2s;display:inline-flex}.adventure-producer a.line-direct{color:#fff;background:linear-gradient(135deg,#08d660,#05b94f);border:2px solid #ffffffeb;animation:1.8s ease-in-out infinite lineCtaPulse;box-shadow:0 6px 16px #02763738}.adventure-producer a.line-direct:before{content:"＋";color:#06b94f;background:#fff;border-radius:50%;place-items:center;width:26px;height:26px;margin-right:9px;font-size:21px;font-weight:950;line-height:1;display:inline-grid}.adventure-producer a:hover{filter:brightness(1.07);transform:translateY(-2px)}.battle-music{display:none}@media (width>=761px){.phase-title .adventure-footer{left:50%;bottom:max(24px,env(safe-area-inset-bottom));width:min(1500px,100% - 72px);margin:0;position:fixed;transform:translate(-50%)}}@keyframes sceneIn{0%{opacity:0;transform:translateY(14px)scale(.99)}to{opacity:1;transform:none}}@keyframes studyReveal{0%{opacity:.2;transform:scale(.82)rotate(-2deg)}to{opacity:1;transform:none}}@keyframes sparkleDrift{to{background-position:290px 260px,-360px 310px,410px -300px,-330px 280px}}@keyframes heroFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes monsterIdle{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-12px)rotate(1deg)}}@keyframes battleIdle{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes meter{to{height:21px}}@keyframes engineGlow{to{opacity:.45;transform:scale(.72)}}@keyframes heroAttack{0%{transform:translate(0)rotate(0)}45%{transform:translate(100px)rotate(4deg)scale(1.08)}to{transform:translate(0)}}@keyframes enemyAttack{0%{transform:translate(0)}45%{transform:translate(-100px)rotate(-4deg)scale(1.08)}to{transform:translate(0)}}@keyframes monsterHit{15%{filter:brightness(1.8);transform:translate(20px)rotate(4deg)}35%{transform:translate(-18px)rotate(-4deg)}to{transform:none}}@keyframes heroHit{15%{filter:brightness(1.6);transform:translate(-20px)rotate(-4deg)}35%{transform:translate(18px)rotate(4deg)}to{transform:none}}@keyframes shotRight{0%{opacity:0;transform:translate(-110px)scaleX(.4)}50%{opacity:1}to{opacity:0;transform:translate(110px)scaleX(1.8)}}@keyframes shotLeft{0%{opacity:0;transform:translate(110px)scaleX(.4)}50%{opacity:1}to{opacity:0;transform:translate(-110px)scaleX(1.8)}}@keyframes impactText{0%{opacity:0;transform:scale(.35)rotate(-9deg)}55%{opacity:1;transform:scale(1.25)rotate(2deg)}to{opacity:0;transform:scale(1)}}@keyframes flashLines{0%,to{opacity:0}35%{opacity:.8}}@keyframes battleIntro{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}18%,68%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;visibility:hidden;transform:translate(-50%,-60%)scale(1.06)}}@keyframes bossAlert{0%,70%{opacity:0;visibility:hidden;transform:translate(-50%,-50%)scale(.6)}78%,94%{opacity:1;visibility:visible;transform:translate(-50%,-50%)scale(1)}to{opacity:0;visibility:hidden}}@keyframes repairBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes repairModalIn{0%{opacity:0;transform:translate(-50%,-46%)scale(.94)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes splashButton{0%,to{box-shadow:0 0 0 5px #6546c74d,0 14px 36px #0907396b,inset 0 2px #ffffffe6}50%{box-shadow:0 0 0 9px #9a70ff2e,0 18px 44px #09073980,inset 0 2px #ffffffe6}}@keyframes lineCtaPulse{0%,to{box-shadow:0 0 #06c7551f,0 6px 16px #0276373d}50%{box-shadow:0 0 0 8px #06c75533,0 10px 28px #02763766}}@media (width<=1040px){.title-screen{grid-template-columns:1fr 340px;gap:25px}.title-lockup h1{font-size:75px}.title-party{height:230px}.title-party img{width:190px;height:190px}.title-lockup{padding-bottom:220px}.map-screen{grid-template-columns:1fr}.map-status{grid-template-columns:repeat(3,1fr);margin-top:16px}.traveler-card{grid-template-columns:80px 1fr}.traveler-card img{width:80px;height:80px}.lesson-layout{grid-template-columns:1fr}.lesson-party{grid-template-columns:1fr 54px 1fr;min-height:300px}.lesson-party img,.lesson-party .monster-sprite{height:230px}.study-card{min-height:0}.learning-report-button,.share-friend-button,.map-share-status{grid-column:1/-1}.battle-arena{grid-template-columns:1fr 100px 1fr}.fighter img{width:90%}.battle-options{grid-template-columns:1fr 1fr}.question-row{grid-template-columns:1fr 270px}}@media (width<=760px){.adventure-app{padding:88px 12px 45px}.adventure-app.phase-splash{padding:0}.adventure-app.phase-battle{padding-top:80px}.opening-splash-art{object-position:center 43%;transform:scale(1.42)}.opening-splash-actions{width:min(330px,100% - 32px);margin-bottom:max(18px,env(safe-area-inset-bottom));gap:10px}.opening-splash-enter{padding:12px 22px 11px}.opening-splash-enter strong{font-size:19px}.adventure-header{width:calc(100% - 18px);top:10px}.adventure-brand small,.header-actions>span{display:none}.adventure-brand strong{font-size:18px}.header-actions{gap:5px}.header-actions button{padding:0 10px;font-size:14px}.title-screen{padding-top:30px;display:block}.title-lockup{padding:25px 5px 210px}.title-lockup h1{font-size:clamp(55px,18vw,85px)}.title-lockup blockquote{font-size:17px}.title-party{height:210px}.title-party img{width:44%;height:190px}.title-party img:first-child{left:-7%}.title-party img:nth-child(2){left:20%}.title-party img:nth-child(3){left:47%}.title-party img:nth-child(4){width:28%;height:120px;left:73%}.title-menu{border-radius:23px;padding:15px}.guide-window{border-radius:22px;width:calc(100% - 18px);max-height:calc(100svh - 18px);padding:27px 22px 22px}.guide-window h3{margin-right:32px;font-size:24px}.guide-window ol{gap:10px;padding-left:22px;font-size:15px}.guide-window>button{top:9px;right:10px}.hero-select-toolbar{display:block}.screen-heading{padding-top:24px}.screen-heading h1,.map-heading h1,.encounter-copy h1,.clear-heading h1,.ending-copy h1{font-size:39px}.gender-switch{margin:0 0 18px}.gender-switch button{min-width:0}.hero-cards{grid-template-columns:1fr}.hero-cards>button{min-height:auto}.hero-cards img{height:260px}.grade-start-picker{grid-template-columns:1fr;padding:16px}.grade-start-picker>div:last-child{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.grade-start-picker button{min-width:0;min-height:62px;padding:7px}.grade-start-picker button span{font-size:11px}.grade-start-picker button strong{font-size:12px}.hero-step-label{grid-template-columns:auto 1fr;gap:3px 8px;display:grid}.hero-step-label p{grid-column:1/-1}.record-confirm{display:grid}.record-confirm label{max-width:none}.record-confirm>button{min-width:0;min-height:60px}.grade-switch-dialog,.audio-settings-dialog{width:calc(100% - 18px);max-height:calc(100svh - 18px);padding:25px 18px 20px}.grade-switch-dialog h2,.audio-settings-dialog h2{font-size:27px}.grade-switch-dialog>div{grid-template-columns:1fr 1fr}.map-heading-actions{align-items:stretch}.map-heading-actions>span{width:100%}.map-heading-actions>button{flex:1}.chapter-rail{gap:7px;margin-top:12px}.chapter-rail button{border-radius:15px;flex-basis:150px;min-height:56px;padding:7px 9px}.chapter-rail button>i{border-radius:10px;flex-basis:32px;width:32px;height:32px}.chapter-rail button small{font-size:9px}.chapter-rail button strong{font-size:14px}.map-heading{padding-top:18px}.city-map{min-height:780px}.route-line{width:60%;height:70%;top:12%;left:19%}.map-node{width:138px;min-height:120px}.map-node:first-of-type{top:13%!important;left:50%!important}.map-node:nth-of-type(2){top:33%!important;left:70%!important}.map-node:nth-of-type(3){top:50%!important;left:29%!important}.map-node:nth-of-type(4){top:68%!important;left:70%!important}.map-node:nth-of-type(5){top:83%!important;left:22%!important}.map-status{grid-template-columns:1fr}.map-node img{width:90px;height:90px}.map-node .grade-benchmark{padding:3px 5px;font-size:10px}.encounter-screen{grid-template-columns:1fr;gap:0}.encounter-copy{padding:12px 0 0}.encounter-copy>span{margin-bottom:4px;font-size:13px}.encounter-copy h1{font-size:36px}.encounter-copy h2{margin:5px 0 9px;font-size:23px}.curriculum-badge{padding:8px 10px}.curriculum-badge span{font-size:13px}.curriculum-badge strong{font-size:14px}.encounter-copy p{margin:0;font-size:18px;line-height:1.55}.monster-trait{margin:12px 0;padding:13px 14px}.monster-trait small{font-size:14px}.monster-trait strong{font-size:17px;line-height:1.45}.encounter-copy>button{width:100%;min-width:0;padding:14px 18px}.encounter-copy>button strong{font-size:18px}.encounter-copy>button small{font-size:14px}.encounter-monster{order:-1;min-height:292px;margin-top:4px}.encounter-monster img,.encounter-monster .monster-sprite{height:235px}.encounter-monster>span{font-size:12px;bottom:43px}.encounter-monster>strong{font-size:25px;bottom:8px}.lesson-screen{padding-top:8px}.lesson-heading{gap:8px;display:grid}.lesson-heading>div>span{font-size:12px}.lesson-heading h1{font-size:29px}.lesson-heading p{font-size:15px;line-height:1.45}.lesson-progress{justify-self:start;padding:6px}.lesson-progress i{width:34px;height:34px;font-size:15px}.lesson-layout{gap:9px}.lesson-party{border-radius:21px;min-height:148px;padding:7px 6px}.lesson-party img,.lesson-party .monster-sprite{height:108px}.lesson-party>div span{font-size:14px}.lesson-party>div strong{font-size:11px}.lesson-party>b{border-width:3px;width:36px;height:36px}.study-card{border-radius:23px;padding:19px 14px}.study-card-meta span,.study-card-meta b,.study-card-meta em{font-size:12px}.study-card-meta em{margin-left:0}.study-card>small{margin-top:14px;font-size:14px}.study-card h2{margin:8px 0 14px;font-size:29px}.lesson-practice{margin-bottom:12px;padding:11px}.lesson-choice-grid{grid-template-columns:1fr}.reveal-card{min-height:76px}.reveal-card strong{font-size:19px}.reveal-card span{font-size:13px}.study-answer{padding:14px}.study-answer>strong{font-size:25px}.study-answer p{font-size:16px}.study-answer>small{font-size:13px}.lesson-next{justify-self:stretch;width:100%;min-width:0;font-size:16px}.battle-screen{padding-top:0}.battle-titlebar{grid-template-columns:minmax(0,1fr) auto;gap:7px;min-height:58px;padding:6px 10px}.battle-titlebar>span{font-size:12px}.battle-stage-title{gap:3px;display:grid}.battle-stage-title em{justify-self:start;padding:3px 6px;font-size:9px}.battle-titlebar>strong,.engine-badge,.music-meter{display:none}.battle-titlebar>button{grid-area:1/2;padding:7px 9px;font-size:12px}.battle-arena{border-radius:0 0 22px 22px;grid-template-columns:1fr 32px 1fr;min-height:210px}.fighter{height:205px;padding:49px 0 28px}.fighter img,.fighter .monster-sprite{width:135%;height:145px}.fighter-name{min-width:112px;padding:5px;top:7px}.fighter-name span{font-size:9px}.fighter-name strong{font-size:15px}.battle-effects{height:120px}.battle-effects:before{border-width:3px;width:38px;height:38px;font-size:12px}.battle-effects em{width:120px;font-size:12px}.battle-effects strong{font-size:28px;top:20px}.heart-row{gap:2px;padding:5px;bottom:6px;left:4px}.heart-row i{font-size:14px}.monster-hp{grid-template-columns:auto 1fr auto;min-width:155px;padding:6px;font-size:10px;bottom:6px;right:4px}.shield-aura,.armor-tag{padding:4px 7px;font-size:10px;top:55px;right:0}.armor-tag{left:0;right:auto}.battle-scenery i{display:none}.battle-console{border-radius:19px;margin-top:7px;padding:10px}.round-status{gap:6px;padding-bottom:7px;display:flex}.round-status>span{white-space:nowrap;font-size:12px}.round-status>strong{display:none}.round-status>div{grid-template-columns:repeat(3,1fr);gap:4px;width:100%;display:grid}.round-status b{text-align:center;padding:5px 3px;font-size:11px}.battle-feed{grid-template-columns:auto 1fr;gap:8px;margin:7px 0;padding:9px 10px}.battle-feed>span{font-size:11px}.battle-feed>strong{font-size:14px;line-height:1.35}.battle-feed>div{display:none}.question-row{grid-template-columns:1fr;gap:6px}.question-row>div{padding:7px 3px}.question-row h2{font-size:28px;line-height:1.18}.hero-skill{order:2;min-height:52px;padding:7px 11px}.hero-skill:disabled{display:none}.hero-skill span{font-size:11px}.hero-skill strong{font-size:18px}.hero-skill small{display:none}.battle-options{grid-template-columns:1fr 1fr;gap:7px}.battle-options button{border-radius:14px;min-height:68px;padding:11px 7px 9px 43px}.battle-options button>span{width:27px;height:27px;top:10px;left:9px}.battle-options strong{font-size:17px;line-height:1.25}.battle-result.miss{border-radius:22px;width:calc(100% - 20px);max-height:calc(100svh - 20px);padding:16px}.repair-question-review{padding:14px}.repair-question-review>strong{font-size:20px}.repair-question-review>div{grid-template-columns:1fr}.battle-result.miss .repair-counter{padding:16px}.repair-counter>div{grid-template-columns:1fr}.continue-battle{width:100%}.battle-result.miss .continue-battle:not(:disabled){z-index:3;margin-top:12px;position:sticky;bottom:0}.battle-result.miss .continue-battle:disabled{margin-top:12px;position:static}.reward-hint{margin-top:-14px}.reward-grid{scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;grid-template-columns:none;grid-auto-columns:minmax(275px,84vw);grid-auto-flow:column;gap:12px;margin-right:-12px;padding:4px 22px 20px 2px;display:grid;overflow-x:auto}.reward-grid button{scroll-snap-align:center;min-height:250px}.reward-grid i{margin:14px 0}.victory-screen{grid-template-columns:1fr}.final-rank{grid-area:auto;width:200px;min-height:200px}.final-rank strong{font-size:80px}.ending-stats{grid-template-columns:repeat(2,1fr)}.ending-actions{display:grid}.ending-primary,.ending-secondary{width:100%}.adventure-footer{padding-bottom:max(16px,env(safe-area-inset-bottom));text-align:center;grid-template-columns:1fr;gap:10px;margin-top:20px;font-size:14px}.adventure-footer>span:last-child{text-align:center}.adventure-producer{border-radius:22px;flex-wrap:wrap;gap:8px;padding:10px 12px}.adventure-producer>span{width:100%;font-size:15px}.adventure-producer a{width:min(100%,310px);min-width:0;min-height:52px;font-size:16px}.learning-report-dialog{border-radius:22px;width:calc(100% - 18px);max-height:calc(100svh - 18px);padding:25px 18px 20px}.learning-report-dialog h2{font-size:27px}.report-scope{font-size:14px}.report-overview{grid-template-columns:1fr 1fr}.report-overview>div{padding:11px}.report-mastery{padding:13px}.report-mastery>div{grid-template-columns:1fr 82px;gap:7px}.report-mastery>div>div{grid-column:1}.report-mastery>div>i{grid-area:2/1/auto/-1}.report-mastery>div>b{grid-area:1/2;font-size:12px}.report-next strong{font-size:15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
