.japanese-main{padding-top:45px;padding-bottom:70px}.japanese-main .page-head{max-width:780px;margin-bottom:32px}.japanese-main h1{font-size:clamp(36px,5vw,68px);line-height:1.06;margin:20px 0}.japanese-main .intro{font-size:20px;line-height:1.6}.language-feature{margin:35px 0 55px;padding:35px;background:#e9eee6;border:1px solid #c6d0c0;display:grid;grid-template-columns:1.4fr 1fr;gap:32px}.language-feature h2{font-size:clamp(28px,4vw,43px);line-height:1.15;margin:12px 0}.language-feature .read{display:block;margin:17px 0}.situation-nav{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.situation-nav a{padding:10px 16px;border:1px solid #a9b5a4;border-radius:30px;background:#edf1e8;color:#273c31}.phrase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.phrase-card{padding:28px;border:1px solid #c8c9b8;background:#fffdf6;min-width:0;scroll-margin-top:110px}.phrase-card h2{font-size:27px;line-height:1.2;margin:12px 0}.jp{font:600 25px/1.7 system-ui,sans-serif;overflow-wrap:anywhere}.kana{font:16px/1.7 system-ui,sans-serif}.romaji{font-size:15px;color:#586653}.hide-romaji .romaji{display:none}.phrase-actions,.pack-actions{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.japanese-main button,.japanese-main .button,.language-feature .button{min-height:44px;padding:11px 17px;border:1px solid #314d3d;border-radius:4px;cursor:pointer;background:#304f3c;color:white;font:600 14px/1.5 system-ui,sans-serif;text-decoration:none;display:inline-block}.japanese-main button:disabled{opacity:.5;cursor:wait}.japanese-main .secondary{background:transparent;color:#304f3c}.japanese-main details{border-top:1px solid #cbd1c3;padding-top:14px}.japanese-main summary{cursor:pointer;font-weight:bold;line-height:1.5;padding:10px 0}.japanese-main label{display:block;font-weight:bold;line-height:1.5;margin-bottom:20px}.japanese-main select,.japanese-main textarea{display:block;width:100%;box-sizing:border-box;padding:12px;margin-top:9px;border:1px solid #8d9e89;background:white;color:#26362b;font:16px/1.5 system-ui,sans-serif;border-radius:3px}.japanese-main input[type=checkbox]{width:18px;height:18px;margin-right:8px}.trip-builder{padding:25px;background:#edf1e8;max-width:700px}.pack-summary{margin:30px 0;padding:28px;border:1px solid #b9c9b3;background:#f4f5ec}.practice-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px}.practice-settings{padding:24px;background:#e9eee6;align-self:start}.conversation-panel{padding:24px;border:1px solid #c6d0c0;background:#fffdf6;min-width:0}#conversation:empty:after{content:'Choose a situation and start when you are ready.';display:block;color:#5d6e58;padding:25px 0}.chat-bubble{padding:15px;margin:12px 0;background:#e8eddf;border-radius:8px;overflow-wrap:anywhere}.chat-bubble.user{background:#f2e7d6;margin-left:25px}.chat-bubble small{font-weight:bold}.chat-bubble p{margin:8px 0}.practice-hint{padding:15px;border-left:3px solid #b68050}.japanese-main :focus-visible,.language-feature a:focus-visible{outline:3px solid #b16b35;outline-offset:4px}.show-phrase{max-width:600px;border:1px solid #8a9982;padding:35px;background:#fffdf6;color:#263c2d}.show-phrase::backdrop{background:#1d332ccc}.show-phrase .jp{font-size:36px}.show-phrase button{min-height:44px;padding:12px 20px}header .navlinks{flex-wrap:wrap;gap:14px}header nav{flex-wrap:wrap}.meta{line-height:1.6}.route-language{max-width:100%;box-sizing:border-box}.language-tools{margin:24px 0}.language-tools p{max-width:720px}@media(max-width:760px){.phrase-grid,.language-feature,.practice-layout{grid-template-columns:minmax(0,1fr)}.language-feature{padding:23px;gap:15px}.phrase-card{padding:22px}.japanese-main{padding-top:25px}.japanese-main .intro{font-size:18px}.practice-settings,.conversation-panel{padding:20px}header .navlinks{font-size:13px;gap:10px}header nav{gap:14px}.phrase-actions button,.phrase-actions a{flex:1;text-align:center}.jp{font-size:24px}}@media print{header,footer,.pack-actions,.phrase-actions,.situation-nav,.language-tools,button{display:none!important}.phrase-grid{display:block}.phrase-card{break-inside:avoid;margin:20px 0;background:white}.japanese-main{padding:0}}
