@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/caveat-07e589cc54.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:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/caveat-ca16011921.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/caveat-81fc554f24.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/caveat-db5746a4ff.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:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geistmono-dae6a07f16.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:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geistmono-dcb71be335.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geistmono-1ce8b640db.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geistmono-e4bb3dddb8.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:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geistmono-afda9bccb2.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geistmono-01c0aaee1c.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:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geistmono-dae6a07f16.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:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geistmono-dcb71be335.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geistmono-1ce8b640db.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geistmono-e4bb3dddb8.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:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geistmono-afda9bccb2.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geistmono-01c0aaee1c.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:Golos Text;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/golostext-cce40d0181.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:Golos Text;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/golostext-0809b85774.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Golos Text;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/golostext-0ed7477a4f.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Golos Text;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/golostext-401df7b578.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:Golos Text;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/golostext-cce40d0181.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:Golos Text;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/golostext-0809b85774.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Golos Text;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/golostext-0ed7477a4f.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Golos Text;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/golostext-401df7b578.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:Golos Text;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/golostext-cce40d0181.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:Golos Text;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/golostext-0809b85774.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Golos Text;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/golostext-0ed7477a4f.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Golos Text;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/golostext-401df7b578.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:Momo Trust Display;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/momotrustdisplay-cdcb3be414.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:Momo Trust Display;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/momotrustdisplay-99b1dd4ae5.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Momo Trust Display;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/momotrustdisplay-eb371f4dc6.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:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rubik-be23e13ebd.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-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-10EC7,U+10EC9-10EEE,U+10EF?,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:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rubik-311c7d79cd.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:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rubik-2da8169c00.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rubik-0e30e3ce62.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rubik-a88e218288.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rubik-c8660635cb.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:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rubik-be23e13ebd.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-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-10EC7,U+10EC9-10EEE,U+10EF?,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:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rubik-311c7d79cd.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:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rubik-2da8169c00.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rubik-0e30e3ce62.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rubik-a88e218288.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rubik-c8660635cb.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:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rubik-be23e13ebd.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-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-10EC7,U+10EC9-10EEE,U+10EF?,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:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rubik-311c7d79cd.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:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rubik-2da8169c00.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rubik-0e30e3ce62.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rubik-a88e218288.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rubik-c8660635cb.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}:root{--bg:#f4f6f6;--paper:#fbfbfa;--card:#fff;--ink:#1f1f1f;--ink-2:#4a5257;--muted:#6b757a;--line:#e3e7e9;--dot:#d5dbde;--shadow:0 2px 8px #1f1f1f14;--c:#10c0df;--y:#ffde5a;--r:#ff5758;--c-ink:#00809d;--y-ink:#8e7200;--r-ink:#db373d;--c-tint:#c9f8ff;--y-tint:#f9efc9;--r-tint:#ffe2de;--acc:#10c0df;--acc-ink:#00809d;--acc-tint:#c9f8ff;--on-acc:#1f1f1f;--acc-hover:#0fb3d0;--hw-track:#c5ccd0;--hw-mark:#79838a;--hw-wait:#ffde5a;--hw-over:#ff5758;--hw-ok:#10c0df;--hw-late:#ff9b24;--display:"Momo Trust Display", "Rubik", "Golos Text", system-ui, sans-serif;--body:"Golos Text", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#191c1e;--paper:#191c1e;--card:#23272a;--ink:#f1f3f3;--ink-2:#c3cacd;--muted:#8f9aa0;--line:#ffffff1a;--dot:#30363a;--shadow:0 2px 8px #00000059;--c-ink:#10c0df;--y-ink:#ffde5a;--r-ink:#ff5758;--c-tint:#003742;--y-tint:#39300a;--r-tint:#482422;--acc-ink:#10c0df;--acc-tint:#003742;--hw-track:#4a5257;--hw-mark:#9aa4a9;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:400;line-height:1.1}p{margin:0}[hidden]{display:none!important}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.lockup{font-family:var(--display);color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.3rem;text-decoration:none;display:inline-flex}.lockup svg{width:auto;height:26px}h1,h2,h3{color:var(--ink)}.btn{height:36px;font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn.sm{border-radius:9px;height:30px;padding:0 10px;font-size:13px}.btn.primary{background:var(--acc);color:var(--on-acc)}.btn.primary:hover{background:var(--acc-hover)}.btn.soft{background:var(--acc-tint);color:var(--acc-ink)}.btn.soft:hover{background:color-mix(in oklab, var(--acc-tint) 80%, var(--acc))}.btn.ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn.ghost:hover{background:var(--card);border-color:var(--ink-2)}.btn.danger{color:var(--r-ink);border-color:var(--line);background:0 0}.btn.danger:hover{background:var(--r-tint);border-color:#0000}.btn.is-focus,.btn:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.tag{background:var(--acc-tint);height:24px;color:var(--acc-ink);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.tag.c{background:var(--c-tint);color:var(--c-ink)}.tag.y{background:var(--y-tint);color:var(--y-ink)}.tag.r{background:var(--r-tint);color:var(--r-ink)}.tag.n{background:var(--line);color:var(--ink-2)}.tag.ink{background:var(--ink);color:var(--bg)}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.display{font-family:var(--display);letter-spacing:-.01em;font-weight:400}.bar{border-bottom:1px solid var(--line);background:var(--card);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;display:flex}.bar .crumbs{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;font-weight:500;display:flex}.bar .crumbs .muted{font-weight:400}.bar .spacer{flex:1}.avatar{background:var(--y);color:#1f1f1f;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:inline-flex}.avatar.t{background:var(--ink);color:var(--bg)}.avatar.n{background:var(--line);color:var(--ink-2)}.field{gap:6px;display:grid}.field label{color:var(--ink-2);font-size:12px;font-weight:600}.input{border:1px solid var(--line);background:var(--card);height:36px;color:var(--ink);font:inherit;border-radius:10px;width:100%;padding:0 10px}div.input{align-items:center;display:flex}.input:focus-visible{outline:2px solid var(--acc);outline-offset:0;border-color:#0000}.input.err{border-color:var(--r-ink)}.hint{color:var(--muted);font-size:12px}.hint.err{color:var(--r-ink)}.switch{background:var(--line);cursor:pointer;border:0;border-radius:999px;flex:none;width:38px;height:22px;padding:0;transition:background .15s;position:relative}.switch:after{content:"";background:var(--card);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.switch[aria-checked=true]{background:var(--acc)}.switch[aria-checked=true]:after{background:#1f1f1f;transform:translate(16px)}.segm{background:var(--bg);border:1px solid var(--line);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.segm button{color:var(--ink-2);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:4px 10px;font-size:13px;font-weight:500}.segm button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.check{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.check i{border:1.5px solid var(--ink-2);background:var(--card);border-radius:6px;place-items:center;width:18px;height:18px;display:inline-grid}.check i svg{fill:none;stroke:#1f1f1f;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;opacity:0;width:12px;height:12px}.check[aria-checked=true] i{background:var(--acc);border-color:var(--acc)}.check[aria-checked=true] i svg{opacity:1}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:22px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:var(--line);border-radius:2px;height:4px}input[type=range]::-moz-range-track{background:var(--line);border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--card);border:2px solid var(--ink);width:22px;height:22px;box-shadow:var(--shadow);border-radius:999px;margin-top:-9px}input[type=range]::-moz-range-thumb{background:var(--card);border:2px solid var(--ink);border-radius:999px;width:18px;height:18px}.toast{background:var(--ink);color:var(--bg);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:inline-flex}.toast i{background:var(--c);border-radius:50%;width:8px;height:8px}.tooltip{background:var(--ink);color:var(--bg);border-radius:8px;padding:6px 9px;font-size:12px;display:inline-block}.dialog{background:var(--card);border:1px solid var(--line);border-radius:20px;gap:12px;max-width:380px;padding:20px;display:grid;box-shadow:0 12px 40px #00000024}.dialog .actions{justify-content:flex-end;gap:8px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.shell{grid-template-columns:200px minmax(0,1fr);display:grid}.shell .side{background:var(--card);border-right:1px solid var(--line);align-content:start;gap:4px;padding:14px 10px;display:grid}@media (max-width:720px){.shell{grid-template-columns:minmax(0,1fr)}.shell .side{display:none}}.shell .side .lockup{color:var(--ink);padding:6px 8px 14px;font-size:1.1rem}.shell .side .lockup svg{height:22px}.shell .nav{color:var(--ink-2);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-weight:500;display:flex}.shell .nav:hover{background:var(--bg)}.shell .nav.active{background:var(--acc-tint);color:var(--acc-ink)}.shell .nav svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.shell .side .foot{color:var(--muted);align-items:center;gap:8px;margin-top:18px;padding:8px 10px;font-size:12px;display:flex}.shell .main{align-content:start;gap:16px;min-width:0;padding:20px;display:grid}.mini{gap:3px;display:flex}.mini i{border-radius:3px;width:10px;height:10px;display:inline-block}.tsh,.tsh{width:var(--ts,11px);height:var(--ts,11px);vertical-align:-1px;flex:none;max-width:none;margin:0;display:inline-block;overflow:visible}.tsh.sug path,.tsh.sug rect,.tsh.sug circle,.tsh.sug polygon{fill:none!important}.paths{grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:12px;display:grid}.path{background:var(--card);border:1px solid var(--line);min-height:176px;color:inherit;border-radius:16px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);text-decoration:none;transition:border-color .15s;display:grid;overflow:hidden}.path:hover{border-color:var(--ink-2)}.path:focus-visible{outline:2px solid var(--acc);outline-offset:2px}@media (max-width:460px){.path{grid-template-columns:minmax(0,1fr)}.path .pmap{border-left:0;border-top:1px solid var(--line);height:132px}}.path .pl{flex-direction:column;gap:12px;min-width:0;padding:18px;display:flex}.path h3{overflow-wrap:anywhere;font-size:1.35rem}.stack{display:flex}.stack .avatar{width:26px;height:26px;box-shadow:0 0 0 2px var(--card);font-size:10px}.stack .avatar+.avatar{margin-left:-7px}.stack .more{background:var(--line);color:var(--ink-2)}.todo{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin-top:auto;font-size:13px;display:flex}.todo .icon{color:var(--muted)}.todo .mono{color:var(--ink)}.todo .stack .avatar{width:20px;height:20px;font-size:9px}.path .pmap{border-left:1px solid var(--line);background-color:var(--bg);background-image:radial-gradient(var(--dot) 1px, transparent 1.2px);background-size:14px 14px;place-items:center;min-width:0;padding:12px;display:grid}.path .pmap svg{width:100%;height:100%;max-height:150px;display:block}.pmap .edge{stroke:var(--ink);stroke-opacity:.16;stroke-width:4px;stroke-linecap:round;fill:none}.mapcard{border:1px solid var(--line);background:var(--card);border-radius:14px;overflow:hidden}.map-body{grid-template-columns:minmax(0,1fr) 280px;display:grid}@media (max-width:860px){.map-body{grid-template-columns:minmax(0,1fr)}}.canvas{background-image:radial-gradient(var(--dot) 1.2px, transparent 1.4px);background-size:20px 20px;background-color:var(--bg);min-height:clamp(340px,46vw,500px);position:relative}.canvas>svg{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.canvas>svg.panning{cursor:grabbing}.canvas>svg .node text{font-size:calc(12.5px * var(--ls,1));transition:opacity .2s ease-out}.canvas>svg.far .node text{opacity:0}.zoomdock{z-index:2;position:absolute;top:10px;left:10px}.zoom{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);transform-origin:0 0;border-radius:12px;align-items:center;gap:2px;padding:3px;transition:opacity .2s ease-out,transform .2s ease-out;display:flex;position:relative}.zoom-peek{background:var(--card);border:1px solid var(--line);width:38px;height:38px;color:var(--ink-2);cursor:pointer;opacity:0;border-radius:12px;place-items:center;transition:opacity .2s ease-out;display:grid;position:absolute;top:0;left:0}.zoom-peek .icon{width:18px;height:18px}.zoomdock.idle:not(:hover):not(:has(:focus-visible)) .zoom{opacity:0;pointer-events:none;transition-delay:.3s;transform:scale(.9)}.zoomdock.idle:not(:hover):not(:has(:focus-visible)) .zoom-peek{opacity:.5;transition-delay:.3s}.zoom button{width:30px;height:30px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:none;place-items:center;padding:0;display:grid}.zoom button .icon{width:16px;height:16px}.zoom button:hover:not([disabled]){background:var(--bg);color:var(--ink)}.zoom button[disabled]{color:var(--muted);opacity:.45;cursor:default}.zoom .pct{width:auto;min-width:54px;font:500 12px/1 var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);border-inline:1px solid var(--line);border-radius:0;padding:0 6px}.zoom .pct:hover{border-color:#0000;border-radius:9px}.maptools{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px;display:flex}.maptools .spacer{flex:1}.canvas .edge{stroke:var(--ink);stroke-opacity:.16;stroke-width:2px;stroke-linecap:round;fill:none}.node{cursor:pointer;outline:none}.node .main{transition:fill .35s,stroke .35s}.node .ring{stroke:var(--ink);opacity:0;fill:none}.node .gap{stroke:var(--bg);opacity:0;fill:none}.node.selected .ring,.node.selected .gap,.node:focus-visible .ring,.node:focus-visible .gap{opacity:1}.node text{font-family:var(--body);fill:var(--ink);text-anchor:middle;pointer-events:none;font-size:12.5px;font-weight:500}.node.idle .main{fill:var(--line);stroke:var(--line)}.node.idle text{fill:var(--muted)}.node .due{fill:none;stroke:var(--ink);stroke-dasharray:4 5;opacity:0}.node .track{fill:none;stroke:#fff;stroke-opacity:.35;stroke-width:5px}.node .halo{fill:none;stroke:#1f1f1f;stroke-opacity:.22;stroke-width:8.5px;stroke-linecap:round;transition:stroke-dasharray .35s}.node .prog{fill:none;stroke:#fff;stroke-width:5px;stroke-linecap:round;transition:stroke-dasharray .35s}.node .star{fill:#fff;stroke:#fff;stroke-width:2px;stroke-linejoin:round;opacity:0;transition:opacity .35s}.node.full .star{opacity:1}.node.idle .track,.node.idle .prog,.node.idle .halo{opacity:0}.node.due .due{opacity:.9}.tip{z-index:5;pointer-events:none;background:var(--ink);color:var(--bg);white-space:nowrap;box-shadow:var(--shadow);border-radius:10px;padding:8px 10px;font-size:12px;line-height:1.35;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.tip b{font-size:12.5px;font-weight:600;display:block}.tip[hidden]{display:none}.panel{border-left:1px solid var(--line);background:var(--card);align-content:start;gap:14px;padding:16px;display:grid}@media (max-width:860px){.panel{border-left:0;border-top:1px solid var(--line)}}.panel .kv{grid-template-columns:1fr auto;gap:6px 12px;font-size:13px;display:grid}.panel .kv span:nth-child(odd){color:var(--muted)}.panel .score{font-family:var(--display);--ts:20px;align-items:center;gap:10px;font-size:2.2rem;line-height:1;display:flex}.panel .score .sdot{display:inline-flex}.panel .art{color:var(--ink-2);font-size:13px}.picker{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.picker button{background:var(--bg);border:1px solid var(--line);aspect-ratio:1;cursor:pointer;border-radius:10px;place-items:center;padding:6px;display:grid}.picker button svg{width:100%;height:100%}.picker button[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.picker button svg *{fill:var(--ink-2)}.timeline{border-top:1px solid var(--line);background:var(--card);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 16px;display:grid}@media (max-width:640px){.timeline{grid-template-columns:auto minmax(0,1fr)}.timeline .readout{text-align:left;grid-column:1/-1}}.timeline .play{background:var(--acc);width:36px;height:36px;color:var(--on-acc);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.timeline .track{gap:6px;display:grid}.timeline .strip{border:1px solid var(--line);border-radius:999px;height:10px}.timeline .ticks{color:var(--muted);font-size:11px;font-family:var(--mono);justify-content:space-between;display:flex}.timeline .readout{text-align:right;min-width:170px;font-size:13px}.timeline .readout b{font-weight:600;display:block}.pathview{overscroll-behavior:contain;background-color:var(--bg);background-image:radial-gradient(var(--dot) 1.2px, transparent 1.4px);background-size:20px 20px;background-attachment:local;align-content:start;gap:4px;height:clamp(340px,46vw,500px);min-height:100%;padding:0 16px 32px;display:grid;overflow-y:auto}.unit{gap:4px;width:100%;max-width:440px;margin-inline:auto;padding-top:16px;display:grid}.unit-head{z-index:2;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:12px 14px;display:flex;position:sticky;top:8px}.unit-head .ueb{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.unit-head h3{margin-top:2px;font-size:1.2rem}.unit>svg{width:100%;max-width:400px;margin:0 auto;display:block;overflow:visible}.unit .empty{text-align:center;color:var(--muted);padding:20px 0;font-size:13px}.ptrail{fill:none;stroke:var(--ink);stroke-opacity:.16;stroke-width:7px;stroke-linecap:round}.ptrail.ahead{stroke-dasharray:0 15}.plab{font-family:var(--body);fill:var(--ink);pointer-events:none;font-size:15px;font-weight:500}.plab .pst{font-family:var(--mono);fill:var(--muted);font-size:12.5px;font-weight:400}.pnext{pointer-events:none}.pnext rect,.pnext path{fill:var(--ink)}.pnext text{fill:var(--bg);font:600 13px var(--body);text-anchor:middle}.pnote{width:100%;max-width:440px;color:var(--ink-2);background:var(--card);border:1px dashed var(--ink-2);border-radius:12px;margin:16px auto 0;padding:8px 12px;font-size:12px}.poff{gap:8px;padding-top:24px}.poff .ueb{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.poff .chips{flex-wrap:wrap;gap:8px;display:flex}.poff button.chip{font:inherit;color:var(--ink);cursor:pointer;padding-right:10px;font-size:13px}.poff button.chip:hover{border-color:var(--ink-2)}.map-body{position:relative}.assemble{z-index:1;pointer-events:none;position:absolute;overflow:hidden}.node.hold{visibility:hidden}.node.hold text,.plab.hold{opacity:0}.plab{transition:opacity .25s ease-out}.canvas .edge,.ptrail,.pnext{transition:opacity .4s ease-out}.canvas.assembling .edge,.pathview.assembling .ptrail,.pathview.assembling .pnext{opacity:0;transition:none}[data-role=student] .t-only,[data-role=teacher] .s-only{display:none!important}.hw{gap:6px;display:grid}.hw .it{align-items:center;gap:8px;font-size:13px;display:flex}.hw .it i{border:1.5px solid var(--ink-2);background:var(--card);border-radius:50%;flex:none;place-items:center;width:16px;height:16px;display:inline-grid}.hw .it i svg{fill:none;stroke:#1f1f1f;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;opacity:0;width:10px;height:10px}.hw .it.done i{background:var(--c);border-color:var(--c)}.hw .it.done i svg{opacity:1}.hw .it.sub i{background:var(--y);border-color:var(--y)}.hw .it.sub i svg{opacity:1}.hw .it.checked i{background:var(--ink);border-color:var(--ink)}.hw .it.checked i svg{opacity:1;stroke:var(--bg)}.hw .it.late i{border-color:var(--r-ink);border-style:dashed}.hw .it .st{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12px}.hw .it .st.warn{color:var(--r-ink)}.subs{gap:6px;font-size:13px;display:grid}.subs .row{flex-wrap:nowrap;justify-content:space-between}.subs .row .avatar{width:22px;height:22px;font-size:10px}.sp-head{padding:20px 20px 0}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:2px;margin-top:12px;padding:0 20px;display:flex;overflow:auto hidden}.tabs button{font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:10px 12px;font-weight:500;display:inline-flex}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}.tabs button:hover,.tabs button.attn{color:var(--ink)}.tabs .pip{background:var(--c);color:#1f1f1f;min-width:18px;height:18px;font-size:11px;font-weight:600;font-family:var(--mono);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;display:none}.tabs button.attn .pip{display:inline-flex}.tabpanel{padding:20px}.tabpanel[hidden]{display:none}@media (min-width:861px){.pathpage.fit{grid-template-rows:repeat(4,auto) 1fr;grid-template-columns:minmax(0,1fr);display:grid}.pathpage.fit>.tabpanel{flex-direction:column;grid-row:-2/-1;padding-block:16px;display:flex}.pathpage.fit .cal{--dh-min:54px;flex:auto}.pathpage.fit .cal-main{flex-direction:column;min-width:0;display:flex}.pathpage.fit .cal .grid{contain:size;min-height:calc(20px + var(--weeks,5) * (var(--dh-min) + 23px) + var(--used-all,0) * 12px);flex:auto;grid-template-rows:auto;grid-auto-rows:1fr}.pathpage.fit .cal .day{min-height:calc(var(--dh-min) + 19px + var(--used,0) * 12px);grid-template-rows:minmax(0,1fr);align-content:stretch}.pathpage.fit .cal .dh{min-height:0;container:dh/size}.pathpage.fit .cal>.report-panel{contain:size;max-height:none;position:static}.pathpage.fit .mapcard{flex-direction:column;flex:auto;display:flex}.pathpage.fit .map-body{contain:size;flex:1 1 0;grid-template-rows:minmax(0,1fr);min-height:300px}.pathpage.fit .pathview{height:auto;min-height:0}.pathpage.fit .canvas{min-height:0}.pathpage.fit .panel{overscroll-behavior:contain;overflow-y:auto}}@media (min-width:1200px){.pathpage.fit .cal{--dh-min:42px}}@container dh (width<=109px) and (height<=76px){.cal .dh .lsr.two .mod.ls:not(.mg){display:none}.cal .dh .lsr.two .mod.alt{display:flex}}@container dh (height<=53.9px) and (width>=72px){.cal .dh .dside{display:contents}.cal .dh>.mod.fc,.cal .dh>.fcv{grid-area:1/2}.cal .dh .dside>:not(.n){grid-column:1/-1;justify-self:start}.cal .dh .lsr.two .mod.ls:not(.mg){display:flex}.cal .dh .lsr.two .mod.alt{display:none}.cal .dh .mod.fc{flex-direction:row;padding:2px 4px}.cal .dh .mod.fc .st{flex-direction:row}.cal .dh .fcv{grid-template-columns:repeat(2,auto)}.cal .dh .mod.ls{padding:3px 6px}.cal .dh .mod.ls b{font-size:11.5px}}.file-in{flex-wrap:wrap;gap:6px;padding-top:4px;display:flex}.hwsec{border-top:1px solid var(--line);gap:10px;padding-top:10px;font-size:13px;display:grid}.hwsec>b{font-weight:600}.hwg{gap:6px;display:grid}.hwg .lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.hwc{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:12px;gap:6px;padding:10px 12px;transition:border-color .15s;display:grid}.hwc:hover{border-color:var(--ink-2)}.hwc:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.hwc .hh{align-items:center;gap:8px;font-weight:500;display:flex}.hwc .hh span{flex:1;min-width:0}.hwc .hh .icon{color:var(--muted)}.hwc:hover .hh .icon{color:var(--ink)}.hwpage .hw .it .btn{margin-left:8px}.classroom{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.file-in .btn{border-style:dashed}.cal{grid-template-columns:minmax(0,1fr) 300px;gap:16px;display:grid}@media (min-width:861px){.cal>.report-panel{overscroll-behavior:contain;max-height:calc(100vh - 89px);position:sticky;top:73px;overflow-y:auto}}@media (max-width:860px){.cal{grid-template-columns:minmax(0,1fr)}}.cal .month{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:10px;display:flex}.cal .month>.row{margin-left:auto}.cal .month h3{font-size:1.2rem}.cal .grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal .dow{color:var(--muted);font-size:11px;font-family:var(--mono);text-align:center;padding-bottom:4px}.cal .day{background:var(--card);border:1px solid var(--line);min-height:66px;padding:6px 6px calc(11px + var(--lanes,0) * 12px);border-radius:10px;align-content:start;gap:4px;min-width:0;font-size:12px;display:grid;position:relative}.cal .day[role=button]{cursor:pointer}.cal .day[role=button]:hover{border-color:var(--ink-2)}.cal .day.sel{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.cal .day:focus-visible{outline:2px solid var(--acc);outline-offset:1px}.cal .day.out{color:var(--muted);background:0 0;border-color:#0000}.cal .day.away{background:repeating-linear-gradient(135deg, transparent 0 6px, var(--line) 6px 7px);border-color:var(--line)}.cal .day .n{font-family:var(--mono);color:var(--muted);border-radius:50%;place-items:center;width:20px;height:20px;display:inline-grid}.cal .day.today .n{background:var(--ink);color:var(--bg)}.cal .mod{background:var(--bg);border-radius:8px;flex-wrap:wrap;align-items:center;gap:3px;width:max-content;min-width:0;max-width:100%;padding:4px 6px;display:flex}.cal .mod b{font:500 11px/1 var(--mono);color:var(--ink);margin-right:2px}.cal .mod.cancel{background:0 0;padding-left:0}.cal .mod.cancel b{color:var(--muted);font-family:var(--body);font-weight:400;text-decoration:line-through}.cal .mod,.cal .fcv{transition:opacity .2s ease-out,visibility .2s}.cal .mod.ls{background:var(--ink);box-shadow:var(--shadow);padding:5px 8px}.cal .mod.ls b{font:600 12.5px/1 var(--mono);color:var(--bg);margin:0}.cal .mod.fc{--fc-edge:var(--hw-track);border:1.5px solid var(--fc-edge);color:var(--ink-2);flex-flow:column;justify-content:center;gap:3px;min-width:26px;padding:3.5px 4px}.cal .mod.fc.done{--fc-edge:var(--c)}.cal .mod.fc.part{--fc-edge:var(--y)}.cal .mod.fc.skip{--fc-edge:var(--r)}.cal .mod.fc.ahead{border-style:dashed}.cal .mod.fc .icon{width:12px;height:12px}.cal .mod.fc b{margin:0}.cal .mod.fc .st{flex-direction:column;align-items:center;gap:2px;display:inline-flex}.cal .key .mod.fc .st{flex-direction:row}.cal .fcm{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:11px;height:11px}.cal .fc.done .fcm{color:var(--c-ink)}.cal .fc.part .fcm{color:var(--y-ink)}.cal .fc.skip .fcm{color:var(--r-ink)}.fcn{min-width:18px;height:16px;font:500 10.5px/1 var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);border:1.5px solid;border-radius:6px;place-items:center;padding:0 3px;display:inline-grid}.fcn.nw{border-color:var(--c);background:var(--c-tint)}.fcn.du{border-color:var(--y);background:var(--y-tint)}.fcn.ln{border-color:var(--r);background:var(--r-tint)}.cal .dh{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px;min-height:72px;display:grid}.cal .dside{align-content:start;justify-items:start;gap:4px;min-width:0;display:grid}.cal .dh>.mod.fc{justify-self:end}.cal .fcv{gap:3px;margin-left:auto;display:grid}.cal .fcv .fcn{min-width:22px}.cal .key .fcv{display:inline-flex}.cal .grid.focus .mod.off:not(.fc){opacity:.4}.cal .grid.focus .mod.fc.off,.cal .grid.focus .fcv.off{opacity:0;visibility:hidden}.cal .key{align-items:center;gap:6px;display:inline-flex}.cal .key .mod{padding:3px 5px}.cal .key .mod.fc{flex-direction:row;min-width:0;padding:1.5px 3.5px}.cal .key .mod.ls{padding:4px 6px}.cal .away-lab{color:var(--muted);font-size:10px}.cal .lsr{flex-wrap:wrap;gap:3px;min-width:0;display:flex}.cal .mod.ls.mg{box-shadow:0 0 0 1.5px var(--card), -3px -3px 0 0 var(--ink-2);gap:4px;margin:3px 0 0 3px}.cal .mod.ls.mg i{font:500 10.5px/1 var(--mono);color:var(--bg);opacity:.7;font-style:normal}.cal .lsr .mod.alt{display:none}.hwmore{background:var(--bg);border:1px solid var(--line);min-width:18px;height:12px;font:500 9.5px/1 var(--mono);color:var(--ink-2);border-radius:4px;place-items:center;padding:0 4px;display:inline-grid}.cal .day .hwmore{pointer-events:none;position:absolute;left:4px}@media (max-width:560px){.cal .lsr.two .mod.ls:not(.mg){display:none}.cal .lsr.two .mod.alt{display:flex}.cal .day{min-height:52px;padding:4px 4px calc(9px + var(--lanes,0) * 12px)}.cal .day .mod{gap:2px;padding:3px}.cal .day .mod.fc{min-width:0;padding:1.5px}.cal .day .mod b{font-size:10px}.cal .day .mod.ls{padding:3px 4px}.cal .day .fcn{border-radius:5px;min-width:14px;height:14px;padding:0 2px;font-size:9.5px}.cal .day .fcv{gap:2px}.cal .dh{min-height:46px}}.asg{border-top:1px solid var(--line);padding-top:10px;display:grid}.asg .lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding-bottom:4px;font-size:11px;font-weight:600;display:flex}.asg .lbl span{font-family:var(--mono);letter-spacing:0;text-transform:none;font-weight:500}.trow{--ts:12px;border-top:1px solid var(--line);align-items:center;gap:8px;min-height:42px;padding:6px 0;font-size:13px;display:flex}.asg .lbl+.trow{border-top:0}.trow .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.trow small{color:var(--muted);white-space:nowrap;font-size:12px;font-family:var(--mono)}.asg .empty{color:var(--muted);padding:4px 0;font-size:13px}.report-panel .select{border-style:dashed;height:34px}.report-panel{align-content:start;gap:10px;display:grid}.report-panel .when{font-family:var(--mono);color:var(--muted);font-size:12px}.report-panel h3{font-size:1.25rem}.report-panel p{color:var(--ink-2);font-size:13px}.ltp{--ts:11px;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12px;display:flex}.ltp button:not(.relink){font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.ltp button:not(.relink):hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.fcs{border-top:1px solid var(--line);gap:8px;padding-top:10px;display:grid}.fcs .nums{gap:20px;display:flex}.fcs .nums span{color:var(--muted);font-size:11px;display:grid}.fcs .nums b{font:500 20px/1.15 var(--mono);color:var(--ink)}.fcs .nums em{align-items:center;gap:5px;font-style:normal;display:inline-flex}.fcs .nums em i{border:1.5px solid;border-radius:3px;width:9px;height:9px}.fcs .nums .nw i{border-color:var(--c);background:var(--c-tint)}.fcs .nums .du i{border-color:var(--y);background:var(--y-tint)}.fcs .nums .ln i{border-color:var(--r);background:var(--r-tint)}.ltp .more{color:var(--muted)}.hwl{pointer-events:none;height:12px;position:absolute;left:4px;right:4px}.hs{background:var(--hw-track);display:block;position:absolute}.hwl .hs{height:4px;top:4px}.hs.hcs{border-top-left-radius:3px;border-bottom-left-radius:3px}.hs.hce{border-top-right-radius:3px;border-bottom-right-radius:3px}.hwb{pointer-events:none;position:absolute;top:0;overflow:visible}.hwb path{fill:none;stroke:var(--hw-track);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.hwb .k-wait{stroke:var(--hw-wait)}.hwb .k-over{stroke:var(--hw-over)}.hwb .k-ok{stroke:var(--hw-ok)}.hwb .k-late{stroke:var(--hw-late)}.hs.k-wait{background:var(--hw-wait)}.hs.k-over{background:var(--hw-over)}.hs.k-ok{background:var(--hw-ok)}.hs.k-late{background:var(--hw-late)}.mk{--mk:var(--hw-mark);flex:none;overflow:visible}.mk g{fill:none;stroke-linecap:round;stroke-linejoin:round}.mk circle{fill:var(--card)}.mk .ko{stroke:var(--card);stroke-width:5.4px}.mk .fg{stroke:var(--mk);stroke-width:2.2px}.mk.k-wait{--mk:var(--hw-wait)}.mk.k-over{--mk:var(--hw-over)}.mk.k-ok{--mk:var(--hw-ok)}.mk.k-late{--mk:var(--hw-late)}.hwl .mk,.hwbar .mk{position:absolute;top:50%;transform:translate(-50%,-50%)}.hwl .mk{width:12px;height:12px}.hwbar{padding:4px 9px}.hwbar .trk{height:18px;position:relative}.hwbar .hs{height:6px;top:6px}.hwbar .mk{width:17px;height:17px}.hwline{gap:4px;padding-top:4px;display:grid}.hwline .ends{font-size:11px;font-family:var(--mono);color:var(--muted);justify-content:space-between;gap:10px;display:flex}.hwline .hwst{color:var(--ink);font-size:13px}.hwn{color:var(--muted);font-size:12px}.hwtp{color:var(--ink-2);--ts:11px;flex-wrap:wrap;gap:4px 12px;font-size:12px;display:flex}.hwtp span{align-items:center;gap:5px;display:inline-flex}.best{color:var(--ink-2);align-items:center;gap:8px;padding-top:2px;font-size:12px;display:flex}.best>span{flex:1;min-width:0}.best b{color:var(--ink);font-weight:600}.bumpic{flex:none;width:24px;height:12px;overflow:visible}.bumpic path{fill:none;stroke:var(--ink-2);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.best:not(.on) .bumpic path{stroke:var(--muted);stroke-dasharray:1 4}.cal .key .mk{width:12px;height:12px}.cal .hwkey{align-items:center;gap:4px;display:inline-flex}.dl{gap:8px;padding:20px;display:grid}.dl-stops{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;padding-bottom:16px;display:grid}.dl-stop{color:var(--ink-2);grid-template-columns:auto minmax(0,1fr);align-content:start;gap:2px 12px;font-size:13px;display:grid}.dl-stop .mk,.dl-stop .bumpic{grid-row:span 2;width:28px;height:28px}.dl-stop b{color:var(--ink);font-size:14px;font-weight:600}.dl-state{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px 28px;padding:14px 0;display:grid}@media (max-width:720px){.dl-state{grid-template-columns:minmax(0,1fr)}}.dl-state b{margin-bottom:2px;font-size:14px;font-weight:600;display:block}.dl-state p{color:var(--ink-2);font-size:13px}.dl-state .mono{font-size:12px}.members{display:grid}.member{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 0;display:grid}.member:first-child{border-top:0;padding-top:0}.member .who{gap:1px;min-width:0;display:grid}.member .who b{font-weight:500}.member .who span{color:var(--muted);font-size:12px}.member .sc{font-family:var(--mono);align-items:center;gap:6px;font-size:13px;display:inline-flex}.member .sc i{border-radius:50%;width:10px;height:10px}@media (max-width:560px){.member{grid-template-columns:auto minmax(0,1fr) auto}.member .sc{grid-column:2;justify-self:start}}.art-page{background:var(--card);position:relative}.art{gap:28px;min-width:0;max-width:680px;margin:0 auto;padding:28px 20px 36px;display:grid}.back{color:var(--muted);font-size:13px;font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:6px;padding:0;display:inline-flex}.back:hover{color:var(--ink)}.art-head{gap:14px;display:grid}.art-head h2{border-radius:8px;font-size:clamp(1.8rem,5vw,2.4rem);line-height:1.05}[data-role=teacher] .art-head h2{outline:1px dashed var(--line);outline-offset:6px}[data-role=teacher] .art-head h2:focus{outline:2px solid var(--acc)}.art-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:13px;display:flex}.art-meta .sc{color:var(--ink);font-family:var(--mono);--ts:12px;align-items:center;gap:6px;display:inline-flex}.persp{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.prose{color:var(--ink);border-radius:10px;font-size:15px;line-height:1.65}.prose h3{margin-top:28px;font-size:1.3rem}.prose h3:first-child{margin-top:0}.prose p b{font-weight:600}[data-role=teacher] .prose{outline:1px dashed var(--line);outline-offset:10px}[data-role=teacher] .prose:focus-within{outline:2px solid var(--acc)}.eg{border-left:2px solid var(--line);gap:1px;padding-left:14px;display:grid}.eg b{font-weight:500}.eg span{color:var(--muted);font-size:13px}.stems{font-family:var(--mono);background:var(--bg);border-radius:12px;gap:4px;padding:12px 14px;font-size:13px;display:grid;overflow-x:auto}.stems span{color:var(--muted)}.ccq{color:var(--ink-2);gap:4px;font-size:14px;display:grid}.ccq div{justify-content:space-between;gap:12px;display:flex}.ccq span{color:var(--muted);white-space:nowrap}.pass{border-radius:4px;transition:background .35s ease-out,box-shadow .35s ease-out}[data-role=teacher] .pass{-webkit-text-decoration:underline dotted var(--muted);text-decoration:underline dotted var(--muted);text-underline-offset:4px}.pass.lit{background:var(--y-tint);box-shadow:0 0 0 3px var(--y-tint)}.prose.marking{cursor:text}.prose.marking .pass{text-decoration-color:#0000}.prose.marking .pass.sel{background:color-mix(in srgb, var(--c) 32%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--c) 32%, transparent)}.mark-bar{border:1px solid var(--c);background:var(--card);z-index:3;box-shadow:var(--shadow);color:var(--ink-2);border-radius:12px;align-items:center;gap:8px;padding:6px 6px 6px 12px;font-size:13px;display:flex;position:sticky;top:8px}.mark-bar>.icon{width:16px;height:16px;color:var(--c-ink);flex:none}.mark-bar p{flex:1;min-width:0}.mark-bar b{color:var(--ink);font-weight:600}.mark-ok{z-index:4;background:var(--acc);width:28px;height:28px;color:var(--on-acc);cursor:pointer;box-shadow:var(--shadow);border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;transform:translateY(-50%)}.mark-ok:hover{background:var(--acc-hover)}.mark-ok:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.mark-ok svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.dw{cursor:pointer;-webkit-text-decoration:underline dashed var(--acc);text-decoration:underline dashed var(--acc);text-underline-offset:4px;border-radius:4px;text-decoration-thickness:1.5px}.dw:hover,.dw[aria-expanded=true]{color:var(--acc-ink)}.dw.lit{background:var(--y-tint);box-shadow:0 0 0 3px var(--y-tint)}.art-tools{border:1px solid var(--line);background:var(--card);z-index:3;box-shadow:var(--shadow);border-radius:12px;flex-wrap:wrap;justify-self:start;gap:2px;padding:4px;display:flex;position:sticky;top:8px}.art-tools button{color:var(--ink-2);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:4px 9px;font-size:13px;font-weight:500;display:inline-flex}.art-tools button:hover{background:var(--bg);color:var(--ink)}.art-tools .sep{background:var(--line);width:1px;margin:3px 4px}.probs{gap:12px;display:grid}.prob{border:1px solid var(--line);border-radius:16px;gap:8px;padding:14px 16px;transition:border-color .15s;display:grid}.prob.on{border-color:var(--ink)}.prob .ph{align-items:flex-start;gap:10px;display:flex}.prob .ph b{flex:1;min-width:0;font-weight:500}.prob p{color:var(--ink-2);font-size:13px}.prob .xmp{background:var(--bg);border-radius:10px;padding:7px 10px;font-size:13px;font-style:italic}.prob .ft{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:12px;display:flex}.prob .ft .asp{color:var(--ink-2);align-items:center;gap:6px;font-weight:500;display:inline-flex}.prob .ft .asp i{border-radius:50%;width:8px;height:8px}.prob .ft .mono{color:var(--ink)}.icon-btn{width:30px;height:30px;color:var(--ink-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--bg);color:var(--ink)}.icon-btn[aria-pressed=true]{background:var(--y-tint);color:var(--ink)}.pop{z-index:40;background:var(--card);border:1px solid var(--line);border-radius:16px;gap:8px;width:min(300px,100% - 32px);padding:14px;display:grid;position:absolute;box-shadow:0 12px 32px #00000024}.pop .w{font-family:var(--display);font-size:1.35rem;line-height:1.05}.pop .pos{color:var(--muted);font-size:12px;font-style:italic}.pop .tr{font-size:14px}.pop .note{color:var(--ink-2);font-size:12px}.pop{overscroll-behavior:contain;max-height:min(70vh,560px);overflow-y:auto}.pop.wide{width:min(400px,100% - 32px)}.pop .phead{align-items:baseline;gap:8px;display:flex}.pop .phead .w{flex:1}.pop .phead .icon-btn{align-self:center}.pop .ipa{font-family:var(--mono);color:var(--muted);margin-top:-4px;font-size:12px}.pop .pbrief{flex-wrap:wrap;gap:2px 12px;font-size:13px;display:flex}.pop .pbrief i,.pop .plabel,.pop .pforms caption,.pop .pforms th{color:var(--muted);font-size:11.5px;font-style:normal}.pop .pbrief b{font-weight:500}.pop .ptables{flex-wrap:wrap;gap:10px 18px;display:flex}.pop .pforms{border-collapse:collapse;font-size:13px}.pop .pforms caption{text-align:left;padding-bottom:2px}.pop .pforms th,.pop .pforms td{text-align:left;vertical-align:top;padding:1px 10px 1px 0;font-weight:400}.pop .psenses{color:var(--ink-2);gap:3px;margin:0;padding-left:18px;font-size:12.5px;display:grid}.pop .ptoggles{gap:14px;font-size:12px;display:flex}.pop .pfriends{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.pop .pfriends .plabel{width:100%}.pop .fr{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:baseline;gap:4px;padding:2px 9px;font-size:13px;display:inline-flex}.pop .fr:hover,.pop .fr:focus-visible{border-color:var(--acc)}.pop .fr i{color:var(--muted);font-size:11px}.pop .pfriends .link{font-size:12px}.pop .psource{font-size:11.5px}.pop .psource a{color:inherit}.wcheck{z-index:35;background:var(--card);border:1px solid var(--line);border-radius:16px;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(360px,100vw - 32px);max-height:min(72vh,620px);display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 32px #00000024}.wcheck[hidden]{display:none}.wcheck header{gap:10px;padding:14px 14px 8px;display:flex}.wcheck .wc-ic{background:var(--c-tint);width:30px;height:30px;color:var(--c-ink);border-radius:10px;flex:none;place-items:center;display:grid}.wcheck .wc-ic .icon{width:17px;height:17px}.wcheck h3{font-family:var(--body);letter-spacing:0;font-size:14px;font-weight:600}.wcheck header p{color:var(--muted);margin-top:2px;font-size:12px}.wcheck .wc-lang{background:var(--bg);color:var(--ink-2);border-radius:10px;gap:4px;margin:0 14px 6px;padding:8px 10px;font-size:12px;display:grid}.wcheck p.wc-lang{display:block}.wcheck .wc-list{overscroll-behavior:contain;align-content:start;gap:14px;margin:0;padding:0 14px;list-style:none;display:grid;overflow-y:auto}.wcheck .wc-list>li{border-top:1px solid var(--line);gap:5px;padding-top:10px;display:grid}.wcheck .wc-head{align-items:baseline;gap:8px;display:flex}.wcheck .wc-head b{font-family:var(--display);font-size:1.25rem;font-weight:400;line-height:1.1}.wcheck .wc-head i{color:var(--muted);font-size:12px}.wcheck .wc-form,.wcheck .wc-was{color:var(--ink-2);font-size:12px}.wcheck .wc-f{color:var(--ink-2);margin-top:4px;font-size:12px;font-weight:500}.wcheck .wc-f span{color:var(--muted);font-weight:400}.wcheck textarea.input{resize:vertical;field-sizing:content;height:auto;min-height:34px;max-height:120px;padding:7px 10px;font-size:14px}.wcheck button.link{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.wcheck .wc-senses summary{color:var(--acc-ink);cursor:pointer;width:max-content;font-size:12px}.wcheck .wc-senses ul{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.wcheck .wc-senses button{text-align:left;width:100%;font:inherit;color:var(--ink-2);background:var(--bg);cursor:pointer;border:1px solid #0000;border-radius:8px;padding:5px 8px;font-size:12.5px}.wcheck .wc-senses button:hover{border-color:var(--acc);color:var(--ink)}.wcheck footer{justify-content:flex-end;gap:6px;padding:12px 14px 14px;display:flex}.wc-say{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:no-preference){.wcheck:not([hidden]){animation:.2s ease-out wc-in}}@keyframes wc-in{0%{opacity:0;transform:translateY(12px)}}@media (max-width:860px){.wcheck{width:auto;max-height:60vh;bottom:16px;left:16px;right:16px}}.canvas .edge.hi{stroke-opacity:.55}.canvas .edge.fresh{stroke-dasharray:1;stroke-dashoffset:1px;animation:.7s ease-out forwards draw}@keyframes draw{to{stroke-dashoffset:0}}.canvas.editing .node{cursor:grab;touch-action:none}.canvas.editing .node.dragging{cursor:grabbing}.canvas.linking .node{cursor:crosshair}.canvas .status{z-index:3;background:var(--ink);color:var(--bg);max-width:calc(100% - 24px);box-shadow:var(--shadow);border-radius:10px;align-items:center;gap:10px;padding:7px 12px;font-size:12px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.canvas .status button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.mlink{font:inherit;color:var(--acc-ink);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline;text-decoration-thickness:1px}.mlink:hover{color:var(--ink)}.alink{color:var(--acc-ink);text-underline-offset:3px;--ts:10px;text-decoration:underline;text-decoration-thickness:1px}.alink .tsh{margin-right:5px}.panel .desc{color:var(--ink-2);font-size:13px}.panel .lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);justify-content:space-between;gap:8px;font-size:11px;font-weight:600;display:flex}.panel .lbl span{font-family:var(--mono);letter-spacing:0;text-transform:none;font-weight:500}.panel textarea{border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;resize:vertical;border-radius:10px;width:100%;min-height:112px;padding:8px 10px;font-size:13px;line-height:1.5}.panel textarea:focus-visible{outline:2px solid var(--acc);outline-offset:0;border-color:#0000}.panel .grp{gap:8px;display:grid}.panel .grp:empty{display:none}.relink{font:inherit;color:var(--acc-ink);cursor:pointer;background:0 0;border:0;font-size:12px;text-decoration:underline}.found{color:var(--ink-2);background:var(--bg);border-radius:10px;padding:8px 10px;font-size:12px}.found b{font-weight:600}.btn[aria-pressed=true]{background:var(--ink)!important;color:var(--bg)!important;border-color:var(--ink)!important}.chip{border:1px solid var(--line);background:var(--card);--ts:11px;border-radius:999px;align-items:center;gap:7px;min-height:30px;padding:3px 6px 3px 10px;font-size:13px;display:inline-flex}.chip small{color:var(--muted);font-size:11px}.chip .icon-btn{border-radius:999px;width:22px;height:22px}.chip .icon-btn .icon{width:12px;height:12px}.prob .refs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12px;display:flex}.prob .refs .ref{align-items:center;gap:2px;font-size:13px;display:inline-flex}.prob .refs .icon-btn{border-radius:999px;width:22px;height:22px}.prob .refs .icon-btn .icon{width:12px;height:12px}.side-body .rel-add,.prob .refs select{border:1px dashed var(--line);background:var(--card);height:30px;color:var(--ink-2);font:inherit;border-radius:999px;padding:0 10px;font-size:13px}.review{justify-items:center;gap:16px;padding:24px 16px;display:grid}.review .flash{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:20px;gap:14px;width:min(100%,520px);padding:26px 24px;display:grid}.review .flash .word{font-family:var(--display);font-size:2rem;line-height:1.1}.review .flash hr{border:0;border-top:1px dashed var(--line);margin:4px 0}.review .ratings{grid-template-columns:repeat(2,1fr);gap:10px;width:min(100%,520px);display:grid}.review .ratings button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:16px;justify-items:center;gap:6px;padding:14px 6px 10px;transition:transform .15s;display:grid}.review .ratings button:hover{transform:translateY(-1px)}.review .ratings button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}.review .ratings button small{font-family:var(--mono);opacity:.85;font-size:11px}.review .ratings .no{background:var(--r-tint);color:var(--r-ink)}.review .ratings .yes{background:var(--c-tint);color:var(--c-ink)}.review .progress{width:min(100%,520px);color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.prob .ft .cs{align-items:center;gap:6px;display:inline-flex}.prob .ft .cs .icon{width:14px;height:14px}.ce{grid-template-columns:minmax(0,1fr) 420px;min-height:560px;display:grid}@media (max-width:860px){.ce{grid-template-columns:minmax(0,1fr)}}.ce-list{align-content:start;gap:10px;padding:20px;display:grid}.ce-list h3{font-size:1.3rem}.ce-row{border:1px solid var(--line);background:var(--card);text-align:left;font:inherit;color:inherit;cursor:pointer;border-radius:14px;gap:6px;padding:12px 14px;transition:border-color .15s;display:grid}.ce-row:hover{border-color:var(--ink-2)}.ce-row[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.ce-row b{font-weight:500}.ce-row .ft{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:12px;display:flex}.ce-row .asp{color:var(--ink-2);align-items:center;gap:6px;display:inline-flex}.ce-row .asp i{border-radius:50%;width:8px;height:8px}.ce-panel{background:var(--card);border-left:1px solid var(--line);flex-direction:column;min-width:0;display:flex}@media (max-width:860px){.ce-panel{border-left:0;border-top:1px solid var(--line)}}.ce-panel header{align-items:center;gap:8px;padding:16px 16px 0;display:flex}.ce-panel header h3{font-family:var(--body);letter-spacing:0;flex:1;font-size:1.1rem;font-weight:600}.ce-body{flex:1;align-content:start;gap:16px;padding:12px 16px 16px;display:grid}.ce-body .lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.ce-body section{gap:8px;display:grid}.ce-prob{background:var(--bg);border-radius:12px;gap:4px;padding:10px 12px;font-size:13px;display:grid}.ce-prob b{font-weight:500}.ce-prob i{color:var(--muted)}.ce .segm{display:flex}.ce .segm button{flex:1}.select{border:1px solid var(--line);background:var(--card);height:36px;color:var(--ink);font:inherit;border-radius:10px;width:100%;padding:0 10px}.ce textarea{border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;resize:vertical;border-radius:10px;width:100%;min-height:56px;padding:8px 10px}.ce textarea:focus-visible,.select:focus-visible{outline:2px solid var(--acc);outline-offset:0;border-color:#0000}.ce .fld{gap:4px;display:grid}.ce .fld label{color:var(--muted);font-size:12px;font-weight:500}.cprev{border:1px solid var(--line);background:color-mix(in oklab, var(--bg) 70%, var(--card));text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:12px;font-size:14px;display:flex}.cprev hr{background:var(--line);border:0;width:100%;height:1px;margin:0}.cprev .empty{color:var(--muted);font-size:12px;font-style:italic}.cprev .typed{border:1px dashed var(--line);width:80%;height:28px;color:var(--muted);border-radius:8px;place-items:center;font-size:12px;display:grid}.cprev .hint{color:var(--muted);font-size:12px}.cname{color:var(--muted);font-size:13px;font-weight:500}.notes{border:1px solid var(--line);border-radius:12px;display:grid;overflow:hidden}.notes button{border:0;border-top:1px solid var(--line);font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:8px 12px;font-size:13px;display:grid}.notes button:first-child{border-top:0}.notes button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notes button span+span{color:var(--muted)}.notes button:hover{background:var(--bg)}.notes button[aria-pressed=true]{background:var(--acc-tint);color:var(--acc-ink)}.notes button.add{color:var(--ink-2);grid-template-columns:auto 1fr;align-items:center}.ai-note{color:var(--ink-2);font-size:13px}.ce-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;display:flex}.ce-foot .btn.primary{flex:1}.settings{gap:18px;max-width:720px;padding:20px;display:grid}.settings .group{gap:12px;display:grid}.settings .group h3{font-size:1.15rem}.settings .line{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;display:flex}.settings .line:first-of-type{border-top:0}.settings .line .l{gap:2px;min-width:0;display:grid}.settings .line .l span{color:var(--muted);font-size:12px}.settings .two{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:start;gap:12px;display:grid}.settings .retention{gap:8px;width:100%;display:grid}.settings .retention .val{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.settings .retention .val b{font-family:var(--mono);color:var(--ink);font-weight:500}a{color:var(--acc-ink)}.link{color:var(--acc-ink);text-underline-offset:3px;text-decoration:underline}.shell{min-height:100vh;box-shadow:none;background:var(--bg);border:0;border-radius:0}.shell .side{grid-template-rows:auto auto auto auto 1fr;height:100vh;position:sticky;top:0}.shell .nav{text-decoration:none}.shell .main{min-width:0;padding:0;display:block}.page h2{font-size:1.7rem}.mtop{display:none}@media (max-width:720px){.shell{grid-template-rows:auto 1fr}.mtop{background:var(--card);border-bottom:1px solid var(--line);z-index:30;align-items:center;gap:4px;padding:8px 12px 8px 16px;display:flex;position:sticky;top:0}.mtop .lockup{font-size:1.1rem}.mtop .lockup svg{height:22px}.mtop .spacer{flex:1}.mtop .icon-btn .icon{width:18px;height:18px}}.who-wrap{align-self:end;position:relative}.shell .side .foot{width:100%;font:inherit;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;font-size:12px}.shell .side .foot:hover{background:var(--bg);color:var(--ink)}.foot .avatar{width:22px;height:22px;font-size:10px}.foot .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.menu{z-index:40;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;gap:2px;padding:4px;display:grid;position:absolute;bottom:calc(100% + 6px);left:0;right:0}.menu-lab{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 8px 4px;font-size:11px;font-weight:600}.menu button{font:inherit;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.menu button:hover,.menu button[aria-checked=true]{background:var(--bg)}.menu button[aria-checked=true]{font-weight:600}.menu .avatar{width:22px;height:22px;font-size:10px}.page{align-content:start;gap:16px;max-width:1120px;padding:20px;display:grid}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.bar{z-index:10;position:sticky;top:0}@media (max-width:720px){.bar{top:53px}}.bar .crumbs a{text-decoration:none}.bar .crumbs a:hover{color:var(--ink)}.pathpage,.artwrap,.cepage,.reviewpage,.settingspage{min-height:100vh}.pathpage .tabpanel{padding:20px}.artwrap{background:var(--card);grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);display:grid}.prose img{border-radius:12px;max-width:100%}.prose:focus{outline:none}.chip-link{color:var(--ink);--ts:11px;align-items:center;gap:7px;text-decoration:none;display:inline-flex}.chip-link:hover{text-underline-offset:3px;text-decoration:underline}.alink{cursor:pointer}.hw .it .btn{margin-left:4px}.hw .it .icon-btn{width:24px;height:24px;margin-left:auto}.hw .it>.icon{color:var(--muted)}.ce{min-height:calc(100vh - 57px)}.scrim{z-index:100;background:#00000052;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.scrim .dialog{width:min(440px,100%);max-width:none;max-height:calc(100vh - 32px);overflow-y:auto}.dialog h3{font-size:1.25rem}.dialog .two{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.input.area{resize:vertical;height:auto;padding:8px 10px;line-height:1.5}.answer{background:var(--bg);border-radius:12px;max-height:260px;padding:12px 14px;font-size:14px;overflow-y:auto}.dialog .segm{justify-self:start}#toasts{z-index:120;pointer-events:none;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.reviewpage .counts{gap:4px;display:inline-flex}.review{align-content:center;min-height:calc(100vh - 57px)}.review .flash .input{text-align:center;justify-self:center;max-width:320px}.review .flash .btn{justify-self:center}.review .flash[role=button]{cursor:pointer}.done-card p{font-size:14px}.two{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.gp{white-space:nowrap;border-radius:999px;flex:none;align-items:center;height:20px;padding:0 8px;font-size:11.5px;font-weight:600;display:inline-flex}.gp.again{background:var(--r-tint);color:var(--r-ink)}.gp.hard{background:var(--y-tint);color:var(--y-ink)}.gp.good{background:var(--c-tint);color:var(--c-ink)}.gp.easy{background:var(--c);color:var(--on-acc)}.rowchip{--ts:12px;align-items:center;gap:6px;min-width:0;font-size:12.5px;display:inline-flex}.rowchip small{color:var(--muted);white-space:nowrap;font-size:11.5px}.rowchip>span:last-child{text-overflow:ellipsis;overflow:hidden}.fed{gap:6px;margin:4px 0 8px;display:grid}.fed-row{align-items:center;gap:8px;min-width:0;display:flex}.node.locked .main{fill:var(--card);stroke:var(--card)}.node .lockline{fill:none;stroke:var(--hw-track);stroke-width:1.5px;stroke-dasharray:4 4;opacity:0}.node.locked .lockline{opacity:1}.node.locked text{fill:var(--muted);opacity:.8}mark.fix[data-good]{background:color-mix(in srgb, var(--c) 30%, transparent);border-bottom-color:var(--c-ink)}.markbtn-good{z-index:60;position:fixed;box-shadow:0 6px 18px #0000002e}.markbtn-good svg{fill:none;stroke:currentColor;stroke-width:2px;width:14px;height:14px}.fx-self{align-items:flex-start;gap:8px;font-size:13px}.fx-self input{margin-top:3px}.probsub{gap:2px;margin-top:14px;font-size:13px;font-weight:600;display:grid}.probsub span{color:var(--muted);font-size:12px;font-weight:400}.art-page{--bar-h:51px;grid-template-columns:minmax(0,1fr) auto 68px;grid-template-areas:"art side rail";display:grid}[data-role=student] .art-page{--bar-h:41px}.art{grid-area:art;align-content:start;width:100%}.art-rail{border-left:1px solid var(--line);grid-area:rail}#artRail{top:var(--bar-h);gap:4px;padding:12px 6px;display:grid;position:sticky}#artRail button{color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-items:center;gap:3px;padding:9px 2px 7px;font-size:11px;font-weight:500;display:grid}#artRail button .icon{width:20px;height:20px}#artRail button b{font-family:var(--mono);color:var(--muted);font-weight:400}#artRail button:hover{background:var(--bg);color:var(--ink)}#artRail button[aria-pressed=true]{background:var(--y-tint);color:var(--ink)}.art-side{width:360px;top:var(--bar-h);height:calc(100vh - var(--bar-h));overscroll-behavior:contain;border-left:1px solid var(--line);background:var(--card);grid-area:side;align-self:start;position:sticky;overflow-y:auto}.art-side[hidden]{display:none}.art-side header{z-index:1;background:var(--card);align-items:center;gap:8px;padding:16px 16px 8px;display:flex;position:sticky;top:0}.art-side header h3{font-family:var(--body);letter-spacing:0;flex:1;font-size:1.1rem;font-weight:600}.side-body{align-content:start;gap:12px;padding:8px 16px 24px;display:grid}.side-note{color:var(--muted);font-size:13px}.side-body .add-mis{justify-self:start}@media (prefers-reduced-motion:no-preference){.art-side{animation:.2s ease-out side-in}}@keyframes side-in{0%{opacity:0;transform:translate(12px)}}@media (max-width:860px){.art-page{grid-template-columns:minmax(0,1fr);grid-template-areas:"art"}.art{padding-bottom:96px}.art-rail{z-index:20;border:0;position:fixed;bottom:16px;right:16px}#artRail{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:4px;display:flex;position:static}#artRail button{grid-auto-flow:column;align-items:center;gap:6px;padding:8px 12px;font-size:13px}.art-page:not([data-side=""]) .art-rail{display:none}.art-side{z-index:30;border-radius:24px 0 0 24px;width:min(400px,100%);height:auto;position:fixed;top:0;bottom:0;right:0;box-shadow:0 12px 32px #0000002e}}.pf{outline-offset:3px;overflow-wrap:anywhere;border-radius:8px;outline:1px dashed #0000;min-width:0}.pf:hover{outline-color:var(--line)}.pf:focus{outline:2px solid var(--acc)}.pf:empty:before{content:attr(data-ph);color:var(--muted)}.prob .ph .pf{flex:1;font-weight:500}.prob .pf[data-f=d]{color:var(--ink-2);font-size:13px}.prob.draft{border-style:dashed}.prob .filed{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.prob .filed select{border:1px dashed var(--line);background:var(--card);height:30px;color:var(--ink-2);font:inherit;border-radius:999px;padding:0 10px;font-size:13px}.prob .ft .link{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.awords{margin:0;padding:0;list-style:none;display:grid}.awords li{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:42px;display:flex}.awords .dw{font-size:15px}.awords .tr{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.awords .icon-btn{width:26px;height:26px}.awords .icon-btn .icon{width:14px;height:14px}.arels{margin:0;padding:0;list-style:none;display:grid}.arels li{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:48px;padding:6px 0;display:flex}.arels .rl{flex:1;gap:2px;min-width:0;display:grid}.arels small{color:var(--muted);font-size:11.5px}.arels .cut{color:var(--muted)}.arels .icon-btn{width:26px;height:26px}.arels .icon-btn .icon{width:14px;height:14px}.side-body .rel-add{justify-self:start}.madmin{gap:16px;margin-top:12px;display:grid}.madmin section{gap:8px;display:grid}.madmin .lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.madmin .line{justify-content:space-between;align-items:center;gap:12px;display:flex}.madmin .line .l{gap:2px;font-size:13.5px;display:grid}.madmin .line .l span{color:var(--muted);font-size:12px}.closed-note{background:var(--line);color:var(--ink-2);border-radius:12px;margin:0 0 12px;padding:10px 14px;font-size:13px}.devpage{min-height:100vh}.devbody{max-width:1280px}.devpick{grid-template-columns:minmax(180px,260px) minmax(160px,220px) minmax(220px,1fr);align-items:end;gap:12px;display:grid}.devpick .lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.devday .lbl b{color:var(--ink);letter-spacing:0;text-transform:none;margin-left:4px;font-weight:500}.devday input{width:100%;accent-color:var(--acc)}.devsum{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.devtile{background:var(--card);border:1px solid var(--line);border-radius:12px;align-content:start;gap:2px;min-width:0;padding:10px 12px;display:grid}.devtile span{color:var(--muted);font-size:12px}.devtile b{font-size:1.15rem;font-weight:500}.devtile small{color:var(--muted);font-size:11.5px}.devunl summary{cursor:pointer;font-size:13.5px}.devunl-list{flex-wrap:wrap;gap:8px 14px;margin-top:12px;display:flex}.devfilter{grid-template-columns:minmax(200px,1fr) repeat(3,minmax(140px,190px));gap:8px;display:grid}.devcount{margin-top:-6px;font-size:12.5px}.devtable-wrap{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow-x:auto}.devtable{border-collapse:collapse;width:100%;font-size:13px}.devtable th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--card);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:600;position:sticky;top:0}.devtable td{border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap;padding:8px 12px}.devtable .n{text-align:right}.devrow{cursor:pointer}.devrow:hover td,.devrow.open td{background:color-mix(in srgb, var(--line) 45%, transparent)}.devrow:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}.devname{text-overflow:ellipsis;white-space:nowrap;max-width:320px;display:block;overflow:hidden}.devname+small{font-size:11px}.devfrom{--ts:12px;align-items:center;gap:6px;display:inline-flex}.devdetail td{background:var(--bg);white-space:normal;padding:12px}.devdetail td>.devcard+.devcard{margin-top:8px}.devcard{background:var(--card);border:1px solid var(--line);border-radius:12px;gap:6px;padding:10px 12px;display:grid}.devcard-h{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.devcard-h .spacer{flex:1}.devface{flex-wrap:wrap;gap:8px;font-size:12.5px;display:flex}.devlog{flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.devlog>span{align-items:center;gap:6px;display:inline-flex}.devempty{text-align:center;padding:24px}@media (max-width:720px){.devpick,.devfilter{grid-template-columns:1fr 1fr}.devday,.devfilter input{grid-column:1/-1}}#toasts .toast button{pointer-events:auto;color:inherit;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0 0 0 4px;font-weight:700;text-decoration:underline}.panel .btn.del{color:var(--muted);justify-self:start}.panel .btn.del:hover{color:var(--r-ink)}.delask{gap:8px;font-size:14px;display:grid}.delask .hint{margin:0}.pathview.editing .unit-head{flex-wrap:nowrap;justify-content:flex-start;gap:8px;padding-left:6px}.unit-head .uhd{flex:1;min-width:0}.ugrip{width:22px;height:34px;color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:grid}.ugrip:hover,.ugrip:focus-visible{background:var(--bg);color:var(--ink)}.uname,.ulessons{cursor:text;border-radius:6px;outline:none}.uname{margin-inline:-4px;padding-inline:4px}.uname:hover,.uname:focus,.ulessons:hover,.ulessons:focus{background:var(--bg)}.uname:empty:before,.ulessons:empty:before{content:attr(data-ph);color:var(--muted);opacity:.7}.ulessons{padding-inline:2px}.unit-head .udel{color:var(--muted);flex:none}.unit-head .udel:hover{color:var(--r-ink)}.unit.uadd{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:18px 0 6px;font-size:14px;display:flex}.unit.uadd:hover{color:var(--ink)}.unit.uadd svg{width:16px;height:16px;margin:0}.poff .empty{color:var(--muted);font-size:13px}.pathview.editing .node,.pathview.editing .poff .chip{cursor:grab}.pathview.dragging,.pathview.dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.node.ghosted,.chip.ghosted{opacity:.3}.unit.ghosted .unit-head{opacity:.4;box-shadow:none}.pathview.folded .unit>svg,.pathview.folded .unit .empty,.pathview.folded .uadd,.pathview.folded .poff,.pathview.folded .pnote{display:none}.pathview.folded .unit{padding-top:10px}.pathview.folded .unit-head{position:static}.dragghost{z-index:200;pointer-events:none;background:var(--card);color:var(--ink);border:1px solid var(--line);white-space:nowrap;--ts:16px;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;font-weight:500;display:inline-flex;position:fixed;top:0;left:0;box-shadow:0 8px 24px #0000002e}.dragghost .ueb{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.art{gap:18px;max-width:820px;padding:56px 72px 120px 96px}.art-head{gap:12px}.art-head h2{font-size:clamp(2rem,4.6vw,2.9rem);line-height:1.08}[data-role=teacher] .art-head h2,[data-role=teacher] .art-head h2:focus,[data-role=teacher] .prose,[data-role=teacher] .prose:focus-within{outline:none}.art-head h2[contenteditable]:empty:before{content:attr(data-ph);color:var(--muted);opacity:.6}.prose{caret-color:var(--ink);border-radius:0;font-size:16px;line-height:1.7}.prose>*+*{margin-top:6px}.prose h3{margin-top:30px;font-size:1.5rem;line-height:1.3}.prose>h3+*{margin-top:4px}.prose ul,.prose ol{padding-left:1.6em}.prose li+li{margin-top:2px}.prose blockquote{margin-inline:0;border-left:3px solid var(--ink);margin-bottom:0;padding:2px 0 2px 16px;font-size:1.05em}.prose hr{border:0;border-top:1px solid var(--line);margin:22px 0}.prose img{border-radius:6px;margin:6px 0;display:block}.prose .ph{position:relative}[data-role=teacher] .prose>p:only-child:has(>br:only-child){position:relative}.prose .ph:before{content:"Write, or press / for headings, lists, pictures and more";color:var(--muted);opacity:.7;pointer-events:none;white-space:nowrap;position:absolute;top:0;left:0}[data-role=teacher] .prose>p:only-child:has(>br:only-child):before{content:"Write, or press / for headings, lists, pictures and more";color:var(--muted);opacity:.7;pointer-events:none;white-space:nowrap;position:absolute;top:0;left:0}.prose audio{width:100%;max-width:520px;height:40px;margin-block:10px;display:block}.bmenu.sndpick{width:290px}.sndpick .recnow{align-items:center;gap:8px;padding:6px 8px 10px;font-size:14px;display:flex}.sndpick .recnow i{background:var(--r);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite recpulse}.sndpick .row{padding:0 8px 4px}@keyframes recpulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.sndpick .recnow i{animation:none}}.bmenu.aipick{gap:8px;width:400px;padding:10px}.aipick .bhead{align-items:center;gap:6px;padding:0 2px;display:flex}.aipick .bhead .icon,.ci-acts .icon,[data-ai-cards] .icon{width:14px;height:14px;color:var(--acc-ink)}.aipick textarea{resize:vertical;width:100%;min-height:72px;font:inherit;padding:8px 10px;font-size:14px;line-height:1.5}.aipick .aideas{flex-wrap:wrap;gap:6px;display:flex}.aipick .aideas .chip{font:inherit;cursor:pointer;font-size:12.5px}.aipick .aiacts{align-items:center;gap:6px}.aipick .aiacts .hint{margin-left:auto;font-size:12px}.aipick.busy .aiacts .hint{color:var(--ink-2);animation:1.6s ease-in-out infinite aiwait}@keyframes aiwait{50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.aipick.busy .aiacts .hint{animation:none}}.art-tools{z-index:20;border-radius:10px;flex-wrap:nowrap;justify-self:auto;position:absolute;top:0;left:0;box-shadow:0 8px 28px #00000024}.art-tools[hidden]{display:none}.bmenu{z-index:30;background:var(--card);border:1px solid var(--line);border-radius:12px;gap:1px;width:300px;max-height:360px;padding:6px;display:grid;position:absolute;overflow-y:auto;box-shadow:0 12px 36px #00000029}.bmenu[hidden]{display:none}.bmenu button:not(.btn,.chip){width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;padding:5px 8px;display:grid}.bmenu button[aria-selected=true],.bmenu button:not(.btn,.chip):hover,.bmenu button:not(.btn,.chip):focus-visible{background:var(--bg);outline:none}.bmenu .bic{border:1px solid var(--line);background:var(--card);width:32px;height:32px;color:var(--ink-2);--ts:14px;border-radius:8px;place-items:center;font-size:13px;font-weight:600;display:grid}.bmenu .bic svg{fill:none;stroke:currentColor;stroke-width:1.6px;width:16px;height:16px}.bmenu .btx{min-width:0;display:grid}.bmenu b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.bmenu small{color:var(--muted);font-size:12px}.bmenu .bhead{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 8px 4px;font-size:11px;font-weight:600}.bmenu .bnone{color:var(--muted);padding:8px;font-size:13px}.bmenu hr{border:0;border-top:1px solid var(--line);margin:4px 0}.bmenu .bdel:hover b,.bmenu .bdel:focus-visible b{color:var(--r-ink)}.bmenu.bblock{width:220px}.bmenu.bblock .bic,.bmenu.artmenu .bic{background:0 0;border:0;width:22px;height:22px}.bmenu.bblock button,.bmenu.artmenu button{grid-template-columns:22px minmax(0,1fr)}.bmenu.bblock button[aria-checked=true] b:after{content:" ✓";color:var(--muted)}.bmenu.apick{width:320px}.bmenu.apick input{margin-bottom:4px}.bmenu.apick .alist{gap:1px;display:grid}.bmenu.artmenu{width:300px;padding:8px;top:calc(100% + 4px);right:16px}.bmenu.artmenu .delask{padding:6px 8px}.bhandle{z-index:15;gap:1px;display:flex;position:absolute}.bhandle[hidden]{display:none}.bhandle button{width:24px;height:26px;color:var(--muted);cursor:pointer;opacity:.75;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.bhandle button:hover,.bhandle button:focus-visible{background:var(--bg);color:var(--ink);opacity:1}.bhandle .badd svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:18px;height:18px}.bhandle .bgrip{cursor:grab;touch-action:none}.bhandle .bgrip svg{width:10px;height:16px}.bdrop{z-index:15;background:var(--acc);pointer-events:none;border-radius:2px;height:3px;position:absolute}.bdrop[hidden]{display:none}.prose .bmoving{opacity:.3}body.bdragging,body.bdragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}@media (max-width:860px){.art{padding:32px 20px 80px}.bhandle{display:none}}.mapcard{background:0 0;border:0;border-radius:0}.mapcard .panel{background:0 0}.mapcard .timeline{background:0 0;padding-inline:0}.pathview .unit-head{box-shadow:none}.hwview{min-height:100vh}.hwv{align-content:start;gap:22px;min-width:0;max-width:820px;margin:0 auto;padding:24px 20px 40px;display:grid}.hwv.wide{max-width:1200px}.hwv .spacer,.hwv-foot .spacer,.ie-top .spacer{flex:1}.hwv-head{gap:10px;display:grid}.hwv-head .when{color:var(--muted);font-size:12px;font-family:var(--mono)}.hwv-head h2{font-size:clamp(1.6rem,4vw,2.1rem);line-height:1.1}.hwv-name{color:var(--ink);border:0;border-bottom:1.5px dashed var(--line);background:0 0;border-radius:0;width:100%;padding:4px 0;font-size:clamp(1.6rem,4vw,2.1rem);line-height:1.15}.hwv-name:focus-visible{border-bottom-color:var(--acc);outline:none}.hwv-name::placeholder{color:var(--muted)}.hwv-times{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.hwv-switch{border:1px solid var(--line);background:var(--card);border-radius:14px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.hwv-switch>div{gap:2px;font-size:14px;display:grid}.hwv-switch b{font-weight:600}.hwv-meta{font-size:13px}.hwv-line{gap:4px;display:grid}.hwv-line .ends{font-size:11px;font-family:var(--mono);color:var(--muted);justify-content:space-between;gap:10px;display:flex}.hwv-sec{gap:12px;display:grid}.hwv .lbl,.chk-side .lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.hwv .lbl span,.chk-side .lbl span{font-family:var(--mono);letter-spacing:0;color:var(--ink-2)}.flabel{color:var(--ink-2);font-size:12px;font-weight:600}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:20px;height:20px;padding:0;display:inline-grid}.chip button:hover{background:var(--bg);color:var(--ink)}.chip button .icon{width:12px;height:12px}.chip b.dn,.chip b.upv{font-family:var(--mono);font-size:12px;font-weight:500}.chip b.dn{color:var(--r-ink)}.chip b.upv{color:var(--c-ink)}.tasks{gap:12px;display:grid}.task{gap:12px;padding:14px 16px;display:grid}.task header{align-items:center;gap:10px;min-height:30px;display:flex}.task header b{flex:1;min-width:0;font-weight:600}.task .num{background:var(--bg);width:24px;height:24px;font-family:var(--mono);color:var(--ink-2);border-radius:8px;flex:none;place-items:center;font-size:12px;display:inline-grid}.task .st{color:var(--muted);white-space:nowrap;font-size:12px}.task .st.warn{color:var(--r-ink)}.task .tk{border:1.5px solid var(--ink-2);border-radius:7px;flex:none;place-items:center;width:20px;height:20px;display:inline-grid}.task .tk svg{fill:none;stroke:#1f1f1f;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;opacity:0;width:12px;height:12px}.task.done .tk,.task.checked .tk{background:var(--c);border-color:var(--c)}.task.sub .tk{background:var(--c-tint);border-color:var(--c)}.task.late .tk{border-color:var(--r-ink)}.task.gone .tk{border-style:dashed;border-color:var(--muted)}.task.done .tk svg,.task.checked .tk svg,.task.sub .tk svg{opacity:1}.task-label{flex:1;min-width:0;font-weight:600}.task-fixed{flex:1;align-items:center;gap:8px;min-width:0;font-weight:600;display:inline-flex}.task-fixed .icon{color:var(--muted)}.task .icon-btn[disabled]{opacity:.35;cursor:default;background:0 0}.brief{border-left:3px solid var(--acc);padding-left:12px}.brief-d summary{cursor:pointer;color:var(--muted);margin-bottom:8px;font-size:13px}.add-task{border-style:dashed;justify-self:start}.hwv-foot{z-index:5;background:linear-gradient(to top, var(--bg) 70%, transparent);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0;display:flex;position:sticky;bottom:0}.wb{gap:8px;min-width:0;display:grid}.wb.edit{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:6px}.wb.edit:focus-within{border-color:var(--acc)}.wb-tools{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px;padding-bottom:6px;display:flex}.wb-tools .icon-btn b,.wb-tools .icon-btn i{font-size:15px}.wb-tools .btn svg,.wb-tools .btn .icon{width:14px;height:14px}.wb-sep{background:var(--line);width:1px;height:20px;margin:0 4px}.wb-text{overflow-wrap:anywhere;font-size:15px;line-height:1.6}.wb.edit .wb-text{outline:none;min-height:96px;padding:6px 8px}.wb-text[contenteditable]:empty:before{content:attr(data-ph);color:var(--muted);pointer-events:none}.wb-text p,.wb-text ul,.wb-text ol{margin:0 0 .5em}.wb-text p:last-child,.wb-text ul:last-child{margin-bottom:0}.wb-text ul,.wb-text ol{padding-left:1.3em}.wb-empty{color:var(--muted);font-size:13px}.wb-att{flex-wrap:wrap;gap:8px;display:flex}.wb-att:empty{display:none}.wb-shot{display:inline-block;position:relative}.wb-shot>button:first-child{border:1px solid var(--line);cursor:zoom-in;background:#fff;border-radius:10px;width:180px;padding:0;display:block;overflow:hidden}.wb.edit .wb-shot>button:first-child{cursor:pointer}.wb-shot>button:first-child:hover{border-color:var(--ink-2)}.shot{width:100%;height:auto;display:block}.wb-x{color:#fff;cursor:pointer;background:#0009;border:0;border-radius:999px;place-items:center;width:24px;height:24px;padding:0;display:inline-grid;position:absolute;top:6px;right:6px}.wb-x .icon{width:12px;height:12px}.wb-file{border:1px solid var(--line);background:var(--card);border-radius:10px;align-items:center;gap:8px;max-width:100%;padding:8px 10px;font-size:13px;display:inline-flex;position:relative}.wb-file small{color:var(--muted);font-family:var(--mono);font-size:11px}.wb-file .wb-x{background:var(--bg);width:20px;height:20px;color:var(--ink-2);position:static}mark.fix{background:color-mix(in srgb, var(--y) 55%, transparent);color:inherit;border-bottom:2px solid var(--r);cursor:help;border-radius:3px;padding:0 1px}mark.fix:focus-visible{outline:2px solid var(--acc);outline-offset:1px}.fixbox rect{fill:#ffde5a59;stroke:#e0b400;stroke-width:3px;vector-effect:non-scaling-stroke}.fixbox circle{fill:#db373d}.fixbox text{fill:#fff;font-family:var(--mono);font-weight:600}.fixbox{cursor:help;outline:none}.fixbox:focus-visible rect{stroke:var(--acc)}.markable{cursor:text}.markable::selection{background:color-mix(in srgb, var(--r) 30%, transparent)}.markable ::selection{background:color-mix(in srgb, var(--r) 30%, transparent)}.markbtn{z-index:60;position:fixed;box-shadow:0 6px 18px #0000002e}.markbtn .icon{width:14px;height:14px}.fixtip{z-index:130;background:var(--ink);color:var(--bg);pointer-events:none;border-radius:12px;gap:6px;padding:10px 12px;font-size:13px;line-height:1.45;display:grid;position:fixed;box-shadow:0 10px 30px #00000040}.ft-row{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:14px;display:flex}.ft-row s{-webkit-text-decoration-color:var(--r);text-decoration-color:var(--r);opacity:.8;text-decoration-thickness:2px}.ft-row b{font-weight:600}.fixtip .ft-row b{color:var(--c)}.slog .ft-row b{color:var(--c-ink)}.fixtip p,.slog p{margin:0}.ft-mis{--ts:11px;opacity:.85;align-items:center;gap:7px;font-size:12px;display:flex}.slog{gap:8px;display:grid}.slog-row{border:1px solid var(--line);background:var(--card);border-radius:12px;gap:5px;padding:10px 12px;font-size:13px;display:grid}.slog-row p{color:var(--ink-2)}.slog-row .ft-mis{color:var(--muted)}.slog-where{font-size:11px;font-family:var(--mono);color:var(--muted)}.slog-round{color:var(--ink-2);margin-top:4px;font-size:12px;font-weight:600}.slog-act{gap:6px;margin-top:2px}.chk{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.chk-main{gap:12px;min-width:0;display:grid}.chk-side{gap:12px;max-height:calc(100vh - 89px);display:grid;position:sticky;top:73px;overflow-y:auto}.chk-side .segm{justify-self:start}.fbtext{white-space:pre-wrap;margin:0;font-size:14px}@media (max-width:900px){.chk{grid-template-columns:1fr}.chk-side{max-height:none;position:static}}.subs-list{gap:8px;display:grid}.subrow{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.subrow b{font-weight:600}.subrow a.btn,.hwv-meta a.btn{text-decoration:none}.fbcard{border-left:4px solid var(--c);gap:10px;display:grid}.fbcard.fb-resubmit{border-left-color:var(--y)}.fbcard.fb-abandoned{border-left-color:var(--muted)}.fbcard b{font-weight:600}.moves{gap:6px;display:grid}.scrim .dialog.wide{width:min(560px,100%)}.fx-found{gap:10px;max-height:260px;padding:2px;display:grid;overflow-y:auto}.fx-g{gap:4px;display:grid}.fx-t{color:var(--ink-2);--ts:11px;align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.fx-g [role=option]{text-align:left;font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:10px;gap:2px;margin-left:18px;padding:7px 10px 7px 12px;font-size:13px;display:grid}.fx-g [role=option]:hover{border-color:var(--ink-2)}.fx-g [role=option][aria-selected=true]{border-color:var(--acc);background:var(--acc-tint)}.fx-g [role=option] b{font-weight:500}.fx-g [role=option] i{color:var(--muted);font-size:12px;font-style:normal}.fx-pick{border:1px solid var(--acc);background:var(--acc-tint);--ts:12px;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}.fx-pick span{flex:1;font-size:13px;display:grid}.fx-pick b{font-weight:600}.fx-pick small{color:var(--ink-2);font-size:12px}.ie{z-index:95;background:var(--bg);grid-template-rows:auto auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.ie-top{border-bottom:1px solid var(--line);background:var(--card);align-items:center;gap:8px;padding:10px 16px;display:flex}.ie-top b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ie-bar{border-bottom:1px solid var(--line);background:var(--card);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 16px;display:flex}.ie-tools button{align-items:center;gap:6px;display:inline-flex}.ie-tools .icon{width:15px;height:15px}@media (max-width:720px){.ie-tools span{display:none}}.ie-inks{gap:6px;display:flex}.ie-inks button{border:2px solid var(--card);background:var(--ink);width:24px;height:24px;box-shadow:0 0 0 1px var(--line);cursor:pointer;border-radius:999px;padding:0}.ie-inks button[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink-2)}.ie-stage{background-color:var(--dot);background-image:radial-gradient(color-mix(in srgb, var(--muted) 40%, transparent) 1px, transparent 1px);touch-action:none;background-size:14px 14px;place-items:center;min-height:0;padding:16px;display:grid;position:relative;overflow:hidden}.ie-svg{cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;max-width:100%;height:100%;max-height:100%}.ie-stage[data-cursor=text] .ie-svg{cursor:text}.ie-stage[data-cursor=view] .ie-svg{cursor:default}.ie-dim{fill:#00000073;pointer-events:none}.ie-crop{fill:#0000;stroke:#fff;cursor:move;vector-effect:non-scaling-stroke}.ie-h{fill:#fff;stroke:#1f1f1f;stroke-width:1.5px;vector-effect:non-scaling-stroke}.ie-h[data-h=n],.ie-h[data-h=s]{cursor:ns-resize}.ie-h[data-h=e],.ie-h[data-h=w]{cursor:ew-resize}.ie-h[data-h=nw],.ie-h[data-h=se]{cursor:nwse-resize}.ie-h[data-h=ne],.ie-h[data-h=sw]{cursor:nesw-resize}.ie-live{fill:#ffde5a4d;stroke:#e0b400;stroke-dasharray:8 6}.ie-text{min-width:140px;font-family:var(--body);background:#ffffffeb;border:1.5px dashed;border-radius:6px;outline:none;padding:2px 6px;font-weight:600;position:absolute;transform:translateY(-80%)}.ie-hint{color:var(--muted);text-align:center;background:var(--card);border-top:1px solid var(--line);min-height:1em;margin:0;padding:8px 16px 12px;font-size:12px}.ev{border-top:1px solid var(--line);gap:8px;padding-top:10px;display:grid}.ev>.lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.sublbl{color:var(--ink-2);font-size:12px;font-weight:600}.evrow{font:inherit;text-align:left;border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.evrow b{font-family:var(--mono);color:var(--ink-2);font-size:12px;font-weight:500}.evrow span:not(.tag){flex:1;min-width:0}.evrow.cancel span{color:var(--muted);text-decoration:line-through}.evrow.link{cursor:pointer}.evrow.link:hover{border-color:var(--ink-2)}.evrow .icon{color:var(--muted)}.evform{gap:8px;display:grid}.evsug{background:var(--bg);border-radius:12px;gap:2px;padding:10px 12px;display:grid}.evsug .trow:first-of-type{border-top:0}.evsug p{margin:4px 0 0;font-size:12px}.evdue{font-size:10px;font-family:var(--mono);background:var(--acc-tint);color:var(--acc-ink);white-space:nowrap;border-radius:999px;padding:2px 5px;line-height:1}.notice{width:100%;font:inherit;text-align:left;border:1px solid var(--c);background:var(--c-tint);color:var(--ink);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.notice span{flex:1;gap:1px;font-size:13px;display:grid}.notice b{font-weight:600}.notice small{color:var(--ink-2);font-size:12px}.hw .it.gone i{border-style:dashed}.printout{display:none}@media print{body>:not(.printout){display:none!important}.printout{color:#000;font-family:var(--body);font-size:12pt;display:block}.printout h1{font-family:var(--display);margin:0 0 4pt;font-size:22pt;font-weight:400}.printout h2{margin:18pt 0 6pt;font-size:13pt}.printout .pmeta{color:#555;font-size:10pt}.printout .shot{border:1px solid #ccc;max-width:70%;margin:8pt 0}.printout .plines{background:repeating-linear-gradient(#0000 0 27pt,#bbb 27pt 28pt);height:140pt}.printout section{break-inside:avoid}}.ncard{text-align:center;justify-items:center;gap:10px;display:grid}.ncard .nc-ctx{color:var(--ink-2);max-width:44ch;font-size:13px;font-style:italic}.ncard .nc-s,.ncard .nc-test{font-family:var(--display);text-wrap:balance;font-size:1.6rem;line-height:1.3}.ncard .nc-gap{border-bottom:2px solid var(--ink-2);min-width:3.2em;display:inline-block;transform:translateY(-.12em)}.ncard .nc-hint{color:var(--muted);font-size:.75em}.ncard .nc-ans{color:var(--c-ink);font-weight:inherit;background:var(--c-tint);border-radius:6px;padding:0 4px}.ncard .nc-say{-webkit-text-decoration-color:var(--y);text-decoration-color:var(--y);text-underline-offset:5px;text-decoration-thickness:3px}.ncard .nc-rec{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.nc-play,.nc-clip{border:1px solid var(--line);background:var(--card);height:30px;color:var(--ink);font:inherit;cursor:pointer;border-radius:99px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.nc-play:hover{border-color:var(--ink-2)}.nc-clip{cursor:default;color:var(--ink-2);background:var(--bg)}.nc-play .icon,.nc-clip .icon{width:15px;height:15px}.review .webrate{text-align:center;justify-items:center;gap:8px;width:min(100%,520px);display:grid}.review .webrate .btn{min-width:220px}.review .webrate small{font-size:12px}.clist{border-top:1px dashed var(--line);gap:8px;padding-top:4px;display:grid}.citem{border:1px solid var(--line);background:var(--paper);border-radius:12px;gap:8px;padding:8px 10px 12px;display:grid}.citem .ci-h{color:var(--muted);align-items:center;gap:6px;font-size:11.5px;display:flex}.citem .ci-h span{flex:1}.citem .ci-h b{color:var(--ink-2);font-weight:600}.citem .ci-h .icon-btn{width:24px;height:24px}.citem .ncard .nc-s,.citem .ncard .nc-test,.cnew-prev .ncard .nc-s,.cnew-prev .ncard .nc-test{font-size:1.05rem}.ci-rep{color:var(--y-ink);background:var(--y-tint);border-radius:8px;padding:6px 8px;font-size:12px}.ci-acts{flex-wrap:wrap;gap:6px}.prob .ft .cs{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;margin-left:-6px;padding:2px 6px}.prob .ft .cs:hover,.prob .ft .cs[aria-expanded=true]{background:var(--bg);color:var(--ink)}.cnew{border:1px solid var(--acc);background:var(--card);border-radius:12px;gap:8px;padding:10px;display:grid}.cnew .input.err{border-color:var(--r)}.cnew-link{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.cnew-link select{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;max-width:100%;padding:3px 6px;font-size:12px}.cnew-prev:empty{display:none}.cnew-prev{background:var(--paper);border:1px dashed var(--line);border-radius:10px;padding:10px}.awords{grid-template-columns:minmax(0,1fr)}.awords .wcards{min-width:0;padding:0 0 6px;display:block}.marksent{border:1px solid var(--line);background:var(--card);cursor:text;-webkit-user-select:text;user-select:text;border-radius:10px;padding:8px 10px;font-size:15px;line-height:1.7}.marksent.err{border-color:var(--r)}mark.pr{background:var(--y-tint);color:inherit;border-bottom:2px solid var(--y);border-radius:3px;padding:0 1px}.classpage{background:var(--bg);grid-template-rows:auto 1fr;min-height:100vh;display:grid}.cls{grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.cls.with-side{grid-template-columns:minmax(0,1fr) 360px}.cls-main{grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-width:0;min-height:0;padding:12px 16px;display:grid}.cls-follow{grid-row:1}.cls-board{grid-row:2;grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0;display:grid}.cls-follow{align-items:center;gap:10px;font-size:13px;display:flex}.cls-follow[hidden]{display:none}.cls-ctl{gap:8px}.cls-rec i{background:var(--r);border-radius:50%;width:8px;height:8px;margin-right:6px;animation:1.4s ease-in-out infinite rec;display:inline-block}@keyframes rec{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.cls-rec i{animation:none}}#clsPhase{font-variant-numeric:tabular-nums;gap:6px;display:inline-flex}.cls-side{border-left:1px solid var(--line);background:var(--card);grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.cls-side header{align-items:baseline;gap:8px;padding:16px 16px 8px;display:flex}.cls-side header h3{font-family:var(--body);letter-spacing:0;font-size:1.1rem;font-weight:600}.cls-side-body{overscroll-behavior:contain;align-content:start;gap:14px;padding:4px 16px 24px;display:grid;overflow-y:auto}.cls-note{color:var(--ink-2);font-size:13px}.bd-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex;position:relative}.bd-group{border:1px solid var(--line);background:var(--card);border-radius:12px;align-items:center;gap:2px;padding:3px;display:inline-flex}.bd-group button{width:30px;height:30px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;display:inline-grid}.bd-group button:hover{background:var(--bg);color:var(--ink)}.bd-group button[aria-pressed=true]{background:var(--ink);color:var(--card)}.bd-group button[disabled]{opacity:.35;cursor:default}.bd-group .icon{width:18px;height:18px}.bd-inks button{border-radius:50%;width:24px;height:24px}.bd-inks button:after{content:"";background:var(--ink);border-radius:50%;width:16px;height:16px;box-shadow:inset 0 0 0 1px #0000002e}.bd-inks button[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--ink-2);background:0 0}[data-theme=dark] .bd-inks button[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--ink)}.bd-group [data-width] i{width:16px;height:var(--w);background:currentColor;border-radius:99px}.bd-pics{z-index:20;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:14px;grid-template-columns:repeat(3,120px);gap:8px;padding:10px;display:grid;position:absolute;top:calc(100% + 6px);left:0}.bd-pics[hidden]{display:none}.bd-pics button{border:1px solid var(--line);background:var(--card);color:var(--ink-2);font:inherit;cursor:pointer;border-radius:10px;gap:4px;padding:6px;font-size:11px;display:grid}.bd-pics button:hover{border-color:var(--ink-2)}.bd-pics svg{background:#fff;border-radius:6px;width:100%;height:70px}.bd-pics .hint{grid-column:1/-1;font-size:11.5px}.bd-pics .bd-upload{color:var(--ink);border-style:dashed;order:-2;grid-column:1/-1;place-items:center;padding:12px;font-size:13px;font-weight:500}.bd-pics:has(.bd-upload) .hint{order:-1}.bd-stage{place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.bd-svg{aspect-ratio:16/9;width:100%;max-width:100%;max-height:100%;box-shadow:0 0 0 1px var(--line), var(--shadow);touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;border-radius:12px}.bd-stage[data-tool=pen] .bd-svg,.bd-stage[data-tool=rect] .bd-svg,.bd-stage[data-tool=oval] .bd-svg,.bd-stage[data-tool=tri] .bd-svg,.bd-stage[data-tool=line] .bd-svg,.bd-stage[data-tool=arrow] .bd-svg{cursor:crosshair}.bd-stage[data-tool=text] .bd-svg{cursor:text}.bd-stage[data-tool=erase] .bd-svg{cursor:cell}.bd-sel rect:first-child{fill:none;stroke:var(--c);stroke-dasharray:6 5}.bd-sel .bd-h{fill:#fff;stroke:var(--c);cursor:nwse-resize}.bd-sel .bd-h[data-h=ne],.bd-sel .bd-h[data-h=sw]{cursor:nesw-resize}.bd-text{z-index:5;border:1px dashed var(--c);resize:none;background:#ffffffe6;border-radius:4px;outline:none;min-width:4ch;margin:0;padding:0 2px;font-family:Golos Text,system-ui,sans-serif;font-weight:500;line-height:1.25;position:absolute;overflow:hidden}.bd-text[hidden]{display:none}.cls-strip{grid-row:3;align-items:flex-end;gap:10px;padding:4px 2px 6px;display:flex;overflow-x:auto}.thumb{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;justify-items:start;gap:4px;padding:0;font-size:11.5px;display:grid}.thumb-svg{width:128px;height:72px;box-shadow:0 0 0 1px var(--line);background:#fff;border-radius:8px}.thumb[aria-current=true] .thumb-svg{box-shadow:0 0 0 2px var(--acc)}.thumb[aria-current=true]{color:var(--ink);font-weight:600}.strip-acts{align-self:center;gap:6px;margin-left:6px;display:flex}.qform{border:1px solid var(--line);background:var(--paper);border-radius:14px;gap:8px;padding:12px;display:grid}.qwho{flex-wrap:wrap;gap:4px;display:flex}.qwho button{border:1px solid var(--line);background:var(--card);color:var(--ink-2);font:inherit;cursor:pointer;border-radius:99px;align-items:center;gap:6px;padding:3px 10px 3px 3px;font-size:13px;display:inline-flex}.qwho button[aria-pressed=true]{border-color:var(--ink);color:var(--ink);font-weight:600}.qwho .avatar{width:24px;height:24px;font-size:10px}.qkind{justify-content:space-between;gap:8px}.qpron,.qself{color:var(--ink-2);align-items:center;gap:6px;font-size:13px;display:inline-flex}.qpron[hidden],.qself[hidden],.qspelled[hidden],.qmarks[hidden]{display:none}.qspelled{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;display:grid}.qspelled .input:only-child{grid-column:1/-1}.qmarks{gap:4px;display:grid}.qland .fx-found{max-height:200px}.qland .fx-g [role=option]{margin-left:0}#qErr{color:var(--r-ink)}.qents{gap:8px;margin:0;padding:0;list-style:none;display:grid}.qent{background:var(--bg);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px 10px 10px 12px;font-size:13px;display:grid}.qent>div{gap:4px;min-width:0;display:grid}.qent .qsaid{color:var(--ink-2);overflow-wrap:anywhere}.qent .ft-row{font-size:13px}.qent .ft-row b{color:var(--c-ink)}.qent .rowchip{justify-self:start}@media (max-width:960px){.cls.with-side{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr)}.cls-side{border-left:0;border-top:1px solid var(--line)}.cls-side-body{overflow:visible}.bd-stage{min-height:220px}}@media (min-width:961px){.classpage{height:100vh}.cls{overflow:hidden}}a.btn{text-decoration:none}.askfix{background:var(--y-tint);border-radius:12px;gap:6px;padding:10px 12px;font-size:13px;display:grid}.askfix span{color:var(--ink-2)}.askfix .row{gap:6px}.review .webrate .link{font:inherit;cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:13px}.booting{text-align:center;color:var(--muted);margin:30vh auto 0}.signin{min-height:100vh;background:var(--bg);place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.signin-card{background:var(--card);border:1px solid var(--line);width:min(380px,100%);box-shadow:var(--shadow);border-radius:18px;gap:14px;padding:28px 24px 22px;display:grid}.signin-card .lockup{margin-bottom:6px}.signin-card h1,.signin-card h2{margin:0;font-size:1.6rem}.signin-card .btn.primary{justify-content:center}.signin-card #siPin{letter-spacing:.3em}.signin-demo{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:grid}.signin-demo .hint{margin:0}.signin-people{flex-wrap:wrap;gap:6px;display:flex}.signin-links{justify-content:center;gap:8px;margin:4px 0 0;font-size:12px;display:flex}.signin-links a{color:var(--muted)}.menu a{color:var(--ink);border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;text-decoration:none;display:flex}.menu a:hover{background:var(--bg)}.menu .icon{width:16px;height:16px}.mtop .menu{width:220px;inset:calc(100% + 6px) 8px auto auto}.offline{z-index:60;background:var(--ink);max-width:calc(100vw - 32px);color:var(--card);box-shadow:var(--shadow);border-radius:999px;padding:8px 14px;font-size:13px;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.offline[hidden]{display:none}.adminpage{max-width:980px}.adm-list{display:grid}.adm-row{border-top:1px solid var(--line);padding:2px 0}.adm-row:first-child{border-top:0}.adm-row .member{border-top:0;padding:10px 0}.adm-row.off .who b{color:var(--muted);text-decoration:line-through}.adm-tags{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:inline-flex}.adm-pin{background:var(--y-tint);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 10px 44px;padding:10px 12px;display:flex}.adm-pin .mono{letter-spacing:.2em;font-size:1.25rem}.adm-edit,.adm-add{gap:12px;margin:0 0 12px 44px;display:grid}.adm-add{margin:0 0 16px}.adm-check{gap:8px;font-size:13px}.adm-log summary{cursor:pointer;align-items:baseline;gap:10px;display:flex}.adm-log summary span{font-size:12px}.adm-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:12.5px}.adm-table th,.adm-table td{border-top:1px solid var(--line);text-align:left;vertical-align:top;padding:6px 8px}.adm-table th{color:var(--muted);font-weight:500}@media (max-width:640px){.adm-row .member{grid-template-columns:auto minmax(0,1fr)}.adm-tags,.adm-row .member>.row{grid-column:2;justify-content:flex-start}.adm-pin,.adm-edit{margin-left:0}.adm-table th:last-child,.adm-table td:last-child{display:none}}.inv-found{align-items:center;gap:8px;font-size:13px;display:flex}.pinform{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:10px;margin:4px 0 8px;display:grid}@media (max-width:720px){.pinform{grid-template-columns:1fr}}.invites{gap:10px;display:grid}.invites:empty{display:none}.invite{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.invite>div{gap:2px;display:grid}.invite span.muted{font-size:13px}.empty-home p{margin:0 0 4px}
