:root{--bg-color:#fff;--text-color:#000;--link-hover-color:#000;--keyword-bg:#ff06;--keyword-bg-hover:#ff0c;--text-muted:#888;--select-arrow:"%23000000";--error-color:#c00;--skeleton-bg:#e0e0e0;--ui-surface:#faf9f7;--ui-surface-elevated:#fff;--ui-border:#e5e7eb;--ui-border-soft:#f3f4f6;--ui-accent:#fabea0;--ui-accent-hover:#e5ab8e;--ui-accent-soft:#f9ece0;--ui-text-strong:#1f2937;--ui-text:#374151;--ui-text-muted:#6b7280;--ui-text-subtle:#9ca3af;--color-success:#10b981;--color-error-text:#ef4444;--color-warning:#f59e0b;--color-primary:#3b82f6}html.dark-theme{--bg-color:#121212;--text-color:#e0e0e0;--link-hover-color:#e0e0e0;--keyword-bg:#ff03;--keyword-bg-hover:#ff06;--text-muted:#aaa;--select-arrow:"%23e0e0e0";--error-color:#ff6b6b;--skeleton-bg:#333;--ui-surface:#1f1f1f;--ui-surface-elevated:#262626;--ui-border:#3a3a3a;--ui-border-soft:#2e2e2e;--ui-accent:#d89b7f;--ui-accent-hover:#e5ab8e;--ui-accent-soft:#3b312c;--ui-text-strong:#f3f4f6;--ui-text:#e0e0e0;--ui-text-muted:#aaa;--ui-text-subtle:#8b8b8b;--color-success:#10b981;--color-error-text:#ff6b6b;--color-warning:#f59e0b;--color-primary:#60a5fa}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.blinking-cursor{animation:1s step-end infinite blink}.animate-spin{animation:1s linear infinite spin}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}body{background-color:var(--bg-color);color:var(--text-color);margin:0;padding:0;font-family:Kosugi,sans-serif;font-size:1.1rem}html,body,#root{min-height:100%}body.modal-open,body.modal-open .app-container>.main-content,body.modal-open main,body.modal-open .course-main-panel{overflow:hidden!important}@media (width<=600px){body.modal-open .app-container{width:100%;position:fixed;overflow:hidden!important}}html,*{scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--text-muted);background-clip:content-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--text-color)}input,select,textarea,button{font-family:inherit}#root{width:100%;height:100%;margin:auto}h1,h2,h3,h4,h5,h6{margin:0;font-size:1em;font-weight:400}h1.main-heading{color:var(--text-color);margin:0;font-size:2em;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.app-container{box-sizing:border-box;flex-direction:column;width:100%;max-width:1550px;height:100dvh;min-height:0;margin:0 auto;padding:0 1rem;display:flex;overflow:hidden}main{flex:1;align-items:flex-start;gap:2rem;min-height:0;display:flex;overflow-y:auto}.main-content{box-sizing:border-box;flex-grow:1;width:100%;min-width:0;padding-bottom:1rem}.course-sidebar{flex-shrink:0;width:20rem;max-height:100%;padding-right:.5rem;overflow-y:auto}.interactive-word{color:var(--text-color);text-decoration:none;transition:color .2s ease-in-out,background-color .2s ease-in-out}.interactive-word:hover{color:var(--link-hover-color)}.btn-hover-highlight{transition:background-color .2s}.btn-hover-highlight:hover{background-color:var(--keyword-bg)!important}.btn-continue{transition:background-color .2s}.btn-continue:hover{background-color:var(--keyword-bg-hover)!important}.btn-hover-highlight:disabled:hover,.btn-continue:disabled:hover{background-color:#0000!important}.highlighted-keyword{background-color:var(--keyword-bg);border-radius:2px;padding:0 2px;font-weight:700}.highlighted-keyword:hover{background-color:var(--keyword-bg-hover)}.read-along-block{border-radius:6px;margin:-2px -4px;padding:2px 4px;transition:background-color .3s}.read-along-active{background-color:#3b82f614;transition:background-color .3s}h3.read-along-active{border-radius:4px;margin-left:-4px;margin-right:-4px;padding:2px 4px}.settings-input{width:100%;font:inherit;color:var(--text-color);border:1px solid var(--skeleton-bg);box-sizing:border-box;background-color:#0000;border-radius:8px;outline:none;padding:.7rem .8rem;font-size:.95em;transition:border-color .2s;display:block}.settings-input:focus{border-color:var(--text-color)}.settings-input::placeholder{color:var(--text-muted);opacity:.7}.settings-select{width:100%;font:inherit;color:var(--text-color);border:1px solid var(--skeleton-bg);box-sizing:border-box;cursor:pointer;appearance:none;background-color:#0000;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-position:right .8rem center;background-repeat:no-repeat;background-size:.65em;border-radius:8px;outline:none;padding:.7rem 2rem .7rem .8rem;font-size:.95em;transition:border-color .2s;display:block}.settings-select:focus{border-color:var(--text-color)}html.dark-theme .settings-select{background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23e0e0e0%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E)}html.dark-theme .settings-select option{color:#e0e0e0;background-color:#2a2a2a}.btn-primary{background-color:var(--text-color);color:var(--bg-color);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1.5rem;font-size:.95em;text-decoration:none;display:inline-flex}.btn-primary:disabled{cursor:not-allowed;opacity:.7}.btn-secondary{border:1px solid var(--skeleton-bg);color:var(--text-color);cursor:pointer;background-color:#0000;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1.5rem;font-size:.95em;text-decoration:none;display:inline-flex}.btn-danger{background-color:var(--color-error-text);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1.5rem;font-size:.95em;display:inline-flex}.btn-danger:disabled{cursor:not-allowed;opacity:.7}.btn-danger-outline{color:var(--color-error-text);cursor:pointer;background-color:#ef44441a;border:1px solid #ef44444d;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1.5rem;font-size:.95em;display:inline-flex}.btn-danger-outline:disabled{cursor:not-allowed;opacity:.7}.close-icon{background-color:var(--ui-surface);border:1px solid var(--ui-border);width:2.75rem;height:2.75rem;color:var(--ui-text-strong);z-index:10;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:1rem;right:1rem}.close-icon:hover{background-color:var(--ui-border-soft);border-color:var(--ui-text-subtle)}.loading-container{justify-content:center;align-items:center;width:100%;min-height:400px;display:flex}.loading-text{color:var(--text-muted);font-size:1.2rem}.empty-state{text-align:center;color:var(--text-muted);padding:3rem 1rem}.action-row{flex-wrap:wrap;gap:.75rem;display:flex}.page-header{flex-direction:column;flex-shrink:0;width:100%;margin-bottom:1rem;line-height:1.5;display:flex}.page-header.page-header-with-actions{flex-flow:wrap;justify-content:space-between;align-items:center;gap:1rem}@media (width<=600px){.page-header.page-header-with-actions{align-items:stretch}}.language-pill{background-color:var(--ui-surface);border:1px solid var(--ui-accent-soft);cursor:pointer;border-radius:100px;justify-content:center;align-items:center;gap:.75rem;min-width:0;padding:.75rem 1.25rem;text-decoration:none;transition:all .2s;display:flex}.language-pill:hover{background-color:var(--ui-surface-elevated);border-color:var(--ui-accent);transform:translateY(-2px);box-shadow:0 4px 6px -1px #fabea033}.language-pill.small{cursor:default;gap:.4rem;padding:0 .6rem}.language-pill.small:hover{background-color:var(--ui-surface);border-color:var(--ui-accent-soft);box-shadow:none;transform:none}.language-flag{justify-content:center;align-items:center;font-size:1.4rem;display:flex;transform:translateY(-.12em)}.language-pill.small .language-flag{font-size:1.1rem;transform:translateY(-.09em)}.language-name{color:var(--ui-text);white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:500;overflow:hidden}.language-pill.small .language-name{font-size:.75rem}.footer-text{color:var(--text-muted);font-size:.9em}.footer-text a{color:inherit;text-decoration:none;transition:color .2s ease-in-out}.footer-text a:hover{color:var(--link-hover-color);text-decoration:underline}.sticky-footer{text-align:center;background-color:var(--bg-color);border-top:1px solid var(--skeleton-bg);flex-shrink:0;margin-top:auto;padding:1.5rem 0}@media (width<=600px){.sticky-footer{border-top:none}}.ascii-art{text-align:left;white-space:pre;color:var(--text-muted);margin:2rem 0;font-family:monospace;font-size:.8em;line-height:1.1}@media (width<=600px){.header{display:none}h1.main-heading{font-size:1.5em;line-height:1.2}main{flex-direction:column;align-items:stretch}.course-sidebar{border:none;width:100%;max-height:none;margin:0;padding-right:0;display:none;position:static}.show-sidebar-mobile .course-sidebar{display:block}.show-sidebar-mobile .main-content{display:none}.main-content{max-width:none;padding-bottom:1.25rem}.app-container{height:auto;min-height:100%;padding:1rem .5rem;overflow:visible;padding-bottom:calc(50px + env(safe-area-inset-bottom))!important}.page-header{margin-bottom:1rem}}.course-layout{overflow:hidden}.course-sidebar{min-height:0;max-height:100%;overflow-y:auto}.course-main-panel{height:100%;min-height:0;overflow-y:auto}@media (width<=600px){.course-layout{overflow:visible}.course-sidebar{min-height:auto;max-height:none;overflow-y:visible}.course-main-panel{height:auto;min-height:auto;overflow-y:visible}}.header{background-color:var(--bg-color);border-bottom:1px solid var(--skeleton-bg);z-index:1100;flex-shrink:0;align-items:center;gap:1.5rem;margin-bottom:1.25rem;padding:1rem 0;display:flex;position:sticky;top:0}.title-container{flex:1;align-items:center;gap:1.5rem;display:flex}.main-title{letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;color:var(--text-color);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:0;font-size:1.2rem;font-weight:500;text-decoration:none;display:flex}.main-title img{width:24px;height:24px;display:block}.main-title-btn{background:var(--keyword-bg);border:1px solid var(--skeleton-bg);border-radius:20px;padding:6px 12px;font-size:.8em;font-weight:700}.mobile-toggle-btn{text-transform:uppercase;letter-spacing:.05em;cursor:pointer;color:var(--text-color);align-items:center;gap:8px;display:none}.controls-label{color:var(--text-muted);margin-left:auto;font-size:.9em}.header-nav{align-items:center;gap:1rem;margin-left:auto;display:flex}.header-nav-btn,.btn-primary{color:var(--text-color);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:background-color .2s;display:flex}.header-nav-btn.active{background-color:var(--keyword-bg)}@media (width<=600px){.header{display:none}.header-nav{display:none!important}.title-container{justify-content:space-between;align-items:center;width:100%;display:flex}.main-title{text-align:left;width:auto;margin-bottom:0;font-size:1.2em}.mobile-toggle-btn{align-self:center;display:flex}.controls-label{text-align:center;align-self:flex-start;width:100%;margin-left:0}}.mobile-bottom-nav{background-color:var(--bg-color);border-top:1px solid var(--skeleton-bg);z-index:1000;padding-bottom:env(safe-area-inset-bottom);display:none;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav-inner{justify-content:space-around;align-items:center;height:60px;display:flex}.mobile-bottom-nav-btn{height:100%;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1 0;justify-content:center;align-items:center;gap:4px;font-size:.7rem;transition:color .2s;display:flex}.mobile-bottom-nav-btn.active{color:var(--text-color)}@media (width<=600px){.mobile-bottom-nav{display:block}}.confirm-dialog{border:1px solid var(--ui-border);background-color:var(--ui-surface-elevated);color:var(--text-color);box-sizing:border-box;border-radius:18px;width:440px;max-width:calc(100vw - 2rem);padding:1.5rem;overflow:hidden;box-shadow:0 24px 80px #0000002e}@media (width<=600px){.confirm-dialog{padding:1.25rem}}.confirm-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:#0f172a73}html.dark-theme .confirm-dialog::backdrop{background-color:#000000b3}.confirm-dialog:not([open]){display:none}.confirm-dialog-inner{flex-direction:column;gap:1.5rem;display:flex}.confirm-dialog-header{align-items:center;gap:1rem;display:flex}.confirm-dialog-icon-bg{background-color:var(--ui-accent-soft);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;display:flex}.confirm-dialog-title{color:var(--ui-text-strong);margin:0;font-size:1.15em;font-weight:700}.confirm-dialog-message{color:var(--ui-text);margin:0;font-size:.95rem;line-height:1.6}.confirm-dialog-actions{gap:.75rem;margin-top:.5rem;display:flex}.confirm-dialog-btn-cancel,.confirm-dialog-btn-confirm{border-radius:12px;flex:1;justify-content:center;align-items:center;padding:.85rem 1rem;font-size:.95em;font-weight:600;transition:all .2s;display:inline-flex}.confirm-dialog-btn-cancel{border:1px solid var(--ui-border);background-color:var(--ui-surface);color:var(--ui-text)}.confirm-dialog-btn-cancel:hover{background-color:var(--ui-border-soft);border-color:var(--ui-text-subtle);filter:brightness(.92)}.confirm-dialog-btn-confirm{border:1px solid var(--ui-accent);background-color:var(--ui-accent-soft);color:var(--ui-text-strong)}.confirm-dialog-btn-confirm:hover{background-color:var(--ui-accent);color:var(--ui-text-strong);filter:brightness(.92)}.admin-main-content{flex-direction:column;width:100%;margin:0 auto;padding-bottom:1rem;display:flex}.admin-heading{margin-bottom:1rem}.admin-toast{border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:1rem;display:flex}.admin-toast-success{color:var(--color-success);border:1px solid var(--color-success);background-color:#10b9811a}.admin-toast-error{color:var(--color-error-text);border:1px solid var(--color-error-text);background-color:#ef44441a}.admin-sections{flex-direction:column;gap:2rem;display:flex}.admin-section{border:1px solid var(--skeleton-bg);background-color:var(--bg-color);border-radius:12px;padding:1.5rem}.admin-section-blue{border:1px solid var(--color-primary);background-color:#3b82f60d;border-radius:12px;padding:1.5rem}.admin-section-green{border:1px solid var(--color-success);background-color:#10b9810d;border-radius:12px;padding:1.5rem}.admin-section-heading-row{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.admin-section-title{margin:0;font-size:1.2rem}.admin-section-title-with-icon{align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:1.2rem;display:flex}.admin-section-desc{color:var(--text-muted);margin-bottom:1rem;font-size:.9em}.admin-section-desc-large{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9em}.admin-badge{color:var(--color-success);background-color:#10b98126;border-radius:12px;padding:.2rem .6rem;font-size:.8em;font-weight:600}.admin-card-list{flex-direction:column;gap:.75rem;display:flex}.admin-card{background-color:var(--bg-color);border:1px solid var(--skeleton-bg);border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.admin-card-title{font-weight:600}.admin-card-title-with-icon{align-items:center;gap:.5rem;font-weight:600;display:flex}.admin-card-meta{color:var(--text-muted);font-size:.85em}.admin-card-meta-spaced{color:var(--text-muted);margin-top:.2rem;font-size:.85em}.admin-card-actions{align-items:center;gap:.75rem;display:flex}.admin-btn-blue{background-color:var(--color-primary);color:#fff;border-radius:10px;align-items:center;gap:.4rem;padding:.7rem 1.5rem;font-size:.95em;text-decoration:none;display:flex}.admin-btn-dark{background-color:var(--text-color);color:var(--bg-color);border-radius:10px;align-items:center;gap:.4rem;padding:.7rem 1.5rem;font-size:.95em;text-decoration:none;display:flex}.admin-btn-warning{color:#fff;cursor:pointer;background-color:#f59e0b;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1.5rem;font-size:.95em;font-weight:600;display:flex}.admin-btn-warning:disabled{opacity:.6;cursor:not-allowed}.admin-error-text{color:var(--color-error-text);margin-top:1rem;font-size:.9rem}.admin-results-box{border-radius:8px;margin-top:1.5rem;padding:1rem}.admin-results-box-success{border:1px solid var(--color-success);background-color:#10b9810d}.admin-results-box-error{border:1px solid var(--color-error-text);background-color:#ef44440d}.admin-result-success{color:var(--color-success);align-items:center;gap:.5rem;font-weight:600;display:flex}.admin-result-sections{flex-direction:column;gap:1.5rem;display:flex}.admin-result-heading{color:var(--color-error-text);align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:600;display:flex}.admin-result-note{color:var(--text-muted);margin-top:-.5rem;margin-bottom:.5rem;padding-left:2rem;font-size:.85em}.admin-course-result{background-color:var(--bg-color);border:1px solid #ef444433;border-radius:8px;padding:1rem}.admin-course-result-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.admin-course-result-title{color:var(--color-error-text);align-items:center;gap:.4rem;font-weight:600;display:flex}.admin-asset-list{color:var(--text-color);flex-direction:column;gap:.75rem;max-height:400px;margin:0;padding-left:1.25rem;font-size:.85em;display:flex;overflow-y:auto}.admin-asset-item{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.5rem;display:flex}.admin-asset-item-body{flex:1;min-width:0}.admin-asset-context{opacity:.7;margin-left:.5rem}.admin-asset-dead-url{color:var(--color-error-text);text-overflow:ellipsis;margin-top:.2rem;font-size:.9em;overflow:hidden}.admin-fix-btn{color:#fff;border:none;border-radius:4px;align-items:center;gap:.4rem;padding:.3rem .6rem;font-size:.8em;font-weight:600;display:flex}.admin-fix-btn-active{background-color:var(--color-success);cursor:pointer}.admin-fix-btn-done{cursor:default;opacity:.7;background-color:#6b7280}.admin-fix-btn-stop{background-color:var(--color-error-text,#ef4444);cursor:pointer}.admin-delete-row{flex-wrap:wrap;gap:1rem;display:flex}.admin-delete-select{flex:1;min-width:200px}.action-form-wrapper{width:100%}.action-form{flex-direction:column;gap:.5rem;width:100%;display:flex}.action-form-label{color:var(--text-muted);font-size:.95em}.action-form-input-row{gap:.5rem;width:100%;display:flex;position:relative}.action-form-input{border:1px solid var(--skeleton-bg);background-color:var(--bg-color);color:var(--text-color);border-radius:12px;outline:none;flex:1;padding:1rem 1.25rem;font-size:1em;transition:border-color .2s,box-shadow .2s}.action-form-input-overlay{padding:1rem 4rem 1rem 1.25rem}.action-form-btn-inline{background-color:var(--text-color);color:var(--bg-color);cursor:pointer;white-space:nowrap;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.4rem;padding:1rem 2rem;font-size:1em;font-weight:600;transition:opacity .2s;display:flex}.action-form-btn-inline:disabled{cursor:not-allowed;opacity:.7}.action-form-btn-overlay{cursor:pointer;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.action-form-btn-overlay:disabled{cursor:not-allowed;opacity:.7}.action-form-helper{color:var(--text-muted);font-size:.8em}.search-container{flex-direction:column;width:100%;margin-top:0;display:flex}.main-content.has-history .search-container{margin-top:4rem}@media (width<=600px){.main-content.has-history .search-container{margin-top:0}}.search-form{width:100%;margin-bottom:2rem}.search-input{width:100%;color:inherit;border:none;border-bottom:1px solid var(--skeleton-bg);box-sizing:border-box;background-color:#0000;border-radius:0;outline:none;padding:1rem;font-size:1.1rem;transition:border-color .3s;display:block}.search-input:focus{border-bottom-color:var(--text-color)}.search-input:disabled{color:var(--text-muted);cursor:not-allowed}.search-input::placeholder{color:var(--text-muted);opacity:.7}.suggestions-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-top:1rem;animation:.5s fadeIn;display:grid}@media (width<=600px){.search-input{padding:.8rem;font-size:1rem}.suggestions-grid{grid-template-columns:1fr}.search-container{margin-top:0}}.search-error{color:var(--error-color);margin-bottom:1rem;font-size:.9rem}.search-suggestion-btn{cursor:pointer;border:1px solid var(--skeleton-bg);background-color:var(--bg-color);border-radius:8px;padding:.75rem;transition:all .2s;position:relative}.search-suggestion-btn:hover:not(:disabled){background-color:var(--keyword-bg)}.search-suggestion-btn-dimmed{opacity:.6}.search-suggestion-inner{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.search-suggestion-text{text-align:left}.search-suggestion-title{margin-bottom:.25rem;font-weight:700}.search-suggestion-subtitle{color:var(--text-muted);font-size:.9em}.search-spinner-icon{flex-shrink:0}.language-controls-grid{flex-wrap:wrap;align-items:flex-end;gap:1rem;width:100%;display:flex}.language-controls-grid>.language-control-lesson{flex:none;min-width:120px}.language-controls-grid>.language-control-lesson:first-child{flex:1;min-width:200px}.language-control-lesson{flex-direction:column;gap:.3rem;display:flex}.language-control-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7em;font-weight:600}.translation-controls{gap:1rem;display:flex}.translation-controls select,.language-control-lesson select{font:inherit;color:inherit;box-sizing:border-box;cursor:pointer;appearance:none;background-color:#0000;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-position:right .2rem center;background-repeat:no-repeat;background-size:.65em;border:none;border-bottom:1px solid #0000;outline:none;flex-grow:1;padding:.5rem 1.5rem .5rem .2rem}html.dark-theme .translation-controls select,html.dark-theme .language-control-lesson select{background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23e0e0e0%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E)}html.dark-theme .translation-controls select option,html.dark-theme .language-control-lesson select option{color:#e0e0e0;background-color:#2a2a2a}html.dark-theme .translation-controls select option:hover,html.dark-theme .translation-controls select option:checked,html.dark-theme .language-control-lesson select option:hover,html.dark-theme .language-control-lesson select option:checked{background-color:#3a3a3a}.translation-controls select:disabled,.language-control-lesson select:disabled{color:#ccc;cursor:not-allowed;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23cccccc%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E)}@media (width<=600px){.language-controls-grid{flex-direction:column}.language-controls-grid>.language-control-lesson,.language-controls-grid>.language-control-lesson:first-child{flex:auto;width:100%;min-width:0}.translation-controls{justify-content:space-between;width:100%}.translation-controls select{flex:1}}.lang-controls-full-width{grid-column:1/-1}.lang-controls-chip-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.lang-controls-chip{background-color:var(--skeleton-bg);color:var(--text-color);border-radius:999px;align-items:center;gap:.3rem;padding:.35rem .8rem;font-size:.9em;display:inline-flex}.lang-controls-chip-remove-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;padding:0 0 0 .2rem;display:inline-flex}.lang-controls-dropdown-wrapper{position:relative}.lang-controls-add-btn{border:1px dashed var(--text-muted);color:var(--text-muted);cursor:pointer;background-color:#0000;border-radius:999px;align-items:center;gap:.3rem;padding:.35rem .8rem;font-size:.9em;display:inline-flex}.lang-controls-dropdown{z-index:1000;background-color:var(--bg-color);border:1px solid var(--skeleton-bg);border-radius:8px;width:180px;max-height:200px;margin-top:.25rem;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.lang-controls-dropdown-item{cursor:pointer;color:var(--text-color);padding:.5rem .75rem;font-size:.9em}.lang-controls-dropdown-item:hover{background-color:var(--skeleton-bg)}.curriculum-dialog{border:1px solid var(--skeleton-bg);background-color:var(--bg-color);color:var(--text-color);border-radius:16px;width:90%;max-width:1000px;padding:0;overflow:hidden;box-shadow:0 20px 50px #0003}.curriculum-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#0006}html.dark-theme .curriculum-dialog::backdrop{background-color:#000000b3}.curriculum-dialog:not([open]){display:none}.curriculum-dialog-inner{flex-direction:column;height:100%;max-height:85vh;display:flex}.curriculum-dialog-header{background-color:var(--keyword-bg);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.curriculum-dialog-header-left{align-items:center;gap:.75rem;display:flex}.curriculum-dialog-header-title{margin:0;font-size:1.25rem;font-weight:700}.curriculum-dialog-close-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;display:flex}.curriculum-dialog-content{box-sizing:border-box;flex-direction:column;flex:1;padding:1.5rem;display:flex;overflow:hidden}.curriculum-dialog-title-section{margin-bottom:1.5rem}.curriculum-dialog-field-label{color:var(--text-muted);text-transform:uppercase;margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.curriculum-dialog-title-box{box-sizing:border-box;border:1px solid var(--skeleton-bg);background-color:var(--bg-color);width:100%;color:var(--text-color);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.75rem;font-size:1.1rem;font-weight:600;display:flex}.curriculum-dialog-title-translated{color:var(--text-muted);font-size:.9em;font-weight:500}.curriculum-dialog-list-container{flex-direction:column;flex:1;display:flex;overflow:hidden}.curriculum-dialog-lesson-list{flex-direction:column;gap:.75rem;padding-right:4px;display:flex;overflow-y:auto}.curriculum-dialog-lesson-row{background-color:var(--skeleton-bg);border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:.75rem;padding:10px 12px;transition:border-color .2s;display:flex}.curriculum-dialog-lesson-number{background-color:var(--text-color);width:24px;height:24px;color:var(--bg-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.curriculum-dialog-lesson-body{flex:1;min-width:0}.curriculum-dialog-lesson-title{color:var(--text-color);cursor:pointer;align-items:center;gap:.3rem;font-size:.95rem;font-weight:500;display:flex}.curriculum-dialog-lesson-translated{color:var(--text-muted);margin-left:.5rem;font-weight:400}.curriculum-dialog-lesson-desc{color:var(--text-muted);margin-top:.2rem;font-size:.82rem}.curriculum-dialog-expanded-details{margin-top:.5rem}.curriculum-dialog-detail-section{margin-bottom:.4rem}.curriculum-dialog-detail-label{color:var(--text-muted);text-transform:uppercase;margin-bottom:.2rem;font-size:.75rem;font-weight:600}.curriculum-dialog-detail-list{color:var(--text-muted);margin:0;padding-left:1.2rem;font-size:.82rem}.curriculum-dialog-detail-list-item{margin-bottom:.15rem}.curriculum-dialog-keyword-icon{vertical-align:middle;margin-right:.2rem;display:inline}.curriculum-dialog-keyword-tags{flex-wrap:wrap;gap:.3rem;display:flex}.curriculum-dialog-keyword-tag{background-color:var(--keyword-bg);border:1px solid var(--skeleton-bg);color:var(--text-color);border-radius:6px;padding:1px 8px;font-size:.78rem}.curriculum-dialog-remove-btn{color:var(--text-muted);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:.35rem;display:flex}.curriculum-dialog-footer{gap:1rem;padding:1.5rem;display:flex}.curriculum-dialog-cancel-btn{color:var(--text-color);border:1px solid var(--skeleton-bg);cursor:pointer;background-color:#0000;border-radius:10px;flex:1;padding:.85rem;font-size:.95rem;font-weight:600}.curriculum-dialog-confirm-btn{background-color:var(--text-color);color:var(--bg-color);cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.85rem;font-size:.95rem;font-weight:700;display:flex}.cost-dialog-overlay{z-index:9999;background-color:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.cost-dialog-modal{background-color:var(--bg-color);border:1px solid var(--skeleton-bg);border-radius:16px;width:100%;max-width:700px;padding:2rem;box-shadow:0 8px 32px #0003}.cost-dialog-heading{color:var(--text-color);align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.3em;display:flex}.cost-dialog-options-panel{background-color:var(--skeleton-bg);border-radius:8px;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.cost-dialog-option-label{color:var(--text-color);align-items:center;gap:.5rem;font-weight:600;display:flex}.cost-dialog-sub-options{margin-top:.5rem;margin-left:1.8rem}.cost-dialog-sub-label{color:var(--text-muted);margin-bottom:.2rem;font-size:.85em;display:block}.cost-dialog-preview-link{color:var(--text-muted);align-items:center;gap:.25rem;margin-left:.5rem;font-size:.85em;display:inline-flex}.cost-dialog-select-override{background-color:var(--bg-color);border:1px solid var(--skeleton-bg)}.cost-dialog-cost-lines{flex-direction:column;gap:.6rem;margin-bottom:1rem;display:flex}.cost-dialog-cost-line{color:var(--text-color);font-size:.95em}.cost-dialog-total-box{background-color:var(--skeleton-bg);border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.cost-dialog-total-line{color:var(--text-color);margin-bottom:.25rem;font-size:1.1em;font-weight:600}.cost-dialog-time-line{color:var(--text-muted);align-items:center;gap:.3rem;font-size:.9em;display:flex}.cost-dialog-note{color:var(--text-muted);justify-content:flex-start;align-items:center;gap:.4rem;margin-bottom:1.5rem;font-size:.85em;display:flex}.cost-dialog-note-icon{flex-shrink:0;margin-top:.1rem}.cost-dialog-actions{gap:.75rem;display:flex}.cost-dialog-cancel-btn{border:1px solid var(--skeleton-bg);color:var(--text-color);cursor:pointer;background-color:#0000;border-radius:10px;flex:1;padding:.7rem 1.5rem;font-size:.95em}.cost-dialog-confirm-btn{background-color:var(--text-color);color:var(--bg-color);cursor:pointer;border:none;border-radius:10px;flex:1;padding:.7rem 1.5rem;font-size:.95em;font-weight:600}.new-course-content{box-sizing:border-box;flex-direction:column;align-items:center;width:100%;max-width:1000px;margin:0 auto;display:flex;overflow-x:hidden}.new-course-input-row{gap:.5rem;width:100%;display:flex}.new-course-heading{text-align:center;margin-top:1rem;margin-bottom:1rem}.new-course-subtitle{color:var(--text-muted);text-align:center;margin-bottom:2rem}.new-course-controls-section{width:100%;margin-bottom:2.5rem}.new-course-error-banner{color:var(--color-error-text);background-color:#ef44441a;border:1px solid #ef444433;border-radius:.5rem;margin-bottom:1rem;padding:1rem}.new-course-forms-column{flex-direction:column;gap:1rem;width:100%;display:flex}.new-course-tabs{flex-wrap:wrap;gap:.75rem;width:100%;display:flex}.new-course-tab{appearance:none;border:1px solid var(--border-color,var(--skeleton-bg));background:var(--card-bg,transparent);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.7rem 1rem;font-size:.95rem;font-weight:600;transition:background-color .2s,color .2s,border-color .2s,transform .2s}.new-course-tab:hover{color:var(--text-color);border-color:var(--text-color)}.new-course-tab-active{background:var(--text-color);color:var(--bg-color,#fff);border-color:var(--text-color)}.new-course-tab-active:hover{color:var(--bg-color,#fff);border-color:var(--text-color)}.new-course-tab-panel{border:1px solid var(--border-color,var(--skeleton-bg));box-sizing:border-box;border-radius:1rem;width:100%;padding:1.25rem}.new-course-url-tab-content{flex-direction:column;gap:1rem;display:flex}.new-course-file-tab-content{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}.new-course-file-row{align-items:stretch;gap:.5rem;width:100%;display:flex}.new-course-file-upload-header{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.new-course-file-upload-label{color:var(--text-color);align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.new-course-file-upload-help{color:var(--text-muted);text-align:left;font-size:.92rem}.new-course-file-picker{border:1px dashed var(--border-color,var(--skeleton-bg));background:var(--card-bg,transparent);cursor:pointer;box-sizing:border-box;text-align:left;border-radius:.875rem;flex:1;padding:1rem}.new-course-file-picker-active{border-color:var(--text-color);background:#00000008}.new-course-file-picker-has-file{border-style:solid}.new-course-file-picker input{width:100%;margin-bottom:.75rem;display:block}.new-course-file-picker span{color:var(--text-muted);word-break:break-word}.new-course-file-actions{align-items:center;gap:.5rem;display:flex}.new-course-file-action-btn{background-color:var(--text-color);color:var(--bg-color);cursor:pointer;white-space:nowrap;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.4rem;min-width:200px;padding:1rem 2rem;font-size:1em;font-weight:600;transition:opacity .2s;display:flex}.new-course-file-action-btn:disabled{cursor:not-allowed;opacity:.7}.new-course-file-remove{background-color:var(--card-bg,transparent);color:var(--text-color);border:1px solid var(--skeleton-bg);min-width:200px}.new-course-file-submit{min-width:200px}.new-course-transcript-preview{border:1px solid var(--border-color,var(--skeleton-bg));background:var(--card-bg,transparent);text-align:left;border-radius:.875rem;padding:1rem}.new-course-transcript-heading{color:var(--text-color);margin-bottom:.5rem;font-size:.9rem;font-weight:600}.new-course-transcript-body{color:var(--text-muted);white-space:pre-wrap;word-break:break-word;max-height:16rem;font-size:.92rem;line-height:1.5;overflow-y:auto}@media (width<=600px){.new-course-input-row{flex-direction:column}.new-course-input-row input{box-sizing:border-box;width:100%!important}.new-course-input-row button{width:100%}.new-course-tabs{flex-direction:column;gap:.5rem}.new-course-tab{width:100%}.new-course-tab-panel{padding:1rem}.new-course-file-row{flex-direction:column}.new-course-file-actions,.new-course-file-submit,.new-course-file-remove{width:100%}}.course-creation-outer-wrapper{flex:1;justify-content:center;min-height:0;display:flex}.course-creation-container{text-align:center;flex-direction:column;width:100%;max-width:750px;padding:1.5rem;display:flex;overflow-y:auto}.course-creation-header{margin-bottom:2rem}.course-creation-title{white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin:0 0 .5rem;overflow:hidden}.course-creation-subtitle{color:var(--text-muted);margin:0;font-size:.95em}.course-creation-progress-section{margin-bottom:1.5rem}.course-creation-progress-track{background-color:var(--skeleton-bg);border-radius:999px;height:10px;margin-bottom:.5rem;overflow:hidden}.course-creation-progress-fill{border-radius:999px;height:100%;transition:width .5s}.course-creation-progress-fill-active{background-color:var(--text-color)}.course-creation-progress-fill-success{background-color:var(--color-success)}.course-creation-progress-fill-error{background-color:var(--color-error-text)}.course-creation-progress-meta{color:var(--text-muted);justify-content:space-between;font-size:.85em;display:flex}.course-creation-status-section{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9em}.course-creation-elapsed-row{justify-content:center;align-items:center;gap:.4rem;margin-bottom:.5rem;display:flex}.course-creation-current-step{color:var(--text-color);font-size:.95em}.course-creation-lesson-panel{text-align:left;border:1px solid var(--skeleton-bg);border-radius:12px;flex:1;min-height:20rem;margin-bottom:1.5rem;padding:1.25rem;overflow-y:auto}.course-creation-lesson-panel-title{color:var(--text-muted);margin:0 0 .75rem;font-size:.9em;font-weight:600}.course-creation-lesson-list{flex-direction:column;gap:.6rem;display:flex}.course-creation-lesson-item{font-size:.85em}.course-creation-lesson-item-title{align-items:center;gap:.3rem;margin-bottom:.2rem;font-weight:600;display:flex}.course-creation-lesson-item-title-failed{color:var(--color-error-text)}.course-creation-lesson-item-title-done{color:var(--color-success)}.course-creation-lesson-item-title-default{color:var(--text-color)}.course-creation-status-row{color:var(--text-muted);flex-wrap:wrap;gap:.75rem;padding-left:.25rem;font-size:.85em;display:flex}.course-creation-status-group{align-items:center;gap:.2rem;display:flex}.course-creation-spinner-inline{vertical-align:middle;justify-content:center;align-items:center;width:11px;height:11px;display:inline-flex}.course-creation-spinner-icon{display:block}.course-creation-error-box{text-align:left;color:var(--color-error-text);background-color:#ef44441a;border:1px solid #ef444433;border-radius:8px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.85em}.course-creation-error-box-heading{align-items:center;gap:.3rem;margin-bottom:.3rem;font-weight:600;display:flex}.course-creation-error-line{margin-top:.2rem}.course-creation-failed-step-box{text-align:center;color:var(--text-color);background-color:#ef444414;border:1px solid #ef444426;border-radius:8px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9em}.course-creation-failed-step-meta{color:var(--text-muted);margin-top:.25rem;font-size:.85em}.course-creation-bg-note{color:var(--text-muted);margin-top:1rem;font-size:.8em}.creation-progress-centered{justify-content:center;align-items:center;min-height:60vh;display:flex}.creation-progress-inner{text-align:center;padding:2rem}.creation-progress-loading-text{color:var(--text-muted)}.creation-progress-error-heading{color:var(--color-error-text);margin-bottom:.75rem}.protected-route-centered{justify-content:center;align-items:center;min-height:60vh;display:flex}.protected-route-card{border:1px solid var(--skeleton-bg);border-radius:14px;width:100%;max-width:460px;padding:1.5rem}.protected-route-card-wide{border:1px solid var(--skeleton-bg);border-radius:14px;width:100%;max-width:540px;padding:1.5rem}.protected-route-heading{margin-top:0;margin-bottom:.75rem}.protected-route-loading-text{color:var(--text-muted)}.protected-route-error-text{color:var(--color-error-text);margin-top:0;margin-bottom:0}.protected-route-desc{color:var(--text-muted);margin-top:0;margin-bottom:1rem}.protected-route-form{flex-direction:column;gap:.75rem;display:flex}.protected-route-input-full{width:100%}.protected-route-form-error{color:var(--color-error-text);margin-top:.75rem;margin-bottom:0;font-size:.9em}
