.ui-button[data-v-c3236dd2]{display:inline-flex;align-items:center;justify-content:center;text-align:center;max-width:100%;white-space:normal}.ui-button.is-disabled[data-v-c3236dd2]{cursor:default;opacity:.6}.ui-button[data-v-c3236dd2]:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.ui-action-popover[data-v-97655d38]{position:relative;flex:0 0 auto}.ui-action-trigger[data-v-97655d38]{display:inline-grid;place-items:center;min-width:44px;min-height:44px}.ui-action-panel[data-v-97655d38]{position:absolute;inset-inline-end:0;top:calc(100% + 8px);z-index:90;width:min(280px,calc(100vw - 40px));max-height:calc(100dvh - 160px);overflow:auto;padding:10px;display:grid;gap:8px;border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-surface);box-shadow:0 8px 28px #102c3a33}.ui-action-panel[data-v-97655d38] .chip{min-height:44px;width:100%;white-space:normal}.ui-action-panel[data-v-97655d38] .material-downloads{display:grid;justify-content:stretch}.ui-action-panel[data-v-97655d38] .material-downloads button{width:100%}.ui-action-popover.is-stretched[data-v-97655d38]{position:static}.is-stretched .ui-action-panel[data-v-97655d38]{inset-inline:0;width:auto}.context-help[data-v-71c67fd4]{flex:0 0 auto}.context-help-summary[data-v-71c67fd4]{color:var(--ui-text);overflow-wrap:anywhere}.context-help-summary strong[data-v-71c67fd4]{font-size:.95rem}.context-help-summary p[data-v-71c67fd4]{margin:.5rem 0;font-size:.875rem;line-height:1.5;color:var(--ui-muted)}.context-help[data-v-71c67fd4] .ui-action-trigger{width:40px;height:40px;min-width:40px;min-height:40px;padding:0}.context-help[data-v-71c67fd4] .ui-action-panel{color:var(--ui-text)}@media(max-width:900px){.context-help[data-v-71c67fd4] .ui-action-panel{position:fixed;inset-inline:12px;top:var(--context-help-panel-top,83px);width:auto;max-height:calc(100dvh - 110px)}}.ui-close-button[data-v-bd6bd9bb]{display:inline-grid;place-items:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ui-text);cursor:pointer;appearance:none}.ui-close-button-face[data-v-bd6bd9bb]{display:grid;place-items:center;box-sizing:border-box;width:32px;height:32px;border:1px solid var(--ui-line);border-radius:50%;background:var(--ui-surface-soft)}.ui-close-button:hover:not(:disabled) .ui-close-button-face[data-v-bd6bd9bb]{border-color:var(--ui-accent);background:var(--ui-accent-soft)}.ui-close-button[data-v-bd6bd9bb]:focus-visible{outline:2px solid var(--ui-accent);outline-offset:-2px}.ui-close-button[data-v-bd6bd9bb]:disabled{opacity:.5;cursor:default}.ui-icon-button[data-v-2bc40b16]{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;min-width:40px;padding:0;border:1px solid var(--ui-line);border-radius:50%;background:var(--ui-surface-soft);color:var(--ui-accent);cursor:pointer}.ui-icon-button.is-danger[data-v-2bc40b16]{color:var(--ui-danger);border-color:color-mix(in srgb,var(--ui-danger) 35%,var(--ui-line));background:color-mix(in srgb,var(--ui-danger) 8%,var(--ui-surface))}.ui-icon-button[data-v-2bc40b16]:hover:not(:disabled){background:var(--ui-accent-soft);border-color:currentColor}.ui-icon-button.is-danger[data-v-2bc40b16]:hover:not(:disabled){background:color-mix(in srgb,var(--ui-danger) 16%,var(--ui-surface))}.ui-icon-button[data-v-2bc40b16]:focus-visible{outline:2px solid currentColor;outline-offset:3px}.ui-icon-button[data-v-2bc40b16]:disabled{opacity:.55;cursor:default}@media(max-width:640px){.ui-icon-button[data-v-2bc40b16]{width:44px;height:44px;min-width:44px}}.context-help-layer{position:fixed;inset:0;z-index:10000;pointer-events:none;color:var(--ui-text);margin:0;padding:0;border:0;background:transparent;max-width:none;max-height:none;width:auto;height:auto;overflow:visible}.control-help-outline{position:fixed;box-sizing:border-box;border:2px dashed var(--ui-accent);border-radius:8px;background:color-mix(in srgb,var(--ui-accent) 5%,transparent);pointer-events:none}.control-help-marker{position:fixed;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--ui-accent);pointer-events:auto;cursor:pointer}.control-help-marker svg{background:var(--ui-surface);border:1px solid var(--ui-accent);border-radius:50%;box-shadow:0 1px 5px #0003;pointer-events:auto}.control-help-marker:focus-visible{outline:2px solid var(--ui-accent);outline-offset:-5px;border-radius:50%}.control-help-panel{position:fixed;box-sizing:border-box;pointer-events:auto;padding:12px 16px 16px;border:1px solid var(--ui-accent);border-radius:14px;background:var(--ui-surface);box-shadow:0 8px 28px #0003;overflow:auto;line-height:1.5}.control-help-panel header{display:flex;align-items:center;justify-content:space-between;gap:8px}.control-help-panel p{margin:6px 0 12px}.control-help-panel a{color:var(--ui-accent);text-decoration:underline}.control-help-status{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;max-width:calc(100% - 24px);box-sizing:border-box;padding:6px 12px;border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-surface);box-shadow:0 3px 12px #0002;pointer-events:auto;font-size:13px;white-space:nowrap}@media(max-width:640px){.control-help-marker{pointer-events:auto}.control-help-status{bottom:76px}.control-help-status>span{display:none}}.cookie-notice[data-v-4cce3d88]{max-height:calc(100dvh - 24px);overflow-y:auto;position:fixed;z-index:120;right:20px;bottom:20px;display:flex;align-items:center;gap:18px;width:min(620px,calc(100% - 40px));padding:17px 18px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow)}.cookie-notice div[data-v-4cce3d88]{flex:1;min-width:0}.cookie-notice strong[data-v-4cce3d88]{display:block;margin-bottom:5px}.cookie-notice p[data-v-4cce3d88]{margin:0;color:var(--ui-muted);font-size:.9rem;line-height:1.45}.cookie-notice p+p[data-v-4cce3d88]{margin-top:8px}.cookie-notice button[data-v-4cce3d88]{flex:0 0 auto}@media(max-width:640px){.cookie-notice[data-v-4cce3d88]{right:12px;bottom:12px;align-items:stretch;width:calc(100% - 24px);flex-direction:column}.cookie-notice button[data-v-4cce3d88]{width:100%}}.ui-toast-stack{position:fixed;z-index:150;inset-inline:12px;display:flex;flex-direction:column;gap:8px;pointer-events:none;align-items:flex-end;justify-content:flex-end;padding-bottom:env(safe-area-inset-bottom);box-sizing:border-box}.ui-toast-stack .ui-toast{position:static;flex:0 0 auto;pointer-events:auto;width:min(420px,100%);max-height:30%;overflow:auto;margin:0;box-sizing:border-box}.ui-toast-stack.at-top-left,.ui-toast-stack.at-top-center,.ui-toast-stack.at-top-right,.ui-toast-stack.at-top{justify-content:flex-start}.ui-toast-stack.at-top-left,.ui-toast-stack.at-bottom-left{align-items:flex-start}.ui-toast-stack.at-top-center,.ui-toast-stack.at-bottom-center,.ui-toast-stack.at-top,.ui-toast-stack.at-bottom{align-items:center}@media(max-width:900px){.ui-toast-stack{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.ui-toast-stack.at-top{padding-top:env(safe-area-inset-top)}.ui-toast-stack .ui-toast{width:100%}}@media(prefers-reduced-motion:reduce){.ui-toast-stack *{animation:none!important;transition:none!important}}.window-list-launcher{position:fixed;inset-block-end:84px;inset-inline-end:16px;z-index:79}.window-navigator{width:min(760px,calc(100vw - 24px));max-height:85dvh;overflow:auto;padding:20px;border:1px solid var(--ui-line);border-radius:16px;background:var(--ui-surface);color:var(--ui-text);overscroll-behavior:contain}.window-navigator::backdrop{background:#0006;overscroll-behavior:contain}.window-navigator header{display:flex;align-items:center;justify-content:space-between;gap:16px}.window-navigator ul{list-style:none;padding:0}.window-navigator li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 0 10px min(calc(var(--window-depth)*18px),54px);border-bottom:1px solid var(--ui-line)}.window-navigator li>button:first-child{flex:1;min-width:120px;text-align:start;white-space:normal}.window-navigator small{display:block;color:var(--ui-muted)}.window-navigator [aria-current=true]{outline:2px solid var(--ui-accent)}.window-choice-actions{display:flex;flex-wrap:wrap;gap:8px}.window-list-caption{display:block;min-width:0;width:100%;overflow-wrap:anywhere;text-align:start}.window-list-caption strong,.window-list-caption small{display:block}.window-list-caption strong{font-weight:600}.window-list-caption small{margin-top:4px}@media(max-width:640px){.window-navigator li>button:first-child{flex-basis:100%;min-width:0;justify-content:flex-start}.window-navigator li{row-gap:8px}}.ui-action-popover.context-help.system-help-fallback{display:none;position:fixed;inset-block-start:max(12px,env(safe-area-inset-top));inset-inline-end:16px;z-index:80;--context-help-panel-top:64px}.ui-action-popover.context-help.system-help-fallback.is-public,body:has(.app-layout.is-immersive) .ui-action-popover.context-help.system-help-fallback{display:block}body:has(.system-help-fallback.is-public) .site-header,body:has(.system-help-fallback.is-public) .about-header{padding-inline-end:56px}.app-layout.is-immersive .book-reader-toolbar,.app-layout.is-immersive .material-reader-toolbar{padding-inline-end:54px}.button.secondary.entity-share-button[data-v-949f095d]{color:var(--ui-text);background:var(--ui-surface-soft)}.entity-share-button[data-v-949f095d]{justify-self:start;align-self:start;flex:none;width:40px;height:40px;padding:0;margin-inline-end:8px;border-color:var(--ui-line);border-radius:10px;box-shadow:0 1px 3px #0000001f;transition:background-color .12s,box-shadow .12s,transform .12s}.entity-share-button[data-v-949f095d]:hover:not(:disabled){border-color:var(--ui-accent);background:var(--ui-accent-soft);box-shadow:0 2px 6px #00000026}.entity-share-button[data-v-949f095d]:active:not(:disabled){transform:translateY(1px);box-shadow:none}.entity-share-button[data-v-949f095d]:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}@media(max-width:640px){.entity-share-button[data-v-949f095d]{width:44px;height:44px}}.entity-share-button.with-text[data-v-949f095d]{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;height:auto;min-height:40px;padding:8px 12px;margin:0;box-shadow:none}@media(prefers-reduced-motion:reduce){.entity-share-button[data-v-949f095d]{transition:none}}@media(max-width:640px){.ui-drawer-header h2[data-v-db9fd64c]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}.ui-drawer.ui-window-maximized[data-v-db9fd64c]{border-radius:0;box-shadow:none}.ui-window-path[data-v-db9fd64c]{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:4px 12px;font-size:.78rem;border-bottom:1px solid var(--ui-line)}.ui-window-path>span[data-v-db9fd64c]{overflow:hidden;text-overflow:ellipsis;max-width:240px}.ui-window-path>button[data-v-db9fd64c]:after{content:"›";padding-inline-start:8px}.ui-drawer-heading-hidden[data-v-db9fd64c]{justify-content:flex-end}.ui-drawer-header-compact[data-v-db9fd64c]{align-items:center;gap:12px}.ui-drawer-header-compact>.ui-window-handle[data-v-db9fd64c]{flex:1}.ui-drawer-header-compact[data-v-db9fd64c] .ui-window-tools{padding-top:0;flex-shrink:0}.ui-drawer-header-compact .ui-drawer-close[data-v-db9fd64c]{align-self:center}.ui-drawer.ui-modal-window.search-dialog:not(.ui-editor-window){position:fixed;inset:8vh auto auto 50%;transform:translate(-50%);margin:0;width:min(760px,calc(100vw - 48px));height:auto;max-height:84dvh;min-height:280px;border-radius:18px}.search-dialog .ui-drawer-body{overflow-y:auto}@media(max-width:900px){.ui-drawer.ui-modal-window.search-dialog:not(.ui-editor-window){inset:0;transform:none;width:100%;height:100dvh;max-height:100dvh;border-radius:0}}.notification-level[data-v-74800c7b]{display:inline-flex;align-items:center;gap:5px;width:max-content;max-width:100%}.notification-list[data-v-d2fdf537]{list-style:none;margin:0;padding:0}.notification-list li[data-v-d2fdf537]{position:relative;display:grid;gap:5px;padding:10px 8px;border-bottom:1px solid var(--ui-line);border-inline-start:3px solid var(--notice-color);background:color-mix(in srgb,var(--notice-color) 5%,var(--ui-surface));overflow-wrap:anywhere}.notification-list li[data-v-d2fdf537]{padding-inline-start:5px}.notification-unread[data-v-d2fdf537]{font-size:.7rem;font-weight:700;color:var(--ui-muted)}.level-Information[data-v-d2fdf537]{--notice-color:#25713a}.level-Warning[data-v-d2fdf537]{--notice-color:#a36b00}.level-Error[data-v-d2fdf537]{--notice-color:var(--ui-danger)}.notification-list strong[data-v-d2fdf537]{font-size:.875rem;font-weight:600;line-height:1.35}.notification-list li.unread strong[data-v-d2fdf537]{font-weight:750}.notification-list p[data-v-d2fdf537]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;font-size:.8rem;line-height:1.4;color:var(--ui-muted)}.notification-footer[data-v-d2fdf537]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 8px}.notification-footer time[data-v-d2fdf537]{font-size:.7rem;color:var(--ui-muted);white-space:nowrap}.notification-actions[data-v-d2fdf537]{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;margin-inline-start:auto}.notification-list .notification-actions .chip[data-v-d2fdf537]{width:auto;min-height:32px;padding:4px 9px;font-size:.75rem;white-space:nowrap}.notification-resolved[data-v-d2fdf537]{font-size:.7rem;color:var(--ui-accent-strong)}@media(max-width:900px){.notification-list .notification-actions .chip[data-v-d2fdf537]{min-height:44px}}:root[data-color-scheme=dark] .notification-list li.level-Information{--notice-color:#86d69d}:root[data-color-scheme=dark] .notification-list li.level-Warning{--notice-color:#ffd166}.notification-bell[data-v-5577abb6]{display:inline-grid;place-items:center;min-width:44px;min-height:44px}.notification-bell.is-open[data-v-5577abb6]{background:var(--ui-accent-strong);color:var(--ui-surface);border-color:var(--ui-accent-strong)}.notification-popover[data-v-5577abb6] .ui-action-panel{width:min(340px,calc(100vw - 32px));padding:6px;gap:4px;color:var(--ui-text)}.notification-popover[data-v-5577abb6] .ui-action-panel>.notification-all{justify-content:center;min-height:36px;font-size:.8rem;border-radius:9px}.notification-icon[data-v-5577abb6]{position:relative;display:inline-flex}.notification-count[data-v-5577abb6]{position:absolute;inset-block-start:-10px;inset-inline-end:-15px;font-size:.65rem;background:var(--ui-accent,#008a86);color:#fff;border-radius:12px;padding:2px 4px}.notification-upward[data-v-5577abb6] .ui-action-panel{top:auto;bottom:calc(100% + 8px);inset-inline-start:0;inset-inline-end:auto}.notification-drawer-content[data-v-5577abb6]{display:flex;flex-direction:column;min-height:0;height:100%;gap:12px}.notification-drawer-toolbar[data-v-5577abb6]{flex:none;display:flex;justify-content:flex-end}.notification-drawer-list[data-v-5577abb6]{overflow:auto;min-height:0;flex:1;overscroll-behavior:contain}.notification-more[data-v-5577abb6]{width:100%;margin-top:12px}@media(max-width:900px){.notification-popover[data-v-5577abb6] .ui-action-panel{position:fixed;inset-inline:12px;top:calc(var(--mobile-header-height,75px) + 8px);bottom:auto;width:auto;max-height:calc(100dvh - var(--mobile-header-height,75px) - 96px)}.notification-popover[data-v-5577abb6] .ui-action-panel>.notification-all{min-height:44px}}dialog.ui-drawer.ui-side-panel[id^=notification-list-panel-]{width:min(440px,100vw)}dialog[id^=notification-list-panel-]>.ui-drawer-body{overflow:hidden;min-height:0}.demo-tour-spotlight[data-v-da4a30da]{position:fixed;z-index:1000;box-sizing:border-box;pointer-events:none;border:3px solid var(--ui-accent);border-radius:12px;box-shadow:0 0 0 9999px #0819237a}.demo-tour[data-v-da4a30da]{position:fixed;z-index:1001;max-height:calc(100dvh - 110px);overflow:auto;box-sizing:border-box}.demo-tour-close[data-v-da4a30da]{position:absolute;right:12px;top:12px}.demo-tour h2[data-v-da4a30da]{padding-right:30px}.demo-tour-practice[data-v-da4a30da]{margin-top:14px;font-size:.85rem}.demo-tour-practice summary[data-v-da4a30da]{cursor:pointer;text-decoration:underline}@media(max-width:640px){.demo-tour[data-v-da4a30da]{padding:16px;font-size:.875rem}.demo-tour h2[data-v-da4a30da]{font-size:1.1rem}.demo-tour p[data-v-da4a30da]{line-height:1.4}}.app-menu-window[data-v-b82ed067]{min-width:0}.app-back-slot[data-v-b82ed067],.app-menu-hint[data-v-b82ed067]{display:none}@media(max-width:900px){.app-navigation[data-v-b82ed067]{display:flex;align-items:center;gap:8px;min-width:0}.app-back-slot[data-v-b82ed067]{display:flex;flex:0 0 auto;align-items:center;padding-right:8px;border-right:1px solid var(--ui-line)}.app-back[data-v-b82ed067]{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--ui-accent);border-radius:12px;background:var(--ui-accent);color:#fff;cursor:pointer;box-shadow:0 2px 5px #0002}.app-back[data-v-b82ed067]:disabled{color:var(--ui-muted,#7895a3);background:var(--ui-surface);border-color:var(--ui-line);box-shadow:none;opacity:.55;cursor:default}.app-back[data-v-b82ed067]:focus-visible{outline:3px solid var(--ui-accent);outline-offset:2px}.app-menu-window[data-v-b82ed067]{position:relative;flex:1;overflow:hidden}.app-menu-window nav[data-v-b82ed067]{margin-inline:44px;padding:0;scroll-padding:0}.app-menu-hint[data-v-b82ed067]{position:absolute;z-index:1;top:0;bottom:0;display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:0;border:0;color:var(--ui-text,#123746);background:var(--app-menu-surface,#081b28);cursor:pointer}.app-menu-hint[data-v-b82ed067]:disabled{opacity:1;cursor:default;pointer-events:auto}.app-menu-hint[data-v-b82ed067]:focus-visible{outline:2px solid var(--ui-accent);outline-offset:-2px;border-radius:6px}.app-menu-hint.available[data-v-b82ed067]:after{position:absolute;top:0;bottom:0;width:10px;content:"";pointer-events:none}.app-menu-hint-right[data-v-b82ed067]{right:0}.app-menu-hint-right.available[data-v-b82ed067]:after{right:100%;background:linear-gradient(90deg,transparent,var(--app-menu-surface,#081b28))}.app-menu-hint-left[data-v-b82ed067]{left:0}.app-menu-hint-left.available[data-v-b82ed067]:after{left:100%;background:linear-gradient(270deg,transparent,var(--app-menu-surface,#081b28))}:root[data-color-scheme=light]{--app-menu-surface:#eaf2f5}}.ui-tablist[data-v-6d4dd169]{display:flex;gap:inherit;flex:1 0 auto;min-width:max-content}.ui-tabs-fit[data-v-6d4dd169]{gap:4px}.ui-tabs-fit>.ui-tablist[data-v-6d4dd169]{flex:1;min-width:0}.ui-tabs-fit>.ui-tablist>.ui-tab[data-v-6d4dd169]{flex:1 1 0;min-width:0;padding-inline:4px}.ui-tab-action[data-v-6d4dd169]{flex:none}.ui-checkbox[data-v-c72a7137]{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-weight:400;line-height:1.4}.ui-checkbox input[type=checkbox][data-v-c72a7137]{flex:0 0 18px;width:18px;height:18px;min-height:18px;padding:0;margin:0;accent-color:var(--ui-accent)}.ui-checkbox span[data-v-c72a7137]{min-width:0;overflow-wrap:anywhere}.ui-checkbox input[data-v-c72a7137]:focus-visible{outline:2px solid var(--ui-accent);outline-offset:4px}.ui-search-highlight[data-v-ba4cf98e]{background:color-mix(in srgb,var(--ui-accent) 32%,var(--ui-surface));color:var(--ui-text);border-radius:.15em;padding:0 .04em;-webkit-box-decoration-break:clone;box-decoration-break:clone}.diagram-tab-number[data-v-e4a2ae7f]{display:none}@media(max-width:640px){.diagram-tab-title[data-v-e4a2ae7f]{display:none}.diagram-tab-number[data-v-e4a2ae7f]{display:inline}}.book-diagram-tabs[data-v-e4a2ae7f]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;min-width:0}.book-diagram-tab[data-v-e4a2ae7f]{--tab-color:var(--ui-accent);display:inline-flex;align-items:center;gap:5px;max-width:100%;min-height:34px;padding:6px 9px;border:1px solid var(--ui-line);border-top:3px solid var(--tab-color);border-radius:0 0 9px 9px;background:var(--ui-surface);color:var(--ui-text);font:inherit;font-size:.78rem;cursor:pointer}.tone-1[data-v-e4a2ae7f]{--tab-color:#9361b1}.tone-2[data-v-e4a2ae7f]{--tab-color:#b18127}.book-diagram-tab span[data-v-e4a2ae7f]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.book-diagram-tab svg[data-v-e4a2ae7f]{flex:none}.book-diagram-tab[data-v-e4a2ae7f]:hover{background:var(--ui-accent-soft)}.book-diagram-tab[data-v-e4a2ae7f]:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}@media(max-width:640px){.book-diagram-tab[data-v-e4a2ae7f]{min-height:44px}}.ui-drawer#site-search{container:site-search-window / inline-size}.ui-drawer#site-search .ui-drawer-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center}.ui-drawer#site-search .ui-drawer-header h2{margin:0;display:block;overflow:visible;text-wrap:balance}.ui-drawer#site-search .ui-drawer-header>[data-window-navigation]{white-space:nowrap;min-block-size:44px;min-inline-size:44px;padding-inline:8px}.ui-drawer#site-search .ui-drawer-close{min-inline-size:44px;min-block-size:44px}.ui-drawer#site-search>.ui-drawer-body{display:flex;flex-direction:column;overflow:hidden}.site-search{display:flex;flex-direction:column;gap:16px;min-width:0;min-height:0;flex:1}.search-controls{display:grid;gap:16px;flex:none;min-width:0}.search-query-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0}.site-search input[type=search]{width:100%;min-width:0;min-block-size:44px;font-size:1rem}.site-search .search-books-option{min-width:0;white-space:nowrap}.search-results-viewport{min-height:0;min-width:0;overflow-y:auto;overscroll-behavior:contain;flex:1;padding:2px;scrollbar-gutter:stable}.site-search .ui-tabs{max-width:100%;overflow:visible}.site-search .ui-tablist{min-width:0;flex-wrap:wrap;flex:1 1 auto}.site-search .ui-tab{min-inline-size:max-content;max-inline-size:100%;min-block-size:44px;white-space:normal}.search-results{list-style:none;padding:0;margin:0;display:grid;gap:8px}.search-result-card{display:grid;gap:10px;padding:14px;border:1px solid var(--ui-line);border-radius:12px;overflow-wrap:anywhere}.search-result-link{display:grid;gap:5px;color:var(--ui-text);text-decoration:none;overflow-wrap:anywhere}.search-result-link:hover,.search-result-link:focus-visible{color:var(--ui-accent)}.search-result-link:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.search-result-card .book-diagram-tabs{margin:0}.search-result-diagrams{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--ui-muted);font-size:.82rem}.search-diagram-error{color:var(--ui-muted);margin:0}.search-result-type{font-size:.8rem;color:var(--ui-accent)}.search-description{font-size:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-pdf-fragment{display:block;-webkit-line-clamp:unset;overflow:visible}@container site-search-window (inline-size < 38rem){.search-query-row{grid-template-columns:minmax(0,1fr);gap:4px}.search-controls{gap:10px}.site-search .search-books-option{white-space:normal}.site-search .ui-tab{flex:1 1 auto;padding-inline:10px}.ui-drawer-header h2{font-size:1.125rem}.ui-drawer#site-search .ui-drawer-header.ui-drawer-header-compact{grid-template-columns:minmax(0,1fr) auto auto}.ui-drawer-header>.ui-window-tools{grid-row:2;grid-column:1/-1;justify-self:end}}@container site-search-window (inline-size < 26rem){.site-search .ui-tab{flex-basis:calc(33.333% - 8px)}.site-search .ui-tab:nth-child(-n+2){flex-basis:calc(50% - 8px)}}@media(max-width:900px){.ui-drawer#site-search{padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.ui-drawer#site-search .ui-drawer-header{grid-template-columns:minmax(0,1fr) auto auto}}@media(max-height:500px){.ui-drawer#site-search>.ui-drawer-body{display:block;overflow-y:auto}.search-results-viewport{overflow:visible;flex:none}}.material-type-icon[data-v-32ffb527]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--ui-accent-strong);vertical-align:middle}.app-main[data-section-background]{position:relative;isolation:isolate;background-color:var(--section-light)}.app-main[data-section-background]:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--section-pattern-light);background-size:var(--section-pattern-size,360px 280px);background-repeat:repeat;opacity:.28}:root[data-color-scheme=dark] .app-main[data-section-background]{background-color:var(--section-dark)}:root[data-color-scheme=dark] .app-main[data-section-background]:before{background-image:var(--section-pattern-dark);opacity:.19}:root[data-section-backgrounds=color] .app-main[data-section-background]:before,:root[data-section-backgrounds=none] .app-main[data-section-background]:before{display:none}:root[data-section-backgrounds=none] .app-main[data-section-background]{background-color:transparent}.is-immersive>.app-main[data-section-background]{background:var(--ui-surface)}.is-immersive>.app-main[data-section-background]:before{display:none}@media(max-width:640px){.app-main[data-section-background]:before{background-size:var(--section-pattern-mobile-size,300px auto)}}@media print{.app-main[data-section-background]{background:transparent!important}.app-main[data-section-background]:before{display:none}}.sidebar-search[data-v-a41411bc]{display:flex;align-items:center;gap:10px;margin-top:24px;padding:10px 12px;border:1px solid var(--ui-line);border-radius:12px;background:var(--ui-surface-soft);color:var(--ui-text);cursor:pointer}.sidebar-search kbd[data-v-a41411bc]{margin-left:auto;font-size:.7rem;color:var(--ui-muted)}.mobile-header-share[data-v-a41411bc]{display:inline-flex;flex:none;align-self:center}.mobile-header-share[data-v-a41411bc] .entity-share-button{margin:0}@media(max-width:420px){.mobile-user-actions.has-share[data-v-a41411bc] .mobile-user-name{display:none}}@media(max-width:520px){.mobile-user-actions[data-v-a41411bc] .mobile-user-name{display:none}.mobile-user-actions[data-v-a41411bc]{gap:4px}.mobile-header[data-v-a41411bc]{padding-inline:12px}.mobile-header>.wordmark[data-v-a41411bc]{font-size:.9rem}}@media(max-width:360px){.mobile-header[data-v-a41411bc]:has(.has-share){flex-wrap:wrap}.mobile-user-actions.has-share[data-v-a41411bc]{flex-basis:100%}}.sidebar-account[data-v-a41411bc]{display:grid;flex-shrink:0;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--ui-line)}.sidebar-profile-row[data-v-a41411bc]{display:flex;align-items:center;gap:8px;min-width:0}.sidebar-profile-row[data-v-a41411bc] .user-chip{flex:1}.sidebar-account[data-v-a41411bc] .user-chip{min-width:0;min-height:52px;padding:8px;border-radius:10px}.sidebar-account[data-v-a41411bc] .user-chip:hover,.sidebar-account[data-v-a41411bc] .router-link-active{background:var(--ui-accent-soft);color:var(--ui-accent-strong)}@media(min-width:901px){.sidebar[data-v-a41411bc]{height:100dvh}.sidebar:has(.notification-popover [aria-expanded=true]){z-index:85}.sidebar[data-v-a41411bc] .app-navigation{flex:1;min-height:0;overflow-y:auto;margin-bottom:16px}.sidebar[data-v-a41411bc] nav a[href="/app/profile"]{display:none}.sidebar-brand-row[data-v-a41411bc]{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}.sidebar-brand-row>.wordmark[data-v-a41411bc]{min-width:0;font-size:.95rem}.sidebar-top-help[data-v-a41411bc] .ui-action-panel{inset-inline-start:0;inset-inline-end:auto}.sidebar:has(.context-help [aria-expanded=true]){z-index:85}}@media(max-width:900px){.sidebar-brand-row[data-v-a41411bc],.sidebar-account[data-v-a41411bc],.sidebar-search[data-v-a41411bc]{display:none}}.app-layout.is-immersive[data-v-a41411bc]{grid-template-columns:minmax(0,1fr);--mobile-header-height:0px}.is-immersive>.sidebar[data-v-a41411bc],.is-immersive>.app-main>.mobile-header[data-v-a41411bc],.is-immersive>.app-main>.demo-readonly-banner[data-v-a41411bc]{display:none}.is-immersive>.app-main[data-v-a41411bc]{padding-bottom:env(safe-area-inset-bottom)}:root{--interface-font-size: 16px;--interface-line-height: 1.45;color:#eaf4fb;background:#081826;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}:root[data-text-size=large]{--interface-font-size: 18px}:root[data-line-spacing=increased]{--interface-line-height: 1.7}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}html{font-size:var(--interface-font-size)}body{color:#eaf4fb;background:#081826;line-height:var(--interface-line-height)}body{min-height:100vh}a{color:inherit}button,input,select,textarea{font:inherit}button{color:inherit}.welcome-shell{position:relative;display:grid;grid-template-rows:auto 1fr auto;min-height:100vh;min-height:100svh;overflow:hidden;padding:28px clamp(22px,5vw,72px) 24px;background:linear-gradient(rgba(133,210,235,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(133,210,235,.045) 1px,transparent 1px),radial-gradient(circle at 75% 20%,#123852 0,#081826 46%,#06121d);background-size:56px 56px,56px 56px,auto;isolation:isolate}.ambient{position:absolute;z-index:-1;border-radius:999px;filter:blur(1px);opacity:.7}.ambient-one{top:18%;right:-12vw;width:min(44vw,620px);aspect-ratio:1;background:radial-gradient(circle,rgba(68,190,212,.18),transparent 68%)}.ambient-two{bottom:-24%;left:-14vw;width:min(42vw,560px);aspect-ratio:1;background:radial-gradient(circle,rgba(95,126,216,.14),transparent 68%)}.site-header,.site-footer{display:flex;align-items:center;justify-content:space-between;width:100%}.public-nav,.hero-actions{display:flex;align-items:center;gap:20px}.public-nav a:not(.button),.text-link{color:#9fc1ce;background:none;border:0;cursor:pointer;text-decoration:none}.public-nav a:not(.button):hover,.text-link:hover{color:#70d8df}.hero-actions{margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:1px solid rgba(112,216,223,.36);border-radius:12px;color:#06151f;background:#70d8df;font-weight:700;cursor:pointer;text-decoration:none;text-align:center}.button:hover{background:#8ee4e9}.button:disabled{cursor:wait;opacity:.6}.button-small{min-height:36px;padding:0 14px;font-size:.86rem}.button.danger{color:#fff;border-color:#b8616b;background:#9f4450}.button.secondary{color:#bcd1d9;background:#173747}.auth-page{display:grid;place-items:center;min-height:100vh;padding:32px 20px;background:radial-gradient(circle at 70% 10%,#123852 0,#081826 48%,#06121d)}.auth-page>.wordmark{position:absolute;top:30px;left:clamp(22px,5vw,72px)}.auth-card{display:grid;gap:19px;width:min(440px,100%);padding:38px;border:1px solid rgba(180,225,237,.15);border-radius:24px;background:#0d2737db;box-shadow:0 28px 70px #0000004d}.auth-card h2,.page h2,.admin-main h2{margin:0;color:#f5fbfd;font-size:clamp(2rem,5vw,3rem)}.auth-card label,.form-stack label{display:grid;gap:8px;color:#a8bec9;font-size:.86rem}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid rgba(164,207,220,.2);border-radius:10px;color:#e9f3f7;background:#091d2a;outline:none}input:focus,select:focus,textarea:focus{border-color:#62cad3;box-shadow:0 0 0 3px #62cad31a}input:disabled{opacity:.6}textarea{min-height:90px;resize:vertical}.form-error{margin:0;color:#ff9da7}.form-note{margin:0;color:#839daa}.success-box{padding:14px;border-radius:12px;color:#9fe2ca;background:#45b0891f}.success-text{color:#8fe0c2}.membership-note{margin:0 0 30px;padding:14px;border-radius:12px;color:#ffd7a1;background:#d69e4a1f}.membership-note.rejected{color:#ff9da7;background:#9f44501f}.readonly-values{display:grid;gap:10px}.readonly-value{margin:0;color:#a8bec9;font-size:.86rem}.app-layout,.admin-layout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh;background:#071722}.sidebar,.admin-sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:32px 24px;border-right:1px solid rgba(173,218,232,.12);background:#081b28}.sidebar nav,.admin-sidebar nav{display:grid;gap:7px;margin-top:50px}.admin-sidebar nav{min-height:0;overflow-y:auto}.sidebar nav a,.admin-sidebar nav button{padding:12px 14px;border:0;border-radius:10px;color:#8faab7;background:transparent;cursor:pointer;text-align:left;text-decoration:none}.sidebar nav a{display:flex;align-items:center;gap:11px}.sidebar nav a svg{flex:0 0 auto}.admin-sidebar nav button{display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar nav a:hover,.sidebar nav a.router-link-active,.admin-sidebar nav button:hover,.admin-sidebar nav button.active{color:#eaf7fa;background:#5ac7d11a}.sidebar .text-button,.admin-sidebar .text-button{margin-top:auto}.sidebar-logout{display:flex;align-items:center;gap:11px;padding:12px 14px}.text-button{border:0;color:#7895a3;background:none;cursor:pointer;text-align:left}.app-main,.admin-main{min-width:0}.mobile-header{display:none}.page,.admin-main{width:min(1180px,100%);margin:0 auto;padding:clamp(34px,6vw,70px)}.narrow-page{max-width:760px}.page-heading,.admin-main>header{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;flex-direction:column;gap:16px;margin-bottom:28px;text-align:center}.page-heading>p{max-width:340px;margin:0;color:#7895a3;text-align:right}.empty-state{padding:50px;border:1px dashed rgba(173,218,232,.18);border-radius:18px;color:#7895a3;text-align:center}.content-section{margin-top:40px}.content-section h3{color:#bcd1d9}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.content-card,.panel,.event-card,.stats-grid article{border:1px solid rgba(173,218,232,.13);border-radius:16px;background:#0c2230}.content-card{padding:24px}.content-card h4,.list-row h4{margin:14px 0 8px;color:#eff8fb}.content-card p,.event-card p,.list-row p,.panel p{color:#86a2af;line-height:1.55}.badge,.chip{display:inline-flex;padding:5px 9px;border:1px solid color-mix(in srgb,var(--ui-accent) 42%,var(--ui-line));border-radius:999px;color:var(--ui-accent-strong);background:var(--ui-accent-soft);font-size:.72rem;font-weight:650}.chip{align-items:center;justify-content:center;text-align:center;cursor:pointer}.chip:hover,.chip:focus-visible{border-color:var(--ui-accent);background:color-mix(in srgb,var(--ui-accent-soft) 72%,var(--ui-accent));outline:none}.ui-new-window-indicator{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;margin-left:3px;vertical-align:-.12em}.segmented{display:flex;padding:4px;border-radius:12px;background:#0b202d}.segmented button{padding:8px 12px;border:0;border-radius:9px;color:#7f9ca9;background:none;cursor:pointer}.segmented button.active{color:#e9f7fa;background:#173747}.event-list,.admin-list{display:grid;gap:12px}.event-card{display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:24px;padding:22px}.event-date{color:#a8c2cc;font-size:.9rem}.event-card h3{margin:10px 0 0}.cancelled{color:#ef9ca4}.panel{padding:26px}.form-stack{display:grid;gap:18px}.interface-settings h3{margin:0 0 8px}.settings-check{display:flex!important;align-items:center;grid-template-columns:auto 1fr;gap:10px!important}.settings-check input{width:auto;min-height:auto}.auth-card .settings-check{min-height:44px;cursor:pointer}.admin-label{margin:44px 0 -30px;color:#5d7d8c;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase}.admin-nav-group{display:grid;gap:4px}.admin-nav-group+.admin-nav-group{margin-top:16px}.admin-nav-heading{margin:0 14px 3px;color:#5d7d8c;font-size:.66rem;letter-spacing:.09em;text-transform:uppercase}.admin-sidebar .text-link{margin-top:auto;padding:12px 14px}.admin-sidebar .admin-user-return{display:inline-flex;align-items:center;gap:8px}.admin-user-return svg{flex-shrink:0}.admin-sidebar .text-button{margin-top:8px;padding:12px 14px}.admin-main>header h2,.page-heading h2{margin:0;font-size:clamp(1.8rem,2.4vw,2.35rem);line-height:1.12}.toast{padding:10px 14px;border-radius:10px;color:#9fe2ca;background:#45b0891f}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stats-grid article{display:grid;gap:8px;padding:24px}.stats-grid strong{color:#f2f9fb;font-size:2.2rem}.stats-grid span{color:#7593a1}.pending-applications-alert{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;border-color:#c98b3557}.pending-applications-alert h3,.pending-applications-alert p{margin:0}.pending-applications-alert p{margin-top:6px;color:var(--ui-muted)}.maintenance-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:20px}.maintenance-panel h3{margin:0}.backup-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:20px}.backup-panel>:first-child,.backup-panel>.success-box{grid-column:1 / -1}.backup-list h4{margin:0}.backup-list{display:grid;gap:8px;align-content:start}.backup-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(173,218,232,.12);border-radius:9px;color:#a9c0ca;background:#091d2a}.backup-item>span:first-child{display:grid;gap:3px;min-width:0}.backup-item strong{overflow-wrap:anywhere}.backup-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.backup-item{flex-wrap:wrap;min-width:0}.backup-item>span:first-child{flex:1 1 180px}.backup-item small{color:#617f8d}.admin-grid{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:22px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid rgba(173,218,232,.12);border-radius:13px;background:#0b202d}.list-row h4,.list-row p{margin:0}.list-row p{margin-top:5px;font-size:.82rem}.row-actions{display:flex;align-items:center;gap:8px}.row-actions.vertical{align-items:flex-start;flex-direction:column}.editable-row>div:first-child{flex:1}.editable-row>.user-avatar+div{flex:1}.compact-check{display:flex;align-items:center;gap:7px;color:#8faab7;font-size:.78rem;white-space:nowrap}.compact-check input{width:auto;min-height:auto}.editable-row .inline-form input,.editable-row .inline-form select{min-width:110px}.check-row,.two-cols,.inline-form{display:flex;gap:12px}.check-row label{display:flex;align-items:center}.check-row input{width:auto;min-height:auto}.two-cols>*{flex:1}.dictionary-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dictionary-grid .list-row{margin-top:10px}.error-box{margin:0;padding:14px;border-radius:12px;color:#ff9da7;background:#d653611f}.empty-note{margin:0;color:#839daa}.state-note{color:#617f8d;font-size:.76rem}.institutes-section{display:grid;gap:18px}.institutes-grid{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:22px}.institute-row{width:100%;color:inherit;text-align:left;cursor:pointer}.institute-row.active{border-color:#70d8df73;background:#102c3b}.cohort-row+.cohort-row{margin-top:8px}.inline-form input{flex:1}.password-link{align-self:flex-end;margin-top:-6px;font-size:.88rem}.profile-grid{display:grid;gap:22px}.profile-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.profile-tabs .chip.active{color:#071b20;background:#70d8df;border-color:#70d8df}.groups-profile .list-row{align-items:flex-start}.groups-list{display:grid;gap:12px}.group-list-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:start}.group-list-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#70d8df1a;font-size:1.25rem}.group-list-content h2{margin:0 0 6px;font-size:1.05rem}.group-list-content p{margin:4px 0}.group-list-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.group-events-button{gap:6px;align-items:center}.group-events{display:grid;gap:8px;margin-top:12px}.group-event{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px;border:1px solid rgba(173,218,232,.12);border-radius:12px}.group-event h3,.group-event p{margin:0}.group-members{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}.group-members h3{width:100%;margin:0;font-size:.85rem}.group-icon-field{margin:0;padding:0;border:0}.group-icon-field legend{margin-bottom:8px;color:#a9c0ca}.group-icon-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}.group-icon-option{display:flex;min-height:72px;padding:10px 8px;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(173,218,232,.16);border-radius:12px;color:#a9c0ca;background:#091d2a;cursor:pointer}.group-icon-option:hover,.group-icon-option:focus-visible{border-color:#70d8dfb3;color:#eaf4fb}.group-icon-option.active{border-color:#70d8df;color:#70d8df;background:#70d8df1a}.group-icon-summary{display:flex;align-items:center;gap:7px}@media(max-width:640px){.group-list-row{grid-template-columns:auto minmax(0,1fr)}.group-list-actions{grid-column:1 / -1}.group-event{align-items:flex-start;flex-direction:column}}.users-section{display:grid;gap:22px}.user-create-form{max-width:520px}.activation-link{display:inline-block;margin-top:8px;overflow-wrap:anywhere}.auth-card-wide{width:min(560px,calc(100vw - 40px))}.user-avatar{display:inline-grid;flex:0 0 auto;place-items:center;overflow:hidden;border-radius:50%;background:var(--avatar-bg,#3e8ca0);color:#f6fbfe;font-weight:700;letter-spacing:.02em}.user-avatar>img{width:100%;height:100%;object-fit:cover}.user-avatar>span{line-height:1}.avatar-tone-1{--avatar-bg:#367e93 }.avatar-tone-2{--avatar-bg:#6b668f }.avatar-tone-3{--avatar-bg:#9b6978 }.avatar-tone-4{--avatar-bg:#486f9f }.avatar-tone-5{--avatar-bg:#6b8b68 }.avatar-tone-6{--avatar-bg:#9a744a }.avatar-tone-7{--avatar-bg:#756496 }.avatar-tone-8{--avatar-bg:#497f7b }.user-avatar.small{width:30px;height:30px;font-size:.85rem}.user-avatar.medium{width:44px;height:44px}.user-avatar.large{width:88px;height:88px;font-size:1.65rem}.user-chip{display:inline-flex;align-items:center;gap:9px;color:inherit;text-decoration:none}.user-chip:hover .mobile-user-name,.user-chip:focus-visible .mobile-user-name{color:var(--ui-accent-strong)}.user-chip:focus-visible{border-radius:8px;outline:2px solid var(--ui-accent);outline-offset:3px}.mobile-user-actions{display:inline-flex;min-width:0;flex:1;align-items:center;justify-content:flex-end;gap:10px}.mobile-user-name{min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-logout{display:grid;flex:0 0 auto;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--ui-line);border-radius:8px;color:var(--ui-accent-strong);background:var(--ui-surface);cursor:pointer}.mobile-logout svg{width:18px;height:18px}.mobile-logout:hover,.mobile-logout:focus-visible{border-color:var(--ui-accent);background:var(--ui-accent-soft);outline:none}.avatar-editor{display:flex;align-items:center;gap:18px;padding-bottom:4px}.avatar-editor-actions{min-width:0;display:flex;align-items:flex-start;flex-direction:column;gap:8px}.avatar-editor-actions input[type=file]{position:absolute;width:1px;height:1px;min-height:0;margin:0;opacity:0;pointer-events:none}.avatar-editor-actions small{max-width:360px;color:#7895a3;line-height:1.4}.avatar-editor-actions p{margin:0}.button.disabled{cursor:wait;opacity:.6}@media(max-width:420px){.auth-card{padding:30px 22px}.avatar-editor{align-items:flex-start;gap:12px}.avatar-editor-actions .button{max-width:100%;white-space:normal;text-align:center;padding:8px 10px}}.wordmark{display:inline-flex;align-items:center;gap:11px;color:#f2f8fc;font-size:1.05rem;font-weight:680;letter-spacing:.02em;text-decoration:none}.wordmark-dot{width:9px;height:9px;border-radius:50%;background:#56d3dd;box-shadow:0 0 0 5px #56d3dd1c}.wordmark-un{color:#70d8df}.stage-label{padding:7px 11px;border:1px solid rgba(173,218,232,.18);border-radius:999px;color:#b7cad6;background:#08182680;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.welcome-card{position:relative;align-self:center;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.62fr);align-items:center;gap:clamp(18px,4vw,48px);width:min(1040px,100%);margin:clamp(68px,10vh,120px) auto;padding:clamp(32px,5vw,62px);border:1px solid rgba(180,225,237,.14);border-radius:28px;background:linear-gradient(145deg,#123043c7,#071622b8);box-shadow:0 34px 90px #00060c57;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.welcome-copy{min-width:0}.eyebrow{margin:0 0 18px;color:#7fd5df;font-size:.83rem;font-weight:650;letter-spacing:.115em;text-transform:uppercase}h1{display:flex;align-items:baseline;margin:0;color:#f6fbfe;font-size:clamp(4.4rem,10vw,8.2rem);font-weight:710;letter-spacing:-.075em;line-height:.82}.brand-un{color:#66d4dc;text-shadow:0 0 38px rgba(86,211,221,.18)}.brand-meaning{margin:21px 0 0;color:#88aebb;font-family:Georgia,Times New Roman,serif;font-size:clamp(1rem,1.8vw,1.2rem);font-style:italic;letter-spacing:.015em}.brand-meaning span{color:#66d4dc}.brand-meaning strong{color:#b8cbd4;font-weight:650}.lead{max-width:590px;margin:clamp(30px,5vw,48px) 0 0;color:#c2d4de;font-size:clamp(1.05rem,2.2vw,1.3rem);line-height:1.6}.freud-mark{position:relative;align-self:end;min-width:0;margin:-28px -18px -62px 0;isolation:isolate}.freud-mark img{position:relative;z-index:1;display:block;width:100%;max-height:510px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 24px 32px rgba(0,7,13,.36))}.freud-halo{position:absolute;inset:17% 2% 12%;border-radius:50%;background:radial-gradient(circle,rgba(86,211,221,.16),transparent 68%);filter:blur(8px)}.status-line{display:flex;align-items:center;gap:11px;margin-top:30px;color:#8ea9b8;font-size:.95rem}.status-pulse{width:8px;height:8px;border-radius:50%;background:#56d3dd;box-shadow:0 0 0 6px #56d3dd14}.site-footer{color:#668190;font-size:.82rem;letter-spacing:.04em}@media(max-width:600px){.welcome-shell{padding:20px 16px 18px;background-size:42px 42px,42px 42px,auto}.site-header{display:none}.stage-label{font-size:.68rem}.welcome-card{grid-template-columns:1fr;gap:18px;width:100%;margin:42px 0 24px;padding:28px 22px 0;border-radius:22px}.eyebrow{max-width:260px;line-height:1.5}h1{max-width:100%;font-size:clamp(2rem,10vw,3rem);letter-spacing:-.055em;line-height:.95;white-space:nowrap}.brand-meaning{margin-top:12px}.hero-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;width:100%;margin-top:22px}.hero-actions>:first-child{grid-column:1 / -1}.hero-actions .button{width:100%;padding-inline:12px}.freud-mark{width:min(62vw,250px);margin:0 auto -26px}.freud-mark img{max-height:330px}.site-footer{gap:12px;flex-wrap:wrap}}@media(max-width:900px){.app-layout{--mobile-header-height: 75px}.app-layout,.admin-layout{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;z-index:10;inset:auto 0 0;display:block;width:100%;height:auto;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border:0;border-top:1px solid rgba(173,218,232,.15)}.sidebar>.wordmark,.sidebar>.text-button,.sidebar>.demo-badge{display:none}.sidebar{overflow-x:hidden}.sidebar nav{display:flex;justify-content:flex-start;margin:0;overflow-x:auto}.sidebar nav a{flex:0 0 auto;flex-direction:column;gap:3px;min-width:62px;padding:7px 6px;font-size:.72rem;line-height:1.1;text-align:center}.sidebar nav a svg{width:19px;height:19px}.mobile-header{position:sticky;z-index:80;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--mobile-header-height);padding:20px;border-bottom:1px solid var(--ui-line);color:#7895a3;background:var(--ui-surface);box-shadow:0 3px 12px #102c3a14}.mobile-header>.wordmark{min-width:0}.mobile-header .user-chip{min-width:0;flex:1;justify-content:flex-end}.app-main{padding-bottom:calc(68px + env(safe-area-inset-bottom))}.page,.admin-main{padding:30px 18px}.page-heading,.admin-main>header{align-items:center}.page-heading>p{text-align:center}.event-card{grid-template-columns:1fr}.admin-sidebar{position:static;width:100%;min-width:0;height:auto;padding:18px}.admin-sidebar nav{display:flex;overflow-x:auto;overflow-y:hidden;margin-top:20px}.admin-nav-group{display:flex;flex:0 0 auto}.admin-nav-group+.admin-nav-group{margin-top:0}.admin-nav-heading,.admin-sidebar .text-button,.admin-label{display:none}.admin-sidebar .admin-user-return{position:fixed;top:16px;right:132px;z-index:89;justify-content:center;margin:0;padding:0;width:44px;height:44px;border:1px solid var(--ui-accent);border-radius:10px;color:var(--ui-accent-strong);background:var(--ui-accent-soft);text-decoration:none}.admin-user-return-label{display:none}.admin-sidebar .wordmark{max-width:calc(100% - 160px);font-size:clamp(.8rem,calc(9vw - 17px),1.05rem)}.admin-grid,.dictionary-grid,.stats-grid,.institutes-grid{grid-template-columns:1fr}.maintenance-panel{align-items:flex-start;flex-direction:column}.backup-panel{grid-template-columns:1fr}}@media(max-width:420px){.app-layout{--mobile-header-height: 67px}.mobile-header{gap:8px;padding:16px 14px}.mobile-user-actions{gap:7px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}:root[data-reduce-motion=true] *,:root[data-reduce-motion=true] *:before,:root[data-reduce-motion=true] *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.schedule{position:relative;display:grid;gap:9px}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap}.schedule-nav{display:flex;flex-wrap:wrap;gap:10px}.schedule-title{margin:0;color:#eaf4fb;font-size:1rem;line-height:1.1}.schedule-period-heading{display:flex;align-items:center;gap:10px;min-width:0}.schedule-empty-inline{padding:4px 8px;border-radius:999px;background:#7895a321;color:#7895a3;font-size:.78rem;white-space:nowrap}.schedule-state{margin:0}.schedule-retry{display:flex;justify-content:flex-end}.is-selected-schedule-event{outline:2px solid var(--schedule-event-border,#17856b);outline-offset:1px}.schedule-canvas{position:relative;height:max(360px,calc(100dvh - 360px));overflow-x:auto;padding:16px;border:1px solid rgba(173,218,232,.13);border-radius:16px;background:#0c2230;--fc-classic-background: #0c2230;--fc-classic-foreground: #e9f3f7;--fc-classic-border: rgba(173,218,232,.18);--fc-classic-muted: #0a1d29;--fc-classic-muted-foreground: #8aa6b3;--fc-classic-faint: #0e2a38;--fc-classic-faint-foreground: #7b97a4;--fc-classic-strong: #14313f;--fc-classic-strong-border: rgba(173,218,232,.28);--fc-classic-today: rgba(112,216,223,.12);--fc-classic-highlight: rgba(112,216,223,.2);--fc-classic-now: #70d8df;--fc-classic-event: #2c6d7b;--fc-classic-event-contrast: #f2f9fb;--fc-classic-background-event: var(--schedule-weekend-background);--fc-classic-button: #0b202d;--fc-classic-button-border: rgba(173,218,232,.22);--fc-classic-button-foreground: #cfe2ea;--fc-classic-button-strong: #173747;--fc-classic-button-strong-border: rgba(112,216,223,.4);--fc-classic-ring-color: rgba(112,216,223,.45);--schedule-weekend-background: #e77e99}.schedule-current-day-label{display:inline-flex;align-items:center;justify-content:center;min-width:2.15em;padding:1px 7px;border:2px solid #16825d;border-radius:999px;line-height:1.05}.schedule-canvas[data-active-view=timeGridWeek] .schedule-calendar-inner,.schedule-canvas[data-active-view=timeGridDay] .schedule-calendar-inner{min-width:640px}.schedule-canvas[data-active-view=timeGridWeek] .schedule-time-axis,.schedule-canvas[data-active-view=timeGridDay] .schedule-time-axis{position:relative;z-index:24;background:var(--fc-classic-background);box-shadow:1px 0 0 var(--fc-classic-border);transform:translate(var(--schedule-time-axis-offset, 0));will-change:transform}.schedule-calendar-inner,.schedule-calendar-inner>:first-child,.schedule-calendar-inner .fc,.schedule-calendar-inner .fc-view-harness{height:100%;min-height:0}.schedule-calendar-inner{min-width:0}.schedule-event-content{position:relative;min-width:0;max-width:100%;color:#0b1c26}.schedule-canvas .schedule-event{border-width:2px;border-style:solid}.schedule-canvas[data-active-view=dayGridMonth] .schedule-event{position:relative;border-color:var(--schedule-event-border, #94b8bd)!important;background:var(--schedule-event-color, #cdeef2)!important;color:#0b1c26!important}.schedule-event-links{position:absolute;z-index:0;top:3px;left:0;display:flex;width:clamp(24px,2.4em,34px);height:clamp(24px,2.4em,34px);align-items:center;justify-content:center;color:currentColor;opacity:.14;line-height:1;pointer-events:none}.schedule-event-links svg{display:block;width:100%;height:100%;overflow:visible}.schedule-canvas[data-active-view=dayGridMonth] .schedule-event-links{opacity:.28}.schedule-event-content>:not(.schedule-event-links){position:relative;z-index:1}.schedule-event-content[data-layout=inline] .schedule-event-time:after{content:" "}.schedule-canvas[data-active-view=dayGridMonth] .schedule-event-content[data-layout=inline]{max-height:3.45em;overflow:hidden;white-space:normal;line-height:1.15}.schedule-canvas[data-active-view=dayGridMonth] .schedule-event-content[data-layout=inline] .schedule-event-title{display:-webkit-box;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.schedule-canvas[data-active-view=dayGridMonth] .schedule-event.is-expanded .schedule-event-content[data-layout=inline]{max-height:none}.schedule-canvas[data-active-view=dayGridMonth] .schedule-event.is-expanded .schedule-event-content[data-layout=inline] .schedule-event-title{display:block;overflow:visible;-webkit-line-clamp:unset}.schedule-event-content[data-layout=wrapped]{white-space:normal;overflow-wrap:anywhere;line-height:1.25}.schedule-event-content[data-layout=wrapped] .schedule-event-time,.schedule-event-content[data-layout=wrapped] .schedule-event-title{display:block;min-width:0;white-space:normal;overflow-wrap:anywhere}.schedule-canvas[data-active-view=timeGridWeek] .schedule-event{z-index:3;overflow:visible;border:0!important;background:transparent!important;box-shadow:none;pointer-events:auto}.schedule-canvas[data-active-view=timeGridWeek] .schedule-event,.schedule-canvas[data-active-view=timeGridDay] .schedule-event,.schedule-canvas[data-active-view=timeGridWeek] .schedule-event>div,.schedule-canvas[data-active-view=timeGridDay] .schedule-event>div{box-sizing:border-box;height:100%}.schedule-canvas[data-active-view=timeGridWeek] .schedule-event>div,.schedule-canvas[data-active-view=timeGridDay] .schedule-event>div{align-items:flex-start}.schedule-canvas[data-active-view=timeGridWeek] .schedule-event>div{padding:0!important}.schedule-canvas[data-active-view=timeGridWeek] .schedule-event-layer{z-index:3!important;overflow:visible}.schedule-canvas[data-active-view=timeGridWeek] .schedule-event-layer:not(.schedule-event){pointer-events:none}.schedule-canvas[data-active-view=timeGridWeek] .schedule-event:hover,.schedule-canvas[data-active-view=timeGridWeek] .schedule-event:focus-visible,.schedule-canvas .schedule-event.is-expanded{z-index:30;overflow:visible;border-color:transparent!important;background:transparent!important;box-shadow:none}.schedule-canvas .is-expanded-event-layer{z-index:100!important}.schedule-canvas.has-expanded-event .fc-scrollgrid-section-header{z-index:1!important}.schedule-canvas.has-expanded-event .schedule-time-axis{z-index:0}.schedule-canvas .is-expanded-event-layer:not(.is-expanded-scroll-layer){overflow:visible!important}.schedule-canvas .is-expanded-static-layer{position:relative}.schedule-event-content[data-layout=balloon]{position:relative;left:0;display:flex;align-self:flex-start;align-content:flex-start;align-items:center;flex-shrink:0;flex-wrap:wrap;box-sizing:border-box;gap:2px 5px;width:clamp(150px,14vw,210px);height:100%;max-width:none;min-width:0;padding:7px 9px;overflow:hidden;border:2px solid var(--schedule-event-border,#94b8bd);border-radius:14px;background:var(--schedule-event-color,#cdeef2);box-shadow:0 7px 18px #092b353d;color:#0b1c26;white-space:nowrap;line-height:1.15;transition:width .18s ease,transform .15s ease,box-shadow .15s ease}.schedule-canvas[data-active-view=timeGridDay] .schedule-event-content[data-layout=wrapped]{align-self:flex-start;flex:0 0 100%;box-sizing:border-box;width:100%;height:100%;overflow:hidden}.schedule-canvas[data-active-view=timeGridWeek] .schedule-event:not(.is-expanded):hover .schedule-event-content[data-layout=balloon],.schedule-canvas[data-active-view=timeGridWeek] .schedule-event:not(.is-expanded):focus-visible .schedule-event-content[data-layout=balloon]{box-shadow:0 10px 24px #092b354d}.schedule-event-content[data-layout=balloon] .schedule-event-time{flex:0 0 auto;font-weight:700}.schedule-event-content[data-layout=balloon] .schedule-event-title{flex:1 0 100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-event-balloon-details{display:none}.schedule-event.is-expanded .schedule-event-content{position:relative;left:0;z-index:61;display:flex;flex:0 0 auto;align-content:flex-start;align-items:center;flex-wrap:wrap;gap:2px 5px;width:min(360px,calc(100vw - 24px));max-width:none;max-height:calc(100vh - 24px);padding:7px 9px;overflow-x:hidden;overflow-y:auto;border:2px solid var(--schedule-event-border,#94b8bd);border-radius:14px;background:var(--schedule-event-color,#cdeef2);box-shadow:0 14px 34px #092b3557;color:#0b1c26;white-space:nowrap;line-height:1.15;transform:translate(var(--schedule-event-shift-x,0),var(--schedule-event-shift-y,0));transition:none}.schedule-event.is-expanded .schedule-event-balloon-details{display:grid;flex:1 0 100%;gap:7px;margin-top:5px;white-space:normal}.schedule-event-balloon-type{width:max-content;padding:3px 7px;border-radius:999px;background:#ffffff85;font-size:.76rem;font-weight:700}.schedule-event-balloon-details p{display:-webkit-box;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-height:1.35}.schedule-event-balloon-more{justify-self:start;padding:6px 10px;border:1px solid var(--schedule-event-border,#94b8bd);border-radius:9px;background:#ffffffb8;color:#0b1c26;font:inherit;font-weight:700;cursor:pointer}.schedule-calendar-preview{position:absolute;z-index:200;top:10px;left:10px;display:grid;gap:8px;box-sizing:border-box;width:min(420px,calc(100% - 20px));max-height:calc(100% - 20px);padding:12px;overflow:auto;border:2px solid var(--schedule-event-border,#94b8bd);border-radius:14px;background:var(--schedule-event-color,#cdeef2);box-shadow:0 14px 34px #092b3557;color:#0b1c26;transform:translate(var(--schedule-preview-scroll-x,0))}.schedule-calendar-preview-heading{display:block;line-height:1.25}.schedule-calendar-preview h4,.schedule-calendar-preview p{margin:0}.schedule-calendar-preview h4{font-size:1rem;overflow-wrap:anywhere}.schedule-calendar-preview-datetime{font-size:.88rem;line-height:1.25}.schedule-calendar-preview p{line-height:1.35;white-space:pre-wrap}.schedule-calendar-preview .event-links{display:flex;flex-wrap:wrap;gap:6px}.schedule-event-edit{display:inline-flex;flex:0 0 auto;align-items:center;gap:3px;padding:4px 6px;border:1px solid var(--schedule-event-border,#94b8bd);border-radius:8px;background:#ffffffb8;color:#0b1c26;text-decoration:none}.schedule-event-edit:hover{background:#fff}.schedule-canvas[data-active-view=dayGridMonth] .schedule-event.is-system-audience,.schedule-canvas[data-active-view=timeGridDay] .schedule-event.is-system-audience{border-width:4px!important;border-color:var(--schedule-event-border,#16825d)!important}.schedule-event.is-system-audience .schedule-event-content[data-layout=balloon]{border-width:4px;border-color:var(--schedule-event-border,#16825d)}.schedule-calendar-preview{top:0;max-height:calc(100% - 10px);transform:none;display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.schedule-calendar-preview-header{position:relative;flex:none;padding:12px 54px 12px 12px;border-bottom:1px solid rgba(11,28,38,.12);line-height:1.25}.schedule-calendar-preview>.ui-card-layout{min-height:0;overflow:hidden;box-sizing:border-box}.schedule-preview-close{position:absolute;top:6px;right:6px}.schedule-calendar-preview.is-system-audience{border-width:4px;border-color:var(--schedule-event-border,#16825d)}.schedule-canvas .schedule-event.is-past{border-width:1px!important}.schedule-event.is-past .schedule-event-content{border-width:1px!important;color:#52656f}.schedule-calendar-preview.is-past,.schedule-canvas[data-active-view=dayGridMonth] .schedule-event.is-system-audience.is-past,.schedule-canvas[data-active-view=timeGridDay] .schedule-event.is-system-audience.is-past,.schedule-event.is-system-audience.is-past .schedule-event-content[data-layout=balloon]{border-width:1px!important}.schedule-canvas .schedule-event.is-cancelled{opacity:.68;text-decoration:line-through}.schedule-canvas .schedule-event.is-past,.schedule-calendar-preview.is-past{color:#52656f!important}.schedule-calendar-preview{--ui-accent-strong: #075f5b;--ui-accent-soft: #dff3f1}.schedule-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 16px}.schedule-legend-item{display:inline-flex;align-items:center;gap:7px;border:1px solid #cbdbe1;border-radius:999px;background:#fff;padding:7px 11px;color:#173747;cursor:pointer}.schedule-legend-item.muted{opacity:.48;text-decoration:line-through}.schedule-legend-color{width:18px;height:18px;border:2px solid;border-radius:5px}.schedule-legend-item small{color:#617985}.schedule-filter-section{display:grid;gap:10px}.schedule-filter-section h3{margin:6px 0 0;color:#173747;font-size:1rem}.schedule-filter-section+.schedule-filter-section{margin-top:18px;padding-top:18px;border-top:1px solid #d5e3e7}.schedule-source-tree{display:grid;gap:10px}.schedule-source-group{display:grid;gap:6px}.schedule-source-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:11px 12px;border:1px solid #d5e3e7;border-radius:12px;background:#fff;color:#173747;text-align:left;font:inherit;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,opacity .15s ease}.schedule-source-row:hover{border-color:#83c8c6;background:#f5fbfb}.schedule-source-row.muted{opacity:.58}.schedule-source-row small{color:#617985;white-space:nowrap}.schedule-source-root{font-weight:700;background:#f3f8f9}.schedule-source-check{display:grid;place-items:center;width:21px;height:21px;border:1px solid #78b9b7;border-radius:6px;background:#d8efed;color:#075f5b;font-size:.8rem}.schedule-source-row.muted .schedule-source-check{background:#fff}.schedule-source-children{display:grid;gap:6px;margin-left:10px;padding:0 0 0 14px;border-left:2px solid #d5e3e7}.schedule-source-child{padding:9px 11px}.schedule-source-name{display:flex;align-items:center;gap:9px;min-width:0}.schedule-source-name .schedule-legend-color{flex:0 0 auto;width:15px;height:15px}.event-dialog-layer{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:#040c13b8}.event-dialog{position:relative;display:grid;gap:12px;width:min(520px,100%);max-height:100%;overflow-y:auto;padding:22px;border:1px solid rgba(173,218,232,.16);border-radius:16px;background:#0e2532;color:#d7e6ee}.event-dialog-close{position:absolute;top:6px;right:6px}.event-dialog-type{justify-self:start;border-color:transparent;font-weight:600}.event-dialog-title{margin:0;padding-right:40px;color:#eaf4fb;font-size:1.2rem}.event-dialog-cancelled{margin:0;color:#9fb4bf;font-weight:600}.event-dialog-description{margin:0;color:#b6cbd6}.event-dialog-fields{display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:6px 16px;margin:0}.event-dialog-fields dt{color:#86a2af;font-size:.86rem}.event-dialog-fields dd{margin:0;color:#e2eff5}.event-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.invitation-qr-dialog{justify-items:center;text-align:center}.invitation-qr-dialog h3,.invitation-qr-dialog p{margin:0}.invitation-qr-url{max-width:100%;overflow-wrap:anywhere;color:#9fb8c4;font-size:.85rem}.invitation-qr-image{width:min(320px,100%);aspect-ratio:1;border-radius:12px;background:#fff}@media(max-width:420px){.schedule-page .schedule-canvas .schedule-event-links{top:1px;left:1px;width:18px;height:18px;opacity:.48}.schedule-page .schedule-canvas[data-active-view=timeGridDay] .schedule-event-content:has(>.schedule-event-links) .schedule-event-time{margin-left:18px}.schedule-page .schedule-canvas[data-active-view=dayGridMonth] .schedule-event-links{z-index:2;left:-5px;transform:rotate(-45deg);transform-origin:center}.schedule-page{min-height:calc(100dvh - 140px);display:flex;flex-direction:column}.schedule-page>.ui-tabs{width:100%;gap:0;overflow-x:hidden}.schedule-page>.ui-tabs .ui-tab{flex:1 1 0;min-width:0;padding:10px 4px;font-size:.86rem}.schedule-page .schedule[data-active-view=dayGridMonth],.schedule-page .schedule[data-active-view=timeGridDay]{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}.schedule-toolbar{justify-content:flex-start}.schedule-period-heading{width:100%;justify-content:space-between}.schedule-nav{width:100%}.schedule-nav .button{flex:1 1 auto;justify-content:center}.schedule-canvas{position:relative;height:auto;padding:10px}.schedule-page .schedule[data-active-view=dayGridMonth] .schedule-canvas,.schedule-page .schedule[data-active-view=timeGridDay] .schedule-canvas{display:flex;flex:1 1 auto;min-height:360px;flex-direction:column}.schedule-canvas[data-active-view=dayGridMonth] .schedule-calendar-inner,.schedule-canvas[data-active-view=timeGridDay] .schedule-calendar-inner{display:flex;flex:1 1 auto;min-width:0;min-height:0;flex-direction:column}.schedule-canvas[data-active-view=dayGridMonth] .schedule-calendar-inner>:first-child,.schedule-canvas[data-active-view=timeGridDay] .schedule-calendar-inner>:first-child{flex:1 1 auto;height:auto;min-height:0}.schedule-canvas[data-active-view=dayGridMonth] .fc,.schedule-canvas[data-active-view=timeGridDay] .fc{height:100%}.schedule-canvas[data-active-view=dayGridMonth] .fc-view-harness,.schedule-canvas[data-active-view=timeGridDay] .fc-view-harness{height:100%!important;min-height:0}.segmented{width:100%}.segmented button{flex:1 1 0}.event-dialog-layer{padding:10px;align-items:start}.event-dialog{width:100%;max-height:calc(100vh - 20px);padding:18px}.event-dialog-fields{grid-template-columns:1fr;gap:2px}.event-dialog-fields dd{margin-bottom:8px}.event-dialog-actions{flex-direction:column;align-items:stretch}}.audience-block{margin-top:10px;padding:16px;border:1px solid rgba(173,218,232,.12);border-radius:12px;background:#0b202d}.audience-block h4{margin:0 0 12px;color:#bcd1d9;font-size:.86rem}.audience-block label{display:grid;gap:8px;color:#a8bec9;font-size:.86rem}.audience-block select[multiple]{min-height:120px}.audience-block .form-error{margin-top:6px;font-size:.78rem}.book-list,.tag-list{display:grid;gap:10px}.book-form select[multiple],.tag-form select[multiple]{min-height:110px}.book-row,.tag-row{align-items:flex-start}.book-row .row-actions,.tag-row .row-actions{flex-wrap:wrap;justify-content:flex-end}.book-upload-state{margin:0;color:#8faab7;font-size:.8rem}.book-file-state{color:#7fd4dd}:root[data-color-scheme=light]{color:#16313e;background:#f4f8fa}:root[data-color-scheme=light] body{color:#16313e;background:#f4f8fa}:root[data-color-scheme=light] .app-layout,:root[data-color-scheme=light] .admin-layout{background:#f4f8fa}:root[data-color-scheme=light] .sidebar,:root[data-color-scheme=light] .admin-sidebar{border-color:#23526529;background:#eaf2f5}:root[data-color-scheme=light] .sidebar nav a,:root[data-color-scheme=light] .admin-sidebar nav button,:root[data-color-scheme=light] .text-button,:root[data-color-scheme=light] .page-heading>p,:root[data-color-scheme=light] .form-note,:root[data-color-scheme=light] .empty-note,:root[data-color-scheme=light] .state-note,:root[data-color-scheme=light] .book-upload-state{color:#587482}:root[data-color-scheme=light] .sidebar nav a:hover,:root[data-color-scheme=light] .sidebar nav a.router-link-active,:root[data-color-scheme=light] .admin-sidebar nav button:hover,:root[data-color-scheme=light] .admin-sidebar nav button.active{color:#0c3948;background:#18808f1f}:root[data-color-scheme=light] .content-card,:root[data-color-scheme=light] .panel,:root[data-color-scheme=light] .event-card,:root[data-color-scheme=light] .stats-grid article,:root[data-color-scheme=light] .list-row,:root[data-color-scheme=light] .audience-block{border-color:#23526529;background:#fff}:root[data-color-scheme=light] input,:root[data-color-scheme=light] select,:root[data-color-scheme=light] textarea,:root[data-color-scheme=light] .backup-item{border-color:#23526533;color:#173746;background:#f8fbfc}:root[data-color-scheme=light] input:focus,:root[data-color-scheme=light] select:focus,:root[data-color-scheme=light] textarea:focus{border-color:#238d9b;box-shadow:0 0 0 3px #238d9b1f}:root[data-color-scheme=light] .auth-card h2,:root[data-color-scheme=light] .page h2,:root[data-color-scheme=light] .admin-main h2,:root[data-color-scheme=light] .content-card h4,:root[data-color-scheme=light] .list-row h4,:root[data-color-scheme=light] .stats-grid strong,:root[data-color-scheme=light] .schedule-title,:root[data-color-scheme=light] .event-dialog-title{color:#102f3d}:root[data-color-scheme=light] .auth-card label,:root[data-color-scheme=light] .form-stack label,:root[data-color-scheme=light] .readonly-value,:root[data-color-scheme=light] .content-card p,:root[data-color-scheme=light] .event-card p,:root[data-color-scheme=light] .list-row p,:root[data-color-scheme=light] .panel p,:root[data-color-scheme=light] .audience-block label{color:#526f7d}:root[data-color-scheme=light] .button.secondary{color:#174a58;background:#dcebee}:root[data-color-scheme=light] .segmented{background:#e4eef1}:root[data-color-scheme=light] .segmented button{color:#587482}:root[data-color-scheme=light] .segmented button.active{color:#103b49;background:#fff}:root[data-color-scheme=light] .auth-page{background:radial-gradient(circle at 70% 10%,#d8edf1 0,#f4f8fa 55%,#eaf2f5)}:root[data-color-scheme=light] .auth-card{border-color:#23526529;background:#ffffffeb;box-shadow:0 28px 70px #284b5a24}:root[data-color-scheme=light] .welcome-shell{background:linear-gradient(rgba(35,82,101,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(35,82,101,.05) 1px,transparent 1px),radial-gradient(circle at 75% 20%,#d7edf1 0,#f4f8fa 48%,#e8f1f4)}:root[data-color-scheme=light] .welcome-card{border-color:#23526524;background:linear-gradient(145deg,#ffffffe6,#ebf4f7db);box-shadow:0 34px 90px #284b5a26}:root[data-color-scheme=light] h1{color:#123443}:root[data-color-scheme=light] .lead{color:#385966}:root[data-color-scheme=light] .brand-meaning,:root[data-color-scheme=light] .status-line,:root[data-color-scheme=light] .site-footer{color:#587482}:root[data-color-scheme=light] .wordmark{color:#173746}:root[data-color-scheme=light] .public-nav a:not(.button),:root[data-color-scheme=light] .text-link{color:#476975}:root[data-color-scheme=light] .public-nav a:not(.button):hover,:root[data-color-scheme=light] .text-link:hover{color:#116f7c}:root[data-color-scheme=light] .brand-meaning strong{color:#274b59}:root[data-color-scheme=light] .stage-label{border-color:#2352652e;color:#385966;background:#ffffffa6}:root[data-color-scheme=light] .schedule-canvas{border-color:#23526529;background:#fff;--fc-classic-background:#fff;--fc-classic-foreground:#173746;--fc-classic-border:rgba(35,82,101,.2);--fc-classic-muted:#eef4f6;--fc-classic-muted-foreground:#587482;--fc-classic-faint:#f4f8fa;--fc-classic-faint-foreground:#657f8b;--fc-classic-strong:#dcebee;--fc-classic-strong-border:rgba(35,82,101,.28);--fc-classic-today:rgba(35,141,155,.12);--fc-classic-highlight:rgba(35,141,155,.18);--fc-classic-now:#197f8d;--fc-classic-button:#eaf2f5;--fc-classic-button-border:rgba(35,82,101,.22);--fc-classic-button-foreground:#294e5c;--fc-classic-button-strong:#d8e9ed;--fc-classic-button-strong-border:rgba(35,141,155,.4);--fc-classic-ring-color:rgba(35,141,155,.4);--schedule-weekend-background:#d94b73}:root[data-color-scheme=light] .event-dialog{border-color:#2352652e;background:#fff;color:#173746}:root[data-color-scheme=light] .event-dialog-description,:root[data-color-scheme=light] .event-dialog-fields dd{color:#385966}:root[data-color-scheme=light] .event-dialog-fields dt{color:#67818d}:root{--ui-surface: #0b2230;--ui-surface-soft: #102b3a;--ui-text: #eaf4fb;--ui-muted: #a9c0ca;--ui-line: rgba(173, 218, 232, .16);--ui-accent: #70d8df;--ui-accent-strong: #70d8df;--ui-accent-contrast: #06151f;--ui-accent-soft: rgba(112, 216, 223, .1);--ui-danger: #ff9ea4;--ui-radius: 18px;--ui-shadow: 0 18px 50px rgba(23, 59, 53, .12)}:root[data-color-scheme=light]{--ui-surface: #fff;--ui-surface-soft: #f2f7f5;--ui-text: #172120;--ui-muted: #687573;--ui-line: #dbe2df;--ui-accent: #087f76;--ui-accent-strong: #06675f;--ui-accent-contrast: #fff;--ui-accent-soft: #dff2ef;--ui-danger: #bd3b43}.ui-page-header{display:flex;align-items:center;flex-direction:column;gap:16px;margin-bottom:28px;text-align:center}.ui-page-header-copy{width:100%}.ui-page-header h1{display:block;white-space:normal;overflow-wrap:anywhere;margin:5px 0 7px;font-size:clamp(1.8rem,2.4vw,2.35rem);font-weight:710;letter-spacing:-.035em;line-height:1.12}.ui-page-eyebrow{margin:0;color:var(--ui-accent);font-size:.74rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.ui-page-description{margin:0;color:var(--ui-muted)}.ui-page-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.ui-tabs{display:flex;gap:7px;margin-bottom:20px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--ui-line)}.ui-tabs::-webkit-scrollbar{display:none}.ui-tab{font-weight:750;padding:12px 15px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--ui-muted);white-space:nowrap;cursor:pointer}.ui-tab.active{border-color:var(--ui-accent);color:var(--ui-accent)}.ui-tab-count{margin-left:6px;padding:2px 7px;border-radius:12px;background:var(--ui-surface-soft);font-size:.75rem}.ui-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.ui-toolbar-main{flex:1;min-width:0}.ui-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.ui-card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:15px}.ui-badge{display:inline-flex;align-items:center;width:fit-content;padding:5px 9px;border-radius:20px;font-size:.75rem;font-weight:750}.ui-badge-success{background:#e4f4e9;color:#25713a}.ui-badge-info{background:#e7f0fa;color:#2a6093}.ui-badge-warning{background:#fff1cf;color:#8a5b00}.ui-badge-danger{background:#bd3b4326;color:var(--ui-danger)}.ui-badge-neutral{background:var(--ui-surface-soft);color:var(--ui-muted)}.ui-list-state{padding:22px;border:1px dashed var(--ui-line);border-radius:var(--ui-radius);color:var(--ui-muted);text-align:center;background:var(--ui-surface)}.ui-list-state-error{border-style:solid;border-color:#bd3b4359;color:var(--ui-danger);background:#bd3b4314}.ui-drawer-layer{position:fixed;z-index:80;inset:0;background:#0c1c1a94}.ui-drawer{display:flex;flex-direction:column;width:min(540px,100%);height:100%;margin-left:auto;padding:25px;overflow:hidden;background:var(--ui-surface);color:var(--ui-text);box-shadow:-20px 0 50px #00000024}.ui-drawer-header{z-index:2;display:flex;flex:0 0 auto;justify-content:space-between;align-items:flex-start;gap:16px;background:var(--ui-surface)}.ui-drawer-header>div{min-width:0}.ui-drawer-header h2{margin:5px 0 0;overflow-wrap:anywhere}.ui-drawer-header .ui-drawer-close{flex-shrink:0}.ui-drawer-body{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:22px 0}.ui-drawer-actions{flex:0 0 auto;display:flex;justify-content:flex-end;gap:9px;padding:16px 0 0;background:var(--ui-surface)}.ui-form-field{display:grid;gap:7px;min-width:0}.ui-form-label{color:var(--ui-text);font-weight:700}.ui-required,.ui-form-error{color:var(--ui-danger)}.ui-form-hint,.ui-form-error{margin:0;font-size:.86rem;line-height:1.4}.ui-form-hint{color:var(--ui-muted)}.ui-form-field.has-error input,.ui-form-field.has-error select,.ui-form-field.has-error textarea{border-color:var(--ui-danger)}.ui-confirm-layer{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:#0c1c1a94}.ui-confirm-dialog{width:min(460px,100%);padding:24px;border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow)}.ui-confirm-dialog h2{margin:0;font-size:1.28rem}.ui-confirm-dialog p{margin:12px 0 0;color:var(--ui-muted);line-height:1.5}.ui-confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px;flex-wrap:wrap}.ui-toast{position:fixed;z-index:110;right:20px;bottom:20px;display:flex;align-items:center;gap:14px;width:min(420px,calc(100% - 40px));padding:13px 15px;border:1px solid var(--ui-line);border-left:4px solid var(--ui-accent);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow)}.ui-toast.is-success{border-left-color:#318b66}.ui-toast.is-error{border-left-color:var(--ui-danger)}.ui-toast>span{flex:1;min-width:0;overflow-wrap:anywhere}.pwa-status-stack{position:fixed;z-index:120;right:20px;bottom:20px;display:grid;gap:10px;width:min(480px,calc(100% - 40px))}.pwa-status{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--ui-line);border-left:4px solid var(--ui-accent);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow)}.pwa-status span{flex:1;min-width:0;overflow-wrap:anywhere}.pwa-status.is-offline{border-left-color:#c27a37}.pwa-status-dismiss{flex:0 0 auto;padding:6px 8px;border:0;background:transparent;color:var(--ui-muted);cursor:pointer}.pwa-status-dismiss:hover{color:var(--ui-text)}.ui-form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--ui-line)}.ui-form-actions-extra,.ui-form-actions-main{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ui-form-actions-main{margin-left:auto}.ui-danger-zone{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px;border:1px solid color-mix(in srgb,var(--ui-danger) 38%,transparent);border-radius:var(--ui-radius);background:color-mix(in srgb,var(--ui-danger) 7%,var(--ui-surface))}.ui-danger-zone h3,.ui-danger-zone p{margin:0}.ui-danger-zone h3{color:var(--ui-danger);font-size:1rem}.ui-danger-zone p{margin-top:5px;color:var(--ui-muted);line-height:1.45}.ui-mobile-disclosure-toggle,.ui-mobile-disclosure-header,.ui-mobile-disclosure-footer{display:none}.ui-mobile-disclosure-layer{display:block}@media(max-width:640px){.ui-form-actions,.ui-danger-zone{align-items:stretch;flex-direction:column}.ui-form-actions-extra,.ui-form-actions-main{width:100%}.ui-form-actions-main{flex-direction:column-reverse;margin-left:0}.ui-form-actions-main .button,.ui-form-actions-main .chip,.ui-danger-zone>.button{width:100%}}@media(max-width:640px){.ui-confirm-actions{align-items:stretch;flex-direction:column-reverse}.ui-confirm-actions .button,.ui-confirm-actions .chip{width:100%}.ui-toast,.pwa-status-stack{right:12px;bottom:12px;width:calc(100% - 24px)}.pwa-status{flex-wrap:wrap}.pwa-status span{flex-basis:100%}}@media(max-width:640px){.app-main>.page,.app-main>.page-section{width:100%;max-width:100%;padding:12px 16px 24px}.app-main .ui-page-header{margin-bottom:12px}.app-main .ui-page-header.compact-on-mobile .ui-page-header-copy{display:none}.app-main .ui-page-header.compact-on-mobile:not(.has-actions),.app-main .page-heading{display:none}.app-main .ui-page-actions{width:100%}.app-main .ui-page-actions>*{width:100%}.ui-toolbar{align-items:stretch;flex-direction:column}.ui-card-list{grid-template-columns:1fr}.ui-drawer{padding:20px 16px}.sidebar nav{scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}.ui-mobile-disclosure{margin-bottom:14px}.ui-mobile-disclosure-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:46px;padding:10px 14px;border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-surface);color:var(--ui-text);font:inherit;cursor:pointer}.ui-mobile-disclosure-toggle small{margin-left:auto;color:var(--ui-muted)}.ui-mobile-disclosure-layer{position:fixed;z-index:95;inset:0;display:none;align-items:end;padding:0;background:#0c1c1a94}.ui-mobile-disclosure-layer.open{display:grid}.ui-mobile-disclosure-panel{width:100%;max-height:min(72vh,620px);overflow-y:auto;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 -18px 50px #0003}.ui-mobile-disclosure-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.ui-mobile-disclosure-header h2{margin:0;font-size:1.2rem}.ui-mobile-disclosure-footer{display:block;margin-top:18px}.ui-mobile-disclosure-footer .button{width:100%}.ui-mobile-disclosure-body .schedule-legend{justify-content:flex-start;margin:0}.schedule-source-children{padding-left:14px}}@media(max-width:640px){html,body,#app{max-width:100%;overflow-x:clip}.ui-table-wrap{overflow:visible;border:0;background:transparent}.ui-table{display:block;min-width:0!important}.ui-table thead{display:none}.ui-table tbody{display:grid;gap:12px}.ui-table tr{display:grid;gap:9px;width:100%;padding:14px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-surface)}.ui-table td{display:block!important;min-width:0!important;padding:0!important;border:0;overflow-wrap:anywhere}.ui-table td:empty{display:none!important}.ui-table .table-actions,.ui-table .row-actions,.ui-table .book-file-actions{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}}.groups-admin-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.groups-admin-intro h3,.groups-admin-intro p{margin:0}.groups-admin-intro p{margin-top:5px;color:var(--ui-muted)}.groups-search{width:min(100%,480px)}.group-card{display:flex;min-width:0;min-height:215px;padding:18px;flex-direction:column;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);transition:border-color .15s,transform .15s,box-shadow .15s}.group-card[tabindex]{cursor:pointer}.group-card[tabindex]:hover,.group-card[tabindex]:focus-visible{border-color:var(--ui-accent);outline:0;box-shadow:var(--ui-shadow);transform:translateY(-2px)}.group-card-heading{display:flex;align-items:center;gap:13px}.group-card-heading h2,.group-card-heading h3,.group-card-heading p{margin:0}.group-card-heading h2,.group-card-heading h3{font-size:1.06rem}.group-card-heading p{margin-top:3px;color:var(--ui-muted);font-size:.88rem}.group-card-icon{display:grid;flex:0 0 auto;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--ui-accent-soft);color:var(--ui-accent)}.group-card-description{flex:1;margin:17px 0;color:var(--ui-muted);line-height:1.48}.group-card-footer,.group-card-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.group-card-open{color:var(--ui-accent);font-size:.88rem;font-weight:700}.group-card-status{margin-bottom:14px}.group-card-user{min-height:245px}.group-card-user .group-events{flex:1}.group-details{display:grid;gap:0}.group-details>section{padding:18px 0;border-top:1px solid var(--ui-line)}.group-details p{margin:5px 0}.group-details-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:18px}.group-detail-label{display:block;margin-bottom:8px;color:var(--ui-muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.group-member-list{display:flex;gap:7px;flex-wrap:wrap}.group-member{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:18px;background:var(--ui-surface-soft)}.group-member button{border:0;background:transparent;color:var(--ui-muted);cursor:pointer}.group-member-add{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.ui-drawer .group-icon-picker{grid-template-columns:repeat(4,minmax(88px,1fr))}.ui-drawer .compact-check{display:grid;grid-template-columns:18px 1fr;align-items:start;gap:9px}.ui-drawer .compact-check input{width:18px;height:18px;margin:2px 0 0}@media(max-width:640px){.groups-admin-intro{align-items:stretch;flex-direction:column}.groups-admin-intro .button{width:100%}.group-member-add{grid-template-columns:1fr}.ui-drawer .group-icon-picker{grid-template-columns:repeat(3,minmax(76px,1fr))}}.users-admin{width:100%;min-width:0}.users-admin-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.users-admin-intro h3,.users-admin-intro p{margin:0}.users-admin-intro p{margin-top:5px;color:var(--ui-muted)}.users-search{width:min(100%,560px)}.ui-table-wrap{width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-surface)}.ui-table{width:100%;min-width:760px;border-collapse:collapse;color:var(--ui-text)}.ui-table th,.ui-table td{padding:14px 16px;border-bottom:1px solid var(--ui-line);text-align:left;vertical-align:middle}.ui-table th{color:var(--ui-muted);font-size:.76rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.ui-table tbody tr{cursor:pointer;transition:background .15s}.ui-table tbody tr:last-child td{border-bottom:0}.ui-table tbody tr:hover,.ui-table tbody tr:focus-visible{background:var(--ui-accent-soft);outline:0}.ui-table td small{display:block;margin-top:4px;color:var(--ui-muted)}.user-cell{display:flex;align-items:center;gap:11px;min-width:230px}.user-cell strong,.user-cell small{display:block}.user-badges{display:flex;gap:6px;flex-wrap:wrap}.user-details{display:grid;gap:18px}.user-details>section,.user-delete-form{padding-top:18px;border-top:1px solid var(--ui-line)}.user-details-heading{display:flex;align-items:center;gap:13px}.user-details-heading p{margin:4px 0 0;color:var(--ui-muted)}.user-details section p{margin:5px 0}.user-actions{display:flex;align-items:flex-start;gap:8px;flex-direction:column}.user-delete-form{display:grid;gap:10px}.user-delete-form p{margin:0;color:var(--ui-muted)}.user-delete-form .danger{justify-self:start}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:640px){.users-admin-intro{align-items:stretch;flex-direction:column}.users-admin-intro .button{width:100%}.users-table th:nth-child(2),.users-table td:nth-child(2),.users-table th:nth-child(4),.users-table td:nth-child(4){display:none}.ui-table th,.ui-table td{padding:12px 10px}.user-cell{min-width:190px}}.invitations-admin{width:100%;min-width:0}.invitations-table td:first-child{min-width:220px}.invitations-table td:nth-child(2){min-width:210px}.invitation-url{overflow-wrap:anywhere}@media(max-width:640px){.invitations-table th:nth-child(2),.invitations-table td:nth-child(2),.invitations-table th:nth-child(3),.invitations-table td:nth-child(3){display:none}}.dictionaries-admin,.menu-admin{width:100%;min-width:0}.dictionary-add{display:flex;gap:8px}.dictionary-add input{min-width:250px}.dictionaries-table{min-width:620px}.menu-table td:first-child{min-width:210px}.menu-table td:nth-child(2){min-width:180px}@media(max-width:640px){.dictionary-add{align-items:stretch;flex-direction:column}.dictionary-add input{min-width:0}.menu-table th:nth-child(2),.menu-table td:nth-child(2),.menu-table th:nth-child(3),.menu-table td:nth-child(3){display:none}}.library-section,.events-admin{width:100%;min-width:0}.admin-card-section{display:grid;gap:22px}.book-editor-page,.event-editor-page{width:min(100%,900px)}.book-list .ui-card-list,.events-admin .ui-card-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.book-row,.event-admin-card{min-height:0}.book-row h4,.event-admin-card h4{margin:12px 0 7px}.book-row .row-actions{margin-top:16px}.event-admin-card{justify-content:space-between}.event-admin-card>.chip{align-self:flex-start;margin-top:14px}.admin-content-section{display:grid;gap:22px;width:100%;min-width:0}.admin-editor-page{width:min(100%,900px)}.ui-drawer.ui-drawer-wide{width:min(1080px,100%)}.ui-drawer-layer.ui-window-layer{z-index:75;background:transparent;pointer-events:none}.ui-drawer-layer.ui-modal-window-layer{z-index:80;background:transparent;pointer-events:none}dialog.ui-drawer.ui-modal-window{position:fixed;inset:0 0 auto auto;max-width:none;max-height:none;margin:0;border:0;pointer-events:auto}dialog.ui-drawer.ui-modal-window::backdrop{background:#0c1c1a94;touch-action:none}dialog.ui-drawer.ui-side-panel{width:min(360px,calc(100vw - 20px));height:100dvh;box-sizing:border-box;padding:20px;animation:ui-side-panel-in .18s ease-out}dialog.ui-drawer.ui-anchored-side-panel{padding:16px;border:1px solid var(--ui-line);border-radius:14px;background:color-mix(in srgb,var(--ui-surface) 82%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 8px 32px #0000002e}.ui-anchored-side-panel>.ui-drawer-header,.ui-anchored-side-panel>.ui-drawer-actions{background:transparent}dialog.ui-drawer.ui-anchored-side-panel.ui-compact-side-panel{background:color-mix(in srgb,var(--ui-surface) 65%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ui-compact-side-panel>.ui-drawer-body{flex:0 1 auto;padding:12px 0 0}.ui-anchored-side-panel .schedule-filter-section h3{color:var(--ui-text)}.ui-anchored-side-panel .schedule-filter-section+.schedule-filter-section,.ui-anchored-side-panel .schedule-source-row,.ui-anchored-side-panel .schedule-source-children{border-color:var(--ui-line)}.ui-anchored-side-panel .schedule-source-row{background:color-mix(in srgb,var(--ui-surface-soft) 82%,transparent);color:var(--ui-text)}.ui-anchored-side-panel .schedule-source-row:hover{background:var(--ui-accent-soft);border-color:var(--ui-accent)}.ui-anchored-side-panel .schedule-source-row small{color:var(--ui-muted)}.ui-anchored-side-panel .schedule-source-check{background:var(--ui-accent-soft);color:var(--ui-accent-strong);border-color:var(--ui-accent)}.ui-anchored-side-panel .schedule-source-row.muted .schedule-source-check{background:transparent}dialog.ui-drawer.ui-anchored-side-panel::backdrop{background:#0c1c1a14}@keyframes ui-side-panel-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){dialog.ui-drawer.ui-side-panel{animation:none}}html:has(dialog.ui-modal-window:not(.ui-nonmodal-panel)[open]),html:has(dialog.ui-modal-window:not(.ui-nonmodal-panel)[open]) body{overflow:hidden}.ui-drawer-layer.ui-inline-drawer-layer{position:static;background:transparent;z-index:auto}.ui-drawer.ui-inline-drawer{width:100%;height:auto;margin:0;padding:clamp(14px,3vw,28px);overflow:visible;box-shadow:none;border:1px solid var(--ui-line);border-radius:var(--ui-radius)}.ui-inline-drawer>.ui-drawer-body{padding:0;overflow:visible}.ui-drawer-body.is-fill-body{display:flex;flex-direction:column}.ui-drawer-body.is-fill-body>*{flex-shrink:0}.ui-drawer-layer.ui-inline-bare,.ui-inline-bare>.ui-drawer,.ui-inline-bare>.ui-drawer>.ui-drawer-body,.ui-inline-bare>.ui-drawer>.ui-drawer-actions{display:contents}.ui-drawer.ui-editor-window{position:absolute;margin:0;box-sizing:border-box;pointer-events:auto;border:1px solid var(--ui-line);border-radius:var(--ui-radius);box-shadow:0 12px 42px #00000040}.ui-editor-window>.ui-drawer-body{container:editor-window / inline-size}@container editor-window (max-width: 740px){.ui-editor-window .material-link-picker{flex-direction:column;align-items:stretch}.ui-editor-window .material-link-fields{width:100%}.ui-editor-window .material-link-preview{position:static;width:100%}.ui-editor-window .material-editor .material-editor-columns{grid-template-columns:minmax(0,1fr)}.ui-editor-window .material-editor .material-editor-tabs{display:flex}.ui-editor-window .material-editor .is-hidden-mobile{display:none}}.ui-window-handle{flex:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.ui-window-handle:after{content:"⠿";display:block;color:var(--ui-muted);font-size:18px;line-height:18px}.ui-window-moving .ui-window-handle{cursor:grabbing}.ui-window-tools{display:flex;flex:0 0 auto;justify-content:flex-end;gap:4px;padding-top:8px}.ui-window-tools button{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--ui-line);border-radius:8px;color:var(--ui-text);background:var(--ui-surface-soft);cursor:pointer}.ui-window-tools button[aria-pressed=true]{color:var(--ui-accent);border-color:var(--ui-accent);background:var(--ui-accent-soft)}.ui-window-handle:focus-visible,.ui-window-tools button:focus-visible,.ui-window-resize:focus-visible{outline:2px solid var(--ui-accent);outline-offset:-2px}.ui-window-resize{position:absolute;z-index:3;touch-action:none}.ui-window-resize-n,.ui-window-resize-s{height:8px;left:12px;right:12px;cursor:ns-resize}.ui-window-resize-n{top:0}.ui-window-resize-s{bottom:0}.ui-window-resize-e,.ui-window-resize-w{width:8px;top:12px;bottom:12px;cursor:ew-resize}.ui-window-resize-e{right:0}.ui-window-resize-w{left:0}.ui-window-resize-ne,.ui-window-resize-nw,.ui-window-resize-se,.ui-window-resize-sw{width:14px;height:14px}.ui-window-resize-ne,.ui-window-resize-nw{top:0}.ui-window-resize-se,.ui-window-resize-sw{bottom:0}.ui-window-resize-ne,.ui-window-resize-se{right:0}.ui-window-resize-nw,.ui-window-resize-sw{left:0}.ui-window-resize-ne,.ui-window-resize-sw{cursor:nesw-resize}.ui-window-resize-nw,.ui-window-resize-se{cursor:nwse-resize}.ui-window-resize-se:after{content:"";position:absolute;right:4px;bottom:4px;width:7px;height:7px;border-right:2px solid var(--ui-muted);border-bottom:2px solid var(--ui-muted)}.ui-window-snap{position:absolute;top:0;bottom:0;width:min(600px,50%);border:2px solid var(--ui-accent);background:var(--ui-accent-soft);opacity:.6}.ui-window-snap-left{left:0}.ui-window-snap-right{right:0}.admin-main.admin-main-wide{width:100%}.admin-content-section .ui-card-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.ui-view-toggle{flex:0 0 auto}.books-table{min-width:850px}.books-table td:first-child{min-width:220px}.events-table{min-width:760px}.member-group-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.member-group-add{align-items:end}.member-group-add label{min-width:210px}.event-import-box{display:grid;gap:1rem;padding:1rem;border:1px dashed rgba(112,216,223,.42);border-radius:18px;background:#70d8df0d}.event-import-samples{flex-wrap:wrap}.event-import-samples a{font-weight:700;text-decoration:underline}.event-import-preview{display:grid;gap:.35rem;padding:1rem;border-radius:14px;background:#70d8df14}.event-import-preview span,.event-import-preview p{margin:0}.form-warning{color:#c98b35}.event-card-page,.event-join-card{max-width:760px}.event-join-card{display:grid;justify-items:start;gap:12px}.event-card-page>.badge{margin-bottom:14px}.event-materials{display:grid;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--ui-line)}.event-materials h2,.event-materials h3,.event-materials p{margin:0}.event-materials h2,.event-materials h3{font-size:1rem}.event-materials p{color:var(--ui-muted)}.event-materials .event-links{display:flex;flex-wrap:wrap;gap:8px}.demo-badge{margin:10px 0 0;padding:7px 10px;border:1px solid var(--ui-line);border-radius:999px;color:var(--ui-muted);font-size:.78rem;text-align:center}.demo-readonly-banner{margin:12px auto 0;max-width:1180px;padding:9px 14px;border:1px solid #8bcfd4;border-radius:12px;background:#e6f6f7;color:#174650;text-align:center;font-size:.9rem}.demo-tour{position:fixed;z-index:100;right:24px;bottom:24px;width:min(390px,calc(100vw - 32px));padding:20px;border:1px solid var(--ui-line);border-radius:18px;background:var(--ui-surface);box-shadow:0 18px 60px #08233147}.demo-tour h2{margin:.2rem 0 .5rem;font-size:1.25rem}.demo-tour p{line-height:1.5}.demo-tour-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px}.demo-tour-actions .text-button{margin-left:auto}@media(max-width:640px){.demo-readonly-banner{margin:8px 12px 0}.demo-tour{right:16px;bottom:84px}}.groups-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:28px 0 14px}.groups-section-heading h2,.groups-section-heading h3,.groups-section-heading p{margin:0}.groups-section-heading p{margin-top:4px;color:var(--ui-muted)}.groups-custom-heading{margin-top:32px;padding-top:24px;border-top:1px solid var(--ui-line)}.group-system-tree{display:grid;gap:12px}.group-tree-branch{overflow:hidden;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-surface)}.group-tree-row{display:flex;position:relative;align-items:center;gap:12px;width:100%;padding:14px 16px;border:0;background:transparent;color:var(--ui-text);text-align:left}.group-tree-row button,.group-tree-row.chip{flex:0 0 auto}button.group-tree-row{font:inherit;cursor:pointer}button.group-tree-row:hover,button.group-tree-row:focus-visible{background:var(--ui-surface-soft);outline:0}.group-tree-root{min-height:72px}.group-tree-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.group-tree-copy strong{overflow:hidden;text-overflow:ellipsis}.group-tree-copy small{color:var(--ui-muted)}.group-tree-children{display:grid;margin-left:38px;border-left:2px solid var(--ui-line)}.group-tree-child{border-top:1px solid var(--ui-line)}.group-tree-child>.group-tree-row,.group-tree-row.group-tree-child{padding-left:22px}.group-tree-child>.group-tree-row:before,.group-tree-row.group-tree-child:before{content:"";position:absolute;left:0;top:50%;width:14px;border-top:2px solid var(--ui-line)}.group-tree-events{margin:0 16px 14px 72px;padding:12px;border-radius:12px;background:var(--ui-surface-soft)}.group-tree-events .group-event{background:var(--ui-surface)}.group-system-tree-admin .group-tree-row .ui-badge{margin-left:auto}@media(max-width:640px){.groups-section-heading{align-items:stretch;flex-direction:column}.group-tree-row{padding:11px 10px}.group-tree-row .group-card-icon{width:38px;height:38px;border-radius:11px}.group-tree-children{margin-left:20px}.group-tree-events{margin:0 8px 10px 38px}}
