:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--text:#17191c;--hint:#707579;--accent:#2a9d5c;--accent-text:#fff;--bg:#f1f3f4;--section-bg:#fff;--danger:#e5484d;--gold:#d99a16;--splash-bg:#fafffb;--logo:var(--accent);--separator:color-mix(in srgb, var(--text) 10%, transparent);--bg-secondary:color-mix(in srgb, var(--text) 6%, var(--section-bg));--hover:color-mix(in srgb, var(--text) 5%, transparent);--accent-soft:color-mix(in srgb, var(--accent) 14%, transparent);--field-bg:color-mix(in srgb, var(--text) 4%, transparent);--field-bg-hover:color-mix(in srgb, var(--text) 7%, transparent);--field-border:color-mix(in srgb, var(--text) 14%, transparent);--header-bg:var(--section-bg);--bottom-bar-bg:var(--section-bg)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--splash-bg:#10322a;--logo:#fff;--text:#eef3f1;--hint:#8d9b96;--accent:#4cc38a;--accent-text:#06140d;--bg:#0f1614;--section-bg:#18211f;--danger:#ff6b66;--gold:#f0b740}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--splash-bg:#10322a;--logo:#fff;--text:#eef3f1;--hint:#8d9b96;--accent:#4cc38a;--accent-text:#06140d;--bg:#0f1614;--section-bg:#18211f;--danger:#ff6b66;--gold:#f0b740}}:root{--radius-s:8px;--radius-m:12px;--radius-l:16px;--radius-xl:20px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--control:44px;--control-compact:36px;--shadow-pop:0 12px 32px -8px #00000047, 0 2px 6px #0000001a;--z-pop:40}::view-transition-old(root){animation-duration:.25s;animation-timing-function:ease}::view-transition-new(root){animation-duration:.25s;animation-timing-function:ease}.theme-switching,.theme-switching *,.theme-switching :before,.theme-switching :after{transition:background-color .25s,border-color .25s,box-shadow .25s!important}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;scrollbar-width:none}html,body{overscroll-behavior:none}.ui-options,.ui-time-list,.dev-panel{overscroll-behavior:contain}html::-webkit-scrollbar{display:none}a,button,label,select,summary{touch-action:manipulation}a,button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}@media (hover:none) and (pointer:coarse){body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable],.selectable{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font-family:inherit}#app{min-height:100dvh}.card{border:1px solid var(--separator);background:var(--section-bg);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:360px;padding:32px 24px;display:flex}h1{margin:4px 0 0;font-size:22px;font-weight:600}.hint{color:var(--hint);margin:0;font-size:15px}.detail{color:var(--hint);word-break:break-word;margin:0;font-size:12px}.btn{background:var(--accent);width:100%;color:var(--accent-text);cursor:pointer;border:0;border-radius:12px;margin-top:8px;padding:12px 16px;font-size:16px;font-weight:600}.btn.secondary{background:var(--accent-soft);color:var(--accent)}.btn.secondary:focus-visible{background:color-mix(in srgb, var(--accent) 22%, transparent)}@media (hover:hover){.btn.secondary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 22%, transparent)}}.btn{text-align:center;text-decoration:none;display:block}:root{--page-gap:16px;--sidebar-width:256px;--safe-top:max(var(--tg-safe-area-inset-top,0px), env(safe-area-inset-top,0px));--safe-left:max(var(--tg-safe-area-inset-left,0px), env(safe-area-inset-left,0px));--safe-right:max(var(--tg-safe-area-inset-right,0px), env(safe-area-inset-right,0px));--page-inset-top:calc(var(--tg-content-safe-area-inset-top,0px) + var(--safe-top));--tg-controls:0px;--nav-pill-height:52px;--nav-height:calc(var(--nav-pill-height) + 12px);--nav-inset:max(var(--tg-safe-area-inset-bottom,0px), env(safe-area-inset-bottom,0px));--container-width:960px;--header-size:40px}.shell{min-height:100dvh;max-width:var(--container-width);flex-direction:column;margin:0 auto;display:flex}.shell.with-nav{max-width:none}.shell:not(.with-nav)>.app-header{background:0 0;border-bottom-color:#0000}.view{flex-direction:column;flex:1;display:flex;position:relative;overflow-x:clip}.page{padding:var(--page-gap);flex:1;justify-content:center;align-items:center;display:flex}.with-nav .page{padding-bottom:calc(var(--nav-height) + var(--nav-inset) + var(--page-gap));align-items:flex-start}.with-nav .card{max-width:none;padding:24px 16px}.with-nav .card.wide{max-width:var(--container-width);background:0 0;border:0;padding:0}@media (width>=768px){:root{--page-gap:24px;--header-size:44px}.with-nav .card:not(.wide){max-width:520px;padding:32px 24px}}@media (width>=1024px){:root{--container-width:1120px;--page-inset-top:var(--safe-top);--tg-controls:min(calc(var(--tg-content-safe-area-inset-top,0px) * 100), 128px)}.shell.with-nav{margin-left:calc(var(--sidebar-width) + var(--safe-left))}.with-nav .page{padding-bottom:var(--page-gap)}}.page-forward-enter-active,.page-forward-leave-active,.page-back-enter-active,.page-back-leave-active{transition:transform .3s cubic-bezier(.3,.7,.2,1),opacity .3s}.page-forward-leave-active,.page-back-leave-active{position:absolute;top:0;left:0;right:0}.page-forward-enter-from,.page-back-leave-to{opacity:0;transform:translate(min(100%,320px))}.page-forward-leave-to,.page-back-enter-from{opacity:0;transform:translate(max(-100%,-320px))}@media (prefers-reduced-motion:reduce){.page-forward-enter-active,.page-forward-leave-active,.page-back-enter-active,.page-back-leave-active{transition:none}}.surface{border:1px solid var(--separator);background:var(--section-bg)}.surface-hover:focus-visible{background:color-mix(in srgb, var(--text) 4%, var(--section-bg))}@media (hover:hover){.surface-hover:hover{background:color-mix(in srgb, var(--text) 4%, var(--section-bg))}}.section-title{color:var(--hint);letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:13px;font-weight:600}.badge{background:var(--bg-secondary);color:var(--hint);white-space:nowrap;border-radius:999px;flex:none;padding:3px 10px;font-size:12px;font-weight:600}.badge.accent{background:var(--accent-soft);color:var(--accent)}.badge.warning{background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--warning)}.badge.outline{box-shadow:inset 0 0 0 1px var(--separator);background:0 0}.badge.danger{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.badge.info{color:#2f7fd6;background:#2f7fd624}.badge.solid{background:var(--hint);color:#fff}.badge.solid.accent{background:var(--accent);color:var(--accent-text)}.badge.solid.warning{background:var(--warning)}.badge.solid.danger{background:var(--danger)}.badge.solid.info{background:#2f7fd6}.badge.outline{box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 35%, transparent)}.badge.s{padding:1px 7px;font-size:11px}.badge.dot:before{content:"";vertical-align:middle;background:currentColor;border-radius:50%;width:6px;height:6px;margin-inline-end:6px;display:inline-block}.icon-button{width:var(--header-size);height:var(--header-size);color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;transition:transform .12s,background-color .2s;display:flex}.icon-button svg{width:calc(var(--header-size) / 2);height:calc(var(--header-size) / 2);fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.icon-button:active{transform:scale(.9)}.icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover){.icon-button:hover{background:var(--hover)}}.skeleton{background-color:var(--bg-secondary);background-image:linear-gradient(90deg, transparent 25%, color-mix(in srgb, var(--text) 10%, transparent) 50%, transparent 75%);background-size:200% 100%;border-radius:8px;animation:1.4s ease-in-out infinite skeleton-shine;display:block}.skeleton.line{width:60%;height:16px}.skeleton.line.title{width:45%;height:24px}.skeleton.line.short{width:30%}.skeleton.block{border-radius:12px;width:100%;height:46px}@keyframes skeleton-shine{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.avatar{background:var(--accent);width:96px;height:96px;color:var(--accent-text);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:32px;font-weight:600;display:flex;overflow:hidden}.avatar.small{width:40px;height:40px;padding-block:0;font-size:14px;line-height:38px}.avatar.skeleton{background-color:var(--bg-secondary);border-radius:50%}.btn:disabled{opacity:.5;cursor:default}.btn{transition:opacity .12s,transform .12s,background-color .2s}.btn:active:not(:disabled){opacity:.75;transform:scale(.98)}.field{text-align:left;width:100%;color:var(--hint);flex-direction:column;gap:4px;font-size:13px;display:flex}.field input{height:var(--control);padding:0 var(--space-3);border:1px solid var(--separator);border-radius:var(--radius-m);background:var(--section-bg);color:var(--text);font-size:16px;transition:border-color .15s}@media (hover:hover){.field input:hover:not(:focus){border-color:var(--hint)}}.field input:focus{outline:2px solid var(--accent);outline-offset:-1px}.detail.ok{color:var(--accent)}.detail.bad{color:var(--danger)}.list{border:1px solid var(--separator);background:var(--section-bg);border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.list>li+li{border-top:1px solid var(--separator)}.cell{min-height:52px;color:var(--text);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;text-decoration:none;display:flex}a.cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}a.cell:active{opacity:.7}@media (hover:hover){a.cell:hover{background:var(--hover)}}.cell-text{flex-direction:column;flex:140px;gap:2px;min-width:0;display:flex}.cell-title{text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.cell-note{color:var(--hint);font-size:13px}.cell-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px 12px;max-width:100%;display:flex}.sections{text-align:start;flex-direction:column;align-items:stretch;gap:20px;display:flex}.section>h2:not(.section-title){margin:0;font-size:18px;font-weight:700}.section{flex-direction:column;gap:8px;display:flex}.empty-note{border:1px dashed var(--separator);color:var(--hint);text-align:center;border-radius:14px;margin:0;padding:16px;font-size:14px}.form-row{flex-wrap:wrap;gap:8px;display:flex}.form-row>.input{flex:160px}.input{border:1px solid var(--separator);background:var(--section-bg);min-width:0;color:var(--text);border-radius:12px;padding:10px 12px;font-size:15px}.input:focus{outline:2px solid var(--accent);outline-offset:-1px}.btn.small{width:auto;margin-top:0;padding:10px 16px;font-size:14px}.text-button{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:14px;font-weight:500}.text-button.danger{color:var(--danger)}.text-button:disabled{opacity:.5;cursor:default}.text-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-field{min-width:0;height:var(--control);padding:0 var(--space-3);align-items:center;gap:var(--space-2);border:1px solid var(--separator);border-radius:var(--radius-m);background:var(--section-bg);color:var(--text);text-align:start;cursor:pointer;font-size:15px;transition:border-color .15s,box-shadow .15s;display:flex}.ui-field.compact{height:var(--control-compact);border-radius:10px;padding:0 10px;font-size:14px}.ui-field-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ui-field.empty .ui-field-value{color:var(--hint)}.ui-field-icon{fill:none;width:18px;height:18px;stroke:var(--hint);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:rotate .15s}button.ui-field.open{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}button.ui-field[role=combobox].open .ui-field-icon{rotate:180deg}button.ui-field:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ui-field:disabled,.ui-field.disabled{opacity:.55;cursor:default}@media (hover:hover){button.ui-field:hover:not(:disabled,.open){border-color:color-mix(in srgb, var(--text) 24%, transparent)}}.form-row>.ui-field,.form-row>.ui-datetime{flex:160px}.ui-pop>*{min-height:0}.ui-btn,.text-button{height:var(--control);padding:0 var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-m);background:var(--accent);color:var(--accent-text);white-space:nowrap;cursor:pointer;border:1px solid #0000;flex:none;font-size:15px;font-weight:600;line-height:1;text-decoration:none;transition:background-color .15s,opacity .12s,transform .12s;display:inline-flex}.ui-btn.s,.text-button{height:var(--control-compact);padding:0 var(--space-3);border-radius:10px;font-size:14px}.ui-btn.block{width:100%}.ui-btn.tonal,.text-button{background:var(--accent-soft);color:var(--accent)}.ui-btn.outline{border-color:var(--separator);background:var(--section-bg);color:var(--text)}.ui-btn.danger{background:var(--danger);color:#fff}.ui-btn.danger-tonal,.text-button.danger{background:color-mix(in srgb, var(--danger) 13%, transparent);color:var(--danger)}.ui-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.ui-btn:disabled,.text-button:disabled{opacity:.5;cursor:default}.ui-btn:active:not(:disabled),.text-button:active:not(:disabled){opacity:.8;transform:scale(.98)}.ui-btn:focus-visible,.text-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover){.ui-btn.tonal:hover:not(:disabled),.text-button:not(.danger):hover:not(:disabled){background:color-mix(in srgb, var(--accent) 22%, transparent)}.ui-btn.outline:hover:not(:disabled){background:color-mix(in srgb, var(--text) 4%, var(--section-bg))}.ui-btn.danger-tonal:hover:not(:disabled),.text-button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 20%, transparent)}}:root{--segment-bg:color-mix(in srgb, var(--text) 9%, var(--bg));--warning:#e08a00}:root[data-theme=dark]{--warning:#f2a93b}.ui-segmented{border:1px solid var(--separator);border-radius:var(--radius-m);background:var(--segment-bg);scrollbar-width:none;grid-auto-columns:minmax(max-content,1fr);grid-auto-flow:column;gap:3px;min-width:0;padding:3px;display:inline-grid;overflow-x:auto}.ui-segmented.block{display:grid}.ui-segment{height:36px;color:var(--hint);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;padding:0 14px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.ui-segmented.s .ui-segment{height:30px;padding:0 10px;font-size:13px}.ui-segment.active{background:var(--section-bg);color:var(--text);font-weight:600;box-shadow:0 1px 2px #0000001f}.ui-segment.active.success{background:var(--accent);color:var(--accent-text)}.ui-segment.active.danger{background:var(--danger);color:#fff}.ui-segment.active.warning{background:var(--warning);color:#fff}.ui-segment:disabled{cursor:default;opacity:.6}.ui-segment:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (hover:hover){.ui-segment:not(.active):hover:not(:disabled){color:var(--text)}}.ui-table-wrap{border:1px solid var(--separator);background:var(--section-bg);overscroll-behavior-x:contain;border-radius:14px;overflow-x:auto}.ui-table{border-collapse:collapse;width:100%;font-size:14px}.ui-table th,.ui-table td{text-align:start;vertical-align:middle;padding:10px 14px}.ui-table th{background:color-mix(in srgb, var(--text) 4%, var(--section-bg));color:var(--hint);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:600;position:sticky;top:0}.ui-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.ui-table th.sorted{color:var(--accent)}.ui-table tbody tr+tr td{border-top:1px solid var(--separator)}.ui-table td.end,.ui-table th.end{text-align:end}.ui-table td.center,.ui-table th.center{text-align:center}.ui-table tbody tr.highlight td{background:var(--accent-soft)}.ui-table tbody tr.clickable{cursor:pointer}@media (hover:hover){.ui-table tbody tr.clickable:hover td{background:var(--hover)}}.ui-table-link{color:var(--text);font-size:15px;font-weight:600;text-decoration:none;display:block}.ui-table-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.ui-table-note{color:var(--hint);font-size:12px;display:block}.ui-table td{color:var(--subtitle,var(--text))}@media (width<=640px){.ui-table.stack,.ui-table.stack tbody{display:block}.ui-table.stack thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.ui-table.stack tr{flex-wrap:wrap;align-items:center;gap:6px 10px;padding:12px 14px;display:flex}.ui-table.stack tbody tr+tr{border-top:1px solid var(--separator)}.ui-table.stack td{color:var(--hint);text-align:start;padding:0;font-size:13px;border:0!important}.ui-table.stack td:first-child{flex:100%}.ui-table.stack td:empty{display:none}.ui-table.stack td[data-label]:before{content:attr(data-label) ": ";color:var(--hint)}.ui-table.stack tbody tr.highlight{background:var(--accent-soft)}.ui-table.stack tbody tr.highlight td,.ui-table.stack tbody tr.clickable:hover td{background:0 0}.ui-table.stack tbody tr.clickable:active{background:var(--hover)}}.ui-table-empty{color:var(--hint);text-align:center;padding:24px 16px;font-size:14px}.narrow{width:100%;max-width:640px}.panel{padding:var(--space-5);gap:var(--space-3);border:1px solid var(--separator);border-radius:var(--radius-l);background:var(--section-bg);flex-direction:column;display:flex}.stat-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));display:grid}.stat{min-width:0;padding:var(--space-4);border-radius:var(--radius-l);color:var(--text);flex-direction:column;gap:4px;text-decoration:none;display:flex}.stat-label{color:var(--hint);font-size:13px}.stat strong{font-variant-numeric:tabular-nums;font-size:24px;font-weight:800;line-height:1.15}.stat strong.accent{color:var(--accent)}.stat strong.gold{color:var(--gold)}.stat strong.danger{color:var(--danger)}.stat-note{color:var(--hint);font-size:12px;line-height:1.35}a.stat:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-count{background:var(--danger);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;flex:none;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-grid}.ui-count.accent{background:var(--accent);color:var(--accent-text)}.ui-count.neutral{background:var(--bg-secondary);color:var(--hint)}.ui-count.dot{width:9px;min-width:9px;height:9px;padding:0}.ui-count.floating{box-shadow:0 0 0 2px var(--header-bg,var(--section-bg));position:absolute;top:1px;right:-1px}.ui-count.floating.dot{top:6px;right:6px}.app-header[data-v-383b4d24]{z-index:9;padding:calc(var(--page-inset-top) + 6px) calc(var(--page-gap) - 8px) 6px;border-bottom:1px solid var(--separator);background:var(--header-bg);flex:none;align-items:center;display:flex;position:sticky;top:0}.slot[data-v-383b4d24]{width:var(--header-size);height:var(--header-size);flex:none;margin-right:8px}.spacer[data-v-383b4d24]{flex:1;min-width:0}.bell[data-v-383b4d24]{text-decoration:none;position:relative}.title[data-v-383b4d24]{top:calc(var(--page-inset-top) + 6px);height:var(--header-size);max-width:calc(100% - 2 * (var(--page-gap) + 2 * var(--header-size) + 8px));pointer-events:none;color:var(--text);letter-spacing:-.01em;place-items:center;font-size:17px;font-weight:700;display:grid;position:absolute;left:50%;overflow:hidden;translate:-50%}@media (width>=1024px){.app-header[data-v-383b4d24]{padding-inline:var(--page-gap) calc(var(--page-gap) + var(--tg-controls) + var(--safe-right))}.slot[data-v-383b4d24]:empty,.spacer[data-v-383b4d24]{display:none}.title[data-v-383b4d24]{flex:1;order:-1;place-items:center start;max-width:none;font-size:20px;position:static;translate:none}.slot[data-v-383b4d24]{order:-2}}.title span[data-v-383b4d24]{text-overflow:ellipsis;white-space:nowrap;grid-area:1/1;max-width:100%;overflow:hidden}.title-enter-active[data-v-383b4d24],.title-leave-active[data-v-383b4d24],.title-back-enter-active[data-v-383b4d24],.title-back-leave-active[data-v-383b4d24]{transition:opacity .22s,transform .28s cubic-bezier(.3,.7,.2,1)}.title-enter-from[data-v-383b4d24]{opacity:0;transform:translateY(80%)}.title-leave-to[data-v-383b4d24],.title-back-enter-from[data-v-383b4d24]{opacity:0;transform:translateY(-80%)}.title-back-leave-to[data-v-383b4d24]{opacity:0;transform:translateY(80%)}.icon-enter-active[data-v-383b4d24],.icon-leave-active[data-v-383b4d24]{transition:opacity .12s,transform .12s}.icon-enter-from[data-v-383b4d24],.icon-leave-to[data-v-383b4d24]{opacity:0;transform:scale(.5)}.item-enter-active[data-v-383b4d24],.item-leave-active[data-v-383b4d24]{transition:opacity .2s,transform .25s cubic-bezier(.3,.7,.2,1)}.item-enter-from[data-v-383b4d24],.item-leave-to[data-v-383b4d24]{opacity:0;transform:scale(.5)}.item-leave-active[data-v-383b4d24]{pointer-events:none}@media (prefers-reduced-motion:reduce){.item-enter-active[data-v-383b4d24],.item-leave-active[data-v-383b4d24],.icon-enter-active[data-v-383b4d24],.icon-leave-active[data-v-383b4d24],.title-enter-active[data-v-383b4d24],.title-leave-active[data-v-383b4d24],.title-back-enter-active[data-v-383b4d24],.title-back-leave-active[data-v-383b4d24]{transition:none}}.app-nav[data-v-2504313c]{--pad:6px;z-index:10;padding:var(--pad) max(var(--pad), calc((100% - var(--container-width)) / 2)) calc(var(--pad) + var(--nav-inset));grid-template-columns:repeat(var(--count), minmax(0, 1fr));border-top:1px solid var(--separator);background:var(--bottom-bar-bg);transition:translate .32s cubic-bezier(.3,.7,.2,1);display:grid;position:fixed;bottom:0;left:0;right:0}.app-nav.away[data-v-2504313c],.app-nav.pending[data-v-2504313c]{translate:0 100%}.brand[data-v-2504313c],.foot[data-v-2504313c],.tab.wide-only[data-v-2504313c]{display:none}.slider[data-v-2504313c]{top:var(--pad);left:max(var(--pad), calc((100% - var(--container-width)) / 2));width:calc((100% - 2 * max(var(--pad), calc((100% - var(--container-width)) / 2))) / var(--count));height:var(--nav-pill-height);background:var(--accent-soft);translate:calc(var(--index) * 100%) 0;border-radius:14px;transition:translate .32s cubic-bezier(.3,.7,.2,1);position:absolute}.tab[data-v-2504313c]{min-width:0;height:var(--nav-pill-height);color:var(--hint);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;text-decoration:none;transition:color .2s,opacity .12s;display:flex;position:relative}.tab svg[data-v-2504313c]{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:22px;height:22px}.label[data-v-2504313c]{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;font-weight:500;line-height:1.1;overflow:hidden}.tab.active[data-v-2504313c]{color:var(--accent)}.tab[data-v-2504313c]:active{opacity:.6}.tab[data-v-2504313c]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (hover:hover){.tab[data-v-2504313c]:hover{color:var(--text)}.tab.active[data-v-2504313c]:hover{color:var(--accent)}}@media (width>=1024px){.app-nav[data-v-2504313c]{width:var(--sidebar-width);padding:calc(var(--page-inset-top) + 12px) 12px calc(12px + var(--nav-inset));border-top:0;border-right:1px solid var(--separator);flex-direction:column;gap:4px;display:flex;top:0;right:auto}.app-nav.pending[data-v-2504313c]{translate:-100%}.brand[data-v-2504313c]{align-items:center;gap:10px;height:44px;margin-bottom:16px;padding:0 8px;display:flex}.mark[data-v-2504313c]{background:var(--accent);width:36px;height:36px;color:var(--accent-text);border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.mark svg[data-v-2504313c]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.name[data-v-2504313c]{color:var(--accent);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:800;overflow:hidden}.slider[data-v-2504313c]{display:none}.tab.wide-only[data-v-2504313c]{display:flex}.tab[data-v-2504313c]{border-radius:12px;flex-direction:row;flex:none;justify-content:flex-start;gap:12px;height:44px;padding:0 12px}.tab.active[data-v-2504313c]{background:var(--accent-soft)}.label[data-v-2504313c]{font-size:15px;line-height:1.3}.foot[data-v-2504313c]{color:var(--hint);text-align:center;margin:auto 0 0;padding:8px;font-size:12px;display:block}}@media (width>=1024px) and (hover:hover){.tab[data-v-2504313c]:not(.active):hover{background:var(--hover)}}@media (prefers-reduced-motion:reduce){.app-nav[data-v-2504313c],.slider[data-v-2504313c]{transition:none}}.dev-tools[data-v-fa4145bd]{z-index:60;right:12px;bottom:calc(84px + env(safe-area-inset-bottom,0px));color:#e8eaed;flex-direction:column;align-items:flex-end;gap:8px;font:12px/1.45 ui-monospace,Cascadia Code,Consolas,monospace;display:flex;position:fixed}@media (width>=1024px){.dev-tools[data-v-fa4145bd]{bottom:16px;right:16px}}.dev-fab[data-v-fa4145bd]{color:#ffd400;height:30px;font:inherit;letter-spacing:.04em;opacity:.85;cursor:pointer;background:#16181d;border:1px solid #3a3f47;border-radius:999px;align-items:center;gap:5px;padding:0 10px 0 8px;font-weight:700;display:flex;box-shadow:0 4px 14px #0000004d}.dev-fab[data-v-fa4145bd]:hover,.dev-fab[aria-expanded=true][data-v-fa4145bd]{opacity:1}.dev-fab svg[data-v-fa4145bd]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.dev-panel[data-v-fa4145bd]{background:#16181d;border:1px solid #3a3f47;border-radius:12px;flex-direction:column;width:min(380px,100vw - 24px);max-height:min(70vh,620px);display:flex;overflow:hidden;box-shadow:0 16px 40px #00000073}.dev-head[data-v-fa4145bd]{border-bottom:1px solid #2a2e35;align-items:center;gap:8px;padding:8px 8px 8px 12px;display:flex}.dev-head strong[data-v-fa4145bd]{color:#ffd400;letter-spacing:.06em}.dev-head span[data-v-fa4145bd]{color:#9aa0a6;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.dev-x[data-v-fa4145bd]{color:#9aa0a6;cursor:pointer;background:0 0;border:0;border-radius:6px;width:24px;height:24px;font-size:18px;line-height:1}.dev-tabs[data-v-fa4145bd]{border-bottom:1px solid #2a2e35;display:flex}.dev-tabs button[data-v-fa4145bd]{color:#9aa0a6;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:8px 4px;font-weight:600}.dev-tabs button.on[data-v-fa4145bd]{color:#ffd400;border-bottom-color:#ffd400}.dev-body[data-v-fa4145bd]{overscroll-behavior:contain;flex-direction:column;gap:8px;padding:12px;display:flex;overflow-y:auto}.dev-label[data-v-fa4145bd]{color:#9aa0a6;letter-spacing:.06em;text-transform:uppercase;margin:4px 0 0;font-size:11px}.dev-note[data-v-fa4145bd],.dev-message[data-v-fa4145bd]{color:#9aa0a6;margin:0}.dev-message[data-v-fa4145bd]{color:#e8eaed;overflow-wrap:anywhere;background:#22262d;border-radius:6px;padding:6px 8px}.dev-warn[data-v-fa4145bd]{color:#ffd400;background:#2b2500;border:1px solid #6b5a00;border-radius:6px;margin:0;padding:8px}.dev-facts[data-v-fa4145bd]{grid-template-columns:auto 1fr;gap:4px 10px;margin:0;display:grid}.dev-facts dt[data-v-fa4145bd]{color:#9aa0a6}.dev-facts dd[data-v-fa4145bd]{margin:0}.dev-row[data-v-fa4145bd]{flex-wrap:wrap;gap:6px;display:flex}.dev-grid[data-v-fa4145bd]{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.dev-body button[data-v-fa4145bd]:not(.dev-link,.dev-color){color:#e8eaed;font:inherit;cursor:pointer;background:#22262d;border:1px solid #3a3f47;border-radius:6px;padding:6px 10px}.dev-body button[data-v-fa4145bd]:not(.dev-link,.dev-color):hover:not(:disabled){border-color:#5f6670}.dev-body button.on[data-v-fa4145bd]:not(.dev-color){font-weight:700;color:#16181d!important;background:#ffd400!important;border-color:#ffd400!important}.dev-body button[data-v-fa4145bd]:disabled{opacity:.5;cursor:default}.dev-link[data-v-fa4145bd]{color:#ffd400;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.dev-lesson[data-v-fa4145bd]{background:#1c1f25;border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex}.dev-lesson-name small[data-v-fa4145bd]{color:#9aa0a6;font-size:11px;display:block}.dev-patterns[data-v-fa4145bd]{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.dev-patterns button[data-v-fa4145bd]{aspect-ratio:1;overflow:hidden;background:#1f8a52!important;padding:0!important}.dev-patterns button.on[data-v-fa4145bd]{outline-offset:1px;outline:2px solid #ffd400;background:#1f8a52!important}.dev-patterns i[data-v-fa4145bd]{opacity:.75;background:#fff;width:100%;height:100%;display:block}.dev-field[data-v-fa4145bd]{color:#9aa0a6;flex-direction:column;gap:4px;display:flex}.dev-field input[type=range][data-v-fa4145bd]{accent-color:#ffd400;width:100%}.dev-color[data-v-fa4145bd]{cursor:pointer;border:1px solid #5f6670;border-radius:50%;width:26px;height:26px;padding:0}.dev-color.on[data-v-fa4145bd]{outline-offset:1px;outline:2px solid #ffd400}.dev-hex[data-v-fa4145bd]{color:#e8eaed;width:96px;font:inherit;background:#0f1114;border:1px solid #3a3f47;border-radius:6px;padding:4px 8px}.dev-check[data-v-fa4145bd]{cursor:pointer;align-items:center;gap:8px;display:flex}.dev-check input[data-v-fa4145bd]{accent-color:#ffd400}.ui-banner{--banner-color:#2f7fd6;min-height:38px;padding:6px var(--page-gap,16px);justify-content:center;align-items:center;gap:var(--space-3);background:var(--banner-color);color:#fff;text-align:center;flex:none;font-size:13px;font-weight:600;line-height:1.35;display:flex}.ui-banner.success{--banner-color:#1f8a52}.ui-banner.warning{--banner-color:#b86e00}.ui-banner.danger{--banner-color:#c93a35}.ui-banner.neutral{--banner-color:#5b6770}.ui-banner-text{overflow-wrap:anywhere;min-width:0}.ui-banner-action{flex:none}.ui-banner-action :is(button,a){height:26px;color:inherit;font:inherit;cursor:pointer;background:#ffffff38;border:0;border-radius:8px;align-items:center;padding:0 10px;text-decoration:none;display:inline-flex}.ui-banner-close{width:26px;height:26px;color:inherit;opacity:.85;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.ui-banner-close svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:14px;height:14px}.ui-banner :is(button,a):focus-visible{outline-offset:1px;outline:2px solid #fff}.ui-modal-open,.ui-modal-open body{overflow:hidden}.ui-modal-backdrop{z-index:calc(var(--z-pop) + 10);padding:var(--space-4);background:#00000073;place-items:center;display:grid;position:fixed;inset:0}.ui-modal{border-radius:var(--radius-xl);background:var(--section-bg);width:min(100%,560px);max-height:min(100%,720px);box-shadow:var(--shadow-pop);color:var(--text);outline:0;flex-direction:column;display:flex}.ui-modal.s{width:min(100%,400px)}.ui-modal.l{width:min(100%,760px)}.ui-modal-header{padding:var(--space-4) var(--space-4) 0 var(--space-5);align-items:center;gap:var(--space-3);flex:none;display:flex}.ui-modal-header h2{overflow-wrap:anywhere;flex:1;min-width:0;margin:0;font-size:18px;font-weight:700;line-height:1.3}.ui-modal-close{background:var(--bg-secondary);width:34px;height:34px;color:var(--hint);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;margin-inline-start:auto;padding:0;display:grid}.ui-modal-close svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:16px;height:16px}.ui-modal-close:focus-visible{outline:2px solid var(--accent)}.ui-modal-body{min-height:0;padding:var(--space-4) var(--space-5) var(--space-5);gap:var(--space-3);overscroll-behavior:contain;flex-direction:column;flex:1;display:flex;overflow-y:auto}.ui-modal-footer{padding:0 var(--space-5) var(--space-5);justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;flex:none;display:flex}@media (width<=640px){.ui-modal-backdrop{place-items:end stretch;padding:0}.ui-modal,.ui-modal.s,.ui-modal.l{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:88dvh}.ui-modal-body:last-child,.ui-modal-footer{padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px))}.ui-modal-footer>*{flex:1}}.ui-modal-enter-active,.ui-modal-leave-active{transition:opacity .18s}.ui-modal-enter-active .ui-modal,.ui-modal-leave-active .ui-modal{transition:transform .22s cubic-bezier(.3,.7,.2,1)}.ui-modal-enter-from,.ui-modal-leave-to{opacity:0}.ui-modal-enter-from .ui-modal,.ui-modal-leave-to .ui-modal{transform:translateY(16px)scale(.98)}@media (prefers-reduced-motion:reduce){.ui-modal-enter-active,.ui-modal-leave-active,.ui-modal-enter-active .ui-modal,.ui-modal-leave-active .ui-modal{transition:none}}.ui-dialog{--dialog-color:#2f7fd6;align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.ui-dialog.success{--dialog-color:var(--accent)}.ui-dialog.warning{--dialog-color:var(--warning)}.ui-dialog.danger{--dialog-color:var(--danger)}.ui-dialog-icon{width:52px;height:52px;margin-bottom:var(--space-1);background:color-mix(in srgb, var(--dialog-color) 14%, transparent);color:var(--dialog-color);border-radius:50%;place-items:center;display:grid}.ui-dialog-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.ui-dialog h2{overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:700;line-height:1.3}.ui-dialog p{color:var(--hint);white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.5}.ui-modal.s .ui-modal-footer>*{flex:1}.ui-toasts{z-index:calc(var(--z-pop) + 20);inset-inline:var(--space-3);bottom:calc(var(--nav-height,0px) + var(--nav-inset,0px) + var(--space-3));align-items:center;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}@media (width<=1023px){.ui-modal-open .ui-toasts{top:calc(var(--page-inset-top,0px) + var(--space-3));bottom:auto}}@media (width>=1024px){.ui-toasts{inset-inline:auto var(--space-5);bottom:var(--space-5);align-items:flex-end}}.ui-toast{--toast-color:var(--text);border-radius:var(--radius-m);background:color-mix(in srgb, var(--text) 92%, var(--bg));max-width:min(100%,440px);min-height:46px;box-shadow:var(--shadow-pop);color:var(--bg);pointer-events:auto;align-items:center;gap:10px;padding:8px 8px 8px 14px;font-size:14px;line-height:1.4;display:flex}.ui-toast.success{--toast-color:#4cd08a}.ui-toast.danger{--toast-color:#ff8a85}.ui-toast.warning{--toast-color:#f5b95a}.ui-toast.info{--toast-color:#7ab8f5}:root[data-theme=dark] .ui-toast.success{--toast-color:#1f8a52}:root[data-theme=dark] .ui-toast.danger{--toast-color:#d0403a}:root[data-theme=dark] .ui-toast.warning{--toast-color:#b86e00}:root[data-theme=dark] .ui-toast.info{--toast-color:#2f7fd6}.ui-toast-icon{fill:none;width:20px;height:20px;stroke:var(--toast-color);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.ui-toast-text{overflow-wrap:anywhere;flex:1;min-width:0;padding-block:4px}.ui-toast-action{background:color-mix(in srgb, var(--bg) 16%, transparent);height:30px;color:inherit;cursor:pointer;border:0;border-radius:8px;flex:none;padding:0 10px;font-size:13px;font-weight:700}.ui-toast-close{width:30px;height:30px;color:inherit;opacity:.7;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.ui-toast-close svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:15px;height:15px}.ui-toast-action:focus-visible,.ui-toast-close:focus-visible{outline:2px solid var(--bg);outline-offset:1px}@media (hover:hover){.ui-toast-close:hover{opacity:1}}.ui-toast-enter-active,.ui-toast-leave-active,.ui-toast-move{transition:opacity .2s,transform .25s cubic-bezier(.3,.7,.2,1)}.ui-toast-enter-from,.ui-toast-leave-to{opacity:0;transform:translateY(12px)scale(.97)}.ui-toast-leave-active{position:absolute}@media (prefers-reduced-motion:reduce){.ui-toast-enter-active,.ui-toast-leave-active,.ui-toast-move{transition:none}}.splash[data-v-14a493d1]{background:var(--splash-bg);z-index:100;place-items:center;display:grid;position:fixed;inset:0}.splash.done[data-v-14a493d1]{animation:.7s cubic-bezier(.7,0,.3,1) forwards splashOut-14a493d1}@keyframes splashOut-14a493d1{to{opacity:0;visibility:hidden}}.splash.done .logo[data-v-14a493d1]{animation:.7s cubic-bezier(.7,0,.3,1) forwards logoOut-14a493d1}@keyframes logoOut-14a493d1{to{filter:blur(2px);transform:scale(1.08)}}.logo[data-v-14a493d1]{aspect-ratio:1;width:min(78vmin,520px)}.logo svg[data-v-14a493d1]{width:100%;height:100%;display:block;overflow:visible}.arch-o[data-v-14a493d1],.arch-i[data-v-14a493d1]{fill:var(--logo);fill-opacity:0;stroke:var(--logo);stroke-dasharray:1;stroke-dashoffset:1px}.arch-o[data-v-14a493d1]{stroke-width:1.6px;animation:1.3s cubic-bezier(.65,0,.35,1) .15s forwards draw-14a493d1,.5s 1.25s forwards fill-14a493d1}.arch-i[data-v-14a493d1]{stroke-width:.8px;animation:1.1s cubic-bezier(.65,0,.35,1) .55s forwards draw-14a493d1,.4s 1.5s forwards fill-14a493d1}@keyframes draw-14a493d1{to{stroke-dashoffset:0}}@keyframes fill-14a493d1{to{fill-opacity:1;stroke-opacity:0}}.r[data-v-14a493d1]{fill:var(--logo);opacity:0;transform-origin:318px 292px}.r-back[data-v-14a493d1]{animation:.7s cubic-bezier(.2,.9,.25,1.15) 1.25s forwards unfoldBack-14a493d1}.r-front[data-v-14a493d1]{animation:.7s cubic-bezier(.2,.9,.25,1.15) 1.4s forwards unfoldFront-14a493d1}.r-stroke[data-v-14a493d1]{animation:.5s cubic-bezier(.2,.8,.2,1) 1.75s forwards slideIn-14a493d1}.r-notch[data-v-14a493d1]{animation:.5s cubic-bezier(.2,.8,.2,1) 1.85s forwards slideIn-14a493d1}@keyframes unfoldBack-14a493d1{0%{opacity:0;transform:scaleX(.05)translateY(14px)}to{opacity:1;transform:none}}@keyframes unfoldFront-14a493d1{0%{opacity:0;transform:scaleX(.05)translateY(-10px)}to{opacity:1;transform:none}}@keyframes slideIn-14a493d1{0%{opacity:0;transform:translate(-22px,-10px)}to{opacity:1;transform:none}}.l[data-v-14a493d1]{fill:var(--logo);opacity:0;animation:.55s cubic-bezier(.2,.8,.2,1) forwards rise-14a493d1;animation-delay:calc(1.9s + var(--i) * 70ms)}@keyframes rise-14a493d1{0%{opacity:0;transform:translateY(16px)scaleY(.85)}to{opacity:1;transform:none}}.a[data-v-14a493d1]{fill:var(--logo);opacity:0;animation:.5s forwards fadeIn-14a493d1;animation-delay:calc(2.35s + var(--i) * 55ms)}@keyframes fadeIn-14a493d1{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.spark[data-v-14a493d1]{opacity:0;transform-origin:317px 116px;animation:1s ease-out 1.15s forwards spark-14a493d1}@keyframes spark-14a493d1{0%{opacity:0;transform:scale(0)rotate(0)}40%{opacity:1;transform:scale(1.15)rotate(45deg)}to{opacity:0;transform:scale(.2)rotate(90deg)}}.bar[data-v-14a493d1]{bottom:calc(10vh + var(--nav-inset));background:color-mix(in srgb, var(--logo) 18%, transparent);border-radius:2px;width:120px;height:2px;position:absolute;left:50%;overflow:hidden;translate:-50%}.bar[data-v-14a493d1]:after{content:"";background:var(--logo);transform-origin:0;animation:3.6s cubic-bezier(.4,0,.2,1) forwards load-14a493d1;position:absolute;inset:0;transform:scaleX(0)}@keyframes load-14a493d1{60%{transform:scaleX(.7)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.arch-o[data-v-14a493d1],.arch-i[data-v-14a493d1]{fill-opacity:1;stroke-opacity:0;animation:none}.r[data-v-14a493d1],.l[data-v-14a493d1],.a[data-v-14a493d1]{animation:.4s forwards fadeIn-14a493d1}.spark[data-v-14a493d1]{display:none}}.ui-menu-trigger{width:var(--control-compact);height:var(--control-compact);border:1px solid var(--separator);background:var(--section-bg);color:var(--text);cursor:pointer;border-radius:10px;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.ui-menu-trigger svg{fill:currentColor;width:18px;height:18px}.ui-menu-trigger:disabled{opacity:.5;cursor:default}.ui-menu-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ui-option.danger{color:var(--danger)}.ui-option.disabled{opacity:.5;cursor:default}@media (hover:hover){.ui-option[role=menuitem]:not(.disabled):hover,.ui-menu-trigger:hover:not(:disabled){background:var(--hover)}}.announcement[data-v-a8c6785c]{padding:var(--space-4);gap:var(--space-2);border-radius:var(--radius-l);flex-direction:column;display:flex}header[data-v-a8c6785c]{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}h3[data-v-a8c6785c]{flex:200px;min-width:0;margin:0;font-size:16px;font-weight:700}.body[data-v-a8c6785c]{white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.5}.attachment[data-v-a8c6785c]{border:1px solid var(--separator);border-radius:var(--radius-m);max-width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;align-self:flex-start;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:flex}.attachment svg[data-v-a8c6785c]{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.attachment-name[data-v-a8c6785c]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.attachment-size[data-v-a8c6785c]{color:var(--hint);flex:none;font-size:12px}footer[data-v-a8c6785c]{color:var(--hint);flex-wrap:wrap;gap:4px 14px;font-size:12px;display:flex}.ui-alert{--alert-color:#2f7fd6;padding:var(--space-3) var(--space-4);align-items:flex-start;gap:var(--space-3);border:1px solid color-mix(in srgb, var(--alert-color) 30%, transparent);border-radius:var(--radius-m);background:color-mix(in srgb, var(--alert-color) 11%, var(--section-bg));color:var(--text);text-align:start;font-size:14px;line-height:1.45;display:flex}.ui-alert.success{--alert-color:var(--accent)}.ui-alert.warning{--alert-color:var(--warning)}.ui-alert.danger{--alert-color:var(--danger)}.ui-alert.neutral{--alert-color:var(--hint)}.ui-alert.outline{border-color:color-mix(in srgb, var(--alert-color) 55%, transparent);background:var(--section-bg)}.ui-alert.solid{border-color:var(--alert-color);background:var(--alert-color);color:#fff}.ui-alert.compact{padding:var(--space-2) var(--space-3);gap:var(--space-2);font-size:13px}.ui-alert-icon{height:1.45em;color:var(--alert-color);flex:none;align-items:center;display:flex}.ui-alert.solid .ui-alert-icon,.ui-alert.solid .ui-alert-close{color:inherit}.ui-alert-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.ui-alert.compact .ui-alert-icon svg{width:17px;height:17px}.ui-alert-body{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ui-alert-title{font-weight:700}.ui-alert-text{white-space:pre-line}.ui-alert-actions{margin-top:var(--space-2);gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-alert-close{width:28px;height:28px;color:var(--hint);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin:-4px -6px -4px 0;padding:0;display:grid}.ui-alert-close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:16px;height:16px}.ui-alert-close:focus-visible{outline:2px solid var(--alert-color)}@media (hover:hover){.ui-alert-close:hover{background:color-mix(in srgb, currentColor 14%, transparent)}}.ui-textarea{height:auto;padding:10px var(--space-3);cursor:text;align-items:stretch}.ui-textarea textarea{min-width:0;max-height:40vh;color:var(--text);resize:none;caret-color:var(--accent);field-sizing:content;background:0 0;border:0;outline:0;flex:1;padding:0;font-size:15px;line-height:1.5}.ui-textarea textarea::placeholder{color:var(--hint)}.ui-textarea:focus-within{border-color:var(--accent)}.lead-text[data-v-007e32f5]{color:var(--hint);margin:0;font-size:14px;line-height:1.45}.course[data-v-007e32f5]{padding:var(--space-4);align-items:flex-start;gap:var(--space-2);border-radius:var(--radius-l);flex-direction:column;display:flex}.course header[data-v-007e32f5]{flex-wrap:wrap;align-items:center;gap:8px 12px;width:100%;display:flex}.course h3[data-v-007e32f5]{flex:160px;margin:0;font-size:17px;font-weight:700}.meta[data-v-007e32f5],.description[data-v-007e32f5],.applied[data-v-007e32f5]{margin:0;font-size:14px;line-height:1.45}.meta[data-v-007e32f5]{color:var(--hint);font-size:13px}.description[data-v-007e32f5]{white-space:pre-line}.applied[data-v-007e32f5]{color:var(--accent);font-weight:600}.demos[data-v-007e32f5]{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.due[data-v-07842b89]{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.due strong[data-v-07842b89]{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.states[data-v-07842b89]{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:inline-flex}.dev[data-v-3f10a821]{--row:40px;--gap:6px;border:1px dashed var(--bg-secondary);gap:10px;padding:16px}.accounts[data-v-3f10a821]{width:100%;max-height:calc(3 * var(--row) + 2 * var(--gap));gap:var(--gap);overscroll-behavior:contain;scrollbar-width:none;border-radius:12px;flex-direction:column;display:flex;overflow-y:auto}.accounts[data-v-3f10a821]::-webkit-scrollbar{display:none}.account[data-v-3f10a821]{height:var(--row);flex:none;justify-content:space-between;align-items:center;margin-top:0;padding:0 14px;font-size:14px;display:flex}.role[data-v-3f10a821]{color:var(--hint);font-size:12px}.when[data-v-564212ec]{white-space:nowrap}.when strong[data-v-564212ec]{color:var(--text);font-variant-numeric:tabular-nums;margin-inline-end:6px;font-weight:600}.choices[data-v-5ee16e77]{gap:12px;width:100%;display:flex}.choice[data-v-5ee16e77]{border:1px solid var(--field-border);background:var(--field-bg);color:var(--text);cursor:pointer;border-radius:12px;flex:1;padding:14px 8px;font-size:16px;transition:background-color .2s}@media (hover:hover){.choice[data-v-5ee16e77]:hover{background:var(--field-bg-hover)}}.choice.selected[data-v-5ee16e77]{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent);color:var(--accent);font-weight:600}.consent[data-v-5ee16e77]{text-align:left;cursor:pointer;align-items:flex-start;gap:10px;width:100%;font-size:14px;display:flex}.consent input[data-v-5ee16e77]{width:20px;height:20px;accent-color:var(--accent);flex:none;margin:0}.consent a[data-v-5ee16e77]{color:var(--accent)}.progressive[data-v-9badc2aa]{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.progressive.natural[data-v-9badc2aa]{height:auto}.layer[data-v-9badc2aa]{width:100%;height:100%;position:absolute;inset:0}.thumb[data-v-9badc2aa]{filter:blur(12px);transform:scale(1.15)}.thumb.sharp[data-v-9badc2aa]{filter:none;transform:none}.thumb.gone[data-v-9badc2aa]{opacity:0;transition:opacity .2s .3s}.full[data-v-9badc2aa]{opacity:0;filter:blur(10px);transition:opacity .3s,filter .3s}.full.shown[data-v-9badc2aa]{opacity:1;filter:blur()}.full.instant[data-v-9badc2aa]{transition:none}.stack[data-v-5c991455]{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.reason[data-v-5c991455]{color:var(--hint);margin-top:4px;font-size:12px;display:block}.news-heading[data-v-5c991455]{justify-content:space-between;align-items:center;gap:12px;display:flex}.group-badges[data-v-5c991455]{gap:6px;display:inline-flex}.dashboard[data-v-5c991455]{text-align:start;align-items:stretch;gap:16px}.has-pattern[data-v-5c991455]{isolation:isolate;position:relative;overflow:hidden}.has-pattern[data-v-5c991455]:before{content:"";z-index:-1;background:var(--pattern-color,#fff);opacity:var(--pattern-opacity,0);-webkit-mask:var(--pattern-image,none) 0 0 / var(--pattern-size,40px) repeat;-webkit-mask:var(--pattern-image,none) 0 0 / var(--pattern-size,40px) repeat;mask:var(--pattern-image,none) 0 0 / var(--pattern-size,40px) repeat;pointer-events:none;position:absolute;inset:0}.hero[data-v-5c991455]{color:#fff;background:linear-gradient(135deg,#1f8a52,#2fae6b 55%,#19a88f);border-radius:20px;flex-wrap:wrap;align-items:center;gap:16px;padding:20px;display:flex}.hero .avatar[data-v-5c991455]{color:#fff;background:#ffffff2e;border:2px solid #fff9;width:64px;height:64px;font-size:22px}.who[data-v-5c991455]{flex:200px;min-width:0}.greeting[data-v-5c991455]{opacity:.85;margin:0;font-size:13px}.hero h1[data-v-5c991455]{text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:22px;font-weight:700;overflow:hidden}.meta[data-v-5c991455]{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0;font-size:14px;display:flex}.role[data-v-5c991455]{background:#fff3;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.hero-link[data-v-5c991455]{color:#1f8a52;background:#fff;border-radius:12px;flex:none;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .12s}.hero-link[data-v-5c991455]:active{opacity:.8}.hero-link[data-v-5c991455]:focus-visible{outline-offset:2px;outline:2px solid #fff}.tiles[data-v-5c991455]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width>=900px){.tiles[data-v-5c991455]{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media (width<=899px){.tile[data-v-5c991455]:last-child:nth-child(odd){grid-column:1/-1;min-height:0}}.tile[data-v-5c991455]{color:#fff;border-radius:18px;flex-direction:column;gap:10px;min-height:132px;padding:14px;text-decoration:none;transition:opacity .12s,transform .12s;display:flex;position:relative}.tile.green[data-v-5c991455]{background:linear-gradient(135deg,#1f9d57,#38c172)}.tile.teal[data-v-5c991455]{background:linear-gradient(135deg,#0f9488,#2bbfa6)}.tile.blue[data-v-5c991455]{background:linear-gradient(135deg,#1c7ed6,#3aa0e8)}.tile.violet[data-v-5c991455]{background:linear-gradient(135deg,#6d5bd0,#8f7ee7)}.tile.gold[data-v-5c991455]{background:linear-gradient(135deg,#d98a0b,#f0b429)}a.tile[data-v-5c991455]:active{opacity:.85;transform:scale(.98)}a.tile[data-v-5c991455]:focus-visible{outline:2px solid var(--text);outline-offset:2px}.tile-icon[data-v-5c991455]{background:#ffffff38;border-radius:12px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.tile-icon svg[data-v-5c991455]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.tile-text[data-v-5c991455]{flex-direction:column;gap:2px;display:flex}.tile-title[data-v-5c991455]{font-size:16px;font-weight:700}.tile-description[data-v-5c991455]{opacity:.9;font-size:12px;line-height:1.35}.tile.soon[data-v-5c991455]{opacity:.72}.tile-soon[data-v-5c991455]{background:#00000038;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600;position:absolute;top:12px;right:12px}.period[data-v-5c991455]{letter-spacing:0;text-transform:none;margin-inline-start:6px;font-weight:500}.metrics[data-v-5c991455]{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.metric[data-v-5c991455]{min-width:0;padding:var(--space-4);border-radius:var(--radius-l);color:var(--text);flex-direction:column;gap:4px;text-decoration:none;display:flex}.metric-label[data-v-5c991455]{color:var(--hint);font-size:13px}.metric strong[data-v-5c991455]{font-variant-numeric:tabular-nums;font-size:28px;font-weight:800;line-height:1.1}.metric strong.accent[data-v-5c991455]{color:var(--accent)}.metric strong.warning[data-v-5c991455]{color:var(--warning)}.metric strong.danger[data-v-5c991455]{color:var(--danger)}.metric strong.gold[data-v-5c991455]{color:var(--gold)}.metric-note[data-v-5c991455]{color:var(--hint);font-size:12px;line-height:1.35}.metric[data-v-5c991455]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=480px){.metric[data-v-5c991455]{padding:var(--space-3)}.metric strong[data-v-5c991455]{font-size:22px}}@media (prefers-reduced-motion:reduce){.tile[data-v-5c991455],.hero-link[data-v-5c991455]{transition:none}}.ui-input{cursor:text}.ui-input input{min-width:0;height:100%;color:var(--text);font-size:inherit;caret-color:var(--accent);background:0 0;border:0;outline:none;flex:1;padding:0}.ui-input input::placeholder{color:var(--hint);opacity:.8}.ui-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.ui-input-clear{width:28px;height:28px;color:var(--hint);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-right:-6px;padding:0;display:flex}.ui-input-clear svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:16px;height:16px}.ui-options{outline:none;margin:0;padding:6px;list-style:none;overflow-y:auto}.ui-option-group{color:var(--hint);letter-spacing:.02em;text-transform:uppercase;padding:8px 10px 4px;font-size:12px;font-weight:600}.ui-option{border-radius:var(--radius-s);cursor:pointer;align-items:center;gap:12px;min-height:40px;padding:8px 10px;font-size:15px;display:flex}.ui-option.active{background:var(--hover)}.ui-option.selected{color:var(--accent);font-weight:600}.ui-option-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.ui-option-note{color:var(--hint);font-size:12px;font-weight:400}.ui-option-check{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.sheet .ui-option{min-height:48px;font-size:16px}.ui-stepper{border:1px solid var(--separator);border-radius:var(--radius-m);background:var(--section-bg);flex:none;align-items:center;height:40px;padding:3px;transition:border-color .15s;display:inline-flex}.ui-stepper:focus-within{border-color:var(--accent)}.ui-stepper button{border-radius:var(--radius-s);background:var(--bg-secondary);width:34px;height:100%;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;border:0;justify-content:center;align-items:center;padding:0;display:flex}.ui-stepper button:active:not(:disabled){background:color-mix(in srgb, var(--text) 16%, var(--bg-secondary))}.ui-stepper button:disabled{opacity:.4;cursor:default}.ui-stepper button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ui-stepper svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:16px;height:16px}.ui-stepper-value{font-variant-numeric:tabular-nums;cursor:text;justify-content:center;align-items:center;gap:4px;min-width:84px;height:100%;padding:0 8px;font-size:15px;font-weight:600;display:flex}.ui-stepper-value input{min-width:0;color:inherit;font:inherit;text-align:center;caret-color:var(--accent);background:0 0;border:0;outline:0;padding:0}.ui-stepper-value input::selection{background:var(--accent-soft)}.ui-stepper.disabled .ui-stepper-value{opacity:.6;cursor:default}.outside[data-v-3875a184],.form[data-v-3875a184]{gap:var(--space-3);flex-direction:column;display:flex}.outside-head[data-v-3875a184],.amount[data-v-3875a184]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}h3[data-v-3875a184],.cell-note[data-v-3875a184]{margin:0}h3[data-v-3875a184]{font-size:15px;font-weight:600}.who[data-v-72e1e165]{align-items:center;gap:12px;display:flex}.rank[data-v-72e1e165]{background:var(--bg-secondary);width:30px;height:30px;color:var(--hint);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:inline-grid}.rank.top1[data-v-72e1e165]{background:var(--gold);color:#fff}.rank.top2[data-v-72e1e165]{color:#fff;background:#9aa4ad}.rank.top3[data-v-72e1e165]{color:#fff;background:#c08457}.coins[data-v-72e1e165]{color:var(--text);font-variant-numeric:tabular-nums;font-size:15px}.summary[data-v-1d7ce3e9]{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));display:grid}.total[data-v-1d7ce3e9]{padding:var(--space-5);border-radius:var(--radius-l);color:#fff;background:linear-gradient(135deg,#d98a0b,#f0b429);flex-direction:column;justify-content:center;gap:4px;display:flex}.total-label[data-v-1d7ce3e9]{opacity:.9;font-size:14px;font-weight:600}.total strong[data-v-1d7ce3e9]{font-variant-numeric:tabular-nums;font-size:40px;font-weight:800;line-height:1}.rules[data-v-1d7ce3e9]{padding:0 var(--space-4);border-radius:var(--radius-l);margin:0;list-style:none}.rules li[data-v-1d7ce3e9]{justify-content:space-between;align-items:center;gap:var(--space-3);padding:12px 0;font-size:14px;display:flex}.rules li+li[data-v-1d7ce3e9]{border-top:1px solid var(--separator)}.rules .off[data-v-1d7ce3e9]{color:var(--warning)}h2 .where[data-v-1d7ce3e9]{color:var(--hint);margin-inline-start:6px;font-size:13px;font-weight:500}.ui-switch{background:color-mix(in srgb, var(--text) 18%, transparent);cursor:pointer;border:0;border-radius:999px;flex:none;width:50px;height:30px;padding:3px;transition:background-color .18s}.ui-switch.on{background:var(--accent)}.ui-switch-knob{background:#fff;border-radius:50%;width:24px;height:24px;transition:translate .18s cubic-bezier(.3,.7,.2,1);display:block;box-shadow:0 1px 3px #00000040}.ui-switch.on .ui-switch-knob{translate:20px}.ui-switch:disabled{opacity:.5;cursor:default}.ui-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.ui-switch,.ui-switch-knob{transition:none}}.part[data-v-d45bc7ae]{margin:var(--space-2) 0 0;font-size:15px;font-weight:700}.suggest[data-v-d45bc7ae]{margin:var(--space-3) 0 0;flex-wrap:wrap;gap:6px;display:flex}.suggest .badge[data-v-d45bc7ae]{font:inherit;cursor:pointer;border:0;font-size:13px}.heading[data-v-d45bc7ae]{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.heading h2[data-v-d45bc7ae]{flex:1;min-width:0;margin:0;font-size:18px;font-weight:700}.program[data-v-d45bc7ae]{color:var(--hint);margin-inline-start:6px;font-size:13px;font-weight:500}.add[data-v-d45bc7ae]{padding:var(--space-4);align-items:flex-start;gap:var(--space-3);border-radius:var(--radius-l);flex-direction:column;display:flex}.add>.ui-field[data-v-d45bc7ae],.add-fields[data-v-d45bc7ae]{width:100%}.add-fields[data-v-d45bc7ae]{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));display:grid}.picker[data-v-d45bc7ae]{background:var(--bg);position:relative}.picker input[data-v-d45bc7ae]{opacity:0;cursor:pointer;position:absolute;inset:0}.picker .ui-field-value[data-v-d45bc7ae]{color:var(--hint)}.picker .ui-field-value.chosen[data-v-d45bc7ae]{color:var(--text)}.picker-hint[data-v-d45bc7ae]{color:var(--hint);flex:none;font-size:12px}@media (width<=640px){.picker-hint[data-v-d45bc7ae]{display:none}}.picker[data-v-d45bc7ae]:focus-within{border-color:var(--accent)}.allow[data-v-d45bc7ae]{align-items:center;gap:var(--space-3);cursor:pointer;display:flex}.group-chat[data-v-c446bbd7]{border-radius:var(--radius-l);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.skeleton.block[data-v-c446bbd7]{margin:var(--space-4);flex:1}.chat-list[data-v-c446bbd7]{min-height:0;padding:var(--space-3) var(--space-3) var(--space-2);overscroll-behavior:contain;flex-direction:column;flex:1;gap:2px;margin:0;list-style:none;display:flex;overflow-y:auto}.chat-empty[data-v-c446bbd7],.chat-start[data-v-c446bbd7]{color:var(--hint);text-align:center;font-size:14px}.chat-empty[data-v-c446bbd7]{margin:auto 0}.chat-start[data-v-c446bbd7]{padding:var(--space-2) 0 var(--space-3);font-size:12px}.chat-day[data-v-c446bbd7]{z-index:1;margin:var(--space-2) 0;pointer-events:none;justify-content:center;display:flex;position:sticky;top:0}.chat-day span[data-v-c446bbd7]{border:1px solid var(--separator);background:var(--section-bg);color:var(--hint);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.chat-row[data-v-c446bbd7]{border-radius:var(--radius-m);align-items:flex-end;gap:8px;transition:background-color .4s;display:flex}.chat-row.first[data-v-c446bbd7]{margin-top:8px}.chat-row.mine[data-v-c446bbd7]{justify-content:flex-end}.chat-row.highlighted[data-v-c446bbd7]{background:var(--accent-soft)}.chat-avatar[data-v-c446bbd7]{flex:none;width:32px}.chat-avatar .avatar[data-v-c446bbd7]{background:hsl(var(--hue) 45% 42%);color:#fff;width:32px;height:32px;font-size:12px}.chat-bubble[data-v-c446bbd7]{background:var(--bg-secondary);-webkit-touch-callout:none;border-radius:16px;flex-direction:column;gap:4px;min-width:96px;max-width:min(78%,560px);padding:7px 11px 6px;display:flex;position:relative}.chat-row.mine .chat-bubble[data-v-c446bbd7]{background:var(--accent-soft)}.chat-row.last:not(.mine) .chat-bubble[data-v-c446bbd7]{border-bottom-left-radius:5px}.chat-row.last.mine .chat-bubble[data-v-c446bbd7]{border-bottom-right-radius:5px}.chat-author[data-v-c446bbd7]{align-items:center;gap:6px;margin:0;font-size:13px;line-height:1.3;display:flex}.chat-author.mine-role[data-v-c446bbd7]{justify-content:flex-end}.chat-name[data-v-c446bbd7]{min-width:0;color:hsl(var(--hue) 55% 42%);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}:root[data-theme=dark] .chat-name[data-v-c446bbd7]{color:hsl(var(--hue) 60% 68%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .chat-name[data-v-c446bbd7]{color:hsl(var(--hue) 60% 68%)}}.chat-role[data-v-c446bbd7]{background:color-mix(in srgb, var(--text) 9%, transparent);color:var(--hint);border-radius:999px;flex:none;padding:1px 7px;font-size:11px;font-weight:600}.chat-reply[data-v-c446bbd7]{border:0;border-inline-start:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);min-width:0;color:inherit;font:inherit;text-align:start;cursor:pointer;border-radius:6px;flex-direction:column;gap:1px;padding:4px 8px;display:flex}.chat-reply-name[data-v-c446bbd7]{color:var(--accent);font-size:12px;font-weight:700}.chat-reply-text[data-v-c446bbd7]{overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.3;display:-webkit-box;overflow:hidden}.chat-image[data-v-c446bbd7]{background:var(--bg-secondary);cursor:zoom-in;border:0;border-radius:10px;width:min(100%,320px);max-height:320px;padding:0;overflow:hidden}.chat-file[data-v-c446bbd7]{background:color-mix(in srgb, var(--text) 6%, transparent);min-width:0;color:inherit;font:inherit;text-align:start;cursor:pointer;border:0;border-radius:10px;align-items:center;gap:10px;padding:6px 8px;display:flex}.chat-file svg[data-v-c446bbd7]{background:var(--accent);fill:none;width:32px;height:32px;stroke:var(--accent-text,#fff);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;border-radius:50%;flex:none;padding:5px}.chat-file-text[data-v-c446bbd7]{flex-direction:column;min-width:0;display:flex}.chat-file-name[data-v-c446bbd7]{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.chat-file-size[data-v-c446bbd7]{color:var(--hint);font-size:12px}.chat-text[data-v-c446bbd7]{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.4}.chat-time[data-v-c446bbd7]{color:var(--hint);white-space:nowrap;align-self:flex-end;margin-top:-2px;font-size:11px;line-height:1}.chat-more[data-v-c446bbd7]{top:4px;background:var(--bg-secondary);width:28px;height:28px;color:var(--hint);opacity:0;cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;inset-inline-end:-34px}.chat-row.mine .chat-more[data-v-c446bbd7]{inset-inline:-34px auto}.chat-more svg[data-v-c446bbd7]{fill:currentColor;width:16px;height:16px}.chat-bubble:hover .chat-more[data-v-c446bbd7],.chat-more[data-v-c446bbd7]:focus-visible{opacity:1}@media (pointer:coarse){.chat-more[data-v-c446bbd7]{display:none}}.chat-down[data-v-c446bbd7]{inset-inline-end:16px;z-index:2;border:1px solid var(--separator);background:var(--section-bg);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;bottom:76px;box-shadow:0 2px 8px #0000002e}.chat-down svg[data-v-c446bbd7],.chat-icon svg[data-v-c446bbd7],.chat-send svg[data-v-c446bbd7]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.chat-down-count[data-v-c446bbd7]{background:var(--accent);min-width:20px;color:var(--accent-text,#fff);border-radius:999px;padding:1px 6px;font-size:11px;font-weight:700;position:absolute;top:-8px}.chat-error[data-v-c446bbd7]{padding:6px var(--space-4);color:var(--danger);margin:0;font-size:13px}.chat-context[data-v-c446bbd7]{padding:6px var(--space-3);align-items:center;gap:var(--space-2);border-top:1px solid var(--separator);display:flex}.chat-context-text[data-v-c446bbd7]{border-inline-start:3px solid var(--accent);flex-direction:column;flex:1;min-width:0;padding-inline-start:8px;font-size:13px;line-height:1.35;display:flex}.chat-context-text strong[data-v-c446bbd7]{color:var(--accent)}.chat-context-text span[data-v-c446bbd7]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-form[data-v-c446bbd7]{padding:var(--space-2) var(--space-3);align-items:flex-end;gap:var(--space-2);border-top:1px solid var(--separator);display:flex}.chat-picker[data-v-c446bbd7]{opacity:0;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.chat-icon[data-v-c446bbd7],.chat-send[data-v-c446bbd7]{width:40px;height:40px;color:var(--hint);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.chat-icon[data-v-c446bbd7]:hover{background:var(--hover);color:var(--text)}.chat-send[data-v-c446bbd7]{background:var(--accent);color:var(--accent-text,#fff)}.chat-send[data-v-c446bbd7]:disabled{background:var(--bg-secondary);color:var(--hint);cursor:default}.chat-input[data-v-c446bbd7]{border:1px solid var(--field-border);background:var(--field-bg);min-width:0;min-height:40px;max-height:140px;color:var(--text);font:inherit;resize:none;scrollbar-width:thin;border-radius:20px;flex:1;padding:9px 14px;font-size:15px;line-height:1.4;overflow-y:hidden}.chat-input[data-v-c446bbd7]:focus-visible,.chat-icon[data-v-c446bbd7]:focus-visible,.chat-send[data-v-c446bbd7]:focus-visible,.chat-more[data-v-c446bbd7]:focus-visible,.chat-down[data-v-c446bbd7]:focus-visible,.chat-reply[data-v-c446bbd7]:focus-visible,.chat-file[data-v-c446bbd7]:focus-visible,.chat-image[data-v-c446bbd7]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chat-viewer[data-v-c446bbd7]{place-items:center;max-height:70vh;display:grid;overflow:auto}.chat-menu-layer{z-index:60;position:fixed;inset:0}.chat-menu{border:1px solid var(--separator);border-radius:var(--radius-m);background:var(--section-bg);width:220px;margin:0;padding:6px;list-style:none;position:fixed;box-shadow:0 8px 28px #00000038}.chat-menu button{width:100%;color:var(--text);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 12px;font-size:15px}.chat-menu button:hover,.chat-menu button:focus-visible{background:var(--hover);outline:none}.chat-menu button.danger{color:var(--danger)}.chat-page[data-v-bb29f098]{height:calc(100dvh - var(--page-inset-top) - var(--header-size) - 13px);flex:none;align-items:stretch}.with-nav .chat-page[data-v-bb29f098]{padding-bottom:calc(var(--nav-inset) + var(--page-gap))}.chat-page>.card[data-v-bb29f098]{min-height:0;margin-inline:auto}.switch[data-v-bb29f098]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.heading[data-v-bb29f098]{align-items:center;gap:12px;display:flex}.heading h2[data-v-bb29f098]{flex:1;margin:0;font-size:18px;font-weight:700}.compose[data-v-bb29f098]{padding:var(--space-4);align-items:flex-start;gap:var(--space-3);border-radius:var(--radius-l);flex-direction:column;display:flex}.compose>.ui-field[data-v-bb29f098]{width:100%}.compose .cell-note[data-v-bb29f098]{margin:0}.picker[data-v-bb29f098]{background:var(--bg);position:relative}.picker input[data-v-bb29f098]{opacity:0;cursor:pointer;position:absolute;inset:0}.picker .ui-field-value[data-v-bb29f098]{color:var(--hint)}.picker .ui-field-value.chosen[data-v-bb29f098]{color:var(--text)}.picker[data-v-bb29f098]:focus-within{border-color:var(--accent)}.tools[data-v-3f94872d]{text-align:start;grid-template-columns:1fr;align-items:stretch;gap:12px;padding-top:8px;display:grid}@media (width>=768px){.tools[data-v-3f94872d]{grid-template-columns:1fr 1fr}}.tool[data-v-3f94872d]{min-height:76px;color:var(--text);border-radius:16px;align-items:center;gap:12px;padding:14px 12px 14px 14px;text-decoration:none;transition:background-color .2s,opacity .12s;display:flex}a.tool[data-v-3f94872d]:active{opacity:.7}a.tool[data-v-3f94872d]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover){a.tool[data-v-3f94872d]:hover{background:color-mix(in srgb, var(--text) 4%, var(--section-bg))}}.icon[data-v-3f94872d]{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.icon svg[data-v-3f94872d],.chevron[data-v-3f94872d]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.icon svg[data-v-3f94872d]{width:22px;height:22px}.text[data-v-3f94872d]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.title[data-v-3f94872d]{font-size:16px;font-weight:600}.description[data-v-3f94872d]{color:var(--hint);font-size:13px;line-height:1.4}.chevron[data-v-3f94872d]{width:18px;height:18px;color:var(--hint);opacity:.6;flex:none}.soon .icon[data-v-3f94872d]{background:var(--bg-secondary);color:var(--hint)}.soon .text[data-v-3f94872d]{opacity:.6}@media (prefers-reduced-motion:reduce){.tool[data-v-3f94872d]{transition:none}}.ui-calendar{flex-direction:column;gap:8px;width:296px;padding:12px;display:flex}.sheet .ui-calendar{align-self:stretch;gap:12px;width:auto;padding:16px}.sheet .ui-calendar-title{font-size:17px}.sheet .ui-calendar-nav{width:44px;height:44px}.sheet .ui-calendar-nav svg{width:22px;height:22px}.sheet .ui-calendar-grid{gap:4px}.sheet .ui-calendar-weekday{font-size:13px}.sheet .ui-calendar-day{font-size:17px}.sheet .ui-calendar-today{padding:10px 20px;font-size:16px}.ui-calendar-head{align-items:center;gap:8px;display:flex}.ui-calendar-title{text-align:center;flex:1;font-size:15px;font-weight:700}.ui-calendar-nav{width:36px;height:36px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.ui-calendar-nav svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.ui-calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.ui-calendar-weekday{color:var(--hint);text-align:center;padding:4px 0;font-size:12px;font-weight:600}.ui-calendar-day{aspect-ratio:1;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;font-size:14px}.ui-calendar-day.today{color:var(--accent);font-weight:700}.ui-calendar-day.cursor{box-shadow:inset 0 0 0 1px var(--accent)}.ui-calendar-day.selected{background:var(--accent);color:var(--accent-text);font-weight:700}.ui-calendar-today{border-radius:var(--radius-s);color:var(--accent);cursor:pointer;background:0 0;border:0;align-self:center;padding:6px 12px;font-size:14px;font-weight:600}@media (hover:hover){.ui-calendar-nav:hover,.ui-calendar-day:not(.selected):hover,.ui-calendar-today:hover{background:var(--hover)}}.ui-time{--wheel-item:40px;--wheel-rows:5;flex-direction:column;gap:10px;min-width:232px;padding:12px;display:flex}.ui-time-display{border-radius:var(--radius-m);background:var(--bg-secondary);width:100%;height:46px;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:center;caret-color:var(--accent);border:1px solid #0000;outline:0;padding:0;font-size:26px;font-weight:700}.ui-time-display:focus{border-color:var(--accent);background:var(--section-bg)}.ui-time-wheels{height:calc(var(--wheel-item) * var(--wheel-rows));grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:relative}.ui-time-band{inset-inline:0;height:var(--wheel-item);border-radius:var(--radius-m);background:var(--accent-soft);pointer-events:none;position:absolute;top:50%;translate:0 -50%}.ui-time-colon{color:var(--accent);padding:0 2px 3px;font-size:20px;font-weight:700;position:relative}.ui-time-wheel{height:100%;padding:calc(var(--wheel-item) * (var(--wheel-rows) - 1) / 2) 0;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;outline:0;margin:0;list-style:none;position:relative;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 32% 68%,#0000);mask-image:linear-gradient(#0000,#000 32% 68%,#0000)}.ui-time-wheel::-webkit-scrollbar{display:none}.ui-time-wheel:focus-visible{border-radius:var(--radius-m);box-shadow:inset 0 0 0 2px var(--accent)}.ui-time-item{height:var(--wheel-item);scroll-snap-align:center;color:var(--hint);font-variant-numeric:tabular-nums;cursor:pointer;justify-content:center;align-items:center;font-size:17px;transition:color .15s,font-size .15s;display:flex}.ui-time-item.selected{color:var(--accent);font-size:21px;font-weight:700}@media (hover:hover){.ui-time-item:not(.selected):hover{color:var(--text)}}.ui-time-footer{align-items:center;gap:6px;display:flex}.ui-time-chip{border:1px solid var(--separator);background:var(--section-bg);height:32px;color:var(--text);cursor:pointer;border-radius:999px;padding:0 10px;font-size:13px;font-weight:500}.ui-time-chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.ui-time-done{background:var(--accent);height:32px;color:var(--accent-text);cursor:pointer;border:0;border-radius:999px;margin-inline-start:auto;padding:0 14px;font-size:13px;font-weight:700}.ui-time-footer button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sheet .ui-time{--wheel-item:46px;padding:16px}.sheet .ui-time-display{height:52px;font-size:30px}.sheet .ui-time-chip,.sheet .ui-time-done{height:38px;font-size:14px}@media (prefers-reduced-motion:reduce){.ui-time-item{transition:none}}.ui-datetime{gap:8px;min-width:0;display:flex}.ui-datetime>.ui-field:first-child{flex:2 150px}.ui-datetime>.ui-field:last-child{flex:96px}.attached-head[data-v-c3a426c2]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}h2[data-v-c3a426c2],.cell-note[data-v-c3a426c2]{margin:0}.material[data-v-c3a426c2]{width:100%;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0}h2[data-v-0d596086]{margin:0}.lesson-chat[data-v-0d596086]{max-height:360px;padding:var(--space-3);gap:var(--space-2);border-radius:var(--radius-l);flex-direction:column;margin:0;list-style:none;display:flex;overflow-y:auto}.lesson-chat li[data-v-0d596086]{flex-direction:column;gap:2px;display:flex}.lesson-chat-meta[data-v-0d596086]{color:var(--hint);font-size:12px}.lesson-chat li.mine .lesson-chat-meta[data-v-0d596086]{color:var(--accent)}.lesson-chat-text[data-v-0d596086]{overflow-wrap:anywhere;font-size:15px;line-height:1.4}.protected[data-v-54207c72]{border-radius:var(--radius-m);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;position:relative;overflow:hidden}.protected.full[data-v-54207c72]{background:#000;border-radius:0;place-items:center;display:grid}.protected.full [data-v-54207c72-s]{width:100%;height:100%;max-height:100vh}.protected-mark[data-v-54207c72]{z-index:2;color:#ffffff8c;letter-spacing:.02em;white-space:nowrap;text-shadow:0 0 2px #000c,0 0 6px #00000080;pointer-events:none;max-width:80%;padding:2px 6px;font-size:clamp(11px,2.4vw,15px);font-weight:600;transition:left 1.2s,top 1.2s;position:absolute}.protected-full[data-v-54207c72]{z-index:3;color:#fff;cursor:pointer;background:#0000008c;border:0;border-radius:10px;place-items:center;width:36px;height:36px;padding:0;display:grid;position:absolute;inset:8px 8px auto auto}.protected-full svg[data-v-54207c72]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.protected-full[data-v-54207c72]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.protected-mark[data-v-54207c72]{transition:none}}.upload[data-v-3ccadee2]{background:var(--bg);position:relative}.upload input[data-v-3ccadee2]{opacity:0;cursor:pointer;position:absolute;inset:0}.upload .ui-field-value[data-v-3ccadee2]{color:var(--hint)}.heading[data-v-3ccadee2]{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.heading h2[data-v-3ccadee2]{flex:1;min-width:0;margin:0;font-size:18px;font-weight:700}h3[data-v-3ccadee2]{margin-top:4px}.recording[data-v-3ccadee2]{border-radius:var(--radius-m);background:#000;width:100%;max-height:70vh;display:block}.recording.embed[data-v-3ccadee2]{aspect-ratio:16/9;border:0;max-height:none}.manage[data-v-3ccadee2]{align-self:flex-start}.marking[data-v-3ccadee2]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.note[data-v-3ccadee2]{width:var(--control-compact);height:var(--control-compact);border:1px solid var(--separator);background:var(--section-bg);color:var(--hint);border-radius:10px}.note svg[data-v-3ccadee2]{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.note[data-v-3ccadee2]:disabled{opacity:.35;cursor:default}.note.filled[data-v-3ccadee2]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.coin-note.filled[data-v-3ccadee2]{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 16%, transparent);color:var(--gold)}.note.needed[data-v-3ccadee2]{border-color:var(--danger);color:var(--danger)}.lesson-note[data-v-3ccadee2]{white-space:normal}.coins.plus[data-v-3ccadee2] .ui-stepper-value{color:var(--accent)}.coins.minus[data-v-3ccadee2] .ui-stepper-value{color:var(--danger)}.delegate[data-v-3ccadee2]{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.delegate .ui-field[data-v-3ccadee2]{flex:200px;max-width:320px}.otp[data-v-3c86be0a]{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.code[data-v-3c86be0a]{text-align:center;letter-spacing:.4em;font-variant-numeric:tabular-nums;font-size:22px}.avatar-picker[data-v-b2419416]{padding:var(--space-4);border-radius:var(--radius-l);align-items:center;gap:var(--space-4);cursor:pointer;display:flex;position:relative}.avatar-picker .avatar[data-v-b2419416]{width:72px;height:72px;font-size:24px}.avatar-badge[data-v-b2419416]{top:calc(var(--space-4) + 46px);border:2px solid var(--section-bg);background:var(--accent);width:28px;height:28px;color:var(--accent-text,#fff);border-radius:50%;place-items:center;display:grid;position:absolute;inset-inline-start:calc(var(--space-4) + 46px)}.avatar-badge svg[data-v-b2419416]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.who[data-v-b2419416]{align-items:flex-start;gap:6px}.who .cell-note[data-v-b2419416]{margin:0}.file[data-v-b2419416]{opacity:0;cursor:pointer;position:absolute;inset:0}.fields[data-v-b2419416]{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));display:grid}.fields .ui-segmented[data-v-b2419416]{height:var(--control);align-items:center}.fields .ui-segmented .ui-segment[data-v-b2419416]{height:100%}.detail[data-v-b2419416]{margin:0}.field input[data-v-b2419416]:disabled{color:var(--hint);cursor:default}.section>.cell-note[data-v-b2419416]{margin:0}.text-button.inline[data-v-b2419416]{padding:0;display:inline}.logout[data-v-b2419416],.save[data-v-b2419416]{align-self:flex-start;width:auto;min-width:200px}.actions[data-v-db19b225]{gap:var(--space-2);flex-wrap:wrap;display:flex}.actions .btn[data-v-db19b225]{flex:180px}.matrix-wrap[data-v-8a22bc40]{border:1px solid var(--separator);border-radius:var(--radius-m,12px);background:var(--section-bg);overflow-x:auto}.matrix[data-v-8a22bc40]{border-collapse:collapse;width:100%;font-size:14px}.matrix th[data-v-8a22bc40],.matrix td[data-v-8a22bc40]{border-bottom:1px solid var(--separator);text-align:center;white-space:nowrap;padding:8px 6px}.matrix tfoot th[data-v-8a22bc40],.matrix tfoot td[data-v-8a22bc40]{color:var(--hint);border-bottom:0;font-size:13px;font-weight:600}.matrix thead th[data-v-8a22bc40]{color:var(--hint);font-size:12px;font-weight:600}.matrix .name[data-v-8a22bc40]{z-index:1;background:var(--section-bg);text-align:start;text-overflow:ellipsis;max-width:46vw;padding-inline:12px;position:sticky;inset-inline-start:0;overflow:hidden}.who[data-v-8a22bc40]{max-width:100%;color:var(--text);font:inherit;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;overflow:hidden}.who[data-v-8a22bc40]:hover{color:var(--accent)}.who[data-v-8a22bc40]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mark[data-v-8a22bc40]{min-width:1.4em;font-weight:700;display:inline-block}.mark.none[data-v-8a22bc40]{color:var(--hint)}.mark.submitted[data-v-8a22bc40]{color:var(--gold)}.mark.accepted[data-v-8a22bc40]{color:var(--accent)}.mark.returned[data-v-8a22bc40]{color:var(--danger)}.legend[data-v-8a22bc40]{color:var(--hint);flex-wrap:wrap;gap:4px 16px;margin:0;font-size:12px;display:flex}.heading[data-v-7f728054]{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.heading h2[data-v-7f728054]{flex:1;min-width:0;margin:0;font-size:18px;font-weight:700}.description[data-v-7f728054]{white-space:pre-line;font-size:15px;line-height:1.45}.cell-title[data-v-7f728054]{white-space:normal}.comment[data-v-7f728054]{color:var(--danger);font-size:13px}.answer[data-v-7f728054]{flex-wrap:wrap;flex:100%;align-items:center;gap:8px;display:flex}.answer .ui-input[data-v-7f728054]{flex:200px}.student[data-v-7f728054]{width:100%;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0}.student[data-v-7f728054]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.answers[data-v-7f728054]{border-top:1px solid var(--separator);background:var(--bg-secondary);margin:0;padding:0;list-style:none}.answers>li+li[data-v-7f728054]{border-top:1px solid var(--separator)}.manage[data-v-7f728054]{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}
