:root{--navy:#123541;--navy-2:#1f4c59;--ink:#182c34;--muted:#5c7078;--line:#d5e0e1;--ground:#f3f7f7;--surface:#fff;--teal:#086d71;--teal-soft:#e5f2f1;--sun:#d2932e;--sun-soft:#fff4df;--red:#a44832;--shadow:0 10px 38px rgba(18,53,65,.07);font-family:system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif;font-size:16px;line-height:1.55;color:var(--ink)}
.search-result-group{margin:0;padding:.55rem 1.1rem;background:var(--ground);color:var(--teal);font-size:.78rem;letter-spacing:.04em;border-bottom:1px solid var(--line);grid-column:1/-1}.result-title{overflow-wrap:anywhere}.search-partial{grid-column:1/-1;min-width:0;overflow-wrap:anywhere}.search-partial>summary{padding:.75rem 1.1rem;cursor:pointer;color:var(--muted);font-size:.85rem;font-weight:650}.search-partial>summary:focus-visible{outline:2px solid var(--teal);outline-offset:-3px}#browse-lessons .search-partial{margin-top:.75rem}#browse-lessons .search-partial>summary{padding:.45rem 0}
.entry-support{padding:1rem;background:var(--teal-soft);border-radius:10px;overflow-wrap:anywhere}.entry-support-links{list-style:none;padding:0;display:grid;gap:.65rem}.entry-support-links a{white-space:normal;max-width:100%}.entry-construction{font-weight:650}.entry-support .example{background:white;padding:.7rem;border-radius:8px}.entry-support .example p:last-child{margin-bottom:0}
.offline-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:.8rem 0}.offline-actions button{white-space:normal;min-height:44px}.offline-badge{font-size:.82rem;color:var(--teal)}.offline-badge:empty{display:none}.offline-content p{overflow-wrap:anywhere}@media(max-width:540px){.offline-actions{align-items:stretch;flex-direction:column}}
.browse-help{margin:.2rem 0 .4rem}.browse-help .text-button{padding-left:0;font-size:.875rem}
@media(max-width:800px){.show-detail .browse-help{display:none}}
@media(min-width:801px){.show-detail #search-return{display:none}}
.topnav{flex-wrap:wrap}.topnav [data-help-open],.topnav #offline-open{text-decoration:underline;text-underline-offset:4px}
.basic-help{width:min(42rem,calc(100% - 1.5rem));max-height:85vh;max-height:85dvh;padding:0;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow);overflow:auto;overscroll-behavior:contain}
.basic-help::backdrop{background:rgba(18,53,65,.6)}body:has(.basic-help[open]){overflow:hidden}
.help-heading{position:sticky;top:0;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem 1.25rem;border-bottom:1px solid var(--line);background:var(--surface)}.help-heading h2{margin:0}.help-heading form{margin:0}.help-heading button{white-space:normal}
.help-content{padding:1.25rem;font-size:1rem;overflow-wrap:anywhere}.help-content section+section{margin-top:1.5rem}.help-content h3{font-size:1.1rem}.help-filters{margin:0}.help-filters>div{padding:.65rem 0;border-bottom:1px solid var(--line)}.help-filters>div:first-child{padding-top:0}.help-filters dt{font-weight:700;color:var(--navy)}.help-filters dd{margin:.2rem 0 0}.help-sections{margin-top:1rem}.help-sections summary{font-weight:650;color:var(--teal);cursor:pointer}.help-sections ul{margin-bottom:0}
@media(max-width:540px){.help-heading,.help-content{padding:.9rem}.help-heading h2{font-size:1.2rem}.help-heading button{font-size:.875rem;padding:.5rem .65rem}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ground)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--sun);outline-offset:2px}a{color:var(--teal);text-underline-offset:3px}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.17;letter-spacing:-.035em;margin-bottom:.35rem}h2{font-size:1.35rem;line-height:1.3}h3{font-size:1.16rem;line-height:1.35}h4{font-size:.83rem;text-transform:uppercase;letter-spacing:.075em;color:var(--teal);margin:1.35rem 0 .45rem}p{margin-bottom:.75rem}ul,ol{padding-left:1.35rem}li{margin:.32rem 0}small{font-size:.85rem}
[hidden]{display:none!important}.topbar{background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:.8rem max(1.25rem,calc((100vw - 1340px)/2));min-height:72px}.brand{display:inline-flex;align-items:center;gap:.7rem;color:white;text-decoration:none;font-weight:750;letter-spacing:-.025em;font-size:1.12rem;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:37px;height:37px;background:var(--sun);border-radius:9px;color:var(--navy);font-weight:800;font-size:1.25rem}.topnav{display:flex;align-items:center;gap:.2rem}.topnav button{background:none;color:#e5f0f1;border:0;border-radius:8px;padding:.55rem .9rem;font-weight:600}.topnav button.nav-active{background:#315662;color:white}.topnav button:hover{background:#2b5864}
main{max-width:1380px;padding:1.8rem 1.25rem 4rem;margin:auto;min-height:calc(100vh - 145px)}.workhead{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.35rem}.kicker{color:var(--teal);font-weight:750;text-transform:uppercase;letter-spacing:.12em;font-size:.79rem;margin-bottom:.4rem}.counts{color:var(--muted);font-size:.9rem;margin-bottom:.35rem}.search-wrap{max-width:780px}.search-wrap label{display:block;font-weight:700;margin-bottom:.55rem}.search-control{display:flex;align-items:center;gap:.75rem;border:2px solid #9dbabd;border-radius:13px;background:white;min-height:58px;padding:0 1rem;box-shadow:var(--shadow)}.search-control:focus-within{border-color:var(--teal)}.search-control svg{height:22px;width:22px;stroke:var(--teal);stroke-width:2;fill:none;flex:none}.search-control input{outline:none;border:0;min-width:0;flex:1;color:var(--ink);background:none;height:52px}.search-control input::placeholder{color:#71858b}.search-control kbd{color:#74858a;background:#edf3f3;padding:.08rem .45rem;border:1px solid var(--line);border-radius:5px;font-size:.75rem}.routes{display:flex;gap:.4rem;overflow:auto;padding:.35rem 0 .65rem;margin:1rem 0 .25rem;scrollbar-width:thin}.route{border:1px solid var(--line);background:var(--surface);color:var(--navy);border-radius:100px;padding:.52rem 1rem;white-space:nowrap;font-weight:650;font-size:.91rem}.route.active{color:#fff;background:var(--navy);border-color:var(--navy)}.route:hover:not(.active){border-color:var(--teal)}.browse-controls{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;min-height:42px;margin-bottom:1rem}.filter-label{font-weight:700;color:var(--muted);font-size:.88rem}.filter-select{appearance:none;border:1px solid var(--line);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%23123541' stroke-width='2'/%3E%3C/svg%3E") no-repeat right .85rem center;padding:.48rem 2.3rem .48rem .8rem;border-radius:8px;color:var(--ink);max-width:100%}.segmented{display:flex;gap:.15rem;background:#e4eded;padding:.2rem;border-radius:8px}.segmented button{border:0;background:none;padding:.35rem .65rem;border-radius:6px;color:var(--navy);font-weight:650;font-size:.82rem}.segmented .selected{background:white;box-shadow:0 1px 3px #12354122}.hint{font-size:.85rem;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(310px,420px) minmax(0,1fr);gap:1rem;align-items:start}.results,.detail{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.results{min-width:0;overflow:hidden}.results-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem .65rem;border-bottom:1px solid var(--line)}.results-head h2{margin:0;font-size:1.05rem}.results-head span{color:var(--muted);font-size:.83rem}.result-list{max-height:calc(100vh - 300px);overflow:auto;scrollbar-color:#b3c8cb transparent}.result{width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:white;color:var(--ink);padding:1rem 1.1rem;display:block}.result:hover{background:#f7fbfb}.result.active{background:var(--teal-soft);box-shadow:inset 4px 0 var(--teal)}.result-title{display:block;font-weight:720;line-height:1.4;margin:.18rem 0}.result-why{color:var(--muted);font-size:.88rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.result-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.id{font-size:.75rem;color:var(--muted);font-weight:700;letter-spacing:.025em}.badge{font-size:.73rem;border-radius:5px;padding:.12rem .42rem;background:#e9eef0;color:#395763;font-weight:700}.badge.ready{background:#d6eee7;color:#075c57}.badge.lexical{background:#fff1d5;color:#7d570d}.load-more{width:100%;background:white;border:0;color:var(--teal);padding:.9rem;font-weight:750}.load-more:hover{background:#f5faf9}.empty{padding:1.8rem 1.1rem;color:var(--muted)}.empty strong{color:var(--ink)}
.detail-region{min-width:0}.detail{padding:clamp(1.1rem,2.7vw,2rem);min-height:560px}.detail h2{font-size:clamp(1.45rem,2vw,1.9rem);margin:.3rem 0 .9rem}.detail-top{display:flex;justify-content:space-between;gap:.5rem;align-items:start}.detail-note{border-left:3px solid var(--sun);background:var(--sun-soft);padding:.75rem .85rem;color:#59431e;border-radius:0 7px 7px 0;margin:.8rem 0}.detail-section{border-top:1px solid var(--line);padding-top:.05rem;margin-top:1.15rem}.detail-section h3{margin:.85rem 0 .45rem;font-size:.98rem;text-transform:uppercase;letter-spacing:.06em;color:var(--teal)}.tags{display:flex;flex-wrap:wrap;gap:.38rem}.tag{font-size:.78rem;background:#edf3f3;padding:.18rem .48rem;border-radius:5px;color:#24515d}.example{background:#f2f8f8;border-radius:9px;padding:.85rem 1rem;margin:.75rem 0}.example .jp{font-size:1.15rem;font-weight:650;line-height:1.85;margin:.25rem 0}.context{font-size:.79rem;color:var(--muted);margin:0}.example summary,.source-details summary,.answer summary{cursor:pointer;color:var(--teal);font-weight:650;font-size:.87rem}.example details p{margin:.45rem 0}.reading{color:var(--muted)}.contrast-list a{font-weight:700}.pending{color:var(--muted);font-style:normal;font-size:.82rem}.practice{border:1px solid var(--line);border-radius:9px;padding:.8rem;margin:.8rem 0}.practice p{margin:.1rem 0 .55rem}.practice textarea{width:100%;min-height:68px;resize:vertical;border:1px solid #b7c9cc;border-radius:7px;padding:.55rem;margin:.2rem 0 .6rem}.answer{background:var(--sun-soft);border-radius:7px;padding:.5rem .7rem}.answer p{margin:.4rem 0}.source-details{font-size:.85rem;color:var(--muted)}.source-details a{overflow-wrap:anywhere}.source-details ul{margin:.55rem 0}.detail-back{display:none;border:0;color:var(--teal);background:none;font-weight:750;padding:.2rem 0 .8rem;font-size:.95rem}.detail-lead{color:var(--muted)}.source-label{font-weight:700;color:var(--ink)}.reference-note{margin-top:.55rem}.detail a:hover{text-decoration-thickness:2px}
.section-intro{margin-bottom:1.3rem}.section-intro p:last-child{color:var(--muted)}.compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.comparison{background:white;border:1px solid var(--line);border-radius:12px;padding:1.25rem;box-shadow:var(--shadow)}.comparison h2{margin-bottom:.7rem}.comparison table{width:100%;border-collapse:collapse}.comparison td{padding:.7rem .2rem;border-top:1px solid var(--line);vertical-align:top}.comparison td:first-child{width:42%;font-weight:650}.comparison .jp{font-size:1.1rem}.comparison .formula{display:block;font-size:.83rem;color:var(--muted)}.comparison a{font-weight:750}.scene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.scene,.companion-instructions{background:white;border:1px solid var(--line);border-radius:12px;padding:1.2rem;box-shadow:var(--shadow)}.scene .jp{font-size:1.07rem;line-height:1.85;margin:1rem 0}.scene button,.copy-button{background:var(--navy);border:1px solid var(--navy);color:white;font-weight:700;border-radius:7px;padding:.52rem .85rem}.scene button:hover{background:var(--navy-2)}.command-list{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0}.command-list li{border:1px solid var(--line);background:#f6f9f9;border-radius:100px;padding:.32rem .65rem;margin:0}.state-note{color:var(--muted);font-size:.88rem}.card-links{display:flex;gap:.6rem;flex-wrap:wrap;font-size:.85rem}footer{background:var(--navy);color:#dbe9ea;padding:1rem max(1.25rem,calc((100vw - 1340px)/2));display:flex;gap:1rem;justify-content:space-between;font-size:.83rem}
@media(max-width:900px){.workspace{grid-template-columns:minmax(250px,35%) minmax(0,1fr)}.compare-grid{grid-template-columns:1fr}.topbar{padding:.75rem 1rem}}
@media(max-width:680px){main{padding:1.2rem .9rem 3rem}.topbar{align-items:center;flex-direction:column;gap:.55rem;min-height:auto;padding:.65rem .8rem .35rem}.brand{font-size:1rem}.brand-mark{height:32px;width:32px;font-size:1rem}.topnav{width:100%;justify-content:space-around}.topnav button{padding:.4rem .5rem;font-size:.85rem;flex:1}.workhead{margin-bottom:1rem}.counts{font-size:.79rem;text-align:right}.search-control{min-height:54px}.search-control input{height:48px}.search-control kbd{display:none}.routes{margin:.85rem 0 .3rem}.workspace{display:block}.results{border-radius:10px}.result-list{max-height:none}.detail-region{display:none}.detail{border-radius:10px;box-shadow:none;min-height:0;padding:1.1rem}.show-detail .results{display:none}.show-detail .browse-controls,.show-detail .routes,.show-detail .search-wrap,.show-detail .workhead{display:none}.show-detail .detail-region{display:block}.detail-back{display:inline-block}.scene-grid{grid-template-columns:1fr}.section-intro{margin-bottom:1rem}footer{display:block;text-align:center}footer span{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.scene-controls{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin:1rem 0}.scene-controls label{font-weight:700}.copy-fallback label{display:block;font-size:.9rem;font-weight:650;margin:.6rem 0}.copy-fallback textarea{width:100%;min-height:180px;font-size:1rem;line-height:1.5;padding:.7rem;border:1px solid var(--line);border-radius:8px}.card-links a{overflow-wrap:anywhere}.hint,.tag{font-size:.875rem}

.dictionary-hint{flex-basis:100%}.word-type-guide{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:.65rem .9rem}.word-type-guide summary,.phrase-reading summary{cursor:pointer;color:var(--teal);font-weight:650}.word-type-guide p{margin:.8rem 0 .3rem}.word-title{line-height:1.9!important;overflow-wrap:anywhere}.word-title rt{font-size:.5em;font-weight:500;color:var(--muted)}.word-meaning{font-size:1.2rem;font-weight:650}.word-forms{width:100%;border-collapse:collapse;margin:.8rem 0}.word-forms th,.word-forms td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.6rem .5rem;overflow-wrap:anywhere}.word-forms th{width:43%;font-weight:600;font-size:.9rem}.word-forms thead{background:var(--teal-soft)}.word-forms .reading{display:block;font-size:.85rem}.phrase-reading{margin-bottom:.7rem}.counts{max-width:29rem}.word-type-guide .card-links{margin-bottom:.8rem}

/* Práctica personal: materiales a la izquierda, sesión a la derecha. */
.session-builder{background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--teal);border-radius:14px;padding:clamp(1rem,3vw,1.75rem);box-shadow:var(--shadow);margin-bottom:1.25rem}
.session-heading,.selection-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.session-heading h2{margin-bottom:.8rem}.session-heading .badge{margin-bottom:1rem}
.session-modes{display:flex;gap:.4rem;flex-wrap:wrap;margin:.25rem 0 1.5rem}
.session-modes button{flex:1;border:1px solid var(--line);background:var(--ground);color:var(--navy);border-radius:8px;padding:.65rem .85rem;font-weight:700;min-width:0}
.session-modes .selected{background:var(--navy);border-color:var(--navy);color:white}
.session-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(1rem,3vw,2rem);align-items:start}
.session-materials,.session-output{min-width:0}
.session-output{background:var(--teal-soft);padding:1.25rem;border-radius:10px;position:sticky;top:1rem}
.selection-heading h3{margin:0}.selection-heading{margin-bottom:.8rem}
.field{display:flex;flex-direction:column;gap:.4rem;font-weight:650;min-width:0;margin-bottom:1rem}
.field .hint{font-weight:400}.field input,.field select{width:100%;min-width:0;min-height:46px;font-size:1rem}
.field input{border:1px solid #a6bdc1;padding:.6rem .75rem;border-radius:8px;background:white;color:var(--ink)}
.picker-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .8rem;margin-top:1rem}
.picker-actions,.session-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-bottom:.65rem}
.session-actions>*{flex:1;text-align:center}
.secondary-button,.practice-card-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid #9cb9bc;background:white;color:var(--teal);font-weight:700;padding:.55rem .8rem;border-radius:8px;text-decoration:none}
.secondary-button:hover,.practice-card-button:hover{background:var(--teal-soft);border-color:var(--teal)}
.practice-card-button{margin:0 0 .75rem;max-width:100%;text-align:left}
.text-button{border:0;background:transparent;color:var(--teal);font-weight:650;padding:.5rem;text-decoration:underline;text-underline-offset:3px}
.practice-pool{padding:0;margin:0;list-style:none;max-height:30rem;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;border:1px solid var(--line);border-radius:9px}
.practice-pool li{display:flex;align-items:center;gap:.7rem;justify-content:space-between;border-bottom:1px solid var(--line);padding:.7rem;margin:0}
.practice-pool li:last-child{border-bottom:0}.practice-pool li>div{min-width:0}.practice-pool button{flex-shrink:0;font-size:.875rem}
.pick-title,.pick-meaning,.practice-pool .reading{display:block;overflow-wrap:anywhere}.pick-title{font-weight:700;font-size:1.1rem}.practice-pool .reading,.pick-meaning{font-size:.875rem}
.selection-chips{display:flex;gap:.5rem;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 .5rem}
.selection-chips li{display:inline-flex;align-items:center;max-width:100%;margin:0;padding:0 0 0 .65rem;border:1px solid #b5d3d2;background:white;border-radius:8px;gap:.3rem}
.selection-chips li>span{min-width:0;overflow-wrap:anywhere}.selection-chips .selection-empty{background:transparent;border:0;padding:0;color:var(--muted)}
.remove-card{border:0;background:none;color:var(--teal);font-size:1.4rem;min-width:44px;border-radius:7px;flex-shrink:0}.remove-card:hover{background:#d7eae8}
.session-output textarea{display:block;min-height:280px;width:100%;resize:vertical;margin:.5rem 0;border:1px solid #a6bdc1;border-radius:8px;padding:.75rem;font-size:1rem;line-height:1.6}
.session-output details{margin:1rem 0}.session-output .state-note{margin-top:1rem;color:#3f5d63}
.material-picker summary,.session-output summary,.companion-instructions summary{color:var(--teal);cursor:pointer;font-weight:700}
.review-preview{background:var(--sun-soft);padding:.85rem 1rem;border-radius:8px;margin-bottom:1rem}.review-preview ul{margin-bottom:0}
.companion-instructions p:first-of-type{margin-top:1rem}.scene-library{margin-top:2rem}.scene-library>h2{margin-bottom:.5rem}.scene-controls .field{flex:1;margin:0;max-width:28rem}.scene-controls>span{align-self:end;padding-bottom:.75rem}
.scene{min-width:0}.scene h3{margin-bottom:.5rem}.scene>p:last-of-type{margin:1rem 0 0}.scene .card-links a{padding:.35rem 0}
.filter-field{display:flex;flex:1 1 180px;flex-direction:column;gap:.35rem;min-width:0;max-width:320px}.filter-field select{width:100%}.browse-controls{align-items:end}

/* Tamaño táctil, texto largo y foco de teclado en todas las vistas. */
button,select{min-height:44px}button:disabled{opacity:.55;cursor:default}input,textarea{font-size:1rem}summary{padding:.5rem 0;min-height:44px}
.workspace>*,.workhead>*,.search-wrap,.routes,.comparison,.topnav,.scene-controls>*{min-width:0}
.detail,.scene,.comparison,.session-builder,.companion-instructions{overflow-wrap:anywhere}.detail:focus{outline:none}.detail:focus-visible{outline:3px solid var(--sun)}
.word-forms,.comparison table{table-layout:fixed}.word-forms th,.word-forms td,.comparison td{overflow-wrap:anywhere}
.comparison td+td{padding-left:.8rem}.results-head{gap:.7rem;flex-wrap:wrap}.detail-back{display:inline-flex;align-items:center;margin-bottom:.5rem;padding:.4rem 0}
.result-list{max-height:max(240px,calc(100dvh - 320px))}.segmented{flex-wrap:wrap}.segmented button{flex:1}.tag,.badge{max-width:100%;overflow-wrap:anywhere}
.app-status{position:fixed;z-index:50;bottom:max(1rem,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 2rem);background:var(--navy);color:white;padding:.8rem 1rem;border-radius:10px;box-shadow:var(--shadow);pointer-events:none;font-size:.95rem}
.app-status:empty{display:none}.skip-link{position:fixed;top:-100px;left:1rem;z-index:60;background:white;padding:.7rem 1rem;border-radius:8px}.skip-link:focus{top:1rem}

@media(max-width:1050px){.workhead{align-items:start}.counts{max-width:21rem}.session-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.session-actions{flex-direction:column;align-items:stretch}.session-output{padding:1rem}}
@media(max-width:800px){
  .workhead{display:block}.counts{max-width:none;text-align:left;margin-top:.65rem;font-size:.875rem}
  .workspace{display:block}.result-list{max-height:none}.detail-region{display:none}.show-detail .results{display:none}.show-detail .detail-region{display:block}
  .show-detail .browse-controls,.show-detail .routes,.show-detail .search-wrap,.show-detail .workhead{display:none}
  .detail{min-height:0;padding:clamp(1rem,3vw,1.5rem)}.detail-back{display:flex;width:100%;position:sticky;top:0;background:white;z-index:2;border-bottom:1px solid var(--line);padding:.7rem 0}
  .session-layout{grid-template-columns:1fr}.session-output{position:static}.session-actions{flex-direction:row}.session-actions>*{flex:1 1 180px}
  .scene-grid,.compare-grid{grid-template-columns:1fr}.practice-pool{max-height:24rem}
  .scene-controls .field{max-width:none}.filter-field{max-width:none;flex-basis:calc(50% - .65rem)}
}
@media(max-width:540px){
  main{padding:1.1rem max(.8rem,env(safe-area-inset-left)) 2.5rem}.topbar{padding-left:max(.8rem,env(safe-area-inset-left));padding-right:max(.8rem,env(safe-area-inset-right))}
  .topnav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.2rem}.topnav button{padding:.4rem .25rem;font-size:.875rem}
  .routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:.45rem}.routes .route{white-space:normal;padding:.55rem .4rem;border-radius:9px;font-size:.875rem}
  .browse-controls>.route{white-space:normal}.browse-controls>.filter-select{width:100%}.filter-field{flex-basis:100%}
  .session-modes{display:grid;grid-template-columns:1fr;width:100%;gap:.4rem}.session-modes button{text-align:left;padding:.65rem .8rem}
  .picker-filters{grid-template-columns:1fr}.session-heading{gap:.3rem}.session-heading .badge{margin-bottom:.5rem}.scene-controls{align-items:stretch}.scene-controls .field{flex-basis:100%}
  .comparison{padding:1rem .8rem}.comparison td:first-child{width:38%;font-size:.9rem}.comparison .jp{font-size:1rem}.comparison h2{font-size:1.15rem}
  .scene{padding:1rem}.session-builder{padding:1rem .8rem}.session-output{padding:1rem .8rem}.practice-pool li{gap:.4rem;padding:.65rem .5rem}.practice-pool button{padding:.45rem .6rem}
  .search-control{padding:0 .7rem;gap:.5rem}.search-control input{font-size:1rem}.word-forms th{width:38%}.detail-top{flex-wrap:wrap}
  footer{padding-bottom:max(1rem,env(safe-area-inset-bottom))}.app-status{bottom:max(.75rem,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}

.companion-sections{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.25rem}
.companion-sections button{flex:1;min-width:0;padding:.65rem .9rem;border:1px solid var(--line);border-radius:9px;background:white;color:var(--navy);font-weight:700}
.companion-sections button[aria-pressed="true"]{background:var(--navy);color:white;border-color:var(--navy)}
.dialogue-picker{max-width:38rem}.dialogue-card{background:white;border:1px solid var(--line);border-radius:14px;padding:clamp(1rem,3vw,2rem);max-width:960px;box-shadow:var(--shadow);overflow-wrap:anywhere}
.dialogue-turns{list-style:none;padding:0;margin:1.25rem 0;display:grid;gap:.85rem}
.dialogue-turn{padding:1rem 1.1rem;background:var(--ground);border-left:3px solid #aac4c7;border-radius:0 10px 10px 0;margin:0;max-width:92%}
.dialogue-user{background:var(--teal-soft);border-left-color:var(--teal);margin-left:8%}
.dialogue-turn .speaker{display:block;font-size:.875rem;font-weight:700;color:var(--muted);margin-bottom:.3rem}
.dialogue-turn .jp{font-size:1.12rem;line-height:1.9;margin:0}.dialogue-turn details{font-size:.95rem}.dialogue-turn summary{font-size:.875rem;color:var(--teal);cursor:pointer}
.dialogue-turn details p{margin:.35rem 0}.dialogue-session-note{background:var(--sun-soft);border-radius:8px;padding:.7rem .8rem}
@media(max-width:540px){.companion-sections button{font-size:.875rem;padding:.55rem .35rem}.dialogue-turn{max-width:100%;padding:.8rem;margin-left:0}.dialogue-user{border-left-width:5px}.dialogue-card>.session-heading .copy-button{width:100%}.dialogue-card .practice{padding:.7rem}}
.kanji-guide{width:100%;padding:.8rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere}.kanji-guide p{margin:.4rem 0}.kanji-guide summary{color:var(--teal);cursor:pointer;font-weight:650}.kanji-character{font-size:4rem!important;line-height:1.25!important;margin:.8rem 0!important}.kanji-words{list-style:none;padding:0;display:grid;gap:.75rem}.kanji-words li{padding:.9rem 1rem;border:1px solid var(--line);border-radius:9px;background:#f7faf9;min-width:0;overflow-wrap:anywhere}.kanji-words .jp{margin:0 0 .45rem}.kanji-words summary{cursor:pointer;color:var(--teal);font-weight:600}.kanji-link{display:inline-block;margin-top:.5rem;padding:.35rem 0;line-height:1.6}.kanji-words details p{margin:.35rem 0}
@media(max-width:540px){.routes [data-route="kanji"]{grid-column:1/-1}.kanji-guide{padding:.75rem}.kanji-words li{padding:.8rem}.kanji-character{font-size:3.5rem!important}}
.comparison-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin:0 0 1rem}.comparison-controls label{font-weight:650}.review-intro{padding:0 1.1rem 1rem}.review-practice{margin:1rem;padding:1rem;border:1px solid var(--line);border-radius:10px;background:#f7faf9}.review-practice>summary,.review-reading>summary{color:var(--teal);font-weight:650;cursor:pointer}.review-practice>summary{min-height:44px;line-height:1.5}.review-reading{margin:.5rem 0}.review-reading p{margin:.45rem 0}.review-practice textarea{width:100%;min-height:90px;resize:vertical;font-size:1rem}.review-practice .practice{margin-top:1rem;overflow-wrap:anywhere}.review-practice label{display:block;margin-bottom:.5rem}.review-practice .jp,.review-practice .reading{overflow-wrap:anywhere}
@media(max-width:540px){.comparison-controls{align-items:stretch;flex-direction:column}.comparison-controls select{width:100%}.review-practice{margin:.65rem;padding:.75rem}.review-intro{padding:0 .8rem .8rem}.review-intro button{width:100%}}
.study-card-buttons{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}.study-card-buttons button,.daily-grades button{border:1px solid var(--line);border-radius:9px;background:white;color:var(--navy);padding:.65rem .85rem;min-height:44px}.study-card-buttons [aria-pressed="true"]{background:var(--teal-soft);border-color:var(--teal);font-weight:700}.study-state-note{margin-bottom:.5rem}.study-filter-field{min-width:170px}.study-hard{background:#fff1d5;color:#724908}.study-favorite{background:#fff4dd;color:#725012}.kanji-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:0}.kanji-results .result{padding:.8rem .6rem;border-right:1px solid var(--line);min-width:0}.kanji-results .result-meta .id,.kanji-results .badge.lexical{display:none}.kanji-results .result-meta{font-size:.75rem}.kanji-results .result-title{font-size:.9rem;overflow-wrap:anywhere}.kanji-results .result-why{font-size:.75rem}.kanji-tile-character{display:block;font-size:2.7rem;line-height:1.4;text-align:center;color:var(--navy)}.kanji-organization{padding:.8rem 1rem;background:var(--teal-soft);border-radius:10px;margin:1rem 0}.kanji-organization summary{cursor:pointer;font-weight:650}.kanji-organization li{overflow-wrap:anywhere}#repasar-view{max-width:950px;margin:auto}.study-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0}.study-summary span{background:white;border:1px solid var(--line);border-radius:12px;padding:1rem;text-align:center}.study-summary strong{display:block;font-size:1.8rem;color:var(--navy)}.daily-builder{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap;margin:1.25rem 0}.daily-builder label{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:180px;font-weight:650}.daily-progress{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;padding:1rem 0}.daily-progress progress{width:100%;height:12px;accent-color:var(--teal)}.daily-card,.daily-complete{background:white;border:1px solid var(--line);border-radius:14px;padding:1.5rem;margin:1rem 0;overflow-wrap:anywhere}.daily-card h2{font-size:1.8rem}.daily-answer{border-top:1px solid var(--line);margin:1rem 0;padding:1rem 0 0}.daily-grades{display:flex;gap:.75rem}.daily-grades button{flex:1;font-weight:700}.daily-grades [data-daily-grade="known"]{background:var(--teal);color:white}.daily-open{display:block;margin-top:1rem;padding:.5rem 0}.study-error{padding:.8rem;border-left:4px solid var(--red);background:#fff0ed;color:#743424}button:disabled{cursor:default;opacity:.55}
@media(max-width:540px){.topnav{grid-template-columns:repeat(2,minmax(0,1fr))!important}.study-summary{gap:.4rem}.study-summary span{padding:.65rem .25rem;font-size:.875rem}.study-summary strong{font-size:1.5rem}.daily-builder{display:grid;grid-template-columns:1fr}.daily-builder label{min-width:0}.daily-card{padding:1rem}.study-card-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.study-card-buttons button{padding:.6rem .3rem;font-size:.9rem}.kanji-organization{padding:.75rem}.kanji-results .result-why{display:none}.kanji-results .badge{white-space:normal;font-size:.75rem}}
.kanji-results .badge.lexical{display:inline-block;white-space:normal;line-height:1.4}.course-reference li{margin-bottom:.8rem}.course-reference li p{margin:.2rem 0}.course-reference .text-button{padding:.3rem 0;text-align:left;max-width:100%;white-space:normal;overflow-wrap:anywhere}

.kanji-theme-focus{flex-basis:100%;min-width:0;padding:.75rem 1rem;background:var(--teal-soft);border-left:3px solid var(--teal);border-radius:.4rem;overflow-wrap:anywhere}.kanji-theme-focus p{margin:.3rem 0}.kanji-theme-labels{display:flex;flex-wrap:wrap;gap:.25rem;margin:.55rem 0}.kanji-theme-labels>span{font-size:.875rem;line-height:1.4;padding:.2rem .45rem;background:#eaf1f3;color:#274954;border-radius:.35rem;white-space:normal;overflow-wrap:anywhere}.kanji-card-themes{margin:1rem 0}.kanji-card-themes h3{font-size:1rem}.kanji-card-themes ul{list-style:none;padding:0;display:grid;gap:.6rem}.kanji-card-themes li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;min-width:0}.kanji-card-themes li>span{overflow-wrap:anywhere}.kanji-card-themes button{white-space:normal;text-align:left;min-height:2.75rem}.kanji-card-themes .hint{line-height:1.5}.filter-field:has(#kanji-theme-filter){flex:1 1 100%;max-width:100%}#kanji-theme-filter,#practice-kanji-theme{width:100%;min-width:0;max-width:100%}

.theme-lesson { border: 1px solid var(--line, #ccd9d8); border-radius: 12px; padding: 1rem; }
.theme-lesson > summary, .grammar-coverage > summary { cursor: pointer; font-weight: 700; }
.grammar-coverage { margin-top: 1.5rem; }
.grammar-coverage li { margin-block: .75rem; }
.grammar-coverage li .hint { display: block; }
.theme-lesson, .grammar-coverage, .selection-chips li { overflow-wrap: anywhere; min-width: 0; }
.curriculum-controls,.curriculum-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin:1rem 0}
.curriculum-controls select{max-width:100%;min-width:0}.pending-toggle{display:flex;gap:.5rem;align-items:center;min-height:44px}
.curriculum-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.curriculum-panel,.curriculum-unit{background:white;border:1px solid var(--line);border-radius:12px;padding:1.1rem;min-width:0;overflow-wrap:anywhere}
.curriculum-panel{margin:1rem 0}.curriculum-panel summary,.curriculum-unit summary{cursor:pointer;font-weight:700;line-height:1.6;min-height:28px}
.curriculum-panel>details{margin:1rem 0;padding-top:.65rem;border-top:1px solid var(--line)}
.curriculum-unit summary>span{display:block}.coverage-label{font-size:.8rem;color:var(--teal);font-weight:500}.coverage-label.partial{color:#865916}
.curriculum-unit li,.curriculum-panel li{margin:.55rem 0}.curriculum-unit .hint{display:block}.curriculum-unit button{margin:.3rem .3rem .3rem 0}
.book-course-intro{padding:.85rem 1rem;margin:1rem 0;background:var(--teal-soft);border:1px solid var(--line);border-radius:9px;overflow-wrap:anywhere}.book-course-intro p{margin:.35rem 0}.book-course-intro summary,.book-scope summary,.book-connections summary{min-height:44px;padding:.55rem 0;cursor:pointer;color:var(--teal);font-weight:650;font-size:.95rem}
.book-scope{margin:.5rem 0 1rem}.book-goal{font-size:1rem;line-height:1.6}.book-references{padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.book-references li{margin:0;padding:.75rem;background:#f4f7f7;border:1px solid var(--line);border-radius:8px;min-width:0;overflow-wrap:anywhere}.book-references li>*{display:block}.book-references li>span{margin-top:.3rem;font-size:.9rem}.book-references li>span[lang]{font-size:1rem;line-height:1.7}
.book-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0}.book-actions button,.book-connections button,.book-card-links button{max-width:100%;min-height:44px;white-space:normal;text-align:left;overflow-wrap:anywhere}.book-actions button{margin:0}.book-connections{border-top:1px solid var(--line);margin-top:.8rem;padding-top:.25rem}.book-connections ul,.book-card-links ul{padding-left:1.2rem}.book-card-links{margin:1.2rem 0}.book-card-links li>span{display:block}.book-card-links>summary{min-height:44px;padding:.5rem 0}
.book-unit-nav{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin:.5rem 0 1rem}.book-unit-nav>span{font-size:.9rem;color:var(--muted)}.book-unit-nav button{min-height:44px}.curriculum-grid.single-unit{grid-template-columns:minmax(0,1fr);max-width:980px}#curriculum-focus{scroll-margin-top:1.5rem}#curriculum-focus:focus-visible{outline:2px solid var(--teal);outline-offset:4px}
@media(max-width:540px){.book-references{grid-template-columns:minmax(0,1fr)}.book-actions{flex-direction:column;align-items:stretch}.book-actions button{justify-content:flex-start}}
.kana-table{width:100%;max-width:560px;table-layout:fixed;border-collapse:collapse;margin:1rem 0}.kana-table caption{text-align:left;margin-bottom:.5rem;color:var(--muted)}
.kana-table td{text-align:center;padding:.65rem .2rem;border:1px solid var(--line)}.kana-table td span{display:block;font-size:1.25rem}.kana-table small{display:block;color:var(--muted)}
.verb-review-list{columns:2;column-gap:2rem}.verb-review-list li{break-inside:avoid}
.a1-workshop{margin:1.2rem 0;padding:1.25rem;background:#fff;border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:12px;scroll-margin-top:6rem}
.a1-workshop-head,.a1-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.a1-workshop-head .field{flex:0 1 25rem;min-width:0}.a1-workshop-head select{width:100%;max-width:100%}
.a1-goal{padding:.8rem 1rem;background:#edf4f7;border-radius:8px}.a1-workshop-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.a1-workshop-columns>div{min-width:0}
.a1-reading{padding-left:1.6rem}.a1-reading li{margin-bottom:1.2rem;padding-left:.3rem}.a1-reading .jp{line-height:1.9}.a1-reading details{font-size:.9rem}.a1-glossary{margin:1rem 0}
.a1-question{min-width:0;border:1px solid var(--line);border-radius:8px;margin:0 0 1rem;padding:.75rem}.a1-question legend{font-weight:650;line-height:1.6;padding:0 .25rem;max-width:100%;overflow-wrap:anywhere}
.a1-option{display:flex;align-items:flex-start;gap:.6rem;min-height:44px;padding:.6rem .4rem;cursor:pointer;line-height:1.5;border-radius:5px}.a1-option:hover{background:#f0f5f7}.a1-option input{margin:.25rem 0 0;flex:0 0 auto;width:1rem;height:1rem;accent-color:var(--teal)}.a1-option span{overflow-wrap:anywhere}
.a1-feedback{padding:.65rem .8rem;border-left:3px solid var(--line);font-size:.95rem}.a1-feedback.correct{background:#edf5f0;border-color:#397452}.a1-feedback.retry{background:#fff4e6;border-color:#986522}.a1-score{font-weight:650;min-height:1.7em}
.a1-writing{border-top:1px solid var(--line);padding-top:1rem;margin:1.2rem 0}.a1-writing label{display:block;line-height:1.6}.a1-writing textarea{display:block;width:100%;min-height:7.5rem;margin:.7rem 0;font:inherit;padding:.8rem;resize:vertical;border:1px solid var(--line);border-radius:8px}.a1-writing details{margin:.8rem 0}.a1-actions{justify-content:flex-start;margin:1rem 0}.a1-workshop details summary{cursor:pointer;min-height:32px;line-height:1.7}
@media(max-width:850px){.a1-workshop-columns{grid-template-columns:1fr;gap:.7rem}.a1-workshop{padding:.9rem}.a1-workshop-head{align-items:stretch}.a1-workshop-head .field{flex:1 1 100%}.a1-actions button{max-width:100%;white-space:normal;text-align:left}}
@media(max-width:700px){.curriculum-grid{grid-template-columns:1fr}.curriculum-controls{align-items:stretch}.curriculum-controls .filter-select{width:100%}.verb-review-list{columns:1}.topnav{flex-wrap:wrap}.curriculum-panel,.curriculum-unit{padding:.85rem}.kana-table td span{font-size:1.05rem}.curriculum-actions button{white-space:normal;text-align:left;max-width:100%}}
/* Recorridos de formas: acceso desde búsqueda y comparaciones. */
.form-route-hint{flex:1 1 100%;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.85rem;background:var(--teal-soft);border-radius:8px;line-height:1.6}.form-route-hint span{flex:1;min-width:0}.form-route-hint button{flex-shrink:0}
.form-route-links{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:0 0 1rem}.form-route-links span{font-weight:650}.form-route-links button{min-height:44px}.comparison[id]{scroll-margin-top:8rem;min-width:0}.comparison[id]:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.review-notes{margin:.6rem 1.1rem;overflow-wrap:anywhere}.review-notes summary{cursor:pointer;min-height:44px;display:list-item;line-height:1.6;color:var(--teal);font-weight:650}.review-notes li{line-height:1.7;margin:.45rem 0}.related-review-links{display:flex;flex-wrap:wrap;gap:.5rem}.related-review-links button{white-space:normal;text-align:left;min-height:44px}.review-practice .card-links{margin:.75rem 0}.review-practice .card-links a{overflow-wrap:anywhere}
.review-reading .review-participants-title{font-weight:700;margin-top:.9rem}.review-participants{display:grid;gap:.6rem;margin:.5rem 0 .8rem;padding:.7rem;border-left:3px solid var(--teal);background:#f2f7f6;min-width:0;overflow-wrap:anywhere}.review-participants>div{min-width:0}.review-participants dt{font-size:.85rem;font-weight:700;color:var(--teal)}.review-participants dd{margin:.15rem 0 0;line-height:1.65}
@media(max-width:680px){.form-route-hint{flex-direction:column;align-items:stretch}.form-route-hint button{white-space:normal;text-align:left}.form-route-links span{flex-basis:100%}.review-notes{margin:.6rem .8rem}}

/* Find and return: keep the existing visual language and readable touch targets. */
.search-help{font-size:.9rem;color:var(--muted);margin:.6rem 0 0;line-height:1.5}
.search-return{margin:0 0 1rem}.search-return button{max-width:100%;white-space:normal;text-align:left;overflow-wrap:anywhere;min-height:44px}
.recent-cards{margin:0 0 1rem;background:var(--surface);border:1px solid var(--line);border-radius:9px;min-width:0}
.recent-cards>summary{padding:.7rem .9rem;min-height:44px;cursor:pointer;color:var(--teal);font-weight:650;font-size:.95rem;overflow-wrap:anywhere}
.recent-count{display:inline-block;min-width:1.6rem;margin-left:.3rem;text-align:center;border-radius:1rem;background:var(--teal-soft);font-size:.875rem;color:var(--navy)}
.recent-content{padding:0 .9rem .85rem}.recent-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.recent-actions p{margin:.35rem 0}.recent-actions button{min-height:44px;font-size:.875rem}
.recent-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;list-style:none;padding:0;margin:.5rem 0 0;max-height:18rem;overflow:auto;overscroll-behavior:contain}
.recent-list:empty{display:none}.recent-list li{min-width:0}.recent-list button{display:flex;align-items:baseline;gap:.6rem;width:100%;min-height:44px;padding:.6rem .7rem;text-align:left;white-space:normal;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font-size:.95rem}.recent-list button>.id{flex-shrink:0;font-size:.875rem}.recent-list button>span:last-child{min-width:0;overflow-wrap:anywhere}.recent-list button:hover{border-color:var(--teal);background:var(--teal-soft)}
.card-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 1rem;padding:.65rem 0;border-block:1px solid var(--line)}.card-shortcuts>span{font-size:.875rem;font-weight:650;margin-right:.15rem}.card-shortcuts button{max-width:100%;min-height:44px;padding:.4rem .65rem;background:var(--teal-soft);border:1px solid transparent;border-radius:7px;color:var(--teal);font-size:.875rem;text-align:left;white-space:normal;overflow-wrap:anywhere}.card-shortcuts button:hover{border-color:var(--teal)}
.card-section-heading{scroll-margin-top:4.5rem}.card-section-heading:focus-visible{outline:2px solid var(--teal);outline-offset:5px}
@media(max-width:800px){.show-detail .recent-cards{display:none}}
@media(max-width:540px){.recent-list{grid-template-columns:minmax(0,1fr)}}
.empty p{margin:.6rem 0}.empty button{max-width:100%;white-space:normal;text-align:left}
.empty button+button{margin-top:.65rem}
.browse-disclosure{flex:1 1 100%;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:9px;overflow-wrap:anywhere}
.browse-disclosure>summary{padding:.65rem .85rem;cursor:pointer;color:var(--navy);font-weight:650;font-size:.95rem}
.browse-disclosure-content{padding:.3rem .85rem .85rem}.browse-disclosure-content>p:last-child{margin-bottom:0}
.browse-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.browse-filter-grid>.filter-field{max-width:none;width:100%}
.browse-controls>.filter-field:has(#kanji-theme-filter){flex:2 1 18rem;max-width:none}
.filter-active-count{display:inline-block;margin-left:.35rem;font-size:.875rem;font-weight:600;color:var(--teal)}
.active-filters{flex:1 1 100%;display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;min-width:0;border-top:1px solid var(--line);padding-top:.75rem}
.active-filters>span{font-size:.875rem;font-weight:650}.active-filters>button{max-width:100%;min-height:44px;padding:.45rem .7rem;border:1px solid #a5cbca;border-radius:8px;background:var(--teal-soft);color:var(--navy);font-size:.875rem;text-align:left;white-space:normal;overflow-wrap:anywhere}
.active-filters>button:hover{border-color:var(--teal)}.active-filters>button>span{margin-left:.35rem;font-size:1.1rem}.active-filters>.text-button{background:transparent;border:0;color:var(--teal)}
.card-pagination{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.65rem;margin:.4rem 0 1rem;padding:.65rem 0;border-block:1px solid var(--line)}
.card-pagination button{border:1px solid var(--line);background:var(--surface);color:var(--teal);border-radius:8px;padding:.5rem .7rem;min-width:0;font-size:.95rem;font-weight:650;white-space:normal;overflow-wrap:anywhere}
.card-pagination button:last-child{justify-self:end}.card-pagination button:first-child{justify-self:start}.card-pagination>span{font-size:.875rem;color:var(--muted);text-align:center}.card-pagination button:not(:disabled):hover{background:var(--teal-soft);border-color:var(--teal)}
@media(max-width:540px){.browse-filter-grid{grid-template-columns:minmax(0,1fr)}.browse-controls>.filter-field:has(#kanji-theme-filter){flex-basis:100%}.card-pagination{gap:.4rem}.card-pagination button{font-size:.875rem;padding:.5rem}.card-pagination>span{max-width:7rem}.browse-disclosure-content{padding:.25rem .7rem .7rem}}
@media(max-width:680px){
  .routes{flex-wrap:wrap;overflow:visible;gap:.4rem}.routes .route{white-space:normal;min-height:44px;font-size:.875rem;padding:.5rem .8rem}
  .browse-controls{min-width:0}.browse-controls>.route{max-width:100%;white-space:normal}
  .search-help{font-size:.875rem}.topnav button{min-height:44px}
}

/* Búsqueda de lecciones: consulta conservada y resultados separados de las fichas. */
.lesson-search,.browse-lessons{padding:1rem;margin:1rem 0;background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0;overflow-wrap:anywhere}
.lesson-search>label{display:block;font-weight:700;color:var(--navy);margin-bottom:.6rem}.lesson-search-controls{display:flex;align-items:center;gap:.6rem}.lesson-search-controls input{flex:1;width:100%;min-width:0;min-height:46px;padding:.65rem .8rem;border:1px solid var(--line);border-radius:8px;font:inherit;background:white;color:var(--ink)}.lesson-search-controls input:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.lesson-search-controls button{min-height:44px}
.lesson-search-examples,.lesson-match-head{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.lesson-search-examples{font-size:.9rem}.lesson-search-examples button{min-height:44px}.lesson-match-head{justify-content:space-between}.lesson-match-head h2{margin:0;font-size:1.05rem}.lesson-match-head .hint{margin:.35rem 0}.lesson-match-head button{min-height:44px}
.lesson-match-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;list-style:none;padding:0;margin:.75rem 0}.lesson-match-list li{min-width:0}.lesson-match-list button{display:flex;flex-direction:column;gap:.3rem;width:100%;min-height:44px;padding:.8rem;text-align:left;white-space:normal;overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit}.lesson-match-list button:hover{border-color:var(--teal);background:var(--teal-soft)}.lesson-match-list button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.lesson-match-meta{font-size:.85rem;color:var(--teal);font-weight:650}.lesson-match-title{font-weight:700}.lesson-match-focus{font-size:.9rem;color:var(--muted);line-height:1.5}.browse-lessons .lesson-match-list{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-search #lesson-search-count:empty{display:none}#lesson-search-count{scroll-margin-top:1.5rem}#lesson-search-count:focus-visible{outline:2px solid var(--teal);outline-offset:4px}.lesson-empty{padding:.7rem 0}.lesson-empty p{line-height:1.6}
@media(max-width:800px){.show-detail .browse-lessons{display:none}.browse-lessons .lesson-match-list{grid-template-columns:minmax(0,1fr)}}
@media(max-width:540px){.lesson-match-list{grid-template-columns:minmax(0,1fr)}.lesson-search-controls{flex-wrap:wrap}.lesson-search-controls input{flex-basis:100%}.lesson-search-controls button,.lesson-match-head button{white-space:normal;text-align:left}}

.book-connections textarea{display:block;width:100%;box-sizing:border-box;min-height:8rem;margin:.65rem 0;padding:.7rem;border:1px solid var(--line);border-radius:8px;font:inherit;resize:vertical}.book-connections li p{margin:.25rem 0 .7rem}
.inventory-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:.8rem;padding:0;margin:1rem 0;list-style:none}.inventory-list>li{border:1px solid var(--line);border-radius:8px;padding:.8rem;min-width:0;overflow-wrap:anywhere}.inventory-list p{margin:.25rem 0}.inventory-list .jp{font-size:1.12rem}.course-inventory input{width:100%;box-sizing:border-box;padding:.6rem;border:1px solid var(--line);border-radius:7px;font:inherit;background:var(--paper,#fff);color:var(--ink,#182c34)}
footer nav a{color:inherit;text-underline-offset:.2em}

/* Navegación principal; las herramientas de la guía conservan sus controles. */
.topbar{flex-direction:column;align-items:stretch;gap:.55rem}.site-top-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.site-links{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.site-links a{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .85rem;border-radius:8px;color:#e5f0f1;text-decoration:none;font-weight:650}.site-links a[aria-current="page"]{background:#315662;color:white}.site-links a:hover{background:#2b5864}.topbar>.topnav{border-top:1px solid #ffffff2b;padding-top:.45rem}.topbar>.topnav button:first-child{margin-left:-.15rem}@media(max-width:540px){.site-top-row{gap:.45rem}.site-links{width:100%}.site-links a{padding:.45rem .8rem}.topbar>.topnav{gap:.1rem}}

html{scrollbar-gutter:stable}.topnav button,.topnav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;line-height:1.55}.topnav a{background:none;color:#e5f0f1;border:0;border-radius:8px;padding:.55rem .9rem;font-weight:600;text-decoration:none}.topnav a:hover{background:#2b5864}.topnav a[href="/#ayuda"],.topnav a[href="/#sin-conexion"]{text-decoration:underline;text-underline-offset:4px}

.topbar>.topnav a:first-child{margin-left:-.15rem}@media(max-width:680px){.topnav a{padding:.4rem .5rem;font-size:.85rem;flex:1}}@media(max-width:540px){.topnav a{padding:.4rem .25rem;font-size:.875rem}}

.selection-import-options{margin:1rem 0;border:1px solid var(--line);border-radius:8px;padding:.85rem}.selection-import-options legend{font-weight:700;padding:0 .3rem}.selection-import-options label{display:flex;align-items:flex-start;gap:.7rem;padding:.6rem .1rem}.selection-import-options input{margin-top:.4rem;flex-shrink:0}.selection-import-options span{min-width:0;overflow-wrap:anywhere}

/* Optional grammar practice stays collapsed beside the base card. */
.grammar-supplement{margin:1.4rem 0;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.grammar-supplement>summary{padding:1rem;cursor:pointer;color:var(--navy);font-weight:700}.grammar-supplement-content{padding:0 1rem 1rem;border-top:1px solid var(--line)}.grammar-supplement-content>h3{margin-top:1.5rem}.grammar-supplement .practice label{display:block;margin-bottom:.5rem}.grammar-supplement .practice textarea{width:100%;min-height:90px}

.mixed-review-pack{margin:1rem 0;border-top:1px solid var(--line);padding-top:.8rem}.mixed-review-pack>summary{cursor:pointer;font-weight:700;color:var(--navy)}.mixed-review-pack .practice{margin:1.3rem 0}.mixed-review-pack label{display:block;margin-bottom:.5rem}.mixed-review-pack textarea{width:100%;min-height:90px}

footer{flex-wrap:wrap;align-items:flex-start}.site-release{font-size:.83rem;min-width:0;max-width:100%;flex:1 0 100%}.site-release>summary{cursor:pointer;width:fit-content;max-width:100%;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:.2em}.site-release-content{max-width:760px;padding:.7rem 0;line-height:1.65}.site-release h3,.site-release h4{color:inherit;margin:.7rem 0 .3rem}.site-release ul{padding-left:1.3rem;margin:.3rem 0}.site-release-content p{margin:.4rem 0}@media(max-width:680px){.site-release{margin-top:.8rem;text-align:left}.site-release>summary{margin:0 auto}}

.contact-form{max-width:680px;display:grid;gap:.55rem}.contact-form label{font-weight:650;margin-top:.65rem}.contact-form input,.contact-form select,.contact-form textarea{width:100%;max-width:100%;box-sizing:border-box;padding:.7rem;border:1px solid var(--line);border-radius:7px;font:inherit;background:white;color:var(--ink)}.contact-form textarea{resize:vertical}.contact-form input[readonly]{background:#f2f5f5;font-size:.86rem}.contact-form button{justify-self:start}.contact-form [role=status]{min-height:1.5em}.contact-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-form button:disabled{opacity:.65;cursor:wait}
.inbox-message{border:1px solid var(--line);border-radius:10px;padding:1rem;margin:1rem 0;background:white;overflow-wrap:anywhere}.inbox-message h2{font-size:1.1rem}.inbox-text{white-space:pre-wrap;line-height:1.75}

.grammar-reading{margin:1.2rem 0;padding:1rem;border:1px solid var(--line,#d9d5cb);border-radius:12px;background:var(--surface)}
.grammar-reading>summary{font-weight:700;cursor:pointer}
.grammar-reading .jp{line-height:1.95;overflow-wrap:anywhere}
.grammar-reading>details{margin:.8rem 0}

.reading-catalogue{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.reading-catalogue>summary{cursor:pointer;font-weight:700}

.support-packs{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.support-packs>summary,.support-pack>summary{cursor:pointer;font-weight:700}
.support-pack{padding:1rem 0;border-top:1px solid var(--line);margin-top:1rem}
.support-pack .jp{line-height:1.95;overflow-wrap:anywhere}
.support-pack>details{margin:.8rem 0}
.support-checklist{background:var(--teal-soft);padding:.8rem;border-radius:8px}

.listening-pilot{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.listening-pilot>summary{font-weight:700;cursor:pointer}
.listening-pilot select{display:block;max-width:100%;margin:.5rem 0;padding:.6rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--navy)}
.listening-item{border-top:1px solid var(--line);margin-top:1rem;padding-top:.5rem}
.listening-controls{display:flex;gap:.5rem;flex-wrap:wrap;margin:.8rem 0}
.listening-item label{display:block;font-weight:650}
.listening-item textarea{width:100%;min-height:5rem;margin:.5rem 0;padding:.7rem;border:1px solid var(--line);border-radius:8px;font:inherit;resize:vertical}
.listening-item .jp{line-height:1.95;overflow-wrap:anywhere}
.listening-controls button[aria-pressed="true"]{outline:3px solid var(--teal);outline-offset:2px}

.official-audio{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem 1rem;margin:.65rem 0;font-size:.875rem}
.official-audio>details>summary{cursor:pointer;color:var(--muted);font-size:.8rem}
.official-audio>details[open]{flex-basis:100%}
.official-audio p{margin:.5rem 0}
.official-audio a{overflow-wrap:anywhere}

.official-materials{margin:.8rem 0;font-size:.9rem}
.official-materials>summary{cursor:pointer;color:var(--teal)}
.official-materials[open]{padding-bottom:.5rem}

.lesson-accesses{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem .9rem;margin:.7rem 0;padding:.3rem 0;border-block:1px solid var(--line);font-size:.875rem}
.lesson-accesses>button{background:none;border:0;border-radius:0;color:var(--teal);font:inherit;cursor:pointer;padding:.35rem 0;text-align:left}
.lesson-accesses>button:hover{text-decoration:underline}
.lesson-accesses .official-audio{margin:0}
.lesson-kanji,.lesson-hard{margin:.8rem 0;font-size:.9rem}
.lesson-kanji>summary,.lesson-hard>summary{cursor:pointer;font-weight:650}
.lesson-kanji-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.8rem;margin:.8rem 0}
.lesson-kanji-grid>div{padding:.6rem;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}
.lesson-kanji-grid .jp{font-size:1.8rem}
.lesson-kanji-grid p{margin:.3rem 0}

.lesson-catalog {margin:1rem 0;scroll-margin-top:6rem}
.lesson-catalog>label {display:block;margin:1rem 0 .5rem;font-size:.9rem}
.lesson-catalog input {display:block;width:100%;max-width:28rem;margin-top:.4rem;padding:.65rem;border:1px solid var(--line,#ddd);border-radius:.4rem;background:var(--paper,#fff);color:inherit;font:inherit}
.lesson-catalog [data-lesson-row][hidden] {display:none}
.lesson-catalog>[data-lesson-more],.lesson-catalog>[data-lesson-reset] {margin:.8rem 1rem 0 0}
.lesson-catalog summary {cursor:pointer}

.lesson-readings,.free-readings {margin:1.1rem 0;scroll-margin-top:6rem}
.reading-story {margin:.85rem 0;padding:.65rem 0;border-bottom:1px solid var(--line,#ddd)}
.reading-story>summary {cursor:pointer;font-weight:600}
.reading-story>details {margin:.8rem 0}
.reading-passage {max-width:46rem;line-height:2.2!important;overflow-wrap:anywhere;font-size:1.12rem}
.reading-filters {display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin:1.5rem 0}
.reading-filters label {display:grid;gap:.4rem;flex:1 1 13rem;min-width:0}
.reading-filters input,.reading-filters select {width:100%;min-width:0;padding:.65rem;border:1px solid var(--line,#ddd);border-radius:.4rem;font:inherit;background:var(--paper,#fff);color:inherit}
.reading-entry[hidden] {display:none}
.reading-entry .kicker {margin-bottom:.25rem}
#por-leccion,#libres,#lecturas {scroll-margin-top:6rem}

/* Touch-friendly browse filters: bounded inline choices instead of the OS picker. */
.mobile-filter,.mobile-filter-disabled{display:none}
@media(max-width:800px),(pointer:coarse){
  .native-browse-select{display:none}
  .mobile-filter{display:block;min-width:0;width:100%}
  .mobile-filter-disabled{display:block;padding:.6rem .8rem;color:var(--muted)}
  .mobile-filter>summary{display:flex;align-items:center;justify-content:space-between;gap:.7rem;list-style:none;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:.55rem .8rem;min-height:44px;font-size:1rem;cursor:pointer;overflow-wrap:anywhere}
  .mobile-filter>summary::-webkit-details-marker{display:none}
  .mobile-filter>summary::after{content:'▾';flex:none;color:var(--teal)}
  .mobile-filter[open]>summary::after{transform:rotate(180deg)}
  .mobile-filter-menu{display:flex;flex-direction:column;max-height:42vh;max-height:min(18rem,42dvh);overflow:hidden;border:1px solid var(--line);border-radius:8px;margin-top:.35rem;background:#fff}
  .mobile-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex:none;padding:.15rem .7rem;border-bottom:1px solid var(--line)}
  .mobile-filter-heading strong{min-width:0;overflow-wrap:anywhere}.mobile-filter-heading button{flex:none}
  .mobile-filter-options{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding:.25rem;scrollbar-width:thin}
  .mobile-filter-options button{display:block;width:100%;max-width:100%;border:0;border-radius:5px;background:transparent;color:var(--ink);text-align:left;padding:.6rem .7rem;min-height:44px;white-space:normal;overflow-wrap:anywhere;font-size:1rem}
  .mobile-filter-options button[aria-pressed="true"]{background:var(--teal-soft);font-weight:750}
  .mobile-filter-options button:focus-visible,.mobile-filter>summary:focus-visible{outline:3px solid var(--teal);outline-offset:-3px}
}

/* Remaining selectors share one compact picker across all sections. */
.compact-select-trigger,.compact-select-panel[hidden]{display:none}
.compact-select-trigger[hidden]{display:none!important}
.compact-select-panel{position:fixed;z-index:1000;display:flex;flex-direction:column;gap:.4rem;box-sizing:border-box;padding:.55rem;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff);color:var(--ink);box-shadow:0 8px 28px #12354133;overflow:hidden}
.compact-select-heading{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex:none}
.compact-select-heading strong{overflow-wrap:anywhere}.compact-select-heading button{flex:none}
.compact-select-panel>input{width:100%;min-width:0;min-height:44px;box-sizing:border-box;flex:none}
.compact-select-options{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin}
.compact-select-options button{display:block;width:100%;border:0;border-radius:5px;background:transparent;color:var(--ink);text-align:left;min-height:44px;padding:.55rem .7rem;white-space:normal;overflow-wrap:anywhere;font-size:1rem}
.compact-select-options button[aria-pressed="true"]{background:var(--teal-soft);font-weight:750}.compact-select-group{font-weight:750;margin:.4rem .5rem}
.compact-select-trigger:focus-visible,.compact-select-options button:focus-visible{outline:3px solid var(--teal);outline-offset:-3px}
@media(max-width:800px),(pointer:coarse){
 select.compact-select-native{display:none!important}
 .compact-select-trigger{display:inline-flex;box-sizing:border-box;align-items:center;justify-content:space-between;gap:.7rem;width:100%;max-width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--surface,#fff);color:var(--ink);padding:.55rem .8rem;cursor:pointer;overflow-wrap:anywhere;font-size:1rem}
 .compact-select-trigger::after{content:'▾';flex:none;color:var(--teal)}.compact-select-trigger[aria-disabled="true"]{opacity:.55;cursor:default}
}

.result-lessons{display:block;font-size:.78rem;line-height:1.5;color:var(--muted);margin:.3rem 0;overflow-wrap:anywhere}
