@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.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:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_ccde4905-module__iETAAW__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_ccde4905-module__iETAAW__variable{--font-body:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(../media/79e9e0e3b9220e46-s.0~gr2nv~zu_tq.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:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(../media/e62850744c7f266e-s.075bt8bdso9.6.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:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(../media/9433d1a810498265-s.p.0h26ys03~gfbk.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:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(../media/79e9e0e3b9220e46-s.0~gr2nv~zu_tq.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:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(../media/e62850744c7f266e-s.075bt8bdso9.6.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:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(../media/9433d1a810498265-s.p.0h26ys03~gfbk.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:Newsreader;font-style:italic;font-weight:600;font-display:swap;src:url(../media/79e9e0e3b9220e46-s.0~gr2nv~zu_tq.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:Newsreader;font-style:italic;font-weight:600;font-display:swap;src:url(../media/e62850744c7f266e-s.075bt8bdso9.6.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:Newsreader;font-style:italic;font-weight:600;font-display:swap;src:url(../media/9433d1a810498265-s.p.0h26ys03~gfbk.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:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/150f724d70372c02-s.0ibo8nq1_5r8c.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:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/750c737482d9de2f-s.0.oe-uv1--sd5.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:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.16whm0euli40m.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:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(../media/150f724d70372c02-s.0ibo8nq1_5r8c.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:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(../media/750c737482d9de2f-s.0.oe-uv1--sd5.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:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.16whm0euli40m.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:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(../media/150f724d70372c02-s.0ibo8nq1_5r8c.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:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(../media/750c737482d9de2f-s.0.oe-uv1--sd5.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:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.16whm0euli40m.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:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_3e69aac8-module__36cyAG__className{font-family:Newsreader,Newsreader Fallback}.newsreader_3e69aac8-module__36cyAG__variable{--font-serif:"Newsreader", "Newsreader Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.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.10hk62x1-0d9n.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.0bmyfaahigzds.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.0-0ft90hthv3~.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.16fk0g~ypa53a.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.0f97p8c3305p~.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.0h-nw9_c8d~-_.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.10hk62x1-0d9n.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.0bmyfaahigzds.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.0-0ft90hthv3~.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.16fk0g~ypa53a.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.0f97p8c3305p~.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.0h-nw9_c8d~-_.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.10hk62x1-0d9n.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.0bmyfaahigzds.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.0-0ft90hthv3~.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.16fk0g~ypa53a.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.0f97p8c3305p~.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_c94d0c2-module__ZWwNIG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_c94d0c2-module__ZWwNIG__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:#f5f7fb;--bg-2:#e9f0f7;--surface:#fff;--surface-2:#f1f5fa;--fg:#0e2440;--fg-2:#36506f;--muted-fg:#647890;--line:#dce5ef;--line-strong:#8aa0b7;--primary:#102c52;--primary-2:#1c4374;--primary-soft:#e7eef6;--accent:#d9312d;--accent-fg:#fff;--accent-soft:#fcecea;--lesson:#2563eb;--lesson-soft:#e8f0ff;--clinic:#0f766e;--clinic-soft:#e6f6f3;--lab:#b7791f;--lab-soft:#fff6df;--checkpoint:#d9312d;--checkpoint-soft:#fcecea;--ok:#16845b;--warn:#b7791f;--danger:#c2413b;--info:#2563eb;--background:var(--bg);--background-strong:var(--bg-2);--foreground:var(--fg);--muted:var(--muted-fg);--brand:var(--primary);--brand-strong:var(--primary-2);--brand-soft:var(--primary-soft);--warm:var(--accent);--warm-soft:var(--accent-soft);--radius-xl:8px;--radius-lg:8px;--radius-md:6px;--radius-sm:4px;--shadow:0 1px 2px #0f172a14;--shadow-md:0 10px 26px #0f172a1a;--shadow-lg:0 18px 50px #0f172a24;--gradient-brand:var(--primary);--gradient-hero:var(--surface);--max-width:1180px;--transition:.16s ease}[data-theme=dark]{--bg:#08172b;--bg-2:#0c2139;--surface:#102a47;--surface-2:#163356;--fg:#f2f6fc;--fg-2:#c6d6e8;--muted-fg:#7f96b2;--line:#1e3656;--line-strong:#5d7790;--primary:#8db9ec;--primary-2:#aacdf5;--primary-soft:#11294a;--accent:#e63a30;--accent-fg:#fff;--accent-soft:#3a1410;--lesson:#7fb2ff;--lesson-soft:#14274a;--clinic:#4bd2bc;--clinic-soft:#0f2b2c;--lab:#f3bd4f;--lab-soft:#2f2614;--checkpoint:#ef4338;--checkpoint-soft:#3a160f;--danger:#ff5d4a;--shadow:0 1px 2px #00000052;--shadow-md:0 12px 30px #0000005c;--shadow-lg:0 18px 50px #0000006b}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{background:var(--bg);min-height:100%;color:var(--fg);font-family:var(--font-body), sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}img,svg,video{max-width:100%;display:block}::selection{background:var(--fg);color:var(--bg)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.015em;color:var(--fg);font-weight:500;line-height:1.08}h1{font-size:3rem}h2{font-size:1.5rem}h3{font-size:1.125rem}h4{font-size:1rem}p{line-height:1.6}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted-fg);font-size:.7rem;font-weight:500;display:inline-block}.lede{color:var(--fg-2);max-width:44rem;font-size:1rem;line-height:1.7}.muted,.support-copy,.field-hint{color:var(--muted-fg);font-size:.85rem}.text-link{color:var(--fg);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.text-link:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{z-index:20;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header__inner,.site-main,.site-footer{width:min(calc(100% - 2rem), var(--max-width));margin:0 auto}.site-header__inner{justify-content:space-between;align-items:center;gap:1rem;min-height:56px;display:flex}.site-main{flex:1;padding:2.5rem 0 4rem}.site-footer{color:var(--muted-fg);font-size:.8rem;font-family:var(--font-mono);padding:1.5rem 0 2rem}.footer-note{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.25rem;display:flex}.footer-links{flex-wrap:wrap;gap:1.5rem;display:flex}.footer-links a{color:var(--muted-fg);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.footer-links a:hover{color:var(--fg)}.brand-mark{align-items:center;display:inline-flex}.brand-mark__logo{width:7.5rem;height:auto;display:block}[data-theme=dark] .brand-mark__logo{filter:none}.brand-mark__chip{background:var(--fg);width:1.75rem;height:1.75rem;color:var(--bg);place-items:center;font-size:.8rem;font-weight:700;display:grid}.brand-mark__text small{color:var(--muted-fg);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.65rem;display:block}.header-nav{align-items:center;gap:0;display:flex}.nav-link{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted-fg);border-radius:var(--radius-sm);transition:background var(--transition), color var(--transition);background:0 0;align-items:center;padding:.5rem .85rem;font-size:.74rem;font-weight:500;display:inline-flex}.nav-link:hover{background:var(--primary-soft);color:var(--fg)}.nav-link--admin{background:var(--primary);color:#fff;margin-left:.5rem;padding:.5rem .95rem}.nav-link--admin:hover{background:var(--accent);color:var(--accent-fg)}.theme-toggle{border:1px solid var(--line);background:var(--surface);width:2rem;height:2rem;color:var(--fg);border-radius:var(--radius-sm);transition:background var(--transition), border-color var(--transition), color var(--transition);justify-content:center;align-items:center;margin-left:.5rem;display:inline-flex}.theme-toggle:hover{background:var(--primary-soft);border-color:var(--line-strong);color:var(--primary)}.theme-toggle svg{width:.95rem;height:.95rem}.button{border:1px solid var(--primary);background:var(--primary);color:#fff;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-sm);box-shadow:var(--shadow);transition:background var(--transition), color var(--transition), border-color var(--transition), box-shadow var(--transition), transform var(--transition);justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.78rem;font-weight:500;display:inline-flex}.button:hover{background:var(--primary-2);border-color:var(--primary-2);color:var(--accent-fg);box-shadow:var(--shadow-md);transform:translateY(-1px)}.button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.button--ghost{background:var(--surface);color:var(--primary);border-color:var(--line)}.button--ghost:hover{background:var(--primary-soft);color:var(--primary);border-color:var(--primary)}.button--danger{color:var(--danger);border-color:var(--danger);background:0 0}.button--danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.button--warm{background:var(--accent-soft);color:var(--checkpoint);border-color:var(--accent)}.button--warm:hover{background:var(--accent);color:var(--accent-fg)}.button--small{padding:.5rem .85rem;font-size:.7rem}.stack-xl,.stack-lg,.stack-md,.stack-sm{flex-direction:column;display:flex}.stack-xl{gap:3rem}.stack-lg{gap:2rem}.stack-md{gap:1.25rem}.stack-sm{gap:.75rem}.button-row,.inline-row,.cluster{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.panel{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.75rem}.panel--hero{background:var(--surface);border-color:var(--line)}.metric-card,.feature-card,.course-card,.stat-card,.dashboard-card,.outline-card,.content-block,.form-card,.empty-state,.resource-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);padding:1.25rem}.metric-card:hover,.feature-card:hover,.course-card:hover,.stat-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.metric-card strong{letter-spacing:0;color:var(--fg);font-size:2.25rem;font-weight:700;display:block}.feature-card p,.course-card p,.stat-card p,.dashboard-card p,.metric-card span{color:var(--muted-fg)}.feature-card{padding-top:1.5rem;position:relative}.feature-card:before{content:"";background:var(--primary);height:2px;position:absolute;top:0;left:0;right:0}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.75rem;display:flex}.section-heading p{max-width:48rem;color:var(--muted-fg)}.hero-grid,.split-grid,.feature-grid,.course-grid,.stats-grid,.dashboard-grid,.admin-dashboard,.form-grid,.admin-split{gap:0;display:grid}.hero-grid{border:1px solid var(--line);grid-template-columns:minmax(0,1.5fr) minmax(280px,.85fr)}.hero-grid>*{padding:1.5rem}.hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.hero-metrics>*{border-left:1px solid var(--line);padding:1rem}.feature-grid{border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.feature-grid>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);margin:-1px -1px 0 0}.course-grid,.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.stats-grid,.admin-dashboard{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.split-grid,.admin-split{grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:1.5rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.hero-grid>*,.split-grid>*,.feature-grid>*,.course-grid>*,.stats-grid>*,.dashboard-grid>*,.admin-dashboard>*,.form-grid>*,.admin-split>*,.unit-layout>*,.admin-editor-layout>*,.admin-compose-layout>*{min-width:0}.noki-home{flex-direction:column;gap:3rem;display:flex}.noki-home__hero{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);width:min(100%,56rem);box-shadow:var(--shadow);margin-bottom:1rem;padding:3rem}.noki-home__logo{width:min(11rem,60vw);height:auto;margin-bottom:2rem;display:block}[data-theme=dark] .noki-home__logo{filter:none}.noki-home__copy{flex-direction:column;gap:1rem;display:flex}.noki-home__copy h1{letter-spacing:0;color:var(--primary);font-size:4.25rem;line-height:.95}.noki-home__copy p{max-width:36rem;color:var(--fg-2);font-size:1.05rem;line-height:1.55}.noki-home__actions{margin-top:1.5rem}.pill,.status-pill,.unit-pill,.status-badge{border:1px solid var(--line);background:var(--bg);color:var(--muted-fg);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;align-items:center;padding:.25rem .55rem;font-size:.68rem;font-weight:500;display:inline-flex}.status-pill--published{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 11%, var(--surface));color:var(--ok)}.status-pill--draft{color:var(--warn);border-style:dashed;border-color:var(--warn);background:color-mix(in srgb, var(--warn) 10%, var(--surface))}.unit-pill--lesson:before,.unit-pill--clinic:before,.unit-pill--lab:before,.unit-pill--checkpoint:before{content:"";background:currentColor;flex:none;width:7px;height:7px;margin-right:.45rem}.unit-pill--lesson{color:var(--lesson);border-color:color-mix(in srgb, var(--lesson) 42%, var(--line));background:var(--lesson-soft)}.unit-pill--lesson:before{border-radius:1px}.unit-pill--clinic{color:var(--clinic);border-color:color-mix(in srgb, var(--clinic) 42%, var(--line));background:var(--clinic-soft)}.unit-pill--clinic:before{border-radius:999px}.unit-pill--lab{color:var(--lab);border-color:color-mix(in srgb, var(--lab) 42%, var(--line));background:var(--lab-soft)}.unit-pill--lab:before{transform:rotate(45deg)}.unit-pill--checkpoint{background:var(--checkpoint-soft);color:var(--checkpoint);border-color:color-mix(in srgb, var(--checkpoint) 42%, var(--line))}.unit-pill--checkpoint:before{background:0 0;border-bottom:7px solid;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0}.status-badge--ok{color:var(--ok);border-color:var(--ok);background:color-mix(in srgb, var(--ok) 10%, var(--surface))}.status-badge--warn{color:var(--warn);border-color:var(--warn);background:color-mix(in srgb, var(--warn) 10%, var(--surface))}.status-badge--neutral{color:var(--muted-fg);border-color:var(--line)}.pill--enrolled{color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.course-card{flex-direction:column;gap:.85rem;padding:1.25rem;display:flex}.course-card__cover,.course-card__gradient{border-bottom:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius-lg) var(--radius-lg) 0 0;object-fit:cover;width:calc(100% + 2.5rem);height:4.75rem;margin:-1.25rem -1.25rem 0;display:block}.course-card__gradient,.course-card__gradient--tone-0{background:var(--primary)}.course-card__gradient--tone-1{background:var(--accent)}.course-card__gradient--tone-2{background:var(--clinic)}.course-card__gradient--tone-3{background:var(--lesson)}.course-card__gradient--tone-4{background:var(--lab)}[data-theme=dark] .course-card__gradient{opacity:.92}.course-card__meta,.mini-meta{flex-wrap:wrap;gap:.4rem;display:flex}.course-card h2,.course-card h3{font-size:1.05rem}.course-card .text-link{color:var(--primary);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;-webkit-text-decoration-color:color-mix(in srgb, var(--primary) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--primary) 45%, transparent);align-self:flex-start;font-size:.76rem;font-weight:600}.course-card .text-link:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.course-detail-page{max-width:880px}.course-minimal-hero{border-bottom:1px solid var(--line);flex-direction:column;gap:1rem;padding-bottom:1.5rem;display:flex}.course-inline-meta{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted-fg);flex-wrap:wrap;gap:1rem;font-size:.74rem;display:flex}.course-support-note{color:var(--muted-fg);font-size:.92rem;line-height:1.65}.course-section-list{flex-direction:column;display:flex}.course-section-card{border-bottom:1px solid var(--line);background:0 0;display:block}.course-section-card:first-child{border-top:1px solid var(--line)}.course-section-summary,.course-unit-group__summary{cursor:pointer;padding:1rem 0;list-style:none}.course-section-summary::-webkit-details-marker{display:none}.course-unit-group__summary::-webkit-details-marker{display:none}.course-section-summary::marker{content:""}.course-unit-group__summary::marker{content:""}.course-section-head,.course-unit-group__head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.course-section-head h3{font-size:1rem}.course-unit-group__head h4{font-size:.9rem;font-weight:600}.course-section-summary__meta,.course-unit-group__meta{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted-fg);flex-shrink:0;align-items:center;gap:.75rem;font-size:.72rem;display:flex}.course-section-toggle,.course-unit-group__toggle{border:1px solid var(--line);min-width:1.5rem;height:1.5rem;color:var(--fg);font-family:var(--font-mono);background:0 0;justify-content:center;align-items:center;padding:0;font-size:.95rem;line-height:1;display:inline-flex}.course-section-toggle:before,.course-unit-group__toggle:before{content:"+"}.course-section-card[open] .course-section-toggle:before,.course-unit-group[open] .course-unit-group__toggle:before{content:"−"}.course-unit-groups{border-top:1px solid var(--line);flex-direction:column;padding:0 0 1rem;display:flex}.course-unit-group{border-bottom:1px solid var(--line);display:block}.course-unit-group:last-child{border-bottom:0}.course-unit-list{flex-direction:column;padding:0 0 .5rem;display:flex}.course-unit-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.course-unit-row__title{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.course-unit-row small{color:var(--muted-fg);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.course-unit-label{color:var(--muted-fg);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.course-search-form{align-items:stretch;gap:.5rem;display:flex}.course-search-form input{flex:1;min-width:0}.course-filter-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.course-filter-bar__input,.course-filter-bar__select{border:1px solid var(--line);background:var(--bg);color:var(--fg);padding:.6rem .75rem;font-size:.88rem}.course-filter-bar__input{flex:1;min-width:200px}.course-filter-bar__select{min-width:140px}.course-filter-bar__input:focus,.course-filter-bar__select:focus{outline:1px solid var(--fg);outline-offset:-1px;border-color:var(--fg)}.course-filter__count{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted-fg);font-size:.72rem}.student-dashboard-shell{flex-direction:column;gap:1.5rem;display:flex}.student-dashboard-panel{border:1px solid var(--line);flex-direction:column;gap:1.5rem;padding:1.75rem;display:flex}.student-dashboard-panel__top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1.5rem;padding-bottom:1.25rem;display:flex}.dashboard-header__actions{flex-wrap:wrap;flex-shrink:0;gap:.5rem;display:flex}.student-profile-summary{align-items:center;gap:1rem;display:flex}.student-avatar{background:var(--primary);color:#fff;width:3rem;height:3rem;font-size:1rem;font-weight:700;font-family:var(--font-mono);flex-shrink:0;place-items:center;display:grid}.student-summary-grid{border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.summary-card{border-left:1px solid var(--line);flex-direction:column;gap:.4rem;padding:1rem 1.25rem;display:flex}.summary-card:first-child{border-left:0}.summary-card span{color:var(--muted-fg);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.summary-card strong{letter-spacing:0;color:var(--primary);font-size:1.6rem;font-weight:700;display:block}.dashboard-switcher{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.dashboard-switcher__card{background:var(--surface);border-left:1px solid var(--line);color:var(--fg);text-align:left;transition:background var(--transition);flex-direction:column;align-items:flex-start;gap:.4rem;padding:1rem 1.25rem;display:flex}.dashboard-switcher__card:first-child{border-left:0}.dashboard-switcher__card:hover{background:var(--primary-soft)}.dashboard-switcher__card--active{background:var(--primary);color:#fff}.dashboard-switcher__card--active *{color:inherit!important}.dashboard-switcher__card strong{font-size:.95rem}.dashboard-switcher__card p{color:var(--muted-fg);font-size:.85rem}.dashboard-switcher__count{font-family:var(--font-mono);letter-spacing:0;font-size:1.5rem;font-weight:700;display:inline-flex}.dashboard-card--course{flex-direction:column;justify-content:space-between;gap:1rem;min-height:200px;display:flex}.dashboard-card__meta,.dashboard-card__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.dashboard-card__actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.dashboard-card__note{color:var(--muted-fg);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.dashboard-card--accent-brand,.dashboard-card--accent-cyan,.dashboard-card--accent-violet,.dashboard-card--accent-warm{border-left:4px solid var(--primary)}.dashboard-card--accent-brand{border-left-color:var(--accent)}.dashboard-card--accent-cyan{border-left-color:var(--clinic)}.dashboard-card--accent-violet{border-left-color:var(--lesson)}.dashboard-card--accent-warm{border-left-color:var(--lab)}.stat-card strong,.dashboard-card strong{letter-spacing:0;color:var(--primary);font-size:1.5rem;font-weight:700;display:block}.unit-layout{grid-template-columns:minmax(200px,240px) minmax(0,1fr);align-items:start;gap:2rem;min-width:0;display:grid}.outline-card{background:0 0;border:0;flex-direction:column;align-self:start;gap:1rem;min-width:0;padding:0;display:flex;position:sticky;top:4.5rem}.outline-card--learn{gap:.5rem}.outline-card--learn>.stack-sm{border-bottom:1px solid var(--line);gap:.25rem;margin-bottom:.5rem;padding-bottom:.75rem}.outline-card--learn h2{letter-spacing:0;font-size:.95rem}.outline-card--learn .muted{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.outline-section{flex-direction:column;display:flex}.outline-section-card{border-bottom:1px solid var(--line);background:0 0;padding:0;display:block}.outline-section-summary{cursor:pointer;padding:.65rem 0;list-style:none}.outline-section-summary::-webkit-details-marker{display:none}.outline-section-summary::marker{content:""}.outline-section-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.outline-section-title{flex-direction:column;gap:.15rem;min-width:0;display:flex}.outline-section-index{color:var(--muted-fg);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;font-weight:500}.outline-section-head h3{letter-spacing:0;font-size:.88rem;font-weight:600}.outline-section-summary__meta,.outline-unit-group__meta{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.outline-count{min-width:1.25rem;font-family:var(--font-mono);color:var(--muted-fg);text-align:right;font-size:.7rem}.outline-section-toggle,.outline-unit-group__toggle{width:1.05rem;height:1.05rem;color:var(--fg);font-family:var(--font-mono);background:0 0;border:0;justify-content:center;align-items:center;font-size:.85rem;line-height:1;display:inline-flex}.outline-section-toggle:before,.outline-unit-group__toggle:before{content:"+"}.outline-section-card[open] .outline-section-toggle:before,.outline-unit-group[open] .outline-unit-group__toggle:before{content:"−"}.outline-unit-groups{flex-direction:column;padding:0 0 .5rem;display:flex}.outline-unit-group{background:0 0;border:0;display:block}.outline-unit-group__summary{cursor:pointer;padding:.4rem 0;list-style:none}.outline-unit-group__summary::-webkit-details-marker{display:none}.outline-unit-group__summary::marker{content:""}.outline-unit-group__head{color:var(--muted-fg);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;gap:.5rem;font-size:.7rem;display:flex}.outline-unit-list{border-left:1px solid var(--line);flex-direction:column;margin-left:.25rem;padding:0 0 .25rem .75rem;display:flex}.outline-link{min-width:0;transition:border-color var(--transition), background var(--transition);background:0 0;border-left:2px solid #0000;justify-content:space-between;align-items:center;gap:.5rem;margin-left:-1px;padding:.4rem .5rem .4rem .6rem;display:flex}.outline-link:hover{background:var(--bg-2)}.outline-link--active{border-left-color:var(--accent);background:var(--primary-soft)}.outline-link__title{color:var(--fg-2);overflow-wrap:anywhere;min-width:0;font-size:.85rem;font-weight:500;line-height:1.4}.outline-link--active .outline-link__title{color:var(--fg);font-weight:600}.outline-link__marker{background:var(--accent);border-radius:999px;flex-shrink:0;width:.35rem;height:.35rem}.unit-layout .outline-card{background:0 0;border:0;padding:0}.unit-layout .outline-section-card{border-color:var(--line);background:0 0}.unit-main,.admin-main{flex-direction:column;gap:1.25rem;display:flex}.unit-main{min-width:0;max-width:70ch;font-size:.95rem}.unit-main h1{font-size:2.4rem}.unit-main .lede{max-width:46rem;font-size:.96rem;line-height:1.65}.unit-header,.admin-header{flex-direction:column;gap:.75rem;display:flex}.unit-main .unit-header{border-bottom:1px solid var(--line);padding:0 0 1rem}.unit-header__meta{flex-direction:column;gap:.5rem;display:flex}.unit-main .content-block{background:0 0;border:0;padding:.1rem 0}.unit-main .callout,.unit-main .resource-card{border:1px solid var(--line);background:var(--surface-2);padding:1rem 1.15rem}.callout{border:1px solid var(--line);border-left:4px solid var(--primary);background:var(--surface-2);border-radius:var(--radius-md);padding:1rem 1.15rem}.callout--warm{border-left-color:var(--lab);background:var(--lab-soft)}.callout--alert{border-left-color:var(--checkpoint);background:var(--checkpoint-soft)}.callout--note{border-left-color:var(--lesson);background:var(--lesson-soft)}.checklist{flex-direction:column;gap:.55rem;display:flex}.checklist li{padding-left:1.5rem;list-style:none;position:relative}.checklist li:before{content:"";background:var(--primary);border-radius:2px;width:.5rem;height:.5rem;position:absolute;top:.55rem;left:.15rem}.resource-card{flex-direction:column;gap:.5rem;display:flex}.rich-text{font-family:var(--font-serif), Georgia, serif;color:var(--fg-2);flex-direction:column;gap:1rem;font-size:1.12rem;line-height:1.72;display:flex}.rich-text h2,.rich-text h3{margin-top:.5rem;line-height:1.2}.unit-main .rich-text h2{font-size:1.3rem}.unit-main .rich-text h3{font-size:1.05rem}.rich-text ul,.rich-text ol{padding-left:1.25rem}.rich-text pre{background:var(--fg);color:var(--bg);font-family:var(--font-mono);border:1px solid var(--fg);padding:1rem 1.1rem;font-size:.85rem;line-height:1.5;overflow-x:auto}[data-theme=dark] .rich-text pre{background:var(--surface-2);color:var(--fg);border-color:var(--line)}.rich-text pre code{color:inherit;background:0 0;border:0;padding:0}.rich-text code{font-family:var(--font-mono);background:var(--bg-2);border:1px solid var(--line);padding:.05rem .3rem;font-size:.88em}.rich-text img,.rich-text video,.rich-text iframe{border:1px solid var(--line);width:100%;max-width:100%;display:block}.rich-text iframe,.rich-text video{background:#000;min-height:320px}.code-block{flex-direction:column;gap:.5rem;display:flex}.progress-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted-fg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0;font-size:.74rem;display:flex}.progress-strip>.stack-sm{min-width:0}.progress-strip strong,.progress-strip .support-copy{overflow-wrap:anywhere}.unit-main .progress-strip{border-top:1px solid var(--line);border-bottom:0;padding:1rem 0 0}.progress-bar{background:var(--bg-2);border:0;border-radius:999px;height:6px;position:relative;overflow:hidden}[data-theme=dark] .progress-bar{background:var(--surface-2)}.progress-bar>span{background:var(--accent);border-radius:inherit;height:100%;transition:width .24s linear;display:block}.progress-strip .support-copy{font-family:var(--font-body), sans-serif;text-transform:none;letter-spacing:0;font-size:.85rem}.form-card{flex-direction:column;gap:1.25rem;display:flex}.course-form-sections{flex-direction:column;gap:1.5rem;display:flex}.form-section{flex-direction:column;gap:1rem;display:flex}.form-section+.form-section{border-top:1px solid var(--line);padding-top:1.25rem}.form-section__header{flex-direction:column;gap:.25rem;display:flex}.form-section__header h3{letter-spacing:0;font-size:.95rem}.field{flex-direction:column;gap:.4rem;display:flex}.field--full{grid-column:1/-1}.field label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted-fg);font-size:.72rem;font-weight:500}.field input,.field textarea,.field select,input[type=text],input[type=email],input[type=password],input[type=search],input[type=url],input[type=number],textarea,select{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--fg);border-radius:var(--radius-sm);transition:border-color var(--transition);padding:.7rem .85rem;font-family:inherit;font-size:.92rem}.field input:focus,.field textarea:focus,.field select:focus,input:focus,textarea:focus,select:focus{outline:2px solid color-mix(in srgb, var(--primary) 24%, transparent);outline-offset:-2px;border-color:var(--primary)}.field textarea,textarea{resize:vertical;min-height:140px}.admin-compose-layout{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);align-items:start;gap:1.5rem;display:grid}.admin-compose-aside{flex-direction:column;gap:1rem;display:flex;position:sticky;top:5rem}.admin-compose-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.admin-step-list{flex-direction:column;gap:.85rem;display:flex}.admin-step{border-top:1px solid var(--line);flex-direction:column;gap:.25rem;padding-top:.85rem;display:flex}.admin-step:first-child{border-top:0;padding-top:0}.admin-step strong{font-size:.92rem}.admin-step p{color:var(--muted-fg);font-size:.85rem}.admin-compose-form{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.admin-compose-form__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex}.admin-compose-form__footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;display:flex}.admin-course-meta{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.admin-course-meta__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex}.admin-course-meta__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.admin-course-meta__footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;display:flex}.admin-editor-layout{grid-template-columns:minmax(240px,280px) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.admin-editor-nav{flex-direction:column;gap:1rem;display:flex;position:sticky;top:5rem}.admin-editor-main{flex-direction:column;gap:1rem;display:flex}.admin-editor-panel,.admin-editor-preview{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.admin-editor-preview h3{font-size:.95rem}.admin-structure-list{flex-direction:column;gap:.25rem;display:flex}.admin-structure-section{flex-direction:column;gap:.15rem;display:flex}.admin-structure-section__link,.admin-structure-page__link{transition:background var(--transition), border-color var(--transition);background:0 0;border:1px solid #0000;flex-direction:column;gap:.15rem;padding:.7rem .8rem;display:flex}.admin-structure-section__link:hover,.admin-structure-section__link--active{background:var(--primary-soft)}.admin-structure-section__link--active{border-color:var(--primary)}.admin-structure-section__index{color:var(--muted-fg);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.66rem;font-weight:500}.admin-structure-section__link strong{letter-spacing:0;font-size:.92rem}.admin-structure-pages{border-left:1px solid var(--line);flex-direction:column;gap:.1rem;margin-left:.5rem;padding-left:.85rem;display:flex}.admin-structure-page__link{padding:.5rem .7rem}.admin-structure-page__link:hover,.admin-structure-page__link--active{background:var(--primary-soft)}.admin-structure-page__link--active{border-left:2px solid var(--accent);padding-left:calc(.7rem - 2px)}.admin-structure-page__link span{font-size:.88rem;font-weight:500;line-height:1.4}.admin-structure-page__link small{color:var(--muted-fg);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-size:.66rem}.admin-inline-panel{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-md)}.admin-inline-panel summary{cursor:pointer;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;padding:.85rem 1rem;font-size:.74rem;font-weight:500;list-style:none}.admin-inline-panel summary::-webkit-details-marker{display:none}.admin-inline-panel[open] summary{border-bottom:1px solid var(--line)}.admin-inline-panel form{padding:1rem}.admin-empty-state{border:1px dashed var(--line);border-radius:var(--radius-lg);min-height:320px;color:var(--muted-fg);place-items:center;display:grid}.admin-nav{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:0;display:flex}.admin-nav a{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted-fg);transition:background var(--transition), color var(--transition), border-color var(--transition);border-bottom:2px solid #0000;margin-bottom:-1px;padding:.7rem 1rem;font-size:.74rem;font-weight:500}.admin-nav a:hover{color:var(--primary);background:var(--primary-soft)}.admin-nav a.active{color:var(--primary);background:var(--primary-soft);border-color:var(--line);border-bottom-color:var(--accent)}.admin-warning{border:1px solid color-mix(in srgb, var(--checkpoint) 34%, var(--line));border-radius:var(--radius-md);box-shadow:var(--shadow);border-left-width:4px;padding:1rem 1.15rem}.admin-section-card,.admin-unit-card,.mini-block{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.25rem}.admin-section-card,.admin-unit-card{flex-direction:column;gap:1rem;display:flex}.admin-section-page,.admin-unit-page{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-md);flex-direction:column;gap:.55rem;padding:1rem;display:flex}.admin-section-page .admin-markdown-preview{color:var(--muted-fg);max-height:220px;overflow:auto}.admin-markdown-preview{max-height:320px;font-size:.92rem;overflow:auto}.admin-inline-form{gap:.85rem;display:grid}.admin-quick-links,.admin-filter-bar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-filter-bar input,.admin-filter-bar select{min-height:2.4rem}.admin-filter-bar input{flex:260px}.admin-filter-bar select{flex:0 180px}.admin-table-wrap{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:780px;font-size:.9rem}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.85rem 1rem}.admin-table th{background:var(--primary-soft);color:var(--muted-fg);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:500}.admin-table tr:last-child td{border-bottom:0}.admin-table td strong,.admin-table td span{display:block}.admin-table td span{color:var(--muted-fg);margin-top:.15rem;font-size:.82rem}.admin-system-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.admin-kv-list{border:1px solid var(--line);display:grid}.admin-kv-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:.85rem 1rem;display:flex}.admin-kv-row:last-child{border-bottom:0}.admin-kv-row span{color:var(--muted-fg);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}.admin-kv-row strong{text-align:right;overflow-wrap:anywhere;min-width:0;font-size:.92rem}.admin-structure-row{align-items:center;gap:.4rem;display:flex}.admin-structure-row>a{flex:1;min-width:0}.move-buttons{flex-direction:column;flex-shrink:0;gap:0;display:inline-flex}.move-btn{border:1px solid var(--line);background:var(--surface);width:1.5rem;height:1.5rem;color:var(--muted-fg);transition:background var(--transition), color var(--transition), border-color var(--transition);justify-content:center;align-items:center;margin-bottom:-1px;font-size:.7rem;line-height:1;display:inline-flex}.move-btn:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.move-btn:disabled{opacity:.3;cursor:not-allowed}.markdown-editor{grid-template-columns:1fr 1fr;gap:1rem;min-height:350px;display:grid}.markdown-editor__pane{flex-direction:column;gap:.4rem;display:flex}.markdown-editor__pane textarea{resize:vertical;border:1px solid var(--line);background:var(--surface);width:100%;min-height:300px;color:var(--fg);font-family:var(--font-mono);border-radius:var(--radius-sm);flex:1;padding:.85rem 1rem;font-size:.85rem;line-height:1.6}.markdown-editor__pane textarea:focus{outline:1px solid var(--fg);outline-offset:-2px;border-color:var(--fg)}.markdown-editor__preview{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius-sm);flex:1;padding:.85rem 1rem;font-size:.9rem;overflow-y:auto}.empty-state{text-align:center;background:var(--bg);border:1px dashed var(--line);border-radius:var(--radius-lg);max-width:480px;margin:0 auto;padding:3rem 1.5rem}.empty-state__icon{justify-content:center;margin-bottom:1rem;display:flex}.empty-state__icon svg{width:2.25rem;height:2.25rem;color:var(--muted-fg);opacity:.6}.email-viewer{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-height:500px;box-shadow:var(--shadow);grid-template-columns:minmax(280px,.4fr) minmax(0,1fr);gap:0;display:grid;overflow:hidden}.email-list{border-right:1px solid var(--line);flex-direction:column;max-height:600px;display:flex;overflow-y:auto}.email-item{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;color:var(--fg);transition:background var(--transition);background:0 0;flex-direction:column;gap:.25rem;padding:.85rem 1rem;display:flex}.email-item:hover{background:var(--bg-2)}.email-item--active{background:var(--primary);color:#fff}.email-item--active *{color:inherit!important}.email-item--unread .email-item__subject{font-weight:700}.email-item__header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.email-item__subject{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.9rem;font-weight:500;line-height:1.3;overflow:hidden}.email-item__time{font-family:var(--font-mono);color:var(--muted-fg);flex-shrink:0;font-size:.7rem}.email-item__to{font-family:var(--font-mono);color:var(--muted-fg);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.email-preview{background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.email-preview__header{border-bottom:1px solid var(--line);padding:1rem}.email-preview__frame{background:#fff;border:0;flex:1;width:100%;min-height:400px}.email-preview__empty{min-height:400px;color:var(--muted-fg);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;place-items:center;font-size:.78rem;display:grid}.analytics-grid{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;display:grid;overflow:hidden}.analytics-grid>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);margin:-1px -1px 0 0;padding:1.25rem}.analytics-bars{border:1px solid var(--line);flex-direction:column;gap:0;display:flex}.analytics-bar{background:linear-gradient(90deg, var(--primary-soft) var(--bar-width,0%), transparent var(--bar-width,0%));border-bottom:1px solid var(--line);transition:background var(--transition);justify-content:space-between;align-items:center;padding:.65rem 1rem;font-size:.9rem;display:flex}.analytics-bar:last-child{border-bottom:0}[data-theme=dark] .analytics-bar{background:linear-gradient(90deg, var(--primary-soft) var(--bar-width,0%), transparent var(--bar-width,0%))}.analytics-bar__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.analytics-bar__value{color:var(--muted-fg);font-family:var(--font-mono);flex-shrink:0;font-size:.78rem}.pagination{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;padding-top:1rem;display:flex}.pagination__pages{gap:0;display:flex}.pagination__link,.pagination__page{border:1px solid var(--line);background:var(--surface);min-width:2.25rem;height:2.25rem;color:var(--fg);font-family:var(--font-mono);transition:background var(--transition), color var(--transition);justify-content:center;align-items:center;margin-left:-1px;padding:0 .6rem;font-size:.78rem;display:inline-flex}.pagination__pages .pagination__page:first-child{margin-left:0}.pagination__link:hover,.pagination__page:hover{background:var(--primary-soft);color:var(--primary)}.pagination__page--active{background:var(--primary);color:#fff;border-color:var(--primary);z-index:1}.pagination__link--disabled{opacity:.4;pointer-events:none}.breadcrumb{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted-fg);flex-wrap:wrap;gap:.25rem;font-size:.72rem;list-style:none;display:flex}.breadcrumb li+li:before{content:"/";color:var(--line);margin-right:.25rem}.breadcrumb a{color:var(--muted-fg)}.breadcrumb a:hover{color:var(--fg)}.breadcrumb__current{color:var(--primary)}.resume-banner{flex-direction:column;gap:.75rem;display:flex}.resume-card{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.resume-card__info{flex-direction:column;flex:1;gap:.5rem;min-width:0;display:flex}.resume-card__info h3{letter-spacing:0;font-size:1rem}.resume-card__progress{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted-fg);align-items:center;gap:.75rem;font-size:.74rem;display:flex}.hamburger-btn{border:1px solid var(--line);background:var(--surface);width:2.5rem;height:2.5rem;color:var(--fg);border-radius:var(--radius-sm);transition:border-color var(--transition);justify-content:center;align-items:center;display:none}.hamburger-btn:hover{border-color:var(--fg)}.hamburger-btn svg{width:1.1rem;height:1.1rem}.mobile-nav-overlay{z-index:40;background:#00000080;animation:.15s linear fade-in;position:fixed;inset:0}[data-theme=dark] .mobile-nav-overlay{background:#000000b3}.mobile-nav-drawer{z-index:50;background:var(--bg);border-left:1px solid var(--line);width:300px;max-width:calc(100vw - 3rem);box-shadow:var(--shadow-lg);flex-direction:column;gap:.25rem;padding:1.5rem 1.25rem;animation:.18s linear slide-in-right;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.mobile-nav-drawer__close{justify-content:flex-end;align-items:center;margin-bottom:1rem;display:flex}.mobile-nav-drawer__close button{border:1px solid var(--line);background:var(--surface);width:2rem;height:2rem;color:var(--fg);border-radius:var(--radius-sm);justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.mobile-nav-link{color:var(--fg);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);transition:background var(--transition);padding:.85rem .75rem;font-size:.8rem;font-weight:500;display:block}.mobile-nav-link:hover,.mobile-nav-link--active{background:var(--primary-soft);color:var(--primary)}.mobile-theme-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem .75rem;display:flex}.mobile-theme-row span{color:var(--muted-fg);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:500}.mobile-theme-row .theme-toggle{margin-left:0}.mobile-nav-divider{background:var(--line);height:1px;margin:.5rem 0}.toast-container{z-index:100;flex-direction:column;gap:.5rem;max-width:380px;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{background:var(--surface);border:1px solid var(--line-strong);border-left:4px solid var(--primary);font-size:.9rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--fg);border-radius:var(--radius-md);box-shadow:var(--shadow-md);align-items:center;gap:.7rem;padding:.85rem 1rem;font-weight:500;animation:.18s linear toast-in;display:flex}.toast--success{border-left-color:var(--ok)}.toast--error{border-left-color:var(--danger);color:var(--danger)}.toast--info{border-left-color:var(--info)}.toast-exit{animation:.18s linear forwards toast-out}.error-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:50vh;padding:2rem;display:flex}.error-page__code{font-family:var(--font-mono);letter-spacing:0;color:var(--accent);font-size:5rem;font-weight:700;line-height:1}.error-page__icon{width:3rem;height:3rem;color:var(--muted-fg)}.error-page__icon svg{width:100%;height:100%}.skeleton{background:linear-gradient(90deg, var(--bg-2) 25%, var(--surface) 50%, var(--bg-2) 75%);background-size:800px 100%;border:0;animation:1.4s linear infinite shimmer}[data-theme=dark] .skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--bg-2) 50%, var(--surface-2) 75%);background-size:800px 100%}.skeleton-text{width:75%;height:.85rem}.skeleton-text--short{width:40%}.skeleton-heading{width:60%;height:1.6rem}.skeleton-pill{width:5rem;height:1.6rem}.skeleton-card{min-height:180px}.skeleton-panel{min-height:140px;padding:1.5rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-to-content{z-index:200;background:var(--fg);color:var(--bg);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;transition:top var(--transition);padding:.75rem 1rem;font-size:.74rem;font-weight:500;text-decoration:none;position:fixed;top:-100%;left:8px}.skip-to-content:focus{top:8px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.button:focus-visible{outline-offset:2px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.site-main>*{animation:.2s linear both fade-in}@media (max-width:980px){.header-nav{display:none}.hamburger-btn{display:flex}.hero-grid,.split-grid,.admin-split,.admin-editor-layout,.admin-compose-layout,.unit-layout,.dashboard-switcher,.feature-grid{grid-template-columns:1fr}.student-dashboard-panel__top{flex-direction:column}.student-summary-grid{grid-template-columns:1fr}.summary-card{border-left:0;border-top:1px solid var(--line)}.summary-card:first-child{border-top:0}.outline-card,.admin-compose-aside,.admin-editor-nav{position:static}.unit-layout .unit-main{order:1}.unit-layout .outline-card{border-top:1px solid var(--line);order:2;width:100%;min-width:0;max-width:100%;padding-top:1.25rem}.section-heading,.footer-note,.admin-course-meta__header,.admin-course-meta__footer{flex-direction:column;align-items:flex-start}.admin-editor-nav{max-height:400px;overflow-y:auto}}@media (max-width:720px){h1{font-size:2.35rem}.site-header__inner{min-height:52px}.brand-mark__logo{width:6.5rem}.site-main{padding-top:1.75rem}.noki-home{justify-content:flex-start;gap:2rem}.noki-home__hero{padding:2rem 1rem}.noki-home__copy h1{font-size:2.4rem}.panel,.metric-card,.feature-card,.course-card,.stat-card,.dashboard-card,.outline-card,.content-block,.form-card,.empty-state,.admin-section-card,.admin-unit-card,.mini-block,.admin-compose-card,.admin-compose-form,.admin-course-meta,.admin-editor-panel,.admin-editor-preview,.student-dashboard-panel,.hero-grid>*{padding:1rem}.form-grid{grid-template-columns:1fr}.student-profile-summary,.dashboard-card__footer,.course-section-head,.admin-compose-form__footer,.admin-course-meta__actions,.outline-section-head,.outline-section-summary__meta,.outline-unit-group__head,.outline-unit-group__meta,.course-unit-row,.progress-strip{flex-direction:column;align-items:flex-start}.unit-layout .outline-section-head,.unit-layout .outline-section-summary__meta,.unit-layout .outline-unit-group__head,.unit-layout .outline-unit-group__meta{flex-direction:row;align-items:center}.progress-strip .button-row,.progress-strip .button{width:100%}.markdown-editor{grid-template-columns:1fr}.resume-card{flex-direction:column;align-items:flex-start}.email-viewer{grid-template-columns:1fr}.email-list{border-right:0;border-bottom:1px solid var(--line);max-height:300px}.toast-container{max-width:none;bottom:1rem;left:1rem;right:1rem}.toast{width:100%}}@media (max-width:480px){.panel,.metric-card,.feature-card,.course-card,.dashboard-card,.form-card{padding:1rem}.button-row{flex-direction:column;align-items:stretch}.button-row .button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.button,.pill,.status-pill,.unit-pill,.status-badge{border:1px solid buttontext}:focus-visible{outline:2px solid highlight}}.course-view-toggle{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);align-items:stretch;width:fit-content;display:inline-flex;overflow:hidden}.course-view-toggle__item{color:var(--fg-2);border:0;border-right:1px solid var(--line);transition:background var(--transition), color var(--transition);background:0 0;padding:.4rem .95rem;font-size:.85rem;font-weight:500;text-decoration:none}.course-view-toggle__item:last-child{border-right:0}.course-view-toggle__item:hover{background:var(--surface-2);color:var(--fg)}.course-view-toggle__item--active,.course-view-toggle__item--active:hover{background:var(--primary);color:var(--accent-fg)}.field-card-grid{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (min-width:720px){.field-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1100px){.field-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.field-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:inherit;transition:border-color var(--transition), background var(--transition), transform var(--transition);flex-direction:column;gap:.6rem;padding:1.5rem;text-decoration:none;display:flex}.field-card--real:hover{border-color:var(--primary-2);background:var(--primary-soft);transform:translateY(-2px)}.field-card--soon{opacity:.9;cursor:default;background:0 0;border-style:dashed}.field-card__head{justify-content:space-between;align-items:center;display:flex}.field-card__badge{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-fg);border:1px solid var(--line-strong,var(--line));border-radius:999px;padding:.15rem .55rem;font-size:.7rem;font-weight:600}.field-card__title{margin:0;font-size:1.4rem}.field-card__blurb{color:var(--fg-2);margin:0;font-size:.92rem;line-height:1.5}.field-card__meta{flex-wrap:wrap;gap:.35rem;margin-top:.15rem;display:flex}.field-card__tracks{margin:.2rem 0 0;font-size:.82rem;line-height:1.4}.course-path-track__steps--page{max-width:760px}.course-path-fields{flex-direction:column;gap:2.5rem;display:flex}.course-path-field{flex-direction:column;gap:1.25rem;display:flex}.course-path-field__head{border-bottom:2px solid var(--line-strong,var(--line));flex-direction:column;gap:.3rem;padding-bottom:1rem;display:flex}.course-path-field__head h2{margin:0;font-size:1.6rem}.course-path-field__head .muted{max-width:60ch;font-size:.95rem;line-height:1.5}.course-path-field__badge{letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;color:var(--muted-fg);border:1px solid var(--line-strong,var(--line));border-radius:999px;margin-left:.6rem;padding:.15rem .55rem;font-size:.7rem;font-weight:600;display:inline-block}.course-path-field--soon{opacity:.92}.course-path-track--soon{background:0 0;border-style:dashed}.course-path-track--soon .course-path-track__soon-note{color:var(--muted-fg);border:1px dashed var(--line-strong,var(--line));border-radius:var(--radius-md);text-align:center;margin-top:.25rem;padding:.85rem .95rem;font-size:.85rem}.course-path-tracks{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (min-width:900px){.course-path-tracks{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.course-path-tracks{grid-template-columns:repeat(4,minmax(0,1fr))}}.course-path-track{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-lg);flex-direction:column;gap:.85rem;padding:1.25rem;display:flex}.course-path-track__head{flex-direction:column;gap:.3rem;display:flex}.course-path-track__head h2{margin:0;font-size:1.15rem}.course-path-track__head .muted{font-size:.85rem;line-height:1.4}.course-path-track__steps{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.course-path-step{border:1px solid var(--line);border-left:3px solid var(--primary);background:var(--surface-2);border-radius:var(--radius-md);color:inherit;transition:border-color var(--transition), background var(--transition), transform var(--transition);flex-direction:column;gap:.4rem;padding:.85rem .95rem;text-decoration:none;display:flex}.course-path-step--real:hover{border-color:var(--primary-2);border-left-color:var(--accent);background:var(--primary-soft)}.course-path-step--placeholder{border-style:dashed dashed dashed solid;border-left-color:var(--line-strong);opacity:.85;cursor:default;background:0 0}.course-path-step__head{justify-content:space-between;align-items:baseline;font-size:.78rem;display:flex}.course-path-step__number{letter-spacing:.04em;color:var(--primary);text-transform:uppercase;font-weight:600}.course-path-step__hours{color:var(--muted-fg)}.course-path-step__title{margin:0;font-size:1rem;line-height:1.3}.course-path-step__summary{color:var(--fg-2);margin:0;font-size:.85rem;line-height:1.4}.course-path-step__meta{flex-wrap:wrap;gap:.35rem;margin-top:.15rem;display:flex}.pill--accent{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.course-path-electives{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.course-path-elective{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);color:inherit;transition:border-color var(--transition), background var(--transition);padding:.9rem 1rem;text-decoration:none;display:block}.course-path-elective:hover{border-color:var(--primary-2);background:var(--primary-soft)}.course-path-elective h3{margin:0;font-size:.95rem}.course-relationships{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:720px){.course-relationships{grid-template-columns:repeat(2,minmax(0,1fr))}}.course-relationships__group{flex-direction:column;gap:.5rem;display:flex}.course-relationships__label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-fg);margin:0;font-size:.72rem}.course-relationships__list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.course-related-chip{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);color:inherit;transition:border-color var(--transition), background var(--transition);justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .75rem;text-decoration:none;display:flex}.course-related-chip:hover{border-color:var(--primary-2);background:var(--primary-soft)}.course-related-chip__title{font-size:.92rem;font-weight:500}.course-related-chip__meta{color:var(--muted-fg);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.atlas-legend{flex-wrap:wrap;gap:1rem;margin-top:.25rem;display:flex}.atlas-legend__item{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted-fg);align-items:center;gap:.45rem;font-size:.74rem;display:inline-flex}.atlas-dot{border-radius:3px;flex:none;width:10px;height:10px}.atlas-dot--lesson{background:var(--lesson)}.atlas-dot--clinic{background:var(--clinic);border-radius:999px}.atlas-dot--lab{background:var(--lab);transform:rotate(45deg)}.atlas-dot--accent{background:var(--accent);clip-path:polygon(50% 0,100% 100%,0 100%)}.atlas-field{flex-direction:column;gap:.85rem;display:flex}.atlas-field__head h3{font-size:1.5rem}.atlas-canvas-scroll{border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at 1px 1px, var(--line) 1px, transparent 0);background-size:28px 28px;background-color:var(--bg-2);padding:4px;overflow:auto hidden}.atlas-canvas{position:relative}.atlas-edges{pointer-events:none;position:absolute;inset:0}.atlas-edge{fill:none;stroke:var(--line-strong);stroke-width:2px;opacity:.55;transition:opacity var(--transition), stroke var(--transition)}.atlas-edge--active{stroke:var(--accent);opacity:1;stroke-width:2.5px}.atlas-edge--dim{opacity:.12}.atlas-col-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-fg);text-align:left;border-bottom:1px dashed var(--line);padding-bottom:.4rem;font-size:.7rem;font-weight:600;position:absolute}.atlas-node{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--node-color,var(--primary));border-radius:var(--radius-md);box-shadow:var(--shadow);color:var(--fg);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition), opacity var(--transition);flex-direction:column;justify-content:center;gap:.3rem;padding:.7rem .85rem .7rem 1rem;text-decoration:none;display:flex;position:absolute}.atlas-node:hover,.atlas-node:focus-visible{box-shadow:var(--shadow-md);border-color:var(--node-color,var(--primary));outline:none;transform:translateY(-2px)}.atlas-node--dim{opacity:.32}.atlas-node__title{font-family:var(--font-serif), Georgia, serif;color:var(--fg);font-size:.98rem;font-weight:600;line-height:1.15}.atlas-node__meta{font-family:var(--font-mono);letter-spacing:.03em;color:var(--muted-fg);font-size:.7rem}
