:root{--color-bg:#161826;--color-surface:#232532;--color-text:#e9e9ed;--color-accent:#9184d9;--color-divider:#e9e9ed29;--color-accent-100:#f5f4ff;--color-accent-200:#e7e5fe;--color-accent-300:#d2cefd;--color-accent-400:#b5abfc;--color-accent-500:#968ae0;--color-accent-600:#796cbf;--color-accent-700:#5d5294;--color-accent-800:#423a6a;--color-accent-900:#2b2741;--color-neutral-100:#f3f5fe;--color-neutral-200:#e4e7f5;--color-neutral-300:#cfd3e5;--color-neutral-400:#b2b6ca;--color-neutral-500:#9397ab;--color-neutral-600:#75798c;--color-neutral-700:#595d6c;--color-neutral-800:#3f424d;--color-neutral-900:#292b31;--color-ready:#7fd6c4;--color-warning:#f2c46b;--color-danger:#f08a6c;--color-info:#8fb8f5;--font-display:"Archivo", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--space-1:2.8px;--space-2:5.6px;--space-3:8.4px;--space-4:11.2px;--space-6:16.8px;--space-8:22.4px;--radius-tag:4px;--radius-control:8px;--radius-card:14px;--radius-pill:20px;--shadow-sm:0 0 0 1px #3f424d;--shadow-md:0 0 0 1px #595d6c, 0 6px 18px #0000008c;--shadow-lg:0 0 0 1px #9397ab, 0 16px 40px #000000a6;--glow-dawn:radial-gradient(130% 150% at 0% 0%, var(--color-accent-900), var(--color-bg) 62%)}*,:after,:before{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;font-size:15px;line-height:1.55}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tabular{font-variant-numeric:tabular-nums}.overline{text-transform:uppercase;letter-spacing:.08em;font-weight:500}.caption,.overline{color:var(--color-neutral-400);font-size:12px}.caption{line-height:1.45}.button{justify-content:center;align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-3) var(--space-6);border-radius:var(--radius-control);border:1px solid var(--color-accent);color:var(--color-accent-300);font:inherit;cursor:pointer;background:0 0;font-weight:500;text-decoration:none;display:inline-flex}.button:hover{background:var(--color-accent-900)}.button:active{background:var(--color-accent-400);color:var(--color-bg)}.button:disabled{opacity:.45;cursor:not-allowed}.button--quiet{color:var(--color-neutral-300);padding-inline:var(--space-3);border-color:#0000}.field{gap:var(--space-2);display:grid}.field label{color:var(--color-neutral-300);font-size:12px;font-weight:500}.input{width:100%;min-height:44px;padding:var(--space-4) var(--space-4);border-radius:var(--radius-control);border:1px solid var(--color-neutral-700);background:var(--color-bg);color:var(--color-text);font:inherit;font-size:16px}.input:hover{border-color:var(--color-neutral-500)}.input--code{letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums;font-size:32px;font-weight:500}.message{margin:0;font-size:15px}.message--error{color:var(--color-danger)}.card{gap:var(--space-6);padding:var(--space-8);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-sm);display:grid}:root{--screen-max:720px;--screen-gutter:12px;--sidebar:0px}.screen{max-width:var(--screen-max);padding:var(--space-6) var(--screen-gutter) var(--space-8);gap:var(--space-6);margin:0 auto;display:grid}.split,.split__main,.split__side{display:contents}@media (width>=900px){:root{--screen-max:1080px;--screen-gutter:32px;--sidebar:232px}.screen{padding-top:var(--space-8);padding-bottom:48px}.split{gap:var(--space-8);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;display:grid}.split__main,.split__side{gap:var(--space-6);display:grid}.split__side{position:sticky;top:84px}}.lead{color:var(--color-neutral-300);margin:0;font-size:15px}.section-title{margin:0;font-size:17px;font-weight:500}@media (width<=600px){.card{padding:var(--space-6);gap:var(--space-6)}}.rows{border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-sm);margin:0;padding:0;list-style:none;overflow:hidden}.rows>li+li{border-top:1px solid var(--color-neutral-800)}.row{align-items:center;gap:var(--space-4);min-height:52px;padding:var(--space-4) var(--space-6);display:flex}.row__main{flex:auto;gap:1px;min-width:0;display:grid}.row__title{text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:500;overflow:hidden}.row__meta{color:var(--color-neutral-400);margin:0;font-size:12px}.row__side{text-align:right;font-variant-numeric:tabular-nums;flex:none}a.row,button.row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;text-decoration:none}a.row:active,button.row:active{background:var(--color-accent-900)}.segmented{background:var(--color-bg);box-shadow:inset 0 0 0 1px var(--color-neutral-800);border-radius:10px;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:inline-grid}.segmented button{min-height:34px;padding:0 var(--space-6);color:var(--color-neutral-400);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:14px;font-weight:500}.segmented button[aria-pressed=true]{background:var(--color-accent-900);color:var(--color-accent-300);box-shadow:inset 0 0 0 1px var(--color-accent-700)}.switch{appearance:none;background:var(--color-neutral-800);cursor:pointer;border-radius:13px;flex:none;width:44px;height:26px;margin:0;transition:background-color .2s;position:relative}.switch:after{content:"";background:var(--color-neutral-300);border-radius:50%;width:20px;height:20px;transition:transform .2s,background-color .2s;position:absolute;top:3px;left:3px}.switch:checked{background:var(--color-accent-700)}.switch:checked:after{background:var(--color-accent-200);transform:translate(18px)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.offline[data-v-fa6395fa]{z-index:11;justify-content:center;align-items:center;gap:var(--space-2);padding:calc(var(--space-2) + env(safe-area-inset-top)) 16px var(--space-2);color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 14%,var(--color-surface));border-bottom:1px solid color-mix(in srgb,var(--color-warning) 40%,transparent);margin:0;font-size:13px;display:flex;position:relative;top:0}.bar[data-v-df5206e7]{z-index:10;align-items:center;gap:var(--space-4);padding:calc(var(--space-3) + env(safe-area-inset-top)) max(var(--screen-gutter),.5 * (100% - var(--screen-max)) + var(--screen-gutter)) var(--space-3);background:color-mix(in srgb,var(--color-bg) 88%,transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--color-neutral-800) 70%,transparent);min-height:52px;display:flex;position:sticky;top:0}.bar__home[data-v-df5206e7]{color:var(--color-accent-400);background:linear-gradient(155deg,var(--color-accent-800),var(--color-bg) 85%);box-shadow:0 0 0 1px var(--color-accent-800)}.bar__back[data-v-df5206e7],.bar__home[data-v-df5206e7]{border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.bar__back[data-v-df5206e7]{color:var(--color-accent-300);margin-left:-6px}.bar__back[data-v-df5206e7]:active{background:var(--color-accent-900)}.bar__home svg[data-v-df5206e7]{width:26px;height:26px}.bar__title[data-v-df5206e7]{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:500}.logo[data-v-6f37d04c]{align-items:center;gap:calc(var(--logo-size) / 4);display:inline-flex}.logo__symbol[data-v-6f37d04c]{width:var(--logo-size);height:var(--logo-size);color:var(--color-accent-400)}.logo__type[data-v-6f37d04c]{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;font-weight:600;font-stretch:115%;font-size:calc(var(--logo-size) * .5);line-height:1}.logo__cap[data-v-6f37d04c]{color:var(--color-text)}.logo__course[data-v-6f37d04c]{color:var(--color-accent-300)}.tabs[data-v-2ab85d86]{z-index:10;padding:var(--space-2) var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--color-surface) 90%,transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid color-mix(in srgb,var(--color-neutral-800) 80%,transparent);-webkit-user-select:none;user-select:none;grid-template-columns:repeat(5,1fr);position:fixed;inset:auto 0 0}.tab[data-v-2ab85d86],.tab__icon[data-v-2ab85d86],.tabs[data-v-2ab85d86]{display:grid}.tab[data-v-2ab85d86]{padding:var(--space-2) var(--space-1);color:var(--color-neutral-400);white-space:nowrap;justify-items:center;gap:2px;text-decoration:none}.tab__icon[data-v-2ab85d86]{border-radius:15px;place-items:center;width:52px;height:30px;transition:background-color .2s,color .2s}.tab__label[data-v-2ab85d86]{font-size:11px;font-weight:500}.tab[data-v-2ab85d86]:hover{color:var(--color-neutral-200)}.tab:active .tab__icon[data-v-2ab85d86]{transform:scale(.94)}.tab--active[data-v-2ab85d86]{color:var(--color-accent-300)}.tab--active .tab__icon[data-v-2ab85d86]{background:var(--color-accent-900);box-shadow:inset 0 0 0 1px var(--color-accent-800)}.brand[data-v-2ab85d86],.tab--logout[data-v-2ab85d86]{display:none}@media (width>=900px){.tabs[data-v-2ab85d86]{width:var(--sidebar);gap:var(--space-2);padding:var(--space-8) var(--space-4);background:color-mix(in srgb,var(--color-surface) 55%,var(--color-bg));border-top:0;border-right:1px solid var(--color-neutral-800);flex-direction:column;display:flex;inset:0 auto 0 0}.brand[data-v-2ab85d86]{padding:var(--space-2) var(--space-4) var(--space-8);text-decoration:none;display:block}.tab[data-v-2ab85d86]{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:10px;transition:background-color .15s,color .15s;display:flex}.tab[data-v-2ab85d86]:hover{background:color-mix(in srgb,var(--color-accent-900) 60%,transparent)}.tab__icon[data-v-2ab85d86]{border-radius:0;width:auto;height:auto}.tab__label[data-v-2ab85d86]{font-size:14px}.tab--active[data-v-2ab85d86]{background:var(--color-accent-900);box-shadow:inset 0 0 0 1px var(--color-accent-800)}.tab--active .tab__icon[data-v-2ab85d86]{box-shadow:none;background:0 0}.tab--foot[data-v-2ab85d86]{margin-top:auto;position:relative}.tab--foot[data-v-2ab85d86]:before{content:"";inset:calc(-1 * var(--space-3)) 0 auto 0;background:var(--color-neutral-800);height:1px;position:absolute}.tab--logout[data-v-2ab85d86]{font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.tab--logout[data-v-2ab85d86]:hover{color:var(--color-danger)}}.app{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom)}.app--tabs{padding-bottom:calc(84px + env(safe-area-inset-bottom))}@media (width>=900px){.app--tabs{padding-bottom:env(safe-area-inset-bottom);padding-left:var(--sidebar)}.app--tabs header .bar__home{display:none}}.page-enter-active,.page-leave-active{transition:opacity .16s,transform .16s}.page-enter-from{opacity:0;transform:translateY(6px)}.page-leave-to{opacity:0}.pop-enter-active,.push-enter-active{transition:opacity .22s,transform .22s cubic-bezier(.22,1,.36,1)}.pop-leave-active,.push-leave-active{transition:opacity .1s}.push-enter-from{opacity:0;transform:translate(22px)}.pop-enter-from{opacity:0;transform:translate(-22px)}.pop-leave-to,.push-leave-to{opacity:0}.screen>*,.split__main>*,.split__side>*{animation:.36s cubic-bezier(.22,1,.36,1) both rise}.screen>:nth-child(2){animation-delay:40ms}.screen>:nth-child(3){animation-delay:80ms}.screen>:nth-child(n+4){animation-delay:.12s}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.skeleton{gap:var(--space-6);display:grid}.skeleton__block{border-radius:var(--radius-card);background:linear-gradient(100deg,var(--color-surface) 30%,var(--color-neutral-900) 50%,var(--color-surface) 70%) 0 0/300% 100%;height:72px;animation:1.4s linear infinite shimmer}.skeleton__block--tall{height:168px}@keyframes shimmer{to{background-position:-150% 0}}@media (prefers-reduced-motion:reduce){.page-enter-active,.page-leave-active,.pop-enter-active,.pop-leave-active,.push-enter-active,.push-leave-active{transition:none}.screen>*,.skeleton__block,.split__main>*,.split__side>*{animation:none}}
