*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{overscroll-behavior:none;overflow-x:hidden}body{color:#1a1a18;overscroll-behavior-x:none;background:#f9f9f8;min-height:100vh;padding:1rem .5rem;font-family:system-ui,-apple-system,sans-serif;overflow-x:clip}.scene{width:100%;max-width:480px;margin:0 auto;padding-bottom:2rem}.hdr{justify-content:space-between;align-items:center;margin-bottom:1.1rem;display:flex}.ttl{font-size:15px;font-weight:500}select{color:#555;cursor:pointer;background:#f1f0eb;border:.5px solid #ccc;border-radius:8px;padding:4px 8px;font-size:12px}.prog-row{align-items:center;gap:10px;margin-bottom:1rem;display:flex}.prog-bar{background:#ddd;border-radius:2px;flex:1;height:4px;overflow:hidden}.prog-fill{background:#3a8c5c;border-radius:2px;height:100%;transition:width .4s}.prog-txt{color:#777;white-space:nowrap;font-size:12px}.tabs{background:#efefec;border-radius:8px;gap:3px;margin-bottom:1.1rem;padding:3px;display:flex}.tab{text-align:center;cursor:pointer;color:#777;-webkit-user-select:none;user-select:none;border-radius:6px;flex:1;padding:6px;font-size:12px;transition:background .15s}.tab.on{color:#1a1a18;background:#fff;border:.5px solid #ddd;font-weight:500}.wrap{perspective:1200px;cursor:pointer;width:100%;min-height:200px;margin-bottom:1rem}.card{width:100%;height:100%;min-height:200px;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.45,0,.55,1);position:relative}.card.flip{transform:rotateY(180deg)}.face{backface-visibility:hidden;background:#fff;border:.5px solid #ddd;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:200px;padding:1.25rem;display:flex;position:absolute}.back{transform:rotateY(180deg)}.lbl{color:#aaa;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:11px}.ref{text-align:center;font-size:26px;font-weight:500}.hint{color:#bbb;margin-top:16px;font-size:12px}.badge{color:#2a6ab5;background:#e8f0fb;border-radius:99px;margin-bottom:12px;padding:3px 9px;font-size:11px;font-weight:500}.vtxt{text-align:center;font-size:13px;line-height:1.75}.vtxt.loading{color:#bbb;font-size:13px;font-style:italic}.vref{color:#aaa;margin-top:10px;font-size:12px}.bracket-reminder{background:#fef9ec;border:.5px solid #e8d88a;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:.75rem;padding:8px 12px;font-size:12px;display:flex}.bracket-reminder-link{color:#3a8c5c;cursor:pointer;flex:1;text-decoration:underline}.bracket-reminder-close{color:#aaa;cursor:pointer;background:0 0;border:none;padding:0;font-size:11px}.queue-complete{text-align:center;padding:2.5rem 1rem}.qc-icon{color:#3a8c5c;margin-bottom:.5rem;font-size:36px}.qc-title{margin-bottom:.4rem;font-size:17px;font-weight:600}.qc-sub{color:#888;margin-bottom:1.25rem;font-size:13px}.qc-stats{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:1.5rem;display:flex}.qc-pill{border-radius:20px;padding:4px 10px;font-size:11px}.qc-unseen{color:#888;background:#f1f0eb}.qc-learning{color:#9a6c10;background:#fef6e4}.qc-mastered{color:#3a8c5c;background:#edf7f1}.qc-browse{margin-top:.5rem}.revise-empty{text-align:center;padding:2.5rem 1rem}.revise-empty-icon{margin-bottom:.5rem;font-size:36px}.revise-empty-title{margin-bottom:.4rem;font-size:17px;font-weight:600}.revise-empty-sub{color:#888;margin-bottom:1.25rem;font-size:13px;line-height:1.5}.remove-row{text-align:center;margin:.5rem 0 0}.remove-verse-btn{color:#ccc;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:11px}.remove-verse-btn:hover{color:#c0392b}.app-footer{text-align:center;border-top:.5px solid #e8e7e2;margin-top:2rem;padding-top:.75rem}.footer-attribution{color:#bbb;margin-bottom:.4rem;font-size:9px;line-height:1.5}.footer-credit{color:#ccc;font-size:10px}.footer-link{color:#bbb;text-decoration:underline}.ctrls{gap:8px;display:flex}.btn{cursor:pointer;color:#1a1a18;white-space:nowrap;background:#fff;border:.5px solid #ddd;border-radius:8px;flex:1;padding:10px;font-size:13px;font-weight:500;transition:background .15s}.btn:hover{background:#f5f5f2}.btn-ok{color:#2d7a52;border-color:#a3d4b8}.btn-ok:hover{background:#edf7f1}.btn-learn{color:#9a6c10;border-color:#f0d49a}.btn-learn:hover{background:#fdf8ec}.btn-sk{color:#aaa;flex:none;padding:10px 14px;font-weight:400}.ti{flex-direction:column;gap:8px;display:flex}input[type=text]{color:#1a1a18;background:#f9f9f8;border:.5px solid #ddd;border-radius:8px;width:100%;padding:10px;font-family:system-ui,-apple-system,sans-serif;font-size:14px}.fb{text-align:center;color:#aaa;min-height:18px;font-size:12px}.test-btns{gap:8px;display:flex}.stats{gap:8px;margin-top:1rem;display:flex}.pill{text-align:center;background:#f1f0eb;border-radius:8px;flex:1;padding:8px 4px}.pill .v{font-size:20px;font-weight:500;display:block}.pill .k{color:#777;font-size:11px}.un .v{color:#888}.le .v{color:#9a6c10}.ma .v{color:#2d7a52}.avatar{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;width:32px;height:32px;box-shadow:0 0 0 2px #fff, 0 0 0 3.5px var(--user-colour,transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;transition:opacity .15s;display:flex}.avatar:hover{opacity:.85}.user-panel-wrap{position:relative}.user-panel{z-index:100;background:#fff;border:.5px solid #ddd;border-radius:12px;width:240px;animation:.15s panelIn;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 4px 16px #00000014}@keyframes panelIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.user-row{cursor:pointer;align-items:center;gap:10px;padding:10px 14px;transition:background .1s;display:flex}.user-row:hover{background:#f9f9f8}.user-row.active{background:#f1f0eb}.user-row .uname{flex:1;font-size:13px;font-weight:500}.user-row .utrans{color:#999;text-transform:uppercase;font-size:11px}.user-edit-btn{color:#bbb;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:13px;line-height:1;transition:color .15s,background .15s}.user-edit-btn:hover{color:#3a8c5c;background:#f0f9f4}.profile-overlay{z-index:200;background:#00000059;justify-content:center;align-items:flex-end;animation:.15s fadeIn;display:flex;position:fixed;inset:0;overflow:hidden}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.profile-modal{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:480px;max-height:92vh;padding:0 0 2rem;animation:.2s slideUp;overflow:hidden auto}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@media (width>=540px){.profile-overlay{align-items:center}.profile-modal{border-radius:20px;max-height:88vh}}.profile-modal-hdr{z-index:1;background:#fff;border-bottom:.5px solid #eee;border-radius:20px 20px 0 0;justify-content:space-between;align-items:center;padding:16px 16px 12px;display:flex;position:sticky;top:0}.profile-modal-title{font-size:14px;font-weight:600}.profile-back{color:#3a8c5c;cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:13px;font-weight:500}.profile-save-btn{color:#3a8c5c;cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:13px;font-weight:600}.profile-avatar-row{align-items:center;gap:16px;padding:20px 16px 8px;display:flex}.profile-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:28px;font-weight:700;display:flex;overflow:hidden}.profile-avatar-actions{flex-direction:column;gap:4px;display:flex}.profile-link-btn{color:#3a8c5c;cursor:pointer;text-align:left;background:0 0;border:none;padding:2px 0;font-size:13px;font-weight:500}.profile-link-btn.muted{color:#aaa;font-weight:400}.profile-photo-note{color:#bbb;margin-top:2px;font-size:10px}.profile-field{padding:12px 16px 0}.profile-select{color:#1a1a18;appearance:auto;background:#fff;border:.5px solid #ddd;border-radius:8px;width:100%;padding:9px 10px;font-size:14px}.profile-label{color:#999;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11px;display:block}.profile-field input,.profile-field select{color:#1a1a18;background:#f9f9f8;border:.5px solid #ddd;border-radius:8px;width:100%;padding:10px 12px;font-family:system-ui,-apple-system,sans-serif;font-size:14px}.profile-field-hint{color:#bbb;margin-top:5px;font-size:11px}.profile-field-error{color:#c0392b;margin-top:4px;font-size:11px}.profile-stats{gap:8px;margin-top:2px;display:flex}.profile-stat{text-align:center;background:#f1f0eb;border-radius:8px;flex:1;padding:10px 4px}.profile-stat .v{font-size:22px;font-weight:600;display:block}.profile-stat .k{color:#888;font-size:11px}.profile-stat.un .v{color:#888}.profile-stat.le .v{color:#9a6c10}.profile-stat.ma .v{color:#2d7a52}.auth-panel{flex-direction:column;gap:8px;display:flex}.auth-row{align-items:center;gap:8px;display:flex}.auth-indicator{color:#ccc;font-size:10px}.auth-indicator.connected{color:#3a8c5c}.auth-email{color:#444;flex:1;font-size:13px}.auth-desc{color:#888;font-size:13px}.auth-sync-status{color:#bbb;font-size:11px}.auth-cta{color:#888;font-size:12px;line-height:1.5}.auth-btns{gap:8px;display:flex}.auth-btns .btn{flex:1;padding:9px;font-size:13px}.auth-input{color:#1a1a18;background:#f9f9f8;border:.5px solid #ddd;border-radius:8px;width:100%;padding:10px 12px;font-family:system-ui,-apple-system,sans-serif;font-size:14px}.auth-error{color:#c0392b;font-size:12px}.auth-form-title{margin-bottom:2px;font-size:14px;font-weight:600}.auth-form-note{color:#aaa;font-size:11px;line-height:1.5}.auth-switch{color:#aaa;text-align:center;font-size:12px}.auth-link{color:#3a8c5c;cursor:pointer;-webkit-text-decoration:underline #a3d4b8;text-decoration:underline #a3d4b8}.auth-sep{color:#ddd;margin:0 4px}.auth-success{color:#2d7a52;font-size:12px}.auth-account-links{color:#aaa;align-items:center;gap:6px;font-size:12px;display:flex}.profile-delete-section{padding:28px 16px 0}.profile-field .tab{padding:7px 4px;font-size:11px}.profile-field .tabs.trans-tabs{flex-wrap:wrap;margin-bottom:0}.profile-field .trans-tabs .tab{flex:30%}.profile-delete-btn{color:#c0392b;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;-webkit-text-decoration:underline #f5b8b0;text-decoration:underline #f5b8b0}.profile-delete-confirm{background:#fdf0ee;border-radius:10px;padding:14px}.profile-delete-warning{color:#555;margin-bottom:12px;font-size:13px;line-height:1.5}.profile-delete-actions{gap:8px;display:flex}.profile-delete-final{flex:1;color:#fff!important;background:#c0392b!important;border-color:#c0392b!important}.profile-delete-final:hover{background:#a93226!important}.panel-divider{background:#eee;height:.5px;margin:0}.add-btn{text-align:left;color:#555;cursor:pointer;background:0 0;border:none;width:100%;padding:10px 14px;font-size:13px;transition:background .1s;display:block}.add-btn:hover{background:#f9f9f8}.add-btn:disabled{color:#bbb;cursor:default}.user-form{flex-direction:column;gap:10px;padding:12px 14px;display:flex}.user-form input,.user-form select{color:#1a1a18;background:#f9f9f8;border:.5px solid #ddd;border-radius:8px;width:100%;padding:8px 10px;font-size:13px}.user-form label{color:#999;margin-bottom:2px;font-size:11px;display:block}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;transition:border-color .1s}.swatch.selected{border-color:#1a1a18}.form-btns{gap:8px;display:flex}.form-btns .btn{padding:8px;font-size:12px}.badge{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s;position:relative}.badge:hover{background:#d8e8f8}.badge-override{color:#9a6c10;background:#fde8c8}.badge-override:hover{background:#f8dab0}.badge-dot{vertical-align:middle;background:#9a6c10;border-radius:50%;width:5px;height:5px;margin-bottom:1px;margin-left:4px;display:inline-block}.trans-picker{gap:4px;margin-top:8px;animation:.12s panelIn;display:flex}.trans-opt{cursor:pointer;color:#555;background:#f1f0eb;border:.5px solid #ddd;border-radius:99px;padding:4px 8px;font-size:11px;font-weight:500;transition:background .1s}.trans-opt:hover{background:#e5e4de}.trans-opt.active{color:#fff;background:#1a1a18;border-color:#1a1a18}.add-verse-btn{color:#999;cursor:pointer;background:0 0;border:.5px dashed #ccc;border-radius:8px;width:100%;margin-top:10px;padding:9px;font-size:13px;transition:border-color .15s,color .15s;display:block}.add-verse-btn:hover{color:#555;border-color:#aaa}.add-verse-panel{background:#fff;border:.5px solid #ddd;border-radius:12px;margin-top:8px;padding:14px;animation:.15s panelIn;box-shadow:0 4px 16px #00000012}.search-row{gap:8px;display:flex}.search-row input{flex:1}.verse-preview{-webkit-overflow-scrolling:touch;max-height:55vh;margin-top:12px;padding-bottom:4px;overflow-y:auto}.verse-attribution{color:#bbb;border-top:.5px solid #eee;margin-top:10px;padding-top:8px;font-size:10px;line-height:1.6}.preview-ref{margin-bottom:10px;font-size:15px;font-weight:500}.preview-block{margin-bottom:8px}.preview-label{color:#aaa;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-size:11px}.preview-text{color:#333;font-size:13px;line-height:1.7}.btn-add{color:#fff;cursor:pointer;background:#3a8c5c;border:none;border-radius:8px;width:100%;margin-top:10px;padding:10px;font-size:13px;font-weight:500;transition:background .15s}.btn-add:hover{background:#2d7a52}.btn-add:disabled{cursor:default;background:#aaa}.status-msg{text-align:center;margin-top:8px;font-size:12px}.status-msg.error{color:#c0392b}.status-msg.muted{color:#aaa}.status-msg.success{color:#2d7a52}.cancel-link{text-align:center;color:#aaa;cursor:pointer;margin-top:8px;font-size:12px;display:block}.cancel-link:hover{color:#555}.already-msg{text-align:center;color:#aaa;background:#f1f0eb;border-radius:8px;margin-top:10px;padding:8px;font-size:12px}.version-list{flex-direction:column;gap:8px;margin-top:4px;display:flex}.version-row{background:#fafafa;border:1px solid #e8e8e8;border-radius:10px;flex-wrap:wrap;align-items:flex-start;gap:6px;padding:10px 12px;display:flex;position:relative}.version-row-pref{background:#f0f9f4;border-color:#b6d9c7}.version-row-meta{align-items:center;gap:6px;width:100%;display:flex}.version-tag{color:#888;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.version-row-pref .version-tag{color:#3a8c5c}.version-pref-badge{color:#3a8c5c;background:#d6f0e4;border-radius:20px;padding:1px 6px;font-size:10px;font-weight:500}.version-row-text{color:#333;flex:1;min-width:0;font-size:13px;line-height:1.6}.version-add-btn{cursor:pointer;color:#666;background:#e8e8e8;border:none;border-radius:6px;flex-shrink:0;padding:5px 10px;font-size:12px;font-weight:500;transition:background .15s}.version-add-btn:hover{background:#d8d8d8}.version-add-btn-pref{color:#fff;background:#3a8c5c;padding:5px 14px}.version-add-btn-pref:hover{background:#2d7a52}
