:root{--navy:#11394e;--navy2:#1c5872;--green:#2b7c53;--gold:#d69d37;--bg:#eef3f5;--paper:#fff;--text:#1f2937;--muted:#667785;--line:#d4dee3;--danger:#9b2c2c;--shadow:0 12px 35px rgba(17,57,78,.16);font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden;background:linear-gradient(145deg,#0f3042,#286a82)}.login-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 18% 20%,rgba(255,255,255,.18),transparent 25%),radial-gradient(circle at 82% 80%,rgba(43,124,83,.35),transparent 28%),repeating-linear-gradient(90deg,transparent 0 55px,rgba(255,255,255,.025) 56px 57px)}.login-card{position:relative;width:min(460px,100%);background:rgba(255,255,255,.97);border-radius:22px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.32);text-align:center;border:1px solid rgba(255,255,255,.7)}.login-logo{width:128px;height:128px;object-fit:contain;margin-top:-80px;filter:drop-shadow(0 7px 8px rgba(0,0,0,.18))}.login-card h1{color:var(--navy);margin:8px 0 4px;font-size:1.8rem}.login-subtitle{color:var(--muted);margin:0 0 22px}.login-card label,.modal label{display:block;text-align:left;font-weight:700;margin:14px 0 6px;color:var(--navy)}input,textarea,select{width:100%;border:1px solid #b8c7ce;border-radius:10px;padding:12px 13px;background:#fff;color:var(--text);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--navy2);box-shadow:0 0 0 3px rgba(28,88,114,.12)}.password-row{display:flex;gap:8px}.password-row input{flex:1}.primary-button,.secondary-button,.toolbar-button,.icon-button,.tab,.link-button{border:0;cursor:pointer}.primary-button{background:linear-gradient(135deg,var(--navy2),var(--navy));color:white;border-radius:10px;padding:11px 17px;font-weight:800;box-shadow:0 5px 14px rgba(17,57,78,.2)}.primary-button:hover{filter:brightness(1.08)}.secondary-button{background:#e3eaed;color:var(--navy);border-radius:10px;padding:11px 17px;font-weight:700}.icon-button{min-width:42px;border-radius:10px;background:#e8eff2;color:var(--navy);padding:8px}.message{min-height:1.3em;color:var(--danger);font-weight:600}.login-foot{font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}.loading-screen{min-height:100vh;display:grid;place-items:center;align-content:center;gap:14px;background:#f6f9fa;text-align:center}.loading-screen img{width:130px}.spinner{width:44px;height:44px;border:5px solid #d8e3e7;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app{min-height:100vh}.topbar{height:74px;background:linear-gradient(100deg,var(--navy),#174f69);color:white;display:flex;align-items:center;gap:18px;padding:8px 16px;position:sticky;top:0;z-index:20;box-shadow:0 4px 16px rgba(0,0,0,.18)}.brand{display:flex;align-items:center;gap:10px;min-width:260px;cursor:pointer}.brand img{width:58px;height:58px}.brand strong,.brand small{display:block}.brand small{opacity:.75;margin-top:2px}.top-search{flex:1;display:flex;gap:8px;max-width:760px}.top-search input{border:0}.top-actions{display:flex;gap:7px}.toolbar-button{background:rgba(255,255,255,.12);color:white;padding:10px 12px;border-radius:9px;font-weight:700;white-space:nowrap}.toolbar-button:hover{background:rgba(255,255,255,.22)}.toolbar-button.danger{background:rgba(155,44,44,.65)}.workspace{display:grid;grid-template-columns:350px minmax(0,1fr);min-height:calc(100vh - 74px)}.sidebar{background:#f9fbfc;border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:74px;height:calc(100vh - 74px);z-index:10}.sidebar-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.tab{padding:13px 5px;background:#edf3f5;color:var(--navy);font-size:.83rem;font-weight:800;border-bottom:3px solid transparent}.tab.active{background:white;border-bottom-color:var(--green)}.sidebar-content{padding:12px;overflow:auto;flex:1}.sidebar-footer{display:flex;justify-content:space-around;border-top:1px solid var(--line);padding:8px}.link-button{background:transparent;color:var(--navy2);font-weight:700;padding:7px}.viewer{padding:26px;overflow:auto;min-width:0}.welcome{max-width:1180px;margin:auto}.hero{background:linear-gradient(135deg,#fff,#edf7f2);border:1px solid #d5e7de;border-radius:22px;padding:28px;display:flex;align-items:center;gap:24px;box-shadow:var(--shadow)}.hero img{width:135px}.hero h1{color:var(--navy);font-size:2.1rem;margin:0 0 8px}.hero p{font-size:1.08rem;color:var(--muted);margin:0}.library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:24px}.library-card{background:white;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 8px 23px rgba(17,57,78,.09);cursor:pointer;transition:.18s transform,.18s box-shadow;position:relative;overflow:hidden}.library-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.library-card .card-icon{width:68px;height:68px;border-radius:16px;display:grid;place-items:center;font-size:2rem;background:#e8f2ee;color:var(--green)}.library-card h2{color:var(--navy);margin:16px 0 6px}.library-card p{color:var(--muted);margin:0}.library-card .badge{display:inline-block;margin-top:12px;background:#edf3f5;color:var(--navy2);font-size:.8rem;padding:5px 9px;border-radius:999px}.library-card.custom:before{content:"BUKU TAMBAHAN";position:absolute;right:-34px;top:18px;transform:rotate(35deg);font-size:.62rem;font-weight:900;background:var(--gold);padding:5px 35px;color:#fff}.tree-group{margin-bottom:12px}.tree-title,.tree-item,.tree-subitem{width:100%;text-align:left;border:0;background:transparent;border-radius:8px;padding:8px 9px;cursor:pointer;color:var(--text)}.tree-title{font-weight:900;color:var(--navy);background:#eaf1f4}.tree-item:hover,.tree-subitem:hover{background:#eaf2ef}.tree-item.active,.tree-subitem.active{background:#d9ebe3;color:#145538;font-weight:800}.tree-subitem{padding-left:24px;font-size:.92rem}.chapter-list{display:none;margin-left:8px;border-left:2px solid #dbe5e8}.chapter-list.open{display:block}.filter-input{margin-bottom:10px}.doc-shell{max-width:1120px;margin:auto}.doc-header{background:white;border:1px solid var(--line);border-radius:16px;padding:18px 20px;box-shadow:0 5px 18px rgba(17,57,78,.08);display:flex;justify-content:space-between;gap:15px;align-items:center;position:sticky;top:86px;z-index:5}.doc-header h1{margin:0;color:var(--navy);font-size:1.65rem}.doc-meta{color:var(--muted);margin-top:5px}.doc-actions{display:flex;gap:8px;flex-wrap:wrap}.small-button{border:1px solid var(--line);background:#f5f8f9;color:var(--navy);border-radius:9px;padding:8px 11px;cursor:pointer;font-weight:700}.small-button.active{background:var(--green);color:white}.verse-list,.page-content{margin-top:18px}.quran-verse{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(0,1.2fr);gap:15px;background:white;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:15px;scroll-margin-top:165px}.verse-number{display:flex;align-items:flex-start;justify-content:center}.verse-number span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#e7f2ed;color:var(--green);font-weight:900}.arabic{font-family:"Noto Naskh Arabic","Amiri","Scheherazade New",serif;font-size:1.65rem;line-height:2.05;text-align:right;direction:rtl;color:#132e3b}.translation{line-height:1.65}.bookmark-mini{float:right;border:0;background:transparent;font-size:1.2rem;cursor:pointer;color:#9aaab2}.bookmark-mini.saved{color:var(--gold)}.bible-table{width:100%;border-collapse:separate;border-spacing:0 10px;margin-top:18px}.bible-table th{background:var(--navy);color:white;padding:11px;text-align:left;position:sticky;top:168px}.bible-table td{background:white;padding:14px;vertical-align:top;border-top:1px solid var(--line);border-bottom:1px solid var(--line);line-height:1.55}.bible-table td:first-child{border-left:1px solid var(--line);border-radius:12px 0 0 12px}.bible-table td:last-child{border-right:1px solid var(--line);border-radius:0 12px 12px 0}.bible-heading td{background:#e9f1f4!important;color:var(--navy);font-weight:900;border-radius:10px!important}.verse-ref{font-weight:900;color:var(--green);margin-right:6px}.page-card{background:white;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 5px 18px rgba(17,57,78,.07)}.page-card p{line-height:1.72;margin:0 0 1em}.page-card p[dir=rtl]{font-family:"Noto Naskh Arabic","Amiri",serif;font-size:1.35rem;line-height:2;text-align:right}.search-box{background:white;border:1px solid var(--line);border-radius:14px;padding:14px}.search-controls{display:grid;grid-template-columns:1fr 145px 145px auto;gap:8px}.results{margin-top:12px}.result{background:white;border:1px solid var(--line);border-radius:12px;padding:13px;margin-bottom:9px;cursor:pointer}.result:hover{border-color:var(--green)}.result h4{margin:0 0 5px;color:var(--navy)}.result p{margin:0;color:#4e5e67;line-height:1.45}.result small{color:var(--muted)}mark{background:#fff0a8;border-radius:3px;padding:0 2px}.empty{padding:30px;text-align:center;color:var(--muted)}.bookmark-row,.history-row{display:flex;gap:9px;align-items:flex-start;border-bottom:1px solid var(--line);padding:10px 2px}.bookmark-row button,.history-row button{flex:1;text-align:left;border:0;background:transparent;cursor:pointer}.bookmark-row strong,.history-row strong{display:block;color:var(--navy)}.notes-panel{max-width:850px;margin:auto}.notes-panel textarea{min-height:280px;line-height:1.6}.modal{border:0;border-radius:18px;padding:0;width:min(650px,calc(100% - 30px));box-shadow:0 25px 80px rgba(0,0,0,.35)}.modal::backdrop{background:rgba(6,25,35,.62)}.modal form,.modal .help-content{padding:0 22px 22px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;color:var(--navy)}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.modal.wide{width:min(760px,calc(100% - 30px))}.small-note{font-size:.85rem;color:var(--muted)}.backup-panel{max-width:800px;margin:auto;background:white;border:1px solid var(--line);border-radius:16px;padding:22px}.backup-actions{display:flex;gap:10px;flex-wrap:wrap}.mobile-only{display:none}.status-pill{display:inline-flex;align-items:center;gap:6px;background:#e5f2eb;color:#176140;padding:5px 9px;border-radius:999px;font-size:.8rem;font-weight:800}
@media(max-width:1050px){.top-actions .toolbar-button:not(.danger){display:none}.workspace{grid-template-columns:310px minmax(0,1fr)}.brand{min-width:220px}.search-controls{grid-template-columns:1fr 130px auto}.search-controls select:nth-of-type(2){display:none}}
@media(max-width:760px){.topbar{height:auto;min-height:68px;flex-wrap:wrap;padding:7px 10px}.mobile-only{display:block}.brand{min-width:0;flex:1}.brand strong{font-size:.92rem}.brand small{display:none}.brand img{width:46px;height:46px}.top-search{order:3;flex-basis:100%;max-width:none}.top-actions{display:flex}.top-actions .toolbar-button{display:none}.top-actions .danger{display:block}.workspace{display:block}.sidebar{position:fixed;left:-100%;top:0;height:100vh;width:min(88vw,350px);box-shadow:8px 0 32px rgba(0,0,0,.25);transition:left .2s;z-index:40;padding-top:10px}.sidebar.open{left:0}.viewer{padding:14px}.hero{padding:20px;display:block;text-align:center}.hero img{width:100px}.hero h1{font-size:1.6rem}.doc-header{top:126px;display:block;padding:14px}.doc-actions{margin-top:10px}.quran-verse{grid-template-columns:48px 1fr}.quran-verse .arabic{grid-column:2}.quran-verse .translation{grid-column:2}.bible-table,.bible-table tbody,.bible-table tr,.bible-table td{display:block}.bible-table thead{display:none}.bible-table tr{margin-bottom:12px}.bible-table td{border:1px solid var(--line)!important;border-radius:0!important}.bible-table td:first-child{border-radius:12px 12px 0 0!important}.bible-table td:last-child{border-radius:0 0 12px 12px!important}.bible-table td:before{content:attr(data-label);display:block;font-weight:900;color:var(--navy);margin-bottom:5px}.search-controls{grid-template-columns:1fr}.library-grid{grid-template-columns:1fr}.top-actions{margin-left:auto}.viewer{min-height:calc(100vh - 126px)}}
@media print{.topbar,.sidebar,.doc-actions,.bookmark-mini{display:none!important}.workspace{display:block}.viewer{padding:0}.doc-header{position:static;box-shadow:none}.quran-verse,.page-card{break-inside:avoid}}


/* Progress Hafazan — v2.3 */
.sidebar-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
.tab{font-size:.76rem}
.hafazan-card .card-icon{background:#e8f4ec;color:#1d724a;font-weight:900}
.hafazan-shell{max-width:1240px}
.hafazan-header{background:linear-gradient(135deg,#11394e,#1c5872);color:#fff;border-radius:18px;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:18px;box-shadow:var(--shadow)}
.hafazan-header h1{margin:0;font-size:1.8rem}.hafazan-header p{margin:6px 0 0;opacity:.84}.hafazan-header .small-button{background:rgba(255,255,255,.96)}
.hafazan-summary{display:grid;grid-template-columns:repeat(4,minmax(115px,1fr)) minmax(310px,2.4fr);gap:12px;margin:18px 0}
.hafazan-kpi,.hafazan-progress-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:0 5px 16px rgba(17,57,78,.06)}
.hafazan-kpi strong{display:block;color:var(--navy);font-size:1.75rem}.hafazan-kpi span{color:var(--muted);font-size:.88rem}.hafazan-kpi.primary{border-color:#9acbb2;background:#f0faf5}.hafazan-kpi.warning{border-color:#e6c989;background:#fffaf0}
.hafazan-progress-card>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.hafazan-progress-card strong{font-size:1.75rem;color:var(--green)}.hafazan-progress-card span{color:var(--navy);font-weight:800}.hafazan-progress-card small{color:var(--muted)}
.hafazan-progress-track{height:13px;background:#dde7ea;border-radius:999px;position:relative;overflow:visible;margin:11px 0}.hafazan-progress-track i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#2b7c53,#50a879);border-radius:999px}.hafazan-progress-track b{position:absolute;top:-4px;width:2px;height:21px;background:#d69d37}.hafazan-progress-track .target-max{background:#11394e}
.hafazan-issues{display:flex;gap:10px;align-items:flex-start;background:#fff7e7;border:1px solid #e9c97d;border-radius:13px;padding:13px 15px;color:#674b0c;margin-bottom:14px}.hafazan-issues strong{white-space:nowrap}.hafazan-issues span{line-height:1.45}
.hafazan-filters{display:grid;grid-template-columns:minmax(220px,1fr) 175px 190px auto;gap:10px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px;margin-bottom:14px;position:sticky;top:84px;z-index:4;box-shadow:0 5px 18px rgba(17,57,78,.07)}
.hafazan-filters label{font-weight:800;color:var(--navy)}.hafazan-filter-count{color:var(--muted);font-size:.88rem;padding:0 4px 12px}
.hafazan-list{display:grid;gap:12px}.hafazan-item{display:grid;grid-template-columns:52px minmax(0,1fr) 190px;gap:14px;background:#fff;border:1px solid var(--line);border-left:5px solid #b8c8cf;border-radius:15px;padding:15px;box-shadow:0 4px 14px rgba(17,57,78,.05)}.hafazan-item.status-done{border-left-color:#2b7c53}.hafazan-item.status-learning{border-left-color:#d69d37}.hafazan-item.status-review{border-left-color:#a6493e;background:#fffdfb}.hafazan-item[hidden]{display:none}
.hafazan-order{width:42px;height:42px;border-radius:50%;background:#e8f1f4;color:var(--navy);display:grid;place-items:center;font-weight:900}
.hafazan-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.hafazan-title-row h3{margin:0;color:var(--navy);font-size:1.05rem}.hafazan-title-row h3 span{color:var(--green)}.hafazan-title-row small{display:block;color:var(--muted);margin-top:4px}
.hafazan-status-badge{white-space:nowrap;border-radius:999px;background:#edf3f5;padding:5px 9px;color:var(--navy);font-size:.76rem;font-weight:900}.status-done .hafazan-status-badge{background:#dff1e7;color:#176140}.status-learning .hafazan-status-badge{background:#fff0d1;color:#7b5200}.status-review .hafazan-status-badge{background:#f9dfda;color:#8b3028}
.hafazan-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch}.hafazan-actions label{font-weight:800;color:var(--navy);font-size:.82rem}.hafazan-actions select{margin-top:5px}.hafazan-actions .small-button{text-align:center}
.hafazan-text{margin-top:11px;border-top:1px solid #e3eaed;padding-top:9px}.hafazan-text summary{cursor:pointer;color:var(--navy2);font-weight:800}.hafazan-arabic{padding:12px 4px 2px;font-family:"Noto Naskh Arabic","Amiri","Scheherazade New",serif;font-size:1.42rem;line-height:2.05;color:#132e3b}.hafazan-arabic-line span{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e7f2ed;color:var(--green);font:700 .72rem Inter,Segoe UI,sans-serif;margin-left:8px}.hafazan-translation p{margin:7px 0;line-height:1.55}
.hafazan-warning,.hafazan-source-issue{margin-top:9px;border-radius:9px;padding:8px 10px;font-size:.85rem}.hafazan-warning{background:#f3f5f6;color:#58666d}.hafazan-source-issue{background:#fff0ec;color:#87352c;border:1px solid #f0c6bd}
.hafazan-side h3{margin:4px 0 8px;color:var(--navy)}.hafazan-side-percent{font-size:2.2rem;font-weight:900;color:var(--green)}.hafazan-side p{color:var(--muted);line-height:1.5}
@media(max-width:1040px){.hafazan-summary{grid-template-columns:repeat(4,1fr)}.hafazan-progress-card{grid-column:1/-1}.hafazan-item{grid-template-columns:48px minmax(0,1fr)}.hafazan-actions{grid-column:2;flex-direction:row;align-items:end}.hafazan-actions label{flex:1}.hafazan-actions .small-button{white-space:nowrap}.hafazan-filters{grid-template-columns:1fr 1fr 1fr}.hafazan-filter-count{grid-column:1/-1;padding-bottom:0}}
@media(max-width:760px){.sidebar-tabs{overflow-x:auto;grid-template-columns:repeat(5,78px)}.hafazan-header{display:block;padding:18px}.hafazan-header .doc-actions{margin-top:13px}.hafazan-summary{grid-template-columns:1fr 1fr}.hafazan-progress-card{grid-column:1/-1}.hafazan-issues{display:block}.hafazan-issues strong{display:block;margin-bottom:5px}.hafazan-filters{position:static;grid-template-columns:1fr}.hafazan-filter-count{grid-column:auto}.hafazan-item{grid-template-columns:42px minmax(0,1fr);padding:12px}.hafazan-order{width:36px;height:36px}.hafazan-title-row{display:block}.hafazan-status-badge{display:inline-block;margin-top:8px}.hafazan-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr auto}.hafazan-arabic{font-size:1.25rem}}

/* RUHAN v2.0 - fixed workspace, owner tools, clickable verses and game */
html,body{height:100%;overflow:hidden}.app{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.topbar{position:relative;top:auto;flex:0 0 74px}.workspace{flex:1;min-height:0;height:auto}.sidebar{position:relative;top:auto;height:100%;min-height:0;overflow:hidden}.sidebar-tabs{flex:0 0 auto;grid-template-columns:repeat(6,minmax(0,1fr))}.sidebar-content{min-height:0}.viewer{height:100%;min-height:0;overflow-y:auto;scroll-padding-top:150px}.doc-header{top:0;z-index:8}.quran-verse,.bible-table tr[id]{scroll-margin-top:150px}.brand em{display:block;font-size:.68rem;font-style:normal;opacity:.62;margin-top:2px}.developer-credit{font-size:.8rem;color:var(--green);font-weight:800;margin:0 0 14px}.home-credit{margin:6px 0 0!important}.login-foot small{font-weight:800;color:var(--navy2)}
.clickable-verse{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.clickable-verse:hover,.clickable-verse:focus{border-color:#74ad8e;box-shadow:0 7px 20px rgba(43,124,83,.14);outline:none}.clickable-verse:active{transform:scale(.998)}.inline-reference{border:0;background:#e7f2ed;color:#145538;border-radius:6px;padding:2px 5px;font-weight:800;cursor:pointer;text-decoration:underline}.embedded-figure{margin:0 auto 22px;text-align:center}.embedded-figure img{max-width:min(100%,720px);max-height:520px;object-fit:contain;border-radius:12px}.embedded-figure figcaption{font-size:.78rem;color:var(--muted);margin-top:6px}.imported-html img{max-width:100%;height:auto}
.action-dialog-body{padding:18px 22px 24px}.action-dialog-body>p{white-space:pre-wrap;max-height:220px;overflow:auto;line-height:1.6;background:#f5f8f9;border-radius:10px;padding:12px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.action-grid button:last-child{grid-column:1/-1}.danger-text{color:var(--danger)!important}
.game-card .card-icon{background:#fff5d8;color:#8a6200}.game-shell,.quiz-shell,.admin-shell,.crossref-shell{max-width:1120px;margin:auto}.game-header{background:linear-gradient(135deg,#11394e,#2b7c53);color:white;border-radius:18px;padding:24px;box-shadow:var(--shadow)}.game-header h1{margin:0}.game-header p{margin:7px 0 0;opacity:.85}.level-list{display:grid;gap:12px;margin-top:18px}.level-card{display:grid;grid-template-columns:58px 1fr auto;gap:16px;align-items:center;background:white;border:1px solid var(--line);border-radius:15px;padding:16px}.level-card.locked{opacity:.58}.level-number{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#e7f2ed;color:var(--green);font-size:1.25rem;font-weight:900}.level-card h3{margin:0;color:var(--navy)}.level-card p{margin:5px 0;color:var(--muted)}.quiz-shell{max-width:920px}.quiz-top{display:flex;justify-content:space-between;background:var(--navy);color:white;border-radius:14px 14px 0 0;padding:12px 16px;font-weight:800}.quiz-card{background:white;border:1px solid var(--line);border-radius:0 0 18px 18px;padding:25px;box-shadow:var(--shadow)}.quiz-card h2{line-height:1.7;color:var(--navy);white-space:pre-wrap}.choice-grid{display:grid;gap:11px}.choice-button{border:1px solid var(--line);background:#f8fafb;color:var(--navy);border-radius:12px;padding:14px;text-align:left;cursor:pointer;font-weight:750}.choice-button:hover{border-color:var(--green)}.choice-button.correct{background:#dff1e7;border-color:#2b7c53;color:#145538}.choice-button.wrong{background:#f9dfda;border-color:#a6493e;color:#8b3028}.quiz-feedback{margin-top:18px;border-radius:12px;padding:14px}.quiz-feedback.ok{background:#e5f4eb}.quiz-feedback.bad{background:#fff0ec}.quiz-feedback button{margin-right:8px}.result-card{max-width:650px;margin:5vh auto;text-align:center;background:white;border:1px solid var(--line);border-radius:22px;padding:35px;box-shadow:var(--shadow)}.result-score{font-size:4rem;font-weight:900;color:var(--green)}.game-side h3{color:var(--navy)}
.user-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:12px 0}.user-row>div{flex:1}.user-row strong,.user-row small{display:block}.user-row small{color:var(--muted);margin-top:4px}.owner-row{background:#f0faf5;padding:12px;border-radius:10px}.celebration-dialog{overflow:hidden;text-align:center}.celebration-body{position:relative;padding:35px 28px;z-index:2}.trophy{font-size:4rem}.celebration-body h2{font-size:2rem;color:var(--navy);margin:8px}.confetti-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti-layer i{position:absolute;left:var(--x);top:-20px;width:9px;height:16px;background:hsl(calc(var(--x)*3.6),75%,55%);transform:rotate(var(--r));animation:confetti 2.2s var(--d) ease-in forwards}@keyframes confetti{to{top:110%;transform:rotate(720deg)}}
@media(max-width:1050px){.sidebar-tabs{grid-template-columns:repeat(6,1fr)}.tab{font-size:.68rem}}
@media(max-width:760px){html,body{overflow:hidden}.app{height:100dvh}.topbar{flex:0 0 auto}.workspace{min-height:0}.viewer{height:100%;min-height:0;padding:12px;scroll-padding-top:190px}.sidebar{height:100dvh}.doc-header{top:0}.quran-verse,.bible-table tr[id]{scroll-margin-top:190px}.sidebar-tabs{grid-template-columns:repeat(6,78px)}.brand em{display:none}.action-grid{grid-template-columns:1fr}.action-grid button:last-child{grid-column:auto}.level-card{grid-template-columns:48px 1fr}.level-card>button{grid-column:1/-1}.quiz-card{padding:16px}.quiz-card h2{font-size:1.25rem}.user-row{flex-wrap:wrap}.user-row>div{flex-basis:100%}}
.sidebar-tabs .tab{font-size:.62rem;white-space:nowrap;padding-left:2px;padding-right:2px}
@media(max-width:760px){.sidebar-tabs .tab{font-size:.7rem}}


/* RUHAN v2.3 — bacaan rumi & rujukan pelajaran */
.rumi-reading{grid-column:2/-1;margin:4px 0 2px;padding:10px 13px;border-left:4px solid var(--green);background:#f0f8f4;border-radius:9px;color:#29434f;line-height:1.65;font-size:.96rem}
.rumi-reading strong{color:var(--navy);margin-right:5px}.rumi-reading small{display:block;color:var(--muted);font-size:.73rem;margin-top:4px}.rumi-toggle.active{background:#dff1e7;border-color:#69a786;color:#145538}.hafazan-rumi{margin-top:10px}.learning-reference{margin:10px 0;padding:12px 14px;border:1px solid #bdd6c8;border-radius:10px;background:#f1f8f4;color:#244a36}.learning-reference p{margin:6px 0 0;line-height:1.55}.quiz-feedback .learning-reference strong{color:#145538}
@media(max-width:760px){.rumi-reading{grid-column:1/-1;font-size:.9rem}.doc-actions .rumi-toggle{order:10;width:100%}}


/* RUHAN v2.4 — pembaikan Android, multiview, fon Arab dan dashboard kompak */
#backButton{flex:0 0 auto}.main-results{padding-bottom:28px}.search-results-shell{max-width:1120px;margin:auto}.compact-header{position:sticky;top:0}.arabic,.hafazan-arabic,.page-card p[dir=rtl]{font-family:"Noto Naskh Arabic","Noto Sans Arabic","Droid Arabic Naskh","Traditional Arabic","Arial",serif!important;font-weight:400!important;font-synthesis:none;letter-spacing:0;word-spacing:.08em;line-height:2.15;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.arabic{font-size:1.8rem}.page-card p[dir=rtl]{font-size:1.55rem}.hafazan-arabic{font-size:1.55rem}.rumi-reading{font-family:Inter,"Segoe UI",Arial,sans-serif;letter-spacing:.01em}.sidebar-backdrop{display:none}
@media(min-width:761px){#backButton{display:inline-grid;place-items:center}.viewer{display:block!important}}
@media(max-width:760px){
 html,body{width:100%;height:100%;overflow:hidden}.app{height:100dvh;overflow:hidden}.topbar{position:relative!important;z-index:50;gap:8px;padding:7px 9px}.topbar #backButton{display:grid;place-items:center;min-width:44px;height:44px}.brand{gap:7px}.brand img{width:42px;height:42px}.brand strong{font-size:1rem}.top-search{gap:7px}.top-search input{min-width:0;padding:10px}.top-search .primary-button{padding:10px 14px}.workspace{display:block!important;position:relative;min-height:0;height:100%;overflow:hidden}.viewer{display:block!important;position:relative;width:100%!important;height:100%!important;min-height:0!important;overflow-y:auto!important;padding:10px!important;background:var(--bg);z-index:1}.viewer:empty:before{content:"Kandungan sedang disediakan…";display:block;padding:32px;text-align:center;color:var(--muted)}
 .sidebar{position:fixed!important;left:-100%!important;top:0!important;width:min(88vw,360px)!important;height:100dvh!important;min-height:0!important;background:#f9fbfc!important;z-index:80!important;box-shadow:10px 0 34px rgba(0,0,0,.28);transition:left .2s ease;padding-top:env(safe-area-inset-top);overflow:hidden!important}.sidebar.open{left:0!important}.sidebar-content{overflow-y:auto!important;min-height:0}.sidebar-tabs{grid-template-columns:repeat(6,82px)!important;overflow-x:auto!important;flex:0 0 auto}.sidebar-footer{flex:0 0 auto;background:#fff}.sidebar-open:after{content:"";position:fixed;inset:0;background:rgba(7,25,35,.45);z-index:70}
 .welcome{width:100%;margin:0}.hero{padding:14px;display:flex;text-align:left;gap:12px}.hero img{width:66px}.hero h1{font-size:1.35rem;margin-bottom:3px}.hero p{font-size:.88rem}.library-grid{grid-template-columns:1fr;gap:11px;margin-top:12px}.library-card{padding:14px;display:grid;grid-template-columns:52px 1fr;column-gap:12px}.library-card .card-icon{width:52px;height:52px;font-size:1.35rem;grid-row:1/4}.library-card h2{font-size:1.08rem;margin:2px 0 3px}.library-card p{font-size:.86rem}.library-card .badge{margin-top:7px;width:max-content}
 .doc-shell,.game-shell,.quiz-shell,.hafazan-shell,.search-results-shell{width:100%;max-width:none;margin:0}.doc-header,.hafazan-header{position:sticky!important;top:0!important;z-index:9;padding:10px 12px!important;border-radius:12px!important;display:grid!important;grid-template-columns:1fr;gap:8px;margin:0!important}.doc-header h1,.hafazan-header h1{font-size:1.22rem!important;line-height:1.25;margin:0}.doc-meta,.hafazan-header p{font-size:.82rem;margin-top:2px}.doc-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0!important}.doc-actions .small-button{font-size:.78rem;padding:7px 5px;min-width:0}.doc-actions .rumi-toggle{order:0!important;width:auto!important;grid-column:span 2}.verse-list,.page-content{margin-top:10px}.quran-verse{grid-template-columns:38px 1fr!important;gap:8px;padding:12px 10px;margin-bottom:10px}.quran-verse .translation,.quran-verse .arabic,.quran-verse .rumi-reading{grid-column:2!important}.verse-number span{width:34px;height:34px}.translation{font-size:.98rem;line-height:1.55}.arabic{font-size:1.65rem!important;line-height:2.1!important}.rumi-reading{font-size:.88rem;padding:8px 10px}.page-card{padding:15px}.bible-table{margin-top:10px}.bible-table td{padding:12px}.hafazan-summary{grid-template-columns:repeat(2,1fr)!important;gap:8px;margin-top:10px}.hafazan-kpi,.hafazan-progress-card{padding:10px!important}.hafazan-progress-card{grid-column:1/-1}.hafazan-filters{position:static!important;grid-template-columns:1fr!important;padding:10px!important}.hafazan-list{gap:9px}.hafazan-item{display:grid!important;grid-template-columns:36px 1fr!important;padding:10px!important}.hafazan-actions{grid-column:1/-1!important}.hafazan-text{display:block}.game-header{padding:15px}.level-card{padding:12px}.quiz-top{font-size:.82rem}.quiz-card{padding:14px}.quiz-card h2{font-size:1.1rem;line-height:1.55}.choice-button{padding:11px;font-size:.92rem}.main-results{margin-top:10px}.result{padding:12px}.result h4{font-size:.98rem}.result p{font-size:.9rem}
}

/* RUHAN v2.5 — offline, dashboard hafazan, ikon koleksi, rujukan ayat dan panel statik */
.login-card{width:min(94vw,680px);max-height:96dvh;overflow:auto}
.login-hafazan-card{margin:14px 0 18px;padding:14px 16px;border:1px solid #bed6ca;border-radius:16px;background:linear-gradient(145deg,#f6fbf8,#edf6f1);box-shadow:0 8px 24px rgba(15,59,49,.09);text-align:left}
.login-hafazan-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;color:var(--navy);font-weight:850}.login-hafazan-head small{font-weight:500;color:var(--muted)}
.login-hafazan-ref{margin-top:10px;font-weight:850;color:var(--green)}
.login-hafazan-arabic{font-family:"Noto Naskh Arabic","Droid Arabic Naskh","Traditional Arabic","Arial",serif;font-size:1.75rem;line-height:2.05;text-align:right;color:#152f3d;margin-top:8px}
.login-hafazan-rumi{font-size:.92rem;line-height:1.55;color:#36525e;margin-top:8px;font-style:italic}.login-hafazan-translation{font-size:.94rem;line-height:1.55;color:#263f4a;margin-top:7px}
.collection-icon{display:grid!important;place-items:center!important;padding:9px!important;background:#eef5f2!important;color:#17485b!important}.collection-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.collection-icon .accent{stroke:#b04a42}.icon-quran{background:#edf7f1!important;color:#176044!important}.icon-bible{background:#f9eeee!important;color:#7d3434!important}.icon-tadabbur{background:#eef3f8!important;color:#254e69!important}.icon-hafazan{background:#eef8f3!important;color:#176044!important}.icon-game{background:#fff7e7!important;color:#8a6200!important}.icon-admin{background:#f1eff9!important;color:#51427f!important}.icon-add{background:#edf5fa!important;color:#205c7a!important}
.admin-card{border-color:#c9c1e3}.admin-card:hover{border-color:#75649d}
.sidebar-content.tree-mode{overflow:hidden!important;display:flex;flex-direction:column;min-height:0;padding:0!important}.tree-sticky{position:relative;z-index:4;flex:0 0 auto;background:#f9fbfc;padding:12px 12px 8px;border-bottom:1px solid var(--line);box-shadow:0 5px 12px rgba(15,40,52,.05)}.tree-sticky .filter-input{margin:0 0 8px}.all-books-button{margin:0!important;width:100%;border-radius:9px;background:#edf4f6!important}.tree-scroll{min-height:0;flex:1 1 auto;overflow-y:auto;padding:8px 12px 16px;overscroll-behavior:contain}
.tadabbur-paragraph{margin:0 0 1.05em}.tadabbur-paragraph>p{margin-bottom:.45em}.inline-reference{display:inline;border:0;border-bottom:1px dashed #2d7355;background:#eef8f2;color:#175c40;border-radius:5px;padding:1px 4px;font:inherit;cursor:pointer}.reference-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:3px 0 10px;padding:8px 10px;background:#f5f8fa;border-left:3px solid #648b9e;border-radius:7px}.reference-strip>span{font-size:.75rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.reference-chip{border:1px solid #a8c7b8;background:white;color:#1f6247;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:750;cursor:pointer}.reference-chip.bible{border-color:#d5b5b5;color:#7c3535}
@media(max-width:760px){.login-card{width:96vw;padding:16px 14px}.login-logo{width:62px;height:62px}.login-card h1{font-size:1.55rem}.login-subtitle,.developer-credit{margin-top:2px}.login-hafazan-card{padding:11px 12px;margin:10px 0 13px}.login-hafazan-head{display:block}.login-hafazan-head small{display:block;margin-top:2px}.login-hafazan-arabic{font-size:1.48rem;line-height:1.9}.login-hafazan-rumi,.login-hafazan-translation{font-size:.84rem}.reference-strip{padding:7px 8px}.reference-chip{font-size:.72rem}.tree-sticky{padding-top:10px}.collection-icon{width:48px!important;height:48px!important}}


/* RUHAN v2.5.2 — login tidak terpotong & Endless Game */
.login-screen{min-height:100dvh;height:100dvh;overflow-y:auto;overflow-x:hidden;place-items:start center;padding:calc(env(safe-area-inset-top) + 20px) 12px calc(env(safe-area-inset-bottom) + 24px);-webkit-overflow-scrolling:touch}
.login-card{margin:auto 0;max-height:none!important;overflow:visible!important;padding-top:22px}
.login-logo{margin-top:0!important;width:88px;height:88px}
.endless-card{border-color:#d8b56b;background:linear-gradient(135deg,#fff,#fff8e8)}
.endless-card .level-number{background:#fff0c8;color:#7a5300}
@media(max-width:760px){
 .login-screen{display:flex;align-items:flex-start;justify-content:center;padding-top:calc(env(safe-area-inset-top) + 16px);padding-bottom:calc(env(safe-area-inset-bottom) + 20px)}
 .login-card{margin:0;width:min(96vw,680px);padding:14px 14px 18px;border-radius:18px}
 .login-logo{width:68px!important;height:68px!important;margin:0 auto 3px!important}
 .login-card h1{margin:2px 0 2px!important}
 .login-subtitle{margin-bottom:4px!important}
 .developer-credit{margin:3px 0 7px!important}
 .login-hafazan-card{max-height:none}
}

/* RUHAN v2.5.5 */
.collection-icon.image-icon{display:flex;align-items:center;justify-content:center;overflow:hidden}
.collection-icon.image-icon img{width:82%;height:82%;object-fit:contain;display:block}
.testament-toggle{width:100%;display:flex!important;align-items:center;justify-content:space-between;border:0;cursor:pointer}
.testament-toggle b{transition:transform .18s ease}.testament-toggle.open b{transform:rotate(180deg)}
.testament-list{display:none}.testament-list.open{display:block}
.settings-page{max-width:980px;margin:0 auto;padding:22px}.settings-page>header{margin-bottom:18px}.settings-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}
.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.settings-grid label,.setting-switch{display:flex;flex-direction:column;gap:6px;font-weight:700}.setting-switch{flex-direction:row;align-items:center}
.setting-checks{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0 18px}.setting-checks label{display:flex;align-items:center;gap:7px;background:#f2f7f8;padding:9px 12px;border-radius:12px}
.widget-preview{white-space:pre-wrap;direction:ltr;text-align:left;background:#eff8f3;border-left:5px solid #2c8b60;padding:15px;border-radius:14px;font-family:inherit;line-height:1.65}
.login-card{max-height:calc(100dvh - 110px)!important;overflow:hidden!important;display:flex;flex-direction:column;min-height:0}
.login-hafazan-card{overflow-y:auto;max-height:min(39dvh,380px);min-height:110px;overscroll-behavior:contain;flex:0 1 auto}
#loginForm{flex:0 0 auto}.login-foot{flex:0 0 auto}
@media(max-height:720px){.login-logo{width:52px!important;height:52px!important}.login-hafazan-card{min-height:88px;max-height:24dvh}.login-foot{display:none}}
@media(max-width:720px){.settings-grid{grid-template-columns:1fr}.settings-page{padding:12px}.settings-card{padding:16px}.login-card{max-height:calc(100dvh - 24px)!important;overflow:hidden!important;padding-top:12px}.login-logo{width:68px;height:68px}.login-card h1{margin:2px 0}.login-subtitle,.developer-credit{margin:2px 0}.login-hafazan-card{max-height:34dvh}.login-foot{padding-top:8px}.testament-list .tree-item{padding-left:24px}}

/* RUHAN 2.6.0: accessibility, continuous Tadabbur, tablet */
html[data-font-size="small"]{font-size:14px}html[data-font-size="medium"]{font-size:16px}html[data-font-size="large"]{font-size:18px}
html[data-theme="dark"]{--navy:#d9eef7;--navy2:#83c8e2;--green:#78d6a7;--gold:#f1be5b;--bg:#08151c;--paper:#10232d;--text:#eef6f8;--muted:#b7c9d0;--line:#2a4653;--danger:#ff9c9c;--shadow:0 12px 35px rgba(0,0,0,.42);color-scheme:dark;background:#08151c}
html[data-theme="dark"] body,html[data-theme="dark"] .viewer,html[data-theme="dark"] .app{background:#08151c;color:var(--text)}
html[data-theme="dark"] .sidebar,html[data-theme="dark"] .sidebar-content,html[data-theme="dark"] .tree-sticky{background:#0c1d26!important;color:var(--text)}
html[data-theme="dark"] .sidebar-footer,html[data-theme="dark"] .tab,html[data-theme="dark"] .tree-item,html[data-theme="dark"] .tree-subitem,html[data-theme="dark"] .tree-title,html[data-theme="dark"] .testament-toggle{background:#102631!important;color:#eaf5f8!important;border-color:#294550!important}
html[data-theme="dark"] .tab.active{background:#163340!important;border-bottom-color:#78d6a7!important}
html[data-theme="dark"] .hero,html[data-theme="dark"] .library-card,html[data-theme="dark"] .doc-header,html[data-theme="dark"] .page-card,html[data-theme="dark"] .quran-verse,html[data-theme="dark"] .hafazan-item,html[data-theme="dark"] .hafazan-filters,html[data-theme="dark"] .hafazan-progress-card,html[data-theme="dark"] .settings-card,html[data-theme="dark"] .bible-testament-choice,html[data-theme="dark"] .bible-table td,html[data-theme="dark"] .result{background:#10232d!important;color:#eef6f8!important;border-color:#2a4653!important}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#091820!important;color:#f1f7f9!important;border-color:#355360!important}
html[data-theme="dark"] .translation,html[data-theme="dark"] .arabic,html[data-theme="dark"] .hafazan-arabic,html[data-theme="dark"] .doc-meta,html[data-theme="dark"] .small-note,html[data-theme="dark"] .library-card p,html[data-theme="dark"] .hero p{color:#d5e3e8!important}
html[data-theme="dark"] .login-card{background:#10232d;color:#eef6f8;border-color:#37505b}html[data-theme="dark"] .login-hafazan-card{background:#0b1f28;border-color:#315448}html[data-theme="dark"] .login-hafazan-arabic,html[data-theme="dark"] .login-hafazan-rumi,html[data-theme="dark"] .login-hafazan-translation{color:#eaf5f8}
html[data-theme="dark"] .collection-icon{background:#18323d!important}.collection-icon.image-icon img{width:100%!important;height:100%!important;object-fit:contain!important;transform:scale(1.18)}
.compact-hafazan-summary{display:block!important;margin:8px 0!important}.compact-hafazan-summary .hafazan-progress-card{padding:10px 12px!important}.compact-progress-line{display:flex;gap:12px;align-items:baseline;justify-content:space-between}.compact-progress-line strong{font-size:1.35rem}.compact-progress-line span{font-size:.84rem;color:var(--muted)}
.tadabbur-shell{max-width:1050px;margin:auto}.tadabbur-sticky-header{position:sticky;top:0;z-index:8}.tadabbur-continuous{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);margin-top:14px;padding:clamp(18px,4vw,48px);line-height:1.78}.tadabbur-chapter{scroll-margin-top:115px}.tadabbur-chapter-heading{border-bottom:3px solid var(--green);margin:34px 0 18px;padding:0 0 12px}.tadabbur-chapter:first-child .tadabbur-chapter-heading{margin-top:0}.tadabbur-chapter-heading span{font-weight:800;color:var(--green);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.tadabbur-chapter-heading h2{margin:4px 0;color:var(--navy);font-size:clamp(1.35rem,3vw,2rem)}.tadabbur-chapter-heading p{margin:0;color:var(--muted)}.tadabbur-page{scroll-margin-top:115px;padding:16px 0;border-bottom:1px solid var(--line)}.tadabbur-page:last-child{border-bottom:0}.original-page-marker{font-size:.72rem;color:var(--muted);text-align:right;border-top:1px dashed var(--line);padding-top:8px;margin-bottom:8px}.tadabbur-paragraph p{margin:.72em 0}.bible-index-shell{max-width:1000px;margin:auto}.bible-testament-list{display:grid;gap:14px;margin-top:16px}.bible-testament-choice{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.bible-testament-choice summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:18px 20px;font-weight:850;color:var(--navy);font-size:1.2rem}.bible-testament-choice summary small{color:var(--muted);font-size:.82rem}.bible-book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;padding:0 14px 16px}.bible-book-choice{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:10px;padding:11px;text-align:left;cursor:pointer}.bible-book-choice strong,.bible-book-choice span{display:block}.bible-book-choice span{font-size:.78rem;color:var(--muted);margin-top:3px}
.login-card{max-height:calc(100dvh - 28px)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}.login-hafazan-card{flex:1 1 auto!important;min-height:100px;max-height:38dvh!important;overflow-y:auto!important}.login-card form{flex:0 0 auto}.login-foot{flex:0 0 auto}
@media (min-width:900px) and (orientation:landscape){.workspace{grid-template-columns:300px minmax(0,1fr)}.viewer{padding:22px 30px}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{max-height:250px}.tadabbur-continuous{columns:1}.bible-table{table-layout:fixed}.quran-verse{grid-template-columns:55px minmax(260px,.9fr) minmax(360px,1.1fr)}.quran-verse .rumi-reading{grid-column:2/4}.topbar{height:auto;min-height:70px}.brand{min-width:210px}}
@media (min-width:1200px){.workspace{grid-template-columns:320px minmax(0,1fr)}.viewer{padding:28px 44px}.tadabbur-shell{max-width:1120px}.library-card{min-height:180px}}
@media (max-width:760px) and (orientation:landscape){.topbar{min-height:58px;flex-wrap:nowrap}.brand strong{font-size:.92rem}.top-search{max-width:none}.viewer{padding:8px!important}.doc-header{grid-template-columns:minmax(0,1fr) auto!important}.doc-actions{grid-template-columns:repeat(3,minmax(88px,1fr))!important}.tadabbur-continuous{padding:16px}.login-card{width:min(94vw,900px)!important;max-height:calc(100dvh - 10px)!important;display:grid!important;grid-template-columns:minmax(220px,.85fr) minmax(300px,1.15fr);grid-template-areas:"head haf" "form haf" "foot haf";column-gap:18px;align-items:start}.login-logo,.login-card h1,.login-subtitle,.developer-credit{grid-area:head}.login-hafazan-card{grid-area:haf;max-height:calc(100dvh - 50px)!important}.login-card form{grid-area:form}.login-foot{grid-area:foot}}

/* RUHAN v2.6.1 — kestabilan orientasi dan kedudukan Log keluar */
.topbar,.brand,.top-search,.top-actions{min-width:0}
.top-actions{margin-left:auto;flex:0 0 auto;align-items:center;justify-content:flex-end}
.toolbar-button.danger{position:static!important;inset:auto!important;transform:none!important;flex:0 0 auto;min-width:max-content}
@media (max-width:1050px){
 .topbar{gap:10px}.brand{min-width:0;flex:0 1 auto}.top-search{min-width:160px;max-width:none}.top-actions{margin-left:auto}
}
@media (max-width:760px){
 .topbar{display:grid!important;grid-template-columns:44px 44px minmax(0,1fr) auto;grid-template-areas:"menu back brand actions" "search search search search";align-items:center;column-gap:8px;row-gap:7px;padding:7px 9px!important;min-height:0!important}
 #mobileMenuButton{grid-area:menu}.topbar #backButton{grid-area:back}.brand{grid-area:brand;overflow:hidden;min-width:0!important}.brand>div{min-width:0}.brand strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-search{grid-area:search;width:100%;min-width:0!important;max-width:none!important}.top-actions{grid-area:actions;margin:0!important;justify-self:end;min-width:0}.top-actions .toolbar-button{display:none!important}.top-actions .toolbar-button.danger{display:inline-flex!important;align-items:center;justify-content:center;max-width:112px;padding:10px 12px!important;white-space:nowrap}
}
@media (min-width:761px) and (max-width:1100px) and (orientation:landscape){
 .topbar{display:grid;grid-template-columns:auto auto minmax(150px,230px) minmax(220px,1fr) auto;gap:9px;height:auto;min-height:68px}
 .brand{min-width:0}.brand small,.brand em{display:none}.top-search{max-width:none}.top-actions{justify-self:end}.top-actions .toolbar-button:not(.danger){display:none}
}


/* RUHAN v2.6.2 UX — bar tindakan konsisten */
.doc-actions{
  align-items:stretch;
}
.doc-actions.action-count-4,
.doc-actions.action-count-3{
  display:grid;
  gap:8px;
}
.doc-actions.action-count-4{grid-template-columns:repeat(4,minmax(108px,1fr));}
.doc-actions.action-count-3{grid-template-columns:repeat(3,minmax(108px,1fr));}
.small-button.action-button{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.42rem;
  line-height:1;
  white-space:nowrap;
  text-align:center;
  padding:10px 12px;
  overflow:hidden;
}
.small-button.action-button .action-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  line-height:1;
  font-size:1.05em;
}
.small-button.action-button span:not(.action-icon){
  display:inline-block;
  min-width:0;
}
.small-button.action-button:disabled{opacity:.48;cursor:not-allowed;}

@media (max-width:760px){
  .doc-actions.action-count-4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .doc-actions.action-count-3{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .doc-actions .small-button.action-button{
    width:100%;
    min-width:0;
    min-height:42px;
    padding:9px 7px!important;
    font-size:.78rem!important;
  }
}
@media (max-width:390px){
  .doc-actions.action-count-3{
    grid-template-columns:1fr!important;
  }
  .doc-actions.action-count-3 .small-button.action-button{
    min-height:40px;
  }
}
@media (max-width:760px) and (orientation:landscape){
  .doc-actions.action-count-4{
    grid-template-columns:repeat(4,minmax(92px,1fr))!important;
  }
  .doc-actions.action-count-3{
    grid-template-columns:repeat(3,minmax(92px,1fr))!important;
  }
}
@media (min-width:761px) and (max-width:1100px){
  .doc-actions.action-count-4{grid-template-columns:repeat(2,minmax(120px,1fr));}
}

/* RUHAN UX Compact Trial — kawalan bacaan kecil dan tidak menutup kandungan */
.reader-header{
  padding:11px 13px!important;
  gap:10px!important;
  align-items:center!important;
}
.reader-header .doc-title-block{
  min-width:0;
  flex:1 1 auto;
}
.reader-header h1{
  font-size:clamp(1.15rem,3.8vw,1.48rem)!important;
  line-height:1.18;
  white-space:normal;
  overflow-wrap:anywhere;
}
.reader-header .doc-meta{
  margin-top:3px;
  font-size:.8rem;
  line-height:1.25;
}
.compact-reader-actions{
  display:flex!important;
  flex:0 0 auto;
  flex-wrap:nowrap!important;
  gap:5px!important;
  align-items:center!important;
  justify-content:flex-end!important;
  width:auto!important;
}
.compact-reader-actions .reader-icon-button{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  padding:0!important;
  border-radius:10px!important;
  display:inline-grid!important;
  place-items:center!important;
  overflow:visible!important;
  line-height:1!important;
}
.compact-reader-actions .reader-icon-button .action-icon{
  font-size:1.16rem!important;
  line-height:1!important;
  margin:0!important;
}
.compact-reader-actions .reader-icon-button.active{
  background:var(--green)!important;
  color:#fff!important;
  border-color:var(--green)!important;
}
.tadabbur-sticky-header{
  top:0!important;
}
@media (max-width:760px){
  .reader-header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    padding:9px 10px!important;
    border-radius:13px!important;
  }
  .reader-header .doc-meta{font-size:.74rem!important;}
  .compact-reader-actions{
    grid-template-columns:none!important;
    gap:4px!important;
  }
  .compact-reader-actions .reader-icon-button{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    padding:0!important;
    font-size:1rem!important;
  }
  .verse-list,.page-content{margin-top:10px!important;}
  .tadabbur-continuous{margin-top:9px!important;}
}
@media (max-width:370px){
  .compact-reader-actions .reader-icon-button{
    width:31px!important;
    height:31px!important;
    min-width:31px!important;
    min-height:31px!important;
  }
  .compact-reader-actions{gap:3px!important;}
  .reader-header h1{font-size:1.05rem!important;}
}
@media (min-width:900px){
  .compact-reader-actions .reader-icon-button{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
  }
}
