.learn-course{--anime-ink:#111215;--anime-panel:#2b5755;--anime-paper:#fffefc;--anime-red:#c83f39;--anime-neon:#ee493c;--anime-violet:#6550b9;--anime-teal:#2b706a}.learn-course .learn-button{background:#2b706a;border-color:#2b706a;color:#fff;box-shadow:4px 4px 0 #a5c5b9}.learn-course .learn-button:hover:not(:disabled){background:#215852}.learn-course .learn-button:disabled{opacity:1;background:#e7ebe9;border-color:#c5cfcb;color:#4d5a56;box-shadow:none}.learn-course .learn-sidebar{background:var(--anime-panel) radial-gradient(circle at 15% 0,rgba(245,216,148,.2),transparent 50%);border-color:#24494a;color:#f7f2e7}.learn-course .learn-brand{color:#fff}.learn-course .learn-brand span,.learn-course .learn-sidebar .learn-eyebrow,.learn-course .learn-sidebar>a:not(.learn-brand){color:#f5d894}.learn-course .learn-sidebar h1{color:#fff}.learn-course .learn-sidebar p{color:#d5e3dd}.learn-course .learn-sidebar .kana-sidebar-chars{color:#fff}.learn-course .learn-sidebar nav button{color:#f7f2e7}.learn-course .learn-sidebar nav b{color:#a5c5b9}.learn-course .learn-sidebar nav button:not([aria-current=step]):is(:hover,:focus-visible,:active){background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff}.learn-course .learn-sidebar nav button[aria-current=step]{background:#fff;border-color:#fff;color:var(--anime-ink)}.learn-course .learn-sidebar nav button[aria-current=step] b{color:#bf3a35}.learn-course .learn-companion img{mix-blend-mode:normal;width:auto;height:96px}.anime-episode{position:relative;display:flex;align-items:center;gap:16px;margin-bottom:18px;padding:12px 18px;overflow:hidden;border:1px solid #e6dcc6;border-radius:10px;background:#f8f3e8 radial-gradient(#e8dcc4 1px,transparent 1.3px) 0 0/14px 14px;color:#283e42}.anime-episode.is-full{display:grid;grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:0 16px;padding:26px 28px 0}.anime-episode-copy{position:relative;z-index:1;min-width:0}.anime-episode.is-full .anime-episode-copy{padding-bottom:26px}.anime-episode-no{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;margin:0;font-size:.875rem;font-weight:800;letter-spacing:.12em;color:#d24944}.anime-episode-no span{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#36756e}.anime-episode-title{margin:2px 0 0;font-size:1.25rem;font-weight:800;line-height:1.15;color:#283e42}.anime-episode.is-full .anime-episode-title{margin-top:8px;font-size:clamp(1.875rem,3.6vw,2.875rem);line-height:1.1}.anime-episode-line{display:inline-block;margin:14px 0 0;padding:6px 16px;border-radius:999px 999px 999px 4px;background:#fff;color:#283e42;font-size:1.375rem;line-height:1.5;box-shadow:3px 3px 0 #a5c5b9}.anime-episode-photo{position:relative;justify-self:end;width:224px;aspect-ratio:1/1;margin:18px 96px 36px 0;border:solid #fff;border-width:8px 8px 26px;background:#fff;transform:rotate(3deg);box-shadow:6px 8px 0 #356c6926}.anime-episode-photo:before{content:"";position:absolute;top:-18px;left:32%;right:32%;z-index:1;height:22px;background:#e6b859c9;transform:rotate(-8deg)}.anime-episode-photo img{object-fit:cover}.anime-episode.is-full .anime-episode-copy{grid-column:1;grid-row:1}.anime-episode.is-full .anime-episode-photo{grid-column:2;grid-row:1}.anime-episode.is-full .anime-episode-strip{grid-row:2}.anime-episode-hero{position:absolute;right:14px;bottom:40px;z-index:2;width:auto;height:210px;filter:drop-shadow(3px 4px 0 #ffffffb3)}.anime-episode-strip{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;margin:0 -28px;padding:10px 18px;background:#2b5755;color:#f7f2e7;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.learn-course .learn-stage>.learn-eyebrow{color:#36756e}.learn-course .learn-topline{border-bottom-color:#e6dff0}.learn-course .learn-words{display:grid;gap:10px;border:0;border-radius:0;overflow:visible}.learn-course .learn-word,.learn-course .learn-word+.learn-word{position:relative;border:1px solid #e4dcef;border-radius:16px;background:var(--anime-paper);box-shadow:0 3px 0 #efe8f7}.learn-course .learn-word:before{content:"";position:absolute;top:14px;bottom:14px;left:0;width:4px;border-radius:0 4px 4px 0;background:#d24944}.learn-course .is-yuki .learn-chat-face,.learn-course .learn-chat-face{width:64px;height:54px;border-radius:0;clip-path:none;mix-blend-mode:normal;overflow:visible}.learn-course .learn-chat-avatar .learn-chat-face img{width:100%;height:100%;object-fit:contain}.learn-course .learn-results{position:relative;min-height:176px;padding-right:160px;border:2px solid #2b5755;border-radius:14px;background:#fffdf8;box-shadow:6px 6px 0 #a5c5b9}.anime-reaction{position:absolute;right:18px;bottom:10px;width:auto;height:150px}@media(max-width:720px){.learn-course .is-yuki .learn-chat-face,.learn-course .learn-chat-face{width:46px;height:40px}}@media(max-width:600px){.anime-episode.is-full{grid-template-columns:1fr;padding:16px 16px 0}.anime-episode.is-full .anime-episode-photo{grid-column:1;grid-row:1}.anime-episode.is-full .anime-episode-copy{grid-column:1;grid-row:2}.anime-episode.is-full .anime-episode-strip{grid-row:3}.anime-episode-photo{order:-1;justify-self:start;width:150px;margin:12px 0 28px 6px;border-width:6px 6px 18px}.anime-episode-hero{top:6px;right:8px;bottom:auto;height:136px}.anime-episode.is-full .anime-episode-copy{padding-bottom:18px}.anime-episode.is-full .anime-episode-title{font-size:1.875rem}.anime-episode-line{font-size:1.125rem}.anime-episode-strip{margin:0 -16px;padding:9px 14px;font-size:.75rem;letter-spacing:.08em}.learn-course .learn-results{padding:124px 18px 18px}.anime-reaction{top:12px;right:50%;bottom:auto;height:100px;transform:translateX(50%)}}@media(max-width:380px){.anime-episode-hero{height:118px}.anime-episode-photo{width:130px}}.club-banner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 28px;align-items:center;margin-bottom:28px;padding:34px 36px 0;overflow:hidden;border:1px solid #e6dcc6;border-radius:10px;background:#f8f3e8 radial-gradient(#e8dcc4 1px,transparent 1.3px) 0 0/14px 14px}.club-banner-copy{padding-bottom:28px;min-width:0}.club-banner .learn-eyebrow{color:#36756e}.club-banner h1{margin:8px 0 12px;font-size:clamp(2.375rem,4.6vw,3.75rem);line-height:1.08;color:#283e42}.club-banner h1 em{display:inline-block;font-style:normal;color:#d24944;background:linear-gradient(transparent 72%,#f3d98f 0)}.club-banner-copy p:not(.learn-eyebrow){margin:0;max-width:34em;font-size:1.1875rem;line-height:1.6;color:#42575a}.club-polaroid{position:relative;margin:0 8px 34px 0;padding:10px 10px 48px;background:#fff;transform:rotate(3.5deg);box-shadow:8px 10px 0 #356c6926}.club-polaroid:before{content:"";position:absolute;top:-16px;left:30%;right:30%;z-index:1;height:24px;background:#e6b859c9;transform:rotate(-8deg)}.club-polaroid-photo{display:flex;align-items:flex-end;gap:2px;padding:12px 14px 0;background:#eaf3ee}.club-polaroid-photo img{width:auto;height:132px}.club-polaroid figcaption{position:absolute;right:0;bottom:6px;left:0;display:grid;text-align:center;color:#435c60;font-size:1.0625rem;line-height:1.25}.club-polaroid-en{font-size:.75rem;letter-spacing:.02em;color:#5d7470}.club-strip{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 -36px;padding:12px 20px;background:#2b5755;color:#f7f2e7;font-size:.8125rem;font-weight:700;letter-spacing:.12em}.club-strip .font-kana{font-size:1.125rem;font-weight:400;letter-spacing:.1em;color:#f5d894}@media(max-width:600px){.club-banner{grid-template-columns:1fr;padding:22px 18px 0}.club-polaroid{order:-1;justify-self:center;margin:8px 0 36px}.club-polaroid-photo img{height:104px}.club-strip{margin:0 -18px;padding:10px 14px;font-size:.75rem;letter-spacing:.08em}.club-strip .font-kana{font-size:.9375rem}.club-banner{gap:6px}.club-polaroid{margin:4px 0 30px;padding:6px 6px 38px}.club-polaroid-photo{padding:6px 10px 0}.club-polaroid-photo img{height:72px}.club-polaroid figcaption{font-size:.875rem}.club-banner h1{margin:4px 0 8px;font-size:2rem}.club-banner-copy{padding-bottom:18px}.club-banner-copy p:not(.learn-eyebrow){font-size:1rem;line-height:1.5}}.learn-workspace{container-type:inline-size}@container (max-width:640px){.anime-episode.is-full{grid-template-columns:1fr;padding:16px 16px 0}.anime-episode.is-full .anime-episode-photo{grid-column:1;grid-row:1;justify-self:start;width:150px;margin:12px 0 28px 6px;border-width:6px 6px 18px}.anime-episode.is-full .anime-episode-copy{grid-column:1;grid-row:2;padding-bottom:18px}.anime-episode.is-full .anime-episode-strip{grid-row:3;margin:0 -16px;padding:9px 14px;font-size:.75rem;letter-spacing:.08em}.anime-episode-hero{top:6px;right:8px;bottom:auto;height:136px}.anime-episode.is-full .anime-episode-title{font-size:1.875rem}.anime-episode-line{font-size:1.125rem}}@container (max-width:340px){.anime-episode-hero{height:118px}.anime-episode.is-full .anime-episode-photo{width:130px}}.learn-contents-summary{opacity:0;transition:opacity .2s}.learn-contents-summary.is-ready{opacity:1}.learn-contents-resume{margin:18px 0 4px}.learn-contents-resume:empty{display:none}.learn-episode-open.is-done{color:#866427;font-weight:700}.learn-episode-open.is-full{color:#2f6b4f}.learn-finale{border:2px solid #2b706a;border-radius:10px;padding:22px;background:#f8f3e8 radial-gradient(#e8dcc4 1px,transparent 1.3px) 0 0/14px 14px;text-align:center}.learn-finale h3{margin:6px 0 10px;font-size:1.625rem;line-height:1.3}.learn-finale-cats{display:flex;justify-content:center;gap:10px}.learn-finale .learn-button{margin-top:8px}.learn-refresher{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:20px;padding:12px 14px;border:1px solid #e6dcc6;border-radius:8px;background:#fffdf8;font-size:.875rem;line-height:1.6;color:var(--learn-muted)}.learn-refresher>span{flex-basis:100%}.learn-course .learn-refresher a{min-width:0;max-width:100%;color:#2b706a;overflow-wrap:anywhere}.learn-check-hint{margin:8px 0 0;color:#866427}.learn-celebration{position:fixed;inset:0;box-sizing:border-box;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;overflow:auto;overscroll-behavior:contain;background:#f8f3e8 radial-gradient(#e8dcc4 1px,transparent 1.3px) 0 0/14px 14px;color:#283e42;text-align:center}.learn-celebration::backdrop{background:#f8f3e8}.learn-celebration-strip{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px max(16px,env(safe-area-inset-right)) 4px max(16px,env(safe-area-inset-left));background:#2b5755;color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.12em}.learn-celebration-strip button{flex-shrink:0;min-height:44px;padding:8px 12px;border:1px solid #ffffff80;border-radius:6px;background:transparent;color:#fff;font:inherit;letter-spacing:0;cursor:pointer}.learn-celebration-content{box-sizing:border-box;width:100%;max-width:1264px;margin:0 auto;padding:36px 24px max(40px,env(safe-area-inset-bottom))}.learn-celebration h2{margin:0;color:#d24944;font-size:clamp(2.5rem,6.5vw,5rem);font-weight:800;line-height:1.1;overflow-wrap:anywhere}.learn-celebration .learn-celebration-complete{margin:12px 0 32px;font-size:clamp(1.125rem,2.5vw,1.625rem);line-height:1.5}.learn-celebration-photo{position:relative;margin:0;padding:8px 8px 0;background:#fff;box-shadow:6px 8px 0 #356c6926}.learn-celebration-photo:after,.learn-celebration-photo:before{content:"";position:absolute;top:-9px;width:64px;height:22px;background:#e6b859a8;transform:rotate(-12deg)}.learn-celebration-photo:before{left:16px}.learn-celebration-photo:after{right:16px;transform:rotate(12deg)}.learn-celebration-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2}.learn-celebration-photo figcaption{padding:20px 16px 24px;font-size:clamp(1.125rem,2vw,1.5rem);line-height:1.5;overflow-wrap:anywhere}.learn-celebration-photo p{margin:0}.learn-celebration-photo p+p{margin-top:8px}.learn-celebration-photo span{display:inline-block}.learn-celebration-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:28px}.learn-celebration-actions .learn-button{box-sizing:border-box;max-width:100%;white-space:normal;overflow-wrap:anywhere}.learn-celebration :is(button,a,h2):focus-visible{outline:3px solid #d24944;outline-offset:4px}.learn-celebration-strip button:focus-visible{outline-color:#f5d894;outline-offset:2px}.learn-celebration-confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden}.learn-celebration-confetti i{position:absolute;top:-20px;left:2%;width:7px;height:14px;background:#d24944;opacity:0;animation:learn-celebration-fall 2.5s ease-out both}.learn-celebration-confetti i:nth-child(2n){left:auto;right:2%;background:#c49a41}.learn-celebration-confetti i:nth-child(3n){width:10px;height:8px;background:#2b706a;animation-duration:2.2s}.learn-celebration-confetti i:nth-child(4n+1){top:12%;animation-duration:2.3s}.learn-celebration-confetti i:nth-child(4n+2){top:24%;animation-duration:2.4s}.learn-celebration-confetti i:nth-child(4n+3){top:36%}.learn-celebration-confetti i:nth-child(5),.learn-celebration-confetti i:nth-child(9){left:5%}.learn-celebration-confetti i:nth-child(10),.learn-celebration-confetti i:nth-child(6){right:5%}@keyframes learn-celebration-fall{0%{opacity:0;transform:translateY(-20px) rotate(0)}10%,70%{opacity:.85}to{opacity:0;transform:translateY(65vh) rotate(300deg)}}@media(max-width:600px){.learn-celebration-content{padding:24px 16px max(28px,env(safe-area-inset-bottom))}.learn-celebration .learn-celebration-complete{margin:12px 0 24px}.learn-celebration-photo figcaption{padding:20px 12px}.learn-celebration-actions{flex-direction:column;gap:16px;margin-top:24px}.learn-celebration-actions .learn-button{width:100%}}@media(prefers-reduced-motion:reduce){.learn-celebration-confetti{display:none}.learn-celebration-confetti i{animation:none}.learn-celebration,.learn-celebration *{scroll-behavior:auto;transition:none;animation:none}}.learn-stamp-card{box-sizing:border-box;width:100%;max-width:760px;margin:24px auto;padding:24px;border:1px solid #e6dcc6;border-radius:12px;background:#f8f3e8 radial-gradient(#e8dcc4 1px,transparent 1.3px) 0 0/14px 14px;color:#2b5755}.learn-chapter-clear .learn-stamp-label,.learn-stamp-card .learn-stamp-label{margin:0 0 8px;color:#2b5755;font-size:.75rem;font-weight:800;letter-spacing:.14em}.learn-stamp-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px}.learn-stamp-card .learn-stamp-heading h2{margin:0;font-size:1.75rem;line-height:1.2;color:#2b5755}.learn-stamp-heading p{margin:0;font-size:.875rem}.learn-stamp-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:20px 0}.learn-stamp-tile{position:relative;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;aspect-ratio:1;background:#f8f3e8;border-radius:8px;text-decoration:none}.learn-stamp-tile img{display:block;width:76px;max-width:100%;height:auto}.learn-stamp-tile i{box-sizing:border-box;display:block;width:76px;max-width:90%;aspect-ratio:1;border:2px dashed #8caaa0;border-radius:50%}.learn-stamp-number{position:absolute;right:0;bottom:0;padding:1px 5px;border-radius:4px;background:#f8f3e8;color:#2b5755;font-size:.75rem;font-weight:800;line-height:1.5}.learn-stamp-card .learn-stamp-note{margin:8px 0 0;font-size:.8125rem;line-height:1.5}.learn-stamp-actions .learn-button{max-width:100%;white-space:normal;overflow-wrap:anywhere;background:#2b706a;color:#fff}.learn-chapter-clear :is(a,button,h2):focus-visible,.learn-stamp-card :is(a,button):focus-visible{outline:3px solid #d24944;outline-offset:3px}.learn-chapter-clear{position:fixed;inset:0;box-sizing:border-box;width:calc(100% - 32px);max-width:520px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #e6dcc6;border-radius:14px;overflow:auto;overscroll-behavior:contain;background:#f8f3e8 radial-gradient(#e8dcc4 1px,transparent 1.3px) 0 0/14px 14px;color:#2b5755;text-align:center}.learn-chapter-clear::backdrop{background:#193c3acc}.learn-chapter-close{position:sticky;top:0;z-index:3;display:flex;justify-content:flex-end;padding:6px 12px;background:#f8f3e8}.learn-chapter-close button{min-height:44px;padding:6px 12px;border:1px solid #2b5755;border-radius:6px;background:#f8f3e8;color:#2b5755;font:inherit;cursor:pointer}.learn-chapter-content{padding:0 28px 28px;overflow-wrap:anywhere}.learn-chapter-clear h2{margin:8px 0;color:#2b5755;font-size:2.125rem;font-weight:800;line-height:1.15}.learn-chapter-content>p{margin:12px 0;line-height:1.5}.learn-stamp-polaroid{position:relative;box-sizing:border-box;width:200px;max-width:100%;margin:32px auto 24px;padding:9px 9px 106px;background:#fffaf0;box-shadow:4px 6px 0 #356c6926;transform:rotate(2deg)}.learn-stamp-polaroid:before{content:"";position:absolute;top:-12px;left:30%;right:30%;z-index:1;height:22px;background:#e6b859b3;transform:rotate(-7deg)}.learn-stamp-photo{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.learn-stamp-imprint{position:absolute;right:8px;bottom:5px;width:96px;height:96px}.learn-stamp-imprint.is-empty{box-sizing:border-box;border:2px dashed #8caaa0;border-radius:50%}.learn-stamp-imprint img{display:block;width:100%;height:auto}.learn-stamp-tool{right:8px;bottom:12px;z-index:2;display:block;width:96px;height:32px;background:#d24944;border-bottom:8px solid #83342f;box-shadow:inset 0 5px 0 #ed8072;opacity:0;pointer-events:none}.learn-stamp-tool,.learn-stamp-tool:before{position:absolute;border-radius:12px 12px 6px 6px}.learn-stamp-tool:before{content:"";left:34px;bottom:26px;width:28px;height:60px;background:linear-gradient(90deg,#a53230,#e26057 55%,#b13732)}.learn-stamp-tool:after{content:"";position:absolute;left:23px;bottom:73px;width:50px;height:22px;border-radius:50%;background:#d24944;box-shadow:inset 0 4px 0 #ed8072}.learn-chapter-clear.is-new .learn-stamp-tool{animation:learn-stamp-press 1.2s ease-in-out both}.learn-chapter-clear.is-new .learn-stamp-polaroid{animation:learn-stamp-dip 1.2s ease-out both}.learn-chapter-clear.is-new .learn-stamp-imprint{animation:learn-stamp-ink 1.2s ease-out both}.learn-chapter-actions{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:20px}.learn-chapter-actions .learn-button{box-sizing:border-box;width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere;background:#2b706a;color:#fff}.learn-chapter-actions>a:not(.learn-button){display:flex;align-items:center;justify-content:center;min-height:44px;color:#2b5755}@keyframes learn-stamp-press{0%{opacity:0;transform:translateY(-140px) rotate(-15deg)}15%{opacity:1}42%{transform:translateY(0) rotate(0)}50%{opacity:1;transform:translateY(5px) rotate(0)}64%{opacity:1;transform:translateY(-14px) rotate(-5deg)}to{opacity:0;transform:translateY(-130px) rotate(-18deg)}}@keyframes learn-stamp-dip{0%,41%,to{transform:translateY(0) rotate(2deg)}49%{transform:translateY(6px) rotate(0) scale(.98)}60%{transform:translateY(2px) rotate(-2deg)}73%{transform:translateY(0) rotate(3deg)}86%{transform:translateY(0) rotate(1deg)}}@keyframes learn-stamp-ink{0%,41%{opacity:0;transform:scale(1.06)}50%,to{opacity:1;transform:scale(1)}}@media(max-width:600px){.learn-stamp-card{padding:12px}.learn-stamp-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.learn-stamp-tile i,.learn-stamp-tile img{width:60px}.learn-stamp-card .learn-stamp-heading h2{font-size:1.625rem}.learn-chapter-content{padding:0 16px 22px}.learn-chapter-clear h2{font-size:1.875rem}.learn-stamp-polaroid{width:180px}}@media(prefers-reduced-motion:reduce){.learn-chapter-clear.is-new .learn-stamp-imprint,.learn-chapter-clear.is-new .learn-stamp-polaroid,.learn-chapter-clear.is-new .learn-stamp-tool{animation:none}.learn-chapter-clear .learn-stamp-tool{display:none}.learn-chapter-clear,.learn-chapter-clear *{scroll-behavior:auto;transition:none}}