.tc{color:var(--v-text);display:block}.tc .is-good{color:var(--v-good)}.tc .is-mid{color:var(--v-mid)}.tc .is-bad{color:var(--v-bad)}.tc-dim{color:var(--v-dim);font-size:12px}.tc-small{font-size:12px;margin:10px 2px 0}.tc-pad{padding:12px 16px}.tc-r{text-align:right}.tc-sp{margin-left:auto}.tc-h1{font-family:var(--v-head);font-size:22px;margin:4px 0 6px}.tc-lead{color:var(--v-dim);font-size:14px;margin:0}.tc-h2{font-family:var(--v-head);font-size:15px;margin:22px 0 10px}.tc-link{background:none;border:none;padding:0;color:var(--v-primary-2);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}.tc-today{display:flex;flex-direction:column;gap:6px}.tc-todo{display:flex;gap:10px;align-items:center;padding:10px 14px;text-align:left;cursor:pointer;border:1px solid var(--v-line);border-left:3px solid var(--v-line);border-radius:12px;background:var(--v-panel);color:var(--v-text);font:inherit;font-size:13px}.tc-todo:hover{border-color:var(--v-line-strong);background:var(--v-panel-2)}.tc-todo--bad{border-left-color:var(--v-bad)}.tc-todo--mid{border-left-color:var(--v-mid)}.tc-todo b{font-family:var(--v-head);font-size:13px}.tc-todo--note{border-left-color:var(--v-primary-2);cursor:default}.tc-bell{margin-right:8px}.tc-todo__acts{margin-left:auto;display:flex;gap:14px;white-space:nowrap}.tc-todo__acts .tc-link{text-decoration:none;font-weight:600}.tc-todo__go{margin-left:auto;color:var(--v-primary-2);font-size:12px;font-weight:600;white-space:nowrap}.tc-ctabs{display:flex;gap:4px;border-bottom:1px solid var(--v-line);margin-bottom:12px}.tc-ctab{border:none;background:none;padding:9px 14px;font:inherit;font-family:var(--v-head);font-size:14px;color:var(--v-dim);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tc-ctab.is-on{color:var(--v-text);border-bottom-color:var(--v-primary-2);background:var(--v-panel);border-radius:10px 10px 0 0}.tc-ctab span{font-family:var(--v-font);font-size:12px;font-weight:700;margin-left:4px}.tc-info{color:var(--v-dim);font-size:12px;margin:0 2px 10px}.tc-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:4px}.tc-btn{border:none;border-radius:12px;padding:9px 16px;background:var(--v-primary);color:#fff;font:inherit;font-weight:700;font-size:13px;cursor:pointer}.tc-btn:disabled{opacity:.5;cursor:default}.tc-btn.is-ghost{background:var(--v-panel-2);border:1px solid var(--v-line);color:var(--v-text)}.tc-code{color:var(--v-dim);font-size:12px;margin-left:6px}.tc-code b{font-family:var(--v-head);color:var(--v-text);letter-spacing:.04em;margin:0 6px}.tc-code button{background:none;border:none;color:var(--v-primary-2);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}.tc-empty{padding:26px;text-align:center;border:1px dashed var(--v-line-strong);border-radius:16px;color:var(--v-dim);margin-top:10px;display:flex;flex-direction:column;align-items:center;gap:12px}.tc-asg{border:1px solid var(--v-line);border-radius:16px;background:var(--v-panel);margin-top:10px}.tc-asg__head{display:grid;grid-template-columns:1.6fr 1.2fr 140px 90px;gap:16px;align-items:center;width:100%;padding:13px 16px;background:none;border:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.tc-asg__head>span:first-child{display:flex;flex-direction:column;gap:3px}.tc-asg__name{font-family:var(--v-head);font-size:14px}.tc-track{display:block;height:7px;border-radius:6px;background:#ffffff14;overflow:hidden}.tc-track i{display:block;height:100%;border-radius:6px;background:var(--v-good)}.tc-track i.is-mid{background:var(--v-mid)}.tc-track i.is-bad{background:var(--v-bad)}.tc-under{display:flex;justify-content:space-between;color:var(--v-dim);font-size:11px;margin-top:4px}.tc-pill{display:inline-block;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;background:#fbbf2426;color:var(--v-mid)}.tc-pill.is-ok{background:#4ade8024;color:var(--v-good)}.tc-pill.is-bad{background:#fb718526;color:var(--v-bad)}.tc-asg__body{padding:0 16px 16px;border-top:1px solid var(--v-line)}.tc-insights{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:14px}.tc-ins{padding:10px 12px;border:1px solid var(--v-line);border-radius:12px;background:#ffffff05}.tc-ins.is-warn{border-color:#fbbf2473;background:#fbbf240f}.tc-ins__t{color:var(--v-dim);font-size:10px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}.tc-ins__v{font-size:13px;line-height:1.55}.tc-answers{margin-top:12px;padding:12px 14px;border:1px solid var(--v-line);border-radius:12px}.tc-answers__head{font-size:13px;margin-bottom:6px}.tc-answer{display:grid;grid-template-columns:190px 1fr;gap:12px;padding:7px 0;border-top:1px solid var(--v-line);font-size:13px}.tc-answer span{font-style:italic}.tc-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:14px 0 8px}.tc-chips button{border:1px solid var(--v-line);border-radius:999px;padding:6px 12px;background:var(--v-panel);color:var(--v-text);font:inherit;font-size:12px;cursor:pointer}.tc-chips button.is-on{background:var(--v-primary);border-color:transparent;font-weight:700}.tc-prow{display:grid;grid-template-columns:190px 1fr 110px 70px 28px;gap:12px;align-items:center;padding:8px 12px;border:1px solid var(--v-line);border-radius:12px;background:var(--v-panel);margin-bottom:6px;font-size:13px}.tc-prow.is-head{background:none;border-color:transparent;padding-top:2px;padding-bottom:0;margin:10px 0 2px;color:var(--v-dim);font-size:11px}.tc-ins__t .sc-hc{font:inherit}.tc-pname{background:none;border:none;padding:0;text-align:left;color:var(--v-text);font:inherit;font-weight:600;cursor:pointer}.tc-pname:hover{color:var(--v-primary-2);text-decoration:underline}.tc-pbar{display:inline-flex;gap:2px;vertical-align:middle;margin-right:8px}.tc-pbar i{width:14px;height:6px;border-radius:3px;background:#ffffff1a}.tc-pbar i.d{background:var(--v-good)}.tc-pbar i.h{background:var(--v-mid)}.tc-more{position:relative}.tc-more>button{background:none;border:none;color:var(--v-dim);font-size:16px;cursor:pointer}.tc-menu{position:absolute;right:0;top:100%;z-index:20;width:250px;padding:6px;border:1px solid var(--v-line-strong);border-radius:12px;background:#140b28;box-shadow:0 18px 40px #0000008c}.tc-menu button{display:block;width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:8px 10px;color:var(--v-text);font:inherit;font-size:13px;cursor:pointer}.tc-menu button:hover{background:var(--v-panel-2)}.tc-menu small{display:block;color:var(--v-dim);font-size:11px;margin-top:2px}.tc-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:70;padding:10px 16px;border:1px solid var(--v-line-strong);border-radius:12px;background:#140b28;font-size:13px;box-shadow:0 18px 40px #0000008c}.tc-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:#060310b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.tc-dlg{position:relative;display:flex;flex-direction:column;width:min(680px,100%);max-height:86vh;border:1px solid var(--v-line-strong);border-radius:18px;background:#140b28;box-shadow:0 24px 60px #0009;overflow:hidden;color:var(--v-text);color-scheme:dark}.tc-dlg__head{position:relative;padding:20px 24px 14px;border-bottom:1px solid var(--v-line)}.tc-dlg__head h3{font-family:var(--v-head);font-size:17px;margin:0}.tc-dlg__head p{color:var(--v-dim);font-size:13px;margin:4px 0 0}.tc-x{position:absolute;top:16px;right:18px;border:none;background:none;color:var(--v-dim);font-size:16px;cursor:pointer}.tc-dlg__body{padding:4px 24px 18px;overflow-y:auto;overflow-x:hidden}.tc-dlg__foot{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:14px 24px;border-top:1px solid var(--v-line)}.tc-sum{margin-right:auto}.tc-label{color:var(--v-dim);font-size:11px;letter-spacing:.04em;text-transform:uppercase;margin:16px 0 8px}.tc-search{width:100%;box-sizing:border-box;border:1px solid var(--v-line);border-radius:12px;background:var(--v-panel);padding:10px 14px;color:var(--v-text);font:inherit;font-size:13px}.tc-qlist{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-height:300px;overflow-y:auto}.tc-qrow{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 12px;border:1px solid var(--v-line);border-radius:12px;background:var(--v-panel);color:var(--v-text);font:inherit;text-align:left;cursor:pointer}.tc-qrow:disabled{opacity:.5;cursor:default}.tc-qrow.is-on{border-color:var(--v-primary-2);background:#7c3aed29}.tc-qrow__name{font-weight:600;font-size:13px}.tc-warn{margin:6px 0 0;padding:9px 12px;border:1px solid rgba(251,191,36,.35);border-radius:12px;background:#fbbf2414;color:var(--v-mid);font-size:12px;line-height:1.5}.tc-roster{display:flex;flex-direction:column;gap:6px;margin-top:12px}.tc-pupil{display:grid;grid-template-columns:1fr 110px 110px;gap:12px;align-items:center;padding:8px 12px;border:1px solid var(--v-line);border-radius:12px;background:var(--v-panel);font-size:13px}.tc-pupil small{display:block;color:var(--v-dim);font-size:11px;margin-left:16px}.tc-pupil.is-off{opacity:.7}.tc-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--v-dim);margin-right:8px}.tc-dot.is-in{background:var(--v-good)}@media (max-width: 760px){.tc-asg__head{grid-template-columns:1fr 90px}.tc-asg__head>span:nth-child(2),.tc-asg__head>span:nth-child(3){display:none}.tc-insights{grid-template-columns:1fr}.tc-prow{grid-template-columns:1fr 60px 28px}.tc-prow>span:nth-child(2){grid-column:1 / -1;order:5}.tc-prow>span:nth-child(3){display:none}.tc-answer{grid-template-columns:1fr;gap:2px}.tc-pupil{grid-template-columns:1fr 90px}.tc-pupil>span:nth-child(2){display:none}}.sc{color:var(--v-text);display:block}.sc .is-good{color:var(--v-good)}.sc .is-mid{color:var(--v-mid)}.sc .is-bad{color:var(--v-bad)}.sc-dim{color:var(--v-dim);font-size:12px}.sc-r{text-align:right}.sc-h2{display:flex;align-items:baseline;gap:12px;font-family:var(--v-head);font-size:15px;margin:22px 0 10px}.sc-all{background:none;border:none;padding:0;color:var(--v-primary-2);font:inherit;font-family:var(--v-font);font-size:13px;font-weight:600;text-decoration:underline;cursor:pointer}.sc-soft{margin:8px 2px 0;color:var(--v-dim);font-size:12px;opacity:.75}.sc-tiles{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.sc-tile{position:relative;flex:1 1 150px;max-width:260px;padding:13px 15px;border:1px solid var(--v-line);border-radius:16px;background:var(--v-panel)}.sc-tile>b{display:block;font-family:var(--v-head);font-size:31px;line-height:1.1;color:#fff}.sc-tile__l{color:var(--v-dim);font-size:12px;margin-top:4px}.sc-tile__h{color:var(--v-dim);font-size:11px;opacity:.8}.sc-tile__h.is-warn{color:var(--v-mid);opacity:1;font-weight:600}.sc-goal{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;color:var(--v-dim);margin-top:9px}.sc-goal b{font-size:11px;font-weight:700}.sc-track{position:relative;height:5px;border-radius:4px;background:#ffffff14;margin-top:5px}.sc-track i{display:block;height:100%;border-radius:4px;background:var(--v-good)}.sc-track i.is-mid{background:var(--v-mid)}.sc-track i.is-bad{background:var(--v-bad)}.sc-track em{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--v-text);opacity:.55}.sc-term{display:flex;align-items:center;gap:5px;margin-top:7px;color:var(--v-dim);font-size:10px;letter-spacing:.04em;text-transform:uppercase;opacity:.55}.sc-tile.is-open .sc-term{opacity:1}.sc-goals{display:flex;gap:6px;align-items:center;margin:-6px 0 0;color:var(--v-dim);font-size:12px;opacity:.75}.sc-goals:before{content:"ⓘ";opacity:.8}.sc-i{border:none;background:none;padding:0;color:var(--v-primary-2);font:inherit;font-size:14px;line-height:1;cursor:pointer;text-transform:none}.sc-i:hover{color:#fff}.sc-tip{position:absolute;left:10px;top:100%;z-index:5;width:300px;max-width:calc(100vw - 48px);margin-top:6px;padding:12px 14px;border:1px solid var(--v-line-strong);border-radius:14px;background:#140b28;box-shadow:0 18px 40px #0000008c;color:var(--v-text);font-size:12px;line-height:1.5;text-transform:none;letter-spacing:0;cursor:default;white-space:normal;overflow-wrap:break-word;text-align:left}.sc-tip.is-right{left:auto;right:10px}.sc-tip dl{margin:0}.sc-tip dt{color:var(--v-dim);font-size:10px;letter-spacing:.04em;text-transform:uppercase;margin-top:8px}.sc-tip dt:first-child{margin-top:0}.sc-tip dd{margin:2px 0 0}.sc-crow{position:relative;display:grid;grid-template-columns:64px 1.3fr 1.2fr 1.4fr 70px 20px;gap:14px;align-items:center;padding:9px 14px;margin-bottom:6px;border:1px solid var(--v-line);border-radius:12px;background:var(--v-panel);font-size:13px;cursor:pointer}.sc-crow:hover{border-color:var(--v-line-strong)}.sc-crow.is-head{background:none;border-color:transparent;padding-top:0;padding-bottom:2px;margin-bottom:0;cursor:default;color:var(--v-dim);font-size:10px;letter-spacing:.04em;text-transform:uppercase;opacity:.7}.sc-cn{font-family:var(--v-head);font-size:15px;color:#fff}.sc-why{font-weight:600}.sc-pct{font-family:var(--v-head);font-size:16px;text-align:right}@media (max-width: 760px){.sc-crow{grid-template-columns:52px 1fr 60px 20px}.sc-crow>span:nth-child(3),.sc-crow>span:nth-child(4){display:none}}.sc-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;margin-bottom:6px;border:1px solid var(--v-line);border-radius:12px;background:var(--v-panel);font-size:13px}.sc-row b{font-weight:600}.sc-when{font-size:12px;white-space:nowrap}.sc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.sc-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.sc-chip{border:1px solid var(--v-line);border-radius:999px;padding:7px 14px;background:var(--v-panel);color:var(--v-text);font:inherit;font-size:13px;cursor:pointer}.sc-chip.is-on{background:var(--v-primary);border-color:transparent;font-weight:700}.sc-chip.is-attn b{color:var(--v-mid);margin-left:4px}.sc-chip.is-attn.is-on b{color:#fff}.sc-grades{display:flex;gap:6px;flex-wrap:wrap}.sc .sc-find{width:280px;margin-left:auto;padding:8px 14px}.sc-trow{display:grid;grid-template-columns:130px minmax(180px,1fr) 190px 130px 150px;gap:16px;align-items:center;width:100%;padding:12px 16px;border:none;background:none;color:inherit;font:inherit;font-size:13px;text-align:left;cursor:pointer}.sc-trow.is-head{padding:4px 16px;color:var(--v-dim);font-size:12px;cursor:default}.sc-tbox{border:1px solid var(--v-line);border-radius:14px;background:var(--v-panel);margin-bottom:8px}.sc-tbox:hover,.sc-tbox.is-open{border-color:var(--v-line-strong)}.sc-cls{font-family:var(--v-head);font-size:15px}.sc-cls small{display:block;margin:2px 0 0 14px;font-family:var(--v-font);font-size:12px;color:var(--v-dim)}.sc-chev{display:inline-block;width:14px;color:var(--v-primary-2);font-size:11px}.sc-teacher{display:block}.sc-vs{color:var(--v-dim)}.sc-trow:not(.is-head)>span:nth-child(4){font-size:14px;font-weight:600}.sc-trow .sc-why{font-size:12px}.sc-tpanel{padding:4px 16px 16px;border-top:1px solid var(--v-line);background:#7c3aed0d;border-radius:0 0 14px 14px}@media (max-width: 860px){.sc-trow{grid-template-columns:90px 1fr 110px}.sc-trow>span:nth-child(2),.sc-trow>span:nth-child(4){display:none}}.sc-letter{width:90px;padding:7px 12px}.sc-pair{display:flex;gap:8px}.sc-pair select{flex:1}.sc-names{resize:vertical;font-family:var(--v-font)}.sc-bar--gap .tc-btn{margin-left:0}.sc-trow--t{grid-template-columns:minmax(200px,1.2fr) minmax(160px,1fr) 190px 130px 36px}.sc-tbox.is-off{opacity:.75}.sc-who{font-weight:600;font-size:14px}.sc-who small{display:block;margin-top:2px;font-weight:400;font-size:12px;color:var(--v-dim)}.sc-pill{display:inline-block;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;background:#4ade801f;color:var(--v-good)}.sc-pill.is-warn{background:#fbbf2424;color:var(--v-mid)}.sc-pill.is-bad{background:#fb718524;color:var(--v-bad)}.sc-more{position:relative;justify-self:end}.sc-more__btn{width:30px;height:30px;border:1px solid transparent;border-radius:10px;background:none;color:var(--v-dim);font-size:18px;line-height:1;cursor:pointer}.sc-more__btn:hover,.sc-more.is-open .sc-more__btn{border-color:var(--v-line);background:var(--v-panel-2);color:var(--v-text)}.sc-more__menu{position:absolute;right:0;top:calc(100% + 6px);z-index:10;display:flex;flex-direction:column;min-width:220px;padding:6px;border:1px solid var(--v-line-strong);border-radius:12px;background:#140b28;box-shadow:0 18px 40px #0000008c}.sc-more__menu button{padding:8px 10px;border:none;border-radius:8px;background:none;color:var(--v-text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.sc-more__menu button:hover:not(:disabled){background:var(--v-panel-2)}.sc-more__menu button:disabled{color:var(--v-dim);cursor:default}.sc-h3{font-family:var(--v-head);font-size:14px;margin:10px 0}.sc-mini{display:grid;grid-template-columns:70px 110px 190px;gap:16px;align-items:center;padding:6px 0}.sc-pass{margin:6px 0 12px;padding:14px;border:1px solid var(--v-line-strong);border-radius:12px;background:var(--v-panel-2);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:22px;letter-spacing:.08em;text-align:center;-webkit-user-select:all;user-select:all}.sc-list{margin:4px 0;padding-left:18px;color:var(--v-text);font-size:13px;line-height:1.7}@media (max-width: 860px){.sc-trow--t{grid-template-columns:1fr 110px 36px}.sc-trow--t>span:nth-child(2),.sc-trow--t>span:nth-child(3){display:none}}.sc .tc-lead{margin-bottom:14px}.sc-trow--t:not(.is-head)>span:nth-child(4){font-size:13px;font-weight:400}.sc-hc{position:relative;display:inline-flex;align-items:center;gap:5px}.sc-hc .sc-i{font-size:12px}.sc-hc .sc-tip{display:none;left:0;font-weight:400}.sc-hc .sc-tip.is-right{left:auto;right:0}.sc-hc.is-open .sc-tip{display:block}@media (hover: hover){.sc-hc:hover .sc-tip{display:block}}.sc-trend{font-size:11px;font-weight:700;margin-top:3px}.sc-trend.is-good{color:var(--v-good)}.sc-trend.is-bad{color:var(--v-bad)}.sc-trend.is-flat{color:var(--v-dim);font-weight:600}.sc-tile>b.is-good{color:var(--v-good)}.dash{display:flex;flex-direction:column;gap:14px;padding:16px}.dash-school{display:flex;gap:14px;flex-wrap:wrap}.dash-stat{display:flex;flex-direction:column;gap:2px;min-width:120px;padding:12px 16px;border:1.5px solid var(--c-line);border-radius:var(--radius);background:var(--c-cream)}.dash-stat__value{font-family:var(--font-head);font-size:24px;color:var(--c-wood)}.dash-stat__label{font-size:12px;color:var(--c-ink-soft)}.dash-stat__hint{font-size:11px;color:var(--c-ink-soft)}.dash-classes{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.dash-class{display:grid;grid-template-columns:1fr auto;gap:4px 10px;text-align:left;cursor:pointer;padding:12px 14px;border:1.5px solid var(--c-line);border-radius:var(--radius);background:var(--c-cream);font:inherit;color:inherit}.dash-class:hover{border-color:var(--c-wood)}.dash-class.is-open{border-color:var(--c-wood);box-shadow:var(--shadow-md)}.dash-class__name{font-weight:700}.dash-class__rate{font-family:var(--font-head);font-size:18px}.dash-class__meta{grid-column:1 / -1;font-size:12px;color:var(--c-ink-soft)}.is-good{color:#15803d}.is-mid{color:#b45309}.is-bad{color:#be123c}.dash-assignments{display:flex;flex-direction:column;gap:8px}.dash-assignment{border:1.5px solid var(--c-line);border-radius:var(--radius);background:var(--c-cream)}.dash-assignment__head{width:100%;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border:none;background:none;font:inherit;color:inherit;cursor:pointer;text-align:left}.dash-assignment__title{font-weight:700;flex:1 1 160px}.dash-assignment__rate{font-weight:700}.dash-assignment__due{font-size:12px;color:var(--c-ink-soft)}.dash-assignment__due.is-overdue{color:#be123c;font-weight:700}.dash-quest{padding:0 14px 12px;display:flex;flex-direction:column;gap:10px}.dash-students{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.dash-student{display:grid;grid-template-columns:minmax(120px,1fr) 90px auto;gap:10px;align-items:center;font-size:13px}.dash-student__bar{display:block;height:8px;border-radius:4px;background:#00000014;overflow:hidden}.dash-student__fill{display:block;height:100%;background:var(--c-wood)}.dash-student__state{color:var(--c-ink-soft);font-size:12px}.dash-topics h4{margin:0 0 4px;font-size:14px}.dash-topics ul{margin:0;padding-left:18px;font-size:13px}.dash-topic__rate{font-weight:700}.dash-myquests{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.dash-myquest{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 14px;border:1.5px solid var(--c-line);border-radius:var(--radius);background:var(--c-cream)}.dash-myquest.is-done{border-color:var(--c-wood)}.dash-myquest__title{font-weight:700}.dash-myquest__score{font-family:var(--font-head);font-size:18px}.dash-myquest__meta{grid-column:1 / -1;font-size:12px;color:var(--c-ink-soft)}.dash-join{display:flex;flex-direction:column;gap:10px;padding:16px;max-width:520px}.dash-join__row{display:flex;gap:8px}.dash-join__row .qb-input{flex:1;text-transform:uppercase}.dash-join__names{display:flex;flex-wrap:wrap;gap:8px}@media (max-width: 560px){.dash-student{grid-template-columns:1fr auto}.dash-student__bar{grid-column:1 / -1}}.dash-student__name{border:none;background:none;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}.dash-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:#140c048c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dash-card{position:relative;width:min(560px,100%);max-height:86vh;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:22px 24px;border-radius:18px;border:1px solid var(--c-line, rgba(0, 0, 0, .12));background:var(--c-paper, #fdf6e3);box-shadow:0 18px 50px #00000047}.dash-card__close{position:absolute;top:14px;right:16px;border:none;background:none;font-size:16px;line-height:1;cursor:pointer;color:inherit}.dash-card{gap:20px}.dash-card__head{padding-right:24px}.dash-card__name{margin:0;font-size:20px}.dash-card__sub{margin:4px 0 0;font-size:13px;color:var(--c-ink-soft)}.dash-card__block{display:flex;flex-direction:column;gap:8px}.dash-card__block h4{margin:0;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--c-accent, #b45309)}.dash-card__block ul{margin:0;padding-left:20px;font-size:15px;line-height:1.6}.dash-card__block li::marker{color:var(--c-accent, #b45309)}.dash-card__key{color:var(--c-accent, #b45309);font-weight:800}.dash-card__dim,.dash-card__note{color:var(--c-ink-soft)}.dash-card .is-good{color:#15803d}.dash-card .is-mid{color:#b45309}.dash-card .is-bad{color:#be123c}.dash-card__login{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--c-line, rgba(0, 0, 0, .12));font-size:13px;color:var(--c-ink-soft)}.dash-card__login b{color:var(--c-ink, inherit)}.dash-card__actions{display:flex;gap:6px;flex-wrap:wrap}.dash-card__chip{border:1px solid var(--c-line, rgba(0, 0, 0, .15));border-radius:999px;padding:6px 12px;background:none;font:inherit;font-size:12px;color:inherit;cursor:pointer}.dash-card__mini{margin-left:6px;border:none;background:none;padding:0;font:inherit;font-size:12px;color:inherit;cursor:pointer;text-decoration:underline}.dash-page .app-impersonation{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:-22px -22px 18px;padding:8px 16px;background:#b45309;color:#fff;font-size:13px;font-weight:600}.dash-page .app-impersonation button{border:1px solid rgba(255,255,255,.6);border-radius:10px;padding:4px 12px;background:transparent;color:#fff;font:inherit;font-weight:700;cursor:pointer}.dash-mytopics{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}.dash-mytopics__row{display:flex;gap:8px;align-items:baseline;margin:0;font-size:14px}.dash-mytopics__mark{font-weight:700}.dash-mytopics__mark.is-mid{color:#b45309}.dash-mytopics__mark.is-good{color:#15803d}.dash-page{--v-bg: #0b0616;--v-panel: rgba(255, 255, 255, .035);--v-panel-2: rgba(255, 255, 255, .06);--v-line: rgba(168, 85, 247, .18);--v-line-strong: rgba(168, 85, 247, .45);--v-primary: #7c3aed;--v-primary-2: #a855f7;--v-text: #ede9fe;--v-dim: #a396c9;--v-good: #4ade80;--v-mid: #fbbf24;--v-bad: #fb7185;--v-font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--v-head: "Unbounded", "Inter", system-ui, sans-serif;min-height:100vh;padding:22px;background:radial-gradient(900px 500px at 15% -10%,rgba(124,58,237,.22),transparent 60%),radial-gradient(700px 420px at 95% 0%,rgba(168,85,247,.14),transparent 55%),var(--v-bg);color:var(--v-text);font-family:var(--v-font)}.dash-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 18px;margin-bottom:18px;border:1px solid var(--v-line);border-radius:16px;background:#0d0820d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dash-top__name{font-family:var(--v-head);font-weight:700;font-size:17px;color:#fff}.dash-top__name em{font-style:normal;color:var(--v-primary-2)}.dash-top__sub{color:var(--v-dim);font-size:13px}.dash-nav{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}.dash-nav__tab{border:1px solid transparent;border-radius:12px;padding:8px 14px;background:var(--v-panel);color:var(--v-text);font:inherit;font-weight:600;font-size:13px;cursor:pointer}.dash-nav__tab:hover{background:var(--v-panel-2)}.dash-nav__tab.is-active{background:var(--v-primary);box-shadow:0 6px 20px #7c3aed59}.dash-top__user{color:var(--v-dim);font-size:13px}.dash-page .dash-stat{border:1px solid var(--v-line);background:var(--v-panel);border-radius:16px}.dash-page .dash-stat__value{font-family:var(--v-head);color:var(--v-primary-2)}.dash-page .dash-stat__label,.dash-page .dash-stat__hint{color:var(--v-dim)}.dash-page .dash-class{border:1px solid var(--v-line);background:var(--v-panel);border-radius:16px;color:var(--v-text);transition:border-color .15s,background .15s}.dash-page .dash-class:hover{border-color:var(--v-line-strong);background:var(--v-panel-2)}.dash-page .dash-class.is-open{border-color:var(--v-primary-2);background:#7c3aed24;box-shadow:none}.dash-page .dash-class__name{font-family:var(--v-head);font-size:14px}.dash-page .dash-class__rate{font-family:var(--v-head)}.dash-page .dash-class__meta{color:var(--v-dim)}.dash-page .is-good{color:var(--v-good)}.dash-page .is-mid{color:var(--v-mid)}.dash-page .is-bad{color:var(--v-bad)}.dash-page .dash-assignment{border:1px solid var(--v-line);background:var(--v-panel);border-radius:16px}.dash-page .dash-assignment__title{font-family:var(--v-head);font-size:14px}.dash-page .dash-assignment__due{color:var(--v-dim)}.dash-page .dash-assignment__due.is-overdue{color:var(--v-bad)}.dash-page .dash-student__bar{background:#ffffff14}.dash-page .dash-student__fill{background:var(--v-primary)}.dash-page .dash-student__state{color:var(--v-dim)}.dash-page .dash-topics h4{font-family:var(--v-head)}.dash-page .qb-hint{color:var(--v-dim);font-size:13px}.dash-page .dash-student__name{color:var(--v-text)}.dash-page .dash-modal{background:#060310b8}.dash-page .dash-card{border:1px solid var(--v-line-strong);background:#140b28;color:var(--v-text);color-scheme:dark;box-shadow:0 24px 60px #0009,0 0 0 1px #a855f71f}.dash-page .dash-card__name{font-family:var(--v-head);font-size:17px;color:var(--v-text)}.dash-page .dash-card__sub{color:var(--v-dim)}.dash-page .dash-card__block h4{font-family:var(--v-head);font-weight:700;color:var(--v-primary-2);text-shadow:0 0 14px rgba(168,85,247,.45)}.dash-page .dash-card__block li::marker,.dash-page .dash-card__key{color:var(--v-primary-2)}.dash-page .dash-card__dim,.dash-page .dash-card__note,.dash-page .dash-card__login{color:var(--v-dim)}.dash-page .dash-card__login{border-top-color:var(--v-line)}.dash-page .dash-card__login b{color:var(--v-text)}.dash-page .dash-card .is-good{color:var(--v-good)}.dash-page .dash-card .is-mid{color:var(--v-mid)}.dash-page .dash-card .is-bad{color:var(--v-bad)}.dash-page .dash-card__chip{border-color:var(--v-line);background:var(--v-panel);color:var(--v-text)}.dash-page .dash-card__close{color:var(--v-dim)}.dash-page .dash-card__close:hover{color:var(--v-text)}.dash-page .dash-card__mini{color:var(--v-primary-2)}.dash-page .dash-staff h4{font-family:var(--v-head)}.dash-page .dash-staff__pass code{color:var(--v-primary-2)}.dash-page .dash-mytopics__mark.is-mid{color:var(--v-mid)}.dash-page .dash-mytopics__mark.is-good{color:var(--v-good)}
