:root{--ui-bg:var(--tg-theme-secondary-bg-color,#f4f4f5);--ui-surface:var(--tg-theme-section-bg-color,var(--tg-theme-bg-color,#fff));--ui-border:var(--tg-theme-section-separator-color,#00000014);--ui-text:var(--tg-theme-text-color,#09090b);--ui-text-sub:var(--tg-theme-subtitle-text-color,var(--tg-theme-hint-color,#71717a));--ui-text-hint:var(--tg-theme-hint-color,#71717a);--ui-hdr:var(--tg-theme-section-header-text-color,var(--tg-theme-hint-color,#6b7280));--ui-accent:var(--tg-theme-button-color,#3b82f6);--ui-accent-fg:var(--tg-theme-button-text-color,#fff);--ui-link:var(--tg-theme-link-color,var(--tg-theme-accent-text-color,#2563eb));--ui-danger:var(--tg-theme-destructive-text-color,#ef4444);--ui-ripple:#0000001a;--ui-shadow-sm:0 2px 4px #00000024;--ui-shadow-md:0 4px 16px #00000024;--ui-overlay-bg:#00000073;--ui-switch-thumb:#fff;--ui-radius:12px;--ui-radius-sm:10px;--ui-font:"Inter Variable", "Inter", system-ui, -apple-system, sans-serif;--ui-space-1:4px;--ui-space-2:8px;--ui-space-3:12px;--ui-space-4:16px;--ui-space-5:20px;--ui-space-6:24px;--ui-space-8:32px;--ui-space-10:40px;--ui-space-12:48px;--ui-space-16:64px;--ui-inset:var(--ui-space-4);--ui-inset-v:var(--ui-space-3);--ui-gap-xs:var(--ui-space-1);--ui-gap-sm:var(--ui-space-2);--ui-gap:var(--ui-space-3);--ui-gap-lg:var(--ui-space-4);--ui-section-gap:var(--ui-space-2)}html,body{font-family:var(--ui-font);margin:0;padding:0}*,:before,:after{box-sizing:border-box;font-family:inherit}.ui-ripple{pointer-events:none;border-radius:50%;width:24px;height:24px;position:absolute}.ui-ripple--active{background:var(--ui-ripple,#0000001a);margin-top:-12px;margin-left:-12px;animation:.4s ease-out forwards ui-ripple-wave}[data-appearance=dark] .ui-ripple--active{background:#ffffff1f}@keyframes ui-ripple-wave{0%{opacity:1;transform:scale(1)}30%{opacity:1}to{opacity:0;transform:scale(8)}}[data-appearance=dark]{--ui-bg:var(--tg-theme-secondary-bg-color,#1c1c1e);--ui-surface:var(--tg-theme-section-bg-color,var(--tg-theme-bg-color,#2c2c2e));--ui-border:var(--tg-theme-section-separator-color,#ffffff14);--ui-text:var(--tg-theme-text-color,#fff);--ui-text-sub:var(--tg-theme-subtitle-text-color,var(--tg-theme-hint-color,#8e8e93));--ui-text-hint:var(--tg-theme-hint-color,#8e8e93);--ui-hdr:var(--tg-theme-section-header-text-color,var(--tg-theme-hint-color,#8e8e93));--ui-accent:var(--tg-theme-button-color,#2979ff);--ui-accent-fg:var(--tg-theme-button-text-color,#fff);--ui-link:var(--tg-theme-link-color,var(--tg-theme-accent-text-color,#4fc3f7));--ui-danger:var(--tg-theme-destructive-text-color,#ff453a);--ui-ripple:#ffffff1a;--ui-shadow-sm:0 2px 4px #0006;--ui-shadow-md:0 4px 16px #0006}.app-root{font-family:var(--ui-font);font-optical-sizing:auto;font-feature-settings:"cv05" 1, "cv10" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--ui-text);background:var(--ui-bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-height:100vh}[data-appearance=dark] .app-root,.app-root[data-appearance=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.ui-list{flex-direction:column;gap:16px;padding:12px 16px;display:flex}.ui-section{border-radius:var(--ui-radius);background:var(--ui-surface);border:1px solid var(--ui-border);flex-direction:column;display:flex;overflow:hidden}.ui-section__header{color:var(--ui-hdr);text-transform:uppercase;letter-spacing:.04em;align-items:center;padding:10px 16px 4px;font-size:13px;font-weight:500;display:flex}.ui-section__footer{color:var(--ui-text-hint);padding:4px 16px 10px;font-size:12px}.ui-cell{border-top:1px solid var(--ui-border);color:var(--ui-text);align-items:center;gap:12px;padding:12px 16px;text-decoration:none;display:flex}.ui-cell:first-child,.ui-section__header+.ui-cell{border-top:none}.ui-cell--interactive{cursor:pointer;position:relative;overflow:hidden}.ui-cell__before{color:var(--ui-text-hint);flex-shrink:0;align-self:center;align-items:center;line-height:0;display:flex}.ui-cell__content{flex:1;min-width:0}.ui-cell__title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.ui-cell__subtitle{color:var(--ui-text-sub);margin-top:2px;font-size:13px}.ui-cell__description{color:var(--ui-text-hint);margin-top:2px;font-size:12px}.ui-cell__hint{color:var(--ui-text-hint);flex-shrink:0;align-self:center;align-items:center;font-size:13px;display:flex}.ui-cell__after{color:var(--ui-text-hint);flex-direction:column;flex-shrink:0;align-self:center;align-items:flex-end;gap:4px;display:flex}.ui-cell__after-main{align-items:center;line-height:normal;display:flex}.ui-cell__after-sub{color:var(--ui-text-sub);font-size:12px;line-height:1}.ui-button-cell{border:none;border-top:1px solid var(--ui-border);width:100%;color:var(--ui-link);cursor:pointer;text-align:left;font-size:15px;font-weight:500;font-family:var(--ui-font);background:0 0;align-items:center;gap:12px;padding:12px 16px;display:flex;position:relative;overflow:hidden}.ui-button-cell:first-child{border-top:none}.ui-button-cell:disabled{opacity:.45;cursor:not-allowed}.ui-button-cell__before{flex-shrink:0;align-items:center;line-height:0;display:flex}.ui-button-cell__content{flex:1}.ui-button-cell__after{flex-shrink:0;align-items:center;line-height:0;display:flex}.ui-button{border-radius:var(--ui-radius);background:var(--ui-accent);width:100%;color:var(--ui-accent-fg);cursor:pointer;font-size:15px;font-weight:600;font-family:var(--ui-font);-webkit-font-smoothing:antialiased;border:none;justify-content:center;align-items:center;gap:8px;padding:14px 20px;transition:opacity .15s;display:flex;position:relative;overflow:hidden}.ui-button:active:not(:disabled){opacity:.82}.ui-button:disabled{opacity:.45;cursor:not-allowed}.ui-button--s{padding:8px 14px;font-size:13px}.ui-button--m{padding:11px 16px;font-size:14px}.ui-button--stretched{width:100%}.ui-button--outline{border:1.5px solid var(--ui-accent);color:var(--ui-accent);background:0 0}.ui-button--plain{color:var(--ui-link);background:0 0;padding-top:10px;padding-bottom:10px}.ui-button--link{color:var(--ui-link);background:0 0;border-radius:4px;width:auto;padding:0;font-size:14px}.ui-button--danger{background:var(--ui-danger);color:#fff}.ui-button--success{color:#fff;background:#22c55e}.ui-button__before,.ui-button__after{flex-shrink:0;align-items:center;line-height:0;display:flex}.ui-input__field,.ui-select__field,.ui-textarea__field{border-bottom:1px solid var(--ui-border);align-items:center;gap:8px;transition:border-color .15s;display:flex}.ui-textarea__field{align-items:flex-start}.ui-input__field:focus-within,.ui-select__field:focus-within,.ui-textarea__field:focus-within{border-bottom-color:var(--ui-accent)}.ui-input__before,.ui-input__after,.ui-select__before,.ui-select__after,.ui-textarea__before,.ui-textarea__after{color:var(--ui-text-hint);flex-shrink:0;align-items:center;line-height:0;display:flex}.ui-textarea__before,.ui-textarea__after{align-self:flex-start;padding-top:7px}.ui-input{border-top:1px solid var(--ui-border);flex-direction:column;gap:4px;padding:10px 16px;display:flex}.ui-input:first-child{border-top:none}.ui-input__header{color:var(--ui-text-hint);font-size:13px;font-weight:500}.ui-input__field input{min-width:0;color:var(--ui-text);font-size:15px;font-family:var(--ui-font);background:0 0;border:none;outline:none;flex:1;padding:6px 0}.ui-input__field input::placeholder{color:var(--ui-text-hint);opacity:1}.ui-input--error .ui-input__field{border-bottom-color:var(--ui-danger)}.ui-input__error{color:var(--ui-danger);padding:4px 16px 2px;font-size:12px;line-height:1.4}.ui-select{border:none;border-top:1px solid var(--ui-border);font-family:var(--ui-font);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;flex-direction:column;gap:4px;width:100%;padding:10px 16px;display:flex}.ui-select:first-child{border-top:none}.ui-select:disabled{opacity:.4;cursor:not-allowed}.ui-select__header{color:var(--ui-text-hint);font-size:13px;font-weight:500}.ui-select__field{align-items:center;gap:8px;min-width:0;display:flex}.ui-select__before{color:var(--ui-text-sub);flex-shrink:0;align-items:center;display:flex}.ui-select__value{min-width:0;color:var(--ui-text);text-overflow:ellipsis;white-space:nowrap;flex:1;padding:6px 0;font-size:15px;overflow:hidden}.ui-select__value--placeholder{color:var(--ui-text-hint)}.ui-select__chevron{color:var(--ui-text-hint);flex-shrink:0;transition:transform .15s}.ui-select-overlay{z-index:1000;background:var(--ui-overlay-bg);align-items:flex-end;animation:.18s ease-out ui-overlay-in;display:flex;position:fixed;inset:0}.ui-select-sheet{background:var(--ui-surface);border-radius:var(--ui-radius) var(--ui-radius) 0 0;width:100%;padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;max-height:70vh;animation:.22s cubic-bezier(.32,.72,0,1) ui-sheet-in;display:flex;overflow:hidden}.ui-select-sheet__search-wrap{border-bottom:1px solid var(--ui-border);flex-shrink:0;align-items:center;gap:10px;padding:10px 20px;display:flex}.ui-select-sheet__search-icon{color:var(--ui-text-hint);flex-shrink:0}.ui-select-sheet__search{min-width:0;color:var(--ui-text);font-size:15px;font-family:var(--ui-font);background:0 0;border:none;outline:none;flex:1}.ui-select-sheet__search::placeholder{color:var(--ui-text-hint)}.ui-select-sheet__list{margin:0;padding:0;list-style:none;overflow-y:auto}.ui-select-sheet__option{border:none;border-top:1px solid var(--ui-border);width:100%;font-size:16px;font-family:var(--ui-font);color:var(--ui-text);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;align-items:center;gap:12px;padding:14px 20px;display:flex;position:relative;overflow:hidden}.ui-select-sheet__option:first-child{border-top:none}.ui-select-sheet__option:disabled{opacity:.4;cursor:not-allowed}.ui-select-sheet__option--selected{color:var(--ui-accent)}.ui-select-sheet__option-label{flex:1;min-width:0}.ui-select-sheet__check{color:var(--ui-accent);flex-shrink:0}.ui-select-sheet__empty{text-align:center;color:var(--ui-text-hint);padding:20px;font-size:14px}.ui-textarea{border-top:1px solid var(--ui-border);flex-direction:column;gap:4px;padding:10px 16px;display:flex}.ui-textarea:first-child{border-top:none}.ui-textarea__header{color:var(--ui-text-hint);font-size:13px;font-weight:500}.ui-textarea__field textarea{min-width:0;min-height:80px;color:var(--ui-text);font-size:15px;font-family:var(--ui-font);resize:vertical;background:0 0;border:none;outline:none;flex:1;padding:6px 0}.ui-textarea__field textarea::placeholder{color:var(--ui-text-hint);opacity:1}.ui-switch{appearance:none;background:var(--ui-border);cursor:pointer;border-radius:10px;flex-shrink:0;width:32px;height:20px;transition:background .2s;position:relative}.ui-switch:after{content:"";background:var(--ui-switch-thumb,#fff);width:14px;height:14px;box-shadow:var(--ui-shadow-sm);border-radius:50%;transition:transform .2s;position:absolute;top:3px;left:3px}.ui-switch:checked{background:var(--ui-accent)}.ui-switch:checked:after{transform:translate(12px)}@keyframes snackbar-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.ui-snackbar{background:color-mix(in srgb, var(--ui-text) 93%, transparent);-webkit-backdrop-filter:blur(16px);border:1px solid color-mix(in srgb, var(--ui-surface) 10%, transparent);color:var(--ui-bg);touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;will-change:transform, opacity;border-radius:18px;align-items:center;gap:12px;margin:0 12px 8px;padding:12px 16px;font-size:14px;transition:none;display:flex;box-shadow:0 8px 28px #00000038,0 2px 6px #0000001a}.ui-snackbar--dragging{cursor:grabbing}.ui-snackbar__before{opacity:.85;flex-shrink:0;align-items:center;display:flex}.ui-snackbar__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ui-snackbar__message{font-weight:500;line-height:1.35}.ui-snackbar__description{opacity:.65;font-size:13px;line-height:1.35}.ui-snackbar--success{color:#fff;background:#1ead53;border-color:#0000}.ui-snackbar--danger{background:color-mix(in srgb, var(--ui-danger) 88%, #000);color:#fff;border-color:#0000}.ui-snackbar--warning{color:#fff;background:#dd8e0a;border-color:#0000}.ui-snackbar--info{background:color-mix(in srgb, var(--ui-accent) 88%, #000);color:var(--ui-accent-fg);border-color:#0000}.ui-placeholder{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:32px 24px;display:flex}.ui-placeholder__header{color:var(--ui-text);font-size:18px;font-weight:700}.ui-placeholder__description{color:var(--ui-text-sub);max-width:280px;font-size:14px;line-height:1.45}.ui-navigation{color:var(--ui-text-hint);align-items:center;line-height:1;display:flex}.ui-avatar-wrap{flex-shrink:0;display:inline-flex;position:relative}.ui-avatar{border-radius:50%;flex-shrink:0;display:block}img.ui-avatar{object-fit:cover}.ui-avatar--fallback{background:var(--ui-border)}.ui-image{display:block}.ui-inline-buttons{grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;display:grid}.ui-inline-buttons--scroll{-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.ui-inline-buttons--scroll .ui-inline-buttons__item{flex-shrink:0}.ui-inline-buttons__item{border-radius:var(--ui-radius);background:var(--ui-surface);border:none;border:1px solid var(--ui-border);color:var(--ui-text);cursor:pointer;font-size:12px;font-weight:500;font-family:var(--ui-font);flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:56px;padding:8px;display:flex;position:relative;overflow:hidden}.ui-inline-buttons__item:disabled{opacity:.4;cursor:not-allowed}.ui-inline-buttons__icon{color:var(--ui-text);align-items:center;line-height:0;display:flex}.ui-inline-buttons__text{white-space:nowrap;color:var(--ui-text-sub);font-size:11px}.ui-typography{font-family:var(--ui-font);margin:0}.ui-typography--display{letter-spacing:-.5px;color:var(--ui-text);font-size:34px;font-weight:700;line-height:1.1}.ui-typography--title{color:var(--ui-text);font-size:20px;font-weight:600;line-height:1.25}.ui-typography--headline{color:var(--ui-text);font-size:17px;font-weight:600;line-height:1.3}.ui-typography--body{color:var(--ui-text);font-size:15px;font-weight:400;line-height:1.5}.ui-typography--label{color:var(--ui-text-hint);font-size:12px;font-weight:500;line-height:1.33}.ui-typography--action{color:var(--ui-link);cursor:pointer;font-size:15px;font-weight:500;line-height:1.4}.ui-typography--overline{letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-hint);font-size:11px;font-weight:600;line-height:1.2}.ui-text--primary{color:var(--ui-text)}.ui-text--secondary{color:var(--ui-text-sub)}.ui-text--hint{color:var(--ui-text-hint)}.ui-text--accent{color:var(--ui-accent)}.ui-text--danger{color:var(--ui-danger)}.ui-text--link{color:var(--ui-link)}.ui-toggle{background:var(--ui-border);border-radius:10px;align-items:stretch;padding:3px;display:inline-flex;position:relative}.ui-toggle__pill{background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);pointer-events:none;z-index:0;border-radius:8px;transition:left .24s cubic-bezier(.34,1.4,.64,1),width .24s cubic-bezier(.34,1.4,.64,1);position:absolute;top:3px;bottom:3px}.ui-toggle__item{z-index:1;color:var(--ui-text-sub);font-size:14px;font-weight:500;font-family:var(--ui-font);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:5px 14px;transition:color .2s;display:flex;position:relative;overflow:hidden}.ui-toggle__item:disabled{opacity:.4;cursor:not-allowed}.ui-toggle__item--active{color:var(--ui-text)}.ui-search-input{background:var(--ui-border);border-radius:var(--ui-radius);align-items:center;transition:background .15s;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.ui-search-input:hover{background:color-mix(in srgb, var(--ui-border) 150%, transparent)}}.ui-search-input:focus-within{outline:2px solid var(--ui-accent);outline-offset:-1px}.ui-search-input__icon{color:var(--ui-text-hint);pointer-events:none;margin-top:auto;margin-bottom:auto;line-height:0;position:absolute;top:0;bottom:0;left:16px}.ui-search-input__body{flex-grow:1;min-width:0}.ui-search-input__input{box-sizing:border-box;width:100%;color:var(--ui-text);font-size:15px;font-family:var(--ui-font);appearance:none;background:0 0;border:none;outline:none}.ui-search-input__input::placeholder{color:var(--ui-text-hint);opacity:1}.ui-search-input__input::-webkit-search-cancel-button{display:none}.ui-search-input__input::-webkit-search-decoration{display:none}.ui-search-input--m .ui-search-input__input{padding:8px 0 8px 40px}.ui-search-input--l .ui-search-input__input{padding:12px 0 12px 40px}.ui-search-input__clear{cursor:pointer;color:var(--ui-text-hint);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0 8px 0 4px;line-height:0;transition:color .15s;display:flex}.ui-search-input__clear:hover{color:var(--ui-text-sub)}.ui-info-screen{box-sizing:border-box;flex-direction:column;min-height:100%;padding:24px 24px 0;display:flex}.ui-info-screen__body{flex-direction:column;flex:1;gap:32px;display:flex}.ui-info-screen__title{letter-spacing:-.3px;color:var(--ui-text);text-align:center;margin:0;font-size:28px;font-weight:700;line-height:1.18}.ui-info-screen__features{flex-direction:column;gap:20px;margin:0;padding:0;list-style:none;display:flex}.ui-info-screen__feature{align-items:flex-start;gap:16px;display:flex}.ui-info-screen__feature-icon{width:40px;height:40px;color:var(--ui-text-sub);flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:flex}.ui-info-screen__feature-text{flex-direction:column;gap:2px;padding-top:6px;display:flex}.ui-info-screen__feature-title{color:var(--ui-text);font-size:15px;font-weight:600;line-height:1.3}.ui-info-screen__feature-desc{color:var(--ui-text-sub);font-size:14px;font-weight:400;line-height:1.4}.ui-info-screen__action{margin-top:auto;padding:16px 0 24px}.ui-action-menu__trigger{cursor:pointer;display:inline-flex}.ui-action-menu-overlay{z-index:1000;background:var(--ui-overlay-bg);align-items:flex-end;animation:.18s ease-out ui-overlay-in;display:flex;position:fixed;inset:0}@keyframes ui-overlay-in{0%{opacity:0}to{opacity:1}}.ui-action-menu{background:var(--ui-surface);border-radius:var(--ui-radius) var(--ui-radius) 0 0;width:100%;padding-bottom:env(safe-area-inset-bottom,0px);animation:.22s cubic-bezier(.32,.72,0,1) ui-sheet-in;overflow:hidden}@keyframes ui-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.ui-action-menu__title{color:var(--ui-text-hint);text-align:center;border-bottom:1px solid var(--ui-border);padding:16px 20px 12px;font-size:13px;font-weight:500}.ui-action-menu__list{margin:0;padding:0;list-style:none}.ui-action-menu__item-li{display:block}.ui-action-menu__divider{background:var(--ui-border);height:1px;margin:0 20px}.ui-action-menu__item{width:100%;color:var(--ui-text);font-size:16px;font-weight:400;font-family:var(--ui-font);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:14px;padding:14px 20px;transition:background .12s;display:flex;position:relative;overflow:hidden}.ui-action-menu__item:disabled{opacity:.4;cursor:not-allowed}.ui-action-menu__item--danger,.ui-action-menu__item--danger .ui-action-menu__item-icon{color:var(--ui-danger)}.ui-action-menu__item-icon{color:var(--ui-text-sub);flex-shrink:0;align-items:center;line-height:0;display:flex}.ui-action-menu__item-text{flex-direction:column;gap:1px;min-width:0;display:flex}.ui-action-menu__item-label{color:inherit;font-size:16px;font-weight:400;line-height:1.3}.ui-action-menu__item-desc{color:var(--ui-text-hint);font-size:13px}.ui-chart{width:100%}.ui-modal-overlay{z-index:1000;background:var(--ui-overlay-bg);will-change:opacity;align-items:flex-end;display:flex;position:fixed;inset:0}.ui-modal{background:var(--ui-surface);border-radius:var(--ui-radius) var(--ui-radius) 0 0;width:100%;padding-bottom:calc(50px + env(safe-area-inset-bottom,0px));touch-action:none;will-change:transform;flex-direction:column;max-height:80dvh;margin-bottom:-50px;display:flex;overflow:hidden}.ui-modal__handle-area{cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;padding:10px 0 6px;display:flex}.ui-modal__handle-area:active{cursor:grabbing}.ui-modal__handle{background:var(--ui-border);border-radius:2px;width:36px;height:4px}.ui-modal__header{border-bottom:1px solid var(--ui-border);flex-shrink:0;align-items:center;padding:8px 20px 12px;display:flex}.ui-modal__title{color:var(--ui-text);flex:1;font-size:17px;font-weight:600;line-height:1.3}.ui-modal__close{background:color-mix(in srgb, var(--ui-border) 80%, transparent);width:32px;height:32px;color:var(--ui-text-hint);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-right:-6px;transition:background .12s,color .12s;display:flex}.ui-modal__close:hover{background:color-mix(in srgb, var(--ui-border) 150%, transparent);color:var(--ui-text)}.ui-modal__body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;padding:8px 0;overflow-y:auto}.ui-modal__body>.ui-button{margin:0 16px}.ui-file-upload{border-top:1px solid var(--ui-border);padding:10px 16px}.ui-file-upload:first-child{border-top:none}.ui-file-upload__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ui-file-upload__zone{border:1.5px dashed var(--ui-border);border-radius:var(--ui-radius);width:100%;color:var(--ui-text-hint);cursor:pointer;font-family:var(--ui-font);-webkit-tap-highlight-color:transparent;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:20px 16px;transition:border-color .15s,background .15s,color .15s;display:flex}.ui-file-upload__zone:hover:not(:disabled){border-color:var(--ui-accent);color:var(--ui-accent);background:color-mix(in srgb, var(--ui-accent) 6%, transparent)}.ui-file-upload__zone:disabled{opacity:.4;cursor:not-allowed}.ui-file-upload__zone--drag{border-color:var(--ui-accent);color:var(--ui-accent);background:color-mix(in srgb, var(--ui-accent) 10%, transparent)}.ui-file-upload__zone-icon{line-height:0}.ui-file-upload__zone-label{font-size:14px;font-weight:500}.ui-file-upload__zone-hint{opacity:.7;font-size:12px}.ui-file-upload__preview{align-items:center;gap:12px;padding:2px 0;display:flex}.ui-file-upload__preview-icon{color:var(--ui-accent);flex-shrink:0;align-items:center;line-height:0;display:flex}.ui-file-upload__preview-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ui-file-upload__preview-name{color:var(--ui-text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.ui-file-upload__preview-size{color:var(--ui-text-hint);font-size:12px}.ui-file-upload__remove{width:32px;height:32px;color:var(--ui-text-hint);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.ui-file-upload__remove:hover{background:color-mix(in srgb, var(--ui-danger) 10%, transparent);color:var(--ui-danger)}.ui-section>.ui-code-block{border:none;border-top:1px solid var(--ui-border);border-radius:0}.ui-section>.ui-code-block:first-child,.ui-section__header+.ui-code-block{border-top:none}.ui-code-block{border-radius:var(--ui-radius);border:1px solid var(--ui-border);background:var(--ui-surface);font-size:13px;overflow:hidden}.ui-code-block__header{border-bottom:1px solid var(--ui-border);background:color-mix(in srgb, var(--ui-bg) 60%, var(--ui-surface));justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.ui-code-block__lang{text-transform:uppercase;letter-spacing:.06em;color:var(--ui-text-hint);font-size:11px;font-weight:600}.ui-code-block__copy{cursor:pointer;color:var(--ui-text-hint);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;line-height:0;transition:background .12s,color .12s;display:flex}.ui-code-block__copy:hover{background:color-mix(in srgb, var(--ui-border) 120%, transparent);color:var(--ui-text)}.ui-code-block__body{overflow:hidden}.ui-code-block__body--collapsed{max-height:calc(var(--code-max-lines,10) * 1.6em + 32px);-webkit-mask-image:linear-gradient(#000 60%,#0000 100%);mask-image:linear-gradient(#000 60%,#0000 100%)}.ui-code-block__body pre,.ui-code-block__fallback{margin:0;padding:16px;font-family:JetBrains Mono,Fira Code,Cascadia Code,ui-monospace,monospace;font-size:13px;line-height:1.6;overflow-x:auto}.ui-code-block__body pre code,.ui-code-block__fallback code{background:0 0;padding:0;font-family:inherit}.ui-code-block__expand{border:none;border-top:1px solid var(--ui-border);cursor:pointer;width:100%;font-size:12px;font-weight:500;font-family:var(--ui-font);color:var(--ui-link);text-align:center;background:0 0;padding:8px;transition:background .12s;display:block}.ui-code-block__expand:hover{background:color-mix(in srgb, var(--ui-accent) 8%, transparent)}.ui-accordion{border-radius:var(--ui-radius);background:var(--ui-surface);border:1px solid var(--ui-border);flex-direction:column;display:flex;overflow:hidden}.ui-accordion-item{border-top:1px solid var(--ui-border)}.ui-accordion-item:first-child{border-top:none}.ui-accordion-item__trigger{width:100%;color:var(--ui-text);font-size:15px;font-weight:500;font-family:var(--ui-font);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:12px;padding:14px 16px;display:flex;position:relative;overflow:hidden}.ui-accordion-item__before{color:var(--ui-text-sub);flex-shrink:0;align-items:center;line-height:0;display:flex}.ui-accordion-item__title{flex:1;min-width:0;line-height:1.35}.ui-accordion-item__chevron{color:var(--ui-text-hint);flex-shrink:0;line-height:0;transition:transform .22s}.ui-accordion-item--open .ui-accordion-item__chevron{transform:rotate(180deg)}.ui-accordion-item__body{transition:max-height .25s cubic-bezier(.4,0,.2,1);overflow:hidden}.ui-accordion-item__content{color:var(--ui-text-sub);padding:0 16px 14px;font-size:14px;line-height:1.55}.ui-accordion-cell{border-top:1px solid var(--ui-border)}.ui-accordion-cell:first-child{border-top:none}.ui-accordion-cell__trigger{width:100%;color:var(--ui-text);font-size:15px;font-weight:400;font-family:var(--ui-font);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:12px;padding:12px 16px;display:flex;position:relative;overflow:hidden}.ui-accordion-cell__before{color:var(--ui-text-sub);flex-shrink:0;align-items:center;line-height:0;display:flex}.ui-accordion-cell__title{flex:1;min-width:0;line-height:1.35}.ui-accordion-cell__chevron{color:var(--ui-text-hint);flex-shrink:0;line-height:0;transition:transform .22s}.ui-accordion-cell--open .ui-accordion-cell__chevron{transform:rotate(180deg)}.ui-accordion-cell__body{transition:max-height .25s cubic-bezier(.4,0,.2,1);overflow:hidden}.ui-accordion-cell__content{color:var(--ui-text-sub);padding:0 16px 12px;font-size:14px;line-height:1.55}.ui-inset{padding:12px 16px}.ui-inset--vertical{padding:20px 16px}.ui-counter{background:var(--ui-surface);border:1.5px solid var(--ui-border);border-radius:14px;align-items:center;gap:0;height:44px;display:inline-flex;overflow:hidden}.ui-counter--s{border-radius:10px;height:32px}.ui-counter--disabled{opacity:.45}.ui-counter__btn{color:var(--ui-accent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:background .12s;display:flex;position:relative;overflow:hidden}.ui-counter--s .ui-counter__btn{width:32px;height:32px}.ui-counter__btn:hover:not(:disabled){background:color-mix(in srgb, var(--ui-accent) 8%, transparent)}.ui-counter__btn:active:not(:disabled){background:color-mix(in srgb, var(--ui-accent) 14%, transparent)}.ui-counter__btn:disabled{color:var(--ui-text-hint);cursor:default}.ui-counter__value{text-align:center;color:var(--ui-text);border-left:1.5px solid var(--ui-border);border-right:1.5px solid var(--ui-border);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;width:44px;height:100%;padding:0;font-size:16px;font-weight:600;display:flex;overflow:hidden}.ui-counter--s .ui-counter__value{width:32px;font-size:13px}.ui-counter__input{text-align:center;width:100%;color:var(--ui-text);font-weight:600;font-family:var(--ui-font);font-variant-numeric:tabular-nums;-webkit-appearance:none;-moz-appearance:textfield;background:0 0;border:none;outline:none;margin:0;padding:0;font-size:16px}.ui-counter__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ui-counter__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-counter--s .ui-counter__input{font-size:13px}.ui-btn-group{background:var(--ui-surface);border:1.5px solid var(--ui-border);border-radius:14px;align-items:center;height:44px;display:inline-flex;overflow:hidden}.ui-btn-group__item{height:44px;color:var(--ui-accent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:15px;font-weight:500;transition:background .12s;display:inline-flex;position:relative;overflow:hidden}.ui-btn-group__inner{align-items:center;gap:6px;display:inline-flex}.ui-btn-group__item+.ui-btn-group__item{border-left:1.5px solid var(--ui-border)}.ui-btn-group__item:hover:not(:disabled){background:color-mix(in srgb, var(--ui-accent) 8%, transparent)}.ui-btn-group__item:active:not(:disabled){background:color-mix(in srgb, var(--ui-accent) 14%, transparent)}.ui-btn-group__item:disabled{color:var(--ui-text-hint);cursor:default}.ui-btn-group__item--danger{color:var(--ui-destructive,#ff3b30)}.ui-btn-group__item--danger:hover:not(:disabled){background:color-mix(in srgb, var(--ui-destructive,#ff3b30) 8%, transparent)}.ui-btn-group__item--danger:active:not(:disabled){background:color-mix(in srgb, var(--ui-destructive,#ff3b30) 14%, transparent)}.ui-btn-group__icon{flex-shrink:0;align-items:center;display:flex}.ui-badge-anchor{flex-shrink:0;display:inline-flex;position:relative}.ui-badge-anchor__badge{z-index:1;pointer-events:none;position:absolute}.ui-badge-anchor--top-right .ui-badge-anchor__badge{top:0;right:0;transform:translate(35%,-35%)}.ui-badge-anchor--top-left .ui-badge-anchor__badge{top:0;left:0;transform:translate(-35%,-35%)}.ui-badge-anchor--bottom-right .ui-badge-anchor__badge{bottom:0;right:0;transform:translate(25%,25%)}.ui-badge-anchor--bottom-left .ui-badge-anchor__badge{bottom:0;left:0;transform:translate(-25%,25%)}.ui-badge{font-family:var(--ui-font);white-space:nowrap;vertical-align:middle;border-radius:999px;align-items:center;gap:5px;font-weight:600;line-height:1;display:inline-flex}.ui-badge--s{padding:2px 7px;font-size:11px}.ui-badge--m{padding:3px 9px;font-size:12px}.ui-badge--neutral{background:color-mix(in srgb, var(--ui-border) 300%, transparent);color:var(--ui-text-sub)}.ui-badge--accent{background:color-mix(in srgb, var(--ui-accent) 14%, transparent);color:var(--ui-accent)}.ui-badge--success{color:#16a34a;background:#22c55e24}.ui-badge--danger{background:color-mix(in srgb, var(--ui-danger) 12%, transparent);color:var(--ui-danger)}.ui-badge--warning{color:#d97706;background:#f59e0b24}[data-appearance=dark] .ui-badge--success{color:#4ade80}[data-appearance=dark] .ui-badge--warning{color:#fbbf24}.ui-badge__dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.ui-badge--count{font-variant-numeric:tabular-nums;justify-content:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700}.ui-pagination{background:var(--ui-surface);border:1.5px solid var(--ui-border);border-radius:14px;align-items:center;height:44px;display:inline-flex;overflow:hidden}.ui-pagination__btn{width:44px;height:44px;color:var(--ui-accent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s;display:flex;position:relative;overflow:hidden}.ui-pagination__btn:hover:not(:disabled){background:color-mix(in srgb, var(--ui-accent) 8%, transparent)}.ui-pagination__btn:active:not(:disabled){background:color-mix(in srgb, var(--ui-accent) 14%, transparent)}.ui-pagination__btn:disabled{color:var(--ui-text-hint);cursor:default}.ui-pagination__btn-inner{justify-content:center;align-items:center;display:flex}.ui-pagination__info{border-left:1.5px solid var(--ui-border);border-right:1.5px solid var(--ui-border);font-variant-numeric:tabular-nums;height:100%;color:var(--ui-text);white-space:nowrap;align-items:center;gap:4px;padding:0 16px;font-size:15px;font-weight:600;display:flex}.ui-pagination__sep{color:var(--ui-text-hint);font-weight:400}.ui-progress{width:100%}.ui-progress__header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.ui-progress__label{color:var(--ui-text-sub);font-size:13px;font-weight:500}.ui-progress__value{font-variant-numeric:tabular-nums;color:var(--ui-text-hint);font-size:13px;font-weight:600}.ui-progress__track{background:color-mix(in srgb, var(--ui-border) 200%, transparent);border-radius:999px;width:100%;overflow:hidden}.ui-progress__fill{background:var(--ui-progress-fill,var(--ui-accent));will-change:width;border-radius:999px;height:100%}.ui-progress--s .ui-progress__track{height:4px}.ui-progress--m .ui-progress__track{height:6px}.ui-progress--l .ui-progress__track{height:10px}.ui-progress--accent{--ui-progress-fill:var(--ui-accent)}.ui-progress--success{--ui-progress-fill:#22c55e}.ui-progress--danger{--ui-progress-fill:var(--ui-danger)}.ui-progress--warning{--ui-progress-fill:#f59e0b}.ui-breadcrumbs{scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto}.ui-breadcrumbs::-webkit-scrollbar{display:none}.ui-breadcrumbs__list{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:2px;margin:0;padding:0;list-style:none;display:flex}.ui-breadcrumbs__item{align-items:center;gap:2px;display:flex}.ui-breadcrumbs__sep{color:var(--ui-text-hint);line-height:0}.ui-breadcrumbs__link{color:var(--ui-link);border-radius:6px;padding:2px 4px;font-size:14px;font-weight:400;text-decoration:none;transition:background .12s}.ui-breadcrumbs__link:hover{background:color-mix(in srgb, var(--ui-accent) 10%, transparent)}.ui-breadcrumbs__label{color:var(--ui-text-hint);padding:2px 4px;font-size:14px;font-weight:400}.ui-breadcrumbs__label--current{color:var(--ui-text);font-weight:500}.ui-markdown{color:var(--ui-text);font-size:15px;line-height:1.65}.ui-markdown h1,.ui-markdown h2,.ui-markdown h3,.ui-markdown h4{color:var(--ui-text);margin:1.2em 0 .5em;font-weight:700;line-height:1.2}.ui-markdown h1{font-size:26px}.ui-markdown h2{font-size:21px}.ui-markdown h3{font-size:17px}.ui-markdown h4{font-size:15px;font-weight:600}.ui-markdown p{margin:.75em 0}.ui-markdown p:first-child,.ui-markdown>:first-child{margin-top:0}.ui-markdown p:last-child,.ui-markdown>:last-child{margin-bottom:0}.ui-markdown ul,.ui-markdown ol{margin:.75em 0;padding-left:1.4em}.ui-markdown li{margin:.3em 0}.ui-markdown blockquote{border-left:3px solid var(--ui-accent);background:color-mix(in srgb, var(--ui-accent) 8%, transparent);border-radius:0 var(--ui-radius-sm) var(--ui-radius-sm) 0;color:var(--ui-text-sub);margin:1em 0;padding:10px 16px}.ui-markdown blockquote p{margin:0}.ui-markdown hr{border:none;border-top:1px solid var(--ui-border);margin:1.5em 0}.ui-markdown a{color:var(--ui-link);text-underline-offset:2px;text-decoration:underline}.ui-markdown strong{color:var(--ui-text);font-weight:600}.ui-markdown table{border-collapse:collapse;width:100%;margin:1em 0;font-size:14px;display:block;overflow-x:auto}.ui-markdown th,.ui-markdown td{border:1px solid var(--ui-border);text-align:left;padding:8px 12px}.ui-markdown th{background:color-mix(in srgb, var(--ui-border) 60%, transparent);font-weight:600}.ui-markdown__inline-code{background:color-mix(in srgb, var(--ui-border) 80%, transparent);color:var(--ui-text);border-radius:4px;padding:1px 5px;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:.85em}.ui-markdown .ui-code-block{margin:1em 0}.app-header{z-index:100;background:var(--ui-surface);border-bottom:1px solid var(--ui-border);align-items:center;height:56px;padding:0 12px;display:flex;position:fixed;top:0;left:0;right:0}.app-header__profile{cursor:pointer;min-width:0;font-family:var(--ui-font);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:0;display:flex}.app-header__title{color:var(--ui-text);white-space:nowrap;pointer-events:none;font-size:16px;font-weight:600;position:absolute;left:50%;transform:translate(-50%)}.app-header__right{flex:1;justify-content:flex-end;display:flex}.app-header__action{width:36px;height:36px;color:var(--ui-text-hint);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.app-header__action:hover{background:color-mix(in srgb, var(--ui-border) 120%, transparent);color:var(--ui-text)}.ui-navbar{z-index:100;background:var(--ui-surface);border-top:1px solid var(--ui-border);padding-bottom:env(safe-area-inset-bottom,0px);align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.ui-navbar__item{color:var(--ui-text-hint);font-size:10px;font-weight:500;font-family:var(--ui-font);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 4px 10px;transition:color .15s;display:flex;position:relative;overflow:hidden}.ui-navbar__item--active{color:var(--ui-accent)}.ui-navbar__icon{justify-content:center;align-items:center;line-height:0;display:flex;position:relative}.ui-navbar__label{letter-spacing:.01em;line-height:1.2}.ui-navbar__badge{background:var(--ui-danger);color:#fff;text-align:center;box-sizing:border-box;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-8px}.admin-stat-card{background:var(--ui-surface-secondary,var(--ui-bg));border:1px solid var(--ui-border);border-radius:var(--ui-radius);flex-direction:column;gap:3px;min-width:0;padding:12px 14px;display:flex}.admin-stat-card__value{color:var(--ui-text);letter-spacing:-.02em;font-size:22px;font-weight:700;line-height:1.15}.admin-stat-card__label{color:var(--ui-text-sub);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.ui-md-editor{flex-direction:column;display:flex}.ui-md-editor .ui-textarea__header{padding:0 16px 6px}.ui-md-editor .w-md-editor{background:var(--ui-bg);border:none;border-top:1px solid var(--ui-border);color:var(--ui-text);border-radius:0}.ui-md-editor .w-md-editor-toolbar{background:var(--ui-surface-secondary,var(--ui-bg));border-bottom:1px solid var(--ui-border);border-radius:0}.ui-md-editor .w-md-editor-toolbar li>button{color:var(--ui-text-sub)}.ui-md-editor .w-md-editor-toolbar li>button:hover{color:var(--ui-text);background:var(--ui-surface-secondary,var(--ui-bg))}.ui-md-editor .w-md-editor-content{background:var(--ui-bg)}.ui-md-editor .w-md-editor-text-pre,.ui-md-editor .w-md-editor-text-input,.ui-md-editor .w-md-editor-text{color:var(--ui-text);font-size:14px;line-height:1.55}.ui-md-editor .wmde-markdown{background:var(--ui-bg);color:var(--ui-text);font-size:14px}[data-color-mode=dark] .ui-md-editor .wmde-markdown,[data-color-mode=dark] .ui-md-editor .w-md-editor{--color-canvas-default:var(--ui-bg);--color-fg-default:var(--ui-text)}.ui-tabs{border-bottom:1.5px solid var(--ui-border);-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:stretch;display:flex;overflow-x:auto}.ui-tabs::-webkit-scrollbar{display:none}.ui-tabs__item{color:var(--ui-text-sub);font-size:14px;font-weight:500;font-family:var(--ui-font);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:0 0;border:none;flex-shrink:0;padding:10px 16px;transition:color .2s;position:relative;overflow:hidden}.ui-tabs__item:disabled{opacity:.4;cursor:not-allowed}.ui-tabs__item--active{color:var(--ui-accent)}.ui-tabs__item--active:after{content:"";background:var(--ui-accent);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1.5px;left:0;right:0}.ui-tooltip-wrap{display:inline-flex;position:relative}.ui-tooltip{z-index:999;background:var(--ui-text);color:var(--ui-bg);font-size:12px;font-family:var(--ui-font);white-space:nowrap;pointer-events:none;border-radius:8px;padding:6px 10px;line-height:1.4;position:absolute}.ui-tooltip--top{transform-origin:bottom;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.ui-tooltip--bottom{transform-origin:top;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.ui-tooltip--left{transform-origin:100%;top:50%;right:calc(100% + 6px);transform:translateY(-50%)}.ui-tooltip--right{transform-origin:0;top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.ui-copy-cell__value{font-family:Geist Mono,Fira Code,ui-monospace,monospace;font-size:12px}.ui-copy-cell__icon{color:var(--ui-text-sub);transition:color .2s;display:flex}.ui-copy-cell__icon--done{color:#22c55e}.ui-status{font-family:var(--ui-font);white-space:nowrap;align-items:center;gap:6px;font-weight:500;display:inline-flex}.ui-status--s{font-size:12px}.ui-status--m{font-size:13px}.ui-status--l{font-size:15px}.ui-status--s .ui-status__dot{width:6px;height:6px}.ui-status--m .ui-status__dot{width:8px;height:8px}.ui-status--l .ui-status__dot{width:10px;height:10px}.ui-status__dot{border-radius:50%;flex-shrink:0;position:relative}.ui-status--online .ui-status__dot{background:#22c55e}.ui-status--offline .ui-status__dot{background:var(--ui-text-sub);opacity:.5}.ui-status--pending .ui-status__dot,.ui-status--warning .ui-status__dot{background:#f59e0b}.ui-status--error .ui-status__dot{background:var(--ui-danger)}.ui-status--online .ui-status__label{color:#16a34a}.ui-status--offline .ui-status__label{color:var(--ui-text-sub)}.ui-status--pending .ui-status__label,.ui-status--warning .ui-status__label{color:#d97706}.ui-status--error .ui-status__label{color:var(--ui-danger)}[data-appearance=dark] .ui-status--online .ui-status__label{color:#4ade80}[data-appearance=dark] .ui-status--pending .ui-status__label,[data-appearance=dark] .ui-status--warning .ui-status__label{color:#fbbf24}@keyframes ui-status-pulse{0%{box-shadow:0 0}70%{box-shadow:0 0 0 5px #0000}to{box-shadow:0 0 #0000}}.ui-status__dot--pulse{animation:1.8s ease-out infinite ui-status-pulse}.ui-status--online .ui-status__dot--pulse{color:#22c55e}.ui-status--pending .ui-status__dot--pulse{color:#f59e0b}.ui-log-viewer{border-radius:var(--ui-radius);scrollbar-width:thin;scrollbar-color:#30363d transparent;background:#0d1117;padding:12px 0;font-family:Geist Mono,Fira Code,ui-monospace,monospace;font-size:12px;line-height:1.7;overflow:auto}.ui-log-viewer::-webkit-scrollbar{width:6px;height:6px}.ui-log-viewer::-webkit-scrollbar-track{background:0 0}.ui-log-viewer::-webkit-scrollbar-thumb{background:#30363d;border-radius:3px}.ui-log-line{gap:12px;min-width:max-content;padding:1px 16px;display:flex}.ui-log-line:hover{background:#ffffff0a}.ui-log-line__time{color:#6e7681;-webkit-user-select:none;user-select:none;flex-shrink:0}.ui-log-line__text,.ui-log-line--info .ui-log-line__text{color:#e6edf3}.ui-log-line--debug .ui-log-line__text{color:#6e7681}.ui-log-line--warn .ui-log-line__text{color:#e3b341}.ui-log-line--error .ui-log-line__text{color:#f85149}.ui-log-line--plain .ui-log-line__text{color:#484f58}.ui-radio-group--list{flex-direction:column;gap:0;display:flex}.ui-radio-group--grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ui-radio-option{border:1.5px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface);text-align:left;cursor:pointer;font-family:var(--ui-font);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:12px 16px;transition:border-color .18s,background .18s;display:flex;position:relative;overflow:hidden}.ui-radio-group--list .ui-radio-option+.ui-radio-option{margin-top:6px}.ui-radio-option:disabled{opacity:.4;cursor:not-allowed}.ui-radio-option--checked{border-color:var(--ui-accent);background:color-mix(in srgb, var(--ui-accent) 6%, var(--ui-surface))}.ui-radio-option__before{color:var(--ui-text-sub);flex-shrink:0;display:flex}.ui-radio-option__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ui-radio-option__label{color:var(--ui-text);font-size:14px;font-weight:500}.ui-radio-option__desc{color:var(--ui-text-sub);font-size:12px}.ui-radio-option__after{flex-shrink:0}.ui-radio-option__indicator{border:2px solid var(--ui-border);border-radius:50%;flex-shrink:0;width:18px;height:18px;transition:border-color .18s,background .18s;position:relative}.ui-radio-option--checked .ui-radio-option__indicator{border-color:var(--ui-accent);background:var(--ui-accent);box-shadow:inset 0 0 0 4px var(--ui-surface)}.ui-checkbox{cursor:pointer;font-family:var(--ui-font);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:10px;display:inline-flex}.ui-checkbox--disabled{opacity:.5;cursor:not-allowed}.ui-checkbox__control{flex-shrink:0;width:20px;height:20px;margin-top:1px;position:relative}.ui-checkbox__input{opacity:0;width:100%;height:100%;cursor:inherit;margin:0;position:absolute;inset:0}.ui-checkbox__box{border:2px solid var(--ui-border);background:var(--ui-surface);pointer-events:none;border-radius:5px;width:20px;height:20px;transition:border-color .16s,background .16s;display:block;position:relative}.ui-checkbox__input:checked+.ui-checkbox__box{border-color:var(--ui-accent);background:var(--ui-accent)}.ui-checkbox__input:checked+.ui-checkbox__box:after{content:"";border:2px solid var(--ui-accent-fg);border-top:none;border-left:none;width:5px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)rotate(45deg)}.ui-checkbox__input:indeterminate+.ui-checkbox__box{border-color:var(--ui-accent);background:var(--ui-accent)}.ui-checkbox__input:indeterminate+.ui-checkbox__box:after{content:"";background:var(--ui-accent-fg);border-radius:1px;width:8px;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ui-checkbox__text{flex-direction:column;gap:2px;display:flex}.ui-checkbox__label{color:var(--ui-text);font-size:14px}.ui-checkbox__desc{color:var(--ui-text-sub);font-size:12px}.ui-timeline{flex-direction:column;display:flex}.ui-timeline__item{gap:12px;padding-bottom:20px;display:flex}.ui-timeline__item:last-child{padding-bottom:0}.ui-timeline__track{flex-direction:column;flex-shrink:0;align-items:center;width:24px;display:flex;position:relative}.ui-timeline__dot{border:2px solid var(--ui-border);background:var(--ui-surface);width:24px;height:24px;color:var(--ui-text-sub);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.ui-timeline__line{background:var(--ui-border);width:2px;position:absolute;top:24px;bottom:-20px}.ui-timeline__item--success .ui-timeline__dot{color:#22c55e;background:color-mix(in srgb, #22c55e 10%, var(--ui-surface));border-color:#22c55e}.ui-timeline__item--danger .ui-timeline__dot{border-color:var(--ui-danger);color:var(--ui-danger);background:color-mix(in srgb, var(--ui-danger) 10%, var(--ui-surface))}.ui-timeline__item--warning .ui-timeline__dot{color:#d97706;background:color-mix(in srgb, #f59e0b 10%, var(--ui-surface));border-color:#f59e0b}.ui-timeline__item--accent .ui-timeline__dot{border-color:var(--ui-accent);color:var(--ui-accent);background:color-mix(in srgb, var(--ui-accent) 10%, var(--ui-surface))}.ui-timeline__content{flex:1;min-width:0;padding-top:2px}.ui-timeline__header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.ui-timeline__title{color:var(--ui-text);font-size:14px;font-weight:500;font-family:var(--ui-font)}.ui-timeline__time{color:var(--ui-text-sub);font-size:12px;font-family:var(--ui-font);flex-shrink:0}.ui-timeline__desc{color:var(--ui-text-sub);font-size:12px;font-family:var(--ui-font);line-height:1.5}.ui-timeline__item--success .ui-timeline__title{color:#16a34a}.ui-timeline__item--danger .ui-timeline__title{color:var(--ui-danger)}.ui-timeline__item--warning .ui-timeline__title{color:#d97706}.ui-timeline__item--accent .ui-timeline__title{color:var(--ui-accent)}[data-appearance=dark] .ui-timeline__item--success .ui-timeline__title{color:#4ade80}[data-appearance=dark] .ui-timeline__item--warning .ui-timeline__title{color:#fbbf24}.ui-tag{font-family:var(--ui-font);white-space:nowrap;vertical-align:middle;border:1.5px solid #0000;border-radius:999px;align-items:center;gap:5px;font-weight:500;line-height:1;transition:opacity .15s,border-color .15s,background .15s;display:inline-flex}.ui-tag--s{padding:3px 8px;font-size:11px}.ui-tag--m{padding:5px 10px;font-size:12px}.ui-tag--neutral{background:color-mix(in srgb, var(--ui-border) 300%, transparent);color:var(--ui-text-sub)}.ui-tag--accent{background:color-mix(in srgb, var(--ui-accent) 12%, transparent);color:var(--ui-accent);border-color:color-mix(in srgb, var(--ui-accent) 30%, transparent)}.ui-tag--success{color:#16a34a;background:#22c55e1f;border-color:#22c55e40}.ui-tag--danger{background:color-mix(in srgb, var(--ui-danger) 12%, transparent);color:var(--ui-danger);border-color:color-mix(in srgb, var(--ui-danger) 25%, transparent)}.ui-tag--warning{color:#d97706;background:#f59e0b1f;border-color:#f59e0b40}[data-appearance=dark] .ui-tag--success{color:#4ade80}[data-appearance=dark] .ui-tag--warning{color:#fbbf24}.ui-tag--interactive{cursor:pointer}.ui-tag--interactive:hover{opacity:.8}.ui-tag--disabled{opacity:.45;pointer-events:none}.ui-tag__before{flex-shrink:0;display:flex}.ui-tag__remove{color:currentColor;cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:1px;padding:0;transition:opacity .15s;display:flex}.ui-tag__remove:hover{opacity:1}.ui-stepper--horizontal{align-items:flex-start;display:flex}.ui-stepper--horizontal .ui-stepper__step{flex-direction:column;align-items:center;gap:8px;min-width:0;display:flex}.ui-stepper--horizontal>.ui-stepper__connector{background:var(--ui-border);flex:1;align-self:flex-start;height:2px;margin-top:13px;transition:background .3s}.ui-stepper--horizontal .ui-stepper__label-wrap{text-align:center;flex-direction:column;align-items:center;gap:2px;padding:0 4px;display:flex}.ui-stepper--vertical{flex-direction:column;display:flex}.ui-stepper--vertical .ui-stepper__step{flex-direction:row;align-items:flex-start;gap:12px;display:flex}.ui-stepper--vertical>.ui-stepper__connector{background:var(--ui-border);align-self:flex-start;width:2px;min-height:20px;margin-left:13px;transition:background .3s}.ui-stepper--vertical .ui-stepper__label-wrap{flex-direction:column;gap:2px;padding-bottom:4px;display:flex}.ui-stepper__circle{border:2px solid var(--ui-border);background:var(--ui-surface);width:28px;height:28px;color:var(--ui-text-sub);font-family:var(--ui-font);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .2s,background .2s,color .2s;display:flex}.ui-stepper__num{font-size:12px;font-weight:600}.ui-stepper__label{color:var(--ui-text-sub);font-size:13px;font-weight:500;font-family:var(--ui-font);transition:color .2s}.ui-stepper__desc{color:var(--ui-text-sub);font-size:11px;font-family:var(--ui-font)}.ui-stepper__step--active .ui-stepper__circle{border-color:var(--ui-accent);background:var(--ui-accent);color:var(--ui-accent-fg)}.ui-stepper__step--active .ui-stepper__label{color:var(--ui-text)}.ui-stepper__step--completed .ui-stepper__circle{color:#fff;background:#22c55e;border-color:#22c55e}.ui-stepper__connector--done{background:#22c55e}.ui-stepper__step--completed .ui-stepper__label{color:var(--ui-text)}.ui-stepper__step--error .ui-stepper__circle{border-color:var(--ui-danger);background:var(--ui-danger);color:#fff}.ui-stepper__step--error .ui-stepper__label{color:var(--ui-danger)}.ui-alert{border-radius:var(--ui-radius-sm);border-left:3px solid;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.4;display:flex}.ui-alert--info{background:color-mix(in srgb, var(--ui-accent) 10%, transparent);color:var(--ui-accent)}.ui-alert--success{color:#16a34a;background:#22c55e1a}.ui-alert--warning{color:#d97706;background:#f59e0b1a}.ui-alert--danger{background:color-mix(in srgb, var(--ui-danger) 10%, transparent);color:var(--ui-danger)}[data-appearance=dark] .ui-alert--success{color:#4ade80}[data-appearance=dark] .ui-alert--warning{color:#fbbf24}.ui-alert__icon{flex-shrink:0;margin-top:1px;display:flex}.ui-alert__body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.ui-alert__title{color:inherit;font-weight:600}.ui-alert__desc{color:var(--ui-text);font-size:13px}.ui-alert__close{color:currentColor;opacity:.55;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;padding:0;transition:opacity .15s;display:flex}.ui-alert__close:hover{opacity:1}.ui-divider{align-items:center;gap:var(--ui-gap-sm);color:var(--ui-text-hint);letter-spacing:.02em;font-size:12px;font-weight:500;display:flex}.ui-divider:before,.ui-divider--labeled:after{content:"";background:var(--ui-border);flex:1;height:1px}.ui-divider__label{white-space:nowrap;flex-shrink:0}.ui-chip{align-items:center;gap:var(--ui-gap-xs);border:1.5px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text);font-size:14px;font-weight:500;font-family:var(--ui-font);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;border-radius:20px;padding:6px 14px;transition:background .15s,border-color .15s,color .15s;display:inline-flex;position:relative;overflow:hidden}.ui-chip:disabled{opacity:.4;cursor:default}.ui-chip--selected{background:color-mix(in srgb, var(--ui-accent) 12%, transparent);border-color:var(--ui-accent);color:var(--ui-accent)}.ui-chip__before{flex-shrink:0;align-items:center;display:flex}.ui-chip-group{gap:var(--ui-gap-sm);flex-wrap:wrap;display:flex}.ui-pin-input{gap:var(--ui-gap);justify-content:center;display:flex}.ui-pin-input__cell{text-align:center;width:52px;height:60px;font-size:24px;font-weight:600;font-family:var(--ui-font);background:var(--ui-surface);border:1.5px solid var(--ui-border);border-radius:var(--ui-radius);color:var(--ui-text);caret-color:#0000;-webkit-tap-highlight-color:transparent;outline:none;transition:border-color .15s,box-shadow .15s}.ui-pin-input__cell:focus{border-color:var(--ui-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--ui-accent) 18%, transparent)}.ui-pin-input__cell:disabled{opacity:.4}.ui-multiselect__count{background:var(--ui-accent);min-width:18px;height:18px;color:var(--ui-accent-fg);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;padding:0 4px;font-size:11px;font-weight:600;display:inline-flex}.ui-multiselect-sheet .ui-select-sheet__option{gap:14px}.ui-multiselect-sheet__checkbox{border:1.5px solid var(--ui-border);background:var(--ui-surface);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:background .12s,border-color .12s;display:flex}.ui-select-sheet__option--selected .ui-multiselect-sheet__checkbox{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-accent-fg)}.ui-multiselect-sheet__footer{border-top:1px solid var(--ui-border);flex-shrink:0;padding:10px 16px}.ui-multiselect-sheet__done{border-radius:var(--ui-radius-sm);background:var(--ui-accent);width:100%;color:var(--ui-accent-fg);font-size:15px;font-weight:600;font-family:var(--ui-font);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;padding:12px;transition:opacity .12s}.ui-multiselect-sheet__done:active{opacity:.8}.ui-combobox{border-top:1px solid var(--ui-border);flex-direction:column;gap:4px;padding:10px 16px;display:flex}.ui-combobox:first-child{border-top:none}.ui-combobox__header{color:var(--ui-text-hint);font-size:13px;font-weight:500}.ui-combobox__field{align-items:center;gap:8px;display:flex}.ui-combobox__before{color:var(--ui-text-sub);flex-shrink:0;align-items:center;display:flex}.ui-combobox__input{min-width:0;color:var(--ui-text);font-size:15px;font-family:var(--ui-font);background:0 0;border:none;outline:none;flex:1;padding:6px 0}.ui-combobox__input::placeholder{color:var(--ui-text-hint);opacity:1}.ui-combobox__input:disabled{opacity:.4;cursor:not-allowed}.ui-combobox-popup{z-index:2000;background:var(--ui-surface);border-radius:var(--ui-radius-sm);overscroll-behavior:contain;max-height:260px;margin:0;padding:0;list-style:none;overflow-y:auto;box-shadow:0 4px 20px #0000001f}.ui-combobox-popup__option{border:none;border-top:1px solid var(--ui-border);width:100%;font-size:15px;font-family:var(--ui-font);color:var(--ui-text);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;align-items:center;gap:10px;padding:12px 16px;display:flex;position:relative;overflow:hidden}.ui-combobox-popup__option:first-child{border-top:none}.ui-combobox-popup__option--selected{color:var(--ui-accent)}.ui-combobox-popup__label{flex:1;min-width:0}.ui-combobox-popup__check{color:var(--ui-accent);flex-shrink:0}.ui-combobox-popup__empty{color:var(--ui-text-hint);text-align:center;padding:14px 16px;font-size:14px}.ui-carousel{width:100%;position:relative}.ui-carousel__track{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;touch-action:pan-x;-webkit-user-select:none;user-select:none;gap:0;display:flex;overflow-x:auto}.ui-carousel__track:active{cursor:grabbing}.ui-carousel__track::-webkit-scrollbar{display:none}.ui-carousel__slide{scroll-snap-align:start;flex:0 0 100%;min-width:0}.ui-carousel__arrow{background:color-mix(in srgb, var(--ui-surface) 90%, transparent);width:36px;height:36px;color:var(--ui-text);cursor:pointer;z-index:10;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #0000001f}.ui-carousel__arrow--prev{left:8px}.ui-carousel__arrow--next{right:8px}.ui-carousel__arrow--hidden{opacity:0;pointer-events:none}.ui-carousel__dots{justify-content:center;gap:6px;padding:10px 0 4px;display:flex}.ui-carousel__dot{background:var(--ui-border);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;width:6px;height:6px;padding:0;transition:width .2s,background .2s}.ui-carousel__dot--active{background:var(--ui-accent);border-radius:3px;width:18px}.ui-card{background:var(--ui-surface);border-radius:var(--ui-radius);border:1px solid var(--ui-border);flex-direction:column;display:flex;position:relative;overflow:hidden}.ui-card--interactive{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .15s}.ui-card--interactive:active{opacity:.85}.ui-card--horizontal{flex-direction:row}.ui-card__media{background:var(--ui-border);flex-shrink:0;position:relative;overflow:hidden}.ui-card__media--16-9{aspect-ratio:16/9}.ui-card__media--4-3{aspect-ratio:4/3}.ui-card__media--3-2{aspect-ratio:3/2}.ui-card__media--1-1{aspect-ratio:1}.ui-card__media--3-4{aspect-ratio:3/4}.ui-card--horizontal .ui-card__media{aspect-ratio:auto;align-self:stretch;width:120px}.ui-card__media-img{object-fit:cover;width:100%;height:100%;display:block}.ui-card__badge{z-index:1;position:absolute}.ui-card__badge--top-left{top:10px;left:10px}.ui-card__badge--top-right{top:10px;right:10px}.ui-card__badge--bottom-left{bottom:10px;left:10px}.ui-card__badge--bottom-right{bottom:10px;right:10px}.ui-card__body{flex-direction:column;flex:1;gap:8px;padding:14px;display:flex}.ui-card__title{color:var(--ui-text);font-size:15px;font-weight:600;line-height:1.3;font-family:var(--ui-font)}.ui-card__title--clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ui-card__title--clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ui-card__title--clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ui-card__desc{color:var(--ui-text-sub);font-size:13px;line-height:1.5;font-family:var(--ui-font)}.ui-card__desc--clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ui-card__desc--clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ui-card__desc--clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ui-card__tags{flex-wrap:wrap;gap:4px;display:flex}.ui-card__price{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.ui-card__price-current{color:var(--ui-text);font-size:18px;font-weight:700;line-height:1.2;font-family:var(--ui-font)}.ui-card__price-original{color:var(--ui-text-hint);font-size:13px;font-family:var(--ui-font);text-decoration:line-through}.ui-card__price-discount{color:#16a34a;font-size:12px;font-weight:600;font-family:var(--ui-font)}.ui-card__actions{gap:8px;padding:0 14px 14px;display:flex}.ui-form,.ui-form__field{display:contents}.ui-form__error{color:var(--ui-danger);padding:4px 16px 8px;font-size:12px;display:block}.ui-rating{align-items:center;gap:2px;display:inline-flex}.ui-rating--disabled{opacity:.45}.ui-rating__star{cursor:pointer;color:var(--ui-text-hint);-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px;display:flex;position:relative}.ui-rating__star--filled,.ui-rating__star--half{color:#f59e0b}.ui-rating--readonly .ui-rating__star,.ui-rating--disabled .ui-rating__star{cursor:default}.ui-datepicker{background:var(--ui-surface);text-align:left;cursor:pointer;width:100%;font-family:var(--ui-font);-webkit-tap-highlight-color:transparent;border:none;flex-direction:column;padding:10px 16px 12px;display:flex}.ui-datepicker__header{color:var(--ui-text-hint);margin-bottom:4px;font-size:12px;display:block}.ui-datepicker__field{align-items:center;gap:10px;display:flex}.ui-datepicker__icon{color:var(--ui-text-hint);flex-shrink:0}.ui-datepicker__value{color:var(--ui-text);flex:1;font-size:16px}.ui-datepicker__value--placeholder{color:var(--ui-text-hint)}.ui-datepicker-overlay{z-index:1000;background:#00000073;align-items:flex-end;display:flex;position:fixed;inset:0}.ui-datepicker-sheet{background:var(--ui-surface);border-radius:20px 20px 0 0;width:100%;padding:12px 16px 32px}.ui-datepicker-sheet__nav{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ui-datepicker-sheet__nav-btn{cursor:pointer;color:var(--ui-accent);background:0 0;border:none;border-radius:8px;align-items:center;padding:8px;display:flex}.ui-datepicker-sheet__nav-btn:hover{background:color-mix(in srgb, var(--ui-accent) 10%, transparent)}.ui-datepicker-sheet__month{color:var(--ui-text);font-size:16px;font-weight:600;font-family:var(--ui-font)}.ui-datepicker-sheet__grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.ui-datepicker-sheet__dow{text-align:center;color:var(--ui-text-hint);font-size:12px;font-weight:600;font-family:var(--ui-font);padding:6px 0}.ui-datepicker-sheet__day{aspect-ratio:1;font-size:14px;font-family:var(--ui-font);color:var(--ui-text);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .12s;display:flex;position:relative;overflow:hidden}.ui-datepicker-sheet__day:hover:not(:disabled){background:color-mix(in srgb, var(--ui-accent) 12%, transparent)}.ui-datepicker-sheet__day--selected{background:var(--ui-accent);color:var(--ui-accent-fg)}.ui-datepicker-sheet__day--today{color:var(--ui-accent);font-weight:700}.ui-datepicker-sheet__day--disabled{color:var(--ui-text-hint);cursor:default;opacity:.4}.ui-timepicker{background:var(--ui-surface);text-align:left;cursor:pointer;width:100%;font-family:var(--ui-font);-webkit-tap-highlight-color:transparent;border:none;flex-direction:column;padding:10px 16px 12px;display:flex}.ui-timepicker__header{color:var(--ui-text-hint);margin-bottom:4px;font-size:12px;display:block}.ui-timepicker__field{align-items:center;gap:10px;display:flex}.ui-timepicker__icon{color:var(--ui-text-hint);flex-shrink:0}.ui-timepicker__value{color:var(--ui-text);font-size:16px}.ui-timepicker__value--placeholder{color:var(--ui-text-hint)}.ui-timepicker-overlay{z-index:1000;background:#00000073;align-items:flex-end;display:flex;position:fixed;inset:0}.ui-timepicker-sheet{background:var(--ui-surface);border-radius:20px 20px 0 0;width:100%;padding:16px 16px 32px}.ui-timepicker-sheet__title{text-align:center;color:var(--ui-text);font-size:16px;font-weight:600;font-family:var(--ui-font);margin-bottom:16px}.ui-timepicker-sheet__drums{justify-content:center;align-items:center;gap:0;height:220px;margin-bottom:16px;display:flex;position:relative;overflow:hidden}.ui-timepicker-sheet__highlight{background:color-mix(in srgb, var(--ui-accent) 12%, transparent);pointer-events:none;z-index:1;border-radius:10px;width:160px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ui-timepicker-sheet__colon{color:var(--ui-text);font-size:28px;font-weight:700;font-family:var(--ui-font);z-index:2;flex-shrink:0;margin:0 4px}.ui-timepicker-sheet__drum{scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;width:72px;height:100%;overflow-y:scroll;-webkit-mask-image:linear-gradient(#0000 0%,#000 30% 70%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 30% 70%,#0000 100%)}.ui-timepicker-sheet__drum::-webkit-scrollbar{display:none}.ui-timepicker-sheet__drum-item{height:44px;color:var(--ui-text);font-size:22px;font-weight:600;font-family:var(--ui-font);font-variant-numeric:tabular-nums;scroll-snap-align:center;cursor:pointer;justify-content:center;align-items:center;display:flex}.ui-timepicker-sheet__drum-pad{scroll-snap-align:none;flex-shrink:0;height:88px}.ui-map-wrap{width:100%;position:relative;overflow:hidden}.ui-map-wrap--full{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}.ui-map{width:100%;display:block}.ui-map--static{cursor:default}.ui-map__fullscreen{z-index:500;background:var(--ui-surface);border:1px solid var(--ui-border);cursor:pointer;width:32px;height:32px;color:var(--ui-text);-webkit-tap-highlight-color:transparent;border-radius:8px;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;bottom:10px;right:10px;box-shadow:0 1px 6px #0000002e}.ui-map__fullscreen:hover{opacity:.8}:-webkit-any(.ui-map-wrap:fullscreen,.ui-map-wrap:-webkit-full-screen){width:100vw!important;height:100vh!important}:is(.ui-map-wrap:fullscreen,.ui-map-wrap:fullscreen){width:100vw!important;height:100vh!important}:-webkit-any(.ui-map-wrap:fullscreen .ui-map,.ui-map-wrap:-webkit-full-screen .ui-map){width:100%!important;height:100%!important}:is(.ui-map-wrap:fullscreen .ui-map,.ui-map-wrap:fullscreen .ui-map){width:100%!important;height:100%!important}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.overline{text-decoration-line:overline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}.navigation-button{color:inherit;font:inherit;text-align:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;padding:0}@font-face{font-family:Caveat;src:url(/fonts/caveat-600.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--ui-bg);color:var(--ui-text);font-family:var(--ui-font);-webkit-font-smoothing:antialiased}#root{text-align:center;box-sizing:border-box;width:1126px;max-width:100%;min-height:100svh;padding-top:calc(var(--tg-viewport-safe-area-inset-top,env(safe-area-inset-top,0px)) + var(--tg-viewport-content-safe-area-inset-top,0px));padding-bottom:calc(var(--tg-viewport-safe-area-inset-bottom,env(safe-area-inset-bottom,0px)) + var(--tg-viewport-content-safe-area-inset-bottom,0px));padding-left:calc(var(--tg-viewport-safe-area-inset-left,env(safe-area-inset-left,0px)) + var(--tg-viewport-content-safe-area-inset-left,0px));padding-right:calc(var(--tg-viewport-safe-area-inset-right,env(safe-area-inset-right,0px)) + var(--tg-viewport-content-safe-area-inset-right,0px));flex-direction:column;margin:0 auto;display:flex}.site-app{flex-direction:column;flex:1;min-height:0;display:flex}.loading-page{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:36px;padding:40px 24px;display:flex}.loading-heading{flex-direction:column;gap:12px;display:flex}.service-title{letter-spacing:-1.5px;margin:0;font-size:clamp(32px,8vw,42px)}.brand{white-space:nowrap}.brand-k{color:#2979ff}.home-page{text-align:left;width:100%;max-width:620px;margin:0 auto;padding:16px 16px 32px}.calendar{border:1px solid var(--ui-border);border-radius:28px;padding:20px}.calendar-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.calendar-month{text-transform:capitalize;margin:0}.calendar-controls{gap:6px;display:flex}.calendar-controls button{background:var(--ui-surface);width:40px;height:40px;color:var(--ui-text);cursor:pointer;border:0;border-radius:12px;flex-shrink:0;place-items:center;padding:0;display:grid}.calendar-controls svg{display:block}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-weekday{color:var(--ui-text-hint);text-align:center;padding-bottom:8px;font-size:12px;font-weight:600}.calendar-day.is-day-off{border-color:var(--ui-danger);color:var(--ui-danger)}.calendar-day.is-outside{opacity:.45}.calendar-day.is-selected:not(.is-outside){background:var(--ui-accent);color:var(--ui-accent-fg);opacity:1}.calendar-today{background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;top:5px;right:5px}.calendar-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.calendar-legend{color:var(--ui-text-sub);align-items:center;gap:7px;font-size:11px;display:flex}.calendar-legend span{border:1px solid var(--ui-danger);border-radius:3px;flex-shrink:0;width:10px;height:10px}.today-button{color:var(--ui-link);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0 8px 8px;font-size:13px}.schedule-heading{align-items:center;gap:10px;margin-bottom:16px;display:flex}.schedule-heading h2{text-transform:capitalize;margin:0}.schedule-dot{background:var(--ui-accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.schedule-empty{background:var(--ui-surface);border-radius:22px;padding:24px}.schedule-empty h3{margin:0 0 8px}.calendar button:focus-visible{outline:2px solid var(--ui-link);outline-offset:3px}@media (width<=360px){.calendar{padding:14px}}.loading-spinner{border:3px solid var(--ui-border);border-top-color:var(--ui-accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite loading-spin;display:block}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation:none}}.auth-page{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:36px;padding:40px 24px;display:flex}.auth-heading{text-align:center;flex-direction:column;gap:10px;display:flex}.auth-page .auth-brand{letter-spacing:-1.5px;margin:0;font-size:clamp(32px,8vw,42px);font-weight:750;line-height:1.15}.auth-page .auth-description{color:var(--ui-text-sub);margin:0;font-size:15px}.auth-fields{text-align:left;flex-direction:column;gap:16px;width:100%;max-width:380px;display:flex}.auth-fields .ui-input,.auth-fields .ui-select{background:var(--ui-surface);border:2px solid #0000;border-radius:20px;gap:8px;padding:16px 18px}.auth-fields .ui-input:focus-within,.auth-fields .ui-select:focus-visible{border-color:var(--ui-accent);outline:none}.auth-fields .ui-input__field,.auth-fields .ui-select__field{border:none}.auth-fields .ui-select{flex-direction:column;align-items:stretch;display:flex}.auth-fields .ui-select__value{min-height:28px;padding:0;font-size:16px;line-height:28px}.auth-fields .ui-input__field input{min-height:28px;padding:0;font-size:16px}.calendar{background:var(--ui-bg);border:none;border-radius:28px;padding:0 0 16px;position:relative}.calendar-month{font-size:clamp(22px,5vw,28px);font-weight:750}.calendar-date-number{line-height:1}.lesson-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.lesson-lecture{--lesson-color:#c19aff;--lesson-tint:#a467ff38}.lesson-practice{--lesson-color:#ff3347;--lesson-tint:#ff334733}.lesson-dot{background:var(--lesson-color)}.lesson-legend{color:var(--ui-text-sub);gap:16px;margin-top:12px;font-size:12px;display:flex}.lesson-legend>span{align-items:center;gap:6px;display:flex}.lesson-legend .lesson-dot{width:7px;height:7px}.calendar-handle{background:var(--ui-surface);border-radius:8px;width:76px;height:5px;margin:16px auto}.schedule{margin-top:0}.schedule-heading h2{font-size:17px}.lesson-list{flex-direction:column;gap:12px;display:flex}.lesson-card{background:var(--ui-surface);border-radius:20px;padding:16px}.lesson-card-top,.lesson-card-bottom{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lesson-number,.lesson-type,.lesson-time,.lesson-teacher,.lesson-room{border-radius:7px;padding:5px 8px;font-size:12px;line-height:1.2}.lesson-number{color:var(--ui-accent-fg);background:var(--ui-accent);font-weight:700}.lesson-type{color:var(--lesson-color);background:var(--lesson-tint);align-items:center;gap:5px;font-weight:650;display:flex}.lesson-time{color:var(--ui-text-sub);background:var(--ui-bg);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.lesson-card .lesson-subject{margin:14px 0;font-size:17px;line-height:1.35}.lesson-teacher,.lesson-room{color:var(--ui-text-sub);background:var(--ui-bg)}.lesson-time,.lesson-teacher{align-items:center;gap:5px;display:inline-flex}.lesson-time svg,.lesson-teacher svg{flex-shrink:0}.lesson-room{margin-left:auto}@media (width<=360px){.calendar{padding-inline:0}.lesson-card{padding:12px}.lesson-time{padding-inline:5px;font-size:11px}}.app-header{z-index:10;pointer-events:none;box-sizing:border-box;width:116px;height:32px;color:var(--ui-text);letter-spacing:-.4px;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0 16px;font-size:15px;font-weight:700;line-height:1;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.app-header-fullscreen{top:calc(var(--tg-viewport-safe-area-inset-top,env(safe-area-inset-top,0px)) + max(0px, (var(--tg-viewport-content-safe-area-inset-top,56px) - 32px) / 2))}body:has(.app-shell){overscroll-behavior:none;overflow:hidden}#root:has(.app-shell){height:var(--tg-viewport-stable-height,100svh);min-height:0}.site-app:has(.app-shell){min-height:0;overflow:hidden}.home-page{overscroll-behavior-y:contain;flex:1;min-height:0;overflow-y:auto}.app-shell:not(.is-fullscreen){padding-top:64px}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.calendar-grid{position:relative}.calendar-weekday{padding-bottom:10px}.calendar-day{box-sizing:border-box;aspect-ratio:1;background:var(--ui-surface);width:100%;min-width:0;min-height:0;color:var(--ui-text);font:inherit;cursor:pointer;border:1.5px solid #0000;border-radius:12px;margin:0;padding:6px;font-size:clamp(15px,4.2vw,22px);font-weight:650;display:block;position:relative}.calendar-date-number{position:absolute;top:7px;left:7px}.calendar-lesson-dots{gap:3px;max-width:calc(100% - 12px);display:flex;position:absolute;bottom:6px;left:6px}.calendar-day.is-selected:not(.is-outside) .calendar-lesson-dots{background:#0000002e;border-radius:6px;padding:3px;bottom:3px;left:3px}.schedule-group{color:var(--ui-text-sub);margin:0 0 16px;font-size:13px}.calendar-day.is-holiday{color:var(--ui-danger)}.calendar-day.is-holiday.is-selected:not(.is-outside){color:var(--ui-accent-fg)}.holiday-range{z-index:1;border:1.5px solid var(--period-color,var(--ui-danger));pointer-events:none;border-radius:12px;min-width:0;position:relative}.holiday-range-label{background:var(--ui-bg);color:var(--period-label,var(--period-accent,var(--ui-danger)));white-space:nowrap;border-radius:5px;padding:0 5px;font-size:11px;font-weight:600;line-height:16px;position:absolute;top:-9px;right:8px}.holiday-range:before{content:"";border-radius:inherit;background:linear-gradient(125deg, var(--period-color), var(--period-accent));-webkit-mask-composite:xor;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;padding:1.5px;position:absolute;inset:-1.5px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.period-newyear{--period-color:#ef6767;--period-accent:#fff2f2}.period-ramadan{--period-color:#64cc94;--period-accent:#e4bd68}.period-vacation{--period-color:#9cdaff;--period-accent:#e8f8ff;--period-label:#b6e4ff}.holiday-range-label{align-items:center;gap:4px;display:inline-flex}.calendar-event-icon{flex-shrink:0;display:block}.calendar-period-note{color:var(--ui-text-sub);margin:10px 0 0;font-size:12px;line-height:1.5}.bottom-nav{z-index:20;width:100%;max-width:620px;padding:8px 16px calc(8px + var(--tg-viewport-safe-area-inset-bottom,env(safe-area-inset-bottom,0px)) + var(--tg-viewport-content-safe-area-inset-bottom,0px));background:var(--ui-bg);border-top:1px solid var(--ui-border);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{min-height:46px;color:var(--ui-text-sub);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:11px;font-weight:600;text-decoration:none;display:flex}.bottom-nav button.active{color:var(--ui-accent)}.bottom-nav.without-map{grid-template-columns:repeat(3,1fr)}.bottom-nav button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:-2px}.home-page{padding-bottom:calc(90px + var(--tg-viewport-content-safe-area-inset-bottom,0px))}.profile-page{width:100%;max-width:500px;padding:28px 24px calc(100px + var(--tg-viewport-safe-area-inset-bottom,env(safe-area-inset-bottom,0px)) + var(--tg-viewport-content-safe-area-inset-bottom,0px));text-align:left;flex-direction:column;gap:24px;margin:0 auto;display:flex}.profile-hero{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.profile-hero h1{margin:6px 0 0;font-size:24px;line-height:1.25}.profile-avatar{background:var(--ui-surface);width:104px;height:104px;color:var(--ui-accent);border-radius:50%;place-items:center;font-size:32px;font-weight:700;display:grid;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.developer-spider{flex:none;width:26px;height:26px;animation:5.5s step-end infinite spider-glitch;display:block;overflow:visible}.developer-spider-row{--slice-shift:3px;animation:5.5s step-end infinite spider-slice}.developer-spider>g:nth-child(2n) .developer-spider-row{--slice-shift:-3px}@keyframes spider-glitch{0%,92%,98%,to{filter:none;transform:none}93%{filter:drop-shadow(2px 0 #ff3c9e)drop-shadow(-2px 0 #46edff);transform:translate(-1.5px,.5px)skew(-8deg)}94%{filter:drop-shadow(-2px .5px #ff3c9e)drop-shadow(1px -.5px #46edff);transform:translate(1.5px,-.5px)skew(5deg)}95%{filter:none;transform:none}96%{filter:drop-shadow(1.5px 0 #46edff)drop-shadow(-1px 0 #ffe66d);transform:translate(-1px)skew(6deg)}97%{filter:none;transform:translate(.5px)}}.enrollment-page{gap:28px;padding-block:32px}.enrollment-page .auth-heading{width:100%;max-width:370px}.enrollment-page .auth-heading h2{margin:12px 0 0;font-size:22px;line-height:1.3}.enrollment-page .auth-heading p{color:var(--ui-text-sub);margin:8px 0 0;font-size:15px;line-height:1.6}.enrollment-form{text-align:left;flex-direction:column;gap:20px;width:100%;max-width:350px;display:flex}.enrollment-error{color:var(--ui-danger);margin:0;font-size:14px;line-height:1.5}@keyframes spider-slice{0%,92%,95%,98%,to{transform:none}93%,96%{transform:translateX(var(--slice-shift))}94%,97%{transform:translateX(calc(var(--slice-shift) * -.5))}}@media (prefers-reduced-motion:reduce){.developer-spider,.developer-spider-row{animation:none}}.profile-telegram>span{margin-bottom:7px;display:block}.profile-id-copy.telegram-spoiler{background:0 0;border:0;border-radius:0;justify-content:center;min-width:132px;position:relative;overflow:hidden}.profile-id-value{line-height:20px;display:inline-block;position:relative}.profile-id-text{display:inline-block}.telegram-spoiler:not(.is-revealed) .profile-id-text{visibility:hidden}.spoiler-particles{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.admin-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:26px 0;display:grid}.admin-motion-card{isolation:isolate;min-height:142px;font:inherit;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:1px solid #0000;border-radius:13px;flex-direction:column;justify-content:flex-end;padding:18px 15px;text-decoration:none;transition:border-color .2s,transform .2s;display:flex;position:relative;overflow:hidden}.admin-motion-violet{color:#e6ddf5;--card-highlight:#b9adff;background:#30293f}.admin-motion-olive{color:#e1e9d8;--card-highlight:#d7df82;background:#303729}.admin-motion-card strong{font-size:14px;font-weight:650;line-height:1.35;position:relative}.admin-card-description{opacity:.8;max-width:24ch;margin-top:7px;font-size:11px;line-height:1.45;position:relative}.admin-card-art{z-index:-1;white-space:pre;color:var(--card-highlight);opacity:.12;-webkit-user-select:none;user-select:none;font:800 35px/1.15 ui-monospace,SFMono-Regular,Consolas,monospace;transition:transform .45s,opacity .3s;position:absolute;top:1px;right:-18px;transform:rotate(-10deg)}.admin-motion-card:hover,.admin-motion-card:focus-visible{border-color:var(--card-highlight);outline:none}.admin-motion-card:hover .admin-card-art,.admin-motion-card:focus-visible .admin-card-art{opacity:.24;transform:rotate(-3deg)translate(-8px,7px)scale(1.08)}.admin-motion-card:active{border-color:var(--card-highlight);transform:scale(.98)}@media (prefers-reduced-motion:reduce){.admin-motion-card,.admin-card-art{transition:none}}@media (width<=350px){.admin-card-grid{grid-template-columns:1fr}}.profile-developer-badge{background:var(--ui-surface);color:#83b5ff;border-radius:8px;align-items:center;gap:7px;padding:6px 11px;font-size:12px;font-weight:600;display:inline-flex}.profile-telegram{max-width:100%;color:var(--ui-text-sub);font-size:12px}.profile-telegram summary{cursor:pointer;min-height:36px;padding:8px}.profile-id-copy{border:1px solid var(--ui-border,#3b3b3b);background:var(--ui-surface);min-height:44px;color:var(--ui-text);cursor:pointer;font:inherit;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;font-size:14px;display:inline-flex}.profile-id-copy span{-webkit-user-select:text;user-select:text;font-variant-numeric:tabular-nums}.profile-telegram p{max-width:280px;margin:8px 0 0;line-height:1.5}.profile-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.profile-action{align-items:stretch;gap:14px;width:100%;min-height:142px;padding:18px 15px}.profile-action-icon{z-index:-1;color:var(--card-highlight);opacity:.13;transition:transform .45s,opacity .3s;position:absolute;top:-8px;right:-12px;transform:rotate(-12deg)}.profile-action-icon svg{stroke-width:1px;width:105px;height:105px}.profile-action:hover .profile-action-icon,.profile-action:focus-visible .profile-action-icon{opacity:.26;transform:rotate(-3deg)translate(-8px,7px)}.profile-action-copy{text-align:left;flex-direction:column;gap:5px;min-width:0;display:flex}.profile-action-copy strong{font-size:14px;font-weight:600;line-height:1.4}.profile-action-copy>span{color:inherit;opacity:.75;font-size:12px;line-height:1.5}.profile-action-arrow{display:none}@media (width<=350px){.profile-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.profile-action-icon{transition:none}}.profile-logout{min-height:48px;color:var(--ui-text-sub);cursor:pointer;font:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:9px;padding:10px;font-size:13px;display:flex}.profile-action:focus-visible,.profile-id-copy:focus-visible,.profile-telegram summary:focus-visible,.profile-logout:focus-visible{outline:2px solid var(--ui-accent);outline-offset:-3px}.student-card{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:24px;padding:24px}.student-card-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.student-book{perspective:500px;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:8px;flex-shrink:0;width:112px;height:60px;padding:0;position:relative}.student-book-pages{background:#f0f1f4;border:2px solid #2979ff;border-radius:3px 7px 7px 3px;flex-direction:column;justify-content:space-between;align-items:stretch;padding:7px 6px 6px 9px;display:flex;position:absolute;inset:2px 0 0;box-shadow:inset 3px 0 4px #c8cdd6,inset 0 -2px #d2d6de}.student-book-page-heading{background:#aeb6c3;border-radius:1px;width:42%;height:3px}.student-book-page-line{background:repeating-linear-gradient(90deg,#c2c8d2 0 13px,#0000 13px 15px,#c2c8d2 15px 33px,#0000 33px 35px);border-radius:1px;height:3px}.student-book-cover{transform-origin:0;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.22,.75,.25,1);position:absolute;inset:0}.student-book-front,.student-book-inside{backface-visibility:hidden;border-radius:3px 7px 7px 3px;position:absolute;inset:0}.student-book-front{color:#fff;background:#2979ff;border-left:4px solid #175ac4;place-items:center;font-size:14px;font-weight:700;display:grid}.student-book-inside{background:#cbd9f5;border:3px solid #2979ff;transform:rotateY(180deg)}.student-card.is-open .student-book-cover{transform:skewY(-10deg)scaleX(.98)}.student-book:focus-visible{outline:2px solid var(--ui-accent);outline-offset:4px}.student-card-toggle{min-height:44px;color:var(--ui-text);font:inherit;cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:4px;font-size:20px;font-weight:700;display:flex}.student-card-toggle:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.student-card-details{flex-direction:column;gap:12px;margin:0;display:flex}.student-card-details div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.student-card-details dt{color:var(--ui-text-sub);font-size:16px}.student-card-details dd{text-align:right;overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:650}@media (prefers-reduced-motion:reduce){.student-book-cover{transition:none}}.profile-editor{flex-direction:column;align-items:stretch;gap:20px;display:flex}.profile-editor .auth-heading{text-align:left}.profile-editor .auth-fields{max-width:none}.profile-saved{color:var(--ui-link);margin:0;font-size:14px}.upload-page{padding:24px 16px calc(100px + var(--tg-viewport-safe-area-inset-bottom,env(safe-area-inset-bottom,0px)) + var(--tg-viewport-content-safe-area-inset-bottom,0px))}.journal-page{width:100%;max-width:620px;padding:24px 20px calc(110px + var(--tg-viewport-safe-area-inset-bottom,env(safe-area-inset-bottom,0px)) + var(--tg-viewport-content-safe-area-inset-bottom,0px));text-align:left;margin:0 auto}.journal-heading{margin-bottom:28px}.journal-heading h1{margin:0;font-size:28px}.journal-heading p,.journal-note{color:var(--ui-text-sub);font-size:13px;line-height:1.5}.journal-actions{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.journal-section{margin-bottom:28px}.journal-section h2,.journal-form h2{overflow-wrap:anywhere;font-size:20px;line-height:1.35}.journal-subjects{flex-direction:column;display:flex}.journal-subject{min-height:68px;color:var(--ui-text);border:0;border-bottom:1px solid var(--ui-border);text-align:left;font:inherit;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;display:flex}.journal-subject span{overflow-wrap:anywhere}.journal-subject strong{color:var(--ui-accent);white-space:nowrap;font-size:22px}.journal-average{justify-content:space-between;align-items:baseline;gap:16px;margin:24px 0 8px;display:flex}.journal-average strong{color:var(--ui-accent);font-size:36px}.journal-entry,.journal-exam{background:var(--ui-surface);border-radius:18px;margin:12px 0;padding:18px}.journal-exam{border-left:3px solid var(--ui-accent)}.journal-entry-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.journal-entry-heading strong{overflow-wrap:anywhere}.grade-score{color:var(--ui-accent);white-space:nowrap;font-size:24px;font-weight:700}.exam-countdown{color:var(--ui-accent);text-align:right;flex-shrink:0;font-size:13px;font-weight:650}.journal-entry time,.journal-exam time,.journal-exam>p{color:var(--ui-text-sub);font-size:13px}.journal-comment{white-space:pre-wrap;overflow-wrap:anywhere}.journal-text-button{min-height:44px;color:var(--ui-link);font:inherit;cursor:pointer;background:0 0;border:0;margin-right:20px;padding:10px 0;font-size:13px;display:inline-block}.journal-delete{color:var(--ui-danger)}.journal-form fieldset{border:0;flex-direction:column;gap:18px;min-width:0;margin:0;padding:0;display:flex}.journal-form{flex-direction:column;gap:20px;min-width:0;margin:24px 0 32px;display:flex}.journal-form>h2,.journal-form>p,.journal-form .journal-actions{margin:0}.journal-form button{white-space:normal;min-height:48px;line-height:1.4}.journal-form .journal-actions>button{flex:180px}.journal-heading p{margin:12px 0 0}.journal-entry{overflow-wrap:anywhere}.journal-entry>p{color:var(--ui-text-sub);margin:10px 0 16px;font-size:13px;line-height:1.6}.invitation-link{background:var(--ui-surface);border-radius:18px;padding:18px}.journal-form.invitation-link textarea{resize:none;overflow-wrap:anywhere;font-size:13px;line-height:1.65}.user-filters{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:12px;display:grid}.user-editor{background:var(--ui-surface);border-radius:20px;margin:24px 0;padding:20px}.user-editor-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.user-editor-heading h2{overflow-wrap:anywhere;margin:0;font-size:20px}.user-editor-heading button{flex-shrink:0;margin:0}.user-facts{gap:12px;margin:20px 0;font-size:13px;display:grid}.user-facts>div{justify-content:space-between;gap:16px;display:flex}.user-facts dt{color:var(--ui-text-sub)}.user-facts dd{text-align:right;overflow-wrap:anywhere;margin:0}.user-list{gap:10px;display:grid}.user-list-row{background:var(--ui-surface);width:100%;color:var(--ui-text);text-align:left;font:inherit;cursor:pointer;overflow-wrap:anywhere;border:1px solid #0000;border-radius:16px;flex-direction:column;align-items:stretch;gap:7px;padding:18px;display:flex}.user-list-row strong{font-size:15px}.user-list-row span{color:var(--ui-text-sub);font-size:12px}.user-list-row[aria-pressed=true]{border-color:var(--ui-accent)}.user-delete-button{color:var(--ui-danger);font:inherit;cursor:pointer;background:0 0;border:0;min-height:48px;padding:12px 0}.user-role-links{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.user-role-links button{color:var(--ui-link);text-align:left;min-height:44px;font-size:13px}.user-editor [role=alert],.admin-users-page>[role=alert]{color:var(--ui-danger);font-size:14px;line-height:1.6}@media (width<=360px){.user-filters{grid-template-columns:1fr}.user-editor{padding:16px}}.journal-form label{color:var(--ui-text-sub);flex-direction:column;gap:8px;font-size:13px;display:flex}.journal-form input,.journal-form select,.journal-form textarea{box-sizing:border-box;border:1px solid var(--ui-border);width:100%;min-width:0;min-height:50px;font:inherit;background:var(--ui-surface);color:var(--ui-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:14px;padding:12px;font-size:16px}.journal-form textarea{resize:vertical}.journal-confirm{border:1px solid var(--ui-danger);border-radius:16px;padding:16px}.journal-page button:focus-visible,.journal-form input:focus-visible,.journal-form select:focus-visible,.journal-form textarea:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.home-exam-notice{border-left:3px solid var(--ui-accent);background:var(--ui-surface);color:var(--ui-text);border-radius:12px;flex-direction:column;gap:5px;margin-bottom:18px;padding:12px 14px;font-size:13px;text-decoration:none;display:flex}.home-exam-notice strong{color:var(--ui-accent)}.home-exam-notice span{overflow-wrap:anywhere}.home-exam-notice:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.assessment-photo{object-fit:contain;border-radius:12px;width:100%;max-height:480px;margin-top:20px;display:block}.journal-form .assessment-review-row{border:1px solid var(--ui-border);border-radius:16px;margin:20px 0;padding:18px}.assessment-review-row legend{color:var(--ui-text-sub);padding-inline:6px;font-size:13px}.assessment-date-time{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.assessment-raw{color:var(--ui-text-sub);overflow-wrap:anywhere;margin:24px 0;font-size:13px}.admin-page{max-width:540px;padding-top:24px}.admin-heading-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:32px;display:flex}.admin-heading-top .brand{font-size:16px;font-weight:700}.admin-access{color:var(--ui-text-sub);align-items:center;gap:5px;font-size:11px;display:inline-flex}.admin-heading h1{letter-spacing:-.9px;margin:0;font-size:clamp(28px,8vw,36px);line-height:1.15}.admin-heading>p{color:var(--ui-text-sub);margin:14px 0 0;font-size:14px;line-height:1.6}.admin-tools{flex-direction:column;gap:20px;margin:28px 0 24px;display:flex}.admin-tools a{color:var(--ui-text);-webkit-tap-highlight-color:transparent;text-decoration:none}.admin-schedule-tool{background:var(--ui-surface);border:1px solid #254c7b;border-radius:24px;display:block;position:relative;overflow:hidden}.admin-schedule-copy{padding:24px 22px 20px;position:relative}.admin-tool-format{color:#b5d4ff;background:#173258;border-radius:6px;width:fit-content;margin-bottom:18px;padding:4px 8px;font-size:11px;display:block}.admin-schedule-copy strong{letter-spacing:-.6px;max-width:calc(100% - 100px);font-size:29px;font-weight:700;line-height:1.13;display:block}.admin-schedule-copy p{max-width:29ch;color:var(--ui-text-sub);margin:18px 0 0;font-size:13px;line-height:1.6}.admin-sheet-art{pointer-events:none;position:absolute;top:29px;right:15px}.admin-schedule-action{color:#c8dfff;background:#132a48;border-top:1px solid #254c7b;justify-content:space-between;align-items:center;gap:14px;padding:17px 22px;font-size:14px;font-weight:600;display:flex}.admin-secondary-tools{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:20px;overflow:hidden}.admin-secondary-tool{align-items:center;gap:13px;padding:21px 18px;display:flex}.admin-secondary-tool+.admin-secondary-tool{border-top:1px solid var(--ui-border)}.admin-tool-icon{border-radius:14px;flex-shrink:0;place-items:center;width:46px;height:46px;display:grid}.admin-exams-icon{color:#8dbeff;background:#2979ff24}.admin-calendar-icon{color:#e4bd68;background:#e4bd681a}.admin-tool-copy{flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.admin-tool-copy strong{font-size:15px;font-weight:650;line-height:1.3}.admin-tool-copy>span{color:var(--ui-text-sub);font-size:12px;line-height:1.45}.admin-secondary-tool>svg{color:var(--ui-text-sub);flex-shrink:0}.admin-footer{padding:0 4px}.admin-footer p{max-width:36ch;color:var(--ui-text-sub);margin:0;font-size:12px;line-height:1.6}@media (width<=360px){.admin-sheet-art{transform-origin:100% 0;right:8px;transform:scale(.85)}.admin-schedule-copy{padding-inline:18px}.admin-schedule-copy strong{font-size:26px}.admin-secondary-tool{gap:10px;padding:18px 14px}}.profile-admin-link{min-height:102px;color:var(--ui-text);background:var(--ui-surface);border:1px solid #2b4669;border-radius:18px;align-items:center;gap:13px;padding:18px 16px;text-decoration:none;display:flex;position:relative}.profile-admin-terminal{color:#83b5ff;background:var(--ui-bg);border:1px solid #254c7b;border-radius:10px;flex-shrink:0;place-items:center;width:44px;height:48px;display:grid}.profile-admin-copy{flex-direction:column;gap:6px;min-width:0;display:flex}.profile-admin-copy strong{font-size:15px;font-weight:650;line-height:1.3}.profile-admin-copy>span{color:var(--ui-text-sub);font-size:12px;line-height:1.45}.profile-admin-copy .profile-admin-caption{color:#83b5ff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.profile-admin-open{color:#83b5ff;flex-shrink:0;place-items:center;width:28px;height:28px;margin-left:auto;display:grid}.admin-tools a:focus-visible,.profile-admin-link:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.lesson-card-link{text-align:left;width:100%;color:inherit;text-decoration:none;display:block}.lesson-card-link:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.lesson-page{max-width:600px;margin:auto;padding:24px 18px 110px}.lesson-back{color:var(--ui-link);margin-bottom:22px;padding:8px 0;text-decoration:none;display:inline-block}.lesson-detail-date{color:#aaa;margin:0 0 12px;font-size:14px}.lesson-detail-heading h1{letter-spacing:-.7px;overflow-wrap:anywhere;margin:20px 0 26px;font-size:clamp(26px,7vw,36px);line-height:1.16}.lesson-facts{border-bottom:1px solid #292929;grid-template-columns:1fr 1fr;gap:18px;margin:0;padding-bottom:26px;display:grid}.lesson-facts dt{color:#969696;margin-bottom:5px;font-size:12px}.lesson-facts dd{margin:0;font-size:15px}.lesson-facts-teacher{grid-column:1/-1}.lesson-materials{padding-top:28px}.materials-heading{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.materials-heading h2{margin:0;font-size:21px}.materials-heading>span{color:#999;white-space:nowrap;font-size:13px}.materials-description,.materials-empty{color:#a8a8a8;font-size:14px;line-height:1.5}.photo-upload{cursor:pointer;background:#101d30;border:1px solid #274b7d;border-radius:16px;grid-template-columns:34px 1fr;align-items:center;column-gap:12px;margin:20px 0;padding:20px 16px;display:grid}.photo-upload svg{color:#79b5ff;grid-row:span 2}.photo-upload strong{font-size:15px;font-weight:600}.photo-upload span{color:#9baec7;margin-top:5px;font-size:12px}.photo-upload input{opacity:0;width:1px;height:1px;position:absolute}.photo-upload:focus-within{outline-offset:3px;outline:2px solid #79b5ff}.photo-upload.is-disabled{opacity:.5;cursor:default}.material-list{gap:24px;margin-top:28px;display:grid}.material-photo{background:#101010;border:1px solid #292929;border-radius:14px;margin:0;overflow:hidden}.material-photo img{object-fit:contain;background:#080808;width:100%;max-height:520px;display:block}.material-photo footer{justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.material-photo footer strong{font-size:13px;font-weight:500;display:block}.material-photo footer span{color:#999;margin-top:4px;font-size:12px;display:block}.material-photo footer button{color:#ff7380;background:0 0;border:0;padding:10px 0 10px 8px;font-size:12px}.material-loading{place-items:center;min-height:160px;display:grid}.material-error{color:#ff7380;font-size:14px}.auth-page.web-login{text-align:center;gap:24px}.web-login .auth-heading{gap:16px;width:100%;max-width:360px}.web-login .auth-heading h2{margin:0;font-size:25px;line-height:1.3}.web-login .auth-heading .auth-brand{margin-bottom:8px}.web-login .auth-heading p,.web-login-note{color:var(--ui-text-sub);width:100%;max-width:360px;margin:0;font-size:14px;line-height:1.5}.web-login .web-login-form{text-align:left;gap:16px;width:100%;max-width:360px;margin:0}.web-login>.journal-text-button{width:100%;max-width:360px;margin:0;padding:0;line-height:1.5}.web-login>[role=alert]{width:100%;max-width:360px;margin:0}.telegram-login-button{min-height:48px;margin:0}.lesson-page{text-align:left}.material-review-heading{padding:16px}.material-review-heading strong{font-size:16px}.material-review-heading p{color:#aaa;margin:6px 0 0;font-size:13px}.material-review-tabs{gap:12px;margin:24px 0;display:flex}.material-review-tabs button{border:1px solid var(--ui-border);background:var(--ui-surface);min-height:44px;color:var(--ui-text);font:inherit;cursor:pointer;border-radius:12px;flex:1;padding:10px 16px}.material-review-tabs button[aria-pressed=true]{background:var(--ui-accent);color:var(--ui-accent-fg);border-color:var(--ui-accent)}.material-review-tabs button:focus-visible{outline:2px solid var(--ui-link);outline-offset:3px}.material-review-tabs button:disabled{opacity:.5;cursor:default}.material-photo footer button.material-approve{color:var(--ui-link)}.lesson-detail-icon{flex-shrink:0}.lesson-detail-date,.lesson-facts dt,.materials-heading h2{align-items:center;gap:8px;display:flex}.lesson-facts dt .lesson-detail-icon{width:15px;height:15px}.materials-heading h2 .lesson-detail-icon{width:22px;height:22px;color:var(--ui-link)}.app-shell{flex-direction:column;flex:1;min-height:0;display:flex}.app-content{overscroll-behavior-y:contain;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.app-shell:has(.auth-page){padding-top:0}.calendar-heading{grid-template-columns:40px minmax(0,1fr) 40px;display:grid}.calendar-month{text-align:center;font-size:clamp(18px,5vw,28px)}.calendar-heading>button{box-sizing:border-box;background:var(--ui-surface);width:40px;height:40px;color:var(--ui-text);cursor:pointer;border:0;border-radius:12px;place-items:center;padding:0;display:grid}.calendar-heading>button svg{display:block}.grade-summary{margin-bottom:24px}.grade-chart{width:100%;max-height:240px;display:block}.grade-chart-dates{justify-content:space-between;margin-bottom:12px;font-size:12px;display:flex}.grade-chart-table{text-align:left;width:100%}.teacher-select{gap:8px;margin:24px 0;display:grid}.teacher-select select{background:var(--ui-surface);width:100%;min-width:0;color:var(--ui-text);border-radius:12px;padding:12px}.college-map-page{text-align:left;box-sizing:border-box;width:100%;max-width:760px;margin:0 auto;padding:24px 20px 110px}.college-map-heading h1{margin:0 0 8px}.college-map-heading p,.map-help,.map-note{color:var(--ui-text-sub);font-size:14px;line-height:1.6}.map-floor-picker{gap:8px;margin:24px 0 16px;display:flex}.map-floor-picker button{border:1px solid var(--ui-border);background:var(--ui-surface);min-height:44px;color:var(--ui-text);cursor:pointer;font:inherit;border-radius:12px;flex:1}.map-floor-picker button[aria-pressed=true]{background:var(--ui-accent);color:#fff;border-color:var(--ui-accent)}.map-panel{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:16px;overflow:hidden}.map-panel-heading{border-bottom:1px solid var(--ui-border);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.map-panel-heading span{color:var(--ui-text-sub);font-size:12px}.college-floor-map{aspect-ratio:1000/650;touch-action:none;cursor:grab;background:#152033;width:100%;height:auto;display:block}.college-floor-map:active{cursor:grabbing}.map-room-fill{fill:#26364d}.map-corridor-fill{fill:#224b65}.map-walls{fill:none;stroke:#d7e4f3;stroke-width:4px;stroke-linecap:square;stroke-linejoin:round}.map-labels{fill:#d7e4f3;font-family:inherit;font-size:22px}.map-toolbar{border-top:1px solid var(--ui-border);align-items:center;gap:8px;padding:12px;display:flex}.map-toolbar button{background:var(--ui-bg);min-width:44px;min-height:44px;color:var(--ui-text);border:1px solid var(--ui-border);cursor:pointer;border-radius:10px;padding:6px 12px;font-size:22px}.map-toolbar button:disabled{opacity:.4;cursor:default}.map-toolbar output{text-align:center;min-width:48px;font-size:13px}.map-toolbar .map-reset{margin-left:auto;font-size:13px}.map-legend{flex-wrap:wrap;gap:20px;margin:18px 0;font-size:13px;display:flex}.map-legend span{align-items:center;gap:8px;display:flex}.map-legend i{border:1px solid #d7e4f3;border-radius:3px;width:14px;height:14px}.map-room-swatch{background:#26364d}.map-corridor-swatch{background:#224b65}.map-note{border-top:1px solid var(--ui-border);padding-top:12px}.map-floor-picker button:focus-visible,.map-toolbar button:focus-visible,.college-floor-map:focus-visible{outline:2px solid var(--ui-accent);outline-offset:-3px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
