@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@400;500;700&display=swap');
:root{--ink:#173738;--muted:#657777;--line:#dfe7e2;--green:#216756;--gold:#e7bf73;--bg:#f5f7f3;--white:#fff;--dark:#122e30}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 'Be Vietnam Pro',system-ui,sans-serif}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;transition:.18s}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #db9f36;outline-offset:4px}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(26px,3vw,38px);letter-spacing:-1.2px;line-height:1.25;font-weight:700;margin-bottom:12px}h2{font-size:23px;line-height:1.35;margin-bottom:16px}h3{font-size:18px;line-height:1.4;margin-bottom:10px}p{margin-bottom:14px}.muted,small{color:var(--muted)}small{font-size:13px}.sidebar{position:fixed;width:246px;inset:0 auto 0 0;background:var(--dark);color:#d1ded7;padding:34px 23px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:#fff;font-size:20px;font-weight:700;letter-spacing:2px}.brand small{display:block;font-size:9px;color:#b2c7bc;letter-spacing:1.4px;margin-top:3px}.brandmark{border:1px solid #bca777;border-radius:13px;color:#e7c68c;width:47px;height:48px;text-align:center;font-size:30px;line-height:45px}.nav-label{font-size:10px;letter-spacing:1.7px;color:#89a9a1;margin:45px 12px 14px}nav{display:grid;gap:7px}nav a{text-decoration:none;display:flex;align-items:center;gap:14px;padding:12px 15px;border-radius:10px;font-size:14px}nav a:hover{background:#ffffff0d}nav a.active{background:#e1eddf;color:#193f35;font-weight:600}nav .icon{width:22px;font-size:21px;text-align:center}.sidebar-bottom{margin-top:auto;padding:35px 12px 0}.sidebar-bottom p{font-size:14px;color:#b5cbc1;margin:18px 0}.tag{display:inline-block;border:1px solid #b7c6b4;background:#eff3e7;color:#3d654a;border-radius:6px;padding:3px 9px;letter-spacing:.8px;font-size:11px;font-weight:700}.sidebar .tag{color:#e6c589;border-color:#53645a;background:transparent}.shell{margin-left:246px}header{height:85px;padding:0 42px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#ffffffae}.breadcrumb{font-size:14px;color:var(--muted)}.breadcrumb span{margin:0 15px;color:#b7c6be}.breadcrumb b{color:var(--ink);font-weight:500}.wallet{display:flex;gap:12px;align-items:center;font-size:13px;font-weight:600}.wallet>span{padding:6px 11px;background:#f2eedf;border-radius:8px}.wallet>#exp{background:#eaf1e9}.avatar{width:38px;height:38px;border-radius:50%;border:1px solid #b9cbbb;background:#e2ecdf;color:#30543b;font-weight:700;margin-left:6px}main{max-width:1390px;margin:auto;padding:34px 42px 50px;min-height:85vh}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#6e806e;margin-bottom:9px}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px}.page-head p{color:var(--muted);margin:0;font-size:14px}.button,.secondary,.textbutton{border:0;border-radius:9px;padding:11px 18px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none}.button{background:var(--green);color:white}.button:hover{background:#174e40;transform:translateY(-1px)}.secondary{background:white;color:var(--ink);border:1px solid #cdd9d0}.secondary:hover{background:#edf3e9}.textbutton{background:transparent;color:inherit;padding:7px 0}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.grid{display:grid;gap:22px}.cols{grid-template-columns:minmax(0,1fr) 295px}.welcome{background:#dfeadd;border-radius:18px;padding:29px 32px;position:relative;overflow:hidden;min-height:280px;display:flex;align-items:center;gap:10px}.welcome .copy{position:relative;z-index:1;max-width:65%}.welcome h2{font-size:29px;letter-spacing:-.8px;line-height:1.4;margin:12px 0}.welcome p{font-size:14px;max-width:320px;color:#547060}.petportrait{background-image:url('pets.webp');background-size:400% 332%;background-repeat:no-repeat;background-position:0% 12%;border-radius:15px;aspect-ratio:1.15;flex-shrink:0}.welcome .petportrait{width:205px;position:absolute;right:-10px;bottom:26px;border-radius:50%;box-shadow:0 0 0 9px #ffffff35;transform:rotate(-4deg)}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}.panel h3{margin-bottom:14px}.companion{text-align:center}.companion .petportrait{width:155px;margin:0 auto 9px}.companion p{font-size:13px;color:var(--muted);margin:0 0 8px}.companion h3{font-size:17px;margin:0 0 7px}.bubble{background:#f1f5ee;border-radius:9px;padding:9px;color:#4d6856;font-size:13px;margin-top:16px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0 30px}.stat{display:flex;gap:14px;align-items:center;padding:18px 20px;border:1px solid var(--line);border-radius:13px;background:white}.stat-icon{font-size:25px;color:#64816a;background:#f0f4eb;padding:9px 13px;border-radius:10px}.stat b{display:block;font-size:23px;line-height:1.2}.stat small{font-size:12px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:26px 0 16px}.section-head h2{font-size:21px;margin:0}.section-head button{font-size:13px;color:var(--green)}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lesson-card{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden}.lesson-cover{height:115px;display:flex;align-items:center;justify-content:space-between;padding:22px;background:#e8eee2;color:#466d4c}.lesson-card:nth-child(2) .lesson-cover{background:#e5eaf0;color:#546b8d}.lesson-card:nth-child(3) .lesson-cover{background:#f4ead7;color:#9b733c}.lesson-cover b{font-size:50px;font-family:'Noto Sans JP',sans-serif;font-weight:500;letter-spacing:3px}.lesson-cover span{font-size:11px;letter-spacing:1px;writing-mode:vertical-rl}.lesson-body{padding:19px}.lesson-body h3{min-height:51px;font-size:16px;margin:8px 0 10px}.lesson-body p{font-size:12px;color:var(--muted)}.lesson-body button{width:100%;margin-top:9px}.progress{height:5px;background:#e9eee7;border-radius:8px;overflow:hidden}.progress>i{display:block;background:#6d9274;height:100%}.quest{display:flex;gap:12px;align-items:center;border-bottom:1px solid #edf0eb;padding:14px 0}.quest:last-child{border:0}.quest .check{color:var(--green);background:#f0f4eb;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.quest b{font-size:13px;display:block}.quest small{font-size:11px}.mini-tag{font-size:12px;background:#faf3df;color:#947230;padding:2px 7px;border-radius:5px;margin-left:auto;white-space:nowrap}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.practice{border:1px solid var(--line);background:#fff;border-radius:14px;padding:22px;text-align:left;color:var(--ink)}.practice .big-icon{font-size:30px;margin-bottom:15px;display:block;color:#548169}.practice p{font-size:13px;color:var(--muted);margin:0}.practice h3{font-size:17px}.practice:hover{border-color:#86a68a;transform:translateY(-2px)}footer{padding:20px 42px;border-top:1px solid var(--line);font-size:12px;color:#7f9087;display:flex;justify-content:space-between;gap:15px}.tabs{display:flex;gap:9px;margin-bottom:22px;flex-wrap:wrap}.tabs button{border:1px solid var(--line);background:white;border-radius:8px;padding:8px 17px;color:#65746b;font-size:14px}.tabs button.active{background:var(--dark);color:white;border-color:var(--dark)}.jp{font-family:'Noto Sans JP',sans-serif}.vocab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.vocab{padding:20px;background:#f5f7f2;border-radius:10px;text-align:left;border:1px solid #e2e8dc;color:var(--ink)}.vocab strong{display:block;font-size:24px;margin-bottom:6px}.vocab small{display:block}.readingbox{height:365px;overflow:auto;scroll-behavior:auto;background:#132f30;color:#f5f4e9;border-radius:15px;padding:32px 35px;margin:20px 0}.readingbox p{font:26px/2 'Noto Sans JP',sans-serif;margin:0 0 24px}.readingbox .translation{font:14px/1.7 'Be Vietnam Pro',sans-serif;color:#aec8bd;margin-top:8px}label{font-size:14px}select,input[type=text]{border:1px solid #cbd8ce;padding:9px 12px;border-radius:8px;color:var(--ink);background:#fff;max-width:100%}.note{padding:13px 16px;background:#edf3e9;border-radius:9px;font-size:13px;margin:16px 0}.dialogue-line{display:flex;gap:13px;margin-bottom:16px;padding:17px 20px;background:#f3f5f0;border-radius:12px}.dialogue-line.mine{background:#e8f0e3}.dialogue-line .role{border-radius:50%;width:32px;height:32px;flex-shrink:0;background:white;display:grid;place-items:center;color:#58775b;font-weight:700}.dialogue-line p{font-size:20px;margin:0 0 6px}.dialogue-line small{display:block;font-size:13px}.dialogue-line button{padding:6px 10px;margin-top:8px}.recordbox{border:1px solid #cbd9ce;background:#fff;border-radius:14px;padding:25px;text-align:center;position:sticky;top:20px}.recordbutton{width:74px;height:74px;border-radius:50%;border:7px solid #e6eee1;background:var(--green);color:white;font-size:25px;margin:20px 0}.recordbutton.recording{background:#b14742;animation:pulse 1s infinite}@keyframes pulse{50%{box-shadow:0 0 0 10px #b147421a}}audio{width:100%;margin:10px 0}.pet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.pet-card{background:white;border:1px solid var(--line);border-radius:15px;overflow:hidden;text-align:center}.pet-card .petportrait{border-radius:0;aspect-ratio:1.15}.pet-card .body{padding:16px 12px}.pet-card h3{font-size:15px;min-height:43px}.pet-card button{font-size:12px;padding:8px 12px}.pet-card.selected{border:2px solid #57866b}.arena{text-align:center;background:var(--dark);color:#fff;border-radius:18px;padding:35px}.arena .question{font:48px/1.5 'Noto Sans JP',sans-serif;margin:28px 0}.answers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.answers button{padding:18px 10px;background:#fff;color:var(--ink);border:2px solid transparent;border-radius:10px;font-size:19px}.answers button.correct{background:#cce6c3;border-color:#79b567}.answers button.wrong{background:#f2c7bc;border-color:#c67866}.score{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff25;padding-bottom:20px;gap:15px}.score b{display:block;font-size:26px}.score small{color:#bfd0c5}.countdown{height:6px;background:#365050;margin-top:20px;border-radius:8px;overflow:hidden}.countdown i{display:block;background:var(--gold);height:100%;transition:width .1s linear}.feedback{min-height:32px;margin-top:18px;color:#e8dcae}.difficulty{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}.difficulty button{text-align:left;background:white;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:20px}.difficulty button.active{border:2px solid var(--green);background:#eef4e9}.difficulty b{display:block}.difficulty small{font-size:12px}.difficulty .petportrait{width:90px;margin:0 auto 12px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--dark);color:#fff;padding:12px 22px;border-radius:10px;box-shadow:0 7px 35px #0002;z-index:100;display:none;max-width:90vw;font-size:14px}dialog{border:0;border-radius:18px;padding:35px;max-width:min(900px,94vw);max-height:90vh;color:var(--ink);box-shadow:0 20px 90px #0004}dialog::backdrop{background:#0b282db3}.close{position:absolute;right:12px;top:8px;background:transparent;border:0;font-size:30px;color:var(--ink)}dialog img{width:100%}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:10px;z-index:999;background:white;padding:10px}.slide-content{font-size:20px;line-height:2.2;white-space:pre-line;min-height:260px}.slide-page{font-size:13px;color:var(--muted)}.empty{padding:50px 25px;text-align:center}.empty p{color:var(--muted)}.mistake{padding:15px 0;border-bottom:1px solid var(--line)}.recordbox .secondary{width:100%;margin-top:9px}.recordbox h3{font-size:18px}.recordbox p{font-size:14px}.recordbox .jp{font-size:23px}.max{max-width:850px;margin:auto}details{margin:15px 0}summary{cursor:pointer;font-weight:600;font-size:14px}summary+p{margin-top:12px}.full{width:100%}.hidden{display:none!important}
@media(min-width:1500px){.welcome .petportrait{width:230px;right:12px}.welcome .copy{max-width:65%}}@media(max-width:1150px){.sidebar{width:205px;padding:28px 15px}.shell{margin-left:205px}main{padding:26px}header{padding:0 26px}.cols{grid-template-columns:minmax(0,1fr) 260px}.welcome{padding:25px}.welcome h2{font-size:24px}.welcome .petportrait{width:160px;right:-25px}.lesson-grid{gap:12px}.lesson-body{padding:13px}.pet-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:920px){.cols{grid-template-columns:1fr}.companion{display:none}.sidebar{width:185px}.shell{margin-left:185px}.brand{font-size:16px;gap:7px}.brand small{font-size:8px}.stats{gap:10px}.stat{padding:14px 12px}.stat-icon{display:none}.welcome .petportrait{right:24px;width:185px}.welcome .copy{max-width:65%}.difficulty{grid-template-columns:1fr 1fr}.recordbox{position:static}.vocab-grid{grid-template-columns:1fr 1fr}.pet-grid{grid-template-columns:repeat(3,1fr)}footer{padding:20px 26px}}@media(max-width:640px){.sidebar{position:static;width:100%;padding:16px 18px 8px}.brand small{font-size:9px}.brand{font-size:18px}.brandmark{height:38px;width:38px;font-size:25px;line-height:36px}.nav-label,.sidebar-bottom{display:none}nav{display:flex;overflow-x:auto;gap:5px;margin-top:15px;padding-bottom:7px}nav a{padding:8px 10px;white-space:nowrap;font-size:12px;gap:6px}nav .icon{font-size:17px;width:auto}.shell{margin:0}header{height:63px;padding:0 18px}.breadcrumb{font-size:12px}.breadcrumb span{margin:0 7px}.wallet{gap:5px;font-size:11px}.wallet>span{padding:5px 7px}.avatar{height:32px;width:32px}main{padding:25px 18px}.page-head{align-items:flex-start}.page-head .secondary{font-size:12px;padding:8px;white-space:nowrap}.page-head p{font-size:13px}.welcome{min-height:270px;padding:24px 20px}.welcome .copy{max-width:66%}.welcome h2{font-size:23px}.welcome .petportrait{width:130px;right:-5px;bottom:57px}.welcome p{font-size:12px}.stats{margin:16px 0 25px;gap:8px}.stat{padding:13px 10px}.stat b{font-size:21px}.stat small{font-size:10px}.lesson-grid{grid-template-columns:1fr}.lesson-card{display:grid;grid-template-columns:100px 1fr}.lesson-cover{height:100%;padding:16px;display:block}.lesson-cover b{font-size:36px;writing-mode:vertical-rl;margin-top:15px}.lesson-cover span{display:block;writing-mode:horizontal-tb;font-size:10px}.lesson-body h3{min-height:auto}.lesson-body{padding:15px}.lesson-body p{margin-bottom:10px}.lesson-body button{padding:8px}.practice{padding:18px}.practice-grid{gap:12px}.panel{padding:19px}.pet-grid{grid-template-columns:1fr 1fr;gap:12px}.pet-card h3{font-size:14px}.readingbox{padding:24px 20px}.readingbox p{font-size:23px}.dialogue-line{padding:15px 12px}.dialogue-line p{font-size:18px}.arena{padding:23px 16px}.arena .question{font-size:36px}.answers{grid-template-columns:1fr}.answers button{padding:12px}.score b{font-size:22px}.difficulty button{padding:13px}.vocab strong{font-size:21px}.vocab{padding:15px}.slide-content{font-size:17px}footer{padding:20px 18px;display:block}footer span{display:block;margin-top:5px}dialog{padding:35px 20px}.tabs button{padding:7px 12px;font-size:13px}.recordbox .jp{font-size:22px}}
.panel>.petportrait{max-width:190px;margin:10px auto}.arena small{color:#c8dacf}.pet-card .petportrait{width:100%}.recordbox a{overflow-wrap:anywhere}
.lesson-tools{margin-bottom:18px}.lesson-tools h2{margin:0}.lesson-frame{display:block;width:100%;height:760px;height:clamp(590px,80vh,920px);border:1px solid #b5c6bc;border-radius:14px;background:#0f172a}.lesson-frame:fullscreen{height:100vh;border:0;border-radius:0}.outfit-art{background-image:url('outfits.webp');background-size:400% 100%;background-repeat:no-repeat;aspect-ratio:3/8;border-radius:12px;width:100%;max-width:180px;margin:auto}.player-portrait{width:65px;max-width:65px;flex-shrink:0}.wardrobe-layout{display:grid;grid-template-columns:270px 1fr;gap:24px}.outfit-preview{text-align:center;align-self:start;position:sticky;top:20px}.outfit-preview .outfit-art{max-width:180px}.outfit-preview h2{font-size:21px;margin-top:22px}.outfit-preview p{font-size:14px}.outfit-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.outfit-card{text-align:center}.outfit-card .outfit-art{max-width:120px}.outfit-card h3{margin:18px 0 8px}.outfit-card .row{justify-content:center}.outfit-card.equipped{border:2px solid #438564}.profile-outfit{display:flex;align-items:center;gap:25px;margin:25px 0}.profile-outfit .outfit-art{margin:0;width:90px;max-width:90px}.table-scroll{overflow:auto}.realm-table{border-collapse:collapse;width:100%;font-size:14px}.realm-table td,.realm-table th{padding:12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.realm-table th{background:#edf3e8}.battle-company{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:24px}.battle-company .outfit-art{margin:0}.battle-pet{width:112px;flex-shrink:0}.battle-pet .petportrait{width:100%;border:2px solid #c8b57c}.battle-pet small{font-size:11px;display:block;margin-top:6px;line-height:1.4}.pet-chat{position:relative;max-width:330px;border-radius:17px 17px 17px 3px;background:#f6f2df;color:#264a3b;padding:14px 20px;text-align:left;box-shadow:0 3px 12px #0001;min-height:80px}.pet-chat:before{content:'';position:absolute;left:-10px;top:27px;border-width:7px 11px 7px 0;border-style:solid;border-color:transparent #f6f2df transparent transparent}.pet-chat span{display:block;font-size:14px}.pet-chat .jp{font-size:20px;margin-bottom:3px}.pet-chat[data-mood=correct]{background:#e2f0da}.pet-chat[data-mood=correct]:before{border-right-color:#e2f0da}.arena-setup-companion{display:flex;gap:20px;align-items:center;margin-top:24px;padding:20px;background:#f3f5ee;border-radius:12px}.arena-setup-companion .outfit-art{margin:0}.arena-setup-companion .petportrait{width:95px}.arena-setup-companion p{font-size:13px;margin:5px 0}.arena .question{margin:20px 0}.arena .feedback{font-size:14px}
@media(max-width:900px){.wardrobe-layout{grid-template-columns:1fr}.outfit-preview{position:static}.outfit-preview .outfit-art{max-width:115px}.arena-setup-companion{flex-wrap:wrap}}@media(max-width:640px){.lesson-frame{height:78vh;min-height:580px}.lesson-tools h2{font-size:20px}.outfit-card{padding:15px}.outfit-card h3{font-size:16px}.outfit-card .outfit-art{max-width:100px}.outfit-card .row{gap:8px}.outfit-card button{padding:8px 11px;font-size:12px}.battle-company{gap:10px;flex-wrap:wrap;margin-bottom:18px}.battle-company .player-portrait{width:43px;max-width:43px}.battle-pet{width:78px}.battle-pet small{font-size:10px}.pet-chat{max-width:calc(100% - 150px);padding:11px;min-height:72px}.pet-chat .jp{font-size:16px}.pet-chat span{font-size:12px}.arena-setup-companion{gap:13px}.arena-setup-companion .petportrait{width:72px}.arena-setup-companion>div:nth-child(4){max-width:180px}}
/* Realm collections, evolution and battle abilities */
.realm-outfit{background-size:700% 200%;aspect-ratio:1/2}.outfit-card .realm-outfit{max-width:150px}.outfit-preview .realm-outfit{max-width:205px}.character-equipped{display:flex;align-items:center;gap:8px;flex-shrink:0}.character-equipped .player-portrait{margin:0;width:72px;max-width:72px}.equipment-strip{display:grid;grid-template-columns:repeat(2,34px);gap:5px}.equipment-chip{display:block;text-align:center;background:#ede8d9;border:1px solid #b6a87b;border-radius:5px;padding:3px}.equipment-chip small{display:block;font-size:8px;color:#375048;line-height:1.2}.accessory-art{background-image:url('accessories.webp');background-size:400% 100%;background-repeat:no-repeat;aspect-ratio:2/3;width:100%;border-radius:12px}.equipment-chip .accessory-art{width:26px;aspect-ratio:1;border-radius:4px}.accessory-shop{display:grid;grid-template-columns:minmax(160px,280px) 1fr;align-items:center;gap:35px;max-width:900px;margin:auto}.accessory-shop h2{margin-top:15px}.outfit-card .tag{margin-top:12px}.outfit-card small{display:block;min-height:44px}.character-options{display:flex;gap:22px;justify-content:center;margin:20px 0}.character-options .outfit-art{max-width:115px;margin:0}#charPet{width:100%;margin:12px 0}#modalbody>h2{padding-right:15px}.pet-evolved{background-image:url('pets-evolved.webp');background-size:400% 300%;aspect-ratio:1}.pet-ascended{box-shadow:inset 0 0 0 3px #ddb252,0 0 25px #e5bd5866;filter:saturate(1.2) contrast(1.04);border:2px solid #c69b32}.evolution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.evolution-grid .petportrait{width:100%;max-width:225px}.evolution-grid h3{margin:15px 0 8px;font-size:16px}.evolution-grid p{font-size:14px}.pet-card .textbutton{display:block;margin:8px auto 0;font-size:12px}.combat-skills{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:20px}.combat-skills button{font-size:12px;padding:9px 12px;background:#e9ecd9}.skill-passive{color:#e8ca8b;font-size:12px;margin-right:auto}.answers button.eliminated{background:#244247;color:#b8c7be;text-decoration:line-through;border:1px dashed #637c72;opacity:.6}.battle-company .character-equipped{max-width:135px}.profile-outfit .character-equipped .realm-outfit{max-width:95px;width:95px}.arena-setup-companion .character-equipped{margin-right:8px}.realm-table{font-size:13px}.realm-table td:last-child{font-variant-numeric:tabular-nums}.pet-grid .pet-card .body{min-height:165px}.outfit-card .row{gap:8px}.outfit-card .button{font-size:12px;padding:9px 12px}.outfit-preview .tag{font-size:12px}
@media(max-width:640px){.character-equipped .player-portrait{width:50px;max-width:50px}.equipment-strip{grid-template-columns:repeat(2,23px);gap:3px}.equipment-chip{padding:2px}.equipment-chip .accessory-art{width:18px}.equipment-chip small{font-size:7px}.battle-company .character-equipped{max-width:100px}.battle-company{column-gap:8px}.battle-pet{width:70px}.pet-chat{max-width:calc(100% - 150px)}.battle-company:has(.equipment-chip) .pet-chat{max-width:none;width:100%;margin-top:3px}.battle-company:has(.equipment-chip) .pet-chat:before{left:55%;top:-10px;border-width:0 7px 11px;border-color:transparent transparent #f6f2df}.profile-outfit{flex-wrap:wrap}.accessory-shop{grid-template-columns:1fr;gap:20px}.accessory-shop>.accessory-art{max-width:180px;margin:auto}.evolution-grid{grid-template-columns:1fr}.evolution-grid article{max-width:250px;margin:auto;text-align:center}.combat-skills .skill-passive{width:100%;text-align:left}.combat-skills button{flex:1}.outfit-card .realm-outfit{max-width:115px}.outfit-card h3{min-height:42px}.wardrobe-layout .note{font-size:12px}}
/* Owner test mode */
.owner-test-badge{border:1px solid #bd9854;border-radius:20px;background:#faf0d9;color:#5c451d;padding:7px 10px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.owner-test-badge[hidden]{display:none}
.owner-test-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px;border-color:#cba965;background:#fcf6e9}
.owner-test-panel h2{margin:12px 0 8px}.owner-test-panel p{margin-bottom:10px}.owner-test-panel small{display:block;color:#52635b}.owner-test-panel>button{flex-shrink:0}
@media(max-width:640px){.owner-test-panel{align-items:flex-start;flex-direction:column;gap:16px}.wallet{flex-wrap:wrap;justify-content:flex-end;gap:6px}.owner-test-badge{font-size:10px;padding:5px 7px}}
.study-limits{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:8px;margin:18px 0}.study-limits>div{padding:12px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.study-limits .current{border-color:#9c7d3f;background:#fff7e6}.study-limits b,.study-limits span,.study-limits small{display:block}.study-limits span{font-size:14px;margin:6px 0}.study-limits small{font-size:12px}.realm-progression>p{margin:18px 0}.realm-simulator{padding:22px 0 0;border-top:1px solid var(--line);margin-top:22px}.realm-simulator h3{margin-bottom:10px}.realm-simulator-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.realm-simulator-controls label{display:flex;flex-direction:column;gap:7px;font-size:14px}.realm-simulator-controls input,.realm-simulator-controls select{width:100%;min-width:0}.realm-simulator .row label{font-size:14px}.realm-preview-result{background:#e8f0ec;border-left:3px solid #386957;border-radius:8px;padding:16px;margin-top:18px}.realm-preview-result p{margin:8px 0}.realm-preview-result small{font-size:14px;line-height:1.6}
@media(max-width:640px){.study-limits{grid-template-columns:repeat(2,minmax(0,1fr))}.realm-simulator-controls{grid-template-columns:1fr}.realm-simulator .row{align-items:flex-start;flex-direction:column}}

/* Extensions keep the academy's jade, ink and gold identity. */
:root{--evolution-bg:#102f34}
body{font-size:16px}p{line-height:1.7}button,input,select,textarea{font:inherit}button{min-height:44px}small,.tag,.textbutton,.secondary,.button,.pet-card button,.combat-skills button,.skill-passive{font-size:max(.875rem,14px)}
.sidebar{overflow-y:auto}.sidebar nav a{padding-top:9px;padding-bottom:9px}.sidebar-bottom p{font-size:14px}.nav-label{font-size:12px}
.new-journey{background:#133c3d;color:#fff;border:1px solid #39726b;border-radius:18px;padding:25px;margin-bottom:26px;display:flex;justify-content:space-between;gap:24px;align-items:center}.new-journey h2{margin:9px 0;font-size:25px}.new-journey p{color:#cbe4dc;margin:8px 0}.new-journey .row{max-width:370px}.new-journey .secondary{background:#e5efe6;color:#173c39}.lesson-switch{margin-bottom:24px}
.evolution-art,.pet-card .evolution-art{background-color:var(--evolution-bg);background-size:400% 400%;aspect-ratio:1/1;background-repeat:no-repeat;min-width:0}.evolution-hero{display:grid;grid-template-columns:minmax(180px,290px) 1fr;gap:32px;align-items:center;margin-bottom:24px}.evolution-hero .petportrait{width:100%;border-radius:16px}.evolution-hero h2{margin:16px 0}.evolution-hero small{display:block;margin-top:16px;color:var(--muted)}
.evolution-catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.evolution-catalog article{border:1px solid #cad9d0;border-radius:10px;padding:9px}.evolution-catalog article.current{outline:2px solid #b28642}.evolution-catalog .petportrait{width:100%}.evolution-catalog b{display:block;margin-top:8px;font-size:14px}.evolution-catalog p{font-size:14px;margin:5px 0}.evolution-catalog small{font-size:12px}
dialog:has(.evolution-catalog){width:min(1050px,94vw);max-width:1050px}.pet-card h3{font-size:16px}.pet-card .body p{font-size:14px}.pet-card .row{justify-content:center}.pet-card .petportrait{background-color:var(--evolution-bg)}
.gear-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gear-grid>.panel{padding:14px}.gear-art{aspect-ratio:1;background-size:400% 400%;background-color:var(--evolution-bg);background-repeat:no-repeat}.gear-grid .gear-art{width:100%;margin-bottom:15px}.gear-grid h3{font-size:17px;line-height:1.5}.gear-grid p{font-size:14px}.gear-grid button{width:100%}.gear-current{display:flex;align-items:center;gap:25px;margin:20px 0}.gear-current>.gear-art{width:160px;flex-shrink:0}.gear-current small{display:block;margin-top:10px}.set-status{margin:0 0 24px;border-color:#8eb2a0;background:#f3f8f2}.set-status h2{margin-top:0}.equipment-strip{grid-template-columns:repeat(2,48px)}.equipment-chip .accessory-art{width:40px}.equipment-chip small{font-size:12px;overflow-wrap:anywhere}.character-equipped{max-width:220px}.profile-outfit{flex-wrap:wrap}.battle-company .character-equipped{max-width:190px}.expansion-profile{margin-top:24px}
.foundation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.foundation-grid h3{margin:15px 0;font-size:21px}.foundation-grid .panel{display:flex;flex-direction:column;align-items:flex-start}.foundation-grid p{flex:1}.foundation-slide{max-width:1100px;margin:0 auto;min-height:560px}.foundation-slide h2{font-size:30px;margin:35px 0 22px}.lesson-prose{font-size:20px;line-height:1.95;white-space:pre-line}.example-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.example-pair>div{background:#eff5f0;border-left:4px solid #458875;padding:20px;border-radius:8px}.example-pair .jp{font-size:25px;line-height:1.8}.slide-controls{border-top:1px solid var(--line);padding-top:20px;margin-top:35px}.foundation-answers{display:grid;gap:12px}.foundation-answers button{text-align:left;padding:18px;font-size:20px}.foundation-slide .table-scroll{max-height:400px}.realm-table small{display:block}.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.memory-grid img{width:100%;height:auto;display:block;border-radius:8px}.memory-grid h2{font-size:22px;margin-top:22px}.memory-grid p{font-size:16px}.memory-grid .panel{padding:16px}
.arcade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.game-card{display:flex;flex-direction:column;align-items:flex-start;border-top:4px solid #4d8c7c}.game-card h2{font-size:23px;margin:17px 0 9px}.game-card p{flex:1;margin-bottom:22px}.arcade-intro{margin-top:24px}.arcade-intro .vocab-grid{max-height:280px;overflow:auto}.arcade-play{max-width:1000px;margin:auto}.arcade-play .question{font-size:48px;text-align:center;margin:22px 0;line-height:1.6}.arcade-play .petportrait{width:130px}.arcade-play .jp{line-height:1.9}.arcade-play input{flex:1;min-width:0;font-size:24px;width:100%}.arcade-play textarea{display:block;width:100%;padding:14px;border:1px solid #94aa9c;border-radius:10px;font-size:20px;margin:8px 0 16px;resize:vertical}.arcade-play label{display:block;margin-top:20px}.arcade-feedback{margin-top:24px;padding:0 15px}.arcade-feedback:has(h3){background:#eaf3e9;border-left:4px solid #327961;padding:20px;border-radius:8px}.arcade-feedback .jp{font-size:24px}.arcade-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0}.arcade-choices button{padding:18px 10px;overflow-wrap:anywhere}.arcade-result{text-align:center}.arcade-result .petportrait{width:220px;margin:auto}.arcade-result .row{justify-content:center}#arcadeNext{margin-top:24px}
.dance-stage{height:260px;position:relative;display:flex;justify-content:center;align-items:flex-end;overflow:hidden;background:radial-gradient(ellipse at center,#356b65 0%,#143b40 65%);border-radius:14px;margin-top:20px;border-bottom:10px solid #b79863}.dance-stage .dancer{width:170px;height:auto;aspect-ratio:3/4;background-size:400% 200%;background-repeat:no-repeat;flex-shrink:0;border-radius:8px 8px 0 0}.dancer-left,.dancer-right{width:130px!important;opacity:.85}.dance-call{position:absolute;top:10px;color:#ffe4a7;font-size:21px;text-shadow:0 2px 4px #15262c}.dance-stage[data-mood=correct]{border-color:#52cfa1;box-shadow:0 0 0 3px #76dab340}.dance-stage[data-mood=wrong]{border-color:#cb877c}.preview-stage{max-width:600px;margin:0 auto 28px}.preview-stage .petportrait{width:130px;margin-left:20px}.countdown{margin:18px 0;background:#c8dbd2}.countdown i{display:block;height:8px;background:#b2965e}
.train-track{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:110px;padding:18px;margin:20px 0;border:2px dashed #79a493;background:#f1f7f2;border-radius:12px}.tile-pool{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.sentence-tile{font-size:22px;background:#fff;border:1px solid #769889;border-radius:10px;padding:17px 14px;color:#183d36;cursor:pointer}.sentence-tile.picked{background:#24584d;color:white}.sentence-tile:disabled{opacity:.28}.sentence-analysis{display:flex;gap:10px;flex-wrap:wrap}.sentence-analysis span{padding:12px;border-bottom:4px solid #b69a5f;background:white;border-radius:7px}.sentence-analysis small{display:block}.sentence-analysis span:nth-child(2){border-color:#548ca0}.sentence-analysis span:nth-child(3){border-color:#ac6c8c}.sentence-analysis span:last-child{border-color:#509571}.bridge-progress{display:flex;align-items:center;gap:20px}.bridge-progress>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.bridge-step{border:1px solid #7caaa0;padding:12px 16px;border-radius:5px;background:#eff4e9}.bridge-step.passed{background:#256c59;color:white}.forge-companion{display:flex;align-items:center;gap:25px;margin:20px 0}.clue-list{padding-left:25px}.clue-list li{margin:15px 0;font-size:21px}.clue-list button{margin-left:12px}.difference-image{width:100%;height:auto;margin:22px 0;border-radius:12px}.saved-clip{border-top:1px solid var(--line);padding:10px 0}.saved-clip audio{width:100%}.story-choices{margin:18px 0}.story-choices button{margin-right:10px}.skill-passive{line-height:1.6}.game-card .button{align-self:flex-start}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #cc9e46;outline-offset:3px}
@media(max-width:1150px){.arcade-grid,.gear-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foundation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-grid{grid-template-columns:1fr}.memory-grid .panel{display:grid;grid-template-columns:240px 1fr;gap:0 24px}.memory-grid .panel>a:first-child{grid-row:1/5}.memory-grid .secondary{justify-self:start}.new-journey{display:block}.new-journey .row{max-width:none}.evolution-catalog{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.new-journey{padding:20px}.new-journey h2{font-size:23px}.evolution-hero{grid-template-columns:1fr;gap:18px}.evolution-hero>.div,.evolution-hero>div:first-child{max-width:240px;margin:auto}.evolution-hero h2{font-size:25px}.foundation-grid,.arcade-grid{grid-template-columns:1fr}.foundation-slide{padding:20px}.foundation-slide h2{font-size:25px;margin-top:24px}.lesson-prose{font-size:18px}.example-pair{grid-template-columns:1fr}.example-pair .jp{font-size:22px}.memory-grid .panel{display:block}.memory-grid .panel img{max-width:100%}.gear-grid{gap:12px}.gear-grid>.panel{padding:10px}.gear-current{display:block}.gear-current>.gear-art{width:150px;margin-bottom:20px}.gear-grid h3{font-size:16px}.evolution-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.evolution-catalog article{padding:5px}.evolution-catalog p,.evolution-catalog small{overflow-wrap:anywhere}.arcade-play{padding:17px}.arcade-play .question{font-size:38px}.arcade-choices{grid-template-columns:1fr}.arcade-play .row{flex-wrap:wrap}.arcade-play input{flex-basis:100%}.dance-stage{height:220px}.dance-stage .dancer{width:125px}.dancer-left,.dancer-right{width:95px!important}.dance-call{font-size:17px}.sentence-tile{font-size:19px;padding:14px 10px}.bridge-progress{gap:10px}.bridge-progress .petportrait{width:85px}.bridge-step{padding:8px 10px}.forge-companion{gap:15px}.forge-companion .petportrait{width:100px}.forge-companion h2{font-size:23px}.arcade-play .jp{overflow-wrap:anywhere}.wallet #exp{display:none}.battle-company .character-equipped{max-width:150px}.equipment-strip{grid-template-columns:repeat(2,38px)}.equipment-chip .accessory-art{width:30px}.equipment-chip small{font-size:12px}.character-equipped .player-portrait{width:58px;max-width:58px}.pet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pet-card button{white-space:normal}.pet-card .body{padding:13px 8px}.pet-card h3{font-size:16px;min-height:0}.pet-card .row{display:block}.pet-card .row button{width:100%;margin:5px 0}.slide-controls{gap:8px}.slide-controls button{font-size:14px;padding:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.evolution-art svg{display:block;width:100%;height:100%;aspect-ratio:1/1;border-radius:inherit;overflow:hidden}

/* Give every sprite a definite viewport; content cannot set its parent's height. */
.petportrait.evolution-art{position:relative!important;overflow:hidden!important;isolation:isolate;aspect-ratio:1/1!important;max-width:100%;min-height:0;contain:paint}
.welcome .petportrait.evolution-art{position:absolute!important}
.petportrait.evolution-art>svg{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:100%;max-height:100%;display:block;overflow:hidden}
.pet-card{min-width:0}.pet-card>.petportrait{width:100%}.evolution-catalog article{min-width:0;overflow:hidden}.evolution-catalog .petportrait{width:100%;height:auto!important}.evolution-hero .petportrait{height:auto!important}.battle-pet{min-width:0;overflow:hidden}.battle-company{flex-wrap:wrap}
.evolution-catalog{align-items:start}.pet-card .body{position:relative;background:white;z-index:1}.gear-grid{align-items:start}.gear-art{overflow:hidden;max-width:100%}
.speech-widget{margin:20px 0;border-top:1px solid #c9d9d1;padding-top:20px}.speech-widget audio{display:block;width:100%;margin:12px 0}.transcript-card{border:1px solid #93b4a5;background:#eff7f2;border-radius:10px;padding:16px;margin:14px 0}.transcript-card p{font-size:20px;overflow-wrap:anywhere;min-height:32px}.speech-disclosure{font-size:14px;color:var(--muted)}.support-ladder{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.city-threshold{border-left:4px solid #bb9345;background:#f7f1e2;padding:16px;margin:20px 0}.private-role-info{padding:20px;background:#e9f2ec;border:2px solid #407d67;border-radius:12px;margin:20px 0}.story-options{display:grid;grid-template-columns:1fr;gap:12px}.story-options button{text-align:left}.story-options span{display:block;margin-top:6px;font-size:20px}.story-prose{font-size:23px;line-height:2}.dialogue-script p{font-size:22px;line-height:1.85}.game-card select{width:100%;max-width:100%;margin-bottom:18px}.game-card label{width:100%}
.boss-portrait{width:min(100%,360px);height:auto;object-fit:contain;display:block;border-radius:18px}.boss-intro{display:grid;grid-template-columns:minmax(220px,360px) minmax(0,1fr);gap:32px;align-items:center}.boss-intro h2{font-size:28px}.boss-intro ul{padding-left:22px}.boss-intro li{margin:12px 0}.boss-battle-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:22px;align-items:start}.boss-status{text-align:center}.boss-question h2{font-size:30px}.boss-question input{width:100%;font-size:24px;margin:15px 0}.boss-question .jp{line-height:1.85}.boss-section-results{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}.boss-section-results>div{padding:14px;border:1px solid #afc8ba;border-radius:10px}.lesson-boss-callout{display:flex;gap:25px;margin-top:24px;align-items:center}.lesson-boss-callout .boss-portrait{width:140px}
.ai-portrait{position:relative;aspect-ratio:1/1.12;overflow:hidden;width:100%;border-radius:12px;background:#17373c}.ai-portrait>svg{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.difficulty .ai-portrait{height:auto;margin:12px 0}.battle-opponent{max-width:125px;margin:12px auto;text-align:center}.battle-opponent small{display:block;margin:8px 0}.battle-company .petportrait{width:110px!important}.recordbox{min-width:0;overflow-wrap:anywhere}
@media(max-width:720px){.boss-intro,.boss-battle-layout{grid-template-columns:1fr}.boss-intro>.boss-portrait{max-width:240px;margin:auto}.boss-status{display:grid;grid-template-columns:90px 1fr;gap:8px 16px;text-align:left}.boss-status .boss-portrait{grid-row:1/5}.boss-status h3,.boss-status p{margin:0}.boss-section-results{grid-template-columns:repeat(2,minmax(0,1fr))}.boss-question{padding:18px}.boss-question h2{font-size:24px}.lesson-boss-callout{align-items:flex-start}.lesson-boss-callout .boss-portrait{width:85px;min-width:85px}.lesson-boss-callout h2{font-size:21px}.story-prose,.dialogue-script p{font-size:20px}.speech-widget .row{align-items:stretch}.support-ladder button{font-size:14px;padding:10px}.battle-opponent{max-width:100px}.game-card{overflow:hidden}}

.bridge-progress>div{min-width:0;display:flex;flex-wrap:wrap;gap:8px}.bridge-step{display:inline-block}.pet-grid,.difficulty{min-width:0}.difficulty button{min-width:0}

.n5-prose{max-width:880px;font-size:17px;line-height:1.9}.n5-prose h3{margin:28px 0 10px}.n5-lesson{margin-top:18px}.n5-exercise{padding:18px 0;border-bottom:1px solid var(--line,#dce4dc)}.n5-exercise summary{cursor:pointer;font-weight:650;line-height:1.7}.study-room-frame{width:100%;min-height:85vh;height:1100px;border:0;border-radius:18px;background:#fbf9f1}.lesson-card-body{padding:20px}.lesson-card-body p{min-height:65px}.boss-portrait{width:min(100%,350px);max-height:430px;object-fit:contain;display:block;margin:auto}.boss-status .boss-portrait{max-height:280px}.boss-picker{max-width:100%;margin-bottom:20px}.pet,.pet-portrait,.pet-wrap{max-width:100%;min-width:0}.welcome .pet{flex-shrink:1}.n5-lesson table td{vertical-align:top}.n5-lesson .textbutton{display:block}.dance-stage{background:radial-gradient(ellipse at 50% 100%,#d545cc66,transparent 60%),linear-gradient(135deg,#121b46,#39264d 50%,#112c48);border:1px solid #85b9d8;box-shadow:inset 0 -25px 45px #48bcca22}.dance-call{max-width:90%}.arcade-play:has(#danceStage){background:#151e36;color:#fff}.arcade-play:has(#danceStage) .question{color:#fff}.arcade-play:has(#danceStage) .tag{background:#293653;color:#c7efff}.arcade-play:has(#danceStage) .arcade-feedback{color:#fff}.arcade-play:has(#danceStage) input{background:#fff;color:#173539}.arcade-play:has(#danceStage) .button{background:#df61ab;color:#fff}@media(min-width:1050px){#arcadeQuestion:has(#danceStage){display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:30px}#danceStage{grid-column:1;grid-row:1 / 6;min-height:350px}#arcadeQuestion:has(#danceStage)>:not(#danceStage){grid-column:2}.n5-lesson{padding:30px}}@media(max-width:700px){.study-room-frame{height:1250px}.n5-prose{font-size:16px}.boss-intro{grid-template-columns:1fr}.lesson-card-body p{min-height:0}.dance-stage{height:240px}.n5-lesson{padding:18px}.stats .stat b{font-size:21px}}
.kana-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}.kana-tile{position:relative;border:1px solid #c7d9d4;border-radius:15px;padding:14px;background:#fff;color:#153f3a;cursor:pointer}.kana-tile.selected{border:2px solid #258579;background:#e9f5eb}.kana-tile b{display:block;font-size:clamp(24px,5vw,44px);font-weight:500}.kana-tile small{display:block}.kana-tile span{position:absolute;right:7px;top:7px}.kana-large{font-size:clamp(90px,15vw,145px);line-height:1.4;margin:18px 0}.kana-flash{text-align:center}.kana-flash .row{justify-content:center}.kana-entry{display:flex;gap:20px;justify-content:space-between;align-items:center}#kanaCanvas{display:block;width:100%;max-width:480px;aspect-ratio:4/3;border:1px solid #a3bbb4;border-radius:12px;margin:12px 0;touch-action:none;background:linear-gradient(90deg,transparent 49.7%,#d6e4df 50%,transparent 50.3%),linear-gradient(transparent 49.7%,#d6e4df 50%,transparent 50.3%),#fcfff9}@media(max-width:600px){.kana-grid{gap:6px}.kana-tile{padding:12px 4px}.kana-entry{display:block}.kana-entry .button{width:100%}}
.kana-stroke-model{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:18px auto}.kana-stroke-model figure{margin:0;flex:1;max-width:300px;min-width:110px}.kana-stroke-svg{display:block;width:100%;background:#fffef8;border:1px solid #d4e1da;border-radius:12px;overflow:visible}.stroke-grid{stroke:#d4dfd7;stroke-width:.4;stroke-dasharray:2 2}.stroke-guide{stroke:#e0e7e2;stroke-width:3}.stroke-ink{stroke:#166657;stroke-width:3}.stroke-ink.active-stroke{stroke:#cd6735}.stroke-numbers{fill:#a84626;font-size:7px;font-family:Arial,sans-serif}.stroke-credit{font-size:11px;line-height:1.5}.stroke-controls{margin-bottom:12px}.kana-stroke-model figcaption{font-size:13px;color:#62776f}

.v8-prompt{white-space:pre-line;line-height:1.7}.v8-today{display:flex;align-items:center;justify-content:space-between;gap:20px}.v8-pet-message{border:2px solid #25746b;border-radius:20px 20px 20px 4px;background:#e9f7f3;color:#143d38;padding:18px 22px;max-width:680px;margin:20px 0;font-size:1rem;line-height:1.6}.n5-prose table{border-collapse:collapse;width:100%;font-size:1rem}.n5-prose th,.n5-prose td{border:1px solid #b5cfcb;padding:12px;vertical-align:top}#learningInput{width:100%;margin:12px 0;font-size:1.2rem;padding:14px;border:1px solid #7caaa2;border-radius:10px}.v8-paper-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);gap:20px}.v8-paper-grid audio{width:100%}.v8-paper-sheet label{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid #bdd0cc;border-radius:8px;margin:6px 0;font-size:1rem}.v8-paper-sheet input{flex:0 0 auto;width:auto;margin-top:6px}.v8-paper-sheet fieldset{border:0;border-bottom:1px solid #bdd0cc;margin:0;padding:20px 0;min-width:0}.v8-paper-sheet legend{font-size:1.05rem;font-weight:700;line-height:1.7}.v8-paper-player{position:sticky;top:15px;align-self:start}.v8-paper-sheet pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;line-height:1.8}.v8-coverage a{display:inline-block;margin:6px}.v8-clock{font-variant-numeric:tabular-nums;font-size:1.5rem}.v8-correction{background:#e8f5ef;padding:14px;margin:10px 0;border-radius:8px}@media(max-width:700px){.v8-today{display:block}.v8-paper-grid{grid-template-columns:1fr}.v8-paper-player{position:static}.n5-prose table{font-size:.9rem}.n5-prose th,.n5-prose td{padding:8px}}

.visual-lesson{--topic:#166256;--verb:#77309a;--object:#194d8d;--place:#875313;font-size:1rem;line-height:1.6}.visual-lesson details{background:#fff;border:1px solid #d3e4df;border-radius:16px;margin:0 0 16px;overflow:hidden}.visual-lesson summary{cursor:pointer;list-style:revert;font-size:1.1rem;font-weight:750;padding:18px 20px;color:#123e37}.visual-lesson summary>span{display:inline-block;background:#e6f3ed;color:#166256;border-radius:8px;padding:4px 9px;margin-right:8px;font-size:1rem}.visual-lesson .visual-step>div,.visual-lesson .visual-step>p,.visual-lesson .visual-step>ol,.visual-lesson .visual-step>details{margin:18px 22px}.visual-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;align-items:center}.visual-lesson figure{margin:0}.visual-lesson img{display:block;width:100%;height:auto;max-width:100%;border-radius:12px}.visual-lesson figcaption{font-size:.9rem;color:#48615c;margin-top:8px}.visual-lesson .sentence-chunks{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.sentence-chunks>span{padding:14px 18px;border-radius:12px;font-size:1.45rem;font-weight:700;line-height:1.6;border:2px solid currentColor}.sentence-chunks small{display:block;font-size:.95rem;font-weight:400}.sentence-chunks .topic{color:var(--topic);background:#e9f6ef}.sentence-chunks .predicate{color:var(--verb);background:#f4eaf9}.sentence-chunks .object{color:var(--object);background:#eaf2fd}.sentence-chunks .place{color:var(--place);background:#fff4dd}.language-compare{display:grid;gap:20px}.language-compare>div{border-bottom:1px dashed #bfd2ca;padding-bottom:12px}.sentence-variants{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:14px}.sentence-variants>div{padding:18px;background:#f1f8f5;border-radius:12px;min-width:0}.sentence-variants .jp{font-size:1.25rem;overflow-wrap:anywhere}.sentence-variants .jp span{display:block;color:#77309a;font-weight:bold}.visual-lesson .translation-steps{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;gap:12px;counter-reset:step}.translation-steps li{padding:16px;background:#eff6fb;border-radius:12px;counter-increment:step}.translation-steps b:before{content:counter(step)'. '}.translation-steps span{display:block;margin-top:8px}.visual-lesson details.visual-check{border-color:#a1ccba;background:#eff9f3}.visual-lesson details>p{padding:0 20px 12px}.intro-prompt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:4px 18px}.intro-prompt .jp{background:#f1f8f5;border-radius:10px;padding:12px;font-size:1.4rem}.visual-lesson .memory-detail{max-width:650px;margin:auto}.visual-reference>h3,.visual-reference>p,.visual-reference>ol,.visual-reference>section{margin:18px 22px}.exam-coverage-v9{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.exam-coverage-v9 span{padding:6px 12px;background:#e8f2ed;color:#123e37;border-radius:8px;font-size:.95rem}.practice-options-v9{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0}.practice-options-v9 label{display:flex;flex-direction:column;gap:6px;flex:1 1 190px;min-width:0}.practice-options-v9 select{width:100%;font-size:1rem;min-height:44px}.qnav{max-height:190px;overflow:auto}.n5-prose .visual-lesson p{max-width:none}@media(max-width:680px){.visual-split{grid-template-columns:1fr}.visual-lesson .visual-step>div,.visual-lesson .visual-step>p,.visual-lesson .visual-step>ol,.visual-lesson .visual-step>details{margin:14px}.visual-lesson summary{padding:16px 14px;font-size:1rem}.visual-lesson figure{max-width:460px}.visual-lesson .translation-steps{grid-template-columns:1fr}.intro-prompt{grid-template-columns:1fr}.intro-prompt p{margin:0}.intro-prompt p:nth-child(even){margin-bottom:16px}.sentence-chunks>span{font-size:1.25rem;padding:10px 12px}}@media print{.visual-lesson details{break-inside:avoid}}

.account-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#103b34;color:#fff;padding:10px 24px 10px 278px;font-size:.9rem;position:relative;z-index:30}.account-bar button{background:#e8f5ee;color:#103b34;border:0;border-radius:8px;padding:8px 12px;min-height:40px;font:inherit}.account-bar span{flex:1;overflow-wrap:anywhere}.account-loading .sidebar,.account-loading .shell>header,.account-loading .shell>footer,body.account-loading>header,.account-loading aside{display:none}.account-loading .shell{margin:0}.account-entry{max-width:620px;margin:8vh auto;padding:28px;background:#fff;border:1px solid #c8dfd5;border-radius:20px;color:#123e37;font:1rem/1.6 system-ui}.account-entry form{display:grid;gap:14px}.account-entry input{font-size:1rem;min-height:48px;width:100%;padding:12px}.account-entry a{color:#176857}.account-locked{overflow:hidden}.session-mask{position:fixed;inset:0;background:#12332ef5;z-index:99999;display:grid;place-items:center;padding:20px}.session-mask>div{background:#fff;color:#123e37;padding:30px;border-radius:20px;max-width:560px;font:1rem/1.6 system-ui}.test-shortcuts{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;background:#e6f5ec;border:1px solid #9cc8b1;border-radius:14px;margin-bottom:20px}.test-shortcuts b{flex:1 1 100%;font-size:1rem}.invite-code{overflow-wrap:anywhere;white-space:normal;font-size:1rem}.lesson-scene{aspect-ratio:1/1;width:100%;max-width:390px;border-radius:16px;background-size:300% 200%;background-repeat:no-repeat;border:1px solid #d4e4dc}.visual-step figure{min-width:0}.visual-step details:not([open]){margin-block:10px}button,input,select,textarea{touch-action:manipulation}input,select,textarea{font-size:1rem;max-width:100%}audio{width:100%;max-width:100%}img{max-width:100%}.table-scroll,.table-wrap{max-width:100%;overflow-x:auto}.sentence-tile{min-height:46px}main{min-width:0}button{white-space:normal}.speech-bubble,.pet-chat{overflow-wrap:anywhere}@media(max-width:850px){.account-bar{padding:10px 16px}.shell{min-width:0;width:100%;margin-left:0}.sidebar{position:relative!important;inset:auto!important;width:100%!important;height:auto!important}.sidebar nav{display:flex;overflow-x:auto;gap:8px;padding:8px 0}.sidebar nav button,.sidebar nav a{flex:0 0 auto;min-height:44px}.sidebar-bottom,.sidebar .nav-label{display:none}.sidebar .brand{margin-bottom:6px}.shell>header{position:relative;flex-wrap:wrap;gap:10px;padding:12px 16px}.wallet{flex-wrap:wrap;gap:8px}main{padding:18px 14px!important}.grid.cols,.boss-battle-layout,.v8-paper-layout{grid-template-columns:1fr!important}.recordbox{position:relative!important;top:auto!important}.pet-evolution-frame,.pet-evolution{max-width:100%}dialog{width:calc(100% - 24px);max-height:88dvh;overflow:auto}.account-entry{margin:3vh auto;padding:20px}.visual-split{grid-template-columns:1fr}.visual-lesson summary{font-size:1rem}.lesson-scene{max-width:420px;margin:auto}.arcade-choices{grid-template-columns:1fr!important}.button,.secondary,button.option{min-height:46px}.recordbutton{min-height:64px}.tabs{overflow-x:auto;flex-wrap:nowrap}.tabs button{flex:0 0 auto}textarea,input{scroll-margin-block:120px}.panel{min-width:0}.page-head h1{overflow-wrap:anywhere;font-size:clamp(1.6rem,7vw,2.3rem)}}@media(max-width:420px){.account-bar{font-size:.875rem}.account-bar span{flex-basis:100%}.welcome{grid-template-columns:1fr}.stats{grid-template-columns:1fr!important}.intro-prompt{grid-template-columns:1fr}.test-shortcuts button{flex:1 1 130px}}

.full-lesson-notes{padding:0 22px 22px;overflow-wrap:anywhere}.full-lesson-notes table{display:block;max-width:100%;overflow:auto}.visual-lesson .lesson-scene{background-color:#fff}

/* Short, formula-first topics shared by the academy and study room. */
.formula-lesson { font-size: 1rem; line-height: 1.7; }
.formula-lesson .lesson-roadmap { margin: 0 0 22px; color: #48615c; }
.formula-lesson .visual-step[open] > summary { border-bottom: 1px solid #d3e4df; background: #f3f8f5; }
.formula-lesson summary:focus-visible,
.formula-lesson button:focus-visible,
.formula-lesson a:focus-visible { outline: 3px solid #875313; outline-offset: -3px; }
.formula-lesson .guided-topic { min-width: 0; overflow-wrap: anywhere; }
.formula-lesson .step-label { margin: 28px 0 10px; font-size: .95rem; line-height: 1.5; color: #166256; }
.formula-lesson .step-label:first-child { margin-top: 0; }
.formula-lesson .formula-box { border: 1px solid #add0c2; border-left: 5px solid #166256; border-radius: 12px; padding: 4px 20px; background: #edf7f1; }
.formula-lesson .formula-row { padding: 14px 0; }
.formula-lesson .formula-row + .formula-row { border-top: 1px dashed #bdd8ca; }
.formula-lesson .formula-text { margin: 0; font-size: clamp(1.12rem, 2vw, 1.45rem); font-weight: 750; line-height: 1.65; color: #123e37; }
.formula-lesson .formula-meaning { margin: 5px 0 0; color: #415e53; }
.formula-lesson .visual-split { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.formula-lesson .guided-example { background: #f6f3fa; border: 1px solid #e2d8ed; border-radius: 12px; padding: 18px; min-width: 0; }
.formula-lesson .guided-example > :first-child { margin-top: 0; }
.formula-lesson .guided-example .jp,
.formula-lesson .guided-answer .jp { font-size: clamp(1.15rem, 2vw, 1.4rem); line-height: 1.8; font-weight: 600; color: #543177; }
.formula-lesson .example-analysis { border-top: 1px solid #e2d8ed; padding-top: 12px; color: #514a60; }
.formula-lesson .guided-example button { min-height: 44px; font: inherit; cursor: pointer; }
.formula-lesson .guided-tip { padding: 12px 16px; background: #fff7e7; border-left: 3px solid #c59639; border-radius: 8px; color: #644d23; }
.formula-lesson .guided-question { font-size: 1.08rem; font-weight: 600; }
.formula-lesson .visual-check summary { font-size: 1rem; min-height: 44px; }
.formula-lesson .guided-answer { padding: 0 18px 14px; }
.formula-lesson .guided-answer p:last-child { margin-bottom: 0; }
.formula-lesson .lesson-scene { max-width: 300px; margin: auto; }
.formula-lesson figcaption { line-height: 1.5; }
.formula-lesson .visual-reference { margin-top: 26px; }
@media (max-width: 850px) {
  .formula-lesson .visual-split { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .formula-lesson .visual-split figure { width: 100%; max-width: 420px; margin: auto; }
  .formula-lesson .formula-box { padding: 2px 14px; }
  .formula-lesson .guided-example { padding: 14px; }
}

.pillar-note{padding:12px 16px;border-left:4px solid #216756;background:#edf7f1;color:#174638;border-radius:8px;line-height:1.65}
.pillar-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.pillar-overview>div{border:1px solid #cedfd5;border-radius:12px;padding:16px;background:white;min-width:0}
.pillar-overview b{display:block;color:#174638;font-size:1rem;margin-bottom:6px}
.pillar-overview p{margin:0;font-size:1rem;color:#53645d;line-height:1.6}
.reading-options{display:flex;gap:12px 20px;flex-wrap:wrap;align-items:center;margin-top:12px}
.reading-options label{display:flex;align-items:center;gap:8px;font-size:1rem;min-height:44px;cursor:pointer}
.reading-options input{width:20px;height:20px;accent-color:#216756;flex-shrink:0}
.readingbox ruby{ruby-position:over;ruby-align:center;white-space:nowrap}
.readingbox rt{font-size:14px;font-weight:400;line-height:1.3;letter-spacing:0;color:#f5d498}
.readingbox rp{display:none}
.readingbox.with-furigana p{line-height:2.8;overflow-wrap:break-word}
.readingbox.without-furigana rt{display:none}
.readingbox.without-furigana ruby{display:inline;white-space:normal}
.readingbox .translation{font-size:1rem;line-height:1.7}
.readingbox.with-furigana{padding-top:38px}
@media(max-width:680px){.pillar-overview{grid-template-columns:1fr}.readingbox{padding-inline:16px}.reading-options{gap:4px 16px}.readingbox.with-furigana p{font-size:23px;line-height:2.9}}

/* Vocabulary and grammar have independent learning surfaces. */
.n5-lesson{max-width:1100px;margin-inline:auto;padding:clamp(16px,3vw,32px)}
.lesson-section-intro{max-width:650px;margin-bottom:24px}.lesson-section-intro h2{font-size:clamp(24px,3vw,32px);margin:12px 0}.lesson-section-intro p{line-height:1.7;color:#48615c}
.lesson-word-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.lesson-word-cards .vocab{padding:22px 18px;min-height:165px;text-align:left;background:#fff;border:1px solid #c7dcd4;border-top:4px solid #216756;border-radius:16px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.lesson-word-cards .vocab strong{font-size:26px}.lesson-word-cards .vocab span{font-size:16px}.lesson-word-cards .vocab small{font-size:14px;color:#216756}.word-reading{color:#5b5276}.lesson-next{margin-top:24px;gap:12px;flex-wrap:wrap}
.visual-memory-card{min-width:0;background:#fff;border:1px solid #c7dcd4;border-radius:18px;padding:20px;overflow-wrap:anywhere}.visual-memory-card h3{font-size:21px;margin:0 0 16px}.visual-memory-card img{display:block;width:100%;height:auto;max-height:none;border-radius:12px}.visual-memory-card p{font-size:16px;line-height:1.7}.visual-memory-card a{color:#166256;font-size:16px}.lesson-memory-list{display:grid;gap:24px;margin:20px 0}.memory-grid{align-items:start}.inline-gloss{border-top:1px dashed #c9c0d4;padding-top:12px;font-size:14px;line-height:1.8;color:#504465}.inline-gloss span{display:inline-block;margin:0 14px 6px 0}.formula-lesson .lesson-roadmap{max-width:680px}.n5-lesson .formula-lesson .visual-step{margin:14px 0}.n5-lesson .formula-lesson .guided-topic{padding:clamp(14px,2vw,24px)}
.tabs{flex-wrap:wrap}.tabs button{min-height:48px;white-space:normal;font-size:16px}.tabs button.active{box-shadow:inset 0 -3px #216756}.lesson-cover img{width:100%;height:100%;object-fit:contain;background:#f3f8f5}.lesson-cover{overflow:hidden}.lesson-card-body p{line-height:1.65}
@media(max-width:680px){.lesson-word-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lesson-word-cards .vocab{padding:16px 12px;min-height:155px;overflow-wrap:anywhere}.lesson-word-cards .vocab strong{font-size:23px}.n5-lesson{padding:16px}.tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tabs button{margin:0;padding:12px 8px}.visual-memory-card{padding:14px}.memory-grid{grid-template-columns:1fr}.row.between label{max-width:100%;min-width:0}.row.between select{max-width:100%;width:100%}.lesson-next .button{width:100%}}
@media(max-width:360px){.lesson-word-cards{grid-template-columns:1fr}}

.course-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.course-level .tag{font-size:24px}.kanji-home,.kanji-lesson-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:#e0f0eb;border:1px solid #bdd8cc;border-radius:16px;margin-bottom:20px}.kanji-home b{font-size:22px}.kanji-equation{display:grid;grid-template-columns:minmax(40px,1fr) 24px minmax(40px,1fr) 24px minmax(90px,1.6fr);align-items:start;text-align:center;gap:8px;max-width:650px;margin:12px auto 20px}.kanji-piece{display:grid;grid-template-rows:44px auto auto;min-width:0}.kanji-piece small{align-self:center;font-size:16px;font-weight:700}.kanji-piece b{font-size:38px;line-height:1.5}.kanji-equation>span{align-self:center;font-size:24px}.kanji-equation .kana-reading{font-size:18px}.kanji-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:20px 0}.kanji-card{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;margin:0!important;padding:18px!important}.kanji-hv{font-size:16px;font-weight:700;color:#247065}.kanji-large{font-size:64px;line-height:1.3;font-family:"Yu Gothic",Meiryo,sans-serif}.kanji-card>p{margin:0}.kanji-card>.secondary{margin-top:auto}.kanji-examples{display:grid;width:100%;gap:4px;margin:12px 0}.kanji-examples button{display:block;text-align:center;padding:9px 4px;line-height:1.5}.kanji-examples small{display:block}.kanji-examples span{font-size:16px}.kanji-filter{align-items:end}.kanji-filter form{display:flex;gap:8px;align-items:end}.kanji-filter input{max-width:220px}.kanji-board{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:14px}.kanji-board>div{min-width:0}.kanji-board h3{font-size:16px}.kanji-tile{display:flex;position:relative;align-items:center;justify-content:center;flex-direction:column;width:100%;min-height:108px;margin:10px 0;border:2px solid var(--line);border-radius:12px;background:#f4f8f6;padding:10px;overflow-wrap:anywhere;font-size:16px;color:var(--ink);cursor:pointer}.kanji-tile small{font-size:14px;font-weight:700}.kanji-tile b{font-size:36px;line-height:1.4}.kanji-tile.selected{border-color:#247065;box-shadow:0 0 0 2px #b7dacf}.kanji-tile.done{opacity:.6;border-style:dashed}.tile-check{position:absolute;top:2px;right:6px}.kanji-feedback{font-weight:700;padding:10px 0;min-height:45px}.kanji-result{background:#edf7f0;border-radius:14px;padding:18px;margin-bottom:18px}.kanji-result .secondary{margin:8px}.arena-level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:16px 0}.arena-level-grid button{min-height:66px;padding:8px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fff;cursor:pointer}.arena-level-grid button.active{background:#153e37;color:#fff}.arena-level-grid small{display:block;font-size:14px}.arena-profile{font-size:16px}.dance-music{padding:16px;border:1px solid var(--line);border-radius:14px;margin:16px 0}.dance-music select{max-width:100%;width:100%}.dance-music label{font-size:16px}.music-now{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 0;font-size:14px}.music-now input{width:120px}.music-error{color:#9b3131}.kanji-tile:focus-visible{outline:3px solid #b9802d;outline-offset:3px}@media(max-width:620px){.kanji-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kanji-card{padding:12px!important}.kanji-home,.kanji-lesson-link{align-items:flex-start;flex-direction:column}.kanji-board{gap:6px}.kanji-board h3{font-size:14px}.kanji-tile{min-height:102px;padding:6px;font-size:14px}.kanji-tile b{font-size:30px}.kanji-tile small{font-size:12px}.kanji-equation{grid-template-columns:1fr 15px 1fr 15px 1.5fr;gap:4px}.kanji-piece small{font-size:13px}.kanji-piece b{font-size:29px}.kanji-piece{grid-template-rows:54px auto auto}.kanji-equation .kana-reading{font-size:14px}.arena-level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kanji-filter form{flex-wrap:wrap}.kanji-filter input{width:100%}.course-levels{grid-template-columns:1fr}.kanji-examples button{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){.kanji-tile{transition:none}}

:root{--focus-ring:#947027}body{font-size:16px}button,input,select,textarea{font-size:16px}button,.button,.secondary{min-height:44px}small,.small{font-size:14px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.save-status16{padding:8px 32px;background:#f7f6ef;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;border-bottom:1px solid var(--line)}.today16{border-radius:24px;padding:36px;background:linear-gradient(120deg,#143a37,#245953);color:#fff;display:grid;grid-template-columns:1fr 220px;gap:30px;align-items:center;margin-bottom:24px}.today16 h2{color:#fff;font-size:30px;max-width:700px}.today16 .tag{background:#ffffff19;color:#f1d6a0}.today16 .button{background:#f0cf93;color:#193832}.today-pet16{display:flex;flex-direction:column;align-items:center}.today-pet16 .petportrait{width:175px;height:175px}.today-pet16 p{font-size:14px}.quiet-grid16,.cards16,.form-grid16{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cards16{grid-template-columns:repeat(2,minmax(0,1fr))}.quiet-grid16 button{text-align:left;font:inherit;color:inherit}.quiet-grid16 b{font-size:19px}.panel{min-width:0}.panel article{padding:14px 0;border-bottom:1px solid var(--line)}.panel label{display:block;margin:12px 0}.panel textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;resize:vertical}.panel form>button{margin:14px 0}.panel select{max-width:100%}.rivals16{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.rivals16 button{color:inherit;font:inherit}.rivals16 .opponent-art,.rivals16 img,.rivals16 svg{max-width:100%;height:210px;object-fit:contain}.rivals16 .chosen{outline:3px solid #ba9455}.assess-layout{display:grid;grid-template-columns:minmax(160px,240px) minmax(0,1fr);gap:24px}.assess-layout:has(>section:only-child){grid-template-columns:1fr}.rival16 img,.rival16 svg,.rival16 .opponent-art{width:100%;max-height:260px;object-fit:contain}.rival16{text-align:center}.answer-grid{display:grid;gap:12px}.answer-grid button{text-align:left;border:1px solid var(--line);padding:16px;border-radius:12px;background:#fff;color:var(--ink)}.answer-grid button:hover{background:#eef4ef}.answer-grid button:disabled{opacity:.55}.question-passage{white-space:pre-line;padding:20px;background:#f6f3e9;border-radius:14px;line-height:2}.order-answer{min-height:85px;padding:20px;background:#edf4ef;border-radius:12px}.uncertain16{font-size:16px;padding:12px 0}.boss-intro16{display:grid;grid-template-columns:250px 1fr;gap:26px;align-items:center}.boss-intro16 img{width:100%;max-height:280px;object-fit:contain}.needs-review{border-left:4px solid #bc8840}.story-line16{display:grid;grid-template-columns:72px 1fr 48px;gap:15px;align-items:start;border-bottom:1px solid var(--line);padding:18px 0}.story-line16 .jp{line-height:2.5}.new-word16{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;background:#fbf2d5;border-radius:8px;padding:0 6px;margin:2px 4px}.new-word16 small{color:#685229;line-height:1.6;font-size:13px}.new-word16 ruby{line-height:1.8}ruby rt{font-size:.55em}.room-person16{display:inline-block;padding:12px;margin:4px;border-radius:12px;background:#edf4ef}.room-person16:first-child{background:#e4ecd9}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px;vertical-align:top}td small{display:block}code{overflow-wrap:anywhere}.petportrait,.evolution-art{max-width:100%;overflow:hidden}.petportrait svg,.evolution-art svg{display:block;width:100%;height:100%;max-width:100%}.focus-learning *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.focus-learning .today-pet16{display:none}.focus-learning .today16{grid-template-columns:1fr}#nav a{gap:12px}.story16 button{margin-top:8px}.account-entry{max-width:560px;margin:24px auto}.account-entry label{display:block;margin:16px 0}.account-entry input{display:block;width:100%;padding:12px}.account-entry form>button{margin-top:20px}.account-entry .row{flex-wrap:wrap}audio{max-width:100%}
@media(max-width:950px){.rivals16{grid-template-columns:repeat(2,minmax(0,1fr))}.quiet-grid16{grid-template-columns:1fr}.form-grid16{grid-template-columns:1fr 1fr}.today16{grid-template-columns:1fr 160px}.today-pet16 .petportrait{width:140px;height:140px}}
@media(max-width:640px){.cards16,.form-grid16{grid-template-columns:1fr}.today16{padding:24px;grid-template-columns:1fr}.today16 h2{font-size:25px}.today-pet16{display:none}.assess-layout{grid-template-columns:1fr}.rival16{display:flex;align-items:center;flex-wrap:wrap;gap:12px;text-align:left}.rival16 img,.rival16 svg,.rival16 .opponent-art{width:78px;height:88px}.rival16 p{font-size:14px}.save-status16{padding:6px 16px}.rivals16{gap:10px}.rivals16 .opponent-art,.rivals16 img,.rivals16 svg{height:150px}.boss-intro16{grid-template-columns:1fr}.boss-intro16 img{max-height:180px}.story-line16{grid-template-columns:1fr 44px;gap:8px}.story-line16>b{grid-column:1/-1}.story-line16 .jp{font-size:21px}.story-line16 small{font-size:12px}.new-word16{margin:3px 1px}.panel{padding:18px}.row{flex-wrap:wrap}.row>*{max-width:100%}.sidebar #nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar #nav a{font-size:14px;min-width:0;justify-content:center;padding:12px 4px;gap:5px}table{font-size:14px}.table-scroll{overflow-x:auto;max-width:100%}.panel .jp{overflow-wrap:anywhere}.account-entry{padding:24px 18px}.page-head h1{font-size:27px}}
.battle-company{max-width:100%;margin-bottom:18px;overflow:hidden}.battle-company .petportrait,.battle-company .player-portrait{max-width:120px;max-height:135px}.battle-company .pet-chat{flex:1;min-width:150px;overflow-wrap:anywhere}@media(max-width:640px){.battle-company{flex-wrap:wrap}.battle-company .petportrait,.battle-company .player-portrait{max-width:80px;max-height:90px}.battle-company .pet-chat{font-size:14px}}

.comic17{margin:24px 0}.comic17 img,.cast-art17{display:block;width:100%;height:auto;border-radius:18px}.comic17 figcaption{font-size:13px;color:#586a65;margin-top:8px}.cast-art17{max-width:1100px;margin:20px auto}.character-grid17{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.character17 dl{display:grid;grid-template-columns:95px 1fr;gap:10px}.character17 dt{font-weight:700;color:#335951}.character17 dd{margin:0}.character17 details{margin-top:16px}.han-word17{display:inline-flex!important;align-items:flex-end;justify-content:center;gap:2px;margin:4px 0 12px}.han-cell17{display:inline-flex;flex-direction:column;align-items:center;min-width:1.2em;gap:3px}.han-cell17 small{font-size:10px;line-height:1.2;letter-spacing:0;white-space:nowrap;color:#4e6d5a}.han-cell17 b,.kana-cell17{font-size:27px;line-height:1.2}.vocab-grid .vocab{white-space:normal;min-width:0}.formula-grid17{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin:20px 0}.formula-grid17>div{padding:18px;border-radius:14px;background:#edf5ec;border:1px solid #ccdfcf}.formula-grid17 .jp{font-size:20px;overflow-wrap:anywhere}.formula-grid17 p{margin:8px 0 0}.example17{border-left:4px solid #d1a354;background:#fff9e9;border-radius:12px;padding:18px;margin:20px 0}.example17 .jp{line-height:2.8}.sentence-gloss17{display:flex;flex-wrap:wrap;gap:5px 14px;font-size:12px;color:#526c60;margin:6px 0}.sentence-gloss17 span{display:inline-block}.story-line16>div{min-width:0}.story-line16 .jp{line-height:2.8;margin:5px 0}.story-line16 .new-word16{margin:3px 2px}.story-line16 ruby rt{font-size:10px}.lesson17{margin:20px 0}.lesson17 h2{font-size:25px}.step-controls17{margin-top:24px;justify-content:space-between;border-top:1px solid #dbe5dd;padding-top:20px}.step-controls17>span{color:#526b62;font-size:13px}.practice-item17{padding:16px 0;border-bottom:1px solid #dce7df}.practice-item17:last-of-type{margin-bottom:20px}.practice-item17 h3{font-size:18px}.course-card17>img{width:100%;height:auto;border-radius:12px;margin-bottom:16px}.course-start17{display:grid;grid-template-columns:1fr 170px;gap:24px;align-items:center;margin:30px 0}.kana-preview17{font-size:58px;line-height:1.5;text-align:center;color:#305a4c;background:#edf5e8;border-radius:22px;padding:15px}.kana-course17{margin-bottom:20px}.lesson17 select{max-width:100%;width:min(440px,100%)}.lesson17 audio,audio{max-width:100%}.story16 .new-word16 small{max-width:240px;white-space:normal}.character17 .story-line16{grid-template-columns:55px 1fr 40px}.character17 .story-line16 .jp{font-size:19px}.lesson17 .row>label{min-width:0}.lesson17 details>summary{cursor:pointer;font-weight:600}.course-start17 h2{font-size:28px}
@media(max-width:680px){.character-grid17{grid-template-columns:1fr}.character17 dl{grid-template-columns:80px 1fr}.course-start17{grid-template-columns:1fr 95px;gap:10px}.kana-preview17{font-size:32px;padding:10px}.course-start17 h2{font-size:22px}.story-line16{grid-template-columns:45px minmax(0,1fr) 35px!important;gap:8px!important}.story-line16>button{min-width:32px;padding:8px}.story-line16 .jp{font-size:19px}.formula-grid17{grid-template-columns:1fr}.han-cell17 b,.kana-cell17{font-size:24px}.comic17{margin:16px -8px}.lesson17{padding:18px}.lesson17 .row{gap:8px}.tabs{overflow:auto;max-width:100%;flex-wrap:wrap}.new-word16 small{font-size:11px}.step-controls17{gap:8px}.step-controls17 button{padding:10px}.character17 .story-line16{grid-template-columns:42px 1fr 32px}}
.lesson17 .vocab{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left}.lesson17 .vocab>span{display:block}.lesson17 .vocab .han-word17{display:inline-flex}.lesson17 .vocab .han-cell17{display:inline-flex}.lesson17 .vocab>small{margin-top:auto}.lesson17 .vocab .han-cell17 small{font-size:10px}

.lesson-navigation18{background:#fff;border:1px solid #bfd8d2;border-radius:16px;padding:16px;margin:0 0 20px}.lesson-parts18{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:14px 0;overflow:visible}.lesson-parts18 button{font-size:14px;line-height:1.4;color:#244c44;border:1px solid #cbdcd6;border-radius:10px;background:#f5faf7;padding:10px 6px;display:flex;gap:6px;align-items:center;justify-content:center;white-space:normal}.lesson-parts18 button.active{background:#216756;color:white;border-color:#216756}.lesson-parts18 button span{font-weight:700}.lesson-parts18 .boss-step18{background:#fdf3dd;color:#60440f}.lesson-location18{font-size:14px}.lesson-location18 .textbutton{font-size:14px}.lesson18{padding:28px}.visual-lesson18{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;align-items:center;max-width:920px;margin:22px auto}.scene18{width:100%;aspect-ratio:var(--scene-ratio,1);background-image:var(--scene-url);background-size:var(--scene-width,400%) var(--scene-height,400%);background-position:var(--scene-x) var(--scene-y);background-repeat:no-repeat;border-radius:18px;box-shadow:0 5px 24px #164b4210}.word-focus18 h3{font-size:28px}.word-focus18 .han-word17{margin-bottom:12px}.word-focus18 .han-cell17 b,.word-focus18 .kana-cell17{font-size:44px}.word-focus18 .han-cell17 small{font-size:14px}.word-focus18>.jp{font-size:26px}.word-focus18 .small{margin-top:16px;font-size:15px}.word-picker18{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.word-picker18 button{display:flex;flex-direction:column;align-items:flex-start;background:#f3f7f2;border:1px solid #d4e0d9;border-radius:10px;padding:10px 14px;color:#173738;font-size:20px}.word-picker18 button.active{border:2px solid #216756;background:#e4f1e9}.word-picker18 small{font-size:14px}.dialogue-card18{min-width:0}.speech18{background:#eef8f3;border:1px solid #badaca;border-radius:20px;padding:22px;margin-top:12px}.speech18>.jp{font-size:25px;line-height:2.9}.speech18>p{font-size:18px}.explain18{margin:22px 0;border:1px solid #d4e3db;border-radius:12px;padding:16px}.explain18>summary{font-size:16px}.explain18[open]>summary{margin-bottom:14px}.sentence-puzzle18{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.piece18{border:1px solid #acd0c2;border-radius:10px;background:#e5f6ec;padding:8px 12px;font-size:20px}.piece-1{background:#e4efff;border-color:#b3c8e5}.piece-2{background:#fff3d4;border-color:#e0cd99}.piece-3{background:#f5eafd;border-color:#d1bce1}.try18{padding:20px;background:#fff9eb;border-radius:14px}.try18 summary{cursor:pointer;color:#216756}.practice-intro18{display:flex;gap:20px;align-items:center;margin-bottom:25px}.small-scene18{max-width:150px;flex-shrink:0}.teacher18{margin-top:22px}.course-start18{margin-top:20px}.boss-card18{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;align-items:center}.boss-card18 img{width:100%;max-height:160px;object-fit:contain}.boss-card18 h2{margin-top:12px}.sidebar{overflow-y:auto}.sidebar .nav-label{margin-top:25px}#nav a{font-size:15px;padding:10px 12px}.lesson17 .tag{font-size:13px}.lesson17 .formula-grid17{margin:14px 0 22px}.lesson17 .formula-grid17 p{font-size:16px}.lesson17 .sentence-gloss17{font-size:14px}.lesson17 .new-word16 small{font-size:13px}.comic-dialogue18{margin-top:15px}.course-card17 .row{gap:8px}.course-card17 .row button{font-size:14px}.lesson18 select{max-width:100%}.lesson18>.row>label{max-width:100%}
@media(max-width:950px){.lesson-parts18{grid-template-columns:repeat(3,minmax(0,1fr))}.visual-lesson18{gap:16px}.speech18{padding:16px}.speech18>.jp{font-size:22px}}
@media(max-width:640px){.sidebar #nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:12px}.sidebar #nav a{font-size:13px;flex-direction:column;white-space:normal;text-align:center;gap:2px;line-height:1.35;min-height:58px;padding:7px 3px}.sidebar{padding:12px 14px 8px}main{padding:20px 14px 40px}.lesson-navigation18{padding:12px}.lesson-navigation18>.row>span{font-size:14px}.lesson-parts18{gap:6px;margin:10px 0}.lesson-parts18 button{font-size:13px;min-height:48px}.lesson-location18 .textbutton{padding:4px 0;min-height:36px}.lesson18{padding:16px}.visual-lesson18{grid-template-columns:1fr;margin:16px 0;gap:16px}.scene18{max-width:360px;margin:auto}.word-focus18{text-align:center}.word-focus18 .han-word17{justify-content:center}.word-focus18 h3{font-size:25px}.word-picker18 button{flex:1 0 28%;padding:10px;font-size:19px}.word-picker18 small{font-size:13px}.speech18>.jp{font-size:22px;line-height:2.8}.speech18>p{font-size:16px}.lesson18 .step-controls17 button{font-size:14px}.lesson18 .row.between{gap:10px}.boss-card18{grid-template-columns:70px minmax(0,1fr);gap:12px}.boss-card18 h2{font-size:21px}.boss-card18 .tag{font-size:12px;letter-spacing:0}.practice-intro18{align-items:flex-start;gap:12px}.small-scene18{max-width:100px}.practice-intro18 h2{font-size:21px}.comic17{overflow-x:auto;margin:12px 0}.comic17 img{min-width:760px}.comic17 figcaption{font-size:14px}.lesson17 .new-word16 small{font-size:13px}.lesson18 select{font-size:14px}.scene18.small-scene18{margin:0}.try18{padding:16px}.sentence-puzzle18{gap:6px}.piece18{font-size:18px;padding:8px}.course-card17 .row button{flex-grow:1}}

.question-task18{padding:14px 18px;border-left:4px solid #24755f;background:#edf7ef;border-radius:8px;font-size:17px}.option-number18{font-family:inherit;display:inline-block;border-radius:50%;background:#e1ece5;color:#244c44;font-size:14px;padding:3px 8px;margin-right:8px}.room-music18 h2{font-size:22px}.room-music18 input[type=range]{max-width:200px}.comic17 figcaption:after{content:" · Trên điện thoại, vuốt ngang để xem đủ tranh."}

.mobile-menu18{display:none}.nav-links18{display:flex;flex-direction:column;gap:5px}.exact-visual18{display:flex;gap:12px;align-items:end;justify-content:center;background:#edf7f3;border-radius:18px;padding:25px 12px;min-height:260px}.exact-visual18>div{display:flex;flex:1;flex-direction:column;align-items:center;gap:10px;text-align:center}.exact-visual18 b{font-size:26px}.exact-visual18>div>span:last-child{font-size:15px}.calendar18{border:2px solid #cf6d53;background:white;border-radius:10px;display:flex;flex-direction:column;color:#a84632;font-size:12px;padding:10px 18px}.calendar18 strong{font-size:44px;color:#213f36}.time-icon18{font-size:24px;font-weight:700;background:#213f36;color:white;border:4px solid #d4b567;padding:18px 8px;border-radius:12px}.visual-symbol18,.bag-visual18{font-size:86px;line-height:1.6}.bag-visual18.smaller18{font-size:50px;height:138px;display:flex;align-items:end}
@media(max-width:640px){.sidebar #nav{display:block;margin-top:6px}.mobile-menu18{display:block!important;width:100%;background:#23483f!important;color:#f4f7ef!important;border-color:#557569!important;padding:8px!important;min-height:40px}.nav-links18{display:none}.nav-expanded18 .nav-links18{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:8px}.sidebar{padding:10px 14px}.sidebar .brand{margin-bottom:5px}.page-head{margin-bottom:16px}.page-head h1{margin:5px 0;font-size:26px}.page-head p{font-size:14px;margin:8px 0}.lesson-navigation18>.row:first-child>span{display:none}.lesson-navigation18>.row:first-child{justify-content:flex-end}.lesson-navigation18>.row:first-child .textbutton{min-height:30px;padding:0}.lesson-location18{font-size:13px}.lesson-location18 .textbutton{font-size:13px}.lesson-parts18{margin:8px 0}.lesson18 h2{font-size:22px;line-height:1.35}.lesson18 .visual-lesson18{margin-top:12px}.exact-visual18{min-height:230px}.calendar18{padding:10px}.time-icon18{font-size:19px;padding:18px 5px}.exact-visual18 b{font-size:22px}}

.jd-game24,.jd-intro24,.jd-room-stage24{background:#10122e!important;color:#fff;border-color:#6b70c9!important}.jd-game24{padding:20px!important}.jd-layout24{display:grid;grid-template-columns:minmax(115px,.6fr) minmax(150px,1.25fr) minmax(250px,1.3fr);gap:16px;align-items:stretch}.jd-hud24{padding-bottom:16px}.jd-hud24 .tag{background:#25254c;color:#f9d9ff}.jd-ranking24{padding:12px;background:#151a42;border:1px solid #6276ba;border-radius:14px;min-width:0}.jd-ranking24 h3{font-size:16px;color:#eaf5ff;margin:0 0 12px}.jd-ranking24>div{padding:12px 0;border-top:1px solid #4a5080;overflow-wrap:anywhere}.jd-ranking24 b,.jd-ranking24 span{display:block}.jd-ranking24 span{font-size:14px;color:#a8e7ff;margin-top:8px}.jd-stage24{position:relative;min-height:370px;overflow:hidden;border-radius:16px;background:radial-gradient(ellipse at 50% 95%,#c157e899,transparent 55%),linear-gradient(135deg,#083d74,#151c52 40%,#532367);border-bottom:3px solid #ef8cfa}.jd-stage24:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(110deg,transparent 0 65px,#5faff522 68px 71px,transparent 75px 130px)}.jd-stage24:after{content:'';position:absolute;bottom:25px;left:5%;right:5%;height:25%;border:2px solid #ac98ff;border-radius:50%;box-shadow:0 0 22px #d78ffc;pointer-events:none}.jd-stage24>small{position:absolute;bottom:6px;right:12px;color:#b5b6d6;font-size:12px}.jd-actors24{position:absolute;inset:25px 0 30px;display:flex;justify-content:center;align-items:end}.jd-person24{position:absolute;width:47%;height:78%;left:calc(4% + var(--slot,0)*16%);bottom:22px;z-index:2;text-align:center;transition:left .6s,width .6s}.jd-person24.jd-lead24{left:24%;width:57%;height:95%;bottom:0;z-index:4}.jd-person24:nth-child(2){left:0}.jd-person24:nth-child(3){left:55%}.jd-person24:nth-child(4){left:35%;bottom:55px}.jd-avatar24{height:90%;width:100%;background-image:url('art/japandance-duo24-lossless.webp');background-repeat:no-repeat;background-size:200% 100%;background-position:0 0;transform-origin:50% 100%;animation:jdSway24 1.4s ease-in-out infinite}.jd-female24{background-position:100% 0}.jd-person24>span{display:inline-block;max-width:100%;background:#171d45e8;padding:4px 9px;border-radius:12px;font-size:14px;overflow-wrap:anywhere}.jd-wrong24 .jd-avatar24{animation:none;filter:grayscale(.5)}.jd-correct24 .jd-avatar24{animation:jdPop24 .6s ease-out,jdSway24 1.4s ease-in-out .6s infinite}.jd-question24{background:#f8faff!important;color:#182645!important;padding:20px!important;border:2px solid #aaa5ff!important;border-radius:20px;min-width:0}.jd-question24 .question{font-size:clamp(36px,5vw,64px);margin:20px 0}.jd-question24 h2{color:#172445}.jd-question24 label,.jd-question24 p{color:#314365}.jd-question24 input{width:100%;min-width:0;background:#fff;color:#172445;font-size:18px;border:2px solid #949bda}.jd-question24 form .row{display:grid;grid-template-columns:1fr}.jd-question24 .button{background:linear-gradient(110deg,#0070c8,#9739b9);color:#fff;min-height:46px}.jd-question24 .secondary{background:#e6e9f8;color:#293b66}.jd-question24 .arcade-feedback{padding:0}.jd-question24 .arcade-feedback h3{font-size:18px}.jd-room-stage24{display:grid;grid-template-columns:140px 1fr;gap:12px;min-width:0}.jd-room-grid24{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}.jd-room-stage24 .jd-stage24{min-height:400px}.jd-preview24{max-width:600px;margin:0 auto 24px}.jd-preview24 .jd-stage24{min-height:280px}.jd-intro24 p,.jd-intro24 label,.jd-intro24 h2{color:#e6e6f9}.jd-intro24 select{color:#172445}.jd-game24~#danceMusicSlot{background:#171c3f;color:#fff}.jd-game24~#danceMusicSlot label{color:#fff}@keyframes jdSway24{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-9px) rotate(2deg)}}@keyframes jdPop24{50%{transform:translateY(-25px) scale(1.04)}}@media(prefers-reduced-motion:reduce){.jd-avatar24{animation:none!important}.jd-person24{transition:none}}@media(max-width:1100px){.jd-layout24{grid-template-columns:1fr 1.4fr}.jd-layout24>.jd-ranking24{grid-column:1/-1;display:flex;gap:18px;flex-wrap:wrap}.jd-ranking24>div{padding:0;border:0}.jd-room-grid24{grid-template-columns:1fr}.jd-room-stage24 .jd-stage24{min-height:300px}}@media(max-width:620px){.jd-layout24{grid-template-columns:minmax(0,1fr)}.jd-stage24{min-height:250px}.jd-game24{padding:10px!important}.jd-question24{padding:15px!important}.jd-room-stage24{grid-template-columns:1fr}.jd-ranking24{display:flex;flex-wrap:wrap;gap:12px}.jd-ranking24 h3{width:100%}.jd-room-stage24 .jd-stage24{min-height:240px}.jd-actors24{inset:8px 0 24px}}
.expanded-catalog24{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;margin-top:22px}.expanded-catalog24 .panel{margin:0;display:flex;flex-direction:column;align-items:flex-start}.expanded-catalog24 .panel .button{margin-top:auto}.expanded-catalog24 small{color:#596779;line-height:1.5}.expanded23 .jp{white-space:pre-line}

.reader-toolbar22{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.reader-toolbar22 label{display:flex;gap:8px;align-items:center}.reader-window22{height:400px;height:clamp(280px,52vh,480px);overflow-y:auto;overscroll-behavior:contain;scroll-behavior:auto!important;border:1px solid #bad5ce;border-radius:14px;background:#f6fbf8;position:relative;scrollbar-gutter:stable}.reader-text22{padding:110px 24px 440px}.reader-text22 .jp{font-size:clamp(22px,2.4vw,30px);line-height:2.3}.reader-text22>div,.reader-text22>article{margin:0 0 28px}.reader-text22 button{font-size:14px}.reader-window22:focus-visible{outline:3px solid #c09035;outline-offset:3px}#readerStatus22{font-size:14px;color:#37635c}.sidebar{overflow-y:auto}.practice-rooms22{margin-top:20px}@media(max-width:600px){.reader-text22{padding:85px 14px 360px}.reader-toolbar22{gap:8px}.reader-toolbar22 button{padding:10px 12px}.reader-window22{height:340px}.nav-links18 a{min-height:44px}}

.expanded23{min-width:0}.expanded23 .jp{font-size:1.4rem;line-height:2.5;overflow-wrap:anywhere}.expanded23 .hide-ruby23 rt,.expanded23.hide-ruby23 rt{visibility:hidden}.expanded-words23{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.expanded-words23>span{display:flex;flex-direction:column;background:#e1f3ef;color:#183d38;border-left:3px solid #277568;padding:10px 14px;border-radius:8px;gap:6px}.expanded23 .expanded-words23 rt{visibility:visible!important}.expanded-words23 ruby{font-size:1.15rem;line-height:2}.expanded-words23 small{font-size:.95rem}.expanded-check23{display:block;margin:14px 0}.expanded23 audio{max-width:100%;width:100%}.expanded23 textarea{width:100%;box-sizing:border-box}.expanded23 button{min-height:44px}#expandedSelect23{max-width:100%;width:100%}.expanded23 rt{font-size:.6em}.expanded23 [hidden]{display:none!important}@media(max-width:600px){.expanded23 .panel{padding:16px}.expanded23 .row{flex-wrap:wrap}.expanded23 .reader-text22{padding-bottom:350px}}

.room-slots25{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:18px 0}.room-slot25{border:1px solid #95a99e;border-radius:12px;padding:14px;overflow-wrap:anywhere}.room-slot25 p{margin:8px 0}.story25 .my-role25{background:#edf4ff;border-left:4px solid #4b6dba;padding:14px;border-radius:8px}.story25 .jp{line-height:2.1}.compact-pet25 .petportrait,.compact-pet25 .petportrait.evolution-art{width:112px!important;height:112px!important;max-width:100%!important;flex:0 0 112px;margin:12px auto!important}.compact-pet25 .petportrait img{width:100%;height:100%;object-fit:contain}.compact-pet25 .battle-company{align-items:center}.story25 .story-line16{min-width:0}.story25 .new-word16{white-space:normal}@media(max-width:600px){.compact-pet25 .petportrait,.compact-pet25 .petportrait.evolution-art{width:88px!important;height:88px!important;flex-basis:88px}.story25 .story-line16{grid-template-columns:1fr}.room-slots25{grid-template-columns:repeat(2,minmax(0,1fr))}}

.k28-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin:20px 0}.k28-card{border:1px solid var(--line,#d6ddd5);border-radius:16px;padding:20px;min-width:0}.k28-character{display:inline-flex;flex-direction:column;align-items:center;gap:0}.k28-character small{font-size:1rem;font-weight:700}.k28-character>b{font-size:3rem;line-height:1.25}.k28-example{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px 0;border-top:1px solid var(--line,#d6ddd5)}.k28-word{display:inline-flex;align-items:flex-end;gap:3px}.k28-word>span{display:flex;flex-direction:column;align-items:center}.k28-word small{font-size:.875rem;min-height:1.3em}.k28-word b{font-size:1.7rem;font-weight:500;line-height:1.25}.k28-reading{font-size:1rem}.k28-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.k28-board h3{font-size:1rem}.k28-tile{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;min-height:96px;margin:10px 0;padding:10px;border:2px solid #96aaa4;background:#fff;color:#173d37;border-radius:12px;font-size:1rem;overflow-wrap:anywhere}.k28-tile [lang=ja]{font-size:2rem}.k28-tile.selected{border-color:#176b57;background:#d8f2e8;box-shadow:0 0 0 2px #176b57}.k28-tile.done{background:#e2ebe6;border-style:dashed;color:#41645a;opacity:.72}.k28-tile:focus-visible{outline:3px solid #ca8d24;outline-offset:3px}.k28-tip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px}.k28-tip-grid>div{padding:16px;background:#eff5f2;border-radius:12px;color:#173d37}.k28-tips ruby{font-size:1.4rem}.k28-tips rt{font-size:.875rem}@media(max-width:520px){.k28-board{gap:7px}.k28-tile{padding:6px;min-height:114px;font-size:.875rem}.k28-board h3{font-size:.875rem}.k28-card{padding:16px}}

:root{--ink:#20243f;--muted:#62667c;--green:#51468d;--gold:#ebcf8e;--line:#dcddea}body{background:#f3f4fa;color:#20243f;font-size:16px}.sidebar{background:#151638;color:#fff}.sidebar .brand{display:block;padding:0;background:#101127;border-radius:14px;overflow:hidden}.sidebar .brand img{width:100%;height:auto;display:block}.sidebar a,.sidebar .nav-label,.sidebar-bottom{color:#e9e6fa}.sidebar nav a.active{background:#37325f;color:#fff}.button{background:#504287;color:#fff}.button:hover{background:#3e326e}.secondary{border-color:#c6c5db;color:#343454;background:#f7f7fc}.tag{color:#554475;background:#eee9fa}.shell>header{background:#fff;border-color:#e0dfed}.panel{border-color:#dcddea}.continue29{background:linear-gradient(120deg,#151638,#34305e);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:20px;padding:28px;border-radius:22px;margin-bottom:24px;align-items:center}.continue29 h2{color:#fff;font-size:clamp(23px,3vw,32px);margin:14px 0;line-height:1.35}.continue29 p{color:#e5def4}.continue29 .button{background:#f0d596;color:#28223b}.continue29 .secondary{background:transparent;color:#fff;border-color:#8e83ae}.companion29{width:160px;max-height:180px;overflow:hidden}.companion29 img,.companion29 .pet{max-height:170px!important;width:100%!important;object-fit:contain}.home-grid29{display:grid;grid-template-columns:1.15fr 1fr;gap:20px}.learning-links29{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.course29{display:flex;flex-direction:column}.course29>.row{margin-top:auto}.course29 h2{font-size:22px;line-height:1.4}.access29{border-left:4px solid #7460a6}.account-entry{border-color:#d7d4e7;color:#24233d}.account-entry:before{content:'';display:block;height:110px;background:#101127 url('art/linhngu-logo-lossless.webp') center/contain no-repeat;border-radius:12px;margin-bottom:24px}.account-loading .save-status16{display:none}.account-loading #mobile-nav29{display:none}button,a.button,a.secondary,select{min-height:44px}input,textarea,select{font-size:16px}rt{font-size:.62em}ruby{ruby-position:over;line-height:2.1}#mobile-nav29{display:none}.lesson-focus29 #main>.panel,.lesson-focus29 .lesson17{background:#fff}.lesson-focus29 .jp{line-height:2.15}.lesson-focus29 #main .page-head{margin-bottom:20px}.lesson-parts18{gap:8px}.lesson-parts18 button{min-height:46px}.sidebar-bottom .tag{background:#3e365a;color:#f0d596}.save-status16{font-size:14px}.welcome{overflow:hidden}
@media(max-width:850px){.sidebar{padding:10px 16px!important}.sidebar .brand{width:180px;margin:0!important}.sidebar #nav{display:none!important}.shell{padding-bottom:90px}.shell>header{padding:10px 16px}.breadcrumb{font-size:14px}.wallet{gap:8px;font-size:14px}.owner-test-badge{font-size:12px}.save-status16{padding:8px 16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.save-status16 .textbutton{min-height:32px}.continue29{grid-template-columns:minmax(0,1fr) 80px;padding:20px;gap:8px}.companion29{width:80px;max-height:120px}.continue29>.row{flex-wrap:wrap}.continue29 h2{font-size:23px}.continue29 .row{grid-column:1/-1}.home-grid29{grid-template-columns:1fr;gap:0}.learning-links29{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cards16{grid-template-columns:minmax(0,1fr)!important}.cards16>*,.row>*{min-width:0}.cards16 .row{flex-wrap:wrap}.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}#mobile-nav29{position:fixed;inset:auto 0 0;z-index:1000;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:8px 6px calc(8px + env(safe-area-inset-bottom));background:#151638;border-top:1px solid #504668;box-shadow:0 -4px 20px #15163820}#mobile-nav29 a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-decoration:none;color:#cec9e1;font-size:14px;min-height:52px;border-radius:10px}#mobile-nav29 a>span:first-child{font-size:21px}#mobile-nav29 a.active{background:#393256;color:#ffe3a5}.keyboard29 #mobile-nav29{display:none}.keyboard29 .shell{padding-bottom:12px}.keyboard29 .jd-stage24,.keyboard29 .jd-ranking24{display:none!important}.jd-layout24{grid-template-columns:minmax(0,1fr)!important}.jd-question24{order:-1}.jd-stage24{min-height:180px!important;max-height:220px}.jd-ranking24{font-size:14px}dialog{max-width:560px}.account-entry{margin:16px auto}.lesson-navigation18{position:relative!important;top:auto!important}.lesson-parts18{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.lesson-parts18 button{font-size:14px;padding:10px 8px}.page-head h1{font-size:clamp(24px,6vw,32px)}.panel{padding:18px}.comic-course19{padding:8px!important}.lesson-focus29 .pet-chat{display:none}.row{flex-wrap:wrap}.jp{overflow-wrap:anywhere}.account-loading .shell{padding-bottom:0}.account-loading .sidebar{display:none!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:850px){.shell{padding-bottom:calc(110px + env(safe-area-inset-bottom))}#main:has(.n4-recorder40),#main:has(.speech-widget),#main:has(.recordbox){padding-bottom:calc(125px + env(safe-area-inset-bottom))}#main audio,#main .n4-recorder40 button,#main .speech-widget button{scroll-margin-bottom:calc(110px + env(safe-area-inset-bottom))}}
.task29{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid #e6e4ef}.task29:last-child{border:0}.task29 p{margin:5px 0 0;font-size:14px;color:#62667c}.task29 button{flex-shrink:0;font-size:14px}.task29 b{font-size:16px}

.class-list30{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.class-list30 article{padding:16px;border:1px solid #d4cde8;border-radius:12px;background:#f7f5fc}.class-list30 small{display:block}.class-list30 p{margin:8px 0}.attachments30{margin:18px 0;padding:16px;border:1px dashed #9283bd;border-radius:12px;background:#faf9ff}.attachment-list30{display:flex;flex-wrap:wrap;gap:12px}.attachment-list30 figure{margin:0;padding:10px;background:white;border:1px solid #ded8ec;border-radius:10px;max-width:100%;width:250px}.attachment-list30 img{width:100%;height:150px;object-fit:contain}.attachment-list30 audio,.assignment30 audio{width:100%;max-width:360px}.attachment-list30 figcaption{font-size:14px;overflow-wrap:anywhere}.file-button30{position:relative;overflow:hidden;cursor:pointer;display:inline-flex;align-items:center;min-height:44px}.file-button30 input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.pre30,.assignment30 h3{white-space:pre-wrap;overflow-wrap:anywhere}.reward30{background:#fff6db;padding:12px;border-radius:8px;color:#554020}.assignment30{margin-bottom:20px}.assignment30 textarea,#assign-form30 textarea{width:100%;font-size:16px}#assign-form30 label{display:block;margin:12px 0}#assign-form30 select{width:100%}#missions30 .task29{align-items:center;gap:12px}#missions30 .task29 button{flex-shrink:0}#user-action30 label{display:block;margin:12px 0}#user-action30 input,#user-action30 textarea,#user-action30 select{width:100%}@media(max-width:600px){.attachments30{padding:10px}.attachments30 .row{align-items:stretch}.attachment-list30 figure{width:100%}.class-list30 article{width:100%}.form-grid16{grid-template-columns:1fr}#missions30 .task29{flex-wrap:wrap}#missions30 .task29 button{margin-left:auto}}

.memory-intro31{display:grid;grid-template-columns:1fr 180px;gap:28px;align-items:center;background:#24204a;color:#fff;border-radius:20px;padding:28px;margin:20px 0}.memory-intro31 h2{font-size:clamp(24px,3vw,36px);line-height:1.2;color:#fff;margin:16px 0}.memory-intro31 p{color:#e3dff2;max-width:580px;line-height:1.65}.memory-intro31 img{width:100%;height:230px;object-fit:cover;object-position:top;border-radius:12px}.memory-intro31 .tag{color:#ffe2a5;background:#ffffff18}.memory-filters31{display:flex;gap:8px;flex-wrap:wrap}.memory-filters31 button[aria-pressed=true]{background:#51428a;color:#fff;border-color:#51428a}.memory-count31,.memory-caption31{color:#596279;font-size:14px}.memory-card31{margin:12px 0;padding:0!important;overflow:hidden}.memory-card31 summary{cursor:pointer;padding:22px;list-style:none;position:relative}.memory-card31 summary::-webkit-details-marker{display:none}.memory-card31 summary:focus-visible{outline:3px solid #a576cc;outline-offset:-4px}.memory-card31 summary h2{font-size:21px;margin:10px 0}.memory-card31 summary p{margin:0 0 12px;color:#4e536d;line-height:1.6}.memory-open31{font-size:13px;font-weight:700;color:#584187}.memory-open31::after{content:' ＋'}.memory-card31[open] .memory-open31::after{content:' −'}.memory-body31{padding:0 22px 22px;border-top:1px solid #e6e2ef;line-height:1.8}.memory-pairs31{margin:20px 0}.memory-pairs31>div{display:grid;grid-template-columns:minmax(140px,1fr) 1.2fr;gap:16px;padding:14px 0;border-bottom:1px solid #e7e4ee}.memory-pairs31 dt{font-weight:700;color:#282944;overflow-wrap:anywhere}.memory-pairs31 dd{margin:0;color:#515972;overflow-wrap:anywhere}.memory-poster31{display:block;width:100%;max-width:760px;height:auto;margin:18px auto;border-radius:12px}.memory-link31{margin:10px 0}.memory-body31 .note{line-height:1.7}@media(max-width:560px){.memory-intro31{grid-template-columns:1fr 92px;gap:12px;padding:20px}.memory-intro31 img{height:160px}.memory-intro31 h2{font-size:23px}.memory-intro31 .tag{font-size:10px}.memory-card31 summary,.memory-body31{padding:16px}.memory-pairs31>div{grid-template-columns:1fr;gap:5px}.memory-filters31 button{min-height:44px}}
.memory-story122{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.memory-story122 section{background:#e4f8ff;border:2px solid #67c6df;border-radius:18px;padding:16px}.memory-story122 section:nth-child(even){background:#fff4bd;border-color:#e8be48}.memory-story122 h3{margin:0 0 10px;font-size:1.1rem;color:#183e57}.memory-story122 p{margin:0;font-size:1rem;line-height:1.9}.memory-story122 b{color:#146b86}@media(max-width:650px){.memory-story122{grid-template-columns:1fr}}

.levels32{border:1px solid #d8d1e8;border-radius:12px;padding:16px;margin:12px 0}.levels32 legend{font-weight:700;padding:0 8px}.levels32 .row label{display:flex;align-items:center;gap:8px;min-height:44px;padding:4px 12px}.levels32 input[type=checkbox]{width:20px;height:20px;min-width:20px;margin:0}.levels32[hidden]{display:none}a.button{display:inline-block;text-decoration:none}#modal textarea[readonly]{width:100%;font-family:monospace;font-size:16px}

.level-summary32{font-weight:700;color:#51428b;padding:12px;background:#f2effa;border-radius:8px}.levels32 .row label:has(input:checked){border:2px solid #51428b;border-radius:8px;background:#f2effa}.levels32 .row label{border:2px solid transparent}.levels32 p{font-size:1rem}

.compact-course38{display:block!important}.course-list38{width:100%}.lesson-row38{border:1px solid #d9d8e7;border-radius:12px;background:white;margin-bottom:10px;overflow:hidden}.lesson-row38>summary{display:flex;align-items:center;gap:14px;cursor:pointer;padding:16px;list-style:none;min-height:64px}.lesson-row38>summary::-webkit-details-marker{display:none}.lesson-row38>summary:after{content:'+';font-size:1.3rem;margin-left:8px}.lesson-row38[open]>summary:after{content:'−'}.lesson-number38{font-size:1rem;color:#55458b;font-weight:700;min-width:28px}.lesson-row38 strong{font-size:1rem;line-height:1.5;flex:1}.lesson-status38{font-size:.875rem;color:#606374;white-space:nowrap}.lesson-row38.done .lesson-status38{color:#14664a}.lesson-row38.learning .lesson-status38{color:#574298;font-weight:700}.lesson-row38.current{border:2px solid #6550a3}.lesson-row38.current>summary{background:#f0ebfc}.lesson-detail38{padding:0 18px 18px}.lesson-detail38 p{margin:0 0 14px}.outline-parts38{display:flex;flex-direction:column;gap:4px;margin-top:12px}.outline-parts38 button{text-align:left;padding:10px 12px;border-radius:8px;font-size:.95rem}.outline-parts38 [aria-current=step]{background:#51428b;color:white;font-weight:700}.outline-parts38 button:last-child{border-top:1px solid #dedce8;margin-top:8px}.continue38{display:flex;justify-content:space-between;align-items:center;gap:16px}.continue38 h2{margin:6px 0;font-size:1.3rem}.continue38 span{font-size:.875rem}.lesson-workspace38{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,28%);gap:20px;align-items:start}.lesson-content38{min-width:0}.lesson-workspace38:has(.outline38>details:not([open])){grid-template-columns:minmax(0,1fr)}.outline38{padding:0!important;margin:0!important;position:sticky;top:16px;min-width:0;grid-column:2;grid-row:1}.outline38>details>summary{padding:16px;background:#51428b;color:white;border-radius:10px;cursor:pointer;font-weight:700}.outline38>details>summary span{font-size:.875rem;font-weight:400;margin-left:8px}.outline-scroll38{max-height:calc(100dvh - 110px);overflow-y:auto;margin-top:10px;padding-right:4px}.outline38 .lesson-row38>summary{padding:12px;gap:8px;flex-wrap:wrap}.outline38 .lesson-status38{margin-left:36px;flex-basis:100%}.outline38 .lesson-row38>summary:after{display:none}.lesson-workspace38:has(.outline38>details:not([open])) .outline38{grid-column:1;grid-row:1;position:static}.lesson-workspace38:has(.outline38>details:not([open])) .lesson-content38{grid-row:2}.lesson-row38 summary:focus-visible,.outline38 summary:focus-visible{outline:3px solid #a68022;outline-offset:-3px}.n4-list38{display:flex;flex-direction:column;gap:10px}.n4-list38 article{display:flex;align-items:center;gap:16px;margin:0;padding:14px 18px}.n4-list38 h3{flex:1;margin:0;font-size:1rem}.n4-list38 .tag{white-space:nowrap}@media(max-width:1100px){.lesson-workspace38{display:flex!important;flex-direction:column;gap:14px}.outline38{order:-1;position:static;width:100%}.lesson-content38{width:100%}.outline-scroll38{max-height:60dvh}.lesson-row38>summary{flex-wrap:wrap}.lesson-status38{margin-left:42px;flex-basis:100%}.continue38{align-items:flex-start;flex-direction:column}.n4-list38 article{flex-wrap:wrap}.n4-list38 h3{min-width:55%}}

:root{--purple:#65509a;--accent:#65509a;--grammar40:#af263c}body{background:#f6f4fa;color:#232337}.panel{border-color:#e3ddeb}.button{background:#65509a}.button:hover{background:#503c80}.lesson-row38.done .lesson-status38{color:#246c54}.lesson-row38.learning .lesson-status38{color:#65509a}.lesson-row38.new .lesson-status38{color:#626173}.lesson-row38 summary:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #ac87de;outline-offset:3px}.course-hero40{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:start;margin:24px 0}.course-video40{position:sticky;top:20px}.course-video40 video{display:block;width:100%;aspect-ratio:16/9;background:#282139;border-radius:16px}.course-video40 p{color:#676073}.course-outline40{min-width:0}.course-outline40 .course-list38{max-height:630px;overflow:auto}.course-switch40{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.n4-tools40{display:flex;gap:10px;flex-wrap:wrap}.n4-workspace40{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px}.n4-workspace40 iframe{width:100%;height:78vh;min-height:500px;border:1px solid #e3ddeb;border-radius:14px;background:white}.n4-workspace40 aside{min-width:0}.n4-workspace40 aside details{margin:8px 0}.n4-material40{background:white;padding:24px;border-radius:18px;overflow:auto;line-height:1.8}.n4-material40 table{border-collapse:collapse;min-width:600px}.n4-material40 td,.n4-material40 th{padding:10px;border:1px solid #e3ddeb}.n4-material40 .formula,.n4-material40 .pattern,.n4-material40 strong,.n4-material40 b{color:var(--grammar40)}.n4-material40 rt{font-size:.6em}.quiz-grid40{display:grid;gap:20px}.quiz-grid40 fieldset{border:1px solid #dfd6ec;background:#fff;border-radius:14px;padding:20px}.quiz-grid40 legend{font-weight:700;padding:0 8px;max-width:100%}.quiz-grid40 label{display:block;padding:10px;border-radius:8px;cursor:pointer}.quiz-grid40 label:has(input:checked){background:#eee7fa}.quiz-grid40 input{width:auto;display:inline;margin-right:10px}.n4-match40{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.n4-match40>div{display:grid;gap:8px;align-content:start}.n4-match40 button{min-height:54px;word-break:break-word}.n4-match40 button[aria-pressed=true]{outline:3px solid #65509a;background:#eee7fa}.n4-match40 button:disabled{opacity:.35}.n4-feedback40{background:#f2ecfa;border-left:4px solid #65509a;padding:16px}.n4-score40{color:#735005;background:#fff4d2;border-radius:12px;padding:16px}.n4-practice-bar40{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:16px 0}.n4-practice-bar40 label{min-width:140px}.n4-workspace40 .lesson-row38 summary{padding:10px}.n4-workspace40 .lesson-number38{display:none}.n4-recorder40 audio{display:block;max-width:100%;margin:12px 0}body[data-section=play] .n4-entry40,body[data-section=game] .n4-entry40{background:#34284e;color:white}.custom-code40[hidden]{display:none}.course-outline40>h2{margin-top:0}@media(max-width:950px){.course-hero40,.n4-workspace40{grid-template-columns:1fr}.course-video40{position:static}.n4-workspace40 aside{order:-1}.course-outline40 .course-list38{max-height:none}.n4-material40{padding:16px}.n4-match40{gap:6px}.n4-match40 button{padding:8px;font-size:14px}}

.n4-workspace40 aside>details{max-height:78vh;overflow:auto;background:#f3eef9;border-radius:14px;padding:12px}.n4-workspace40 aside>details>summary{font-weight:700;cursor:pointer;padding:10px}.n4-workspace40 aside .lesson-status38{font-size:11px}.n4-workspace40 aside .lesson-row38 summary{display:block}.n4-workspace40 aside .lesson-status38{display:block;margin-top:6px}

.today-grid41,.split41,.profile-grid41{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:start}.today-grid41{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);margin:24px 0 40px;align-items:stretch}.study-today41{border-top:4px solid #65509a;display:flex;flex-direction:column;justify-content:center;padding:30px}.study-today41 h2,.checkin41 h2{font-size:24px;margin:16px 0}.study-today41 h3{font-size:20px}.checkin41{padding:26px;background:#eeebf5}.check-symbol41{font-size:30px;color:#65509a}.checkin41 p{margin:10px 0}.home-courses41,.games-section41{margin:32px 0 48px}.home-courses41 .course-video40{position:static}.home-courses41 .row{margin-bottom:16px}.game-message41{font-size:16px;margin:0 0 22px}.video-empty41{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#29213c;color:#fff;border-radius:18px;padding:24px}.video-empty41>span{font-size:44px;line-height:1}.video-empty41 h3{font-size:20px;margin:12px 0}.video-empty41 p{margin:0;color:#e0d8ef}.game-guide41>.disclosure41{margin-top:16px}.disclosure41{background:#fff;border:1px solid #dfd9e9;border-radius:14px;margin-bottom:12px;overflow:hidden;min-width:0}.disclosure41>summary{display:flex;align-items:center;gap:12px;list-style:none;padding:20px;cursor:pointer;font-size:17px}.disclosure41>summary::-webkit-details-marker{display:none}.disclosure41>summary strong{flex:1}.toggle41{flex:none;font-size:24px;color:#65509a;width:24px;text-align:center}.toggle41:before{content:'+'}.disclosure41[open]>.summary,.disclosure41[open]>summary{background:#f5f2fa}.disclosure41[open]>summary .toggle41:before{content:'−'}.disclosure-body41{padding:0 20px 20px;line-height:1.65}.disclosure-body41 p{margin:14px 0}.mission-status41{font-size:14px;color:#655b74;text-align:right;max-width:155px}.mission-status41.done{color:#246c54}.game-list41 .task29{align-items:start;flex-wrap:wrap}.game-list41 .task29 p{font-size:14px}.guide-def41>div{margin:16px 0}.guide-def41 dt{font-weight:750;color:#65509a}.guide-def41 dd{margin:4px 0}.profile-grid41{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.character-card41{position:sticky;top:20px;padding:24px;text-align:center;background:linear-gradient(160deg,#f1eafa,#fff 64%)}.character-stage41{display:flex;align-items:flex-end;justify-content:center;min-width:0;margin:20px 0 8px}.character-main41{width:68%;min-width:0}.character-main41 .outfit-art{width:100%;max-width:280px;margin:auto}.character-pet41{width:32%;min-width:0}.character-pet41 .petportrait{width:100%;height:auto;aspect-ratio:1;max-width:140px}.character-pet41 small{display:block;font-size:14px}.character-card41>.equipment-strip{justify-content:center;flex-wrap:wrap}.character-card41 .row{justify-content:center;margin-top:20px}.profile-numbers41{margin:24px 0}.profile-numbers41>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e5dfed;text-align:left}.profile-numbers41 dt{font-size:14px}.profile-numbers41 dd{font-weight:750;margin:0;font-size:17px}.inventory41{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.inventory41>div{display:flex;flex-direction:column;align-items:center;border:1px solid #e5dfed;border-radius:12px;padding:12px}.inventory41 .gear-art{width:90px;height:90px}.history-table41{max-width:100%;overflow-x:auto}.history-table41 table{width:100%;border-collapse:collapse;font-size:14px}.history-table41 th,.history-table41 td{padding:10px;text-align:left;border-bottom:1px solid #e5dfed}.owner-area41{margin-top:28px;border-top:3px solid #65509a}.assignment-note41{border-left:3px solid #65509a;padding-left:12px;font-size:14px}.profile-sections41 label{display:block;margin:14px 0}.profile-sections41 .row,.disclosure-body41 .row{flex-wrap:wrap}.disclosure41 summary:focus-visible{outline:3px solid #9973bd;outline-offset:-3px}.character-main41{animation:breathe41 5s ease-in-out infinite}@keyframes breathe41{50%{transform:translateY(-3px)}}.focus-learning .character-main41{animation:none}@media(prefers-reduced-motion:reduce){.character-main41{animation:none}}@media(max-width:850px){.today-grid41,.split41,.profile-grid41{grid-template-columns:minmax(0,1fr);gap:16px}.character-card41{position:static}.study-today41,.checkin41{padding:20px}.disclosure41>summary{padding:16px;font-size:16px;gap:8px}.mission-status41{max-width:110px;font-size:14px}.home-courses41,.games-section41{margin:28px 0}.disclosure-body41{padding:0 16px 16px}.today-grid41 .row>button{flex:1 1 120px}.profile-numbers41>div{flex-wrap:wrap}.character-stage41{max-width:380px;margin-inline:auto}.game-list41 .row>button{max-width:100%;white-space:normal}}
.game-guide41 video{display:block;width:100%;aspect-ratio:16/9;background:#171c35;border-radius:16px}.gear-preview41{display:flex;justify-content:center}.gear-preview41 .gear-art{width:min(70vw,320px);height:auto;aspect-ratio:1}.preview-gear41{margin-top:10px}.character-pet41{animation:companion41 4s ease-in-out infinite}@keyframes companion41{50%{transform:translateY(-5px)}}.focus-learning .character-pet41{animation:none}@media(prefers-reduced-motion:reduce){.character-pet41{animation:none}}

body[data-section="read"] .story-line16,.reading-line42{grid-template-columns:minmax(50px,85px) minmax(0,1fr)!important;gap:12px!important}.reading-line42>div{min-width:0}.profile-video42{width:100%;aspect-ratio:16/9;background:#171c35;border-radius:12px;margin:12px 0}.charm-grid42{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.charm-card42{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid #c9badf;border-radius:12px;background:#f6f2fc}.charm-card42>strong{font-size:20px;color:#624789}.charm-choice42{display:block;padding:12px 0}.charm-choice42 input{width:20px;height:20px;margin-right:8px}.charm-options42{display:flex;gap:10px;flex-wrap:wrap}.chance42{display:flex;flex-direction:column;gap:8px;padding:18px;background:#edf5ee;border-radius:12px}.chance42>b{font-size:24px;color:#27683d}.charm-log42{padding:14px 0;border-bottom:1px solid #ded8e7}.history42{margin-top:20px}#gift-form42 label,#search-charms42 label{display:block;margin:14px 0}#gift-form42 input,#gift-form42 select,#search-charms42 input{display:block;width:100%;margin:8px 0}#charm-choice42 fieldset{border:1px solid #d2c6e2;border-radius:10px;padding:14px}@media(max-width:600px){body[data-section="read"] .story-line16,.reading-line42{grid-template-columns:minmax(0,1fr)!important;gap:5px!important}.reading-line42>b{font-size:14px}.charm-grid42{gap:8px}.charm-card42{padding:12px}.charm-card42>strong{font-size:17px}}

.checkin41{overflow:hidden}.checkin-main44{display:grid;grid-template-columns:130px minmax(0,1fr);gap:18px;align-items:center}.fire-hero44{display:grid;place-items:center;background:radial-gradient(circle,#fff3b8 0,#f7d7bf55 48%,transparent 70%);border-radius:50%;aspect-ratio:1}.fire-art44{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 12px #9b3c2530)}.fire-art44.small{width:55px;filter:drop-shadow(0 4px 6px #9b3c2525)}.checkin-copy44 h3{font-size:22px;margin:8px 0 4px}.checkin-copy44 p{font-size:14px}.reward44{font-weight:750;color:#69529a}.fire-track44{display:flex;gap:6px;overflow-x:auto;padding:18px 2px 8px;margin-top:14px;border-top:1px solid #ded7e8;scrollbar-width:thin}.fire-step44{flex:0 0 74px;text-align:center;opacity:.42;position:relative}.fire-step44:after{content:'';position:absolute;top:28px;left:58px;width:22px;height:2px;background:#d8d1df}.fire-step44:last-child:after{display:none}.fire-step44.reached{opacity:1}.fire-step44.current{color:#6a4c9c}.fire-step44.current .fire-art44{transform:scale(1.12)}.fire-step44 b,.fire-step44 span{display:block}.fire-step44 b{font-size:12px}.fire-step44 span{font-size:10px;line-height:1.25;min-height:25px}.milestone-note44{font-size:13px;margin-top:8px}.milestone-note44 summary{cursor:pointer;color:#65509a;font-weight:700;padding:8px 0}.milestone-note44 p{margin:2px 0}.game-missions44{margin:8px 0 34px}.mission-board44{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.8fr);gap:16px}.mission-total44,.mission-list44{border:1px solid #ded8e7;border-radius:18px;background:#fff;padding:24px}.mission-total44{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(165deg,#fff 0,#f4f0f8 100%)}.trophy44{font-size:54px;color:#6b55a2;line-height:1}.mission-total44 h2{font-size:18px;margin:14px 0 4px}.mission-total44>strong{font-size:34px;color:#69529a}.mission-total44 p{font-size:13px;color:#6b6373;max-width:210px}.mission-total44 small{font-size:12px;color:#55496a}.mission-progress44{height:10px;background:#e8e1ef;border-radius:99px;overflow:hidden;width:min(220px,100%);margin:10px 0}.mission-progress44 i{display:block;height:100%;background:linear-gradient(90deg,#6b50a1,#9a78c4);border-radius:inherit}.mission-list-head44{display:flex;justify-content:space-between;align-items:center;gap:15px}.mission-list-head44 h2{font-size:22px;margin:5px 0 13px}.mission-scroll44{display:grid;gap:9px;max-height:430px;overflow:auto;padding-right:4px}.mission-row44{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;background:#f2eef8;border:1px solid #e5deed;border-radius:12px;padding:12px 14px}.mission-row44.done{background:#e9f5ef;border-color:#d2e9dc}.mission-row44 b{font-size:15px}.mission-row44 p{font-size:12px;color:#6c6474;margin:4px 0 0}.mission-row44 button{min-width:104px}.mission-state44{font-size:12px;font-weight:750;color:#665d70;white-space:nowrap}.mission-row44.done .mission-state44{color:#25705a}@media(max-width:850px){.checkin-main44{grid-template-columns:100px minmax(0,1fr)}.mission-board44{grid-template-columns:1fr}.mission-total44{padding:20px}.mission-row44{grid-template-columns:minmax(0,1fr) auto}.mission-row44 button{grid-column:1/-1;width:100%}.mission-state44{font-size:11px}.mission-scroll44{max-height:none}}@media(max-width:460px){.checkin-main44{grid-template-columns:78px minmax(0,1fr);gap:10px}.checkin-copy44 h3{font-size:19px}.checkin-copy44 .button,.checkin-copy44 .secondary{width:100%}.fire-step44{flex-basis:66px}.mission-list44{padding:16px}.mission-row44{padding:11px}.mission-list-head44{align-items:flex-start}}

.n4-welcome46{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:4px solid #65509a;background:linear-gradient(120deg,#fff,#ede7f6)}.n4-arcs46{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.n4-arcs46>.panel{margin:0}.n4-course-row46{display:flex;align-items:center;width:100%;gap:16px;text-align:left;padding:18px 0;border:0;border-top:1px solid #e7e0ee;background:transparent;color:#292438;border-radius:0}.n4-course-row46>span:first-child{color:#796298;font-size:22px;font-weight:700}.n4-course-row46>span:nth-child(2){flex:1}.n4-course-row46 small{display:block;color:#746983;margin-top:5px}.n4-top46{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.n4-top46 span{font-size:14px;color:#61606f}.n4-tabs46{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.n4-tabs46 button{padding:11px 16px}.n4-course46{max-width:1050px;margin:auto}.n4-course46 .n4-material40{overflow:visible;line-height:1.9}.n4-course46 .n4-material40 table{min-width:0;width:100%;table-layout:fixed;font-size:16px}.n4-course46 td,.n4-course46 th{overflow-wrap:anywhere}.n4-page46{min-height:360px}.n4-course46 img{max-width:100%;height:auto}.n4-comic46 img{display:block;margin:16px auto;border-radius:12px}.n4-course46 .eyebrow{font-size:13px;font-weight:700;color:#776b85;letter-spacing:.08em}.n4-pager46{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0}.n4-finish46{margin:24px 0}.n4-finish46 p{font-size:14px;color:#736c7c}.n4-visuals46{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.n4-visuals46 figure{margin:0;padding:22px;background:#f1ecf7;border:1px solid #ded2ed;border-radius:18px}.n4-contrast46{display:flex;flex-direction:column;align-items:center;gap:12px;margin:24px 0}.n4-contrast46 b{font-size:26px;text-align:center;color:#643c80}.n4-contrast46>span{font-size:24px;transform:rotate(90deg);color:#a095b1}.n4-visuals46 figcaption{color:#484055;line-height:1.7}.n4-kanji46{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.n4-kanji46 article{padding:18px;background:#f4f0f8;border-radius:12px;text-align:center}.n4-kanji46 strong{display:block;font-size:44px;line-height:1.5}.n4-kanji46 p{font-size:15px;margin-bottom:0}.n4-task46 details,.n4-course46 details{border:1px solid #e4dcec;border-radius:12px;padding:14px;margin:12px 0}.n4-task46 summary,.n4-course46 summary{cursor:pointer;font-weight:600}.n4-task46 h2{font-size:26px;line-height:1.7}.n4-task46 textarea{width:100%;margin:10px 0}.n4-words46{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.n4-words46 summary{display:flex;justify-content:space-between;gap:14px;align-items:center}.n4-words46 summary span{font-size:25px}.n4-words46 small{font-size:12px;color:#776e83}.n4-read-tools46{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.n4-read-tools46 label{display:flex;align-items:center;gap:10px}.n4-read-tools46 select{width:auto}.n4-read-tools46 input[type=checkbox]{width:auto}.n4-reading46{height:52vh;max-height:520px;overflow:auto;border:1px solid #d4c5e6;border-radius:14px;background:#f8f6fc;margin:18px 0;overscroll-behavior:contain;scroll-behavior:auto}.n4-reading46>.jp{padding:26vh 28px 40vh;font-size:27px;line-height:2.5;overflow-wrap:anywhere}.hide-ruby46 rt,.hide-ruby46 rp{visibility:hidden}.n4-zoom46{overflow:auto;max-height:78vh}.n4-zoom46 img{display:block;width:1400px;max-width:none}.n4-course46 audio{max-width:100%}.n4-course46 .quiz-grid40 fieldset{min-width:0}.n4-course46 .quiz-grid40 input{width:auto}.n4-course46 .n4-material40 h2{font-size:28px}.n4-course46 [hidden]{display:none!important}@media(max-width:700px){.n4-arcs46,.n4-visuals46,.n4-words46{grid-template-columns:1fr}.n4-welcome46{align-items:flex-start;flex-direction:column}.n4-tabs46{flex-wrap:nowrap;overflow-x:auto;padding:4px 0 12px;position:sticky;top:0;z-index:5;background:#f6f4fa}.n4-tabs46 button{flex:0 0 auto;font-size:14px}.n4-top46{align-items:flex-start;flex-direction:column;gap:8px}.n4-course46 .panel{padding:18px}.n4-kanji46{grid-template-columns:repeat(2,minmax(0,1fr))}.n4-reading46>.jp{padding-left:16px;padding-right:16px;font-size:24px}.n4-course46 .n4-material40 table{display:block;overflow:auto;table-layout:auto;max-width:100%;font-size:14px}.n4-course46 table th,.n4-course46 table td{min-width:115px;padding:8px}.n4-task46 h2,.n4-course46 .n4-material40 h2{font-size:22px}.n4-pager46{font-size:14px}.n4-pager46 button{padding:10px 14px}}

.level-tabs48{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}.level-tabs48 button{min-width:58px}.course-outline40{min-width:0}#course-list48 .panel{margin:0}.sidebar{overflow-y:auto}.sidebar #nav a{min-height:44px}#main .class-list30 article{min-width:0}#main .class-list30 input,#main .class-list30 select{max-width:100%}.game48-tokens{display:flex;gap:10px;flex-wrap:wrap}.game48-tokens button{font-size:18px}.game48-answer{min-height:60px;padding:16px;border:1px solid #d6cfea;border-radius:12px}.class-meta48{display:grid;gap:12px;margin-top:12px}.class-meta48 label{display:grid;gap:6px}.assignment30 h3{white-space:pre-wrap}.class-deadline48{font-weight:600}.level-tabs48 button[aria-pressed=true]{box-shadow:0 0 0 2px #67529933}@media(max-width:760px){#mobile-nav29{display:flex!important;overflow-x:auto;justify-content:flex-start;gap:4px;padding:6px 8px max(6px,env(safe-area-inset-bottom));}#mobile-nav29 a{flex:0 0 84px;min-height:52px;white-space:nowrap;font-size:14px}#mobile-nav29 a span:last-child{font-size:14px}.course-hero40{grid-template-columns:minmax(0,1fr)}.level-tabs48{gap:7px}.level-tabs48 button{min-width:48px;padding:10px}.class-meta48{grid-template-columns:minmax(0,1fr)}}

.rivals50{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:16px 0}.rivals50>button{margin:0;min-width:0;text-align:center;padding:20px;cursor:pointer}.rivals50 .ai-portrait{width:100%;height:auto;aspect-ratio:1}.rivals50 .ai-portrait svg{width:100%;height:100%}.rivals50 h2{font-size:clamp(19px,2vw,28px)}.rivals50 p{overflow-wrap:anywhere}.rivals50 .chosen{outline:2px solid #b99049;outline-offset:0}.rivals50>button:focus-visible{outline:3px solid #65509e;outline-offset:3px}.room-ai50{margin:20px 0}.room-ai50 .rivals50{gap:10px}.room-ai50 .rivals50>button{padding:12px}.room-ai50 h2{font-size:19px}.room-ai50 p{font-size:14px}.room-human49.stick-sprite20{aspect-ratio:1;height:auto;background-position:0 0;background-size:400% 400%;margin:0}.assignment-recipients50{padding:12px 16px;background:#f4f1fa;border:1px solid var(--line);border-radius:12px}.assignment-group50{color:#65509e;font-weight:600}.jd-person24:not(.jd-correct24) .jd-avatar24,.jd-person24:not(.jd-correct24) .jd-ai-avatar24{animation:none}.focus-learning .jd-avatar24,.focus-learning .jd-ai-avatar24{animation:none!important}
@media(max-width:750px){.rivals50{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rivals50>button{padding:14px}.rivals50 p{font-size:14px}.room-ai50 .rivals50{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.jd-avatar24,.jd-ai-avatar24{animation:none!important}}

.ranking-filters56{display:flex;gap:16px;flex-wrap:wrap;align-items:end;margin:20px 0}.ranking-filters56 label{min-width:170px;flex:1}.ranking-board56{margin:20px 0}.ranking-board56 .section-head{align-items:center}.ranking-table56{width:100%;border-collapse:collapse}.ranking-table56 th,.ranking-table56 td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line)}.ranking-table56 th:last-child,.ranking-table56 td:last-child{text-align:right}.ranking-table56 tbody tr:first-child td:first-child{font-weight:800;color:#805b07}.ranking-empty56{padding:28px 18px;text-align:center;background:var(--surface-soft,#f6f4fa);border-radius:14px}.ranking-empty56 strong{font-size:18px}.ranking-rules56{margin-top:18px}.kana-launch56{margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft,#f6f4fa)}.kana-launch56 p{margin:8px 0 12px}.kana-game56{max-width:620px;margin:20px auto;text-align:center}.kana-game56 .progress{margin:10px 0 22px}.kana-glyph56{display:grid;place-items:center;min-height:150px;font-size:clamp(76px,18vw,120px);font-family:serif;color:var(--ink,#292438);background:var(--surface-soft,#f6f4fa);border-radius:18px;margin:14px 0 22px}.kana-result56{margin:24px auto;text-align:center}.kana-result56 h2{font-size:30px}@media(max-width:640px){.ranking-filters56{display:grid;grid-template-columns:1fr}.ranking-filters56 label{min-width:0}.ranking-table56 th,.ranking-table56 td{padding:11px 8px}.kana-launch56 .row{display:grid;grid-template-columns:1fr}.kana-game56{padding:18px}.kana-glyph56{min-height:125px}}
.student-actions59{display:flex;flex-direction:column;gap:10px;min-width:150px}#users-body40 td{vertical-align:top}#users-body40 p{margin:10px 0;line-height:1.55}#ranking-history59 details{padding:12px 0;border-bottom:1px solid var(--line)}#student-detail59{max-height:70vh;overflow:auto}#student-detail59 h3{margin-top:24px}

.n3-course60{min-width:0;max-width:100%;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.n3-course60 *{box-sizing:border-box}.n3-course60 p{font-size:1rem;line-height:1.85;overflow-wrap:anywhere}.n3-course60 h2{overflow-wrap:anywhere}.n3-jp60{font-size:1.16rem;line-height:2.35;overflow-wrap:anywhere;word-break:normal}.n3-jp60 ruby{ruby-position:over;white-space:nowrap}.n3-jp60 rt{font-size:.68em;font-weight:500;line-height:1.2;color:inherit;letter-spacing:0}.n3-grammar60{color:#b82435!important;font-style:normal;font-weight:700;background:#fff0f1;border-radius:3px;padding:1px 2px}.n3-title60{margin:4px 0 18px}.n3-tabs60{flex-wrap:wrap;gap:8px;overflow:visible}.n3-tabs60 button{font-size:.93rem;min-height:44px}.n3-page-heading60{display:flex;align-items:baseline;gap:16px;padding:20px 22px;background:#17273b;color:#fff}.n3-page-heading60 h2{margin:0;color:inherit;font-size:1.25rem}.n3-page-heading60>span{font-weight:700;white-space:nowrap}.n3-comic-page60{border:2px solid #17273b;border-radius:16px;overflow:hidden;background:#17273b}.n3-comic-grid60{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.n3-scene60{margin:0;min-width:0;display:flex;flex-direction:column;background:#fff;color:#17273b}.n3-scene-art60{width:100%;aspect-ratio:1;background-size:200% 300%;background-repeat:no-repeat;background-color:#edf0f3}.n3-scene60 figcaption{padding:16px 20px 20px;border-top:2px solid #17273b;flex:1}.n3-speaker60{display:flex;justify-content:space-between;gap:12px;color:#243a52;font-size:.9rem}.n3-speaker60>span{white-space:nowrap;color:#596776}.n3-scene60 p{margin:9px 0}.n3-translation60{border-top:1px solid #dae0e5;padding-top:10px;color:#334a62}.n3-scene60 .n3-audio60{color:#175b73}.n3-real60{border-left:5px solid #21758c;margin-top:20px}.n3-kanji-grid60,.n3-word-grid60{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.n3-kanji60{min-width:0}.n3-kanji-head60{display:flex;align-items:center;gap:20px}.n3-kanji-head60>strong{font-size:4rem;color:#175b73}.n3-kanji-head60 h2{font-size:1.4rem;margin-bottom:6px}.n3-word60{border:1px solid #c4d0d9;border-radius:12px;padding:18px;min-width:0}.n3-word60 summary{font-size:1.25rem;cursor:pointer;min-height:44px}.n3-word60 .row{flex-wrap:wrap}.n3-reading60{height:330px;overflow-y:auto;border:1px solid #abbfce;border-radius:12px;padding:22px;margin:20px 0;white-space:pre-wrap}.n3-task60 details{margin:12px 0;border:1px solid #b9c9d5;border-radius:10px;padding:14px}.n3-task60 summary{cursor:pointer;min-height:28px;font-size:1rem}.n3-task60 textarea{width:100%;max-width:100%;font-size:1.1rem;line-height:1.9;min-height:140px}.n3-note60{border-left:3px solid #668197;padding-left:14px}.n3-question60{padding:24px 0;border-bottom:1px solid #ced8e1;min-width:0}.n3-passage60{padding:16px;border-left:3px solid #668197;white-space:pre-wrap}.n3-options60{display:grid;gap:10px}.n3-options60 label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:14px;border:1px solid #c0ceda;border-radius:10px;font-size:1.1rem;min-width:0}.n3-options60 input{width:20px;min-width:20px;height:20px;margin-top:3px}.n3-options60 span{overflow-wrap:anywhere}.n3-options60 label:has(input:checked){border:2px solid #21758c;background:#eaf5f8;color:#143b4c}.n3-tokens60,.n3-answer-grid60{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.n3-tokens60 button{max-width:100%;white-space:normal;overflow-wrap:anywhere}.n3-order-target60{min-height:65px;padding:16px;border:2px dashed #668197;border-radius:10px;font-size:1.15rem;line-height:1.7;overflow-wrap:anywhere}.n3-check60{display:flex!important;gap:12px;align-items:center;margin:16px 0!important}.n3-check60 input{width:20px;min-width:20px;height:20px}.n3-hub-buttons60{display:flex;flex-wrap:wrap;gap:12px}.n3-hub-buttons60 button{text-align:left;white-space:normal;max-width:100%}.n3-finish60{margin:22px 0}.n3-course60 audio{max-width:100%;width:100%;margin-top:16px}.n3-course60 .panel{min-width:0}.n3-course60 select{max-width:100%;font-size:1rem}.n3-course60 button:focus-visible,.n3-course60 summary:focus-visible{outline:3px solid #2699c0;outline-offset:3px}#n3-list60 strong small{display:block;font-size:.88rem;font-weight:400;margin-top:7px}.n3-course60 .row{flex-wrap:wrap;gap:12px}.n3-course60 .n3-audio60{font-size:.94rem;min-height:40px}.n3-course60 [hidden]{display:none!important}@media(max-width:760px){.n3-comic-grid60,.n3-kanji-grid60,.n3-word-grid60{grid-template-columns:minmax(0,1fr)}.n3-comic-page60{border-radius:12px}.n3-scene60 figcaption{padding:16px}.n3-jp60{font-size:1.12rem;line-height:2.4}.n3-jp60 rt{font-size:.7em}.n3-tabs60{gap:6px}.n3-tabs60 button{padding:9px 10px}.n3-page-heading60{padding:16px;gap:10px;flex-wrap:wrap}.n3-reading60{height:360px;padding:14px}.n3-course60{padding-bottom:calc(98px + env(safe-area-inset-bottom))}.n3-course60 .n4-pager46{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap}.n3-course60 .n4-pager46 span{align-self:center}.n3-course60 .n4-pager46 button{min-height:44px}.n3-question60{padding:18px 0}.n3-hub-buttons60{display:grid;grid-template-columns:minmax(0,1fr)}}

/* Only new comic scenes use integrated live speech bubbles. */
.n3-scene61{position:relative}.n3-scene61 figcaption{position:relative;z-index:1;margin:-32px 14px 16px;padding:18px;border:2px solid #17273b;border-radius:20px;background:#fff;flex:1;box-shadow:0 3px 0 #17273b22}.n3-scene61 figcaption:before{content:"";position:absolute;top:-15px;left:36px;width:26px;height:26px;background:#fff;border-top:2px solid #17273b;border-left:2px solid #17273b;transform:skewY(30deg);z-index:-1}.n3-scene61 .n3-translation60{color:#263e55}.n3-table-wrap61{max-width:100%;white-space:normal}.n3-table61{width:100%;border-collapse:collapse;table-layout:fixed}.n3-table61 caption{text-align:left;font-weight:700;margin:0 0 14px}.n3-table61 th,.n3-table61 td{border:1px solid #a9bdce;padding:12px;text-align:left;vertical-align:top;overflow-wrap:anywhere}.n3-table61 th{background:#edf4f8}.n3-table-reading61{height:auto;max-height:650px;white-space:normal}.n3-table61 .n3-jp60{font-size:1.05rem}#n3-reception-answer61{width:100%;font-size:1.12rem;min-height:140px;line-height:2;padding:12px}@media(max-width:760px){.n3-scene61 figcaption{margin:-28px 10px 14px;padding:16px}.n3-table61 th,.n3-table61 td{padding:8px}.n3-table61 .n3-jp60{font-size:1rem}.n3-table-reading61{padding:10px}}

/* New lessons only: keep the original lesson 1–10 presentation unchanged. */
.n3-scene62{background:#e8eef2;overflow:hidden}.n3-scene62 figcaption{margin:-88px 14px 18px;flex:1;border:2px solid #17273b;border-radius:22px;background:#fff;box-shadow:0 4px 0 #17273b22;padding:18px;position:relative;z-index:1}.n3-scene62 figcaption:before{top:-17px;width:30px;height:30px}.n3-scene62 .n3-jp60{font-size:1.2rem;line-height:2.35}.n3-scene62 .n3-translation60{font-size:1rem;line-height:1.85}.n3-scene62 .n3-jp60 rt{font-size:.7em}.n3-course62 textarea{display:block;width:100%;max-width:100%;font-size:1.12rem;line-height:2;padding:14px;margin:12px 0;resize:vertical}.n3-course62 .row{flex-wrap:wrap}.n3-arc-steps62{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0}.n3-arc-steps62 li{padding:8px 12px;border:1px solid #abc0ce;border-radius:8px;font-size:1rem}.n3-arc-steps62 [aria-current]{background:#17273b;color:white;font-weight:700}.n3-mission-words62 p{margin:10px 0}.n3-course62 .n3-task60 summary,.n3-course62 button{min-height:44px}.n3-course62 .n3-options60 label{overflow-wrap:anywhere;min-width:0}.n3-course62 .n3-options60 span{min-width:0}.n3-course62 .n3-check60{align-items:flex-start}.n3-course62 details{min-width:0}.n3-course62 .n3-table61{font-size:1rem}.n3-course62 .n3-table61 td,.n3-course62 .n3-table61 th{overflow-wrap:anywhere}
@media(max-width:760px){.n3-scene62 figcaption{margin:-72px 10px 14px;padding:16px}.n3-scene62 .n3-jp60{font-size:1.16rem}.n3-course62 .n3-table61 td,.n3-course62 .n3-table61 th{padding:7px}.n3-course62 .n3-table61 .n3-jp60{font-size:1rem}.n3-course62 .n3-table61 .n3-jp60 rt{font-size:.8em}.n3-arc-steps62{gap:6px}.n3-arc-steps62 li{padding:7px}.n3-course62 textarea{font-size:1.1rem}}

/* Scope to new lessons; keep the established N3 shell and responsive comic rhythm. */
.n3-course63 .n3-scene63{background:#e8eef2}.n3-course63 .n3-scene63 figcaption{margin-top:-88px}.n3-course63 .n3-scene63 .n3-jp60{font-size:1.2rem;line-height:2.35}.n3-course63 .n3-jp60 rt{font-size:.7em}.n3-course63 .n3-translation60{font-size:1rem;line-height:1.85}.n3-course63 .n3-passage60{white-space:pre-wrap}.n3-course63 textarea{max-width:100%;min-height:150px}.n3-course63 button,.n3-course63 summary{min-height:44px}.n3-course63 .n3-options60 label{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){.n3-course63 .n3-scene63 figcaption{margin-top:-72px}.n3-course63 .n3-scene63 .n3-jp60{font-size:1.16rem}.n3-course63 .n3-jp60 rt{font-size:.72em}}

/* Scoped to new lessons; same comic grid and in-panel bubbles as lessons 16–20. */
.n3-course64 .n3-scene64 .n3-jp60{font-size:1.2rem;line-height:2.35}
.n3-course64 .n3-jp60 rt{font-size:.7em}
.n3-course64 .n3-hours64{border:1px solid #abc0ce;border-radius:12px;padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.n3-course64 .n3-hours64 label{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:1rem}
.n3-course64 .n3-hours64 input{width:100%;min-width:0;min-height:44px;font-size:1.1rem;padding:10px}
.n3-course64 .n3-hours64 p{grid-column:1/-1;font-weight:700}
.n3-course64 fieldset{min-width:0}.n3-course64 legend{font-size:1rem;padding:0 6px}
.n3-course64 select{max-width:100%;min-height:44px;font-size:1rem}
.n3-course64 #n3-timer64{font-size:1.6rem;font-variant-numeric:tabular-nums;min-width:64px}
@media(max-width:760px){.n3-course64 .n3-scene64 .n3-jp60{font-size:1.16rem}.n3-course64 .n3-jp60 rt{font-size:.72em}.n3-course64 .n3-hours64{grid-template-columns:1fr}.n3-course64 .n3-options60{grid-template-columns:1fr}}

/* Scoped to lessons 26–30; earlier lessons keep their exact styling. */
.n3-course65 .n3-scene65 .n3-jp60{font-size:1.2rem;line-height:2.35}
.n3-course65 .n3-jp60 rt{font-size:.72em}
.n3-course65 .n3-bubble65+.n3-bubble65{border-top:1px solid #bbc8d1;margin-top:18px;padding-top:18px}
.n3-course65 .n3-bubble65 p{margin:8px 0}
.n3-course65 .n3-complete-label65{display:block;text-align:center;font-size:1.7rem;color:#183e52;padding:20px 0 8px;letter-spacing:.07em}
.n3-course65 .n3-final-results65{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.n3-course65 .n3-final-results65 p{display:flex;justify-content:space-between;gap:12px;border:1px solid #aebfcd;border-radius:12px;padding:14px}
.n3-course65 .n3-achievement65{background:#edf8f5;border-color:#368474}
.n3-course65 #n3-timer65{font-size:1.4rem;font-variant-numeric:tabular-nums}
.n3-course65 select{max-width:100%;min-height:44px;font-size:1rem}
.n3-course65 .n3-question60{min-width:0}.n3-course65 .n3-passage60{white-space:pre-line}
@media(max-width:760px){.n3-course65 .n3-scene65 .n3-jp60{font-size:1.16rem}.n3-course65 .n3-jp60 rt{font-size:.72em}.n3-course65 .n3-options60{grid-template-columns:1fr}.n3-course65 .panel{overflow-wrap:anywhere}.n3-course65 .n3-final-results65{grid-template-columns:1fr}}

.skeleton66{height:22px;background:linear-gradient(90deg,#eee9f4,#faf8fe,#eee9f4);background-size:200% 100%;animation:load66 1.2s infinite;border-radius:8px;margin:18px 0}.skeleton66.short{width:65%}@keyframes load66{to{background-position:-200% 0}}.reward-track66{display:flex;gap:10px;flex-wrap:wrap}.reward-track66>span{min-width:70px;text-align:center;padding:8px;border:1px solid #dcd5e8;border-radius:10px;opacity:.7;font-size:23px}.reward-track66 .done{background:#e9f7ed;opacity:1}.reward-track66 small{display:block;font-size:12px}.reward66{margin-top:24px}.quiz66 fieldset{border:1px solid #ded6eb;border-radius:12px;padding:18px;margin:16px 0;min-width:0}.quiz66 legend{font-size:17px;line-height:1.7;white-space:pre-wrap}.quiz66 label{display:block;padding:10px;font-size:16px}.quiz66 input:not([type=radio]):not([type=checkbox]),.quiz66 textarea{width:100%;padding:12px;font-size:17px}.quiz66 .jp{white-space:pre-wrap;line-height:2}.word-filters66{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:20px}.word-filters66 label{display:flex;flex-direction:column;gap:6px}.word-filters66 input,.word-filters66 select{min-height:44px;max-width:100%}.word-grid66{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.word-grid66 .panel{margin:0}.word-grid66 h3{font-size:25px}.result-stats66{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.result-stats66>div{display:flex;flex-direction:column;font-size:14px}.result-stats66 b{font-size:28px}.review-row66{border-bottom:1px solid #ddd4e7;padding:18px 0}.review-row66:last-child{border:0}.review-row66 p{overflow-wrap:anywhere}.reward66 button{white-space:normal}.kana-game56>label{display:block;margin-bottom:18px}#review-list66 input:not([type=checkbox]){width:100%;font-size:17px;padding:12px;margin:8px 0}#main{scroll-margin-top:80px}@media(max-width:600px){.word-grid66{grid-template-columns:1fr}.word-filters66{display:grid;grid-template-columns:1fr 1fr;gap:10px}.word-filters66 input,.word-filters66 select{width:100%;min-width:0}.result-stats66{grid-template-columns:repeat(3,1fr)}.reward-track66>span{min-width:60px;flex:1}.reward66{padding:16px}.quiz66 fieldset{padding:12px}.quiz66 legend{max-width:100%}footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}}
.hanviet66{display:flex;flex-direction:column;align-items:center;gap:6px}.hanviet66>span{font-size:18px;font-weight:700}.hanviet66 strong{font-size:56px;line-height:1.2}.n3-jp60 rt{font-size:.68em;line-height:1.2}
.owner-pet-grid66{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.owner-pet-grid66 article{text-align:center;min-width:0}.owner-pet-art66{position:relative;overflow:hidden;aspect-ratio:250/315;background:#121323;border-radius:16px}.owner-pet-art66 img{position:absolute;max-width:none;height:auto}.owner-set66{display:block;width:100%;height:auto;margin-top:20px}.owner-collection66>details{margin-top:30px}.owner-collection66 summary{cursor:pointer;font-weight:700}@media(max-width:650px){.owner-pet-grid66{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.owner-pet-grid66 h3{font-size:16px}.owner-pet-grid66 button{font-size:13px;padding:10px}}
.image-loading66{background:linear-gradient(110deg,#eee9f4,#fff,#eee9f4);min-height:80px}.image-retry66{position:relative;z-index:5;max-width:100%;white-space:normal}.quiz66 input[type=radio],.quiz66 input[type=checkbox]{min-width:18px;min-height:18px}

.character-pet41 .owner-pet-art66.small{width:120px;max-width:100%;border-radius:18px}.character-pet41 .owner-pet-art66 img{height:auto;max-width:none}

/* Do not expose intermediate prototype renders while modules and account data load. */
#academy-boot67{display:none}.app-booting67>.sidebar,.app-booting67>.shell,.app-booting67>#toast,.app-booting67>dialog{display:none!important}.app-booting67 #academy-boot67{display:block;min-height:100dvh;padding:30px max(24px,calc((100vw - 1100px)/2));background:linear-gradient(145deg,#f3faff,#fff);color:#17385c}.app-booting67 #academy-boot67>a{display:block;width:170px}.app-booting67 #academy-boot67 img{width:170px;height:71px;object-fit:contain}.boot-card67{margin:40px auto;max-width:1050px}.boot-card67 p{font-size:16px;margin-top:24px}.boot-line67{height:32px;width:65%;border-radius:10px;background:#deecf8;margin-bottom:15px}.boot-line67.short{height:18px;width:40%}.boot-grid67{display:grid;grid-template-columns:1.4fr 1fr;gap:25px;margin-top:45px}.boot-grid67>div{height:290px;background:#e9f3fc;border-radius:20px}.home67{color:#10264f}.home67 .home-heading67{margin:0 0 24px}.home67 .home-heading67 p{color:#496687}.home67 .home-heading67 h1{font-size:clamp(28px,3vw,42px);margin:9px 0 12px}.home67 .home-main67{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:24px}.home67 .welcome67{position:relative;background:linear-gradient(115deg,#e1f4ff,#edf7ff);border:1px solid #cbe5fa;border-radius:20px;padding:32px;display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.65fr);align-items:center;gap:16px}.home67 .welcome67 h2{font-size:clamp(24px,2.2vw,32px);line-height:1.3;margin:16px 0}.home67 .welcome67 p{color:#405b7d;margin:12px 0}.home67 .welcome67 .button{background:#ea2e70;border-color:#ea2e70;color:#fff}.home67 .home-pet67{min-width:0;display:flex;align-items:center;justify-content:center}.home67 .home-pet67 .petportrait{position:relative!important;inset:auto!important;width:100%!important;max-width:230px;height:auto!important;aspect-ratio:1;transform:none!important;margin:0;box-shadow:none}.home67 .checkin41{margin:0;border-radius:20px;background:#fff8ec;border-color:#eee2cc;min-width:0;padding:24px}.home67 .stats67{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}.home67 .stat67{border:1px solid #d5e8fa;background:#fff;border-radius:14px;padding:23px}.home67 .stat67 b{display:block;font-size:29px}.home67 .stat67 span{color:#4c6587;font-size:15px}.home67 .home-secondary67{display:grid;grid-template-columns:1fr 1fr;gap:24px}.home67 .home-secondary67 .panel{border-radius:16px;border-color:#d5e8fa}.home67 .home-secondary67 h2{font-size:23px}.home67 .home-links67{display:flex;gap:12px;flex-wrap:wrap}.home67 .home-review67{color:#4c6587}.home67 .home-status67{font-size:15px;line-height:1.6}.home67 .home-status67:empty{display:none}.home67 .tag{background:#fff;border-color:#acd6fa;color:#185f96}.home67 .checkin41 h2{font-size:24px}.home67 .checkin41 .row{flex-wrap:wrap}@media(max-width:1100px){.home67 .home-main67{grid-template-columns:1fr}.home67 .welcome67{grid-template-columns:1.5fr .7fr}}@media(max-width:600px){.boot-grid67{grid-template-columns:1fr}.boot-grid67>div{height:200px}.boot-grid67>div:last-child{height:120px}.home67 .welcome67{padding:23px;grid-template-columns:1fr}.home67 .home-pet67{grid-row:2}.home67 .home-pet67 .petportrait{max-width:160px}.home67 .stats67{grid-template-columns:1fr;gap:12px}.home67 .stat67{padding:16px 20px;display:flex;gap:16px;align-items:center}.home67 .stat67 b{font-size:25px;min-width:45px}.home67 .home-secondary67{grid-template-columns:1fr}.home67 .home-heading67 h1{font-size:29px}}

#toast{white-space:pre-line;max-width:min(440px,calc(100vw - 32px));line-height:1.55;padding:14px 20px;z-index:10000;box-shadow:0 8px 28px #172b4d30}dialog[open]~#toast{z-index:10000}.reward-receipt68{background:#eef8ff;border:1px solid #c9e6f7;border-radius:14px;padding:16px 18px;margin:0 0 18px;color:#17364c}.reward-receipt68 p{margin:6px 0 0}.kana-difficulty68{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kana-difficulty68 button{display:flex;flex-direction:column;gap:6px;min-height:100px}.kana-difficulty68 small{font-size:14px}#n3-choice68,#n3-exam68{width:100%;max-width:100%;margin:10px 0 20px;font-size:16px}.owner-reward68{font-size:14px;color:#574468}.sidebar .brand img{background:transparent;border-radius:0;box-shadow:none}.sidebar .brand{background:transparent;padding:8px}.sidebar .brand img{filter:brightness(0) invert(1)}#academy-boot67 img{background:transparent}.reward66 button{margin-bottom:8px}@media(max-width:700px){#toast{bottom:calc(86px + env(safe-area-inset-bottom));font-size:15px}.kana-difficulty68{grid-template-columns:1fr 1fr}}
.exam-skills68{margin:18px 0 24px}.exam-skills68 p{margin-top:12px}#n3-count68{font-size:16px;min-width:80px;margin:8px 0 12px}.exam-skills68 .row{gap:10px}@media(max-width:700px){#exp{display:inline-flex!important}.wallet{flex-wrap:wrap;gap:6px}.shell>header{flex-wrap:wrap;gap:8px}}

.reward72{margin-top:24px;min-width:0;border:1px solid #d7cdec}.reward72-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.reward72 h3{margin:6px 0;font-size:1.25rem}.reward72-kicker{font-size:.875rem;font-weight:700;color:#65558c}.reward72-amount{font-size:1.2rem;color:#4f3e85}.reward72-amount span{white-space:nowrap}.reward72-state{font-weight:600}.reward72-state.ready{color:#6044a0}.reward72-state.claimed{color:#216c50}.reward72-confirm{display:flex;align-items:center;gap:10px;margin:16px 0;font-size:1rem}.reward72-confirm input{width:20px;height:20px;flex:none}.reward72-note{font-size:.9rem;color:#645f72}.reward72-claim{white-space:normal;line-height:1.5;max-width:100%;min-height:48px}.reward72-error{color:#a53137;font-size:.95rem}.reward72-error:empty{display:none}.reward72-summary{margin-top:22px;border-top:1px solid #e0d9ed;padding-top:16px}.reward72-summary summary{cursor:pointer;line-height:1.6;font-size:.95rem}.reward72-summary ul{padding:0;list-style:none}.reward72-summary li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #eee9f4;font-size:.9rem}.reward72-summary li span:last-child{text-align:right;flex-shrink:0}.reward72-chest{display:grid;gap:12px;margin-top:18px}.reward72-chest button{justify-self:start;white-space:normal}.reward72 button:disabled{cursor:default;opacity:.72}.reward72 :focus-visible{outline:3px solid #a97cdd;outline-offset:3px}@media(max-width:600px){.reward72{padding:18px!important}.reward72-heading{gap:8px}.reward72-claim{width:100%}.reward72-summary li{flex-wrap:wrap;gap:4px}.reward72-summary li span:last-child{text-align:left}.reward72-chest button{width:100%}}

.game-sets77{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.game-set77{display:flex;flex-direction:column;align-items:flex-start;min-width:0;margin:0}
.game-set77 h2{font-size:1.25rem;line-height:1.45;margin:16px 0 8px;overflow-wrap:anywhere}
.game-set77 p,.game-set-intro77 p,.game-set-current77{font-size:1rem;line-height:1.65}
.game-set77 button{margin-top:auto;min-height:44px;white-space:normal}
.game-set-current77{font-weight:600}
.game-set-actions77{flex-wrap:wrap;gap:12px}
@media(max-width:900px){.game-sets77{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.game-sets77{grid-template-columns:minmax(0,1fr);gap:12px}.game-set77 button{width:100%}.game-set-actions77>*{width:100%}}

.word-bank-entry78{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.word-player78{margin:20px 0;border:2px solid #685497}
.word-player-head78{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.word-player-head78 h2{margin:0;font-size:1.35rem}
.word-current78{display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:155px;margin:18px 0;padding:18px;background:#f4f1fa;border-radius:14px;text-align:center;overflow-wrap:anywhere;font-size:1.1rem;color:#25213c}
.word-current78 strong{font-size:2rem;line-height:1.6}
.word-audio-controls78{display:flex;gap:10px;flex-wrap:wrap}
.word-audio-controls78 button{min-height:44px;white-space:normal}
.word-audio-controls78 [hidden]{display:none}
.word-audio-options78{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:16px;margin-top:20px}
.word-audio-options78 label{display:flex;flex-direction:column;gap:8px;font-size:1rem;min-width:0}
.word-audio-options78 select{width:100%;min-width:0;min-height:44px;font:inherit}
.word-audio-options78 .word-shuffle78{flex-direction:row;align-items:center;min-height:44px;gap:9px}
.word-shuffle78 input{width:20px;height:20px;margin:0;accent-color:#685497}
#word-status78{min-height:1.7em;font-size:1rem;line-height:1.7}
.word-grid66 .word-playing78{border:2px solid #685497;background:#f4f1fa;box-shadow:0 0 0 2px #e3daef}
.word-player78 .small{font-size:.875rem;line-height:1.6}
@media(max-width:760px){.word-audio-options78{grid-template-columns:repeat(2,minmax(0,1fr))}.word-audio-controls78{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.word-audio-controls78 button{width:100%;margin:0}.word-audio-controls78 #word-start78{grid-column:1/-1}.word-bank-entry78 button{width:100%}}
@media(max-width:380px){.word-audio-options78{grid-template-columns:1fr}}

.word-bank79 summary{cursor:pointer;min-height:44px;line-height:1.8}.word-bank79 summary strong{font-size:1.5rem}.word-bank79 details p{font-size:1rem;line-height:1.8}.word-bank79 .small{font-size:.875rem;line-height:1.6}.word-bank79 .row{flex-wrap:wrap}.word-bank79 button{min-height:44px}
.word-ruby80 ruby{ruby-position:over;ruby-align:center}.word-ruby80 rt{font-size:.875rem;line-height:1.3;font-weight:400;letter-spacing:0}.word-ruby80 p[lang="ja"]{font-size:1.125rem;line-height:2.4;overflow-wrap:anywhere}.word-ruby80 .word-answer80{font-size:1.5rem}.word-note80 p,.word-more80 p{font-size:1rem;line-height:1.7}.word-more80{text-align:center;margin:24px 0}.word-more80 button{min-height:44px}.n3-word80-label{display:block;font-size:.875rem;line-height:1.6;margin-top:8px}.word-note80{margin-bottom:18px}

.boss81-shell{max-width:900px;margin-inline:auto}.boss81-question{margin-top:1.5rem;display:grid;gap:1rem}.boss81-question h2{font-size:1.25rem;line-height:1.8;overflow-wrap:anywhere}.boss81-passage{white-space:pre-wrap;font-size:1.125rem;line-height:2;padding:1rem;border-left:3px solid #d9b46b;background:#ffffff08}.boss81-options{display:grid;gap:.75rem}.boss81-options label{display:flex;align-items:baseline;gap:.75rem;padding:1rem;border:1px solid #b5c9e343;border-radius:12px;cursor:pointer;font-size:1rem}.boss81-options input{width:auto;flex:0 0 auto}.boss81-question input[type=text],#boss81-answer{font-size:1.125rem;width:100%;min-height:48px}.boss81-feedback{padding:1rem;border:1px solid #91acbd;border-radius:12px;background:#ffffff08}.boss81-feedback.correct{border-color:#72bea4}.boss81-feedback.wrong{border-color:#dbb171}.boss81-feedback p{white-space:pre-wrap;line-height:1.8}.boss81-order{min-height:64px;padding:1rem;border:1px dashed #98abc3;font-size:1.25rem;overflow-wrap:anywhere}.boss81-review-link{margin-block:1rem}.kanji81-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem;flex-wrap:wrap}.kanji81-heading h2{margin:0}.kanji81-heading p{font-size:1rem}.kanji81-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:1rem}.kanji81-filters button{min-height:44px;font-size:.9375rem}.kanji81-save{min-height:1.5em;font-size:.9375rem;line-height:1.6}.kanji81-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}
.kanji81-card{height:29rem;min-width:0;perspective:1100px;border-radius:18px;scroll-margin-top:1rem}
.kanji82-turner{height:100%;width:100%;position:relative;transform-style:preserve-3d;transition:transform .45s ease}
.kanji81-card.is-flipped .kanji82-turner{transform:rotateY(180deg)}
.kanji81-front,.kanji81-back{position:absolute;inset:0;width:100%;height:100%;box-sizing:border-box;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid #d6d8ec;border-radius:18px;overflow:hidden;box-shadow:0 5px 18px #2821500b}
.kanji81-front{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.25rem;color:#343054;background:linear-gradient(145deg,#f8faff,#e5eafb);border-color:#bdc9e8;cursor:pointer}
.kanji81-front:focus-visible,.kanji81-back button:focus-visible,.kanji82-detail:focus-visible{outline:3px solid #ae85f1;outline-offset:-4px}
.kanji81-hv{font-size:1.125rem;font-weight:700;letter-spacing:.07em;color:#654194}
.kanji81-front strong{font-family:'Noto Sans JP',sans-serif;font-size:5.5rem;line-height:1.3;font-weight:600;color:#242842}
.kanji81-state{font-size:1rem;color:#474f70}
.kanji81-front small{font-size:.9375rem;color:#535b78}
.kanji81-back{transform:rotateY(180deg);display:flex;flex-direction:column;padding:1rem;color:#242238;background:#fff;font-size:1rem;line-height:1.65;text-align:left}
.kanji82-back-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-bottom:1px solid #e3e1ee;padding-bottom:.5rem;flex:none}
.kanji82-back-head>strong{font-size:1.05rem;color:#332b50;overflow-wrap:anywhere}
.kanji82-back-head>strong>span{font-size:1.6rem}
.kanji81-back .textbutton{color:#62429a;background:transparent;font-size:.9375rem;min-height:44px;flex-shrink:0}
.kanji82-detail{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:.65rem .35rem .5rem 0}
.kanji81-back h3{font-size:.9375rem;color:#61576f;margin:.65rem 0 .25rem}
.kanji81-back h3:first-child{margin-top:0}
.kanji81-back p{margin:.25rem 0 .65rem;color:#242238;overflow-wrap:anywhere}
.kanji81-reading{font-size:1.125rem;line-height:1.85;color:#4e3984;overflow-wrap:anywhere}
.kanji81-example{display:grid;gap:.15rem;padding:.5rem 0;border-bottom:1px solid #e8e5ef;color:#242238}
.kanji81-example>strong{font-size:1.5rem;font-weight:600;line-height:1.7;color:#242238;overflow-wrap:anywhere}
.kanji81-example .textbutton{justify-self:start}
.kanji81-example rt{font-size:.8rem;line-height:1.2}
.kanji81-ratings{display:flex;flex-wrap:wrap;gap:.4rem;padding-top:.65rem;border-top:1px solid #e3e1ee;flex:none}
.kanji81-ratings button{flex:1 1 auto;min-height:44px;padding:.45rem .65rem;white-space:normal;font-size:.9375rem;color:#49365f;background:#f4f0fa;border:1px solid #d2c5e6;border-radius:10px}
.kanji81-ratings .selected{color:#fff;background:#684795;border-color:#684795}
.kanji82-saving{font-size:.875rem;color:#61576f}
.kanji82-saving:empty{display:none}
.kanji81 button:disabled{cursor:wait;opacity:.65}
.kanji81-card.known .kanji81-front,.kanji81-card.known .kanji81-back{border-color:#6caa92}
.mission82-complete{font-weight:700;color:#49346c}
@media(max-width:1100px){.kanji81-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.kanji81-grid{grid-template-columns:1fr}.kanji81{padding:1rem}.kanji81-card{height:29rem}.kanji81-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.boss81-shell{padding:1rem}.boss81-shell>.row{gap:.5rem}.boss81-shell .button,.boss81-shell .secondary{min-height:44px;white-space:normal}.boss81-question h2{font-size:1.125rem}.boss81-passage{padding:.75rem}.kanji81-back{padding:.85rem}}
@media(prefers-reduced-motion:reduce){.kanji82-turner{transition:none}}

/* Scoped N2 draft: existing Linh Ngữ course shell, responsive comic typography. */
.n2-course83{min-width:0;--n2-ink:#29213b;--n2-red:#c32b42}.n2-private83{background:#fff0f3;color:#a21838;border:1px solid #edb2be;margin:8px 0;font-size:.9rem}.n2-top83,.n2-controls83,.n2-modes83{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 20px}.n2-catalog83{display:flex;gap:20px;align-items:flex-start}.n2-catalog83 h2{margin-top:0}.n2-title83{border-left:5px solid #d73d60}.n2-title83 h1 .n2-jp83{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.8}.n2-title83 h2{font-size:1.3rem}.n2-title83 blockquote{margin:20px 0;padding:18px;background:#fff5ed;border-left:3px solid #dfad79;border-radius:8px}.n2-title83 blockquote p{margin-bottom:0}.n2-controls83 label,.n2-check83{display:flex;align-items:center;gap:8px;font-size:1rem;line-height:1.6}.n2-controls83 input,.n2-check83 input,.n2-question83 input{width:20px;min-width:20px;height:20px;accent-color:#c32b62}.n2-course83 .n4-tabs46{flex-wrap:wrap;gap:8px}.n2-course83 button,.n2-course83 summary{min-height:44px}.n2-comic83{max-width:960px;margin:auto}.n2-comic83>h2{font-size:1.3rem;margin:20px 0}.n2-scene83{margin:0 0 24px;overflow:hidden;background:white;border:2px solid #282b43;border-radius:12px;color:var(--n2-ink);box-shadow:0 5px 16px #1b244b10}.n2-art83{position:relative;overflow:hidden;width:100%;background:#eaf1f7}.n2-art83 img{position:absolute;left:0;width:100%;height:auto;max-width:none;display:block}.n2-bubble83{padding:18px 24px 12px;border-top:2px solid #282b43}.n2-bubble83 p{margin:10px 0}.n2-speaker83{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.92rem;color:#625a72}.n2-jp83{font-size:1.2rem;line-height:2.3;overflow-wrap:anywhere;white-space:pre-line}.n2-jp83 ruby{ruby-align:center}.n2-jp83 rt{font-size:.68em;line-height:1.2;letter-spacing:0}.n2-jp83 mark{background:transparent;color:var(--n2-red,#c32b42);font-weight:750}.n2-translation83{font-size:1.05rem;line-height:1.65;color:#404461}.n2-course83 .n3-word-grid60{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.n2-course83 .n3-word60{min-width:0}.n2-grammar83 .n2-jp83{font-size:1.45rem;color:#c32b42}.n2-passage83{white-space:pre-line;max-width:850px;margin:24px auto}.n2-passage83 .n2-jp83{line-height:2.5}.n2-hint83{padding:12px 16px;border:1px solid #d9d6e7;border-radius:12px;margin:14px 0}.n2-muted83{color:#675e75;font-size:.93rem;line-height:1.6}.n2-question83{min-width:0;border:1px solid #d6d2e2;border-radius:12px;padding:16px;margin:24px 0}.n2-question83 legend{max-width:100%;padding:0 6px}.n2-question83 label{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:8px;cursor:pointer}.n2-question83 label:has(input:checked){background:#f9edf1}.n2-question83 input{margin-top:12px;flex:none}.n2-feedback83{padding:14px;background:#edf7f1;border-left:3px solid #2e7954;margin-top:16px}.n2-check83{padding:14px 0}.n2-course83 .kanji81-card{min-width:0}.n2-course83 .kanji82-detail .n2-jp83{font-size:1.1rem}.n2-course83 .n4-pager46{gap:10px;flex-wrap:wrap}
@media(max-width:760px){.n2-course83 .panel{padding:16px}.n2-jp83{font-size:1.16rem;line-height:2.3}.n2-bubble83{padding:14px}.n2-course83 .n4-tabs46>button{flex:1 1 100px}.n2-title83 blockquote{padding:12px}.n2-controls83{align-items:flex-start}.n2-question83{padding:10px}.n2-question83 label{padding:8px 4px}.n2-catalog83{gap:12px}.n2-catalog83 .lesson-number38{flex:none}.n2-course83{padding-bottom:calc(28px + env(safe-area-inset-bottom))}}

/* Five-page Visual Story: two comic frames per row; one on small screens. */
.n2-scene-grid84{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:24px}.n2-scene-grid84 .n2-scene83{min-width:0;margin:0}.n2-scene-grid84 .n2-bubble83{padding:16px 18px 12px}
@media(max-width:760px){.n2-scene-grid84{grid-template-columns:minmax(0,1fr);gap:20px}.n2-scene-grid84 .n2-bubble83{padding:14px}}

/* Numeric teaching charts: proportional bars plus exact accessible values. */
.n2-chart214{max-width:620px;margin:24px auto;padding:16px;border:1px solid #bdcde2;border-radius:12px;background:#f7faff;color:#202b40}.n2-chart214 figcaption{font-weight:700}.n2-chart-plot214{display:grid;grid-template-columns:3.5rem repeat(2,minmax(0,1fr));gap:24px;height:220px;border-bottom:2px solid #536682;margin-top:24px}.n2-chart-axis214{display:flex;flex-direction:column;justify-content:space-between;font-size:1rem}.n2-chart-column214{height:100%;display:flex;align-items:flex-end;justify-content:center}.n2-chart-bar214{width:70%;max-width:120px;background:#245faa;position:relative;min-height:0}.n2-chart-bar214 b{position:absolute;bottom:100%;left:0;width:100%;text-align:center;font-size:1rem;color:#202b40}.n2-chart-labels214{display:grid;grid-template-columns:3.5rem repeat(2,minmax(0,1fr));gap:24px;text-align:center;margin:8px 0 20px}.n2-chart-labels214 .n2-jp83{font-size:1rem}.n2-chart-table214{overflow-x:auto}.n2-chart214 table{width:100%;border-collapse:collapse;font-size:1rem}.n2-chart214 caption{text-align:left;margin-bottom:8px}.n2-chart214 th,.n2-chart214 td{border:1px solid #bdcde2;padding:8px;text-align:center}.n2-chart214 table .n2-jp83{font-size:1rem}@media(max-width:480px){.n2-chart214{margin:16px 0;padding:10px}.n2-chart-plot214,.n2-chart-labels214{gap:10px;grid-template-columns:3rem repeat(2,minmax(0,1fr))}.n2-chart214 th,.n2-chart214 td{padding:5px}}

/* All visual changes live under the Bài 1 pilot class. */
.n3-pilot86{min-width:0}.n3-pilot86 .n3-jp60{font-size:22px;line-height:1.95;overflow-wrap:anywhere}.n3-pilot86 rt{font-size:.66em;line-height:1.1}.n3-pilot86 .n3-grammar60,.n3-red86{color:#b32332!important;background:transparent;font-style:normal;font-weight:750;padding:0}.n3-pilot86 details{border:1px solid #d8dfe4;border-radius:12px;padding:14px 16px;margin:16px 0}.n3-pilot86 summary{cursor:pointer;font-weight:650;line-height:1.6}.n3-pilot86 details[open]>summary{margin-bottom:12px}.n3-comic86{border-radius:18px;padding:22px;background:#f3eddf;border:1px solid #d3c7b2}.n3-comic-title86{padding:0 2px 18px}.n3-comic-title86>span{font-size:13px;letter-spacing:.12em;font-weight:750;color:#716346}.n3-comic-title86 h2{font-size:28px;margin:6px 0}.n3-scenes86{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.n3-frame86{position:relative;isolation:isolate;overflow:hidden;margin:0;min-width:0;min-height:620px;padding:14px 14px 300px;border:2px solid #293c43;border-radius:5px;background:#e6dfd2}.n3-frame86>.n3-illustration86{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;z-index:-1}.n3-context86{display:flex;align-items:center;gap:9px;margin:0 0 12px;position:relative;z-index:1;color:#173e46;font-size:13px;font-weight:650}.n3-context86>b{display:grid;place-items:center;flex:0 0 31px;height:31px;border-radius:50%;background:#173e46;color:#fff;font-size:14px}.n3-context86>span{padding:4px 9px;border-radius:5px;background:#fff9e9ed;line-height:1.5}.n3-bubble86{position:relative;padding:16px 18px 10px;border:2px solid #2d3339;border-radius:28px;background:#fffef9;box-shadow:0 3px 0 #26394514;z-index:1}.n3-bubble86:after{content:"";position:absolute;width:20px;height:24px;background:#fffef9;border-right:2px solid #2d3339;border-bottom:2px solid #2d3339;bottom:-15px;left:48%;transform:skewY(25deg) rotate(25deg)}.n3-bubble86.tail-left:after{left:24%}.n3-bubble86.tail-right:after{left:73%}.n3-speaker86{display:block;font-size:13px;line-height:1.5;color:#626467;margin-bottom:8px}.n3-course60 .n3-bubble86 p{margin:6px 0 10px}.n3-course60 .n3-bubble86 .n3-vi86{font-size:16px;line-height:1.55;color:#435058;border-top:1px solid #e6e3db;padding-top:10px;margin:10px 0 2px}.n3-bubble86 .n3-audio60{min-height:36px;padding:4px 0}.n3-read86 .n3-passage86{height:520px;max-height:65vh;padding:22px;white-space:normal;scrollbar-gutter:stable;background:#fcfbf7}.n3-passage86>p{margin:0 0 26px}.n3-passage86 .n3-jp60{line-height:2.3;white-space:pre-line}.n3-paragraph-number86{display:block;font-size:13px;font-weight:750;color:#71818a;margin-bottom:3px}.n3-read86 .n3-question86{margin:22px 0;padding:18px;border:1px solid #ccd8df;border-radius:12px;min-width:0}.n3-question86 legend{padding:0 8px;font-weight:700;color:#315761}.n3-question86 h3{margin:0 0 18px}.n3-question86 .n3-options60 label{align-items:flex-start}.n3-question86 input{margin-top:13px}.n3-mode-note86{color:#53676b}.n3-read-feedback86{color:#285763;min-height:1.4em}.n3-speak-layout86{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(0,1.15fr);gap:26px;align-items:start;margin:24px 0}.n3-speak-layout86 figure{margin:0;border-radius:14px;overflow:hidden;background:#edf3f1;border:1px solid #d0deda}.n3-speak-layout86 .n3-speaking-image86{display:block;width:100%;height:300px;object-fit:cover;object-position:center bottom}.n3-speak-layout86 figcaption{font-size:16px;line-height:1.7;padding:16px}.n3-speak-layout86 h3{margin-top:0}.n3-keywords86{display:flex;gap:10px;flex-wrap:wrap}.n3-keywords86>span{background:#e8f1ed;border-radius:8px;padding:7px 12px}.n3-model86{background:#f4f7ed;border-color:#cedcbb!important}.n3-model86>summary{color:#355334}.n3-speaking86 textarea{width:100%;min-height:130px;margin:12px 0 16px;font-size:18px}.n3-speaking86>label{display:block;font-weight:600;margin-top:22px}.n3-pilot86 button,.n3-pilot86 select{min-height:44px}.n3-modes86 button{flex:1;min-width:180px}.n3-speaking86 li{margin:10px 0;line-height:1.7}
@media(max-width:760px){.n3-comic86{padding:12px}.n3-scenes86{grid-template-columns:1fr;gap:16px}.n3-comic-title86{padding:6px 4px 16px}.n3-comic-title86 h2{font-size:24px}.n3-frame86{min-height:590px;padding:12px 12px 285px}.n3-bubble86{padding:14px 14px 9px}.n3-pilot86 .n3-jp60{font-size:22px}.n3-pilot86 rt{font-size:14px}.n3-speak-layout86{grid-template-columns:1fr;gap:22px}.n3-read86 .n3-passage86{height:480px;padding:16px;max-height:66vh}.n3-read86 .n3-question86{padding:14px 12px}.n3-pilot86 details{padding:12px}.n3-modes86 button{min-width:130px}.n3-context86{gap:7px}.n3-context86>span{font-size:12px}.n3-speak-layout86 .n3-speaking-image86{height:310px}}

/* Keep full-width character art at the bottom on phones; the same scene fills the balloon backdrop. */
.n3-frame86{background-size:cover;background-position:center top}
@media(max-width:760px){.n3-frame86>.n3-illustration86{top:auto;bottom:0;height:auto;width:100%;max-height:none;object-fit:contain}.n3-course60:has(.n3-pilot86)>.n3-tabs60{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;max-height:none;gap:8px;padding:8px 0 12px}.n3-course60:has(.n3-pilot86)>.n3-tabs60>button{flex:0 0 auto;white-space:nowrap;width:auto}}

.boss-art87{display:flex;gap:1.5rem;align-items:center;margin:0 0 1.5rem;border:1px solid #c4ccdc;background:#f2f6fa;border-radius:18px;overflow:hidden;color:#29334b}.boss-art87 img{width:34%;max-width:330px;height:auto;flex:none}.boss-art87 figcaption{padding:1rem}.boss-art87 h2{font-size:1.5rem;line-height:1.5}.boss-art87.compact img{max-width:150px}.boss-art87 p{font-size:1rem;line-height:1.7}.n3-task87 details,.hint87{padding:.8rem 1rem;border:1px solid #ccc5dd;border-radius:12px;margin:.75rem 0}.n3-task87 summary,.hint87 summary{font-size:1rem;cursor:pointer;min-height:24px}.n3-quiz87 .n3-jp60,.n3-quiz87 .n3-options60 span,.n3-quiz87 .n3-tokens60 button{line-height:2.2;font-size:1.25rem}.n3-quiz87 rt{font-size:.875rem;line-height:1.2}.n3-quiz87 .n3-question60{min-width:0;overflow-wrap:anywhere}.pk-entry87{border:2px solid #8470bd;margin-top:1.5rem}.game-sets87{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.game-sets87 article{min-width:0}.game-sets87 .row{flex-wrap:wrap}.difficulty87 button{min-width:90px;min-height:44px}.game-round87{max-width:1000px;margin:1.25rem auto;font-size:1rem}.game-round87 h2{white-space:pre-line;line-height:1.8;font-size:1.25rem}.game-round87 .passage87{white-space:pre-line;line-height:2;font-size:1.2rem;background:#f6f5fb;padding:1rem;border-left:3px solid #9985bf}.game-round87 button{font-size:1rem;min-height:44px;white-space:normal;overflow-wrap:anywhere}.game-round87 .game48-answer{min-height:90px;line-height:2;font-size:1.25rem}.match-board87{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.match-board87 h3{font-size:1rem}.match-board87>div{display:flex;flex-direction:column;gap:.65rem;min-width:0}.match-board87 button{padding:.7rem .5rem;min-height:60px}.match-board87 button[aria-pressed=true]{background:#654694;color:white;border-color:#654694}.match-board87 button:disabled{opacity:.3}.n3-quiz87 .n3-options60 label{min-width:0}.n3-quiz87 .n3-options60 input{flex:none}
@media(max-width:650px){.game-sets87{grid-template-columns:1fr}.boss-art87{display:block}.boss-art87 img{width:100%;max-width:none;aspect-ratio:4/3;object-fit:cover}.boss-art87.compact{display:flex;gap:.5rem}.boss-art87.compact img{width:95px;height:130px;object-fit:cover}.boss-art87.compact h2{font-size:1.125rem}.boss-art87.compact p{display:none}.boss-art87 figcaption{padding:1rem}.match-board87{gap:.4rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2.7fr)}.match-board87 h3{font-size:.9375rem}.match-board87 button{font-size:1rem;padding:.6rem .3rem}.game-round87{padding:1rem}.game-round87 .answer-grid{grid-template-columns:1fr}.n3-task87 details,.hint87{padding:.7rem}.n3-quiz87 .n3-question60{padding:1rem .5rem}}

.games-grid88{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.game-entry88{min-width:0}.game-entry88 h2{font-size:25px}.game-entry88>.row{margin-top:auto}.game-entry88{display:flex;flex-direction:column}.detective-cover88{width:100%;height:180px;object-fit:cover;border-radius:12px;margin-bottom:12px}.detective-banner88{display:block;width:100%;max-height:360px;object-fit:cover;border-radius:16px;margin-bottom:22px}.detective-case88{display:block;width:100%;height:150px;object-fit:cover;object-position:center 25%;border-radius:14px;margin-bottom:20px}.difficulty88{margin:20px 0}.game-question88{max-width:980px;margin-inline:auto}.game-question88 h2{font-size:21px;line-height:1.8}.detective-passage88{padding:24px;background:#fafcff;border:1px solid #d5dfeb;border-radius:12px;color:#1d2c45;font-size:22px;line-height:2.1;white-space:pre-wrap;margin:20px 0;overflow-wrap:anywhere}.detective-passage88 rt,.game-question88 rt{font-size:14px}.evidence88{background:transparent;color:inherit;text-decoration:underline;text-decoration-color:#c32943;text-decoration-thickness:3px;text-underline-offset:6px}.evidence-label88{color:#aa1d35}.workshop-target88,.workshop-tiles88{display:flex;gap:10px;flex-wrap:wrap;padding:18px;border:1px solid #cad8e7;border-radius:12px;margin:18px 0;min-height:78px}.workshop-target88{background:#f1f5ff}.workshop-tiles88{border:0;padding-inline:0}.workshop-tiles88 button,.workshop-target88 button{font-size:20px;min-height:48px;line-height:1.8}.game-feedback88{background:#eff7f1;border:1px solid #bbd3c2;border-radius:12px;padding:18px;margin:22px 0;font-size:17px}.chosen88,.answer.chosen88,.secondary.chosen88,label:has(>input[type=radio]:checked),label:has(>input[type=radio]:checked)>span{background:#e9ddff!important;border-color:#7547bd!important;color:#331660!important;opacity:1!important}.chosen88{box-shadow:inset 0 0 0 2px #7547bd!important}.choice-mark88{display:block;font-size:14px;line-height:1.5;font-weight:700;margin-top:5px;color:#4e2485}label:has(>input[type=radio]:checked){outline:2px solid #7547bd;outline-offset:-2px;border-radius:10px}label:has(>input[type=radio]:checked):after{content:'✓ Đã chọn';font-size:14px;font-weight:700;color:#4e2485;margin:4px 8px;align-self:center}.answer[aria-pressed=true]{background:#e9ddff;border-color:#7547bd;color:#331660}.game-question88 details{padding:12px;border:1px solid #d2dce9;border-radius:10px;margin:12px 0}.arena-music88{margin:20px 0}.arena-music88 .row{flex-wrap:wrap}.arena-music88 label{min-width:150px}.arena-music88 select{max-width:100%;font-size:16px}.answer-grid button{overflow-wrap:anywhere}.game-question88 .answer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-question88 button{min-height:44px}
@media(max-width:720px){.games-grid88{grid-template-columns:1fr}.detective-banner88{height:200px}.detective-cover88{height:auto}.detective-passage88{padding:16px;font-size:21px}.game-question88 .answer-grid{grid-template-columns:1fr}.workshop-target88,.workshop-tiles88{padding:12px;gap:8px}.game-question88{padding:16px}.choice-mark88{font-size:14px}.game-entry88>.row>button{width:100%}.arena-music88 .row>label{width:100%}}
.detective-case88{height:240px;object-fit:contain;object-position:center;background:#172233}.detective-cover88{height:auto;aspect-ratio:1672/941}.detective-banner88{object-fit:contain;background:#172233}
@media(max-width:720px){.detective-case88{height:auto;aspect-ratio:1672/941}}
#roomSetup50 [hidden]{display:none!important}

.n3-frame88{position:relative;isolation:isolate;overflow:hidden;margin:0;padding:14px 14px 310px;border:2px solid #293c43;border-radius:5px;background:#e6dfd2;min-height:650px;min-width:0}.n3-atlas88{display:block;width:100%;height:auto;overflow:hidden}.n3-frame88>.n3-foreground88{position:absolute;bottom:0;left:0;width:100%;height:auto;max-height:340px;z-index:-1}.n3-backdrop88{position:absolute;inset:0;z-index:-2;overflow:hidden}.n3-backdrop88 svg{width:100%;height:100%;filter:blur(2px);opacity:.7}.n3-frame88 .n3-bubble86{margin-bottom:14px}.n3-frame88 .n3-context86{margin-bottom:12px}.n3-frame88 .n3-vi86{font-size:16px;line-height:1.6;border-top:1px solid #dedbd4;padding-top:10px;color:#435058}.n3-speaking-atlas88{max-height:440px;width:100%}.boss-lesson88{display:flex;align-items:center;gap:26px;background:#f6f0ff;border:1px solid #d7c5ef;border-radius:18px;padding:20px;margin:0 0 24px;min-width:0}.boss-lesson88 img{width:150px;height:150px;object-fit:contain;border-radius:12px}.boss-lesson88 figcaption{min-width:0}.boss-lesson88 h2{font-size:24px}.n3-course60 .n3-question60:not(:has(.no-ruby88)) .n3-jp60{font-size:20px;line-height:1.9}.n3-course60 rt{font-size:14px;line-height:1.1}.n3-course60 .n3-grammar60{color:#b32332;font-style:normal}.n3-frame88 .n3-speaker86{font-size:14px}
@media(max-width:760px){.n3-frame88{min-height:560px;padding:12px 12px 265px}.n3-frame88>.n3-foreground88{max-height:none}.boss-lesson88{gap:16px;padding:16px;align-items:flex-start}.boss-lesson88 img{width:88px;height:88px}.boss-lesson88 h2{font-size:20px}.boss-lesson88 p{font-size:16px}.n3-course60:has(.n3-frame88)>.n3-tabs60{flex-wrap:nowrap;overflow-x:auto}.n3-course60:has(.n3-frame88)>.n3-tabs60>button{flex:0 0 auto;white-space:nowrap}.n3-pilot86 .n3-jp60{font-size:22px}.n3-pilot86 rt{font-size:14px}}
/* Speech has its own space inside the illustrated panel; never cover a face. */
.n3-frame88{display:flex;flex-direction:column;padding:14px 14px 0;min-height:0}.n3-frame88>.n3-foreground88{position:relative;left:auto;bottom:auto;z-index:0;max-height:none;width:calc(100% + 28px);margin:14px -14px 0;height:auto}.n3-frame88 .n3-bubble86{margin-bottom:auto}.n3-frame88 .n3-bubble86:after{z-index:2}
@media(max-width:760px){.n3-frame88{padding:12px 12px 0;min-height:0}.n3-frame88>.n3-foreground88{width:calc(100% + 24px);margin:14px -12px 0}}

.exam-tabs89,.exam-groups89{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.exam-tabs89>button{flex:1;min-width:230px;padding:18px}.exam-grid89{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.exam-set89{display:flex;flex-direction:column;gap:8px}.exam-set89 .row{margin-top:auto}.exam-bar89{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;padding:16px;background:#fff9ed;border:1px solid #dbcdaa;border-radius:14px;color:#26334b}.exam-bar89>div{flex:1}.exam-bar89 small{display:block}.exam-bar89 strong{font:700 28px ui-monospace,monospace}.exam-bar89 .urgent89{color:#b42437}.exam-numbers89{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.exam-numbers89 button{min-width:42px;min-height:42px;padding:8px}.exam-numbers89 .current89{outline:3px solid #6650c9;outline-offset:2px}.exam-numbers89 .answered89{background:#eee7ff;color:#4d2f89}.exam-question89 h2{font-size:21px;line-height:1.9;white-space:pre-line}.exam-passage89{font-size:21px;line-height:2;white-space:pre-wrap;padding:24px;border:1px solid #ddcfb4;background:#fffdf5;color:#283444;border-radius:12px;margin:18px 0;overflow-wrap:anywhere}.exam-options89{display:grid;gap:12px;margin:20px 0}.exam-option89{position:relative;display:flex;gap:14px;align-items:center;text-align:left;padding:18px;border:2px solid #d5cdbd;border-radius:12px;background:#fffdf5;color:#293349;font-size:20px;line-height:1.8;cursor:pointer;min-height:68px;white-space:pre-line}.exam-option89:hover{border-color:#8971ca}.exam-option89.chosen89{background:#e9dfff!important;border-color:#7049b5!important;color:#342059!important;box-shadow:0 0 0 2px #7049b52b}.exam-option89 .choice-mark88{margin-left:auto;font-size:13px;min-width:64px}.exam-picture89{display:block;background-size:400% 300%;background-repeat:no-repeat;width:100%;max-width:360px;aspect-ratio:1;background-color:#fff;border-radius:8px}.exam-options89.pictures89{grid-template-columns:repeat(2,minmax(0,1fr))}.pictures89 .exam-option89{flex-wrap:wrap}.pictures89 .exam-picture89{max-width:none}.exam-review-choice89 .exam-picture89{max-width:240px}.exam-review89 p{white-space:pre-wrap;line-height:1.9}.exam-review89 summary{font-weight:700}.exam-forms89{border:0;width:100%;min-height:80vh;background:white;border-radius:18px}.exam-intro89{max-width:800px}.exam-actions89{gap:12px}.exam-result89 h2{font-size:30px}.exam-review89 mark{background:#fff2d6;color:#27304a}@media(max-width:600px){.exam-grid89{grid-template-columns:1fr}.exam-bar89{gap:8px;padding:12px}.exam-bar89 strong{font-size:23px}.exam-bar89 b{font-size:13px}.exam-bar89 small{font-size:11px}.exam-bar89 button{font-size:12px;padding:8px}.exam-passage89{padding:15px;font-size:19px}.exam-question89 h2{font-size:19px}.exam-option89{padding:13px;font-size:19px}.exam-option89 .choice-mark88{display:block;width:100%;margin:0}.exam-options89.pictures89{gap:8px}.pictures89 .exam-option89{padding:8px}.exam-tabs89>button{min-width:0;flex-basis:100%}}

.exam-picture-pair89{display:flex;width:100%;gap:3px}.exam-picture-pair89 .exam-picture89{width:50%;min-width:0}

@media(max-width:600px){.exam-options89.pictures89:has(.exam-picture-pair89){grid-template-columns:1fr}.exam-bar89 small{font-size:12px}}

.anime92{max-width:1180px;margin:auto;padding-bottom:24px}.anime92 .anime-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.anime92 h1{font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.25;margin:8px 0}.anime92 h2{font-size:1.25rem}.anime92 p{line-height:1.65}.anime92 .anime-kicker{color:#7971e8;font-weight:700;font-size:.875rem;letter-spacing:.08em}.anime92 .anime-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:20px;align-items:start}.anime92 .anime-screen{background:#101326;aspect-ratio:16/9;min-height:210px;border-radius:16px;overflow:hidden;display:grid;place-items:center}.anime92 .anime-screen iframe{width:100%;height:100%;border:0}.anime92 .anime-screen>div{text-align:center;padding:24px;color:white}.anime92 .anime-screen p{color:#e0dfff}.anime92 .anime-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}.anime92 .anime-row button{min-height:44px}.anime92 .anime-status{font-size:.9rem;min-height:1.6em;margin:10px 0;color:var(--muted,#667085)}.anime92 .anime-notice{background:#f4f2ff;border-left:3px solid #7971e8;padding:12px 16px;border-radius:8px;color:#343052;font-size:.9rem}.anime92 .anime-segment{display:grid;grid-template-columns:1fr 1fr;gap:12px}.anime92 label{display:block;font-size:.9rem}.anime92 input[type=number],.anime92 select{width:100%;min-height:44px;padding:10px;border:1px solid #c9c8df;border-radius:9px;background:white;color:#20213c;font:inherit}.anime92 input[type=checkbox]{width:auto;margin-right:6px}.anime92 .anime-word-list{display:flex;gap:8px;flex-wrap:wrap}.anime92 .anime-word-list button{font-size:1.1rem;min-height:44px;padding:9px 16px}.anime92 .anime-word-list button[aria-pressed=true]{background:#5d52d2;color:white}.anime92 .anime-word-detail{padding:16px;background:#f5f5fc;border-radius:12px;margin-top:14px;color:#23243c}.anime92 .anime-word-detail h3{font-size:1.7rem;margin:0}.anime92 .anime-word-detail [lang=ja]{line-height:1.9}.anime92 .anime-small{font-size:.875rem;color:#62657a}.anime92 audio{width:100%;margin:12px 0}.anime92 button:disabled{opacity:.5;cursor:not-allowed}.anime92 .anime-source{font-size:.875rem;overflow-wrap:anywhere}.anime92 .anime-recording{color:#ae2448;font-weight:700}.anime92 .anime-check{display:flex;align-items:center;gap:6px;min-height:40px}.anime92 .anime-bottom{margin-top:20px}.anime-nav92{border-top:1px solid #deddec;margin-top:8px;padding-top:12px!important}@media(max-width:820px){.anime92 .anime-layout{grid-template-columns:1fr}.anime92{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.anime92 .panel{padding:16px}.anime92 .anime-screen{border-radius:10px}.anime92 .anime-top{margin-bottom:12px}}@media(prefers-reduced-motion:reduce){.anime92 *{scroll-behavior:auto!important}}

@media(max-width:850px){#mobile-nav29 .anime-nav92{margin-top:0;border-top:0;padding-top:6px!important}}

.shadowing-category93{max-width:680px}.shadowing-category93 h2{font-size:1.6rem}.shadowing-category93 .button{margin-top:12px}

.lesson-display-controls94{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin:16px 0 24px}.lesson-display-controls94 label{display:flex;align-items:center;gap:9px;min-height:44px;font-size:1rem;line-height:1.6;cursor:pointer}.lesson-display-controls94 input{width:20px;min-width:20px;height:20px;accent-color:#c32b62}
#main[data-lesson-display94].lesson-hide-ruby94 rt,#main[data-lesson-display94].lesson-hide-ruby94 rp{display:none!important}
#main[data-lesson-display94].lesson-hide-vi94 .lesson-translation94{display:none!important}
/* N2 story only: live speech balloons over the existing illustration. */
.n2-scene83{position:relative;isolation:isolate;display:flex;flex-direction:column;padding:14px 14px 0;overflow:hidden;border-radius:5px;background:#e6dfd2}
.n2-backdrop94{position:absolute;inset:0;overflow:hidden;z-index:-1}.n2-backdrop94 .n2-art83{height:100%;aspect-ratio:auto!important;filter:blur(2px);opacity:.65}
.n2-context94{display:flex;align-items:center;gap:9px;margin-bottom:12px;font-size:.875rem;color:#173e46}.n2-context94 b{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:#173e46;color:white}.n2-context94 span{background:#fff9e9ed;padding:4px 9px;border-radius:5px;line-height:1.5}
.n2-scene83 .n2-bubble83{position:relative;margin:0 0 auto;padding:16px 18px 10px;border:2px solid #2d3339;border-radius:28px;background:#fffef9;box-shadow:0 3px 0 #26394514;z-index:1}
.n2-bubble83:after{content:"";position:absolute;width:20px;height:24px;bottom:-15px;left:24%;background:#fffef9;border-right:2px solid #2d3339;border-bottom:2px solid #2d3339;transform:skewY(25deg) rotate(25deg)}.n2-bubble83.tail-right94:after{left:73%}
.n2-scene83>.n2-art83{margin:18px -14px 0;width:calc(100% + 28px)}.n2-scene83 .n2-translation83{border-top:1px solid #dedbd4;padding-top:10px}.n2-scene83 .n2-jp83{font-size:1.375rem;line-height:1.95}.n2-scene83 .n2-speaker83{font-size:.875rem}
@media(max-width:760px){.n2-scene83{padding:12px 12px 0}.n2-scene83>.n2-art83{width:calc(100% + 24px);margin:18px -12px 0}.n2-scene83 .n2-bubble83{padding:14px 14px 9px}}

.lesson-display-note94{flex-basis:100%;font-size:.875rem;color:#675e75}

/* In-flow coach: leaves lesson text and actions visible at every width. */
.guide-bubble96{box-sizing:border-box;position:relative;isolation:isolate;width:100%;max-width:680px;margin:16px 0 22px;padding:18px 20px;border:1px solid #d3c7ef;border-left:5px solid #7251ac;border-radius:18px 18px 18px 4px;background:#faf6ff;color:#302747;box-shadow:0 6px 20px #43346a0c;font:400 15px/1.65 system-ui,sans-serif;text-align:left;grid-column:1/-1;scroll-margin:90px}
.guide-bubble96:after{content:'';position:absolute;bottom:-9px;left:24px;width:15px;height:15px;transform:rotate(45deg);border-right:1px solid #d3c7ef;border-bottom:1px solid #d3c7ef;background:#faf6ff}
.guide-caption96{display:flex;align-items:center;justify-content:space-between;gap:12px}.guide-caption96 span{font-size:10px;letter-spacing:.09em;font-weight:750;color:#71538f}.guide-caption96>button{font:24px/1 system-ui;background:transparent;border:0;color:#604778;min-width:44px;min-height:44px;cursor:pointer;border-radius:8px}
.guide-bubble96 h3{font-size:18px;line-height:1.4;margin:3px 0 9px;color:#36234f}.guide-bubble96 p{font:inherit;margin:0 0 16px;color:#4d405e}.guide-actions96{display:flex;flex-wrap:wrap;gap:8px}.guide-actions96 button{font:600 14px/1.4 system-ui;min-height:44px;padding:10px 14px;border:1px solid #7251ac;border-radius:10px;background:#654591;color:white;cursor:pointer}.guide-actions96 button.secondary{background:#fff;color:#57367d;border-color:#d2c3e5}.guide-bubble96 button:focus-visible,.guide-tools96 button:focus-visible{outline:3px solid #c39329;outline-offset:3px}.guide-target96{outline:2px dashed #9470c2!important;outline-offset:5px;scroll-margin:85px}
.guide-tools96{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;margin:0 0 18px;background:#f5f2fa;border:1px solid #e1dbea;border-radius:14px}.guide-shortcuts96{display:flex;flex-wrap:wrap;gap:8px}.guide-exp96{flex:1;max-width:580px;min-width:0;color:#3d3154}.guide-exp96>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 18px;font-size:14px}.guide-exp96 span,.guide-exp96 small{display:block;font-size:12px;color:#62596e}.guide-exp96 progress{display:block;width:100%;height:8px;margin:8px 0;accent-color:#7756a8;border:0;border-radius:9px;overflow:hidden}.guide-exp96 progress::-webkit-progress-bar{background:#e2daed}.guide-exp96 progress::-webkit-progress-value{background:#7756a8;border-radius:9px}.guide-exp96 progress::-moz-progress-bar{background:#7756a8}
.mission-row44.mission-received96,.task29.mission-received96{background:#e3e2e8!important;border-color:#cac7d2!important;box-shadow:none;color:#585362}.mission-received96 b,.mission-received96 p,.mission-received96 .mission-state44{color:#615b69!important}.mission-received96 button:disabled{opacity:1!important;background:#cfccd7!important;color:#55505e!important;border-color:#bbb6c5!important;cursor:default;box-shadow:none;filter:none}.mission-received96:before{opacity:.4}
@media(max-width:700px){.guide-tools96{align-items:stretch;flex-direction:column;padding:12px}.guide-shortcuts96 button{min-height:44px}.guide-exp96{max-width:none}.guide-bubble96{padding:12px 14px;margin:12px 0 20px;max-width:100%}.guide-bubble96 h3{font-size:17px}.guide-bubble96 p{font-size:14px}.guide-actions96 button{flex:1 1 150px}.guide-caption96 span{font-size:9px}.guide-target96{outline-offset:2px}}
@media(prefers-reduced-motion:reduce){.guide-bubble96,.guide-target96{scroll-behavior:auto!important}}

.n5-nav98{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.n5-nav98 .n4-top46{margin:0 0 16px}.n5-nav98 .n4-tabs46{gap:8px;margin:0}.n5-nav98 .n4-tabs46 button{display:flex;align-items:center;gap:7px;min-height:48px}.n5-nav98 .n4-tabs46 button>span{font-size:.875rem;opacity:.85}.n5-nav98 small{font-size:.75rem}.n5-location98{margin:16px 0 24px;color:#61606f;font-size:.95rem}.n5-body98{width:100%;min-width:0}.n5-body98>.panel{margin:0 0 20px}.n5-body98 .n5-comic98{padding:12px;overflow:hidden}.n5-footer98{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 0 8px}.n5-review-note98{font-size:1rem;line-height:1.7}.n5-review-note98 p{margin-top:0}.n5-review-note98 button{margin:4px 8px 0 0}.n5-body98>.reward72{margin-top:20px}.n5-body98 .story16>.comic17{margin-bottom:20px}@media(max-width:700px){.n5-nav98 .n4-tabs46{position:static;flex-wrap:wrap;overflow:visible;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:transparent;padding:0}.n5-nav98 .n4-tabs46 button{min-width:0;white-space:normal;text-align:left;padding:10px;flex-wrap:wrap;font-size:.875rem}.n5-nav98 .n4-top46{flex-direction:row;align-items:center}.n5-body98 .n5-comic98{padding:4px}.n5-footer98>*{flex:1;min-width:140px}.n5-location98{margin:14px 0 18px}}

.class-tabs103,.class-tabs103+.row{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.class-grid103{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px}.class-grid103 .panel{min-width:0;margin:0}.class-grid103 textarea,.class-create103 input,#class-body103 textarea{width:100%;font-size:16px;box-sizing:border-box}.class-grid103 label,.class-create103 label,#class-body103 label{display:block;margin:12px 0;font-size:16px}.board-paper103{min-height:180px;padding:20px;background:white;color:#173d3b;border:1px solid #b9d5ca;white-space:pre-wrap;overflow-wrap:anywhere;font-size:18px;line-height:1.8;border-radius:12px}.sentence103,.puzzle103{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.sentence103 span{padding:12px 18px;background:#e4f1ec;color:#17483c;border:2px solid #86b5a3;border-radius:12px;font-size:22px}.sentence103 small{display:block;font-size:14px}.class-grid103 fieldset{border:1px solid #c5d8d0;border-radius:12px;padding:14px}.choice103{display:flex!important;align-items:center;gap:12px}.choice103 input{width:20px!important;height:20px}.key103{border-left:4px solid #b93131;padding:12px;text-decoration:underline;text-decoration-color:#c23131;text-underline-offset:5px}.attempt103{border-top:1px solid #ccc;padding:12px 0}.submitted-text103{white-space:pre-wrap;overflow-wrap:anywhere}#teacher-control103{margin-top:20px}#class-body103 [role=status]{font-size:16px}.class-grid103 input[readonly]{width:100%;font-size:16px}.class-board103 form{margin-top:20px}@media(max-width:800px){.class-grid103{grid-template-columns:1fr}.class-tabs103 button{flex:1 1 130px}#class-body103 .row{flex-wrap:wrap}#class-body103 audio{max-width:100%}}

.kana-gallery105{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.kana-gallery105 figure{margin:0;min-width:0}.kana-gallery105 img{display:block;width:100%;height:auto;border-radius:12px}.kana-gallery105 figcaption{font-size:16px;padding:12px 0;line-height:1.6}@media(max-width:700px){.kana-gallery105{grid-template-columns:1fr}}

#lesson106{font-size:17px;line-height:1.7}.lesson-hero106{border-top:5px solid #26b8d2!important}.lesson-hero106 .row{flex-wrap:wrap;gap:16px}.lesson-hero106 input{width:20px!important;height:20px}.lesson-note106{font-size:14px}.stage-nav106{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0}.stage-nav106 button{white-space:normal;text-align:left;font-size:15px;padding:12px}.stage-nav106 small,.piece106 small{display:block;font-size:14px}.scene106{width:min(100%,420px);aspect-ratio:1;background-image:url('/classroom-n5-106/scenes.webp');background-size:300% 200%;border-radius:16px;margin:16px auto;max-height:none}.scene106-0{background-position:0 0}.scene106-1{background-position:50% 0}.scene106-2{background-position:100% 0}.scene106-3{background-position:0 100%}.scene106-4{background-position:50% 100%}.scene106-5{background-position:100% 100%}.goal-grid106{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.goal-grid106>*,.road106 article{background:#edf8ff;color:#173c57;padding:16px;border:1px solid #b7dfee;border-radius:12px}.road106{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.model106,.pieces106,.tray106{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0;align-items:center}.model106>*{background:#e4f6ff;color:#123953;border:2px solid #45b5df;border-radius:12px;padding:10px 18px;font-size:24px}.model106 b{background:#fff0bd;border-color:#eeb52b;color:#614000}.piece106{border:2px solid #40a6c5;border-radius:12px;background:#e9faff;color:#153747;font-size:20px;min-height:48px;padding:10px 16px;cursor:pointer}.tray106{min-height:85px;border:2px dashed #428ba4;border-radius:12px;padding:14px}.hide-meaning106 .meaning106{display:none}.hide-ruby106 rt{visibility:hidden}.jp106{font-size:26px;line-height:2.5}.jp106 rt{font-size:14px}.stage106 details{margin:18px 0}.stage106 select{font-size:18px;min-height:44px}.stage106 fieldset{border:1px solid #7793a6;border-radius:12px;padding:16px;margin:18px 0}.stage106 fieldset label{display:flex!important;gap:10px;align-items:center}.stage106 input[type=radio]{width:20px!important;height:20px;flex-shrink:0}.result106{border-left:5px solid #e5a02a;padding:12px 18px;margin:12px 0;background:#fff4dc;color:#493411}.correct106{border-color:#268b63;background:#eaf7ef;color:#174730}@media(max-width:700px){.stage-nav106,.road106,.goal-grid106{grid-template-columns:repeat(2,minmax(0,1fr))}.model106>*{font-size:20px;padding:8px 12px}.scene106{max-height:none}}@media(max-width:420px){.goal-grid106,.road106{grid-template-columns:1fr}}

/* Scoped to the classroom lesson, never the self-study courses. */
#lesson106 .panorama107{position:relative;border-radius:24px;overflow:hidden;border:4px solid #b7e7f2;background:#eafaff}#lesson106 .panorama107>img{display:block;width:100%;height:auto}#lesson106 .map-pin107{position:absolute;border:2px solid white;border-radius:30px;padding:10px 16px;background:#fff7d5;color:#213b56;font-weight:800;box-shadow:0 4px 0 #204c6740;cursor:pointer}#lesson106 .pin107-0{left:5%;top:16%}#lesson106 .pin107-1{left:39%;top:10%}#lesson106 .pin107-2{right:4%;top:18%}#lesson106 .pin107-3{right:5%;bottom:10%}#lesson106 .pin107-4{left:41%;bottom:12%}#lesson106 .pin107-5{left:5%;bottom:13%}#lesson106 .speech107{background:#fff9dc;border:2px solid #f4d575;border-radius:20px;padding:18px 22px;margin:18px 0;color:#3c4055}#lesson106 .today107,#lesson106 .pillars107,#lesson106 .mini-missions107{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}#lesson106 .today107 article,#lesson106 .pillars107 article,#lesson106 .mini-missions107 article{padding:22px;border-radius:20px;background:#e4f7f2;border-bottom:5px solid #67bea8}#lesson106 .today107 article:nth-child(2),#lesson106 .pillars107 article:nth-child(2),#lesson106 .mini-missions107 article:nth-child(2){background:#eee7ff;border-color:#ab8bdf}#lesson106 .today107 article:nth-child(3),#lesson106 .pillars107 article:nth-child(3),#lesson106 .mini-missions107 article:nth-child(3){background:#ffe8da;border-color:#eea36f}#lesson106 .journey107{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:24px;background:linear-gradient(140deg,#edfaff,#fff3dd,#f5eaff);border-radius:26px}#lesson106 .station107{position:relative;background:#fff;border:3px solid #81cddf;border-radius:22px;padding:24px 18px 15px;box-shadow:0 6px 0 #75bfd52b}#lesson106 .station107:nth-child(3n+2){border-color:#bda0e9;transform:translateY(8px)}#lesson106 .station107:nth-child(3n){border-color:#f3bc6e}#lesson106 .station-number107{float:right;background:#265c7c;color:#fff;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font-weight:bold}#lesson106 .station107 small{font-weight:800;letter-spacing:1px;color:#506379}#lesson106 .station107 h3{font-size:20px;margin:14px 0}#lesson106 .teacher107{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}#lesson106 .language-row107{padding:20px;border-radius:20px;background:#f0f7ff;margin:18px 0}#lesson106 .brick-line107,#lesson106 .construction107,#lesson106 .brick-bank107,#lesson106 .brick-slots107{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:25px 12px 18px}#lesson106 .brick107{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-direction:column;min-height:58px;padding:14px 22px;border:2px solid #286da2;border-bottom-width:6px;border-radius:8px;background:#c8e9ff;color:#163d60;font-size:20px;font-weight:800;isolation:isolate}#lesson106 .brick107:before{content:'';position:absolute;width:28px;height:10px;top:-11px;left:calc(50% - 14px);border:2px solid currentColor;border-bottom:0;border-radius:5px 5px 0 0;background:inherit;opacity:.8}#lesson106 .brick107:after{content:'';position:absolute;width:13px;height:23px;right:-12px;top:calc(50% - 12px);border:2px solid currentColor;border-left:0;border-radius:0 7px 7px 0;background:inherit;z-index:2}#lesson106 .grammar107{background:#ffe496;border-color:#b98516;color:#644508}#lesson106 .ending107{background:#ffc5bd;border-color:#c76a60;color:#772e36}#lesson106 .adjective107{background:#e4d3ff;border-color:#9470c4;color:#563981}#lesson106 .place107{background:#cef0c8;border-color:#6eaa62;color:#355e30}#lesson106 .vehicle107{background:#b9ece7;border-color:#429e99;color:#235f60}#lesson106 .brick107 small{font-size:12px;margin-top:5px}#lesson106 .chosen107{outline:4px solid #6348b9;outline-offset:4px}#lesson106 .brick107:disabled{opacity:.3}#lesson106 .particle-cards107{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}#lesson106 .particle-cards107 article{padding:20px;background:#fff6df;border:2px solid #efcf82;border-radius:18px}#lesson106 .read-steps107,#lesson106 .mission-picks107,#lesson106 .lab-mode107,#lesson106 .ending-buttons107{display:flex;flex-wrap:wrap;gap:14px;margin:22px 0}#lesson106 .workshop-banner107{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center}#lesson106 .brick-bank107{background:#f2eaff;border-radius:20px;min-height:110px}#lesson106 .brick-slots107{background:#edf6fc;border:3px dashed #81a9c4;border-radius:20px;margin:20px 0;min-height:125px}#lesson106 .socket107{border:2px dashed #84a7bd;background:#fff9;min-width:110px;min-height:76px;border-radius:12px;color:#526f85;font-weight:700;padding:8px;cursor:pointer}#lesson106 .filled107{border-color:transparent;background:none;padding:0}#lesson106 .success107{border-color:#38a67b;background:#e1faed}#lesson106 .lab-fields107{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}#lesson106 .lab-fields107 label{display:grid;gap:8px;font-weight:700}#lesson106 .lab-fields107 select{width:100%;padding:13px;border:2px solid #c9d8e8;border-radius:12px;background:#fff;color:#243c57}#lesson106 .construction107{background:repeating-linear-gradient(0deg,#f5f8fe,#f5f8fe 23px,#e6edf7 24px);border-radius:18px;padding:32px 20px}#lesson106 .vocab-grid107{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}#lesson106 .vocab-grid107 article{padding:15px;text-align:center;background:#edf8ff;border:2px solid #b8ddec;border-radius:18px}#lesson106 .vocab-section107:nth-child(2n) article{background:#fff4df;border-color:#eacb91}#lesson106 .vocab-grid107 .jp106{font-size:25px;min-height:50px}#lesson106 .vocab-grid107 .learned107{border-color:#479d70;background:#e1f7e8}#lesson106 .rest-art107{width:100%;height:auto;border-radius:24px;display:block}#lesson106 .rest-console107{text-align:center;background:#f0eaff;border:3px solid #c2a5ee;border-radius:24px;padding:24px;margin:20px 0}#lesson106 #break-clock107{display:block;font-size:80px;line-height:1.3;font-weight:900;font-variant-numeric:tabular-nums;color:#513986}#lesson106 .rest-console107 .row{justify-content:center}#lesson106 button:focus-visible{outline:4px solid #643aba;outline-offset:4px}@media(max-width:700px){#lesson106 .today107,#lesson106 .pillars107,#lesson106 .mini-missions107,#lesson106 .particle-cards107,#lesson106 .teacher107,#lesson106 .workshop-banner107{grid-template-columns:1fr}#lesson106 .journey107,#lesson106 .vocab-grid107{grid-template-columns:repeat(2,1fr)}#lesson106 .map-pin107{font-size:10px;padding:6px 8px}#lesson106 .lab-fields107{grid-template-columns:1fr}#lesson106 .brick107{font-size:16px;padding:12px 16px}#lesson106 .socket107{min-width:90px}#lesson106 .journey107{padding:12px;gap:12px}#lesson106 .station107{padding:16px 12px}#lesson106 .station107 h3{font-size:17px}}

.class-cards108{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:22px 0}.class-cards108 article{padding:24px;background:#eff4ff;border:2px solid #c6d4ed;border-radius:20px}.homework-bank108{background:#eef8ff;border:2px solid #bad7f0;border-radius:18px;padding:22px;margin:18px 0}.homework-bank108 select,.music-controls108 select{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #b5c3dd;border-radius:10px;background:white;color:#253853;font-size:16px}.music108{background:linear-gradient(135deg,#f2edff,#e9f9ff)!important}.music-controls108{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.song-letters108{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;margin:28px 0}.song-letters108 span{display:grid;place-items:center;min-width:85px;min-height:100px;padding:12px;background:white;border:3px solid #8c77d0;border-bottom-width:8px;border-radius:18px;color:#473482;font-size:56px;font-weight:800}#song-status108{text-align:center;font-size:20px;font-weight:700;min-height:60px}.music108 label{font-size:16px}#class-kana-learning108 canvas{max-width:100%;touch-action:none}#class-kana-learning108 .kana-grid{margin-bottom:20px}@media(max-width:600px){.music-controls108{grid-template-columns:1fr}.song-letters108{gap:8px}.song-letters108 span{min-width:48px;min-height:70px;font-size:36px;padding:8px}.homework-bank108{padding:15px}}

.kana-memory110{margin:18px 0;padding:12px;background:#fff7d8;border-radius:16px}.kana-pictures110{display:flex;align-items:center;justify-content:center;gap:12px}.kana-picture110{position:relative;overflow:hidden;width:100%;max-width:310px;border-radius:10px}.kana-picture110 img{position:absolute;max-width:none!important;height:auto!important;display:block}.kana-memory110 figcaption{font-size:14px;line-height:1.5;margin-top:10px;color:#4a4058}.kana-pictures110:has(> :nth-child(2)) .kana-picture110{max-width:48%}

/* Keep the mnemonic picture beside its stroke model at every viewport width. */
#class-kana-learning108 .grid.cols:has(> .kana-horizontal248){grid-template-columns:minmax(0,1fr)}
#class-kana-learning108 .kana-horizontal248{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px;row-gap:12px;align-items:start}
#class-kana-learning108 .kana-horizontal248 > *{grid-column:1 / -1;min-width:0}
#class-kana-learning108 .kana-horizontal248 > .tag{justify-self:center;grid-row:1}
#class-kana-learning108 .kana-horizontal248 > .kana-memory110{grid-column:1;grid-row:2 / 6;align-self:stretch;margin:0;padding:16px;display:flex;flex-direction:column;justify-content:center}
#class-kana-learning108 .kana-horizontal248 > .kana-stroke-model{grid-column:2;grid-row:2;width:100%;margin:0;gap:8px;flex-wrap:nowrap}
#class-kana-learning108 .kana-horizontal248 .kana-stroke-model figure{min-width:0;max-width:280px}
#class-kana-learning108 .kana-horizontal248 > .stroke-controls{grid-column:2;grid-row:3;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px;margin:0}
#class-kana-learning108 .kana-horizontal248 > label{grid-column:2;grid-row:4;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}
#class-kana-learning108 .kana-horizontal248 > #kanaStrokeStatus{grid-column:2;grid-row:5;margin:0}
#class-kana-learning108 .kana-horizontal248 .stroke-credit{margin:0}
#class-kana-learning108 .kana-horizontal248 .kana-pictures110{min-width:0;gap:8px}
#class-kana-learning108 .kana-horizontal248 .kana-memory110 figcaption{text-align:center}
@media(max-width:600px){
 #class-kana-learning108 .kana-horizontal248{column-gap:10px;row-gap:10px;padding:14px}
 #class-kana-learning108 .kana-horizontal248 > .kana-memory110{padding:8px}
 #class-kana-learning108 .kana-horizontal248 .kana-memory110 figcaption,#class-kana-learning108 .kana-horizontal248 > #kanaStrokeStatus{font-size:12px;line-height:1.5}
 #class-kana-learning108 .kana-horizontal248 .stroke-controls button{font-size:12px;padding:8px 9px;max-width:100%}
 #class-kana-learning108 .kana-horizontal248 > label{font-size:12px}
 #class-kana-learning108 .kana-horizontal248 > label select{max-width:100%;font-size:13px}
}

.lesson-selector112{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 18px}.lesson-selector112 button{white-space:normal}.lesson-selector112 small{display:block;font-size:11px;line-height:1.5;margin-top:5px}.lesson-hero112{background:linear-gradient(120deg,#fff3c4,#d8f7ff,#f6dcff);color:#243450;border:2px solid #78d0cf}.scene112{aspect-ratio:1;background-image:url('/classroom-n5-112/scenes.webp');background-size:200% 200%;max-width:460px;margin:12px auto;border-radius:24px;border:4px solid #fee7aa}.vocab112{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.vocab112 article,.example112,.explain112{padding:16px;border:2px solid #86d3d0;border-radius:18px;background:#f1fdff;color:#20354c;margin:10px 0}.vocab112 article:nth-child(even){background:#fff3c9;border-color:#efc761}.word112{background:#fff;color:#213651;font-size:24px;border:0;border-radius:12px;padding:12px}.example112 b{font-size:23px;line-height:2}.explain112 h3{color:#17677a}.tray112{min-height:90px;border:3px dashed #69babe;border-radius:18px;padding:16px;margin:18px 0;background:#e6fafa}.chosen112{outline:4px solid #e39c27}.clock112{font-size:54px;display:block;text-align:center;color:#167d87;font-variant-numeric:tabular-nums}#check112 label{display:block;padding:10px}#check112 fieldset{margin:12px 0;border-radius:12px;min-width:0}#lesson106.hide-ruby106 rt{visibility:hidden}#lesson106.hide-meaning106 .meaning106{display:none}@media(max-width:650px){.lesson-selector112{grid-template-columns:repeat(2,minmax(0,1fr))}.scene112{max-width:100%}.example112 b{font-size:20px}}

.kanji-lesson113{--ink113:#183e57;--sea113:#0c737c}.kanji-lesson113 .lesson-hero112{background:linear-gradient(115deg,#ffdc54,#82ece3 60%,#a5d9ff);color:var(--ink113)}.kanji-lesson113 .stage106{background:#fffdf5;color:var(--ink113);font-size:1rem;line-height:1.65}.kanji-lesson113 .stage106 h3{color:#125877}.bridge113{display:grid;grid-template-columns:1fr 1fr;gap:16px}.art113{aspect-ratio:1;background-image:url('/classroom-kanji113/discovery.webp');background-size:400% 200%;border-radius:22px;border:3px solid #fff;box-shadow:0 4px 0 #c5e7e9;width:100%;max-width:350px;margin:10px auto}.compound-grid113{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.compound113{background:#e8fbff;border:3px solid #55bec6;border-radius:24px;padding:16px;margin:10px 0;color:var(--ink113)}.compound113:nth-child(3n+2){background:#fff3b3;border-color:#e9b43a}.compound113:nth-child(3n){background:#ffe5e4;border-color:#ec9b88}.compound-pieces113{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin:15px 0}.hv-tile113{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:58px;vertical-align:middle;padding:5px 8px;line-height:1.25;color:#163950}.hv-tile113 small{font-size:.875rem;font-weight:700;color:#9a3927;margin-bottom:6px;text-transform:lowercase;min-height:1.2em}.hv-tile113 strong{font-size:2.6rem;font-weight:800}.hv-word113{display:inline-flex;background:#fff;border-radius:12px;padding:3px;box-shadow:0 3px 0 #bbd4de}.hv-word113 .hv-tile113{min-width:48px;padding:4px}.hv-word113 .hv-tile113 strong{font-size:2.1rem}.brick113{display:inline-flex;align-items:center;background:#ffdc5d;border:3px solid #b57c10;border-bottom-width:7px;border-radius:12px 12px 8px 8px;position:relative;margin:12px 7px;padding:8px;cursor:pointer;color:#183e57}.brick113:before{content:'';position:absolute;top:-9px;left:18%;right:18%;height:7px;background:#ffdc5d;border:2px solid #b57c10;border-radius:5px 5px 0 0}.brick113:disabled{opacity:.45}.brick113:nth-child(even){background:#91e7df;border-color:#248a85}.brick113:nth-child(even):before{background:#91e7df;border-color:#248a85}.kanji-grid113{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kanji-grid113 .compound113{text-align:center;padding:10px}.kanji-grid113 .art113{max-width:180px}.reading-caption113{font-size:.875rem}.jp-reading113{font-size:1.15rem;color:#165886;font-weight:700}.hide-ruby106 .jp-reading113{visibility:hidden}.rule-grid113{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.kanji-lesson113 summary{cursor:pointer;color:#175970;font-weight:700;font-size:1rem}.kanji-lesson113 a{color:#11678a;text-decoration:underline}.kanji-lesson113 .secondary{font-size:.95rem}.kanji-lesson113 .explain112{font-size:1rem}.kanji-lesson113 .piece106{color:#1d3850;background:#ffdc60}.kanji-lesson113 .tag{color:#244254;background:#fff6c4}@media(max-width:720px){.compound-grid113,.rule-grid113{grid-template-columns:1fr}.kanji-grid113{grid-template-columns:repeat(2,minmax(0,1fr))}.hv-tile113 strong{font-size:2.3rem}.compound113{padding:12px}.bridge113{gap:7px}}@media(prefers-reduced-motion:no-preference){.brick113:hover{transform:translateY(-3px)}}

.hv-tile113 .glyph-meaning119{display:block;font-size:.875rem;font-weight:500;line-height:1.4;text-align:center;max-width:6.5rem;margin-top:8px;color:#163950;overflow-wrap:anywhere}.hv-word113{align-items:flex-start}.compound-pieces113>.hv-tile113{align-self:stretch;justify-content:flex-start}.hv-tile113{flex-shrink:0}.kanji-name119{display:flex;justify-content:center;gap:24px;padding:14px;margin:0 0 16px;border-radius:18px;background:#fff3b3;border:2px solid #e9b43a}.hide-meaning106 .hv-tile113 .glyph-meaning119{display:none}

.visual-lesson117 .stage106{background:#f8fcff;border:2px solid #a9e4eb}.visual-lesson117 .art113,.art117{box-shadow:none;border-radius:20px;overflow:hidden}.art117{width:100%;aspect-ratio:1;background-image:url('/classroom-kanji113/journey117.webp');background-size:400% 200%;background-repeat:no-repeat;margin:0 auto}.story-strip117,.homework-grid117{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.story-strip117.two117{grid-template-columns:repeat(2,minmax(0,1fr))}.story-frame117{background:#fff;border:2px solid #8cd6e3;border-bottom:6px solid #39abc3;border-radius:22px;overflow:hidden;min-width:0}.story-frame117:nth-child(2){border-color:#efc660;border-bottom-color:#e9a824;background:#fffdf1}.story-frame117:nth-child(3){border-color:#f8a69a;border-bottom-color:#ed7764;background:#fff7f3}.story-frame117 .art117{border-radius:0}.frame-caption117{padding:16px}.visual-lesson117 .frame-caption117 h3{font-size:1.15rem;margin:0 0 8px;line-height:1.4}.frame-caption117 p{margin:0;font-size:1rem;line-height:1.5}.frame-caption117 .compound-pieces113{margin:8px 0}.mission-strip117,.submit-strip117{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:18px 0;padding:14px;background:#d9f5ff;border:2px solid #65c8e0;border-radius:18px}.mission-strip117 span,.submit-strip117 span{padding:8px 12px;background:#fff;border-radius:12px;font-weight:700;color:#154d68}.short-tip117{text-align:center;font-weight:700;color:#216780}.teacher117{background:#fff;border:1px solid #bfdce6;border-radius:14px;padding:12px 16px}.teacher117 p,.teacher117 li{font-size:1rem}.visual-compound117{padding:12px}.visual-compound117 .art113{max-width:none;margin:0;border:0}.visual-compound117>.compound-pieces113{gap:4px}.visual-lesson117 .compound-grid113{gap:20px}.visual-compound117 details{margin:10px 0!important}.visual-compound117>details>summary{text-align:center;padding:10px;border:2px solid #fff;border-radius:12px;background:#ffffff9c}.meaning-answer117{font-size:1.3rem;font-weight:800}.mini-equation117{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin:12px 0}.sound-nav117{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.sound-nav117 button[aria-pressed=true]{background:#ffe075;color:#563700;border-color:#dca029}.sound-lab117,.word-sound117,.tree-build117,.break-visual117,.exit-banner117{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:24px;align-items:center;background:#fff;border:2px solid #92dce7;border-radius:24px;padding:16px;margin:18px 0}.sound-lab117 h3{font-size:1.25rem}.sound-pairs117{display:grid;gap:10px}.sound-pair117{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff3c4;border:2px solid #f0c651;border-radius:16px;padding:10px}.sound-pair117 .jp-reading113{font-size:1.4rem}.sound-pair117 .hv-tile113 strong{font-size:2.5rem}.sound-pair117 button{padding:8px;min-width:44px;min-height:44px}.word-sound117 .art113,.tree-build117 .art113{width:100%;max-width:none;margin:0}.word-sound117 .row>article{background:#e7faff;padding:14px;border-radius:18px;text-align:center}.tree-build117{background:#f2ffdc;border-color:#bed85d}.visual-lesson117 .kanji-grid113 .compound113{margin:0;padding:10px}.visual-lesson117 .kanji-grid113 .art113{width:100%;max-width:none;margin:0 0 12px}.visual-lesson117 .kanji-grid113 p{margin:8px 0}.visual-lesson117 #sound113>.compound113{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:center}.visual-lesson117 #sound113 .art117{grid-row:1/6;max-width:330px}.visual-lesson117 #sound113 h3,.visual-lesson117 #sound113 p{margin:0}.wordgame117>.art113{max-width:420px}.wordgame117 .tray112{display:flex;align-items:center;justify-content:center;gap:12px;min-height:130px;background:#e4faff;border:3px dashed #27a5c3;border-radius:20px}.exit-banner117{grid-template-columns:minmax(0,180px) minmax(0,1fr);background:#fff0c7;border-color:#eeb951}.homework-grid117 .frame-caption117{min-height:125px}.submit-strip117{background:#eefbe9;border-color:#92cb75}.visual-lesson117 .stage106 details>summary{font-size:1rem}.visual-lesson117 .hide-ruby106 .jp-reading113{visibility:hidden}@media(max-width:850px){.story-strip117,.homework-grid117{grid-template-columns:1fr 1fr}.story-strip117>.story-frame117:last-child:nth-child(3),.homework-grid117>.story-frame117:last-child:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center}.sound-lab117{grid-template-columns:1fr 1fr;gap:12px}.sound-pair117{padding:8px}.sound-pair117 .hv-tile113{min-width:40px;padding:3px}.sound-pair117 .jp-reading113{font-size:1.15rem}}@media(max-width:560px){.story-strip117,.story-strip117.two117,.homework-grid117{grid-template-columns:1fr}.story-strip117>.story-frame117:last-child:nth-child(3),.homework-grid117>.story-frame117:last-child:nth-child(3){display:block;grid-column:auto}.sound-lab117,.word-sound117,.tree-build117,.break-visual117{grid-template-columns:1fr;padding:12px;gap:12px}.sound-lab117>.art117{max-width:300px}.visual-lesson117 #sound113>.compound113{grid-template-columns:1fr}.visual-lesson117 #sound113 .art117{grid-row:auto;max-width:300px}.exit-banner117{grid-template-columns:100px minmax(0,1fr);gap:12px;padding:12px}.exit-banner117 h3{font-size:1.05rem}.mission-strip117,.submit-strip117{gap:8px;padding:10px}.mission-strip117 span,.submit-strip117 span{font-size:.9rem;padding:6px 9px}.visual-compound117 .hv-tile113{min-width:40px;padding:4px}.visual-compound117 .hv-word113 .hv-tile113 strong{font-size:1.8rem}.visual-compound117 .hv-word113 .hv-tile113{min-width:36px}.frame-caption117{padding:14px}}

.verb-lesson120 .lesson-hero112{background:linear-gradient(110deg,#ffdf59,#74e8de,#a4d6ff);color:#183e57}.verb-lesson120 .stage106{background:#f6fcff;color:#183e57;border:2px solid #8bdce8}.art120{width:100%;aspect-ratio:1;background-image:url('/classroom-n5-120/verbs.webp?v=121');background-size:400% 300%;background-repeat:no-repeat;border-radius:18px}.intro120,.puzzle-stage120{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:22px;align-items:center}.intro120>.art120{max-width:350px}.verb-grid120{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.verb-card120{background:#fff;border:2px solid #56c7db;border-bottom-width:6px;border-radius:22px;overflow:hidden;min-width:0;margin:12px 0}.verb-card120:nth-child(3n+2){border-color:#e8b53c;background:#fff9df}.verb-card120:nth-child(3n){border-color:#ed8e7b;background:#fff1ed}.verb-card120>.art120{border-radius:0}.verb-caption120{padding:14px;text-align:center}.verb-caption120 h3{margin:0 0 14px}.verb-pair120{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0}.verb-pair120>div{padding:10px;background:#e9faff;border:2px solid #8adce4;border-radius:14px;text-align:center}.verb-pair120 small{display:block;font-size:.875rem}.verb-pair120 b{font-size:1.45rem;line-height:2.2}.verb-meaning120{font-size:1.15rem;font-weight:800;margin:0}.sound120{background:#ffde65;color:#603f00;border-radius:5px;padding:0 3px}.verb-lesson120 ruby{ruby-position:over;line-height:2.2}.verb-lesson120 rt{font-size:.75rem;line-height:1.2}.route120{display:flex;justify-content:center;flex-wrap:wrap;align-items:center;gap:10px;background:#d8f5ff;padding:14px;border-radius:18px;margin:18px 0}.route120 span{background:#fff;border-radius:10px;padding:10px;font-weight:700}.goals120,.groups120,.homework120{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}.goals120 article{background:#fff2b4;border:2px solid #e6be4d;border-radius:16px;padding:14px}.goals120 article>b{font-size:1.4rem}.group120{background:#defaff;color:#183e57;border:3px solid #52c5d7;border-bottom-width:7px;border-radius:20px;padding:16px;min-width:0}.group2120{background:#fff2ad;border-color:#e6b735}.group3120{background:#ffe6dd;border-color:#ed9a83}.group120 h3{margin:8px 0}.group120 span{display:block}.group120 .tag{display:inline-block}.group-word120{font-size:1.4rem;line-height:2.2;margin:12px 0}.group-word120 .meaning106{display:inline;font-size:1rem}.group-hint120{font-size:.95rem}.groups120 button{cursor:pointer;white-space:normal}.groups120 button>b{font-size:1.2rem;display:block;margin-bottom:8px}.tip120{text-align:center;font-weight:700;margin:18px 0}.situations120{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.model120,.block-bank120,.tray120{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0}.block120{position:relative;display:inline-flex;flex-direction:column;align-items:center;background:#ffdc60;color:#153b53;border:3px solid #cc941e;border-bottom-width:7px;border-radius:10px;padding:12px 14px;margin-top:7px;font-size:1.4rem;line-height:2;cursor:pointer;max-width:100%;white-space:normal}.block120:before{content:'';position:absolute;top:-9px;left:25%;right:25%;height:7px;border:2px solid #cc941e;background:#ffdc60;border-radius:4px 4px 0 0}.block120:nth-child(even){background:#8be7dd;border-color:#329d94}.block120:nth-child(even):before{background:#8be7dd;border-color:#329d94}.block120 small{display:block;font-size:.875rem;line-height:1.4}.block120:disabled{opacity:.45;cursor:default}.tray120{min-height:140px;border:3px dashed #41b6cc;border-radius:18px;background:#e1f7ff;padding:18px}.feedback120{background:#fff3c4;border-radius:12px;padding:12px;min-height:48px;line-height:1.6}.situation-nav120{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.homework120>article{border:2px solid #78c9d7;border-radius:18px;overflow:hidden;background:#fff}.homework120 .art120{border-radius:0}.homework120 p{padding:14px;margin:0}.finish120{padding:20px;background:#dff8d8;border:2px solid #87c879;border-radius:20px}.exit120{margin-bottom:20px}.exit120 .art120{max-width:220px}.verb-lesson120 .hide-ruby106 rt{visibility:hidden}.verb-lesson120 .hide-meaning106 .meaning106{display:none}@media(max-width:900px){.verb-grid120{grid-template-columns:repeat(2,minmax(0,1fr))}.groups120{gap:8px}.group120{padding:10px}.group-word120{font-size:1.2rem}}@media(max-width:600px){.intro120,.puzzle-stage120{grid-template-columns:1fr;gap:14px}.puzzle-stage120>.art120{max-width:320px;margin:auto}.verb-grid120,.situations120,.groups120,.goals120,.homework120{grid-template-columns:1fr}.verb-pair120 b{font-size:1.5rem}.group120{padding:14px}.verb-pair120{gap:7px}.block120{font-size:1.25rem;padding:9px 12px}.homework120 .art120{max-width:300px;margin:auto}.intro120>.art120{margin:auto}.group-word120{font-size:1.4rem}}

.verb-lesson120 .art120{max-width:360px;margin-inline:auto}.verb-lesson120 .stage-nav106 .button small{color:#fff;opacity:.95}.exception-grid121{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.exception-grid121 article{display:flex;flex-direction:column;align-items:center;gap:8px;border:2px solid #dca834;background:#fff7d6;color:#183e57;border-radius:14px;padding:14px;text-align:center;min-width:0}.exception-grid121 b{font-size:1.3rem}.exception-grid121 article>span[lang=ja]{font-size:1.1rem}.exception-grid121 rt{font-size:.8rem}@media(max-width:650px){.exception-grid121{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.exception-grid121{grid-template-columns:1fr}}
/* Broad workbench: words remain horizontal, only whole pieces can wrap. */
.verb-lesson120 .puzzle-stage120{grid-template-columns:1fr;gap:16px;max-width:960px;margin:auto}.verb-lesson120 .puzzle-stage120>.art120{width:min(100%,250px)}.verb-lesson120 .puzzle-stage120>section{min-width:0}.puzzle-stage120 h3{text-align:center;margin:0 0 18px;font-size:1.4rem}.puzzle-label122{font-weight:800;font-size:1rem;margin:20px 0 10px}.verb-lesson120 .block-bank120{justify-content:center;align-items:stretch;gap:18px 12px;padding:24px 16px;background:#fff;border:2px solid #b0dfe8;border-radius:20px;margin:0 0 20px}.verb-lesson120 .block120{flex:0 0 auto;min-width:112px;max-width:none;min-height:108px;justify-content:center;padding:14px 18px;line-height:1.5;box-shadow:0 3px 0 #183e5710;transition:transform .15s}.verb-lesson120 .block120:hover:not(:disabled){transform:translateY(-3px)}.verb-lesson120 .block-jp122{display:block;white-space:nowrap;word-break:keep-all;overflow-wrap:normal;font-size:1.5rem;line-height:2.2}.verb-lesson120 .block-jp122 ruby{display:inline;white-space:nowrap}.verb-lesson120 .block120 small{max-width:170px;font-size:.875rem;line-height:1.5;text-align:center}.verb-lesson120 .punctuation122{min-width:64px;padding-inline:10px}.verb-lesson120 .punctuation122 small{max-width:75px}.verb-lesson120 .block120:disabled{opacity:1;background:#e7edf1;border-color:#bbcbd3;color:#677c89;box-shadow:none}.verb-lesson120 .block120:disabled:before{background:#e7edf1;border-color:#bbcbd3}.verb-lesson120 .tray120{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;min-height:165px;gap:12px;padding:24px 20px;margin:0 0 18px;align-items:center;background:#d8f5ff;border:3px dashed #299fbc}.verb-lesson120 .tray120 .block120{flex-shrink:0;background:#ffe26b;border-color:#cc941e}.verb-lesson120 .tray120 .block120:before{background:#ffe26b;border-color:#cc941e}.verb-lesson120 .tray120 .punctuation122{min-width:54px}.verb-lesson120 .tray120 .punctuation122 small{white-space:nowrap}.verb-lesson120 .model120 .block120{cursor:default}.verb-lesson120 .model120{gap:12px}@media(max-width:600px){.verb-lesson120 .block-bank120{padding:20px 8px;gap:16px 10px}.verb-lesson120 .block120{min-width:100px;padding:12px;min-height:100px}.verb-lesson120 .block-jp122{font-size:1.3rem}.verb-lesson120 .punctuation122{min-width:54px}.verb-lesson120 .tray120{padding:20px 12px}.puzzle-label122{font-size:1rem}}

.i-sounds123{padding:20px;margin:20px 0;border:2px solid #6ecadb;border-radius:20px;background:#effcff}.i-grid123{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.i-grid123 article{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;background:white;border:2px solid #a8dce8;border-bottom-width:6px;border-radius:18px}.i-grid123 article:nth-child(3n+2){border-color:#efc95a}.i-grid123 article:nth-child(3n){border-color:#f3a999}.i-grid123 strong{font-size:2.6rem;color:#144c6d;line-height:1.3}.i-grid123 p{font-size:1.2rem;margin:0;text-align:center}.i-grid123 b{font-size:1.1rem}.i-grid123 mark{border-radius:8px;background:#ffdd67;padding:2px 5px}.homework-editor123 summary{font-size:1.05rem;font-weight:700;padding:12px 0}.homework-editor123 textarea{width:100%;font-size:1rem;line-height:1.7}.homework-editor123 form{display:grid;gap:14px}.draft-status123{min-height:24px;white-space:pre-wrap}.homework-actions123{gap:10px;flex-wrap:wrap}@media(max-width:640px){.i-grid123{grid-template-columns:repeat(2,minmax(0,1fr))}.i-sounds123{padding:12px}.i-grid123 article{padding:12px 8px}}@media(max-width:360px){.i-grid123{grid-template-columns:1fr}}

.lesson124{--ink124:#162b52;--blue124:#1674e8;--yellow124:#ffcf38;--coral124:#f25b69;color:var(--ink124)}
.lesson124 .stage106{background:#fff;border:2px solid #8ad4ff;color:var(--ink124)}
.lesson124 p,.lesson124 label,.lesson124 summary{font-size:1rem;line-height:1.7}
.lesson124 button{font-size:1rem;min-height:44px;white-space:normal;line-height:1.5}
.lesson124 h3{color:var(--ink124);font-size:1.25rem;line-height:1.5}
.lesson124 .secondary{background:#eaf5ff;color:#193a6d;border:1px solid #77b8eb}
.lesson124 .button{background:#1674e8;color:#fff}
.lesson124 .lesson-hero112{background:linear-gradient(120deg,#d8f6ff,#fff3b5);border:2px solid #43b5ef;color:var(--ink124)}
.lesson124 ruby{ruby-align:center;line-height:2.15}.lesson124 rt{font-size:.65em;color:#324761}
.art124{margin:0;overflow:hidden;border-radius:20px;border:3px solid #fff;box-shadow:0 5px 0 #94d9ef;background:#e5f6ff}
.art124 img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.lesson124 #content112>.art124{max-width:820px;margin:0 auto 24px}
.goal-cards124,.character-grid124{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}
.goal-cards124 article{padding:18px;border-radius:18px;background:#fff2a9;border:2px solid #e8be2f}.goal-cards124 article:nth-child(2){background:#ddf6ff;border-color:#62c8e7}.goal-cards124 article:nth-child(3){background:#ffe3e8;border-color:#f39aa7}.goal-cards124 article>span{font-size:2rem}
.character-grid124 article{background:#eef9ff;border-radius:20px;padding:12px}.character-grid124 h3,.character-grid124 p{margin:10px 0 0}
.glyph-grid124{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}.glyph-grid124 article{background:#fff5bb;border:2px solid #ebc751;border-radius:18px;padding:14px;text-align:center}
.glyph124{display:inline-flex;flex-direction:column;align-items:center;gap:6px;text-align:center;min-width:72px}.glyph124 small{font-size:.95rem;color:#4f4e51}.glyph124 b{font-size:3rem;line-height:1.2;color:#153969}.glyph124>span{font-size:.95rem;max-width:170px;line-height:1.4}
.glyph-row124{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0}
.discovery124{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,1.7fr);gap:24px;margin:24px 0}.discovery124 .art124{align-self:start}
.lesson124 input:not([type=radio]):not([type=checkbox]){background:#fff;border:2px solid #90b5d2;color:#142e50;width:100%;min-height:44px;padding:12px;border-radius:12px}
.vocab-grid124{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.vocab-grid124 article{padding:16px;background:#eafaff;border:2px solid #8fd6e5;border-radius:18px}.word124{color:#173d70;font-size:1.4rem!important;background:none;border:0;font-weight:700}.hv-caption124{color:#564d42}
.formula124{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;justify-content:center;margin:24px 0}.formula124>span,.formula124>b{padding:14px 24px;border-radius:12px;background:#b9eeff;border:2px solid #67bbdf;font-size:1.5rem;display:flex;flex-direction:column;justify-content:center}.formula124>b{background:#ffd86c;border-color:#e9aa27}.formula124 small{font-size:1rem}
.compare-grid124,.contrast-grid124{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.compare-grid124 article,.contrast-grid124 article{padding:20px;border-radius:18px;background:#f0f8ff;border:2px solid #a0c8ef}.ending124{display:inline-block;padding:8px 14px;background:#ffe5e8;color:#9f2337;border-radius:12px}
.piece-bank124,.tray124{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:20px;margin:20px 0}.tray124{min-height:120px;border:3px dashed #59aee2;background:#edf9ff;border-radius:20px}
.brick124{position:relative;border-radius:12px!important;border:2px solid #1d83c8;background:#71d3f5;color:#163854;padding:16px 22px!important;box-shadow:0 6px 0 #2589b8;font-size:1.45rem!important;font-weight:700;display:flex;flex-direction:column;gap:4px;align-items:center;cursor:grab}
.brick124:before{content:'';position:absolute;width:22px;height:10px;border:2px solid #1d83c8;border-bottom:0;border-radius:7px 7px 0 0;top:-10px;left:calc(50% - 11px);background:inherit}
.brick124 small{font-size:.9rem;font-weight:400}.brick124:disabled{opacity:.35;box-shadow:none;cursor:default}.role124-1{background:#c9c3ff;border-color:#8777d9;box-shadow:0 6px 0 #8777d9}.role124-2{background:#ffd969;border-color:#d49e24;box-shadow:0 6px 0 #d49e24}.role124-3{background:#ffa7ae;border-color:#d05b6d;box-shadow:0 6px 0 #d05b6d}
.star124{border:2px solid #e5b92d;background:#fff3b7;border-radius:16px;padding:18px}.star124:disabled{opacity:.55}.star124 label{display:flex;align-items:center;gap:8px;padding:8px}.lesson124 input[type=radio]{width:20px;height:20px}
.passage124{background:#fff9df;border:2px solid #efd16e;padding:24px;border-radius:20px;font-size:1.4rem}.passage124 small,.transcript124 small{display:block;font-size:1rem}
.comprehension-grid124{display:grid;gap:18px;margin-top:24px}.question124{background:#f0f9ff;border:2px solid #9cd4f2;border-radius:18px;padding:22px}.options124{display:flex;flex-direction:column;gap:12px;margin:18px 0}.options124 label{display:flex;gap:10px;align-items:center;background:#fff;padding:12px;border-radius:12px}.hints124{margin-top:16px}.hint124,.answer124{padding:16px;border-radius:14px;margin-top:16px;background:#fff4b8;border:1px solid #e7c64d}.answer124{background:#dcf7eb;border-color:#72b89a}.key124{text-decoration:underline;text-decoration-color:#df334a;text-decoration-thickness:3px;text-underline-offset:7px;background:#fff0cc;padding:8px;border-radius:6px}.selected124{outline:3px solid #1669c0}.roleplay124{background:#fff3c7;padding:20px;border-radius:16px;margin-top:22px}.lesson124 details{margin-top:18px}.lesson124 summary{cursor:pointer;font-weight:700}
@media(max-width:760px){.goal-cards124,.character-grid124{grid-template-columns:1fr}.glyph-grid124{grid-template-columns:repeat(2,minmax(0,1fr))}.vocab-grid124,.compare-grid124,.contrast-grid124{grid-template-columns:1fr}.discovery124{grid-template-columns:1fr}.discovery124 .art124{max-width:450px;margin:auto}.question124{padding:16px}.brick124{font-size:1.25rem!important;padding:12px 16px!important}.lesson124 .row{gap:10px}.formula124>span,.formula124>b{padding:10px 14px}.character-grid124 .art124{max-width:450px;margin:auto}}

.order-ui125 .order-answer{min-height:112px;overflow-wrap:anywhere;line-height:1.9;margin-block:16px;box-sizing:border-box;overflow-anchor:none}
.order-ui125 [data-order125]{min-height:44px}
.warm-preference125{display:flex!important;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#f4f0ff;font-size:1rem;color:#302651;margin:16px 0!important}
.warm-preference125 input{flex:none;width:20px!important;height:20px;min-height:20px!important;margin:0}
.warm-preference125 small{flex-basis:100%;margin-left:30px;font-size:.875rem;line-height:1.5}
@media(max-width:600px){.order-ui125 .order-answer{min-height:128px}.warm-preference125{padding:12px}.warm-preference125 small{margin-left:0}}

.lesson129{--ink129:#162b52;--blue129:#1674e8;--yellow129:#ffcf38;--coral129:#f25b69;color:var(--ink129)}
.lesson129 .stage106{background:#fff;border:2px solid #8ad4ff;color:var(--ink129)}
.lesson129 p,.lesson129 label,.lesson129 summary{font-size:1rem;line-height:1.7}
.lesson129 button{font-size:1rem;min-height:44px;white-space:normal;line-height:1.5}
.lesson129 h3{color:var(--ink129);font-size:1.25rem;line-height:1.5}
.lesson129 .secondary{background:#eaf5ff;color:#193a6d;border:1px solid #77b8eb}
.lesson129 .button{background:#1674e8;color:#fff}
.lesson129 .lesson-hero112{background:linear-gradient(120deg,#d8f6ff,#fff3b5);border:2px solid #43b5ef;color:var(--ink129)}
.lesson129 ruby{ruby-align:center;line-height:2.15}.lesson129 rt{font-size:.65em;color:#324761}
.art129{margin:0;overflow:hidden;border-radius:20px;border:3px solid #fff;box-shadow:0 5px 0 #94d9ef;background:#e5f6ff}
.art129 img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.lesson129 #content112>.art129{max-width:820px;margin:0 auto 24px}
.goal-cards129,.character-grid129{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}
.goal-cards129 article{padding:18px;border-radius:18px;background:#fff2a9;border:2px solid #e8be2f}.goal-cards129 article:nth-child(2){background:#ddf6ff;border-color:#62c8e7}.goal-cards129 article:nth-child(3){background:#ffe3e8;border-color:#f39aa7}.goal-cards129 article>span{font-size:2rem}
.character-grid129 article{background:#eef9ff;border-radius:20px;padding:12px}.character-grid129 h3,.character-grid129 p{margin:10px 0 0}
.glyph-grid129{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}.glyph-grid129 article{background:#fff5bb;border:2px solid #ebc751;border-radius:18px;padding:14px;text-align:center}
.glyph129{display:inline-flex;flex-direction:column;align-items:center;gap:6px;text-align:center;min-width:72px}.glyph129 small{font-size:.95rem;color:#4f4e51}.glyph129 b{font-size:3rem;line-height:1.2;color:#153969}.glyph129>span{font-size:.95rem;max-width:170px;line-height:1.4}
.glyph-row129{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0}
.discovery129{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,1.7fr);gap:24px;margin:24px 0}.discovery129 .art129{align-self:start}
.lesson129 input:not([type=radio]):not([type=checkbox]){background:#fff;border:2px solid #90b5d2;color:#142e50;width:100%;min-height:44px;padding:12px;border-radius:12px}
.vocab-grid129{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.vocab-grid129 article{padding:16px;background:#eafaff;border:2px solid #8fd6e5;border-radius:18px}.word129{color:#173d70;font-size:1.4rem!important;background:none;border:0;font-weight:700}.hv-caption129{color:#564d42}
.formula129{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;justify-content:center;margin:24px 0}.formula129>span,.formula129>b{padding:14px 24px;border-radius:12px;background:#b9eeff;border:2px solid #67bbdf;font-size:1.5rem;display:flex;flex-direction:column;justify-content:center}.formula129>b{background:#ffd86c;border-color:#e9aa27}.formula129 small{font-size:1rem}
.compare-grid129,.contrast-grid129{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.compare-grid129 article,.contrast-grid129 article{padding:20px;border-radius:18px;background:#f0f8ff;border:2px solid #a0c8ef}.ending129{display:inline-block;padding:8px 14px;background:#ffe5e8;color:#9f2337;border-radius:12px}
.piece-bank129,.tray129{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:20px;margin:20px 0}.tray129{min-height:120px;border:3px dashed #59aee2;background:#edf9ff;border-radius:20px}
.brick129{position:relative;border-radius:12px!important;border:2px solid #1d83c8;background:#71d3f5;color:#163854;padding:16px 22px!important;box-shadow:0 6px 0 #2589b8;font-size:1.45rem!important;font-weight:700;display:flex;flex-direction:column;gap:4px;align-items:center;cursor:grab}
.brick129:before{content:'';position:absolute;width:22px;height:10px;border:2px solid #1d83c8;border-bottom:0;border-radius:7px 7px 0 0;top:-10px;left:calc(50% - 11px);background:inherit}
.brick129 small{font-size:.9rem;font-weight:400}.brick129:disabled{opacity:.35;box-shadow:none;cursor:default}.role129-1{background:#c9c3ff;border-color:#8777d9;box-shadow:0 6px 0 #8777d9}.role129-2{background:#ffd969;border-color:#d49e24;box-shadow:0 6px 0 #d49e24}.role129-3{background:#ffa7ae;border-color:#d05b6d;box-shadow:0 6px 0 #d05b6d}
.star129{border:2px solid #e5b92d;background:#fff3b7;border-radius:16px;padding:18px}.star129:disabled{opacity:.55}.star129 label{display:flex;align-items:center;gap:8px;padding:8px}.lesson129 input[type=radio]{width:20px;height:20px}
.passage129{background:#fff9df;border:2px solid #efd16e;padding:24px;border-radius:20px;font-size:1.4rem}.passage129 small,.transcript129 small{display:block;font-size:1rem}
.comprehension-grid129{display:grid;gap:18px;margin-top:24px}.question129{background:#f0f9ff;border:2px solid #9cd4f2;border-radius:18px;padding:22px}.options129{display:flex;flex-direction:column;gap:12px;margin:18px 0}.options129 label{display:flex;gap:10px;align-items:center;background:#fff;padding:12px;border-radius:12px}.hints129{margin-top:16px}.hint129,.answer129{padding:16px;border-radius:14px;margin-top:16px;background:#fff4b8;border:1px solid #e7c64d}.answer129{background:#dcf7eb;border-color:#72b89a}.key129{text-decoration:underline;text-decoration-color:#df334a;text-decoration-thickness:3px;text-underline-offset:7px;background:#fff0cc;padding:8px;border-radius:6px}.selected129{outline:3px solid #1669c0}.roleplay129{background:#fff3c7;padding:20px;border-radius:16px;margin-top:22px}.lesson129 details{margin-top:18px}.lesson129 summary{cursor:pointer;font-weight:700}
@media(max-width:760px){.goal-cards129,.character-grid129{grid-template-columns:1fr}.glyph-grid129{grid-template-columns:repeat(2,minmax(0,1fr))}.vocab-grid129,.compare-grid129,.contrast-grid129{grid-template-columns:1fr}.discovery129{grid-template-columns:1fr}.discovery129 .art129{max-width:450px;margin:auto}.question129{padding:16px}.brick129{font-size:1.25rem!important;padding:12px 16px!important}.lesson129 .row{gap:10px}.formula129>span,.formula129>b{padding:10px 14px}.character-grid129 .art129{max-width:450px;margin:auto}}

.distance-grid129{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.distance-grid129 article{text-align:center;background:#fff4b9;border:2px solid #e2bb34;border-radius:20px;padding:12px}.art129 img{aspect-ratio:auto;object-fit:contain}.lesson129 #content112>.art129{max-width:420px}.discovery129 .art129{max-width:320px}.distance-grid129 .art129 img{max-height:430px;object-fit:contain}@media(max-width:760px){.distance-grid129{grid-template-columns:1fr}.distance-grid129 .art129{max-width:340px;margin:auto}}

.mnemonic-grid129{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.mnemonic-grid129 article{background:#fff2b0;border:2px solid #e1b83c;border-radius:20px;padding:12px;text-align:center}.mnemonic-grid129 article:nth-child(2){background:#c9f2ff;border-color:#59b4e3}.mnemonic-grid129 article:nth-child(3){background:#ffd7e0;border-color:#ec88a1}.mnemonic-grid129 article:nth-child(4){background:#dbf6cc;border-color:#9dc987}.kana-anchor129{display:block;font-size:3rem;line-height:1.4;color:#173d70}.question-mark129{display:grid;place-items:center;min-height:180px;font-size:6rem;color:#236550}.mnemonic-grid129 .art129 img{max-height:240px}.mnemonic-grid129 h3{font-size:1rem}@media(max-width:900px){.mnemonic-grid129{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.mnemonic-grid129{grid-template-columns:1fr}}

.lesson130{--ink130:#162b52;--blue130:#1674e8;--yellow130:#ffcf38;--coral130:#f25b69;color:var(--ink130)}
.lesson130 .stage106{background:#fff;border:2px solid #8ad4ff;color:var(--ink130)}
.lesson130 p,.lesson130 label,.lesson130 summary{font-size:1rem;line-height:1.7}
.lesson130 button{font-size:1rem;min-height:44px;white-space:normal;line-height:1.5}
.lesson130 h3{color:var(--ink130);font-size:1.25rem;line-height:1.5}
.lesson130 .secondary{background:#eaf5ff;color:#193a6d;border:1px solid #77b8eb}
.lesson130 .button{background:#1674e8;color:#fff}
.lesson130 .lesson-hero112{background:linear-gradient(120deg,#d8f6ff,#fff3b5);border:2px solid #43b5ef;color:var(--ink130)}
.lesson130 ruby{ruby-align:center;line-height:2.15}.lesson130 rt{font-size:.65em;color:#324761}
.art130{margin:0;overflow:hidden;border-radius:20px;border:3px solid #fff;box-shadow:0 5px 0 #94d9ef;background:#e5f6ff}
.art130 img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.lesson130 #content112>.art130{max-width:820px;margin:0 auto 24px}
.goal-cards130,.character-grid130{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}
.goal-cards130 article{padding:18px;border-radius:18px;background:#fff2a9;border:2px solid #e8be2f}.goal-cards130 article:nth-child(2){background:#ddf6ff;border-color:#62c8e7}.goal-cards130 article:nth-child(3){background:#ffe3e8;border-color:#f39aa7}.goal-cards130 article>span{font-size:2rem}
.character-grid130 article{background:#eef9ff;border-radius:20px;padding:12px}.character-grid130 h3,.character-grid130 p{margin:10px 0 0}
.glyph-grid130{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}.glyph-grid130 article{background:#fff5bb;border:2px solid #ebc751;border-radius:18px;padding:14px;text-align:center}
.glyph130{display:inline-flex;flex-direction:column;align-items:center;gap:6px;text-align:center;min-width:72px}.glyph130 small{font-size:.95rem;color:#4f4e51}.glyph130 b{font-size:3rem;line-height:1.2;color:#153969}.glyph130>span{font-size:.95rem;max-width:170px;line-height:1.4}
.glyph-row130{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0}
.discovery130{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,1.7fr);gap:24px;margin:24px 0}.discovery130 .art130{align-self:start}
.lesson130 input:not([type=radio]):not([type=checkbox]){background:#fff;border:2px solid #90b5d2;color:#142e50;width:100%;min-height:44px;padding:12px;border-radius:12px}
.vocab-grid130{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.vocab-grid130 article{padding:16px;background:#eafaff;border:2px solid #8fd6e5;border-radius:18px}.word130{color:#173d70;font-size:1.4rem!important;background:none;border:0;font-weight:700}.hv-caption130{color:#564d42}
.formula130{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;justify-content:center;margin:24px 0}.formula130>span,.formula130>b{padding:14px 24px;border-radius:12px;background:#b9eeff;border:2px solid #67bbdf;font-size:1.5rem;display:flex;flex-direction:column;justify-content:center}.formula130>b{background:#ffd86c;border-color:#e9aa27}.formula130 small{font-size:1rem}
.compare-grid130,.contrast-grid130{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.compare-grid130 article,.contrast-grid130 article{padding:20px;border-radius:18px;background:#f0f8ff;border:2px solid #a0c8ef}.ending130{display:inline-block;padding:8px 14px;background:#ffe5e8;color:#9f2337;border-radius:12px}
.piece-bank130,.tray130{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:20px;margin:20px 0}.tray130{min-height:120px;border:3px dashed #59aee2;background:#edf9ff;border-radius:20px}
.brick130{position:relative;border-radius:12px!important;border:2px solid #1d83c8;background:#71d3f5;color:#163854;padding:16px 22px!important;box-shadow:0 6px 0 #2589b8;font-size:1.45rem!important;font-weight:700;display:flex;flex-direction:column;gap:4px;align-items:center;cursor:grab}
.brick130:before{content:'';position:absolute;width:22px;height:10px;border:2px solid #1d83c8;border-bottom:0;border-radius:7px 7px 0 0;top:-10px;left:calc(50% - 11px);background:inherit}
.brick130 small{font-size:.9rem;font-weight:400}.brick130:disabled{opacity:.35;box-shadow:none;cursor:default}.role130-1{background:#c9c3ff;border-color:#8777d9;box-shadow:0 6px 0 #8777d9}.role130-2{background:#ffd969;border-color:#d49e24;box-shadow:0 6px 0 #d49e24}.role130-3{background:#ffa7ae;border-color:#d05b6d;box-shadow:0 6px 0 #d05b6d}
.star130{border:2px solid #e5b92d;background:#fff3b7;border-radius:16px;padding:18px}.star130:disabled{opacity:.55}.star130 label{display:flex;align-items:center;gap:8px;padding:8px}.lesson130 input[type=radio]{width:20px;height:20px}
.passage130{background:#fff9df;border:2px solid #efd16e;padding:24px;border-radius:20px;font-size:1.4rem}.passage130 small,.transcript130 small{display:block;font-size:1rem}
.comprehension-grid130{display:grid;gap:18px;margin-top:24px}.question130{background:#f0f9ff;border:2px solid #9cd4f2;border-radius:18px;padding:22px}.options130{display:flex;flex-direction:column;gap:12px;margin:18px 0}.options130 label{display:flex;gap:10px;align-items:center;background:#fff;padding:12px;border-radius:12px}.hints130{margin-top:16px}.hint130,.answer130{padding:16px;border-radius:14px;margin-top:16px;background:#fff4b8;border:1px solid #e7c64d}.answer130{background:#dcf7eb;border-color:#72b89a}.key130{text-decoration:underline;text-decoration-color:#df334a;text-decoration-thickness:3px;text-underline-offset:7px;background:#fff0cc;padding:8px;border-radius:6px}.selected130{outline:3px solid #1669c0}.roleplay130{background:#fff3c7;padding:20px;border-radius:16px;margin-top:22px}.lesson130 details{margin-top:18px}.lesson130 summary{cursor:pointer;font-weight:700}
@media(max-width:760px){.goal-cards130,.character-grid130{grid-template-columns:1fr}.glyph-grid130{grid-template-columns:repeat(2,minmax(0,1fr))}.vocab-grid130,.compare-grid130,.contrast-grid130{grid-template-columns:1fr}.discovery130{grid-template-columns:1fr}.discovery130 .art130{max-width:450px;margin:auto}.question130{padding:16px}.brick130{font-size:1.25rem!important;padding:12px 16px!important}.lesson130 .row{gap:10px}.formula130>span,.formula130>b{padding:10px 14px}.character-grid130 .art130{max-width:450px;margin:auto}}

.distance-grid130{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.distance-grid130 article{text-align:center;background:#fff4b9;border:2px solid #e2bb34;border-radius:20px;padding:12px}.art130 img{aspect-ratio:auto;object-fit:contain}.lesson130 #content112>.art130{max-width:420px}.discovery130 .art130{max-width:320px}.distance-grid130 .art130 img{max-height:430px;object-fit:contain}@media(max-width:760px){.distance-grid130{grid-template-columns:1fr}.distance-grid130 .art130{max-width:340px;margin:auto}}

.mnemonic-grid130{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.mnemonic-grid130 article{background:#fff2b0;border:2px solid #e1b83c;border-radius:20px;padding:12px;text-align:center}.mnemonic-grid130 article:nth-child(2){background:#c9f2ff;border-color:#59b4e3}.mnemonic-grid130 article:nth-child(3){background:#ffd7e0;border-color:#ec88a1}.mnemonic-grid130 article:nth-child(4){background:#dbf6cc;border-color:#9dc987}.kana-anchor130{display:block;font-size:3rem;line-height:1.4;color:#173d70}.question-mark130{display:grid;place-items:center;min-height:180px;font-size:6rem;color:#236550}.mnemonic-grid130 .art130 img{max-height:240px}.mnemonic-grid130 h3{font-size:1rem}@media(max-width:900px){.mnemonic-grid130{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.mnemonic-grid130{grid-template-columns:1fr}}

.lesson130 #content112>.art130:has(img[src*=lost-property]){max-width:820px}

.lesson1317{--ink1317:#162b52;--blue1317:#1674e8;--yellow1317:#ffcf38;--coral1317:#f25b69;color:var(--ink1317)}
.lesson1317 .stage106{background:#fff;border:2px solid #8ad4ff;color:var(--ink1317)}
.lesson1317 p,.lesson1317 label,.lesson1317 summary{font-size:1rem;line-height:1.7}
.lesson1317 button{font-size:1rem;min-height:44px;white-space:normal;line-height:1.5}
.lesson1317 h3{color:var(--ink1317);font-size:1.25rem;line-height:1.5}
.lesson1317 .secondary{background:#eaf5ff;color:#193a6d;border:1px solid #77b8eb}
.lesson1317 .button{background:#1674e8;color:#fff}
.lesson1317 .lesson-hero112{background:linear-gradient(120deg,#d8f6ff,#fff3b5);border:2px solid #43b5ef;color:var(--ink1317)}
.lesson1317 ruby{ruby-align:center;line-height:2.15}.lesson1317 rt{font-size:.65em;color:#324761}
.art1317{margin:0;overflow:hidden;border-radius:20px;border:3px solid #fff;box-shadow:0 5px 0 #94d9ef;background:#e5f6ff}
.art1317 img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.lesson1317 #content112>.art1317{max-width:820px;margin:0 auto 24px}
.goal-cards1317,.character-grid1317{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}
.goal-cards1317 article{padding:18px;border-radius:18px;background:#fff2a9;border:2px solid #e8be2f}.goal-cards1317 article:nth-child(2){background:#ddf6ff;border-color:#62c8e7}.goal-cards1317 article:nth-child(3){background:#ffe3e8;border-color:#f39aa7}.goal-cards1317 article>span{font-size:2rem}
.character-grid1317 article{background:#eef9ff;border-radius:20px;padding:12px}.character-grid1317 h3,.character-grid1317 p{margin:10px 0 0}
.glyph-grid1317{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}.glyph-grid1317 article{background:#fff5bb;border:2px solid #ebc751;border-radius:18px;padding:14px;text-align:center}
.glyph1317{display:inline-flex;flex-direction:column;align-items:center;gap:6px;text-align:center;min-width:72px}.glyph1317 small{font-size:.95rem;color:#4f4e51}.glyph1317 b{font-size:3rem;line-height:1.2;color:#153969}.glyph1317>span{font-size:.95rem;max-width:170px;line-height:1.4}
.glyph-row1317{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0}
.discovery1317{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,1.7fr);gap:24px;margin:24px 0}.discovery1317 .art1317{align-self:start}
.lesson1317 input:not([type=radio]):not([type=checkbox]){background:#fff;border:2px solid #90b5d2;color:#142e50;width:100%;min-height:44px;padding:12px;border-radius:12px}
.vocab-grid1317{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.vocab-grid1317 article{padding:16px;background:#eafaff;border:2px solid #8fd6e5;border-radius:18px}.word1317{color:#173d70;font-size:1.4rem!important;background:none;border:0;font-weight:700}.hv-caption1317{color:#564d42}
.formula1317{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;justify-content:center;margin:24px 0}.formula1317>span,.formula1317>b{padding:14px 24px;border-radius:12px;background:#b9eeff;border:2px solid #67bbdf;font-size:1.5rem;display:flex;flex-direction:column;justify-content:center}.formula1317>b{background:#ffd86c;border-color:#e9aa27}.formula1317 small{font-size:1rem}
.compare-grid1317,.contrast-grid1317{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.compare-grid1317 article,.contrast-grid1317 article{padding:20px;border-radius:18px;background:#f0f8ff;border:2px solid #a0c8ef}.ending1317{display:inline-block;padding:8px 14px;background:#ffe5e8;color:#9f2337;border-radius:12px}
.piece-bank1317,.tray1317{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:20px;margin:20px 0}.tray1317{min-height:120px;border:3px dashed #59aee2;background:#edf9ff;border-radius:20px}
.brick1317{position:relative;border-radius:12px!important;border:2px solid #1d83c8;background:#71d3f5;color:#163854;padding:16px 22px!important;box-shadow:0 6px 0 #2589b8;font-size:1.45rem!important;font-weight:700;display:flex;flex-direction:column;gap:4px;align-items:center;cursor:grab}
.brick1317:before{content:'';position:absolute;width:22px;height:10px;border:2px solid #1d83c8;border-bottom:0;border-radius:7px 7px 0 0;top:-10px;left:calc(50% - 11px);background:inherit}
.brick1317 small{font-size:.9rem;font-weight:400}.brick1317:disabled{opacity:.35;box-shadow:none;cursor:default}.role1317-1{background:#c9c3ff;border-color:#8777d9;box-shadow:0 6px 0 #8777d9}.role1317-2{background:#ffd969;border-color:#d49e24;box-shadow:0 6px 0 #d49e24}.role1317-3{background:#ffa7ae;border-color:#d05b6d;box-shadow:0 6px 0 #d05b6d}
.star1317{border:2px solid #e5b92d;background:#fff3b7;border-radius:16px;padding:18px}.star1317:disabled{opacity:.55}.star1317 label{display:flex;align-items:center;gap:8px;padding:8px}.lesson1317 input[type=radio]{width:20px;height:20px}
.passage1317{background:#fff9df;border:2px solid #efd16e;padding:24px;border-radius:20px;font-size:1.4rem}.passage1317 small,.transcript1317 small{display:block;font-size:1rem}
.comprehension-grid1317{display:grid;gap:18px;margin-top:24px}.question1317{background:#f0f9ff;border:2px solid #9cd4f2;border-radius:18px;padding:22px}.options1317{display:flex;flex-direction:column;gap:12px;margin:18px 0}.options1317 label{display:flex;gap:10px;align-items:center;background:#fff;padding:12px;border-radius:12px}.hints1317{margin-top:16px}.hint1317,.answer1317{padding:16px;border-radius:14px;margin-top:16px;background:#fff4b8;border:1px solid #e7c64d}.answer1317{background:#dcf7eb;border-color:#72b89a}.key1317{text-decoration:underline;text-decoration-color:#df334a;text-decoration-thickness:3px;text-underline-offset:7px;background:#fff0cc;padding:8px;border-radius:6px}.selected1317{outline:3px solid #1669c0}.roleplay1317{background:#fff3c7;padding:20px;border-radius:16px;margin-top:22px}.lesson1317 details{margin-top:18px}.lesson1317 summary{cursor:pointer;font-weight:700}
@media(max-width:760px){.goal-cards1317,.character-grid1317{grid-template-columns:1fr}.glyph-grid1317{grid-template-columns:repeat(2,minmax(0,1fr))}.vocab-grid1317,.compare-grid1317,.contrast-grid1317{grid-template-columns:1fr}.discovery1317{grid-template-columns:1fr}.discovery1317 .art1317{max-width:450px;margin:auto}.question1317{padding:16px}.brick1317{font-size:1.25rem!important;padding:12px 16px!important}.lesson1317 .row{gap:10px}.formula1317>span,.formula1317>b{padding:10px 14px}.character-grid1317 .art1317{max-width:450px;margin:auto}}

.distance-grid1317{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.distance-grid1317 article{text-align:center;background:#fff4b9;border:2px solid #e2bb34;border-radius:20px;padding:12px}.art1317 img{aspect-ratio:auto;object-fit:contain}.lesson1317 #content112>.art1317{max-width:420px}.discovery1317 .art1317{max-width:320px}.distance-grid1317 .art1317 img{max-height:430px;object-fit:contain}@media(max-width:760px){.distance-grid1317{grid-template-columns:1fr}.distance-grid1317 .art1317{max-width:340px;margin:auto}}

.mnemonic-grid1317{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.mnemonic-grid1317 article{background:#fff2b0;border:2px solid #e1b83c;border-radius:20px;padding:12px;text-align:center}.mnemonic-grid1317 article:nth-child(2){background:#c9f2ff;border-color:#59b4e3}.mnemonic-grid1317 article:nth-child(3){background:#ffd7e0;border-color:#ec88a1}.mnemonic-grid1317 article:nth-child(4){background:#dbf6cc;border-color:#9dc987}.kana-anchor1317{display:block;font-size:3rem;line-height:1.4;color:#173d70}.question-mark1317{display:grid;place-items:center;min-height:180px;font-size:6rem;color:#236550}.mnemonic-grid1317 .art1317 img{max-height:240px}.mnemonic-grid1317 h3{font-size:1rem}@media(max-width:900px){.mnemonic-grid1317{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.mnemonic-grid1317{grid-template-columns:1fr}}

.lesson1317 #content112>.art1317:has(img[src*=lesson7-school]){max-width:820px}

.location-diagram1317{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.location-diagram1317 article{padding:18px;background:#fff3b4;border:2px solid #d4ac29;border-radius:16px;text-align:center}@media(max-width:480px){.location-diagram1317{grid-template-columns:1fr}}

.lesson1318{--ink1318:#162b52;--blue1318:#1674e8;--yellow1318:#ffcf38;--coral1318:#f25b69;color:var(--ink1318)}
.lesson1318 .stage106{background:#fff;border:2px solid #8ad4ff;color:var(--ink1318)}
.lesson1318 p,.lesson1318 label,.lesson1318 summary{font-size:1rem;line-height:1.7}
.lesson1318 button{font-size:1rem;min-height:44px;white-space:normal;line-height:1.5}
.lesson1318 h3{color:var(--ink1318);font-size:1.25rem;line-height:1.5}
.lesson1318 .secondary{background:#eaf5ff;color:#193a6d;border:1px solid #77b8eb}
.lesson1318 .button{background:#1674e8;color:#fff}
.lesson1318 .lesson-hero112{background:linear-gradient(120deg,#d8f6ff,#fff3b5);border:2px solid #43b5ef;color:var(--ink1318)}
.lesson1318 ruby{ruby-align:center;line-height:2.15}.lesson1318 rt{font-size:.65em;color:#324761}
.art1318{margin:0;overflow:hidden;border-radius:20px;border:3px solid #fff;box-shadow:0 5px 0 #94d9ef;background:#e5f6ff}
.art1318 img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.lesson1318 #content112>.art1318{max-width:820px;margin:0 auto 24px}
.goal-cards1318,.character-grid1318{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}
.goal-cards1318 article{padding:18px;border-radius:18px;background:#fff2a9;border:2px solid #e8be2f}.goal-cards1318 article:nth-child(2){background:#ddf6ff;border-color:#62c8e7}.goal-cards1318 article:nth-child(3){background:#ffe3e8;border-color:#f39aa7}.goal-cards1318 article>span{font-size:2rem}
.character-grid1318 article{background:#eef9ff;border-radius:20px;padding:12px}.character-grid1318 h3,.character-grid1318 p{margin:10px 0 0}
.glyph-grid1318{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}.glyph-grid1318 article{background:#fff5bb;border:2px solid #ebc751;border-radius:18px;padding:14px;text-align:center}
.glyph1318{display:inline-flex;flex-direction:column;align-items:center;gap:6px;text-align:center;min-width:72px}.glyph1318 small{font-size:.95rem;color:#4f4e51}.glyph1318 b{font-size:3rem;line-height:1.2;color:#153969}.glyph1318>span{font-size:.95rem;max-width:170px;line-height:1.4}
.glyph-row1318{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0}
.discovery1318{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,1.7fr);gap:24px;margin:24px 0}.discovery1318 .art1318{align-self:start}
.lesson1318 input:not([type=radio]):not([type=checkbox]){background:#fff;border:2px solid #90b5d2;color:#142e50;width:100%;min-height:44px;padding:12px;border-radius:12px}
.vocab-grid1318{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.vocab-grid1318 article{padding:16px;background:#eafaff;border:2px solid #8fd6e5;border-radius:18px}.word1318{color:#173d70;font-size:1.4rem!important;background:none;border:0;font-weight:700}.hv-caption1318{color:#564d42}
.formula1318{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;justify-content:center;margin:24px 0}.formula1318>span,.formula1318>b{padding:14px 24px;border-radius:12px;background:#b9eeff;border:2px solid #67bbdf;font-size:1.5rem;display:flex;flex-direction:column;justify-content:center}.formula1318>b{background:#ffd86c;border-color:#e9aa27}.formula1318 small{font-size:1rem}
.compare-grid1318,.contrast-grid1318{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.compare-grid1318 article,.contrast-grid1318 article{padding:20px;border-radius:18px;background:#f0f8ff;border:2px solid #a0c8ef}.ending1318{display:inline-block;padding:8px 14px;background:#ffe5e8;color:#9f2337;border-radius:12px}
.piece-bank1318,.tray1318{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:20px;margin:20px 0}.tray1318{min-height:120px;border:3px dashed #59aee2;background:#edf9ff;border-radius:20px}
.brick1318{position:relative;border-radius:12px!important;border:2px solid #1d83c8;background:#71d3f5;color:#163854;padding:16px 22px!important;box-shadow:0 6px 0 #2589b8;font-size:1.45rem!important;font-weight:700;display:flex;flex-direction:column;gap:4px;align-items:center;cursor:grab}
.brick1318:before{content:'';position:absolute;width:22px;height:10px;border:2px solid #1d83c8;border-bottom:0;border-radius:7px 7px 0 0;top:-10px;left:calc(50% - 11px);background:inherit}
.brick1318 small{font-size:.9rem;font-weight:400}.brick1318:disabled{opacity:.35;box-shadow:none;cursor:default}.role1318-1{background:#c9c3ff;border-color:#8777d9;box-shadow:0 6px 0 #8777d9}.role1318-2{background:#ffd969;border-color:#d49e24;box-shadow:0 6px 0 #d49e24}.role1318-3{background:#ffa7ae;border-color:#d05b6d;box-shadow:0 6px 0 #d05b6d}
.star1318{border:2px solid #e5b92d;background:#fff3b7;border-radius:16px;padding:18px}.star1318:disabled{opacity:.55}.star1318 label{display:flex;align-items:center;gap:8px;padding:8px}.lesson1318 input[type=radio]{width:20px;height:20px}
.passage1318{background:#fff9df;border:2px solid #efd16e;padding:24px;border-radius:20px;font-size:1.4rem}.passage1318 small,.transcript1318 small{display:block;font-size:1rem}
.comprehension-grid1318{display:grid;gap:18px;margin-top:24px}.question1318{background:#f0f9ff;border:2px solid #9cd4f2;border-radius:18px;padding:22px}.options1318{display:flex;flex-direction:column;gap:12px;margin:18px 0}.options1318 label{display:flex;gap:10px;align-items:center;background:#fff;padding:12px;border-radius:12px}.hints1318{margin-top:16px}.hint1318,.answer1318{padding:16px;border-radius:14px;margin-top:16px;background:#fff4b8;border:1px solid #e7c64d}.answer1318{background:#dcf7eb;border-color:#72b89a}.key1318{text-decoration:underline;text-decoration-color:#df334a;text-decoration-thickness:3px;text-underline-offset:7px;background:#fff0cc;padding:8px;border-radius:6px}.selected1318{outline:3px solid #1669c0}.roleplay1318{background:#fff3c7;padding:20px;border-radius:16px;margin-top:22px}.lesson1318 details{margin-top:18px}.lesson1318 summary{cursor:pointer;font-weight:700}
@media(max-width:760px){.goal-cards1318,.character-grid1318{grid-template-columns:1fr}.glyph-grid1318{grid-template-columns:repeat(2,minmax(0,1fr))}.vocab-grid1318,.compare-grid1318,.contrast-grid1318{grid-template-columns:1fr}.discovery1318{grid-template-columns:1fr}.discovery1318 .art1318{max-width:450px;margin:auto}.question1318{padding:16px}.brick1318{font-size:1.25rem!important;padding:12px 16px!important}.lesson1318 .row{gap:10px}.formula1318>span,.formula1318>b{padding:10px 14px}.character-grid1318 .art1318{max-width:450px;margin:auto}}

.distance-grid1318{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.distance-grid1318 article{text-align:center;background:#fff4b9;border:2px solid #e2bb34;border-radius:20px;padding:12px}.art1318 img{aspect-ratio:auto;object-fit:contain}.lesson1318 #content112>.art1318{max-width:420px}.discovery1318 .art1318{max-width:320px}.distance-grid1318 .art1318 img{max-height:430px;object-fit:contain}@media(max-width:760px){.distance-grid1318{grid-template-columns:1fr}.distance-grid1318 .art1318{max-width:340px;margin:auto}}

.mnemonic-grid1318{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.mnemonic-grid1318 article{background:#fff2b0;border:2px solid #e1b83c;border-radius:20px;padding:12px;text-align:center}.mnemonic-grid1318 article:nth-child(2){background:#c9f2ff;border-color:#59b4e3}.mnemonic-grid1318 article:nth-child(3){background:#ffd7e0;border-color:#ec88a1}.mnemonic-grid1318 article:nth-child(4){background:#dbf6cc;border-color:#9dc987}.kana-anchor1318{display:block;font-size:3rem;line-height:1.4;color:#173d70}.question-mark1318{display:grid;place-items:center;min-height:180px;font-size:6rem;color:#236550}.mnemonic-grid1318 .art1318 img{max-height:240px}.mnemonic-grid1318 h3{font-size:1rem}@media(max-width:900px){.mnemonic-grid1318{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.mnemonic-grid1318{grid-template-columns:1fr}}

.lesson1318 #content112>.art1318:has(img[src*=lesson8-positions]){max-width:820px}

.location-diagram1318{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.location-diagram1318 article{padding:18px;background:#fff3b4;border:2px solid #d4ac29;border-radius:16px;text-align:center}@media(max-width:480px){.location-diagram1318{grid-template-columns:1fr}}

.position-board1318{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.position-board1318>button{min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding:18px}.position-board1318>button[aria-pressed=true]{background:#fff3b4;border:3px solid #d6a122}.position-board1318 .brick1318{cursor:grab;font-size:1.1rem!important}.position-board1318 small{display:block}@media(max-width:480px){.position-board1318{grid-template-columns:1fr}}

/* Confined to the N5 classroom root. */
#lesson106.audit147{color:#173452;font-size:1rem;line-height:1.7;min-width:0}
.audit147 .stage106,.audit147 .focus147,.audit147 .outline147{background:#fff;color:#173452;border:2px solid #8acded;border-radius:18px;padding:clamp(14px,3vw,26px)}
.audit147 .review147{background:#e8f7ff;border:2px solid #75c4e8;border-radius:18px;padding:20px;margin:22px 0}
.audit147 .review-grid147{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.audit147 .review-grid147 article{background:white;border:1px solid #9ecbe1;border-radius:14px;padding:16px}
.audit147 summary{cursor:pointer;font-weight:700;min-height:44px;padding:8px 0}
.audit147 .focus147,.audit147 .outline147{margin-top:20px}
.audit147 .outline147 details{border-top:1px solid #b6d8e9;padding:12px 0}
.audit147 .comic147{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:16px}
.audit147 .comic-panel147{min-width:0;background:#fff;border:2px solid #7cbddd;border-radius:16px;overflow:hidden}
.audit147 .comic-panel147 img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#eaf7ff}
.audit147 .bubble147{padding:16px;font-size:1.25rem}
.audit147 .bubble147 p{margin:8px 0;line-height:2.1}
.audit147 .bubble147 small{font-size:1rem;line-height:1.7}
.audit147 button[aria-pressed=true]{outline:3px solid #1768ac;outline-offset:2px}
.audit147 [class^=options] label:has(input:checked){background:#d8efff;outline:2px solid #1768ac}
.audit147 [class^=formula]>b,.audit147 .grammar107,.audit147 .ending107{color:#a41932}
.audit147 [class^=art] img{object-fit:contain;height:auto}
.audit147 :focus-visible{outline:3px solid #105f9c;outline-offset:3px}
.audit147 .row{flex-wrap:wrap}
.audit147 button,.audit147 label,.audit147 small{overflow-wrap:anywhere}
.audit147 rt{font-size:.7em;line-height:1.4}
@media(max-width:760px){.audit147 .review-grid147,.audit147 .comic147{grid-template-columns:1fr}.audit147 .review147{padding:14px}.audit147 .bubble147{padding:12px}.audit147 .lesson-selector112{flex-wrap:wrap}.audit147 .stage-nav106{max-width:100%}}
.audit147 button[aria-pressed=false][class*=selected]{outline:none}

.lesson148{--ink148:#173453;color:var(--ink148)}.lesson148 .panel{border:1px solid #cee1ec;border-radius:22px;background:#fff}.lesson148 .grid148{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:18px 0}.lesson148 .grid148 article,.lesson148 .rule148,.lesson148 .question148{padding:18px;border:1px solid #cfe2ed;border-radius:18px;background:#f0f9ff;overflow-wrap:anywhere}.lesson148 .grid148 article:nth-child(3n+2){background:#fff6df}.lesson148 .grid148 article:nth-child(3n){background:#edf9ee}.lesson148 .picture148{display:block;width:min(100%,760px);height:auto;border-radius:18px;margin:16px auto 8px}.lesson148 .jp148{font-size:1.35rem;line-height:2.3;margin-bottom:4px}.lesson148 ruby{font-size:1.3rem;line-height:2.3}.lesson148 rt{font-size:.65em}.lesson148 .kanji148{display:block;font-size:3rem;color:#176b88}.lesson148 .rule148,.lesson148 .question148{margin:16px 0}.lesson148 .passage148{padding:16px;background:#f7fbff;border-radius:18px}.lesson148 .passage148>div{padding:5px 10px}.lesson148 .evidence148{background:#fff2b8;border-left:5px solid #d08c00}.lesson148 .note148{padding:20px;background:#fff5da;border-radius:16px}.lesson148 button{min-height:44px;white-space:normal}.lesson148 button[aria-pressed=true]{outline:3px solid #217da5;outline-offset:2px}.lesson148 .row{flex-wrap:wrap;gap:10px}.lesson148 details{margin:14px 0;padding:12px;border:1px dashed #91aeba;border-radius:12px}.lesson148 summary{cursor:pointer;font-weight:700}.lesson148 .meaning106{color:#405269}.lesson148 .tray112{min-height:90px}.lesson148 .lesson-selector112{max-height:240px;overflow:auto}.lesson148 .stage-nav106{margin:18px 0}@media(max-width:540px){.lesson148 .grid148{grid-template-columns:1fr}.lesson148 .panel{padding:14px}.lesson148 .jp148{font-size:1.18rem}.lesson148 .stage-nav106{display:grid;grid-template-columns:1fr 1fr}.lesson148 .picture148{border-radius:12px}}

.lesson150 .rule148 .jp148{color:#b42332;font-weight:600}.lesson150 button[aria-pressed=true]{background:#d8effa;color:#123f58}.lesson150 figcaption{font-size:.875rem;color:#405269}

.lesson151 .comic151{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}.lesson151 .panel151{border:1px solid #a9cbdc;border-radius:18px;overflow:hidden;background:#edf8ff}.lesson151 .scene151{width:100%;aspect-ratio:1;background-size:300% 200%;background-repeat:no-repeat}.lesson151 .bubble151{background:white;border:2px solid #a9cbdc;border-radius:20px;margin:12px;padding:14px}.lesson151 .bubble151 .jp148{margin:5px 0}.lesson151 .kanji151 b{display:block;color:#176b88;font-size:1.1rem}.lesson151 .formula151{font-size:1.2rem;line-height:1.8;padding:12px;background:#fff3d8;border-left:4px solid #dd9c31}.lesson151 .rule148 .jp148{color:#b42332}.lesson151 .hint151{border-left:4px solid #217da5;padding:10px;margin-top:10px}.lesson151 .evidence151 .jp148{text-decoration:underline;text-decoration-color:#c4323a;text-decoration-thickness:2px;text-underline-offset:6px}.lesson151 button[aria-pressed=true]{background:#cdeafa;color:#123f58;outline:3px solid #217da5}.lesson151 #check112 label{display:block;padding:10px;margin:6px 0;border:1px solid #c4dbe8;border-radius:10px}.lesson151 #check112 label:has(input:checked){background:#cdeafa;border-color:#217da5}.lesson151 rt{color:inherit}@media(max-width:650px){.lesson151 .comic151{grid-template-columns:1fr}.lesson151 .bubble151{padding:12px}.lesson151 .jp148{font-size:1.15rem}}

#hana157{max-width:1200px;margin:18px auto}#hana157 .hana-grid157{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);gap:24px;margin:24px 0}#hana157 video{display:block;width:100%;aspect-ratio:16/9;background:#111;border-radius:16px}#hana157 audio{display:block;width:100%;margin:12px 0}#hana157 textarea{box-sizing:border-box;width:100%;font:inherit;margin:10px 0;padding:12px}#hana157 button,#hana157 p,#hana157 label,#hana157 summary{font-size:1rem;line-height:1.6}#hana157 .hana-jp157{font-size:1.35rem}#hana157 .small,#hana157 small{font-size:.875rem}#hana157 details{margin:16px 0}#hana157 .row{flex-wrap:wrap;gap:10px}#hana-feedback157{line-height:1.8}#hana157 nav button{white-space:normal}@media(max-width:760px){#hana157 .hana-grid157{grid-template-columns:minmax(0,1fr);gap:16px}#hana157{padding:16px}}

#hana157 .hana-select159{background:#f4f1e9;border-radius:12px;padding:16px;margin:16px 0}#hana157 select{display:block;max-width:100%;padding:10px;font:inherit;margin-top:8px;border-radius:8px}#hana157 .hana-select159 label{font-weight:700}
#hana157 ruby{ruby-align:center}#hana157 rt{font-size:.55em;color:#466869}#hana157 rp{display:none}#hana157.hana-no-ruby160 rt{display:none}#hana157 .hana-hints160{margin-top:16px}#hana157 .hana-hints160 button[aria-pressed="true"]{outline:2px solid #247765;outline-offset:2px}#hana-hint157:not(:empty){padding:12px 16px;margin:12px 0;border-radius:12px;background:#edf6f0}#hana-hint157 p{margin:6px 0}

.foundation-tools161{padding:16px;background:#f5f5fa;border:1px solid #e1e1ee;border-radius:16px;margin:16px 0 24px}.foundation-tools161 label{display:flex;align-items:center;gap:8px;font-weight:600}.foundation-tools161 input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#6554c0}.foundation-tools161 select{max-width:310px;margin:0}.foundation-tools161 .row{gap:12px;margin:10px 0}.foundation-tools161 p{margin-bottom:0;min-height:24px}.foundation-grid161{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.foundation-card161{border:1px solid #dddde9;border-radius:16px;padding:20px;background:#fff;scroll-margin-top:90px}.foundation-card161 h3{font-size:22px;line-height:2;margin:0 0 8px;overflow-wrap:anywhere}.foundation-card161 h3 small{font:14px system-ui;color:#777}.foundation-card161 rt{font-size:11px;font-weight:400}.foundation-card161 ruby{ruby-align:center}.foundation-jp161{font-size:20px;line-height:2.2;overflow-wrap:anywhere}.foundation-example161{border-top:1px solid #ededf4;margin-top:14px;padding-top:10px}.foundation-meaning161,.foundation-wordMeaning161{color:#52546b;line-height:1.7}.foundation-active161{outline:3px solid #7663ce;background:#fcfaff}.foundation-hide-furigana rt{visibility:hidden}.foundation-hide-meaning .foundation-meaning161,.foundation-hide-wordMeaning .foundation-wordMeaning161{display:none}.foundation-source161{margin-top:24px;color:#777}.foundation-tools161 button:disabled{opacity:.45;cursor:default}@media(max-width:760px){.foundation-grid161{grid-template-columns:1fr}.foundation-card161{padding:16px}.foundation-tools161 .row{align-items:stretch}.foundation-tools161 select{max-width:100%;width:100%}.foundation-tools161 label{flex-wrap:wrap}.foundation-tools161 button{min-height:44px}.foundation-card161 .row{flex-wrap:wrap}}

#n5learning164{max-width:1100px;margin:auto}.n5-panels164{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.n5-panel164{background:var(--surface,#fff);border:1px solid #dedbee;border-radius:16px;padding:20px;margin:16px 0;min-width:0}.n5-panels164 .n5-panel164{margin:0}.n5-jp164{font-size:1.25rem;line-height:2.2;overflow-wrap:anywhere}.n5-jp164 rt{font-size:.55em}.n5-meaning164{color:var(--muted,#5d6178);line-height:1.6}.n5-hide-meaning164 .n5-meaning164{display:none}.n5-no-ruby164 rt{display:none}.n5-choice164{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid #e4e0ef;border-radius:10px;margin:8px 0;cursor:pointer}.n5-choice164:has(input:checked){background:#f0ecff;border-color:#8268cb}.n5-result164 details{padding:16px;border-bottom:1px solid #e4e0ef}.n5-panel164 audio{display:block;width:100%;margin:12px 0}.n5-panel164 legend{padding:0 8px;font-weight:700}@media(max-width:640px){.n5-panels164{grid-template-columns:1fr}.n5-panel164{padding:15px}.foundation-tools161 .row{flex-wrap:wrap}.n5-jp164{font-size:1.1rem}}

.n5-comic165{gap:22px;align-items:start}.n5-panels164 .n5-frame165{padding:0;border:2px solid #332c50;background:#fff;overflow:hidden;box-shadow:0 4px 0 #332c5014;border-radius:12px}.n5-frameart165{aspect-ratio:1;background-repeat:no-repeat;background-size:300% 400%;background-position:calc(var(--scene-col)*50%) calc(var(--scene-row)*100%/3);position:relative;background-color:#eeebf4}.n5-scene-number165{position:absolute;top:10px;left:10px;display:grid;place-items:center;width:32px;height:32px;background:#332c50;color:#fff;border-radius:50%;font-size:1rem;font-weight:700}.n5-bubble165{position:relative;margin:-28px 14px 16px;padding:20px 16px 12px;border:2px solid #403553;border-radius:20px;background:#fff;color:#29233d;box-shadow:0 3px 0 #332c5012;z-index:1}.n5-bubble165:before{content:"";position:absolute;top:-13px;left:32px;width:22px;height:22px;background:#fff;border-top:2px solid #403553;border-left:2px solid #403553;transform:rotate(45deg)}.n5-minh165:before{left:auto;right:32px}.n5-speaker165{display:inline-block;position:relative;font-weight:700;font-size:.9rem;color:#5a3996;margin:0 0 4px}.n5-minh165 .n5-speaker165{color:#12646c}.n5-bubble165 .n5-jp164{position:relative;margin:6px 0;font-size:1.15rem;line-height:2.1}.n5-bubble165 .n5-meaning164{color:#5d6178;font-size:1rem;margin:10px 0;line-height:1.6}.n5-bubble165 button{font-size:.9rem;min-height:40px}.n5-story-title165 h2{margin:12px 0}.n5-comic165 .n5-frame165:nth-child(3n){border-color:#31676c}@media(max-width:640px){.n5-comic165{gap:20px}.n5-bubble165{margin-left:10px;margin-right:10px}.n5-bubble165 .n5-jp164{font-size:1.1rem}}
.n5-bubble165 ruby rt{font-size:.75rem;font-weight:400;line-height:1.2}

/* The same readable, padded study surface for N5 vocabulary/grammar and N4 vocabulary. */
.study167{--study-ink:#17233c;--study-muted:#475569;--study-blue:#214edb;--study-line:#d9e3f1;color:var(--study-ink);padding:1.5rem!important;background:#f8faff!important;border:1px solid var(--study-line)!important}
.study167 .foundation-grid161{gap:1.25rem;align-items:stretch}
.study167 .study-card167{padding:1.5rem!important;border:1px solid var(--study-line);border-radius:1.25rem;background:#fff;box-shadow:0 3px 12px #20375408;display:flex;flex-direction:column;min-width:0}
.study167 .study-card-head167{display:flex;align-items:flex-start;gap:1rem;min-width:0;padding-bottom:1.25rem;border-bottom:1px solid var(--study-line)}
.study167 .study-number167{flex:none;display:grid;place-items:center;min-width:2.5rem;min-height:2.5rem;padding:.4rem;border-radius:50%;background:#e8f3ff;color:#174cce;font-size:1rem;font-weight:800;line-height:1.25;margin-top:.4rem}
.study167 .study-title167{flex:1;min-width:0}
.study167 .study-card167 h3{margin:0!important;color:var(--study-ink);font-size:clamp(1.5rem,2.3vw,2.25rem);line-height:1.9;font-weight:750;overflow-wrap:anywhere}
.study167 .study-card167 rt{font-size:.7rem;color:#475569;line-height:1.25;letter-spacing:.02em;font-weight:500}
.study167 .foundation-wordMeaning161{font-size:1.05rem;margin:.4rem 0 0;color:var(--study-muted);line-height:1.7}
.study167 .study-listen167{flex:none;margin:0;align-self:flex-start;background:#fff!important;border:1px solid #7896e5!important;color:#1746bb!important;padding:.65rem .85rem!important;border-radius:.7rem;min-height:2.75rem;font-size:.95rem!important;line-height:1.4;font-weight:650;white-space:normal}
.study167 .study-listen167:hover{background:#eaf1ff!important;border-color:#214edb!important}
.study167 .study-example167{margin:1.15rem 0 0;padding:1.15rem!important;border:0;background:#edf6ff;border-radius:1rem;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}
.study167 .study-label167{font-size:.8rem;letter-spacing:.06em;font-weight:800;line-height:1.5;color:#2154b8;background:#d9eeff;padding:.2rem .55rem;border-radius:.35rem}
.study167 .foundation-jp161{margin:.35rem 0!important;font-size:1.35rem;line-height:2.1;overflow-wrap:anywhere;color:var(--study-ink);width:100%}
.study167 .foundation-meaning161{font-size:1rem;line-height:1.8;color:var(--study-muted);margin:0 0 .5rem}
.study167 .study-target167{color:#1d4ed8;background:transparent;font-weight:750}
.study167 .study-example167 .study-listen167{margin-top:auto}
.study167 .study-tools167{border:1px solid var(--study-line);border-radius:1rem;padding:1rem;background:#fff;margin:1.25rem 0}
.study167 .study-playback167,.study167 .study-toggles167{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.study167 .study-playback167 button{margin:0;border-radius:.65rem;padding:.7rem .9rem;font-size:.95rem;min-height:2.75rem;line-height:1.4}
.study167 .study-playback167 .button{background:#214edb!important;color:#fff!important;border-color:#214edb!important}
.study167 .study-playback167 .secondary{background:#fff!important;color:#2145aa!important;border:1px solid #b4c5e9!important}
.study167 .study-tools167 button:disabled{opacity:.48}
.study167 .study-voice167{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:650;margin:0}
.study167 .study-voice167 select{margin:0;max-width:9rem;min-width:7rem;width:auto;border:1px solid #bccbe4;border-radius:.6rem;background:#fff;color:#263957;font-size:1rem;padding:.65rem}
.study167 .study-toggles167{border-top:1px solid #e5ecf7;margin-top:1rem;padding-top:1rem;gap:1rem 1.4rem}
.study167 .study-switch167{position:relative;display:flex;gap:.6rem;align-items:center;font-size:1rem;font-weight:650;line-height:1.5;cursor:pointer;margin:0}
.study167 .study-switch167 input{position:absolute;opacity:0;width:2.75rem;height:1.5rem;margin:0;cursor:pointer}
.study167 .study-switch167>span{width:2.75rem;height:1.5rem;border-radius:2rem;background:#64748b;position:relative;flex:none;pointer-events:none}
.study167 .study-switch167>span:after{content:'';position:absolute;width:1.1rem;height:1.1rem;top:.2rem;left:.2rem;background:white;border-radius:50%;transition:transform .15s}
.study167 .study-switch167 input:checked+span{background:#008b9b}
.study167 .study-switch167 input:checked+span:after{transform:translateX(1.25rem)}
.study167 .study-switch167 input:focus-visible+span{outline:3px solid #3155dc;outline-offset:4px}
.study167 .study-tools167 p{font-size:.9rem;line-height:1.6;margin:.8rem 0 0;color:#475569;min-height:1.5rem}
.study167 .study-count167{font-size:1rem;color:#475569;font-weight:650;margin:.5rem 0 1rem}
.study167 .study-heading167{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.study167 .study-heading167 label{font-size:.95rem;display:flex;align-items:center;gap:.6rem}
.study167 .study-heading167 select{margin:0;width:auto;max-width:100%;font-size:1rem}
.study167 .study-grammar167 .study-card-head167{border-bottom:0;padding-bottom:1rem}
.study167 .study-grammar167 h3{font-size:1.65rem;color:#1d46bf}
.study167 .study-explanation167{font-size:1.05rem;margin:0;line-height:1.85}
.study167 .foundation-active161{outline:3px solid #214edb;outline-offset:2px;background:#fff}
.study167.foundation-hide-furigana rt{visibility:hidden}
.study167.foundation-hide-meaning .foundation-meaning161,.study167.foundation-hide-wordMeaning .foundation-wordMeaning161{display:none}
@media(max-width:1100px){.study167 .study-card-head167{flex-wrap:wrap}.study167 .study-card-head167>.study-listen167{margin-left:3.5rem}.study167 .study-card167 h3{font-size:1.8rem}}
@media(max-width:760px){.study167{padding:1rem!important}.study167 .foundation-grid161{grid-template-columns:1fr}.study167 .study-card167{padding:1.15rem!important}.study167 .study-example167{padding:1rem!important}.study167 .study-title167{flex-basis:calc(100% - 3.5rem)}.study167 .study-playback167{align-items:stretch}.study167 .study-heading167{display:block}.study167 .study-heading167 label{flex-wrap:wrap}.study167 .study-heading167 select{width:100%}.study167 .study-voice167{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.study167 .study-switch167>span:after{transition:none}}

.kana-print-entry168,.kp-toolbar168{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.kana-print-entry168{border:1px solid #bcccf2;background:#eef3ff}.kana-print-entry168 h2{margin:8px 0}.kana-print-dialog168{width:min(1100px,96vw);max-width:96vw;max-height:94dvh;padding:24px;border:0;border-radius:20px;color:#172747;background:#f5f7fc;overflow:auto}.kana-print-dialog168::backdrop{background:#101b36b3}.kp-settings168{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.kp-settings168 label{display:flex;flex-direction:column;gap:8px;font-weight:600}.kp-settings168 label:has(input[type=checkbox]){flex-direction:row;align-items:center}.kp-settings168 select,.kp-settings168 input[type=number]{width:100%;padding:10px;border:1px solid #a6b6ce;border-radius:8px;background:white;color:#172747}.kp-letter-picker168{margin:20px 0;background:white;padding:16px;border-radius:12px}.kp-letter-picker168 fieldset{display:flex;flex-wrap:wrap;gap:8px;border:0;border-top:1px solid #dde3ef;margin:14px 0;padding:12px 0}.kp-letter-picker168 label{display:flex;align-items:center;gap:6px;padding:8px;border:1px solid #ccd5e5;border-radius:8px;cursor:pointer}.kp-letter-picker168 label:has(:checked){background:#e4ecff;border-color:#5478ca}.kp-letter-picker168 span{font-size:24px}.kp-actions168{flex-wrap:wrap;gap:8px}#kp-preview168{background:#d8dfea;padding:16px;overflow:auto;max-height:65vh}#kp-preview168 .kp-page168{margin:0 auto 16px;box-shadow:0 3px 16px #20344b30}.kp-toolbar168 button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:650px){.kana-print-dialog168{padding:16px}.kp-settings168{grid-template-columns:repeat(2,minmax(0,1fr))}.kp-toolbar168 h2{font-size:21px}#kp-preview168{padding:8px}.kp-letter-picker168{padding:10px}}

.yuyu-entry169{border:1px solid #b6c8ec;background:linear-gradient(120deg,#edf3ff,#f3f0ff);max-width:none}.shadow169{color:#182b4c}.shadow169 .shadow-heading169{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.shadow169 .anime-top{background:#edf2fc;padding:22px;border-radius:18px;border:1px solid #d3ddf0}.shadow169 .anime-top h1{font-size:clamp(1.6rem,3vw,2.2rem)}.shadow169 .anime-kicker{color:#425f9e;font-size:12px;letter-spacing:.08em}.shadow169 .shadow-layout169{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:22px;align-items:start}.shadow169.pinned169 .shadow-left169{position:sticky;top:18px}.shadow169 .panel{background:#fff;border:1px solid #d4deef;box-shadow:0 5px 18px #223c6010;padding:20px;border-radius:18px;margin-bottom:18px}.shadow169 .anime-screen{aspect-ratio:16/9;background:#172440}.shadow169 .anime-screen>div{padding:16px}.shadow169 .anime-screen h2{margin:6px 0}.shadow169 .shadow-play169{font-size:36px;color:#c5d8ff}.shadow169 .anime-screen iframe{display:block}.shadow169 .anime-source{margin-bottom:0}.shadow169 .shadow-segment169{border-left:4px solid #3b6ca8;background:#f1f6fe}.shadow169 .shadow-segment169 h2{font-size:25px;letter-spacing:.04em;margin:8px 0}.shadow169 .shadow-tabs169{display:flex;padding:5px;border:1px solid #ccd9ed;border-radius:14px;background:#eaf0fa;gap:5px;margin-bottom:14px}.shadow169 .shadow-tabs169 button{flex:1;min-height:46px;border:0;background:transparent;color:#334867;border-radius:10px;font:inherit;font-weight:700;cursor:pointer}.shadow169 .shadow-tabs169 [aria-selected=true]{background:#345d9b;color:#fff;box-shadow:0 2px 6px #253a5b25}.shadow169 .shadow-tabs169 button:focus-visible{outline:3px solid #559bca}.shadow169 .shadow-coach169{padding:16px;background:#eff8f6;border-radius:12px;border:1px solid #c8e4df;margin:18px 0}.shadow169 .shadow-coach169 h3{margin:0 0 10px;font-size:16px}.shadow169 .shadow-coach169 ol{padding-left:22px;margin:0;line-height:1.8}.shadow169 .shadow-caption169{font-size:14px;background:#faf8f1;border-color:#e8ddbb}.shadow169 .shadow-caption169 h3{margin-top:0}.shadow169 .anime-word-detail{background:#f1f5fc;border:1px solid #d7e3f4}.shadow169 .shadow-jp169{font-size:23px;line-height:2.1}.shadow169 rt{font-size:.55em;color:#526a8e}.shadow169 .shadow-meaning169{background:#e7f5f1;border-left:3px solid #3e8f7c;padding:10px;border-radius:7px;color:#235446}.shadow169 .anime-word-detail button{margin:5px 5px 0 0}.shadow169 .button{background:#345d9b;color:white}.shadow169 .anime-small{color:#526580}.shadow169 [hidden]{display:none!important}@media(max-width:980px){.shadow169 .shadow-layout169{grid-template-columns:1fr}.shadow169.pinned169 .shadow-left169{position:static}.shadow169 .anime-screen{min-height:210px}.shadow169 .anime-top,.shadow169 .panel{padding:16px}.shadow169 .shadow-right169{min-width:0}}@media(prefers-reduced-motion:reduce){.shadow169 *{scroll-behavior:auto!important}}

.shadow-library170 .panel{border:1px solid #cfdaec;background:#fff}.shadow-filters170{display:flex;gap:8px;flex-wrap:wrap}.shadow-filters170 button{min-height:44px;font-size:16px}.shadow-filters170 [aria-pressed=true]{background:#345d9b;color:#fff;border-color:#345d9b}.shadow-guide170{padding:14px;border-left:4px solid #345d9b;background:#edf3ff;line-height:1.7}.shadow-catalog170{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}.shadow-card170{display:flex;flex-direction:column;margin:0!important}.shadow-card170 h2{font-size:22px;line-height:1.4}.shadow-card170 dl{margin:0}.shadow-card170 dl>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #e2e8f1}.shadow-card170 dt{font-weight:600}.shadow-card170 dd{margin:0;text-align:right}.shadow-card170>.button{margin-top:auto;align-self:start}.shadow169 .shadow-layout169{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}.shadow-current170 h2{font-size:21px}.shadow-current170{border-left:4px solid #345d9b!important}.shadow169 .shadow-tabs169{flex-wrap:wrap}.shadow169 .shadow-tabs169 button{font-size:14px;min-width:90px}.shadow-empty170{min-height:240px;padding:18px;background:#f4f7fc;border-radius:12px;line-height:1.8}.shadow169 .anime-kicker,.shadow-library170 .anime-kicker{font-size:14px}@media(max-width:980px){.shadow169 .shadow-layout169{grid-template-columns:1fr}}

.shadow-current171 .shadow-jp169{font-size:clamp(23px,2.3vw,30px);line-height:2.1}.shadow-grammar171{border-top:1px solid #d4deef;margin-top:18px;padding-top:16px}.shadow-grammar171 h3{font-size:18px;margin:12px 0}.shadow-grammar171 p{line-height:1.8}.shadow-grammar-vi171{display:block;margin-top:8px}.shadow-list171{max-height:60vh;min-height:220px;overflow:auto;position:relative}.shadow-line171{display:block;width:100%;text-align:left;padding:18px;border:1px solid #d4deef;border-left:4px solid #bccde5;border-radius:12px;background:white;color:#182b4c;font:inherit;cursor:pointer}.shadow-line171>span{display:block}.shadow-line171.active{background:#fff5d9;border-left-color:#345d9b}.shadow-meta171{font-size:14px;font-weight:700;color:#526580}.shadow-playing171{display:none!important;font-size:14px;font-weight:700;color:#345d9b;margin-top:6px}.shadow-line171.active .shadow-playing171{display:block!important}.shadow-line171 .shadow-jp169{font-size:20px;line-height:2}.shadow-line171:focus-visible,.shadow-list171:focus-visible{outline:3px solid #345d9b;outline-offset:2px}

.kanji-hub172{max-width:1100px}.kanji-hub172 .level-tabs48{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 24px}.kanji-hub172 .level-tabs48 button{min-width:88px;font-size:1rem}.kanji-empty172{border-left:4px solid #315c99;padding:28px}.kanji-empty172 h2{font-size:1.6rem;margin:16px 0}.kanji-empty172 p{font-size:1rem;line-height:1.7}.kanji-empty172 .small{font-size:.9rem}@media(max-width:600px){.kanji-hub172 .level-tabs48{gap:8px}.kanji-hub172 .level-tabs48 button{flex:1 1 28%;min-width:64px}.kanji-empty172{padding:20px}}

.kn173{max-width:1100px;margin:auto}.kn-toolbar173,.kn-print-head173{display:flex;align-items:center;justify-content:space-between;gap:16px}.kn-toolbar173 h2{margin:10px 0}.kn-search173{display:block;margin:24px 0 16px}.kn-search173 input{display:block;width:100%;margin-top:8px}.kn-grid173{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:9px;margin-bottom:24px}.kn-tile173{background:#fff;border:1px solid #d5e1e5;border-radius:12px;padding:14px 5px;color:#18374a;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:7px}.kn-tile173 span,.kn-hv173{font-size:11px;letter-spacing:.07em;font-weight:700;color:#277c70}.kn-tile173 b{font-size:35px;line-height:1.3}.kn-tile173 small{font-size:11px}.kn-tile173.active{background:#edf8f4;border:2px solid #277c70;box-shadow:0 4px 12px #17433612}.kn-detail173{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:20px}.kn-left173,.kn-right173{padding:24px!important}.kn-character173{text-align:center;background:#f2f7f6;border-radius:16px;padding:16px}.kn-character173 span{display:block;font-weight:800;letter-spacing:.15em;color:#277c70}.kn-character173 strong{display:block;font-size:95px;line-height:1.4;color:#17344b}.kn-character173 p{margin:0;font-size:18px}.kn-radical173{font-weight:700}.kn-stroke173{width:185px;height:185px;margin:14px auto;background:#fff;border:1px solid #d5e1e5;border-radius:10px}.kn-stroke173 svg{width:100%;height:100%}.kn-draw173{stroke-dasharray:1;stroke-dashoffset:1;animation:kn-write173 .7s linear forwards}@keyframes kn-write173{to{stroke-dashoffset:0}}.kn-actions173,.kn-toggles173{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.kn-toggles173 label{display:flex;align-items:center;gap:6px}.kn-toggles173 input[type=checkbox],.kn-print-pick173 input{width:auto}.kn-word173{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e3eaed;padding:20px 0}.kn-jp173{font-size:30px;margin-top:10px}.kn173 rt{font-size:12px;font-weight:400}.kn173 rt[hidden]{display:none}.kn-word173 p{margin:8px 0 0}.kn-example173{background:#eff6f7;border-left:3px solid #277c70;padding:16px;border-radius:8px}.kn-example173 p[lang=ja]{font-size:23px;line-height:2.1}.kn173 details{margin-top:18px}.kn173 summary{cursor:pointer;font-weight:700}#kn-print173{width:min(1000px,95vw);max-height:92vh;border:0;border-radius:18px;padding:24px;color:#18374a}#kn-print173::backdrop{background:#102d43aa}.kn-print-pick173{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.kn-print-pick173 label{padding:10px;border:1px solid #d5e1e5;border-radius:8px}.kn-toggles173 input[type=number]{width:80px}#kn-preview173{overflow:auto;max-height:50vh;background:#e8eef1;padding:16px;margin-top:20px}.kn-page173{margin:0 auto 16px}@media(max-width:800px){.kn-grid173{grid-template-columns:repeat(5,minmax(0,1fr))}.kn-detail173{grid-template-columns:1fr}}@media(max-width:480px){.kn-toolbar173{align-items:flex-start;flex-direction:column}.kn-grid173{gap:6px}.kn-tile173 span{font-size:9px}.kn-left173,.kn-right173{padding:16px!important}.kn-jp173{font-size:26px}}

.kn-groups174{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.kn-groups174 button{min-width:76px}.kn-print-pick173{max-height:200px;overflow:auto;padding:8px 0}.kn-print-pick173 label{min-width:112px}

.kn-source175 p{font-size:12px;line-height:1.7}.kn-groups174 button{padding:8px 12px}

.kn-group-picker176{display:flex;align-items:center;gap:12px}.kn-group-picker176 select{min-width:200px}@media(max-width:480px){.kn-group-picker176{width:100%;justify-content:space-between}.kn-group-picker176 select{min-width:0;max-width:70%}}

.kn-large-group177 .kn-grid173{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:420px){.kn-large-group177 .kn-grid173{grid-template-columns:repeat(5,minmax(0,1fr))}.kn-large-group177 .kn-tile173 small{font-size:10px}}

.kn-n1-group178 .kn-grid173{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:800px){.kn-n1-group178 .kn-grid173{grid-template-columns:repeat(4,minmax(0,1fr))}}

#n5-reading179{margin:20px 0}#n5-reading179 .n5-jp164{font-size:clamp(22px,2.4vw,30px);line-height:2.4}#n5-reading179 .n5-meaning164{font-size:1rem;line-height:1.9}#n5-reading179 article+article{border-top:1px solid #bad5ce;padding-top:24px}#n5-reading179 h3{font-size:1.25rem}

.rei181 .rei-grid181{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;margin:20px 0}.rei181 video{display:block;width:100%;aspect-ratio:16/9;background:#151638;border-radius:14px}.rei181 audio{width:100%}.rei181 textarea{display:block;width:100%;margin:8px 0 12px;font:inherit}.rei181 nav,.rei181>.row{gap:10px;flex-wrap:wrap}.rei-jp181{font-size:20px;line-height:2.2}.rei181 rt{font-size:.6em}.rei-no-ruby181 rt{visibility:hidden}.rei-no-meaning181 .rei-vi181{display:none}.rei181 label{display:block;margin-top:16px}.rei181 button{min-height:42px}.rei181 #rei-hint181{margin:12px 0}.rei181 #rei-feedback181{padding:8px 0;min-height:28px}@media(max-width:800px){.rei181 .rei-grid181{grid-template-columns:1fr;gap:14px}.rei181 .rei-jp181{font-size:18px}}

.hana187 .hana-grid187{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;margin:20px 0}.hana187 video{display:block;width:100%;aspect-ratio:16/9;background:#151638;border-radius:14px}.hana187 audio{width:100%}.hana187 textarea{display:block;width:100%;margin:8px 0 12px;font:inherit}.hana187 nav,.hana187>.row{gap:10px;flex-wrap:wrap}.hana-jp187{font-size:20px;line-height:2.2}.hana187 rt{font-size:.6em}.hana-no-ruby187 rt{visibility:hidden}.hana-no-meaning187 .hana-vi187{display:none}.hana187 label{display:block;margin-top:16px}.hana187 button{min-height:42px}.hana187 #hana-hint187{margin:12px 0}.hana187 #hana-feedback187{padding:8px 0;min-height:28px}@media(max-width:800px){.hana187 .hana-grid187{grid-template-columns:1fr;gap:14px}.hana187 .hana-jp187{font-size:18px}}

.hana-context187{padding:16px;background:var(--panel,#f3f2fc);border:1px solid #9c92b844;border-radius:12px;margin-top:16px;overflow:auto}.hana-context187 table{width:100%;border-collapse:collapse}.hana-context187 th,.hana-context187 td{text-align:left;padding:8px;border-bottom:1px solid #9c92b833}.hana187 .hana-jp187{line-height:2.3}

.hana-grammar192{color:#d84c62;font-style:normal;font-weight:700}

#higher-study202 .higher-review202{margin-top:1rem;gap:.65rem;flex-wrap:wrap}
#higher-study202 .higher-hv202{font-size:.95rem;line-height:1.65;margin:.7rem 0 0}

/* Consolidated player refresh, scoped away from lesson cards. */
.word-player78{border:1px solid #9bc4d6;border-top:4px solid #126486;border-radius:20px;background:#fff;box-shadow:0 8px 24px #12364a0a;padding:clamp(16px,3vw,28px)}
.word-player-head78 h2{color:#16374b;font-weight:750}
.word-player-head78 .tag{background:#e4f3f9;color:#155573;border:1px solid #bcdce9;padding:8px 12px}
.word-current78{background:#edf7fb;border:1px solid #c8e2ee;border-radius:16px;gap:8px;min-height:190px;padding:24px 16px;color:#173b51}
.word-current78 strong{font-size:clamp(2rem,5vw,3rem);font-weight:750;line-height:1.6}
.word-current78 span[lang=ja]{color:#315f77;font-size:1.15rem}
.word-player78 .button{background:#126486;border-color:#126486;color:#fff}
.word-player78 .secondary{border-color:#b3d1df;background:#fff;color:#164e6a}
.word-player78 button:focus-visible,.word-player78 select:focus-visible{outline:3px solid #1279a0;outline-offset:3px}
.word-audio-options78{border-top:1px solid #d9e8ef;padding-top:20px}
.word-shuffle78 input{accent-color:#126486}
.word-grid66 .word-playing78{border-color:#126486;background:#edf7fb;box-shadow:0 0 0 2px #c8e2ee}
/* Additional lesson controls only: existing card styling remains intact. */
.vocab-shuffle205{display:flex;align-items:center;gap:9px;margin:12px 0;font-size:1rem;min-height:44px}
.vocab-shuffle205 input{width:20px;height:20px;accent-color:#2466a7}
.vocab-current205{position:sticky;top:12px;z-index:3;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;margin:12px 0 20px;padding:16px;background:#eff6ff;border:1px solid #b8d4f1;border-radius:16px;overflow-wrap:anywhere}
.vocab-current205[hidden]{display:none}
.vocab-current205 strong{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.9;color:#183c65}
.vocab-current205 rt{font-size:.875rem;font-weight:400}
.vocab-current205 .vocab-caption205{font-size:.875rem;color:#456384}
.vocab-current205 .vocab-reading205{font-size:1rem;color:#456384}
.foundation-hide-furigana .vocab-reading205{visibility:hidden}

/* One illustration per frame, readable speech within the comic frame. */
.n2-comic83,.n3-comic86{max-width:1040px;margin-inline:auto}
.n2-scene-grid84,.n3-scenes86{gap:20px;align-items:start}
.n2-scene83,.n3-frame88,.n3-frame86{position:relative;display:flex;flex-direction:column;padding:0;min-height:0;border:2px solid #283440;border-radius:12px;background:#f5eee1;overflow:hidden;isolation:isolate}
.n2-backdrop94,.n3-backdrop88{display:none}
.n2-scene83>.n2-art83,.n3-frame88>.n3-foreground88,.n3-frame86>.n3-illustration86{order:1;position:relative;inset:auto;z-index:0;display:block;width:100%;height:auto;max-height:none;margin:0;object-fit:contain}
.n3-frame86>.n3-illustration86{aspect-ratio:auto}
.n2-context94,.n3-frame88>.n3-context86,.n3-frame86>.n3-context86{order:0;margin:0;padding:10px 12px;background:#fffaf1;border-bottom:1px solid #d3c5ae;font-size:14px;z-index:2}
.n2-scene83>.n2-bubble83,.n3-frame88>.n3-bubble86,.n3-frame86>.n3-bubble86{order:2;position:relative;z-index:2;align-self:center;width:calc(100% - 28px);margin:-30px 14px 16px;padding:14px 18px;background:#fffefa;border:2px solid #283440;border-radius:25px;box-shadow:0 4px 10px #192a3815}
.n2-scene83>.n2-bubble83:after,.n3-frame88>.n3-bubble86:after,.n3-frame86>.n3-bubble86:after{top:-15px;bottom:auto;left:26%;width:18px;height:22px;background:#fffefa;border:0;border-top:2px solid #283440;border-left:2px solid #283440;transform:skewY(25deg) rotate(25deg);z-index:-1}
.n2-scene83 .n2-jp83,.n3-frame88 .n3-jp60,.n3-frame86 .n3-jp60{font-size:clamp(19px,1.8vw,22px);line-height:2;overflow-wrap:anywhere}
.n2-scene83 .n2-translation83,.n3-frame88 .n3-vi86,.n3-frame86 .n3-vi86{font-size:16px;line-height:1.65;margin-top:12px;border-top:1px solid #dfd5c7;padding-top:10px;color:#394758}
.n2-speaker83,.n3-speaker86{font-size:14px;font-weight:700;color:#203e59}
.n2-scene83 .n2-audio83,.n3-bubble86 button{min-height:44px}
/* Exact Japanese is set into the native balloon. Full ruby and translation remain below. */
.n2-scene83[data-balloon219="native"]>.n2-art83{container-type:inline-size;order:1}
.n2-native-line219{position:absolute;display:flex;align-items:center;justify-content:center;z-index:1;box-sizing:border-box;text-align:center;line-height:1.3;font-family:"Noto Sans JP",sans-serif;font-weight:600;color:#17232d;overflow-wrap:anywhere;white-space:normal}
.n2-scene83[data-balloon219="native"]>.n2-bubble83{order:2;margin:0;width:100%;border:0;border-top:1px solid #c8bdac;border-radius:0;box-shadow:none}
.n2-scene83[data-balloon219="native"]>.n2-bubble83:after{display:none}
@media(max-width:760px){.n2-scene-grid84,.n3-scenes86{grid-template-columns:minmax(0,1fr);max-width:560px;margin-inline:auto}.n2-scene83>.n2-bubble83,.n3-frame88>.n3-bubble86,.n3-frame86>.n3-bubble86{width:calc(100% - 24px);margin-inline:12px;padding:12px 15px}.n2-comic83,.n3-comic86{padding-inline:0}.n2-scene83 .n2-jp83,.n3-frame88 .n3-jp60,.n3-frame86 .n3-jp60{font-size:20px}}
.n3-frame86{background-image:none!important}

.n3-picture219{order:1;display:grid;isolation:isolate;min-width:0;width:100%}
.n3-picture219>.n3-foreground88,.n3-picture219>.n3-illustration86{position:relative;inset:auto;grid-area:1/1;width:100%;height:auto;max-height:none;min-height:0;display:block;object-fit:contain;z-index:0}
.n3-overlay219{grid-area:1/1;align-self:end;position:relative;z-index:1;margin:14px;padding:12px 16px;border:2px solid #283440;border-radius:24px;background:#fffefa;box-shadow:0 3px 8px #192a3820}
.n3-overlay219:before{content:"";position:absolute;top:-12px;left:23%;width:17px;height:18px;background:#fffefa;border-top:2px solid #283440;border-left:2px solid #283440;transform:skewY(20deg) rotate(25deg)}
.n3-overlay219.tail-right:before{left:73%}.n3-overlay219 strong{font-size:13px;color:#355168}.n3-overlay219 p{margin:4px 0!important}.n3-overlay219 .n3-jp60{font-size:18px!important;line-height:1.7!important}.n3-overlay219 rt{font-size:.58em}
.n3-frame86>.n3-bubble86,.n3-frame88>.n3-bubble86{margin:0;width:100%;border:0;border-top:1px solid #d3c5ae;border-radius:0;box-shadow:none}
.n3-frame86>.n3-bubble86:after,.n3-frame88>.n3-bubble86:after{display:none}
.n3-frame86>.n3-bubble86>.n3-speaker86,.n3-frame88>.n3-bubble86>.n3-speaker86{display:none}
.n3-frame86 .n3-vi86,.n3-frame88 .n3-vi86{margin-top:0;border-top:0;padding-top:0}

.n2-overlay219{position:absolute;z-index:1;bottom:12px;left:5%;width:90%;padding:10px 14px;box-sizing:border-box;background:#fffefa;border:2px solid #283440;border-radius:22px;font-size:18px;line-height:1.55;overflow-wrap:anywhere;text-align:center;color:#17232d}

.n2-scene83>.n2-bubble83{margin:0;width:100%;border:0;border-top:1px solid #d3c5ae;border-radius:0;box-shadow:none}.n2-scene83>.n2-bubble83:after{display:none}

.n2-scene-grid84:has(.n2-native-line219){grid-template-columns:minmax(0,1fr);max-width:840px;margin-inline:auto}
.n2-zoom219{margin-left:16px}.n2-zoom-scroll219{max-width:100%;overflow:auto}.n2-zoom-content219{width:1000px;max-width:none}.n2-zoom-content219 .n2-zoom219{display:none}.n2-zoom-content219 .n2-scene83{width:100%;margin:0}
#modal:has(.n2-zoom-content219){width:min(1100px,96vw);max-width:96vw}

/* 224: reserve space for dialogue inside the comic panel; never cover artwork. */
.n3-picture219{display:flex;flex-direction:column;background:#f5eee1}
.n3-picture219>.n3-foreground88,.n3-picture219>.n3-illustration86{flex:none;position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/3!important;object-fit:contain;object-position:center;max-height:none;margin:0;grid-area:auto}
.n3-overlay219{flex:none;grid-area:auto;align-self:stretch;margin:18px 14px 14px;padding:14px 16px;min-width:0;box-sizing:border-box}
.n3-overlay219 .n3-jp60{font-size:20px!important;line-height:1.85!important;word-break:normal;overflow-wrap:anywhere}
.n3-scenes86{align-items:stretch}
.n3-frame88,.n3-frame86{min-width:0}
.n3-frame88>.n3-bubble86,.n3-frame86>.n3-bubble86{margin-top:auto}

#n5-story226{max-width:1080px;margin-inline:auto}.story-goals226{padding:20px;background:#f1edf9;border:1px solid #d7cce9;border-radius:14px;margin:20px 0}.story-goals226 h2{font-size:1.2rem}.story-goals226 li{margin:9px 0;line-height:1.65}.story-intro226{font-size:1.1rem;line-height:1.8}.story-tools226{padding:14px 0;gap:20px}.story-tools226 label{display:flex;align-items:center;gap:8px}.story-scenes226{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.story-scene226{border:1px solid #d9d8e7;border-radius:14px;overflow:hidden;min-width:0;background:white}.story-scene226>h2{font-size:1.12rem;margin:0;padding:16px;background:#f7f4fb}.story-art226{aspect-ratio:1/1;background-size:300% 200%;background-repeat:no-repeat}.story-narrative226{padding:0 18px;line-height:1.8;color:#45405b}.story-dialogue226{padding:0 18px}.story-dialogue226>div{padding:12px 0;border-top:1px solid #eee}.story-dialogue226 [lang=ja]{font-size:1.25rem;line-height:2;overflow-wrap:anywhere;margin:8px 0}.story-dialogue226 mark{color:#be203b;background:transparent;font-weight:750}.story-dialogue226 rt{font-size:.58em}.story-meaning226{color:#4f5266;line-height:1.7}.story-note226{margin:14px 18px;padding:12px;background:#f7f4fb;border-radius:8px;line-height:1.7}.story-note226 summary{cursor:pointer;font-weight:650}.story-tip226{margin:18px}.story-tip226 img{display:block;width:100%;height:auto}.story-tip226 figcaption{font-size:.9rem;line-height:1.6;margin-top:8px}.story-check226{display:flex;align-items:start;gap:10px;margin:14px 0}.hide-meaning226 .story-meaning226,.hide-meaning226 .n2-meaning226{display:none!important}.hide-ruby226 rt,.hide-ruby226 rp{display:none!important}.story-tools226 input,.story-check226 input{width:20px;height:20px;accent-color:#6550a3}#n2-list83.course-list38{border:0;background:transparent;padding:0}.n2-course83 .n2-title83 h1{font-size:1.5rem}.n2-course83 .n2-controls83{padding:12px 16px;background:#f1edf9;border-radius:10px}.n2-course83 .n2-jp83 mark{background:transparent;color:#be203b;font-weight:750}@media(max-width:760px){.story-scenes226{grid-template-columns:minmax(0,1fr)}#n5-story226{padding:14px}.story-goals226{padding:14px}.story-art226{aspect-ratio:1/1}.story-tools226{align-items:flex-start}}

/* Comic dialogue remains selectable and works with independent ruby/meaning switches. */
.story-comic227{display:grid;gap:12px}.story-frame227{position:relative;container-type:inline-size;aspect-ratio:1;overflow:hidden;border-block:2px solid #302a3b;background:#f6efdf}.story-frame227 .story-art226{position:absolute;inset:0;aspect-ratio:auto}.story-balloon-zone227{position:absolute;inset:3% 3% auto;display:flex;gap:4%;align-items:flex-start;z-index:1}.story-balloon227{position:relative;min-width:0;box-sizing:border-box;background:#fffefb;border:2px solid #302a3b;border-radius:44% / 22%;padding:12px 16px;box-shadow:1px 3px 0 #302a3b20;color:#242030}.story-balloon227:before,.story-balloon227:after{content:"";position:absolute;top:calc(100% - 1px);border-style:solid;border-width:23px 8px 0;border-color:#302a3b transparent transparent}.story-balloon227:after{top:calc(100% - 3px);border-width:22px 6px 0;border-top-color:#fffefb}.speaker-left227:before,.speaker-left227:after{left:23%;transform:rotate(18deg);transform-origin:top}.speaker-right227:before,.speaker-right227:after{left:72%;transform:rotate(-18deg);transform-origin:top}.speaker-center227:before,.speaker-center227:after{left:48%}.single227 .story-balloon227{width:87%}.single227 .speaker-left227{margin-right:auto}.single227 .speaker-right227{margin-left:auto}.single227 .speaker-center227{margin-inline:auto}.pair227 .story-balloon227{flex:1}.story-speaker227{display:flex;gap:6px;align-items:center;justify-content:space-between;font-size:clamp(11px,2.8cqw,14px)}.story-listen227{border:0;background:none;color:#6550a3;padding:4px;cursor:pointer;font:inherit;white-space:nowrap;min-height:28px}.story-listen227:focus-visible{outline:2px solid #6550a3;border-radius:6px}.story-balloon227 [lang=ja]{font-size:clamp(14px,4cqw,20px);line-height:1.8;overflow-wrap:anywhere;margin:6px 0 2px}.story-balloon227 mark{color:#be203b;background:transparent;font-weight:750}.story-balloon227 rt{font-size:.55em}.story-translations227{padding:0 18px}.story-translations227 b{color:#383047}@media(max-width:380px){.story-balloon227{padding:9px 11px}.story-balloon-zone227{gap:2%}}

/* Let longer/ruby dialogue grow upward while keeping the character area clear. */
.story-frame227{aspect-ratio:auto;padding-bottom:58%}.story-frame227 .story-art226{inset:auto 0 0;height:100cqw}.story-balloon-zone227{position:relative;inset:auto;margin:3cqw;min-height:36cqw}.story-balloon227{flex-shrink:0}

.story-frame227{padding-bottom:68%}.story-balloon-zone227{min-height:26cqw}

/* Vietnamese reading order: finish each scene left-to-right before the next scene. */
.story-scenes226{grid-template-columns:minmax(0,1fr)}
.story-comic227{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;padding:12px;gap:16px}
.story-comic227>.story-frame227:only-child{grid-column:1/-1;width:min(100%,520px);justify-self:center}
.story-frame227:before{content:attr(data-panel229);display:block;position:relative;z-index:2;background:#f7f4fb;color:#45405b;padding:7px 12px;font-size:13px;font-weight:700;border-bottom:1px solid #d9d8e7}
@media(max-width:760px){.story-comic227{grid-template-columns:minmax(0,1fr);padding:8px;gap:14px}.story-comic227>.story-frame227:only-child{width:100%}}

/* N5 230: a fixed bilingual comic unit, one unique illustration per scene. */
#n5-story226{max-width:1180px}.story-scenes226{grid-template-columns:minmax(0,1fr);gap:28px;direction:ltr;grid-auto-flow:row}.story-scene226{border:1px solid #d8cce2;border-radius:20px;box-shadow:0 8px 25px #3024400a}.story-scene226>h2{background:#f5f0f9;padding:16px 22px}.story-spread230{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:stretch;background:#f7f0e7;overflow:hidden}.story-picture230{aspect-ratio:4/3;background-size:200% 400%;background-repeat:no-repeat;align-self:center;width:100%;min-width:0}.story-dialogue230{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:22px;background:linear-gradient(120deg,#fbf4e9,#f1eaf6)}.story-balloon230{position:relative;border:1.5px solid #776481;border-radius:20px;background:#fffefa;padding:14px 18px;color:#30293e;box-shadow:0 3px 0 #77648115;min-width:0}.story-balloon230:before{content:'';position:absolute;left:-9px;top:28px;width:16px;height:16px;background:#fffefa;border-left:1.5px solid #776481;border-bottom:1.5px solid #776481;transform:rotate(45deg)}.story-jp230{font-size:clamp(19px,2vw,25px);line-height:2.1;margin:7px 0;overflow-wrap:anywhere}.story-jp230 ruby{ruby-align:center}.story-jp230 rt{font-size:.53em}.story-jp230 mark{color:#be203b;background:none;font-weight:750}.story-vi230{margin:6px 0 0;padding-top:8px;border-top:1px solid #e7dfd5;font-size:15px;line-height:1.65;color:#554663}.story-balloon230 .story-speaker227{font-size:14px}.story-listen227{min-height:36px;padding:5px 8px}.story-narrative226{padding:18px 22px 0;margin-bottom:12px}.story-note226{margin:14px 22px 20px}.story-note226 h3{font-size:15px;margin-bottom:5px;color:#6b3d82}.story-note226 p{margin-bottom:0}.story-note226 rt{font-size:.55em}.story-fixed230{font-size:14px;color:#63536e;padding:12px 16px;background:#fff5df;border-radius:10px}.story-recall230{margin:16px 22px;padding:14px 18px;border-left:4px solid #bf8660;background:#fff8ec;border-radius:0 12px 12px 0}.story-recall230 p:last-child{margin:0}.story-particle230{display:flex;align-items:center;gap:20px;margin:16px 22px;padding:16px 22px;border:1px solid #d6c7e5;border-radius:14px;background:#f5effc}.story-particle230>span{font-size:45px}.story-particle230 p{font-size:23px;margin:4px 0}.story-particle230 small{font-weight:700;color:#6e4486}.story-koso230{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 22px}.story-koso230>div{padding:15px;background:#f3f6fb;border-radius:12px}.story-koso230 p{font-size:22px;margin:8px 0}.story-primer230{padding:0 22px}.story-scene226 .story-note226 mark{color:#be203b;background:none}.story-scene226 .story-note226 ruby{line-height:2}
@media(max-width:760px){.story-spread230{grid-template-columns:minmax(0,1fr)}.story-picture230{max-width:640px;justify-self:center}.story-dialogue230{padding:18px;gap:14px}.story-balloon230:before{left:28px;top:-9px;transform:rotate(135deg)}.story-jp230{font-size:21px}.story-koso230{grid-template-columns:1fr}.story-narrative226{padding:16px 16px 0}.story-note226,.story-particle230,.story-recall230,.story-koso230{margin-inline:16px}.story-scene226>h2{padding:14px 16px}}
/* 231: visual memory aids and explicitly illustrative frequency examples. */
.story-mnemonic231{max-width:1000px;margin-inline:auto;padding:0 18px}.story-mnemonic231 img{border-radius:12px}.story-scale231{margin:18px 22px;padding:20px;border:1px solid #d6c7e5;border-radius:14px;background:#fcf9ff}.story-scale231 h3{margin-top:0}.story-scale-note231{padding:10px;background:#fff1d8;border-radius:8px;line-height:1.7}.story-scale-row231{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-bottom:1px solid #e5dcec;padding:14px 0;align-items:center}.story-scale-row231 b{font-size:19px}.story-scale-row231 small{display:block;margin-top:5px}.story-scale-row231 span{font-size:13px;color:#5b5064}.story-ten231{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin-bottom:7px}.story-ten231 i{display:block;aspect-ratio:1;border:1px solid #c8becf;border-radius:5px;background:#fff}.story-ten231 .filled{background:#437d79;border-color:#437d79}.story-table-scroll231{overflow-x:auto}.story-scale231 table{width:100%;border-collapse:collapse;text-align:left}.story-scale231 th,.story-scale231 td{padding:12px;border-bottom:1px solid #ded4e6;line-height:1.6}.story-scale231 th{background:#f0e8f7}.story-existence231{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 22px}.story-existence231>div{background:#eef7f4;border:1px solid #c0dcd0;border-radius:14px;padding:20px;text-align:center}.story-existence231>div+div{background:#fff3e5;border-color:#ead2b3}.story-existence231 span{display:block;font-size:36px}.story-existence231 b{display:block;font-size:26px;margin-top:12px}.story-existence231 small{font-size:17px;line-height:1.9}.story-position231{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.story-position231>div{padding:12px;background:#efe9f5;border-radius:9px;text-align:center}.story-position231 small{display:block;margin-top:5px}@media(max-width:600px){.story-scale231{margin:14px 16px;padding:14px}.story-scale-row231{grid-template-columns:1fr;gap:9px}.story-existence231{grid-template-columns:1fr;margin-inline:16px}.story-position231{grid-template-columns:repeat(2,minmax(0,1fr))}.story-scale231 th,.story-scale231 td{padding:9px;min-width:115px}}

.lesson4-guide228{grid-column:1/-1;min-width:0}.lesson4-guide228>details{padding:18px;margin:16px 0;border:1px solid var(--line,#d7d0e5);border-radius:16px;background:var(--panel,#fff)}.lesson4-guide228 summary{cursor:pointer;font-weight:750;line-height:1.6}.lesson4-goals228{padding:22px;border-radius:18px;background:linear-gradient(120deg,#f1eafa,#fff6e7);color:#35264d}.lesson4-columns228{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:14px}.lesson4-table228{overflow:auto;max-width:100%}.lesson4-table228 table{border-collapse:collapse;width:100%;font-size:1rem}.lesson4-table228 th,.lesson4-table228 td{padding:9px 12px;border-bottom:1px solid #d8d1e3;text-align:left}.lesson4-table228 tbody th{font-size:1.15rem}.lesson4-table228 button{min-width:40px;min-height:40px}.lesson4-clock228{display:grid;grid-template-columns:minmax(160px,250px) minmax(0,1fr);align-items:center;gap:28px;padding:20px 0}.lesson4-clock228 svg{width:100%;max-width:250px}.lesson4-time228{font-size:clamp(1.3rem,3vw,2rem);line-height:2.5;overflow-wrap:anywhere}.lesson4-clock-controls228{flex-wrap:wrap;gap:18px}.lesson4-clock-controls228 label{display:grid;gap:6px}.lesson4-clock-controls228 select{min-height:44px;min-width:100px}.lesson4-guide228 p{line-height:1.85}.lesson4-guide228 rt{font-size:.55em}.lesson4-guide228+article{margin-top:10px}@media(max-width:620px){.lesson4-columns228{grid-template-columns:1fr;gap:12px}.lesson4-clock228{grid-template-columns:1fr;gap:12px}.lesson4-clock228>div:first-child{text-align:center}.lesson4-guide228>details{padding:12px}.lesson4-table228 th,.lesson4-table228 td{padding:7px}.lesson4-goals228{padding:16px}}

.story-guide232{margin:20px 22px;padding:22px;border:1px solid #d4c8df;border-radius:16px;background:linear-gradient(135deg,#fcfaf6,#f2edf8);line-height:1.85;color:#393047}.story-guide232 h3{margin-top:0;color:#5c3c7b}.story-guide232 table{width:100%;border-collapse:collapse;min-width:480px}.story-guide232 td,.story-guide232 th{padding:12px;text-align:left;border:1px solid #d8cee2}.story-guide232 th{background:#e9dff2}.story-guide232 rt{font-size:.55em}.story-guide232 mark{color:#be203b;background:transparent}.song232{display:block;width:100%;aspect-ratio:16/9;background:#11182c;border-radius:12px}.direction232{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:12px;text-align:center}.direction232>div{padding:15px;background:#fff;border-radius:12px}.arrow232{display:flex;flex-direction:column;gap:8px}.arrow232 b{color:#944966;font-size:23px}.timeline232{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:center}.timeline232>div{padding:15px;background:#fff;border-radius:12px}.timeline232 small{display:block;color:#665879}.time-arrow232{grid-column:span 1}.time-arrow232:nth-child(4){grid-column:1/3}.time-arrow232:nth-child(5){grid-column:2/4}.time-arrow232 b{color:#854861;font-size:22px}@media(max-width:600px){.story-guide232{margin:14px;padding:14px}.direction232{grid-template-columns:1fr}.arrow232{border-left:4px solid #944966}.timeline232{gap:5px}.timeline232>div{padding:10px 4px;font-size:14px}.time-arrow232 b{font-size:18px}}

.memory-figure249{margin:0;min-width:0}.memory-figure249 a{display:block}.memory-figure249 img{display:block;width:100%;height:auto;object-fit:contain;border-radius:12px}.memory-figure249 figcaption{margin-top:10px;font-size:14px;line-height:1.65;color:#584867}.memory-story249{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;align-items:start}.memory-story249>div{min-width:0}.memory-story249 table{min-width:0}.memory-story249 td,.memory-story249 th{padding:9px}.memory-story249 .story-table-scroll231{overflow-x:auto}@media(max-width:800px){.memory-story249{grid-template-columns:1fr;gap:18px}}

.clocks233{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.clocks233 article{background:#fff;border:1px solid #d9cce7;border-radius:16px;padding:18px}.clocks233 b{font-size:25px;color:#ab324b}.clocks233 h4{margin:10px 0}.clock233{display:inline-block;font-size:38px;margin-right:12px;color:#765196}.digital233{padding:10px;border-radius:8px;background:#242538;color:#f4ebc7;font:600 15px monospace;white-space:normal}.check233{border-top:1px solid #d8cce1;padding:12px 0}.check233 summary{cursor:pointer;font-weight:600}.check233 p{padding:10px;background:#fff;border-radius:8px}@media(max-width:480px){.clocks233{grid-template-columns:1fr}}

.story-guide234{margin:18px 22px;padding:18px;border:1px solid #c9dcd9;border-radius:14px;background:#f0f8f6;color:#263d3a;line-height:1.8}.story-guide234 h3{margin:0 0 12px;font-size:1.1rem}.story-guide234 table{border-collapse:collapse;width:100%;min-width:420px}.story-guide234 th,.story-guide234 td{padding:10px 12px;border-bottom:1px solid #cfe0db;text-align:left;vertical-align:top}.story-guide234 td[lang=ja]{font-size:1.1rem;min-width:190px}.story-guide234 mark{background:none;color:#be203b;font-weight:700}.story-flow234{padding:12px;margin-top:10px;border:1px solid #d7e5df;background:#fff;border-radius:10px}.story-flow234>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:10px;text-align:center}.story-flow234>div>span{background:#e7f3ee;padding:8px;border-radius:8px;overflow-wrap:anywhere}.story-flow234>div>b{font-size:28px;color:#286759}.story-flow234 p{font-size:.95rem;margin:8px 0 0}.story-finish234{background:linear-gradient(135deg,#fff3db,#f4ecfa)}@media(max-width:600px){.story-guide234{margin:12px;padding:12px}.story-flow234{padding:10px}.story-flow234>div{gap:6px}.story-flow234>strong{overflow-wrap:anywhere}}

.n1-course243{max-width:1120px;margin:auto;min-width:0}.n1-course243 .panel{margin:16px 0}.n1-controls243{display:flex;flex-wrap:wrap;gap:18px;padding:16px;background:var(--paper,#fff);border-radius:12px}.n1-course243 [lang=ja]{line-height:2.25;overflow-wrap:anywhere}.n1-course243 ruby{ruby-align:center}.n1-course243 rt{font-size:.55em;color:#667080}.n1-grammar243{color:#b8323e}.n1-links243{border-left:3px solid #719588;padding:4px 14px;margin:16px 0;background:#f2f7f4}.n1-links243 p{font-size:.9rem;margin:2px 0 10px}.n1-passage243{white-space:pre-wrap;line-height:2.2;font-size:1.08rem}.n1-question243{border:1px solid #dce2e0;border-radius:12px;margin:20px 0;padding:18px;min-width:0}.n1-question243 legend{font-weight:700;max-width:100%;padding:0 5px}.n1-question243>label{display:flex;gap:12px;align-items:baseline;padding:10px;border-radius:8px;cursor:pointer}.n1-question243>label:hover{background:#f0f5f3}.n1-feedback243{background:#f3f6f9;border-radius:10px;padding:14px;margin-top:12px}.n1-evidence243{text-decoration:underline;text-decoration-color:#c63c4b;text-decoration-thickness:2px;text-underline-offset:5px}.n1-navigation243{display:flex;justify-content:space-between;gap:12px}.n1-course243 details>summary{cursor:pointer}.n1-course243 button{white-space:normal}.n1-course243 .n3-word60{min-width:0}@media(max-width:600px){.n1-question243{padding:12px}.n1-course243 .n3-word-grid60{grid-template-columns:1fr}.n1-controls243{position:static}.n1-course243 .panel{padding:16px}}

.fc-settings252{display:grid;gap:18px}.fc-filters252{display:grid;grid-template-columns:110px minmax(160px,2fr) minmax(145px,1fr) 135px;gap:14px}.fc-filters252 label{display:grid;gap:6px;min-width:0}.fc-filters252 select{width:100%;max-width:100%}.fc-options252 label{display:flex;gap:8px;align-items:center}.fc-options252 input{width:auto}.fc-overview252{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.fc-overview252>div{display:flex;align-items:baseline;gap:9px;padding:15px 20px;background:#eaf1ee;border-radius:14px;color:#244b46}.fc-overview252 strong{font-size:26px}.fc-overview252 span{font-size:13px}.fc-study252{max-width:820px;margin:25px auto}.fc-study252 progress{display:block;width:100%;height:6px;accent-color:#197a70;margin:15px 0 22px}.fc-card252{min-height:290px;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;padding:35px 28px;border-color:#b9d1c9;box-shadow:0 12px 40px #17344b0a}.fc-card252 h2{font-size:clamp(25px,4vw,42px);line-height:1.5;overflow-wrap:anywhere;margin:20px 0}.fc-side252{font-size:11px;letter-spacing:.16em;color:#647a75}.fc-reading252{font-size:20px;color:#39756b}.fc-meaning252{font-size:19px;white-space:pre-line}.fc-example252{margin-top:22px;background:#f2f6f3;border-radius:14px;padding:20px;width:100%;text-align:left}.fc-example252 p[lang=ja]{font-size:20px;line-height:1.8}.fc-explain252{margin-top:18px;text-align:left;width:100%;line-height:1.8;white-space:pre-line}.fc-rating252{display:flex;gap:12px;margin:18px 0}.fc-rating252>button{flex:1;min-height:52px}.fc-rating252 .fc-again252{background:#fcf0ec;border-color:#ebcfc5;color:#945337}.fc-start252{text-align:center;padding:34px}.fc-start252 .row{justify-content:center}.fc-mini252{padding:14px 0;border-bottom:1px solid #dbe4df}.fc-mini252 small{font-size:12px;color:#627970}.fc-entry252{display:flex;gap:20px;align-items:center;justify-content:space-between}.fc-entry252 h2{margin:12px 0}.fc-entry252 p{margin:0}.fc-browse252{margin-top:26px}@media(max-width:700px){.fc-filters252{grid-template-columns:1fr 1fr}.fc-overview252{gap:7px}.fc-overview252>div{padding:12px 9px;flex-direction:column;gap:3px}.fc-rating252{gap:7px}.fc-rating252>button{font-size:13px;padding:10px 5px}.fc-entry252{align-items:flex-start;flex-direction:column}.fc-card252{padding:25px 18px}.fc-source252{gap:8px}}

.course-header254{display:flex;justify-content:flex-end;margin:20px 0 8px}.course-header254 .level-tabs48{margin:0;background:#faf8fd;border:1px solid #e2dcec;border-radius:16px;padding:7px;gap:8px}.course-header254 button{min-width:65px}.course-grid254{grid-template-columns:minmax(0,.95fr) minmax(0,1fr);align-items:stretch;gap:22px;margin:16px 0 26px}.course-tools254{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:16px;min-width:0;align-self:stretch}.course-tool254{display:grid;grid-template-columns:minmax(105px,42%) minmax(0,1fr);align-items:center;min-height:205px;border:1px solid #e3ddeb;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 5px 18px #65509a06}.course-tool254 img{display:block;width:100%;height:100%;max-height:235px;object-fit:contain;background:#f7f5fc}.course-tool254>div{padding:20px 16px}.course-tool254 h2{font-size:clamp(19px,1.8vw,25px);line-height:1.35;margin:0 0 10px;letter-spacing:-.3px}.course-tool254 p{font-size:14px;line-height:1.6;color:#746b87;margin:0 0 18px}.course-tool254 .button{min-height:46px;max-width:100%;padding:12px 17px;font-size:14px;white-space:normal}.course-grid254>.course-outline40{background:#fff;border:1px solid #e3ddeb;border-radius:20px;padding:22px;display:flex;flex-direction:column;min-height:675px}.course-grid254 .course-list38{flex:1;min-height:0;max-height:610px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.course-grid254 .course-outline40>.panel{margin:0;padding:0;border:0;box-shadow:none}.course-grid254 .lesson-row38{margin:0 0 10px;border-radius:14px;background:#fbfaff}.course-grid254 .lesson-row38 summary{padding:16px 12px;gap:12px}.course-grid254 .lesson-number38{border-radius:50%;min-width:36px;height:36px;background:#ece5f7;color:#65509a;display:flex;align-items:center;justify-content:center}.course-grid254 .lesson-status38{font-size:12px;white-space:normal}.course-grid254 .lesson-row38 strong{font-size:15px;min-width:0}.course-grid254 .lesson-row38 strong small{font-size:12px}.course-review254{display:grid;gap:10px}.course-word-filters254{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.course-word-filters254 label{min-width:0}.course-word-filters254 select,.course-word-filters254 input{width:100%}.course-word-list254{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.course-word-list254>.panel{margin:0;min-width:0}.course-word-list254 h2{overflow-wrap:anywhere}@media(min-width:951px){.course-grid254 .course-tools254{position:sticky;top:20px;max-height:700px}.course-grid254 .course-list38{max-height:620px}}@media(max-width:950px){.course-header254{justify-content:flex-start}.course-grid254{grid-template-columns:1fr}.course-tools254{grid-template-rows:none;grid-template-columns:1fr}.course-tool254{min-height:175px;grid-template-columns:160px minmax(0,1fr)}.course-tool254 img{max-height:190px}.course-grid254>.course-outline40{min-height:0}.course-grid254 .course-list38{max-height:none;overflow:visible}}@media(max-width:480px){.course-header254 .level-tabs48{width:100%;justify-content:space-between;gap:3px;padding:5px}.course-header254 button{min-width:40px;flex:1;padding:10px 4px}.course-tool254{grid-template-columns:112px minmax(0,1fr);min-height:170px}.course-tool254>div{padding:14px 12px}.course-tool254 h2{font-size:20px}.course-tool254 p{font-size:13px;margin-bottom:12px}.course-tool254 .button{padding:10px 12px;font-size:13px}.course-grid254>.course-outline40{padding:14px}.course-grid254 .lesson-row38 summary{grid-template-columns:30px minmax(0,1fr) auto;gap:8px;padding:13px 8px}.course-grid254 .lesson-number38{min-width:30px;height:30px}.course-grid254 .lesson-status38{max-width:70px;font-size:11px}.course-word-filters254,.course-word-list254{grid-template-columns:1fr}}

.kb-intro255{display:grid;grid-template-columns:1fr auto;gap:24px;background:linear-gradient(125deg,#fcf8ff,#eee6fa)}.kb-levels255{display:flex;gap:8px;align-content:start;flex-wrap:wrap;max-width:200px}.kb-stage255{margin:24px 0;background:#faf6ff;border-color:#d4bce6}.kb-stagehead255{display:flex;gap:20px;justify-content:space-between;align-items:center}.kb-stage255 #kb-status255{min-height:48px;padding:12px 16px;background:#ede3f7;border-radius:12px;color:#53316d;font-weight:600}.kb-board255{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:28px 18px;padding:12px 8px 24px}.kb-stack255{position:relative;text-align:center;min-width:0}.kb-stack255.layered:before,.kb-stack255.layered:after{content:'';position:absolute;inset:8px 3px 26px;border:1px solid #c6acd9;border-radius:15px;background:#e2d1ef;transform:translateY(8px);pointer-events:none}.kb-stack255.layered:after{transform:translateY(4px);background:#efe5f6}.kb-tile255{position:relative;z-index:1;width:100%;min-height:116px;border:2px solid #d2b9e4;border-radius:15px;background:linear-gradient(145deg,#fff,#f2e8f9);box-shadow:0 4px 0 #c1a5d5;cursor:pointer;color:#372146;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:8px}.kb-tile255 span{font:500 clamp(32px,5vw,52px)/1.35 'Noto Serif JP',serif}.kb-tile255 em{font-size:12px;font-style:normal;color:#61347c}.kb-tile255:hover:not(:disabled){border-color:#7841a1;transform:translateY(-2px)}.kb-tile255.selected{border-color:#7a34ad;background:#dfc6f5;box-shadow:0 0 0 3px #ad77cd}.kb-tile255.hint{border-color:#33755d;background:#def4e7}.kb-tile255:disabled{background:#eee8f3;box-shadow:none;opacity:.55;cursor:default}.kb-stack255 small{display:block;position:relative;z-index:2;margin-top:16px;color:#705b80;font-size:12px}.kb-modes255{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.kb-modes255 article{padding:0;overflow:hidden}.kb-modes255 img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.kb-modes255 article>div{padding:18px}.kb-modes255 h2{font-size:22px;margin:0 0 8px}.kb-modes255 p{font-size:14px;min-height:44px}.kb-resultlist255{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kb-resultlist255 article{padding:18px;border:1px solid #dcc8eb;border-radius:14px;background:#fcfaff;display:flex;flex-direction:column;align-items:start;gap:12px}.kb-word255{display:flex;flex-direction:column;gap:6px;max-width:100%;overflow-wrap:anywhere}.kb-word255 strong{font-size:34px;line-height:1.9;margin-top:6px}.kb-word255 ruby{margin-right:7px}.kb-word255 rt{font:600 11px/1.4 sans-serif;color:#765288;white-space:normal}.kb-word255>span[lang=ja]{font-size:20px;color:#60417b}.kb-entry255{display:flex;gap:16px;justify-content:space-between;align-items:center;background:#f1e6fa;margin-top:20px}.kb-blocked255{padding:14px;border-left:4px solid #a47437;background:#fff3df}.kb-tile255:focus-visible{outline:3px solid #523676;outline-offset:5px}@media(max-width:1050px){.kb-modes255{grid-template-columns:repeat(2,minmax(0,1fr))}.kb-intro255{grid-template-columns:1fr}.kb-levels255{max-width:none}.kb-stagehead255{flex-direction:column;align-items:start}}@media(max-width:600px){.kb-board255{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 10px;padding:8px 0 20px}.kb-tile255{min-height:88px;border-radius:10px}.kb-tile255 span{font-size:36px}.kb-resultlist255{grid-template-columns:1fr}.kb-entry255{flex-direction:column;align-items:start}.kb-modes255 article>div{padding:12px}.kb-modes255 .button{width:100%;font-size:13px}.kb-modes255 p{min-height:66px}}

.kb-entry256{display:grid;grid-template-columns:minmax(230px,42%) 1fr;overflow:hidden;padding:0;border:1px solid #b69955;background:#f5f0e2}.kb-entry256>img{display:block;width:100%;height:auto;object-fit:cover;aspect-ratio:16/9}.kb-entry256>div{padding:22px}.kb-modes256 .ai-portrait{width:100%;height:auto;aspect-ratio:1;overflow:hidden;background:#15383b}.kb-modes256 .ai-portrait svg{display:block;width:100%;height:100%}.kb-stage256{background:#faf5e8;border:1px solid #baa168}.kb-stage256 #kb-status255{background:#eee1bc;color:#36524d}.kb-board-scroll256{overflow:auto;border:8px solid #6c4329;border-radius:16px;background:#123e35;padding:16px;box-shadow:inset 0 0 0 2px #cba962}.kb-table256{position:relative;min-width:600px;background:radial-gradient(ellipse at center,#235c49,#0d342d);border:2px solid #b29658;border-radius:8px}.kb-stone256{position:absolute;margin:0;padding:4px;border:2px solid #bba674;border-radius:9px;background:linear-gradient(145deg,#fff7df,#e8d6ae);box-shadow:3px 6px 0 #a58551,5px 9px 6px #061a1870;display:flex;align-items:center;justify-content:center;color:#212820;font-family:'Noto Serif JP',serif;container-type:inline-size;cursor:pointer;opacity:1!important}.kb-stone256 span{font-size:clamp(26px,5vw,52px);font-weight:600;line-height:1}.kb-stone256.free{border-color:#e4c478;box-shadow:3px 6px 0 #ac9057,0 0 5px #f6d58a}.kb-stone256.blocked{background:linear-gradient(145deg,#ddcfb4,#c1b28e);color:#80735c;cursor:default;filter:saturate(.65)}.kb-stone256.selected{background:#fff2b1;border-color:#ffca35;box-shadow:3px 6px 0 #b58e44,0 0 13px 4px #ffcf4a}.kb-stone256.hint{border-color:#68e0ae;background:#d2f4d4;box-shadow:3px 6px 0 #739c6f,0 0 9px #86f2b8}.kb-stone256 em{position:absolute;right:3px;top:2px;font:700 12px sans-serif;color:#41582d;background:#fff6cf;padding:2px 4px;border-radius:4px}.kb-stone256:focus-visible{outline:3px solid #fff;outline-offset:2px}.kb-modes256 p{min-height:44px}@media(max-width:650px){.kb-entry256{grid-template-columns:1fr}.kb-entry256>div{padding:18px}.kb-board-scroll256{padding:10px;border-width:5px}.kb-stone256 span{font-size:34px}.kb-modes256 p{min-height:66px}}

/* Parchment answer panel, following the approved HỌC + HIỆU reference. */
.kb-answer257{position:relative;text-align:center;margin:24px 0 12px;padding:22px 26px 12px;border:3px solid #b98b40;border-radius:18px;background:radial-gradient(ellipse at 0 100%,#d6ddd2a8,transparent 40%),radial-gradient(ellipse at 100% 100%,#dce2d8a8,transparent 40%),linear-gradient(110deg,#fffaf0,#f3ead9 50%,#fffaf0);box-shadow:inset 0 0 0 4px #fff7e6,inset 0 0 0 6px #bfa76e,0 6px 16px #60452b1c;color:#173f36;scroll-margin:22px;overflow-wrap:anywhere}
.kb-answer257:before,.kb-answer257:after{content:'✧';position:absolute;top:12px;font-size:26px;color:#a77c32;pointer-events:none}.kb-answer257:before{left:14px}.kb-answer257:after{right:14px}.kb-answer257 h3{margin:0 0 20px;font-size:15px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#765c2d}.kb-equation257{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;margin:0 auto 12px;max-width:800px}.kb-sources257{display:inline-flex;align-items:center;gap:12px}.kb-answer-piece257{display:inline-flex;align-items:center;justify-content:center;min-width:94px;padding:16px 12px 3px;background:linear-gradient(145deg,#fff9e9,#ead8b6);border:1px solid #c6ab75;border-radius:11px;box-shadow:inset 0 1px 2px #fff,2px 5px 0 #b59a64;font-family:'Noto Serif JP',serif;font-size:clamp(42px,5vw,60px);line-height:1.5;color:#28291f}.kb-answer257 ruby{ruby-position:over}.kb-answer257 rt{font:700 15px/1.5 sans-serif;color:#285447;letter-spacing:.03em}.kb-symbol257,.kb-equals257{font:500 32px/1 serif;color:#8c713e}.kb-answer-word257{font-family:'Noto Serif JP',serif;font-size:clamp(52px,7vw,78px);font-weight:600;line-height:1.7;letter-spacing:.05em;color:#173f36}.kb-answer-word257 ruby+ ruby{margin-left:8px}.kb-definitions257{max-width:750px;margin:12px auto 18px}.kb-definitions257>div+div{border-top:1px solid #c9b98c;margin-top:14px;padding-top:10px}.kb-answer257 .kb-reading257{font-size:clamp(24px,3vw,34px);line-height:1.4;margin:8px 0 6px;color:#263f35}.kb-answer257 .kb-meaning257{font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,3.4vw,38px);font-weight:700;line-height:1.3;margin:0;color:#173f36}.kb-answer257 .secondary{background:#174a3e;color:#fff8e7;border:1px solid #c3a15a;font-size:16px;padding:10px 20px}.kb-answer257 #kb-audio255{font-size:14px;min-height:20px;margin:8px 0 0;color:#526450}
/* Beveled ivory faces and small engraved cloud curves; coordinates stay intact. */
.kb-stone256{isolation:isolate;border-radius:11px;border:1px solid #c4ac79;background:linear-gradient(120deg,#fffdf0 0%,#f9edd1 42%,#e6d0a6 100%);box-shadow:inset 0 1px 2px #fff, inset 0 -3px 3px #c6a86c66,2px 3px 0 #ceb47c,3px 7px 0 #977343,5px 10px 7px #071f1b80;transition:filter .15s,border-color .15s,box-shadow .15s}
.kb-stone256:before{content:'';position:absolute;inset:4px;border:1px solid #fff7dfbb;border-radius:7px;pointer-events:none;z-index:-1}.kb-stone256:after{content:'';position:absolute;left:6px;right:6px;bottom:5px;height:26%;border-radius:0 0 6px 6px;background:radial-gradient(ellipse at 50% 100%,transparent 32%,#baa16b40 35%,transparent 41%,transparent 52%,#baa16b30 55%,transparent 61%) 0 0/28px 18px repeat-x;pointer-events:none;z-index:-1}.kb-stone256 span{text-shadow:0 1px 0 #fff9e4;color:#28291f}.kb-stone256.free{border-color:#debb6c;box-shadow:inset 0 1px 2px #fff,inset 0 -3px 3px #c6a86c66,2px 3px 0 #d6bb7d,3px 7px 0 #a78145,5px 10px 7px #071f1b80,0 0 3px #f2d79280}.kb-stone256.free:hover{filter:brightness(1.05)}.kb-stone256.blocked{background:linear-gradient(125deg,#e8dcc3,#c9b48b);border-color:#a28d67;filter:saturate(.7);box-shadow:inset 0 1px 1px #eee3c9,2px 3px 0 #b8a070,3px 7px 0 #80663e,5px 9px 6px #061a1870}.kb-stone256.blocked span{color:#73634b;text-shadow:none}.kb-stone256.selected{background:linear-gradient(135deg,#fffde9,#ffe8a0);border-color:#ffcf49;box-shadow:inset 0 0 0 2px #fff2b9,3px 7px 0 #b48b3c,0 0 10px 4px #ffcf4a}.kb-stone256.hint{background:linear-gradient(135deg,#f2fff0,#d3edc6);border-color:#8ddeac;box-shadow:inset 0 1px 2px #fff,3px 7px 0 #73915e,0 0 9px #86f2b8}.kb-stone256 em{z-index:1}
@media(max-width:600px){.kb-answer257{padding:18px 14px 10px;margin-top:18px;border-radius:14px}.kb-answer257 h3{font-size:12px;letter-spacing:.06em;margin-bottom:18px}.kb-answer257:before,.kb-answer257:after{font-size:19px;top:12px}.kb-answer257:before{left:8px}.kb-answer257:after{right:8px}.kb-equation257{gap:10px 12px}.kb-sources257{gap:7px}.kb-answer-piece257{min-width:64px;font-size:42px;padding:13px 8px 2px}.kb-answer257 rt{font-size:12px}.kb-symbol257,.kb-equals257{font-size:25px}.kb-answer-word257{font-size:52px}.kb-answer257 .kb-reading257{font-size:25px}.kb-answer257 .kb-meaning257{font-size:28px}.kb-stone256{border-radius:9px}}
@media(max-width:420px){.kb-equation257{display:grid;grid-template-columns:1fr auto;justify-items:center}.kb-sources257{grid-column:1}.kb-equals257{grid-column:2}.kb-answer-word257{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.kb-stone256{transition:none}}

body.kb-playing258{overflow:hidden}.kb-playing258 .shell>header,.kb-playing258 .shell>footer,.kb-playing258 .save-status16,.kb-playing258 .account-bar{display:none!important}.kb-frame258{position:fixed;inset:12px 12px 12px 258px;z-index:25;display:grid;grid-template-rows:136px minmax(0,1fr) 86px;overflow:hidden;border:3px solid #ba9959;border-radius:18px;background:#f5edda;color:#35483d;box-shadow:0 12px 35px #102c3433}.kb-head258{display:grid;grid-template-columns:minmax(150px,1fr) minmax(240px,1.8fr) 106px;gap:12px;align-items:center;padding:12px 20px;background:linear-gradient(120deg,#fff9e9,#eee0bd);border-bottom:2px solid #b99b61}.kb-title258{display:grid;gap:4px}.kb-title258 h2{font-size:20px;margin:0}.kb-title258 small,.kb-title258>span{font-size:12px}.kb-back258{background:none;border:0;padding:0;text-align:left;font-size:12px;color:#52654c;cursor:pointer}.kb-answer258{height:108px;min-width:0;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:3px}.kb-formula258{display:flex;align-items:center;justify-content:center;gap:12px;min-height:57px}.kb-formula258>span{display:flex;align-items:center;gap:8px}.kb-formula258 ruby{font-family:'Noto Serif JP',serif;font-size:33px;font-weight:600}.kb-formula258 rt{font:700 9px 'Be Vietnam Pro',sans-serif;color:#88734d}.kb-formula258 strong{font-size:36px;color:#254d3d}.kb-formula258 i{font-style:normal;font-size:18px;color:#a58547}.kb-meaning258{font-size:13px;line-height:1.5;max-height:39px;overflow:auto}.kb-audio258{font-size:10px;min-height:12px}.kb-controls258{display:flex;gap:8px}.kb-icon258{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:1px solid #baa064;border-radius:50%;background:#fffaed;color:#6d794b;cursor:pointer;padding:10px;box-shadow:0 2px 3px #674b2320}.kb-icon258 svg{width:24px;height:24px}.kb-formula258 .kb-icon258{width:32px;height:32px;padding:6px}.kb-field258{position:relative;min-height:0;container-type:size;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#28634e,#103f34);overflow:hidden;border:8px solid #66482d;box-shadow:inset 0 0 0 2px #c2a66b}.kb-field258 .kb-board-scroll256{border:0;padding:0;overflow:visible;background:none;box-shadow:none;width:min(100cqw,calc(100cqh * var(--ratio)));flex-shrink:0}.kb-field258 .kb-table256{min-width:0;width:100%;background:none;border:0;border-radius:0}.kb-field258 .kb-stone256{border:0;border-radius:9%;padding:0;background:transparent url('/art/kanji-tile258.webp') center/100% 100% no-repeat!important;box-shadow:2px 4px 3px #001b1c70;color:#26372c}.kb-field258 .kb-stone256::before,.kb-field258 .kb-stone256::after{display:none}.kb-field258 .kb-stone256 span{font-family:'Noto Serif JP',serif;font-size:clamp(16px,52cqw,56px);font-weight:600;transform:translateY(-3%)}.kb-field258 .kb-stone256.blocked{filter:brightness(.73) saturate(.6);color:#586052}.kb-field258 .kb-stone256.selected{filter:sepia(.2);outline:3px solid #ffd458;box-shadow:0 0 16px #ffd458}.kb-field258 .kb-stone256.hint{outline:3px solid #8bf2bf;box-shadow:0 0 15px #8bf2bf}.kb-foot258{padding:8px 18px;font-size:12px;display:flex;flex-direction:column;justify-content:space-between;gap:4px}.kb-foot258 p{margin:0;max-height:36px;overflow:auto}.kb-foot258>div{display:flex;align-items:center;justify-content:flex-end;gap:14px}.kb-foot258>div>span{margin-right:auto;color:#698164}.kb-foot258 button{border:0;background:none;color:#53613e;font:inherit;cursor:pointer;padding:3px}.kb-complete258{position:absolute;padding:20px;border:1px solid #c6a768;border-radius:14px;background:#fff5dc;color:#385841;font-size:22px;text-align:center}.kb-placeholder258{color:#917d50;font-size:15px}@media(max-width:1100px){.kb-head258{padding:10px;grid-template-columns:140px minmax(180px,1fr) 46px;gap:5px}.kb-controls258{flex-direction:column;gap:5px}.kb-title258 h2{font-size:17px}.kb-formula258{gap:7px}.kb-formula258 ruby{font-size:27px}.kb-formula258 strong{font-size:30px}}@media(max-width:850px){.kb-frame258{inset:8px 8px 76px;grid-template-rows:132px minmax(0,1fr) 94px}.kb-field258{border-width:5px}.kb-foot258{padding:7px 10px}}@media(max-width:480px){.kb-frame258{grid-template-rows:158px minmax(0,1fr) 104px}.kb-head258{grid-template-columns:1fr 92px;grid-template-rows:42px 90px;gap:4px}.kb-title258{grid-template-columns:auto auto;align-items:center;gap:2px 8px}.kb-title258 h2{font-size:14px}.kb-title258 small{grid-row:1;grid-column:2}.kb-title258>span{font-size:10px}.kb-controls258{grid-column:2;grid-row:1;flex-direction:row}.kb-answer258{grid-column:1/3;grid-row:2;height:90px}.kb-formula258{min-height:44px}.kb-meaning258{font-size:12px;max-height:30px}.kb-icon258{width:38px;height:38px;padding:8px}.kb-foot258>div{gap:7px;font-size:10px}.kb-field258 .kb-stone256 em{font-size:9px;padding:1px 2px}}@media(max-height:540px) and (min-width:600px){.kb-frame258{grid-template-rows:104px minmax(0,1fr) 65px}.kb-answer258{height:88px}.kb-head258{padding:5px 10px}.kb-foot258{font-size:10px;padding:4px 10px}}

.kb-frame260{border:4px solid #c6a05b;outline:1px solid #f9e2a0;outline-offset:-7px;box-shadow:inset 0 0 0 2px #725326,0 9px 30px #082e3266;grid-template-rows:188px minmax(0,1fr) 100px}.kb-frame260 .kb-head258{grid-template-columns:minmax(140px,.8fr) minmax(300px,2fr) 100px;padding:12px 18px;background:linear-gradient(120deg,#fff9e9,#eee0bd);border-bottom:4px double #b58c43}.kb-answer260{height:160px;padding:7px 10px;border:3px double #b88d44;border-radius:13px;box-shadow:0 2px 0 #936f35,inset 0 0 0 3px #fffae4;background:#fff7e7}.kb-equation260{display:flex;align-items:center;justify-content:center;gap:9px;min-height:0;flex:1}.kb-pieces260{display:flex;align-items:center;gap:6px}.kb-equation260 i{font-style:normal;color:#95702d;font-size:20px}.kb-piece260{width:92px;align-self:stretch;border:1px solid #c5a16a;border-radius:7px;overflow:hidden;background:#fffaf0;display:grid;grid-template-rows:25px 53px minmax(27px,auto)}.kb-hv260{background:#173f32;color:#fff9e8;font-size:13px;display:flex;align-items:center;justify-content:center;letter-spacing:.3px}.kb-piece260>strong{font-family:'Noto Serif JP',serif;font-size:38px;line-height:53px;color:#19392e}.kb-piece260>span{border-top:1px solid #ead9b5;padding:4px;font-size:11px;line-height:1.35;max-height:39px;overflow:auto;color:#293a30}.kb-compound260{min-width:0;max-width:180px}.kb-compound260>strong{font-family:'Noto Serif JP',serif;font-size:37px;line-height:1.2;color:#1c4335}.kb-def260{max-height:66px;overflow:auto;font-size:12px;line-height:1.4}.kb-def260 span,.kb-def260 b{display:block}.kb-placeholder258 small{display:block;font-size:11px;margin-top:10px}.kb-frame260 .kb-icon258{background:linear-gradient(#205b43,#073323);color:#ffdd80;border:3px double #f4cc74;box-shadow:0 3px 0 #705127,0 3px 7px #735c4550}.kb-frame260 .kb-field258{border:6px double #d2af60;border-radius:14px;box-shadow:inset 0 0 0 2px #594723,inset 0 0 24px #031e19}.kb-frame260 .kb-field258:before,.kb-frame260 .kb-field258:after{content:'❧';position:absolute;z-index:1;pointer-events:none;color:#e1bf71;font-size:36px;line-height:1}.kb-frame260 .kb-field258:before{left:8px;top:3px}.kb-frame260 .kb-field258:after{right:8px;bottom:3px;transform:rotate(180deg)}.kb-frame260 .kb-foot258{background:linear-gradient(100deg,#0a3026,#174637);color:#fff6db;border-top:4px double #dfbb6e;padding:7px 14px}.kb-frame260 .kb-foot258>div>span{color:#e9ddb9;font-size:11px}.kb-frame260 .kb-foot258>div{gap:9px}.kb-frame260 .kb-foot258 .kb-action260{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:7px 14px;border:3px double #edc878;border-radius:11px;background:linear-gradient(#285b43,#082f23);color:#fff9e5;box-shadow:inset 0 0 0 1px #5b7349,0 3px 0 #725128;font-weight:700;font-size:14px}.kb-action260>span{font-size:20px;color:#ffe08e}.kb-frame260 .kb-foot258 .kb-action260:last-child{background:linear-gradient(#fff0b0,#d6a548);color:#193629}.kb-action260:last-child>span{color:#193629}.kb-frame260 button:focus-visible{outline:3px solid #fff;outline-offset:3px}.kb-frame260 button:hover:not(:disabled){filter:brightness(1.12)}@media(max-width:1150px){.kb-frame260 .kb-head258{grid-template-columns:135px minmax(250px,1fr) 45px;padding:9px;gap:6px}.kb-frame260 .kb-controls258{flex-direction:column}.kb-piece260{width:73px}.kb-equation260{gap:5px}.kb-compound260>strong{font-size:30px}.kb-frame260 .kb-foot258 .kb-action260{font-size:12px;padding:5px 9px}.kb-answer260{padding:6px}}@media(max-width:600px){.kb-frame260{grid-template-rows:232px minmax(0,1fr) 122px}.kb-frame260 .kb-head258{grid-template-columns:1fr 92px;grid-template-rows:45px 161px;gap:6px;padding:7px}.kb-frame260 .kb-title258{display:grid;grid-template-columns:auto auto;gap:2px 7px}.kb-frame260 .kb-title258 h2{font-size:14px}.kb-frame260 .kb-title258 small{grid-row:1;grid-column:2}.kb-frame260 .kb-title258>span{font-size:10px}.kb-frame260 .kb-controls258{grid-column:2;grid-row:1;flex-direction:row}.kb-answer260{grid-column:1/3;grid-row:2;height:158px}.kb-piece260{width:72px}.kb-hv260{font-size:12px}.kb-equation260>.kb-icon258{width:30px;height:30px;padding:4px}.kb-compound260{max-width:110px}.kb-frame260 .kb-foot258>div{flex-wrap:wrap;justify-content:center;gap:5px}.kb-frame260 .kb-foot258>div>span{width:100%;text-align:center;margin:0;font-size:10px}.kb-frame260 .kb-foot258 .kb-action260{flex:1;white-space:nowrap;padding:4px 6px;font-size:11px;min-height:40px}.kb-frame260 .kb-foot258 p{font-size:11px;max-height:32px}.kb-frame260 .kb-foot258{padding:5px 7px}.kb-frame260 .kb-field258{border-width:4px}}@media(max-height:620px) and (min-width:601px){.kb-frame260{grid-template-rows:155px minmax(0,1fr) 92px}.kb-answer260{height:132px}.kb-piece260{grid-template-rows:22px 43px minmax(25px,auto)}.kb-piece260>strong{line-height:43px;font-size:31px}}

.kn-left261{background:#fcf7e9;border:2px solid #bb9b5c;box-shadow:inset 0 0 0 3px #fffdf5}.kn-left261 .kn-character173{border-radius:12px;background:linear-gradient(145deg,#fffbea,#f0e3c4);border:1px solid #d5b97b;padding:18px}.kn-left261 .kn-character173>span{display:inline-block;padding:5px 18px;border-radius:6px;background:#164334;color:#fff7df;font-weight:800}.kn-left261 .kn-character173 strong{color:#174c3b}.kn-memory261{margin:20px 0;color:#243c32}.kn-memory261 header{margin-bottom:12px}.kn-memory261 h3{font-size:23px;margin:7px 0}.kn-memory261 h4{margin:18px 0 10px;font-size:16px}.kn-radical261{display:flex;align-items:center;gap:16px;padding:13px;border:1px solid #c8a76b;background:#fffaf0;border-radius:10px}.kn-radical261>strong{font-family:'Noto Serif JP',serif;font-size:43px;color:#b47327;min-width:55px;text-align:center}.kn-radical261 small{display:block;margin-top:5px;color:#607064;font-size:11px}.kn-components261{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;background:#f7ecd1;border-radius:10px;padding:14px 8px}.kn-components261>div{display:grid;gap:7px;text-align:center;max-width:100px}.kn-components261 strong{font-family:'Noto Serif JP',serif;font-size:37px;color:#276b57}.kn-components261>div:nth-of-type(2) strong{color:#b87a20}.kn-components261>div:nth-of-type(3) strong{color:#426aa3}.kn-components261>div>span{font-size:12px;line-height:1.35}.kn-components261>span{color:#95773e;font-size:19px}.kn-shape261{display:flex;align-items:center;gap:18px;background:#f7ecd1;border-radius:10px;padding:12px}.kn-shape261>strong{font-family:'Noto Serif JP',serif;font-size:44px;color:#2f6e55}.kn-shape261 p{font-size:13px;line-height:1.6;margin:0}.kn-memory261 figure{margin:16px 0;border:1px solid #d1b679;border-radius:12px;overflow:hidden;background:#fffaf0}.kn-art261{width:100%;aspect-ratio:1;background-color:#f7efd9;background-size:500% 200%;background-position:var(--art-x) var(--art-y);background-repeat:no-repeat}.kn-memory261 figcaption{padding:15px;border-top:1px solid #dfc994}.kn-memory261 figcaption>b{display:inline-block;background:#1d513b;color:#fff8e0;font-size:12px;padding:5px 10px;border-radius:5px;letter-spacing:.4px}.kn-memory261 figcaption p{font-size:15px;line-height:1.7;margin:10px 0}.kn-memory261 figcaption small{display:block;font-size:11px;color:#6f705d;line-height:1.5}.kn-recall261{border:1px solid #c8b581;border-radius:9px;padding:12px;background:#f3efd9}.kn-recall261 summary{cursor:pointer;font-weight:700;color:#214b38}.kn-recall261 details{margin-top:10px;background:#fffaf0;padding:10px;border-radius:7px}.kn-left261>h3{border-top:1px solid #dac18a;padding-top:15px}@media(min-width:1100px){.kn-left261 .kn-art261{max-width:350px;margin:auto;background-size:500% 200%}}@media(max-width:600px){.kn-memory261 h3{font-size:21px}.kn-radical261{padding:10px;gap:10px}.kn-components261{gap:7px}.kn-components261 strong{font-size:33px}.kn-memory261 figcaption{padding:12px}.kn-art261{max-width:440px;margin:auto}}
.kn-number261{aspect-ratio:1;padding:22px;background:radial-gradient(#fffaf0,#eee3c4);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.kn-number261>div{display:grid;grid-template-columns:repeat(var(--dots),1fr);gap:8px;width:90%}.kn-number261 i{display:block;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#76a77d,#1a513f);box-shadow:0 3px 0 #ba9e63}.kn-number261>b{font-size:34px;color:#315c44}.kn-radical-browser261{padding:18px;border:1px solid #c5ab72;border-radius:12px;background:#fff9e9;margin:15px 0}.kn-radical-browser261>summary{font-weight:800;color:#234f3b;cursor:pointer;font-size:18px}.kn-radical-list261,.kn-radical-letters261{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:9px}.kn-radical-list261 button,.kn-radical-letters261 button{display:grid;gap:7px;padding:10px;background:#fffef7;border:1px solid #d6c393;color:#27513c}.kn-radical-list261 b,.kn-radical-letters261 b{font-size:28px}.kn-radical-list261 span,.kn-radical-letters261 span{font-size:10px}.kn-radical-letters261 button{background:#e9f1e4}

/* A viewport-sized N5 workspace; larger text / short landscape screens may scroll for accessibility. */
.kn264{--green:#124b38;--gold:#c49a45;--paper:#fffaf0;position:fixed;inset:0;z-index:120;background:radial-gradient(ellipse at top,#e1ebd7,transparent 48%),#fffaf0;color:#173e31;font-family:Arial,sans-serif;display:grid;grid-template-rows:38px 44px minmax(0,1fr) 40px 48px;gap:5px;padding:env(safe-area-inset-top,0px) 10px env(safe-area-inset-bottom,0px);height:100dvh;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;isolation:isolate}
.kn264 *{box-sizing:border-box}.kn264 button,.kn264-dialog button{font:inherit;cursor:pointer;border:1px solid #c6b889;border-radius:10px;background:#fffdf5;color:#174b38;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 7px;line-height:1.15}.kn264 button:hover,.kn264-dialog button:hover{background:#eef0db}.kn264 button:focus-visible,.kn264-dialog button:focus-visible{outline:3px solid #b87518;outline-offset:2px}.kn264 button:disabled{opacity:.35;cursor:default}.kn264 button.active,.kn264-nav button.active,.kn264 button[aria-pressed=true]{background:#14523c;color:#fff9e8;border-color:#c79c3f;box-shadow:inset 0 0 0 1px #e3c477}.kn264 svg,.kn264-dialog button svg{width:20px;height:20px;flex-shrink:0}.kn264-head{display:flex;align-items:center;gap:6px}.kn264-head h1{font-size:20px;margin:0;flex:1;white-space:nowrap}.kn264-head select{font:inherit;font-weight:bold;color:inherit;background:transparent;border:0;padding:2px;width:58px}.kn264-head>button{border:0;background:transparent;width:32px;height:36px;padding:4px}.kn264-head>span{font-size:12px}.kn264-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;max-width:680px;width:100%;justify-self:center}.kn264-strip button{font-family:'Noto Serif JP',serif;font-size:29px;padding:0;min-height:40px}.kn264-card{min-height:0;width:100%;max-width:980px;justify-self:center;display:grid;grid-template-rows:85px auto minmax(65px,1fr) 204px;gap:5px;padding:7px;border:2px solid #c79c3e;border-radius:15px;box-shadow:inset 0 0 0 2px #f5e5b7,0 2px 6px #9d84442a;background:#fffaf0;overflow:hidden}.kn264-title{display:grid;grid-template-columns:76px minmax(0,1fr) 32px;align-items:center;gap:7px}.kn264-title>div:first-child svg{width:76px;height:76px}.kn264-title b{font-family:Georgia,serif;font-size:25px;display:block;line-height:1.05}.kn264-title p{margin:3px 0;font-size:14px;line-height:1.2}.kn264-title>button{width:32px;height:34px;border-radius:50%;padding:4px}.kn264-readings{display:flex;flex-wrap:wrap;gap:2px 9px;font-size:12px;line-height:1.25}.kn264-radical{font-size:12px;font-weight:bold;padding:4px 9px;background:#15503c;color:#fff6d9;border-radius:7px;width:fit-content;max-width:100%}.kn264-structure{min-width:0}.kn264-structure .kn-components261{padding:3px 4px;gap:5px;flex-wrap:nowrap;min-height:41px;background:#f9f0d8}.kn264-structure .kn-components261 strong{font-size:25px;line-height:1.05}.kn264-structure .kn-components261>div{gap:1px;max-width:110px}.kn264-structure .kn-components261>div>span{font-size:10px;line-height:1.05}.kn264-structure .kn-components261>span{font-size:15px}.kn264-structure>.small{font-size:10px;line-height:1.2;margin:3px 0}.kn264-structure .kn-shape261{padding:3px 6px;gap:6px}.kn264-structure .kn-shape261 strong{font-size:24px}.kn264-structure .kn-shape261 p{font-size:11px;line-height:1.2}.kn264-memory{display:flex;flex-direction:column;margin:0;min-height:0;border:1px solid #dfc791;border-radius:9px;overflow:hidden;background:#f5eccf}.kn264-art{flex:1;min-height:35px;background-size:500% 200%;background-position:var(--art-x) var(--art-y);background-repeat:no-repeat}.kn264-memory figcaption{font-size:12px;line-height:1.25;text-align:center;padding:4px 6px;background:#fff8e5;flex-shrink:0}.kn264-bottom{display:grid;grid-template-columns:1.15fr 1fr;gap:7px;min-height:0}.kn264-bottom>section{min-width:0;border:1px solid #c29b44;border-radius:9px;overflow:hidden;background:#fffdf5;display:flex;flex-direction:column}.kn264-bottom h2{display:flex;align-items:center;justify-content:space-between;font-size:13px;background:#15503c;color:#fff6dc;margin:0;padding:4px 7px;height:29px;flex-shrink:0}.kn264-bottom h2 button{font-size:10px;background:transparent;color:inherit;border:0;padding:2px}.kn264-bottom h2 svg{width:17px;height:17px}#kn264-words{display:flex;flex-direction:column;flex:1;min-height:0;padding:0 6px}#kn264-words article{flex:1;min-height:0;display:flex;align-items:center;justify-content:space-between;gap:3px;border-bottom:1px solid #e3d9ba;padding:4px 0}#kn264-words article>div{min-width:0}#kn264-words ruby{font-size:clamp(17px,5vw,23px);line-height:1.3;overflow-wrap:anywhere}#kn264-words rt{font-size:10px}#kn264-words p{font-size:12px;line-height:1.15;margin:2px 0;overflow-wrap:anywhere}#kn264-words article button{border-radius:50%;width:29px;height:31px;padding:3px;flex-shrink:0}#kn264-words article svg{width:17px;height:17px}.kn264-word-pages{display:flex;align-items:center;justify-content:space-around;height:25px;flex-shrink:0;font-size:11px}.kn264-word-pages button{border:0;height:25px;width:32px;font-size:22px;padding:0}
#kn264-practice{display:flex;flex:1;min-height:0;flex-direction:column;gap:3px;padding:4px}.kn264-modes{display:flex;gap:3px;height:23px;flex-shrink:0}.kn264-modes button{flex:1;font-size:10px;padding:2px;border-radius:6px}.kn264-pad{position:relative;flex:1;min-height:45px;width:100%;max-width:160px;align-self:center;background-color:#fffcf3;background-image:linear-gradient(to right,transparent calc(50% - .5px),#cdd3c2 50%,transparent calc(50% + .5px)),linear-gradient(to bottom,transparent calc(50% - .5px),#cdd3c2 50%,transparent calc(50% + .5px));border:1px solid #dbc994;border-radius:7px;overflow:hidden}.kn264-pad canvas,.kn264-model,.kn264 #kn-stroke173,.kn264-dialog #kn-stroke173{position:absolute;inset:0;width:100%;height:100%;margin:0!important;max-width:none!important}.kn264-pad canvas{touch-action:none;cursor:crosshair;z-index:2}.kn264-pad svg{height:100%;width:100%}.kn264-model[hidden]{display:none}.kn264-expand{position:absolute;right:2px;top:2px;z-index:3;width:24px;height:24px;padding:2px!important}.kn264-expand svg{width:16px!important;height:16px!important}.kn264-write-actions{display:flex;gap:3px;height:25px;flex-shrink:0}.kn264-write-actions button{flex:1;font-size:10px;white-space:nowrap;padding:2px;border-radius:5px}.kn264-write-actions svg{width:13px!important;height:13px!important}#kn264-practice>small{font-size:9px;line-height:1.1;min-height:10px;text-align:center}.kn264-paging{display:flex;gap:8px;max-width:980px;width:100%;justify-self:center}.kn264-paging button{flex:1;font-weight:bold;font-size:14px;border-color:#1d5b42}.kn264-paging button:last-child{background:#15503c;color:#fff5d6;border:2px solid #c89c3e}.kn264-nav{display:flex;align-items:stretch;justify-content:space-around;border-top:1px solid #dbc997;max-width:980px;width:100%;justify-self:center}.kn264-nav button{border:0;background:transparent;flex:1;font-size:10px;display:flex;flex-direction:column;gap:2px;border-radius:9px}.kn264-nav svg{width:21px;height:21px}.kn264-nav button.active{background:#e4eddc;color:#184d39;box-shadow:none}.kn264-dialog{max-width:620px;width:calc(100% - 24px);max-height:90dvh;padding:18px;color:#183c31;background:#fffaf0;border:2px solid #bc943f;border-radius:14px}.kn264-dialog::backdrop{background:#0d211dc9}.kn264-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.kn264-dialog>header h2{font-size:20px;margin:0}.kn264-dialog>header button{width:36px;height:36px;font-size:25px}.kn264-dialog p{line-height:1.5}.kn264-dialog button svg{width:20px}.kn264-tools{display:grid;gap:14px}.kn264-tools label{display:flex;align-items:center;gap:9px}.kn264-tools button{min-height:44px}.kn264-dialog input[type=search]{display:block;width:100%;margin:8px 0 15px;padding:12px;font-size:16px}.kn264-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.kn264-results button{display:flex;flex-direction:column;padding:8px;gap:4px}.kn264-results b{font-size:28px}.kn264-results span{font-size:11px}.kn264-results small{font-size:10px}.kn264-example{border-bottom:1px solid #cdb983;padding:10px 0}.kn264-example ruby{font-size:22px}.kn264-example rt{font-size:12px}.kn264-expanded-dialog{max-width:640px}.kn264-expanded-dialog #kn264-practice{height:min(70dvh,580px)}.kn264-expanded-dialog .kn264-pad{max-width:none;flex:none;width:min(100%,55dvh);aspect-ratio:1}.kn264-expanded-dialog .kn264-modes,.kn264-expanded-dialog .kn264-write-actions{height:40px}.kn264-expanded-dialog button{font-size:14px}.kn264-expanded-dialog #kn264-practice>small{font-size:12px}
@media(min-width:700px){.kn264{padding:12px max(20px,calc((100vw - 1080px)/2));grid-template-rows:42px 50px minmax(0,1fr) 43px 48px}.kn264-card{grid-template-columns:minmax(0,1.25fr) minmax(290px,1fr);grid-template-rows:105px auto minmax(0,1fr);gap:10px;padding:14px}.kn264-title{grid-column:1/-1;grid-template-columns:96px 1fr 44px}.kn264-title>div:first-child svg{width:96px;height:96px}.kn264-title b{font-size:32px}.kn264-title p{font-size:18px}.kn264-readings{font-size:15px}.kn264-structure{grid-column:1;grid-row:2}.kn264-memory{grid-column:1;grid-row:3}.kn264-bottom{grid-column:2;grid-row:2/4;grid-template-columns:1fr;grid-template-rows:minmax(140px,.9fr) minmax(205px,1.2fr)}.kn264-structure .kn-components261 strong{font-size:35px}.kn264-radical{font-size:15px}.kn264-memory figcaption{font-size:15px;padding:8px}.kn264-bottom h2{font-size:15px;height:32px}.kn264-pad{max-width:200px}.kn264-modes,.kn264-write-actions{height:30px}.kn264-modes button,.kn264-write-actions button{font-size:12px}#kn264-words p{font-size:14px}.kn264-nav button{font-size:12px}}
@media(max-height:680px) and (max-width:699px){.kn264{grid-template-rows:32px 36px minmax(0,1fr) 34px 39px;gap:3px;padding-left:6px;padding-right:6px}.kn264-card{grid-template-rows:66px auto minmax(35px,1fr) 184px;gap:3px;padding:5px}.kn264-title{grid-template-columns:58px minmax(0,1fr) 28px;gap:5px}.kn264-title>div:first-child svg{width:58px;height:58px}.kn264-title b{font-size:21px}.kn264-title p{font-size:12px}.kn264-readings{font-size:10px}.kn264-strip button{font-size:24px;min-height:32px}.kn264-structure .kn-components261 strong{font-size:21px}.kn264-structure .kn-components261>div>span{font-size:9px}.kn264-structure>.small{display:none}.kn264-memory figcaption{font-size:11px}.kn264-nav svg{width:17px;height:17px}}
@media(max-height:560px){.kn264{min-height:560px;position:absolute;height:auto;grid-template-rows:34px 38px minmax(400px,1fr) 36px 42px}.kn264-card{min-height:400px}}
@media(prefers-reduced-motion:reduce){.kn264 .kn-draw173{animation:none}}
/* Preserve kanji proportions in sprite artwork; never stretch the embedded glyph. */
.kn264-art{position:relative;background:radial-gradient(ellipse,#f4edda,#e8eddb)}.kn264-art>svg{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
/* 266: isolate the lesson from global header / 44px button rules. */
.kn264{line-height:1.35;z-index:1100}
.kn264 button,.kn264-dialog button{min-height:0;margin:0;transform:none;text-shadow:none;letter-spacing:normal}
.kn264>.kn264-head{height:auto;min-height:0;padding:0;border:0;position:static;background:transparent;box-shadow:none}
.kn264-head select{min-height:0;height:32px;line-height:1.2;margin:0}
.kn264-dialog>header{height:auto;min-height:40px;padding:0;background:transparent;border:0}
.kn264 h1,.kn264 h2,.kn264 p,.kn264 span,.kn264 strong{ text-shadow:none; }
.kn264-choose{padding:24px;border:1px solid #d4ba79;border-radius:12px;background:#fffaf0;color:#204b39;text-align:center}
.kn264-card{grid-template-rows:78px auto minmax(65px,1fr) 230px}
.kn264-title p{line-height:1.35}.kn264-readings{line-height:1.4}
#kn264-words{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr) 26px;gap:0;overflow:auto}
#kn264-words article{flex:none;min-height:68px;padding:5px 0;align-items:center}
#kn264-words article>div{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.25}
#kn264-words .kn264-word-reading{display:block;font-size:12px;line-height:1.25;color:#36594b;white-space:normal;position:static}
#kn264-words .kn264-word-reading[hidden]{display:none}
#kn264-words .kn264-word-jp{display:block;font-family:'Noto Sans JP','Yu Gothic',Meiryo,sans-serif;font-size:21px;font-weight:500;line-height:1.25;color:#123e30;letter-spacing:normal}
#kn264-words p{font-size:12px;line-height:1.3;margin:0;color:#263d34}
.kn264-modes{height:28px}.kn264-modes button{font-size:11px;height:28px}
.kn264-write-actions{height:29px}.kn264-write-actions button{font-size:11px;height:29px}
.kn264-pad{min-height:70px}.kn264-expand{min-height:0!important;height:24px!important}
#kn264-practice>small{font-size:10px;line-height:1.3;min-height:13px}
.kn264-nav button{min-height:0}.kn264-strip button{min-height:0;height:100%}
@media(min-width:700px){
 .kn264{grid-template-rows:38px 42px minmax(0,1fr) 38px 44px;padding-top:8px;padding-bottom:8px;gap:5px}
 .kn264-card{grid-template-rows:80px auto minmax(0,1fr);gap:8px;padding:10px;min-height:470px}
 .kn264-title{grid-template-columns:76px 1fr 40px}.kn264-title>div:first-child svg{width:76px;height:76px}
 .kn264-bottom{grid-template-rows:minmax(180px,.9fr) minmax(208px,1.1fr);gap:8px}
 .kn264-title b{font-size:30px}.kn264-title p{font-size:17px}.kn264-readings{font-size:14px}
 #kn264-words article{min-height:64px;padding:5px 2px}
 #kn264-words .kn264-word-reading{font-size:13px}#kn264-words .kn264-word-jp{font-size:24px}
 #kn264-words p{font-size:14px;line-height:1.35}.kn264-bottom h2{height:30px;font-size:14px}
 .kn264-modes,.kn264-write-actions{height:29px}.kn264-modes button,.kn264-write-actions button{font-size:12px;height:29px}
 .kn264-structure .kn-components261>div>span{font-size:12px;line-height:1.25}
 .kn264-structure>.small{font-size:11px;line-height:1.35}
}
@media(max-height:720px) and (max-width:699px){
 .kn264{grid-template-rows:32px 36px minmax(0,1fr) 34px 40px;gap:3px}
 .kn264-card{grid-template-rows:62px auto minmax(35px,1fr) 208px;padding:5px;gap:3px}
 .kn264-title{grid-template-columns:58px minmax(0,1fr) 28px}.kn264-title>div:first-child svg{width:58px;height:58px}
 .kn264-title b{font-size:22px}.kn264-title p{font-size:12px}.kn264-readings{font-size:11px;line-height:1.3}
 #kn264-words article{min-height:66px}#kn264-words .kn264-word-jp{font-size:19px}#kn264-words .kn264-word-reading{font-size:11px}
 .kn264-modes,.kn264-modes button{height:25px}.kn264-write-actions,.kn264-write-actions button{height:27px}
 .kn264-pad{min-height:65px}.kn264-structure>.small{display:none}
}
@media(min-width:700px) and (max-height:690px){.kn264{grid-template-rows:34px 38px minmax(470px,1fr) 36px 40px;overflow-y:auto}}
@media(max-width:699px) and (max-height:560px){.kn264{position:fixed;min-height:0;height:100dvh;grid-template-rows:32px 36px minmax(420px,1fr) 34px 40px;overflow-y:auto}}
/* Reserve intrinsic desktop content height; never squeeze two words into overlapping rows. */
@media(min-width:700px){.kn264{grid-template-rows:38px 42px minmax(508px,1fr) 38px 44px}.kn264-card{min-height:508px}}
@media(min-width:700px) and (max-height:690px){.kn264{grid-template-rows:34px 38px minmax(508px,1fr) 36px 40px}}
/* 267: detail view uses only the previous/next controls, no duplicate site navigation. */
.kn264{grid-template-rows:38px 44px minmax(0,1fr) 40px;padding-bottom:max(6px,env(safe-area-inset-bottom,0px))}
@media(min-width:700px){.kn264{grid-template-rows:38px 42px minmax(508px,1fr) 38px}}
@media(max-height:720px) and (max-width:699px){.kn264{grid-template-rows:32px 36px minmax(0,1fr) 34px}}
@media(min-width:700px) and (max-height:690px){.kn264{grid-template-rows:34px 38px minmax(508px,1fr) 36px}}
@media(max-width:699px) and (max-height:560px){.kn264{grid-template-rows:32px 36px minmax(420px,1fr) 34px}}

.kn264 .kn-components268{gap:4px;flex-wrap:wrap;justify-content:center;align-items:center}
.kn264 .kn-components268>div{max-width:120px;min-width:38px;flex:0 1 auto}
.kn264 .kn-components268 strong{font-family:'Noto Sans JP','Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif;font-size:24px;line-height:1.2}
.kn264 .kn-components268>div:nth-of-type(3n+1) strong{color:#155440}
.kn264 .kn-components268>div:nth-of-type(3n+2) strong{color:#995315}
.kn264 .kn-components268>div:nth-of-type(3n) strong{color:#315b91}
.kn264 .kn-components268 span{font-size:11px;line-height:1.3;white-space:normal}
.kn264 .kn-note268{font-size:10px;line-height:1.35;margin:3px 0;color:#536150}
.kn264 .kn264-structure{overflow:visible}
.kn264 .kn264-memory figcaption{line-height:1.4}
.kn268-count{flex:1;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#faf3df;border-radius:12px;padding:8px;box-sizing:border-box}
.kn268-count>b{font-size:clamp(36px,6vh,72px);color:#155440;line-height:1}
.kn268-dots{display:grid;grid-template-columns:repeat(5,auto);gap:5px;justify-content:center}
.kn268-dots.hundred{grid-template-columns:repeat(10,auto);gap:3px}
.kn268-dots i{width:12px;height:12px;border-radius:50%;background:#9e571e}
.kn268-dots.hundred i{width:6px;height:6px}
.kn268-dots span{font-size:12px;border:1px solid #b99c58;border-radius:5px;padding:3px;color:#155440}
@media(max-width:600px){.kn264 .kn-components268>div{max-width:88px}.kn264 .kn-components268 strong{font-size:21px}.kn264 .kn-components268 span{font-size:10px}.kn264 .kn264-card{min-height:570px}.kn264 .kn264-structure{padding:4px 6px}}

/* Individual number mnemonics: show the whole picture without cropping. */
.kn264 .kn-number324{display:flex;align-items:center;justify-content:center;min-height:140px;background:#fcf7e9;overflow:hidden}
.kn264 .kn-number324 img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}

.kn280-release{padding:12px 16px;border:1px solid #c19a47;border-radius:12px;background:#fff8e5;color:#194c39;font-size:14px;line-height:1.5}
.kn280-word-hv{display:block;color:#67440d;background:#f5e9c9;border-radius:4px;padding:2px 5px;margin:3px 0;font-size:10px;font-weight:700;line-height:1.25;overflow-wrap:anywhere;width:fit-content;max-width:100%}
.kn280 .kn264-title b::before{content:'ÂM HÁN VIỆT';display:block;font:700 10px/1.3 Arial,sans-serif;letter-spacing:.08em;color:#6b4b15;margin-bottom:3px}
.kn280 .kn264-card{grid-template-rows:minmax(92px,auto) auto minmax(240px,1fr) 248px;min-height:760px}
.kn280 .kn264-title p{line-height:1.3}.kn280 .kn264-bottom{min-height:0}
.kn280 #kn264-words article{min-height:86px;padding:5px 0}.kn280 .kn264-word-jp{font-size:21px!important}
.kn280 .kn264-memory figcaption{font-size:13px;line-height:1.45}.kn280 .kn264-art{min-height:140px}
.kn280 .kn264-structure .kn-components280{flex-wrap:wrap}.kn280 .kn264-radical{line-height:1.45}
.kn280-reading-note{border-left:3px solid #b38b43;background:#faf1da;padding:10px 12px;font-size:14px}
@media(min-width:700px){.kn264.kn280{grid-template-rows:38px 42px minmax(660px,1fr) 38px}.kn280 .kn264-card{grid-template-rows:minmax(112px,auto) auto minmax(200px,1fr);min-height:660px}.kn280 .kn264-bottom{grid-template-rows:minmax(250px,1fr) minmax(235px,1fr)}.kn280 .kn264-word-jp{font-size:24px!important}.kn280-word-hv{font-size:12px}.kn280 .kn264-title b::before{font-size:12px}.kn280 .kn264-memory figcaption{font-size:15px}}
@media(max-width:699px){.kn264.kn280{grid-template-rows:38px 44px minmax(760px,1fr) 40px;overflow-y:auto}.kn280 .kn264-title{grid-template-columns:72px minmax(0,1fr) 32px}.kn280 .kn264-title>div:first-child svg{width:72px;height:72px}.kn280 .kn264-readings{font-size:11px}.kn280 .kn264-title b{font-size:24px}.kn280 .kn264-title p{font-size:13px}}

.kn280 .kn280-whole>div{max-width:100%!important;display:flex;flex-direction:row;gap:10px;align-items:center}.kn280 .kn280-whole>div>span{max-width:230px}

body.login270-open{overflow:hidden}.login270-dialog{padding:0;border:0;border-radius:22px;background:transparent;width:min(420px,calc(100% - 28px));max-width:420px;max-height:calc(100dvh - 28px);overflow:auto;color:#17365b;box-shadow:0 24px 90px #08224f40}.login270-dialog::backdrop{background:#132f5266;backdrop-filter:blur(3px)}
.account-entry.login270{box-sizing:border-box;position:relative;width:100%;max-width:420px;margin:24px auto;padding:26px 28px;background:#fff;border:1px solid #dce8f5;border-radius:22px;color:#17365b;font:15px/1.5 Arial,system-ui,sans-serif;box-shadow:0 12px 45px #17365b0d}.login270-dialog .account-entry.login270{margin:0;border:0;box-shadow:none}.account-entry.login270::before{display:none!important}.login270 *{box-sizing:border-box}.login270 .login270-logo{display:block;width:130px;height:48px;object-fit:contain;margin:0 auto 12px}.login270 h1{font:700 25px/1.25 Arial,system-ui,sans-serif;text-align:center;margin:0 0 22px;color:#15355b}.login270 .login270-close{position:absolute;top:8px;right:8px;width:40px;height:40px;min-height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:#64758a;font-size:28px;cursor:pointer}.login270 .login270-close:hover{background:#edf4fb}.login270 button{cursor:pointer;font-family:inherit}.login270 .login270-google{width:100%;min-height:48px;display:flex;gap:12px;align-items:center;justify-content:center;background:#fff;border:1px solid #cfdae8;border-radius:10px;font-size:15px;font-weight:600;color:#253a54;padding:10px}.login270-google span{font:bold 22px Arial;color:#4285f4}.login270-divider{display:flex;align-items:center;gap:12px;color:#7b8898;font-size:11px;margin:17px 0}.login270-divider::before,.login270-divider::after{content:'';height:1px;background:#e5ebf2;flex:1}.login270 form{display:grid;gap:13px;margin:0}.login270 form label{display:block;margin:0;font-size:14px;font-weight:600}.login270 form input{display:block;width:100%;min-height:46px;margin:6px 0 0;padding:11px 12px;border:1px solid #ccd9e7;border-radius:9px;background:#fff;color:#17365b;font:16px/1.4 Arial,system-ui,sans-serif}.login270 form>.button{display:block;width:100%;margin:3px 0 0;padding:12px;border:0;border-radius:10px;background:#0877e8;box-shadow:none;color:#fff;font-size:16px;font-weight:700;min-height:46px}.login270 form>.button:hover{background:#0864c1}.login270 button:disabled{opacity:.6;cursor:wait}.login270 button:focus-visible,.login270 input:focus-visible{outline:3px solid #79b8ff;outline-offset:2px}.login270 #account-message{font-size:14px;color:#a12c3e;margin:12px 0;overflow-wrap:anywhere}.login270 #account-message:empty{display:none}.login270-links{text-align:center;margin-top:13px}.login270 .textbutton{border:0;background:transparent;color:#0769c7;padding:6px 2px;min-height:36px;font:600 14px/1.5 Arial,system-ui,sans-serif}.login270-links p{font-size:13px;margin:3px 0 0;color:#60728a}.login270 .login270-intro{font-size:14px;margin:0 0 18px;color:#60728a;text-align:center}.account-loading #main:has(.login270){padding:16px!important}.account-links .login:not(.member-avatar){display:inline-flex!important;align-items:center;min-height:44px;white-space:nowrap}@media(max-width:480px){.account-entry.login270{padding:24px 20px;margin:8px auto}.login270 h1{font-size:24px;margin-bottom:18px}.nav-wrap .account-links{gap:10px;min-width:0}.nav-wrap .account-links .button.compact{min-width:0;padding-inline:10px}.nav-wrap .account-links .login{font-size:13px}}

#content-watermark276{position:fixed;right:12px;bottom:72px;max-width:70vw;padding:4px 9px;border-radius:8px;background:rgba(255,255,255,.64);color:rgba(25,58,53,.46);font:600 11px/1.4 system-ui;pointer-events:none;z-index:999;overflow-wrap:anywhere}a[aria-disabled=true]{opacity:.6}#main{user-select:none}#main input,#main textarea,#main [contenteditable=true]{user-select:text}

.kq-shell{overflow:hidden;border:1px solid #b8a16a;border-radius:24px;background:#0d252b;color:#f5efdc;box-shadow:0 20px 60px #071f2533}.kq-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 24px;font-size:13px;color:#cedbd3}.kq-pill{font-size:11px;letter-spacing:2px;color:#f0d499;border:1px solid #a690584f;padding:7px 12px;border-radius:20px}.kq-scene{height:360px;position:relative;overflow:hidden;background:linear-gradient(#12333e,#55847e 62%,#253d3d);isolation:isolate}.kq-sky{position:absolute;inset:0;background:radial-gradient(ellipse at 65% 16%,#edf4d78c,transparent 38%),radial-gradient(ellipse at 10% 65%,#79c9b260,transparent 55%)}.kq-mountain{position:absolute;inset:8% -10% 15%;background:#153d49;clip-path:polygon(0 100%,0 70%,12% 25%,17% 39%,24% 0,29% 38%,34% 50%,41% 35%,51% 88%,64% 24%,69% 5%,74% 33%,80% 15%,88% 75%,100% 35%,100% 100%);opacity:.6}.kq-mountain.near{inset:28% -20% 8%;transform:scaleX(-1);background:#274d48;opacity:.7}.kq-mist{position:absolute;inset:35% -30% 18%;background:radial-gradient(ellipse,#cee8cc60,transparent 65%);filter:blur(12px);animation:kq-mist 12s ease-in-out infinite alternate}.kq-path{position:absolute;bottom:0;height:21%;width:160%;left:-20%;background:repeating-linear-gradient(95deg,transparent 0 80px,#091f2966 82px 84px),linear-gradient(#b3af91,#6e8274 15%,#394b45 18%,#10272c 20%);transform:skewX(-24deg)}.kq-gate{position:absolute;bottom:20%;left:62%;width:24%;height:73%;border:15px solid #768d82;border-bottom:0;border-radius:48% 48% 0 0;box-shadow:inset 0 0 0 3px #c3bb8a,0 0 0 3px #314f49,8px 5px 18px #071c25a8;background:linear-gradient(90deg,#102f3a22,#6de8ce25,#102f3a22)}.kq-lintel{position:absolute;top:-16px;left:-30px;right:-30px;background:linear-gradient(#8c9d88,#3d625d);border:2px solid #b7aa77;border-radius:40px 40px 8px 8px;text-align:center;padding:10px;color:#e4d698;font-size:17px;letter-spacing:5px}.kq-barrier{position:absolute;inset:12% 0 0;border-radius:50% 50% 0 0;background:repeating-linear-gradient(105deg,transparent 0 20px,#89ffe32b 21px 23px),radial-gradient(ellipse,#a1ffe656,#29cdb270);box-shadow:inset 0 0 30px #82ffe0,0 0 25px #3ffff64d;animation:kq-glow 2.6s ease-in-out infinite alternate}.kq-kanji{position:absolute;top:26%;width:100%;text-align:center;font:clamp(60px,8vw,100px)/1.4 serif;color:#fff9d6;text-shadow:0 0 16px #06bd99,0 3px 3px #143730}.kq-fox{position:absolute;left:12%;bottom:20%;width:24%;max-width:240px;transform-origin:65% 95%;filter:drop-shadow(0 0 8px #d9b6ff55)}.kq-fox svg{display:block;width:100%;overflow:visible}.kq-tails{transform-origin:110px 115px;animation:kq-tail 2.8s ease-in-out infinite alternate}.kq-body{transform-origin:160px 155px;animation:kq-breathe 2s ease-in-out infinite alternate}.kq-head{transform-origin:181px 105px}.kq-shadow{position:absolute;bottom:19%;left:17%;width:18%;height:10px;background:#061a29a8;filter:blur(5px);border-radius:50%}.kq-caption{position:absolute;left:22px;top:18px;font-size:10px;letter-spacing:3px;color:#d9e6d0}.kq-dust{position:absolute;bottom:19%;left:75%;width:13%;height:16px;opacity:0;background:radial-gradient(ellipse,#e7dcac90,transparent 70%)}.kq-spark{position:absolute;left:50%;top:50%;width:5px;height:8px;background:#c4ffea;opacity:0;box-shadow:0 0 8px #86ffe4}.kq-play{padding:24px 30px 30px;min-height:250px}.kq-play h2{color:#f3e7c7;font-size:23px;margin:10px 0}.kq-play p{color:#c2d1c9}.kq-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}.kq-modes button{padding:0 0 16px;border:1px solid #8a865e;background:#173a3e;color:#f0e3c8;overflow:hidden;border-radius:16px}.kq-modes button> :first-child{height:130px;width:100%;object-fit:cover;display:block}.kq-modes b,.kq-modes small{display:block;margin-top:8px}.kq-modes button:hover{transform:translateY(-3px);border-color:#f0d499}.kq-progress{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:13px;color:#ddcc9e}.kq-progress progress{flex:1;min-width:80px;height:7px;accent-color:#71d9b7}.kq-answers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.kq-answers button{display:flex;align-items:center;text-align:left;gap:14px;min-height:92px;padding:16px;border:1px solid #b2a6738a;border-radius:12px;background:linear-gradient(145deg,#234947,#153134);color:#f4e9cb}.kq-answers button>span{border:1px solid #b6a877;border-radius:50%;width:28px;height:28px;flex-shrink:0;text-align:center;line-height:26px;font-size:12px}.kq-answers b{font-size:17px;letter-spacing:1px}.kq-answers small{display:block;color:#d2ddd3;margin-top:5px;font-size:14px}.kq-answers button:hover:not(:disabled){border-color:#b6ffe1;background:#285653}.kq-answers button.kq-correct{background:#256143;border-color:#a3f4be;opacity:1}.kq-answers button.kq-wrong{opacity:.45;border-color:#c48585}.kq-feedback{min-height:24px;margin-bottom:0}.kq-review{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.kq-review span{padding:10px;background:#ffffff08;border-radius:8px;font-size:14px}.kq-review b{font:24px serif;margin-right:10px}.kq-entry{display:flex;justify-content:space-between;align-items:center;gap:20px}.kq-success .kq-fox{animation:kq-jump 2.4s linear both}.kq-success .kq-body{animation:kq-body-jump 2.4s linear both}.kq-success .kq-tails{animation:kq-tail-jump 2.4s ease-in-out both}.kq-success .kq-leg.front{animation:kq-leg-jump 2.4s ease-in-out both;transform-origin:173px 120px}.kq-success .kq-head{animation:kq-head-jump 2.4s ease-in-out both}.kq-success .kq-shadow{animation:kq-shadow-jump 2.4s linear both}.kq-success .kq-barrier{animation:kq-break 2.4s both}.kq-success .kq-spark{animation:kq-particles 2.4s both;animation-delay:calc(var(--i)*4ms)}.kq-success .kq-dust{animation:kq-dust 2.4s both}.kq-success .kq-gate{animation:kq-gate-pass 2.4s both}.kq-success .kq-path{animation:kq-ground 2.4s both}.kq-success .kq-mountain{animation:kq-pan 2.4s both}
@keyframes kq-tail{to{transform:rotate(-5deg)}}@keyframes kq-breathe{to{transform:scaleY(1.018)}}@keyframes kq-glow{to{opacity:.7}}@keyframes kq-mist{to{transform:translateX(10%)}}@keyframes kq-jump{0%{left:12%;transform:translateY(0) scale(1)}10%{left:11%;transform:translateY(4%) scale(1.08,.84)}19%{left:20%;transform:translateY(-20%) rotate(-12deg) scale(.95,1.08)}38%{left:46%;transform:translateY(-63%) rotate(-5deg)}51%{left:64%;transform:translateY(-45%) rotate(9deg)}63%{left:74%;transform:translateY(0) rotate(0) scale(1.1,.82)}70%{left:74%;transform:scale(.97,1.03)}78%{left:74%;transform:scale(1)}100%{left:12%;transform:scale(1)}}@keyframes kq-body-jump{10%{transform:scaleY(.94)}30%,51%{transform:scaleX(1.06)}64%{transform:scaleY(.9)}78%,100%{transform:scale(1)}}@keyframes kq-tail-jump{10%{transform:rotate(12deg)}28%{transform:rotate(-18deg)}53%{transform:rotate(17deg)}68%{transform:rotate(-10deg)}80%,100%{transform:rotate(0)}}@keyframes kq-leg-jump{27%,48%{transform:rotate(-35deg)}57%{transform:rotate(14deg)}68%,100%{transform:rotate(0)}}@keyframes kq-head-jump{16%,40%{transform:rotate(-7deg)}60%{transform:rotate(5deg)}75%,100%{transform:rotate(0)}}@keyframes kq-shadow-jump{10%{left:17%;transform:scale(1)}38%{left:51%;transform:scale(.5);opacity:.4}63%,78%{left:79%;transform:scale(1);opacity:1}100%{left:17%}}@keyframes kq-break{0%,34%{opacity:1}39%{filter:brightness(3);transform:scale(1.08)}55%,100%{opacity:0;transform:scale(1.3)}}@keyframes kq-particles{0%,38%{opacity:0;transform:translate(0,0)}41%{opacity:1}72%,100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(150deg)}}@keyframes kq-dust{0%,60%{opacity:0;transform:scale(.4)}64%{opacity:1}80%,100%{opacity:0;transform:scale(2.6)}}@keyframes kq-gate-pass{0%,78%{transform:translateX(0);opacity:1}100%{transform:translateX(-280%);opacity:0}}@keyframes kq-ground{0%,78%{background-position:0 0}100%{background-position:-300px 0}}@keyframes kq-pan{0%,78%{margin-left:0}100%{margin-left:-30px}}
@media(max-width:650px){.kq-top{padding:14px;font-size:11px}.kq-scene{height:270px}.kq-gate{border-width:10px;width:27%;left:61%;height:66%}.kq-fox{width:30%;left:8%}.kq-lintel{font-size:12px;left:-20px;right:-20px}.kq-kanji{font-size:62px}.kq-play{padding:20px 15px}.kq-modes{grid-template-columns:1fr 1fr}.kq-answers{grid-template-columns:1fr}.kq-answers button{min-height:72px}.kq-review{grid-template-columns:1fr}.kq-entry{align-items:flex-start;flex-direction:column}.kq-caption{font-size:9px;letter-spacing:1px}.kq-play h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.kq-shell *{animation:none!important;transition:none!important}.kq-success .kq-barrier{opacity:0}.kq-success .kq-fox{left:70%}}
/* 291: matched cover cards and fixed four-answer layout. */
.kq-game-grid291{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}.kq-game-grid291>.panel{margin:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden}.kq-game-grid291>.panel>img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;max-width:none}.kq-game-grid291>.panel>div{padding:22px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.kq-game-grid291>.panel h2{margin:10px 0}.kq-game-grid291>.panel p{flex:1}.kq-game-grid291>.panel button{margin-top:8px}.kq-answers{grid-template-columns:repeat(2,minmax(0,1fr))}.kq-caption{font-family:serif;font-size:16px;letter-spacing:2px;text-shadow:0 2px 5px #000;background:#0b282a88;border-radius:8px;padding:8px 12px}.kq-modes small{padding:0 6px}.kq-feedback{line-height:1.7}.kq-kanji{font-family:'Noto Serif JP','Yu Mincho',serif}.kq-answers button:focus-visible{outline:3px solid #f5dc91;outline-offset:3px}@media(max-width:650px){.kq-game-grid291{grid-template-columns:1fr}.kq-answers{grid-template-columns:1fr 1fr;gap:8px}.kq-answers button{padding:10px;gap:7px}.kq-answers b{font-size:15px}.kq-answers small{font-size:12px}.kq-caption{font-size:12px;left:8px;top:8px;letter-spacing:0}}
/* Painted scene and pose atlas; position travels continuously while poses articulate. */
.kq-scene{height:auto;aspect-ratio:1672/941;container-type:inline-size;background:#153c46}.kq-painted291{position:absolute;inset:0;background:url('/art/quest291-scene.webp') center/100% 100% no-repeat}.kq-scene .kq-gate{left:73%;top:30%;bottom:auto;width:15%;height:36%;border:0;border-radius:0;box-shadow:none;background:none}.kq-scene .kq-barrier{inset:0;border-radius:4px;background:repeating-linear-gradient(105deg,transparent 0 20px,#a4ffe34a 21px 23px),radial-gradient(ellipse,#99ffe75c,#2bdfc371)}.kq-scene .kq-kanji{left:75.5%;top:12%;width:10.5%;height:17%;display:flex;align-items:center;justify-content:center;color:#123b36;text-shadow:none;font-size:clamp(30px,7cqw,94px);line-height:1}.kq-scene .kq-fox{left:12%;bottom:27%;width:25%;max-width:none;aspect-ratio:1;filter:drop-shadow(0 3px 4px #26184477)}.kq-sprite291{width:100%;height:100%;background:url('/art/quest291-fox-sprites.webp') 0 0/400% 200% no-repeat;transform-origin:70% 90%;animation:kq-sprite-breathe291 2.4s ease-in-out infinite alternate}.kq-scene .kq-shadow{bottom:29%;left:19%;width:14%}.kq-scene .kq-dust{bottom:29%;left:77%}.kq-success .kq-sprite291{animation:kq-poses291 2.4s steps(1,end) both}.kq-success .kq-gate{animation:none}.kq-success .kq-painted291{animation:kq-scene-pan291 2.4s ease-in-out both}.kq-success .kq-kanji{animation:kq-plaque291 2.4s both}.kq-scene .kq-mist{pointer-events:none;opacity:.3}.kq-caption{max-width:65%}
@keyframes kq-sprite-breathe291{to{transform:scaleY(1.015) rotate(-.5deg)}}
@keyframes kq-poses291{0%{background-position:0 0}7%{background-position:33.333333% 0}17%{background-position:66.666667% 0}29%{background-position:100% 0}40%{background-position:0 100%}51%{background-position:33.333333% 100%}63%{background-position:66.666667% 100%}73%,100%{background-position:100% 100%}}
@keyframes kq-scene-pan291{0%,77%{transform:scale(1);filter:brightness(1)}89%{transform:scale(1.06) translateX(-2%);filter:brightness(1.3)}100%{transform:scale(1);filter:brightness(1)}}
@keyframes kq-plaque291{0%,78%{opacity:1}90%,100%{opacity:0}}
@media(max-width:650px){.kq-scene{min-height:0}.kq-scene .kq-fox{width:25%;left:12%}.kq-caption{font-size:11px}.kq-scene .kq-kanji{font-size:7cqw}}
@media(prefers-reduced-motion:reduce){.kq-success .kq-sprite291{background-position:100% 100%}}

/* Compact fantasy layout: presentation only; retain existing game and saves. */
.kq-game-grid291>#kq-entry{background:radial-gradient(ellipse at 100% 0,#32526866,transparent 65%),linear-gradient(135deg,#18283e,#302344);border-color:#647696;color:#f4edff;box-shadow:0 12px 30px #1a17341c;align-self:start}
.kq-game-grid291>#kq-entry>img{max-height:clamp(150px,34svh,300px);object-fit:contain;background:#142339}
.kq-game-grid291>#kq-entry>div{padding:14px 18px;gap:7px;background:transparent}
.kq-game-grid291>#kq-entry h2{color:#fff1cf;margin:0;font-size:22px}
.kq-game-grid291>#kq-entry p{color:#d7d9ed;margin:0;font-size:14px;line-height:1.5}
.kq-game-grid291>#kq-entry .tag{background:#67daca18;border-color:#80d6d666;color:#b5f4e7}
.kq-game-grid291>#kq-entry .button{margin-top:3px;background:linear-gradient(120deg,#a7e5d3,#d5c2f2);color:#17263b;min-height:44px;border:1px solid #c1f2e0}
body:has(.kq-shell) .shell{background:radial-gradient(ellipse at 75% 10%,#3b2e5c,transparent 65%),#141f32;color:#f3efff;min-height:100svh}
body:has(.kq-shell) .shell>header{background:#141f32;color:#e3dbf6;border-color:#52617a}
body:has(.kq-shell) .breadcrumb,body:has(.kq-shell) .breadcrumb b{color:#e3dbf6}
body:has(.kq-shell) .save-status16{background:#1e2d43;color:#d6dcef}
#main:has(.kq-shell){padding:12px 20px 18px;min-height:0}
#main:has(.kq-shell)>.page-head{margin-bottom:12px;gap:10px}
#main:has(.kq-shell)>.page-head h1{font-size:24px;color:#fff1cf;margin-bottom:3px}
#main:has(.kq-shell)>.page-head .eyebrow{margin-bottom:3px;color:#b9e5dc}
#main:has(.kq-shell)>.page-head p{color:#d0c9df;font-size:13px}
#main:has(.kq-shell) .secondary{background:#293950;border-color:#708295;color:#f3ecff;min-height:40px;padding:7px 12px}
.kq-shell{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,1fr);align-items:center;background:radial-gradient(ellipse at 90% 100%,#48326077,transparent 70%),#17273d;border-color:#658794;border-radius:18px}
.kq-shell>.kq-top{grid-column:1/-1;padding:9px 14px;gap:8px;background:#132238aa;border-bottom:1px solid #65879455;font-size:12px}
.kq-shell>.kq-scene{width:100%;align-self:center;min-width:0}
.kq-shell>.kq-play{padding:14px;min-height:0;min-width:0;max-height:calc(100svh - 235px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#9eafd0 #1b2a40}
.kq-shell .kq-play h2{font-size:19px;margin:8px 0;line-height:1.35;color:#fff0cf}
.kq-shell .kq-play p{font-size:13px;line-height:1.5;margin-bottom:8px;color:#d8dced}
.kq-shell .kq-modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.kq-shell .kq-modes button{padding-bottom:8px;background:#26324c;border-color:#7589a5}
.kq-shell .kq-modes button>:first-child{height:clamp(48px,10svh,86px)}
.kq-shell .kq-modes b,.kq-shell .kq-modes small{margin-top:3px;line-height:1.35}
.kq-shell .kq-modes small{font-size:11px;color:#d8dced}
.kq-shell .kq-progress{gap:7px;font-size:12px}
.kq-shell .kq-progress .textbutton{font-size:12px;padding:4px 0;color:#b7f0e0}
.kq-shell .kq-answers{gap:8px;margin-top:10px}
.kq-shell .kq-answers button{min-height:76px;padding:10px;gap:8px;background:linear-gradient(135deg,#293e56,#302d4b);border-color:#8495b3;color:#fff2d9;overflow-wrap:anywhere}
.kq-shell .kq-answers button>div{min-width:0}
.kq-shell .kq-answers button b{font-size:15px;letter-spacing:.3px}
.kq-shell .kq-answers button small{font-size:13px;color:#e0deee;line-height:1.4}
.kq-shell .kq-answers button.kq-correct{background:#23614c;border-color:#a3f4be}
.kq-shell .kq-answers button.kq-wrong{background:#4b2d43;border-color:#d293a4}
.kq-shell .kq-feedback{margin:8px 0 0;min-height:40px}
.kq-shell .kq-review{grid-template-columns:1fr;margin:10px 0}
body:has(.kq-shell) .shell>footer{color:#bfc7dc;border-color:#52617a;padding-top:10px;padding-bottom:10px}
@media(max-width:1000px){
 .kq-shell{grid-template-columns:minmax(0,1fr)}
 .kq-shell>.kq-scene{max-width:min(100%,calc((100svh - 400px)*1.777));min-width:min(100%,240px);justify-self:center}
 .kq-shell>.kq-play{max-height:none;overflow:visible;padding:10px 12px}
 .kq-shell .kq-modes{grid-template-columns:repeat(4,minmax(0,1fr))}
 .kq-shell .kq-modes button>:first-child{height:55px}
 .kq-shell .kq-answers button{min-height:66px}
}
@media(max-width:650px){
 #main:has(.kq-shell){padding:8px 10px 12px}
 #main:has(.kq-shell)>.page-head{margin-bottom:8px;flex-direction:row;align-items:center}
 #main:has(.kq-shell)>.page-head h1{font-size:20px}
 #main:has(.kq-shell)>.page-head p{display:none}
 #main:has(.kq-shell)>.page-head .eyebrow{font-size:9px;letter-spacing:1px}
 #main:has(.kq-shell)>.page-head .secondary{font-size:11px;padding:7px 9px;white-space:nowrap}
 .kq-shell>.kq-top{padding:6px 10px;gap:5px;font-size:10px}
 .kq-shell .kq-pill{font-size:9px;letter-spacing:.8px;padding:4px 7px}
 .kq-shell>.kq-top .secondary{font-size:11px;min-height:36px}
 .kq-shell .kq-play h2{font-size:17px;margin:5px 0}
 .kq-shell .kq-modes{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kq-shell .kq-modes button>:first-child{height:42px}
 .kq-shell .kq-modes button{padding-bottom:5px}
 .kq-shell .kq-answers button{min-height:64px;padding:8px;gap:6px}
 .kq-shell .kq-answers button>span{width:23px;height:23px;line-height:21px}
 .kq-shell .kq-answers button small{font-size:12px}
 .kq-game-grid291>#kq-entry>div{padding:12px 15px}
}
/* Level selection shares the existing compact game header. */
.kq-levels293{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
#main .kq-levels293 .secondary{min-height:36px;padding:5px 10px;font-size:12px}
#main .kq-levels293 .secondary[aria-pressed=true]{background:#b8e9db;color:#192b3e;border-color:#dbfff2}
/* 295: equal-size game cards at every study level. Keep each game's colours. */
#main .kq-game-grid291{align-items:stretch;grid-auto-rows:1fr}
#main .kq-game-grid291>:is(.kb-entry256,#kq-entry){align-self:stretch;min-width:0;display:flex;flex-direction:column;justify-content:flex-start;gap:0;padding:0;border-radius:16px}
#main .kq-game-grid291>:is(.kb-entry256,#kq-entry)>img{display:block;flex:none;width:100%;height:auto;min-height:0;max-height:none;max-width:none;aspect-ratio:16/9;object-fit:cover;object-position:center}
#main .kq-game-grid291>:is(.kb-entry256,#kq-entry)>div{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:8px;padding:16px 18px;min-width:0}
#main .kq-game-grid291>:is(.kb-entry256,#kq-entry) .tag{font-size:11px;line-height:1.65;padding:3px 9px}
#main .kq-game-grid291>:is(.kb-entry256,#kq-entry) h2{font-size:22px;line-height:1.35;margin:0}
#main .kq-game-grid291>:is(.kb-entry256,#kq-entry) p{flex:1;font-size:14px;line-height:1.5;margin:0}
#main .kq-game-grid291>:is(.kb-entry256,#kq-entry) .button{box-sizing:border-box;min-height:44px;margin:4px 0 0;padding:10px 18px;font-size:14px;line-height:1.5;border:1px solid transparent}
@media(max-width:650px){#main .kq-game-grid291>:is(.kb-entry256,#kq-entry)>div{padding:14px 15px}}

/* Completion actions precede the optional review list and remain easy to tap. */
#main .kq-end-actions327{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;padding:14px;background:#0b1729;border:2px solid #dcb963;border-radius:14px}
#main .kq-end-actions327 button{min-height:58px;padding:13px 18px;border-radius:10px;font-family:inherit;font-size:17px;font-weight:700;line-height:1.4;cursor:pointer}
#main .kq-new327{background:#f4d17c;color:#182538;border:2px solid #fff0bd;box-shadow:0 3px 0 #9c7536}
#main .kq-exit327{background:#e8f3f5;color:#192f43;border:2px solid #b6d8e3}
#main .kq-end-actions327 button:focus-visible{outline:3px solid #b9fff0;outline-offset:4px}
.kq-summary327{margin-top:14px;padding:12px;border:1px solid #7d91ae;border-radius:10px}.kq-summary327 summary{cursor:pointer;font-weight:700;color:#f5e4bc}
.kq-review-banner327{padding:12px;border:1px solid #f3ce79;border-radius:10px;background:#4c3d25;color:#fff0c4}.kq-review-banner327 p{margin:6px 0 0}
@media(max-width:650px){#main .kq-end-actions327{grid-template-columns:1fr;gap:10px}#main .kq-end-actions327 button{width:100%;min-height:56px}}

.detective-controls297{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.2rem 0 .4rem;align-items:center}.detective-controls297 button{min-height:44px}.detective-controls297 [aria-pressed=true]{background:#e2eee5;border-color:#35765b;color:#183e2c}.detective-hint297{border-color:#b36f49!important;color:#813a24!important;background:#fff1df!important}.detective-help297{font-size:.88rem;color:#685645;margin:.5rem 0 1rem}.detective-reading297{background:linear-gradient(125deg,#f8edda,#edf2e7);border:1px solid #d9c9ac;padding:clamp(1rem,3vw,1.7rem);border-radius:18px;white-space:normal!important;overflow-wrap:anywhere}.detective-sentence297+.detective-sentence297{margin-top:.8rem}.detective-jp297{line-height:2.1;color:#2b3431;font-size:clamp(1rem,2.3vw,1.15rem)}.detective-reading297 rt{font-size:.57em;font-weight:500;color:#536958}.detective-vi297{margin:.25rem 0 0!important;padding:.35rem 0 .35rem .75rem;border-left:3px solid #a1b9a3;color:#485b50;font-size:.95rem;line-height:1.65;font-family:inherit}.detective-key297{color:inherit;background:transparent;text-decoration-line:underline;text-decoration-color:#bd2929;text-decoration-thickness:2px;text-underline-offset:.23em}.game-question88 ruby{ruby-align:center}.detective-controls297 button:focus-visible{outline:3px solid #35765b;outline-offset:3px}@media(max-width:500px){.detective-controls297{gap:.45rem}.detective-controls297 button{flex:1 1 auto;font-size:.9rem}.detective-hint297{flex-basis:100%!important}.detective-reading297{padding:.9rem}.detective-vi297{font-size:.9rem}}

.journey-grid304{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.journey-grid304 label{display:grid;gap:8px}.journey-grid304 input,.journey-grid304 select{width:100%;min-height:44px}.journey-slots304{display:grid;gap:12px;padding-left:24px}.journey-slots304 b{display:inline-block;min-width:76px}@media(max-width:680px){.journey-grid304{grid-template-columns:1fr 1fr}}@media(max-width:380px){.journey-grid304{grid-template-columns:1fr}}

.journey305{max-width:1000px;margin:0 auto;padding:12px 0 40px}.j-top305,.j-section305,.j-taskmeta305{display:flex;align-items:center;justify-content:space-between;gap:16px}.j-pilot305{color:#6a617d;font-size:12px}.j-heading305{margin:32px 0 26px}.journey305 h1{font-size:clamp(28px,4vw,42px);letter-spacing:-1px;margin:10px 0}.j-step305{color:#756196;font-size:12px;font-weight:700;letter-spacing:1.6px}.j-heading305>p,.j-hero305 p{color:#6e6480}.j-preview305{max-width:750px;padding:32px;border:1px solid #ded6ee;border-radius:24px;background:linear-gradient(135deg,#fff,#f5f0fc);box-shadow:0 16px 45px #37205c09}.j-goal305{display:flex;align-items:center;gap:20px}.j-goal305 h2{margin:0 0 8px;font-size:25px}.j-goal305 p{margin:0;color:#71687d}.j-level305{display:grid;place-items:center;flex:0 0 70px;height:70px;border-radius:22px;background:#e7ddf7;color:#60448c;font-size:28px;font-weight:800}.j-metrics305{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0 20px}.j-metrics305>div{padding:20px 14px;border:1px solid #e7dfef;border-radius:16px;background:#ffffffb8}.j-metrics305 strong{font-size:32px;display:block;color:#493766}.j-metrics305 strong small{font-size:15px;font-weight:500}.j-metrics305 span{display:block;font-size:12px;margin-top:8px;color:#726a7c}.j-time305{color:#685c7b}.j-details305{font-size:13px;color:#71647d;line-height:1.8}.j-details305 summary{cursor:pointer;padding:12px 0}.j-actions305{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px}.j-actions305>.button{padding:15px 22px;font-size:15px;border-radius:12px}.j-form305{padding:28px!important}.j-form305 h2{margin-top:0}.j-form305 input,.j-form305 select{border:1px solid #d9d0e6;border-radius:9px;padding:11px;background:white;color:#322743;font:inherit}.j-hero305{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:36px;margin:22px 0 28px;background:linear-gradient(125deg,#eee5fb,#f8f3ff 65%,#e6f3ef);border:1px solid #dfd4eb;border-radius:24px}.j-hero-meta305{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:#6e617f;margin:16px 0 24px}.j-ring305{flex:0 0 148px;height:148px;border-radius:50%;padding:10px;background:conic-gradient(#7b5aae var(--progress),#dcd0eb 0)}.j-ring305>div{height:100%;background:#f6f1fb;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column}.j-ring305 strong{font-size:40px;color:#5c4186}.j-ring305 strong small{font-size:22px;color:#9886ad}.j-ring305 span{font-size:12px;color:#796c88}.j-section305 h2{font-size:20px;margin:0}.j-section305{margin-bottom:18px}.j-tasklist305{display:grid;gap:12px}.j-task305{display:flex;align-items:center;gap:20px;padding:24px;background:#fff;border:1px solid #e5deee;border-radius:18px;box-shadow:0 3px 12px #35204d03}.j-taskicon305{flex:0 0 52px;height:52px;display:grid;place-items:center;border-radius:17px;background:#f0e9fa;color:#74539d;font-size:25px;font-weight:700}.j-taskbody305{flex:1;min-width:0}.j-task305 h3{font-size:19px;margin:7px 0}.j-task305 p{font-size:13px;color:#776c83;margin:0 0 10px;line-height:1.6}.j-taskmeta305{font-size:10px;letter-spacing:.6px;color:#95859f;justify-content:flex-start}.j-taskmeta305 span+span{color:#7c658f}.j-reward305{display:inline-block;color:#8c6524;font-size:12px;font-weight:600;background:#fff7e8;padding:5px 9px;border-radius:7px}.j-rewardnote305{display:block;font-size:11px;color:#81768b;margin-top:6px}.j-task305>.button,.j-task305>.secondary{flex-shrink:0;border-radius:10px;min-width:116px;min-height:44px}.j-task305.is-done{background:#f6fbf8;border-color:#d5e9de}.is-done .j-taskicon305{background:#e0f1e7;color:#387b58}.j-completed305{color:#387b58;font-weight:700}.j-goaldetails305{margin-top:22px}.journey305 button:focus-visible,.journey305 a:focus-visible{outline:3px solid #ad8ad8;outline-offset:3px}@media(max-width:640px){.j-top305{align-items:flex-start;flex-direction:column;gap:8px}.j-preview305{padding:22px}.j-hero305{padding:24px 20px}.j-ring305{flex-basis:92px;height:92px;padding:7px}.j-ring305 strong{font-size:28px}.j-ring305 strong small{font-size:16px}.j-ring305 span{font-size:10px}.j-task305{gap:14px;padding:18px;flex-wrap:wrap}.j-taskicon305{flex-basis:42px;height:42px;border-radius:13px}.j-taskbody305{flex-basis:calc(100% - 56px)}.j-task305>.button,.j-task305>.secondary{width:calc(100% - 56px);margin-left:56px}.j-metrics305{gap:7px}.j-metrics305>div{padding:15px 9px}.j-metrics305 strong{font-size:26px}.j-goal305{gap:14px}.j-section305{align-items:flex-start}.j-section305 .textbutton{font-size:12px}}@media(prefers-reduced-motion:reduce){.journey305 *{scroll-behavior:auto!important}}

.j306 .j-warning306{padding:14px;border-radius:12px;background:#fff2dc;color:#704300}.j306 .journey-grid304 label[hidden]{display:none}.j306 details.panel{margin:0}.j306 summary{cursor:pointer;line-height:1.7}.j-bar306{max-width:1000px;margin:12px auto;padding:16px 20px;border:1px solid #d8cef1;background:#f5f0ff;color:#30224f;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:20px}.j-bar306[hidden]{display:none}.j-bar306 p{margin:5px 0;font-size:13px}.j306 .j-task305 h3{font-size:19px}.j306 .j-taskbody305 p{overflow-wrap:anywhere}@media(max-width:640px){.j-bar306{margin:10px;display:block}.j-bar306 .button{margin-top:10px;width:100%}.j306 .j-section305{align-items:flex-start;gap:12px;flex-direction:column}}

.ha307{max-width:1320px;margin:auto;color:#30234d}.ha-heading307{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:12px 0 28px}.ha-heading307 h1{font:600 clamp(30px,4vw,46px)/1.2 Georgia,serif;margin:10px 0;color:#4e2d80}.ha-heading307 h1 span{color:#c7a0d6}.ha-heading307 p{color:#71647f}.ha-grid307{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.5fr);gap:24px;align-items:start}.ha-side307{border-radius:26px;overflow:hidden;background:#f5eefb;border:1px solid #e9def3}.ha-portrait307{aspect-ratio:550/720;background-image:url('/art/hana-assistant307.png');background-size:279.27% 142.22%;background-position:2.03% 57.89%;background-repeat:no-repeat}.ha-intro307{padding:22px}.ha-intro307 h2{font-size:20px;margin:0 0 10px}.ha-intro307 p,.ha-intro307 small{line-height:1.7}.ha-work307{background:#fffcff;border:1px solid #e9dff4;border-radius:26px;padding:24px;box-shadow:0 8px 35px #52327709;min-width:0}.ha-settings307{display:grid;grid-template-columns:100px 1fr;gap:14px}.ha-settings307 label{font-size:13px;font-weight:600;display:grid;gap:7px}.ha-settings307 select{width:100%;min-width:0;background:white}.ha-tabs307{display:flex;gap:10px;margin:18px 0}.ha-tabs307 button{flex:1}.ha307 .button{background:#8054b2;color:#fff;border-color:#8054b2}.ha307 .secondary{background:#faf7ff;border-color:#e1d3f3;color:#543481}.ha-log307{max-height:580px;min-height:260px;overflow-y:auto;padding:4px 3px 16px;overscroll-behavior:contain}.ha-empty307{text-align:center;padding:24px 0}.ha-empty307 h2{font-size:23px;line-height:1.4}.ha-flower307{font-size:52px;color:#b58cce}.ha-suggestions307{display:grid;gap:10px;margin:24px auto 0;max-width:420px}.ha-student307{background:#eee7f8;border-radius:18px 18px 4px 18px;padding:13px 18px;margin:15px 0 16px 15%;white-space:pre-wrap;overflow-wrap:anywhere}.ha-student307 small{color:#76638b}.ha-student307 p{margin:6px 0}.ha-answer307{padding:8px 0 20px;overflow-wrap:anywhere}.ha-answer307>p{line-height:1.8;white-space:pre-wrap}.ha-answer307>b{color:#694298}.ha-correction307{border:1px solid #dfc9f6;background:linear-gradient(135deg,#faf6ff,#f5f1fd);border-radius:18px;padding:18px;margin:15px 0}.ha-correction307>strong{color:#7541ad}.ha-original307{color:#996c7f;text-decoration:line-through;font-size:18px}.ha-correct307{color:#285f40;font-size:25px;font-weight:600;line-height:1.7}.ha-translation307{color:#89749d;font-size:14px}.ha-next307{background:#f1eafb;border-radius:18px;padding:12px 18px;margin:15px 0}.ha-next307 p[lang]{font-size:23px;line-height:1.7;margin:0}.ha-links307{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.ha-links307 button{text-align:left;font-size:13px}.ha-compose307{border-top:1px solid #eee4f5;padding-top:16px}.ha-compose307 label{font-weight:600;font-size:14px}.ha-compose307 textarea{width:100%;resize:vertical;min-height:84px;background:white;border:1px solid #ddcee9;border-radius:14px;padding:12px;margin-top:9px;line-height:1.6}.ha-compose-actions307{display:flex;justify-content:space-between;gap:12px}.ha-error307{color:#a33750;white-space:pre-wrap}.ha-foot307{border-top:1px solid #eee4f5;padding-top:15px;color:#897a96;display:grid;gap:7px;font-size:12px;line-height:1.6}.ha-wait307{color:#8054b2;padding:16px;background:#f8f1ff;border-radius:12px}.ha307 button:focus-visible,.ha307 textarea:focus-visible,.ha307 select:focus-visible{outline:3px solid #b68bd5;outline-offset:3px}.ha307 button:disabled{opacity:.5;cursor:default}@media(max-width:900px){.ha-grid307{grid-template-columns:1fr}.ha-side307{display:grid;grid-template-columns:130px 1fr}.ha-portrait307{height:170px;width:130px}.ha-intro307{padding:16px}.ha-intro307 small{display:none}.ha-work307{padding:18px}.ha-log307{max-height:520px}}@media(max-width:520px){.ha-heading307{align-items:flex-start;flex-direction:column;gap:4px}.ha-side307{grid-template-columns:100px 1fr}.ha-portrait307{width:100px;height:131px}.ha-intro307{padding:12px}.ha-intro307 h2{font-size:17px}.ha-intro307 p{font-size:12px;margin:6px 0}.ha-work307{padding:14px}.ha-tabs307{gap:6px}.ha-tabs307 button,.ha-compose-actions307 button{font-size:12px;padding:10px}.ha-settings307{grid-template-columns:80px 1fr}.ha-student307{margin-left:8%}.ha-correct307,.ha-next307 p[lang]{font-size:20px}}
.ha-grid307{grid-template-columns:minmax(190px,.48fr) minmax(0,1.52fr)}.ha-side307{position:sticky;top:88px}.ha-topics317{padding:14px 16px;border:1px solid #e6d9f0;background:#f8f4fc;border-radius:16px}.ha-quick317 button{font-size:13px;border-radius:24px;padding:9px 14px}.ha-topics317 .small{font-size:12px;line-height:1.6;color:#716180}.ha-log307{max-height:55dvh;min-height:180px}.ha-next307{background:#ede4fa;border-left:4px solid #8250bd}.ha-next307 p[lang=ja]{color:#38205c}.ha-compose307{background:#fff;position:relative}.ha-foot307 small{display:none}.ha-work307{border-color:#d9c7e9}.ha-heading307 h1{font-family:inherit;font-size:34px}.ha-heading307{margin-top:20px}.ha-intro307 small{display:none}@media(max-width:900px){.ha-grid307{grid-template-columns:1fr}.ha-side307{position:static;grid-template-columns:85px 1fr}.ha-portrait307{width:85px;height:110px}.ha-intro307{padding:12px}.ha-intro307 p{font-size:13px}.ha-log307{max-height:52dvh}}
.ha-catalog319{margin:18px 0 26px}.ha-catalog-head319 h2{font-size:24px;margin:8px 0;line-height:1.35;color:#40255e}.ha-catalog-head319 p,.ha-level-description319{font-size:14px;color:#695778;line-height:1.65}.ha-levels319{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 10px}.ha-levels319 button{display:flex;align-items:center;gap:10px;border-radius:14px;padding:10px 16px;font-weight:750}.ha-levels319 small{font-weight:400;font-size:12px}.ha-scenarios319{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:560px;overflow-y:auto;padding:4px 5px 8px 2px;scrollbar-color:#b49acb #f6f0fb}.ha-scenario319{display:flex;flex-direction:column;gap:12px;text-align:left;padding:18px;border:1px solid #ded0ed;border-radius:18px;background:linear-gradient(145deg,#fff,#f7f0ff);color:#452b66;min-width:0;cursor:pointer;transition:transform .15s,border-color .15s}.ha-scenario319:hover{transform:translateY(-2px);border-color:#9364b8;background:#f4eafb}.ha-scenario319 strong{font-size:17px;line-height:1.4}.ha-card-meta319{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:#756183}.ha-card-meta319>span:first-child{font-size:25px}.ha-level319{display:inline-block;border-radius:8px;padding:4px 7px;background:#e9dbfa;color:#60378a;font-size:11px;font-weight:750;white-space:nowrap}.ha-card-meta319 .ha-level319{margin-left:auto}.ha-card-goal319{font-size:13px;line-height:1.65;color:#6a587c}.ha-card-start319{font-size:12px;font-weight:700;color:#714295;margin-top:auto;padding-top:4px}.ha-free319{padding:16px;margin-top:16px;background:#f8f3fc;border-radius:14px}.ha-free319 summary,.ha-current319 summary{cursor:pointer;color:#704a8f;font-size:13px}.ha-free319 p{font-size:13px;line-height:1.6}.ha-current319{display:flex;gap:16px;justify-content:space-between;align-items:start;background:#f1e8fa;border-radius:16px;padding:16px;margin-bottom:16px}.ha-current319 strong{display:block;margin-top:8px;line-height:1.5}.ha-current319 p{font-size:13px;line-height:1.65;margin:6px 0;color:#625074}.ha-current319>button{flex-shrink:0;font-size:12px}.ha-quick317{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:600px){.ha-scenarios319{grid-template-columns:1fr;max-height:60dvh}.ha-current319{flex-direction:column;gap:8px}.ha-levels319{gap:6px}.ha-levels319 button{padding:9px 12px}.ha-catalog-head319 h2{font-size:21px}.ha-scenario319{padding:15px}}
.ha-replies320{border-top:1px solid #dfd0ee;margin-top:20px;padding-top:16px}.ha-replies320 h3{font-size:17px;color:#4c2c70;margin:0 0 7px}.ha-replies320>p{font-size:13px;line-height:1.65;color:#705d80;margin:6px 0 12px}.ha-options320{display:grid;gap:12px}.ha-option320{border:1px solid #dbcbe9;background:#fff;border-radius:16px;padding:15px}.ha-option320>p[lang=ja]{font-size:20px;line-height:1.8;margin:0 0 5px;color:#39244f;overflow-wrap:anywhere}.ha-option320 .ha-option-vi320{font-size:14px;line-height:1.7;color:#675478;margin:0 0 12px}.ha-option-actions320{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.ha-option-actions320 button{font-size:13px;padding:9px 14px}.ha-own320{margin-top:14px}.ha-replies320 .ha-reply-note320{font-size:12px;margin-top:10px}@media(max-width:520px){.ha-option320{padding:12px}.ha-option320>p[lang=ja]{font-size:18px}.ha-option-actions320{justify-content:stretch}.ha-option-actions320 button{flex:1}}
/* Dedicated conversation room: context, dialogue and reply controls have distinct places. */
.ha-kaiwa321{max-width:1320px;margin:10px auto 40px;color:#352449}.ha-session-head321{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px}.ha-eyebrow321{font-size:10px;letter-spacing:.14em;font-weight:750;color:#9475ad;margin:0 0 8px}.ha-session-head321 h1{font-size:clamp(23px,3vw,32px);line-height:1.3;color:#43235f;margin:0}.ha-session-head321>div>p:last-child{font-size:13px;line-height:1.6;color:#786485;margin:10px 0 0}.ha-session-actions321{display:flex;gap:8px;flex-wrap:wrap}.ha-session-actions321 button{font-size:12px;padding:10px 13px;white-space:nowrap}.ha-session321{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;align-items:start}.ha-session321[hidden]{display:none!important}.ha-conversation321{min-width:0;border:1px solid #deceee;background:#fff;border-radius:24px;overflow:clip;box-shadow:0 12px 42px #4c246c0a}.ha-chat-head321{display:flex;align-items:center;gap:12px;padding:16px 22px;background:#f5effb;border-bottom:1px solid #e6dbee}.ha-face321{width:58px;height:58px;flex-shrink:0;border-radius:50%;background:#d8b4f2 url('/art/hana-assistant307.png') 14% 29%/600% auto no-repeat;border:3px solid #a278c4;box-shadow:0 0 0 4px #e7d7f5}.ha-chat-head321>div:nth-child(2){display:grid;gap:4px;min-width:0}.ha-chat-head321 strong{font-size:18px;color:#4d286c}.ha-chat-head321 span{font-size:12px;color:#806b91}.ha-chat-head321>button{margin-left:auto;font-size:11px;padding:8px 10px;white-space:nowrap}.ha-kaiwa321 .ha-log307{max-height:clamp(260px,40dvh,480px);min-height:200px;padding:20px 24px;background:linear-gradient(180deg,#fdfbff,#fff);scrollbar-color:#c3a9d8 transparent}.ha-kaiwa321 .ha-student307{margin:12px 0 18px auto;max-width:82%;width:fit-content;border-radius:18px 18px 4px 18px;background:#8054b2;color:#fff;padding:12px 17px}.ha-kaiwa321 .ha-student307 small{color:#e8d8f7;font-size:11px}.ha-kaiwa321 .ha-student307 p{font-size:17px;line-height:1.75}.ha-kaiwa321 .ha-answer307{max-width:94%;padding:0 0 12px}.ha-kaiwa321 .ha-answer307>b{font-size:11px;letter-spacing:.08em;color:#9478a6}.ha-kaiwa321 .ha-next307{background:#f3edf8;border:1px solid #e6d9ef;border-radius:4px 18px 18px 18px;padding:16px 19px;margin:7px 0 10px}.ha-kaiwa321 .ha-next307 p[lang=ja]{font-size:22px;line-height:1.85;color:#3d254f}.ha-kaiwa321 .ha-translation307{font-size:14px;line-height:1.65;color:#7f6a8d;margin:8px 0 0}.ha-kaiwa321 .ha-answer307>button{font-size:12px;padding:8px 12px}.ha-kaiwa321 .ha-feedback321{font-size:13px;line-height:1.7;color:#776084;margin:10px 0 4px}.ha-kaiwa321 .ha-correction307{margin:12px 0;padding:14px;background:#fcf7f1;border-color:#efddc9}.ha-kaiwa321 .ha-correct307{font-size:19px}.ha-kaiwa321 .ha-original307{font-size:15px}.ha-kaiwa321 .ha-hint312{display:inline-block;margin:4px 8px 8px 0;vertical-align:top}.ha-kaiwa321 .ha-hint312>button{font-size:11px;padding:8px 10px}.ha-response321{padding:0 22px 16px;border-top:1px solid #ece3f4;background:#faf7fd}.ha-kaiwa321 .ha-replies320{border:0;margin:0;padding-top:16px}.ha-kaiwa321 .ha-replies320 h3{font-size:14px;margin:0 0 5px;color:#68428a}.ha-kaiwa321 .ha-replies320>p{font-size:12px;margin:5px 0 10px}.ha-kaiwa321 .ha-options320{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ha-kaiwa321 .ha-option320{padding:12px;border-radius:13px;display:flex;flex-direction:column;gap:5px;box-shadow:0 3px 12px #54377804}.ha-kaiwa321 .ha-option320>p[lang=ja]{font-size:16px;line-height:1.75;margin:0}.ha-kaiwa321 .ha-option-vi320{font-size:12px;line-height:1.65;margin:0 0 6px}.ha-kaiwa321 .ha-option-actions320{margin-top:auto;gap:6px;justify-content:stretch}.ha-kaiwa321 .ha-option-actions320 button{font-size:11px;padding:8px 10px;flex:1}.ha-kaiwa321 .ha-own320{font-size:12px;padding:8px 12px;margin-top:10px}.ha-kaiwa321 .ha-reply-note320{display:none}.ha-kaiwa321 .ha-compose321{padding:16px 22px 10px;position:sticky;bottom:0;background:#fff;border-top:1px solid #e6dbee;z-index:2;box-shadow:0 -5px 15px #46305c04}.ha-kaiwa321 .ha-compose321 label{font-size:12px;color:#796086}.ha-kaiwa321 .ha-compose321 textarea{min-height:65px;max-height:180px;font-size:16px;margin:6px 0 10px;background:#fcfaff}.ha-kaiwa321 .ha-compose-actions307 button{font-size:13px;padding:10px 15px}.ha-kaiwa321 #ha-mic-status307{font-size:11px;margin:8px 0 0;color:#96839e}.ha-kaiwa321 .ha-error307:empty{display:none}.ha-context321{position:sticky;top:90px;min-width:0}.ha-context321 details{border:1px solid #e2d4ef;background:#f8f3fc;border-radius:18px;overflow:hidden}.ha-context321 summary{display:flex;gap:9px;align-items:center;padding:17px;cursor:pointer;font-size:13px;font-weight:650;color:#69428a;list-style:none}.ha-context321 summary>span:last-child{margin-left:auto}.ha-context321 summary>span:first-child{font-size:20px}.ha-context-body321{padding:0 18px 17px}.ha-context321 h2{font-size:12px;color:#593477;margin:16px 0 5px}.ha-context321 p{font-size:13px;line-height:1.75;color:#826c90;margin:0}.ha-how321{padding:22px 16px}.ha-how321>b{font-size:13px;color:#6c4a83}.ha-how321 ol{font-size:12px;color:#8c749a;line-height:2.2;padding-left:20px;margin:12px 0}.ha-how321 p{font-size:12px}.ha-context321 .ha-usage321{font-size:11px;padding:0 16px;color:#a08aaa}.ha-catalog-wrap321{padding:22px 28px;background:#fff;border:1px solid #e3d5ef;border-radius:24px}.ha-catalog-wrap321 .ha-catalog319{margin-top:0}.ha-catalog-wrap321 .ha-scenarios319{grid-template-columns:repeat(3,minmax(0,1fr));max-height:none}.ha-kaiwa321.ha-no-meaning321 .ha-translation307,.ha-kaiwa321.ha-no-meaning321 .ha-option-vi320{display:none}
@media(max-width:960px){.ha-session321{grid-template-columns:minmax(0,1fr)}.ha-context321{position:static;order:-1}.ha-how321,.ha-context321 .ha-usage321{display:none}.ha-context321 summary{padding:12px 16px}.ha-session-head321{align-items:flex-start;gap:12px}.ha-session-actions321{justify-content:flex-end}.ha-catalog-wrap321 .ha-scenarios319{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ha-kaiwa321{margin-top:4px}.ha-session-head321{flex-direction:column;margin-bottom:14px}.ha-session-actions321{justify-content:flex-start}.ha-session-head321 h1{font-size:23px}.ha-session321{gap:12px}.ha-conversation321{border-radius:18px}.ha-chat-head321{padding:12px;gap:10px}.ha-face321{width:46px;height:46px}.ha-chat-head321 strong{font-size:16px}.ha-chat-head321 span{font-size:10px}.ha-chat-head321>button{font-size:10px;padding:7px}.ha-kaiwa321 .ha-log307{padding:14px;max-height:40dvh;min-height:170px}.ha-kaiwa321 .ha-next307{padding:12px 14px}.ha-kaiwa321 .ha-next307 p[lang=ja]{font-size:19px}.ha-kaiwa321 .ha-student307 p{font-size:16px}.ha-response321{padding:0 12px 12px}.ha-kaiwa321 .ha-options320{grid-template-columns:1fr}.ha-kaiwa321 .ha-option320{padding:11px}.ha-kaiwa321 .ha-option-actions320{justify-content:flex-end}.ha-kaiwa321 .ha-option-actions320 button{flex:0 1 auto;min-height:38px}.ha-kaiwa321 .ha-compose321{padding:12px 12px max(10px,env(safe-area-inset-bottom))}.ha-catalog-wrap321{padding:14px}.ha-catalog-wrap321 .ha-scenarios319{grid-template-columns:1fr}.ha-context-body321{padding-bottom:12px}}

.fc-example252 mark{background:#efe2ff;color:#663d94;font-weight:750;padding:2px 4px;border-radius:4px}.ha-hint312{padding:12px 0}.ha-hint312 details{margin:10px 0;padding:12px;background:#fff;border:1px solid #e1d6ee;border-radius:12px}.ha-hint312 summary{cursor:pointer;font-weight:650;color:#694392}.ha-hint312 [lang=ja]{font-size:19px}#hana-launch312{position:fixed;right:22px;bottom:24px;z-index:70;border:1px solid #d6c1ec;border-radius:40px;background:#fff;box-shadow:0 4px 25px #36234020;padding:5px 16px 5px 5px;display:flex;align-items:center;gap:9px;font:600 14px system-ui;color:#67418c;cursor:pointer}#hana-launch312 img{width:47px;height:47px;border-radius:50%;object-fit:cover;object-position:50% 20%}#hana-dock312{position:fixed;right:22px;bottom:92px;z-index:71;width:min(390px,calc(100vw - 28px));max-height:74dvh;background:#fffcff;border:1px solid #dfd1ed;border-radius:20px;box-shadow:0 12px 50px #39244c30;overflow:hidden;color:#372d40}.hd-head312{display:flex;gap:12px;padding:16px;align-items:center;background:#f2eafa;border-bottom:1px solid #dfd1ed}.hd-head312 img{width:48px;height:48px;object-fit:cover;object-position:50% 20%;border-radius:50%}.hd-head312>div{flex:1}.hd-head312 small{display:block;font-size:11px;margin-top:3px}.hd-body312{max-height:calc(74dvh - 90px);overflow:auto;padding:18px;overscroll-behavior:contain}.hd-body312 p{white-space:pre-wrap;font-size:14px;line-height:1.65}.hd-body312 textarea{width:100%}.hd-quick312{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.hd-quick312 button{font-size:12px}#hana-selection312{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);z-index:72;box-shadow:0 4px 20px #39244c30;max-width:90vw}#hana-launch312[hidden],#hana-dock312[hidden],#hana-selection312[hidden]{display:none!important}.study312{max-width:1250px;margin:0 auto;padding-bottom:90px;color:#362c40}.s312-heading{margin:20px 0 30px}.s312-heading h1{font-size:clamp(28px,4vw,42px);margin:12px 0}.s312-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.7fr);gap:24px;align-items:start}.study312 .panel{background:#fffdff;border:1px solid #e5ddec;border-radius:20px;padding:24px}.study312 label{display:block;font-size:13px;margin:12px 0 6px}.study312 select,.study312 textarea{display:block;width:100%;padding:11px;border:1px solid #d7cae2;border-radius:10px;background:#fff;color:#382d40;font:inherit}.study312 textarea{line-height:1.8;resize:vertical}.study312 p{line-height:1.8}.s312-library{display:grid;gap:8px;max-height:400px;overflow:auto}.s312-library button{text-align:left;overflow-wrap:anywhere}.s312-library small{display:block;font-size:11px}.s312-empty{min-height:340px;display:grid;align-content:center;text-align:center}.s312-empty>span{font-size:50px;color:#9570b7}.s312-empty h2{font-size:24px}.s312-sentence{padding:20px 0;border-bottom:1px solid #e7dfef;transition:background .2s;scroll-margin-top:50px}.s312-jp{font-size:22px;line-height:2!important;margin:12px 0}.s312-sentence details{font-size:13px;color:#79658c}.s312-sentence summary{cursor:pointer}.s312-translation{color:#75647e;font-size:15px}.s312-playing,.s312-evidence{background:#f0e8fb;border-radius:12px;box-shadow:inset 3px 0 #8855bb;padding-left:14px;padding-right:14px}.s312-word{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid #e7dfef}.s312-word>div:first-child{flex:1}.s312-word h3{margin:6px 0;font-size:21px}.s312-word p{margin:4px 0}.s312-review{width:100%;background:#f8f4fb;padding:13px;border-radius:10px}.s312-review summary{cursor:pointer}.s312-analysis h2{font-size:27px;line-height:1.8}.s312-analysis h3{margin-top:28px}.s312-chunk{padding:14px;background:#f8f4fc;border-radius:12px;margin:12px 0}.s312-chunk b{font-size:20px}.s312-chunk small{margin-left:12px;color:#806590}.s312-chunk p{margin:7px 0}.s312-meaning{font-size:18px}.study312 fieldset{border:1px solid #e3d8ed;border-radius:14px;padding:18px;margin:24px 0}.study312 legend{padding:0 7px;font-weight:650}.study312 .s312-option{display:flex;align-items:flex-start;gap:10px;font-size:15px;padding:8px;border-radius:8px}.s312-option input{width:auto;flex:none;margin-top:5px}.s312-correct{background:#eaf5ed;padding:15px;border-radius:10px;color:#285d3c}.study312 .note{padding:14px;border-radius:10px;background:#f7efe3}.study312 .small{font-size:12px}.study312 button{white-space:normal}.study312 button:focus-visible,#hana-launch312:focus-visible{outline:3px solid #a683cb;outline-offset:3px}.study312 [hidden]{display:none!important}@media(max-width:850px){.s312-layout{grid-template-columns:1fr}.s312-library{max-height:180px}.study312 .panel{padding:20px}.s312-jp{font-size:20px}}@media(max-width:560px){#hana-launch312{right:14px;bottom:18px}#hana-dock312{right:14px;bottom:82px}.s312-layout{gap:12px}.study312 .panel{padding:17px}.study312 .row{gap:8px}.s312-word{gap:10px}.s312-chunk small{display:block;margin:5px 0}}
/* Hana 317: reuse the approved portrait crop; never shrink the whole mockup. */
.hana-avatar317{display:block;flex:none;width:64px;height:64px;border-radius:50%;background:#f7e8ff url('/art/hana-assistant307.png') 14% 29%/600% auto no-repeat;border:3px solid #fff;box-shadow:0 2px 12px #23114424}
#hana-launch312{right:24px;top:clamp(100px,28vh,260px);bottom:auto;padding:8px 19px 8px 8px;border:2px solid #fff;background:#542c91;color:#fff;box-shadow:0 7px 28px #41246b45;font-size:16px;gap:12px;z-index:70}#hana-launch312 .hana-avatar317{width:72px;height:72px}#hana-dock312{right:24px;top:clamp(94px,18vh,160px);bottom:auto;width:min(410px,calc(100vw - 28px));max-height:calc(100dvh - 118px)}.hd-head312{background:#542c91;color:#fff;padding:12px 16px}.hd-head312 .textbutton{color:#fff;font-size:26px}.hd-head312 .hana-avatar317{width:52px;height:52px}.hd-body312{max-height:calc(100dvh - 220px);padding:18px}.hd-quick317,.ha-quick317{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.hd-quick317 button{font-size:12px;border-radius:24px;background:#fff!important;color:#542c91!important;border-color:#b89cd5!important}.hd-body312 form{margin-top:24px}.hd-body312 textarea{background:#fff;border:1px solid #c9b4df;border-radius:12px;padding:10px}
.s317-flow{display:flex;flex-wrap:wrap;gap:14px;color:#69537d;font-size:14px}.s317-flow span{color:#b29bc6}.study312{max-width:1100px}.s312-layout{grid-template-columns:1fr;gap:20px}.s312-layout>aside{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:20px;align-items:start}.s312-layout>aside h2{font-size:21px}.s312-layout>aside .panel{margin:0}.study312 textarea{max-height:200px}#study-form312{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}#study-form312>label:nth-of-type(n+3),#study-form312>textarea,#study-form312>p,#study-form312>button{grid-column:1/-1}.s312-library{max-height:320px}#study-result312{display:grid;gap:20px;min-width:0}.s312-sentence{position:relative;padding:24px 12px}.s312-sentence .tag{background:#f0e8f9}.s317-inline{margin-top:16px}.s317-inline .panel{background:#f8f4fc;border:1px solid #ded0ec;padding:20px;box-shadow:none}.s317-inline .s312-analysis h2{font-size:20px}.s317-inline .s312-analysis h3{font-size:17px;margin-top:18px}.s317-inline .s312-chunk{background:#fff}.s312-jp{font-size:23px;line-height:2}.s312-translation{color:#5e526a}.s312-heading{margin-bottom:20px}.s312-empty{min-height:200px}
@media(max-width:700px){#hana-launch312{top:110px;right:12px;padding:5px 10px 5px 5px;font-size:13px;gap:7px}#hana-launch312 .hana-avatar317{width:52px;height:52px}#hana-dock312{top:92px;right:12px;max-height:calc(100dvh - 110px)}.s312-layout>aside{grid-template-columns:1fr}.s312-layout>aside>section:nth-child(2){max-height:220px;overflow:auto}.s312-jp{font-size:20px}.s317-flow{gap:7px;font-size:12px}.hd-body312{max-height:calc(100dvh - 194px)}}

.sound313{max-width:1100px;margin:16px auto}.sound313 input{width:100%;margin:10px 0;padding:12px}.sound313-group{border:1px solid #c9dcd5;border-radius:12px;padding:14px;margin:12px 0;background:#f7fbf8;color:#173a31}.sound313-group summary{cursor:pointer;font-weight:700;line-height:1.6}.sound313-group p{line-height:1.7}.sound313-table{overflow-x:auto}.sound313-table table{width:100%;border-collapse:collapse;min-width:570px}.sound313-table th,.sound313-table td{padding:12px 10px;border-bottom:1px solid #d7e4de;text-align:left}.sound313-table td:first-child{font-size:1.6rem}.sound313-table th{background:#e7f0eb}#sound-tab313{white-space:normal}#missions30,.mission-status41,[data-game-group41] .mission-list30{display:none!important}

.sound314{--s-ink:#233e35;--s-green:#245b49;--s-soft:#edf5ef;--s-line:#d5e3d9;color:var(--s-ink);font-size:16px;line-height:1.75;text-align:left;min-width:0}.sound314 *{box-sizing:border-box}.sound314-page{max-width:1100px;margin:20px auto}.sound314 h3{font-size:1.5rem;line-height:1.4;margin:10px 0}.sound314 h4{font-size:1.2rem;margin:0 0 12px}.sound314 p{margin:10px 0}.sound314-eyebrow{font-size:.78rem;font-weight:750;letter-spacing:.08em;color:#577365}.sound314-lead{padding:20px;background:var(--s-soft);border-radius:16px}.sound314-steps{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:10px;margin:20px 0}.sound314-steps>div{padding:14px;background:#fff;border-radius:10px;border:1px solid var(--s-line)}.sound314-steps b,.sound314-steps span{display:block}.sound314-steps span{margin-top:6px}.sound314-limit{font-size:.94rem;border-left:3px solid var(--s-green);padding-left:12px}.sound314-length{padding:22px 0;border-bottom:1px solid var(--s-line)}.sound314-longcards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0}.sound314-longcards>div{display:grid;text-align:center;padding:14px;border:1px solid var(--s-line);border-radius:10px}.sound314-longcards strong{font-size:2rem}.sound314-longcards b{font-size:1.3rem}.sound314 mark{background:#fae6b0;padding:0 3px;color:#513805}.sound314-controls{padding:22px 0}.sound314-controls label{display:block;font-weight:650}.sound314 input{display:block;width:100%;font:inherit;padding:12px;margin:8px 0 14px;border:1px solid #9ab5a6;border-radius:9px;background:#fff;color:var(--s-ink)}.sound314-tabs,.sound314-actions{display:flex;flex-wrap:wrap;gap:8px}.sound314 button{font:inherit;font-size:.94rem;cursor:pointer;border:1px solid #adc5b7;background:#fff;color:var(--s-ink);padding:8px 14px;border-radius:9px;min-height:44px;white-space:normal}.sound314 button[aria-pressed=true]{background:var(--s-green);color:#fff}.sound314 button:focus-visible,.sound314 summary:focus-visible{outline:3px solid #bd7d30;outline-offset:3px}.sound314-actions{margin-top:10px}.sound314-actions button{border:0;text-decoration:underline;background:transparent;padding:5px}.sound314-category>h4{border-bottom:2px solid var(--s-line);padding-bottom:12px;margin-top:22px}.sound314-category>h4 span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--s-green);color:#fff}.sound314 .sound314-group{background:#fff;border:1px solid var(--s-line);border-radius:12px;margin:16px 0;padding:0;color:var(--s-ink)}.sound314-group>summary{padding:18px;cursor:pointer;font-weight:750;font-size:1.08rem;background:#f3f8f4;border-radius:12px}.sound314-group>summary span{margin-right:10px}.sound314-group>summary small{display:block;font-size:.95rem;color:#30644e;font-weight:550;margin:4px 0 0 20px}.sound314-cue{padding:4px 20px}.sound314-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 18px 16px}.sound314-example{border:1px solid var(--s-line);border-radius:10px;overflow:hidden;background:#fff;min-width:0}.sound314-convert{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#f6faf7}.sound314-convert>div{display:flex;flex-direction:column;min-width:0}.sound314-convert small{font-size:.76rem;color:#64786d}.sound314-convert b{font-size:.85rem;letter-spacing:.03em}.sound314-convert strong{font-size:1.7rem;font-weight:650}.sound314-convert>span{font-size:1.4rem;color:#829989}.sound314-word{padding:12px 16px}.sound314-word small{display:block;font-size:.78rem;color:#64786d}.sound314-word>b{font-size:1.3rem;margin-right:12px}.sound314-word>span{color:#31654d}.sound314-word p{margin:2px 0;font-size:.94rem}.sound314-note{margin:0 18px 18px!important;background:#fff8e8;border-radius:8px;padding:12px}.sound314-note summary{font-size:.94rem;cursor:pointer;font-weight:650}.sound314-note p{font-size:.94rem}.sound314-pitfalls{margin-top:24px;padding:20px;background:#edf3f7;border-radius:12px}.sound314-pitfalls .sound314-examples{grid-template-columns:repeat(3,minmax(0,1fr));padding:0;gap:16px}.sound314-pitfalls article{background:white;border-radius:10px;padding:14px}.sound314-pitfalls details,.sound314-length details{padding:12px;border:1px solid var(--s-line);border-radius:8px;background:white;margin-top:12px}.sound314 summary{cursor:pointer}.sound314-sources{margin-top:22px;font-size:.9rem}.sound314 [hidden]{display:none!important}.sound314 li{margin:9px 0}.sound314 a{color:#245b49;text-decoration:underline}.sound314-page>h1{font-size:clamp(1.6rem,4vw,2.15rem)}@media(max-width:640px){.sound314-lead{padding:14px}.sound314-steps{grid-template-columns:1fr}.sound314-longcards{grid-template-columns:repeat(2,1fr)}.sound314-examples,.sound314-pitfalls .sound314-examples{grid-template-columns:1fr}.sound314-group>summary{padding:14px}.sound314-examples{padding:0 12px 12px}.sound314-pitfalls{padding:14px}.sound314-convert strong{font-size:1.6rem}.sound314 button{flex:1 0 auto}}

.sound314-combine{margin:24px 0;padding:20px;border:1px solid #b8d8c8;border-radius:16px;background:#f3faf6}.sound314-combine h5{font-size:1.1rem;margin:0 0 12px}.sound314-combine ol{padding-left:22px;line-height:1.8}.sound314-combine .sound314-example{display:block}
.sound315-lookup{padding:22px;background:var(--s-soft);border:1px solid var(--s-line);border-radius:16px}.sound315-lookup form{display:flex;align-items:flex-end;gap:12px}.sound315-lookup label{flex:1;font-weight:700}.sound315-lookup input{margin-bottom:0}.sound315-lookup form>button{background:var(--s-green);color:white;min-height:52px}.sound315-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0}.sound315-result{background:white;border:1px solid var(--s-line);padding:16px;border-radius:12px;overflow-wrap:anywhere}.sound315-lookup .sound314-examples{padding:0}.sound314-combine .sound314-example{padding:16px}@media(max-width:640px){.sound315-lookup{padding:14px}.sound315-lookup form{display:block}.sound315-lookup form>button{width:100%;margin-top:10px}}
.sound315-result{min-width:0;overflow-wrap:anywhere}.sound315-result h4{font-size:1.15rem}.sound315-result h5{font-size:1.3rem;margin:12px 0;color:#236550}.sound316-warning{padding:12px;background:#fff4d7;color:#684600;border-radius:10px}.sound316-combination{padding:12px;background:#eaf5ee;border-left:3px solid #28765b}.sound315-lookup input{min-width:0;max-width:100%}

.lv-entry327{min-height:44px;white-space:nowrap}
.lv-dialog327{width:min(820px,calc(100vw - 24px));max-height:92svh;padding:0;border:2px solid #c9a451;border-radius:20px;background:#fffaf0;color:#183f35;box-sizing:border-box;box-shadow:0 24px 80px #062b3355}
.lv-dialog327[open]{display:flex;flex-direction:column}.lv-dialog327::backdrop{background:#0a202cc9;backdrop-filter:blur(3px)}
.lv-header327{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-shrink:0;padding:18px 24px;border-bottom:1px solid #d8c99e;background:#f4efdf}.lv-header327 h2{font-size:23px;margin:8px 0 0}.lv-header327>button{min-height:44px;white-space:nowrap}
.lv-body327{padding:22px 24px;overflow:auto;overscroll-behavior:contain;min-height:0}.lv-body327 button{font-family:inherit;cursor:pointer;min-height:44px}.lv-body327 button:disabled{cursor:default;opacity:.55}.lv-body327 button:focus-visible,.lv-body327 input:focus-visible{outline:3px solid #a47820;outline-offset:3px}
.lv-counter327{font-size:14px;font-weight:700;margin:0 0 14px}.lv-flip327{perspective:1300px;height:clamp(300px,48svh,440px);margin:16px 0;color:#183f35;text-align:center}
.lv-flip-inner327{height:100%;display:grid;transform-style:preserve-3d;transition:transform .48s ease}.lv-flip327.is-flipped .lv-flip-inner327{transform:rotateY(180deg)}
.lv-face327{grid-area:1/1;min-height:0;min-width:0;box-sizing:border-box;padding:28px;border:2px solid #bfa258;border-radius:18px;background:linear-gradient(145deg,#fffdf7,#f5efd9);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow-y:auto;overflow-wrap:anywhere;display:flex;flex-direction:column;align-items:center;gap:12px}
.lv-front327{justify-content:center}.lv-back327{transform:rotateY(180deg);background:linear-gradient(145deg,#f1faf3,#e2f0e8)}.lv-face327 h3{font-size:clamp(28px,5vw,46px);line-height:1.5;margin:0;font-weight:700;color:#174b3a}.lv-face327 p{margin:0;line-height:1.7}.lv-face327 .lv-reading327{font-size:21px;color:#275c74}.lv-meaning327{font-weight:700;font-size:21px}.lv-example327{padding:14px 16px;border-radius:10px;background:#ffffffc9;width:100%;box-sizing:border-box;text-align:left;line-height:1.8}.lv-example327 p{margin:8px 0}.lv-note327{white-space:pre-line;text-align:left;width:100%;font-size:15px}
.lv-turn327{width:100%;min-height:48px;margin:10px 0!important}.lv-nav327{display:flex;gap:12px;justify-content:space-between;margin:12px 0 18px}.lv-nav327>button{flex:1}.lv-test-modes327,.lv-options327{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.lv-test-modes327>button,.lv-options327>button{padding:16px;min-height:64px;text-align:left;white-space:normal;line-height:1.5}.lv-test-word327{font-size:clamp(30px,6vw,48px);text-align:center;margin:16px 0;color:#184c3c;line-height:1.6}.lv-body327 form{display:grid;gap:14px}.lv-body327 input[type=text]{width:100%;box-sizing:border-box;padding:14px;border:2px solid #9cad9d;border-radius:10px;line-height:1.5;font-family:inherit;font-size:20px;background:white;color:#163f33}.lv-feedback327{border-radius:12px;border:1px solid;padding:16px;margin:16px 0;line-height:1.7}.lv-body327 .lv-correct327{background:#e1f4e4;border-color:#318054;color:#164d2a}.lv-incorrect327{background:#fff0df;border-color:#b67532;color:#743a12}.lv-result-actions327{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.lv-results327{margin-top:20px}.lv-results327 article{padding:14px 0;border-bottom:1px solid #d6dfd0}.lv-results327 p{margin:6px 0}
@media(max-width:600px){.lv-header327{padding:14px}.lv-header327 h2{font-size:20px}.lv-body327{padding:16px 14px}.lv-face327{padding:22px 16px}.lv-test-modes327,.lv-options327{grid-template-columns:1fr}.lv-flip327{height:clamp(300px,47svh,390px)}.lv-result-actions327>button{width:100%}.lv-nav327{gap:8px}}
@media(prefers-reduced-motion:reduce){.lv-flip-inner327{transition:none}}

/* Owner-scoped styles: approved ivory / emerald / gold design on both screens. */
body.journey-owner328{background:#f8f5ed;color:#183832}body.journey-owner328 .shell>header{background:#faf8f2;color:#183832}body.journey-owner328 .sidebar{background:linear-gradient(165deg,#073e35,#062e2a);color:#fff5dc}body.journey-owner328 .sidebar .nav-label,body.journey-owner328 .sidebar-bottom{color:#c8d9d0}body.journey-owner328 .sidebar nav button,body.journey-owner328 .sidebar nav a{color:#e2ece5}body.journey-owner328 .sidebar nav .active{background:#21594c;color:#ffdfa0;border-color:#dab467}body.journey-owner328 #main{background:transparent}.j328{--ink:#153d35;--muted:#526b62;--green:#0c4c3e;--gold:#e4bc6a;max-width:1320px;color:var(--ink);font-family:inherit;padding:14px 0 32px}.j328 *{box-sizing:border-box}.j328 button,.j328 select{font:inherit}.j328 .button,.j328-studybar .button,body.journey-owner328 .j-bar306 .button{background:linear-gradient(120deg,#f4d491,#d8ae5b);color:#263421;border:1px solid #bb923f;box-shadow:0 3px 10px #533a0910;border-radius:10px;min-height:44px;font-weight:700}.j328 .secondary,.j328-studybar .secondary{background:#fffdf7;color:var(--ink,#153d35);border:1px solid #d8d7c9;border-radius:9px;min-height:44px}.j328 .textbutton,.j328-studybar .textbutton{color:#286557}.j328 button{cursor:pointer}.j328 button:disabled{opacity:.48;cursor:default}.j328 button:focus-visible,.j328 summary:focus-visible,.j328 select:focus-visible,.j328-studybar button:focus-visible{outline:3px solid #b18429;outline-offset:3px}.j328 h1,.j328 h2,.j328 h3{color:var(--ink);letter-spacing:-.025em}.j328 h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(29px,3.5vw,46px);line-height:1.15;margin:0 0 10px}.j328 h2{font-size:23px;margin:0 0 18px}.j328 h3{font-size:18px;margin:0}.j328 p{line-height:1.6}.j328-top,.j328-heading,.j328-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.j328-top{font-size:11px;letter-spacing:1.4px;margin-bottom:24px;color:#466c60}.j328-heading{margin:0 0 20px}.j328-heading p{margin:0;color:var(--muted)}.j328-controls{margin-bottom:18px}.j328-select{font-size:12px;color:var(--muted);display:flex;gap:12px;align-items:center}.j328-select select{max-width:100%;min-height:42px;background:#fffdf7;border:1px solid #d6d8ca;color:var(--ink);border-radius:8px;padding:8px 28px 8px 12px}.j328-hero{display:grid;grid-template-columns:1.1fr 145px 1.35fr auto;align-items:center;gap:24px;padding:30px;border-radius:16px;background:radial-gradient(ellipse at top left,#175e4d,transparent 60%),linear-gradient(120deg,#094337,#032f29);color:#fff9e8;border:1px solid #226955;margin-bottom:20px}.j328-hero h2{font:700 clamp(23px,2.5vw,34px) Georgia,serif;color:#fff9e8;margin:12px 0}.j328-eyebrow{font-size:11px;letter-spacing:2px;color:#f3d38c}.j328-ring{height:145px;width:145px;padding:11px;border-radius:50%;background:conic-gradient(#f0c66f var(--j328-p),#367064 0)}.j328-ring>div{height:100%;border-radius:50%;background:#0a4237;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8px}.j328-ring strong{font-size:36px;line-height:1.1}.j328-ring span{font-size:11px;margin-top:8px}.j328-hero-progress{min-width:0}.j328-hero-progress p{font-size:15px;margin:0 0 14px}.j328-hero-progress small{display:block;margin-top:15px;line-height:1.7;color:#d8e6dc}.j328 progress{display:block;appearance:none;width:100%;height:10px;border:0;border-radius:12px;overflow:hidden;background:#e6e7dd}.j328 progress::-webkit-progress-bar{background:#e6e7dd;border-radius:12px}.j328 progress::-webkit-progress-value{background:linear-gradient(90deg,#469782,#1d7656);border-radius:12px}.j328 progress::-moz-progress-bar{background:#258569;border-radius:12px}.j328-hero progress{height:14px;background:#3f6a5c}.j328-hero progress::-webkit-progress-bar{background:#3f6a5c}.j328-hero progress::-webkit-progress-value{background:linear-gradient(90deg,#ffe2a0,#dcae4d)}.j328-hero progress::-moz-progress-bar{background:#e7be66}.j328-hero-actions{display:grid;gap:12px}.j328-hero-actions .secondary{border-color:#e3c478;background:transparent;color:#fff5df}.j328-hero-actions button{white-space:nowrap;padding:12px 20px}.j328-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.j328-metric{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:22px 17px;background:#fffdf8;border:1px solid #e4e1d5;border-radius:14px;box-shadow:0 4px 15px #23472b04}.j328-icon{height:42px;width:42px;border-radius:50%;display:grid;place-items:center;background:#e6efe3;color:#285a49;font-size:25px}.j328-metric h2{font-size:12px;letter-spacing:.3px;margin:3px 0 10px}.j328-metric p{margin:0;color:#49675b;font-size:13px}.j328-metric .j328-count{font-size:18px;color:var(--ink);white-space:nowrap;line-height:1.4}.j328-count strong{font-size:30px}.j328-count small{font-size:12px}.j328-metric-foot{grid-column:1/-1;align-self:end}.j328-metric-foot>small{display:block;font-size:12px;color:var(--muted);margin:8px 0 12px}.j328-metric-foot>div{display:flex;align-items:center;gap:10px}.j328-metric-foot b{font-size:12px}.j328-columns{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:22px;align-items:start}.j328-columns.overview{grid-template-columns:1.2fr 1fr}.j328-panel{border:1px solid #deded0;border-radius:14px;background:#fffdf7;padding:24px;margin-bottom:20px}.j328-review{border-color:#edd6a6;background:#fffaf0}.j328-review-row{display:flex;gap:15px;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #eadfc6}.j328-review-row p{font-size:14px;margin:6px 0 0;overflow-wrap:anywhere}.j328-review-row strong{font-size:14px}.j328-review-row button{flex-shrink:0;padding:8px 12px}.j328-note{font-size:12px!important;line-height:1.75;color:#617166;margin:15px 0 0}.j328-next{padding:20px;background:#f2efdf;border-radius:10px}.j328-next>span{font-size:12px}.j328-next h3{margin-top:8px}.j328-next .button{width:100%;margin-top:8px}.j328-filters{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.j328-filters button{padding:9px 20px}.j328-filters .button{background:#124c3d;color:#fff8e9;border-color:#124c3d}.j328-lessons>h2{font-family:Georgia,serif;font-size:28px;margin:0 0 18px}.j328-lesson{background:#fffdf8;border:1px solid #deded2;border-radius:12px;margin-bottom:14px;overflow:hidden}.j328-lesson.current{border-color:#c8a352;box-shadow:0 2px 12px #c7a24a0b}.j328-lesson summary{display:flex;align-items:center;gap:12px;list-style:none;padding:18px;cursor:pointer}.j328-lesson summary::-webkit-details-marker{display:none}.j328-lesson summary>div:nth-child(2){flex:1;min-width:0}.j328-lesson summary p{font-size:12px;color:var(--muted);margin:7px 0 0}.j328-lesson-num{flex:0 0 30px;width:30px;height:30px;border:1px solid #c9cbbb;border-radius:50%;display:grid;place-items:center;font-size:17px;color:#416450}.j328-lesson[open] .j328-lesson-num{background:#bd9847;border-color:#bd9847;color:white}.j328-lesson-progress{width:140px;flex-shrink:0}.j328-lesson-progress>span{display:block;font-size:11px;margin-bottom:8px}.j328-badge{display:inline-block;padding:5px 9px;background:#edf0e7;color:#4f675a;border-radius:20px;font-size:10px;letter-spacing:0;font-family:inherit;font-weight:500;vertical-align:middle;line-height:1.5}.j328-badge.done{background:#dff1de;color:#28623d}.j328-task .j328-badge{margin-top:7px}.j328-tasks{padding:0 18px 16px}.j328-task{display:flex;align-items:flex-start;gap:12px;padding:16px 0;border-top:1px solid #e7e4d9}.j328-task>div:nth-child(2){flex:1;min-width:0}.j328-task strong{display:block;font-size:14px}.j328-task small{display:block;font-size:12px;color:var(--muted);margin-top:6px}.j328-check{display:grid;place-items:center;width:23px;height:23px;flex-shrink:0;color:#81917d;font-size:20px}.j328-task.is-done .j328-check{background:#2f8b51;border-radius:50%;color:white;font-size:13px}.j328-task-actions{display:grid;justify-items:end;gap:5px}.j328-task-actions button{font-size:12px;padding:8px 12px}.j328-task-actions .textbutton{font-size:10px;padding:6px 2px}.j328-amber{color:#9a651c!important}.j328 .panel{background:#fffdf7;border-color:#deded0}.j328 .j-preview305,.j328 .j-metrics305>div{background:#fffdf7;border-color:#deded0}.j328 .j-metrics305 strong{color:#235746}.j328-studybar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;max-width:1320px;margin:14px auto;padding:16px 20px;background:#f2f6e9;border:1px solid #ceddc0;border-radius:12px;color:#244e3d}.j328-studybar>div:first-child{display:grid;gap:5px}.j328-studybar small{font-size:10px;letter-spacing:1px}.j328-studybar span{font-size:12px}.j328-studybar>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.j328-studybar button{padding:8px 12px}.j328 .j328-hero .button{color:#263421}
@media(max-width:1200px){.j328-hero{grid-template-columns:1fr 125px 1.2fr;gap:18px;padding:24px}.j328-ring{width:125px;height:125px}.j328-hero-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.j328-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.j328-columns{grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr)}.j328-lesson-progress{width:110px}.j328-task-actions{max-width:120px}}
@media(max-width:850px){.j328-columns,.j328-columns.overview{grid-template-columns:1fr}.j328-columns>aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}.j328-task-actions{max-width:none}.j328-hero-progress{grid-column:1/-1}.j328-hero{grid-template-columns:1fr 125px}.j328-hero-actions{justify-content:stretch}.j328-hero-actions button{flex:1}.j328-heading{align-items:flex-start}.j328-heading>button{flex-shrink:0}}
@media(max-width:520px){.j328{padding-top:8px}.j328-top{letter-spacing:.5px;font-size:10px;gap:8px}.j328-heading,.j328-controls{align-items:flex-start;flex-direction:column;gap:12px}.j328-select{display:grid;gap:6px;width:100%}.j328-select select{width:100%}.j328-hero{gap:16px;padding:20px}.j328-hero h2{font-size:24px}.j328-ring{width:105px;height:105px;padding:8px}.j328-ring strong{font-size:29px}.j328-ring span{font-size:10px}.j328-hero-actions{flex-direction:column}.j328-metrics{gap:9px}.j328-metric{padding:16px 11px;grid-template-columns:1fr;gap:9px}.j328-icon{width:34px;height:34px;font-size:21px}.j328-count strong{font-size:27px}.j328-metric .j328-count{font-size:16px}.j328-metric h2{font-size:10px}.j328-metric-foot>small{font-size:10px;min-height:30px}.j328-columns>aside{display:block}.j328-panel{padding:19px}.j328-filters{gap:7px}.j328-filters button{padding:9px 12px;font-size:12px}.j328-lesson summary{flex-wrap:wrap;padding:15px;gap:10px}.j328-lesson-progress{margin-left:40px;flex:1;width:auto;min-width:120px}.j328-task{flex-wrap:wrap}.j328-task-actions{width:100%;display:flex;align-items:center;justify-content:flex-end}.j328-task-actions .textbutton{font-size:12px}.j328-studybar{margin:10px 0;padding:14px}.j328-studybar>div:last-child{width:100%}.j328-studybar button{flex:1;min-height:44px}.j328-review-row{gap:10px}.j328-review-row strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.j328 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.j-bar306.j328-bar{background:#f2f6e9;border-color:#ceddc0;color:#244e3d}.j328-bar .button{background:linear-gradient(120deg,#f4d491,#d8ae5b);border:1px solid #bb923f;color:#263421;border-radius:10px}.j328-bar .secondary{background:#fffdf7;color:#244e3d;border-color:#d8d7c9}
/* 329: one calm visual hierarchy for overview, whole-stage and plan form. */
body.journey-owner328{--ink:#183d34;--muted:#607568;--line:#dfe6dc;--green:#255e48;--dark:#123d32;background:radial-gradient(ellipse at 92% 0,#f4ecd5 0,transparent 38%),#f7f8f1}body.journey-owner328 .shell>header{background:#fbfcf7;border-color:#e0e6dc}body.journey-owner328 .save-status16{color:#697b6e;background:#eff3e9;border-color:#e0e6dc}body.journey-owner328 .sidebar{background:linear-gradient(165deg,#164e40 0,#0a352f 65%,#082c27 100%)}body.journey-owner328 .sidebar nav a.active{background:#e8efdf;color:#193f32;border-left:3px solid #d9b665;box-shadow:0 3px 12px #05251c20}body.journey-owner328 .sidebar nav a:not(.active):hover{background:#ffffff12}.j328{max-width:1240px;--ink:#1b4034;--muted:#627468;--green:#2b6a50}.j328-top{margin-bottom:28px;font-weight:600;font-size:10px;letter-spacing:1.8px}.j328-top .j328-badge{padding:7px 12px;border:1px solid #d7e1d2;background:#edf4e7;color:#487054;font-size:10px}.j328 h1{font-size:clamp(29px,3vw,42px);letter-spacing:-.035em}.j328-heading{margin-bottom:24px}.j328-heading p{font-size:14px;line-height:1.8}.j328-controls{padding:14px 18px;margin-bottom:20px;background:#ffffff8c;border:1px solid #e0e6da;border-radius:13px}.j328-select{font-size:11px;font-weight:600;gap:14px}.j328-select select{background:#fffef9;border-color:#d6dfd0;font-size:13px;min-width:250px;box-shadow:0 1px 4px #163d1c05}.j328-controls>.textbutton{font-size:12px;color:#52715c}.j328-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 150px 190px;grid-template-areas:'heading ring actions' 'progress ring actions';gap:16px 32px;padding:32px 34px;margin-bottom:24px;border:1px solid #2b6a52;border-radius:22px;background:radial-gradient(ellipse at top left,#286e54,transparent 62%),linear-gradient(120deg,#164e3e,#0b372f);box-shadow:0 12px 32px #143f3014}.j328-hero::after{content:'';position:absolute;z-index:-1;width:310px;height:310px;right:-155px;bottom:-200px;border:1px solid #b4c5a82b;border-radius:50%;box-shadow:0 0 0 25px #b4c5a808,0 0 0 55px #b4c5a806;pointer-events:none}.j328-hero>div:first-child{grid-area:heading}.j328-hero .j328-ring{grid-area:ring;width:150px;height:150px;padding:10px;background:conic-gradient(#f3d390 var(--j328-p),#ffffff18 0);box-shadow:0 0 0 1px #ffffff12,0 8px 25px #08291f30}.j328-ring>div{background:#164e3e}.j328-ring strong{font-size:37px;letter-spacing:-1px}.j328-ring span{color:#e4ecdf;font-size:11px;max-width:85px;line-height:1.5}.j328-hero h2{font-size:clamp(24px,2.5vw,32px);margin:12px 0 0}.j328-eyebrow{font-size:10px;letter-spacing:2px;color:#ebd398}.j328-hero-progress{grid-area:progress}.j328-hero-progress p{font-size:13px;margin:0 0 10px;color:#e1ece0}.j328-hero-progress p strong{font-size:17px;color:#fff9e8}.j328-hero-progress progress{height:8px}.j328-hero-progress small{font-size:11px;line-height:1.9;margin-top:12px;color:#c7dbca}.j328-hero-actions{grid-area:actions;display:grid;gap:12px;align-content:center}.j328-hero-actions button{font-size:13px;padding:14px 16px;min-height:48px;white-space:normal;border-radius:11px}.j328 .button{background:linear-gradient(115deg,#f0d399,#dcb66d);border-color:#c6a25b;box-shadow:0 3px 8px #7756210a}.j328 .button:hover{background:linear-gradient(115deg,#f6dcaa,#e7c37e)}.j328 .secondary:hover{background:#f2f6ec;border-color:#b9cfba}.j328-hero .secondary{border:1px solid #aec8b077;background:#ffffff08;color:#edf5e7}.j328-hero .secondary:hover{background:#ffffff12;color:#fff;border-color:#c6d8bb}.j328-metrics{gap:16px;margin-bottom:24px}.j328-metric{padding:24px 20px;gap:14px;border:1px solid #dfe6d8;border-radius:17px;background:linear-gradient(150deg,#fffefb,#fafcf6);box-shadow:0 4px 18px #163d1c04;grid-template-columns:42px minmax(0,1fr)}.j328-icon{background:#e4efe2;border:1px solid #d6e6d2;border-radius:12px;color:#3b7556}.j328-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.j328-metric:nth-child(2) .j328-icon{background:#e6efed;border-color:#d5e4dd;color:#3c7265}.j328-metric:nth-child(3) .j328-icon{background:#f2ecdc;border-color:#e8dec4;color:#907039}.j328-metric:nth-child(4) .j328-icon{background:#e8edf0;border-color:#dce3e5;color:#557788}.j328-metric h2{font-size:11px;line-height:1.7;letter-spacing:.6px;font-weight:700;margin:2px 0 7px;min-height:20px}.j328-metric .j328-count{font-size:17px;line-height:1.6;white-space:normal;font-variant-numeric:tabular-nums}.j328-count strong{font-size:32px;letter-spacing:-1px}.j328-metric-foot>small{font-size:11px;margin:3px 0 12px;min-height:18px}.j328-metric-foot progress{height:7px}.j328-metric-foot b{font-size:11px;min-width:30px;text-align:right}.j328-columns{gap:22px}.j328-panel{border:1px solid #e0e6d9;border-radius:17px;padding:25px;background:#fffef9;box-shadow:0 5px 20px #24442c03}.j328-panel h2{font:600 22px Georgia,'Times New Roman',serif;margin-bottom:14px;color:#244b3a}.j328-review{background:linear-gradient(140deg,#fffdf7,#fcf8eb);border-color:#e6dcc1}.j328-review-row{padding:16px 0;border-color:#e8e3d2}.j328-review-row strong{font-size:13px;font-weight:600}.j328-review-row p{font-size:15px;color:#405d4b;line-height:1.9}.j328-review-row .secondary{font-size:11px;min-height:40px;background:#fffef7;border-color:#ded7bf}.j328-next{border:1px solid #e3dec9;background:linear-gradient(135deg,#f6f1df,#f2f3e5);padding:22px;border-radius:13px}.j328-next h3{font-size:20px;line-height:1.6}.j328-next p{font-size:13px;color:#65745e}.j328-next .button{min-height:46px}.j328-note{font-size:11px!important;line-height:1.9}.j328-filters{gap:9px;margin:24px 0}.j328-filters button{border-radius:9px;font-size:12px;min-height:42px;padding:9px 18px}.j328-filters .button{background:#2b604a;color:#fff;border-color:#2b604a;box-shadow:0 3px 8px #17482e10}.j328-filters .button:hover{background:#1d4e3a}.j328-lessons>h2{font-size:26px;margin-bottom:20px}.j328-lesson{border-color:#dce4d5;border-radius:14px;margin-bottom:16px;box-shadow:0 3px 12px #17412603}.j328-lesson.current{border-color:#c3a660;box-shadow:0 5px 22px #b899440b}.j328-lesson summary{padding:21px 20px;gap:14px}.j328-lesson[open] summary{background:#fbfaf0;border-bottom:1px solid #ece6d3}.j328-lesson summary h3{font-size:19px;line-height:1.7}.j328-lesson summary p{line-height:1.8;font-size:11px}.j328-lesson .j328-badge{font-size:10px;padding:4px 9px;display:inline-block}.j328-lesson-num{background:#f5f8f0;border-color:#d3decb;color:#59704f;font-size:15px;width:32px;height:32px;flex-basis:32px}.j328-lesson[open] .j328-lesson-num{background:#bc9d54;border-color:#bc9d54}.j328-lesson-progress{width:138px}.j328-lesson-progress>span{font-size:10px;color:#68775e}.j328-lesson-progress progress{height:6px}.j328-tasks{padding:4px 22px 12px}.j328-task{padding:18px 0;border-color:#e7ebdf;gap:13px}.j328-task strong{font-size:13px;line-height:1.6}.j328-task small{font-size:11px;line-height:1.7}.j328-task .j328-badge.done{background:#e6f2df;color:#47733e;border:1px solid #d3e6c9}.j328-task-actions .secondary{padding:8px 16px;font-size:11px;min-width:78px}.j328-task-actions .textbutton{font-size:10px;color:#6a7e59}.j328 .j-form305,.j328 #j-form306{padding:28px;border-radius:18px;border-color:#dce4d4;background:#fffef9}.j328 .journey-grid304{gap:22px}.j328 .journey-grid304 label{font-size:12px;color:#54705a;font-weight:600}.j328 .journey-grid304 select,.j328 .journey-grid304 input{border-color:#d3dfcd;background:#fbfdf7;color:#294c39;padding:12px;font:inherit;border-radius:9px}.j328 .j-preview305{border-radius:20px;background:#fffef9}.j328 .j-metrics305>div{background:#eff5e8;border-color:#d9e5d2;border-radius:13px}.j328 .j-metrics305 span{color:#62795c}.j328 .j-warning306{background:#fff5dc;color:#7d6025;border:1px solid #efdfb5}.j328 details.j-goaldetails305{background:#fffef8}
@media(min-width:1400px){.j328-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.j328-hero{grid-template-columns:minmax(0,1fr) 130px;grid-template-areas:'heading ring' 'progress ring' 'actions actions';gap:18px 26px;padding:28px}.j328-hero .j328-ring{width:130px;height:130px}.j328-hero-actions{display:flex;justify-content:flex-start}.j328-hero-actions button{min-width:165px}.j328-columns{grid-template-columns:minmax(0,1.55fr) minmax(240px,1fr)}.j328-lesson summary{flex-wrap:wrap}.j328-lesson-progress{width:120px}.j328-task-actions{max-width:130px}.j328-metric{padding:21px 17px}}
@media(max-width:850px){.j328-columns,.j328-columns.overview{grid-template-columns:1fr}.j328-task-actions{max-width:none}.j328-hero-actions button{flex:0 1 200px}.j328 .journey-grid304{grid-template-columns:1fr 1fr}}
@media(max-width:520px){body.journey-owner328 #main{padding:20px 14px 40px}.j328-top{margin-bottom:22px;font-size:9px}.j328-top .j328-badge{font-size:9px;padding:6px 9px}.j328-controls{padding:13px;gap:10px}.j328-select{min-width:0}.j328-select select{min-width:0}.j328-hero{padding:22px 20px;border-radius:18px;gap:18px 12px;grid-template-columns:minmax(0,1fr) 102px;grid-template-areas:'heading ring' 'progress progress' 'actions actions'}.j328-hero .j328-ring{width:102px;height:102px;padding:7px}.j328-ring strong{font-size:28px}.j328-ring span{font-size:9px;max-width:70px;margin-top:5px}.j328-hero h2{font-size:24px;line-height:1.4}.j328-eyebrow{font-size:9px;letter-spacing:1.4px}.j328-hero-actions{flex-direction:column;gap:10px}.j328-hero-actions button{flex:auto;min-width:0;width:100%;min-height:46px}.j328-metrics{gap:11px}.j328-metric{padding:17px 13px;border-radius:14px;grid-template-columns:1fr;gap:9px}.j328-icon{height:35px;width:35px}.j328-icon svg{height:21px;width:21px}.j328-metric h2{font-size:10px;min-height:34px;margin:0 0 5px}.j328-metric .j328-count{font-size:15px}.j328-count strong{font-size:29px}.j328-metric-foot>small{font-size:10px;min-height:32px}.j328-panel{padding:21px 18px}.j328-panel h2{font-size:22px}.j328-next{padding:18px}.j328-lesson summary{padding:16px 14px;gap:10px}.j328-lesson summary h3{font-size:17px}.j328-lesson-progress{margin-left:42px;flex:1}.j328-tasks{padding:3px 15px 8px}.j328-task-actions{display:flex;width:100%;gap:12px}.j328-task-actions .textbutton{font-size:11px}.j328-filters button{font-size:11px;padding:9px 12px}.j328 .journey-grid304{grid-template-columns:1fr}.j328 #j-form306{padding:21px 17px}.j328 .j-metrics305{grid-template-columns:1fr;gap:10px}.j328 .j-metrics305>div{display:flex;gap:18px;align-items:center;text-align:left}.j328 .j-metrics305 span{margin:0}}

.study312 .read-quiz329{border-color:#cfdfd7;background:#fffef9}.read-quiz-head329{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.read-quiz-head329 h2{margin:14px 0 8px;font-size:27px;color:#173f35}.read-quiz-head329 p{margin:0;color:#647469;font-size:14px}.read-question-count329{white-space:nowrap;font-size:12px;background:#edf4ee;color:#35664d;border-radius:20px;padding:8px 12px}.study312 fieldset.read-question329{padding:24px;border:1px solid #dce4dc;border-radius:16px;margin:32px 0;background:#fff}.read-question329 legend{font-size:17px;line-height:1.7;color:#24463b}.read-question329 legend>span{display:inline-grid;place-items:center;min-width:28px;height:28px;background:#174f40;color:#fff;border-radius:8px;font-size:13px;margin-right:6px}.study312 .read-question329 .s312-option{border:1px solid #e2e8e0;padding:13px 15px;margin:9px 0;align-items:center;font-size:15px;line-height:1.6;cursor:pointer}.read-question329 .s312-option:has(input:checked){border-color:#4f8b71;background:#eff6ef}.read-question329 input{accent-color:#246b51}.read-letter329{display:inline-grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border:1px solid #d7dfd4;border-radius:7px;font-size:12px;color:#4a6856;background:#f7f9f2}.read-hints329{margin-top:18px}.read-hint-buttons329{display:flex;gap:10px;flex-wrap:wrap}.study312 .read-hint-buttons329 .secondary{border-color:#d6c6a4;color:#72571d;background:#fffcf2;font-size:12px;min-height:44px}.read-hint-buttons329 button[aria-expanded=true]{background:#f5eacb!important;border-color:#c7a552!important}.read-hint-box329{margin-top:12px;padding:16px 20px;background:#fff8e8;border:1px solid #ebdbb9;border-radius:12px;color:#654f21}.read-hint-box329 p{font-size:14px;margin:0 0 12px}.read-hint-box329 p:last-child{margin-bottom:0}.read-position329{padding-top:12px;border-top:1px solid #e7d9b8}.read-hint-box329 .textbutton{color:#735a20}.read-mark329{background:#ffe2a0;color:#183c30;padding:2px 0;box-decoration-break:clone;-webkit-box-decoration-break:clone;border-bottom:2px solid #b99337}.study312 .read-evidence-active329{background:#fffaf0;box-shadow:inset 3px 0 #ca9b35;border-radius:12px}.read-explanation329{margin-top:22px;border-top:1px solid #dfe6dc;padding-top:20px}.read-verdict329{display:grid;gap:5px;padding:15px 18px;border-radius:10px;background:#f7f0e2;color:#775723}.read-verdict329.correct{background:#e8f3e9;color:#28623a}.read-verdict329 span{font-size:14px}.read-explanation329>p{font-size:14px;color:#4f6457}.read-evidence329{padding:18px;background:#f3f6ed;border:1px solid #dce6d7;border-radius:12px}.read-evidence329 blockquote{margin:12px 0 8px;padding:0;border:0;font-size:20px;line-height:1.9;color:#214d3e}.read-evidence329>p{font-size:14px;color:#4e6656;margin:6px 0 14px}.read-explanation329 h3{font-size:17px;margin:24px 0 12px;color:#244b3a}.read-choice-explain329{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid #e7ebe1}.read-choice-explain329 strong{display:block;font-size:14px;color:#2d493b}.read-choice-explain329 small{display:block;font-size:11px;margin-top:5px;color:#7b7967}.read-choice-explain329 p{margin:8px 0 0;font-size:14px;color:#556a5c;line-height:1.8}.read-choice-explain329.correct .read-letter329{background:#2e744f;color:white;border-color:#2e744f}.read-choice-explain329.correct small{color:#35704b}.read-upgrade329{padding:18px;background:#f6f1e4;border:1px solid #e0d4b8;border-radius:12px}.read-upgrade329 p{font-size:13px;margin:6px 0 14px}.read-upgrade329 small{display:block;color:#746c59;font-size:11px;margin-top:10px}.read-quiz329 button:focus-visible{outline:3px solid #bd9643;outline-offset:3px}.read-quiz329 .button{background:#245d46;color:white}.read-quiz329 .secondary{color:#28543e;border-color:#ccdacd;background:#fffef7}.read-quiz329 .textbutton{color:#3d684e}
@media(max-width:600px){.read-quiz-head329{gap:10px}.read-quiz-head329 h2{font-size:23px}.read-question-count329{padding:6px 8px;font-size:10px}.study312 fieldset.read-question329{padding:16px 12px}.read-question329 legend{font-size:15px}.study312 .read-question329 .s312-option{padding:12px 10px;font-size:14px}.read-hint-buttons329{display:grid;grid-template-columns:1fr}.read-hint-box329{padding:15px}.read-evidence329{padding:15px}.read-evidence329 blockquote{font-size:18px}.read-evidence329 .row button{min-height:44px}}

.ws-dialog330{width:min(1400px,96vw);max-width:96vw;height:94vh;max-height:94vh;padding:0;border:1px solid #d5e3de;border-radius:16px;background:#f5f8f6;color:#183d35;font:15px/1.6 Arial,'Segoe UI',sans-serif}.ws-dialog330::backdrop{background:#102d3bc2}.ws-dialog330 *{box-sizing:border-box}.ws-dialog330 h2,.ws-dialog330 h3,.ws-entry330 h2{font-family:Arial,'Segoe UI',sans-serif;letter-spacing:0;line-height:1.5}.ws-top330{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 26px;background:white}.ws-top330 h2{margin:3px 0;font-size:25px}.ws-tabs330{display:flex;gap:10px;padding:14px 26px;border-block:1px solid #dee8e1;background:#edf4ef;flex-wrap:wrap}.ws-tabs330 button{flex:1;min-width:125px}.ws-layout330{display:grid;grid-template-columns:minmax(320px,1fr) minmax(340px,1.1fr);gap:24px;padding:24px}.ws-editor330{min-width:0}.ws-editor330>label{display:grid;gap:7px}.ws-dialog330 input:not([type=checkbox]),.ws-dialog330 select,.ws-dialog330 textarea{width:100%;border:1px solid #cbdcd4;border-radius:7px;padding:10px;font:inherit;background:white;color:#183d35;min-width:0}.ws-dialog330 input[type=checkbox]{accent-color:#237d68;width:18px;height:18px;flex:none}.ws-dialog330 button{min-height:42px;font:600 14px Arial,sans-serif;border-radius:8px}.ws-dialog330 .button{background:#1d7561;color:white;border:1px solid #1d7561}.ws-dialog330 .secondary{background:white;color:#245b4e;border:1px solid #cadbd2}.ws-dialog330 :is(button,input,select,textarea):focus-visible{outline:3px solid #dea74b;outline-offset:2px}.ws-source330,.ws-options330{margin:18px 0;padding:16px;border:1px solid #d9e4de;border-radius:10px;background:white}.ws-source330 summary{cursor:pointer;font-weight:700;margin-bottom:10px}.ws-catalog330{max-height:245px;overflow:auto;margin:12px 0;display:grid;gap:5px}.ws-catalog330 label{display:grid;grid-template-columns:22px minmax(70px,1fr) 1fr;gap:8px;padding:8px;border-bottom:1px solid #ecf0ec;align-items:center}.ws-catalog330 label:has(input:checked){background:#e8f5ef}.ws-catalog330 span{font-size:18px}.ws-catalog330 small{color:#61756c}.ws-list-head330{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.ws-item330{display:grid;grid-template-columns:1fr 1fr 1fr 28px;gap:8px;padding:10px 0;border-bottom:1px solid #dae5dd}.ws-item330 label{font-size:11px;color:#526d60}.ws-item330 input{font-size:14px!important}.ws-item330 button{padding:0}.ws-options330{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ws-options330 legend{font-weight:700}.ws-options330 .row,.ws-options330 p{grid-column:1/-1}.ws-preview-panel330{align-self:start;position:sticky;top:15px;background:#e5ece8;border:1px solid #d3ded7;border-radius:12px;padding:18px;min-width:0}.ws-preview-head330{display:flex;justify-content:space-between;align-items:center}.ws-preview-head330 h3{margin:0 0 12px}.ws-preview-panel330 .ws-page330{display:block;width:100%;height:auto;background:white;box-shadow:0 8px 30px #17372d18}.ws-preview-panel330 .row{justify-content:center;margin-top:12px}.ws-footer330{position:sticky;bottom:0;padding:13px 24px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fffef8;border-top:1px solid #d8e1d9;box-shadow:0 -4px 15px #183f3310}.ws-footer330 p{margin:0;font-size:13px}.ws-saved-row330{display:flex;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid #dce6df}.ws-saved-row330>div{flex:1}.ws-saved-row330 small{display:block}.ws-entry330{background:linear-gradient(120deg,#edf8f2,#fff8e8)!important;border-color:#cce3d5!important}.ws-entry-options330{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ws-entry-options330 button{text-align:left;display:flex;align-items:center;gap:12px;border-radius:10px;min-height:75px}.ws-entry-options330 b{display:grid;place-items:center;background:#e0efe6;color:#236451;width:45px;height:45px;font-size:21px;flex:none;border-radius:8px}.ws-empty330{padding:20px;border:1px dashed #bacfc2;border-radius:8px;color:#587265}.ws-dialog330 .small{font-size:12px;color:#607268}@media(max-width:850px){.ws-layout330{grid-template-columns:1fr}.ws-preview-panel330{position:static}.ws-entry-options330{grid-template-columns:1fr 1fr}}@media(max-width:520px){.ws-dialog330{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.ws-top330,.ws-tabs330{padding:14px}.ws-layout330{padding:14px;gap:16px}.ws-item330{grid-template-columns:1fr 1fr 28px}.ws-item330 label:first-child{grid-column:1/-1}.ws-options330{grid-template-columns:1fr}.ws-footer330{flex-direction:column;align-items:stretch;padding:12px}.ws-footer330 .row button{flex:1}.ws-entry-options330{grid-template-columns:1fr}.ws-preview-panel330{padding:10px}}
.ws-catalog330 label[hidden]{display:none}

/* 340 — Owner roadmap: approved purple/white layout, readable stage states. */
body.journey-owner328{--ink:#151936;--muted:#4d536c;--line:#c2cad9;--green:#157a3c;--dark:#2e1764;background:#f6f7fb;color:#151936}
body.journey-owner328 .shell>header{background:#fff;color:#151936;border-color:#c2cad9}
body.journey-owner328 .save-status16{color:#3e3655;background:#f1ebfb;border-color:#c5b5e2}
body.journey-owner328 .sidebar{background:linear-gradient(165deg,#341467,#241342);color:#fff}
body.journey-owner328 .sidebar :is(.nav-label,.sidebar-bottom){color:#eee6fc}
body.journey-owner328 .sidebar nav :is(a,button){color:#fff}
body.journey-owner328 .sidebar nav :is(a,button).active{background:#eee5ff;color:#351069;border-color:#b59adf;border-left:4px solid #b59adf}
body.journey-owner328 #main{background:transparent}
body.journey-owner328 .j328{--ink:#151936;--muted:#4d536c;--green:#157a3c;--j338-purple:#6332b5;--j338-ink:#151936;--j338-muted:#4d536c;max-width:1320px;color:#151936;font-family:'Segoe UI',Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:15px;line-height:1.6}
body.journey-owner328 .j328 :is(h1,h2,h3,h4,button,input,select,summary,.j328-count){font-family:inherit!important;letter-spacing:normal!important;font-kerning:normal;line-height:1.5}
body.journey-owner328 .j328 :is(h1,h2,h3,h4){color:#151936;font-weight:750}
body.journey-owner328 .j328 h1{font-size:clamp(29px,3.5vw,42px);line-height:1.25;margin:0 0 8px}
body.journey-owner328 .j328 h2{font-size:clamp(21px,2.3vw,28px)}
body.journey-owner328 .j328 h3{font-size:20px}
body.journey-owner328 .j328 .button{background:#6332b5;border:1px solid #6332b5;color:#fff;box-shadow:none;border-radius:8px;min-height:46px;padding:11px 18px;font-weight:700;font-size:15px}
body.journey-owner328 .j328 .button:hover{background:#4c238f;border-color:#4c238f;filter:none}
body.journey-owner328 .j328 .secondary{background:#fff;color:#302545;border:1px solid #8994aa;border-radius:8px;min-height:44px;padding:10px 16px;font-size:14px;font-weight:650}
body.journey-owner328 .j328 .secondary:hover{background:#f0eafb;border-color:#7048ad;color:#351069}
body.journey-owner328 .j328 .textbutton{color:#542898;font-size:14px;font-weight:650}
body.journey-owner328 .j328 :is(button,select,summary):focus-visible{outline:3px solid #502090;outline-offset:4px}
body.journey-owner328 .j328 button:disabled{opacity:.65;cursor:default}
body.journey-owner328 .j328 button:disabled:hover{filter:none}
body.journey-owner328 .j328 progress{height:12px;border-radius:5px;background:#d8dce7;accent-color:#6332b5}
body.journey-owner328 .j328 progress::-webkit-progress-bar{background:#d8dce7;border-radius:5px}
body.journey-owner328 .j328 progress::-webkit-progress-value{background:var(--j340-progress,#6332b5);border-radius:5px}
body.journey-owner328 .j328 progress::-moz-progress-bar{background:var(--j340-progress,#6332b5);border-radius:5px}
body.journey-owner328 .j328-top{font-size:12px;letter-spacing:0;margin-bottom:20px;color:#4d536c;font-weight:700}
body.journey-owner328 .j328 .j328-badge{font-size:12px;font-weight:650;border-radius:6px;background:#eee7fa;color:#4a2180;border:1px solid #c9b8e5;letter-spacing:0}
body.journey-owner328 .j328 .j328-badge.done{background:#e3f4e8;color:#126b36;border-color:#9dccad}
body.journey-owner328 .j328-heading{margin-bottom:20px}
body.journey-owner328 .j328-heading p{font-size:16px;color:#4d536c;font-weight:600}
body.journey-owner328 .j328-controls{padding:12px 16px;background:#fff;border:1px solid #b8c2d5;border-radius:10px;margin-bottom:18px}
body.journey-owner328 .j328-select{font-size:14px;color:#363d58;font-weight:650}
body.journey-owner328 .j328-select select{background:#fff;color:#151936;border-color:#8994aa;font-size:14px;min-width:240px;max-width:100%}
.j340-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid #aa8ddd;border-radius:10px;padding:26px 28px;background:#f1ebfc;margin-bottom:20px}
.j340-hero-main{flex:1;min-width:0;border-left:7px solid #6332b5;padding-left:20px}
.j340-eyebrow{color:#4d258b;font-size:12px;font-weight:750}
body.journey-owner328 .j328 .j340-hero h2{color:#3f167c;font-size:clamp(23px,2.8vw,34px);margin:4px 0 15px}
.j340-hero-progress{display:flex;align-items:center;gap:24px}
.j340-percent{font-size:clamp(48px,5.5vw,70px);line-height:1;color:#6332b5;font-weight:800;font-variant-numeric:tabular-nums;flex-shrink:0}
.j340-hero-progress>div{flex:1;min-width:0}
.j340-hero-progress p{margin:0 0 10px;font-weight:650;font-size:17px}
body.journey-owner328 .j328 .j340-hero progress{height:16px}
.j340-hero-progress small{display:block;margin-top:9px;color:#45405a;font-size:13px;line-height:1.5}
.j340-hero-actions{display:grid;gap:10px;flex:0 0 188px}
body.journey-owner328 .j328 .j340-hero-actions .button{min-height:52px;font-size:17px}
body.journey-owner328 .j328 .j328-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0 24px}
body.journey-owner328 .j328 .j328-metric{--accent:#157a3c;--j340-progress:#159447;display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px 14px;min-height:180px;padding:20px 18px;border:1px solid #88c79d;border-radius:10px;background:#f2fbf5;box-shadow:none;min-width:0}
body.journey-owner328 .j328 .j340-metric-kanji{--accent:#6332b5;--j340-progress:#6332b5;background:#f4effc;border-color:#b79bde}
body.journey-owner328 .j328 .j340-metric-grammar{--accent:#1556ba;--j340-progress:#236de0;background:#f0f6ff;border-color:#99b9e7}
body.journey-owner328 .j328 .j328-icon{width:46px;height:46px;border-radius:8px;background:var(--accent);border:0;color:#fff;font-size:32px}
body.journey-owner328 .j328 .j328-icon svg{width:27px;height:27px;stroke-width:1.8}
body.journey-owner328 .j328 .j328-metric h2{font-size:16px;margin:0 0 5px;min-height:0}
body.journey-owner328 .j328 .j328-metric p{font-size:13px;color:#3e4660;margin:0}
body.journey-owner328 .j328 .j328-count{display:flex;gap:5px;align-items:baseline;flex-wrap:wrap;white-space:normal;font-variant-numeric:tabular-nums;font-size:18px;color:#151936!important}
body.journey-owner328 .j328 .j328-count strong{font-size:31px;line-height:1.2;font-weight:800}
body.journey-owner328 .j328 .j328-count small{font-size:14px}
body.journey-owner328 .j328 .j328-metric-foot{grid-column:1/-1;margin-top:0;align-self:end}
body.journey-owner328 .j328 .j328-metric-foot>small{font-size:12px;color:#424a61;min-height:0;margin:0 0 8px}
body.journey-owner328 .j328 .j328-metric-foot b{font-size:13px;color:var(--accent)}
body.journey-owner328 .j328 .j340-due{--accent:#b44c08;background:#fff6eb;border-color:#dba574}
body.journey-owner328 .j328 .j340-due h2{color:#823909}
body.journey-owner328 .j328 .j340-due .j328-count{color:#a13a08!important}
body.journey-owner328 .j328 .j340-due .button{width:100%;background:#b44c08;border-color:#b44c08}
body.journey-owner328 .j328 .j340-due .button:hover{background:#913b04}
.j340-stages{border:1px solid #b8c2d5;border-radius:10px;background:#fff;padding:18px;margin-bottom:18px}
.j340-section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}
body.journey-owner328 .j328 .j340-section-heading h2{margin:0;font-size:27px}
.j340-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:12px;font-weight:650;color:#4d536c}
.j340-legend .done{color:#126b36}.j340-legend .current{color:#5925a5}
.j340-stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.j340-stage{--j340-progress:#6332b5;display:flex;flex-direction:column;min-width:0;padding:18px;border:1px solid #aab5c9;border-radius:10px;background:#fff;color:#151936}
.j340-stage header{display:flex;gap:10px;align-items:center;margin-bottom:13px}
.j340-state-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#ecedf3;color:#596176;font-size:25px;font-weight:700}
.j340-stage-label{font-size:12px;font-weight:750;color:#3f475e;background:#e9edf5;padding:6px 10px;border-radius:6px}
.j340-stage header>small{font-size:12px;font-weight:650;color:#4d258b;margin-left:auto}
body.journey-owner328 .j328 .j340-stage h3{font-size:21px;margin:0 0 9px;line-height:1.45;overflow-wrap:anywhere}
.j340-status{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:14px;margin:0 0 10px}
.j340-status>b{font-size:23px;font-variant-numeric:tabular-nums}
.j340-stage-count{font-size:12px;color:#4d536c;margin:8px 0 10px!important}
.j340-stage.done{--j340-progress:#169947;border-color:#74b88c;background:#f5fcf7}
.j340-stage.done :is(.j340-status,.j340-stage-label){color:#116532}
.j340-stage.done .j340-state-icon{background:#157a3c;color:#fff;font-size:23px}
.j340-stage.done .j340-stage-label{background:#d9f3e1}
.j340-stage.current{border:3px solid #6332b5;padding:16px;background:#faf7ff;box-shadow:0 3px 12px #6332b51a}
.j340-stage.current :is(.j340-status,.j340-stage-label){color:#5925a5}
.j340-stage.current :is(.j340-state-icon,.j340-stage-label){background:#6332b5;color:#fff}
.j340-stage.selected:not(.current){outline:2px solid #6332b5;outline-offset:2px}
.j340-checklist{list-style:none;padding:0;margin:10px 0 18px;display:grid;gap:10px}
.j340-checklist li{display:flex;gap:9px;align-items:flex-start;font-size:14px;line-height:1.5;color:#303852}
.j340-checklist li>span:first-child{flex:0 0 19px;font-weight:750;color:#596176}
.j340-checklist li.done>span:first-child{color:#157a3c}
.j340-stage.current .j340-checklist li:not(.done)>span:first-child{color:#6332b5}
.j340-ahead{border:1px solid #87bed2;border-radius:7px;background:#eaf8fc;padding:11px 12px;margin:4px 0 8px;color:#144f68}
.j340-ahead b{display:block;font-size:14px}.j340-ahead p{margin:4px 0;font-size:13px;line-height:1.5}.j340-ahead small{font-size:12px;color:#335769}
.j340-stage-actions{margin-top:auto;display:grid;gap:9px}
body.journey-owner328 .j328 .j340-stage-actions>button{width:100%}
.j340-ahead-actions{display:grid;gap:8px}
body.journey-owner328 .j328 .j340-ahead-actions button{font-size:13px;padding:9px;white-space:normal}
body.journey-owner328 .j328 .j340-expand{display:block;margin:18px auto 0;min-width:230px}
.j340-review-strip{display:flex;align-items:center;flex-wrap:wrap;gap:14px 20px;padding:18px 20px;background:#fff7eb;border:1px solid #cf8c4e;border-radius:10px;margin:0 0 24px;scroll-margin-top:24px}
.j340-review-title{display:flex;gap:10px;align-items:center}
.j340-review-title>span{display:grid;place-items:center;background:#b44c08;color:#fff;width:34px;height:34px;border-radius:50%;font-size:24px;font-weight:750}
body.journey-owner328 .j328 .j340-review-title h2{font-size:21px;color:#8c3705;margin:0}
.j340-review-strip>p{font-size:14px;color:#59412c;margin:0;flex:1 1 180px}
.j340-review-groups{display:flex;flex-wrap:wrap;gap:9px}
body.journey-owner328 .j328 .j340-review-groups .secondary{border-color:#b77639;color:#843908;background:#fff}
body.journey-owner328 .j328 .j328-columns{gap:20px}
body.journey-owner328 .j328 .j328-columns.overview{grid-template-columns:1fr 1fr;align-items:stretch}
body.journey-owner328 .j328 .j328-panel{border:1px solid #b8c2d5;border-radius:10px;background:#fff;padding:22px;box-shadow:none}
body.journey-owner328 .j328 .j328-panel h2{font-size:22px;margin:0 0 14px}
body.journey-owner328 .j328 .j328-review{background:#fffaf1;border-color:#d8ab76}
body.journey-owner328 .j328 .j328-review-row{border-color:#ddc9a9;padding:14px 0}
body.journey-owner328 .j328 .j328-review-row strong{font-size:15px;font-weight:700}
body.journey-owner328 .j328 .j328-review-row p{font-size:15px;color:#303852}
body.journey-owner328 .j328 .j328-review-row button{font-size:13px;min-height:44px;background:#fff;border-color:#b9874c}
body.journey-owner328 .j328 .j328-next{background:#f3effb;border:1px solid #baa6d9;border-radius:8px;padding:20px}
body.journey-owner328 .j328 .j328-next :is(p,span){font-size:14px;color:#49425e}
body.journey-owner328 .j328 .j328-next h3{font-size:21px}
body.journey-owner328 .j328 .j328-note{font-size:13px!important;color:#4d536c;line-height:1.7}
body.journey-owner328 .j328 .j328-lesson{background:#fff;border:1px solid #b8c2d5;border-radius:10px}
body.journey-owner328 .j328 .j328-lesson.current{border:2px solid #6332b5;border-left:5px solid #6332b5}
body.journey-owner328 .j328 .j328-lesson[open] summary{background:#f1eafb;border-color:#cfbde9}
body.journey-owner328 .j328 .j328-lesson summary :is(p,.j328-lesson-progress>span){font-size:13px;color:#454d66}
body.journey-owner328 .j328 .j328-lesson summary h3{font-size:19px}
body.journey-owner328 .j328 .j328-lesson-num{background:#eee7fa;color:#542898;border-color:#b09acb;border-radius:7px}
body.journey-owner328 .j328 .j328-lesson[open] .j328-lesson-num{background:#6332b5;color:#fff;border-color:#6332b5}
body.journey-owner328 .j328 .j328-task{border-color:#d4dbe6}
body.journey-owner328 .j328 .j328-task strong{font-size:15px}
body.journey-owner328 .j328 .j328-task small{font-size:13px;color:#4d536c}
body.journey-owner328 .j328 .j328-task-actions .textbutton{font-size:13px;color:#542898}
body.journey-owner328 .j328 .j328-check{color:#596176}
body.journey-owner328 .j328 .j328-amber{color:#984108!important}
body.journey-owner328 .j328 .j328-filters .button{background:#6332b5;color:#fff;border-color:#6332b5}
body.journey-owner328 .j328 :is(.j-form305,#j-form306,.j-preview305,.panel){border-color:#b8c2d5;background:#fff;border-radius:10px}
body.journey-owner328 .j328 .journey-grid304 label{color:#303852;font-size:14px}
body.journey-owner328 .j328 .journey-grid304 :is(input,select){border-color:#8994aa;background:#fff;color:#151936;font:inherit}
body.journey-owner328 .j328 .j-metrics305>div{background:#f2edfc;border-color:#bca8d9;border-radius:8px}
body.journey-owner328 .j328 .j-metrics305 :is(strong,span){color:#3c216b}
/* Existing review dashboard retained, with the same strong type and borders. */
.j338{margin-top:32px;font-family:inherit}.j338-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.j338-heading h2{margin:5px 0}.j338-heading p{margin:5px 0;color:#4d536c}.j338-heading label{display:grid;gap:7px;font-size:14px;min-width:160px;font-weight:650}.j338 select{padding:11px;border:1px solid #8994aa;border-radius:8px;background:#fff;color:#302545;font:inherit}
.j338-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.j338-stats article{background:#fff;border:1px solid #b8c2d5;border-radius:10px;padding:20px 18px;display:flex;flex-direction:column;gap:8px}.j338-stats article.urgent{background:#fff5eb;border-color:#d3a06d}.j338-stats span{font-size:14px;font-weight:700}.j338-stats strong{font-size:36px;line-height:1.2;color:#6332b5;font-variant-numeric:tabular-nums}.j338-stats .urgent strong{color:#a13a08}.j338-stats small{font-size:13px;color:#4d536c;line-height:1.5}
.j338-insight{padding:22px;background:#f2edfc;border:1px solid #bca8d9;border-radius:10px;margin:0 0 20px}.j338-insight p{margin-bottom:12px}.j338-actions{display:flex;flex-wrap:wrap;gap:9px}.j338-actions button{font-size:14px;min-height:44px}
.j338-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.j338 .j328-panel{margin:0;min-width:0}.j338 h3{margin:0 0 10px}.j338-donut{width:178px;height:178px;border-radius:50%;display:grid;place-items:center;margin:22px auto}.j338-donut>div{background:#fff;width:132px;height:132px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px}.j338-donut strong{font-size:33px;line-height:1.2}.j338-donut small{font-size:13px;color:#4d536c}.j338-legend{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:12px}.j338-legend li{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:10px;font-size:14px}.j338-legend i{height:12px;border-radius:3px}.j338-legend b{font-variant-numeric:tabular-nums}
.j338-level{margin:26px 0}.j338-level>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:10px;font-size:14px}.j338-level span{color:#4d536c}.j338-track{height:15px;display:flex;border-radius:5px;overflow:hidden;background:#d8dce7}.j338-track span{height:100%}.j338-weak{margin-bottom:20px!important;background:#fffaf1!important}.j338-weak h3>span{color:#984108}.j338-chips{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:16px 0}.j338-chip{font-family:inherit;font-size:20px;min-height:44px;min-width:44px;padding:8px 13px;background:#fff;border:1px solid #a88d65;border-radius:7px;color:#3f331e;max-width:100%;overflow-wrap:anywhere}.j338-chip:hover{background:#fff0d2}
.j338-chart{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));align-items:end;gap:5px;height:165px;margin:20px 0 12px;border-bottom:1px solid #b8c2d5}.j338-col{display:flex;flex-direction:column;align-items:center;justify-content:end;gap:6px;min-width:0}.j338-col>b{font-size:12px;color:#46405a;font-variant-numeric:tabular-nums}.j338-col>span{display:block;width:85%;max-width:27px;min-height:2px;background:#7045b5;border-radius:4px 4px 0 0}.j338-col>span.empty{background:#c5cbd9}.j338-col small{font-size:10px;white-space:nowrap;color:#4d536c;padding-bottom:7px}.j338-day{padding:15px;background:#f5f1fc;border:1px solid #bca8d9;border-radius:8px;margin-top:12px}.j338-day summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:32px;font-size:15px}.j338-day summary span{color:#4d536c}
@media(hover:hover){.j340-stage{transition:border-color .15s,box-shadow .15s}.j340-stage:hover{box-shadow:0 5px 18px #35106914}}
@media(max-width:1100px){body.journey-owner328 .j328 .j328-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.j340-hero{gap:20px;padding:22px}.j340-hero-actions{flex-basis:170px}.j340-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.j340-section-heading{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:760px){.j340-hero{align-items:stretch;flex-direction:column;padding:20px}.j340-hero-main{padding-left:14px;border-left-width:5px}.j340-hero-actions{flex-basis:auto;grid-template-columns:1fr 1fr}.j340-hero-progress{gap:16px}.j340-hero-progress p{font-size:15px}.j340-hero-progress small{font-size:12px}.j340-percent{font-size:48px}.j340-stage-grid{grid-template-columns:1fr}.j340-stages{padding:14px}.j340-review-strip{padding:16px}.j340-review-groups{width:100%}.j340-review-groups button{flex:1 1 150px}.j340-legend{font-size:12px;gap:10px}body.journey-owner328 .j328 .j328-columns,body.journey-owner328 .j328 .j328-columns.overview{grid-template-columns:1fr}.j338-heading{align-items:start;flex-direction:column;gap:12px}.j338-heading label{width:100%}.j338-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.j338-stats article{padding:18px 14px}.j338-grid{grid-template-columns:1fr;gap:16px}.j338-actions button{flex:1 1 180px}.j338-chart{gap:3px}.j338-col small{font-size:8px}}
@media(max-width:520px){body.journey-owner328 .j328 .j328-controls{align-items:stretch;padding:12px}.j328-select{display:grid;gap:7px;width:100%}body.journey-owner328 .j328-select select{min-width:0;width:100%}body.journey-owner328 .j328 .j328-metrics{gap:10px}body.journey-owner328 .j328 .j328-metric{padding:16px 12px;grid-template-columns:1fr;gap:9px;min-height:200px}body.journey-owner328 .j328 .j328-metric h2{font-size:15px}body.journey-owner328 .j328 .j328-count{font-size:16px}body.journey-owner328 .j328 .j328-count strong{font-size:28px}.j340-hero-actions{grid-template-columns:1fr}.j340-hero-progress{align-items:flex-start;flex-direction:column;gap:12px}.j340-hero-progress>div{width:100%}.j340-percent{font-size:56px}body.journey-owner328 .j328 .j340-hero h2{font-size:24px}body.journey-owner328 .j328 .j328-columns>aside{display:block}body.journey-owner328 .j328 .j328-panel{padding:18px}body.journey-owner328 .j328 .j328-task-actions{flex-wrap:wrap;justify-content:flex-start}body.journey-owner328 .j328 .j328-task-actions button{font-size:13px}.j340-stage{padding:16px}.j340-stage.current{padding:14px}.j340-review-title{width:100%}}
@media(max-width:380px){body.journey-owner328 .j328 .j328-metrics{grid-template-columns:1fr}body.journey-owner328 .j328 .j328-metric{grid-template-columns:42px minmax(0,1fr);min-height:160px}.j338-stats strong{font-size:30px}.j338-col small{font-size:7px}}
@media(prefers-reduced-motion:reduce){.j340-stage{transition:none}.j328 *{scroll-behavior:auto!important}}

#billing331{width:min(1120px,95vw);max-height:92dvh;border:1px solid #d8e5df;border-radius:18px;padding:26px;background:#f7faf8;color:#203c36;font:15px/1.6 Arial,'Segoe UI',sans-serif;overflow:auto;box-sizing:border-box}#billing331::backdrop{background:#102c35bb;backdrop-filter:blur(4px)}#billing331 header{position:static;display:flex;justify-content:space-between;align-items:start;background:transparent;padding:0;box-shadow:none;height:auto}#billing331 h2{font-size:27px;margin:6px 0}#billing331 h3{font-size:23px;margin:10px 0}#billing331 small{display:block;color:#516a62}#billing331 button{cursor:pointer;border:1px solid #bed4c9;border-radius:9px;padding:10px 15px;background:#126b54;color:white;font:600 14px Arial}#billing331 button.secondary{background:white;color:#245744}#billing331 button:hover{filter:brightness(.94)}#billing331 button:focus-visible,#billing331 input:focus-visible{outline:3px solid #c8952f;outline-offset:3px}#billing331 nav{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}#billing331 nav button{background:#e9f0ed;color:#30574a}#billing331 nav button[aria-pressed=true]{background:#126b54;color:white}.bnotice331{background:#fff4d9;color:#705215;padding:12px 16px;border-radius:8px;margin:14px 0}.bplans331{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.bp331{background:white;border:1px solid #d4e1dc;border-radius:14px;padding:24px;display:flex;flex-direction:column}.bp331 strong{font-size:32px;letter-spacing:-1px}.bp331>button{margin-top:auto}.bp1{border:2px solid #248968;background:#eff8f2}.bp2{background:#f6f2ff;border-color:#cbbde4}.bp-label331{font-size:11px;letter-spacing:1px;font-weight:bold}.btable331{overflow-x:auto;margin-top:26px}.btable331 table{border-collapse:collapse;width:100%;min-width:660px;background:white}.btable331 caption{text-align:left;font-size:20px;font-weight:bold;padding:12px 0}.btable331 th,.btable331 td{padding:12px;text-align:left;border-bottom:1px solid #e3ebe6;font-size:14px}.btable331 thead{background:#dfede5}.btable331 tbody th{font-weight:normal;width:35%}.bform331{max-width:680px;margin:20px auto;background:white;padding:26px;border:1px solid #d5e5dc;border-radius:14px}.bform331 label{display:block;margin:14px 0;font-weight:bold}.bform331 input:not([type=checkbox]){display:block;box-sizing:border-box;width:100%;padding:12px;border:1px solid #a9c4b6;border-radius:8px;margin-top:6px;font:16px Arial}.bcheck331{font-weight:normal!important}.bcheck331 input{width:auto;margin-right:6px}.bicon331{font-size:32px;color:#9f7834}.blist331{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0}.blist331 article{background:white;border:1px solid #d8e4dd;border-radius:10px;padding:18px;overflow-wrap:anywhere}.blist331 button{margin:10px 5px 0 0}.bsummary331{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.bsummary331>div{padding:18px;background:#e9f2ec;border-radius:10px}.bsummary331 strong{display:block;font-size:23px}.bpay331{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.bpay331 img{display:block;width:100%;max-width:310px;margin:auto}.bpay331 dl{margin:0;background:white;padding:24px;border-radius:12px}.bpay331 dt{font-size:13px;color:#53695f}.bpay331 dd{margin:2px 0 14px;font-size:17px;overflow-wrap:anywhere}.bpay331 dd button{margin-left:8px}.btotal331{font-size:28px!important;color:#126b54;font-weight:bold}.bactions331{display:flex;gap:10px;flex-wrap:wrap}.bfoot331{font-size:13px;color:#516658}.bentry331{border:1px solid #a4cbb8!important;background:linear-gradient(120deg,#edf7ee,#f4f1fb)!important;display:flex;align-items:center;justify-content:space-between;gap:20px}#b-status331{color:#88451d;font-weight:bold}@media(max-width:720px){#billing331{padding:16px;width:97vw}#billing331 h2{font-size:22px}.bplans331,.bpay331,.blist331,.bsummary331{grid-template-columns:1fr}.bentry331{display:block}.bp331{padding:18px}.bform331{padding:18px}.bpay331 img{max-width:260px}#billing331 header{gap:10px}}

.analysis332{background:#fffefa!important;color:#243b38;font-family:Arial,'Segoe UI',sans-serif!important}.analysis332 h2{font-size:25px}.acore332{background:#ecf4ef;border-left:4px solid #287d61;padding:14px 18px;border-radius:9px}.acore332 p{margin:5px 0}.arules332{margin:16px 0}.achunks332{display:flex;flex-wrap:wrap;gap:14px 10px;padding:20px 0}.achunk332{border:1px solid transparent!important;background:transparent!important;display:flex;flex-direction:column;align-items:center;gap:7px;padding:8px!important;border-radius:10px;max-width:100%;cursor:pointer;color:#223a42!important}.achunk332[aria-pressed=true]{background:#fff1cd!important;border-color:#d8b45c!important}.achunk332:focus-visible{outline:3px solid #d3aa42}.acode332{font:bold 14px Arial}.ajp332{font-size:24px;line-height:1.8;border-bottom:4px solid;overflow-wrap:anywhere}.ablue332 .ajp332{border-color:#2d74c4}.ared332 .ajp332{border-color:#cc5058}.ablue332 .acode332,.a-blue332{color:#2166ab}.ared332 .acode332,.a-red332{color:#b83e48}.aorder332{border-radius:50%;background:#f0e8d5;color:#584a2a;width:26px;height:26px;display:grid;place-items:center;font:bold 13px Arial}.atrans332{line-height:2.2}.atrans332 span{display:inline-block;background:#f2f4f0;padding:2px 7px;border-radius:5px}.atrans332 b{color:#87671b}.ameaning332{font-size:19px;color:#185c48;font-weight:bold}.agrid332{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.agrid332>section{border:1px solid #dce6dd;background:white;border-radius:12px;padding:18px}.agrid332 h4{font-size:20px;margin:5px 0}.asuggestions332{display:flex;gap:6px;flex-wrap:wrap}.asuggestions332 button{font-size:12px}.aask332 textarea{display:block;width:100%;box-sizing:border-box;font:16px Arial;border:1px solid #b3c9bd;border-radius:8px;padding:10px;margin:10px 0}.aanswer332 p{white-space:pre-line}.aanswer332 section{padding:12px;margin:12px 0;background:#f1f6f2;border-radius:8px}.aanswer332 h4{font-size:16px;color:#237257}.asort332{border-top:1px solid #d7dfd6;margin-top:22px;padding-top:14px}.asort-target332{min-height:65px;border:2px dashed #9bbbaa;padding:12px;margin:14px 0;background:#f8faf7}.asort-pool332{padding:10px;margin-bottom:14px}.asort332 button{margin:4px}.analysis332 summary{cursor:pointer;font-weight:bold}.analysis332 details{margin:14px 0}@media(max-width:850px){.agrid332{grid-template-columns:1fr}.ajp332{font-size:21px}.achunks332{gap:9px 4px}.agrid332>section{padding:13px}}

.kq-shell .kq-answers button.kq-wrong,.kq-shell .kq-answers button.kq-wrong:disabled{background:#b4232d!important;border:3px solid #ff9b9b!important;color:#fff!important;opacity:1!important;box-shadow:0 0 0 2px #6f111c}.kq-shell .kq-answers button.kq-wrong small,.kq-shell .kq-answers button.kq-wrong b{color:#fff!important}.kq-shell .kq-answers button.kq-correct:disabled{background:#17633f!important;border-color:#9df3b3!important;opacity:1!important}.kq-shell:has(.kq-wrong) .kq-feedback{color:#ffb5b5;font-weight:700;font-size:16px}.quest-receipt333{padding:18px;margin:16px 0;border:2px solid #88d9ac;border-radius:12px;background:#123f34;color:#e6fff0;font-size:18px;font-weight:700;text-align:center}.quest-receipt333.quest-error333{background:#59232a;border-color:#ff9c9c;color:#fff0f0}.quest-receipt333 button{display:block;margin:12px auto 0}

#foundation161[data-lesson="14"] .foundation-grid161,
#foundation161[data-lesson="17"] .foundation-grid161{align-items:start}
#foundation161[data-lesson="14"] .foundation-grid161>.story-guide232,
#foundation161[data-lesson="17"] .foundation-grid161>.story-guide232{grid-column:1/-1;margin:0;padding:24px;min-width:0;background:#fcfbff;border-color:#ded9e9;border-radius:14px}
#foundation161[data-lesson="14"] .foundation-grid161>.story-guide232:first-child,
#foundation161[data-lesson="17"] .foundation-grid161>.story-guide232:first-child{background:#edf7f5;border-color:#c3e1d9;border-left:5px solid #317f74}
#foundation161[data-lesson="14"] .memory-story249{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
#foundation161[data-lesson="14"] .memory-figure249{max-width:620px;margin:auto}
.nai-groups334,.nai-uses334{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.nai-groups334 article,.nai-uses334 article{padding:18px;background:#fff;border:1px solid #dcd8e5;border-top:4px solid #457f91;border-radius:12px;min-width:0}
.nai-groups334 article:nth-child(2){border-top-color:#5b8e65}.nai-groups334 article:nth-child(3){border-top-color:#9271aa}
.nai-groups334 h4,.nai-uses334 h4{margin:12px 0 8px;font-size:17px;line-height:1.6}
.nai-groups334 p[lang],.nai-uses334 p[lang]{font-size:19px;line-height:1.9;font-weight:600;overflow-wrap:anywhere;color:#263f54}
.nai-groups334 small{color:#545463;font-size:14px;line-height:1.7;display:block}
.nai-columns334{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,1fr);gap:22px;align-items:start}
.nai-columns334>div{min-width:0}.nai-columns334 table{min-width:0}.nai-columns334 td,.nai-columns334 th{padding:9px 12px}
.nai-note334{padding:18px 20px;background:#fff6df;border:1px solid #e9d8a6;border-radius:12px}.nai-note334 h4{margin:6px 0 12px}.nai-note334 p{margin:8px 0 15px}
.nai-uses334 article{border-top-color:#b77768}.nai-reminder334{padding:14px 18px;background:#f6edf1;border-radius:10px}
.n5-boss-tools334{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.n5-question-audio334{margin:14px 0;padding:16px;background:#edf6fa;border:1px solid #bad6e5;border-radius:12px}.n5-question-audio334 .row{flex-wrap:wrap;gap:8px;margin-top:12px}.n5-question-audio334 p{margin:10px 0 0;color:#33586e}
@media(max-width:900px){.nai-groups334,.nai-uses334{grid-template-columns:1fr}.nai-columns334{grid-template-columns:1fr}#foundation161[data-lesson="14"] .memory-story249{grid-template-columns:1fr}}
@media(max-width:600px){#foundation161[data-lesson="14"] .foundation-grid161>.story-guide232,#foundation161[data-lesson="17"] .foundation-grid161>.story-guide232{padding:16px}.nai-columns334 td,.nai-columns334 th{padding:8px;font-size:14px}.nai-groups334 article,.nai-uses334 article{padding:15px}}

/* Make the character the focal point, with answers directly below it. */
.kq-shell{grid-template-columns:minmax(0,1fr)}
.kq-shell>.kq-scene{display:grid;place-items:center;max-width:none;min-width:0;width:100%;height:260px;aspect-ratio:auto;border-bottom:1px solid #789c9b55}
.kq-shell .kq-painted291{background-size:cover;background-position:center 40%;filter:brightness(.52) saturate(.65);animation:none}
.kq-shell .kq-scene::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,#0c273300 15%,#0c273380 95%);pointer-events:none;z-index:0}
.kq-shell .kq-scene :is(.kq-fox,.kq-shadow,.kq-gate,.kq-dust,.kq-caption,.kq-mist){display:none}
.kq-shell .kq-scene .kq-kanji{position:relative;left:auto;top:auto;width:218px;height:218px;z-index:1;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border:2px solid #d5c389;border-radius:22px;background:linear-gradient(145deg,#fffdf1,#e8f3e5);box-shadow:0 10px 40px #031f39aa,inset 0 0 0 7px #fffdf180;color:#173d39;font-family:'Noto Serif JP','Yu Mincho',serif;font-size:154px;font-weight:500;line-height:1;text-shadow:none;animation:none;transform:none}
.kq-shell>.kq-play{box-sizing:border-box;width:100%;max-width:980px;margin:auto;max-height:none;overflow:visible;padding:20px 26px 24px}
.kq-shell .kq-play h2{text-align:center;margin:14px 0}
.kq-shell .kq-answers{gap:12px;margin-top:16px}
.kq-shell .kq-answers button{min-height:84px;padding:14px}
.kq-shell .kq-feedback{text-align:center}
.kq-shell .kq-end-actions327{justify-content:center}
@media(max-width:650px){
 .kq-shell>.kq-scene{height:194px}
 .kq-shell .kq-scene .kq-kanji{width:164px;height:164px;font-size:116px;border-radius:18px}
 .kq-shell>.kq-play{padding:12px}
 .kq-shell .kq-answers{gap:8px;margin-top:12px}
 .kq-shell .kq-answers button{padding:10px;min-height:76px}
}

.study335 .s312-layout>aside{display:block}.study335 .study-saved335{margin-top:16px}.study335 #study-form312{display:flex;flex-direction:column;gap:8px}.study335 textarea{box-sizing:border-box;max-height:none;min-height:150px;font-size:19px;line-height:1.9}.study335 .study-options335{margin:8px 0 12px;padding:14px;background:#f4f1f8;border-radius:12px}.study335 .study-options335 label{max-width:340px}.study335 summary{cursor:pointer;font-weight:650}.study-tabs335{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.study335 .s312-empty{min-height:170px}.study335 .original335{font-size:25px;line-height:1.9;overflow-wrap:anywhere}.translation335{background:#eaf5ef;border-left:4px solid #347a64;border-radius:12px;padding:18px 22px;margin:16px 0 24px}.translation335 p{margin:8px 0;font-size:18px}.guide335{margin:28px 0;padding:22px;background:#f9f7fd;border:1px solid #ded4ed;border-radius:16px}.guide335 ol{padding-left:28px}.guide335 li{padding:10px 0 18px 8px;border-bottom:1px solid #e5deee}.guide335 li::marker{font-weight:750;color:#61478c}.guide335 h4{margin:8px 0;font-size:18px}.guide-codes335 span{display:inline-block;font-weight:750;padding:3px 9px;background:white;border:1px solid #ddd;border-radius:7px}.guide-draft335{padding:12px 15px;background:#fff;border-radius:9px}.study335 .s312-translation{color:#335749;font-size:17px;margin:8px 0 14px}.study335 .s312-heading{margin-bottom:20px}@media(max-width:600px){.guide335{padding:14px}.translation335{padding:14px}.study335 textarea{font-size:17px}.study335 .original335{font-size:22px}.study-tabs335 button{flex:1;min-width:130px}}

/* Approved two-face Flashcard: lavender background, direct controls, no hotkey strip. */
.f341-dialog{width:min(1100px,calc(100vw - 24px));border:1px solid #b89bdd;border-radius:12px;background:#fbf9ff;color:#20243f;box-shadow:0 20px 70px #24133d44;font-family:'Segoe UI',Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}
.f341-dialog .lv-header327{background:#f3edfc;border-color:#d4c5ea;padding:16px 22px;color:#20243f}.f341-dialog .lv-header327 h2{font-family:inherit;font-size:23px;color:#20243f}.f341-dialog .lv-header327 .tag{background:#e6daf8;color:#51228b;border:1px solid #c6b1e5}.f341-dialog .lv-body327{padding:18px 22px}.f341-dialog .lv-header327>button{background:#fff;color:#342046;border:1px solid #9f85c3;border-radius:8px;padding:10px 14px}
.f341-workspace{--f341-ink:#20243f;--f341-purple:#6f35d0;max-width:1100px;margin:0 auto;color:var(--f341-ink);font-family:'Segoe UI',Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;min-width:0}
.f341-workspace *{box-sizing:border-box}.f341-workspace :is(h3,p,button,summary){font-family:inherit}.f341-workspace button{cursor:pointer;font:inherit;min-height:44px;line-height:1.45}.f341-workspace button:disabled{opacity:.5;cursor:default}.f341-workspace :is(button,summary,input,select):focus-visible{outline:3px solid #57259b;outline-offset:3px}.f341-workspace svg{display:block;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.f341-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;font-size:13px;font-weight:650}.f341-top .textbutton{color:#552c8a;font-size:13px;min-height:44px}.f341-revisited{font-size:14px;padding:12px;background:#f3eafa;border:1px solid #c5b1df;border-radius:7px;color:#4d267b}
.f341-canvas{position:relative;background:#f2ecfc;border:1px solid #bda4e0;border-bottom:0;border-radius:10px 10px 0 0;overflow:hidden;cursor:pointer}.f341-canvas .f341-flip{perspective:1400px;height:clamp(340px,52svh,520px);margin:0;color:#20243f;text-align:center}.f341-workspace .lv-flip-inner327{height:100%;display:grid;transform-style:preserve-3d;transition:transform .42s ease}.f341-workspace .is-flipped .lv-flip-inner327{transform:rotateY(180deg)}
.f341-workspace .lv-face327{grid-area:1/1;min-width:0;min-height:0;width:100%;height:100%;border:0;border-radius:0;padding:34px 65px 24px;background:linear-gradient(145deg,#f4effd,#ede5fa);color:#20243f;display:flex;flex-direction:column;align-items:center;gap:10px;overflow-y:auto;overflow-wrap:anywhere;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.f341-workspace .lv-front327{justify-content:center}.f341-workspace .lv-back327{transform:rotateY(180deg);justify-content:flex-start;background:linear-gradient(145deg,#f4effd,#ede5fa);padding-top:30px}.f341-face-label{font-size:11px;font-weight:650;letter-spacing:.04em;color:#65557e}.f341-workspace .lv-front327 h3{font-size:clamp(38px,var(--f341-size,48px),72px);line-height:1.55;font-weight:650;color:#20243f;margin:16px 0 6px}.f341-workspace .lv-face327 .f341-sentence{font-size:clamp(25px,3vw,34px);line-height:1.8}.f341-workspace .lv-face327 p{margin:0;line-height:1.6}.f341-workspace .lv-face327 .lv-reading327{font-size:clamp(28px,4vw,40px);line-height:1.6;color:#20243f}.f341-workspace .lv-face327 .lv-meaning327{font-size:clamp(21px,2.5vw,29px);font-weight:750;white-space:pre-line;color:#20243f}.f341-workspace .lv-face327 .f341-hv{font-size:18px;font-weight:650;color:#087137}.f341-type{font-size:12px;padding:2px 8px;border:1px solid #8d81a3;border-radius:5px;color:#4c405f}.f341-workspace .lv-face327 .f341-tap{font-size:13px;color:#625471;margin-top:8px}
.f341-workspace .f341-sound{background:transparent;color:#47365f;border:0;display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-size:14px;border-radius:7px}.f341-workspace .f341-sound:hover{background:#ded1f2}.f341-workspace .f341-sound svg{width:25px;height:25px}.f341-workspace .lv-example327{background:transparent;width:100%;border:0;border-top:1px solid #c8b5e3;border-radius:0;padding:15px 0 0;margin-top:7px;text-align:left;line-height:1.7}.f341-workspace .lv-example327>b{font-size:11px;color:#65557e;font-weight:650}.f341-workspace .lv-example327 p[lang=ja]{font-size:clamp(20px,2.5vw,28px);margin:6px 0;line-height:1.8}.f341-workspace .lv-example327 p:not([lang]){font-size:15px;color:#4c405f;margin-top:5px}.f341-workspace .lv-example327 rt{font-size:11px;color:#625471}.f341-workspace .lv-example327 .f341-sound{padding-left:0;font-size:12px}.f341-workspace .lv-note327{white-space:pre-line;font-size:14px;text-align:left;width:100%;color:#4b405f;padding-top:8px}
.f341-workspace .f341-arrow,.f341-workspace .f341-star{position:absolute;z-index:3;display:grid;place-items:center;padding:8px;border:0;border-radius:50%;color:#47365f;background:#dfd2f3;width:44px;height:44px;min-height:44px}.f341-workspace .f341-arrow{top:50%;transform:translateY(-50%)}.f341-workspace .f341-arrow.prev{left:8px}.f341-workspace .f341-arrow.next{right:8px}.f341-workspace .f341-star{right:10px;top:10px;background:transparent;color:#77638e}.f341-workspace .f341-star[aria-pressed=true]{color:#714100;background:#fff0bd}.f341-workspace .f341-star[aria-pressed=true] svg{fill:#f0c65c}.f341-workspace .f341-arrow:hover:not(:disabled){background:#ccb4ed}
.f341-toolbar{background:#fcfaff;border:1px solid #bda4e0;border-top:1px solid #dfd2f3;border-radius:0 0 10px 10px;padding:16px 18px;display:grid;gap:13px}.f341-toolbar-main{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.f341-tabs{display:flex;align-items:stretch;background:#e9e0f8;border:1px solid #c9b8e4;border-radius:7px;overflow:hidden}.f341-tabs button{background:transparent;border:0;padding:9px 13px;font-size:14px;color:#352348;font-weight:650}.f341-tabs button[aria-pressed=true]{background:#7138d3;color:#fff}.f341-ratings,.f341-workspace .fc-rating252{display:flex;align-items:center;justify-content:center;gap:14px;margin:0;flex-wrap:wrap}.f341-workspace :is(.f341-again,.f341-known,.f341-unsure){border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:650;padding:10px 15px;min-height:48px;flex:0 1 auto}.f341-workspace .f341-again{background:#bf1130;color:#fff;border-color:#bf1130}.f341-workspace .f341-again:hover:not(:disabled){background:#a70f29}.f341-workspace .f341-known{background:#087d42;color:#fff;border-color:#087d42}.f341-workspace .f341-known:hover:not(:disabled){background:#066434}.f341-workspace .f341-unsure{background:#fff7e5;color:#785000;border-color:#c5a054}.f341-counter{font-size:16px;white-space:nowrap;font-weight:750;font-variant-numeric:tabular-nums;color:#20243f;min-width:50px;text-align:center}.f341-workspace .f341-turn{border:1px solid #9d81c3;background:#fff;color:#4d287e;padding:10px 13px;font-size:13px;border-radius:7px}
.f341-toolbar-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.f341-workspace .f341-tool{border:0;background:transparent;color:#362449;display:flex;gap:8px;align-items:center;justify-content:center;padding:8px;border-radius:7px;font-size:13px}.f341-workspace .f341-tool:hover{background:#e9def8}.f341-settings{position:relative;margin:0;padding:0!important;border:0!important;background:transparent!important}.f341-settings summary{list-style:none;display:flex;align-items:center;gap:7px;cursor:pointer;min-height:44px;padding:8px;color:#362449;font-size:13px;font-weight:500}.f341-settings summary::-webkit-details-marker{display:none}.f341-settings>div{position:absolute;right:0;bottom:calc(100% + 10px);z-index:6;width:270px;max-width:calc(100vw - 60px);padding:18px;border:1px solid #a88acb;border-radius:9px;background:#fff;box-shadow:0 8px 30px #35224533;display:grid;gap:14px;color:#30233e}.f341-settings label{display:flex;align-items:center;gap:10px;font-size:14px}.f341-settings input{width:18px;height:18px;accent-color:#7138d3;flex-shrink:0}.f341-settings select{margin-left:auto;font:inherit;padding:6px;border:1px solid #9d81c3;border-radius:5px;color:#30233e;background:#fff}.f341-settings p{font-size:12px!important;color:#655471!important;margin:0}
.f341-workspace :is(#f341-audio,#fc-save252){font-size:13px;color:#59476f;margin:10px 0}.f341-workspace :is(#f341-audio,#fc-save252):empty{display:none}.f341-dialog #lv-audio327:empty{display:none}.f341-workspace .f341-note{font-size:13px;color:#625471;margin:12px 0}.f341-workspace>.textbutton{color:#57269a;font-size:14px;margin-top:10px}.f341-finished{text-align:center;padding:30px 20px;color:#20243f}.f341-finished h3{font-size:26px;color:#43216f}.f341-finished button{margin:10px 5px;padding:12px 18px;border-radius:8px;min-height:46px}.f341-finished .button{background:#6f35d0;color:#fff;border-color:#6f35d0}.f341-finished .secondary{background:#fff;color:#43216f;border-color:#a78bc8}
.f341-workspace:fullscreen{display:flex;flex-direction:column;justify-content:center;width:100vw;height:100svh;padding:24px;max-width:none;background:#f7f2fd;overflow:auto}.f341-workspace:fullscreen .f341-canvas{min-height:300px;flex:1}.f341-workspace:fullscreen .f341-flip{height:100%}.f341-expanded{width:calc(100vw - 20px)!important;max-width:none!important;max-height:98svh!important}.f341-workspace.f341-expanded .f341-flip{height:70svh}
@media(max-width:850px){.f341-toolbar-main{justify-content:center;gap:12px}.f341-toolbar-tools{justify-content:center;gap:8px 18px}.f341-workspace .fc-rating252{gap:10px}.f341-workspace .fc-rating252 .f341-unsure{flex-basis:100%;min-height:38px;padding:6px}}
@media(max-width:600px){.f341-dialog{width:calc(100vw - 12px);max-height:96svh;border-radius:10px}.f341-dialog .lv-header327{padding:12px 14px;gap:10px}.f341-dialog .lv-header327 h2{font-size:20px}.f341-dialog .lv-body327{padding:12px 10px}.f341-canvas .f341-flip{height:clamp(330px,48svh,430px)}.f341-workspace .lv-face327{padding:35px 43px 20px;gap:9px}.f341-workspace .lv-back327{padding-top:30px}.f341-workspace .f341-arrow{width:36px;height:40px;min-height:40px;padding:7px}.f341-workspace .f341-arrow.prev{left:3px}.f341-workspace .f341-arrow.next{right:3px}.f341-workspace .f341-star{right:6px;top:6px;width:36px;height:36px;min-height:36px}.f341-workspace .f341-hv{font-size:15px!important}.f341-workspace .lv-face327 .lv-reading327{font-size:30px}.f341-workspace .lv-face327 .lv-meaning327{font-size:23px}.f341-workspace .lv-example327 p[lang=ja]{font-size:22px}.f341-workspace .lv-example327 p:not([lang]){font-size:14px}.f341-toolbar{padding:12px 10px;gap:10px}.f341-tabs{margin-right:auto}.f341-turn{order:1}.f341-ratings,.f341-workspace .fc-rating252{order:2;flex-basis:100%;gap:10px}.f341-workspace :is(.f341-again,.f341-known){flex:1;padding:10px 8px;font-size:14px}.f341-toolbar-tools{justify-content:space-between;gap:3px}.f341-workspace .f341-tool{font-size:12px;padding:7px}.f341-tool[aria-label="Nghe liên tục hoặc tạm dừng"] span,.f341-settings summary span{display:none}.f341-workspace svg{width:23px;height:23px}.f341-top{flex-wrap:wrap}.f341-settings>div{width:245px}.f341-workspace:fullscreen{padding:10px}.f341-workspace:fullscreen .f341-canvas{min-height:330px}}
@media(prefers-reduced-motion:reduce){.f341-workspace .lv-flip-inner327{transition:none}}

/* Full-width lesson Flashcards, approved lavender design. */
.f342-lesson{min-width:0;width:100%;color:#20243f;font-family:'Segoe UI',Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}.f342-grid{display:block!important}.f342-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:8px 0 22px}.f342-heading h2{font:700 21px/1.4 'Segoe UI',Arial,sans-serif!important;color:#20243f!important;margin:0 0 6px}.f342-heading p{font-size:14px!important;color:#625471!important;margin:0}.f342-actions{display:flex;flex-wrap:wrap;gap:10px}.f342-actions button{border:1px solid #a48adb;background:#fff;color:#6123bd;border-radius:9px;min-height:44px;padding:10px 15px;font:600 14px/1.5 'Segoe UI',Arial,sans-serif;cursor:pointer}.f342-actions button:hover{background:#efe7fc}.f342-actions button:focus-visible,.f342-lesson button:focus-visible{outline:3px solid #7138d3;outline-offset:3px}
#f342-stage>.f341-workspace{max-width:none}#f342-stage .f341-flip{height:clamp(430px,57svh,610px)}#f342-stage .lv-front327 h3{font-size:clamp(52px,6vw,90px)}#f342-stage .lv-front327 h3.f341-sentence{font-size:clamp(28px,3vw,40px)}#f342-stage .lv-back327 h3.f342-back-word{font-size:clamp(38px,5vw,64px);margin:0;line-height:1.25;color:#20243f}#f342-stage .f341-toolbar{padding:16px 20px}#f342-stage .f341-toolbar-tools>.f341-tool{border:1px solid #dacaf0;background:#fff;padding:10px 14px;min-width:70px}#f342-stage .f341-canvas{border-color:#955de2}#f342-stage .f341-face-label{color:#60399b}#f342-stage .lv-test-word327{color:#24243f}.f342-lesson #f342-list{margin-top:24px;border-top:1px solid #dacaf0;padding-top:18px}.f342-lesson [hidden]{display:none!important}.f342-table-wrap{overflow:auto}.f342-lesson table{width:100%;border-collapse:collapse;background:#fff;color:#20243f;font-size:15px}.f342-lesson th,.f342-lesson td{padding:12px;text-align:left;border-bottom:1px solid #e5d9f4}.f342-lesson th{background:#f0e8fb}.f342-lesson td button{background:none;border:0;color:#6228ae;text-align:left;font:inherit;font-size:20px;cursor:pointer;padding:8px}.f342-print-list{display:grid;gap:8px;max-height:45svh;overflow:auto;margin:16px 0}.f342-print-list label,.f342-print-options label{display:flex;align-items:center;gap:8px}.f342-print-list input,.f342-print-options input{width:18px;height:18px;flex-shrink:0}.f342-print-options{display:flex;gap:14px;flex-wrap:wrap;margin:15px 0}#f342-stage .f341-finished{background:#f4effd;border:1px solid #bda4e0;border-radius:10px}
@media(max-width:600px){.f342-heading{gap:12px;margin-bottom:14px}.f342-heading h2{font-size:18px!important}.f342-actions{width:100%;gap:7px}.f342-actions button{flex:1;padding:9px 7px;font-size:12px;white-space:nowrap}#f342-stage .f341-flip{height:clamp(400px,57svh,520px)}#f342-stage .f341-toolbar{padding:12px 10px}#f342-stage .f341-toolbar-tools>.f341-tool{padding:8px;min-width:40px}.f342-lesson td,.f342-lesson th{padding:8px}.f342-print-options{display:grid;gap:10px}}

/* N5 lessons 1–10: native, selectable text and semantic structure; no raster lesson content. */
#foundation161.g343-foundation{background:#f4f0ff!important;border:1px solid #ddd1f2!important;color:#202541;padding:24px!important;font-family:'Segoe UI',Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}
#foundation161.g343-foundation>.foundation-grid161{display:block!important}#foundation161.g343-foundation>.row{padding:0 0 12px}#foundation161.g343-foundation>.row h2{font-family:inherit;font-size:22px;color:#202541}
.g343{--g343-ink:#202541;--g343-purple:#7138d3;--g343-line:#ded3f0;--g343-soft:#f4effd;color:var(--g343-ink);width:100%;min-width:0;font-family:'Segoe UI',Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}.g343 *{box-sizing:border-box}.g343 :is(h2,h3,h4,p,button,summary,table){font-family:inherit}.g343 :is(p,li){line-height:1.7}.g343 :is(button,summary){cursor:pointer;min-height:44px}.g343 :is(button,summary,input,select):focus-visible,.g343-controls :is(button,input,select):focus-visible{outline:3px solid #54249d;outline-offset:3px}.g343 [hidden]{display:none!important}.g343 h3{margin:0;color:#252045;font-size:20px;font-weight:750;line-height:1.5}.g343 h4{margin:0;font-size:16px;line-height:1.55}.g343-intro{padding:21px 24px;background:linear-gradient(120deg,#e9dffc,#f4edff);border:1px solid #ded1f3;border-radius:12px;margin:0 0 20px}.g343-intro h2{font-size:clamp(24px,3vw,34px)!important;line-height:1.4;color:#201d45!important;font-family:inherit;margin:0 0 10px}.g343-intro p{font-size:17px;font-weight:700;margin:0 0 7px}.g343-intro small{display:block;font-size:13px;line-height:1.75;color:#51466a}
.g343-glossary{padding:0!important;margin:0 0 22px!important;background:#fff!important;border:1px solid var(--g343-line)!important;border-radius:12px!important;color:var(--g343-ink)}.g343-glossary>summary{display:flex;align-items:center;gap:11px;list-style:none;padding:18px 22px;font-size:21px;color:#241d47}.g343-glossary>summary::-webkit-details-marker{display:none}.g343-glossary>summary::after{content:'⌄';font-size:24px;color:#7038ca;margin-left:8px}.g343-glossary[open]>summary::after{content:'⌃'}.g343-summary-hint{margin-left:auto;font-size:12px;color:#60478c;font-weight:500}.g343-book{font-size:27px;color:#7138d3}.g343-glossary-body{padding:0 22px 20px;display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.34fr);gap:18px}.g343-table-wrap{overflow-x:auto;min-width:0;border:1px solid var(--g343-line);border-radius:8px}.g343 table{border-collapse:collapse;width:100%;font-size:14px;background:#fff;color:#202541;text-align:left}.g343 th,.g343 td{padding:10px 12px;border-bottom:1px solid #e8def4;vertical-align:middle;line-height:1.6}.g343 thead th{background:#ebe2fb;color:#40246b;font-weight:700}.g343 tbody tr:last-child>*{border-bottom:0}.g343 td small{display:block;font-size:12px;color:#60576d;margin-top:3px}.g343 td[lang=ja]{font-size:18px;font-weight:650;min-width:115px}.g343-key{display:inline-flex;border-radius:6px;padding:3px 7px;background:color-mix(in srgb,var(--g343-color) 10%,white);font-weight:800;white-space:nowrap}.g343-key-note{padding:18px;background:#fff6dc;border:1px solid #f0dba0;border-radius:9px;align-self:start;font-size:14px;line-height:1.7}.g343-key-note p{margin:14px 0}.g343-key-note small{font-size:12px;color:#625436}
.g343-A{--g343-color:#1460c5;color:#1460c5}.g343-A1{--g343-color:#3074b8;color:#3074b8}.g343-B{--g343-color:#bf1848;color:#bf1848}.g343-B1{--g343-color:#b33362;color:#b33362}.g343-V,.g343-frame,.g343-also,.g343-link,.g343-degree,.g343-done,.g343-together{--g343-color:#6f28c9;color:#6f28c9}.g343-O{--g343-color:#b74b00;color:#b74b00}.g343-O1{--g343-color:#a35b1f;color:#a35b1f}.g343-TG{--g343-color:#986400;color:#986400}.g343-DD{--g343-color:#007b87;color:#007b87}.g343-PT,.g343-companion,.g343-recipient,.g343-giver{--g343-color:#087b43;color:#087b43}
.g343-patterns{display:grid;gap:20px}.g343 .g343-card{background:#fff!important;border:1px solid var(--g343-line)!important;border-radius:12px!important;padding:0!important;margin:0!important;box-shadow:0 3px 12px #4c287009;min-width:0;overflow:hidden}.g343-card-head{display:flex;align-items:center;gap:13px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid #ece4f5}.g343 .g343-card-head h3{font-size:clamp(18px,2vw,23px)!important;line-height:1.5!important;color:#201c42!important;flex:1;min-width:180px;font-family:inherit!important}.g343-pattern-no{display:inline-grid;place-items:center;min-width:42px;min-height:36px;padding:5px 8px;background:#7138d3;color:white;border-radius:8px;font-weight:750;font-size:18px}.g343-formula-label{background:#f1e9fc;color:#63319a;padding:5px 10px;border-radius:7px;font-size:12px;font-weight:700}.g343-card-body{padding:20px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:22px;align-items:start}.g343-example{padding:14px 12px;background:#fcfbff;border:1px solid #e4d8f2;border-radius:9px;min-width:0}.g343-example-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px;color:#625376}.g343 .g343-audio{display:flex;align-items:center;gap:7px;background:#eee3fc;color:#6125ad;border:1px solid #d2bcec;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:650;min-height:40px}.g343 .g343-audio:hover{background:#dfcdf6}.g343-sentence{display:flex;align-items:center;justify-content:center;gap:3px 5px;flex-wrap:wrap;padding:24px 0 8px;line-height:1.6;min-height:150px;max-width:100%}.g343-chunk{display:grid;grid-template-rows:25px minmax(44px,auto) minmax(25px,auto);justify-items:center;max-width:100%;align-items:center;gap:4px}.g343-rank{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--g343-color);color:#fff;font-size:14px;font-weight:750;line-height:1;font-family:'Segoe UI',Arial,sans-serif}.g343-jp{font-size:clamp(23px,2.4vw,34px);font-weight:750;line-height:1.8;border-bottom:3px solid var(--g343-color);padding:0 1px;overflow-wrap:anywhere;max-width:100%}.g343-jp rt{font-size:11px;font-weight:500;line-height:1.2;color:#625471}.g343-role{font-size:11px;font-weight:700;line-height:1.4;text-align:center;max-width:120px}.g343-particle{font-size:23px;color:#7c7585;white-space:pre-wrap}.g343-translation{min-width:0;display:grid;gap:12px}.g343-translation-row{display:grid;grid-template-columns:135px minmax(0,1fr);border:1px solid #e5dbf3;border-radius:7px;overflow:hidden;font-size:14px;line-height:1.7}.g343-translation-row>b{padding:10px;background:#ede6fb;font-size:12px;display:flex;align-items:center;color:#30214d}.g343-translation-row>p{padding:10px 12px;margin:0;overflow-wrap:anywhere;color:#2e2448}.g343-natural{margin-top:10px}.g343-natural p{font-weight:650}.g343-slash{color:#8a8095}.g343-assembly{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.g343-assembly>span{display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--g343-color) 7%,white);border:1px solid color-mix(in srgb,var(--g343-color) 22%,white);border-radius:5px;padding:5px 8px;font-size:11px;line-height:1.5}.g343-assembly>span>b{display:inline-grid;place-items:center;background:var(--g343-color);color:#fff;border-radius:50%;width:18px;height:18px;font-size:10px;flex-shrink:0}.g343 .g343-explain{padding:0!important;border:1px solid #eddbab!important;border-radius:8px!important;background:#fff7df!important;color:#4d4123;margin:0}.g343-explain summary{padding:10px 12px;list-style-position:inside;font-size:13px;font-weight:700}.g343-explain p{padding:0 12px 12px;margin:0;font-size:13px}.g343 .g343-practice{justify-self:start;background:#fff;color:#5e299e;border:1px solid #bba0d9;border-radius:7px;padding:9px 13px;font-size:12px;font-weight:650}.g343-practice-cover{padding:18px;background:#f2ecfc;border:1px dashed #b79ad9;border-radius:8px;font-size:14px;line-height:1.8}.g343-self-translate .g343-rank{visibility:hidden}.g343-self-translate .g343-guide,.g343-self-translate .g343-explain{display:none!important}
.g343-memory,.g343-noun-memory,.g343-note-card,.g343-clock-note{padding:20px;border:1px solid #dbc8ef;border-radius:12px;background:#fdfbff}.g343-memory h3{color:#422275;margin:0 0 18px}.g343-memory h3 small{font-size:12px;font-weight:500;margin-left:12px;color:#655277}.g343-memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.g343-memory-grid article{padding:16px 12px;border:1px solid #d2c1e9;background:#fff;border-radius:9px;text-align:center;min-width:0}.g343-memory-grid article:nth-child(1){background:#eff7ff;border-color:#bbd7f1}.g343-memory-grid article:nth-child(2){background:#fff0f4;border-color:#ebbed0}.g343-memory-grid article:nth-child(3){background:#fff7eb;border-color:#e8cfac}.g343-memory-grid p{font-size:14px;margin:9px 0}.g343-memory-grid strong{font-size:12px;color:#574569}.g343-scene{height:145px;position:relative;border-bottom:2px solid #dfd4ec;margin-bottom:10px}.g343-person{position:absolute;bottom:16px;display:grid;justify-items:center;width:44px}.g343-person.g343-me{left:12%}.g343-person.g343-you{right:12%}.g343-person span{width:26px;height:46px;background:#7455aa;border-radius:14px 14px 8px 8px;position:relative}.g343-person span::before{content:'';position:absolute;width:20px;height:20px;background:#7455aa;border:3px solid #fff;border-radius:50%;left:3px;top:-19px}.g343-person b{font-size:12px;color:#4c3673;margin-top:4px}.g343-location{position:absolute;bottom:5px;left:50%;font-size:22px;color:#6f28c9;line-height:1.3;display:grid;justify-items:center}.g343-location b{font-size:18px}.g343-location-ko{left:25%;bottom:0}.g343-location-so{left:auto;right:25%;bottom:0}.g343-location-a{left:44%;top:0;bottom:auto;font-size:17px}.g343-location-a::after{content:'';height:35px;border-left:2px dashed #b6a2cc;position:absolute;top:49px}.g343-polite{background:#f2eaff;border-radius:5px;padding:6px;color:#6527ad;font-weight:750}.g343-tip{background:#fff3d6;border:1px solid #f1dda6;border-radius:7px;padding:12px 14px;font-size:13px;color:#544323;line-height:1.75}.g343-memory>.g343-tip{margin-bottom:0}.g343-noun-memory{display:grid;grid-template-columns:minmax(170px,.35fr) minmax(0,1fr);gap:24px;align-items:center;background:#fff}.g343-noun-memory p,.g343-noun-memory li{font-size:14px}.g343-noun-memory ul{padding-left:20px}.g343-puzzle{display:flex;align-items:center;gap:10px;margin-top:18px}.g343-puzzle b{padding:18px;background:#e2efff;color:#1460c5;border:2px solid #a9c9f0;border-radius:10px;font-size:30px}.g343-puzzle b:last-child{background:#ffe7ee;color:#bf1848;border-color:#eeb4c6}.g343-clock-note{background:#f1e9fc;margin:0 0 20px;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.g343-clock-note p{margin:0}.g343-clock-note .secondary{color:#5d2a93;border-color:#b79dce;background:white}
.g343-adjectives{display:grid;gap:15px}.g343-note-card{background:#fff}.g343-note-card h3{margin-bottom:18px}.g343-note-card p{font-size:14px}.g343-note-card mark{padding:0 2px;color:#7726b7;background:#eee0ff;border-radius:2px;font-weight:800}.g343-comparisons{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.g343-comparisons>span{padding:9px 12px;border-radius:7px;font-weight:650;font-size:16px}.g343-ok{background:#eaf7ef;color:#087844;border:1px solid #b6dfc7}.g343-wrong{background:#fff0f2;color:#b42242;border:1px solid #e7b9c3}.g343-reverse-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.g343-reverse-grid>div{padding:18px;background:#f1ecfc;border:1px solid #ddd0ef;border-radius:8px;font-size:20px;font-weight:650;line-height:1.8;overflow-wrap:anywhere}.g343-reverse-grid span{display:block;font-size:14px;color:#654780;margin-top:6px}.g343-ii-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.g343-ii-grid>div{border:1px solid #dfd3ef;border-radius:8px;overflow:hidden;text-align:center}.g343-ii-grid b{display:block;background:#eee6fb;padding:9px;font-size:13px;color:#4c2a7e}.g343-ii-grid span{display:block;padding:15px 10px;font-size:22px;font-weight:750;color:#4c2680}
.g343-controls{background:#fff;border:1px solid #d9c8ec;border-radius:10px;margin:8px 0 20px;padding:16px 18px;font-family:'Segoe UI',Arial,sans-serif;color:#302442}.g343-control-main{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.g343-controls .button{background:#7138d3;border-color:#7138d3;color:#fff}.g343-controls .secondary{background:#fff;color:#5c2a93;border-color:#bfa3da}.g343-controls :is(button,select){min-height:42px;border-radius:7px;font-family:inherit;font-size:13px}.g343-controls button:disabled{opacity:.45}.g343-control-toggles{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px;font-size:13px}.g343-controls #foundation-status161{margin:10px 0 0;font-size:12px;color:#665377}.g343-controls .study-voice167{margin-left:auto;font-size:12px}.g343-controls select{background:#fff;color:#422867;border-color:#bda6d4}
#foundation161.foundation-hide-furigana .g343 rt{display:none}#foundation161.foundation-hide-meaning .g343-meaning{display:none!important}
@media(max-width:1000px){.g343-card-body{grid-template-columns:1fr}.g343-glossary-body{grid-template-columns:1fr}.g343-key-note{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.g343-key-note p{margin:0}.g343-key-note small{flex-basis:100%}.g343-sentence{padding:18px 0 8px}.g343-translation-row{grid-template-columns:150px minmax(0,1fr)}}
@media(max-width:650px){#foundation161.g343-foundation{padding:12px!important}.g343-intro{padding:16px}.g343-intro p{font-size:15px}.g343-glossary>summary{padding:14px;font-size:18px}.g343-summary-hint{display:none}.g343-glossary-body{padding:0 12px 14px;gap:12px}.g343 th,.g343 td{padding:8px;font-size:12px}.g343 td[lang=ja]{font-size:16px;min-width:95px}.g343 td small{font-size:11px}.g343-key-note{padding:12px;font-size:12px}.g343-card-head{padding:13px;gap:9px}.g343 .g343-card-head h3{font-size:17px!important;min-width:150px}.g343-formula-label{display:none}.g343-pattern-no{min-width:34px;min-height:32px;font-size:16px}.g343-card-body{padding:13px;gap:14px}.g343-example{padding:12px 9px}.g343-example-tools{font-size:10px}.g343 .g343-audio{font-size:11px;padding:7px}.g343-jp{font-size:25px}.g343-role{font-size:10px;max-width:90px}.g343-sentence{gap:5px 3px}.g343-rank{width:23px;height:23px;font-size:13px}.g343-translation-row{grid-template-columns:112px minmax(0,1fr);font-size:13px}.g343-translation-row>b{font-size:11px;padding:8px}.g343-translation-row>p{padding:8px}.g343-assembly>span{font-size:10px}.g343-memory,.g343-noun-memory,.g343-note-card{padding:15px}.g343 h3{font-size:18px}.g343-memory h3 small{display:block;margin:5px 0 0}.g343-memory-grid{grid-template-columns:1fr;gap:10px}.g343-memory-grid article{padding:16px}.g343-scene{max-width:280px;margin:24px auto 10px}.g343-memory-grid h4{font-size:16px}.g343-noun-memory{grid-template-columns:1fr;gap:14px}.g343-puzzle{margin-top:14px;justify-content:center}.g343-reverse-grid{grid-template-columns:1fr}.g343-reverse-grid>div{font-size:19px;padding:15px}.g343-ii-grid{grid-template-columns:1fr}.g343-ii-grid>div{display:grid;grid-template-columns:110px 1fr;align-items:center}.g343-ii-grid b{height:100%;display:grid;place-items:center}.g343-ii-grid span{font-size:22px;padding:12px}.g343-comparisons>span{font-size:14px;padding:8px}.g343-controls{padding:13px}.g343-controls .study-voice167{margin-left:0}.g343-control-toggles{gap:10px}}
@media(prefers-reduced-motion:reduce){.g343 *{scroll-behavior:auto!important}}

/* Formula meaning stays immediately below its Japanese pattern, separate from example translation. */
.g343 .g344-heading{flex:1;min-width:180px}.g343 .g344-heading h3{margin:0!important;min-width:0}.g343 .g344-formula-meaning{margin:5px 0 0;color:#5a308b;font-size:15px;font-weight:600;line-height:1.65;overflow-wrap:anywhere}.g343-card-head{align-items:flex-start}.g343-card-head>.g343-formula-label{margin-top:3px}
@media(max-width:650px){.g343 .g344-heading{min-width:150px}.g343 .g344-formula-meaning{font-size:13px;line-height:1.6;margin-top:5px}}

/* Disclosure headers keep the whole lesson scannable on both phones and computers. */
.g345 .g343-intro{padding:16px 20px;margin-bottom:12px}.g345 .g343-intro h2{font-size:24px!important;margin-bottom:5px}.g345 .g343-intro p{font-size:14px;margin-bottom:2px}.g345 .g343-intro small{font-size:12px}.g345 .g343-glossary{margin-bottom:12px!important}.g345 .g343-glossary>summary{font-size:16px;padding:11px 16px}.g345-notation{padding:0 20px 16px}.g345 .g343-patterns{gap:10px}.g345-pattern{padding:0!important;margin:0!important;border:0!important;border-radius:12px!important;background:#fff!important;color:#202541}.g345-pattern>summary{list-style:none;border:0;cursor:pointer;min-height:76px;align-items:center;padding:12px 16px}.g345-pattern>summary::-webkit-details-marker{display:none}.g345-pattern>summary:hover{background:#f7f3ff}.g345-pattern>summary:focus-visible{outline:3px solid #7037c8;outline-offset:-3px;border-radius:10px}.g345-pattern[open]>summary{border-bottom:1px solid #ded3f0;background:#f8f5ff}.g345-pattern .g344-heading{min-width:0!important}.g345-pattern .g343-pattern-no{min-width:34px;min-height:32px;font-size:15px}.g345-pattern .g344-heading h3{font-size:18px!important;overflow-wrap:anywhere}.g345-pattern .g344-formula-meaning{font-size:13px;margin-top:3px}.g345-expand{display:flex;align-items:center;gap:8px;color:#6830a9;font-size:12px;white-space:nowrap;margin-left:auto}.g345-expand>span:last-child{font-size:22px;transition:transform .15s}.g345-pattern[open]>.g343-card-head .g345-expand>span:last-child{transform:rotate(180deg)}.g345-hide,.g345-pattern[open]>.g343-card-head .g345-show{display:none}.g345-pattern[open]>.g343-card-head .g345-hide{display:inline}.g345 .g343-formula-label{display:none}
.g345-accordion-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.g345-accordion-tools p{font-size:13px;margin:0;color:#5c4e70}.g345-accordion-tools>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.g345-accordion-tools button{background:#fff;border:1px solid #bda6db;color:#5d279d;border-radius:7px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.4;padding:9px 12px;min-height:44px}.g345-accordion-tools button:hover{background:#eee4fc}#g345-open-count{font-size:12px;color:#655572}.g345-supplements{padding:0 20px 20px;display:grid;gap:14px}.g345-supplements:empty{display:none}.g345-note{padding:16px;background:#faf8ff;border:1px solid #ded1ef;border-radius:10px;min-width:0}.g345-note h4{font-size:17px;color:#4f2685;margin:0 0 12px}.g345-note p{font-size:14px;margin:10px 0 0}.g345-note table{font-size:14px;table-layout:fixed}.g345-note :is(td,th){overflow-wrap:anywhere}.g345-note tbody th{color:#50298a;background:#f5effd;font-weight:650}.g345-note td{color:#202541}.g345-note td:last-child{font-weight:500}.g345-memory{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:center}.g345-memory img{width:100%;height:auto;border-radius:8px}.g345-memory p{margin:0 0 12px}.g345-exception{display:flex;gap:20px;align-items:center;padding:16px;background:#fff0f4;border:1px solid #e8bdcc;border-radius:8px}.g345-exception>span{font-size:38px}.g345-exception b{font-size:25px;color:#b51c48}.g345-note .g345-song{max-width:720px;margin:0 auto;max-height:65svh;object-fit:contain}.g345-song-link{display:inline-block;font-size:14px;color:#5e2b9e;padding:12px 0;min-height:44px}.g345-clock-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.g345-clock-grid article{padding:16px;background:#eff7ff;border:1px solid #bbd4ed;border-radius:9px}.g345-clock-grid article:nth-child(2){background:#eaf9f2;border-color:#aedec9}.g345-clock-grid strong{display:block;font-size:15px}.g345-clock-grid h4{font-size:26px;color:#1f4f9f}.g345-clock-grid article:nth-child(2) h4{color:#08784c}.g345-timebar,.g345-timechecks{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;margin:16px 0;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.g345-timebar span{color:#3778c2}.g345-timechecks span:last-child{color:#b91b40}.g345-clock-grid p[lang=ja]{font-size:20px}.g345-clock-grid small{font-size:12px;line-height:1.6;display:block;margin-top:10px}.g345-review{padding:0!important;margin:0 0 14px!important;border:1px solid #d9c9ee!important;background:#fff!important;border-radius:9px}.g345-review>summary{padding:14px;color:#5e2a91;font-size:15px;font-weight:700}.g345-fallback{padding:16px}.g345-fallback .study-grammar167{margin:0!important}.g345-pattern>.g343-memory,.g345-pattern>.g343-noun-memory,.g345-pattern>.g343-adjectives{margin:0 20px 20px}.g345-pattern>.g343-adjectives{border:0;padding:0}
.g345-quantity,.g345-duration,.g345-frequency{--g343-color:#986400;color:#986400}.g345-comparison,.g345-scope,.g345-purpose,.g345-action1,.g345-action2,.g345-quality2,.g345-question,.g345-manner{--g343-color:#6f28c9;color:#6f28c9}.g345-attribute{--g343-color:#1460c5;color:#1460c5}.g345 .g343-role{max-width:150px}
@media(max-width:650px){.g345 .g343-intro{padding:12px}.g345 .g343-intro h2{font-size:20px!important}.g345 .g343-intro small{font-size:11px}.g345-pattern>summary{padding:11px 12px;gap:9px;flex-wrap:nowrap;min-height:76px}.g345-pattern .g344-heading h3{font-size:16px!important}.g345-pattern .g344-formula-meaning{font-size:12px;line-height:1.5}.g345-expand{font-size:0;gap:0}.g345-expand>span:last-child{font-size:23px}.g345-accordion-tools{gap:7px}.g345-accordion-tools p{font-size:12px}.g345-accordion-tools button{padding:8px 10px}.g345 .g343-patterns{gap:8px}.g345 .g343-glossary>summary{font-size:15px;padding:10px 12px}.g345-notation{padding:0 12px 12px}.g345-supplements{padding:0 12px 12px;gap:10px}.g345-note{padding:12px}.g345-note h4{font-size:16px}.g345-note p{font-size:13px}.g345-note :is(td,th){font-size:12px;padding:8px 6px}.g345-memory,.g345-clock-grid{grid-template-columns:1fr}.g345-memory img{max-width:420px;margin:auto}.g345-exception{gap:10px;padding:12px;flex-wrap:wrap}.g345-exception>span{font-size:30px}.g345-exception b{font-size:23px}.g345-pattern>.g343-memory,.g345-pattern>.g343-noun-memory,.g345-pattern>.g343-adjectives{margin:0 12px 12px}}
@media(prefers-reduced-motion:reduce){.g345-expand>span:last-child{transition:none}}

/* Fit the learning workspace to the visible screen; retain overflow for large text/zoom. */
.f342-lesson.f345-fit{scroll-margin-top:var(--f345-inset,8px)}.f345-fit .f342-heading{margin:0 0 10px;gap:8px}.f345-fit .f342-heading h2{font-size:18px!important;margin:0}.f345-fit .f342-heading p{font-size:12px!important;margin:3px 0 0}.f345-fit .f342-actions{gap:6px}.f345-fit .f342-actions button{font-size:12px;padding:8px 11px;min-height:44px}
.f345-fit #f342-stage>.f341-workspace{height:var(--f345-height,70svh);min-height:300px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:0}.f345-fit #f342-stage>.f341-workspace>.f341-canvas{min-height:0;height:100%}.f345-fit #f342-stage .f341-canvas .f341-flip{height:100%!important;min-height:0;margin:0}.f345-fit #f342-stage .f341-toolbar{padding:8px 12px;gap:5px}.f345-fit #f342-stage .f341-toolbar-main{gap:8px;flex-wrap:nowrap}.f345-fit #f342-stage .f341-toolbar-tools{gap:5px;flex-wrap:nowrap}.f345-fit #f342-stage .f341-toolbar-tools>.f341-tool{padding:5px 8px;min-width:44px;min-height:44px;font-size:12px}.f345-fit #f342-stage .f341-tabs button{font-size:12px;padding:6px 10px;min-height:44px}.f345-fit #f342-stage :is(.f341-again,.f341-known){padding:7px 12px;min-height:44px;font-size:13px}.f345-fit #f342-stage .f341-ratings{gap:10px;flex-wrap:nowrap}.f345-fit #f342-stage .f341-counter{font-size:14px}.f345-fit #f342-stage .f341-turn{padding:7px 10px;min-height:44px;font-size:12px;white-space:nowrap}.f345-fit #f342-stage .f341-settings summary{min-height:44px;padding:5px}.f345-fit #f342-stage .f341-toolbar-tools svg{width:21px;height:21px}
.f345-fit #f342-stage .lv-face327{padding:20px 52px 14px;gap:6px}.f345-fit #f342-stage .lv-front327 h3{font-size:clamp(34px,5vw,72px);line-height:1.45;margin:4px 0}.f345-fit #f342-stage .lv-front327 h3.f341-sentence{font-size:clamp(23px,2.5vw,34px);line-height:1.65}.f345-fit #f342-stage .lv-back327{display:flex;justify-content:center}.f345-fit #f342-stage .lv-reading327{font-size:24px;line-height:1.5}.f345-fit #f342-stage .f342-back-word{font-size:36px;line-height:1.3}.f345-fit #f342-stage .lv-meaning327{font-size:22px;line-height:1.45}.f345-fit #f342-stage .f341-hv{font-size:14px!important;line-height:1.4}.f345-fit #f342-stage .f341-sound{min-height:36px;padding:4px 8px;font-size:12px}.f345-fit #f342-stage .lv-example327{padding-top:8px;margin-top:4px;line-height:1.5}.f345-fit #f342-stage .lv-example327 p[lang=ja]{font-size:20px;line-height:1.65;margin:3px 0}.f345-fit #f342-stage .lv-example327 p:not([lang]){font-size:14px;line-height:1.5;margin:3px 0}.f345-fit #f342-stage .lv-note327{font-size:13px;padding-top:4px}.f345-fit #f342-stage .f341-workspace>.textbutton{display:none}.f345-fit #f342-stage .f341-note{display:none}.f345-fit #f342-stage #f341-audio:not(:empty){grid-column:1;margin:4px 0;font-size:12px}
/* A long meaning or accessibility zoom can scroll inside the card without hiding controls. */
.f345-fit #f342-stage .lv-face327{overflow:auto;overscroll-behavior:contain}.f345-fit #f342-stage .lv-back327::before{content:'';margin-top:auto}.f345-fit #f342-stage .lv-back327::after{content:'';margin-bottom:auto}.f345-fit #f342-stage .lv-back327{justify-content:flex-start}.f345-fit #f342-stage .f341-finished{min-height:260px}.f345-fit #f342-stage>.f341-workspace:fullscreen{height:100svh!important;grid-template-rows:minmax(0,1fr) auto;padding:12px}.f345-fit #f342-stage>.f341-workspace.f341-expanded{height:calc(100svh - 20px)!important}
@media(min-width:1000px) and (min-height:740px){.f345-fit #f342-stage .lv-back327{padding-left:70px;padding-right:70px}.f345-fit #f342-stage .lv-example327{max-width:850px}.f345-fit #f342-stage .lv-example327 p[lang=ja]{font-size:23px}}
@media(max-width:850px){.f345-fit #f342-stage .f341-toolbar-main{flex-wrap:wrap;justify-content:space-between}.f345-fit #f342-stage .f341-tabs{margin:0}.f345-fit #f342-stage .f341-turn{order:0}.f345-fit #f342-stage .f341-ratings{order:1;flex-basis:100%;justify-content:center}.f345-fit #f342-stage .f341-again,.f345-fit #f342-stage .f341-known{flex:1;max-width:220px}.f345-fit #f342-stage .f341-toolbar-tools{justify-content:space-between}}
@media(max-width:600px){.f345-fit .f342-heading{gap:7px;display:grid}.f345-fit .f342-heading h2{font-size:16px!important}.f345-fit .f342-heading p{display:none}.f345-fit .f342-actions{width:100%;flex-wrap:nowrap}.f345-fit .f342-actions button{font-size:11px;padding:6px;min-height:44px}.f345-fit #f342-stage .f341-toolbar{padding:5px 8px;gap:3px}.f345-fit #f342-stage .f341-toolbar-main{gap:4px}.f345-fit #f342-stage .f341-toolbar-tools>.f341-tool{min-width:36px;padding:5px;gap:4px}.f345-fit #f342-stage .f341-tool span{font-size:10px}.f345-fit #f342-stage .f341-tool[aria-label="Phóng to thẻ"] span,.f345-fit #f342-stage .f341-tool[aria-label="Xem lại từ đầu"] span{display:none}.f345-fit #f342-stage .lv-face327{padding:14px 38px 10px;gap:4px}.f345-fit #f342-stage .lv-reading327{font-size:22px}.f345-fit #f342-stage .f342-back-word{font-size:29px}.f345-fit #f342-stage .lv-meaning327{font-size:19px}.f345-fit #f342-stage .lv-example327 p[lang=ja]{font-size:18px}.f345-fit #f342-stage .lv-example327 p:not([lang]){font-size:13px}.f345-fit #f342-stage .f341-face-label{font-size:10px}.f345-fit #f342-stage .f341-tap{font-size:11px;margin-top:4px}.f345-fit #f342-stage .f341-arrow{width:32px;min-height:44px;height:44px}}
@media(max-height:739px){.f345-fit #f342-stage .lv-face327{gap:2px;padding-top:12px;padding-bottom:8px}.f345-fit #f342-stage .lv-reading327{font-size:20px}.f345-fit #f342-stage .f342-back-word{font-size:27px}.f345-fit #f342-stage .lv-meaning327{font-size:18px}.f345-fit #f342-stage .f341-hv{font-size:12px!important}.f345-fit #f342-stage .lv-example327{padding-top:5px;margin-top:2px}.f345-fit #f342-stage .lv-example327 p[lang=ja]{font-size:17px}.f345-fit #f342-stage .lv-example327 p:not([lang]){font-size:12px}.f345-fit #f342-stage .lv-example327 rt{font-size:9px}}

/* One complete lesson frame, from progress/navigation through the next-part action. */
#main.f346-page{height:var(--f346-height,calc(100svh - 8px));min-height:0;max-height:none;display:flex;flex-direction:column;gap:8px;padding:10px 24px;scroll-margin-top:var(--f346-inset,0px);color:#20243f}
#main.f346-page>.page-head{flex-shrink:0;display:flex;gap:18px;align-items:center;margin:0;min-height:50px}#main.f346-page>.page-head h1{font-size:26px;line-height:1.25;margin:0 0 3px;letter-spacing:-.5px}#main.f346-page>.page-head p{font-size:12px;line-height:1.5;margin:0;color:#625471}#main.f346-page .f346-chooser{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:1;flex-wrap:nowrap}#main.f346-page .f346-chooser>button{white-space:nowrap;padding:8px 12px;min-height:44px;font-size:12px}#main.f346-page .f346-chooser label{display:flex;gap:7px;align-items:center;font-size:12px}#main.f346-page .f346-chooser select{width:min(330px,29vw);padding:8px;min-height:44px;font-size:12px;background:#fff;color:#20243f;border:1px solid #c7b7dc;border-radius:7px}
#main.f346-page>.n5-nav98{padding:0!important;margin:0!important;border:0;background:transparent;flex-shrink:0}#main.f346-page .n4-tabs46{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;margin:0;padding:0 0 2px;border:0}#main.f346-page .n4-tabs46 button{min-height:44px;white-space:nowrap;font-size:12px;padding:7px 12px;margin:0;border-radius:7px}
#main.f346-page>#foundation161{display:flex!important;flex-direction:column;flex:1;min-height:0;margin:0!important;padding:10px 12px!important;border-radius:12px;gap:0;background:#fafbff}#main.f346-page>#foundation161>.row{display:none!important}#main.f346-page>#foundation161>.foundation-grid161{display:flex!important;flex-direction:column;flex:1;min-height:0;margin:0!important;gap:0!important}#main.f346-page .f342-lesson{height:100%;min-height:0;display:flex;flex-direction:column;gap:0}#main.f346-page .f342-heading{flex-shrink:0;min-height:44px;padding:0 3px 7px;margin:0;gap:8px}#main.f346-page .f342-heading h2{font-size:16px!important;line-height:1.4}#main.f346-page .f342-heading p{font-size:11px!important;line-height:1.3}#main.f346-page .f342-actions{gap:5px}#main.f346-page .f342-actions button{min-height:44px;padding:7px 10px;font-size:12px}
#main.f346-page #f342-stage{flex:1;min-height:0}#main.f346-page #f342-stage>.f341-workspace{height:100%!important;min-height:0!important;max-height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto}#main.f346-page #f342-stage .f341-canvas{height:100%;min-height:0}#main.f346-page #f342-stage .f341-flip{height:100%!important;min-height:0!important}#main.f346-page #f342-stage .lv-face327{padding-top:12px;padding-bottom:10px}#main.f346-page #f342-stage .lv-front327 h3{font-size:clamp(34px,5vw,64px);margin:0;line-height:1.4}#main.f346-page #f342-stage .lv-front327 h3.f341-sentence{font-size:clamp(21px,2.5vw,30px);line-height:1.6}#main.f346-page #f342-stage .f341-tap{margin-top:2px;font-size:11px}#main.f346-page #f342-stage .f341-toolbar{padding:6px 10px;gap:4px}#main.f346-page #f342-stage .f341-toolbar-main{justify-content:space-between}#main.f346-page #f342-stage .f341-toolbar-tools{justify-content:flex-start;gap:6px}#main.f346-page #f342-stage>.f341-workspace:fullscreen{height:100svh!important;max-height:none;padding:12px}#main.f346-page #f342-stage>.f341-workspace:fullscreen .lv-front327 h3{font-size:clamp(38px,6vw,90px)}
#main.f346-page>.n5-footer98{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;gap:10px;margin:0;padding:0;min-height:44px}#main.f346-page>.n5-footer98>.f346-source{font-size:10px;line-height:1.4;color:#6b6575;margin:0 auto 0 0;max-width:70%}#main.f346-page>.n5-footer98>span:empty{display:none}#main.f346-page>.n5-footer98>button{font-size:12px;min-height:44px;padding:8px 14px;white-space:nowrap}
#main.f346-page>#j328-studybar{flex-shrink:0;margin:0;padding:5px 12px;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:9px}#main.f346-page>#j328-studybar>div:first-child{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}#main.f346-page>#j328-studybar>div:first-child small{font-size:8px;flex-basis:100%;line-height:1;margin:0}#main.f346-page>#j328-studybar strong{font-size:12px;line-height:1.4}#main.f346-page>#j328-studybar span{font-size:11px;margin:0;line-height:1.4}.f346-progress-actions{padding:0!important;margin:0!important;border:0!important;background:transparent!important;color:#225b4c}.f346-progress-actions>summary{display:none}.f346-progress-actions>div{display:flex;align-items:center;gap:6px}.f346-progress-actions button{font-size:11px!important;min-height:44px;padding:7px 10px!important;white-space:nowrap}.f346-progress-actions summary:focus-visible{outline:3px solid #7037c8;outline-offset:2px}
/* Optional long panels open over the workspace, without pushing the flashcard off screen. */
#main.f346-page #f342-list:not([hidden]){position:fixed;inset:8svh max(16px,calc((100vw - 1050px)/2)) 8svh;z-index:45;overflow:auto;background:#fff;padding:18px;border:2px solid #9570cb;border-radius:12px;box-shadow:0 12px 70px #23113c66;margin:0}#main.f346-page .f346-list-close{position:sticky;top:0;float:right;background:#fff;color:#5f269d;border:1px solid #ad91d1;min-height:44px;border-radius:7px;padding:7px 14px;z-index:1}#main.f346-page .f346-reward{position:relative;padding:0;margin:4px 0 0;border:1px solid #d4c3e9;border-radius:6px;background:#fff;flex-shrink:0}#main.f346-page .f346-reward>summary{min-height:36px;padding:7px 10px;font-size:12px;color:#612a9a}#main.f346-page .f346-reward>#reward66{position:absolute;z-index:6;bottom:100%;left:0;right:0;max-height:65svh;overflow:auto;margin:0;background:#fff;box-shadow:0 5px 30px #22133633}
@media(max-width:950px){#main.f346-page{padding:8px 14px;gap:6px}#main.f346-page>.page-head h1{font-size:23px}#main.f346-page .f346-chooser{gap:6px}#main.f346-page .f346-chooser select{width:25vw}#main.f346-page .f346-chooser label{font-size:0}#main.f346-page .n4-tabs46 button{font-size:11px;padding:7px 10px}#main.f346-page .f342-heading p{display:none}#main.f346-page .f342-heading{padding-bottom:5px}}
@media(max-width:600px){#main.f346-page{padding:6px 8px;gap:5px}#main.f346-page>.page-head{display:block;min-height:0}#main.f346-page>.page-head>div:first-child{display:flex;align-items:center;gap:8px;justify-content:space-between;margin:0 0 4px}#main.f346-page>.page-head h1{font-size:18px;white-space:nowrap;margin:0}#main.f346-page>.page-head p{font-size:10px;line-height:1.35;max-width:57%;text-align:right}#main.f346-page .f346-chooser{justify-content:space-between;width:100%}#main.f346-page .f346-chooser>button{font-size:10px;padding:5px 8px}#main.f346-page .f346-chooser label{flex:1;min-width:0}#main.f346-page .f346-chooser select{width:100%;font-size:11px}#main.f346-page .n4-tabs46{gap:4px}#main.f346-page .n4-tabs46 button{font-size:10px;padding:5px 8px;min-height:40px}#main.f346-page>#foundation161{padding:5px 6px!important}#main.f346-page .f342-heading{display:flex;flex-wrap:nowrap;min-height:44px;gap:3px;padding:0 0 3px}#main.f346-page .f342-heading>div:first-child{display:none}#main.f346-page .f342-actions{width:100%;gap:4px}#main.f346-page .f342-actions button{font-size:10px;padding:5px;min-height:40px}#main.f346-page #f342-stage .f341-toolbar{padding:4px 6px;gap:3px}#main.f346-page #f342-stage .f341-toolbar-tools{justify-content:space-between;gap:2px}#main.f346-page #f342-stage .f341-tool{min-height:40px!important}#main.f346-page #f342-stage .f341-arrow{width:32px}#main.f346-page #f342-stage .f341-face-label{font-size:9px}#main.f346-page #f342-stage .lv-face327{padding:8px 36px;gap:3px}#main.f346-page #f342-stage .f341-tap{font-size:10px}#main.f346-page #f342-stage .lv-front327 h3{font-size:clamp(30px,9vw,44px)}#main.f346-page #f342-stage .lv-front327 h3.f341-sentence{font-size:21px}#main.f346-page>.n5-footer98>.f346-source{font-size:9px;max-width:62%}#main.f346-page>.n5-footer98>button{font-size:11px;padding:6px 10px;min-height:40px}#main.f346-page>.n5-footer98{min-height:40px}#main.f346-page>#j328-studybar{min-height:38px;padding:3px 8px;gap:5px}#main.f346-page>#j328-studybar>div:first-child{gap:6px;flex-wrap:nowrap}#main.f346-page>#j328-studybar>div:first-child small{display:none}#main.f346-page>#j328-studybar strong{font-size:10px}#main.f346-page>#j328-studybar span{font-size:10px}.f346-progress-actions{position:relative;flex-shrink:0}.f346-progress-actions>summary{display:flex;align-items:center;padding:4px 7px;min-height:36px;list-style:disclosure-closed;font-size:11px;cursor:pointer}.f346-progress-actions>div{position:absolute;right:0;top:100%;z-index:30;display:grid!important;width:245px;padding:10px;border:1px solid #c8d6bc;background:#fbfff5;border-radius:8px;box-shadow:0 6px 25px #23302033}.f346-progress-actions:not([open])>div{display:none!important}.f346-progress-actions button{width:100%;min-height:44px}.f346-progress-actions[open]>summary{background:#e2ebd8;border-radius:6px}}
@media(max-height:600px) and (min-width:601px){#main.f346-page{gap:4px;padding-top:4px;padding-bottom:4px}#main.f346-page>.page-head{min-height:44px}#main.f346-page>.page-head h1{font-size:20px}#main.f346-page>.page-head p{font-size:10px}#main.f346-page>#j328-studybar>div:first-child small{display:none}#main.f346-page>#j328-studybar{min-height:44px}#main.f346-page #f342-stage .lv-front327 h3{font-size:38px}}

.g348-example-count{font-size:14px!important;font-weight:700;color:#622aa8;margin:0 0 10px!important}
.g348-extra-example{padding:18px;border:1px solid #ded1f0;border-radius:10px;background:#fff;min-width:0}.g348-extra-example>header{height:auto;padding:0;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border:0;background:transparent}.g348-extra-example>header h4{font-size:15px;color:#622aa8;margin:0}.g348-extra-example .g343-sentence{min-height:120px;padding-top:16px}.g348-extra-example .g343-natural{margin-top:0}.g348-extra-example .g343-jp{font-size:clamp(21px,2.2vw,30px)}.g348-extra-example .g343-tip{margin-bottom:0}.g348-extra-example .g343-translation-row{grid-template-columns:130px minmax(0,1fr)}
@media(max-width:650px){.g348-extra-example{padding:12px}.g348-extra-example .g343-jp{font-size:23px}.g348-extra-example .g343-translation-row{grid-template-columns:100px minmax(0,1fr)}.g348-extra-example .g343-sentence{min-height:110px}}

/* One complete lesson frame, from progress/navigation through the next-part action. */
#main.f349-page{height:var(--f349-height,calc(100svh - 8px));min-height:0;max-height:none;display:flex;flex-direction:column;gap:8px;padding:10px 24px;scroll-margin-top:var(--f349-inset,0px);color:#20243f}
#main.f349-page>.page-head{flex-shrink:0;display:flex;gap:18px;align-items:center;margin:0;min-height:50px}#main.f349-page>.page-head h1{font-size:26px;line-height:1.25;margin:0 0 3px;letter-spacing:-.5px}#main.f349-page>.page-head p{font-size:12px;line-height:1.5;margin:0;color:#625471}#main.f349-page .f349-chooser{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:1;flex-wrap:nowrap}#main.f349-page .f349-chooser>button{white-space:nowrap;padding:8px 12px;min-height:44px;font-size:12px}#main.f349-page .f349-chooser label{display:flex;gap:7px;align-items:center;font-size:12px}#main.f349-page .f349-chooser select{width:min(330px,29vw);padding:8px;min-height:44px;font-size:12px;background:#fff;color:#20243f;border:1px solid #c7b7dc;border-radius:7px}
#main.f349-page>.n5-nav98{padding:0!important;margin:0!important;border:0;background:transparent;flex-shrink:0}#main.f349-page .n4-tabs46{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;margin:0;padding:0 0 2px;border:0}#main.f349-page .n4-tabs46 button{min-height:44px;white-space:nowrap;font-size:12px;padding:7px 12px;margin:0;border-radius:7px}
#main.f349-page>#foundation161{display:flex!important;flex-direction:column;flex:1;min-height:0;margin:0!important;padding:10px 12px!important;border-radius:12px;gap:0;background:#fafbff}#main.f349-page>#foundation161>.row{display:none!important}#main.f349-page>#foundation161>.foundation-grid161{display:flex!important;flex-direction:column;flex:1;min-height:0;margin:0!important;gap:0!important}#main.f349-page .f342-lesson{height:100%;min-height:0;display:flex;flex-direction:column;gap:0}#main.f349-page .f342-heading{flex-shrink:0;min-height:44px;padding:0 3px 7px;margin:0;gap:8px}#main.f349-page .f342-heading h2{font-size:16px!important;line-height:1.4}#main.f349-page .f342-heading p{font-size:11px!important;line-height:1.3}#main.f349-page .f342-actions{gap:5px}#main.f349-page .f342-actions button{min-height:44px;padding:7px 10px;font-size:12px}
#main.f349-page #f342-stage{flex:1;min-height:0}#main.f349-page #f342-stage>.f341-workspace{height:100%!important;min-height:0!important;max-height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto}#main.f349-page #f342-stage .f341-canvas{height:100%;min-height:0}#main.f349-page #f342-stage .f341-flip{height:100%!important;min-height:0!important}#main.f349-page #f342-stage .lv-face327{padding-top:12px;padding-bottom:10px}#main.f349-page #f342-stage .lv-front327 h3{font-size:clamp(34px,5vw,64px);margin:0;line-height:1.4}#main.f349-page #f342-stage .lv-front327 h3.f341-sentence{font-size:clamp(21px,2.5vw,30px);line-height:1.6}#main.f349-page #f342-stage .f341-tap{margin-top:2px;font-size:11px}#main.f349-page #f342-stage .f341-toolbar{padding:6px 10px;gap:4px}#main.f349-page #f342-stage .f341-toolbar-main{justify-content:space-between}#main.f349-page #f342-stage .f341-toolbar-tools{justify-content:flex-start;gap:6px}#main.f349-page #f342-stage>.f341-workspace:fullscreen{height:100svh!important;max-height:none;padding:12px}#main.f349-page #f342-stage>.f341-workspace:fullscreen .lv-front327 h3{font-size:clamp(38px,6vw,90px)}
#main.f349-page>.n5-footer98{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;gap:10px;margin:0;padding:0;min-height:44px}#main.f349-page>.n5-footer98>.f349-source{font-size:10px;line-height:1.4;color:#6b6575;margin:0 auto 0 0;max-width:70%}#main.f349-page>.n5-footer98>span:empty{display:none}#main.f349-page>.n5-footer98>button{font-size:12px;min-height:44px;padding:8px 14px;white-space:nowrap}
#main.f349-page>#j328-studybar{flex-shrink:0;margin:0;padding:5px 12px;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:9px}#main.f349-page>#j328-studybar>div:first-child{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}#main.f349-page>#j328-studybar>div:first-child small{font-size:8px;flex-basis:100%;line-height:1;margin:0}#main.f349-page>#j328-studybar strong{font-size:12px;line-height:1.4}#main.f349-page>#j328-studybar span{font-size:11px;margin:0;line-height:1.4}.f349-progress-actions{padding:0!important;margin:0!important;border:0!important;background:transparent!important;color:#225b4c}.f349-progress-actions>summary{display:none}.f349-progress-actions>div{display:flex;align-items:center;gap:6px}.f349-progress-actions button{font-size:11px!important;min-height:44px;padding:7px 10px!important;white-space:nowrap}.f349-progress-actions summary:focus-visible{outline:3px solid #7037c8;outline-offset:2px}
/* Optional long panels open over the workspace, without pushing the flashcard off screen. */
#main.f349-page #f342-list:not([hidden]){position:fixed;inset:8svh max(16px,calc((100vw - 1050px)/2)) 8svh;z-index:45;overflow:auto;background:#fff;padding:18px;border:2px solid #9570cb;border-radius:12px;box-shadow:0 12px 70px #23113c66;margin:0}#main.f349-page .f349-list-close{position:sticky;top:0;float:right;background:#fff;color:#5f269d;border:1px solid #ad91d1;min-height:44px;border-radius:7px;padding:7px 14px;z-index:1}#main.f349-page .f349-reward{position:relative;padding:0;margin:4px 0 0;border:1px solid #d4c3e9;border-radius:6px;background:#fff;flex-shrink:0}#main.f349-page .f349-reward>summary{min-height:36px;padding:7px 10px;font-size:12px;color:#612a9a}#main.f349-page .f349-reward>#reward66{position:absolute;z-index:6;bottom:100%;left:0;right:0;max-height:65svh;overflow:auto;margin:0;background:#fff;box-shadow:0 5px 30px #22133633}
@media(max-width:950px){#main.f349-page{padding:8px 14px;gap:6px}#main.f349-page>.page-head h1{font-size:23px}#main.f349-page .f349-chooser{gap:6px}#main.f349-page .f349-chooser select{width:25vw}#main.f349-page .f349-chooser label{font-size:0}#main.f349-page .n4-tabs46 button{font-size:11px;padding:7px 10px}#main.f349-page .f342-heading p{display:none}#main.f349-page .f342-heading{padding-bottom:5px}}
@media(max-width:600px){#main.f349-page{padding:6px 8px;gap:5px}#main.f349-page>.page-head{display:block;min-height:0}#main.f349-page>.page-head>div:first-child{display:flex;align-items:center;gap:8px;justify-content:space-between;margin:0 0 4px}#main.f349-page>.page-head h1{font-size:18px;white-space:nowrap;margin:0}#main.f349-page>.page-head p{font-size:10px;line-height:1.35;max-width:57%;text-align:right}#main.f349-page .f349-chooser{justify-content:space-between;width:100%}#main.f349-page .f349-chooser>button{font-size:10px;padding:5px 8px}#main.f349-page .f349-chooser label{flex:1;min-width:0}#main.f349-page .f349-chooser select{width:100%;font-size:11px}#main.f349-page .n4-tabs46{gap:4px}#main.f349-page .n4-tabs46 button{font-size:10px;padding:5px 8px;min-height:40px}#main.f349-page>#foundation161{padding:5px 6px!important}#main.f349-page .f342-heading{display:flex;flex-wrap:nowrap;min-height:44px;gap:3px;padding:0 0 3px}#main.f349-page .f342-heading>div:first-child{display:none}#main.f349-page .f342-actions{width:100%;gap:4px}#main.f349-page .f342-actions button{font-size:10px;padding:5px;min-height:40px}#main.f349-page #f342-stage .f341-toolbar{padding:4px 6px;gap:3px}#main.f349-page #f342-stage .f341-toolbar-tools{justify-content:space-between;gap:2px}#main.f349-page #f342-stage .f341-tool{min-height:40px!important}#main.f349-page #f342-stage .f341-arrow{width:32px}#main.f349-page #f342-stage .f341-face-label{font-size:9px}#main.f349-page #f342-stage .lv-face327{padding:8px 36px;gap:3px}#main.f349-page #f342-stage .f341-tap{font-size:10px}#main.f349-page #f342-stage .lv-front327 h3{font-size:clamp(30px,9vw,44px)}#main.f349-page #f342-stage .lv-front327 h3.f341-sentence{font-size:21px}#main.f349-page>.n5-footer98>.f349-source{font-size:9px;max-width:62%}#main.f349-page>.n5-footer98>button{font-size:11px;padding:6px 10px;min-height:40px}#main.f349-page>.n5-footer98{min-height:40px}#main.f349-page>#j328-studybar{min-height:38px;padding:3px 8px;gap:5px}#main.f349-page>#j328-studybar>div:first-child{gap:6px;flex-wrap:nowrap}#main.f349-page>#j328-studybar>div:first-child small{display:none}#main.f349-page>#j328-studybar strong{font-size:10px}#main.f349-page>#j328-studybar span{font-size:10px}.f349-progress-actions{position:relative;flex-shrink:0}.f349-progress-actions>summary{display:flex;align-items:center;padding:4px 7px;min-height:36px;list-style:disclosure-closed;font-size:11px;cursor:pointer}.f349-progress-actions>div{position:absolute;right:0;top:100%;z-index:30;display:grid!important;width:245px;padding:10px;border:1px solid #c8d6bc;background:#fbfff5;border-radius:8px;box-shadow:0 6px 25px #23302033}.f349-progress-actions:not([open])>div{display:none!important}.f349-progress-actions button{width:100%;min-height:44px}.f349-progress-actions[open]>summary{background:#e2ebd8;border-radius:6px}}
@media(max-height:600px) and (min-width:601px){#main.f349-page{gap:4px;padding-top:4px;padding-bottom:4px}#main.f349-page>.page-head{min-height:44px}#main.f349-page>.page-head h1{font-size:20px}#main.f349-page>.page-head p{font-size:10px}#main.f349-page>#j328-studybar>div:first-child small{display:none}#main.f349-page>#j328-studybar{min-height:44px}#main.f349-page #f342-stage .lv-front327 h3{font-size:38px}}

/* Higher courses have a wrapper between main and the lesson content. Both share one height budget. */
#main.f349-page{min-width:0;overflow:visible}#main.f349-page>.f349-course{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px;margin:0;max-width:none}
#main.f349-page .f349-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;min-height:44px}#main.f349-page .f349-head>div{display:flex;align-items:baseline;gap:12px;min-width:0}#main.f349-page .f349-head h1{font-size:24px;line-height:1.35;margin:0}#main.f349-page .f349-head p{font-size:12px;white-space:nowrap;margin:0}#main.f349-page .f349-head button{min-height:44px;font-size:12px;padding:7px 12px;white-space:nowrap}
#main.f349-page>.page-head,#main.f349-page>.n4-top46,#main.f349-page>.f349-course>.page-head,#main.f349-page>.f349-course>.n3-title60,#main.f349-page>.f349-course>.n4-top46,#main.f349-page>.f349-course>.n2-top83,#main.f349-page>.f349-course>.n2-title83,#main.f349-page>.n1-course243>section.panel,#main.f349-page>.n1-course243>.row{display:none!important}
#main.f349-page .f349-content{display:flex;flex-direction:column;flex:1;min-height:0;margin:0;padding:0;gap:0}#main.f349-page .f349-panel{display:flex;flex-direction:column;flex:1;min-height:0;margin:0;padding:8px 10px;gap:0;border-radius:12px}#main.f349-page .f349-panel>h2{display:none}#main.f349-page .f349-panel>.f342-lesson{display:flex;flex-direction:column;flex:1;min-height:0}
#main.f349-page .f342-heading{margin:0;padding:0 2px 5px;min-height:44px}#main.f349-page #f342-stage{overflow:auto;overscroll-behavior:contain}#main.f349-page .f349-panel>:is(.n4-finish46,.n3-finish60,.row){flex-shrink:0;margin:5px 0 0;padding:0}#main.f349-page .n4-finish46 p{display:none}#main.f349-page .f349-panel>:is(.n4-finish46,.n3-finish60,.row) button{min-height:40px;padding:7px 12px;font-size:12px}#main.f349-page #n1-save243:empty{display:none}#main.f349-page .n1-navigation243{display:flex;flex-shrink:0;justify-content:space-between;margin:0;gap:8px}#main.f349-page .n1-navigation243 button{min-height:40px;padding:6px 10px;font-size:12px}
#main.f349-page .n4-tabs46{flex-shrink:0}#main.f349-page #f342-stage>.f341-workspace.f341-expanded{height:calc(100svh - 20px)!important}#main.f349-page #f342-stage>.f341-workspace:fullscreen{height:100svh!important}
@media(max-width:600px){#main.f349-page .f349-head{gap:6px}#main.f349-page .f349-head h1{font-size:17px}#main.f349-page .f349-head>div{display:block}#main.f349-page .f349-head p{font-size:10px}#main.f349-page .f349-head button{font-size:10px;padding:5px 8px;max-width:38%;white-space:normal}#main.f349-page .f349-panel{padding:5px 6px}#main.f349-page .f342-heading>div:first-child{display:none}#main.f349-page .f349-course{gap:4px}#main.f349-page .n4-tabs46 button{min-height:40px}#main.f349-page .f349-panel>:is(.n4-finish46,.n3-finish60,.row) button{font-size:11px;min-height:36px;padding:5px 8px}}

/* Selectable N4 lessons, sharing the N5 visual language. No text is baked into images. */
.g350{padding:20px;background:#f4f0ff;border:1px solid #ded3f0;border-radius:14px}
.g350 .g343-intro{display:block;height:auto;min-height:0;max-height:none}
.g350-controls{background:#fff;border:1px solid #ded3f0;border-radius:12px;padding:16px;margin-bottom:16px}
.g350-playback,.g350-toggles,.g350-disclosures{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.g350-toggles{margin:12px 0}.g350-controls p{margin:0;font-size:13px}.g350-controls .study-voice167{margin-left:0}
.g350-disclosures{margin:14px 0}.g350-legend,.g350-illustration,.g350-reference{background:#fff;border:1px solid #d8c7ee;border-radius:10px;margin:12px 0;padding:12px 16px}
.g350-legend summary,.g350-illustration summary,.g350-reference summary{font-weight:700;color:#59279a;overflow-wrap:anywhere}
.g350-illustration img{display:block;max-width:100%;width:auto;max-height:520px;object-fit:contain;margin:14px auto}
.g350-card-body{padding:20px;min-width:0}.g350-use{padding:15px;background:#fff7df;border:1px solid #eddbab;border-radius:9px;margin-bottom:18px}.g350-use p{margin:8px 0 0}
.g350-example{padding:15px;border:1px solid #e5dcf1;background:#fcfbff;border-radius:10px;margin:14px 0}
.g350-example-tools{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;color:#4c3475}
.g350-example-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.g350 .g343-sentence{align-content:start;min-height:0;gap:8px 10px}.g350 .g343-chunk{min-width:0;max-width:100%;grid-template-rows:25px auto auto}
.g350 .g343-jp{font-size:clamp(21px,2vw,30px);line-height:2;word-break:normal;overflow-wrap:anywhere}
.g350 .g343-jp rt{font-size:11px}.g350 .g343-role{max-width:100%;font-size:12px}
.g350-predicate{--g343-color:#bd224a;color:#bd224a}.g350-reason{--g343-color:#6b32b0;color:#6b32b0}
.g350 .g343-translation-row{grid-template-columns:minmax(95px,.4fr) minmax(0,1fr)}.g350 .g343-assembly>span{font-size:12px}.g350-note{font-size:13px;color:#625471;margin:12px 0 0}
.g350-compare{margin:18px 0 0;border:1px solid #c8b1e7;border-radius:10px;background:#faf7ff;padding:12px 16px}.g350-compare summary{color:#59279a;font-weight:700;line-height:1.6;overflow-wrap:anywhere}
.g350-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.g350-comparison-grid>article{padding:14px;border:1px solid #e3d6f0;border-radius:8px;background:#fff;min-width:0}
.g350-comparison-grid p{margin:0 0 8px}.g350-comparison-grid p[lang=ja]{font-size:20px;color:#6028a6;line-height:1.9}.g350-tip,.g350-errors{padding:12px;background:#fff6df;border-radius:8px;font-size:14px;overflow-wrap:anywhere}.g350-errors{background:#fff;margin:12px 0 0}.g350-errors p{margin:6px 0}.g350-errors p:first-child{color:#a42f44}
.g350-reference .n4-material40{min-width:0;overflow-x:auto;margin-top:15px}.g350-reference table{max-width:100%;width:100%}
.g350-hide-ruby rt{display:none}.g350-hide-meaning .g350-guide,.g350-self .g350-guide{display:none!important}.g350-hide-meaning .g343-rank,.g350-self .g343-rank{visibility:hidden}.g350 [hidden]{display:none!important}.g350-self-hint{padding:12px;background:#ede3fc;border-radius:8px}
@media(max-width:1000px){.g350-example-grid{grid-template-columns:minmax(0,1fr)}.g350 .g343-sentence{justify-content:flex-start}}
@media(max-width:650px){.g350{padding:10px}.g350-card-body{padding:12px}.g350-controls,.g350-example,.g350-use{padding:12px}.g350-comparison-grid{grid-template-columns:minmax(0,1fr)}.g350 .g343-translation-row{grid-template-columns:minmax(0,1fr)}.g350 .g343-translation-row>b{padding:7px 10px}.g350 .g343-translation-row>p{padding:10px}.g350 .g343-jp{font-size:22px}.g350 .g343-chunk{max-width:100%}.g350 .g343-role{font-size:11px}.g350-playback button{min-height:44px;white-space:normal}.g350 .g345-expand{font-size:0}.g350 .g345-expand::after{content:'⌄';font-size:20px}.g350-compare{padding:12px}.g350-toggles{align-items:flex-start;flex-direction:column}.g350 .g345-pattern>.g343-card-head{display:grid;grid-template-columns:34px minmax(0,1fr) 20px;align-items:start}.g350 .g344-heading{min-width:0}.g350 .g344-heading h3{overflow-wrap:anywhere;white-space:normal}}

/* Fix the two reported collisions across N5–N1, without clipping content. */
/* The shell's generic header height/flex rules must not squeeze lesson introductions. */
#main header{height:auto;max-height:none;min-width:0}
#main .g343-intro{display:block;height:auto;min-height:0;max-height:none;position:static;overflow:visible}
#main .g343-intro>:is(h2,p,small){display:block;width:auto;max-width:100%;white-space:normal;overflow-wrap:break-word}
#main .g343-intro h2{margin:0 0 10px;line-height:1.45!important}
#main .g343-intro p{margin:0 0 8px;line-height:1.65}
#main .g343-intro small{line-height:1.7}
#main :is(.foundation-grid161,.study-card167,.n4-course46,.n3-course60,.n2-course83,.n1-course243,.n4-material40,.n3-grammar60,.n2-grammar83,.n1-grammar243,.g343-card,.g343-card-body,.g344-heading,.study-title167){min-width:0;max-width:100%;box-sizing:border-box}
#main :is(.study-title167,.g344-heading) :is(h3,p){white-space:normal;overflow-wrap:anywhere;min-width:0}
#main .g343 .g343-card-head{height:auto;min-width:0}
#main .g343 .g343-assembly>span{max-width:100%;white-space:normal;overflow-wrap:anywhere}
#main .g343 .g343-assembly>span>b{flex-shrink:0}
/* Expanded test feedback contributes to page height, so neither footer can cover it. */
#main:is(.f346-page,.f349-page).ln-flow350{height:auto!important;min-height:0!important;max-height:none!important;display:block!important}
#main.ln-flow350 :is(#foundation161,.foundation-grid161,.f349-course,.f349-content,.f349-panel,.f342-lesson,#f342-stage){height:auto!important;min-height:0!important;max-height:none!important;flex:none!important;overflow:visible!important}
#main.ln-flow350 #f342-stage{display:block!important;margin-top:12px}
#main.ln-flow350 #f342-stage>.f341-workspace:not(:fullscreen):not(.f341-expanded){height:auto!important;max-height:none!important;display:block}
#main.ln-flow350 #f342-stage .f341-canvas{height:auto;min-height:260px}
#main.ln-flow350 #f342-stage .f341-flip{height:clamp(300px,55svh,500px)!important;min-height:260px!important}
#main.ln-flow350 :is(.n5-footer98,.n1-navigation243,.n4-finish46,.n3-finish60){position:static;clear:both;margin-top:18px;min-width:0;flex-wrap:wrap}
#main .lv-feedback327{position:static;display:block;clear:both;height:auto;max-height:none;min-width:0;overflow-wrap:anywhere;margin:16px 0;padding:16px;line-height:1.7}
#main .lv-feedback327 p{margin:8px 0;white-space:normal;overflow-wrap:anywhere}
#main #f342-stage .lv-options327>button{opacity:1;color:#393047;background:#fff;white-space:normal;overflow-wrap:anywhere;min-height:48px;line-height:1.6}
#main #f342-stage .lv-options327>button.lv-correct327{background:#e1f4e4;color:#164d2a;border-color:#318054}
#main #f342-stage .lv-feedback327.lv-correct327{background:#e1f4e4;color:#164d2a;border-color:#318054}
#main #f342-stage .lv-feedback327.lv-incorrect327{background:#fff0df;color:#743a12;border-color:#b67532}
#main #lv-next327{position:static;display:block;min-height:44px;width:100%;height:auto;white-space:normal;margin:14px 0}
@media(max-width:850px){
 .shell{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
 #main :is(.g343-controls,.foundation-tools161,.study-tools167,.g350-controls){height:auto;max-height:none;min-width:0}
 #main :is(.g343-control-main,.g343-control-toggles,.study-playback167,.study-toggles167){flex-wrap:wrap;min-width:0;max-width:100%}
 #main .study-toggle167{max-width:100%;white-space:normal}
 #main :is(.g343-card-body,.foundation-grid161){grid-template-columns:minmax(0,1fr)}
 #main :is(.g343-example,.g343-translation,.study-example167,.foundation-example161){min-width:0;max-width:100%}
 #main :is(.foundation-jp161,.n3-grammar60 p,.n2-grammar83 p,.n1-grammar243 p,.lv-test-word327){overflow-wrap:anywhere;white-space:normal;line-height:1.85}
 #main .g343 .g343-chunk{max-width:100%;min-width:0;grid-template-rows:25px auto auto}
 #main .g343 .g343-jp{line-height:2;overflow-wrap:anywhere}
 #main .g343 .g343-role{white-space:normal}
 #main :is(.g343-table-wrap,.g345-table-wrap,.f342-table-wrap,.table-scroll){max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
 #main:is(.f346-page,.f349-page)>.page-head h1,#main .f349-head h1{white-space:normal;overflow-wrap:anywhere}
 #main:is(.f346-page,.f349-page) .f342-actions{flex-wrap:wrap}
 #main:is(.f346-page,.f349-page) .f342-actions button{font-size:12px;min-height:44px;white-space:normal;flex:1 1 85px}
 #main .f342-heading{height:auto;max-height:none}
 #main .lv-options327{grid-template-columns:minmax(0,1fr)}
 #main.ln-flow350 :is(.n5-footer98,.n1-navigation243){display:flex!important;gap:12px;padding-top:12px}
 #main.ln-flow350 .n5-footer98>:is(.f346-source,.f349-source){max-width:100%!important;width:100%;flex-basis:100%;font-size:12px!important;line-height:1.7}
 #main.ln-flow350 .n5-footer98>button{white-space:normal;min-height:44px}
 #main :is(button,select,input){max-width:100%}
}
@media(max-width:650px){
 #main .g343 .g343-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;min-height:0;padding:12px}
 #main .g343 .g344-heading{min-width:0}
 #main .g343 .g344-heading h3{min-width:0;line-height:1.65!important}
 #main .g343 .g345-expand{max-width:28px;font-size:0}
 #main .g343 .g345-expand>span[aria-hidden]{font-size:20px}
 #main .g343 .g343-translation-row{grid-template-columns:minmax(0,1fr)}
 #main .g343 .g343-translation-row>b{padding:8px 10px}
 #main .g343-glossary>summary{flex-wrap:wrap;gap:8px;font-size:16px}
 #main .g343-glossary>summary>strong{flex:1;min-width:0}
 #main .g345-accordion-tools>div{display:flex;flex-wrap:wrap;gap:8px}
 #main .g345-accordion-tools button{min-height:44px;white-space:normal}
 #main :is(.n4-material40,.n3-course60,.n2-course83,.n1-course243) table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 #main :is(.n4-material40,.n3-course60,.n2-course83,.n1-course243) :is(p,li,h2,h3,h4,summary){overflow-wrap:break-word}
}

/* Time viewpoints: three readable cards on desktop, vertical flow on phones. */
.g351-time{margin:22px 0;padding:20px;border:2px solid #8c64b9;border-radius:12px;background:#fff;min-width:0;max-width:100%;box-sizing:border-box}
.g351-time h3{margin:0 0 12px;color:#51258a;font-size:clamp(20px,2vw,26px);line-height:1.6;overflow-wrap:anywhere}
.g351-rule{padding:12px;background:#f2eaff;border-radius:8px;line-height:1.9}
.g351-choices{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.g351-choices button{flex:1 1 145px;min-width:0;min-height:46px;border:1px solid #9874bc;border-radius:8px;background:#fff;color:#4b286d;padding:10px;font:inherit;line-height:1.5;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.g351-choices button[aria-pressed=true]{background:#59258b;color:#fff;border-color:#59258b;font-weight:700}.g351-choices button:focus-visible{outline:3px solid #bd6d04;outline-offset:3px}
.g351-axis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0;align-items:stretch}
.g351-axis article{display:flex;flex-direction:column;gap:10px;justify-content:center;padding:16px 12px;border:1px solid #cbb8df;border-radius:10px;min-width:0;max-width:100%;text-align:center;line-height:1.65;overflow-wrap:anywhere;box-sizing:border-box}
.g351-before{background:#edf5ff;color:#194a81}.g351-self{background:#fff2cf;color:#644100;border:2px solid #bd8b29!important}.g351-after{background:#f0f7e9;color:#34551b}.g351-axis article>b{font-size:22px}.g351-axis article>span{font-size:13px}
.g351-time li{margin:10px 0;line-height:1.8}.g351-context,.g351-scope{padding:14px;border:1px solid #e3d5ef;border-radius:8px;line-height:1.8;margin:16px 0}.g351-scope h4{margin:0 0 8px}.g351-scope p{margin:8px 0}.g351-extra{display:inline-block;padding:3px 8px;border:1px solid #c9b2e7;border-radius:6px;font-size:12px;background:#eee4fa;color:#572c83;margin-bottom:6px}.g351-time p{overflow-wrap:break-word}
@media(max-width:650px){.g351-time{padding:12px}.g351-axis{grid-template-columns:minmax(0,1fr);gap:10px}.g351-axis article{padding:14px 10px}.g351-before>b,.g351-after>b{font-size:0!important}.g351-before>b::after{content:'～てくる ↓';font-size:22px}.g351-after>b::after{content:'↓ ～ていく';font-size:22px}.g351-choices button{flex-basis:100%;width:100%}.g351-time ul{padding-left:22px}.g351-context,.g351-scope{padding:12px}}

/* Wrapping applies to the shared N5/N4 teaching cards, including nested clauses. */
.g343{--g343-color:#69429b}
.g343 .g343-sentence{min-width:0;max-width:100%;flex-wrap:wrap;align-items:start}
.g343 .g343-chunk{min-width:0;max-width:100%}
.g343 .g343-jp{white-space:normal;overflow-wrap:anywhere;word-break:normal;max-width:100%;line-height:2}
.g343 .g343-role{white-space:normal;overflow-wrap:anywhere;max-width:100%;height:auto}
.g343 .g343-assembly{flex-wrap:wrap;min-width:0}
.g343 .g343-assembly>span{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.g353-analysis{margin-top:14px;padding:16px;border:1px solid #d8c8ee;border-left:4px solid #7542b8;border-radius:10px;background:#f7f3fc;color:#29223e;min-width:0;max-width:100%;box-sizing:border-box}
.g353-analysis h4,.g353-analysis h5{margin:0 0 8px;line-height:1.6;font-size:16px;overflow-wrap:anywhere}
.g353-analysis p{font-size:15px;line-height:1.8;margin:0;white-space:normal;overflow-wrap:anywhere}
.g353-inner{margin-top:14px;padding-top:14px;border-top:1px solid #d8c8ee;min-width:0}
.g353-analysis .g353-caption{font-size:13px;margin-bottom:10px;color:#5d4c73}
.g353-inner .g343-sentence{padding:8px 0;gap:12px;min-height:0}
.g353-inner .g343-rank{min-width:32px;width:auto;padding:0 5px;box-sizing:border-box}
.g353-inner .g343-assembly>span>b{min-width:30px;width:auto;padding:0 4px;border-radius:8px}
.g343-self-translate .g353-analysis{display:none!important}
@media(max-width:650px){
 .g353-analysis{padding:12px;margin-top:12px}
 .g353-inner .g343-jp{font-size:22px}
 .g343 .g343-example,.g343 .g343-card-body,.g343 .g343-translation{min-width:0;max-width:100%;box-sizing:border-box}
 .g343 .g343-translation-row{grid-template-columns:minmax(0,1fr)}
 .g343 .g345-pattern>.g343-card-head{display:grid;grid-template-columns:34px minmax(0,1fr) 20px;align-items:start}
 .g343 .g343-card-head h3{min-width:0!important;white-space:normal;overflow-wrap:anywhere}
 .g343 .g345-expand{font-size:0;white-space:normal}
 .g343 .g345-expand::after{content:'⌄';font-size:20px}
 .g343 .g345-expand>span{display:none!important}
}

.g354-teaching,.g354-context{margin:14px 0;padding:14px;border:1px solid #d9cbed;border-radius:10px;background:#f8f5fe;min-width:0;max-width:100%;color:#302341;box-sizing:border-box}
.g354-teaching h4{font-size:15px;margin:0 0 8px}.g354-teaching p,.g354-context p{font-size:14px;line-height:1.8;margin:8px 0;overflow-wrap:anywhere}
.g354-inferred{display:inline-block;color:#563287;background:#ede2fc;border:1px dashed #8157b5;border-radius:5px;padding:1px 5px}
.g354-teaching small{display:block;line-height:1.7;color:#5d506d}.g354-teaching details{margin-top:12px}.g354-teaching summary,.g354-context summary{min-height:44px;cursor:pointer;line-height:1.7;font-weight:650;white-space:normal}
.g354-teaching dl{margin:8px 0 0}.g354-teaching dl>div{display:grid;grid-template-columns:minmax(110px,.35fr) minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid #ded4eb}.g354-teaching dt{font-size:18px;font-weight:700;overflow-wrap:anywhere}.g354-teaching dd{margin:0;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.g343-self-translate .g354-teaching{display:none!important}
.study-nav354{margin-bottom:14px;min-width:0}.study-nav354 .row{gap:12px;flex-wrap:wrap}.study-nav354 label{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%;flex:1 1 280px}.study-nav354 select{min-width:0;width:100%;max-width:600px;min-height:44px;font:inherit}.study-nav354 button{min-height:44px;white-space:normal}
.study-unified354{min-width:0;max-width:100%}.study-unified354 .study-tools167{display:flex;flex-wrap:wrap;gap:12px}.study-unified354 .study-playback167,.study-unified354 .study-toggles167{display:flex;gap:8px;flex-wrap:wrap;min-width:0;max-width:100%}
.study-unified354:has(.g354-pattern) .foundation-grid161{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.g354-pattern{color:#28213c;--g343-color:#6b3da8}.g354-pattern>summary{display:flex;flex-wrap:nowrap;gap:12px;min-height:64px;padding:14px;cursor:pointer}.g354-pattern .g344-heading{flex:1;min-width:0}.g354-pattern .g344-heading h3{margin:0;font-size:19px!important;min-width:0!important;line-height:1.6;white-space:normal;overflow-wrap:anywhere}.g354-pattern .g344-heading p{margin:4px 0 0;font-size:14px;line-height:1.7}.g354-pattern-body{padding:16px;min-width:0}.g354-pattern-body .study-example167{min-width:0;max-width:100%}
.g354-hide-meaning .g354-meaning,.g354-hide-meaning .g354-summary-meaning{display:none!important}.g354-hide-ruby .g354-pattern rt{display:none}.g354-n3-controls{padding:12px;border:1px solid #dfd4ee;border-radius:9px;margin-bottom:12px;display:flex;gap:12px;flex-wrap:wrap}
#main.f349-page .study-nav354{flex-shrink:0;padding:6px 0;margin:0 0 6px;background:transparent;border:0}.f349-content>.study-nav354 label{flex-basis:200px}.f349-content>.study-nav354 .row{gap:6px}
@media(max-width:650px){.study-nav354 .row{align-items:stretch;flex-direction:column}.study-nav354 label{flex:none;display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.study-nav354 select{max-width:100%}.g354-teaching dl>div{grid-template-columns:minmax(0,1fr);gap:5px}.g354-teaching,.g354-context{padding:12px}.study-unified354 .study-playback167 button{min-height:44px;white-space:normal;max-width:100%}}

/* Four Learning cards replace the two duplicate vocabulary entry points. */
.course-tools357{grid-template-rows:repeat(4,minmax(172px,auto));align-self:start}
.course-tools357 .course-tool254{min-height:172px;grid-template-columns:minmax(115px,40%) minmax(0,1fr)}
.course-tools357 .course-tool254>div:not(.course-art357){padding:16px}
.course-tools357 .course-tool254 h2{font-size:clamp(19px,1.65vw,24px)}
.course-tools357 .course-tool254 p{margin-bottom:12px}
.course-tools357 .course-art357{padding:0;align-self:stretch;min-height:172px;background-image:url('/art/course-tools357.png');background-repeat:no-repeat;background-size:300% auto;background-position:0 50%;background-color:#f7f5fc}
.course-tools357 .course-art357-bond{background-position:50% 50%}.course-tools357 .course-art357-rescue{background-position:100% 50%}
.course-tools357 .course-tool254 img{max-height:205px}
.course-back357{margin:0 0 14px}.course-back357 button{min-height:44px}
@media(min-width:951px){.course-grid254 .course-tools357{position:static;max-height:none}.course-grid254:has(.course-tools357)>.course-outline40{min-height:760px}.course-grid254:has(.course-tools357) .course-list38{max-height:720px}}
@media(max-width:480px){.course-tools357 .course-tool254{grid-template-columns:112px minmax(0,1fr)}.course-tools357 .course-tool254>div:not(.course-art357){padding:14px 12px}.course-tools357 .course-art357{padding:0;background-size:300% auto}}
/* Extra N3 navigation/reward panels must never squeeze the word into a tiny viewport. */
#main.f349-page.vocab-n3-357{height:auto!important;min-height:0;max-height:none}
#main.vocab-n3-357 :is(.f349-course,.f349-content,.f349-panel,.f342-lesson){height:auto!important;min-height:0;max-height:none;flex:none!important}
#main.vocab-n3-357 .f349-content,#main.vocab-n3-357 .f349-panel{display:block}
#main.vocab-n3-357 #f342-stage{flex:none;height:auto!important;min-height:0;overflow:visible}
#main.vocab-n3-357 #f342-stage>.f341-workspace:not(:fullscreen):not(.f341-expanded){height:auto!important;min-height:0!important;max-height:none;display:grid;grid-template-rows:minmax(300px,auto) auto}
#main.vocab-n3-357 #f342-stage .f341-canvas{height:auto!important;min-height:300px}
#main.vocab-n3-357 #f342-stage .f341-flip{height:clamp(320px,46svh,500px)!important;min-height:300px!important}
#main.vocab-n3-357 #f342-stage .lv-face327{box-sizing:border-box}
#main.vocab-n3-357 #f342-stage .lv-front327{justify-content:flex-start}
#main.vocab-n3-357 #f342-stage .lv-front327::before,#main.vocab-n3-357 #f342-stage .lv-front327::after{content:'';margin-top:auto;flex-shrink:0}
#main.vocab-n3-357 #f342-stage .f341-toolbar{min-width:0;height:auto;flex-shrink:0}
#main.vocab-n3-357 #f342-stage .f341-toolbar-tools{flex-wrap:wrap}
#main.vocab-n3-357 #f342-stage>.f341-workspace:fullscreen .f341-flip{height:100%!important}
#main.vocab-n3-357 #f342-stage>.f341-workspace.f341-expanded .f341-flip{height:70svh!important}
.smart-review357{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:24px;border:1px solid #d9c9ef;border-radius:18px;background:linear-gradient(120deg,#f4ecff,#fcfaff);margin:20px 0;color:#302341}
.smart-review357 h2{font-size:26px;margin:8px 0}.smart-review357 p{margin:0 0 12px;line-height:1.6}.smart-review357 small{display:block;margin-top:14px;line-height:1.6;color:#685879}.smart-review-tags357{display:flex;gap:8px;flex-wrap:wrap}.smart-review-tags357 span{background:#fff;border:1px solid #e3d7f1;padding:6px 10px;border-radius:20px}.smart-review-actions357{display:grid;gap:10px;min-width:180px}.smart-review357 button{min-height:44px;white-space:normal}
@media(max-width:650px){.smart-review357{grid-template-columns:1fr;padding:18px;gap:14px}.smart-review357 h2{font-size:23px}.smart-review-actions357{min-width:0}}

/* One content tree: desktop columns, mobile horizontal tabs. */
.course-responsive358{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start;min-width:0}
.course-tabs358{display:none}
.course-responsive358>.course-tools357{display:block;position:static;max-height:none;min-width:0;padding:18px;border:1px solid #e3ddeb;border-radius:18px;background:#fff}
.course-tools-title358{font-size:22px;line-height:1.4;margin:0 0 14px}
.course-tool-grid358{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.course-responsive358 .course-tool254{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;border-radius:13px}
.course-responsive358 .course-tool254>.course-art357,.course-responsive358 .course-tool254>img{flex:none;width:100%;height:clamp(100px,17svh,160px);min-height:0;max-height:none;padding:0;object-fit:contain;background-size:300% auto}
.course-responsive358 .course-tool254>div:not(.course-art357){flex:1;display:flex;flex-direction:column;align-items:stretch;padding:12px;min-width:0;width:100%;box-sizing:border-box}
.course-responsive358 .course-tool254 h2{font-size:18px;line-height:1.4;margin:0 0 6px;overflow-wrap:anywhere}
.course-responsive358 .course-tool254 p{font-size:12px;line-height:1.5;margin:0 0 10px}
.course-responsive358 .course-tool254 .button{margin-top:auto;width:100%;min-height:44px;padding:9px 8px;font-size:13px;white-space:normal}
.course-grid254.course-responsive358:has(.course-tools357)>.course-outline40{min-height:0;padding:18px}
.course-grid254.course-responsive358:has(.course-tools357) .course-list38{max-height:clamp(300px,59svh,650px);overflow:auto;overscroll-behavior:contain}
.course-header254 .level-tabs48{align-items:center}.course-header254 .level-tabs48 button{min-height:44px;line-height:1.4}
@media(max-width:850px){
 .course-header254{display:block;margin:12px 0 10px}
 .course-header254 .level-tabs48{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;width:100%;gap:6px;padding:6px;box-sizing:border-box}
 .course-header254 .level-tabs48>button{min-width:0!important;width:100%;height:auto;min-height:44px;padding:8px 3px;font-size:14px;white-space:nowrap}
 .course-header254 .level-tabs48>button:first-child{grid-column:1/-1;min-height:44px;white-space:normal}
 .course-grid254.course-responsive358{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:0}
 .course-tabs358{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0}
 .course-tabs358>button{min-width:0;min-height:48px;line-height:1.35;padding:10px 8px;border:1px solid #8b6cb8;border-radius:10px;background:#fff;color:#51347a;font:inherit;font-size:14px;font-weight:700;white-space:normal;cursor:pointer}
 .course-tabs358>button.is-active{background:#69509a;color:#fff}.course-tabs358>button:focus-visible{outline:3px solid #ae8ce0;outline-offset:2px}
 .course-responsive358[data-course-tab358=lessons]>.course-tools254{display:none!important}
 .course-responsive358[data-course-tab358=tools]>.course-outline40{display:none!important}
 .course-responsive358>.course-tools357{padding:12px}.course-tools-title358{display:none}
 .course-grid254.course-responsive358:has(.course-tools357)>.course-outline40{padding:14px}
 .course-grid254.course-responsive358:has(.course-tools357) .course-list38{max-height:none;overflow:visible}
 .course-tool-grid358{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .course-responsive358 .course-tool254>.course-art357,.course-responsive358 .course-tool254>img{height:clamp(100px,27vw,170px)}
 .course-responsive358 .course-tool254>div:not(.course-art357){padding:10px 8px}
 .course-responsive358 .course-tool254 h2{font-size:15px;text-align:center;margin-bottom:9px;min-height:2.8em}
 .course-responsive358 .course-tool254 p{display:none}
 .course-responsive358 .course-tool254 .button{font-size:12px;min-height:44px}
 .course-responsive358 .lesson-row38 summary{grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px}
 .course-responsive358 .lesson-row38 strong{min-width:0;overflow-wrap:anywhere}
 .course-responsive358 .lesson-status38{max-width:76px;line-height:1.4}
}
/* Joined particles/punctuation share the same text baseline and colour as their phrase. */
.g343 .g343-sentence{align-items:start;gap:8px}
.g343 .g343-chunk{grid-template-rows:28px auto minmax(2.5em,auto);align-items:start;min-width:0}
.g343 .g343-jp{display:block;box-sizing:border-box;font-size:clamp(24px,3vw,32px);line-height:2.3;min-height:3.2em;padding-top:.5em;align-self:start;color:inherit;white-space:normal;overflow-wrap:anywhere}
.g343 .g343-jp ruby{ruby-align:center}.g343 .g343-jp rt{font-size:.42em;line-height:1.1}
.g343 .g343-role{align-self:start;line-height:1.5}
@media(max-width:650px){.g343 .g343-sentence{gap:6px}.g343 .g343-jp{font-size:clamp(22px,6vw,28px)}.g343 .g343-role{max-width:115px;font-size:11px}}

/* Scoped to the rescue scene: question/choice content and controls stay in their existing panel. */
.kq-shell>.rescue-scene359{display:block;position:relative;max-width:none;min-width:0;width:100%;height:clamp(250px,35svh,340px);aspect-ratio:auto;overflow:hidden;background:#302042;border-bottom:1px solid #b294ca66;isolation:isolate}
.kq-shell .rescue-scene359::after{display:none}
.rescue-background359{position:absolute;inset:0;background:linear-gradient(90deg,#29143c15,#24133755),url('/art/rescue359-shrine.webp') center 60%/cover no-repeat;z-index:-1}
.rescue-progress359{position:absolute;top:9px;left:12px;right:12px;z-index:5;padding:6px 10px;border:1px solid #d1b47c88;border-radius:12px;background:#251a38e8;color:#fff0cc;font-size:12px;line-height:1.4;box-shadow:0 3px 10px #130a2633}
.rescue-progress359>span{display:flex;justify-content:center;align-items:baseline;gap:4px;flex-wrap:wrap;text-align:center}.rescue-progress359>span small{font-size:10px;color:#dbc9e5;margin-left:5px}
.rescue-groups359{display:flex;flex-wrap:wrap;justify-content:center;gap:5px 7px;margin-top:5px}
.rescue-group359{display:flex;gap:3px;padding-right:7px;border-right:1px solid #bfa4cd88}
.rescue-group359:last-child{padding-right:0;border-right:0}
.rescue-group359 i{display:block;width:clamp(5px,1.1vw,11px);height:7px;border:1px solid #b8a3d6;border-radius:10px;background:#6d547c;transition:background .2s}
.rescue-group359 i.is-solved{background:#ffd36c;border-color:#ffe6a0;box-shadow:0 0 5px #ffca6080}
.rescue-character359{position:absolute;width:auto;height:min(calc(100% - 58px),330px);aspect-ratio:1;left:7%;bottom:0;z-index:1}
.rescue-aura359{position:absolute;inset:45% 8% 5%;border:2px solid #d5a0fa99;border-radius:50%;box-shadow:0 0 25px #ce99f477,inset 0 0 22px #dd9fff66;transform:perspective(130px) rotateX(40deg);transition:opacity .6s}
.rescue-fox359{position:absolute;inset:0;background:url('/art/rescue359-fox.webp') 0 0/200% 100% no-repeat;filter:drop-shadow(0 3px 5px #29123088);transform-origin:50% 85%;animation:rescue-breathe359 3s ease-in-out infinite alternate}
.rescue-correct359 .rescue-fox359{animation:rescue-happy359 .6s ease-out}
.rescue-kanji359{position:absolute;right:8%;top:40%;z-index:3}
.kq-shell .rescue-scene359 .kq-kanji{position:static;display:flex;align-items:center;justify-content:center;width:clamp(92px,14vw,150px);height:clamp(92px,14vw,150px);min-width:0;padding:0;background:linear-gradient(145deg,#fff9ec,#ede1f6);border:2px solid #d3b078;border-radius:18px;color:#35234b;box-shadow:0 5px 22px #1d102866,inset 0 0 0 5px #fff7e8;line-height:1;font-size:clamp(68px,10vw,112px);font-weight:500;animation:none;transform:none;text-shadow:none}
.rescue-thanks359[hidden]{display:none}
.rescue-thanks359{position:absolute;right:3%;top:31%;width:43%;box-sizing:border-box;z-index:4;padding:12px;border:2px solid #d8b375;border-radius:18px 18px 18px 3px;background:#fff8ecf5;color:#3e2556;box-shadow:0 4px 20px #301f3b44}
.rescue-thanks359 p{margin:0 0 7px;font-size:13px;line-height:1.5}
.rescue-thanks359 p[lang=ja]{font-size:clamp(16px,1.8vw,22px);font-weight:700}
.rescue-thanks359 button{border:1px solid #9977ad;background:#ede1f7;color:#45245d;border-radius:12px;padding:6px 12px;min-height:40px;cursor:pointer;font:inherit;font-size:12px}
.is-free359 .rescue-fox359{background-position:100% 0;animation:rescue-free359 1.2s ease-out both,rescue-breathe359 3s 1.2s ease-in-out infinite alternate}
.is-free359 .rescue-aura359{opacity:0}
.is-free359 .rescue-kanji359{display:none}
.is-free359 .rescue-character359{left:0}
.rescue-freedom359{position:absolute;left:50%;top:50%;pointer-events:none}
.rescue-freedom359 i{position:absolute;width:5px;height:8px;border-radius:2px;background:#ffe8aa;box-shadow:0 0 10px #ffd078;opacity:0}
.is-free359 .rescue-freedom359 i{animation:rescue-freedom359 1.4s ease-out both;animation-delay:calc(var(--i)*20ms)}
@keyframes rescue-breathe359{to{transform:scale(1.015) rotate(.5deg)}}
@keyframes rescue-happy359{40%{transform:translateY(-5px) rotate(-2deg)}to{transform:translateY(0)}}
@keyframes rescue-shake359{25%,75%{transform:translateX(-2px)}50%{transform:translateX(2px)}}
@keyframes rescue-free359{0%{transform:translateY(8px);filter:drop-shadow(0 0 20px #ffdb78)}45%{transform:translateY(-10px)}to{transform:translateY(0);filter:drop-shadow(0 3px 5px #29123088)}}
@keyframes rescue-freedom359{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(90deg)}}
@media(min-width:1100px){.kq-shell:has(.rescue-scene359){grid-template-columns:minmax(0,1.1fr) minmax(390px,1fr)}.kq-shell>.rescue-scene359{height:clamp(330px,48svh,480px)}.kq-shell:has(.rescue-scene359)>.kq-play{max-width:none;margin:0}.rescue-character359{height:min(calc(100% - 58px),390px);left:0;bottom:0}.rescue-kanji359{right:3%;top:38%}}
@media(max-width:650px){.kq-shell>.rescue-scene359{height:clamp(205px,30svh,255px)}.rescue-character359{height:calc(100% - 52px);left:4%;bottom:0}.rescue-kanji359{right:6%;top:46%}.kq-shell .rescue-scene359 .kq-kanji{width:86px;height:86px;font-size:65px;border-radius:14px}.kq-shell>.rescue-scene359.is-free359{height:clamp(300px,42svh,360px)}.is-free359 .rescue-character359{height:210px;left:0}.rescue-thanks359{top:26%;right:2%;width:46%;padding:9px}.rescue-thanks359 p[lang=ja]{font-size:16px}.rescue-thanks359 p{font-size:11px;margin-bottom:4px}.rescue-progress359{left:7px;right:7px;top:6px;font-size:11px;padding:5px 7px}.rescue-group359 i{width:5px;height:6px}.rescue-groups359{gap:4px 5px}.rescue-group359{gap:2px;padding-right:5px}}

/* Original shrine and sad/happy fox artwork are kept unchanged. */
.rescue-background359{background-image:linear-gradient(90deg,#130d2870,#1a0c345c),url('/art/rescue359-shrine.webp');filter:saturate(.65) brightness(.75);transition:filter .8s}
.is-free359 .rescue-background359{filter:saturate(1) brightness(1)}
.rescue-fox359{background-image:url('/art/rescue361-fox.webp');animation:none}
.rescue-aura359{border-color:#d2a4ec66;box-shadow:0 0 18px #be87ea44,inset 0 0 18px #ebcaff33}
.rescue-stage361 .rescue-aura359{border-color:#ffd87f;box-shadow:0 0 26px #ffcf7b99}
.rescue-groups359{display:grid;grid-template-columns:repeat(auto-fit,minmax(57px,1fr));gap:4px;margin-top:5px}
.rescue-group359{display:flex;flex-direction:column;align-items:center;gap:4px;padding:5px 3px;border:1px solid #766280;border-radius:9px;background:#171325}
.rescue-group359:last-child{border:1px solid #766280;padding:5px 3px}
.rescue-group359 b{font-size:10px;font-weight:600;white-space:nowrap;color:#c9bfd7}
.rescue-dots361{display:flex;gap:2px}
.rescue-group359 i{width:5px;height:4px}
.rescue-group359.stage-active361{border-color:#c283eb;background:#3b2453;box-shadow:0 0 7px #9c4ecc55}
.rescue-group359.stage-active361 b{color:#f2daff}
.rescue-group359.stage-complete361{border-color:#d3aa5d;background:#4c3d24}
.rescue-group359.stage-complete361 b{color:#ffe2a1}
.rescue-character359{height:min(calc(100% - 88px),330px)}
.rescue-rule361{position:absolute;bottom:5px;left:12px;right:12px;text-align:center;z-index:4;color:#f2d59f;font-size:10px;line-height:1.4;pointer-events:none;text-shadow:0 1px 4px #000;background:#181025c9;border-radius:10px;padding:3px}
.is-free359 .rescue-rule361{display:none}
@media(min-width:1100px){.rescue-character359{height:min(calc(100% - 90px),390px)}}
@media(max-width:650px){.kq-shell>.rescue-scene359{height:clamp(255px,35svh,295px)}.rescue-character359{height:calc(100% - 90px);bottom:12px;left:0}.rescue-groups359{grid-template-columns:repeat(4,minmax(0,1fr))}.rescue-group359,.rescue-group359:last-child{padding:4px 2px;gap:3px}.rescue-group359 b{font-size:9px}.rescue-group359 i{width:4px;height:3px}.rescue-kanji359{top:50%}.rescue-rule361{left:5px;right:5px;font-size:9px}.is-free359 .rescue-character359{height:210px;bottom:0}}

/* Magical silk: actual back / character / front compositing, not a flat image. */
.rescue-character359{isolation:isolate}
.rescue-aura359{z-index:0}
.rescue-fox359{z-index:2}
.rescue-ribbons359{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;contain:layout style}
.rescue-ribbons-back359{z-index:1;opacity:.72}
.rescue-ribbons-front359{z-index:3}
.rescue-ribbon359{fill:none;stroke-linecap:round;stroke-linejoin:round}
.rescue-ribbon359.is-gone{visibility:hidden}
.rescue-ribbon-surface359{transform-origin:50% 78%;animation:rescue-silk-breathe359 4.8s ease-in-out infinite;animation-delay:var(--ribbon-delay)}
.rescue-ribbon-silk359{stroke:none}
.rescue-ribbon-edge359{fill:none;stroke-width:.22}
.rescue-ribbon-lustre359{fill:none;stroke:#fff1ff;stroke-width:.65;opacity:.48}
.rescue-ribbon-glint359{fill:#fff7d9;stroke:#ffe7b2;stroke-width:.1;animation:rescue-glimmer359 3.8s ease-in-out infinite;animation-delay:var(--ribbon-delay)}
.rescue-ribbon-motes359{opacity:0;fill:#fff0c0;stroke:#fff8e9;stroke-width:.1}
.rescue-ribbon-motes359 path{transform-box:fill-box;transform-origin:center}
.rescue-ribbon359.is-breaking .rescue-ribbon-surface359{animation:rescue-silk-dissolve359 .6s ease-out forwards}
.rescue-ribbon359.is-breaking .rescue-ribbon-lustre359{stroke:#fff9dc;stroke-width:1.2;opacity:1}
.rescue-ribbon359.is-breaking .rescue-ribbon-motes359{opacity:1}
.rescue-ribbon359.is-breaking .rescue-ribbon-motes359 path{animation:rescue-silk-motes359 .48s ease-out both;animation-delay:var(--delay)}
.rescue-wrong359 .rescue-ribbons359{animation:rescue-shake359 .3s ease-in-out}
.rescue-stage361 .rescue-rule361{color:#fff3cf;background:#4c3163ef;border:1px solid #e1bf7e88}
.rescue-freedom359{z-index:4}
.rescue-rule361{box-sizing:border-box;min-height:21px}
@keyframes rescue-silk-breathe359{0%,100%{transform:translateY(0)}50%{transform:translateY(-.45px)}}
@keyframes rescue-glimmer359{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes rescue-silk-dissolve359{0%{opacity:1}18%{opacity:1;filter:drop-shadow(0 0 1.2px #ffebaf)}55%{opacity:.58}100%{opacity:0;transform:translateY(-3px) scale(1.035)}}
@keyframes rescue-silk-motes359{0%{opacity:0;transform:scale(.35)}15%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--turn)) scale(.25)}}
@media(max-width:650px){.rescue-progress359>span small{font-size:9px}.rescue-progress359>span{gap:3px}.rescue-ribbon-edge359{stroke-width:.3}}
@media(prefers-reduced-motion:reduce){.rescue-scene359 *{animation:none!important;transition:none!important}.rescue-ribbon359.is-breaking{visibility:hidden}.rescue-freedom359{display:none}}

/* A reserved dialogue strip keeps bilingual text off the kanji and answer UI.
   The illustrated canvas retains its original height at every breakpoint. */
.kq-shell>.rescue-scene359{--rescue-dialogue-space359:144px;height:calc(clamp(250px,35svh,340px) + var(--rescue-dialogue-space359))}
.rescue-canvas359{position:absolute;inset:0 0 var(--rescue-dialogue-space359);overflow:hidden}
.rescue-dialogue-row359{position:absolute;left:0;right:0;bottom:0;height:var(--rescue-dialogue-space359);display:flex;align-items:center;justify-content:center;padding:8px 12px;background:linear-gradient(180deg,#21152ab3,#22152fee);border-top:1px solid #cda97344;z-index:4;box-sizing:border-box}
.rescue-stage-bubble359,.rescue-dialogue-row359 .rescue-thanks359{position:relative;inset:auto;width:min(100%,440px);box-sizing:border-box;padding:9px 14px;border:1px solid #d9bc85;border-radius:16px 16px 16px 4px;background:#fff8eff7;color:#422c53;box-shadow:0 3px 14px #190d2438;max-height:100%;overflow:auto}
.rescue-stage-bubble359[hidden],.rescue-dialogue-row359 [hidden]{display:none}
.rescue-dialogue-speaker359{display:block;font-size:10px;line-height:1.3;letter-spacing:.6px;font-weight:700;color:#805a94;margin-bottom:3px}
.rescue-stage-bubble359 p,.rescue-dialogue-row359 .rescue-thanks359 p{font-size:12px;line-height:1.45;margin:0;color:#614969}
.rescue-stage-bubble359 p[lang=ja],.rescue-dialogue-row359 .rescue-thanks359 p[lang=ja]{font-size:15px;line-height:1.95;font-weight:600;color:#432a58;margin:2px 0 3px;overflow-wrap:anywhere}
.rescue-dialogue-idle359{max-width:310px;text-align:center;color:#d6bfdc;font-size:12px;line-height:1.65;margin:0;padding:10px 20px;opacity:.85}
@media(min-width:1100px){.kq-shell>.rescue-scene359{height:calc(clamp(330px,48svh,480px) + var(--rescue-dialogue-space359))}}
@media(max-width:650px){.kq-shell>.rescue-scene359{height:calc(clamp(255px,35svh,295px) + var(--rescue-dialogue-space359))}.kq-shell>.rescue-scene359.is-free359{height:calc(clamp(300px,42svh,360px) + var(--rescue-dialogue-space359))}.rescue-dialogue-row359{padding:7px 9px}.rescue-stage-bubble359,.rescue-dialogue-row359 .rescue-thanks359{padding:8px 11px}.rescue-stage-bubble359 p[lang=ja],.rescue-dialogue-row359 .rescue-thanks359 p[lang=ja]{font-size:14px}.rescue-stage-bubble359 p,.rescue-dialogue-row359 .rescue-thanks359 p{font-size:12px}}

.rescue-dialogue-row359 ruby{ruby-align:center;ruby-position:over}.rescue-dialogue-row359 rt{font-size:.6em;font-weight:500;line-height:1.1;color:#8b617d}
/* Keep the original shrine crop confined to the illustration, not the dialogue. */
.rescue-background359{bottom:var(--rescue-dialogue-space359,0px)}

body.journey-theme362{background:#241c3b;color:#f8edf7}
body.journey-theme362 .sidebar{background:linear-gradient(165deg,#332040,#1d1534);color:#fff4ee}
body.journey-theme362 .sidebar nav a.active{background:#f6e9f3;color:#522e63;border-color:#d6b8d7;border-left:3px solid #e3bb91}
body.journey-theme362 .shell>header{background:#241b35;color:#f5e9f4;border-color:#81648b55;padding-top:10px;padding-bottom:10px}
body.journey-theme362 .shell>header :is(.breadcrumb,.breadcrumb b){color:#f1e6f6}
body.journey-theme362 .save-status16{background:#33283f;color:#e2d4e8;border-color:#7e658c55;font-size:11px;padding-top:5px;padding-bottom:5px}
body.journey-theme362 #main{padding:12px;background:transparent;min-width:0}
body.journey-theme362 .road362{--ink:#34203f;--muted:#6a566e;--j338-ink:#34203f;--j338-muted:#6a566e;--j338-purple:#8249a5;box-sizing:border-box;max-width:1500px;margin:0 auto;padding:16px;border-radius:22px;background:linear-gradient(#22173540,#25173155),url('/art/journey362-sakura.webp') center/cover no-repeat;color:#34203f;box-shadow:0 12px 50px #100b2944;font-family:'Segoe UI',Arial,sans-serif;line-height:1.4;min-width:0}
.road-top362{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;color:#fff0e6;font-size:13px;font-weight:650;text-shadow:0 2px 8px #1e102b}
.road-top362 small{font-size:10px;font-weight:500;letter-spacing:1px}
.road-private362{background:#392345d9;border:1px solid #c6a0cf;border-radius:20px;padding:5px 10px;font-size:11px;white-space:nowrap}
.road-heading362{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;padding:4px 4px 9px;background:linear-gradient(90deg,#231b3a99,transparent);border-radius:12px}
body.journey-theme362 .road362 h1{font-size:clamp(26px,2.5vw,38px);line-height:1.2;margin:0 0 7px;color:#fff2f1;text-shadow:0 2px 12px #23142d}
.road-heading362 p{margin:0;color:#f6e7f2;font-size:12px;text-shadow:0 1px 6px #241433}
.road-controls362{display:flex;align-items:flex-end;gap:8px;flex-shrink:0}
.road-controls362 .j328-select{display:flex;flex-direction:column;gap:3px;font-size:10px;color:#fff0f5}
body.journey-theme362 .road-controls362 .j328-select select{min-width:170px;max-width:260px;border:1px solid #c8afcf;background:#34273fe6;color:#fff5fb;border-radius:10px;padding:9px 10px;min-height:44px;font-size:13px}
body.journey-theme362 .road362 .button{background:linear-gradient(135deg,#8f57a8,#4f2a67);border:1px solid #a17fb2;box-shadow:0 3px 10px #4c255025;color:#fff8ff;min-height:44px;font-size:13px;font-weight:700;padding:9px 14px;border-radius:10px}
body.journey-theme362 .road362 .button:hover{background:linear-gradient(135deg,#a06abc,#65407b);border-color:#c3a3d3}
body.journey-theme362 .road362 .secondary{background:#fcf6fbd9;border:1px solid #a487ad;color:#4c2c5b;min-height:44px;padding:8px 12px;font-size:12px;border-radius:10px}
body.journey-theme362 .road-controls362 .secondary{background:#32233edb;border-color:#e5c895;color:#fff0d7;white-space:nowrap}
.road-controls362 .secondary>span:first-child{font-size:17px;margin-right:6px}
.road-hero362{display:grid;grid-template-columns:88px minmax(0,1fr) 160px;align-items:center;gap:18px;padding:17px 20px;border:1px solid #dfbf9e;border-radius:17px;background:linear-gradient(115deg,#fff6f8f5,#f0e4f3f2);box-shadow:inset 0 0 25px #ffeef9,0 6px 18px #22122624;margin-bottom:12px;position:relative;overflow:hidden}
.road-hero362::after{content:'✿';position:absolute;right:190px;top:8px;color:#e5b8ca55;font-size:68px;line-height:1;pointer-events:none}
.road-ring362{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:conic-gradient(from -90deg,#eac88c 0 var(--pct),#dcc7e0 var(--pct) 100%);border:1px solid #c3a0cb;box-shadow:0 0 0 5px #e7cee361;flex-shrink:0}
.road-ring362 strong{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:radial-gradient(ellipse,#fffaff,#f1dceb);font-size:27px;color:#402047}
.road-eyebrow362{display:block;font-size:10px;letter-spacing:.6px;font-weight:750;color:#87558b;margin-bottom:3px}
body.journey-theme362 .road-hero362 h2{font-size:clamp(19px,1.8vw,27px);line-height:1.3;margin:0 0 7px;color:#36203e}
.road-hero-info362{min-width:0;position:relative;z-index:1}
.road-hero-info362 p{margin:0 0 6px;font-size:12px;color:#4f3c58}
.road-hero-info362 small{display:block;font-size:10px;color:#6b5570;line-height:1.5;margin-top:5px}
body.journey-theme362 .road362 progress{display:block;width:100%;height:8px;border-radius:9px;background:#ded2e2;accent-color:var(--j340-progress,#af6fd1)}
body.journey-theme362 .road362 progress::-webkit-progress-bar{background:#ded2e2;border-radius:9px}
body.journey-theme362 .road362 progress::-webkit-progress-value{background:var(--j340-progress,linear-gradient(90deg,#dca2e7,#9c5fc6));border-radius:9px}
.road-actions362{display:grid;gap:7px;position:relative;z-index:1}
body.journey-theme362 .road362 .road-metrics362{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 12px}
body.journey-theme362 .road362 .j328-metric{min-height:114px;display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;gap:8px;padding:12px;border-radius:14px;background:#fbf5faf5;border:1px solid #dac3db;box-shadow:0 4px 14px #24133120;min-width:0;align-content:start}
body.journey-theme362 .road362 .j340-metric-vocabulary{background:linear-gradient(130deg,#f8fcf4f7,#e7efdfed);--j340-progress:#71ad82}
body.journey-theme362 .road362 .j340-metric-kanji{background:linear-gradient(130deg,#fff6fcf7,#f0deefed);--j340-progress:#c379c8}
body.journey-theme362 .road362 .j340-metric-grammar{background:linear-gradient(130deg,#f7f9fff7,#e3e7f5ed);--j340-progress:#759de0}
body.journey-theme362 .road362 .j340-due{background:linear-gradient(130deg,#fff8f0f7,#f7e4d6ed);border-color:#dec0a3}
body.journey-theme362 .road362 .j328-icon{width:36px;height:36px;border-radius:50%;background:#8c5a9e;color:#fff;display:grid;place-items:center;font-size:26px}
.road362 .j328-icon svg{width:22px;height:22px}
body.journey-theme362 .road362 .j340-metric-vocabulary .j328-icon{background:#65a77b}
body.journey-theme362 .road362 .j340-metric-grammar .j328-icon{background:#658dd1}
body.journey-theme362 .road362 .j340-due .j328-icon{background:#b76f3e}
body.journey-theme362 .road362 .j328-metric h2{font-size:13px;line-height:1.35;margin:0 0 4px;color:#38263f}
body.journey-theme362 .road362 .j328-metric p{font-size:10px;margin:2px 0;color:#6c596f;line-height:1.4}
body.journey-theme362 .road362 .j328-metric .j328-count{font-size:11px;color:#4b3555;white-space:normal}
body.journey-theme362 .road362 .j328-count strong{font-size:25px;color:#34213e;line-height:1}
body.journey-theme362 .road362 .j328-count small{font-size:10px}
body.journey-theme362 .road362 .j328-metric-foot{grid-column:1/-1;margin:0;min-width:0}
body.journey-theme362 .road362 .j328-metric-foot small{font-size:9px;color:#6b586e;line-height:1.3}
body.journey-theme362 .road362 .j328-metric-foot>div{display:flex;align-items:center;gap:8px;margin-top:5px}
body.journey-theme362 .road362 .j328-metric-foot b{font-size:10px}
body.journey-theme362 .road362 .j340-due .button{font-size:11px;min-height:34px;width:100%;padding:5px 7px;background:#ab784a;color:#fff;border-color:#bd966a;white-space:normal}
body.journey-theme362 .road362 .j340-due .button:disabled{background:#e9d7ca;color:#735c4e;border-color:#c6a995;opacity:1}
.road-stages362{background:#f9f2faf0;border:1px solid #d7bddc;border-radius:15px;padding:12px;margin-bottom:10px;min-width:0}
.road-stage-heading362{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
body.journey-theme362 .road-stage-heading362 h2{font-size:19px;line-height:1.3;margin:0;color:#3a2545}
.road-rail-actions362{display:flex;gap:5px}
.road-rail-actions362 button{border:1px solid #bda4c5;border-radius:9px;background:#fff5fc;color:#542f65;min-width:38px;min-height:34px;font-size:17px;cursor:pointer}
.road-stage-rail362{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 27px)/4);gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#af84bb #e9dbe9;padding:4px 2px 8px;min-width:0}
.road-stage362{display:flex;align-items:center;gap:9px;min-width:0;text-align:left;padding:13px 10px;border:1px solid #c3adce;border-radius:12px;background:linear-gradient(135deg,#f9edf5,#e1d5e9);color:#674e73;cursor:pointer;scroll-snap-align:start;font:inherit;min-height:88px}
.road-stage362:hover{border-color:#9663ac;background:linear-gradient(135deg,#fff0f9,#dac6e5)}
.road-stage362.is-current,.road-stage362.is-selected{border:2px solid #be82ca;background:linear-gradient(140deg,#f8e7f5,#dfc6e9);box-shadow:0 0 0 2px #fffc,0 3px 12px #ad79c145;color:#512668}
.road-stage362.is-done{background:linear-gradient(135deg,#eff5e8,#dce8da);color:#43624a;border-color:#91b196}
.road-stage-num362{display:grid;place-items:center;flex:none;width:37px;height:37px;border-radius:50%;color:#fff6ff;background:linear-gradient(130deg,#a785b6,#61456f);border:2px solid #debe8e;box-shadow:0 0 0 3px #e5d6e6;font-size:20px}
.road-stage362.is-current .road-stage-num362{background:linear-gradient(130deg,#b872cc,#6e348f)}
.road-stage362>span:last-child{min-width:0}
.road-stage362 small{display:block;font-size:9px;letter-spacing:.5px;margin-bottom:3px}
.road-stage362 strong{display:block;font-size:12px;line-height:1.35;margin-bottom:4px;overflow-wrap:anywhere}
.road-stage362>span>span{display:block;font-size:10px;line-height:1.3}
.road-swipe362{display:none}
.road-details362{background:#fcf5faf5;border:1px solid #d7bcdb;border-radius:12px;color:#4d325b;margin:0}
.road-details362>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:10px 14px;font-size:12px;min-height:20px;list-style:none}
.road-details362>div{padding:12px}
.road-details362[open]>summary{border-bottom:1px solid #dbc7df}
.road362 .road-footer362{margin:8px 0 0;text-align:center;color:#fff0de;font-size:10px;font-style:italic;text-shadow:0 1px 5px #291532}
body.journey-theme362 .shell>footer{padding-top:8px;padding-bottom:8px;font-size:10px;color:#d5c3dc;border-color:#82658a55}
body.journey-theme362 .road362 :is(button,select,summary):focus-visible{outline:3px solid #e3bb68;outline-offset:3px}
body.journey-theme362 .road362 :is(.j328-heading,.j328-controls,.j328-panel,.j328-lesson,.j328-filters,#j-form306){border-radius:14px}
body.journey-theme362 .road362>.j328-heading{background:#fbf3faf0;padding:16px;border:1px solid #d7bedc}
body.journey-theme362 .road362>.j328-heading h1{color:#40244b;text-shadow:none}
body.journey-theme362 .road362>.j328-controls{background:#fbf3faf0}
.road362>p:not(.road-footer362){color:#fff0fa;text-shadow:0 1px 5px #24142e}
.road-lock362{padding:24px;background:#fdf5fbf0;border:1px solid #d9c0dc;border-radius:16px;color:#4c3259}
body.journey-theme362 .road-lock362 h1{color:#462651;text-shadow:none}
.road-lock362 p{font-size:15px;line-height:1.7}
.road-lock362 button{margin:5px}
@media(max-width:1100px){.road-heading362{flex-wrap:wrap}.road-controls362{width:100%;justify-content:space-between}.road-hero362{gap:12px;grid-template-columns:76px minmax(0,1fr) 145px;padding:14px}.road-ring362{width:76px;height:76px}.road-ring362 strong{width:60px;height:60px;font-size:24px}.road-stage-rail362{grid-auto-columns:calc((100% - 18px)/3)}}
@media(min-width:1101px) and (max-height:850px){body.journey-theme362 .road362{padding:12px}.road-top362{margin-bottom:8px}.road-heading362{margin-bottom:8px}.road-hero362{padding:13px 16px;margin-bottom:9px;gap:14px}.road-stages362{padding:9px;margin-bottom:8px}.road-stage362{min-height:76px;padding:10px 8px}.road-stage-heading362{margin-bottom:3px}body.journey-theme362 .road362 .j328-metric{min-height:103px;padding:10px}body.journey-theme362 .road362 .road-metrics362{margin-bottom:9px}.road-details362>summary{padding:8px 12px}}
@media(max-width:650px){body.journey-theme362 #main{padding:6px}body.journey-theme362 .road362{padding:12px 10px;border-radius:16px;background-position:center top;background-size:auto,100% auto;background-repeat:no-repeat,repeat-y}.road-top362{font-size:11px;gap:5px;margin-bottom:12px}.road-top362 small{display:none}.road-private362{font-size:9px;padding:4px 7px}.road-heading362{display:block;padding:3px 0 0;margin-bottom:10px}body.journey-theme362 .road362 h1{font-size:26px;margin-bottom:5px}.road-heading362 p{font-size:11px;line-height:1.5}.road-controls362{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:6px;margin-top:9px;align-items:end}.road-controls362 .j328-select{font-size:0}.road-controls362 .j328-select select{width:100%;max-width:none;min-width:0}.road-controls362 .secondary>span:last-child{display:none}.road-controls362 .secondary>span:first-child{margin:0}body.journey-theme362 .road-controls362 .secondary{padding:6px;min-width:44px}.road-hero362{grid-template-columns:67px minmax(0,1fr);padding:13px 12px;gap:10px;margin-bottom:9px}.road-ring362{width:65px;height:65px}.road-ring362 strong{width:52px;height:52px;font-size:23px}.road-eyebrow362{font-size:8px}body.journey-theme362 .road-hero362 h2{font-size:18px;line-height:1.35;margin-bottom:4px}.road-hero-info362 p{font-size:11px;margin-bottom:4px}.road-hero-info362 small{font-size:9px;line-height:1.5}.road-actions362{grid-column:1/-1;grid-template-columns:1fr;gap:6px}.road-hero362::after{right:5px;top:5px;font-size:40px}body.journey-theme362 .road362 .road-metrics362{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:9px}body.journey-theme362 .road362 .j328-metric{grid-template-columns:31px minmax(0,1fr);padding:10px 8px;gap:6px;min-height:109px}body.journey-theme362 .road362 .j328-icon{width:31px;height:31px}body.journey-theme362 .road362 .j328-metric h2{font-size:11px}body.journey-theme362 .road362 .j328-count strong{font-size:23px}body.journey-theme362 .road362 .j328-metric .j328-count{font-size:10px}body.journey-theme362 .road362 .j328-metric-foot small{font-size:8px}body.journey-theme362 .road362 .j340-due .button{font-size:10px;min-height:35px;padding:5px}body.journey-theme362 .road362 .j340-due .button:not(:disabled){min-height:44px}.road-stages362{padding:10px 8px}.road-stage-heading362{gap:5px;margin-bottom:5px}body.journey-theme362 .road-stage-heading362 h2{font-size:18px}.road-rail-actions362{display:none}.road-swipe362{display:block;font-size:9px;color:#71547f;white-space:nowrap}.road-stage-rail362{grid-auto-columns:74%;gap:8px;padding-bottom:7px}.road-stage362{min-height:80px;padding:12px 9px}.road-stage362 strong{font-size:12px}.road-details362>summary{font-size:11px;padding:9px 10px;min-height:26px}.road-details362>div{padding:8px}.road362 .road-footer362{font-size:9px;line-height:1.5}.road362 .j328-columns,.road362 .j328-columns.overview{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){.road362 *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.g343-natural .g367-implied{display:inline;color:#6b43a5;background:#f0eafb;font-style:italic;font-weight:600;border-radius:5px;padding:1px 4px;text-decoration:none}

.a368{display:block;min-width:0;max-width:100%;margin:12px 0;padding:14px;border:1px solid #ded6ed;border-radius:14px;background:#fffdff;color:#272238;text-align:left;white-space:normal}.a368-tools summary{cursor:pointer;color:#684597;font-weight:700;list-style-position:inside}.a368-switches{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.a368-switches label{display:flex!important;align-items:center;gap:6px;background:#f2edf9;border-radius:9px;padding:8px 10px;font-size:14px;color:#49375f;cursor:pointer}.a368-switches input{width:17px!important;height:17px!important;accent-color:#8155b2;margin:0!important}.a368-status:empty{display:none}.a368-body{margin-top:12px}.a368-jp,.a368-original{font-size:21px;line-height:2;white-space:pre-wrap;overflow-wrap:anywhere;font-weight:500}.a368-chunk{display:inline-flex;flex-direction:column;align-items:center;vertical-align:bottom;position:relative;margin:0 3px 6px 0;max-width:100%;line-height:1.9}.a368-number{display:none;font:700 12px/1.2 system-ui;color:#8052af}.a368-show-order .a368-number{display:block}.a368 rt{visibility:hidden;font-size:11px;color:#645874}.a368-show-furigana rt{visibility:visible!important}.a368-meaning{display:none;margin:6px 0 18px!important;padding:9px 12px;background:#f5f1fa;border-radius:8px;font:400 16px/1.7 system-ui;color:#4e455b}.a368-meaning .g367-implied{font-style:italic}.a368.a368-show-meaning p.a368-meaning{display:block!important}.a368-key{border-bottom:2px solid #cf3a4d}.a368-status{font-size:14px;color:#65566d}.a368 .a368-tools,.a368 .a368-switches{visibility:visible!important}.a368 .a368-body rt{display:ruby-text!important}.a368 .a368-body .a368-meaning{visibility:visible!important}@media(max-width:600px){.a368{padding:10px;margin:10px 0}.a368-switches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.a368-switches label{font-size:12px;padding:8px 4px;gap:4px;justify-content:center}.a368-jp,.a368-original{font-size:18px}.a368-meaning{font-size:15px}}

/* N5–N1: reward panels and navigation may grow after asynchronous loading.
   Keep cards readable; let the document grow rather than squeeze the card. */
#main:is(.f346-page,.f349-page){height:auto!important;min-height:0;max-height:none;overflow:visible}
#main:is(.f346-page,.f349-page) :is(#foundation161,.foundation-grid161,.f349-course,.f349-content,.f349-panel,.f342-lesson){height:auto!important;min-height:0;max-height:none;flex:none!important}
#main:is(.f346-page,.f349-page) #f342-stage{flex:none;height:auto!important;min-height:0;max-height:none;overflow:visible}
#main:is(.f346-page,.f349-page) #f342-stage>.f341-workspace:not(:fullscreen):not(.f341-expanded){height:auto!important;min-height:0!important;max-height:none;display:grid;grid-template-rows:minmax(300px,auto) auto}
#main:is(.f346-page,.f349-page) #f342-stage .f341-canvas{height:auto!important;min-height:300px}
#main:is(.f346-page,.f349-page) #f342-stage .f341-flip{height:clamp(320px,46svh,500px)!important;min-height:300px!important}
/* Auto margins center short content without making the top of long content unreachable. */
#main:is(.f346-page,.f349-page) #f342-stage .lv-front327{justify-content:flex-start}
#main:is(.f346-page,.f349-page) #f342-stage .lv-front327::before,
#main:is(.f346-page,.f349-page) #f342-stage .lv-front327::after{content:'';margin-top:auto;flex-shrink:0}
#main:is(.f346-page,.f349-page) #f342-stage .f341-toolbar{height:auto;min-width:0;flex-shrink:0}
#main:is(.f346-page,.f349-page) #f342-stage :is(.f341-toolbar-main,.f341-toolbar-tools,.f341-ratings){flex-wrap:wrap}
#main:is(.f346-page,.f349-page) #f342-stage>.f341-workspace:fullscreen{overflow:auto}
#main:is(.f346-page,.f349-page) #f342-stage>.f341-workspace:fullscreen .f341-flip{height:100%!important}
#main:is(.f346-page,.f349-page) #f342-stage>.f341-workspace.f341-expanded .f341-flip{height:70svh!important}

/* Primary and supplemental examples share exactly the same repeated surface. */
.g374-examples{display:grid;gap:14px;padding:18px;min-width:0}.g374-example,.g374-example.g348-extra-example{padding:0;margin:0;border:1px solid #e4d8f2;border-radius:10px;background:#fff;min-width:0;overflow:hidden}.g374-example .g343-card-body{padding:16px;gap:18px}.g374-example .g343-example{margin:0}.g374-example .g343-sentence{min-height:120px;padding:24px 0 14px}.g374-example .g343-jp,.g374-example.g348-extra-example .g343-jp{font-size:clamp(25px,2.4vw,34px)}.g374-example .g343-translation-row,.g374-example.g348-extra-example .g343-translation-row{grid-template-columns:150px minmax(0,1fr)}.g374-example .g343-natural,.g374-example.g348-extra-example .g343-natural{margin-top:10px}.g374-example .g343-example-tools{gap:12px;flex-wrap:wrap}.g374-shared{margin:0 18px 18px!important}.g374-condition{--g343-color:#8052a6}.g374-reason{--g343-color:#8e552b}.g374-actor{--g343-color:#167383}.g374-higher-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:18px;padding:16px;align-items:start}.g374-higher-jp{font-size:clamp(22px,2vw,30px)!important;line-height:2.1!important;margin:14px 0!important;overflow-wrap:anywhere}.g374-higher .g343-natural{margin:0}.g374-higher .g343-example-tools b{font-size:13px;color:#63319a}.g374-higher .g343-example-tools button{white-space:nowrap}.g374-higher .g343-translation-row p{line-height:1.8}.g374-higher .foundation-meaning161{margin:0}
@media(max-width:1000px){.g374-example .g343-card-body,.g374-higher-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:650px){.g374-examples{padding:10px;gap:10px}.g374-example .g343-card-body,.g374-higher-grid{padding:10px;gap:12px}.g374-example .g343-jp,.g374-example.g348-extra-example .g343-jp{font-size:25px}.g374-example .g343-translation-row,.g374-example.g348-extra-example .g343-translation-row{grid-template-columns:105px minmax(0,1fr)}.g374-shared{margin:0 10px 10px!important}.g374-higher-jp{font-size:23px!important}.g374-example .g343-sentence{min-height:110px;justify-content:flex-start}}

/* Detailed segmentation for N5/N4: Japanese, then rank, then function label. */
.g381-sentence{--g343-color:#674398}
.g381-sentence .g343-chunk{grid-template-rows:minmax(44px,auto) 25px minmax(20px,auto)}
.g381-sentence .g343-jp{grid-row:1;grid-column:1}
.g381-sentence .g343-rank{grid-row:2;grid-column:1}
.g381-sentence .g343-role{grid-row:3;grid-column:1;max-width:100%;contain:inline-size;width:100%;min-width:0}
.g381-notes{background:#f7f3fc;border:1px solid #ded2ed;border-radius:8px;padding:12px;margin-top:14px;color:#342647;font-size:13px;line-height:1.75;min-width:0}
.g381-notes h4{font-size:14px;margin:0 0 8px;color:#4f2879}
.g381-notes dl{margin:0;display:grid;gap:8px}
.g381-notes dl>div{display:grid;grid-template-columns:minmax(55px,auto) minmax(0,1fr);gap:10px;border-bottom:1px solid #e9e0f2;padding-bottom:7px}
.g381-notes dt{font-weight:700;max-width:120px;overflow-wrap:anywhere;color:#532b7a}
.g381-notes dd{margin:0;overflow-wrap:anywhere}
.g381-convention{font-size:12px;margin:10px 0 0;color:#655473}
@media(max-width:650px){.g381-notes{padding:10px;font-size:13px}.g381-notes dl>div{grid-template-columns:65px minmax(0,1fr);gap:8px}.g381-sentence .g343-role{font-size:10px}}
@media print{.g381-notes{break-inside:avoid;color:#111;background:white}.g381-notes dt,.g381-notes h4{color:#111}}
/* Override legacy mobile row sizing, which assumed ranks above Japanese. */
#main .g343 .g381-sentence .g343-chunk{grid-template-rows:auto 25px minmax(20px,auto);align-items:start}
@media(max-width:650px){#main .g343 .g381-sentence{gap:12px 3px;justify-content:flex-start}#main .g343 .g381-sentence .g343-jp{font-size:19px;min-height:3.2em}}

/* Natural-width chunks: short sentences stay on one line, including on phones. */
.g376-tools{display:flex;flex-wrap:wrap;gap:12px;padding:12px;border:1px solid #dfd4ee;border-radius:9px;margin-bottom:12px}.g376-sentence{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 6px;padding:14px 0 6px;max-width:100%;min-width:0}.g376-chunk{display:inline-flex;flex-direction:column;align-items:center;gap:6px;flex:0 1 auto;max-width:100%;min-width:0;break-inside:avoid}.g376-jp{display:block;max-width:100%;font-size:22px!important;line-height:2.05!important;text-align:left;padding-top:10px;overflow-wrap:anywhere;word-break:normal}.g376-jp :is(span,ruby,mark){font-size:inherit!important}.g376-jp rt{font-size:11px!important;line-height:1.3;font-weight:400}.g376-jp mark{color:#bd233f;background:#fff0f3;font-weight:700}.g376-number{display:grid;place-items:center;background:#7138d3;color:#fff;border-radius:50%;width:22px;height:22px;font-size:12px;line-height:1;flex-shrink:0}.g376-gloss{display:block;align-self:stretch;text-align:center;font-size:13px;line-height:1.65;color:#4c3c64;max-width:100%;overflow-wrap:anywhere}.g376-no-ruby rt{display:none!important}.g376-translations{min-width:0}.g376-assembly{margin-top:12px}.g376-examples .g374-higher-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
/* A long translation must not make a short Japanese chunk wider. */
.g376-gloss{contain:inline-size;width:100%;min-width:0}
#main:has(#n3-content60 .g376-tools) .lesson-display-controls94{display:none!important}
@media(max-width:1000px){.g376-examples .g374-higher-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:650px){.g376-examples{padding:8px}.g376-examples .g374-higher-grid{padding:9px}.g376-examples .g343-example{padding:10px 5px}.g376-sentence{gap:12px 3px}.g376-jp{font-size:19px!important}.g376-jp rt{font-size:10px!important}.g376-gloss{font-size:12px}.g376-examples .g343-natural{grid-template-columns:minmax(0,1fr)}.g376-tools{gap:8px}}
.g376-omitted{font-size:12px;line-height:1.7;padding:7px 10px;background:#fff8e2;border-radius:7px;color:#665026;margin:10px 0 0}

/* Keep particles and inflections on the same visual unit at every level. */
.g343-jp,.g376-jp{white-space:nowrap;overflow-wrap:normal!important;word-break:keep-all!important}
.g343-chunk,.g376-chunk{flex-shrink:0}
.g343-sentence,.g376-sentence{overflow-x:auto;padding-bottom:10px}
.g343-jp,.g376-jp{color:#302840!important}
.g343-jp mark,.g376-jp mark{color:#bd233f!important;background:#fff0f3;font-weight:700}

#n5-reading405{--reading-blue:#1d5ca8;--reading-red:#b92b39;max-width:1100px;margin:20px auto;padding:clamp(18px,3vw,34px)}
.reading-heading405 h2{font-size:clamp(1.4rem,3vw,2rem);line-height:1.8;margin:8px 0}.reading-heading405>p{line-height:1.7}
.reading-tools405{display:flex;flex-wrap:wrap;gap:12px 24px;padding:14px 18px;margin:20px 0;border:1px solid #dce5f1;background:#f7f9fd;border-radius:14px;color:#24344c}.reading-tools405 label{display:flex;align-items:center;gap:8px;cursor:pointer}.reading-tools405 input{width:18px;height:18px;accent-color:#5865b3}
.reading-passage405{padding:clamp(16px,3vw,28px);border:1px solid #dce5f1;border-left:4px solid #6876c8;background:#fffdf8;color:#24344c;border-radius:12px}.reading-paragraph405{font-size:clamp(1.08rem,2.2vw,1.32rem);line-height:2.35;margin:0 0 1.2em;overflow-wrap:anywhere}.reading-paragraph405:last-child{margin-bottom:0}.reading-sentence405{display:inline}.reading-chunk405{display:inline-block;vertical-align:baseline;position:relative;white-space:normal}.reading-order405{display:block;font-size:11px;line-height:1.1;text-align:center;font-weight:700;color:#64748b;margin-top:1px}.reading-role-a405 .reading-order405{color:var(--reading-blue)}.reading-role-b405 .reading-order405{color:var(--reading-red)}.reading-focus405>span[lang]{color:var(--reading-red);font-weight:650}.reading-order-note405{font-size:.85rem;line-height:1.6;color:#546279;margin:12px 0}.reading-passage405 ruby,.reading-question405 ruby,.reading-heading405 ruby{ruby-align:center}.reading-passage405 rt,.reading-question405 rt,.reading-heading405 rt{font-size:.56em;line-height:1}
.reading-sentence-jp405{display:inline}.reading-sentence-vi405{display:block;font-size:1rem;line-height:1.8;color:#2c3e57;margin-top:4px}#n5-reading405:not(.reading-hide-meaning405) .reading-sentence405{display:block;margin-bottom:.85em}#n5-reading405:not(.reading-hide-meaning405) .reading-sentence405:last-child{margin-bottom:0}#n5-reading405:not(.reading-hide-meaning405) .reading-sentence-jp405{display:block}.reading-omitted405{display:block;color:#607089}.reading-focus-guide405{padding:16px;border:1px solid #e0e6ee;border-radius:12px;margin:20px 0;line-height:1.7}.reading-focus-guide405 summary{font-weight:bold;cursor:pointer}
.reading-question405{padding:18px;border:1px solid #dce5f1;border-radius:14px;margin:22px 0;min-width:0}.reading-question405 legend{font-weight:750;padding:0 8px}.reading-question-jp405{font-size:1.1rem;line-height:2.1}.reading-options405{display:grid;gap:10px}.reading-option405{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid #dce5f1;border-radius:10px;cursor:pointer;line-height:1.9}.reading-option405 input{margin-top:8px;flex-shrink:0;accent-color:#5865b3}.reading-option405 .reading-meaning405{display:block;font-size:.92rem;color:#617089}.reading-correct405{border-color:#2a9567;background:#eefbf4;color:#155f42}.reading-wrong405{border-color:#d18b6d;background:#fff5ed;color:#874c2e}.reading-explanation405{padding:14px 16px;border-radius:10px;background:#f3f6fc;color:#253c58;margin-top:16px;line-height:1.75}.reading-result405{padding:16px;background:#eef8f4;border-radius:10px;color:#205c45;margin:16px 0}.reading-question-tip405{font-size:.92rem;line-height:1.7;color:#64748b}#reading-notice405{color:#a23b30;line-height:1.6}
.reading-hide-meaning405 .reading-meaning405{display:none!important}.reading-hide-furigana405 rt{display:none!important}.reading-hide-order405 .reading-order405,.reading-hide-order405 .reading-order-note405{display:none!important}.reading-hide-order405 .reading-chunk405{display:inline}
@media(max-width:600px){#n5-reading405{padding:16px 12px;margin:12px 0}.reading-tools405{gap:12px;padding:12px}.reading-passage405{padding:16px 12px}.reading-question405{padding:14px 10px}.reading-option405{padding:10px}.reading-paragraph405{line-height:2.5}.reading-focus-guide405{padding:12px}}
#n5-reading405:not(.reading-hide-order405) .reading-role-a405>span[lang]{color:var(--reading-blue)}#n5-reading405:not(.reading-hide-order405) .reading-role-b405>span[lang],#n5-reading405 .reading-focus405>span[lang]{color:var(--reading-red)}

/* Exact question/evidence keywords appear only after the learner checks answers. */
.reading-keyword407{background:transparent;color:inherit;text-decoration-line:underline;text-decoration-color:#c62c3a;text-decoration-thickness:2px;text-underline-offset:.22em}
.reading-keyword-note407{font-size:.9rem;color:#6b3540}
.reading-information407{border:1px solid #b6c8d9;border-radius:12px;overflow:hidden;background:#fff}
.reading-information407 h3,.reading-message407 h3{margin:0;padding:14px 18px;background:#eef4f9}
.reading-information407 table{width:100%;border-collapse:collapse;table-layout:fixed}
.reading-information407 th,.reading-information407 td{padding:12px 16px;text-align:left;vertical-align:top;border-top:1px solid #d4dfe9;overflow-wrap:anywhere}
.reading-information407 td{font-size:clamp(1.08rem,2.2vw,1.32rem);line-height:2.35}.reading-information407 .reading-chunk405{max-width:100%;overflow-wrap:anywhere}.reading-information407 th{width:26%;background:#f5f8fb;font-size:1rem}
.reading-information407 th>span,.reading-information407 h3>span,.reading-message407 h3>span{display:block}
.reading-information407 th .reading-meaning405,.reading-information407 h3 .reading-meaning405,.reading-message407 .reading-meaning405{font-weight:400;font-size:1rem}
.reading-message407{border:1px solid #c9d4dd;border-top:5px solid #7699b4;border-radius:10px;background:#fffdf8;overflow:hidden;box-shadow:0 3px 10px #243c5210}
.reading-message407 header{padding:12px 18px;border-bottom:1px dashed #b9c9d6;font-size:1rem}
.reading-message407 header>div{margin:4px 0}.reading-message407 header .reading-meaning405{display:block;margin-left:2.5em}
.reading-message-body407{padding:16px 18px}
@media(max-width:540px){.reading-information407 th,.reading-information407 td{padding:9px 8px}.reading-information407 th{width:29%}.reading-message-body407{padding:12px}}

.reading-modes407{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.reading-modes407 button{padding:10px 18px;border:1px solid #aabed0;border-radius:9px;background:#fff;color:#284a6b;font:inherit;cursor:pointer}.reading-modes407 button.reading-mode-active407{background:#344f82;color:#fff;border-color:#344f82}.reading-modes407 small{flex-basis:100%;line-height:1.6;color:#607089}

/* Shared reading classes from n5-reading405.css; independent root. */
#higher-reading408{--reading-blue:#1d5ca8;--reading-red:#b92b39;max-width:1100px;margin:20px auto;padding:clamp(18px,3vw,34px)}
#higher-reading408:not(.reading-hide-meaning405) .reading-sentence405{display:block;margin-bottom:.85em}
#higher-reading408:not(.reading-hide-meaning405) .reading-sentence405:last-child{margin-bottom:0}
#higher-reading408:not(.reading-hide-meaning405) .reading-sentence-jp405{display:block}

#higher-reading408:not(.reading-hide-order405) .reading-role-a405>span[lang]{color:var(--reading-blue)}
#higher-reading408:not(.reading-hide-order405) .reading-role-b405>span[lang],#higher-reading408 .reading-focus405>span[lang]{color:var(--reading-red)}
@media(max-width:600px){#higher-reading408{padding:16px 12px;margin:12px 0}}

#n5-listening415{max-width:1000px;margin:20px auto;padding:clamp(16px,3vw,32px);color:#24344c}.listening-heading415 h2{font-size:clamp(1.4rem,4vw,2rem)}.listening-heading415 p{line-height:1.7}.listening-player415{padding:18px;background:#eef4fb;border:1px solid #c8d8eb;border-radius:16px;margin:22px 0}.listening-controls415{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.listening-controls415 label{display:flex;gap:10px;align-items:center}.listening-controls415 select{max-width:100%;padding:10px;border-radius:8px}.listening-controls415 button,.listening-transcript415 button{min-height:44px}.listening-question415{min-width:0;margin:24px 0;padding:18px;border:1px solid #c8d8eb;border-radius:14px}.listening-question415 legend{font-weight:750;padding:0 8px}.listening-question415 p[lang=ja],.listening-transcript415 p[lang=ja]{font-size:1.15rem;line-height:2}.listening-question415 p[lang=vi],.listening-transcript415 p[lang=vi]{line-height:1.7;margin-top:4px;color:#42536a}.listening-options415{display:grid;gap:12px}.listening-options415 label{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #d2dce8;border-radius:10px;cursor:pointer;line-height:1.8}.listening-options415 input{flex-shrink:0;margin-top:7px;width:18px;height:18px}.listening-options415 span[lang]{display:block}.listening-options415 span[lang=vi]{color:#506077;font-size:.95rem}.listening-options415 .listening-correct415{background:#edf9f1;border-color:#23845a}.listening-options415 .listening-wrong415{background:#fff2ed;border-color:#b86b49}.listening-explanation415{background:#f1f5fb;border-radius:10px;padding:16px;margin-top:16px;line-height:1.7}.listening-result415{background:#edf9f1;padding:16px;border-radius:10px;line-height:1.7}.listening-transcript415{margin-top:30px;padding-top:20px;border-top:2px solid #c8d8eb}.listening-transcript415 article{padding:18px;margin:14px 0;border:1px solid #d2dce8;border-radius:12px;background:#fffdf8}.listening-transcript415 p{margin:6px 0 12px}.listening-speaker415{font-size:.85rem;font-weight:700;color:#617089}#listening-notice415{color:#a33b2d;line-height:1.7}#listening-status415{min-height:1.6em;line-height:1.6}.listening-question415 rt,.listening-transcript415 rt{font-size:.56em}.listening-question415,.listening-transcript415{overflow-wrap:anywhere}@media(max-width:540px){#n5-listening415{padding:16px 10px;margin:12px 0}.listening-player415{padding:14px 12px}.listening-controls415>button{flex:1 1 42%}.listening-controls415>button:first-child{flex-basis:100%}.listening-controls415 label{width:100%;justify-content:space-between}.listening-question415{padding:14px 10px}.listening-options415 label{padding:12px 10px}.listening-transcript415 article{padding:14px 12px}}

.early-listening419{margin:14px 0;padding:14px;border:1px solid #c8d8eb;border-radius:12px;background:#f2f7fc;color:#24344c}.early-controls419{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.early-controls419 button,.early-listening419>button{min-height:44px}.early-controls419 label{display:flex;gap:8px;align-items:center}.early-controls419 select{padding:9px;max-width:100%;border-radius:8px}.early-listening419 [data-early-status419]{font-size:.92rem;line-height:1.6;min-height:1.6em;margin:10px 0}.early-transcript419{margin-top:12px;border-top:1px solid #c8d8eb;padding-top:10px}.early-transcript419 summary{cursor:pointer;min-height:40px;font-weight:650}.early-transcript-text419{font-size:1.1rem;line-height:2;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0}@media(max-width:540px){.early-listening419{padding:12px 10px}.early-controls419 button{flex:1 1 42%}.early-controls419 label{width:100%;justify-content:space-between}}

.advanced-listening419{margin:1rem 0;padding:1rem;border:1px solid var(--line,#c7cfe3);border-radius:14px;background:var(--panel,#f7f9ff);color:inherit}.advanced-listening419>p{margin:.35rem 0 .8rem}.advanced-listening-controls419{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.advanced-listening-controls419 button,.advanced-listening419 [data-advanced-retry419]{min-height:44px}.advanced-listening-controls419 label{display:flex;align-items:center;gap:.5rem;margin:0}.advanced-listening-controls419 select{min-height:44px;max-width:100%;padding:.4rem .6rem}.advanced-listening419 [data-advanced-status419]{margin:.8rem 0 0;overflow-wrap:anywhere}.advanced-listening419 [data-advanced-retry419]{margin-top:.65rem}.advanced-listening419 [hidden]{display:none!important}.advanced-listening-turn419{min-height:44px;margin:0 0 .6rem}.advanced-listening419 button:focus-visible,.advanced-listening419 select:focus-visible,.advanced-listening-turn419:focus-visible{outline:3px solid var(--accent,#525bd3);outline-offset:3px}@media(max-width:520px){.advanced-listening419{padding:.8rem}.advanced-listening-controls419{align-items:stretch}.advanced-listening-controls419 button{flex:1 1 calc(50% - .6rem)}.advanced-listening-controls419 button:first-child{flex-basis:100%}.advanced-listening-controls419 label{flex:1 1 100%;justify-content:space-between}.advanced-listening-controls419 select{flex:1;min-width:0}.advanced-listening419 [data-advanced-retry419]{width:100%}}

/* Profile-only styles: the academy shell, navigation and branding are untouched. */
.profile424{--p424-ink:#163b40;--p424-muted:#756c83;--p424-purple:#7251a0;--p424-line:#e9e3ed;max-width:1080px;margin:0 auto;color:#24243b}
.profile424 *{box-sizing:border-box}.profile-heading424{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}.profile-heading424 h1{margin:4px 0 0;font-size:clamp(27px,3.5vw,36px);letter-spacing:-.8px;color:var(--p424-ink)}.profile-eyebrow424{font-size:10px;letter-spacing:1.8px;font-weight:750;color:#82778b}.profile-settings424{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid var(--p424-line);border-radius:14px;background:#fff;color:var(--p424-purple);cursor:pointer}.profile-settings424 svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.profile-hero424{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:300px;background:linear-gradient(125deg,#f2edf7,#fff9f0 49%,#fff 80%);border:1px solid #ece6eb;border-radius:24px;overflow:hidden;box-shadow:0 6px 24px #35304e08;margin:0 0 20px}.profile-art424{display:flex;align-items:flex-end;justify-content:center;min-width:0;position:relative;background:radial-gradient(ellipse at 50% 100%,#decfe9aa 0,transparent 65%);padding:16px 12px 10px}.profile-art424:after{content:'';position:absolute;bottom:12px;left:12%;right:12%;height:22px;background:#d9cbe655;border:1px solid #d8c9e580;border-radius:50%;pointer-events:none}.profile424 .character-stage41{isolation:isolate;position:relative;z-index:1;width:100%;max-width:400px;margin:0;align-items:flex-end;justify-content:center}.profile424 .character-main41{width:69%;max-width:235px;animation:none}.profile424 .character-main41 .outfit-art{width:100%;max-width:235px;margin:0 auto}.profile424 .character-pet41{width:31%;max-width:110px;margin-left:-12px;margin-bottom:10px;animation:none}.profile424 .character-pet41 .petportrait{width:100%;max-width:110px;height:auto;aspect-ratio:1;margin:0 auto}.profile424 .character-pet41 small{font-size:11px;line-height:1.4;text-align:center;color:#5e506b;margin-top:2px;overflow-wrap:anywhere}.profile424 .character-pet41 .owner-pet-art66{max-width:100%;border-radius:16px}.profile-info424{padding:32px 28px 28px 12px;min-width:0;align-self:center}.profile-info424 h2{font-size:clamp(23px,3vw,32px);line-height:1.2;margin:0 0 12px;letter-spacing:-.6px;color:var(--p424-ink);overflow-wrap:anywhere}.profile-level424{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 20px}.profile-level424 span{display:inline-flex;align-items:center;padding:7px 11px;background:#eee7f5;color:#60438c;font-size:13px;font-weight:700;border-radius:30px}.profile-level424 span+span{background:transparent;padding:0;color:#746582;font-weight:600}.profile-owner-badge424{display:inline-block;color:#73552c;background:#fff0cc;border:1px solid #eed79c;border-radius:30px;padding:6px 11px;font-size:10px;letter-spacing:.7px;font-weight:800;margin-bottom:12px}.profile-exp424{display:flex;flex-direction:column-reverse;gap:7px;color:#77638d;font-size:13px;margin-bottom:12px}.profile424 .profile-exp424 .progress{height:10px;margin:0;background:#e4dfea;border-radius:50px;overflow:hidden}.profile-exp424 .progress i{display:block;height:100%;background:linear-gradient(90deg,#6b4799,#ac85d1);border-radius:50px}.profile-coins424{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;padding:7px 11px;border-radius:12px;background:#fff0c8;color:#775320}.profile-coins424>span{font-size:21px;color:#bb8731;line-height:1}.profile-actions424{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.profile424 .profile-actions424 button{min-height:44px;font-size:13px;padding:11px 14px;flex:1 1 auto;border-radius:12px;white-space:normal}.profile424 .profile-study424{background:#194c50;border-color:#194c50;color:#fff}.profile424 .profile-study424:hover{background:#103b40}.profile-actions424 button>span{margin-right:4px}
.profile-group424{margin:0 0 12px;border:1px solid var(--p424-line);background:#fff;border-radius:18px;box-shadow:0 3px 12px #35304e05;min-width:0;overflow:hidden}.profile-group424>summary{display:flex;align-items:center;gap:16px;padding:17px 20px;list-style:none;cursor:pointer;min-height:82px}.profile-group424>summary::-webkit-details-marker{display:none}.profile-group-icon424{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;color:#fff;background:linear-gradient(145deg,#8c6bab,#63448d)}.profile-group-icon424 svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.profile-group424--collection .profile-group-icon424{background:linear-gradient(145deg,#c7ac77,#9f7e43)}.profile-group424--account .profile-group-icon424{background:linear-gradient(145deg,#a49da9,#827a89)}.profile-group-label424{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.profile-group-label424>strong{font-size:16px;color:#263743;font-weight:750}.profile-group-label424>small{font-size:12px;color:var(--p424-muted);line-height:1.5}.profile-chevron424{font-size:27px;font-weight:400;color:#8b7d9c;line-height:1;transition:transform .15s}.profile-group424[open]>summary{background:#fcfafd;border-bottom:1px solid var(--p424-line)}.profile-group424[open]>summary>.profile-chevron424{transform:rotate(90deg)}.profile-group-body424{padding:20px;min-width:0}.profile-group-body424>.panel,.profile-group-body424>.disclosure41{margin:0 0 14px;box-shadow:none}.profile-group-body424>:last-child{margin-bottom:0}.profile-group-body424 h2{font-size:19px}.profile-group-body424 h3{font-size:17px}.profile-group-body424 .row{flex-wrap:wrap}.profile-group-body424 .row>button,.profile-group-body424 a{max-width:100%;white-space:normal}.profile-customize424 .equipment-strip{display:flex;justify-content:flex-start;flex-wrap:wrap;margin-bottom:15px}.profile-customize424 .row{display:flex;gap:10px}.profile424 .profile-customize424 .row>button{flex:1 1 160px}.profile424 .owner-area41{margin:0;border-top:1px solid var(--p424-line)}.profile-exp-details424 p{font-size:14px}.profile424 .profile-group-body424 .profile-video42{max-width:100%;height:auto}
.profile-owner424{margin-top:24px;padding-top:20px;border-top:1px solid #e3dde5}.profile-owner-title424{display:flex;align-items:center;gap:9px;font-size:20px;margin:0 0 16px;color:#3c3a52}.profile-owner-title424>span{color:#78668e}.profile-owner-legacy424{margin-top:14px;background:#faf9fb;box-shadow:none}.profile-owner-legacy424>summary{min-height:64px}.profile-owner-legacy424 .profile-group-label424>strong{font-size:14px}.profile424 button:focus-visible,.profile424 summary:focus-visible,.profile424 a:focus-visible{outline:3px solid #9273bb;outline-offset:3px}.profile424 .table-scroll{max-width:100%;overflow:auto}
@media(max-width:650px){.profile-heading424{margin-bottom:14px}.profile-eyebrow424{display:none}.profile-heading424 h1{font-size:27px}.profile-hero424{grid-template-columns:minmax(0,1fr);border-radius:20px;min-height:0;margin-bottom:15px}.profile-art424{height:260px;padding:16px 24px 18px;overflow:visible}.profile424 .character-stage41{max-width:330px;align-self:center;transform:none}.profile424 .character-main41{max-width:112px;width:68%}.profile424 .character-main41 .outfit-art{max-width:112px}.profile424 .character-pet41{max-width:92px;margin-left:8px;margin-bottom:0}.profile-art424:after{bottom:4px}.profile-info424{padding:20px 20px 22px;text-align:center;background:#fffdfb;position:relative;z-index:2;border-radius:18px 18px 0 0;margin-top:0}.profile-info424 h2{font-size:24px;margin-bottom:10px}.profile-level424{justify-content:center;margin-bottom:17px;gap:7px}.profile-owner-badge424{margin-bottom:10px}.profile-exp424{text-align:left;font-size:12px;gap:7px}.profile-coins424{font-size:13px}.profile-actions424{gap:9px;margin-top:17px}.profile424 .profile-actions424 button{font-size:12px;padding:11px 8px;flex:1 1 110px}.profile-group424{border-radius:15px;margin-bottom:10px}.profile-group424>summary{padding:14px;min-height:73px;gap:12px}.profile-group-icon424{width:38px;height:38px}.profile-group-icon424 svg{width:23px;height:23px}.profile-group-label424>strong{font-size:15px}.profile-group-label424>small{font-size:11px}.profile-group-body424{padding:12px}.profile-group-body424>.panel{padding:16px}.profile-group-body424 .disclosure41>summary{padding:14px;font-size:15px}.profile-owner424{margin-top:20px;padding-top:17px}.profile-owner-title424{font-size:18px}.profile-owner-legacy424>summary{min-height:64px}.profile-owner-legacy424 .profile-group-label424>small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.profile-chevron424{transition:none}}

.profile-admin424{margin-top:24px;color:var(--ink,#162635)}.pa424-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pa424-heading h2{font-size:1.25rem;margin:0}.pa424-heading [data-actions424]{display:flex;gap:8px;flex-wrap:wrap}.pa424-summary{font-size:.9rem;color:var(--muted,#626575);line-height:1.65}.pa424-list{border:1px solid #e3ddeb;border-radius:18px;background:var(--panel,#fff);box-shadow:0 5px 18px #31214908;margin:12px 0;overflow:hidden}.pa424-list>summary{display:flex;align-items:center;gap:14px;cursor:pointer;padding:18px 20px;list-style:none;min-height:64px}.pa424-list>summary::-webkit-details-marker{display:none}.pa424-list>summary:after{content:'⌄';font-size:1.4rem;color:#71558b;margin-left:6px}.pa424-list[open]>summary:after{content:'⌃'}.pa424-list>summary>span:first-child{font-size:1.8rem;color:#785199}.pa424-count{margin-left:auto;background:#eee7f7;border-radius:30px;padding:5px 13px;color:#65408b;font-size:.9rem;white-space:nowrap}.pa424-content{padding:0 20px 20px}.pa424-content>p{line-height:1.6;color:var(--muted,#626575)}.pa424-content label{display:block;margin:12px 0}.pa424-content input,.pa424-content select{width:100%;min-height:44px}.pa424-content table{width:100%;border-collapse:collapse}.pa424-content th,.pa424-content td{text-align:left;padding:12px;border-bottom:1px solid #e8e3ed;vertical-align:top}.pa424-content code{overflow-wrap:anywhere}.pa424-pages{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0}.pa424-pages>span{margin-right:auto}.pa424-account{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid #e8e3ed;border-radius:12px;padding:16px;margin-top:10px}.pa424-account small,.pa424-account span{display:block;line-height:1.6}.pa424-account small{color:var(--muted,#626575)}.pa424-account p{font-size:.9rem;overflow-wrap:anywhere}.pa424-account-actions{display:flex;gap:8px;flex-wrap:wrap}.pa424-list summary:focus-visible{outline:3px solid #a184bd;outline-offset:-4px}@media(max-width:600px){.pa424-list>summary{padding:14px 12px;gap:8px}.pa424-content{padding:0 12px 14px}.pa424-account{align-items:stretch;flex-direction:column}.pa424-count{padding:4px 9px;font-size:.8rem}.pa424-heading button,.pa424-account-actions button{min-height:44px}.pa424-content th,.pa424-content td{padding:9px;font-size:.9rem}}

/* N5 only. A calm single-column reading path; Japanese is followed by its translation. */
.g430{--g430-muted:#655573}.g430 .g343-intro{background:#f0ebfa}.g430 .g343-intro h2{font-size:clamp(22px,3vw,29px)!important}.g430 .g343-intro p{font-weight:500}.g430 .g430-pattern{font-size:14px;margin:4px 0 0;color:var(--g430-muted);line-height:1.6}.g430-body{padding:22px;max-width:960px;margin:auto}.g430-body>section,.g430-body>aside{margin-bottom:20px}.g430-body h4{font-size:16px;color:#432866;margin:0 0 8px}.g430-body p{font-size:16px;margin:0;line-height:1.8}.g430-context{display:flex;gap:14px;padding:17px;background:#f0f6ff;border:1px solid #d3e2f5;border-radius:12px}.g430-context>span{font-size:32px;color:#576d96}.g430-quick{padding:0 3px}.g430-build{padding:17px;border:1px solid #ddd2ed;border-radius:12px;background:#faf8ff}.g430-build ol{margin:0;padding-left:23px}.g430-build li{font-size:15px;line-height:1.8;padding:4px 0}.g430-transform{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px;padding:12px;background:#fff;border-radius:8px}.g430-transform [lang=ja]{font-size:20px}.g430-transform p{font-size:14px}.g430-examples{display:grid;gap:14px;margin:12px 0 20px}.g430-example.g374-example{padding:16px;background:#fff;overflow:visible}.g430-sentence{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 3px;padding:18px 0 8px;min-width:0}.g430-chunk{display:inline-flex;flex-direction:column;align-items:center;max-width:100%;min-width:0}.g430-jp{font-size:clamp(21px,2.2vw,27px);line-height:2.2;color:#302840;overflow-wrap:anywhere}.g430-jp ruby{ruby-align:center}.g430-jp rt{font-size:11px;color:#655573;font-weight:400}.g430-jp mark{color:#bd233f!important;background:#fff0f3;font-weight:700;padding:0}.g430 .g430-translation{padding:9px 0 13px;color:#40334e;font-size:16px;border-bottom:1px solid #eee7f4}.g430-order{border-radius:50%;background:#7138d3;color:#fff;font-size:11px;line-height:20px;text-align:center;width:20px;height:20px}.g430-order-guide{font-size:13px;line-height:1.8;padding:10px 0;color:#59456f}.g430-order-guide b{color:#7138d3}.g430-hide-order .g430-order,.g430-hide-order .g430-order-guide{display:none}.g430 .g343-practice{margin-top:10px}.g430-example-more{margin-top:12px;border-top:1px solid #eee7f4}.g430-example-more>summary,.g430-more>summary{font-size:14px;padding:12px 0;color:#5e417c;font-weight:600}.g430-example-more p{font-size:14px}.g430-pitfall{padding:16px 18px;background:#fff8e7;border:1px solid #efdfb5;border-radius:10px}.g430-quiz{padding:18px;background:#f2f8f4;border:1px solid #cfe1d5;border-radius:12px}.g430-choices{display:grid;gap:8px;margin:13px 0}.g430-choices button{text-align:left;border:1px solid #b8cfc1;background:#fff;color:#233f32;border-radius:8px;padding:12px 14px;min-height:44px;font-size:15px;line-height:1.6;white-space:normal;overflow-wrap:anywhere}.g430-choices button[aria-pressed=true]{border:2px solid #337256;background:#e4f1e9}.g430-feedback{padding:12px;background:#fff;border-radius:8px;margin-bottom:10px!important}.g430-quiz small{font-size:12px;color:#536b5e}.g430-more{border-top:1px solid #ded3f0;margin-top:15px}.g430-more-body{padding:10px 0}.g430-more-body>p{margin:12px 0}.g430 .g345-supplements{padding:12px 0}.g430 .g343-self-translate .g430-order-guide{display:none!important}.g430 .g343-self-translate .g430-example-more{display:none!important}#foundation161.foundation-hide-meaning .g430-translation{display:none!important}
@media(max-width:650px){#foundation161.g343-foundation:has(.g430){padding:10px!important}.g430-body{padding:14px 10px}.g430-example.g374-example{padding:12px 9px}.g430-context,.g430-build,.g430-quiz,.g430-pitfall{padding:14px 12px}.g430 .g343-card-head{gap:8px;padding:12px}.g430 .g345-expand{font-size:11px}.g430-body p{font-size:15px}.g430 .g430-translation{font-size:15px}.g430-jp{font-size:21px}.g430 .g343-intro{padding:16px}.g430 .g343-pattern-no{min-width:29px}}

.g430 .g343-self-translate .g430-order{visibility:hidden}

/* Only N5 lesson 12. Blue and orange also carry explicit group labels. */
.g431{--g431-purple:#291050;--g431-blue:#176fae;--g431-orange:#b95208;color:var(--g431-purple)}.g431 .g431-hero{text-align:center;padding:20px 12px 24px}.g431-hero>span{letter-spacing:.14em;font-weight:800;font-size:13px;color:#7249a2}.g431 .g431-hero h2{font-size:clamp(30px,4.2vw,54px)!important;line-height:1.18;color:#28104d!important;letter-spacing:-.035em;margin:10px 0 16px}.g431-hero h2 small{font-size:.56em;letter-spacing:0;font-weight:600}.g431-hero>p{display:inline-block;background:#e8e0ff;border-radius:14px;padding:10px 20px;font-size:clamp(16px,2vw,23px);line-height:1.6;margin:0}.g431-path{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 22px}.g431-path button{display:flex;align-items:center;min-height:44px;border:1px solid #d9c9ed;background:#fff;border-radius:9px;padding:8px 13px;color:#513177;font-size:13px;font-weight:650;text-decoration:none}.g431-past-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.g431-panel{--accent:#176fae;--soft:#e5f3ff;--line:#b5d8f3;--wash:#f6fbff;border:1px solid var(--line);border-radius:18px;background:var(--wash);overflow:hidden;min-width:0;scroll-margin-top:20px}.g431-i{--accent:#b95208;--soft:#fff0df;--line:#efcdac;--wash:#fffaf3}.g431-panel>header{padding:20px 22px;background:var(--soft);border-bottom:1px solid var(--line)}.g431 .g431-panel>header h3{background:var(--accent);color:#fff!important;font-size:clamp(24px,2.9vw,36px)!important;font-weight:800;border-radius:12px;padding:15px 17px;margin:9px 0 12px!important;line-height:1.3;text-align:center}.g431-panel>header h3 span{font-size:1.35em}.g431-step{font-size:11px;letter-spacing:.06em;font-weight:800;color:var(--accent)}.g431-panel>header p{font-size:19px;text-align:center;margin:0;color:#291050;font-weight:600}.g431-panel-body{padding:16px}.g431 .g431-rule{border-radius:10px;background:var(--soft,#f0e9fb);padding:13px 15px;font-size:16px;line-height:1.7;margin:0 0 14px}.g431-forms{display:grid;gap:9px}.g431-form{display:grid;grid-template-columns:115px minmax(0,1fr);background:var(--soft,#f2edf9);border:1px solid var(--line,#e4d9ef);border-radius:11px;overflow:hidden;margin:7px 0;min-width:0}.g431-form>b{padding:14px 10px;font-size:13px;line-height:1.6;display:flex;align-items:center;color:#30204a}.g431-form>div{background:#fff;padding:11px 13px;min-width:0}.g431-form [lang=ja]{font-size:clamp(21px,2.05vw,28px);line-height:1.9;font-weight:650;overflow-wrap:anywhere;color:#221333}.g431 rt{font-size:10px;font-weight:400;color:#675574}.g431-form p{font-size:14px;margin:3px 0 0;line-height:1.6;color:#4e405c}.g431 mark{background:transparent!important;color:#bf183b!important;font-weight:750;padding:0}.g431-change{background:var(--soft);padding:12px;border-radius:10px;font-size:22px;line-height:1.7;text-align:center;margin-top:12px}.g431-change del{color:#a35422;text-decoration-thickness:2px}.g431-pair.g374-example{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin:17px 0}.g431-pair-jp{font-size:23px;line-height:2;font-weight:600;color:#25133f;overflow-wrap:anywhere}.g431-pair>p{font-size:15px;margin:7px 0;line-height:1.75;color:#473653}.g431-noun,.g431-exception{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px;margin-top:20px}.g431 :is(.g431-noun,.g431-exception) h4{font-size:16px;color:var(--accent);margin:0 0 8px}.g431 :is(.g431-noun,.g431-exception)>p{font-size:14px;line-height:1.7;margin:0 0 12px}.g431-noun .g431-form [lang=ja],.g431-exception .g431-form [lang=ja]{font-size:21px}.g431-warning{border-left:4px solid var(--accent);padding:12px 13px;background:var(--soft);border-radius:0 8px 8px 0;margin-top:18px;font-size:14px;line-height:1.75}.g431-warning p{font-size:14px;line-height:1.75;margin:5px 0 0}.g431 .g431-practice.g345-pattern{border-top:1px solid var(--line)!important;background:#fff!important;border-radius:0!important}.g431-practice>summary{display:flex;justify-content:space-between;gap:8px;padding:17px!important;min-height:54px;color:var(--accent);font-size:15px;font-weight:750;list-style:none}.g431-practice>summary span{font-size:21px}.g431 .g430-body{max-width:none;padding:18px}.g431 .g430-examples{padding:0}.g431 .g430-sentence{gap:7px 2px}.g431 .g430-jp{font-size:21px}.g431 .g430-body>h4{margin-top:0}.g431-memory{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 22px;background:#e5dcfb;border-radius:12px;margin:18px 0 24px;padding:16px 20px;font-size:17px;line-height:1.65}.g431-memory b{color:#572689}.g431-contrast{border:1px solid #ddcdee;background:#fff;border-radius:16px;padding:22px;margin:20px 0 30px}.g431 .g431-contrast h3{font-size:23px;margin:0 0 12px}.g431-contrast>p{font-size:15px;line-height:1.8}.g431-contrast-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin:18px 0}.g431-contrast-grid>div:first-child{--soft:#e5f3ff;--line:#b5d8f3}.g431-contrast-grid>div:last-child{--soft:#fff0df;--line:#efcdac}.g431-contrast-grid h4{margin:0 0 10px}.g431-contrast-grid .g431-form [lang=ja]{font-size:21px}.g431-reference{padding:15px 17px;background:#f5f0fb;border:1px solid #dfd2ef;border-radius:10px;margin:15px 0;font-size:14px;line-height:1.8}.g431-reference p{font-size:14px;margin:5px 0 10px;line-height:1.8}.g431-reference button{font-size:13px;background:#fff;border:1px solid #cbb4e1;color:#523078;padding:9px 13px;border-radius:7px}.g431-section-title{margin:36px 0 18px}.g431-section-title>span{font-size:12px;letter-spacing:.12em;font-weight:800;color:#775591}.g431 .g431-section-title h2{font-size:clamp(24px,3vw,34px)!important;color:#291050!important;line-height:1.4;margin:6px 0 10px}.g431-section-title p{font-size:16px;line-height:1.7;margin:0}.g431-comparisons{display:grid;gap:22px}.g431-comparison{background:#fff;border:1px solid #ddcdee;border-radius:16px;overflow:hidden;scroll-margin-top:20px}.g431-comparison>header{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:20px;background:#f1eafa;border-bottom:1px solid #e3d7ef}.g431-number{width:38px;height:38px;display:grid;place-items:center;background:#6e3d9d;color:#fff;border-radius:10px;font-weight:800;font-size:19px;flex-shrink:0}.g431-eyebrow{font-size:12px;color:#735782}.g431-comparison>header h3{font-size:22px!important;margin:4px 0 0!important}.g431-focus{margin-left:auto;padding:8px 12px;border-radius:9px;background:#fff;color:#523074;font-weight:750;font-size:18px}.g431-build{border:1px solid #ded2ed;background:#fcfaff;padding:15px;border-radius:10px;margin-bottom:13px}.g431-build p{font-size:16px;line-height:1.9;margin:0}.g431-precise{font-size:14px!important;color:#665273;margin-top:10px!important}.g431-note{font-size:15px;line-height:1.8}.g431-difference{background:#edf5fc;border:1px solid #cbdfee;border-radius:10px;padding:16px;margin:15px 0}.g431-difference p{font-size:15px;line-height:1.8}.g431 :is(a,button,summary):focus-visible{outline:3px solid #572998;outline-offset:3px}.g431 .g431-pair.g343-self-translate .g343-guide{display:none!important}
@media(max-width:850px){.g431-past-grid,.g431-contrast-grid{grid-template-columns:minmax(0,1fr)}.g431-panel>header h3{font-size:30px!important}.g431-form [lang=ja]{font-size:26px}.g431 .g431-hero h2{font-size:36px!important}.g431-focus{margin-left:52px}}
@media(max-width:480px){.g431-panel>header{padding:16px}.g431-panel-body{padding:12px}.g431-form{grid-template-columns:91px minmax(0,1fr)}.g431-form>b{font-size:11px;padding:10px 7px}.g431-form>div{padding:10px}.g431-form [lang=ja],.g431-noun .g431-form [lang=ja],.g431-contrast-grid .g431-form [lang=ja]{font-size:20px}.g431 .g430-body{padding:12px}.g431 .g430-jp{font-size:19px}.g431-pair-jp{font-size:21px}.g431-contrast{padding:16px 12px}.g431-memory{justify-content:flex-start;font-size:15px;padding:14px}.g431-path button{font-size:11px;padding:8px 10px}.g431-comparison>header{padding:16px 12px}.g431-comparison>header h3{font-size:19px!important}.g431-focus{font-size:16px}.g431-hero>p{padding:10px 12px;font-size:16px}}
.g431-pair .g430-sentence{padding:0 0 8px;gap:8px 3px}.g431-pair-text{font-size:23px;line-height:2;overflow-wrap:anywhere}.g431-pair .g430-chunk{font-weight:600}.g431 .g431-pair.g343-self-translate .g430-order{visibility:hidden}@media(max-width:480px){.g431-pair-text{font-size:21px}}
/* 432: neutralize the app-wide header flex rule only on stacked lesson headings. */
.g431 .g431-panel>header,.g431 .g431-hero,.g431 .g431-section-title{display:block}
.g431 .g431-panel>header h3{width:100%;box-sizing:border-box}
/* Size by actual card width, not viewport: the app sidebar reduces desktop cards too. */
.g431-panel,.g431-contrast-grid>div{container-name:g431-column;container-type:inline-size}
.g431 .g431-form [lang=ja]{white-space:nowrap;overflow-wrap:normal;word-break:keep-all}
@container g431-column (max-width:480px){
 .g431 .g431-form{grid-template-columns:minmax(0,1fr)}
 .g431 .g431-form>b{display:block;padding:8px 12px;font-size:12px;line-height:1.5}
 .g431 .g431-form>div{padding:10px 12px}
 .g431 .g431-form [lang=ja]{font-size:clamp(15px,5.5cqi,26px)}
}

/* Bài 12: one focused pattern, with auxiliary material in separate panes. */
.g433{--g433-accent:#176fae;--g433-soft:#eaf5ff;--g433-height:calc(100dvh - 24px);height:var(--g433-height);min-height:220px;display:flex;flex-direction:column;background:#fff;border:1px solid #cfc0e2;border-radius:14px;position:relative;scroll-margin-top:8px;overflow:visible;color:#29153e;max-width:100%}.g433[data-point="1"]{--g433-accent:#b95208;--g433-soft:#fff1e3}.g433:is([data-point="2"],[data-point="3"],[data-point="4"]){--g433-accent:#643a91;--g433-soft:#f2ebfa}.g433 *{box-sizing:border-box}.g433 .g433-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:var(--g433-soft);border-radius:14px 14px 0 0;flex:none;min-height:42px}.g433 :is(button,summary){font:inherit;cursor:pointer;min-height:34px}.g433 button{border:1px solid #d4c6e2;border-radius:7px;background:#fff;color:#49305d;padding:6px 11px;font-size:13px;line-height:1.4;white-space:normal}.g433 button:disabled{opacity:.45;cursor:default}.g433 :is(button,summary):focus-visible{outline:3px solid #7754a0;outline-offset:2px}.g433-picker,.g433-settings{position:relative;min-width:0}.g433-picker>summary,.g433-settings>summary{display:flex;align-items:center;gap:10px;list-style:none;color:var(--g433-accent);font-size:13px;font-weight:750;padding:0}.g433-picker>summary span{font-size:11px;font-weight:500}.g433-picker nav,.g433-settings>div{position:absolute;top:100%;z-index:25;background:#fff;border:1px solid #d8c8e8;border-radius:10px;padding:9px;box-shadow:0 8px 25px #26103325;max-height:65dvh;overflow:auto}.g433-picker nav{left:0;width:min(330px,80vw);display:grid;gap:5px}.g433-picker button{text-align:left;min-height:42px}.g433-picker button[aria-current=step]{border-color:var(--g433-accent);background:var(--g433-soft);font-weight:700}.g433-settings>div{right:0;width:min(550px,85vw)}.g433-settings .g343-controls{margin:0;padding:8px;border:0}.g433-settings .g343-control-toggles{display:none}.g433 .g433-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;flex:none;flex-wrap:wrap}.g433 .g433-title h2{font-size:clamp(20px,2.1vw,25px)!important;line-height:1.35!important;color:#291047!important;margin:0!important;letter-spacing:-.02em}.g433-tools{display:flex;gap:10px;font-size:12px;flex-wrap:wrap}.g433-tools label{display:inline-flex;align-items:center;gap:4px}.g433 .g433-tabs{display:flex;gap:5px;padding:0 12px 8px;flex:none;border-bottom:1px solid #e7deed}.g433-tabs button{flex:1;min-height:38px;border-color:transparent;background:#f6f2fa}.g433-tabs button[aria-selected=true]{background:var(--g433-accent);color:#fff;font-weight:750}.g433-pane{flex:1;min-height:0;overflow:auto;padding:12px 16px;overscroll-behavior:contain;scrollbar-gutter:stable}.g433-pane>article{margin:0;padding:0;background:transparent;border:0}.g433 .g433-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#faf8fd;border-top:1px solid #e6dcec;padding:7px 12px;flex:none;min-height:48px;color:#6c547c;font-size:12px;border-radius:0 0 14px 14px}.g433 .g433-rule{font-size:16px;line-height:1.6;margin:0 0 10px;padding:7px 11px;background:var(--g433-soft);border-left:4px solid var(--g433-accent);border-radius:6px;font-weight:650}.g433-main-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.g433-subtabs{display:flex;gap:6px;margin-bottom:7px}.g433-subtabs button{min-height:31px;padding:4px 10px;font-size:12px}.g433-subtabs button[aria-pressed=true]{background:var(--g433-accent);border-color:var(--g433-accent);color:#fff}.g433-form{display:grid;grid-template-columns:84px minmax(0,1fr);border:1px solid #dfd5e6;border-radius:8px;margin-bottom:6px;overflow:hidden;min-width:0}.g433-form>b{display:flex;align-items:center;padding:7px 9px;background:var(--g433-soft);font-size:12px;line-height:1.5;color:#3f2a52}.g433-form>div{padding:5px 10px;min-width:0;display:flex;flex-direction:column}.g433-form [lang=ja]{font-size:21px;font-weight:650;line-height:1.7;overflow-wrap:anywhere}.g433-form>div>span:last-child:not([lang=ja]){font-size:12px;line-height:1.5;color:#695a73}.g433 rt{font-size:10px;line-height:1.2;font-weight:400;color:#71627b}.g433 mark{background:transparent!important;color:#bd183c!important;font-weight:750;padding:0}.g433 .g433-hint{font-size:13px;line-height:1.6;margin:8px 0 0;color:#665074}.g433-frame{padding:14px;background:var(--g433-soft);border-radius:9px}.g433-frame>b{font-size:13px;color:var(--g433-accent)}.g433-frame p{font-size:17px;line-height:1.9;margin:8px 0 0}.g433 .g433-example.g374-example{background:#fff;border:1px solid #ddd0e8;border-radius:10px;padding:12px;margin:0;overflow:visible}.g433-example-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#6a527d;font-weight:650}.g433-example-label button{font-size:12px;min-height:31px;padding:4px 9px}.g433-sentence{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px 2px;padding:8px 0 4px;font-size:23px;line-height:1.9;color:#281a36}.g433-sentence .g430-chunk{font-size:inherit;font-weight:600;max-width:100%;overflow-wrap:anywhere}.g433 .g433-translation{font-size:15px;line-height:1.7;margin:5px 0 8px;color:#4d3a5b}.g433 .g433-self{font-size:12px;min-height:30px;padding:4px 9px}.g433 .g343-practice-cover{font-size:13px;line-height:1.6}.g433 .g430-order{font-size:10px;font-weight:600;width:17px;height:17px;line-height:17px}.g433 .g430-order-guide{font-size:13px;line-height:1.8}.g433 .g433-example-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;font-size:13px}.g433 .g433-compare{font-size:15px;line-height:1.8}.g433-compare h4{font-size:17px;margin:0 0 10px}.g433-compare p{font-size:15px;line-height:1.8;margin:10px 0}.g433-compare button{margin:6px 8px 6px 0}.g433-compare aside{background:#fff7e7;padding:13px;border-radius:8px;margin:15px 0}.g433-compare-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px}.g433-details{border-top:1px solid #e4d9ed;margin-top:14px;padding-top:5px}.g433-details>summary{font-size:13px;color:#63447c;padding:8px 0;font-weight:650}.g433 .g430-quiz{margin:0;padding:16px}.g433 .g430-quiz p{font-size:16px}.g433 .g430-choices button{font-size:16px;min-height:44px}.g433 .g343-self-translate .g343-guide{display:none!important}.g433 .g343-self-translate .g430-order{visibility:hidden}.g433 .g343-self-translate .g433-details{display:none!important}
@media(max-width:950px){.g433-main-grid{grid-template-columns:minmax(0,1fr)}.g433 .g433-title{gap:6px;padding:8px 12px}.g433-tools{width:100%;gap:13px}.g433-main-grid{gap:9px}.g433 .g433-example.g374-example{padding:9px 11px}.g433-sentence{padding-top:5px;font-size:22px;line-height:1.8}.g433-form{grid-template-columns:90px minmax(0,1fr);margin-bottom:5px}.g433-form>div{flex-direction:row;align-items:center;justify-content:space-between;gap:10px;padding:4px 10px}.g433-form [lang=ja]{font-size:21px}.g433-form>div>span:last-child:not([lang=ja]){text-align:right;max-width:105px}.g433 .g433-rule{font-size:15px;margin-bottom:8px}.g433 .g433-hint{font-size:12px;margin-top:6px}.g433 .g433-translation{margin:3px 0 5px}.g433-frame{padding:10px 12px}.g433-frame p{font-size:16px;line-height:1.7;margin-top:5px}.g433-compare-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.g433-pane{padding:10px}.g433 .g433-title h2{font-size:20px!important}.g433 .g433-tabs{padding:0 8px 7px;gap:4px}.g433-tabs button{font-size:12px;padding:5px 4px;min-height:36px}.g433 .g433-top{padding:7px 9px;gap:6px}.g433-picker>summary{font-size:12px;gap:6px}.g433-picker>summary span{font-size:10px}.g433-settings>summary{font-size:11px}.g433-form{grid-template-columns:74px minmax(0,1fr)}.g433-form>b{font-size:11px;padding:6px}.g433-form>div{display:block;padding:4px 8px}.g433-form [lang=ja]{font-size:20px;line-height:1.6}.g433-form>div>span:last-child:not([lang=ja]){display:block;max-width:none;text-align:left;line-height:1.3;font-size:11px}.g433-sentence{font-size:21px}.g433-tools{gap:10px;font-size:11px}.g433 .g433-bottom{min-height:45px;padding:6px 9px}.g433 .g433-bottom button{font-size:12px}.g433 .g430-quiz{padding:12px}}
/* 434: reset inherited header/details/nav spacing; keep the focused frame anchored. */
.g433{overflow-anchor:none}
.g433 .g433-top{height:auto;margin:0;min-height:42px}
.g433 .g433-picker,.g433 .g433-settings{margin:0;padding:0}
.g433 .g433-tabs{margin:0;overflow:visible}
.g433 .g433-type{display:inline-block;max-width:190px;min-height:32px;padding:3px 7px;font:inherit;font-size:18px;line-height:1.35;color:var(--g433-accent);background:var(--g433-soft);border:1px solid #cdbce0;border-radius:7px}
.g433 .g433-example-label{flex-wrap:wrap;justify-content:flex-start}
.g433 .g433-example-label>button:first-of-type{margin-left:auto}
.g433 .g433-form>div{line-height:1}
.g433 .g433-form [lang=ja]{display:block;line-height:1.35}
@media(max-width:560px){.g433 .g433-top{padding:5px 9px}.g433 .g433-form>div{padding:4px 8px;line-height:1}.g433 .g433-form [lang=ja]{line-height:1.35}.g433 .g433-form>div>span:last-child:not([lang=ja]){line-height:1.3}.g433 .g433-title{padding:7px 11px}.g433 .g433-type{font-size:18px}.g433 .g433-example-label{gap:5px}}
/* 435: the requested split-screen teaching board, not a long stack of full sections. */
.g433 .g435-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"core example" "warning related";gap:10px;align-items:stretch}
.g433 .g435-board>section,.g433 .g435-board>aside,.g433 .g435-board>button{border:1px solid #ded2e8;border-radius:10px;background:#fff;padding:10px;min-width:0;margin:0;text-align:left;color:#392348}
.g433 .g435-board h3{font-size:14px!important;line-height:1.4!important;font-weight:750;margin:0 0 6px!important;color:var(--g433-accent)!important;min-width:0}
.g433 .g435-core{grid-area:core;background:var(--g433-soft)!important}.g433 .g435-example{grid-area:example}.g433 .g435-warning{grid-area:warning;background:#fff8e8!important;border-color:#ead9b7!important}.g433 .g435-related{grid-area:related;background:#f5effb!important;border-color:#d8c7e8!important;cursor:pointer}.g433 .g435-related:hover{background:#eee5f7!important}
.g433 .g435-rule{font-size:14px;line-height:1.5;margin:0 0 7px}.g433 .g435-warning p,.g433 .g435-related p{font-size:13px;line-height:1.55;margin:0}.g433 .g435-related h3{display:flex;justify-content:space-between;gap:8px}
.g433 .g435-form{grid-template-columns:85px minmax(0,1fr);margin:0 0 5px;background:#fff}.g433 .g435-form:last-child{margin-bottom:0}.g433 .g435-form>.g435-form-label{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:5px 7px;background:var(--g433-soft);line-height:1.3}.g433 .g435-form-label>b{font-size:11px;line-height:1.4}.g433 .g435-form-label>span{font-size:11px!important;line-height:1.3!important;text-align:left!important;color:#655373}.g433 .g435-form>.g435-form-jp{display:block;padding:6px 8px;font-size:21px;line-height:1.6;font-weight:650;overflow-wrap:anywhere}.g433 .g435-form-jp ruby{font-size:inherit}.g433 .g435-example>.g433-example{border:0!important;padding:0!important;border-radius:0!important}.g433 .g435-example .g433-example-label{font-size:0}.g433 .g435-example .g433-example-label>button:first-of-type{margin-left:0}.g433 .g435-example .g433-example-label>button{font-size:12px}.g433 .g435-core .g433-frame{padding:7px 0;background:transparent}.g433 .g435-core .g433-frame>b{display:none}.g433 .g435-core .g433-frame p{margin:0;font-size:16px;line-height:1.75}
@media(max-width:950px){.g433 .g435-board{grid-template-areas:"core core" "example example" "warning related";gap:7px}.g433 .g435-board>section,.g433 .g435-board>aside,.g433 .g435-board>button{padding:8px}.g433 .g435-form>.g435-form-jp{font-size:21px}.g433 .g435-example .g433-sentence{padding:5px 0 3px}.g433 .g435-rule{margin-bottom:6px}}
@media(max-width:560px){.g433 .g433-pane{padding:8px}.g433 .g435-board{gap:6px}.g433 .g435-board h3{font-size:13px!important;margin-bottom:5px!important}.g433 .g435-form{grid-template-columns:83px minmax(0,1fr);margin-bottom:4px}.g433 .g435-form>.g435-form-jp{font-size:20px;padding:5px 7px;line-height:1.5}.g433 .g435-warning p,.g433 .g435-related p{font-size:13px;line-height:1.45}.g433 .g435-rule{font-size:13px;line-height:1.4}.g433 .g435-example .g433-translation{font-size:14px;line-height:1.6;margin:3px 0 0}.g433 .g435-core .g433-frame p{font-size:15px;line-height:1.6}}
.g433 .g435-example{position:relative}.g433 .g435-example>h3{position:absolute;top:12px;left:10px;margin:0!important;pointer-events:none}.g433 .g435-example .g433-example-label{min-height:31px;padding-left:55px}.g433 .g435-example .g433-example-label>button:first-of-type{margin-left:auto}@media(max-width:950px){.g433 .g435-example>h3{top:11px;left:8px}}
/* 435: on narrow screens the first two patterns share the top row, as in the reference. */
@media(max-width:560px){
 .g433:is([data-point="0"],[data-point="1"]) .g435-board{grid-template-areas:"core example" "warning related";align-items:start}
 .g433:is([data-point="0"],[data-point="1"]) .g435-form{grid-template-columns:minmax(0,1fr)}
 .g433:is([data-point="0"],[data-point="1"]) .g435-form>.g435-form-label{flex-direction:row;align-items:center;justify-content:space-between;gap:4px;padding:3px 5px}
 .g433:is([data-point="0"],[data-point="1"]) .g435-form-label>b{flex-shrink:0}
 .g433:is([data-point="0"],[data-point="1"]) .g435-form-label>span{max-width:none!important}
 .g433:is([data-point="0"],[data-point="1"]) .g435-form>.g435-form-jp{font-size:18px;line-height:1.35;padding:4px 5px;overflow-wrap:anywhere}
 .g433:is([data-point="0"],[data-point="1"]) .g435-example .g433-example-label{padding-left:40px;gap:4px}
 .g433:is([data-point="0"],[data-point="1"]) .g435-example .g433-sentence{font-size:20px;line-height:1.65}
 /* Compact the existing launcher only in this focused reader; original action and access stay intact. */
 body:has(#g433-reader) #hana-launch312{top:12px;left:calc(50% + 28px);right:auto;bottom:auto;width:34px;height:34px;min-height:34px;padding:0;border-radius:50%;gap:0}
 body:has(#g433-reader) #hana-launch312 .hana-avatar317{width:30px;height:30px}
 body:has(#g433-reader) #hana-launch312>span:not(.hana-avatar317){display:none}
}
/* 436: recover the measured 41px noun-variant deficit, without changing text size. */
@media(max-width:560px){
 .g433[data-point="0"] .g435-form>.g435-form-label{padding:0 5px}
 .g433[data-point="0"] .g435-form>.g435-form-jp{padding:1px 5px}
}
/* The existing Hana button stays accessible, but does not cover the focused lesson on desktop. */
body:has(#g433-reader) #hana-launch312{top:12px;left:calc(50% + 28px);right:auto;bottom:auto;width:34px;height:34px;min-height:34px;padding:0;border-radius:50%;gap:0}
body:has(#g433-reader) #hana-launch312 .hana-avatar317{width:30px;height:30px}
body:has(#g433-reader) #hana-launch312>span:not(.hana-avatar317){display:none}

/* Generic N5 focused reader; no selector changes the approved lesson-12 reader. */
.g433.g437{--g433-accent:#643a91;--g433-soft:#f2ebfa}
.g437 .g435-board{grid-template-areas:"core example" "warning related";grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.g437 .g435-core .g437-meaning{font-size:16px;line-height:1.6;font-weight:650;margin:2px 0 12px;color:#3e2853}
.g437 .g435-core .g437-form{font-size:15px;line-height:1.75;margin:0;padding-top:10px;border-top:1px solid #daccdf;overflow-wrap:anywhere}
.g437 .g435-related b{font-weight:650}.g437 .g435-related small{display:block;margin-top:5px;font-size:11px;color:#75528d}
.g437 .g433-title h2{overflow-wrap:anywhere}
.g437 .g437-related-note{padding:12px;border:1px solid #dfd1ea;background:#faf6ff;border-radius:9px;margin:0 0 12px}
.g437 .g437-related-note h4{font-size:15px;margin-bottom:6px}.g437 .g437-related-note p{margin:5px 0}
body:has(#g437-reader) #hana-launch312{top:12px;left:calc(50% + 28px);right:auto;bottom:auto;width:34px;height:34px;min-height:34px;padding:0;border-radius:50%;gap:0}
body:has(#g437-reader) #hana-launch312 .hana-avatar317{width:30px;height:30px}
body:has(#g437-reader) #hana-launch312>span:not(.hana-avatar317){display:none}
@media(max-width:950px){.g437 .g435-board{grid-template-areas:"core example" "warning related";gap:7px}.g437 .g435-core .g437-meaning{font-size:15px;line-height:1.55;margin-bottom:9px}.g437 .g435-core .g437-form{font-size:14px;line-height:1.6;padding-top:8px}.g437 .g435-example .g433-example-label{padding-left:40px;gap:4px}.g437 .g435-example .g433-sentence{font-size:20px;line-height:1.65}}
@media(max-width:560px){.g437 .g435-board{gap:6px}.g437 .g435-core .g437-meaning{font-size:15px;line-height:1.5;margin-bottom:8px}.g437 .g435-core .g437-form{font-size:14px;line-height:1.6;padding-top:7px}.g437 .g435-example .g433-translation{font-size:14px;line-height:1.6}.g437 .g435-related p,.g437 .g435-warning p{font-size:13px;line-height:1.45}}

/* Picker-only polish: the closed summary remains 34px tall, preserving the reader budget. */
.g433 .g433-picker>summary{display:flex;align-items:center;gap:9px;min-height:34px;height:34px;padding:0;line-height:1;list-style:none}
.g433 .g433-picker>summary::-webkit-details-marker{display:none}
.g433 .g433-picker .g438-position{display:flex;flex-direction:column;gap:2px;flex-shrink:0;font-size:12px;font-weight:500;line-height:1.15;color:#5c466d}
.g433 .g438-position b{font-size:13px;line-height:1.2;font-weight:750;color:#352047;white-space:nowrap}
.g433 .g433-picker .g438-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:34px;min-height:34px;padding:0 10px;border:1px solid #4f287d;border-radius:8px;background:#542e86;color:#fff;font-size:15px;line-height:1;font-weight:750;white-space:nowrap;box-sizing:border-box}
.g433 .g433-picker .g438-trigger>span{font-size:22px;line-height:1;font-weight:600;color:inherit;transition:transform .12s}
.g433 .g433-picker[open] .g438-trigger{background:#3d1c64;border-color:#3d1c64}
.g433 .g433-picker[open] .g438-trigger>span{transform:rotate(180deg)}
.g433 .g433-picker>summary:hover .g438-trigger{background:#44216f}
.g433 .g433-picker>summary:focus-visible{outline:3px solid #8054ad;outline-offset:3px;border-radius:8px}
.g433 .g433-picker>nav{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin:6px 0 0;padding:9px;width:min(380px,calc(100vw - 64px));max-height:min(65dvh,480px);overflow-y:auto;overflow-x:hidden;z-index:90;border:1px solid #baa0d4;border-radius:12px;background:#fff;box-shadow:0 12px 28px #26103330}
.g433 .g433-picker>nav>button{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center;min-height:44px;width:100%;padding:10px;text-align:left;font-size:15px;line-height:1.45;border:1px solid #e2d7ec;border-radius:8px;background:#fff;color:#3c294d;white-space:normal}
.g433 .g438-number{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#f0e8f8;font-size:13px;font-weight:750;color:#67438b}
.g433 .g438-name{min-width:0;overflow-wrap:anywhere;font-size:15px;font-weight:500;line-height:1.45}
.g433 .g433-picker>nav>button:hover{background:#f5effb;border-color:#bfa3d8}
.g433 .g433-picker>nav>button[aria-current=step]{background:#eee3fa;border:2px solid #75449e;padding:9px;color:#321944}
.g433 .g433-picker>nav>button[aria-current=step] .g438-number{background:#60348c;color:#fff}
.g433 .g433-picker>nav>button[aria-current=step] .g438-name{font-weight:750}
@media(max-width:560px){.g433 .g433-picker>summary{gap:7px}.g433 .g433-picker .g438-trigger{padding:0 9px;font-size:15px}.g433 .g433-picker .g438-position{font-size:12px}.g433 .g438-position b{font-size:13px}}
@media(prefers-reduced-motion:reduce){.g433 .g433-picker .g438-trigger>span{transition:none}}

/* Only the N5 focused reader: OFF retains its existing one-screen layout. */
.g433 .g439-order-guide{font-size:13px;line-height:1.5;padding:5px 0 0;margin:0;overflow-wrap:anywhere;color:#59456f}
.g433 .g439-order-label{font-size:12px;color:#643a91}
.g433 .g439-order-step{display:inline}
.g433 .g439-order-jp{display:none}
#foundation161.foundation-hide-meaning .g433 .g439-order-vi{display:none}
#foundation161.foundation-hide-meaning .g433 .g439-order-jp{display:inline}
.g433 .g439-order-arrow{color:#785c92}
.g433 .g433-tools label{white-space:nowrap}
