@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1e219c03c996efbd-s.00ewlnc1znsu7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0bnyh_2yo1emg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0glcd8n2pdab0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1e219c03c996efbd-s.00ewlnc1znsu7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0bnyh_2yo1emg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0glcd8n2pdab0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_fdc317d2-module__bamHEW__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_fdc317d2-module__bamHEW__variable{--font-display:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(../media/da8a9dd0d68e512b-s.3rfuf-6ylygrx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(../media/94b4a5dc1fe84361-s.2231v6bqe0i5w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(../media/ff5be760267bb4bc-s.2dg0qc-aib-d-.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(../media/99596c30eb072d3c-s.1x46l97iocqk9.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(../media/e5864b32625b6bc3-s.44r2-kro6c87n.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(../media/e285ad1a914469f0-s.3ohuq16_8-qtv.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(../media/47df9ba1c7236d3b-s.p.0dnkekw3juhe5.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(../media/da8a9dd0d68e512b-s.3rfuf-6ylygrx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(../media/94b4a5dc1fe84361-s.2231v6bqe0i5w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(../media/ff5be760267bb4bc-s.2dg0qc-aib-d-.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(../media/99596c30eb072d3c-s.1x46l97iocqk9.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(../media/e5864b32625b6bc3-s.44r2-kro6c87n.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(../media/e285ad1a914469f0-s.3ohuq16_8-qtv.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(../media/47df9ba1c7236d3b-s.p.0dnkekw3juhe5.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(../media/da8a9dd0d68e512b-s.3rfuf-6ylygrx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(../media/94b4a5dc1fe84361-s.2231v6bqe0i5w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(../media/ff5be760267bb4bc-s.2dg0qc-aib-d-.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(../media/99596c30eb072d3c-s.1x46l97iocqk9.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(../media/e5864b32625b6bc3-s.44r2-kro6c87n.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(../media/e285ad1a914469f0-s.3ohuq16_8-qtv.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(../media/47df9ba1c7236d3b-s.p.0dnkekw3juhe5.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(../media/da8a9dd0d68e512b-s.3rfuf-6ylygrx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(../media/94b4a5dc1fe84361-s.2231v6bqe0i5w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(../media/ff5be760267bb4bc-s.2dg0qc-aib-d-.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(../media/99596c30eb072d3c-s.1x46l97iocqk9.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(../media/e5864b32625b6bc3-s.44r2-kro6c87n.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(../media/e285ad1a914469f0-s.3ohuq16_8-qtv.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(../media/47df9ba1c7236d3b-s.p.0dnkekw3juhe5.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3 Fallback";src:local(Arial);ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.0%;size-adjust:93.76%}.source_sans_3_e8b3f60c-module__4f00Fa__className{font-family:"Source Sans 3","Source Sans 3 Fallback";font-style:normal}.source_sans_3_e8b3f60c-module__4f00Fa__variable{--font-body:"Source Sans 3", "Source Sans 3 Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_3943e3b3-module__48uFsW__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_3943e3b3-module__48uFsW__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@font-face{font-family:Amiri;font-style:normal;font-weight:400;font-display:swap;src:url(../media/05d29f0ed5b0e698-s.p.0op8psrhiitue.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Amiri;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d48a75a69535be63-s.0s-s-hsjhq4c2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Amiri;font-style:normal;font-weight:400;font-display:swap;src:url(../media/648474ecaeaf4c9a-s.0ws8tt74elqft.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Amiri;font-style:normal;font-weight:700;font-display:swap;src:url(../media/291696193ea1e96b-s.p.18tjh3qqaxhod.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Amiri;font-style:normal;font-weight:700;font-display:swap;src:url(../media/966a9c3087fc8ac2-s.0cn01x5f19g74.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Amiri;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1062333f2bd32cfe-s.1c56-m5_chvse.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Amiri Fallback;src:local(Times New Roman);ascent-override:112.47%;descent-override:63.44%;line-gap-override:0.0%;size-adjust:99.94%}.amiri_ab355b04-module__pbrhiq__className{font-family:Amiri,Amiri Fallback;font-style:normal}.amiri_ab355b04-module__pbrhiq__variable{--font-arabic:"Amiri", "Amiri Fallback"}
:root{--bg:#f0ecdf;--surface:#fcf9f0;--surface-2:#f2eedf;--ink:#1a231d;--ink-soft:#5c6b5f;--ink-faint:#8b9a8d;--border:#ddd7c4;--accent:#2a7d61;--accent-soft:#e2ecdf;--gold:#93701f;--gold-soft:#f3ead4;--danger:#a4453b;--danger-soft:#f5e2df;--recent:#ad8a1f;--recent-soft:#f6efd6;--work:#b25a24;--work-soft:#f7e5d7;--shadow:0 1px 2px #2826140d, 0 6px 18px -10px #28261433;--radius:16px;--pattern-opacity:.09}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#10140f;--surface:#171d16;--surface-2:#1c2319;--ink:#e9ece4;--ink-soft:#a2ae9c;--ink-faint:#6d7a6a;--border:#2a332a;--accent:#4bb894;--accent-soft:#1c2c24;--gold:#d9ac52;--gold-soft:#2b2417;--danger:#e08277;--danger-soft:#2e1b18;--recent:#dcb653;--recent-soft:#332b16;--work:#e18a52;--work-soft:#33251a;--shadow:0 1px 2px #00000059, 0 10px 24px -12px #0009;--pattern-opacity:.07}}:root[data-theme=dark]{--bg:#10140f;--surface:#171d16;--surface-2:#1c2319;--ink:#e9ece4;--ink-soft:#a2ae9c;--ink-faint:#6d7a6a;--border:#2a332a;--accent:#4bb894;--accent-soft:#1c2c24;--gold:#d9ac52;--gold-soft:#2b2417;--danger:#e08277;--danger-soft:#2e1b18;--recent:#dcb653;--recent-soft:#332b16;--work:#e18a52;--work-soft:#33251a;--shadow:0 1px 2px #00000059, 0 10px 24px -12px #0009;--pattern-opacity:.07}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body), ui-sans-serif, system-ui, sans-serif;isolation:isolate;font-size:16px;line-height:1.5;position:relative}h1,h2,h3{font-family:var(--font-display), Georgia, serif;margin:0}.mono{font-family:var(--font-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums}button{color:inherit;font-family:inherit}a{color:inherit}.app{max-width:1180px;margin:0 auto;padding:0 20px 60px}.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;padding-block:20px 14px;display:flex}.brand{font-family:var(--font-display), serif;font-size:1.3rem;font-weight:600}.tabs{background:var(--surface-2);border-radius:10px;gap:4px;padding:4px;display:flex}.tab{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:8px 14px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-block}.tab:hover{color:var(--ink)}.tab.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.screen-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.screen-head h1{text-wrap:balance;font-size:clamp(1.6rem,4vw,2rem);font-weight:600}.screen-head .sub{color:var(--ink-soft);margin-top:4px;font-size:13.5px}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px}.card-title{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);padding:16px 20px 0;font-size:13px;font-weight:700}.avatar{width:30px;height:30px;font-family:var(--font-mono), monospace;background:var(--accent-soft);color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.status-pill{font-family:var(--font-mono), monospace;white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px;display:inline-block}.status-pill.paid{background:var(--accent-soft);color:var(--accent)}.status-pill.due{background:var(--surface-2);color:var(--ink-soft)}.status-pill.overdue{background:var(--danger-soft);color:var(--danger)}.roster-layout{grid-template-columns:300px 1fr;align-items:start;gap:16px;display:grid}@media (max-width:820px){.roster-layout{grid-template-columns:1fr}}.roster-row{border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:10px;width:100%;padding:12px 16px;display:flex}.roster-row:last-child{border-bottom:none}.roster-row:hover{background:var(--surface-2)}.roster-row.active{background:var(--accent-soft)}.roster-row.active .attendee-name{color:var(--accent)}.roster-row .meta-line{flex:1;min-width:0}.roster-row .meta-line .plan{color:var(--ink-faint);margin-top:1px;font-size:11.5px;display:block}.attendee-name{font-size:14px;font-weight:600}.profile-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 4px;display:flex}.profile-head .name{font-family:var(--font-display), serif;font-size:1.25rem;font-weight:600}.profile-head .plan{color:var(--ink-soft);margin-top:2px;font-size:13px}.juz-map{grid-template-columns:repeat(10,1fr);gap:5px;padding:10px 20px 6px;display:grid}@media (max-width:480px){.juz-map{grid-template-columns:repeat(6,1fr)}}.juz-tile{aspect-ratio:1;font-family:var(--font-mono), monospace;color:#fff;border:none;border-radius:5px;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex;position:relative}.juz-tile.solid{background:var(--accent)}.juz-tile.work{background:var(--work)}.juz-tile.recent{background:var(--recent)}.juz-tile.empty{background:var(--surface-2);color:var(--ink-faint)}.self-dot{border:1.5px solid var(--surface);background:0 0;border-radius:50%;width:7px;height:7px;position:absolute;bottom:2px;right:2px}.self-dot.recent{background:var(--recent)}.self-dot.work{background:var(--work)}.self-dot.solid{background:var(--accent)}.legend{color:var(--ink-soft);flex-wrap:wrap;gap:14px;padding:0 20px 12px;font-size:12px;display:flex}.legend .dot{border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.self-rate-hint{color:var(--ink-faint);padding:0 20px 14px;font-size:12px}.history-entry{border-bottom:1px solid var(--border)}.history-entry:last-child{border-bottom:none}.history-date-btn{text-align:left;width:100%;font-family:var(--font-mono), monospace;color:var(--ink);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:12px 20px;font-size:13px;display:flex}.history-date-btn:hover{background:var(--surface-2)}.history-date-btn .chev{color:var(--ink-faint);font-size:11px;transition:transform .15s;display:inline-block}.history-date-btn.open .chev{transform:rotate(90deg)}.history-detail{flex-direction:column;gap:8px;padding:2px 20px 14px 42px;display:flex}.hd-row{align-items:center;gap:10px;font-size:13px;display:flex}.hd-label{font-family:var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);flex-shrink:0;width:44px;font-size:10px}.hd-range{font-family:var(--font-mono), monospace;flex:1;font-size:12.5px}.hd-note{color:var(--ink-soft);padding-top:2px;font-size:12.5px;font-style:italic}.msg-feed{flex-direction:column;gap:10px;max-height:260px;padding:16px 18px;display:flex;overflow-y:auto}.msg{border-radius:12px;max-width:82%;padding:9px 13px;font-size:13.5px;line-height:1.45}.msg.teacher{background:var(--surface-2);border-bottom-left-radius:3px;align-self:flex-start}.msg.student{background:var(--accent-soft);color:var(--accent);border-bottom-right-radius:3px;align-self:flex-end}.msg .meta{font-family:var(--font-mono), monospace;opacity:.65;margin-top:4px;font-size:10px;display:block}.msg-input-row{border-top:1px solid var(--border);gap:8px;padding:12px 18px;display:flex}.msg-input{border:1px solid var(--border);background:var(--surface-2);color:var(--ink);border-radius:999px;flex:1;padding:9px 15px;font-family:inherit;font-size:13.5px}.send-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:9px 18px;font-size:13px;font-weight:600}.save-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600}.action-btn{color:var(--accent);background:var(--accent-soft);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:6px 11px;font-size:12px;font-weight:600}.action-btn.ghost{border:1px solid var(--border);color:var(--ink-soft);background:0 0}.range-input{font-family:var(--font-mono), monospace;border:1px solid var(--border);background:var(--surface-2);width:118px;color:var(--ink);border-radius:6px;padding:6px 9px;font-size:13px}.range-input.small{width:92px}.note-field{color:var(--ink);border:1px solid var(--border);background:var(--surface-2);resize:vertical;border-radius:6px;width:100%;min-height:60px;padding:7px 9px;font-family:inherit;font-size:13px}.note-field::placeholder{color:var(--ink-faint)}.assign-box{background:var(--accent-soft);border-radius:10px;padding:12px 14px}.sc-label{font-family:var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);margin-bottom:7px;font-size:10.5px;display:block}.assign-box .sc-label{color:var(--accent)}.booking-box{background:var(--gold-soft);border-radius:10px;margin-top:14px;padding:12px 14px}.booking-box .sc-label{color:var(--gold)}.assign-hint{text-transform:none;letter-spacing:0;color:var(--ink-faint);margin-left:6px;font-size:11px;font-weight:400}.assign-dhor-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.draft-dhor-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;padding-bottom:10px;display:flex}.draft-dhor-row:last-of-type{border-bottom:none}.day-picker{flex-wrap:wrap;gap:6px;display:flex}.day-chip{cursor:pointer;display:inline-flex;position:relative}.day-chip input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.day-chip span{font-family:var(--font-mono), monospace;background:var(--surface-2);color:var(--ink-soft);border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-size:11.5px}.day-chip input:checked+span{background:var(--accent-soft);color:var(--accent);border-color:#0000}.booking-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 0;font-size:13px;display:flex}.booking-row:last-of-type{border-bottom:none}.recurring-toggle{color:var(--ink-soft);align-items:center;gap:6px;font-size:13px;display:flex}.remove-dhor,.remove-assign-dhor{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:15px;line-height:1}.remove-dhor:hover,.remove-assign-dhor:hover{color:var(--danger);background:var(--danger-soft)}.add-dhor,.add-assign-dhor{border:1px dashed var(--border);color:var(--ink-soft);font-family:var(--font-mono), monospace;cursor:pointer;background:0 0;border-radius:6px;padding:5px 9px;font-size:11px}.add-dhor:hover,.add-assign-dhor:hover{border-color:var(--accent);color:var(--accent)}.pillset{flex-wrap:wrap;gap:5px;display:flex}.pill-btn{font-family:var(--font-mono), monospace;border:1px solid var(--border);background:var(--surface);color:var(--ink-faint);cursor:pointer;white-space:nowrap;border-radius:7px;padding:5px 9px;font-size:11px}.pill-btn.selected.good{background:var(--accent-soft);color:var(--accent);border-color:#0000}.pill-btn.selected.mid{background:var(--work-soft);color:var(--work);border-color:#0000}.pill-btn.selected.bad{background:var(--danger-soft);color:var(--danger);border-color:#0000}.pill-btn:hover:not(.selected){border-color:var(--ink-faint)}.sheet-list{flex-direction:column;gap:10px;max-width:680px;margin:0 auto;display:flex}.sheet-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.sheet-card.absent{opacity:.55;box-shadow:none}.sheet-card-head{align-items:center;gap:10px;padding:4px 6px;display:flex}.sheet-card-toggle{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:0;padding:10px 8px;display:flex}.sheet-card-toggle:hover{background:var(--surface-2)}.sheet-card-toggle.static{cursor:default}.sheet-card-toggle.static:hover{background:0 0}.sheet-card-toggle .attendee-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:90px;overflow:hidden}.sc-toggle-meta{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.quick-dots{flex-shrink:0;gap:4px;display:flex}.qdot{background:var(--border);border-radius:50%;width:7px;height:7px;display:inline-block}.qdot.good{background:var(--accent)}.qdot.mid{background:var(--work)}.qdot.bad{background:var(--danger)}.ready-dot{background:var(--border);border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.ready-dot.good{background:var(--accent)}.ready-dot.mid{background:var(--work)}.ready-dot.bad{background:var(--danger)}.chev{color:var(--ink-faint);flex-shrink:0;font-size:13px;transition:transform .15s;display:inline-block}.chev.open{transform:rotate(90deg)}.sheet-card-body{border-top:1px solid var(--border);flex-direction:column;gap:14px;padding:14px 16px 16px;display:flex}.readiness-detail{color:var(--ink-soft);font-size:13px}.readiness-detail b{color:var(--ink)}.sc-row{flex-direction:column;display:flex}.sc-inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.present-toggle{cursor:pointer;background:var(--accent);border:none;border-radius:999px;flex-shrink:0;width:34px;height:20px;position:relative}.present-toggle:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:16px}.present-toggle.off{background:var(--surface-2);border:1px solid var(--border)}.present-toggle.off:after{background:var(--ink-faint);left:2px}.time-inline{color:var(--ink-faint);flex-shrink:0;font-size:11px}.time-group-heading{align-items:center;gap:8px;margin-top:6px;padding:2px 6px;display:flex}.time-group-heading:first-child{margin-top:0}.time-group-heading .time{font-family:var(--font-mono), monospace;color:var(--ink-soft);font-size:13px;font-weight:700}.time-group-heading .badge{font-family:var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.04em;background:var(--gold-soft);color:var(--gold);border-radius:999px;padding:2px 8px;font-size:10px}.unscheduled-heading{font-family:var(--font-display), serif;color:var(--ink);margin-top:14px;padding:2px 6px;font-size:1.15rem;font-weight:600}.complete-toggle{border:1.5px solid var(--border);background:var(--surface);color:#fff;cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-right:6px;font-size:13px;font-weight:700;display:flex}.complete-toggle.done{background:var(--accent);border-color:var(--accent)}.sessions-left-heading{color:var(--ink);margin-bottom:4px;font-size:1.1rem;font-weight:600}.schedule-heading{font-family:var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);align-items:center;padding:0 0 8px;font-size:12px;font-weight:700;display:flex}.schedule-group-tag{font-family:var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.04em;background:var(--gold-soft);color:var(--gold);border-radius:999px;margin-left:8px;padding:2px 8px;font-size:10px}.schedule-today-tag{font-family:var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.04em;background:var(--accent-soft);color:var(--accent);border-radius:999px;margin-left:8px;padding:2px 8px;font-size:10px}.schedule-add-box{margin-top:0;margin-bottom:18px}.schedule-add-box>.sc-label:first-child{color:var(--gold);margin-bottom:12px;font-size:13.5px;font-weight:700}.schedule-day-card.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), var(--shadow)}.payments-table{border-collapse:collapse;width:100%;font-size:13.5px}.payments-table th{text-align:left;font-family:var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);border-bottom:1px solid var(--border);padding:10px;font-size:10.5px}.payments-table td{border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;padding:10px}.payments-table tr:last-of-type td{border-bottom:none}.payment-setup-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.payment-tick{border:1.5px solid var(--border);background:var(--surface);color:#fff;cursor:pointer;vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin-right:8px;font-size:12px;font-weight:700;display:inline-flex}.payment-tick.done{background:var(--accent);border-color:var(--accent)}.invite-box{border-bottom:1px solid var(--border);padding:12px 20px}.invite-code{letter-spacing:.12em;color:var(--accent);-webkit-user-select:all;user-select:all;margin:2px 0 6px;font-size:1.4rem;font-weight:600}body:before{content:"";z-index:-1;pointer-events:none;background:var(--accent);opacity:var(--pattern-opacity);position:fixed;inset:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none' stroke='black' stroke-width='1.3'%3E%3Crect x='23' y='23' width='34' height='34'/%3E%3Cpolygon points='40,15.96 64.04,40 40,64.04 15.96,40'/%3E%3Crect x='-17' y='-17' width='34' height='34'/%3E%3Cpolygon points='0,-24.04 24.04,0 0,24.04 -24.04,0'/%3E%3Crect x='63' y='-17' width='34' height='34'/%3E%3Cpolygon points='80,-24.04 104.04,0 80,24.04 55.96,0'/%3E%3Crect x='-17' y='63' width='34' height='34'/%3E%3Cpolygon points='0,55.96 24.04,80 0,104.04 -24.04,80'/%3E%3Crect x='63' y='63' width='34' height='34'/%3E%3Cpolygon points='80,55.96 104.04,80 80,104.04 55.96,80'/%3E%3Cpath d='M23 23L17 17M57 23L63 17M23 57L17 63M57 57L63 63'/%3E%3C/svg%3E") 0 0/80px 80px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none' stroke='black' stroke-width='1.3'%3E%3Crect x='23' y='23' width='34' height='34'/%3E%3Cpolygon points='40,15.96 64.04,40 40,64.04 15.96,40'/%3E%3Crect x='-17' y='-17' width='34' height='34'/%3E%3Cpolygon points='0,-24.04 24.04,0 0,24.04 -24.04,0'/%3E%3Crect x='63' y='-17' width='34' height='34'/%3E%3Cpolygon points='80,-24.04 104.04,0 80,24.04 55.96,0'/%3E%3Crect x='-17' y='63' width='34' height='34'/%3E%3Cpolygon points='0,55.96 24.04,80 0,104.04 -24.04,80'/%3E%3Crect x='63' y='63' width='34' height='34'/%3E%3Cpolygon points='80,55.96 104.04,80 80,104.04 55.96,80'/%3E%3Cpath d='M23 23L17 17M57 23L63 17M23 57L17 63M57 57L63 63'/%3E%3C/svg%3E") 0 0/80px 80px}.shell{grid-template-columns:236px 1fr;min-height:100vh;display:grid}.side{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:6px;height:100vh;padding:26px 14px 20px;display:flex;position:sticky;top:0}.side .brand{padding:0 12px 18px;font-size:1.55rem}.side-nav{flex-direction:column;gap:4px;display:flex}.side-link{min-height:44px;color:var(--ink-soft);border-radius:12px;align-items:center;gap:12px;padding:0 12px;font-weight:600;text-decoration:none;display:flex}.side-link:hover{background:var(--surface-2);color:var(--ink)}.side-link.active{background:var(--accent-soft);color:var(--accent)}.side-foot{border-top:1px solid var(--border);flex-direction:column;align-items:stretch;gap:8px;margin-top:auto;padding:14px 12px 0;display:flex}.settings-link{color:var(--ink-soft);border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;padding:6px 11px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.settings-link:hover{background:var(--surface-2);color:var(--ink)}.settings-link .nav-ico{width:16px;height:16px}.mobile-head-actions{align-items:center;gap:8px;display:flex}.nav-ico{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:22px;height:22px}.main{min-width:0;padding:36px clamp(20px,4vw,52px) 56px}.main-inner{max-width:1040px;margin:0 auto}.mobile-head,.bottom-nav{display:none}@media (max-width:820px){.shell{display:block}.side{display:none}.main{padding:0 16px 104px}.mobile-head{justify-content:space-between;align-items:center;padding-block:18px 14px;display:flex}.mobile-head .brand{font-size:1.5rem}.bottom-nav{z-index:20;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--border);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 18px -12px #28261440}.bottom-link{min-width:60px;min-height:48px;color:var(--ink-faint);border-radius:12px;justify-items:center;gap:2px;padding:5px 6px;font-size:11.5px;font-weight:600;text-decoration:none;display:grid}.bottom-link.active{color:var(--accent)}}.card,.sheet-card{border-radius:var(--radius)}.roster-search-wrap{padding:12px 14px 8px}.roster-search{border:1px solid var(--border);background:var(--surface-2);width:100%;min-height:42px;color:var(--ink);font:inherit;border-radius:999px;padding:0 14px;font-size:14.5px}.roster-search::placeholder{color:var(--ink-faint)}.roster-group{border-top:1px solid var(--border)}.roster-group:first-of-type{border-top:none}.roster-group-head{align-items:center;gap:4px;padding:8px 10px 2px 8px;display:flex}.roster-group-toggle{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;align-items:center;gap:8px;min-height:36px;padding:0 6px;display:flex}.roster-group-toggle:hover{background:var(--surface-2)}.roster-group-name{font-family:var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-size:12px;font-weight:700}.roster-group-count{color:var(--ink-faint);background:var(--surface-2);border-radius:999px;padding:1px 8px;font-size:11px}.roster-group-btn{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 8px;font-size:12px;font-weight:600}.roster-group-btn:hover{color:var(--ink);background:var(--surface-2)}.roster-group-empty{color:var(--ink-faint);padding:6px 16px 12px 34px;font-size:13px}.roster-rename{flex-wrap:wrap;align-items:center;gap:6px;width:100%;padding:4px 4px 6px;display:flex}.roster-rename .range-input{flex:1;min-width:120px}.roster-newgroup{flex-direction:column;gap:8px;padding:4px 16px 14px;display:flex}.day-list{flex-direction:column;gap:10px;display:flex}.day-acc-head{text-align:left;cursor:pointer;border-radius:var(--radius);background:0 0;border:none;align-items:center;gap:10px;width:100%;min-height:56px;padding:0 18px;display:flex}.day-acc-head:disabled{cursor:default}.day-acc-head:not(:disabled):hover{background:var(--surface-2)}.day-acc-head:disabled .chev{opacity:.3}.day-acc-date{font-family:var(--font-display), serif;font-size:1.1rem;font-weight:600}.day-acc-count{color:var(--ink-soft);margin-left:auto;font-size:13.5px}.day-acc-head:disabled .day-acc-count{color:var(--ink-faint)}.day-acc-body{border-top:1px solid var(--border);padding:0 18px 8px 46px}.week-pager{justify-content:space-between;align-items:center;gap:10px;margin-top:16px;display:flex}.week-pager .action-btn{min-height:44px;padding:0 16px}.week-pager-label{color:var(--ink-soft);text-align:center;font-size:13px}:root{--on-accent:#fff;--tile-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80' fill='none' stroke='black' stroke-width='1.3'%3E%3Crect x='23' y='23' width='34' height='34'/%3E%3Cpolygon points='40,15.96 64.04,40 40,64.04 15.96,40'/%3E%3Crect x='-17' y='-17' width='34' height='34'/%3E%3Cpolygon points='0,-24.04 24.04,0 0,24.04 -24.04,0'/%3E%3Crect x='63' y='-17' width='34' height='34'/%3E%3Cpolygon points='80,-24.04 104.04,0 80,24.04 55.96,0'/%3E%3Crect x='-17' y='63' width='34' height='34'/%3E%3Cpolygon points='0,55.96 24.04,80 0,104.04 -24.04,80'/%3E%3Crect x='63' y='63' width='34' height='34'/%3E%3Cpolygon points='80,55.96 104.04,80 80,104.04 55.96,80'/%3E%3Cpath d='M23 23L17 17M57 23L63 17M23 57L17 63M57 57L63 63'/%3E%3C/svg%3E") 0 0 / 80px 80px repeat}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--on-accent:#0d1a14}}:root[data-theme=dark]{--on-accent:#0d1a14}.save-btn{color:var(--on-accent)}.nav-badge{background:var(--danger);color:#fff;min-width:18px;height:18px;font-family:var(--font-mono), monospace;border-radius:999px;place-items:center;padding:0 5px;font-size:10.5px;font-weight:700;line-height:1;display:inline-grid}.side-link .nav-badge{margin-left:auto}.bottom-ico-wrap{place-items:center;display:grid;position:relative}.bottom-ico-wrap .nav-badge{position:absolute;top:-6px;right:-10px}@media (max-width:820px){.bottom-link{flex:1;min-width:0;padding:5px 2px;font-size:10.5px}}
.screen-head h1{letter-spacing:-.01em;font-size:clamp(1.9rem,5vw,2.6rem)}.screen-head .sub{font-size:15px}.card-title{font-family:var(--font-mono), monospace;letter-spacing:.07em;color:var(--ink-faint);font-size:12px;font-weight:600}.save-btn{border-radius:12px;min-height:44px;padding:0 20px;font-size:15px}.action-btn{border-radius:10px;min-height:40px;padding:0 14px;font-size:13.5px}.add-dhor,.add-assign-dhor{border-radius:10px;min-height:38px;padding:0 12px;font-size:12.5px}.remove-dhor,.remove-assign-dhor{border-radius:8px;min-width:32px;min-height:32px;font-size:18px}.range-input{border-radius:10px;min-height:42px;padding:0 12px;font-size:14px}.range-input:focus,.note-field:focus,.msg-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);outline:none}.note-field{border-radius:10px;min-height:84px;font-size:15px}.msg-input{min-height:42px}.pill-btn{border-radius:10px;min-height:38px;padding:0 13px;font-size:12.5px}.complete-toggle,.payment-tick{width:32px;height:32px;font-size:15px}.status-pill{padding:4px 11px;font-size:12px}.juz-tile{font-size:11px}.attendee-name{font-size:15px}.booking-row{font-size:14.5px}.payments-table{font-size:15px}.payments-table td{padding-block:12px}.sc-label{font-size:11px}
.wordmark{align-items:center;gap:9px;display:inline-flex}.wordmark-star{width:1.05em;height:1.05em;fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.8px;stroke-linejoin:round;flex:none}body:has(.lp){--pattern-opacity:.1}.lp{max-width:1120px;margin:0 auto;padding:0 20px 40px}.lp-nav{justify-content:space-between;align-items:center;padding-block:20px;display:flex}.lp-nav .brand{font-size:1.55rem;text-decoration:none}.lp-nav-links{align-items:center;gap:18px;display:flex}.lp-signin{color:var(--ink-soft);font-weight:600;text-decoration:none}.lp-signin:hover{color:var(--ink)}.lp-btn-small{align-items:center;min-height:42px;padding:0 18px;text-decoration:none;display:inline-flex}.lp-hero{grid-template-columns:1.15fr .85fr;align-items:center;gap:48px;padding:56px 0 64px;display:grid}.lp-eyebrow{font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0;font-size:12px;font-weight:600}.lp-hero h1{letter-spacing:-.02em;text-wrap:balance;margin-top:12px;font-size:clamp(2.3rem,6vw,3.7rem);font-weight:600;line-height:1.06}.lp-lede{max-width:34rem;color:var(--ink-soft);margin:20px 0 0;font-size:clamp(1.05rem,2.4vw,1.22rem)}.lp-cta-row{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.lp-btn{border-radius:14px;justify-content:center;align-items:center;min-height:50px;padding:0 28px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.lp-btn-light{background:var(--surface);color:var(--accent)}.lp-btn-outline{border:1.5px solid color-mix(in srgb, var(--on-accent) 55%, transparent);color:var(--on-accent)}.lp-phone{background:var(--surface);border:1px solid var(--border);width:min(300px,100%);box-shadow:0 30px 60px -30px #28261473, var(--shadow);border-radius:38px;justify-self:center;padding:12px}.lp-phone-screen{background:var(--bg);border:1px solid var(--border);border-radius:28px;padding:20px 18px 22px}.lp-phone-top{justify-content:space-between;align-items:baseline;display:flex}.lp-phone-eyebrow,.lp-phone-label{font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);font-size:11px}.lp-phone-date{color:var(--ink-soft);font-size:12px}.lp-phone-big{font-family:var(--font-display), serif;color:var(--accent);margin:6px 0 10px;font-size:2.6rem;font-weight:600;line-height:1}.lp-phone-big span{font-family:var(--font-body), sans-serif;color:var(--ink);font-size:1rem;font-weight:500}.lp-phone-row{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;font-size:14px;display:flex}.lp-phone-time{color:var(--accent);font-weight:600}.lp-phone-name{flex:1;font-weight:600}.lp-phone-pill{background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono), monospace;border-radius:999px;padding:2px 9px;font-size:10.5px;font-weight:600}.lp-phone-pill.soft{background:var(--surface-2);color:var(--ink-soft)}.lp-phone-label{margin:18px 0 8px}.lp-tiles{grid-template-columns:repeat(6,1fr);gap:5px;display:grid}.lp-section{padding:56px 0 8px}.lp-section h2{text-align:center;letter-spacing:-.01em;text-wrap:balance;margin-bottom:32px;font-size:clamp(1.6rem,4vw,2.25rem);font-weight:600}.lp-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.lp-feature{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;padding:24px}.lp-feature-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:12px;place-items:center;margin-bottom:14px;display:grid}.lp-ico{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.lp-feature h3{margin-bottom:6px;font-size:1.15rem;font-weight:600}.lp-feature p,.lp-step p{color:var(--ink-soft);margin:0;font-size:15px}.lp-steps{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;display:grid}.lp-step h3{margin:12px 0 6px;font-size:1.15rem;font-weight:600}.lp-step-n{border:1.5px solid var(--accent);background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:50%;place-items:center;font-weight:600;display:grid}.lp-final{isolation:isolate;text-align:center;background:var(--accent);color:var(--on-accent);border-radius:24px;margin-top:64px;padding:56px 24px;position:relative;overflow:hidden}.lp-final:before{content:"";z-index:-1;background:var(--on-accent);opacity:.13;-webkit-mask:var(--tile-mask);-webkit-mask:var(--tile-mask);mask:var(--tile-mask);position:absolute;inset:0}.lp-final h2{text-wrap:balance;margin:0;font-size:clamp(1.7rem,4vw,2.4rem);font-weight:600}.lp-final p{opacity:.9;margin:10px 0 0}.lp-footer{text-align:center;color:var(--ink-faint);margin-top:40px;font-size:13px}@media (max-width:860px){.lp-hero{grid-template-columns:1fr;gap:40px;padding:28px 0 40px}.lp-section{padding-top:40px}}.auth-split{grid-template-columns:5fr 6fr;min-height:100vh;display:grid}.auth-panel{isolation:isolate;background:var(--accent);color:var(--on-accent);flex-direction:column;justify-content:space-between;gap:48px;padding:40px 48px;display:flex;position:relative;overflow:hidden}.auth-panel:before{content:"";z-index:-1;background:var(--on-accent);opacity:.13;-webkit-mask:var(--tile-mask);-webkit-mask:var(--tile-mask);mask:var(--tile-mask);position:absolute;inset:0}.auth-panel-brand,.auth-card-brand{font-family:var(--font-display), serif;color:inherit;font-size:1.6rem;font-weight:600;text-decoration:none}.auth-panel-brand .wordmark-star{fill:#0000;stroke:var(--on-accent)}.auth-panel h2{letter-spacing:-.01em;text-wrap:balance;max-width:20ch;font-size:clamp(1.9rem,3vw,2.6rem);font-weight:600;line-height:1.12}.auth-panel ul{gap:12px;margin:24px 0 0;padding:0;list-style:none;display:grid}.auth-panel li{opacity:.92;padding-left:26px;font-size:16px;position:relative}.auth-panel li:before{content:"";border:1.6px solid;width:9px;height:9px;position:absolute;top:.5em;left:2px;transform:rotate(45deg)}.auth-main{justify-content:center;align-items:center;padding:32px 20px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:22px;padding:36px 32px}.auth-card-brand{color:var(--ink);margin-bottom:20px;display:inline-block}.auth-title{letter-spacing:-.01em;font-size:1.9rem;font-weight:600}.auth-sub{color:var(--ink-soft);margin:6px 0 24px;font-size:15px}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-field{display:block}.auth-input{width:100%;min-height:48px;font:inherit;color:var(--ink);background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:0 14px;font-size:16px}.auth-input::placeholder{color:var(--ink-faint)}.auth-forgot{color:var(--accent);margin-top:8px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-block}.auth-forgot:hover{text-decoration:underline}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.auth-error{background:var(--danger-soft);color:var(--danger);border-radius:10px;padding:10px 12px;font-size:14px}.auth-submit{border-radius:12px;width:100%;min-height:50px;margin-top:4px;font-size:16px}.auth-switch{text-align:center;color:var(--ink-soft);margin-top:22px;font-size:14.5px}.auth-switch a{color:var(--accent);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-demo{border:1px dashed var(--border);border-radius:12px;margin-top:22px;font-size:14px}.auth-demo summary{color:var(--gold);cursor:pointer;padding:12px 14px;font-weight:600}.auth-demo-body{gap:10px;padding:0 14px 14px;display:grid}.auth-demo-actions{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:900px){.auth-split{grid-template-columns:1fr}.auth-panel{display:none}.auth-main{min-height:100vh;padding-block:24px}.auth-card{padding:28px 22px}}@media (min-width:901px){.auth-card-brand{display:none}}.lp-tiles .juz-tile.empty{background:var(--surface);border:1px solid var(--border)}.lp-cta-row .action-btn.ghost{background:var(--surface);border-color:color-mix(in srgb, var(--ink) 22%, var(--border));color:var(--ink)}
.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:22px;display:flex}.dash-eyebrow{font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 2px;font-size:12px;font-weight:600}.dash-head h1{letter-spacing:-.01em;font-size:clamp(1.9rem,5vw,2.6rem);font-weight:600}.dash-actions{flex-wrap:wrap;gap:10px;display:flex}.dash-btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.dash-hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 24px;margin-bottom:16px;padding:26px 28px;display:flex}.dash-hero-main{align-items:center;gap:20px;display:flex}.dash-big{font-family:var(--font-display), serif;letter-spacing:-.03em;color:var(--accent);font-size:clamp(3.6rem,9vw,5.2rem);font-weight:600;line-height:.9}.dash-hero-title{font-family:var(--font-display), serif;font-size:1.35rem;font-weight:500;line-height:1.2}.dash-hero-sub{color:var(--ink-soft);margin-top:4px;font-size:15px}.dash-hero-btn{justify-content:center;align-items:center;min-height:48px;padding:0 24px;text-decoration:none;display:inline-flex}.dash-grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.dash-card{padding:20px 22px 12px}.dash-card-title{font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 6px;font-size:12px;font-weight:600}.dash-empty{color:var(--ink-soft);margin:8px 0 12px;font-size:14.5px}.dash-row{border-top:1px solid var(--border);min-height:56px;color:inherit;border-radius:10px;align-items:center;gap:12px;margin:0 -8px;padding:10px 8px;text-decoration:none;display:flex}.dash-card-title+.dash-row{border-top:none}.dash-row:hover{background:var(--surface-2)}.dash-row-stack{flex-direction:column;align-items:flex-start;gap:2px}.dash-time{width:52px;color:var(--accent);font-weight:600}.dash-name{flex:1;min-width:0;font-weight:600}.dash-reasons{color:var(--ink-soft);font-size:13.5px}.status-pill.ok{background:var(--accent-soft);color:var(--accent)}.status-pill.mid{background:var(--gold-soft);color:var(--gold)}.status-pill.bad{background:var(--danger-soft);color:var(--danger)}.status-pill.none{background:var(--surface-2);color:var(--ink-soft)}@media (max-width:820px){.dash-grid{grid-template-columns:1fr}.dash-hero{padding:22px 20px}.dash-hero-btn,.dash-actions{width:100%}.dash-actions .dash-btn{flex:1}}
.portal{flex-direction:column;gap:16px;max-width:680px;margin:0 auto;padding-bottom:24px;display:flex}.portal-hero{padding:26px 24px}.portal-eyebrow{font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0;font-size:12px;font-weight:600}.portal-hero h1{letter-spacing:-.02em;margin-top:6px;font-size:clamp(2.2rem,8vw,3.2rem);font-weight:600;line-height:1.05}.portal-sub{color:var(--ink-soft);margin:6px 0 0}.portal-chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;padding:9px 16px;font-size:15px;font-weight:600;display:inline-flex}.portal-chip-label{font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;opacity:.8;font-size:11px}.portal-card{padding-bottom:12px}.portal-card-head{justify-content:space-between;align-items:baseline;gap:12px;padding:20px 22px 6px;display:flex}.portal-card-title{font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-size:12px;font-weight:600}.portal-count{color:var(--accent);font-size:13px;font-weight:600}.portal-empty,.portal-hint,.portal-allset{color:var(--ink-soft);margin:0;padding:10px 22px 8px;font-size:14.5px}.portal-allset{color:var(--accent);font-weight:600}.portal-bar{background:var(--surface-2);border-radius:999px;height:8px;margin:6px 22px 8px;overflow:hidden}.portal-bar i{background:var(--accent);border-radius:999px;height:100%;transition:width .25s;display:block}.portal-task{border:1.5px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;border-radius:16px;align-items:center;gap:14px;width:calc(100% - 44px);min-height:68px;margin:10px 22px 0;padding:12px 16px;display:flex}.portal-task:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.portal-task.done{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.portal-tick{border:2px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;font-size:19px;font-weight:700;display:grid}.portal-task.done .portal-tick{background:var(--accent);border-color:var(--accent)}.portal-task-text{flex:1;gap:2px;min-width:0;display:grid}.portal-task-kind{font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);font-size:11px}.portal-task-range{overflow-wrap:anywhere;font-size:1.1rem;font-weight:600}.portal-task-state{color:var(--ink-faint);text-align:right;font-size:12.5px;font-weight:600}.portal-task.done .portal-task-state{color:var(--accent)}.portal-lesson{border-top:1px solid var(--border);padding:12px 22px;font-size:14px}.portal-card-head+.portal-lesson{border-top:none}.portal-join-title{margin-bottom:6px;font-size:1.5rem;font-weight:600}.portal-join-text{color:var(--ink-soft);margin:0 0 16px;font-size:15px}@media (max-width:480px){.portal-hero{padding:22px 20px}.portal-task{gap:12px;padding:12px 14px}.portal-task-state{display:none}}.portal-link{color:var(--accent);font-size:13px;font-weight:600;text-decoration:none}.portal-link:hover{text-decoration:underline}.portal-chip-link{color:inherit;flex-wrap:wrap;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.portal-feedback{font-family:var(--font-display), serif;margin:4px 0 0;padding:6px 22px 0;font-size:1.2rem;line-height:1.4}.portal-feedback-meta{color:var(--ink-faint);margin:0;padding:8px 22px 10px;font-size:12px}.portal-day{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:10px 22px;display:flex}.portal-card-head+.portal-day{border-top:none}.portal-day.today{background:var(--accent-soft)}.portal-day-date{font-family:var(--font-display), serif;align-items:center;font-size:1.05rem;font-weight:600;display:flex}.portal-day.empty .portal-day-date{color:var(--ink-faint);font-weight:500}.portal-day-lessons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.portal-day-lesson{color:var(--accent);align-items:center;gap:8px;font-size:16px;font-weight:600;display:inline-flex}.portal-day-none{color:var(--ink-faint);font-size:13.5px}.portal-chat-head h1{margin-top:4px;font-size:clamp(1.8rem,6vw,2.4rem);font-weight:600}.portal-chat{flex-direction:column;height:calc(100vh - 230px);min-height:380px;display:flex;overflow:hidden}.portal-chat .thread{flex:1;min-height:0}@media (max-width:820px){.portal-chat{height:calc(100vh - 290px)}}.diary-compose{flex-direction:column;gap:10px;padding:18px 22px 20px;display:flex}.diary-filter{flex-wrap:wrap;gap:6px;display:flex}.diary-filter-btn{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:0 16px;font-size:14px;font-weight:600}.diary-filter-btn.active{background:var(--accent-soft);color:var(--accent);border-color:#0000}.diary-list{flex-direction:column;gap:12px;display:flex}.diary-entry{padding:16px 22px 14px}.diary-entry.mine{border-left:3px solid var(--gold)}.diary-entry.teacher{border-left:3px solid var(--accent)}.diary-entry-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.diary-tag{font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:600}.diary-tag.teacher{color:var(--accent)}.diary-tag.mine{color:var(--gold)}.diary-date{color:var(--ink-faint);font-size:12px}.diary-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0;font-size:16px;line-height:1.55}.diary-grades{flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:13px;display:flex}.diary-grade{align-items:center;gap:8px;display:inline-flex}.diary-actions{gap:4px;margin-top:6px;display:flex}.diary-edit{flex-direction:column;gap:10px;margin-top:10px;display:flex}
.thread{flex-direction:column;display:flex}.thread-tall{height:100%;min-height:0}.thread-tall .msg-feed{flex:1;min-height:0;max-height:none;padding:18px 20px}.inbox-layout{grid-template-columns:340px 1fr;align-items:stretch;gap:16px;height:calc(100vh - 210px);min-height:420px;display:grid}.inbox-list{padding:6px 0;overflow-y:auto}.inbox-row{border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;width:100%;min-height:68px;padding:12px 16px;display:flex}.inbox-row:last-child{border-bottom:none}.inbox-row:hover{background:var(--surface-2)}.inbox-row.active{background:var(--accent-soft)}.inbox-meta{flex:1;gap:2px;min-width:0;display:grid}.inbox-name{font-size:15px;font-weight:600}.inbox-preview{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);font-size:13.5px;overflow:hidden}.inbox-side{flex:none;justify-items:end;gap:4px;display:grid}.inbox-time{font-family:var(--font-mono), monospace;color:var(--ink-faint);white-space:nowrap;font-size:10.5px}.inbox-thread{flex-direction:column;min-height:0;display:flex;overflow:hidden}.inbox-thread-head{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 18px;display:flex}.inbox-thread-name{font-family:var(--font-display), serif;flex:1;font-size:1.2rem;font-weight:600}.inbox-back{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:8px 4px;font-weight:600;display:none}.inbox-empty{color:var(--ink-soft);margin:0;padding:28px 22px}.inbox-thread .thread{flex:1;min-height:0}@media (max-width:820px){.inbox-layout{height:auto;display:block}.inbox-page.has-thread .inbox-list,.inbox-page:not(.has-thread) .inbox-thread{display:none}.inbox-page.has-thread .inbox-thread{height:calc(100vh - 250px);min-height:360px}.inbox-back{display:block}}
.notes-tabs{margin-bottom:16px;display:inline-flex}.notes-tabs .tab{min-height:42px;padding:0 22px;font-size:15px}.notes{flex-direction:column;gap:14px;max-width:760px;display:flex}.notes-compose{flex-direction:column;gap:10px;padding:18px 20px;display:flex}.notes-compose-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.notes-compose-row .range-input{flex:1;width:auto;min-width:160px}.notes-search{max-width:320px}.notes-list{flex-direction:column;gap:10px;display:flex}.notes-empty{color:var(--ink-soft);padding:28px 22px}.note-card{padding:14px 20px 10px}.note-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.note-tag{font-family:var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;background:var(--surface-2);color:var(--ink-soft);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.note-tag.student{background:var(--accent-soft);color:var(--accent)}.note-date{color:var(--ink-faint);font-size:12px}.note-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0;font-size:15.5px;line-height:1.55}.note-actions{gap:4px;margin-top:4px;display:flex}.note-edit{flex-direction:column;gap:10px;margin-top:10px;display:flex}.note-edit .range-input{width:100%;max-width:320px}.pay-card{padding:14px 16px 8px}.pay-summary{color:var(--ink-soft);flex-wrap:wrap;gap:6px 18px;margin-bottom:10px;font-size:14px;display:flex}.pay-summary b{color:var(--ink);font-size:15px}.pay-filter{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.pay-chip{border:1px solid var(--border);background:var(--surface);min-height:34px;color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:0 12px;font-size:13px;font-weight:600}.pay-chip.active{background:var(--accent-soft);color:var(--accent);border-color:#0000}.pay-head,.pay-row,.pay-edit{grid-template-columns:minmax(130px,1.5fr) 92px minmax(150px,1fr) 96px 52px;align-items:center;column-gap:10px;display:grid}.pay-head{border-bottom:1px solid var(--border);font-family:var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);padding:6px 8px;font-size:10.5px}.pay-row,.pay-edit{border-bottom:1px solid var(--border);min-height:46px;padding:4px 8px}.pay-row:last-child,.pay-edit:last-child{border-bottom:none}.pay-row:hover{background:var(--surface-2)}.pay-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:600;overflow:hidden}.pay-rate,.pay-last{font-size:13.5px}.pay-last{color:var(--ink-soft)}.pay-meta{display:none}.pay-status{align-items:center;gap:8px;display:inline-flex}.pay-status .payment-tick{width:28px;height:28px;margin-right:0;font-size:14px}.pay-edit-btn{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px;font-size:13px;font-weight:600}.pay-edit-btn:hover{color:var(--ink);background:var(--surface-2)}.pay-row-none{grid-template-columns:minmax(130px,1.5fr) auto}.pay-edit{grid-template-columns:minmax(110px,1.2fr) 100px 110px auto auto;padding-block:8px}.pay-edit .range-input{width:100%}.pay-empty{color:var(--ink-faint);padding:18px 8px;font-size:14px}@media (max-width:640px){.pay-card{padding:12px 12px 4px}.pay-head{display:none}.pay-row{grid-template-columns:1fr auto;grid-template-areas:"name status""meta edit";row-gap:0;min-height:60px;padding:8px 4px}.pay-row .pay-name{grid-area:name}.pay-row .pay-status{grid-area:status;justify-self:end}.pay-row .pay-rate,.pay-row .pay-last{display:none}.pay-row .pay-meta{color:var(--ink-soft);grid-area:meta;font-size:12.5px;display:block}.pay-row .pay-edit-btn{grid-area:edit;justify-self:end}.pay-row-none{grid-template-columns:1fr auto;grid-template-areas:none}.pay-edit{grid-template-columns:1fr 1fr;row-gap:8px;padding:10px 4px}.pay-edit .pay-name{grid-column:1/-1}}
.reflection{isolation:isolate;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:0 0 18px;padding:22px 26px 20px;position:relative;overflow:hidden}.reflection:before{content:"";z-index:-1;background:var(--accent);opacity:.06;-webkit-mask:var(--tile-mask);-webkit-mask:var(--tile-mask);mask:var(--tile-mask);position:absolute;inset:0}.reflection-arabic{font-family:var(--font-arabic), "Amiri", "Traditional Arabic", serif;color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(1.6rem,4.4vw,2.15rem);line-height:1.9}.reflection-translation{max-width:44rem;font-family:var(--font-display), serif;color:var(--ink-soft);text-wrap:balance;margin:8px auto 0;font-size:clamp(1.02rem,2.4vw,1.2rem);font-style:italic;line-height:1.5}.reflection-source{font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);margin-top:10px;font-size:11.5px;font-weight:600}@media (max-width:480px){.reflection{padding:18px 18px 16px}}
.roster-layout{grid-template-columns:320px minmax(0,1fr);gap:18px}.roster-col{border-radius:var(--radius);align-self:start;max-height:calc(100vh - 32px);position:sticky;top:16px;overflow-y:auto}.profile-col{flex-direction:column;gap:14px;min-width:0;display:flex}.profile-hero-card{overflow:hidden}.profile-hero{padding:22px 24px 0}.profile-back{color:var(--accent);cursor:pointer;background:0 0;border:none;margin:-6px 0 12px -6px;padding:8px 6px;font-size:15px;font-weight:600;display:none}.profile-hero-top{align-items:flex-start;gap:16px;display:flex}.profile-avatar{background:var(--accent-soft);width:64px;height:64px;color:var(--accent);font-family:var(--font-display), serif;border-radius:50%;flex:none;place-items:center;font-size:1.5rem;font-weight:600;display:grid}.profile-id{flex:1;min-width:0}.profile-name{letter-spacing:-.01em;font-size:clamp(1.5rem,4vw,1.9rem);font-weight:600;line-height:1.15}.profile-plan{color:var(--ink-soft);margin-top:2px;font-size:15px}.profile-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.profile-chip{background:var(--surface-2);color:var(--ink-soft);font-family:var(--font-mono), monospace;white-space:nowrap;border-radius:999px;padding:4px 11px;font-size:12px;display:inline-block}.profile-chip.on{background:var(--accent-soft);color:var(--accent)}.profile-actions{flex:none;gap:8px;display:flex}.profile-remove:hover{color:var(--danger);border-color:var(--danger)}.profile-edit{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.profile-edit .range-input{width:100%}.profile-stats{border-top:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));margin:20px -24px 0;padding:0;display:grid}.profile-stat{border-left:1px solid var(--border);padding:14px 24px 16px}.profile-stat:first-child{border-left:none}.profile-stat dt{font-family:var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:10.5px}.profile-stat dd{margin:4px 0 0;font-size:15px;font-weight:600;line-height:1.3}.profile-card{padding:4px 0 6px}.profile-card-title{font-family:var(--font-mono), monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin:0;padding:16px 24px 4px;font-size:12px;font-weight:600}.profile-card-body{padding:6px 24px 18px}.profile-card .assign-box,.profile-card .booking-box{background:0 0;border-radius:0;margin:0;padding:0}.profile-card .assign-box>.sc-label:first-child,.profile-card .booking-box>.sc-label:first-child{display:none}.profile-card .assign-box .range-input{min-height:46px;font-size:15px}.profile-card .assign-dhor-row .range-input.small{flex:1;width:auto;max-width:320px}.profile-card .booking-row{padding:10px 0}.profile-card .juz-map,.profile-card .legend,.profile-card .self-rate-hint{padding-left:0;padding-right:0}.profile-card .history-date-btn{padding-left:0}.profile-card .history-detail{padding-left:22px;padding-right:0}.profile-card:has(.history-entry) .profile-card-body{padding-top:0;padding-bottom:8px}.profile-details{grid-template-columns:1fr 1fr;gap:18px 28px;display:grid}.profile-details .invite-box{border:none;padding:0}.profile-msg-btn{align-items:center;margin-top:16px;text-decoration:none;display:inline-flex}@media (max-width:820px){.roster-layout{grid-template-columns:1fr}.roster-col{max-height:none;position:static;overflow:visible}.students-page.show-profile .roster-col,.students-page.show-profile .screen-head,.students-page:not(.show-profile) .profile-col{display:none}.profile-back{display:block}.profile-hero{padding:16px 18px 0}.profile-hero-top{flex-wrap:wrap}.profile-avatar{width:52px;height:52px;font-size:1.25rem}.profile-id{flex-basis:calc(100% - 70px)}.profile-actions{flex-basis:100%}.profile-stats{grid-template-columns:1fr 1fr;margin:16px -18px 0}.profile-stat{border-left:none;border-top:1px solid var(--border);padding:12px 18px}.profile-stat:nth-child(-n+2){border-top:none}.profile-stat:nth-child(2n){border-left:1px solid var(--border)}.profile-card-title{padding:14px 18px 2px}.profile-card-body{padding:6px 18px 16px}.profile-details{grid-template-columns:1fr}}@media (min-width:821px) and (max-width:1180px){.roster-layout{grid-template-columns:270px minmax(0,1fr)}.profile-hero-top{flex-wrap:wrap}.profile-id{flex-basis:calc(100% - 200px)}.profile-stats{grid-template-columns:1fr 1fr}.profile-stat:nth-child(n+3){border-top:1px solid var(--border)}.profile-stat:nth-child(3){border-left:none}.profile-details{grid-template-columns:1fr}}
.sheet-list{max-width:720px;margin:0}.sheet-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:720px;box-shadow:var(--shadow);margin-bottom:14px;padding:16px 18px}.sheet-summary .sessions-left-heading{font-family:var(--font-display), serif;margin:0;font-size:1.3rem}.sheet-progress{background:var(--surface-2);border-radius:999px;height:8px;margin-top:12px;overflow:hidden}.sheet-progress i{background:var(--accent);border-radius:999px;height:100%;transition:width .3s;display:block}.sheet-summary-sub{color:var(--ink-soft);margin-top:8px;font-size:13px}.sheet-card-head{padding:6px 12px 6px 14px}.sheet-card-toggle .attendee-name{font-size:16px;font-weight:600}.time-inline{color:var(--ink-soft);font-size:12.5px;font-weight:600}.complete-toggle{width:auto;height:36px;color:var(--ink-soft);white-space:nowrap;border-radius:999px;margin-right:0;padding:0 14px;font-size:13px;font-weight:600}.complete-toggle.done{color:var(--on-accent)}.sheet-card-body{gap:18px;padding:16px 18px 18px}.ready-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.ready-chip{background:var(--surface-2);color:var(--ink-faint);border-radius:999px;padding:4px 11px;font-size:13px}.ready-chip.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.use-assigned{border:1px dashed var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:999px;align-self:flex-start;margin:6px 0 2px;padding:6px 12px;font-size:13px;font-weight:600}.use-assigned:hover{background:var(--accent-soft)}.sheet-card-body .range-input{min-height:44px}.sheet-card-body .range-input:not(.small){flex:140px;min-width:0}.sheet-card-body .save-btn{width:100%;min-height:46px}.next-assign{border-top:1px solid var(--border);padding-top:12px}.next-assign summary{cursor:pointer;color:var(--accent);font-size:14px;font-weight:600;list-style:none}.next-assign summary::-webkit-details-marker{display:none}.next-assign summary:before{content:"+ "}.next-assign[open] summary:before{content:"– "}.next-assign .assign-box{margin-top:12px}.sc-absent-note{color:var(--ink-faint);font-size:14px}@media (max-width:820px){.sheet-summary{padding:14px 16px}.sheet-card-head{flex-wrap:wrap;padding-right:10px}.complete-toggle{margin-left:auto}.sheet-card-body{padding:14px 14px 16px}}.unscheduled-list{flex-direction:column;gap:8px;display:flex}.unscheduled-row{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:10px 14px;display:flex}.unscheduled-name{flex:1;font-size:15px;font-weight:600}
::selection{background:var(--accent-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:0}@keyframes page-in{0%{opacity:0}to{opacity:1}}.main-inner>*{animation:.28s ease-out both page-in}button:not(:disabled),summary,select{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .1s}button:not(:disabled):active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.inbox-empty,.notes-empty,.pay-empty,.dash-empty,.portal-empty{text-align:center;color:var(--ink-faint);line-height:1.5}.inbox-thread>.inbox-empty{max-width:28ch;margin:auto}.inbox-thread:has(>.inbox-empty:only-child){place-items:center;min-height:240px;display:grid}.day-acc-body .remove-assign-dhor{border-radius:50%;min-width:40px;min-height:40px;font-size:18px}.day-acc-body .remove-assign-dhor:hover{background:var(--surface-2);color:var(--danger)}.day-acc-head .chev{text-align:center;width:14px;font-size:20px}.dash-actions .action-btn:not(.primary){color:var(--ink);border-color:var(--ink-faint);background:var(--surface)}@media (max-width:820px){.action-btn,.save-btn{min-height:44px}}.install-banner{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);color:var(--ink);justify-content:space-between;align-items:center;gap:12px;margin:14px 0 -2px;padding:10px 16px;font-size:13.5px;line-height:1.4;display:flex}.install-banner-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.install-banner-btn{background:var(--accent);color:var(--on-accent);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600}.install-banner-dismiss{width:26px;height:26px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:16px}.install-banner-dismiss:hover{background:#0000000f}@media (max-width:480px){.install-banner{flex-direction:column;align-items:flex-start}.install-banner-actions{align-self:flex-end}}.settings-page{flex-direction:column;gap:14px;max-width:520px;display:flex}.settings-card-body{flex-direction:column;gap:10px;display:flex}.settings-form{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.settings-form .range-input{width:100%;min-height:44px}.settings-current{color:var(--ink-soft);font-size:14px}.settings-note{color:var(--ink-soft);font-size:13px}.settings-danger-btn{color:var(--danger);border-color:var(--danger)}.settings-danger-btn:hover{background:var(--danger-soft)}.settings-danger-confirm p{color:var(--ink-soft);margin:0 0 4px;font-size:14px;line-height:1.5}
