.app-shell{display:flex;flex-direction:column;height:100dvh;min-height:100dvh;overflow:hidden}.app-content{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-left:var(--ui-safe-left);padding-right:var(--ui-safe-right);padding-bottom:var(--ui-space-4)}.app-loader{display:grid;place-items:center;min-height:50dvh}:root{--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #000000;--tg-theme-hint-color: #707579;--tg-theme-link-color: #3390ec;--tg-theme-button-color: #3390ec;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #f4f4f5;--ui-bg: var(--tg-theme-bg-color);--ui-bg-secondary: var(--tg-theme-secondary-bg-color);--ui-text: var(--tg-theme-text-color);--ui-text-hint: var(--tg-theme-hint-color);--ui-link: var(--tg-theme-link-color);--ui-accent: var(--tg-theme-button-color);--ui-accent-text: var(--tg-theme-button-text-color);--ui-border: color-mix(in srgb, var(--tg-theme-hint-color) 28%, transparent);--ui-overlay: rgba(0, 0, 0, .4);--ui-danger: #e53935;--ui-danger-text: #ffffff;--ui-success: #1db954;--ui-warning: #f0a020;--ui-space-1: 4px;--ui-space-2: 8px;--ui-space-3: 12px;--ui-space-4: 16px;--ui-space-5: 24px;--ui-space-6: 32px;--ui-radius-sm: 8px;--ui-radius-md: 12px;--ui-radius-lg: 16px;--ui-radius-pill: 999px;--ui-font-sm: 13px;--ui-font-md: 15px;--ui-font-lg: 17px;--ui-font-xl: 22px;--ui-touch: 44px;--ui-transition: .15s ease;--ui-safe-top: env(safe-area-inset-top, 0px);--ui-safe-bottom: env(safe-area-inset-bottom, 0px);--ui-safe-left: env(safe-area-inset-left, 0px);--ui-safe-right: env(safe-area-inset-right, 0px)}@media (prefers-color-scheme: dark){:root{--tg-theme-bg-color: #17212b;--tg-theme-text-color: #ffffff;--tg-theme-hint-color: #708499;--tg-theme-link-color: #6ab7ff;--tg-theme-button-color: #5288c1;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #232e3c;--ui-overlay: rgba(0, 0, 0, .6)}}.ui-focusable:focus-visible,.ui-btn:focus-visible,.ui-icon-btn:focus-visible,.ui-input:focus-visible,.ui-textarea:focus-visible,.ui-select:focus-visible,.ui-tab:focus-visible,.ui-nav-item:focus-visible{outline:2px solid var(--ui-link);outline-offset:2px}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-space-2);min-height:var(--ui-touch);padding:0 var(--ui-space-4);border:none;border-radius:var(--ui-radius-md);font-size:var(--ui-font-md);font-weight:600;line-height:1;cursor:pointer;transition:opacity var(--ui-transition),background var(--ui-transition);width:auto}.ui-btn--block{width:100%}.ui-btn--primary{background:var(--ui-accent);color:var(--ui-accent-text)}.ui-btn--secondary{background:var(--ui-bg-secondary);color:var(--ui-text)}.ui-btn--danger{background:var(--ui-danger);color:var(--ui-danger-text)}.ui-btn--ghost{background:transparent;color:var(--ui-link)}.ui-btn:disabled,.ui-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.ui-btn:not(:disabled):active{opacity:.8}.ui-icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:var(--ui-touch);min-height:var(--ui-touch);padding:0;border:none;border-radius:var(--ui-radius-pill);background:transparent;color:var(--ui-text);cursor:pointer;transition:background var(--ui-transition)}.ui-icon-btn:not(:disabled):active{background:var(--ui-bg-secondary)}.ui-icon-btn:disabled{opacity:.5;cursor:not-allowed}.ui-field{display:flex;flex-direction:column;gap:var(--ui-space-1)}.ui-field__label{font-size:var(--ui-font-sm);color:var(--ui-text-hint)}.ui-field__error{font-size:var(--ui-font-sm);color:var(--ui-danger)}.ui-field__hint{font-size:var(--ui-font-sm);color:var(--ui-text-hint)}.ui-input,.ui-textarea,.ui-select{width:100%;min-height:var(--ui-touch);padding:var(--ui-space-3);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-bg);color:var(--ui-text);font-size:var(--ui-font-md);transition:border-color var(--ui-transition)}.ui-textarea{min-height:calc(var(--ui-touch) * 2);resize:vertical;font-family:inherit}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--ui-text-hint)}.ui-input:disabled,.ui-textarea:disabled,.ui-select:disabled{opacity:.6;cursor:not-allowed}.ui-input--error,.ui-textarea--error,.ui-select--error{border-color:var(--ui-danger)}.ui-select{appearance:none;-webkit-appearance:none}.ui-card{background:var(--ui-bg-secondary);border-radius:var(--ui-radius-lg);padding:var(--ui-space-4)}.ui-list-item{display:flex;align-items:center;gap:var(--ui-space-3);width:100%;min-height:var(--ui-touch);padding:var(--ui-space-3) var(--ui-space-4);background:var(--ui-bg);border:none;text-align:left;color:var(--ui-text);font-size:var(--ui-font-md)}button.ui-list-item{cursor:pointer}button.ui-list-item:active{background:var(--ui-bg-secondary)}.ui-list-item__leading,.ui-list-item__trailing{display:inline-flex;align-items:center;flex-shrink:0}.ui-list-item__content{display:flex;flex-direction:column;flex:1;min-width:0}.ui-list-item__title{font-size:var(--ui-font-md)}.ui-list-item__subtitle{font-size:var(--ui-font-sm);color:var(--ui-text-hint)}.ui-badge{display:inline-flex;align-items:center;padding:2px var(--ui-space-2);border-radius:var(--ui-radius-pill);font-size:var(--ui-font-sm);font-weight:600;line-height:1.4}.ui-badge--neutral{background:var(--ui-bg-secondary);color:var(--ui-text)}.ui-badge--accent{background:var(--ui-accent);color:var(--ui-accent-text)}.ui-badge--success{background:var(--ui-success);color:#fff}.ui-badge--danger{background:var(--ui-danger);color:var(--ui-danger-text)}.ui-badge--warning{background:var(--ui-warning);color:#fff}.ui-spinner{display:inline-block;border-radius:50%;border:2px solid var(--ui-border);border-top-color:var(--ui-accent);animation:ui-spin .7s linear infinite}.ui-btn .ui-spinner{border-top-color:currentColor}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.ui-spinner{animation-duration:1.6s}}.ui-skeleton{background:linear-gradient(90deg,var(--ui-bg-secondary) 25%,color-mix(in srgb,var(--ui-bg-secondary) 60%,var(--ui-text) 8%) 37%,var(--ui-bg-secondary) 63%);background-size:400% 100%;animation:ui-shimmer 1.4s ease infinite}@keyframes ui-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion: reduce){.ui-skeleton{animation:none}}.ui-tabs{display:flex;gap:var(--ui-space-1);padding:var(--ui-space-1);background:var(--ui-bg-secondary);border-radius:var(--ui-radius-md)}.ui-tab{flex:1;min-height:36px;padding:var(--ui-space-2);border:none;border-radius:var(--ui-radius-sm);background:transparent;color:var(--ui-text-hint);font-size:var(--ui-font-md);font-weight:600;cursor:pointer}.ui-tab--active{background:var(--ui-bg);color:var(--ui-text)}.ui-overlay{position:fixed;inset:0;background:var(--ui-overlay);display:flex;z-index:1000}.ui-overlay--center{align-items:center;justify-content:center;padding:var(--ui-space-4)}.ui-overlay--bottom{align-items:flex-end}.ui-modal{width:100%;max-width:420px;max-height:90vh;overflow-y:auto;background:var(--ui-bg);border-radius:var(--ui-radius-lg);padding:var(--ui-space-5)}.ui-sheet{width:100%;max-height:90vh;overflow-y:auto;background:var(--ui-bg);border-radius:var(--ui-radius-lg) var(--ui-radius-lg) 0 0;padding:var(--ui-space-4);padding-bottom:calc(var(--ui-space-4) + var(--ui-safe-bottom))}.ui-sheet__grabber{width:36px;height:4px;margin:0 auto var(--ui-space-3);border-radius:var(--ui-radius-pill);background:var(--ui-border)}.ui-modal__title{margin:0 0 var(--ui-space-3);font-size:var(--ui-font-lg);font-weight:700}.ui-confirm__message{margin:0 0 var(--ui-space-5);color:var(--ui-text-hint)}.ui-confirm__actions{display:flex;gap:var(--ui-space-2)}.ui-confirm__actions>*{flex:1}.ui-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--ui-space-3);padding:var(--ui-space-6) var(--ui-space-4)}.ui-state__icon{font-size:40px;line-height:1}.ui-state__title{margin:0;font-size:var(--ui-font-lg);font-weight:700}.ui-state__description{margin:0;color:var(--ui-text-hint)}.ui-toast-viewport{position:fixed;left:0;right:0;bottom:calc(var(--ui-safe-bottom) + var(--ui-space-4));display:flex;flex-direction:column;align-items:center;gap:var(--ui-space-2);padding:0 var(--ui-space-4);z-index:2000;pointer-events:none}.ui-toast{pointer-events:auto;max-width:420px;width:100%;padding:var(--ui-space-3) var(--ui-space-4);border-radius:var(--ui-radius-md);background:var(--ui-text);color:var(--ui-bg);font-size:var(--ui-font-md);box-shadow:0 4px 16px #00000040}.ui-toast--error{background:var(--ui-danger);color:var(--ui-danger-text)}.ui-toast--success{background:var(--ui-success);color:#fff}.ui-page-header{display:flex;align-items:center;gap:var(--ui-space-2);min-height:var(--ui-touch);padding:var(--ui-space-2) var(--ui-space-3);padding-top:calc(var(--ui-space-2) + var(--ui-safe-top));background:var(--ui-bg);border-bottom:1px solid var(--ui-border);position:sticky;top:0;z-index:10}.ui-page-header__title{flex:1;margin:0;font-size:var(--ui-font-lg);font-weight:700;text-align:center}.ui-page-header__slot{min-width:var(--ui-touch);display:flex;align-items:center}.ui-page-header__slot--end{justify-content:flex-end}.ui-bottom-nav{display:flex;background:var(--ui-bg);border-top:1px solid var(--ui-border);padding-bottom:var(--ui-safe-bottom);position:sticky;bottom:0;z-index:10}.ui-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:var(--ui-touch);padding:var(--ui-space-1) 0;border:none;background:transparent;color:var(--ui-text-hint);font-size:11px;cursor:pointer}.ui-nav-item--active{color:var(--ui-accent);font-weight:700}.ui-nav-item--active .ui-nav-item__icon{transform:translateY(-1px)}.ui-nav-item__icon{font-size:20px;line-height:1}.ui-offline-banner{position:sticky;top:0;z-index:900;padding:calc(var(--ui-space-2) + var(--ui-safe-top)) var(--ui-space-4) var(--ui-space-2);text-align:center;font-size:var(--ui-font-sm);background:var(--ui-warning);color:#000}.ui-request-id{display:inline-flex;align-items:center;gap:var(--ui-space-1);max-width:100%;padding:6px var(--ui-space-3);border:1px solid var(--ui-border);border-radius:var(--ui-radius-pill);background:var(--ui-bg-secondary);color:var(--ui-text-hint);font-size:var(--ui-font-sm);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--ui-bg);color:var(--ui-text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}
