:root,:root[data-theme=light]{--bg-page:#f4f7fb;--bg-surface:#fff;--bg-surface-subtle:#edf3fa;--bg-surface-elevated:#fff;--text-primary:#102033;--text-secondary:#42566e;--text-muted:#5d728a;--border-color:#d5e1ef;--border-strong:#b4c8e0;--primary-seed:#2196f3;--primary-btn:#1565c0;--primary-btn-hover:#0d47a1;--primary-text:#1565c0;--primary-soft:#e3f2fd;--primary-soft-border:#90caf9;--success-text:#1b5e20;--success-bg:#e8f5e9;--success-border:#81c784;--warning-text:#7c4a03;--warning-bg:#fff8e1;--warning-border:#ffd54f;--danger-text:#b71c1c;--danger-bg:#ffebee;--danger-border:#ef9a9a;--danger-btn:#c62828;--shadow-sm:0 1px 3px #10203312;--shadow-md:0 6px 20px #10203317;--shadow-lg:0 14px 36px #1020332e;--focus-ring:0 0 0 3px #2196f36b}:root[data-theme=dark]{--bg-page:#0b1420;--bg-surface:#122033;--bg-surface-subtle:#182a42;--bg-surface-elevated:#172840;--text-primary:#ecf3fc;--text-secondary:#b8cae0;--text-muted:#8ea5c2;--border-color:#243b59;--border-strong:#35547c;--primary-seed:#2196f3;--primary-btn:#1976d2;--primary-btn-hover:#2196f3;--primary-text:#64b5f6;--primary-soft:#16304d;--primary-soft-border:#2b5a8e;--success-text:#a5d6a7;--success-bg:#14301c;--success-border:#2e7d32;--warning-text:#ffe082;--warning-bg:#33270d;--warning-border:#ffa000;--danger-text:#ffcdd2;--danger-bg:#38161b;--danger-border:#c62828;--danger-btn:#d32f2f;--shadow-sm:0 1px 3px #00000059;--shadow-md:0 8px 24px #00000073;--shadow-lg:0 16px 40px #000000a6;--focus-ring:0 0 0 3px #64b5f67a}*,:before,:after{box-sizing:border-box}html,body{background-color:var(--bg-page);min-height:100%;color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.55;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:20;background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);position:sticky;top:0}.app-header__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;max-width:1040px;margin:0 auto;padding:.65rem 1rem;display:flex}.brand-group{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.brand-button{cursor:pointer;min-height:44px;color:var(--text-primary);background:0 0;border:none;border-radius:10px;align-items:center;gap:.55rem;padding:.35rem .5rem;font-size:1.18rem;font-weight:700;display:inline-flex}.brand-logo{background:linear-gradient(135deg, var(--primary-seed), var(--primary-btn));color:#fff;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.header-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex;position:relative}.settings-menu{position:relative}.settings-menu__trigger{min-width:44px;min-height:44px;padding-inline:.65rem}.settings-menu__panel{z-index:40;border:1px solid var(--border-color);background:var(--bg-surface);min-width:min(280px,100vw - 2rem);box-shadow:var(--shadow-md);border-radius:12px;padding:.5rem;position:absolute;top:calc(100% + .35rem);right:0}.settings-menu__section{border-bottom:1px solid var(--border-color);flex-direction:column;gap:.35rem;margin-bottom:.35rem;padding-bottom:.35rem;display:flex}.settings-menu__heading{color:var(--text-secondary);padding:.15rem .45rem;font-size:.78rem;font-weight:600}.settings-menu__theme-list{flex-direction:column;gap:.2rem;display:flex}.settings-menu__item{width:100%;min-height:44px;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.55rem;padding:.45rem .55rem;font-size:.92rem;display:flex}.settings-menu__item:hover,.settings-menu__item:focus-visible{background:var(--bg-surface-subtle);outline:none}.settings-menu__item--active{background:var(--bg-surface-subtle);color:var(--primary-text);font-weight:600}.settings-menu__item--backup{margin-top:.15rem}.theme-switcher{background-color:var(--bg-surface-subtle);border:1px solid var(--border-color);border-radius:999px;padding:2px;display:inline-flex}.theme-btn{min-width:40px;min-height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.85rem;font-weight:500;display:inline-flex}.theme-btn--active{background-color:var(--bg-surface);color:var(--primary-text);box-shadow:var(--shadow-sm);font-weight:600}.pwa-status-cluster{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.pwa-pill{border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}.pwa-pill--ready{background-color:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.pwa-pill--offline{background-color:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border)}.pwa-update-banner{background-color:var(--primary-soft);border:1px solid var(--primary-soft-border);border-radius:10px;align-items:center;gap:.45rem;padding:.3rem .65rem;font-size:.83rem;display:inline-flex}.app-main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:1.25rem 1rem 5.5rem}.btn{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;min-height:44px;padding:.55rem 1.05rem;font-size:.94rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,transform .1s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background-color:var(--primary-btn);color:#fff}.btn--primary:hover:not(:disabled){background-color:var(--primary-btn-hover)}.btn--secondary{background-color:var(--bg-surface-subtle);color:var(--text-primary);border-color:var(--border-color)}.btn--secondary:hover:not(:disabled){border-color:var(--border-strong)}.btn--ghost{color:var(--text-secondary);background-color:#0000}.btn--ghost:hover:not(:disabled){background-color:var(--bg-surface-subtle);color:var(--text-primary)}.btn--danger{background-color:var(--danger-btn);color:#fff}.btn--sm{border-radius:10px;min-height:40px;padding:.4rem .78rem;font-size:.86rem}.btn--full{width:100%}.btn--active-toggle{background-color:var(--primary-soft);color:var(--primary-text);border-color:var(--primary-soft-border)}.icon-btn{min-width:44px;min-height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:.4rem;display:inline-flex}.icon-btn:hover:not(:disabled){background-color:var(--bg-surface-subtle);color:var(--text-primary)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn--danger:hover:not(:disabled){background-color:var(--danger-bg);color:var(--danger-text)}.review-queue-panel{background-color:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem 1.15rem;display:flex}.review-queue-panel--due{background-color:var(--primary-soft);border-color:var(--primary-soft-border)}.review-queue-panel__info{flex-direction:column;flex:260px;gap:.35rem;display:flex}.review-queue-panel__headline{color:var(--text-primary);align-items:center;gap:.45rem;font-size:1rem;display:inline-flex}.review-queue-panel--due .review-queue-panel__headline{color:var(--primary-text)}.review-queue-panel__subtext{color:var(--text-secondary);margin:0;font-size:.88rem}.review-queue-panel__stats{flex-wrap:wrap;gap:.4rem;margin-top:.15rem;display:flex}.queue-stat-pill{background-color:var(--bg-surface-subtle);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:999px;padding:.18rem .55rem;font-size:.78rem;font-weight:600}.queue-stat-pill--due{background-color:var(--bg-surface);color:var(--primary-text);border-color:var(--primary-soft-border)}.review-queue-panel__actions{align-items:center;display:flex}.library-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.library-filters-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.search-field-wrapper{flex:260px;align-items:center;display:flex;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:.85rem}.search-input{border:1px solid var(--border-color);background-color:var(--bg-surface);border-radius:12px;width:100%;min-height:44px;padding:.55rem 2.5rem .55rem 2.55rem}.search-clear-btn{min-width:36px;min-height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex;position:absolute;right:.35rem}.filter-tabs{background-color:var(--bg-surface-subtle);border:1px solid var(--border-color);border-radius:12px;flex-wrap:wrap;gap:.35rem;padding:.25rem;display:inline-flex}.filter-tab{min-height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:9px;padding:.35rem .8rem;font-size:.88rem;font-weight:500}.filter-tab--active{background-color:var(--bg-surface);color:var(--primary-text);box-shadow:var(--shadow-sm);font-weight:600}.filter-tab--due-toggle{border:1px solid var(--border-color);background-color:var(--bg-surface);align-items:center;gap:.35rem;display:inline-flex}.filter-tab--due-toggle.filter-tab--active{background-color:var(--primary-soft);border-color:var(--primary-soft-border);color:var(--primary-text)}.empty-library-card{background-color:var(--bg-surface);border:1px solid var(--border-color);text-align:center;max-width:560px;box-shadow:var(--shadow-sm);border-radius:18px;margin:2rem auto;padding:2.5rem 1.5rem}.empty-library-icon{background-color:var(--primary-soft);width:68px;height:68px;color:var(--primary-text);border-radius:20px;justify-content:center;align-items:center;margin:0 auto 1rem;display:flex}.empty-library-card h2{margin:0 0 .6rem;font-size:1.35rem}.empty-library-card p{color:var(--text-secondary);margin:0 0 1.5rem}.empty-library-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.library-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.text-card{background-color:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:.75rem;padding:1.15rem;display:flex}.text-card__top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.text-card__badges{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.source-badge{border-radius:999px;align-items:center;gap:.3rem;padding:.22rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}.source-badge--bible{background-color:var(--primary-soft);color:var(--primary-text);border:1px solid var(--primary-soft-border)}.source-badge--plain{background-color:var(--bg-surface-subtle);color:var(--text-secondary);border:1px solid var(--border-color)}.source-badge--definition{background-color:var(--primary-soft);color:var(--primary-text);border:1px solid var(--primary-soft-border)}.source-badge--modified{background-color:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border)}.review-badge{border-radius:999px;align-items:center;gap:.28rem;padding:.22rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}.review-badge--new{background-color:var(--bg-surface-subtle);color:var(--text-secondary);border:1px solid var(--border-color)}.review-badge--due{background-color:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border)}.review-badge--overdue{background-color:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.review-badge--scheduled{background-color:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.text-card__review-line{background-color:var(--bg-surface-subtle);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:10px;padding:.45rem .65rem;font-size:.84rem;font-weight:600}.text-card__review-line--due{background-color:var(--warning-bg);color:var(--warning-text);border-color:var(--warning-border)}.text-card__review-line--scheduled{background-color:var(--primary-soft);color:var(--primary-text);border-color:var(--primary-soft-border)}.text-card__icon-actions{gap:.15rem;display:inline-flex}.text-card__title{margin:0;font-size:1.15rem;line-height:1.35}.text-card__excerpt{color:var(--text-secondary);white-space:pre-line;flex:1;margin:0;font-size:.94rem;line-height:1.5}.text-card__meta{color:var(--text-muted);flex-wrap:wrap;gap:.4rem;font-size:.8rem;display:flex}.text-card__progress{background-color:var(--bg-surface-subtle);border-radius:12px;flex-direction:column;gap:.45rem;padding:.75rem;display:flex}.progress-header{justify-content:space-between;font-size:.84rem;font-weight:600;display:flex}.progress-value{color:var(--primary-text)}.progress-bar{background-color:var(--border-color);border-radius:999px;height:8px;overflow:hidden}.progress-bar__fill{background:linear-gradient(90deg, var(--primary-seed), var(--primary-btn));border-radius:999px;height:100%;transition:width .25s}.mode-chips{color:var(--text-secondary);flex-wrap:wrap;gap:.35rem;font-size:.76rem;display:flex}.mode-chip{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;padding:.15rem .48rem}.speed-dial-backdrop{z-index:30;background-color:#0a142352;position:fixed;inset:0}.speed-dial{z-index:35;flex-direction:column;align-items:flex-end;gap:.65rem;display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.speed-dial__menu{flex-direction:column;align-items:flex-end;gap:.55rem;display:flex}.speed-dial__option{border:1px solid var(--primary-soft-border);background-color:var(--bg-surface-elevated);min-height:48px;color:var(--text-primary);box-shadow:var(--shadow-md);cursor:pointer;border-radius:999px;align-items:center;gap:.55rem;padding:.65rem 1.15rem;font-weight:600;display:inline-flex}.speed-dial__option:hover{background-color:var(--primary-soft);color:var(--primary-text)}.speed-dial__fab{background-color:var(--primary-btn);color:#fff;width:58px;height:58px;box-shadow:var(--shadow-lg);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.speed-dial__fab:hover{background-color:var(--primary-btn-hover)}.modal-backdrop{z-index:50;background-color:#08111e94;justify-content:center;align-items:center;padding:.85rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card{background-color:var(--bg-surface);border:1px solid var(--border-color);width:100%;box-shadow:var(--shadow-lg);border-radius:18px;flex-direction:column;max-height:92vh;display:flex;overflow:hidden}.modal-card--sm{max-width:440px}.modal-card--md{max-width:560px}.modal-card--lg{max-width:720px}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.modal-title-row{align-items:center;gap:.55rem;display:flex}.modal-header h2{margin:0;font-size:1.15rem}.modal-body{flex-direction:column;gap:1rem;padding:1.2rem 1.25rem;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:flex-end;gap:.65rem;padding:.9rem 1.25rem;display:flex}.form-group{flex-direction:column;gap:.38rem;display:flex}.form-label-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.form-label{font-size:.9rem;font-weight:600}.form-hint{color:var(--text-muted);font-size:.82rem}.form-input,.form-select,.form-textarea{border:1px solid var(--border-color);background-color:var(--bg-surface);border-radius:10px;width:100%;min-height:44px;padding:.55rem .8rem}.form-textarea{resize:vertical;line-height:1.55}.bible-testament-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.bible-range-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.85rem;display:grid}.bible-range-box{background-color:var(--bg-surface-subtle);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:.55rem;padding:.85rem;display:flex}.bible-range-box__title{color:var(--text-secondary);font-size:.84rem;font-weight:700}.bible-coord-row{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.bible-shortcut-row{justify-content:flex-start;display:flex}.bible-preview-box{background-color:var(--bg-surface-subtle);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:.75rem;padding:.95rem;display:flex}.bible-preview-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.bible-preview-meta{color:var(--text-secondary);font-size:.85rem}.bible-preview-actions{flex-wrap:wrap;gap:.45rem;display:flex}.bible-preview-text{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:10px;max-height:220px;padding:.75rem;font-size:.95rem;overflow-y:auto}.bible-preview-text p{margin:0 0 .65rem}.bible-preview-text p:last-child{margin-bottom:0}.alert-banner{border-radius:12px;align-items:flex-start;gap:.6rem;padding:.8rem 1rem;font-size:.92rem;display:flex}.alert-banner--error{background-color:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.alert-banner--warning{background-color:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border)}.alert-banner--success{background-color:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.backup-actions-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.backup-action-box{background-color:var(--bg-surface-subtle);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:.65rem;padding:1rem;display:flex}.backup-action-box h3{margin:0;font-size:1rem}.backup-action-box p{color:var(--text-secondary);flex:1;margin:0;font-size:.88rem}.file-upload-label{position:relative;overflow:hidden}.file-upload-label input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.training-view{flex-direction:column;gap:1.1rem;display:flex}.training-top-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.training-title-group{flex:260px}.training-source-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.mastery-pill{color:var(--primary-text);background-color:var(--primary-soft);border-radius:999px;padding:.2rem .6rem;font-size:.8rem;font-weight:700}.training-title{margin:0;font-size:1.35rem}.training-controls-card{background-color:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:.85rem;padding:.9rem;display:flex}.mode-tabs{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;display:grid}.mode-tab{border:1px solid var(--border-color);background-color:var(--bg-surface-subtle);min-height:46px;color:var(--text-secondary);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .85rem;font-size:.9rem;font-weight:600;display:flex}.mode-tab--active{background-color:var(--primary-soft);border-color:var(--primary-soft-border);color:var(--primary-text)}.mode-tab__meta{opacity:.85;font-size:.78rem}.sub-controls-row{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;padding-top:.35rem;display:flex}.level-selector,.blank-style-selector{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sub-control-label{color:var(--text-secondary);font-size:.84rem;font-weight:600}.level-pills{flex-wrap:wrap;gap:.35rem;display:flex}.level-pill{border:1px solid var(--border-color);background-color:var(--bg-surface-subtle);min-height:40px;color:var(--text-secondary);cursor:pointer;border-radius:10px;padding:.35rem .7rem;font-size:.84rem;font-weight:600}.level-pill--completed{border-color:var(--primary-soft-border)}.level-pill--active{background-color:var(--primary-btn);border-color:var(--primary-btn);color:#fff}.order-mode-container{flex-direction:column;gap:1rem;display:flex}.training-instructions p{color:var(--text-secondary);margin:0;font-size:.92rem}.chunk-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.chunk-list--compact{gap:.34rem}.chunk-card{background-color:var(--bg-surface);border:1.5px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:14px;align-items:center;gap:.7rem;padding:.65rem .8rem;display:flex}.chunk-card--compact{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:manipulation;border-radius:10px;min-height:44px;padding:.34rem .68rem;transition:border-color .15s,background-color .15s,box-shadow .15s}.chunk-card--compact:hover{border-color:var(--primary-soft-border)}.chunk-card--compact:active{cursor:grabbing}.order-locked-prefix{background-color:var(--bg-surface-subtle);border:1.5px solid var(--success-border);border-radius:12px;flex-direction:column;gap:.45rem;padding:.75rem .95rem;display:flex}.order-locked-prefix__badge{color:var(--success-text);align-items:center;gap:.35rem;font-size:.78rem;font-weight:700;display:inline-flex}.order-locked-prefix__content{color:var(--text-primary);white-space:pre-wrap;font-size:.98rem;line-height:1.55}.chunk-card--dragging{opacity:.88;box-shadow:var(--shadow-md);border-color:var(--primary-seed);z-index:10}.chunk-card--correct{border-color:var(--success-border);background-color:var(--success-bg)}.chunk-card--wrong{border-color:var(--danger-border);background-color:var(--danger-bg)}.chunk-drag-handle{border:1px solid var(--border-color);background-color:var(--bg-surface-subtle);min-width:48px;min-height:44px;color:var(--text-secondary);cursor:grab;touch-action:none;border-radius:10px;align-items:center;gap:.35rem;padding:.35rem .45rem;display:inline-flex}.chunk-drag-handle:active{cursor:grabbing}.chunk-index-badge{font-size:.8rem;font-weight:700}.chunk-text{flex:1;font-size:1rem;line-height:1.5}.chunk-move-buttons{gap:.25rem;display:inline-flex}.order-actions-bar{flex-wrap:wrap;justify-content:space-between;gap:.75rem;display:flex}.short-text-notice__card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;gap:.85rem;padding:1.5rem;display:flex}.short-text-notice__quote{background-color:var(--bg-surface-subtle);border-left:4px solid var(--primary-seed);border-radius:8px;margin:0;padding:.75rem 1rem;font-size:1.1rem;font-weight:600}.short-text-notice__actions{flex-wrap:wrap;gap:.75rem;display:flex}.words-mode-container,.initials-mode-container{flex-direction:column;gap:1rem;display:flex}.training-status-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.training-counter{color:var(--text-secondary);font-size:.92rem}.reading-sheet{background-color:var(--bg-surface);border:1px solid var(--border-color);max-height:44vh;box-shadow:var(--shadow-sm);border-radius:16px;padding:1.25rem;font-size:1.08rem;line-height:2.05;overflow-y:auto}.reading-paragraph{margin:0 0 .9rem}.reading-paragraph:last-child{margin-bottom:0}.token-wrapper{display:inline}.token-word{border-radius:6px;padding:.08rem .2rem}.token-word--solved{color:var(--primary-text);font-weight:600}.token-word--anchor{background-color:var(--primary-soft);color:var(--primary-text);border-bottom:1.5px solid var(--primary-soft-border);font-weight:600}.token-word--recovered{color:var(--warning-text);background-color:var(--warning-bg);font-weight:600}.token-word--hinted{color:var(--text-secondary);-webkit-text-decoration:underline dashed;text-decoration:underline dashed}@keyframes wordPopIn{0%{background-color:var(--primary-soft);transform:scale(.96)}to{background-color:#0000;transform:scale(1)}}.token-word--revealed{animation:.35s ease-out wordPopIn}.blank-slot{vertical-align:baseline;border:1.5px dashed var(--border-strong);background-color:var(--bg-surface-subtle);border-radius:8px;align-items:center;gap:.3rem;min-height:1.65rem;margin:0 .08rem;padding:.12rem .42rem;display:inline-flex}.blank-slot--active{border-style:solid;border-color:var(--primary-seed);background-color:var(--primary-soft);box-shadow:var(--focus-ring)}.blank-segments{align-items:center;gap:3px;display:inline-flex}.blank-segment{background-color:var(--border-strong);border-radius:2px;width:7px;height:13px}.blank-slot--active .blank-segment{background-color:var(--primary-text)}.blank-count{color:var(--text-muted);font-size:.72rem;font-weight:700}.blank-slot--active .blank-count{color:var(--primary-text)}.blank-slot--fixed .blank-fixed-bar{background-color:var(--border-strong);border-radius:999px;width:58px;height:10px;display:inline-block}.blank-slot--active.blank-slot--fixed .blank-fixed-bar{background-color:var(--primary-text)}.final-recall-badge{color:var(--primary-text);background-color:var(--primary-soft);border:1px solid var(--primary-soft-border);border-radius:10px;margin-bottom:.85rem;padding:.45rem .75rem;font-size:.84rem;font-weight:600;line-height:1.4}.final-recall-placeholder{color:var(--text-muted);margin:.5rem 0;font-style:italic}.final-recall-cursor{color:var(--primary-text);padding:0 .25rem;font-weight:700;display:inline-block}.word-choices-panel{background-color:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.word-choices-label{color:var(--text-secondary);font-size:.88rem;font-weight:600}.word-choices-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem;display:grid}.choice-btn{border:1.5px solid var(--border-color);background-color:var(--bg-surface-subtle);min-height:48px;color:var(--text-primary);cursor:pointer;word-break:break-word;border-radius:12px;padding:.6rem .9rem;font-size:1rem;font-weight:600}.choice-btn:hover{border-color:var(--primary-seed);background-color:var(--primary-soft)}.choice-btn--wrong{border-color:var(--danger-border);background-color:var(--danger-bg);color:var(--danger-text)}.onscreen-keyboard{background-color:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:.45rem;padding:.8rem .55rem;display:flex}.keyboard-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:0 .35rem .25rem;display:flex}.keyboard-hint{color:var(--text-secondary);align-items:center;gap:.35rem;font-size:.82rem;display:inline-flex}.keyboard-toggles{gap:.35rem;display:inline-flex}.keyboard-row{justify-content:center;gap:.25rem;width:100%;display:flex}.key-btn{border:1px solid var(--border-color);background-color:var(--bg-surface-subtle);min-width:24px;max-width:46px;min-height:44px;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;flex:1 1 0;justify-content:center;align-items:center;padding:.25rem .1rem;font-size:.92rem;font-weight:700;display:inline-flex}.key-btn:hover{background-color:var(--primary-soft);border-color:var(--primary-seed)}.key-btn--wrong{background-color:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.completion-card{background-color:var(--bg-surface);border:1px solid var(--border-color);text-align:center;box-shadow:var(--shadow-sm);border-radius:18px;flex-direction:column;align-items:center;gap:1rem;padding:1.75rem 1.25rem;display:flex}.completion-icon{background-color:var(--success-bg);width:64px;height:64px;color:var(--success-text);border-radius:999px;justify-content:center;align-items:center;display:flex}.completion-card h3{margin:0;font-size:1.35rem}.completion-subtitle{color:var(--text-secondary);margin:0}.completion-stats-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.65rem;width:100%;max-width:600px;display:grid}.stat-box{background-color:var(--bg-surface-subtle);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.stat-box__label{color:var(--text-secondary);font-size:.78rem}.stat-box__value{color:var(--primary-text);font-size:1.2rem}.completion-hint-note{max-width:540px;color:var(--text-secondary);margin:0;font-size:.86rem}.completion-review-box{background-color:var(--primary-soft);border:1px solid var(--primary-soft-border);text-align:left;border-radius:14px;flex-direction:column;gap:.35rem;width:100%;max-width:600px;padding:.9rem 1rem;display:flex}.completion-review-box__header{color:var(--primary-text);align-items:center;gap:.45rem;font-size:.94rem;display:inline-flex}.completion-review-box__reason{color:var(--text-primary);margin:0;font-size:.88rem}.completion-review-box__date{color:var(--primary-text);margin:0;font-size:.88rem;font-weight:700}.completion-actions{flex-wrap:wrap;justify-content:center;gap:.65rem;display:flex}.loading-box{text-align:center;color:var(--text-secondary);padding:2rem}.text-muted{color:var(--text-secondary)}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.anchor-selector-sheet{background-color:var(--bg-surface-subtle);border:1px solid var(--border-color);border-radius:12px;max-height:230px;padding:.85rem;line-height:2;overflow-y:auto}.anchor-selector-paragraph{margin:0 0 .65rem}.anchor-selector-paragraph:last-child{margin-bottom:0}.anchor-selector-placeholder{color:var(--text-muted);margin:0;font-size:.88rem}.anchor-token-wrap{display:inline}.anchor-word-btn{border:1px solid var(--border-color);background-color:var(--bg-surface);min-height:32px;color:var(--text-primary);cursor:pointer;border-radius:8px;align-items:center;margin:.08rem .04rem;padding:.14rem .45rem;font-size:.94rem;transition:background-color .15s,border-color .15s;display:inline-flex}.anchor-word-btn:hover{border-color:var(--primary-seed)}.anchor-word-btn--selected{background-color:var(--primary-btn);border-color:var(--primary-btn);color:#fff;font-weight:600}.bible-nav-breadcrumbs{background-color:var(--bg-surface-subtle);border-bottom:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:.3rem;padding:.55rem 1.25rem;display:flex}.bible-crumb-btn{min-height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:.25rem .6rem;font-size:.84rem;font-weight:600}.bible-crumb-btn--active{background-color:var(--primary-soft);border-color:var(--primary-soft-border);color:var(--primary-text)}.bible-crumb-sep{color:var(--text-muted)}.bible-crumb-current{color:var(--primary-text);padding:.2rem .4rem;font-size:.84rem;font-weight:700}.bible-crumb-back-edit{margin-left:auto}.bible-goto-panel{flex-direction:column;gap:.85rem;display:flex}.bible-goto-step-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.bible-goto-step-title{font-size:.95rem;font-weight:700}.bible-goto-grid{gap:.4rem;max-height:56vh;padding:.2rem;display:grid;overflow-y:auto}.bible-goto-grid--books{grid-template-columns:repeat(auto-fill,minmax(66px,1fr))}.bible-goto-grid--numbers{grid-template-columns:repeat(auto-fill,minmax(52px,1fr))}.bible-grid-cell{border:1px solid var(--border-color);background-color:var(--bg-surface-subtle);min-height:44px;color:var(--text-primary);cursor:pointer;text-align:center;border-radius:10px;justify-content:center;align-items:center;padding:.35rem .3rem;font-size:.86rem;font-weight:700;display:inline-flex}.bible-grid-cell--ot{border-left:3px solid var(--primary-seed)}.bible-grid-cell--nt{border-left:3px solid var(--success-text)}.bible-grid-cell:hover{background-color:var(--primary-soft);border-color:var(--primary-seed)}.bible-grid-cell--active{background-color:var(--primary-btn);border-color:var(--primary-btn);color:#fff}.bible-reader-step{flex-direction:column;gap:.65rem;display:flex}.bible-reader-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.bible-reader-hint{color:var(--text-secondary);font-size:.82rem}.book-verse-reader{border:1px solid var(--border-color);background-color:var(--bg-surface-subtle);border-radius:12px;flex-direction:column;gap:1rem;max-height:52vh;padding:.75rem .75rem 2.25rem;display:flex;overflow-y:auto}.reader-window-sentinel{justify-content:center;padding:.35rem 0;display:flex}.reader-chapter-section{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.reader-chapter-header{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.4rem;display:flex}.reader-chapter-title{margin:0;font-size:1rem}.reader-verses-list{flex-direction:column;gap:.25rem;display:flex}.reader-verse-item{width:100%;min-height:44px;color:var(--text-primary);text-align:left;cursor:pointer;background-color:#0000;border:1px solid #0000;border-radius:8px;align-items:baseline;gap:.55rem;padding:.42rem .6rem;font-size:.95rem;line-height:1.5;display:flex}.reader-verse-item:hover{background-color:var(--bg-surface-subtle)}.reader-verse-item--target{border-color:var(--primary-soft-border)}.reader-verse-item--selected{background-color:var(--primary-soft);border-color:var(--primary-soft-border)}.reader-verse-item--start,.reader-verse-item--end{border-color:var(--primary-seed);font-weight:600}.reader-verse-num{color:var(--primary-text);text-align:right;flex-shrink:0;min-width:1.6rem;font-size:.78rem;font-weight:700}.reader-verse-text{flex:1}.bible-reader-sticky-bar{z-index:5;background-color:var(--bg-surface-elevated);border:1px solid var(--primary-soft-border);box-shadow:var(--shadow-md);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .9rem;display:flex;position:sticky;bottom:0}.bible-reader-sticky-bar__info{flex-direction:column;gap:.15rem;display:flex}.bible-reader-sticky-bar__ref{color:var(--primary-text);font-size:.96rem}.bible-reader-sticky-bar__meta,.bible-reader-sticky-bar__placeholder{color:var(--text-secondary);font-size:.82rem}.bible-reader-sticky-bar__actions{align-items:center;gap:.5rem;display:flex}.bible-edit-range-banner{background-color:var(--bg-surface-subtle);border:1px solid var(--border-color);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.85rem;padding:.75rem .9rem;display:flex}.bible-edit-footer{margin-top:.75rem;padding-left:0;padding-right:0}@media (width<=480px){.app-header__inner{padding:.5rem .75rem}.theme-btn__label{display:none}.app-main{padding:.9rem .75rem 5.5rem}.library-grid{grid-template-columns:1fr}.reading-sheet{padding:.95rem;font-size:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
