.lesson p,.lesson h1,.lesson h2{overflow-wrap:anywhere}.lesson h1,.lesson h2{text-wrap:balance}.lesson [tabindex="-1"]:focus{outline:none}.lesson :is(p,h1,h2,button):lang(ja){word-break:auto-phrase}.lesson-top{justify-content:flex-end;align-items:center;gap:12px;min-height:28px;display:flex}.back-home{min-height:44px;color:var(--c-blue);justify-content:center;align-items:center;gap:6px;margin-top:40px;font-size:16px;font-weight:700;text-decoration:none;display:flex}.meter-text{color:var(--c-gray);margin:0;font-size:15px;font-weight:700}.meter ol{grid-template-columns:repeat(7,1fr);gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.meter-step{background:var(--c-line);width:100%;height:30px;color:var(--c-gray);cursor:pointer;border:0;border-radius:8px;place-items:center;padding:0;font-size:14px;font-weight:800;display:grid}.meter-step:disabled{cursor:default}.meter-check{display:none}.meter-step.is-done{background:var(--c-correct);color:var(--c-white)}.meter-step.is-done .meter-num{display:none}.meter-step.is-done .meter-check{display:inline-flex}.meter-step.is-current{background:var(--c-blue);color:var(--c-white)}.pending-note{color:var(--c-gray);align-items:center;gap:8px;margin:12px 0 0;font-size:15px;font-weight:700;display:flex}.save-note{background:var(--c-light-blue);border-radius:14px;margin:20px 0 0;padding:14px 16px;font-size:15px;line-height:1.6}.step{padding-top:20px}.context{color:var(--c-gray);margin:0 0 8px;font-size:15px;font-weight:700}.step h1{color:var(--c-navy);letter-spacing:-.03em;margin:0;font-size:clamp(28px,8vw,32px);line-height:1.25}.step h2{color:var(--c-navy);margin:0 0 20px;font-size:22px;line-height:1.4}.lead{color:var(--c-gray);margin:16px 0 0;font-size:17px;line-height:1.75}.ja{color:var(--c-navy)}.translation{color:var(--c-gray);margin:6px 0 0;font-size:15px;line-height:1.6}.translation-label{margin-bottom:2px;font-size:13px;font-weight:700;display:block}.hint{color:var(--c-gray);text-align:center;margin:12px 0 0;font-size:15px;line-height:1.6}.audio-note{background:var(--c-light-blue);color:var(--c-gray);border-radius:14px;align-items:center;gap:10px;margin:24px 0 0;padding:12px 16px;font-size:15px;font-weight:700;line-height:1.5;display:flex}.audio-note .icon{flex:none}.primary-button,.secondary-button{text-align:center;cursor:pointer;border-radius:16px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:56px;padding:0 20px;font-size:19px;font-weight:800;line-height:1.3;text-decoration:none;display:flex}.primary-button{background:var(--c-blue);color:var(--c-white);box-shadow:0 8px 16px rgb(var(--c-blue-rgb) / 22%);border:0}.primary-button:disabled{background:var(--c-light-blue);color:var(--c-gray);box-shadow:none;cursor:not-allowed}.secondary-button{border:2px solid var(--c-blue);background:var(--c-white);color:var(--c-blue)}.back-button{min-height:48px;color:var(--c-blue);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;margin:20px auto 0;padding:0 16px;font-size:17px;font-weight:700;display:flex}.text-button{min-height:44px;color:var(--c-blue);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:16px;font-weight:700;text-decoration:underline}.step-actions{margin-top:56px}.sticky-bar,.exercise-actions{z-index:2;padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:var(--c-white);box-shadow:0 -8px 16px rgb(var(--c-navy-rgb) / 6%);margin-inline:-16px;position:sticky;bottom:0}.sticky-bar{margin-top:32px}.sticky-bar:not(:has(>.primary-button:not([hidden]))){box-shadow:none;padding:0;position:static}.sticky-bar .hint{margin:8px 0 0}.step-actions>a+a{margin-top:16px}.js-note{background:var(--c-light-blue);border-radius:14px;margin:0;padding:16px 18px;font-size:16px;line-height:1.6}.audio-button{border:1.5px solid var(--c-line);background:var(--c-white);color:var(--c-blue);cursor:pointer;flex:none;justify-content:center;align-items:center;gap:8px;display:inline-flex}.audio-button.is-icon{border-radius:50%;width:44px;height:44px}.audio-button.has-text{border-radius:22px;min-height:44px;padding:0 18px 0 14px;font-size:16px;font-weight:700}.audio-icon{display:inline-flex}.audio-icon-stop{display:none}.audio-button[data-state=loading],.audio-button[data-state=playing]{border-color:var(--c-blue);background:var(--c-blue);color:var(--c-white)}.audio-button[data-state=loading] .audio-icon-play,.audio-button[data-state=playing] .audio-icon-play{display:none}.audio-button[data-state=loading] .audio-icon-stop,.audio-button[data-state=playing] .audio-icon-stop{display:inline-flex}.audio-button[data-state=error]{border-color:var(--c-wrong);background:color-mix(in srgb, var(--c-wrong) 12%, var(--c-white));color:var(--c-navy)}.audio-credit{color:var(--c-gray);margin:40px 2px 0;font-size:12px;line-height:1.6}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:10;background:var(--c-navy);width:min(440px,100% - 32px);color:var(--c-white);box-shadow:0 10px 24px rgb(var(--c-navy-rgb) / 24%);border-radius:14px;margin:0;padding:14px 18px;font-size:15px;line-height:1.5;position:fixed;transform:translate(-50%)}.toast:empty{display:none}.hero{aspect-ratio:900/612;background-color:var(--c-img-hero);background-position:100% 100%;background-repeat:no-repeat;background-size:100%;border-radius:22px;flex-direction:column;padding:20px 16px;display:flex}.hero.is-plain{aspect-ratio:auto;padding:28px 20px 32px}.hero.is-plain .hero-copy{max-width:none}.hero-copy{max-width:max(52%,150px)}.lesson-number{color:var(--c-blue);margin:0;font-size:19px;font-weight:800}.step .hero h1{letter-spacing:-.04em;margin-top:4px;font-size:clamp(28px,8.6vw,34px);line-height:1.18}.title-ja{color:var(--c-gray);margin:8px 0 0;font-size:15px;font-weight:700}.situation{margin:32px 0 0;font-size:18px;line-height:1.75}.goal{margin-top:48px}.cando-list,.card-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.cando-list li{background:var(--c-light-blue);border-radius:16px;align-items:center;gap:14px;padding:18px;font-size:17px;line-height:1.65;display:flex}.cando-icon{background:var(--c-correct);width:32px;height:32px;color:var(--c-white);border-radius:50%;flex:none;place-items:center;display:grid}.scene-image{background:var(--c-light-blue);border-radius:18px;width:100%;height:auto;margin:0 0 16px;display:block}.use-it-image{margin-top:32px;margin-bottom:0}.use-it-image+.scene-card{margin-top:16px}.done-image{max-width:360px;margin:0 auto}.dialogue{margin-top:40px}.dialogue+.dialogue{border-top:1px solid var(--c-line);margin-top:56px;padding-top:48px}.scene{background:var(--c-light-blue);border-radius:14px;margin:0;padding:16px 18px;font-size:16px;line-height:1.7}.dialogue-tools{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:16px;display:flex}.dialogue-tools:empty{display:none}.lines{gap:24px;margin:32px 0 0;padding:0;list-style:none;display:grid}.line{justify-items:start;gap:6px;display:grid}.line.is-self{justify-items:end}.speaker{color:var(--c-gray);align-items:center;gap:8px;margin:0;padding:0 2px;font-size:14px;font-weight:700;display:flex}.line.is-self .speaker{flex-direction:row-reverse}.avatar{background:var(--c-light-blue);object-fit:cover;border-radius:50%;flex:none;width:32px;height:32px}.line-row{align-items:center;gap:10px;max-width:94%;display:flex}.line.is-self .line-row{flex-direction:row-reverse}.bubble{border:1px solid var(--c-line);background:var(--c-white);border-radius:6px 18px 18px;min-width:0;padding:14px 16px}.line.is-self .bubble{background:var(--c-light-blue);border-color:#0000;border-radius:18px 6px 18px 18px}.bubble .ja{margin:0;font-size:20px;line-height:1.6}.bubble .translation{border-top:1px dashed var(--c-line);margin-top:10px;padding-top:10px}.line.is-self .bubble .translation{border-top-color:var(--c-line)}.line.is-playing .bubble{border-color:var(--c-blue);box-shadow:0 0 0 2px var(--c-blue)}.expression.is-playing{border-color:var(--c-blue);box-shadow:0 0 0 1px var(--c-blue);background:var(--c-light-blue)}.vocab-list li.is-playing,.model.is-playing{background:var(--c-light-blue)}.bubble,.expression{transition:box-shadow .15s,border-color .15s}.expressions{gap:20px;margin:32px 0 0;padding:0;list-style:none;display:grid}.expression{border:1px solid var(--c-line);border-radius:18px;padding:20px 18px}.expression-main{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.expression .ja{margin:0;font-size:22px;font-weight:700;line-height:1.5}.expression-audio{flex:none;gap:8px;display:flex}.usage{margin:14px 0 0;font-size:16px;line-height:1.75}.pattern,.vocab{margin-top:56px}.pattern p{background:var(--c-light-blue);border-radius:18px;margin:0;padding:20px 18px;font-size:17px;line-height:1.85}.vocab-list{border-top:1px solid var(--c-line);margin:0;padding:0;list-style:none}.vocab-list li{border-bottom:1px solid var(--c-line);justify-content:space-between;align-items:center;gap:12px;min-height:68px;padding:12px 4px;display:flex}.vocab-list .ja{margin:0;font-size:19px;font-weight:700;line-height:1.5}.vocab-list .translation{margin-top:2px}.practice{margin-top:32px}.practice-status{gap:10px;display:grid}.practice-counter{margin:0;font-size:17px;font-weight:800}.practice-track{background:var(--c-line);border-radius:4px;height:8px;overflow:hidden}.practice-track span{background:var(--c-blue);border-radius:4px;width:0;height:100%;transition:width .2s;display:block}.exercise{margin-top:32px}.instruction{margin:0;font-size:19px;font-weight:700;line-height:1.6}.listen-box{background:var(--c-light-blue);border-radius:18px;justify-content:center;margin-top:24px;padding:28px 16px;display:flex}.listen-box .audio-button{border-radius:28px;min-height:56px;padding:0 26px 0 20px;font-size:18px}.pending-box{background:var(--c-light-blue);color:var(--c-gray);border-radius:18px;margin-top:24px;padding:18px;font-size:15px;line-height:1.6}.pending-box p{margin:0}.pending-box .pending-title{color:var(--c-navy);align-items:center;gap:8px;margin-bottom:6px;font-weight:800;display:flex}.prompt{justify-items:start;gap:6px;margin-top:24px;display:grid}.prompt .bubble{margin:0;font-size:20px;line-height:1.6}.fill-sentence{background:var(--c-light-blue);color:var(--c-navy);text-align:center;border-radius:18px;margin:24px 0 0;padding:24px 18px;font-size:22px;line-height:1.6}.material{color:var(--c-navy);margin:28px auto 0}.material.is-nametag{border:2px solid var(--c-navy);background:var(--c-white);letter-spacing:.12em;text-align:center;width:min(100%,240px);box-shadow:0 6px 14px rgb(var(--c-navy-rgb) / 10%);border-radius:12px;padding:16px 20px 22px;font-size:30px;font-weight:800}.material.is-nametag:before{content:"";background:var(--c-line);border-radius:3px;width:44px;height:6px;margin:0 auto 14px;display:block}.material-row{white-space:pre-wrap;display:block}.material.is-memo{border:1px solid var(--c-line);background:var(--c-white);width:min(100%,280px);box-shadow:0 6px 14px rgb(var(--c-navy-rgb) / 10%);border-radius:4px;padding:14px 24px 18px;font-size:20px;line-height:1.5}.material.is-memo .material-row{border-bottom:1px solid var(--c-line);padding:8px 0}.choices{gap:12px;margin-top:28px;display:grid}.choice{border:2px solid var(--c-line);background:var(--c-white);width:100%;min-height:60px;color:var(--c-navy);text-align:left;cursor:pointer;border-radius:16px;align-items:center;gap:14px;padding:12px 16px;font-size:19px;line-height:1.45;display:flex}.choice-mark{border:2px solid var(--c-line);width:26px;height:26px;color:var(--c-white);border-radius:50%;flex:none;place-items:center;display:grid}.mark-correct,.mark-wrong{display:none}.choice[aria-pressed=true]{border-color:var(--c-blue);background:var(--c-light-blue)}.choice[aria-pressed=true] .choice-mark{border:8px solid var(--c-blue);background:var(--c-white)}.choice:disabled{cursor:default}.choice:disabled:not(.is-correct,.is-wrong){color:var(--c-gray)}.choice.is-correct{border-color:var(--c-correct);background:color-mix(in srgb, var(--c-correct) 22%, var(--c-white))}.choice.is-wrong{border-color:var(--c-wrong);background:color-mix(in srgb, var(--c-wrong) 12%, var(--c-white))}.choice.is-correct .choice-mark{background:var(--c-correct);color:var(--c-white);border:0}.choice.is-wrong .choice-mark{background:var(--c-wrong);color:var(--c-white);border:0}.choice.is-correct .mark-correct,.choice.is-wrong .mark-wrong{display:inline-flex}.order{margin-top:24px}.order-answer{border:2px dashed var(--c-line);border-radius:18px;min-height:132px;padding:18px}.order-lead{color:var(--c-gray);margin:0 0 12px;font-size:19px}.order-slots{gap:10px;margin:0;padding:0;list-style:none;display:grid}.order-pool{gap:12px;margin-top:20px;display:grid}.order-pool:empty{display:none}.piece{border:2px solid var(--c-blue);background:var(--c-white);width:100%;min-height:56px;color:var(--c-navy);text-align:left;cursor:pointer;border-radius:14px;padding:10px 16px;font-size:19px;line-height:1.45}.order-slots .piece{background:var(--c-light-blue);border-color:#0000}.piece:disabled{cursor:default}.order.is-correct .order-answer{border-style:solid;border-color:var(--c-correct);background:color-mix(in srgb, var(--c-correct) 22%, var(--c-white))}.order.is-wrong .order-answer{border-style:solid;border-color:var(--c-wrong);background:color-mix(in srgb, var(--c-wrong) 12%, var(--c-white))}.order .hint{text-align:left}.order .text-button{margin-top:4px}.feedback{border:2px solid var(--c-line);background:var(--c-white);border-radius:18px;margin-top:24px;padding:20px 18px}.feedback.is-correct{border-color:var(--c-correct);background:color-mix(in srgb, var(--c-correct) 22%, var(--c-white))}.feedback.is-wrong{border-color:var(--c-wrong);background:color-mix(in srgb, var(--c-wrong) 12%, var(--c-white))}.feedback-title{align-items:center;gap:10px;margin:0;font-size:22px;font-weight:800;display:flex}.feedback-title.is-correct{color:var(--c-navy)}.feedback-title.is-wrong{color:var(--c-wrong)}.feedback-title .icon{box-sizing:content-box;border-radius:50%;flex:none;padding:4px}.feedback-title.is-correct .icon{background:var(--c-correct);color:var(--c-white)}.feedback-title.is-wrong .icon{background:var(--c-wrong);color:var(--c-white)}.answer{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:14px 0 0;font-size:19px;font-weight:700;line-height:1.5;display:flex}.answer-label{background:var(--c-light-blue);border-radius:8px;padding:2px 10px;font-size:14px}.explanation{margin:14px 0 0;font-size:16px;line-height:1.8}.exercise-actions{margin-top:20px}.practice-panel{background:var(--c-light-blue);text-align:center;border-radius:20px;margin-top:32px;padding:32px 20px}.practice-panel p{margin:0;font-size:19px;font-weight:700;line-height:1.6}.practice-panel .primary-button{margin-top:24px}.practice-panel .text-button{margin-top:16px}.done-mark{background:var(--c-correct);width:56px;height:56px;color:var(--c-white);border-radius:50%;place-items:center;margin-bottom:16px;display:inline-grid}.done-mark.is-large{width:76px;height:76px;margin-bottom:0}.scene-card{background:var(--c-light-blue);border-radius:18px;margin-top:32px;padding:22px 18px}.scene-text{margin:0;font-size:18px;line-height:1.75}.scene-hint{color:var(--c-gray);margin:14px 0 0;font-size:15px;line-height:1.6}.model-toggle{margin-top:24px}.model{border:2px solid var(--c-blue);border-radius:18px;margin-top:24px;padding:20px 18px}.model-title{color:var(--c-blue);margin:0 0 8px;font-size:15px;font-weight:800}.model-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.model .ja{margin:0;font-size:20px;line-height:1.75}.self-check{margin-top:56px}.card-item{border:1px solid var(--c-line);border-radius:18px;padding:20px 18px}.card-item>p:first-child{margin:0;font-size:17px;line-height:1.7}.eval-buttons{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.eval-buttons button{border:2px solid var(--c-line);background:var(--c-white);min-height:52px;color:var(--c-navy);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:17px;font-weight:700;line-height:1.3;display:flex}.eval-buttons button .icon{box-sizing:content-box;border-radius:50%;padding:2px}.eval-buttons button[data-eval=can][aria-pressed=true]{border-color:var(--c-correct);background:color-mix(in srgb, var(--c-correct) 16%, var(--c-white))}.eval-buttons button[data-eval=can][aria-pressed=true] .icon{background:var(--c-correct);color:var(--c-white)}.eval-buttons button[data-eval=again][aria-pressed=true]{border-color:var(--c-wrong);background:color-mix(in srgb, var(--c-wrong) 12%, var(--c-white))}.done-head{text-align:center;padding-top:24px}.done-head h1{margin-top:24px}.done-summary{margin-top:48px}.result{border-radius:999px;align-items:center;gap:6px;margin:14px 0 0;padding:6px 14px;font-size:15px;font-weight:800;display:inline-flex}.result.is-can{background:color-mix(in srgb, var(--c-correct) 16%, var(--c-white));color:var(--c-navy)}.result.is-can .icon{box-sizing:content-box;background:var(--c-correct);color:var(--c-white);border-radius:50%;padding:2px}.result.is-again{background:color-mix(in srgb, var(--c-wrong) 12%, var(--c-white));color:var(--c-navy)}@media (hover:hover){.primary-button:not(:disabled):hover{filter:brightness(.9)}.secondary-button:hover,.audio-button:hover,.piece:not(:disabled):hover,.eval-buttons button:hover,.choice:not(:disabled):hover{border-color:var(--c-blue)}.meter-step.is-done:not(:disabled):hover{filter:brightness(.92)}.back-home:hover,.back-button:hover{text-decoration:underline}}
