.ob{--ob-card:#171717;--ob-line:#262626;--ob-tile:#141414;--ob-dim:#8a8a8a;--ob-ok:#6fcf97;--ob-ok-mid:#8fb8a0;--ob-ok-bg:#16221a;--ob-ok-line:#24402f;--ob-ok-pill:#1f3a2a;--ob-prog:#F5A16A;--ob-prog-text:#F5A16A;--ob-prog-fill:#271c15;--ob-prog-edge:#4c3222;--ob-prog-quiet:#7d563d;--ob-us:color-mix(in oklch,var(--ob-prog) 70%,var(--ob-prog-edge));--ob-us-text:var(--ob-prog);--ob-off-bg:#181818;--ob-off-line:#2a2a2a;--ob-off-ring:#444;--ob-unknown-ring:#555;display:flex;flex-direction:column;gap:var(--space-4)}.ob-head{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.ob-head h1{margin:0;font-size:var(--type-2xl);font-weight:600;letter-spacing:-.02em}.ob-head span{font-size:12px;color:var(--ob-dim)}.ob-dot{width:9px;height:9px;border-radius:50%;flex:none;display:inline-block}.ob-dot.graduated{background:#d9d9d9}.ob-dot.none{background:var(--warn-text)}.ob-dot.this{background:var(--ob-ok)}.ob-dot.next{background:var(--accent-text)}.ob-dot.class-purple{background:#a47ef0}.ob-dot.class-blue{background:#5a9cf0}.ob-dot.class-orange{background:#ee8a3c}.ob-classhead{display:flex;align-items:center;gap:7px;margin:4px 2px 10px;font-size:13px;font-weight:700;color:var(--text-1)}.ob-classhead span{font-weight:600;color:var(--ob-dim)}.ob-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:var(--space-2);align-items:center}@media (max-width:559px){.ob-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.ob-gradbtn{grid-column:1/-1;justify-self:end}}.ob-tiles>.ob-count{align-self:stretch}.ob-gradbtn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ob-dim);text-decoration:none;background:var(--ob-card);border:1px solid var(--ob-line);border-radius:999px;padding:5px 11px;white-space:nowrap;transition:border-color var(--motion-snappy),color var(--motion-snappy)}.ob-gradbtn b{font-weight:600;color:var(--text-1);font-variant-numeric:tabular-nums}.ob-gradbtn:hover{border-color:#3a3a3a;color:var(--text-1)}.ob-gradbtn.on{border-color:#4a4a4a;box-shadow:inset 0 0 0 1px #4a4a4a;background:#1c1c1c;color:var(--text-1)}.ob-classes{display:flex;flex-wrap:wrap;gap:6px;margin-top:calc(var(--space-2) * -1)}.ob-classchip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ob-dim);text-decoration:none;background:var(--ob-card);border:1px solid var(--ob-line);border-radius:999px;padding:5px 11px;white-space:nowrap}.ob-classchip b{font-weight:600;color:var(--text-1);font-variant-numeric:tabular-nums}.ob-classchip:hover{border-color:#3a3a3a;color:var(--text-1)}.ob-classchip.on{border-color:#4a4a4a;box-shadow:inset 0 0 0 1px #4a4a4a;background:#1c1c1c;color:var(--text-1)}.ob-count{background:var(--ob-card);border:1px solid var(--ob-line);border-radius:14px;padding:14px 16px;flex-direction:column;gap:2px;text-decoration:none;color:inherit}.ob-count,.ob-counthead{display:flex;min-width:0}.ob-counthead{align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--ob-dim);flex-wrap:wrap;row-gap:2px}.ob-count b{font-size:28px;font-weight:600;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ob-count .ob-sub{font-size:12px;color:var(--ob-dim);line-height:1.3;overflow-wrap:anywhere}@media (max-width:559px){.ob-count{padding:12px 10px}.ob-counthead{display:block;letter-spacing:.02em}.ob-counthead .ob-dot{vertical-align:0;margin-right:5px}.ob-count b{font-size:24px}.ob-count .ob-sub{font-size:11px}}.ob-count{cursor:pointer;transition:border-color var(--motion-snappy)}.ob-count:hover{border-color:#3a3a3a}.ob-count.on{border-color:#4a4a4a;box-shadow:inset 0 0 0 1px #4a4a4a;background:#1c1c1c}.ob-list{display:flex;flex-direction:column;gap:var(--space-5)}.ob-group>header{display:flex;align-items:center;gap:var(--space-2);padding:0 2px var(--space-2)}.ob-group>header h2{margin:0;font-size:15px;font-weight:600;letter-spacing:-.01em}.ob-gcount{margin-left:auto;flex:none;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ob-dim);background:#1f1f1f;border-radius:8px;padding:2px 8px}.ob-empty{font-size:13px;color:var(--ob-dim);margin:0 0 var(--space-2)}.ob-card{background:var(--ob-card);border-left:1px solid var(--ob-line);border:1px solid var(--ob-line);border-left-width:4px;border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:14px}.ob-card+.ob-card{margin-top:10px}.ob-card.g-graduated{border-left-color:#d9d9d9}.ob-card.g-none{border-left-color:var(--warn-text)}.ob-card.g-this{border-left-color:var(--ob-ok)}.ob-card.g-next{border-left-color:var(--accent-text)}.ob-card.g-class-purple{border-left-color:#a47ef0}.ob-card.g-class-blue{border-left-color:#5a9cf0}.ob-card.g-class-orange{border-left-color:#ee8a3c}.ob-cardhead{display:flex;align-items:flex-end;justify-content:space-between;gap:10px 16px;flex-wrap:wrap}.ob-who{min-width:0;flex:1 1 auto}.ob-who b{display:block;font-size:18px;font-weight:600;letter-spacing:-.01em}.ob-who span{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--ob-dim);margin-top:2px}.ob-who span i{font-style:normal}.ob-pct{flex:none;display:flex;align-items:baseline;gap:7px}.ob-pct b{font-size:28px;font-weight:600;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ob-pct span{font-size:12px;color:var(--ob-dim)}.ob-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start}@media (min-width:560px){.ob-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ob-col{display:contents}.ob-o1{order:1}.ob-o2{order:2}.ob-o3{order:3}.ob-o4{order:4}.ob-o5{order:5}.ob-o6{order:6}.ob-tile{position:relative;background:var(--ob-tile);border:1px solid var(--ob-line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.ob-tbar{display:block;height:6px;background:var(--ob-line);flex:none}.ob-tbar>i{display:block;height:100%;background:var(--ob-prog);transition:width var(--motion-standard)}.ob-tile.prog .ob-tbar{background:var(--ob-prog-edge)}.ob-tile.done .ob-tbar>i{background:var(--ob-ok)}.ob-tile>header{display:flex;align-items:baseline;gap:var(--space-2);padding:12px 14px 0;min-width:0}.ob-tlab{font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--ob-dim);text-transform:uppercase;min-width:0;overflow-wrap:anywhere}.ob-tcount{margin-left:auto;flex:none;font-size:13px;font-weight:600;color:var(--text-1);font-variant-numeric:tabular-nums}.ob-tile.done .ob-tcount{color:var(--ob-ok)}.ob-tile.prog .ob-tcount{color:var(--ob-prog-text)}.ob-tbody{gap:8px;padding:10px 14px 14px}.ob-rows,.ob-tbody{display:flex;flex-direction:column}.ob-rows{gap:6px}.ob-rows>*{flex:none}.ob-item{display:flex;align-items:center;gap:10px;border-radius:8px;padding:8px 12px;border:1px solid var(--ob-off-line);background:var(--ob-off-bg);min-width:0;flex-wrap:wrap}.ob-rows>.ob-item{align-content:center}.ob-itext{flex:1 1 auto;min-width:96px}.ob-ititle{font-size:14px;font-weight:600;color:var(--text-1);line-height:1.25}.ob-isub,.ob-ititle{display:block;overflow-wrap:anywhere}.ob-isub{font-size:12px;color:var(--ob-dim);line-height:1.3}.ob-sugname{font-weight:600;color:var(--text-1);margin-right:6px}.ob-isub .ob-basis{display:inline-block;vertical-align:1px}.ob-weekdays{display:block}.ob-item.ob-weekitem{column-gap:10px;row-gap:4px}.ob-weekitem .ob-itext{display:contents}.ob-weekitem .ob-circ{order:1}.ob-weekitem .ob-ititle{order:2;flex:1 1 auto;overflow-wrap:normal}.ob-weekitem .ob-ctl{order:3;flex:none}.ob-weekitem .ob-isub{order:4;flex:1 0 100%;padding-left:30px}.ob-circ{flex:none;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;font-style:normal;line-height:1;background:transparent;border:2px solid var(--ob-off-ring);color:transparent}.ob-item.done{background:var(--ob-ok-bg);border-color:var(--ob-ok-line)}.ob-item.done .ob-circ{background:var(--ob-ok);border-color:var(--ob-ok);color:#0d1a12}.ob-item.us{background:var(--ob-off-bg);border-color:var(--ob-us)}.ob-item.us .ob-isub{color:var(--ob-us-text)}.ob-alert{flex:none;width:18px;height:18px;color:var(--ob-prog)}.ob-item.off .ob-circ{border-color:var(--ob-off-ring)}.ob-item.unknown .ob-circ{border-color:var(--ob-unknown-ring);color:var(--ob-unknown-ring)}.ob-ctl{flex:0 1 auto;align-items:center;gap:6px;min-width:0;margin-left:auto}.ob-chips,.ob-ctl{display:flex;flex-wrap:wrap;justify-content:flex-end}.ob-chips{gap:5px}.ob-item .ob-chips{flex-wrap:nowrap}@media (max-width:559px){.ob-item .ob-chips{flex-wrap:wrap}}.ob-chips i{font-style:normal;font-size:11px;font-weight:600;padding:3px 7px;border-radius:10px;background:#242424;color:#7a7a7a;border:0}.ob-chips i.on{background:var(--ob-ok-pill);color:var(--ob-ok)}.ob-logins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ob-logins .ob-item{padding:8px 10px;gap:8px}.ob-logins .ob-itext{min-width:0}.ob-logins .ob-ititle{font-size:13px}.ob-logins .ob-isub{font-size:11px}.ob-cert{display:flex;flex-direction:column;gap:7px;background:var(--ob-off-bg);border:1px solid var(--ob-off-line);border-radius:8px;padding:9px 12px 10px}.ob-certline{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ob-certname{font-size:14px;font-weight:600;color:var(--text-1)}.ob-certval{font-size:13px;font-weight:600;color:var(--ob-dim);text-align:right;overflow-wrap:anywhere}.ob-certval.on{color:var(--ob-ok)}.ob-certbar{height:10px;background:var(--ob-line);overflow:hidden}.ob-certbar,.ob-certbar>i{display:block;border-radius:5px}.ob-certbar>i{height:100%;background:var(--ob-prog)}.ob-cert:has(.ob-certval.prog) .ob-certbar{background:var(--ob-prog-edge)}.ob-cert:has(.ob-certval.prog) .ob-minorbar{background:var(--ob-prog-fill)}.ob-certbar.on>i{background:var(--ob-ok)}.ob-certval.prog{color:var(--ob-prog-text)}.ob-certval small{font-size:12px;font-weight:500;color:var(--ob-dim)}.ob-minor{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:1px}.ob-minor span{font-size:11px;color:var(--ob-dim);font-variant-numeric:tabular-nums;white-space:nowrap}.ob-minorbar{display:block;height:3px;border-radius:2px;background:var(--ob-line);overflow:hidden}.ob-minorbar>i{display:block;height:100%;background:var(--ob-prog-quiet)}.ob-minor.on .ob-minorbar>i{background:#3f6b52}.ob-note{font-size:11px;color:var(--ob-dim);line-height:1.35}.ob-fiberu .ob-tbody{line-height:normal}.ob-fiberu .ob-asof{margin-top:0}.ob-terros{display:flex;flex-direction:column;gap:10px}.ob-big{align-items:baseline;gap:8px}.ob-big,.ob-terrosrow{display:flex;min-width:0}.ob-terrosrow{align-items:center;justify-content:space-between;gap:10px}.ob-terrosrow .ob-big b{line-height:1.1}.ob-stepper{gap:6px}.ob-step,.ob-stepper{display:inline-flex;flex:none}.ob-step{width:34px;height:34px;border-radius:10px;align-items:center;justify-content:center;background:#242424;border:1px solid var(--ob-line);color:var(--text-1);font:inherit;font-size:18px;font-weight:600;line-height:1;cursor:pointer}.ob-step:hover:not(:disabled){border-color:var(--ob-ok-mid)}.ob-step:focus-visible{outline:2px solid var(--ob-ok-mid);outline-offset:2px}.ob-step:disabled{opacity:.35;cursor:default}.ob-big b{font-size:56px;font-weight:600;line-height:.95;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.ob-big span{font-size:18px;color:var(--ob-dim)}.ob-thick{height:14px;background:var(--ob-line);overflow:hidden}.ob-thick,.ob-thick>i{display:block;border-radius:7px}.ob-thick>i{height:100%;background:var(--ob-prog)}.ob-tile.done .ob-thick>i{background:var(--ob-ok)}.ob-tile.prog .ob-thick{background:var(--ob-prog-edge)}.ob-tnote{font-size:12px;color:var(--ob-dim);line-height:1.3}.ob-tnote.ob-saveerr{color:var(--warn-text)}.ob-asof{font-size:11px}.ob-calls{display:flex;flex-direction:column;gap:8px}.ob-days{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;min-height:62px}.ob-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #333;background:var(--ob-off-bg);border-radius:8px;color:var(--text-1);min-width:0}.ob-day b{font-size:15px;font-weight:600;line-height:1}.ob-day .ob-circ{width:20px;height:20px;border-width:2px}.ob-day span{font-size:11px;color:#7a7a7a;font-variant-numeric:tabular-nums}.ob-day.on{background:var(--ob-ok-bg);border-color:var(--ob-ok-line)}.ob-day.on .ob-circ{background:var(--ob-ok);border-color:var(--ob-ok);color:#0d1a12}.ob-vids{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ob-vid{display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid #333;background:var(--ob-off-bg);border-radius:8px;padding:9px 6px;min-width:0;text-align:center}.ob-vid b{font-size:13px;font-weight:600;line-height:1.1;color:var(--text-1)}.ob-vid span{font-size:11px;color:var(--ob-dim);line-height:1.2;overflow-wrap:anywhere}.ob-vid.on{background:var(--ob-ok-bg);border-color:var(--ob-ok-line)}.ob-vid.on .ob-circ{background:var(--ob-ok);border-color:var(--ob-ok);color:#0d1a12}button.ob-day{font:inherit;cursor:pointer;padding:0}button.ob-day:disabled{cursor:progress}.ob-day.tappable:hover{border-color:var(--ob-ok-mid)}.ob-day.tappable:focus-visible{outline:2px solid var(--ob-ok-mid);outline-offset:2px}.ob-matchrow{min-width:0;justify-content:flex-end}.ob-matchacts,.ob-matchrow{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ob-matchwhy{font-size:11px;color:var(--ob-dim)}.ob-suggest{display:flex;align-items:baseline;gap:5px;min-width:0;flex-wrap:wrap;justify-content:flex-end}.ob-suggest b{font-size:13px;font-weight:600;color:var(--text-1);overflow-wrap:anywhere}.ob-basis{flex:none;font-size:10px;font-weight:600;letter-spacing:.04em;padding:3px 7px;border-radius:10px;background:#242424;color:#7a7a7a;border:0}.ob-basis.strong{background:var(--ob-ok-pill);color:var(--ob-ok)}.ob-menu{position:relative;display:inline-flex}.ob-menubtn{background:none;border:0;cursor:pointer;color:var(--ob-dim);font-size:16px;line-height:1;padding:2px 6px;border-radius:6px}.ob-menubtn:hover,.ob-menubtn[aria-expanded=true]{background:#242424;color:var(--text-1)}.ob-menulist{position:absolute;z-index:20;top:calc(100% + 4px);right:0;min-width:108px;display:flex;flex-direction:column;background:#1f1f1f;border:1px solid var(--ob-line);border-radius:8px;padding:4px;box-shadow:0 6px 18px rgba(0,0,0,.5)}.ob-menulist button{background:none;border:0;cursor:pointer;text-align:left;font:inherit;font-size:12px;color:var(--text-1);padding:6px 8px;border-radius:6px}.ob-menulist button:hover{background:#2a2a2a}.ob-linkbtn{background:none;border:0;padding:2px 0;font:inherit;font-size:11px;color:var(--ob-dim);text-decoration:underline;cursor:pointer}.ob-linkbtn:hover{color:var(--text-1)}.ob-note-inline{font-size:11px;color:var(--ob-ok);text-align:right}.ob-picker{display:flex;flex-direction:column;gap:5px;width:100%;min-width:0;margin-top:6px}.ob-pickerfind{width:100%;background:#0f0f0f;border:1px solid var(--ob-line);border-radius:8px;color:var(--text-1);font:inherit;font-size:12px;padding:5px 10px}.ob-pickerfind:focus{outline:none;border-color:var(--ob-ok-mid)}.ob-pickerlist{display:flex;flex-direction:column;gap:4px;max-height:140px;overflow-y:auto}.ob-pickerlist .rx-btn{width:100%;justify-content:flex-start;font-size:12px;padding:4px 10px}.ob-pickernone{margin:0;font-size:11px;color:var(--ob-dim)}.ob-matchrow .rx-btn{padding:3px 9px;font-size:11px;border-radius:8px}.ob-weekctl{display:inline-flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:0;max-width:100%}.ob-weeksel{appearance:none;-webkit-appearance:none;font:inherit;font-size:11px;font-weight:600;color:var(--text-1);background-color:#242424;background-image:linear-gradient(45deg,transparent 50%,var(--ob-dim) 50%),linear-gradient(135deg,var(--ob-dim) 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 8px) 50%;background-size:4px 4px,4px 4px;background-repeat:no-repeat;border:1px solid var(--ob-line);border-radius:8px;padding:4px 22px 4px 9px;max-width:100%;cursor:pointer}.ob-weeksel:hover{border-color:#3a3a3a}.ob-weeksel:focus-visible{outline:2px solid var(--ob-ok-mid);outline-offset:2px}.ob-weeksel:disabled{cursor:progress;opacity:.6}.ob-weekerr{font-size:11px;color:var(--warn-text);text-align:right;overflow-wrap:anywhere}.ob-removeconfirm{display:flex;flex-direction:column;align-items:flex-end;gap:6px;max-width:240px}.ob-removeq{font-size:11px;line-height:1.4;color:var(--text-1);text-align:right;overflow-wrap:anywhere}.ob-removebtns{display:inline-flex;gap:6px}.ob-removeno,.ob-removeyes{font:inherit;font-size:11px;font-weight:600;border-radius:8px;padding:4px 10px;cursor:pointer;border:1px solid var(--ob-line);background:#242424;color:var(--text-1)}.ob-removeyes{border-color:var(--warn-text);color:var(--warn-text)}.ob-removeno:disabled,.ob-removeyes:disabled{cursor:progress;opacity:.6}.ob-removeno:focus-visible,.ob-removeyes:focus-visible{outline:2px solid var(--ob-ok-mid);outline-offset:2px}.ob-notice{background:var(--ob-tile);border:1px solid var(--ob-line);border-radius:12px;padding:12px 16px;font-size:12px;color:var(--ob-dim);line-height:1.5}.ob-notice b{color:var(--text-1);font-weight:600}@media (min-width:900px){.ob-tiles{gap:12px}.ob-count b{font-size:34px}.ob-card{padding:18px 20px}.ob-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ob-col{display:flex;flex-direction:column;gap:10px;min-width:0}.ob-day .ob-circ{width:22px;height:22px}}@media (min-width:1400px){.ob-card{padding:20px 22px}}