.ui-alert[data-v-dd4b21dc]{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-normal)}.ui-alert__icon[data-v-dd4b21dc]{flex:none;margin-top:1px}.ui-alert--danger[data-v-dd4b21dc]{background:var(--color-danger-soft);color:var(--color-danger)}.ui-alert--warning[data-v-dd4b21dc]{background:var(--color-warning-soft);color:var(--color-warning-text)}.ui-alert--info[data-v-dd4b21dc]{background:var(--color-info-soft);color:var(--color-info)}.ui-alert--success[data-v-dd4b21dc]{background:var(--color-success-soft);color:var(--color-success)}.ui-alert__body[data-v-dd4b21dc]{color:var(--color-text)}.ui-checkbox[data-v-675c161b]{display:inline-flex;align-items:flex-start;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none}.ui-checkbox__input[data-v-675c161b]{position:absolute;opacity:0;pointer-events:none}.ui-checkbox__box[data-v-675c161b]{flex:none;display:grid;place-items:center;width:22px;height:22px;margin-top:1px;border:1.5px solid var(--color-border-strong);border-radius:7px;background:var(--color-surface);color:transparent;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.ui-checkbox__input:checked+.ui-checkbox__box[data-v-675c161b]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.ui-checkbox__input:focus-visible+.ui-checkbox__box[data-v-675c161b]{box-shadow:var(--shadow-focus)}.ui-checkbox__label[data-v-675c161b]{font-size:var(--text-md)}.ui-checkbox--disabled[data-v-675c161b]{cursor:not-allowed;opacity:.5}.ui-spinner[data-v-d88ae2ce]{animation:ui-spinner-rotate-d88ae2ce .8s linear infinite}@keyframes ui-spinner-rotate-d88ae2ce{to{transform:rotate(360deg)}}.ui-button[data-v-87e0e637]{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-md);padding:0 var(--space-5);border:1px solid transparent;border-radius:var(--radius-pill);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:1;white-space:nowrap;text-decoration:none;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.ui-button[data-v-87e0e637]:hover{text-decoration:none}.ui-button[data-v-87e0e637]:active:not(:disabled){transform:scale(.98)}.ui-button[data-v-87e0e637]:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.ui-button[data-v-87e0e637]:disabled{cursor:not-allowed;opacity:.5}.ui-button__content[data-v-87e0e637]{display:inline-flex;align-items:center;gap:var(--space-2)}.ui-button--loading .ui-button__content[data-v-87e0e637]{visibility:hidden}.ui-button__spinner[data-v-87e0e637]{position:absolute}.ui-button--sm[data-v-87e0e637]{height:var(--control-sm);padding:0 var(--space-4);font-size:var(--text-sm)}.ui-button--lg[data-v-87e0e637]{height:var(--control-lg);padding:0 var(--space-6)}.ui-button--block[data-v-87e0e637]{width:100%}.ui-button--primary[data-v-87e0e637]{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm)}.ui-button--primary[data-v-87e0e637]:hover:not(:disabled){background:var(--color-primary-hover)}.ui-button--secondary[data-v-87e0e637]{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.ui-button--secondary[data-v-87e0e637]:hover:not(:disabled){background:var(--color-surface-muted)}.ui-button--ghost[data-v-87e0e637]{background:transparent;color:var(--color-text-secondary)}.ui-button--ghost[data-v-87e0e637]:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text)}.ui-button--danger[data-v-87e0e637]{background:var(--color-danger);color:var(--color-on-danger)}.ui-button--danger[data-v-87e0e637]:hover:not(:disabled){filter:brightness(.95)}.ui-dialog[data-v-3f2d60ea]{width:min(calc(100% - 2 * var(--gutter)),460px);max-height:calc(100dvh - 2 * var(--gutter));margin:auto;padding:0;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-lg)}.ui-dialog[data-v-3f2d60ea]::backdrop{background:var(--color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ui-dialog[open][data-v-3f2d60ea]{animation:ui-dialog-in-3f2d60ea var(--duration-normal) var(--ease-out)}@keyframes ui-dialog-in-3f2d60ea{0%{opacity:0;transform:translateY(8px) scale(.98)}}.ui-dialog__panel[data-v-3f2d60ea]{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6)}.ui-dialog__title[data-v-3f2d60ea]{font-size:var(--text-xl);overflow-wrap:break-word}.ui-dialog__description[data-v-3f2d60ea]{color:var(--color-text-secondary)}.ui-dialog__body[data-v-3f2d60ea]{margin-top:var(--space-1)}.ui-dialog__actions[data-v-3f2d60ea]{display:flex;flex-direction:column-reverse;gap:var(--space-2);margin-top:var(--space-3)}@media(min-width:720px){.ui-dialog__actions[data-v-3f2d60ea]{flex-direction:row;justify-content:flex-end}}.logout-dialog[data-v-d9b20dd3]{display:flex;flex-direction:column;gap:var(--space-3)}.logout-dialog__option[data-v-d9b20dd3]{display:flex;flex-direction:column;gap:var(--space-1)}.logout-dialog__hint[data-v-d9b20dd3]{padding-left:calc(22px + var(--space-3));font-size:var(--text-sm);color:var(--color-text-muted)}.account-menu[data-v-8edec564]{position:relative}.account-menu__trigger[data-v-8edec564]{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-md);padding:0 var(--space-2) 0 5px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs);transition:background var(--duration-fast) var(--ease-out)}.account-menu__trigger[data-v-8edec564]:hover,.account-menu__trigger--open[data-v-8edec564]{background:var(--color-surface-muted)}.account-menu__trigger[data-v-8edec564]:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.account-menu__avatar[data-v-8edec564]{position:relative;display:grid;flex:none;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent-strong);font-weight:var(--weight-bold)}.account-menu__avatar--local[data-v-8edec564]{background:var(--color-surface-muted);color:var(--color-text-secondary)}.account-menu__alert[data-v-8edec564]{position:absolute;top:-1px;right:-1px;width:10px;height:10px;border:2px solid var(--color-surface);border-radius:50%;background:var(--color-warning)}.account-menu__label[data-v-8edec564]{display:none;max-width:160px;overflow:hidden;font-size:var(--text-sm);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap}.account-menu__label--local[data-v-8edec564]{color:var(--color-text-secondary)}.account-menu__chevron[data-v-8edec564]{color:var(--color-text-muted)}@media(min-width:720px){.account-menu__label[data-v-8edec564]{display:inline}}.account-menu__popover[data-v-8edec564]{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:var(--z-popover);display:flex;flex-direction:column;gap:2px;width:max-content;min-width:240px;max-width:calc(100vw - 2 * var(--gutter));padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.account-menu__head[data-v-8edec564]{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-1);padding:var(--space-2) var(--space-3) var(--space-3);border-bottom:1px solid var(--color-border)}.account-menu__head-title[data-v-8edec564]{font-weight:var(--weight-semibold);overflow-wrap:anywhere}.account-menu__head-hint[data-v-8edec564]{font-size:var(--text-xs);color:var(--color-text-muted)}.account-menu__head-hint--signed-out[data-v-8edec564]{color:var(--color-warning-text)}.account-menu__item[data-v-8edec564]{display:flex;align-items:center;gap:var(--space-3);min-height:40px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:none;color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:left;text-decoration:none}.account-menu__item svg[data-v-8edec564]{flex:none;color:var(--color-text-secondary)}.account-menu__item[data-v-8edec564]:hover,.account-menu__item[data-v-8edec564]:focus-visible{outline:none;background:var(--color-surface-muted);text-decoration:none}.account-menu__item--accent[data-v-8edec564],.account-menu__item--accent svg[data-v-8edec564]{color:var(--color-accent-strong)}.account-menu-enter-active[data-v-8edec564],.account-menu-leave-active[data-v-8edec564]{transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.account-menu-enter-from[data-v-8edec564],.account-menu-leave-to[data-v-8edec564]{opacity:0;transform:translateY(-4px)}.api-status[data-v-71afe43a]{display:inline-block}.api-status__cursor[data-v-71afe43a]{display:inline-block;font-family:var(--font-mono);font-weight:700;color:var(--color-text-muted);animation:api-status-blink-71afe43a 1s steps(1,end) infinite}.api-status--ok .api-status__cursor[data-v-71afe43a]{color:var(--color-accent)}.api-status--degraded .api-status__cursor[data-v-71afe43a]{color:var(--color-warning)}.api-status--error .api-status__cursor[data-v-71afe43a]{color:var(--color-danger)}@keyframes api-status-blink-71afe43a{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.api-status__cursor[data-v-71afe43a]{animation:none}}.app-footer[data-v-c3a12ee6]{border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-muted)}.app-footer--compact[data-v-c3a12ee6]{border-top:0}.app-footer__inner[data-v-c3a12ee6]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-6);padding-block:var(--space-5)}.app-footer__links[data-v-c3a12ee6]{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}.app-footer__links a[data-v-c3a12ee6]{color:var(--color-text-secondary)}.app-footer__external[data-v-c3a12ee6]{display:inline-flex;align-items:center;gap:var(--space-1)}.app-footer__status[data-v-c3a12ee6]{margin-left:auto;font-family:var(--font-mono)}.app-footer__prompt[data-v-c3a12ee6]{margin-right:.6ch;color:var(--color-text-muted)}.ui-icon-button[data-v-da30d58b]{display:grid;place-items:center;width:var(--control-md);height:var(--control-md);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.ui-icon-button[data-v-da30d58b]:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text)}.ui-icon-button[data-v-da30d58b]:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.ui-icon-button[data-v-da30d58b]:disabled{cursor:not-allowed;opacity:.4}.ui-icon-button--solid[data-v-da30d58b]{border-color:var(--color-border);border-radius:50%;background:var(--color-surface);box-shadow:var(--shadow-xs)}.ui-icon-button--active[data-v-da30d58b]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.ui-progress[data-v-d0222436]{height:6px;border-radius:var(--radius-pill);background:var(--color-surface-sunken);overflow:hidden}.ui-progress__bar[data-v-d0222436]{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--color-accent) 45%,var(--color-surface)),var(--color-accent));transition:width var(--duration-slow) var(--ease-out)}.rotation-banner[data-v-1e675cd2]{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-6);padding:var(--space-4) var(--space-5);border:1px solid var(--color-warning);border-radius:var(--radius-lg);background:var(--color-warning-soft)}.rotation-banner--running[data-v-1e675cd2],.rotation-banner--notice[data-v-1e675cd2]{border-color:var(--color-border);background:var(--color-surface-muted)}.rotation-banner--failed[data-v-1e675cd2]{border-color:var(--color-danger);background:var(--color-danger-soft)}.rotation-banner--done[data-v-1e675cd2]{border-color:var(--color-border);background:var(--color-success-soft)}.rotation-banner__icon[data-v-1e675cd2]{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-warning-text)}.rotation-banner--running .rotation-banner__icon[data-v-1e675cd2],.rotation-banner--done .rotation-banner__icon[data-v-1e675cd2]{color:var(--color-accent-strong)}.rotation-banner--failed .rotation-banner__icon[data-v-1e675cd2]{color:var(--color-danger)}.rotation-banner--notice .rotation-banner__icon[data-v-1e675cd2]{color:var(--color-text-secondary)}.rotation-banner__body[data-v-1e675cd2]{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.rotation-banner__title[data-v-1e675cd2]{padding-top:var(--space-2);font-size:var(--text-md);line-height:var(--leading-tight)}.rotation-banner__text[data-v-1e675cd2]{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text)}.rotation-banner__progress[data-v-1e675cd2]{margin-top:var(--space-2)}.rotation-banner__actions[data-v-1e675cd2]{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}@media(min-width:720px){.rotation-banner[data-v-1e675cd2]{grid-template-columns:auto 1fr auto;align-items:start}.rotation-banner__actions[data-v-1e675cd2]{grid-column:3;align-self:center;flex-wrap:nowrap}}.locale-switcher[data-v-05140434]{display:inline-flex;padding:3px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface)}.locale-switcher__button[data-v-05140434]{min-width:34px;height:28px;padding:0 var(--space-2);border:0;border-radius:var(--radius-pill);background:transparent;font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;color:var(--color-text-muted)}.locale-switcher__button[data-v-05140434]:hover{color:var(--color-text)}.locale-switcher__button--active[data-v-05140434]{background:var(--color-primary);color:var(--color-on-primary)}.locale-switcher__button--active[data-v-05140434]:hover{color:var(--color-on-primary)}.recovery-banner[data-v-bf2eb40b]{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-6);padding:var(--space-4) var(--space-5);border:1px solid var(--color-warning);border-radius:var(--radius-lg);background:var(--color-warning-soft)}.recovery-banner--done[data-v-bf2eb40b]{border-color:var(--color-border);background:var(--color-success-soft)}.recovery-banner__icon[data-v-bf2eb40b]{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-warning-text)}.recovery-banner--done .recovery-banner__icon[data-v-bf2eb40b]{color:var(--color-accent-strong)}.recovery-banner__body[data-v-bf2eb40b]{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.recovery-banner__title[data-v-bf2eb40b]{font-size:var(--text-md);line-height:var(--leading-tight);padding-top:var(--space-2)}.recovery-banner__text[data-v-bf2eb40b]{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text)}.recovery-banner__hint[data-v-bf2eb40b]{font-size:var(--text-sm);color:var(--color-text-secondary)}.recovery-banner__action[data-v-bf2eb40b],.recovery-banner__actions[data-v-bf2eb40b]{grid-column:1 / -1}.recovery-banner__actions[data-v-bf2eb40b]{display:flex;align-items:center;gap:var(--space-2)}@media(min-width:720px){.recovery-banner[data-v-bf2eb40b]{grid-template-columns:auto 1fr auto;align-items:start}.recovery-banner__action[data-v-bf2eb40b],.recovery-banner__actions[data-v-bf2eb40b]{grid-column:3;align-self:center}}.sync-indicator[data-v-28137a6d]{position:relative}.sync-indicator--ok[data-v-28137a6d]{color:var(--color-accent-strong)}.sync-indicator--busy[data-v-28137a6d],.sync-indicator--muted[data-v-28137a6d]{color:var(--color-text-secondary)}.sync-indicator--warning[data-v-28137a6d]{color:var(--color-warning-text)}.sync-indicator--danger[data-v-28137a6d]{color:var(--color-danger)}.sync-indicator__icon--spin[data-v-28137a6d]{animation:sync-indicator-spin-28137a6d 1s linear infinite}.sync-indicator__badge[data-v-28137a6d]{position:absolute;top:2px;right:2px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 var(--space-1);border:1px solid var(--color-warning);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-warning-text);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:1}@keyframes sync-indicator-spin-28137a6d{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.sync-indicator__icon--spin[data-v-28137a6d]{animation:none}}.theme-switcher[data-v-1dee6da8]{width:36px;height:36px}.ui-logo[data-v-0c3fe7d7]{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-logo)}.ui-logo__mark[data-v-0c3fe7d7]{display:inline-flex}.ui-logo__word[data-v-0c3fe7d7]{white-space:nowrap;font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--color-text)}.ui-logo--responsive .ui-logo__word[data-v-0c3fe7d7]{display:none}@media(min-width:720px){.ui-logo--responsive .ui-logo__word[data-v-0c3fe7d7]{display:inline}}.app-layout[data-v-5f3b3e66]{min-height:100dvh;padding-bottom:var(--tabbar-height)}.app-layout__sidebar[data-v-5f3b3e66]{display:none}@media(min-width:720px){.app-layout[data-v-5f3b3e66]{padding-bottom:0;padding-left:calc(var(--sidebar-width) + var(--space-4))}.app-layout__sidebar[data-v-5f3b3e66]{position:fixed;inset:var(--space-4) auto var(--space-4) var(--space-4);z-index:var(--z-nav);display:flex;flex-direction:column;align-items:center;gap:var(--space-6);width:var(--sidebar-width);padding:var(--space-4) 0;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-glass);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4)}}.app-layout__logo[data-v-5f3b3e66]{display:inline-flex}.app-layout__nav[data-v-5f3b3e66]{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.app-layout__header[data-v-5f3b3e66]{position:sticky;top:0;z-index:var(--z-sticky);background:color-mix(in srgb,var(--color-bg) 80%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-layout__header-inner[data-v-5f3b3e66]{display:flex;align-items:center;gap:var(--space-4);height:var(--header-height)}.app-layout__header-logo[data-v-5f3b3e66]{display:inline-flex}.app-layout__title[data-v-5f3b3e66]{display:none;font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight)}.app-layout__actions[data-v-5f3b3e66]{display:flex;align-items:center;gap:var(--space-3);margin-left:auto}@media(min-width:720px){.app-layout__header-logo[data-v-5f3b3e66]{display:none}.app-layout__title[data-v-5f3b3e66]{display:block}}.app-layout__main[data-v-5f3b3e66]{display:flex;flex-direction:column;min-height:100dvh}.app-layout__content[data-v-5f3b3e66]{flex:1;padding-block:var(--space-6) var(--space-12)}.app-layout__tabbar[data-v-5f3b3e66]{position:fixed;inset:auto 0 0;z-index:var(--z-nav);display:grid;grid-template-columns:repeat(4,1fr);height:var(--tabbar-height);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--color-border);background:var(--color-glass);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4)}.app-layout__tab[data-v-5f3b3e66]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;font-weight:var(--weight-semibold);color:var(--color-text-muted);text-decoration:none}.app-layout__tab[data-v-5f3b3e66]:hover{text-decoration:none}.app-layout__tab--active[data-v-5f3b3e66]{color:var(--color-text)}.app-layout__tab--soon[data-v-5f3b3e66]{opacity:.45}@media(min-width:720px){.app-layout__tabbar[data-v-5f3b3e66]{display:none}}.app-layout__skip[data-v-5f3b3e66]{position:fixed;top:var(--space-3);left:var(--space-3);z-index:var(--z-toast);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none;transform:translateY(calc(-100% - var(--space-6)));transition:transform var(--duration-fast) var(--ease-out)}.app-layout__skip[data-v-5f3b3e66]:focus-visible{outline:none;box-shadow:var(--shadow-focus);transform:none}.app-layout__content[data-v-5f3b3e66]:focus{outline:none}.auth-layout[data-v-ff81f68c]{position:relative;display:flex;flex-direction:column;min-height:100dvh;overflow:hidden;isolation:isolate}.auth-layout[data-v-ff81f68c]:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(600px 400px at 15% 10%,color-mix(in srgb,var(--color-accent) 12%,transparent),transparent 70%),radial-gradient(500px 400px at 90% 80%,color-mix(in srgb,var(--color-accent) 10%,transparent),transparent 70%),var(--color-bg)}.auth-layout__header[data-v-ff81f68c]{display:flex;align-items:center;justify-content:space-between;height:var(--header-height)}.auth-layout__logo[data-v-ff81f68c]{display:inline-flex}.auth-layout__main[data-v-ff81f68c]{flex:1;display:flex;justify-content:center;padding:var(--space-4) var(--gutter) var(--space-12)}.auth-layout__prefs[data-v-ff81f68c]{display:flex;align-items:center;gap:var(--space-2)}.public-layout[data-v-c972b433]{display:flex;flex-direction:column;min-height:100dvh}.public-layout__header[data-v-c972b433]{position:sticky;top:0;z-index:var(--z-sticky);background:color-mix(in srgb,var(--color-bg) 80%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.public-layout__header-inner[data-v-c972b433]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);height:var(--header-height)}.public-layout__logo[data-v-c972b433]{display:inline-flex}.public-layout__actions[data-v-c972b433]{display:flex;align-items:center;gap:var(--space-1)}@media(min-width:720px){.public-layout__actions[data-v-c972b433]{gap:var(--space-2)}}.public-layout__main[data-v-c972b433]{flex:1;padding-block:var(--space-8) var(--space-16)}.public-layout__wide-only[data-v-c972b433]{display:none}@media(min-width:720px){.public-layout__mobile-only[data-v-c972b433]{display:none}.public-layout__wide-only[data-v-c972b433]{display:inline-flex}}.pwa-offline[data-v-d8bd695b]{display:flex;justify-content:center;padding-inline:var(--gutter)}@media(min-width:720px){.pwa-offline[data-v-d8bd695b]{padding-inline:calc(var(--sidebar-width) + var(--space-8))}}.pwa-offline__pill[data-v-d8bd695b]{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal);text-wrap:balance}.pwa-offline__icon[data-v-d8bd695b]{flex:none;color:var(--color-text-muted)}.pwa-offline-enter-active[data-v-d8bd695b],.pwa-offline-leave-active[data-v-d8bd695b]{transition:opacity var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.pwa-offline-enter-from[data-v-d8bd695b],.pwa-offline-leave-to[data-v-d8bd695b]{opacity:0;transform:translateY(calc(-1 * var(--space-1)))}.pwa-update[data-v-6cad4661]{position:fixed;top:calc(var(--header-height) + var(--space-2));right:var(--gutter);left:var(--gutter);z-index:var(--z-toast);display:flex;justify-content:center;pointer-events:none}@media(min-width:720px){.pwa-update[data-v-6cad4661]{justify-content:flex-end}}.pwa-update__toast[data-v-6cad4661]{display:flex;align-items:center;gap:var(--space-2);max-width:100%;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-glass);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);pointer-events:auto}.pwa-update__icon[data-v-6cad4661]{flex:none;margin-right:var(--space-1);color:var(--color-accent-strong)}.pwa-update__text[data-v-6cad4661]{flex:1;min-width:0;color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-tight)}.pwa-update-enter-active[data-v-6cad4661],.pwa-update-leave-active[data-v-6cad4661]{transition:opacity var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.pwa-update-enter-from[data-v-6cad4661],.pwa-update-leave-to[data-v-6cad4661]{opacity:0;transform:translateY(calc(-1 * var(--space-2)))}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-ext-wght-normal-C8S-KRRz.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-ext-wght-normal-EocZY2iu.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--color-bg: #f4f6f5;--color-surface: #ffffff;--color-surface-muted: #eef1ef;--color-surface-sunken: #e7ebe9;--color-surface-raised: #ffffff;--color-glass: rgb(255 255 255 / .72);--color-glass-border: rgb(255 255 255 / .6);--color-overlay: rgb(15 26 21 / .32);--color-text: #0f1a15;--color-text-secondary: #56605b;--color-text-muted: #667069;--color-text-inverse: #ffffff;--color-on-primary: #ffffff;--color-on-danger: #ffffff;--color-border: #e3e8e5;--color-border-strong: #cfd6d2;--color-primary: #0f1f18;--color-primary-hover: #1d3429;--color-logo: #0f1f18;--color-accent: #22c77a;--color-accent-strong: #0c7a48;--color-accent-soft: #e3f8ed;--color-accent-glow: rgb(34 199 122 / .22);--color-danger: #c8323d;--color-danger-soft: #fdecee;--color-warning: #d88a07;--color-warning-soft: #fdf3e0;--color-warning-text: #8a5800;--color-success: var(--color-accent-strong);--color-success-soft: var(--color-accent-soft);--color-info: #3b6fe0;--color-info-soft: #e8effd;--font-sans: "Manrope Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs: 12px;--text-sm: 13px;--text-md: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 26px;--text-3xl: 34px;--text-4xl: 46px;--leading-tight: 1.15;--leading-normal: 1.55;--tracking-tight: -.025em;--weight-regular: 450;--weight-medium: 550;--weight-semibold: 650;--weight-bold: 750;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgb(15 26 21 / .05);--shadow-sm: 0 1px 2px rgb(15 26 21 / .04), 0 4px 12px rgb(15 26 21 / .04);--shadow-md: 0 2px 4px rgb(15 26 21 / .04), 0 12px 32px rgb(15 26 21 / .07);--shadow-lg: 0 4px 8px rgb(15 26 21 / .04), 0 24px 64px rgb(15 26 21 / .12);--shadow-focus: 0 0 0 4px var(--color-accent-glow);--shadow-focus-danger: 0 0 0 4px rgb(200 50 61 / .16);--control-sm: 36px;--control-md: 44px;--control-lg: 52px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .12s;--duration-normal: .2s;--duration-slow: .36s;--z-sticky: 10;--z-nav: 20;--z-popover: 30;--z-modal: 40;--z-toast: 50;--layout-max-width: 1200px;--content-max-width: 720px;--gutter: 16px;--sidebar-width: 76px;--header-height: 64px;--tabbar-height: 64px}:root[data-theme=dark]{color-scheme:dark;--color-bg: #0c110f;--color-surface: #141a17;--color-surface-muted: #1b2420;--color-surface-sunken: #232d28;--color-surface-raised: #2a3630;--color-glass: rgb(20 26 23 / .72);--color-glass-border: rgb(255 255 255 / .06);--color-overlay: rgb(0 0 0 / .5);--color-text: #e7eeea;--color-text-secondary: #a4afa9;--color-text-muted: #838f89;--color-text-inverse: #0f1a15;--color-border: #243029;--color-border-strong: #33413a;--color-primary: #e6f2eb;--color-primary-hover: #ffffff;--color-on-primary: #0f1a15;--color-logo: #1b3326;--color-accent: #2fd786;--color-accent-strong: #45e39a;--color-accent-soft: rgb(47 215 134 / .14);--color-accent-glow: rgb(47 215 134 / .25);--color-danger: #f26673;--color-on-danger: #0f1a15;--color-danger-soft: rgb(242 102 115 / .14);--color-warning: #f0ac3c;--color-warning-soft: rgb(240 172 60 / .13);--color-warning-text: #f5c26b;--color-info: #86a8ff;--color-info-soft: rgb(134 168 255 / .14);--shadow-xs: 0 1px 2px rgb(0 0 0 / .4);--shadow-sm: 0 1px 2px rgb(0 0 0 / .3), 0 4px 12px rgb(0 0 0 / .25);--shadow-md: 0 2px 4px rgb(0 0 0 / .3), 0 12px 32px rgb(0 0 0 / .4);--shadow-lg: 0 4px 8px rgb(0 0 0 / .3), 0 24px 64px rgb(0 0 0 / .5);--shadow-focus-danger: 0 0 0 4px rgb(242 102 115 / .22)}@media(min-width:720px){:root{--gutter: 24px}}@media(min-width:1200px){:root{--gutter: 32px}}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 0ms;--duration-normal: 0ms;--duration-slow: 0ms}}*,*:before,*:after{box-sizing:border-box}:root{font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;min-height:100dvh}h1,h2,h3,h4{margin:0;font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}p{margin:0}a{color:var(--color-accent-strong);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}code,kbd,samp{font-family:var(--font-mono);font-size:.92em}::selection{background:var(--color-accent-soft);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.l-container{width:100%;max-width:calc(var(--layout-max-width) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.l-content{max-width:var(--content-max-width)}.l-stack{display:flex;flex-direction:column;gap:var(--stack-gap, var(--space-4))}
