@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-naskh-arabic-arabic-400-normal-U_i0HMfG.woff2)format("woff2"),url(/assets/noto-naskh-arabic-arabic-400-normal-1AoZhAAW.woff)format("woff")}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-naskh-arabic-arabic-700-normal-BdBAMxnO.woff2)format("woff2"),url(/assets/noto-naskh-arabic-arabic-700-normal-fm10sHOa.woff)format("woff")}@font-face{font-family:"Baloo Bhaijaan 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-bhaijaan-2-arabic-700-normal-BuUEWU-Z.woff2)format("woff2"),url(/assets/baloo-bhaijaan-2-arabic-700-normal-C3qElwAX.woff)format("woff")}@font-face{font-family:"Baloo Bhaijaan 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-bhaijaan-2-arabic-800-normal-seqr1dGG.woff2)format("woff2"),url(/assets/baloo-bhaijaan-2-arabic-800-normal-53vlEMIg.woff)format("woff")}@font-face{font-family:"Baloo Bhaijaan 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-bhaijaan-2-latin-700-normal-BcS7CKzU.woff2)format("woff2"),url(/assets/baloo-bhaijaan-2-latin-700-normal-DkTl8DJ7.woff)format("woff")}@font-face{font-family:"Baloo Bhaijaan 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-bhaijaan-2-latin-800-normal-2iymj7n2.woff2)format("woff2"),url(/assets/baloo-bhaijaan-2-latin-800-normal-CKI2l_NE.woff)format("woff")}:root{--bg:#fbf6ee;--surface:#fff;--field:#fffdf9;--ink:#1c2340;--ink-soft:#5d6379;--primary:#26316b;--primary-hover:#1d2756;--on-primary:#fff;--gold:#c9973f;--gold-soft:#f5e8cc;--gold-deep:#8a6420;--line:#e7dfd0;--danger:#a4282c;--danger-soft:#fbeaea;--radius:1.25rem;--radius-small:.9rem;--shadow:0 .35rem 1.5rem #26316b1a;--violet:#6c4ce0;--violet-soft:#efeafe;--hero:linear-gradient(140deg, #26316b 0%, #4b3bb5 55%, #7b54e8 100%);--flame:#ff6b1a;--mint:#17a673;--mint-soft:#e2f6ec;--coral:#e5484d;--font-display:"Baloo Bhaijaan 2", system-ui, "Segoe UI", Tahoma, sans-serif;color:var(--ink);background-color:var(--bg);font-family:system-ui,Segoe UI,Tahoma,Noto Sans Arabic,sans-serif;line-height:1.7}*,:before,:after{box-sizing:border-box}body{background-color:var(--bg);background-image:radial-gradient(ellipse 70% 30% at 100% 0%, #ece4ff, transparent), radial-gradient(ellipse 90% 35% at 0% 0%, var(--gold-soft), transparent);background-repeat:no-repeat;min-height:100dvh;margin:0}.page{max-width:28rem;margin:0 auto;padding:0 1rem 3rem}.brand{text-align:center;padding:2rem 1rem 1.5rem}.lamp{margin:0 auto .25rem;display:block}.brand-name{color:var(--primary);margin:0;font-size:2.5rem;line-height:1.2}.brand-subtitle{color:var(--violet,var(--primary));white-space:nowrap;font-size:.55em;font-weight:700}.brand-verse{color:var(--gold-deep);margin:.5rem 0 0;font-size:1.05rem;font-weight:600}.brand-verse-ref{white-space:nowrap;font-size:.8rem;font-weight:400}.brand-tagline{color:var(--ink-soft);margin:.35rem 0 0;font-size:.95rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem 1.25rem}.card-title{text-align:center;margin:0 0 1.25rem;font-size:1.25rem}.message{text-align:center}.message h2{color:var(--primary);margin:0 0 .5rem;font-size:1.25rem}.message p{margin:0 0 1.25rem}.message p:last-child{margin-bottom:0}.field{margin-bottom:1rem}.field label{margin-bottom:.35rem;font-weight:600;display:block}.field-hint{color:var(--ink-soft);margin:.25rem 0 0;font-size:.85rem}input:not([type=radio],[type=checkbox]),select,textarea{width:100%;min-height:3rem;font:inherit;color:inherit;background:var(--field);border:1px solid var(--line);border-radius:var(--radius-small);padding:.6rem .9rem}textarea{resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--gold);outline:3px solid var(--gold-soft)}input[type=radio]{width:1.25rem;height:1.25rem;accent-color:var(--primary)}.ltr{text-align:right}.button{width:100%;min-height:3rem;font:inherit;color:var(--on-primary);text-align:center;cursor:pointer;background:var(--primary);border-radius:var(--radius-small);border:0;padding:.6rem 1rem;font-weight:700;text-decoration:none;display:block}.button:disabled{cursor:wait;opacity:.6}.button-quiet{color:var(--primary);border:1px solid var(--line);background:0 0}.alert{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-small);margin:0 0 1rem;padding:.75rem 1rem}.alert a{color:var(--primary);margin-inline-start:.5rem;font-weight:700}.install-banner{text-align:center;background:var(--violet-soft,var(--surface));margin:1rem 0}.install-title{margin:0 0 .5rem;font-size:1.2rem}.apk-link{min-height:2.75rem;color:var(--primary);margin-top:.75rem;padding:.5rem .25rem;font-weight:700;display:inline-block}.install-banner p{margin:0 0 .75rem}.reminder-prompt{text-align:center;background:var(--violet-soft,var(--surface));margin-bottom:1rem}.reminder-prompt p{margin:0 0 .75rem}.reminder-prompt p[role=status]{margin:0;font-weight:700}.welcome{text-align:center;gap:.75rem;display:grid}.welcome p{margin:0 0 .5rem;line-height:1.8}.register-classes{margin-bottom:1rem}.register-classes legend{margin-bottom:.5rem;font-weight:600}.register-note{text-align:center;margin-top:.75rem}.register-link{text-align:center;margin:.5rem 0 0}.register-link a{min-height:2.75rem;color:var(--primary);padding:.5rem .25rem;font-weight:700;display:inline-block}.link-button{min-height:2.75rem;font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:0;margin:.75rem auto 0;padding:.5rem 1rem;text-decoration:underline;display:block}.hint-box{text-align:center;background:var(--gold-soft);border-radius:var(--radius-small);margin:.5rem 0 0;padding:.75rem 1rem}.narrow{max-width:26rem;margin:0 auto}.card-intro{color:var(--ink-soft);text-align:center;margin:-.5rem 0 1.25rem}.section-title{color:var(--primary);margin:0 0 1rem;font-size:1.35rem}.button-small{width:auto;min-height:2.75rem;padding:.4rem 1rem}.admin{max-width:64rem;margin:0 auto;padding:0 1rem 3rem}.admin-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin-bottom:1.5rem;padding:1rem 0;display:flex}.admin-brand{align-items:center;gap:.75rem;display:flex}.admin-brand .lamp{margin:0}.admin-brand-name{color:var(--primary);margin:0;font-size:1.5rem;line-height:1.3}.admin-brand-name span{color:var(--ink-soft);font-size:1rem;font-weight:600}.admin-brand .brand-verse{margin:.1rem 0 0;font-size:.85rem}.admin-brand .brand-tagline{margin:0;font-size:.8rem}.admin-user{align-items:center;gap:.75rem;display:flex}.admin-body{gap:1.5rem;display:grid}.admin-nav{gap:.25rem;display:flex;overflow-x:auto}.admin-nav a{min-height:2.75rem;color:var(--ink);white-space:nowrap;border-radius:var(--radius-small);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .9rem;text-decoration:none;display:flex}.admin-nav a:hover{background:var(--gold-soft)}.admin-nav a.active{color:var(--on-primary);background:var(--primary);font-weight:700}@media (width>=48rem){.admin-body{grid-template-columns:14rem 1fr;align-items:start}.admin-nav{flex-direction:column}}.badge{min-width:1.6rem;color:var(--ink);text-align:center;background:var(--gold);border-radius:999px;padding:0 .45rem;font-size:.85rem;font-weight:700;line-height:1.6rem}.request-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.request{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding:1rem 1.25rem;display:flex}.request-name{margin:0;font-weight:700}.request-meta{color:var(--ink-soft);margin:0;font-size:.9rem}.request-actions{gap:.5rem;display:flex}.request-actions .button{width:auto;min-width:6rem}.danger{color:var(--danger)}.saved{color:var(--primary);margin:0 0 1rem;font-weight:700}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.day{gap:1rem;display:grid}.day-date{color:var(--gold-deep);text-align:center;margin:0;font-weight:700}.day-section h3{color:var(--primary);margin:0 0 .75rem;font-size:1.15rem}.day-reference{color:var(--primary);text-align:center;margin:0 0 .75rem;font-size:1.2rem}.scripture{margin:0;font-family:Noto Naskh Arabic,serif;font-size:1.25rem;line-height:2.2}.verse-number{color:var(--gold-deep);margin-inline:.15rem;font-family:system-ui,sans-serif;font-size:.7rem}.chapter-label{color:var(--gold-deep);margin:.75rem 0 .25rem;font-family:system-ui,sans-serif;font-size:.85rem;font-weight:700;display:block}.rich-text p,.rich-text ul{margin:0 0 .75rem}.rich-text>:last-child>:last-child{margin-bottom:0}.day-questions{gap:1rem;margin:0;padding-inline-start:1.25rem;display:grid}.day-question{margin:0 0 .5rem;font-weight:600}.day-options{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.day-options li{background:var(--field);border:1px solid var(--line);border-radius:var(--radius-small);min-height:2.75rem;padding:.5rem .9rem}.subsection-title{color:var(--ink-soft);margin:0 0 .75rem;font-size:1.05rem}.day-list{gap:.5rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.day-row{min-height:3rem;color:var(--ink);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1rem;text-decoration:none;display:flex}.day-row:hover{border-color:var(--gold)}.today-tag{color:var(--gold-deep);background:var(--gold-soft);border-radius:999px;margin-inline-start:.5rem;padding:0 .5rem;font-size:.8rem;font-weight:700}.status-chip{white-space:nowrap;border-radius:999px;padding:.1rem .7rem;font-size:.85rem;font-weight:600}.status-empty{color:var(--ink-soft);background:#f1ece2}.status-draft{color:#7a4d00;background:#fbe9c6}.status-scheduled{color:var(--primary);background:#e3e7f7}.status-published{color:#1d5c34;background:#dcf1e2}.open-date label{margin-bottom:.35rem;font-weight:600;display:block}.inline-field{align-items:center;gap:.5rem;display:flex}.back-link{min-height:2.75rem;color:var(--primary);padding:.5rem 0;display:inline-block}.day-form{gap:1rem;display:grid}.form-section{min-width:0;margin:0}.form-section h3,.form-section legend{color:var(--primary);margin:0 0 .75rem;padding:0;font-size:1.15rem;font-weight:700}.passage-range{gap:.75rem;display:grid}@media (width>=40rem){.passage-range{grid-template-columns:1fr 1fr}}.passage-end{border:1px solid var(--line);border-radius:var(--radius-small);grid-template-columns:1fr 1fr;gap:.5rem;margin:0;padding:.75rem;display:grid}.passage-end legend{padding:0 .35rem;font-weight:700}.passage-end .field{margin:0}.passage-preview{background:var(--field);border-radius:var(--radius-small);margin-top:1rem;padding:1rem}.toolbar{gap:.5rem;margin-bottom:.5rem;display:flex}.tool{min-width:2.75rem;min-height:2.75rem;font:inherit;color:var(--primary);cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-small);padding:.3rem .8rem}.tool:hover{background:var(--gold-soft)}.formatted{border:1px dashed var(--line);border-radius:var(--radius-small);margin-top:.75rem;padding:.75rem 1rem}.question-editor{border:1px solid var(--line);border-radius:var(--radius-small);margin:0 0 1rem;padding:1rem}.question-editor>legend{padding:0 .35rem;font-weight:700}.options{border:0;margin:0 0 1rem;padding:0}.options legend{margin-bottom:.35rem;font-weight:600}.option-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.correct-pick{cursor:pointer;flex:none;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex}.status-picker{gap:.5rem;display:grid}.status-option{cursor:pointer;align-items:flex-start;gap:.75rem;min-height:2.75rem;padding:.5rem 0;display:flex}.status-option>span{display:grid}.form-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.form-actions .button{width:auto;min-width:8rem}.form-actions .link-button{margin:0;margin-inline-start:auto}.preview{border:2px dashed var(--gold);border-radius:var(--radius);margin-bottom:1rem;padding:1rem}.question{border:0;margin:0;padding:0}.question legend{padding:0}.choices{gap:.5rem;display:grid}.choice{cursor:pointer;background:var(--field);border:1px solid var(--line);border-radius:var(--radius-small);align-items:center;gap:.75rem;min-height:3rem;padding:.6rem .9rem;display:flex}.choice:hover{border-color:var(--gold)}.choice:has(input:checked){background:var(--gold-soft);border-color:var(--gold);font-weight:600}.choice input{flex:none}.day-section .button{margin-top:1.25rem}.send-hint{text-align:center}.result-points{margin:0 0 .5rem;font-size:1.15rem}.result .day-questions>li{border-inline-start:4px solid var(--line);border-radius:var(--radius-small);padding:.75rem 1rem}.result .answer-wrong{background:var(--danger-soft);border-inline-start-color:var(--danger)}.verdict{margin:0 0 .25rem;font-weight:700}.answer-right .verdict{color:#1d5c34}.answer-wrong .verdict{color:var(--danger)}.answer-line{margin:0}.explanation{color:var(--ink-soft);border-top:1px dashed var(--line);margin:.5rem 0 0;padding-top:.5rem}.result-link{min-height:2.75rem;color:var(--primary);margin-top:1rem;padding:.5rem 0;font-weight:700;display:inline-block}.rules-table{text-align:center;border-collapse:collapse;width:100%;margin-bottom:1rem}.rules-table th,.rules-table td{border-bottom:1px solid var(--line);padding:.5rem}.rules-table thead th{color:var(--ink-soft);font-size:.9rem}.rules-table tbody th{text-align:start;font-weight:600}.rules-table td{color:var(--primary);font-size:1.15rem;font-weight:700}.rules-lines{gap:.5rem;margin:0 0 1rem;padding-inline-start:1.25rem;display:grid}.rules-action{margin-top:1.25rem}.day-picker{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.day-picker-date{text-align:center;margin:0;font-weight:700}.filters{flex-wrap:wrap;gap:0 1rem;display:flex}.filters .field{flex:12rem}.class-stats{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin:1rem 0;display:grid}.stats h3,.name-list h3{color:var(--primary);margin:0 0 .75rem;font-size:1.1rem}.group-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .75rem;display:flex}.group-actions .field-hint{flex-basis:100%;margin:0}.guide-intro{color:var(--ink-soft);margin:0 0 1rem}.guide-part{margin-bottom:1rem}.guide-part h3{color:var(--primary);margin:0 0 .5rem;font-size:1.1rem}.guide-part ul{margin:0;padding-inline-start:1.25rem}.guide-part li{margin-bottom:.4rem;line-height:1.7}.profile-streak{margin:0 0 .5rem}.profile-streak strong{font-family:var(--font-display);color:var(--primary);font-size:1.2rem}.profile-prize{color:#3a1f00;background:linear-gradient(135deg,#ffd166,#ff9f45);border-radius:999px;margin:0 0 .75rem;padding:.3rem .8rem;font-weight:600;display:inline-block}.stats dl{text-align:center;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:0;display:grid}.stats dt{color:var(--ink-soft);font-size:.8rem}.stats dd{color:var(--primary);margin:0;font-size:1.4rem;font-weight:700}.name-lists{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));align-items:start;gap:1rem;display:grid}.name-list ul{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.name-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:.5rem;padding:.35rem 0;display:flex}.name-list li:last-child{border-bottom:0}.count{color:var(--ink);background:var(--gold-soft);border-radius:999px;margin-inline-start:.25rem;padding:0 .5rem;font-size:.85rem}.name-meta{color:var(--ink-soft);white-space:nowrap;font-size:.85rem}.late-tag{color:#7a4d00;background:#fbe9c6;border-radius:999px;margin-inline-end:.4rem;padding:0 .4rem}.calendar{table-layout:fixed;border-spacing:.25rem;width:100%}.calendar th{color:var(--ink-soft);padding-bottom:.25rem;font-size:.8rem;font-weight:600}.calendar td{padding:0}.calendar-day{border-radius:var(--radius-small);border:2px solid #0000;justify-content:center;align-items:center;min-height:2.75rem;font-weight:700;text-decoration:none;display:flex}.calendar-day:hover{border-color:var(--gold)}.calendar-day.is-today{border-color:var(--primary)}.this-month{margin:-.5rem auto .5rem}.legend{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.student-row{color:var(--ink);text-decoration:none}.student-row:hover{border-color:var(--gold)}.student-row .request-meta{display:block}.student-pending{color:#7a4d00;background:#fbe9c6}.student-approved{color:#1d5c34;background:#dcf1e2}.student-rejected,.student-disabled{color:var(--danger);background:var(--danger-soft)}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin-bottom:1rem;display:grid}.details{gap:.75rem;margin:0;display:grid}.details dt{color:var(--ink-soft);font-size:.85rem}.details dd{margin:0;font-weight:600}.actions h3{color:var(--primary);margin:0 0 .75rem;font-size:1.1rem}.inline-form{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.temp-password{margin-top:1rem}.temp-password p{margin:0 0 .5rem}.password{letter-spacing:.15em;font-size:1.4rem}.page-hint{margin:-.5rem 0 1rem}.class-link h3{color:var(--primary);margin:0 0 .5rem;font-size:1.15rem}.link-text{text-align:left;overflow-wrap:anywhere;background:var(--field);border:1px solid var(--line);border-radius:var(--radius-small);margin:0 0 .75rem;padding:.5rem .75rem;font-family:ui-monospace,monospace;font-size:.85rem}.add-staff{width:auto;margin-bottom:1rem}.staff-form{margin-bottom:1rem}.staff-card .request-name{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.staff-card p{margin:0 0 .25rem}.staff-card .request-meta[dir=ltr]{text-align:right}.staff-actions{margin-top:.75rem}.roles-picker{border:0;gap:.25rem;margin:0 0 1rem;padding:0;display:grid}.roles-picker legend{margin-bottom:.35rem;font-weight:600}.check-option{cursor:pointer;align-items:center;gap:.75rem;min-height:2.75rem;display:flex}input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--primary)}.account{gap:1rem;display:grid}.account h3{color:var(--primary);margin:0 0 .75rem;font-size:1.1rem}.account p{margin:0 0 .5rem}.account .brand-verse{font-size:1rem;display:inline}.account-links{gap:.25rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.account-links a{min-height:2.75rem;color:var(--primary);padding:.5rem 0;font-weight:600;display:inline-block}.account-actions{gap:.5rem;display:grid}.privacy h3{color:var(--primary);margin:1rem 0 .25rem;font-size:1.05rem}.privacy p{margin:0 0 .5rem}.privacy .button{margin-top:1rem}.student-footer{text-align:center;margin-top:2rem}.student-footer a{min-height:2.75rem;color:var(--ink-soft);padding:.5rem 1rem;font-size:.9rem;display:inline-block}.offline-note{margin:0 0 1rem}.offline-note p{margin:0 0 .5rem}.past-days{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.past-day{color:var(--ink);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;text-decoration:none;display:flex}.past-day:hover{border-color:var(--gold)}.past-day>span:first-child{display:grid}.past-day-date{font-weight:700}.day-on-time{color:#1d5c34;background:#dcf1e2}.day-late{color:#7a4d00;background:#fbe9c6}.day-not-answered{color:var(--ink-soft);background:#f1ece2}.late-note{margin:0 0 1rem}.tabs{background:var(--surface);border:1px solid var(--line);border-radius:999px;gap:.25rem;margin-bottom:.75rem;padding:.25rem;display:flex}.tab{min-height:2.75rem;font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1}.tab.active{color:var(--on-primary);background:var(--primary);font-weight:700}.my-total{text-align:center;margin:0 0 1rem}.board-title{color:var(--primary);margin:0 0 .5rem;font-size:1.05rem}.board{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.board li{border-radius:var(--radius-small);grid-template-columns:2.5rem 1fr auto;align-items:center;gap:.5rem;min-height:2.75rem;padding:.35rem .75rem;display:grid}.board li:nth-child(odd){background:var(--field)}.board li.me{background:var(--gold-soft);font-weight:700}.board-me{border-top:2px dashed var(--line);margin-top:.5rem}.board-rank{color:var(--gold-deep);text-align:center;font-weight:700}.board-points{color:var(--primary);font-weight:700}.report-tools{align-items:flex-end;margin-bottom:1rem}.report-tools .button{margin-bottom:1rem}.table-scroll{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}.report{border-collapse:collapse;width:100%;font-size:.9rem}.report th,.report td{text-align:start;white-space:nowrap;border-bottom:1px solid var(--line);padding:.5rem .75rem}.report thead th{color:var(--ink-soft);background:var(--field);font-size:.8rem}.report tbody th{font-weight:600}.report .number{color:var(--primary);font-weight:700}.report .when{color:var(--ink-soft);font-size:.8rem}.name-list li{align-items:center}.whatsapp{color:#fff;background:#1f7a4d;border-radius:999px;flex:none;align-items:center;min-height:2.75rem;padding:0 .8rem;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.whatsapp:hover{background:#17603c}.absent-list{margin-top:1rem}.absent-list>.field-hint{margin:-.5rem 0 .75rem}.roster-upload{margin-bottom:1rem}.roster-upload .hint-box{margin:0 0 1rem}.roster-save{width:auto;min-width:10rem}input[type=file]{min-height:auto;padding:.5rem}.reminders .form-actions .button{min-width:9rem}h1,h2,h3,legend,.button,.section-title,.card-title,.brand-name,.admin-brand-name,.tab,.status-chip,.streak-number,.stat-value,.board-rank,.board-points,.result-points strong{font-family:var(--font-display)}.button{background:linear-gradient(135deg, var(--primary), var(--violet));border-radius:999px;transition:transform .12s,box-shadow .12s;box-shadow:0 .3rem .9rem #4c3bb540}.button:hover{background:linear-gradient(135deg, var(--primary-hover), #5a3cc9)}.button:active:not(:disabled){transform:scale(.97)}.button-quiet,.button-quiet:hover{color:var(--violet);background:var(--surface);box-shadow:none;border:1.5px solid #ddd3fb}.button-quiet:hover{background:var(--violet-soft)}.button:disabled{box-shadow:none}.brand-home{color:inherit;border-radius:var(--radius-small);flex-direction:column;align-items:center;text-decoration:none;display:inline-flex}.brand-home:focus-visible,.admin-home:focus-visible{outline:3px solid var(--gold-soft)}.admin-home{color:inherit;text-decoration:none}.brand-compact{padding:1rem .25rem .75rem}.brand-compact .brand-home{gap:.15rem;min-height:2.75rem}.brand-compact .brand-name{font-size:1.6rem}.brand-compact .brand-verse{margin:.15rem 0 0;font-size:.8rem}.streak-card{color:#fff;background:var(--hero);border-radius:1.5rem;margin-bottom:1rem;padding:1.25rem;text-decoration:none;display:block;box-shadow:0 .6rem 1.8rem #4c3bb54d}.streak-main{align-items:center;gap:.75rem;display:flex}.streak-title{color:#e8e1ff;margin:0;font-size:.95rem;font-weight:700}.streak-count{font-family:var(--font-display);margin:0;font-size:1.2rem;font-weight:700;line-height:1.1}.streak-card .streak-number{color:#fff;font-size:3rem;font-weight:800}.streak-line{color:#f3efff;margin:.5rem 0 0;font-weight:600}.streak-line.celebrate{color:#3a1f00;background:linear-gradient(135deg,#ffd166,#ff9f45);border-radius:999px;padding:.25rem .75rem;animation:.5s ease-out pop;display:inline-block}.streak-prize{color:#fff;background:#ffffff24;border-radius:1rem;margin:.6rem 0 0;padding:.4rem .8rem;font-size:.9rem;font-weight:600}.streak-prize.due{color:#3a1f00;background:linear-gradient(135deg,#ffd166,#ff9f45);animation:.5s ease-out pop}.flame{flex:none}.flame.lit{filter:drop-shadow(0 0 .6rem #ff8c28b3);transform-origin:50% 90%;animation:1.6s ease-in-out infinite flicker}.streak-stats{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:1rem;display:grid}.streak-stats>div{background:#ffffff24;border:1px solid #ffffff2e;border-radius:1rem;padding:.6rem .75rem}.stat-label{opacity:.85;margin:0;font-size:.8rem}.stat-value{margin:0;font-size:1.8rem;font-weight:800;line-height:1.2}.stat-rank{margin:.15rem 0 0;font-size:.95rem}.stat-rank strong{font-family:var(--font-display);font-size:1.15rem}.of{opacity:.8;font-size:.8rem}.my-total{text-align:center;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0 0 1rem;display:grid}.my-total>div{background:var(--violet-soft);border-radius:1rem;padding:.6rem .25rem}.my-total .stat-value{color:var(--violet);font-size:1.35rem}.my-total .stat-label{color:var(--ink-soft);opacity:1}.tab.active{background:linear-gradient(135deg, var(--primary), var(--violet))}.page:has(.tab-bar){padding-bottom:6.5rem}.tab-bar{z-index:10;inset-inline:0;max-width:28rem;padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border-bottom:0;border-radius:1.5rem 1.5rem 0 0;grid-template-columns:repeat(4,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;box-shadow:0 -.3rem 1.5rem #26316b1a}.tab-item{min-height:3.25rem;color:var(--ink-soft);border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;font-size:.8rem;font-weight:600;text-decoration:none;display:flex}.tab-item.active{color:var(--violet);background:var(--violet-soft)}.day-date{font-family:var(--font-display);background:var(--surface);border:1px solid var(--line);border-radius:999px;justify-self:center;padding:.2rem .9rem}.choice{border-width:1.5px;border-radius:1rem;transition:border-color .12s,background .12s}.choice:has(input:checked){background:var(--violet-soft);border-color:var(--violet)}input[type=radio],input[type=checkbox]{accent-color:var(--violet)}.result-points{color:#fff;background:var(--hero);border-radius:1.25rem;justify-content:center;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem;animation:.5s ease-out pop;display:flex}.result-points strong{font-size:1.6rem}.result .answer-right{background:var(--mint-soft);border-inline-start-color:var(--mint)}.result .answer-wrong{border-inline-start-color:var(--coral)}@keyframes pop{0%{opacity:0;transform:scale(.85)}70%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes flicker{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.06)rotate(-2deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
