@import"https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600;700&display=swap";:root{color-scheme:light dark;font-family:var( --font-body, "Noto Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif );background:var(--color-bg, #0f172a);color:var(--color-text, #f8fafc)}body{margin:0;background:var(--color-bg, #0f172a);color:var(--color-text, #f8fafc)}.page{max-width:960px;margin:0 auto;padding:2rem}.site-header{display:flex;justify-content:space-between;align-items:center}.site-header h1{cursor:pointer}.site-header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.theme-select{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#e2e8f0e6}.theme-select select{background:rgba(15,23,42,.35);border:1px solid rgba(148,163,184,.4);color:#f8fafcf2;padding:.25rem .65rem;border-radius:.5rem}.main-nav{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0;position:sticky;top:0;z-index:5;background:rgba(15,23,42,.98);padding-bottom:.75rem}.main-nav-row{display:flex;list-style:none;margin:0;flex-wrap:wrap;gap:.75rem;align-items:center;padding:.5rem .75rem;border-radius:1rem;border:1px solid rgba(148,163,184,.25)}.main-nav-row--resources{justify-content:flex-start;background:rgba(14,165,233,.08)}.main-nav-row--activities{justify-content:flex-end;background:rgba(248,231,28,.1)}.main-nav button{background:rgba(15,23,42,.3);border:1px solid rgba(148,163,184,.4);color:#f8fafce6;padding:.4rem 1rem;border-radius:999px;cursor:pointer;min-width:140px;text-align:center}.main-nav button.active{background:rgba(56,189,248,.2);border-color:#38bdf8}@media (max-width: 640px){.page[data-view]:not([data-view=landing]) .main-nav{display:none}}.main-nav-label{font-weight:600;color:#1f2937f2;background:rgba(248,231,28,.9);border-radius:999px;padding:.4rem 1rem;display:inline-flex;align-items:center;border:1px solid rgba(234,179,8,.8);min-width:140px;justify-content:center;cursor:pointer;box-shadow:0 0 10px #eab30859}.main-nav-label.active{background:rgba(14,165,233,.9);color:#0f172a;border-color:#0ea5e9e6;box-shadow:0 0 10px #0ea5e959}.view-panel{margin-top:.01rem}.landing-cta{margin-top:1.5rem}.landing-cta-card{display:flex;flex-direction:column;gap:1rem;background:radial-gradient(circle at top right,rgba(56,189,248,.25),rgba(15,23,42,.6));border-color:#38bdf880;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.landing-cta-card:hover,.landing-cta-card:focus{border-color:#38bdf8b3;box-shadow:0 12px 24px #0f172a59;transform:translateY(-2px)}.landing-cta-card:focus-visible{outline:2px solid #38bdf8;outline-offset:4px}.landing-cta-text h2{margin-top:.25rem;margin-bottom:.25rem}.landing-cta-label{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;color:#bae6fd;margin:0}@media (min-width: 768px){.landing-cta-card{flex-direction:row;align-items:center;justify-content:space-between}.landing-cta-card .primary-button{flex-shrink:0}}.view-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.1rem;margin-bottom:.5rem}.link-button{background:none;border:none;color:#38bdf8;cursor:pointer;font-size:.95rem}.card{background:rgba(15,23,42,.6);border:1px solid rgba(148,163,184,.3);border-radius:1rem;padding:1.5rem;margin-top:1rem;position:relative}.account-required-card{border:1px dashed rgba(248,113,113,.8);background:rgba(248,113,113,.08)}.auth-card{max-width:500px;margin:1rem auto 2rem}.lockdown-contact{font-weight:600;color:#f87171}.grammar-card{overflow:hidden}.user-pill{display:flex;gap:.5rem;background:rgba(15,23,42,.9);padding:.4rem .8rem;border-radius:999px;border:1px solid rgba(148,163,184,.6)}.user-pill .logout-button{border:none;background:transparent;color:#93c5fd;cursor:pointer;text-decoration:underline;padding:0}.role{text-transform:uppercase;font-size:.75rem;padding:.1rem .5rem;border-radius:.5rem;border:1px solid currentColor}.role-admin{color:#fbbf24}.role-teacher{color:#38bdf8}.role-manager{color:#f472b6}.role-user,.role-learner{color:#34d399}.role-guest{color:#a5b4fc}.token-form{display:flex;flex-direction:column;gap:.5rem;max-width:320px}.token-form input{padding:.5rem;border-radius:.5rem;border:1px solid rgba(148,163,184,.5)}.token-form button{padding:.6rem;border-radius:.5rem;background:#38bdf8;color:#0f172a;border:none;cursor:pointer}.secondary{margin-top:.75rem;background:transparent;color:#e2e8f0;border:1px solid rgba(148,163,184,.5)}.tos-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,23,42,.8);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:10}.tos-modal{background:#0f172a;border:1px solid rgba(148,163,184,.6);border-radius:1rem;padding:2rem;max-width:480px;max-height:85vh;overflow-y:auto}.tos-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.tos-page{display:flex;flex-direction:column;gap:.75rem;max-width:900px}.tos-page ul{padding-left:1.25rem;margin:0;display:flex;flex-direction:column;gap:.4rem}.entry-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:1rem}.entry-list article{border:1px solid rgba(148,163,184,.3);border-radius:.75rem;padding:.75rem;background:rgba(15,23,42,.4);cursor:pointer}.site-footer{margin-top:3rem;padding:1.5rem 1.75rem 2rem;text-align:center;font-size:.8rem;color:#e2e8f099}.site-footer .footer-link{color:inherit;text-decoration:underline;text-underline-offset:2px}.site-footer .footer-link:hover,.site-footer .footer-link:focus-visible{color:#e2e8f0e6}.inline-link{color:#38bdf8f2;text-decoration:underline;text-underline-offset:2px}.inline-link:hover,.inline-link:focus-visible{color:#7dd3fcf2}.headword-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.headword-row h3{margin:0;flex:1}.audio-btn{border:1px solid rgba(148,163,184,.5);background:transparent;color:inherit;border-radius:999px;padding:.3rem .6rem;cursor:pointer}.entry-list h3{margin:0 0 .5rem}.error{color:#f87171}.entry-table-wrapper{margin-top:1rem;overflow-x:auto}.muted-copy{color:#94a3b8;margin-top:.25rem}.sounds-grid{display:flex;flex-direction:column;gap:1.5rem}.sound-category{margin-bottom:1.5rem}.sound-category-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.sound-chip{border:1px solid rgba(148,163,184,.5);border-radius:999px;padding:.25rem .75rem;font-size:.85rem;color:#e2e8f0;white-space:nowrap}.sound-cells{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.4rem;margin-top:.5rem}@media (max-width: 1024px){.sound-cells{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}.sound-card-button{border:none;border-radius:.85rem;padding:.65rem;background:rgba(15,23,42,.65);color:inherit;display:flex;flex-direction:column;gap:.25rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;text-align:left;min-height:110px;box-shadow:inset 0 0 0 1px #94a3b873}.sound-card-button:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #38bdf8}.sound-card-symbol{font-size:1.7rem;font-weight:700}.sound-card-example{font-size:1rem;color:#e2e8f0d9}.sound-list{list-style:none;padding:0;margin:.75rem 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;width:100%}@media (max-width: 1024px){.sound-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.sound-list{grid-template-columns:1fr}}.sound-list-row{width:100%;border:1px solid rgba(148,163,184,.3);border-radius:.75rem;background:rgba(15,23,42,.2);padding:.6rem;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;cursor:pointer;color:inherit;text-align:left;box-sizing:border-box;min-width:0}.sound-list-row:focus{outline:2px solid rgba(56,189,248,.6);outline-offset:2px}.sound-list-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.sound-list-header .audio-icon-button{width:32px;height:32px;padding:0}.sound-list-symbol{font-size:1.2rem;font-weight:600;min-width:0}.sound-list-example{font-size:.85rem;color:#e2e8f0d9;word-break:break-word}.sound-playlist-controls{display:flex;gap:.75rem;align-items:center;margin-top:1rem}.example-letter{color:#94a3b8;font-size:.85rem}.grammar-layout{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem;width:100%}.grammar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem}.grammar-card-button{border:1px solid rgba(148,163,184,.4);background:rgba(15,23,42,.35);color:inherit;border-radius:.9rem;padding:.65rem;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;transition:border-color .2s ease,transform .2s ease,background .2s ease}.grammar-card-button:hover{border-color:#38bdf8cc;transform:translateY(-1px)}.grammar-card-button.active{border-color:#38bdf8;background:rgba(56,189,248,.12)}.grammar-card-heading{display:flex;flex-direction:column;gap:.2rem}.grammar-card-summary{font-size:.78rem;color:#e2e8f0c7;line-height:1.2;max-height:2.4em;overflow:hidden;margin:0}.fst-editor-card{margin-top:1rem}.fst-editor-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:1rem}@media (max-width: 960px){.fst-editor-layout{grid-template-columns:1fr}}.fst-entry-list{border:1px solid rgba(148,163,184,.3);border-radius:.9rem;padding:.75rem;background:rgba(15,23,42,.35);display:flex;flex-direction:column;gap:.65rem}.fst-entry-search{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem}.fst-entry-search input{border-radius:.5rem;border:1px solid rgba(148,163,184,.4);background:rgba(15,23,42,.4);padding:.4rem .6rem;color:inherit}.fst-entry-items{display:flex;flex-direction:column;gap:.5rem;max-height:60vh;overflow-y:auto}.fst-entry-button{width:100%;text-align:left;border:1px solid rgba(148,163,184,.3);background:rgba(15,23,42,.25);padding:.5rem .65rem;border-radius:.65rem;display:flex;flex-direction:column;gap:.2rem;cursor:pointer;transition:border-color .2s ease,background .2s ease}.fst-entry-button.active{border-color:#38bdf8;background:rgba(56,189,248,.12)}.fst-entry-button small{font-size:.75rem;color:#94a3b8e6}.fst-entry-count{font-size:.75rem;opacity:.8}.fst-entry-detail{border:1px solid rgba(148,163,184,.3);border-radius:.9rem;padding:1rem;background:rgba(15,23,42,.35)}.fst-entry-summary h3{margin:0}.fst-entry-summary .muted{font-size:.85rem;margin:.15rem 0 0}.fst-entry-summary .warning{font-size:.85rem;margin-top:.35rem;color:#fbbf24}.fst-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-top:.9rem}.fst-form-grid label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.fst-form-grid input,.fst-form-grid textarea{border-radius:.5rem;border:1px solid rgba(148,163,184,.35);background:rgba(15,23,42,.4);padding:.4rem .5rem;color:inherit;font:inherit}.fst-form-grid textarea{min-height:80px;resize:vertical}.fst-form-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.75rem}.fst-editor-alert{font-size:.85rem;color:#34d399}.fst-editor-alert.error{color:#f87171}.fst-bundle-section{margin-top:1.25rem;border-top:1px solid rgba(148,163,184,.2);padding-top:1rem}.fst-bundle-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.fst-bundle-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.fst-bundle-chip{border:1px solid rgba(148,163,184,.3);background:rgba(15,23,42,.25);border-radius:.6rem;padding:.3rem .6rem;font-size:.8rem;display:flex;flex-direction:column;gap:.15rem;cursor:pointer;transition:border-color .2s ease,background .2s ease}.fst-bundle-chip.active{border-color:#38bdf8;background:rgba(56,189,248,.15)}.fst-bundle-chip .muted{font-size:.75rem;opacity:.8}.fst-bundle-form{border:1px dashed rgba(148,163,184,.35);border-radius:.9rem;padding:.75rem;background:rgba(15,23,42,.25)}.fst-metadata-field{display:flex;flex-direction:column;gap:.35rem}.fst-metadata-field textarea{min-height:120px}.fst-kv-group{display:flex;flex-direction:column;gap:.4rem}.fst-kv-row{display:flex;gap:.4rem;align-items:center}.fst-kv-row .fst-kv-key,.fst-kv-row .fst-kv-value{border-radius:.45rem;border:1px solid rgba(148,163,184,.35);background:rgba(15,23,42,.4);padding:.35rem .5rem;color:inherit;font:inherit}.fst-kv-row .fst-kv-key{flex:.5}.fst-kv-row .fst-kv-value{flex:1}.fst-kv-row .link-button{padding:.2rem .35rem;line-height:1}.tag-row{display:flex;flex-wrap:wrap;gap:.25rem}.tag-pill{border:1px solid rgba(148,163,184,.5);border-radius:999px;padding:.05rem .6rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.muted{color:#e2e8f0b3}.lesson-detail{border:1px solid rgba(148,163,184,.3);border-radius:1rem;padding:1rem 1.25rem;background:rgba(15,23,42,.45);min-height:320px;min-width:0;overflow:hidden;box-sizing:border-box;width:100%;max-width:100%}.lesson-detail-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.lesson-summary{font-style:italic;color:#e2e8f0e6}.lesson-body p{line-height:1.6}.lesson-body h2,.lesson-body h3,.lesson-body h4,.lesson-relations{margin-top:1.25rem}.relation-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.relation-pill{border:1px solid rgba(148,163,184,.5);background:transparent;color:inherit;padding:.35rem .8rem;border-radius:999px;cursor:pointer}.phrase-list{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.4rem}.lesson-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin:1rem 0}.lesson-meta dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#f8fafcb3}.lesson-meta dd{margin:0;font-weight:600}.lesson-source{margin-top:1rem;font-size:.85rem;color:#e2e8f0cc}.lesson-pill{border:1px solid rgba(148,163,184,.4);border-radius:999px;padding:.2rem .75rem;font-size:.8rem;display:inline-flex;align-items:center;gap:.35rem}.lesson-pill button{border:none;background:transparent;color:inherit;cursor:pointer;font-size:.85rem;line-height:1}.lesson-pill.muted{opacity:.7}.random-pill-trigger{background:rgba(56,189,248,.15);border-color:#38bdf866;color:#bae6fd}.random-pill-trigger.active{background:rgba(56,189,248,.35);border-color:#38bdf8;color:#0f172a}.lesson-pill-label{font-weight:600}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,23,42,.75);display:flex;align-items:center;justify-content:center;z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.drawer-panel{background:#0f172a;border-radius:1rem;border:1px solid rgba(148,163,184,.4);padding:1.25rem;width:min(480px,90vw);max-height:85vh;display:flex;flex-direction:column}.drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.drawer-body{display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;padding-right:.5rem}.drawer-body label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem}.drawer-body label.checkbox-row{flex-direction:row;align-items:center;gap:.5rem}.drawer-body label.checkbox-row input[type=checkbox]{width:auto}.drawer-footer{margin-top:1rem;display:flex;justify-content:space-between}.deck-builder-modal{background:#0f172a;border:1px solid rgba(148,163,184,.6);border-radius:1rem;padding:1.5rem;width:min(640px,95vw);max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.deck-builder-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.deck-builder-actions{display:flex;gap:.5rem;flex-wrap:wrap}.lesson-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,23,42,.78);display:flex;align-items:center;justify-content:center;z-index:25}.random-entry-modal{background:#0f172a;border-radius:1rem;border:1px solid rgba(148,163,184,.4);padding:1.25rem;width:min(520px,92vw);max-height:85vh;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.random-entry-media{width:100%;min-height:180px;background:rgba(15,23,42,.7);border-radius:.75rem;display:flex;align-items:center;justify-content:center;overflow:hidden}.random-entry-media img{width:100%;height:auto;object-fit:cover}.random-entry-audio{display:flex;justify-content:center}.random-entry-translation{margin:.25rem 0 0;color:#e2e8f0e6}.random-entry-example{border-top:1px solid rgba(148,163,184,.2);padding-top:.75rem}.random-entry-example .muted-text{margin-top:.35rem}.surprise-view-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem}.surprise-toggle{border-radius:999px;border:1px solid rgba(148,163,184,.5);background:rgba(15,23,42,.6);color:#e2e8f0;padding:.35rem .9rem;cursor:pointer;font-size:.85rem;margin-right:.75rem}.surprise-toggle:hover{border-color:#38bdf8;color:#bae6fd}.random-entry-link{text-align:center}.random-entry-footer{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.random-entry-loading{font-size:.9rem;color:#94a3b8e6;text-align:center}.muted-text{color:#e2e8f0bf;margin:0}.lesson-detail{background:#0f172a;border-radius:1rem;border:1px solid rgba(148,163,184,.4);padding:1.5rem;width:min(640px,95vw);max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.lesson-section{border-top:1px solid rgba(148,163,184,.2);padding-top:.75rem}.lesson-example{padding:.5rem 0;border-bottom:1px solid rgba(148,163,184,.1)}.lesson-example:last-child{border-bottom:none}.lesson-example-tags{display:flex;gap:.3rem}.lesson-detail-muted{opacity:.7;font-size:.85rem}.lesson-detail-footer{display:flex;gap:.5rem;flex-wrap:wrap}.flashcards-overlay{z-index:35}.flashcards-modal{background:#0f172a;border:1px solid rgba(148,163,184,.5);border-radius:1rem;padding:1.25rem;width:min(1100px,96vw);height:min(92vh,760px);overflow:hidden;display:flex;flex-direction:column;gap:1rem}.flashcards-modal-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.deck-modal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:.7rem;margin:0 auto;width:min(90vw,70vh);height:min(90vw,70vh);max-width:960px;max-height:600px;align-content:center;flex:1;min-height:0}.deck-modal-grid .flashcard{min-height:0;padding:.6rem;gap:.4rem}.deck-modal-grid .flashcard-front h3{font-size:1.05rem}.deck-modal-grid .flashcard-media img{height:90px}.deck-modal-grid .flashcard-translation{font-size:1rem}@media (max-width: 900px){.deck-modal-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));width:min(92vw,68vh);height:min(92vw,68vh);max-width:720px;max-height:480px}}@media (max-width: 768px){.grammar-layout{grid-template-columns:1fr}.lesson-detail{padding:.75rem}}.entry-table{width:100%;border-collapse:collapse}.entry-table th,.entry-table td{border-bottom:1px solid rgba(148,163,184,.2);padding:.6rem;text-align:left}.lessons-view{display:flex;flex-direction:column;gap:1rem}.lessons-filter-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;background:rgba(15,23,42,.4);padding:1rem;border-radius:.75rem}.filter-pill-row{display:flex;flex-wrap:wrap;gap:.5rem;flex:1}.filter-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.lessons-grid{width:100%}.lesson-card{border:1px solid rgba(148,163,184,.35);border-radius:1rem;padding:1rem;background:rgba(15,23,42,.4);display:flex;flex-direction:column;gap:1rem;box-sizing:border-box}.lesson-headword{display:flex;align-items:baseline;gap:.5rem}.lesson-headword h3{margin:0}.lesson-item-type{font-size:.8rem;opacity:.7}.lesson-chip-row{display:flex;flex-wrap:wrap;gap:.35rem}.lesson-chip{font-size:.75rem;padding:.2rem .6rem;border-radius:999px;border:1px solid rgba(148,163,184,.4)}.lesson-chip-action{background:transparent;cursor:pointer;transition:border-color .2s ease,background .2s ease}.lesson-chip-action:hover{border-color:#38bdf8;background:rgba(56,189,248,.12)}.lesson-chip-tier{border-color:#38bdf8}.lesson-chip-audience{border-color:#a5b4fc}.lesson-chip-audio{border-color:#34d399}.lesson-description{margin:0;min-height:3rem;color:#e2e8f0d9}.lesson-footer{margin-top:auto;display:flex;gap:.5rem;align-items:stretch;justify-content:space-between;flex-wrap:nowrap}.lesson-footer .secondary-button{flex:1;min-width:0;text-align:center}.lesson-function{font-size:.8rem;opacity:.8;margin:0}.secondary-button{background:transparent;border:1px solid rgba(148,163,184,.5);color:inherit;padding:.4rem .8rem;border-radius:.5rem;cursor:pointer}.phrase-table td{border-bottom:none;vertical-align:middle}.phrase-table tbody tr{border-bottom:1px solid rgba(148,163,184,.2)}.phrase-table tbody tr:last-child{border-bottom:none}.entry-table tr{cursor:pointer}.entry-table tr:hover{background:rgba(56,189,248,.08)}.headword-cell{display:flex;align-items:center;height:100%;gap:.4rem}.media-cell{min-width:120px}.media-placeholder{opacity:.5}.icon-row.compact{gap:.3rem;font-size:.9rem;margin:0}.view-toggle{display:flex;align-items:center;gap:.5rem;margin:.5rem 0 1rem}.view-toggle.inline{margin:0}.view-toggle button{border:1px solid rgba(148,163,184,.4);background:transparent;color:inherit;padding:.2rem .8rem;border-radius:.5rem;cursor:pointer}.view-toggle button.active{background:rgba(56,189,248,.2);border-color:#38bdf8}.search-row{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;margin:.5rem 0 1rem}.search-row.inline{margin:0}.search-row input{border-radius:.5rem;border:1px solid rgba(148,163,184,.4);background:rgba(15,23,42,.4);padding:.45rem .65rem;color:inherit;width:12rem}.letter-nav{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}.letter-nav button{border:1px solid rgba(148,163,184,.4);background:transparent;color:inherit;padding:.25rem .5rem;border-radius:.4rem;cursor:pointer}.letter-nav button.active{background:rgba(56,189,248,.2);border-color:#38bdf8}.letter-nav button:disabled{opacity:.3;cursor:not-allowed}.writing-system-select{margin-bottom:1rem}.writing-system-select.inline{margin-bottom:0}.writing-system-select select{margin-left:.5rem;padding:.4rem;border-radius:.4rem;border:1px solid rgba(148,163,184,.5)}.semantic-domain-select{margin-bottom:1rem}.semantic-domain-select select{margin-left:.5rem;padding:.4rem;border-radius:.4rem;border:1px solid rgba(148,163,184,.5)}.phrase-selectors{display:flex;flex-wrap:wrap;gap:1rem}.phrase-source{display:flex;flex-direction:column;gap:.15rem}.phrase-gloss{font-size:.85rem;opacity:.75}.phrase-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.9rem;margin-top:.5rem}.entry-meta{display:flex;gap:.5rem;opacity:.7;font-size:.8rem}.icon-row{display:flex;gap:.4rem;margin:.25rem 0;font-size:1rem}.icon-row.compact{margin:0;gap:.35rem;font-size:.95rem}.translation-snippet{margin:.4rem 0 0;font-style:normal;opacity:.95}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a;display:flex;justify-content:center;align-items:flex-start;padding:1rem 1rem .4rem;overflow-y:auto;z-index:20}.modal-card{background:#0f172a;border:1px solid rgba(148,163,184,.6);border-radius:1rem;padding:2rem;max-width:720px;width:100%;position:relative;max-height:90vh;overflow-y:auto}.modal-card h2{margin-top:0}.close-btn{position:absolute;top:1rem;right:1rem;background:transparent;border:1px solid rgba(148,163,184,.5);color:inherit;padding:.25rem .5rem;border-radius:.4rem;cursor:pointer}.sense-card{border-top:1px solid rgba(148,163,184,.3);padding-top:.75rem;margin-top:.75rem}.relations{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.relation-pill{border:1px solid rgba(148,163,184,.4);padding:.15rem .4rem;border-radius:.4rem;font-size:.75rem}.detail-images{display:flex;flex-direction:column;align-items:center;gap:.5rem}.detail-images figure{margin:0;width:100%;display:flex;justify-content:center}.detail-images img{width:100%;max-width:320px;height:auto;max-height:320px;border-radius:.5rem;display:block;margin:0 auto;object-fit:contain}.detail-images figcaption{text-align:center;font-size:.85rem;opacity:.8}.sense-card{margin-bottom:1rem;padding-left:1rem}.verb-generator .verb-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}.verb-generator .verb-toolbar input{margin-left:.5rem;padding:.4rem .6rem;border-radius:.5rem;border:1px solid rgba(148,163,184,.4);background:rgba(15,23,42,.4);color:inherit}.verb-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.85rem;margin-top:1rem}.verb-card{border:1px solid rgba(148,163,184,.3);border-radius:.75rem;padding:.75rem;background:rgba(15,23,42,.4);text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;color:inherit}.verb-card .verb-lemma{font-weight:600}.verb-card .verb-meta{font-size:.8rem;opacity:.8}.verb-table-wrapper{margin-top:1rem;overflow-x:auto}.verb-table{width:100%;border-collapse:collapse}.verb-table th,.verb-table td{border:1px solid rgba(148,163,184,.2);padding:.5rem;text-align:left}.verb-table tbody tr{cursor:pointer}.verb-table tbody tr:hover{background:rgba(56,189,248,.08)}.verb-modal{max-width:900px}.verb-modal-body{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap}.verb-modal-groups{flex:1 1 55%;max-height:60vh;overflow-y:auto;padding-right:.5rem}.verb-modal-detail{flex:1 1 35%;border:1px solid rgba(148,163,184,.2);border-radius:.75rem;padding:1rem;background:rgba(15,23,42,.5)}.gramble-builder{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;flex-direction:column}.gramble-slots{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:.85rem}.gramble-slots>.gramble-slot{min-width:0}.gramble-slot{border:1px solid rgba(148,163,184,.25);border-radius:.75rem;padding:.75rem;background:rgba(15,23,42,.35);display:flex;flex-direction:column;gap:.5rem}.gramble-slot-header h3{margin:0}.gramble-subtitle{font-size:.8rem;opacity:.7}.gramble-toggle{display:flex;align-items:center;gap:.4rem;font-size:.85rem;opacity:.8}.gramble-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.gramble-options button{width:100%;border:1px solid rgba(148,163,184,.25);border-radius:.6rem;padding:.45rem .6rem;background:transparent;color:inherit;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:.2rem}.gramble-options button.active{border-color:#38bdf8;background:rgba(56,189,248,.12)}.gramble-options button.slot-root.active{border-color:var(--slot-root);background:color-mix(in srgb,var(--slot-root) 18%,transparent)}.gramble-options button.slot-stem.active{border-color:var(--slot-stem);background:color-mix(in srgb,var(--slot-stem) 18%,transparent)}.gramble-options button.slot-tense.active{border-color:var(--slot-tense);background:color-mix(in srgb,var(--slot-tense) 18%,transparent)}.gramble-options button.slot-subject.active{border-color:var(--slot-subject);background:color-mix(in srgb,var(--slot-subject) 18%,transparent)}.gramble-options button.slot-object.active{border-color:var(--slot-object);background:color-mix(in srgb,var(--slot-object) 18%,transparent)}.gramble-text{font-weight:600}.gramble-gloss{font-size:.8rem;opacity:.75}.gramble-output{border:1px solid rgba(148,163,184,.25);border-radius:.75rem;padding:1rem;background:rgba(15,23,42,.874);position:sticky;top:.75rem;z-index:2}.verb-generator{--slot-root: #f59e0b;--slot-stem: #f97316;--slot-tense: #22c55e;--slot-subject: #38bdf8;--slot-object: #a78bfa}.gramble-output-grid{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(200px,.8fr);gap:1rem;align-items:start}.gramble-output-main{min-width:0}@media (max-width: 1024px){.gramble-slots{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (max-width: 640px){.gramble-slots{grid-template-columns:1fr}}.gramble-surface{font-size:1.5rem;margin:.25rem 0 .5rem}.gramble-surface .slot-chip,.gramble-gloss-line .slot-chip{display:inline-block;margin-right:.35rem;font-weight:600}.slot-chip.slot-root{color:var(--slot-root)}.slot-chip.slot-stem{color:var(--slot-stem)}.slot-chip.slot-tense{color:var(--slot-tense)}.slot-chip.slot-subject{color:var(--slot-subject)}.slot-chip.slot-object{color:var(--slot-object)}.gramble-gloss-line{margin:0;opacity:.8}.gramble-recap ul{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.2rem;font-size:.9rem}@media (max-width: 640px){.gramble-output-grid{grid-template-columns:1fr}}.bundle-groups{display:flex;flex-direction:column;gap:.75rem}.bundle-group h4{margin:0 0 .35rem}.bundle-group ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.bundle-group li button{border:1px solid rgba(148,163,184,.3);border-radius:.5rem;padding:.4rem .6rem;background:transparent;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:.1rem;min-width:120px}.bundle-group li button.active{border-color:#38bdf8;background:rgba(56,189,248,.15)}.bundle-form{font-weight:600}.bundle-code,.bundle-person{font-size:.8rem;opacity:.8}.bundle-detail .bundle-surface{font-size:1.25rem;margin:0}.variant-list{list-style:none;padding-left:1rem;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.2rem}.variant-list li{font-size:.95rem}.variant-type{opacity:.7}.example-block{margin-top:.5rem;padding-left:.5rem}.example-block ul{padding-left:1rem;margin:.25rem 0 0;display:flex;flex-direction:column;gap:.4rem}.example-text{display:flex;flex-wrap:wrap;gap:.3rem}.example-audio audio{display:block;margin-top:.3rem}.flashcard-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem}.flashcard-controls button{border:1px solid rgba(148,163,184,.5);background:rgba(56,189,248,.15);color:inherit;border-radius:999px;padding:.4rem .9rem;cursor:pointer}.deck-meta{font-size:.85rem;color:#e2e8f0cc}.deck-filters{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem;font-size:.9rem}.flashcards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.flashcards-grid.deck-modal-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:.7rem;margin:0 auto;width:min(96vw,80vh);height:min(90vw,66vh);max-width:1240px;max-height:660px;align-content:center}.flashcard{border:1px solid rgba(148,163,184,.3);border-radius:.9rem;padding:1rem;background:rgba(15,23,42,.45);min-height:240px;display:flex;flex-direction:column;gap:.75rem;cursor:pointer;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.flashcard:hover{border-color:#38bdf899;transform:translateY(-2px)}.flashcard.is-revealed{border-color:#38bdf8;box-shadow:0 10px 30px #38bdf833}.flashcard-front{display:flex;flex-direction:column;gap:.4rem}.flashcard-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.flashcard-front h3{margin:0;font-size:1.35rem}.flashcard-media{border-radius:.75rem;overflow:hidden;border:1px solid rgba(148,163,184,.2)}.flashcard-media img{display:block;width:100%;height:120px;object-fit:cover}.pos-pill{border:1px solid rgba(148,163,184,.6);border-radius:999px;padding:.15rem .6rem;font-size:.75rem;text-transform:uppercase}.reveal-hint{font-size:.85rem;color:#94a3b8e6}.reveal-hint.revealed{color:#e2e8f0f2;font-weight:600}.flashcard-back{border-top:1px dashed rgba(148,163,184,.3);padding-top:.5rem;display:none;gap:.4rem;flex-direction:column}.flashcard.is-revealed .flashcard-back{display:flex}.flashcard-translation{font-size:1.1rem;font-weight:600;margin:0}.flashcard-example{font-size:.9rem;color:#e2e8f0e6}.domain-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.25rem}.domain-chip{border-radius:999px;padding:.15rem .6rem;font-size:.75rem;background:rgba(148,163,184,.2);color:inherit;border:none;cursor:default;font:inherit}.domain-chip.clickable{cursor:pointer;background:rgba(59,130,246,.2)}.domain-chip.muted{opacity:.8}.flashcard-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.ghost-button-row{display:flex;gap:.5rem;flex-wrap:wrap}.ghost-button{border:1px solid rgba(148,163,184,.5);border-radius:.6rem;background:transparent;color:inherit;padding:.35rem .8rem;cursor:pointer}@media (max-width: 600px){.flashcards-grid{grid-template-columns:1fr}.flashcards-grid.deck-modal-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));width:min(96vw,70vh);height:min(92vw,62vh);max-width:980px;max-height:560px}}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:1rem}.card-grid.home-info-grid{gap:1.25rem}@media (min-width: 1024px){.card-grid.home-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.card-grid .card{margin:0!important;display:flex;flex-direction:column;height:100%;box-sizing:border-box}.card-grid.lessons-grid{gap:1.25rem;margin-top:0}.card-grid.four-column{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}@media (min-width: 1200px){.card-grid.four-column{grid-template-columns:repeat(4,minmax(0,1fr))}}.card-grid.five-column{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.25rem}@media (min-width: 1200px){.card-grid.five-column{grid-template-columns:repeat(5,minmax(0,1fr))}}.start-learning-grid .card-grid-item{text-align:left;align-items:stretch}.start-learning-card h3,.start-learning-card p{text-align:left}.start-learning-card{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.start-learning-card.disabled{cursor:default;box-shadow:none;transform:none;opacity:.8}.start-learning-card.disabled:hover,.start-learning-card.disabled:focus{border-color:#94a3b84d;box-shadow:none;transform:none}.start-learning-card:hover,.start-learning-card:focus{border-color:#38bdf899;box-shadow:0 12px 24px #0f172a59;transform:translateY(-2px)}.start-learning-card:focus-visible{outline:2px solid rgba(56,189,248,.8);outline-offset:3px}.card-grid-item{display:flex;flex-direction:column;gap:.75rem;text-align:center;align-items:center;height:100%}.practise-card{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.practise-card:hover,.practise-card:focus{border-color:#38bdf880;box-shadow:0 12px 24px #0f172a4d;transform:translateY(-2px)}.practise-card:focus-visible{outline:2px solid rgba(56,189,248,.6);outline-offset:3px}.practise-card.disabled{cursor:default;box-shadow:none;transform:none}.practise-card.disabled:hover,.practise-card.disabled:focus{border-color:#94a3b84d;box-shadow:none;transform:none}.card-grid-item h3{width:100%;text-align:center;margin-bottom:.25rem}.card-grid-item p{margin:0;flex:1}.card-grid-item .link-button{margin-top:auto}.card-status{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#e2e8f0a6}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}@media (max-width: 1024px){.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.video-grid{grid-template-columns:1fr}}.video-card{display:flex;flex-direction:column;gap:.75rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.video-card:hover,.video-card:focus{border-color:#38bdf880;box-shadow:0 12px 24px #0f172a4d;transform:translateY(-2px)}.video-card img{width:100%;border-radius:.75rem;aspect-ratio:16 / 9;object-fit:cover;background:rgba(15,23,42,.5)}.video-card-placeholder{width:100%;border-radius:.75rem;aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.5);color:#e2e8f0b3;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.video-card-body h3{margin:0}.video-card-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.video-duration{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.02em;background:rgba(15,23,42,.45);border:1px solid rgba(148,163,184,.25);color:#e2e8f0e6}.video-meta{margin:0;opacity:.7}.video-modal{max-width:920px;max-height:80vh;overflow-y:auto}.video-player video{width:100%;border-radius:.75rem;margin-top:1rem;background:#0b1220;max-height:55vh}.home-info-card{padding:1rem 1.25rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.home-info-card:hover,.home-info-card:focus{border-color:#38bdf880;box-shadow:0 12px 24px #0f172a4d;transform:translateY(-2px)}.home-info-card p{font-size:.95rem}.alert{border-radius:.75rem;border:1px solid rgba(148,163,184,.4);padding:.85rem 1rem;margin:.75rem 0;background:rgba(15,23,42,.5);font-size:.95rem}.alert p{margin:.25rem 0 0}.alert-error{border-color:#f8717199;color:#fecaca}.alert-success{border-color:#34d39980;color:#d1fae5}.alert-warning{border-color:#fbbf2480;color:#fef3c7}.primary-button{background:#38bdf8;border:none;color:#0f172a;padding:.6rem 1.25rem;border-radius:.5rem;cursor:pointer;font-weight:600}.primary-button:disabled{opacity:.4;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.form-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#f8fafcd9}.form-grid input,.form-grid select{padding:.5rem .6rem;border-radius:.5rem;border:1px solid rgba(148,163,184,.4);background:rgba(15,23,42,.35);color:inherit}.checkbox-inline{display:flex;align-items:center;gap:.4rem;font-size:.9rem}.preset-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.75rem;font-size:.85rem;color:#e2e8f0cc}.preset-row .link-button{padding:.2rem .4rem}.section-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.candidate-grid .grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.candidate-card{border:1px solid rgba(148,163,184,.35);border-radius:1rem;background:rgba(15,23,42,.35);display:flex;flex-direction:column;gap:.75rem;transition:border-color .2s ease,transform .2s ease}.candidate-card.selected{border-color:#38bdf8;box-shadow:0 0 0 1px #38bdf866}.candidate-card h4{margin:0}.candidate-card .chip-row{display:flex;flex-wrap:wrap;gap:.35rem}.candidate-media-pill{margin-left:.5rem;font-size:.75rem;border:1px solid rgba(148,163,184,.4);border-radius:999px;padding:.1rem .4rem;display:inline-flex;align-items:center;gap:.2rem;color:#94a3b8e6}.candidate-media-pill.has-image{border-color:#4ade8099;color:#4ade80}.candidate-media-pill.missing{border-color:#f8717180;color:#f87171}.candidate-thumb{border:1px solid rgba(148,163,184,.25);border-radius:.75rem;background:rgba(15,23,42,.55);min-height:140px;display:flex;align-items:center;justify-content:center;padding:.5rem}.candidate-thumb img{max-width:100%;max-height:130px;object-fit:contain}.candidate-thumb.placeholder{font-size:.85rem;color:#e2e8f0b3}.candidate-card.compact{padding:.75rem 1rem;gap:.4rem}.candidate-header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.candidate-headword{font-weight:600}.candidate-translation{font-size:.9rem;color:#e2e8f0cc}.worksheet-full-phrase{font-weight:500;font-size:1rem}.worksheet-answer-highlight{font-weight:700;font-style:italic;color:#fbbf24}.selection-card{background:rgba(15,23,42,.5)}.selection-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.selection-list li{border:1px solid rgba(148,163,184,.3);border-radius:.75rem;padding:.75rem;display:flex;gap:.75rem;flex-wrap:wrap;background:rgba(15,23,42,.35)}.selection-controls{display:flex;gap:.35rem}.selection-controls .link-button{border:1px solid rgba(148,163,184,.3);border-radius:.35rem;padding:.25rem .5rem}.selection-content{flex:1;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem}.selection-content label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem}.selection-content input{padding:.45rem .55rem;border-radius:.4rem;border:1px solid rgba(148,163,184,.35);background:rgba(15,23,42,.45);color:inherit}.selection-thumb{border:1px solid rgba(148,163,184,.35);border-radius:.6rem;padding:.35rem;display:flex;align-items:center;justify-content:center}.selection-thumb img{max-width:160px;max-height:120px;object-fit:contain}.selection-content .no-image{align-self:center;font-size:.85rem;color:#e2e8f0cc}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.history-card{background:rgba(15,23,42,.45)}.history-list{display:flex;flex-direction:column;gap:1rem}.history-list.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.history-card-item{border:1px solid rgba(148,163,184,.35);border-radius:.85rem;padding:1rem;background:rgba(15,23,42,.35);display:flex;flex-direction:column;gap:.75rem}.history-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem;margin:.75rem 0}.history-meta dt{text-transform:uppercase;font-size:.7rem;letter-spacing:.08em;color:#f8fafc99;margin:0}.history-meta dd{margin:0;font-weight:600}.history-config{background:rgba(15,23,42,.5);border-radius:.5rem;padding:.75rem;font-size:.85rem;overflow-x:auto}.history-actions{display:flex;flex-wrap:wrap;gap:.5rem}.books-single-column{display:flex;flex-direction:column;gap:1rem}.books-drawer-buttons{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:flex-start}.books-drawer-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.books-summary{flex:1;min-width:240px;font-size:.85rem;color:#f8fafccc}.books-summary p{margin:0}.compact-card{padding:1rem}.compact-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.candidate-table{display:flex;flex-direction:column;gap:.35rem}.candidate-table-header{display:grid;grid-template-columns:1fr 1fr auto;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#f8fafc99;padding:0 .2rem}.candidate-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;padding:.3rem .2rem;border-bottom:1px solid rgba(148,163,184,.15)}.candidate-row:last-child{border-bottom:none}.candidate-actions{display:flex;justify-content:flex-end}.candidate-row.selected{background:rgba(56,189,248,.08)}.compact-selection{gap:.5rem}.selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.selection-content.two-column{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem}.selection-choices{grid-column:1 / -1;display:flex;flex-direction:column;gap:.4rem}.selection-full-phrase{grid-column:1 / -1;display:flex;flex-direction:column;gap:.35rem;padding:.4rem .6rem;border:1px solid rgba(148,163,184,.25);border-radius:.5rem;background:rgba(15,23,42,.35)}.selection-full-phrase-text{font-size:.9rem;color:#e2e8f0e6}.vocab-editor{margin-top:1rem;display:flex;flex-direction:column;gap:1rem}.vocab-layout{display:grid;grid-template-columns:minmax(200px,220px) 1fr;gap:1rem}.vocab-sidebar{border:1px solid rgba(148,163,184,.2);border-radius:.75rem;padding:.75rem;background:rgba(15,23,42,.4)}.vocab-sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.vocab-sidebar .icon-button{border:1px solid rgba(148,163,184,.4);border-radius:.4rem;width:1.75rem;height:1.75rem;background:rgba(15,23,42,.6);color:inherit;cursor:pointer}.vocab-sidebar ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.sidebar-input-row input{width:100%;padding:.4rem .5rem;border-radius:.5rem;border:1px solid rgba(148,163,184,.5);background:rgba(15,23,42,.6);color:inherit;font-size:.95rem}.vocab-sidebar button{width:100%;text-align:left;padding:.4rem .6rem;border:1px solid transparent;border-radius:.5rem;background:none;color:inherit;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.vocab-sidebar button.active{border-color:#38bdf880;background:rgba(56,189,248,.12)}.vocab-content{border:1px solid rgba(148,163,184,.2);border-radius:.75rem;padding:.75rem;background:rgba(15,23,42,.4);overflow-x:auto}.vocab-content-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.vocab-content-header .icon-button{border:1px solid rgba(148,163,184,.4);border-radius:.4rem;width:1.75rem;height:1.75rem;background:rgba(15,23,42,.6);color:inherit;cursor:pointer}.vocab-content table{width:100%;border-collapse:collapse}.vocab-content th,.vocab-content td{border-bottom:1px solid rgba(148,163,184,.15);padding:.4rem}.vocab-content input[type=text],.vocab-content input[type=number]{width:100%;padding:.25rem;border-radius:.3rem;border:1px solid rgba(148,163,184,.4);background:rgba(15,23,42,.6);color:inherit}.vocab-content td:nth-child(2) input[type=text]{width:90%}.vocab-content th.order-column{width:4rem;text-align:center}.order-cell{text-align:center}.order-display{display:inline-block;min-width:2rem;padding:.15rem .4rem;border-radius:.4rem;background:rgba(15,23,42,.65);border:1px solid rgba(148,163,184,.35);font-variant-numeric:tabular-nums}.vocab-content th.drag-column{width:2.5rem}.vocab-drag-cell{width:2.5rem;text-align:right}.drag-handle{border:1px solid transparent;border-radius:.4rem;padding:.2rem .35rem;background:rgba(15,23,42,.45);color:#e2e8f0d9;cursor:grab}.drag-handle:focus-visible{outline:2px solid rgba(56,189,248,.7);border-color:#38bdf8b3}.vocab-row-dragging{background:rgba(56,189,248,.08)}.vocab-row-active{background:rgba(56,189,248,.05)}.drag-handle:active{cursor:grabbing}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.vocab-form{border:1px dashed rgba(148,163,184,.5);border-radius:.75rem;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.vocab-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem}.vocab-form input[type=text],.vocab-form input[type=number]{width:100%;padding:.35rem;border-radius:.5rem;border:1px solid rgba(148,163,184,.4);background:rgba(15,23,42,.6);color:inherit}.tagging-card-list{display:flex;flex-direction:column;gap:.75rem}.tag-row{position:relative;border:1px solid rgba(148,163,184,.25);border-radius:.9rem;padding:.6rem .75rem .75rem;background:rgba(15,23,42,.45);display:flex;flex-direction:column;gap:.4rem}.tag-row-selected{border-color:#38bdf899;background:rgba(56,189,248,.08)}.tag-row-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:stretch}.row-main{display:grid;grid-template-columns:minmax(220px,260px) minmax(300px,1.2fr) minmax(320px,1fr);gap:1rem;align-items:stretch;width:100%}.row-headword{display:flex;flex-direction:column;gap:.25rem}.entry-gloss{font-weight:400;font-size:.95rem;color:#e2e8f0bf;margin:0}.row-tags{display:flex;gap:.75rem;flex-direction:column}.row-tag-column>.summary-chips{min-height:1.5rem}.row-tag-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.4rem .75rem;align-items:start}.row-tag-grid p{margin:0}.inline-label{display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8e6;margin-bottom:.1rem}.summary-chips{display:flex;gap:.3rem;flex-wrap:wrap}.summary-chip{border-radius:999px;background:rgba(56,189,248,.15);color:#e2e8f0e6;padding:.1rem .45rem;font-size:.75rem}.summary-chip.subtle{background:rgba(148,163,184,.25);color:#e2e8f0cc}.row-note{display:flex;gap:.75rem;justify-content:flex-end;align-items:center}.note-pill{border:1px dashed rgba(148,163,184,.5);border-radius:.6rem;padding:.35rem .75rem;background:transparent;color:#e2e8f0d9;font-size:.85rem;cursor:pointer}.tag-row-body{display:flex;flex-wrap:wrap;gap:.35rem .75rem;padding-top:.5rem;border-top:1px solid rgba(148,163,184,.15)}.tag-row-body .stacked-label{flex-direction:row;align-items:center;gap:.35rem;margin-bottom:0}.tag-flag-group{display:flex;flex-wrap:wrap;gap:.4rem}.toggle-pill{border:1px solid rgba(148,163,184,.4);border-radius:999px;padding:.2rem .7rem;background:transparent;color:#e2e8f0d9;font-size:.85rem;cursor:pointer}.toggle-pill.on{background:rgba(56,189,248,.3);border-color:#38bdf8cc;color:#0f172a}.tag-field-group{display:flex;flex-direction:column}.tagging-editor{display:flex;flex-direction:column;gap:1.5rem}.tagging-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.tagging-controls label{display:flex;flex-direction:column;font-size:.9rem;gap:.4rem}.tagging-controls input[type=text]{min-width:240px;padding:.4rem;border-radius:.5rem;border:1px solid rgba(148,163,184,.4);background:rgba(15,23,42,.6);color:inherit}.checkbox-inline{display:flex;align-items:center;gap:.35rem;font-size:.9rem}.tagging-controls-actions{margin-left:auto;display:flex;align-items:center;gap:.75rem}.tagging-table-wrapper{overflow-x:auto}.tagging-table{width:100%;border-collapse:collapse;min-width:900px}.tagging-table th,.tagging-table td{border-bottom:1px solid rgba(148,163,184,.15);padding:.5rem .4rem;vertical-align:top}.tagging-table th{text-align:left;font-size:.85rem;letter-spacing:.02em;color:#f8fafcb3}.entry-headword{margin:0;font-weight:600;font-size:1rem}.stacked-label{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.35rem}.stacked-label select,.stacked-label textarea{width:100%;padding:.25rem .35rem;border-radius:.5rem;border:1px solid rgba(148,163,184,.4);background:rgba(15,23,42,.6);color:inherit;font-size:.9rem}.stacked-label textarea{min-height:80px;resize:vertical}.stacked-label.compact{flex-direction:row;align-items:center;gap:.35rem;margin-bottom:.15rem}.stacked-label.compact>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8d9}.stacked-label.compact select{max-width:140px}.chip-group{display:flex;flex-wrap:wrap;gap:.3rem}.chip-group.compact{gap:.2rem}.chip{border:1px solid rgba(148,163,184,.4);border-radius:999px;padding:.1rem .5rem;font-size:.78rem;background:transparent;color:inherit;cursor:pointer;transition:background .2s ease,color .2s ease,border .2s ease}.chip.passive{cursor:default;border-style:dashed;opacity:.75}.chip.selected{background:rgba(56,189,248,.25);border-color:#38bdf8cc;color:#0f172a;font-weight:600}.chip:disabled{opacity:.5;cursor:not-allowed}.flag-grid{display:flex;flex-direction:column;gap:.2rem}.entry-meta{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.25rem}.entry-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:.15rem .4rem;border-radius:999px;background:rgba(56,189,248,.18);color:#e2e8f0}.entry-badge.subtle{background:rgba(148,163,184,.25);color:#e2e8f0cc}.tagging-table .select-col{width:36px;text-align:center}.selection-summary{margin-left:auto;display:flex;gap:.5rem;align-items:center;font-size:.85rem}.selection-summary .link-button{padding:0}.bulk-flag-pills{display:flex;flex-wrap:wrap;gap:.4rem}.toggle-pill.bulk{padding:.25rem .75rem;font-size:.8rem}.toggle-pill.off{border-color:#94a3b859;background:rgba(15,23,42,.35);color:#e2e8f099}.flag-state{margin-left:.35rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7}@media (max-width: 1024px){.row-main{grid-template-columns:minmax(200px,1fr)}.row-tags{flex-direction:row;flex-wrap:wrap;gap:.5rem}.row-tag-column{flex:1 1 200px}.row-tag-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.bulk-panel{border:1px solid rgba(148,163,184,.3);border-radius:.75rem;padding:.75rem;background:rgba(15,23,42,.45);display:flex;flex-direction:column;gap:.6rem}.bulk-panel-header{display:flex;justify-content:space-between;align-items:center}.bulk-panel-actions{display:flex;gap:.5rem;align-items:center}.bulk-panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.bulk-panel .stacked-label textarea{min-height:70px}.bulk-flags{flex-direction:row;flex-wrap:wrap;gap:.4rem 1rem}.link-button.tiny{font-size:.75rem;padding:0}.bulk-panel-footer{display:flex;justify-content:flex-end}.row-actions{display:flex;gap:.4rem;align-items:center}.primary-button.mini{padding:.3rem .85rem;font-size:.85rem}.books-tabs{display:inline-flex;border:1px solid rgba(148,163,184,.3);border-radius:999px;overflow:hidden;margin-bottom:1rem}.books-tabs button{border:none;background:transparent;color:#f8fafcd9;padding:.5rem 1.25rem;cursor:pointer}.books-tabs button.active{background:rgba(56,189,248,.2);color:#0f172a;font-weight:600}.books-wizard-card{max-width:960px;width:min(960px,100%);max-height:85vh;height:85vh;display:flex;flex-direction:column}.books-wizard-card:after{content:""}.wizard-scroll{flex:1;overflow-y:auto;padding-right:.5rem}.wizard-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(148,163,184,.3);pointer-events:none;position:sticky;top:0;background:rgba(15,23,42,.98);z-index:3}.wizard-header>div:first-child{flex:1 1 320px;min-width:240px}.wizard-header .muted-copy{white-space:normal}.wizard-header h2,.wizard-header .muted-copy,.wizard-controls,.wizard-controls *{pointer-events:auto}.wizard-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;align-self:flex-start}.wizard-controls .primary-button{min-width:160px;text-align:center}.books-wizard-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;list-style:none;padding:0;margin:1rem 0}.books-wizard-step{border:1px solid rgba(148,163,184,.35);border-radius:.75rem;padding:.75rem;display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;background:rgba(15,23,42,.4)}.books-wizard-step .step-index{font-weight:600;font-size:.95rem;color:#f8fafccc}.books-wizard-step.active{border-color:#38bdf8;background:rgba(56,189,248,.15)}.books-wizard-step.completed{border-color:#38bdf880;opacity:.9}.wizard-scroll{flex:1;overflow-y:auto;padding-right:.5rem;margin-top:1rem}.wizard-body{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.wizard-nav-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.wizard-inline-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:.75rem}.candidate-sticky-bar{position:sticky;top:4.5rem;z-index:2;background:rgba(15,23,42,.95);padding:.85rem 0 .75rem;border-bottom:1px solid rgba(148,163,184,.2);pointer-events:none}.candidate-sticky-bar .wizard-inline-actions{pointer-events:auto}.wizard-section{display:flex;flex-direction:column;gap:.75rem}.wizard-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.selection-list.readonly li{display:flex;justify-content:space-between;align-items:center}.fib-panel{margin-top:1.5rem}.fib-filters{margin-bottom:1.5rem}.fib-filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.fib-filter-actions{display:flex;gap:.75rem}.fib-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.fib-filter-grid label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.fib-filter-grid select{padding:.45rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#030712;color:#fff}.fib-filter-summary{margin-top:.75rem;font-size:.85rem;opacity:.85}.fib-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.fib-action-group{display:flex;gap:1rem;flex-wrap:wrap}.fib-filter-bar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.fib-layout{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:1.5rem}.fib-set-list{background:#0f172a;border-radius:12px;padding:1rem}.fib-set-list ul{list-style:none;margin:0;padding:0}.fib-set-list li{margin-bottom:.75rem}.fib-set-list .link-button{display:flex;flex-direction:column;align-items:flex-start;padding-left:0}.fib-set-list .link-button.active{color:#38bdf8}.fib-set-title{font-weight:600}.fib-set-meta{font-size:.8rem;opacity:.8}.fib-active-set{background:#0f172a;border-radius:12px;padding:1.5rem}.fib-set-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.fib-set-description{margin-top:.5rem}.fib-set-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem}.fib-set-controls label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}.fib-set-controls input,.fib-set-controls textarea{width:100%;padding:.5rem;border-radius:6px;border:1px solid rgba(255,255,255,.25);background:#030712;color:#fff}.fib-set-description-input{grid-column:1 / -1}.fib-set-checkbox{display:flex;align-items:center;gap:.5rem}.fib-set-buttons{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.link-button.danger{color:#f87171}.link-button.danger:hover{color:#fecaca}.fib-items{list-style:decimal;padding-left:1.25rem}.fib-item{margin-bottom:1.5rem}.fib-prompt{font-size:1rem;font-weight:600;margin-bottom:.5rem}.fib-input{width:100%;padding:.5rem;border-radius:6px;border:1px solid rgba(255,255,255,.25);margin-bottom:.4rem;background:#030712;color:#fff}.fib-feedback{font-size:.9rem;margin-bottom:.25rem}.fib-feedback.correct{color:#22c55e}.fib-feedback.incorrect{color:#f97316}.fib-translation{font-size:.85rem;opacity:.8}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172a;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-panel{background:#0f172a;border-radius:12px;width:min(640px,100%);max-height:90vh;overflow:auto;padding:1.25rem;box-shadow:0 10px 40px #00000073}.modal-header,.modal-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.fib-play-body{display:flex;flex-direction:column;gap:.75rem}.fib-audio-player{width:100%}.fib-option-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem}.fib-option-button{border:1px solid rgba(148,163,184,.4);background:rgba(15,23,42,.6);border-radius:.6rem;padding:.6rem .75rem;text-align:left;color:inherit;font-size:.95rem;transition:border-color .2s ease,background .2s ease}.fib-option-button:hover{border-color:#38bdf8}.fib-option-button.selected{border-color:#38bdf8;background:rgba(56,189,248,.15)}.fib-option-button.correct{border-color:#22c55e;background:rgba(34,197,94,.15)}.fib-option-button.incorrect{border-color:#f97316;background:rgba(249,115,22,.15)}@media (max-width: 900px){.fib-layout{grid-template-columns:1fr}.fib-set-list{order:2}.fib-active-set{order:1}}.stories-layout{display:flex;flex-wrap:wrap;gap:1.5rem}.stories-list-panel{width:100%}.stories-list-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.stories-list-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.stories-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}@media (min-width: 1024px){.stories-card-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.stories-list-note{margin-top:.35rem;font-size:.85rem;color:var(--muted-text)}.story-card-button{border:1px solid rgba(148,163,184,.4);border-radius:.9rem;padding:.75rem;background:rgba(15,23,42,.25);color:#f1f5f9;text-align:left;display:flex;flex-direction:column;gap:.35rem;cursor:pointer;transition:border-color .2s ease,transform .2s ease}.story-card-button.active{border-color:#38bdf8;transform:translateY(-2px)}.story-card-button h4{margin:0;font-size:.95rem}.story-card-subtitle{margin:0;font-size:.8rem;color:#e2e8f0cc;font-style:italic}.story-chip-icons{display:flex;gap:.4rem;margin-top:.35rem;color:#e2e8f0bf;font-size:.9rem}.story-chip-icon{line-height:1}.stories-detail{flex:1;min-width:320px}.story-detail-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;position:sticky;top:0;background:#0f172a;padding:.75rem 0;z-index:2}.story-detail-modal{background:#0f172a;border-radius:1rem;border:1px solid rgba(148,163,184,.4);padding:1.25rem;width:min(900px,95vw);max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.story-modal-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.story-subtitle{color:var(--muted-text);margin:.25rem 0 0;font-style:italic}.story-source{margin:.35rem 0 0;color:#e2e8f0bf;font-size:.85rem}.story-paragraph{margin-bottom:1.25rem}.story-phrase{margin-bottom:1rem}.story-phrase.active .story-phrase-toggle{border-color:#22c55e;background:rgba(34,197,94,.12);box-shadow:0 0 0 1px #22c55e26}.story-phrase.active .story-original{color:#bbf7d0}.story-phrase-toggle{width:100%;border:1px solid rgba(148,163,184,.4);border-radius:.9rem;background:rgba(51,65,85,.15);padding:.85rem;font:inherit;display:grid;grid-template-columns:1fr auto;gap:1rem;cursor:pointer;text-align:left;color:inherit;transition:border-color .2s ease,background .2s ease}.story-phrase-toggle:hover{border-color:#38bdf8;background:rgba(56,189,248,.08)}.story-phrase-lines{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.4rem 1rem;align-items:center}.story-line{margin:0}.story-original{font-size:1rem;font-weight:600}.story-translation{color:var(--muted-text);text-align:right}.story-word-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.6rem;margin-top:.75rem}.story-word-pair{border:1px solid rgba(148,163,184,.25);border-radius:.7rem;padding:.45rem .6rem;background:rgba(15,23,42,.2);display:grid;grid-template-columns:1fr 1fr;gap:.5rem;align-items:center}.story-word-text{font-weight:600;font-size:.95rem}.story-word-gloss{font-size:.9rem;color:var(--muted-text);text-align:right;border-left:1px solid rgba(148,163,184,.2);padding-left:.5rem}.sound-detail-modal{background:#0f172a;border-radius:1rem;border:1px solid rgba(148,163,184,.4);padding:1.25rem;width:min(520px,90vw);max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.sound-detail-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.sound-detail-title{display:flex;align-items:baseline;gap:.65rem}.sound-detail-title h3{margin:0}.sound-detail-letter-description{font-weight:400;font-size:.95rem;color:#e2e8f0cc}.sound-detail-category,.sound-detail-description{margin:.25rem 0 0;color:#e2e8f0cc}.sound-detail-nav{display:flex;gap:.75rem;margin-bottom:.35rem}.sound-modal-meta{display:flex;gap:1rem;flex-wrap:wrap}.sound-modal-meta div{min-width:120px}.sound-detail-audio audio{width:100%}.sound-audio-control{display:flex;align-items:center;gap:.6rem}.sound-detail-examples ul{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.5rem}.sound-detail-examples li{border:1px solid rgba(148,163,184,.25);border-radius:.75rem;padding:.6rem .8rem;background:rgba(15,23,42,.2)}.sound-example-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.sound-example-headword{font-weight:600}.sound-example-gloss{font-size:.85rem;color:#e2e8f0bf;font-style:italic}.book-html-modal{background:#0f172a;border-radius:1rem;border:1px solid rgba(148,163,184,.4);padding:1.25rem;width:min(900px,95vw);max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.book-html-content{background:rgba(15,23,42,.6);border:1px solid rgba(148,163,184,.3);border-radius:.75rem;padding:1rem;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:.75rem;color:#f8fafc;white-space:pre-wrap;word-break:break-word}.book-html-frame{width:100%;min-height:70vh;border:1px solid rgba(148,163,184,.35);border-radius:.75rem;background:#fff}.choose-word-view .card{margin-bottom:1.5rem}.choose-word-session{display:flex;flex-direction:column;gap:1rem}.choose-word-meta{display:flex;justify-content:space-between;font-size:.9rem;color:#94a3b8d9}.choose-word-modal{width:100%;max-width:760px}.choose-word-modal-title{display:flex;flex-wrap:wrap;gap:.35rem;align-items:baseline;font-size:clamp(1.1rem,2.2vw,1.5rem);margin:0;color:#f8fafc}.modal-title-separator{font-weight:600}.choose-word-modal-subtitle{font-size:.9rem;font-weight:500;color:#e2e8f0d9}.choose-word-audio{display:flex;justify-content:center;margin:.5rem 0 1rem;flex-direction:column;align-items:center;gap:.35rem}.choose-word-question{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-weight:600}.choose-word-question p{margin:0}.choose-word-hint{font-size:.9rem;font-weight:500;color:#fbbf24}.choose-word-hint.correct{color:#22c55e}.choose-word-hint.incorrect{color:#fbbf24}.choose-word-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem;padding-bottom:.25rem}.choose-word-choices .choice-button{border:1px solid rgba(148,163,184,.4);border-radius:.75rem;padding:.85rem;text-align:left;background:rgba(15,23,42,.6);transition:border-color .2s ease,transform .2s ease,background .2s ease}.choose-word-choices .choice-button:not(:disabled):hover{border-color:#38bdf8;transform:translateY(-1px)}.choose-word-choices .choice-button.choice-correct{border-color:#22c55e;background:rgba(34,197,94,.15)}.choose-word-choices .choice-button.choice-incorrect{border-color:#f87171;background:rgba(248,113,113,.15)}.choose-word-choices .choice-button.choice-muted{opacity:.7}.choice-primary{display:block;font-weight:600;font-size:1.1rem;color:#fff}.choice-secondary{display:block;font-size:.85rem;color:#e2e8f0cc}.choose-word-feedback{font-weight:600}.choose-word-feedback.correct{color:#22c55e}.choose-word-feedback.incorrect{color:#f87171}.choose-word-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding-bottom:.5rem}.choose-word-note{margin-top:.75rem;font-size:.9rem;color:#f87171e6}.audio-playlist-modal{width:80%;max-width:640px}.audio-playlist-session{display:flex;flex-direction:column;gap:1rem}.audio-playlist-text{text-align:center}.audio-playlist-primary{margin:0;font-size:1.1rem;font-weight:600;color:#f8fafc;white-space:normal;overflow-wrap:anywhere}.audio-playlist-translation{margin:.2rem 0 0;color:#94a3b8f2;white-space:normal;overflow-wrap:anywhere}.audio-playlist-start{margin-top:.6rem}.audio-playlist-tabs{margin-top:.75rem}.audio-playlist-cta-row{display:flex;flex-direction:column;align-items:flex-start}.audio-playlist-tabs button+button{border-left:1px solid rgba(148,163,184,.35)}@media (max-width: 640px){.audio-playlist-modal{max-width:100%}.audio-playlist-modal .modal-header,.audio-playlist-modal .modal-footer{margin-bottom:.6rem}.audio-playlist-modal{padding:.2rem}}.complete-sentence-view .card{margin-bottom:1.5rem}.complete-sentence-modal{width:100%;max-width:760px}.complete-sentence-session{display:flex;flex-direction:column;gap:1rem}.complete-sentence-prompt{font-size:1.2rem;font-weight:600;color:#f8fafcf2;padding:.5rem 0}.complete-sentence-hint{font-size:.9rem;color:#94a3b8f2;margin:-.5rem 0 .5rem}.complete-sentence-input{display:flex;flex-direction:column;gap:.35rem}.complete-sentence-input span{font-size:.85rem;color:#94a3b8d9}.complete-sentence-input input{border-radius:.75rem;border:1px solid rgba(148,163,184,.4);background:rgba(15,23,42,.65);padding:.75rem 1rem;color:#f8fafc;font-size:1rem}.complete-sentence-input input:disabled{opacity:.7}.complete-sentence-feedback{font-weight:600;font-size:.95rem}.complete-sentence-feedback.correct{color:#22c55e}.complete-sentence-feedback.incorrect{color:#fbbf24}.complete-sentence-feedback.revealed{color:#94a3b8f2}.complete-sentence-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.complete-sentence-action-group{display:flex;gap:.5rem}.summary-text-block{display:flex;flex-direction:column;gap:.15rem;min-width:0}.summary-subtext{font-size:.85rem;color:#94a3b8f2;white-space:normal;overflow:visible;text-overflow:clip}.matching-pairs-view .card{margin-bottom:1.5rem}.matching-pairs-modal{width:100%;max-width:860px}.matching-pairs-modal-title{display:flex;flex-wrap:wrap;gap:.35rem;align-items:baseline;font-size:clamp(1.1rem,2.2vw,1.5rem);margin:0;color:#f8fafc}.matching-pairs-modal-subtitle{font-size:.9rem;font-weight:500;color:#e2e8f0d9}.memory-game-modal{width:100%;max-width:720px;height:min(92vh,760px);overflow:hidden;display:flex;flex-direction:column;gap:.75rem}.memory-game-body,.memory-game-session{flex:1;min-height:0;display:flex;flex-direction:column;gap:.75rem}.memory-game-meta{display:flex;justify-content:space-between;color:#94a3b8d9;font-size:.9rem}.memory-game-counter{font-size:.9rem;font-weight:600;color:#e2e8f0e6}.memory-game-summary{display:flex;flex-direction:column;gap:.35rem}.memory-game-summary .build-phrase-summary-list{margin-top:.5rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.memory-game-summary .build-phrase-summary-list li{padding:.45rem .6rem;font-size:.85rem}.memory-game-summary .summary-play-button{width:1.6rem;height:1.6rem}.memory-game-summary .summary-status{font-size:.8rem}.memory-game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:0 auto;width:min(90vw,70vh);height:min(90vw,70vh);max-width:620px;max-height:620px;align-self:center;aspect-ratio:1 / 1}.memory-card{border-radius:.85rem;border:1px solid rgba(148,163,184,.35);background:rgba(15,23,42,.85);aspect-ratio:1 / 1;position:relative;overflow:hidden;padding:0;cursor:pointer}.memory-card:disabled{cursor:default;opacity:.85}.memory-card-front,.memory-card-back{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem}.memory-card-back{color:#e2e8f0b3}.memory-card-logo{width:2.5rem;height:2.5rem;border-radius:999px;border:1px solid rgba(148,163,184,.4);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;background:rgba(56,189,248,.15);color:#e2e8f0d9}.memory-card-image{width:100%;height:65%;display:flex;align-items:center;justify-content:center;padding:.4rem}.memory-card-image img{width:100%;height:100%;object-fit:contain}.memory-card-labels{text-align:center;padding:0 .4rem .4rem}.memory-card-headword{margin:0;font-weight:600;color:#f8fafc}.memory-card-gloss{margin:.15rem 0 0;font-size:.8rem;color:#94a3b8f2}@media (max-width: 640px){.memory-game-modal{height:90vh;gap:.6rem}.memory-game-body,.memory-game-session{gap:.6rem}.memory-game-summary .build-phrase-summary-list{grid-template-columns:1fr}.memory-game-grid{gap:.5rem}.memory-card-headword{font-size:.9rem}.memory-card-gloss{font-size:.7rem}}.matching-pairs-note{margin-top:.75rem;font-size:.9rem;color:#f87171e6}.matching-pairs-session{display:flex;flex-direction:column;gap:1rem}.matching-pairs-meta{display:flex;justify-content:space-between;font-size:.9rem;color:#94a3b8d9}.matching-pairs-instructions{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-weight:600}.matching-pairs-instructions p{margin:0}.matching-pairs-feedback{font-size:.95rem;font-weight:500;color:#fbbf24f2}.matching-pairs-feedback.correct{color:#22c55e}.matching-pairs-feedback.incorrect{color:#fbbf24}.matching-pairs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.matching-pairs-column{border:1px solid rgba(148,163,184,.35);border-radius:.85rem;padding:.85rem;background:rgba(15,23,42,.55);display:flex;flex-direction:column;gap:.75rem}.matching-pairs-column-header{display:flex;justify-content:space-between;align-items:center}.matching-pairs-column-header.align-right{justify-content:flex-end}.matching-pairs-column-header h3{margin:0;font-size:1rem;color:#e2e8f0f2}.matching-pairs-column-body{display:grid;gap:.65rem}.matching-pairs-card{border:1px solid rgba(148,163,184,.4);border-radius:.75rem;padding:.75rem;background:rgba(15,23,42,.7);text-align:left;transition:border-color .2s ease,transform .2s ease,background .2s ease;font-size:1.05rem;font-weight:600;color:#f8fafcf2}.matching-pairs-card:not(:disabled):hover{border-color:#38bdf8;transform:translateY(-1px)}.matching-pairs-card.selected{border-color:#38bdf8;box-shadow:0 0 12px #38bdf84d}.matching-pairs-card.head.playing{border-color:#38bdf8;box-shadow:0 0 14px #38bdf873}.matching-pairs-card.matched{border-color:#22c55e;background:rgba(34,197,94,.15);color:#f0fdf4}.matching-pairs-card:disabled{cursor:default}.matching-pairs-primary{display:block;line-height:1.3}.matching-pairs-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding-bottom:.5rem}.matching-pairs-summary{display:flex;flex-direction:column;gap:.75rem}.matching-pairs-summary-list{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:.75rem}.matching-pairs-summary-list li{display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(148,163,184,.4);border-radius:.75rem;padding:.6rem .9rem;font-size:.95rem}.matching-pairs-summary-list li.summary-success{border-color:#22c55e99;color:#22c55e}@media (max-width: 720px){.matching-pairs-grid{grid-template-columns:1fr}}.audio-icon-button{width:3.75rem;height:3.75rem;border-radius:999px;border:1px solid rgba(148,163,184,.45);background:radial-gradient(circle at 30% 30%,rgba(56,189,248,.25),rgba(30,41,59,.9));color:#38bdf8;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,border-color .2s ease,color .2s ease}.audio-icon-button svg{width:2rem;height:2rem}.audio-icon-button:not(:disabled):hover{transform:scale(1.03);border-color:#38bdf8;color:#7dd3fc}.audio-icon-button.playing{border-color:#22c55e;box-shadow:0 0 12px #22c55e80;color:#86efac}.audio-icon-button:disabled{opacity:.45;cursor:not-allowed}.audio-icon-label{font-size:.95rem;font-weight:600;color:#e2e8f0f2}.audio-speed-toggle{padding:.2rem .75rem;border-radius:999px;border:1px solid rgba(148,163,184,.45);background:rgba(15,23,42,.6);color:#e2e8f0d9;font-size:.85rem;transition:border-color .2s ease,color .2s ease,background .2s ease}.audio-speed-toggle.active{border-color:#fbbf24;color:#fbbf24;background:rgba(251,191,36,.15)}.audio-speed-toggle:not(.active):hover{border-color:#7dd3fc;color:#7dd3fc}.modal-message{display:flex;flex-direction:column;gap:.75rem}.build-phrase-view .card{margin-bottom:1rem;padding:1rem}.build-phrase-modal{width:100%;max-width:860px;padding:1.25rem}.build-phrase-title{display:flex;flex-direction:column;gap:.35rem}.build-phrase-title h2{margin:0}.build-phrase-modal-intro{margin:0;font-size:.95rem;color:#e2e8f0e6}.build-phrase-session{display:flex;flex-direction:column;gap:1rem}.build-phrase-meta-inline{margin:0;font-size:.9rem;color:#94a3b8d9;display:flex;gap:.5rem;flex-wrap:wrap;align-items:baseline}.build-phrase-audio{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;margin:.25rem 0 .75rem}.build-phrase-question{font-weight:600}.build-phrase-instructions{font-size:.95rem;color:#94a3b8e6}.phrase-bank,.phrase-builder{border:1px solid rgba(148,163,184,.4);border-radius:.75rem;padding:1rem;background:rgba(15,23,42,.6)}.phrase-bank+.phrase-builder{margin-top:1rem}.phrase-bank-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.75rem;font-weight:600;gap:1rem}.phrase-bank-title-row{display:flex;align-items:baseline;gap:.75rem;width:100%}.phrase-bank-hint{font-size:.9rem;font-weight:500;color:#f8fafcd9;margin:0 0 0 auto;text-align:right}.phrase-builder-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem;font-weight:600}.phrase-builder-actions{display:flex;align-items:center;gap:.75rem}.phrase-builder-hint{margin:0;font-size:.9rem;font-weight:500;color:#f8fafcd9}.phrase-token-grid,.phrase-builder-body{display:flex;flex-wrap:wrap;gap:.5rem}.phrase-token{border:1px solid rgba(148,163,184,.35);border-radius:999px;padding:.4rem .9rem;background:rgba(30,41,59,.8);color:#fff;cursor:pointer;transition:border-color .2s ease,background .2s ease}.phrase-token:hover{border-color:#38bdf8}.phrase-token.placed{border-color:#3b82f6cc;background:rgba(59,130,246,.2)}.phrase-builder-placeholder{color:#94a3b8d9;font-style:italic}.build-phrase-feedback{font-weight:600;margin-top:.75rem}.build-phrase-feedback.correct{color:#22c55e}.build-phrase-feedback.incorrect{color:#f87171}.build-phrase-translation{margin-top:.5rem;display:flex;gap:.5rem;align-items:center;font-size:.95rem}.build-phrase-translation span{color:#f8fafc}.build-phrase-actions{display:flex;flex-wrap:wrap;gap:.75rem}.phrase-builder-actions{display:flex;gap:.5rem}.build-phrase-summary-list{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:.75rem}.build-phrase-summary-list li{display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(148,163,184,.4);border-radius:.75rem;padding:.6rem .9rem;font-size:.95rem}.summary-left{display:flex;align-items:center;gap:.5rem;min-width:0}.summary-text{white-space:normal;overflow:visible;text-overflow:clip}.summary-play-button{width:2rem;height:2rem;border-radius:999px;border:1px solid rgba(148,163,184,.45);background:rgba(15,23,42,.7);color:#38bdf8;display:flex;align-items:center;justify-content:center;transition:border-color .2s ease,color .2s ease,background .2s ease}.summary-play-button:not(:disabled):hover{border-color:#7dd3fc;color:#7dd3fc;background:rgba(56,189,248,.15)}.summary-play-button.playing{border-color:#22c55e;color:#86efac;box-shadow:0 0 10px #22c55e80}.summary-play-button:disabled{opacity:.4;cursor:not-allowed}.summary-status{font-weight:600}.build-phrase-summary-list li.summary-success{border-color:#22c55e99;color:#22c55e}.build-phrase-summary-list li.summary-pending{border-color:#fbbf2499;color:#fbbf24}.build-phrase-view .card-grid.two-column{gap:1rem}
