@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/nunito-sans-cyrillic-ext-400-normal.a866c292.woff2) format("woff2"),url(/_next/static/media/nunito-sans-cyrillic-ext-400-normal.295427ef.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/nunito-sans-cyrillic-400-normal.cc436e25.woff2) format("woff2"),url(/_next/static/media/nunito-sans-cyrillic-400-normal.6daaf72a.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/nunito-sans-vietnamese-400-normal.1c1c28c3.woff2) format("woff2"),url(/_next/static/media/nunito-sans-vietnamese-400-normal.7caa7525.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/nunito-sans-latin-ext-400-normal.c89a2fa5.woff2) format("woff2"),url(/_next/static/media/nunito-sans-latin-ext-400-normal.05464237.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/nunito-sans-latin-400-normal.7d8c7b02.woff2) format("woff2"),url(/_next/static/media/nunito-sans-latin-400-normal.036bf50b.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/nunito-sans-cyrillic-ext-600-normal.83286dee.woff2) format("woff2"),url(/_next/static/media/nunito-sans-cyrillic-ext-600-normal.f6b3f0b5.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/nunito-sans-cyrillic-600-normal.eae356e9.woff2) format("woff2"),url(/_next/static/media/nunito-sans-cyrillic-600-normal.5eaa2133.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/nunito-sans-vietnamese-600-normal.791219fc.woff2) format("woff2"),url(/_next/static/media/nunito-sans-vietnamese-600-normal.75719ec1.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/nunito-sans-latin-ext-600-normal.8f176ace.woff2) format("woff2"),url(/_next/static/media/nunito-sans-latin-ext-600-normal.4747d71b.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/nunito-sans-latin-600-normal.609eb1ae.woff2) format("woff2"),url(/_next/static/media/nunito-sans-latin-600-normal.207a0a3f.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/nunito-sans-cyrillic-ext-700-normal.daea378e.woff2) format("woff2"),url(/_next/static/media/nunito-sans-cyrillic-ext-700-normal.7b6b2338.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/nunito-sans-cyrillic-700-normal.21084e9a.woff2) format("woff2"),url(/_next/static/media/nunito-sans-cyrillic-700-normal.a68c462e.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/nunito-sans-vietnamese-700-normal.559d1cf1.woff2) format("woff2"),url(/_next/static/media/nunito-sans-vietnamese-700-normal.60ff99df.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/nunito-sans-latin-ext-700-normal.306dc6a9.woff2) format("woff2"),url(/_next/static/media/nunito-sans-latin-ext-700-normal.18b317c0.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/nunito-sans-latin-700-normal.fab59477.woff2) format("woff2"),url(/_next/static/media/nunito-sans-latin-700-normal.5a0b6189.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/_next/static/media/nunito-sans-cyrillic-ext-800-normal.a0e5e779.woff2) format("woff2"),url(/_next/static/media/nunito-sans-cyrillic-ext-800-normal.b673d47b.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/_next/static/media/nunito-sans-cyrillic-800-normal.f83c2d28.woff2) format("woff2"),url(/_next/static/media/nunito-sans-cyrillic-800-normal.9dcde561.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/_next/static/media/nunito-sans-vietnamese-800-normal.fa1e2e40.woff2) format("woff2"),url(/_next/static/media/nunito-sans-vietnamese-800-normal.9c7ae55e.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/_next/static/media/nunito-sans-latin-ext-800-normal.b596be9e.woff2) format("woff2"),url(/_next/static/media/nunito-sans-latin-ext-800-normal.0f35e753.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/_next/static/media/nunito-sans-latin-800-normal.3b75a935.woff2) format("woff2"),url(/_next/static/media/nunito-sans-latin-800-normal.6fbe1c12.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--bg:#f7f5f1;--surface:#ffffff;--text:#2b2b2b;--text2:#6b6b6b;--divider:#e6e2db;--accent:#7e9cb0;--green:#8aa899;--yellow:#d9b97e;--red:#c98b7a;--neutral:#c4c1b8;--radius:18px;--font:"Nunito Sans","Segoe UI",system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.45;min-height:100vh}body,button{font-family:var(--font)}.topbar{display:flex;align-items:center;gap:14px;background:var(--surface);border-bottom:1px solid var(--divider);padding:11px 20px}.brand{font-weight:800;font-size:16px;letter-spacing:.2px;color:var(--text);text-decoration:none}.brand span{color:var(--accent);font-weight:700}.clsswitch{display:flex;align-items:center;gap:7px;border:1px solid var(--divider);border-radius:10px;padding:5px 12px;font-size:13px;font-weight:700;background:var(--bg);color:var(--text);cursor:pointer}select.clsswitch{-moz-appearance:none;appearance:none;-webkit-appearance:none}.topspacer{flex:1 1}.me{gap:8px;font-size:12.5px;color:var(--text2)}.avatar,.me{display:flex;align-items:center}.avatar{width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;justify-content:center;font-size:12px;font-weight:800}.tabs{display:flex;gap:2px;padding:10px 20px 0;background:var(--surface);border-bottom:1px solid var(--divider)}.tab{border:1px solid transparent;border-bottom:0;border-radius:10px 10px 0 0;padding:8px 18px;font-size:13.5px;font-weight:700;color:var(--text2);background:transparent;cursor:pointer}.tab.on{background:var(--bg);border-color:var(--divider);color:var(--text)}.tab small{font-weight:600;color:var(--text2);margin-left:4px}.main{padding:18px 20px 22px;max-width:1060px;margin:0 auto}.authwrap{display:flex;justify-content:center;padding:34px 20px 40px}.authcard{background:var(--surface);border:1px solid var(--divider);border-radius:16px;padding:22px 24px;width:100%;max-width:420px;box-shadow:0 8px 22px #2b2b2b0d}.authcard h1{margin:0 0 4px;font-size:17px;font-weight:800}.authcard .p{margin:0 0 14px;color:var(--text2);font-size:13px}.field{margin:0 0 12px}.field label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--text2);margin:0 0 4px}.input{display:block;width:100%;border:1px solid var(--divider);border-radius:10px;padding:9px 12px;font-size:13.5px;background:var(--surface);font-family:var(--font);color:var(--text)}.input:focus{outline:2px solid #7e9cb055;border-color:var(--accent)}.fieldrow{display:flex;gap:10px}.fieldrow .field{flex:1 1}.fine{font-size:11.5px;color:var(--text2);line-height:1.5;margin-top:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;font-weight:800;font-size:13px;padding:8px 16px;border:1px solid var(--divider);background:var(--surface);color:var(--text);cursor:pointer}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.block{display:flex;width:100%}.btn:disabled{opacity:.55;cursor:default}.quiet{border:0;background:transparent;color:var(--text2);font-size:12.5px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:6px 2px}.status-note{font-size:12.5px;color:#8a6f38;background:#d9b97e14;border:1px solid #d9b97e55;border-radius:10px;padding:8px 12px;margin-top:10px}.emptybox{background:var(--surface);border:1.5px dashed #7e9cb077;border-radius:16px;padding:34px 24px;text-align:center}.emptybox h2{margin:0 0 6px;font-size:17px;font-weight:800}.emptybox p{margin:0 0 16px;color:var(--text2);font-size:13.5px}.sidegrid{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.sidegrid .left{flex:1.7 1;min-width:320px}.sidegrid .right{flex:1 1;min-width:260px;display:flex;flex-direction:column;gap:12px}.panel{background:var(--surface);border:1px solid var(--divider);border-radius:14px;padding:13px 16px}.panel.dashed{border-style:dashed}.panel h3{margin:0 0 8px;font-size:13.5px;font-weight:800}.panel p{margin:0}.check,.panel p{font-size:12.5px;color:var(--text2)}.check{display:flex;gap:9px;align-items:flex-start;padding:5px 0}.check .c{width:18px;height:18px;border-radius:50%;flex:0 0 18px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;border:1.5px solid var(--divider);color:var(--text2)}.check.done{color:var(--text)}.check.done .c{background:var(--green);border-color:var(--green);color:#fff}.check.now{color:var(--text);font-weight:700}.check.now .c{border-color:var(--accent);color:var(--accent)}.loading{min-height:60vh;display:flex;align-items:center;justify-content:center;color:var(--text2);font-size:13.5px}table.roster{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--divider);border-radius:12px;overflow:hidden;font-size:13px}table.roster thead th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text2);background:#fbfaf7;font-weight:800}table.roster tbody td,table.roster thead th{border-bottom:1px solid var(--divider);padding:8px 12px}table.roster tbody td{vertical-align:middle}table.roster tbody tr:last-child td{border-bottom:0}tr.dim td{opacity:.55}.subline{display:block;font-size:11.5px;color:var(--text2);margin-top:2px}.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.status i{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--neutral)}.s-linked i{background:var(--green)}.s-linked{color:#5c7568}.s-waiting i{background:var(--yellow)}.s-waiting{color:#8a6f38}.s-declined i{background:var(--red)}.s-declined{color:#9c5f4e}.quota,.s-muted{color:var(--text2)}.quota{font-size:12px}.quota b{color:var(--text)}.meter{height:6px;background:var(--divider);overflow:hidden;margin:5px 0 2px;max-width:320px}.meter,.meter i{border-radius:99px}.meter i{display:block;height:100%;background:var(--accent)}.footbar{align-items:center;gap:14px;border:1px solid var(--divider);border-radius:14px;padding:11px 16px;font-size:13px}.blind,.footbar{display:flex;background:var(--surface);margin-top:14px}.blind{gap:9px;align-items:flex-start;border:1px dashed var(--divider);border-radius:12px;padding:10px 14px;font-size:12.5px;color:var(--text2);max-width:760px}.blind .ic{color:var(--accent);font-weight:800}.invrow{padding:3px 0}.invrow+.invrow{border-top:1px dashed var(--divider);margin-top:4px;padding-top:7px}.invmail{font-weight:600}.invmeta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--text2)}.invmeta .quiet{padding:1px 0;font-size:11.5px}.live{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;background:#8aa89922;color:#5c7568;border-radius:99px;padding:1px 7px;margin-left:6px;vertical-align:1px}.overlay{position:fixed;inset:0;background:#2b2b2b4d;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.dialog{background:var(--surface);border:1px solid var(--divider);border-radius:16px;padding:20px 22px;width:100%;max-width:400px;box-shadow:0 12px 32px #2b2b2b26}.dialog h2{margin:0 0 6px;font-size:15.5px;font-weight:800}.dialog .p{margin:0 0 12px;color:var(--text2);font-size:13px}.dlgrow{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.btn.danger{background:var(--red);border-color:var(--red);color:#fff}.sumbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0 4px}.sumchip{font-size:12.5px;font-weight:700;border:1px solid var(--divider);background:var(--bg);border-radius:99px;padding:4px 12px;color:var(--text2)}.sumchip.warn{border-color:#d9b97e66;background:#d9b97e14;color:#8a6f38}.sect{margin:16px 0 4px;font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--text2);display:flex;align-items:center;gap:8px}.sect .n{background:#c98b7a1a;color:#9c5f4e;border:1px solid #c98b7a55;border-radius:99px;padding:1px 9px;font-size:11.5px}.sect .n.ok{background:#8aa8991f;color:#597468;border-color:#8aa89955}.rrow{display:flex;align-items:center;gap:10px;padding:10px 4px;border-top:1px solid var(--divider)}.rrow:hover{background:#7e9cb008}.badge{flex:0 0 82px;text-align:center;font-size:11.5px;font-weight:800;border-radius:99px;padding:4px 0}.badge.test{background:#c98b7a1f;color:#9c5f4e}.badge.homework{background:#8aa8991f;color:#597468}.badge.submission{background:#7e9cb01f;color:#54748a}.badge.presentation{background:#d9b97e22;color:#8a6f38}.badge.assignment{background:#c4c1b833;color:#6b6b6b}.rmain{flex:1 1;min-width:0}.rtitle{font-size:14px;font-weight:700}.rtitle b{font-weight:800}.rdot{color:var(--neutral);padding:0 5px}.rdate{flex:0 0 auto;text-align:right;font-size:13.5px;font-weight:700;white-space:nowrap}.rdate small{display:block;font-weight:600;color:var(--text2);font-size:11.5px}.pill{font-size:11px;font-weight:700;border-radius:99px;padding:2px 9px;white-space:nowrap}.pill.warn{background:#d9b97e1f;color:#8a6f38;border:1px solid #d9b97e55}.pill.need{background:#c98b7a1a;color:#9c5f4e;border:1px solid #c98b7a55}.pen{flex:0 0 auto;border:1px solid var(--divider);background:var(--surface);border-radius:9px;width:30px;height:30px;font-size:13px;cursor:pointer;color:var(--text2);font-family:var(--font)}.pen:hover{border-color:var(--accent);color:var(--accent)}.editcard{background:#fbfaf7;border:1px solid var(--divider);border-radius:12px;margin:8px 0;padding:13px 14px 11px}.editcard.attn{border-color:#d9b97e88}.editfoot{display:flex;gap:14px;align-items:center;margin-top:10px}.editfoot .src{font-size:12px;color:var(--text2);flex:1 1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:break-word}.btn.small{padding:5px 14px;font-size:12.5px}.chev{flex:0 0 auto;border:0;background:none;cursor:pointer;width:18px;padding:0;font-family:var(--font)}.chev,.scount{font-size:12px;color:var(--text2)}.scount{font-weight:700;background:var(--bg);border:1px solid var(--divider);border-radius:99px;padding:2px 10px;white-space:nowrap}.skids{margin:6px 0 2px 28px;border-left:2px solid var(--divider);padding-left:12px}.skid{display:flex;align-items:center;gap:10px;padding:4px 0;font-size:13px}.skid .d{font-weight:700;width:110px}.pill.stat{background:#c4c1b826;color:#6b6b6b;border:1px solid var(--divider)}.pill.stat.pub,.sumchip.pub{background:#8aa8991f;color:#597468;border-color:#8aa89955}.termsel{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}.tchip{border:1px solid var(--divider);background:var(--bg);border-radius:99px;padding:5px 14px;font-size:13px;font-weight:700;color:var(--text2);cursor:pointer;font-family:var(--font)}.tchip.now{background:#8aa8991f;border-color:#8aa89955;color:#597468}.tchip.next{background:#7e9cb01f;border-color:#7e9cb055;color:#54748a}.tchip.done{background:#c4c1b826;color:#6b6b6b}.tchip.on{outline:2px solid var(--accent);outline-offset:1px;color:var(--text)}.tchip.add{font-weight:800;padding:5px 12px}.tchip:hover{border-color:var(--accent)}