:root{font-family:Segoe UI,Arial,sans-serif;color:#253c35;background:#f5f4ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0}aside{position:fixed;width:235px;inset:0 auto 0 0;background:#163e35;color:#e9eee3;padding:36px 22px;display:flex;flex-direction:column}.brand{color:inherit;text-decoration:none;font-size:32px;font-weight:600;letter-spacing:2px}.brand>span:first-child{color:#e0b97b;margin-right:10px}.brand-small{display:block;font-size:9px;letter-spacing:3px;margin:12px 0 40px}nav{display:grid;gap:9px}button,a,input,select{font:inherit}button{cursor:pointer;border:1px solid #d9ddd3;background:#fff;border-radius:9px;padding:11px 17px;color:inherit}button:hover{border-color:#588674;background:#eef3ec}button:disabled{opacity:.45;cursor:default}nav button{color:#d4e1d8;background:transparent;border:0;text-align:left;padding:14px}nav button.active{background:#31584c;color:white}.aside-footer{margin-top:auto;font-size:13px;line-height:1.9;color:#c3d1c4}.aside-footer span{font-size:19px}.aside-footer p{font-size:10px;opacity:.65}main{margin-left:235px;padding:32px 48px;max-width:1550px}header{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:2px;margin-bottom:42px}.pill,.tag{border:1px solid #d7ddcc;border-radius:20px;padding:8px 12px;letter-spacing:0;font-size:12px}.eyebrow{font-size:11px;letter-spacing:2px;color:#71846d;text-transform:uppercase}h1{font-family:Georgia,serif;font-size:43px;font-weight:400;line-height:1.15;margin:14px 0}h2{font-size:21px;font-weight:500;margin-top:0}h3{font-size:16px;margin:0 0 10px}p{line-height:1.65}.muted,small{color:#758176}.hero{background:#e6eadb;border-radius:18px;padding:34px;position:relative;overflow:hidden;margin-bottom:24px}.hero .sun{position:absolute;right:38px;top:20px;font-family:serif;font-size:135px;color:#c6d0b5;pointer-events:none}.hero p{max-width:70%;position:relative}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.two{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}.card{background:#fffef8;border:1px solid #e1e3d7;border-radius:14px;padding:25px;margin-bottom:20px}.stat{font-size:32px;font-family:Georgia,serif;margin:12px 0}.primary{background:#244f40;color:white;border-color:#244f40}.primary:hover{background:#376552;color:white}.row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.spread{justify-content:space-between}.section-title{margin:30px 0 18px}label{display:block;font-size:13px;margin:12px 0 7px}input,select{padding:11px;border:1px solid #d5dacd;border-radius:8px;background:white;color:#253c35;max-width:100%}input[type=search]{flex:1;min-width:180px}progress{width:100%;height:8px;accent-color:#396b51}#notice{position:fixed;right:30px;bottom:25px;max-width:420px;background:#254b3b;color:white;border-radius:10px;padding:15px;display:none;z-index:20}.jp{font-family:'Yu Gothic','Meiryo',sans-serif}.big-jp{font-size:90px;text-align:center;min-height:150px;padding:15px;overflow-wrap:anywhere}.flash{text-align:center;min-height:330px;display:flex;flex-direction:column;justify-content:center}.flash .reading{font-size:25px}.actions{margin-top:20px}.canvas-wrap{position:relative;max-width:520px;aspect-ratio:1;background:#fffdf6;border:1px solid #d9ddcf;border-radius:10px;overflow:hidden}.canvas-wrap:before,.canvas-wrap:after{content:'';position:absolute;pointer-events:none}.canvas-wrap:before{top:50%;width:100%;border-top:1px dashed #d5dccb}.canvas-wrap:after{left:50%;height:100%;border-left:1px dashed #d5dccb}#trace{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:clamp(100px,22vw,340px);color:#dfe3d8;pointer-events:none}canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.library-list{display:grid;gap:10px;margin-top:20px}.resource{background:#fffef8;border:1px solid #e1e3d7;border-radius:10px;padding:17px;display:flex;gap:18px;align-items:center}.resource .info{flex:1;min-width:0}.resource h3{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.type-icon{background:#e8eddf;border-radius:9px;padding:12px;font-size:12px;min-width:58px;text-align:center}.reader-text{font-size:25px;line-height:2.3}audio,video{width:100%;margin:18px 0}iframe{width:100%;height:650px;border:1px solid #ddd;border-radius:10px}.phase{border-left:3px solid #a1b28e;padding-left:20px;margin:25px 0}.phase small{display:block;margin-bottom:8px}a{color:#2d6752}.answer{display:block;width:100%;text-align:left;margin:10px 0}.success{color:#276e45}details{margin:20px 0}summary{cursor:pointer}#recording{color:#a74435}.empty{padding:30px;text-align:center;color:#6c7c6c}.check{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #ebede3}.check input{accent-color:#2d634b;width:18px;height:18px}.check span{flex:1}.footnote{font-size:12px;color:#758176;line-height:1.6;margin-top:20px}@media(max-width:1000px){main{padding:25px;margin-left:200px}aside{width:200px}.grid{grid-template-columns:1fr}.two{grid-template-columns:1fr}.hero .sun{opacity:.5}.hero p{max-width:85%}}@media(max-width:650px){aside{position:static;width:100%;padding:18px}.brand{font-size:24px}.brand-small,.aside-footer{display:none}nav{display:flex;overflow:auto;margin-top:15px;gap:4px}nav button{white-space:nowrap;font-size:12px;padding:10px}main{margin:0;padding:22px}header{margin-bottom:25px}h1{font-size:33px}.hero{padding:22px}.hero .sun{font-size:100px;right:10px}.resource{flex-wrap:wrap}#trace{font-size:60vw}}
:root{--ink-green:#244f40}
.chapter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.chapter-card{position:relative;padding-top:35px}.chapter-card h2{font-family:Georgia,serif;font-size:29px;margin:18px 0}.chapter-no{float:right;font-size:42px;color:#c9d4ba;font-family:Georgia,serif}.unit-tabs{display:flex;flex-wrap:wrap;gap:8px}.character-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:12px}.character-tile{padding:18px 12px;background:#f3f4e9;border-radius:10px;display:flex;align-items:center;flex-direction:column;gap:12px}.character-tile .jp{font-size:60px}.character-tile small{text-align:center}.character-tile button{padding:8px 10px}.assessment-board svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.guide-path{fill:none;stroke:#d7dfcd;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.stroke-number{font-size:4px;fill:#779365}.concealed{visibility:hidden}.assessment{padding:18px;border-radius:9px;margin-top:18px;line-height:1.5}.assessment p{margin:8px 0}.assessment .row{font-size:12px}.passed{background:#e6efdf;color:#254f36}.needs-work{background:#faeddd;color:#87451f}.exam-board{max-width:500px}.grammar-question,.result-line{border-top:1px solid #e3e5d8;padding:16px 0}.voice-status{background:#edf0e5;border-radius:10px;padding:15px;margin:14px 0;font-size:13px}.voice-status p{margin:5px 0}.unit-tabs .primary{border-color:#244f40}button[hidden]{display:none}.assessment-board{max-width:520px}aside nav{gap:5px}@media(max-width:700px){.chapter-grid{grid-template-columns:1fr}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
:root{--kana-panel:#fffef8}
.kana-intro{background:#e6eadb}.kana-speaking{border:1px solid #d8dfce;border-radius:18px;background:var(--kana-panel);color:#253c35;padding:30px;width:min(680px,94vw);max-height:90vh;overflow:auto}.kana-speaking::backdrop{background:rgba(15,39,31,.55)}.kana-speaking h2{margin:12px 0}.kana-sound{font-size:78px;margin:14px 0}.kana-sound small{font-size:26px;margin-left:20px}.kana-speaking meter{width:60%;height:18px}.character-tile .row{justify-content:center}.kana-speaking audio{margin:10px 0}
.journey-path{max-height:420px;overflow:auto}.journey-path .check{font-size:13px}#journeyChoices button{font-size:22px;min-width:80px}#journeyNext{margin:15px 10px 10px 0}#journeyTask .canvas-wrap{max-width:440px}
.speech-sentence{font-size:clamp(24px,3vw,38px);line-height:1.8;overflow-wrap:anywhere}.sentence-speaking .kana-sound{font-size:30px;overflow-wrap:anywhere}.sentence-speaking .kana-sound small{display:block;font-size:18px;margin:12px 0}.sentence-speaking h2{overflow-wrap:anywhere}

.result-detail{padding:14px 0;border-bottom:1px solid #dedfd2}.result-detail summary{cursor:pointer;line-height:1.6}#deskBook{max-width:100%;width:100%;text-overflow:ellipsis}textarea{font:inherit;padding:12px;border:1px solid #d8ddcf;border-radius:9px;background:#fffef8;color:#254638}.stat{overflow-wrap:anywhere}
.stat small{display:block;font:14px/1.5 "Segoe UI",Arial,sans-serif;overflow-wrap:normal;word-break:normal}

.grammar-guide{max-width:900px}.grammar-guide section{margin:28px 0}.grammar-guide h3{font-size:19px;margin-bottom:10px}.grammar-guide p{line-height:1.85}.grammar-pattern{padding:17px 20px;background:#e9eddf;border-left:4px solid #547b61;border-radius:5px;font-weight:600}.grammar-parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.grammar-parts>div{padding:18px;border:1px solid #dde1d5;border-radius:10px;background:#fffdf6}.grammar-parts .jp{font-size:22px;overflow-wrap:anywhere}.grammar-parts p{font-size:14px;margin-bottom:0}.grammar-pitfall{padding:6px 20px;background:#f5efdf;border-radius:10px}.grammar-check,.grammar-book{padding:16px 0;border-top:1px solid #dfe2d7}.grammar-check summary,.grammar-book summary{cursor:pointer;line-height:1.6}.grammar-check details{margin:14px 0;padding-left:14px}

/* Learning studio */
.studio-tabs,.studio-phase-nav{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.studio-phase-nav button{font-size:13px}.studio-phase-nav span{display:inline-flex;width:23px;height:23px;align-items:center;justify-content:center;background:#e5eddf;color:#244f40;border-radius:50%;margin-right:7px}.studio-feature{display:grid;grid-template-columns:2fr 1fr;gap:30px;margin-top:24px;background:#e8edde}.studio-feature-count{display:flex;flex-direction:column;justify-content:center;border-left:1px solid #c9d5bf;padding-left:28px;line-height:1.7}.studio-feature-count strong{font:48px/1.1 Georgia,serif}.studio-feature-count small{display:block;font:14px/1.6 'Segoe UI',sans-serif;margin-top:12px}.studio-feature-count span{font-size:13px;margin-top:15px}.studio-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.studio-metrics>div{padding:22px;background:#fffef8;border:1px solid #dedfd2;border-radius:12px}.studio-metrics strong{display:block;font:36px Georgia,serif;color:#244f40}.studio-metrics span{display:block;font-size:13px;color:#718173;margin-top:8px}.studio-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:22px 0}.studio-flow>div{display:flex;align-items:center;gap:9px;font-size:13px}.studio-flow b{display:flex;width:30px;height:30px;flex:0 0 30px;align-items:center;justify-content:center;border-radius:50%;background:#e6ecdc;color:#244f40}.studio-lesson-row{display:flex;gap:20px;justify-content:space-between;padding:22px 0;border-bottom:1px solid #dedfd2}.studio-lesson-row h3{margin:8px 0}.studio-lesson-row p{margin:0}.studio-lesson-row>div:last-child{display:flex;flex-direction:column;gap:14px;justify-content:center;min-width:140px}.studio-status{font-size:12px;color:#55745a}.studio-workspace{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px}.studio-side{position:sticky;inset:auto;top:20px;width:auto;height:max-content;display:block;background:#f0f2e8;color:#294738;padding:25px;font-size:14px}.studio-main{min-width:0}.studio-main textarea{width:100%;margin-bottom:12px}.studio-puzzle-result{min-height:95px;padding:18px;border:1px dashed #91aa88;border-radius:12px;display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:22px 0;background:#f1f4e9}.studio-puzzle-result>span{font:14px 'Segoe UI',sans-serif;color:#738071}.studio-puzzle-result button,.studio-token-bank button{font-size:20px}.studio-token-bank{display:flex;flex-wrap:wrap;gap:10px}.studio-task{background:#e9eddf;padding:20px;border-left:4px solid #53775b;border-radius:5px;line-height:1.8}.studio-skill-row{display:grid;grid-template-columns:140px 1fr 180px;gap:20px;align-items:center;padding:15px 0;border-bottom:1px solid #e4e6da}.studio-skill-row span{font-size:13px}.studio-course-link{padding:18px;background:#e9efdf;border-radius:12px;margin:20px 0}.studio-course-link p{margin:8px 0 14px}.studio-start{background:#e6eddd}.studio-start h1{max-width:680px}.studio-start .eyebrow{margin-bottom:14px}#assignmentLesson{max-width:100%;width:100%}
@media(max-width:1200px){.studio-workspace{grid-template-columns:1fr}.studio-side{position:static}.studio-flow{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.studio-feature{grid-template-columns:1fr}.studio-feature-count{border-left:0;border-top:1px solid #c9d5bf;padding:20px 0 0}.studio-metrics{grid-template-columns:repeat(2,1fr)}.studio-flow{grid-template-columns:1fr}.studio-lesson-row{flex-direction:column}.studio-lesson-row>div:last-child{flex-direction:row;justify-content:space-between;align-items:center}.studio-skill-row{grid-template-columns:1fr;gap:8px}.studio-phase-nav{gap:6px}.studio-phase-nav button{padding:9px}.studio-tabs{gap:7px}}

.intensive-task{display:flex;align-items:center;gap:15px;border-bottom:1px solid #e1e5d6;padding:18px 0}.intensive-task>div{flex:1}.intensive-task p{font-size:13px;line-height:1.6;margin:6px 0}.intensive-task small{font-size:12px;color:#7c8679}.intensive-check{font-size:22px;color:#3c6c49}.studio-start .footnote{max-width:680px;color:#61745f}@media(max-width:700px){.intensive-task{flex-wrap:wrap}.intensive-task button{margin-left:36px}.studio-metrics strong{font-size:28px}}

.production-prompt{background:#edf1e4}.production-prompt h2{margin-top:14px}.production-answer{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:22px;line-height:1.5}.production-slot{display:inline-flex;justify-content:center;align-items:center;min-width:32px;height:40px;font-size:25px;border-bottom:2px solid #bfcbb8;color:#9ca893}.production-slot.current{border-bottom:3px solid #244c3d;background:#dce6d3;color:#244c3d}.production-slot.written{color:#244c3d}.production-punctuation{font-size:23px;color:#708269}#productionHelp{margin-top:20px}.production-answer{overflow-wrap:anywhere}

/* Keep the extended navigation reachable in shorter windows. */
aside{overflow-y:auto}.brand{flex-shrink:0}

/* Dictionary and grammar reference */
aside nav{gap:2px}aside nav button{padding:11px 13px}.lookup-selection{font-size:12px;padding:8px 11px;letter-spacing:0}.dictionary-search{background:#e9edde}.dictionary-search input{min-width:160px}.dictionary-entry{padding:28px}.dictionary-word{font-size:33px;margin:0;overflow-wrap:anywhere}.dictionary-reading{margin:10px 0;font-size:19px}.dictionary-reading small{font-family:'Segoe UI',sans-serif;font-size:13px}.dictionary-senses{padding-left:25px}.dictionary-senses li{padding:10px 0}.dictionary-senses p{margin:6px 0}.dictionary-tags{display:block;margin-top:8px}.dictionary-form{background:#edf0e3;padding:12px 15px;border-left:3px solid #8aa375}.dictionary-course{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.reference-tabs{margin:25px 0}.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grammar-topic{display:flex;flex-direction:column;margin:0;min-width:0}.grammar-topic h2{font:25px/1.45 Georgia,'Yu Gothic',serif;margin:20px 0 0}.grammar-topic-pattern{padding:14px;background:#f0f2e8;border-radius:8px;font-size:13px;line-height:1.7}.grammar-topic>.row:last-child{margin-top:auto;padding-top:15px}.grammar-recommended{padding:25px;background:#e3ead8;border-radius:14px;margin-bottom:23px}.reference-layout{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:24px}.grammar-article{min-width:0}.grammar-article section{margin-bottom:30px}.grammar-article h2{font-size:21px}.grammar-example{border-bottom:1px solid #dfe4d5;padding:10px 0 22px}.grammar-example>.jp{font-size:23px;line-height:1.8}.reference-side .card{padding:22px}.reference-side button{max-width:100%;text-align:left}.tofugu-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px}.tofugu-topics>a{padding:15px 3px;border-bottom:1px solid #e1e5d7;line-height:1.5;display:flex;justify-content:space-between;gap:10px}.grammar-retry{color:#925229}.grammar-inline-search{margin-top:18px}.reference-layout>*,.reference-grid>*{overflow-wrap:anywhere}
@media(max-width:1200px){.reference-layout{grid-template-columns:1fr}.reference-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.reference-side .card{margin-bottom:0}}
@media(max-width:760px){.reference-grid,.tofugu-topics,.reference-side{grid-template-columns:1fr}.dictionary-entry{padding:20px}.dictionary-word{font-size:29px}header{gap:12px;flex-wrap:wrap}.lookup-selection{font-size:11px}}
.grammar-integrated{padding:22px;background:#f0f3e8;border:1px solid #dce4d0;border-radius:12px;margin:25px 0}.grammar-integrated>.jp{font-size:21px;margin-bottom:4px}.grammar-integrated>.jp+p{margin-top:0}.studio-main .grammar-example>.jp{font-size:23px}
.lesson-vocab-panel{padding:22px;background:#eaf0df;border:1px solid #d9e2cf;border-radius:12px;margin-bottom:30px}.lesson-vocab-panel h2{margin-top:15px}.lesson-vocab-list{margin:18px 0}.lesson-vocab-list>div{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #d8e0cf}.lesson-vocab-list .jp{font-size:19px}.lesson-vocab-list button{padding:8px 12px}.vocab-prep-card{max-width:840px}.vocab-prep-word{font-size:58px;line-height:1.5;margin:22px 0}.vocab-prep-reading{font-size:26px}.vocab-prep-meaning{font-size:23px}.vocab-prep-card form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.vocab-prep-card form label{width:100%}.vocab-prep-card input{font-size:23px;min-width:0;flex:1}.vocab-kana-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin-top:16px}.vocab-kana-grid button{font-size:21px;padding:9px 3px}.vocab-keyboard summary{line-height:1.6}.vocab-options .answer{line-height:1.6}@media(max-width:700px){.lesson-vocab-list>div{grid-template-columns:1fr 1fr auto}.lesson-vocab-list>div>span:nth-child(3){grid-column:1/3;grid-row:2}.lesson-vocab-list button{grid-column:3;grid-row:1/3}.vocab-kana-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.vocab-prep-word{font-size:44px}}
.lesson-vocab-list>div>*{min-width:0;overflow-wrap:anywhere}
/* Integrated book learning paths */
.textbook-entry{margin:12px 0 22px}.textbook-intro{margin:24px 0}.textbook-intro p{max-width:85ch}.textbook-series{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.textbook-series button{text-align:left;padding:18px;color:#253c35;background:#fffef8;border:1px solid #d9ddd3;white-space:normal;min-width:0}.textbook-series button.primary{background:#244f40;color:white;border-color:#244f40}.textbook-series button.primary small{color:#dce7d5}.textbook-series small,.textbook-row small{display:block;font-weight:400;margin-top:6px}.textbook-lessons{display:grid;gap:14px}.textbook-row{padding:0}.textbook-row>summary{display:flex;align-items:center;gap:18px;cursor:pointer;padding:22px;list-style:none}.textbook-row>summary>span:nth-child(2){flex:1}.textbook-number{font-family:Georgia,serif;font-size:2rem;color:#6b806c;min-width:2ch}.textbook-row-body{padding:0 24px 24px;border-top:1px solid #e0e3d6}.textbook-row ol{padding-left:25px}.textbook-row li{padding:15px 0;border-bottom:1px solid #e0e3d6}.textbook-row li>div:first-child{margin-bottom:10px}.textbook-originals{padding:15px 0 0}.textbook-context{background:#f0f3e9;border-left:3px solid #81966d;padding:16px;margin-bottom:20px}.textbook-context p{font-size:.85rem}.textbook-originals button{max-width:100%;white-space:normal;text-align:left}@media(max-width:700px){.textbook-series{grid-template-columns:repeat(2,1fr)}.textbook-row>summary{padding:16px;gap:10px}.textbook-row-body{padding:0 16px 16px}}

/* One-button guided learning */
.guided-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;margin:0 0 24px;border:1px solid #cbd7c0;border-radius:12px;background:#eef2e5}.guided-banner small{display:block;margin-top:5px}.guided-steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.guided-steps span{border:1px solid #d4ddc9;border-radius:20px;padding:9px 13px;font-size:13px}.guided-steps .current{background:#244f40;color:white}.guided-next{border:2px solid #7d9674}.guided-start p{max-width:78ch}.guided-start .primary{font-size:18px;padding:15px 26px}@media(max-width:700px){.guided-banner{align-items:flex-start;flex-direction:column}.guided-start .row{align-items:stretch;flex-direction:column}}
.evidence-intro{margin:22px 0}.evidence-intro h2{margin-top:0}.evidence-words{font-size:.9rem;background:#f0f2e8;padding:12px 16px;border-radius:10px}.evidence-question input{display:block;width:min(100%,480px);margin:8px 0 14px}.evidence-dialogue{border-left:3px solid #bdcbb1;padding:4px 20px;margin:18px 0}.evidence-dialogue p{margin:15px 0;line-height:1.9}.evidence-dialogue small{display:block;color:#6a796f;font-size:.9rem}.evidence-coverage{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;margin-top:18px}.evidence-coverage details{padding:12px;border:1px solid #dde2d3;border-radius:10px}.evidence-coverage summary small{display:block;color:#657469;margin:4px 0}.evidence-error{border-left:3px solid #ba753d;padding-left:12px}.evidence-question label select{margin-left:8px}.evidence-intro .row{flex-wrap:wrap}

.evidence-help{background:#f3f2e5;border:1px solid #d9decd;margin:20px 0}.evidence-help .evidence-dialogue{margin:12px 0}

.evidence-results .result-line>.tag{display:inline-block;margin-bottom:12px}.evidence-dialogue .jp{font-size:1.15rem;line-height:1.9}

/* Documents stay inside the desktop learning window. */
.desktop-document {width:94vw; max-width:none; height:92vh; max-height:92vh; padding:14px; border:1px solid #d8decd; border-radius:12px; background:#f5f5ed; color:#193f35;}
.desktop-document::backdrop {background:#102e26aa;}
.desktop-document > .row {justify-content:space-between; margin-bottom:10px;}
.desktop-document iframe {display:block; width:100%; height:calc(100% - 58px); border:0; background:white;}
/* Content tabs need their own contrast; sidebar nav colors must stay scoped. */
main nav button {color:#253c35;background:#fffef8;border:1px solid #d9ddd3;}
main nav button.primary, main nav button.active {background:#244f40;color:#fff;border-color:#244f40;}
aside nav button:hover {background:#31584c;color:#fff;}

.grammar-writing-prompt h2{font-size:25px;line-height:1.6}.grammar-writing-feedback .reader-text{overflow-wrap:anywhere}#grammarSentence{display:block;width:100%;padding:16px;font:24px/1.8 "Yu Gothic",Meiryo,sans-serif;border:1px solid #b7c7b4;border-radius:10px;margin:12px 0 18px;resize:vertical}

.grammar-writing-workspace{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;align-items:start;margin-top:20px}.grammar-writing-workspace .section-title{margin-top:0}.grammar-writing-workspace>section{min-width:0}.grammar-writing-workspace .production-slot{min-width:24px}.grammar-writing-workspace:has(.grammar-writing-feedback){display:block}@media(max-width:1050px){.grammar-writing-workspace{grid-template-columns:1fr}}

/* Erklärvideos (explainer-videos.js) */
.xv-overlay{position:fixed;inset:0;z-index:50;background:rgba(18,40,34,.72);display:flex;align-items:center;justify-content:center;padding:18px}.xv-window{background:#f5f4ed;border-radius:16px;padding:16px 20px 18px;box-shadow:0 20px 60px rgba(0,0,0,.35);max-width:100%}.xv-head{margin-bottom:10px}.xv-head h2{margin:2px 0 0;font-size:21px}.xv-frame{position:relative;overflow:hidden;border-radius:14px;margin:0 auto}.xv-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.xv-controls button{padding:8px 14px}.xv-bar{flex:1;min-width:120px;height:6px;background:#d9ddd3;border-radius:3px;overflow:hidden}.xv-bar i{display:block;height:100%;width:0;background:#588674}.xv-time{font-size:13px;color:#6f8379;font-variant-numeric:tabular-nums}
.xv-stage{--s:#588674;--o:#c98a3a;--v:#a5532a;--p:#4f7ea8;--q:#c98a3a;position:absolute;left:0;top:0;width:1280px;height:720px;transform-origin:0 0;background:#f5f4ed;color:#253c35;font-family:"Segoe UI","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;overflow:hidden}.xv-top{position:absolute;left:0;right:0;top:0;height:56px;background:#163e35;color:#e9eee3;display:flex;align-items:center;gap:16px;padding:0 28px;font-size:13px;letter-spacing:2px}.xv-top b{font:600 23px Georgia,serif;letter-spacing:2px}.xv-top b span{color:#e0b97b;margin-right:8px;font-family:"Yu Gothic UI",Meiryo,sans-serif}
.xv-fx{opacity:0;translate:0 18px;transition:opacity .6s ease,translate .6s cubic-bezier(.2,.8,.2,1),scale .5s cubic-bezier(.3,1.6,.5,1),background .4s,border-color .4s,color .4s}.xv-fx.xv-on{opacity:1;translate:0 0}.xv-fx.xv-off{opacity:0;translate:0 -14px}.xv-pop{translate:0 0;scale:.3}.xv-pop.xv-on{scale:1}.xv-abs{position:absolute;transform:translate(-50%,-50%)}.xv-center{text-align:center}
.xv-title{text-align:center;width:1000px}.xv-title h2{font:500 62px Georgia,serif;margin:0 0 12px;color:#253c35}.xv-title p{margin:0;font-size:22px;color:#588674}.xv-logo{font:600 92px Georgia,serif;letter-spacing:4px}.xv-logo span{color:#e0b97b;margin-right:16px;font-family:"Yu Gothic UI",Meiryo,sans-serif}
.xv-rowlabel{font-size:13px;letter-spacing:3px;color:#8a9a8f;font-weight:700;white-space:nowrap}.xv-rowlabel.s{color:var(--s)}.xv-rowlabel.o,.xv-rowlabel.q{color:var(--o)}.xv-role{font-size:15px;letter-spacing:2px;font-weight:700;text-transform:uppercase;white-space:nowrap}.xv-role.s{color:var(--s)}.xv-role.v{color:var(--v)}.xv-role.o{color:var(--o)}
.xv-chip{position:relative;background:#fffef8;border:2px solid #d9ddd3;border-radius:14px;padding:12px 26px;font:34px Georgia,serif;white-space:nowrap}.xv-chip.s,.xv-card.s{border-color:var(--s)}.xv-chip.v,.xv-card.v{border-color:var(--v)}.xv-chip.o,.xv-card.o{border-color:var(--o)}.xv-card.p{border-color:var(--p)}.xv-card.q{border-color:var(--q)}
.xv-badge{position:absolute;top:-14px;right:-14px;width:32px;height:32px;border-radius:50%;color:#fff;font:700 16px/32px "Segoe UI",Arial;text-align:center}.xv-badge.s{background:var(--s)}.xv-badge.v{background:var(--v)}.xv-badge.o{background:var(--o)}
.xv-card{position:relative;display:inline-flex;align-items:center;gap:6px;background:#fffef8;border:2px solid #d9ddd3;border-radius:16px;padding:10px 24px;white-space:nowrap}.xv-word{font-size:58px;line-height:1.15}.xv-particle{display:inline-block;font-size:46px;color:#fff;background:#31584c;border-radius:12px;padding:0 12px;margin:0 4px}.xv-card.sm .xv-word{font-size:44px}.xv-card.sm .xv-particle{font-size:38px}.xv-card.p .xv-particle{background:var(--p)}.xv-card.v .xv-particle{background:var(--v)}.xv-card.q .xv-particle,.xv-card.o .xv-particle{background:var(--o)}.xv-card.s .xv-particle{background:var(--s)}
.xv-romaji{font-size:18px;color:#6f8379;margin-top:8px;letter-spacing:1px}.xv-gloss{font-size:15px;color:#8a9a8f;margin-top:4px;white-space:nowrap}.xv-glow .xv-card,.xv-glow .xv-verb,.xv-glow.xv-card{animation:xvGlow 1.1s ease-in-out 3}@keyframes xvGlow{50%{box-shadow:0 0 0 10px rgba(165,83,42,.18);background:#f7e9dc}}
.xv-svg{position:absolute;inset:0;pointer-events:none}.xv-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:.75;transition:stroke-dashoffset 1s ease,opacity .5s}.xv-line.s{stroke:var(--s)}.xv-line.v{stroke:var(--v)}.xv-line.o{stroke:var(--o)}.xv-line.xv-on{stroke-dashoffset:0}.xv-line.xv-off{opacity:0}
.xv-rule{background:#163e35;color:#e9eee3;border-radius:30px;padding:10px 26px;font-size:20px;white-space:nowrap}.xv-rule b{color:#e0b97b}.xv-bubble{position:relative;background:#fff;border:2px solid #d9ddd3;border-radius:22px;padding:14px 26px;font-size:34px;white-space:nowrap;text-align:center}.xv-bubble small{display:block;font-size:16px;color:#6f8379;margin-top:4px}.xv-bubble:after{content:"";position:absolute;left:44px;bottom:-14px;width:22px;height:22px;background:#fff;border-right:2px solid #d9ddd3;border-bottom:2px solid #d9ddd3;transform:rotate(45deg)}
.xv-house{width:380px;height:280px;border:3px solid #31584c;border-radius:10px 10px 14px 14px;background:#eef3ec;position:relative;display:flex;flex-direction:column;align-items:center;padding-top:14px}.xv-house:before{content:"";position:absolute;left:-14px;right:-14px;top:-46px;height:46px;background:#31584c;clip-path:polygon(50% 0,100% 100%,0 100%)}.xv-house.room:before{display:none}.xv-house span{font-size:34px;color:#163e35}.xv-house small{font-size:15px;color:#6f8379}
.xv-emoji{font:64px/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif}.xv-emoji.sm{font-size:40px}.xv-emoji.lg{font-size:110px}.xv-wiggle .xv-emoji{animation:xvWiggle 1s ease-in-out infinite}@keyframes xvWiggle{50%{transform:rotate(-8deg) translateY(-6px)}}
.xv-verb{font-size:44px;white-space:nowrap}.xv-end{color:var(--v);border-bottom:3px solid var(--v)}.xv-end.new{color:#31584c;border-bottom-color:#31584c}.xv-arrow{font-size:34px;color:#8a9a8f}.xv-ruletag{background:#fffef8;border:2px solid #d9ddd3;border-radius:12px;padding:6px 16px;font-size:20px;font-weight:600;white-space:nowrap;text-align:center}.xv-ruletag small{display:block;font-size:14px;font-weight:400;color:#6f8379}.xv-ruletag.warn{border-color:var(--v);color:var(--v)}
.xv-cut{transition:opacity .5s,color .5s;text-decoration:line-through 4px transparent}.xv-cut.xv-struck{opacity:.35;color:var(--v);text-decoration-color:var(--v)}
.xv-eyebrow{font-size:13px;letter-spacing:3px;color:#8a9a8f;font-weight:700;margin-bottom:16px}.xv-q{font-size:50px;line-height:1.45;white-space:nowrap}.xv-blank{display:inline-block;min-width:84px;border-bottom:4px dashed #e0b97b;color:#e0b97b;margin:0 8px;padding:0 6px;transition:all .4s}.xv-blank.xv-filled{border-bottom-color:transparent;color:#fff;background:#31584c;border-radius:12px}
.xv-stage .xv-opt{min-width:96px;height:96px;padding:0 22px;border-radius:18px;background:#fffef8;border:2px solid #d9ddd3;font-size:44px;color:#253c35;cursor:default}.xv-stage .xv-opt.xv-ask{cursor:pointer}.xv-stage .xv-opt.xv-ask:hover{border-color:#588674;background:#eef3ec}.xv-stage .xv-opt.xv-correct{background:#e6efdf;border-color:#588674;color:#254f36;scale:1.1}.xv-stage .xv-opt.xv-dim{opacity:.3}.xv-stage .xv-opt.xv-wrong{animation:xvShake .45s;border-color:#c66b3d;background:#faeddd}@keyframes xvShake{25%{margin-left:-10px}75%{margin-left:10px}}
.xv-caption{position:absolute;left:80px;right:80px;bottom:30px;min-height:64px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:25px;line-height:1.35}.xv-caption.show{animation:xvCap .45s ease}@keyframes xvCap{from{opacity:0;translate:0 8px}}
.xv-lesson{background:#eef3ec;border-left:4px solid #588674;border-radius:10px;padding:14px 18px;margin:16px 0}.xv-lesson h3{margin-top:0}.xv-lesson p{margin:6px 0}.xv-shelf{margin:22px 0}.xv-shelf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.xv-tile h3{font-size:17px;margin:8px 0 4px}.xv-tile p{font-size:14px;margin:0}.xv-thumb{width:100%;height:96px;border-radius:10px;background:linear-gradient(135deg,#163e35,#31584c);border:0;color:#e0b97b;font-size:34px;margin-bottom:10px}.xv-thumb:hover{background:linear-gradient(135deg,#1d4a40,#3b6a5c)}
@media (prefers-reduced-motion:reduce){.xv-wiggle .xv-emoji,.xv-glow .xv-card,.xv-glow .xv-verb{animation:none}}
