.bottom-nav{background:var(--tg-secondary-bg);border-top:1px solid var(--tg-border);z-index:100;height:64px;padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right));justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav__tab{cursor:pointer;min-width:0;color:var(--tg-text-secondary);transition:color var(--transition);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0;display:flex}.bottom-nav__tab.active{color:var(--tg-accent)}.bottom-nav__icon{font-size:20px;line-height:1}.bottom-nav__label{letter-spacing:-.1px;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;font-weight:500;overflow:hidden}@media (width<=360px){.bottom-nav__label{font-size:9px}}.modal-overlay{z-index:200;background:#0009;position:fixed;inset:0}.modal{background:var(--tg-secondary-bg);border-radius:var(--radius) var(--radius) 0 0;z-index:201;max-height:90vh;position:fixed;bottom:0;left:0;right:0;overflow:hidden auto}.modal__header{justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px 16px 0;display:flex}.modal__title{color:var(--tg-text);font-size:18px;font-weight:700}.modal__close{color:var(--tg-text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px}.modal__body{flex-direction:column;gap:10px;padding:0 16px;display:flex}.modal__body--no-footer{padding-bottom:24px}.modal__input{box-sizing:border-box;background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);width:100%;max-width:100%;color:var(--tg-text);transition:border-color var(--transition);outline:none;padding:11px 14px;font-family:inherit;font-size:16px}.modal__input[type=date],.modal__input[type=time]{min-width:0;max-width:100%}.modal__native-picker{position:relative}.modal__native-picker-label{pointer-events:none}.modal__native-picker-input{opacity:0;cursor:pointer;background:0 0;border:none;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.modal__input:focus{border-color:var(--tg-accent)}.modal__input::placeholder{color:var(--tg-text-secondary)}.modal__input--error{border-color:var(--tg-danger)}.modal__error{color:var(--tg-danger);margin-top:-4px;font-size:12px}.modal__textarea{resize:none}.modal__select{cursor:pointer}.modal__row{flex-wrap:wrap;gap:10px;display:flex}.modal__field{flex-direction:column;flex:1;gap:4px;display:flex}.modal__row>.modal__field{flex:140px;min-width:0}.modal__row>.modal__field.modal__field--grow{flex:2 140px}.modal__field--center{align-items:center}.modal__label{color:var(--tg-text-secondary);font-size:12px;font-weight:500}.modal__footer{gap:10px;margin-top:6px;padding:16px;display:flex}.modal__cancel{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius);color:var(--tg-text-secondary);cursor:pointer;transition:all var(--transition);flex:1;padding:13px;font-size:15px;font-weight:600}.modal__submit{background:var(--tg-accent);border-radius:var(--radius);color:#fff;cursor:pointer;transition:background var(--transition);border:none;flex:2;padding:13px;font-size:15px;font-weight:600}.modal__submit:disabled{opacity:.4;cursor:not-allowed}.modal__submit:not(:disabled):hover{background:var(--tg-accent-hover)}.premium-modal__body{padding-bottom:4px}.premium-modal__limit-banner{border-radius:var(--radius-sm);color:var(--tg-danger);text-align:center;background:#e05b5b1f;border:1px solid #e05b5b59;padding:10px 12px;font-size:13px;font-weight:500}.premium-modal__active{border:1px solid var(--tg-accent);border-radius:var(--radius-sm);background:#5b8dee1a;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.premium-modal__active-badge{color:var(--tg-accent);font-size:14px;font-weight:600}.premium-modal__deactivate{color:var(--tg-text-secondary);cursor:pointer;background:0 0;border:none;padding:2px;font-size:12px;text-decoration:underline}.premium-modal__tiers{background:var(--tg-secondary-bg);border-radius:var(--radius-sm);gap:6px;margin-bottom:4px;padding:3px;display:flex}.premium-tier{border-radius:var(--radius-sm);color:var(--tg-text-secondary);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;flex:1;padding:8px 4px;font-size:13px;font-weight:600}.premium-tier--active{background:var(--tg-accent);color:#fff}.premium-modal__tier-hint{color:var(--tg-text-secondary);text-align:center;margin-bottom:10px;font-size:12px}.premium-modal__plans{gap:10px;margin-bottom:14px;display:flex}.premium-plan{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition), background var(--transition);color:var(--tg-text);flex-direction:column;flex:1;align-items:center;gap:2px;padding:14px 10px 12px;display:flex;position:relative}.premium-plan--active{border-color:var(--tg-accent);background:#5b8dee1a}.premium-plan__badge{background:var(--tg-accent);color:#fff;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:700;position:absolute;top:-8px;right:10px}.premium-plan__period{color:var(--tg-text-secondary);font-size:13px}.premium-plan__price{font-size:22px;font-weight:700}.premium-plan__hint{color:var(--tg-text-secondary);font-size:11px}.premium-table{border:1px solid var(--tg-border);border-radius:var(--radius-sm);overflow:hidden}.premium-table__row{align-items:center;gap:8px;padding:8px 12px;display:flex}.premium-table__row:not(:last-child){border-bottom:1px solid var(--tg-border)}.premium-table__row--head{background:var(--tg-card-bg);font-weight:600}.premium-table__feature{color:var(--tg-text);flex:1;font-size:13px}.premium-table__col{text-align:center;width:64px;color:var(--tg-text-secondary);flex-shrink:0;font-size:13px}.premium-table__col--premium{color:var(--tg-accent);font-weight:600}.premium-table__check{color:var(--tg-accent);font-weight:700}.premium-table__cross{color:var(--tg-text-secondary);opacity:.5}.premium-table__value{font-weight:600}.premium-modal__footer{flex-direction:column;gap:8px}.premium-pay-btn{border-radius:var(--radius);cursor:pointer;width:100%;transition:opacity var(--transition);border:none;padding:13px;font-size:15px;font-weight:600}.premium-pay-btn:hover{opacity:.9}.premium-pay-btn--stars{color:#3a2b00;background:linear-gradient(135deg,#f5a623,#f7c948)}.premium-pay-btn--gram{color:#fff;background:linear-gradient(135deg,#08c,#29b6f6)}.premium-pay-btn--trial{border:1px solid var(--tg-success);color:var(--tg-success);background:0 0}.premium-pay-btn--dev{border:1px dashed var(--tg-text-secondary);color:var(--tg-text-secondary);background:0 0}.splash{background:var(--tg-bg);flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100vh;display:flex}.splash__logo{font-size:48px}.splash__title{color:var(--tg-text);margin-bottom:8px;font-size:20px;font-weight:700}.splash__spinner{border:2.5px solid var(--tg-border);border-top-color:var(--tg-accent);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite splash-spin}@keyframes splash-spin{to{transform:rotate(360deg)}}.splash__error{color:var(--tg-text-secondary);font-size:14px}.splash__retry{background:var(--tg-accent);border-radius:var(--radius);color:#fff;cursor:pointer;transition:background var(--transition);border:none;padding:10px 24px;font-size:14px;font-weight:600}.splash__retry:hover{background:var(--tg-accent-hover)}.toast{background:var(--tg-secondary-bg);border:1px solid var(--tg-border);border-radius:var(--radius);width:fit-content;color:var(--tg-text);z-index:300;white-space:normal;text-align:center;word-break:break-word;max-width:min(88vw,420px);margin:0 auto;padding:10px 18px;font-size:14px;position:fixed;top:16px;left:0;right:0;box-shadow:0 4px 20px #0006}.premium-star{vertical-align:middle;margin-left:4px;font-size:11px;line-height:1}.add-list-modal__habit{flex-direction:column;gap:8px;display:flex}.add-list-modal__habit-toggle{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);color:var(--tg-text-secondary);cursor:pointer;text-align:left;transition:border-color var(--transition), color var(--transition);padding:11px 14px;font-size:14px}.add-list-modal__habit-toggle--on{border-color:var(--tg-accent);color:var(--tg-text)}.add-list-modal__habit-repeat{gap:6px;display:flex}.add-list-modal__habit-repeat-btn{background:var(--tg-secondary-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);color:var(--tg-text-secondary);cursor:pointer;transition:all var(--transition);flex:1;padding:8px;font-size:13px}.add-list-modal__habit-repeat-btn.active{background:var(--tg-accent);border-color:var(--tg-accent);color:#fff}.add-list-modal__template-btn{background:var(--tg-card-bg);border:1px dashed var(--tg-border);border-radius:var(--radius-sm);color:var(--tg-text-secondary);cursor:pointer;transition:border-color var(--transition), color var(--transition);padding:11px 14px;font-size:14px}.add-list-modal__template-btn:hover{border-color:var(--tg-accent);color:var(--tg-text)}.add-list-modal__templates{flex-direction:column;gap:6px;max-height:160px;display:flex;overflow:hidden auto}.add-list-modal__templates-empty{color:var(--tg-text-secondary);padding:4px;font-size:13px}.add-list-modal__template-option{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);color:var(--tg-text);cursor:pointer;text-align:left;transition:border-color var(--transition);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.add-list-modal__template-option:hover{border-color:var(--tg-accent)}.add-list-modal__template-count{color:var(--tg-text-secondary);white-space:nowrap;font-size:12px}.add-list-modal__items-hint{color:var(--tg-text-secondary);margin:0;font-size:13px}.add-list-modal__item-row{gap:8px;display:flex}.add-list-modal__item-row .modal__input{flex:1}.add-list-modal__item-add-btn{background:var(--tg-accent);border-radius:var(--radius-sm);color:#fff;cursor:pointer;width:44px;transition:background var(--transition);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.add-list-modal__items{flex-direction:column;gap:6px;max-height:200px;display:flex;overflow:hidden auto}.add-list-modal__item{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.add-list-modal__item-text{color:var(--tg-text);word-break:break-word;font-size:14px}.add-list-modal__item-remove{color:var(--tg-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px 4px;font-size:14px}.settings-page{padding:16px}.settings-page__header{margin-bottom:20px}.settings-page__title{color:var(--tg-text);font-size:22px;font-weight:700}.settings-page__section{margin-bottom:20px}.settings-page__section-title{color:var(--tg-text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;padding-left:4px;font-size:12px;font-weight:600}.settings-card{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius);align-items:center;gap:12px;padding:14px 16px;display:flex}.settings-card--premium{border-color:var(--tg-accent);background:linear-gradient(135deg,#5b8dee1f,#5b8dee0a)}.settings-card--usage{flex-direction:column;align-items:stretch;gap:14px}.settings-card__avatar{font-size:28px}.settings-card__body{flex-direction:column;flex:1;gap:3px;display:flex}.settings-card__name{color:var(--tg-text);font-size:15px;font-weight:600}.settings-card__subtitle{color:var(--tg-text-secondary);font-size:12px}.settings-card__plan{border-radius:20px;width:fit-content;padding:2px 8px;font-size:12px;font-weight:600}.settings-card__plan.free{color:var(--tg-text-secondary);background:#8b95a833}.settings-card__plan.premium{color:#3a2b00;background:linear-gradient(135deg,#f5a623,#f7c948)}.settings-card__btn{background:var(--tg-accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);white-space:nowrap;border:none;padding:8px 16px;font-size:14px;font-weight:600}.settings-card__btn:hover{background:var(--tg-accent-hover)}.settings-usage__row{justify-content:space-between;margin-bottom:6px;display:flex}.settings-usage__label{color:var(--tg-text);font-size:14px}.settings-usage__value{color:var(--tg-text-secondary);font-size:14px}.settings-usage__bar{background:var(--tg-border);border-radius:2px;height:4px;overflow:hidden}.settings-usage__bar-fill{background:var(--tg-accent);border-radius:2px;height:100%;transition:width .4s}.settings-rows{flex-direction:column;width:100%;display:flex}.settings-row{justify-content:space-between;align-items:center;padding:8px 0;display:flex}.settings-row--border{border-top:1px solid var(--tg-border)}.settings-row__label{color:var(--tg-text);font-size:15px}.settings-row__value{color:var(--tg-text-secondary);font-size:14px}.settings-row__chevron{color:var(--tg-accent);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:18px}.settings-card--rows{flex-direction:column;align-items:stretch;gap:0;padding:0 16px}.settings-card--rows .settings-row{padding:12px 0}.settings-input{background:var(--tg-secondary-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);color:var(--tg-text);transition:border-color var(--transition);outline:none;padding:6px 10px;font-size:16px}.settings-input:focus{border-color:var(--tg-accent)}.settings-select{background:var(--tg-secondary-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);color:var(--tg-text);cursor:pointer;transition:border-color var(--transition);outline:none;padding:6px 10px;font-size:16px}.settings-select:focus{border-color:var(--tg-accent)}.settings-toggle{background:var(--tg-border);color:var(--tg-text-secondary);cursor:pointer;transition:all var(--transition);border:none;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:600}.settings-toggle--on{background:var(--tg-accent);color:#fff}.settings-time-range{align-items:center;gap:8px;display:flex}.settings-time-range__sep{color:var(--tg-text-secondary)}.settings-row--quiet{flex-wrap:wrap;gap:8px}.settings-view-toggle{gap:4px;display:flex}.settings-view-toggle__btn{background:var(--tg-secondary-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);color:var(--tg-text-secondary);cursor:pointer;transition:all var(--transition);white-space:nowrap;padding:6px 10px;font-size:13px}.settings-view-toggle__btn.active{background:var(--tg-accent);border-color:var(--tg-accent);color:#fff}.sort-toolbar{align-items:center;gap:6px;margin-bottom:14px;display:flex}.sort-toolbar__icon{color:var(--tg-text-secondary);font-size:13px}.sort-toolbar__select{background:var(--tg-secondary-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);color:var(--tg-text-secondary);cursor:pointer;transition:border-color var(--transition);outline:none;padding:5px 9px;font-size:13px}.sort-toolbar__select:focus{border-color:var(--tg-accent)}.swipe-to-delete{border-radius:var(--radius-sm);position:relative;overflow:hidden}.swipe-to-delete--lg{border-radius:var(--radius)}.swipe-to-delete__action{background:var(--tg-danger);color:#fff;cursor:pointer;border:none;justify-content:flex-end;align-items:center;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden}.swipe-to-delete__label{white-space:nowrap;flex-shrink:0;justify-content:center;align-items:center;width:76px;font-size:13px;font-weight:600;display:flex}.swipe-to-delete__content{touch-action:pan-y;position:relative}.draggable-row{align-items:center;gap:8px;list-style:none;display:flex}.draggable-row__handle{width:28px;height:44px;color:var(--tg-text-secondary);cursor:grab;touch-action:none;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.draggable-row__handle:active{cursor:grabbing}.draggable-row__body{flex:1;min-width:0}.lists-page{padding:16px}.lists-page__header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.lists-page__title{color:var(--tg-text);font-size:22px;font-weight:700}.lists-page__header-actions{align-items:center;gap:10px;display:flex}.lists-page__add-btn{background:var(--tg-accent);color:#fff;cursor:pointer;width:36px;height:36px;transition:background var(--transition);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:22px;line-height:1;display:flex}.lists-page__add-btn:hover{background:var(--tg-accent-hover)}.lists-page__gear-btn{width:36px;height:36px;color:var(--tg-text-secondary);border:1px solid var(--tg-border);cursor:pointer;transition:color var(--transition), border-color var(--transition);background:0 0;border-radius:50%;justify-content:center;align-items:center;display:flex}.lists-page__gear-btn:hover{color:var(--tg-text);border-color:var(--tg-text-secondary)}.lists-page__items{flex-direction:column;gap:12px;display:flex}.lists-page__items--grid{grid-template-columns:repeat(2,1fr);align-items:start;gap:12px;display:grid}.list-card{background:var(--tg-card-bg);border-radius:var(--radius);cursor:pointer;border:1px solid var(--tg-border);transition:border-color var(--transition);padding:16px}.list-card:hover{border-color:var(--tg-accent)}.list-card__top{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.list-card--grid{padding:14px}.list-card--grid .list-card__top{flex-direction:column;align-items:flex-start;gap:4px}.list-card--grid .list-card__title{font-size:15px}.list-card__title{color:var(--tg-text);font-size:16px;font-weight:600}.list-card__shared-icon,.list-card__habit-icon{margin-right:4px;font-size:13px}.list-card__count{color:var(--tg-text-secondary);font-size:13px}.list-card__progress{background:var(--tg-border);border-radius:2px;height:4px;margin-bottom:10px;overflow:hidden}.list-card__progress-fill{background:var(--tg-accent);border-radius:2px;height:100%;transition:width .4s}.list-card__tags{flex-wrap:wrap;gap:6px;display:flex}.list-card__tag{color:var(--tg-accent);background:#5b8dee1f;border-radius:20px;padding:2px 8px;font-size:12px}.share-modal__hint{color:var(--tg-text-secondary);padding:4px;font-size:14px}.share-modal__hint--note{margin-top:2px;font-size:12px}.share-modal__create{flex-direction:column;gap:8px;display:flex}.share-modal__role-toggle{gap:8px;display:flex}.share-modal__role-btn{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);color:var(--tg-text-secondary);cursor:pointer;transition:all var(--transition);flex:1;padding:10px 8px;font-size:13px;font-weight:600}.share-modal__role-btn--active{border-color:var(--tg-accent);color:var(--tg-accent);background:#5b8dee1a}.share-modal__action-btn--primary{background:var(--tg-accent);border-color:var(--tg-accent);color:#fff;flex:none}.share-modal__action-btn--primary:hover{opacity:.9}.share-invite{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:10px 12px;display:flex}.share-invite__role{color:var(--tg-text);flex:1;font-size:13px;font-weight:500}.share-modal__icon-btn{cursor:pointer;background:0 0;border:none;padding:4px;font-size:15px;line-height:1}.share-modal__link-row{display:flex}.share-modal__link-input{color:var(--tg-text-secondary);font-size:13px}.share-modal__link-actions{flex-wrap:wrap;gap:8px;display:flex}.share-modal__action-btn{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);color:var(--tg-text);cursor:pointer;white-space:nowrap;transition:border-color var(--transition);flex:1;padding:10px 8px;font-size:13px;font-weight:500}.share-modal__action-btn:hover{border-color:var(--tg-accent)}.share-modal__action-btn:disabled{opacity:.5;cursor:not-allowed}.share-modal__section-title{color:var(--tg-text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-top:8px;font-size:12px;font-weight:600}.share-modal__collaborators{flex-direction:column;gap:8px;display:flex}.share-collaborator{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:10px 12px;display:flex}.share-collaborator__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.share-collaborator__name{color:var(--tg-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.share-collaborator__note{color:var(--tg-text-secondary);font-size:11px}.share-collaborator__role{padding:6px 8px;font-size:13px}.share-collaborator__remove{color:var(--tg-danger);cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px;line-height:1}.list-detail{flex-direction:column;min-height:calc(100vh - 64px);padding:16px;display:flex}.list-detail__header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.list-detail__back{color:var(--tg-accent);cursor:pointer;background:0 0;border:none;padding:4px;font-size:22px;line-height:1}.list-detail__title-wrap{flex-direction:column;flex:1;gap:2px;display:flex}.list-detail__title{color:var(--tg-text);font-size:20px;font-weight:700}.list-detail__tag{color:var(--tg-accent);font-size:12px}.list-detail__shared-badge,.list-detail__habit-badge{color:var(--tg-text-secondary);font-size:12px}.list-detail__more{color:var(--tg-text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:22px}.list-detail__menu-wrap{position:relative}.list-detail__menu-backdrop{z-index:150;position:fixed;inset:0}.list-detail__menu{background:var(--tg-secondary-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);z-index:151;min-width:220px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 20px #0006}.list-detail__menu-item{width:100%;color:var(--tg-text);cursor:pointer;text-align:left;transition:background var(--transition);background:0 0;border:none;padding:12px 14px;font-size:14px;display:block}.list-detail__menu-item:hover{background:var(--tg-card-bg)}.list-detail__menu-item:not(:last-child){border-bottom:1px solid var(--tg-border)}.list-detail__progress-wrap{align-items:center;gap:10px;margin-bottom:20px;display:flex}.list-detail__progress{background:var(--tg-border);border-radius:2px;flex:1;height:4px;overflow:hidden}.list-detail__progress-fill{background:var(--tg-accent);border-radius:2px;height:100%;transition:width .4s}.list-detail__progress-label{color:var(--tg-text-secondary);white-space:nowrap;font-size:12px}.list-detail__items{flex:1;margin-bottom:16px;padding-bottom:104px}.list-detail__items,.list-detail__items-group{flex-direction:column;gap:8px;display:flex}.list-item{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);transition:border-color var(--transition);align-items:center;gap:12px;padding:12px 14px;display:flex}.list-item--done{opacity:.5}.list-item__check{border:2px solid var(--tg-border);cursor:pointer;color:#fff;width:22px;height:22px;transition:all var(--transition);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.list-item__check--done{background:var(--tg-accent);border-color:var(--tg-accent)}.list-item__text{color:var(--tg-text);flex:1;font-size:15px;text-decoration:none}.list-item--done .list-item__text{text-decoration:line-through}.list-item--subtask{background:var(--tg-secondary-bg);margin-top:6px;margin-left:34px;padding:10px 14px}.list-item__priority-dot{cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin:-8px;padding:0;display:flex;position:relative}.list-item__priority-dot:after{content:"";border:2px solid var(--tg-border);border-radius:50%;width:12px;height:12px}.list-item__priority-dot--important:after{background:var(--tg-warning);border-color:var(--tg-warning)}.list-item__priority-dot--urgent:after{background:var(--tg-danger);border-color:var(--tg-danger)}.list-item__add-subtask-btn{border:1px solid var(--tg-border);width:22px;height:22px;color:var(--tg-text-secondary);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;line-height:1;display:flex}.list-item__add-subtask-btn--active{border-color:var(--tg-accent);background:var(--tg-accent);color:#fff}.list-item--subtask-target{border-color:var(--tg-accent)}.list-item__edit-input{color:var(--tg-text);border:none;border-bottom:1px solid var(--tg-accent);background:0 0;outline:none;flex:1;min-width:0;padding:0 0 2px;font-family:inherit;font-size:16px}.list-detail__add{background:var(--tg-bg);z-index:90;flex-direction:column;gap:6px;padding:8px 16px;display:flex;position:fixed;bottom:64px;left:0;right:0}.list-detail__add-row{gap:8px;display:flex}.list-detail__add-context{justify-content:space-between;align-items:center;gap:8px;padding:4px 2px;display:flex}.list-detail__add-context-label{color:var(--tg-accent);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.list-detail__add-context-cancel{background:var(--tg-card-bg);width:22px;height:22px;color:var(--tg-text-secondary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;line-height:1;display:flex}.list-detail__add-input{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius);color:var(--tg-text);transition:border-color var(--transition);outline:none;flex:1;padding:12px 14px;font-size:16px}.list-detail__add-input:focus{border-color:var(--tg-accent)}.list-detail__add-input::placeholder{color:var(--tg-text-secondary)}.list-detail__add-btn{background:var(--tg-accent);color:#fff;cursor:pointer;width:46px;height:46px;transition:background var(--transition);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:24px;display:flex}.list-detail__add-btn:hover{background:var(--tg-accent-hover)}@keyframes wheel-picker-fade-in{0%{opacity:0}to{opacity:1}}@keyframes wheel-picker-pop-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.wheel-picker-overlay{z-index:400;background:#00000080;animation:.15s ease-out wheel-picker-fade-in;position:fixed;inset:0}.wheel-picker-card{background:var(--tg-secondary-bg);border-radius:var(--radius);z-index:401;width:min(320px,100vw - 48px);height:fit-content;margin:auto;padding:14px;animation:.2s ease-out wheel-picker-pop-in;position:fixed;inset:0;box-shadow:0 12px 40px #00000080}.wheel-picker__title{text-align:center;color:var(--tg-text-secondary);margin-bottom:8px;font-size:13px;font-weight:600}.wheel-picker__wheels{display:flex;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 25% 75%,#0000);mask-image:linear-gradient(#0000,#000 25% 75%,#0000)}.wheel-picker__highlight{border-radius:var(--radius-sm);pointer-events:none;background:#ffffff14;position:absolute;left:0;right:0}.wheel-picker__column{scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;min-width:0;overflow-y:scroll}.wheel-picker__column::-webkit-scrollbar{display:none}.wheel-picker__item{scroll-snap-align:center;font-variant-numeric:tabular-nums;color:var(--tg-text);white-space:nowrap;justify-content:center;align-items:center;font-size:18px;display:flex}.wheel-picker__footer{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.wheel-picker__cancel{color:var(--tg-text-secondary);cursor:pointer;background:0 0;border:none;padding:6px 4px;font-size:15px}.wheel-picker__confirm{background:var(--tg-accent);color:#fff;cursor:pointer;width:40px;height:40px;transition:filter var(--transition);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:17px;font-weight:700;display:flex}.wheel-picker__confirm:active{filter:brightness(1.15)}.modal__presets{flex-wrap:wrap;gap:6px;display:flex}.modal__preset-btn{color:var(--tg-accent);cursor:pointer;transition:all var(--transition);white-space:nowrap;background:#5b8dee1f;border:1px solid #5b8dee4d;border-radius:20px;padding:6px 12px;font-size:13px}.modal__preset-btn:hover{background:#5b8dee40}.modal__urgent-btn{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);color:var(--tg-text);cursor:pointer;transition:all var(--transition);white-space:nowrap;width:100%;padding:11px 14px;font-size:16px;line-height:1.2}.modal__urgent-btn--on{border-color:var(--tg-danger);background:#e05b5b1a}.modal__fake-select{text-align:left;cursor:pointer;color:var(--tg-text-secondary)}.modal__wheel-trigger{text-align:center;cursor:pointer;width:100%;font-family:inherit}.reminders-page{padding:16px}.reminders-page__header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.reminders-page__title{color:var(--tg-text);font-size:22px;font-weight:700}.reminders-page__header-actions{align-items:center;gap:10px;display:flex}.reminders-page__add-btn{background:var(--tg-accent);color:#fff;cursor:pointer;width:36px;height:36px;transition:background var(--transition);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:22px;display:flex}.reminders-page__add-btn:hover{background:var(--tg-accent-hover)}.reminders-page__gear-btn{width:36px;height:36px;color:var(--tg-text-secondary);border:1px solid var(--tg-border);cursor:pointer;transition:color var(--transition), border-color var(--transition);background:0 0;border-radius:50%;justify-content:center;align-items:center;display:flex}.reminders-page__gear-btn:hover{color:var(--tg-text);border-color:var(--tg-text-secondary)}.reminders-page__items{flex-direction:column;gap:12px;display:flex}.reminder-card{background:var(--tg-card-bg);border-radius:var(--radius);border:1px solid var(--tg-border);cursor:pointer;transition:border-color var(--transition);align-items:center;gap:12px;padding:14px 16px;display:flex}.reminder-card:hover{border-color:var(--tg-accent)}.reminder-card--urgent{border-left:3px solid var(--tg-danger)}.reminder-card__left{justify-content:center;align-items:center;width:20px;display:flex}.reminder-card__urgent{color:var(--tg-danger);font-size:18px;font-weight:700}.reminder-card__body{flex-direction:column;flex:1;gap:4px;display:flex}.reminder-card__title{color:var(--tg-text);font-size:15px;font-weight:600}.reminder-card__comment{color:var(--tg-text-secondary);white-space:pre-wrap;overflow-wrap:break-word;font-size:13px}.reminder-card__meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.reminder-card__datetime{color:var(--tg-text-secondary);font-size:12px}.reminder-card__repeat{color:var(--tg-accent);font-size:12px}.reminder-card__list{color:var(--tg-text-secondary);font-size:12px}.search-page{padding:16px}.search-page__header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.search-page__title{color:var(--tg-text);font-size:22px;font-weight:700}.search-page__input-wrap{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius);transition:border-color var(--transition);align-items:center;margin-bottom:16px;padding:0 12px;display:flex;position:relative}.search-page__input-wrap:focus-within{border-color:var(--tg-accent)}.search-page__input-icon{color:var(--tg-text-secondary);margin-right:8px;font-size:16px}.search-page__input{color:var(--tg-text);background:0 0;border:none;outline:none;flex:1;padding:12px 0;font-size:16px}.search-page__input::placeholder{color:var(--tg-text-secondary)}.search-page__clear{color:var(--tg-text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:14px}.search-page__results{flex-direction:column;gap:8px;display:flex}.search-page__empty{text-align:center;color:var(--tg-text-secondary);margin-top:32px;font-size:15px}.search-page__hint{text-align:center;color:var(--tg-text-secondary);margin-top:48px;font-size:15px}.search-card{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition);align-items:center;gap:12px;padding:12px 14px;display:flex}.search-card:hover{border-color:var(--tg-accent)}.search-card__icon{font-size:18px}.search-card__body{flex-direction:column;gap:2px;display:flex}.search-card__title{color:var(--tg-text);font-size:15px;font-weight:500}.search-card__subtitle{color:var(--tg-text-secondary);font-size:12px}.stats-page{padding:16px}.stats-page__header{margin-bottom:20px}.stats-page__title{color:var(--tg-text);font-size:22px;font-weight:700}.stats-row{cursor:pointer;gap:12px}.stats-row__icon{font-size:22px;line-height:1}.stats-row__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.stats-row__subtitle{color:var(--tg-text-secondary);font-size:12px}.support-modal__body{padding-bottom:20px}.support-modal__hint{color:var(--tg-text-secondary);font-size:14px}.support-modal__telegram-btn{color:#fff;border-radius:var(--radius);transition:opacity var(--transition);background:linear-gradient(135deg,#08c,#29b6f6);justify-content:space-between;align-items:center;padding:13px 16px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.support-modal__telegram-btn:hover{opacity:.9}.support-modal__handle{opacity:.9;font-weight:500}.trash-page{padding:16px}.trash-page__header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.trash-page__back{color:var(--tg-accent);cursor:pointer;background:0 0;border:none;padding:4px;font-size:22px;line-height:1}.trash-page__title{color:var(--tg-text);font-size:22px;font-weight:700}.trash-page__hint{text-align:center;color:var(--tg-text-secondary);margin-top:32px;font-size:15px}.trash-page__section{margin-bottom:24px}.trash-page__empty{color:var(--tg-text-secondary);padding:4px;font-size:14px}.trash-page__items{flex-direction:column;gap:10px;display:flex}.trash-card{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius);align-items:center;gap:12px;padding:12px 14px;display:flex}.trash-card__body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.trash-card__title{color:var(--tg-text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.trash-card__meta{color:var(--tg-text-secondary);font-size:12px}.trash-card__action{color:var(--tg-accent);cursor:pointer;white-space:nowrap;transition:background var(--transition);background:#5b8dee1f;border:1px solid #5b8dee4d;border-radius:20px;padding:8px 12px;font-size:13px;font-weight:500}.trash-card__action:hover{background:#5b8dee40}.trash-card__action:disabled{opacity:.5;cursor:not-allowed}.templates-page{padding:16px}.templates-page__header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.templates-page__back{color:var(--tg-accent);cursor:pointer;background:0 0;border:none;padding:4px;font-size:22px;line-height:1}.templates-page__title{color:var(--tg-text);font-size:22px;font-weight:700}.templates-page__empty{text-align:center;color:var(--tg-text-secondary);margin-top:32px;font-size:15px}.templates-page__items{flex-direction:column;gap:10px;display:flex}.template-card{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius);align-items:center;gap:12px;padding:12px 14px;display:flex}.template-card__body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.template-card__title{color:var(--tg-text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.template-card__meta{color:var(--tg-text-secondary);font-size:12px}.template-card__action{color:var(--tg-danger);cursor:pointer;white-space:nowrap;transition:background var(--transition);background:#e05b5b1a;border:1px solid #e05b5b4d;border-radius:20px;padding:8px 12px;font-size:13px;font-weight:500}.template-card__action:hover{background:#e05b5b33}.timeline-page{padding:16px 16px 32px}.timeline-page__header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.timeline-page__back{color:var(--tg-accent);cursor:pointer;background:0 0;border:none;padding:4px;font-size:22px;line-height:1}.timeline-page__title{color:var(--tg-text);font-size:22px;font-weight:700}.timeline-page__hint{color:var(--tg-text-secondary);margin-bottom:16px;font-size:13px}.timeline-page__view-tabs{background:var(--tg-secondary-bg);border-radius:var(--radius-sm);gap:6px;margin-bottom:12px;padding:3px;display:flex}.timeline-page__view-tab{border-radius:var(--radius-sm);color:var(--tg-text-secondary);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;flex:1;padding:8px 4px;font-size:13px;font-weight:600}.timeline-page__view-tab--active{background:var(--tg-accent);color:#fff}.timeline-page__filters{background:var(--tg-secondary-bg);border-radius:var(--radius-sm);gap:6px;margin-bottom:12px;padding:3px;display:flex}.timeline-page__filter-btn{border-radius:var(--radius-sm);color:var(--tg-text-secondary);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;flex:1;padding:7px 4px;font-size:12px;font-weight:600}.timeline-page__filter-btn--active{background:var(--tg-accent);color:#fff}.timeline-page__nav{gap:8px;margin-bottom:16px;display:flex}.timeline-page__nav-btn{background:var(--tg-secondary-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);color:var(--tg-text);cursor:pointer;transition:border-color var(--transition);flex:1;padding:8px 6px;font-size:13px;font-weight:600}.timeline-page__nav-btn:disabled{color:var(--tg-text-secondary);cursor:default}.timeline-chart{flex-direction:column;gap:10px;display:flex}.timeline-chart__axis{height:16px;margin-left:84px;position:relative}.timeline-chart__axis-mark{color:var(--tg-text-secondary);font-size:11px;position:absolute;transform:translate(-50%)}.timeline-chart__axis-mark:first-child{transform:translate(0)}.timeline-chart__axis-mark:last-child{transform:translate(-100%)}.timeline-row{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);gap:8px;padding:8px;display:flex}.timeline-row--today{border-color:var(--tg-accent)}.timeline-row__header{flex-direction:column;flex-shrink:0;justify-content:center;gap:4px;width:76px;display:flex}.timeline-row__date{color:var(--tg-text);text-transform:capitalize;font-size:12px;font-weight:600}.timeline-row__count{border-radius:10px;width:fit-content;padding:1px 6px;font-size:11px;font-weight:600}.timeline-row__count--low{color:var(--tg-success);background:#5be08a26}.timeline-row__count--medium{color:var(--tg-warning);background:#e0b55b26}.timeline-row__count--high{color:var(--tg-danger);background:#e05b5b26}.timeline-row__track{flex:1;min-width:0;position:relative;overflow:hidden}.timeline-row__gridline{background:var(--tg-border);width:1px;position:absolute;top:0;bottom:0}.timeline-row__empty{height:26px;color:var(--tg-text-secondary);align-items:center;font-size:12px;display:flex}.timeline-bar{background:var(--tg-accent);border-radius:var(--radius-sm);color:#fff;cursor:pointer;white-space:nowrap;min-width:22px;height:22px;transition:filter var(--transition);border:none;justify-content:center;align-items:center;padding:0;font-size:12px;font-weight:600;display:flex;position:absolute;overflow:hidden}.timeline-bar:active{filter:brightness(1.15)}.timeline-bar--urgent{background:var(--tg-danger)}.timeline-bar--created{background:var(--tg-success);color:#0d2417}.timeline-bar--updated{background:var(--tg-warning);color:#2b1f06}.timeline-bar--deleted{background:var(--tg-text-secondary);color:var(--tg-bg)}@media (width<=360px){.timeline-row__header{width:60px}.timeline-chart__axis{margin-left:68px}}.heatmap{flex-direction:column;gap:12px;display:flex}.heatmap__scroll{gap:6px;padding-bottom:4px;display:flex;overflow:auto hidden}.heatmap__weekdays{flex-direction:column;flex-shrink:0;gap:3px;padding-top:15px;display:flex}.heatmap__weekday-label{width:12px;height:13px;color:var(--tg-text-secondary);text-align:right;font-size:10px;line-height:13px}.heatmap__grid{gap:3px;display:flex}.heatmap__col{flex-direction:column;gap:3px;display:flex}.heatmap__month-label{height:13px;color:var(--tg-text-secondary);white-space:nowrap;text-transform:capitalize;font-size:10px;line-height:13px}.heatmap__cell{cursor:pointer;background:var(--tg-border);border:none;border-radius:3px;width:13px;height:13px;padding:0}.heatmap__cell--level-1{background:#5b8dee59}.heatmap__cell--level-2{background:#5b8dee8c}.heatmap__cell--level-3{background:#5b8deebf}.heatmap__cell--level-4{background:var(--tg-accent)}.heatmap__cell--future{visibility:hidden;cursor:default}.heatmap__cell--today{outline:1.5px solid var(--tg-text);outline-offset:-1.5px}.heatmap__legend{justify-content:flex-end;align-items:center;gap:4px;display:flex}.heatmap__legend .heatmap__cell{cursor:default}.heatmap__legend-label{color:var(--tg-text-secondary);font-size:11px}.streak-page{padding:16px 16px 32px}.streak-page__header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.streak-page__back{color:var(--tg-accent);cursor:pointer;background:0 0;border:none;padding:4px;font-size:22px;line-height:1}.streak-page__title{color:var(--tg-text);font-size:22px;font-weight:700}.streak-page__hint{color:var(--tg-text-secondary);margin-bottom:16px;font-size:13px}.streak-page__empty{text-align:center;color:var(--tg-text-secondary);margin-top:32px;font-size:15px}.streak-cards{gap:10px;margin-bottom:20px;display:flex}.streak-card{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius);text-align:center;flex-direction:column;flex:1;align-items:center;gap:2px;padding:18px 12px;display:flex}.streak-card--current{border-color:var(--tg-accent);background:linear-gradient(135deg,#f5a6231f,#f5a62308)}.streak-card__icon{margin-bottom:4px;font-size:24px}.streak-card__value{color:var(--tg-text);font-size:28px;font-weight:700;line-height:1}.streak-card__label{color:var(--tg-text-secondary);margin-top:4px;font-size:12px}.streak-card__note{color:var(--tg-warning);margin-top:6px;font-size:11px}.streak-recent{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius);padding:14px 16px}.streak-recent__title{color:var(--tg-text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;font-size:12px;font-weight:600}.streak-recent__row{grid-template-columns:repeat(7,1fr);row-gap:14px;display:grid}.streak-recent__day{flex-direction:column;align-items:center;gap:6px;display:flex}.streak-recent__dot{background:var(--tg-secondary-bg);border:1px solid var(--tg-border);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:flex}.streak-recent__dot--done{border-color:var(--tg-warning);background:#f5a6232e}.streak-recent__weekday{color:var(--tg-text-secondary);text-transform:capitalize;font-size:10px}.growth-page{padding:16px 16px 32px}.growth-page__header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.growth-page__back{color:var(--tg-accent);cursor:pointer;background:0 0;border:none;padding:4px;font-size:22px;line-height:1}.growth-page__title{color:var(--tg-text);font-size:22px;font-weight:700}.growth-page__hint{color:var(--tg-text-secondary);margin-bottom:16px;font-size:13px}.growth-totals{gap:10px;margin-bottom:16px;display:flex}.growth-total{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius);flex-direction:column;flex:1;align-items:center;gap:2px;padding:14px 12px;display:flex}.growth-total__value{color:var(--tg-text);font-size:24px;font-weight:700;line-height:1}.growth-total__label{color:var(--tg-text-secondary);text-align:center;margin-top:4px;font-size:12px}.growth-legend{gap:16px;margin-bottom:10px;display:flex}.growth-legend__item{color:var(--tg-text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.growth-legend__swatch{border-radius:3px;width:10px;height:10px;display:inline-block}.growth-legend__swatch--lists{background:var(--tg-accent)}.growth-legend__swatch--reminders{background:var(--tg-success)}.growth-chart{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius);justify-content:space-between;align-items:flex-end;gap:6px;height:200px;padding:16px 10px 10px;display:flex}.growth-col{border-radius:var(--radius-sm);cursor:pointer;height:100%;transition:background var(--transition);background:0 0;border:none;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;padding:4px 2px;display:flex}.growth-col--active{background:var(--tg-secondary-bg)}.growth-col__bars{flex:1;justify-content:center;align-items:flex-end;gap:3px;width:100%;display:flex}.growth-col__bar{width:9px;min-height:2px;transition:height var(--transition);border-radius:3px 3px 0 0}.growth-col__bar--lists{background:var(--tg-accent)}.growth-col__bar--reminders{background:var(--tg-success)}.growth-col__label{color:var(--tg-text-secondary);text-transform:capitalize;margin-top:8px;font-size:11px}.achievements-page{padding:16px 16px 32px}.achievements-page__header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.achievements-page__back{color:var(--tg-accent);cursor:pointer;background:0 0;border:none;padding:4px;font-size:22px;line-height:1}.achievements-page__title{color:var(--tg-text);font-size:22px;font-weight:700}.achievements-page__hint{color:var(--tg-text-secondary);margin-bottom:4px;font-size:13px}.achievements-page__progress{color:var(--tg-accent);margin-bottom:16px;font-size:13px;font-weight:600}.achievements-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.achievement-badge{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition), background var(--transition);flex-direction:column;align-items:center;gap:6px;padding:16px 8px;display:flex}.achievement-badge--selected{border-color:var(--tg-accent)}.achievement-badge--unlocked{background:linear-gradient(135deg,#f5a6231f,#f5a62308);border-color:#f5a62366}.achievement-badge__icon{filter:grayscale();opacity:.4;font-size:28px}.achievement-badge--unlocked .achievement-badge__icon{filter:none;opacity:1}.achievement-badge__title{color:var(--tg-text);text-align:center;font-size:11px;font-weight:600;line-height:1.3}.achievement-badge__progress{color:var(--tg-text-secondary);font-size:10px}.leaderboard-page{padding:16px 16px 32px}.leaderboard-page__header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.leaderboard-page__back{color:var(--tg-accent);cursor:pointer;background:0 0;border:none;padding:4px;font-size:22px;line-height:1}.leaderboard-page__title{color:var(--tg-text);font-size:22px;font-weight:700}.leaderboard-page__hint{color:var(--tg-text-secondary);margin-bottom:16px;font-size:13px}.leaderboard-page__invite-btn{background:var(--tg-accent);color:#fff;border-radius:var(--radius);cursor:pointer;width:100%;transition:background var(--transition);border:none;margin-bottom:20px;padding:14px;font-size:15px;font-weight:600}.leaderboard-page__invite-btn:hover{background:var(--tg-accent-hover)}.leaderboard-page__empty{text-align:center;color:var(--tg-text-secondary);margin-top:32px;font-size:15px}.leaderboard-list{flex-direction:column;gap:8px;display:flex}.leaderboard-row{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:12px 14px;display:flex}.leaderboard-row--self{border-color:var(--tg-accent)}.leaderboard-row__rank{text-align:center;width:22px;color:var(--tg-text-secondary);flex-shrink:0;font-size:14px;font-weight:700}.leaderboard-row__name{color:var(--tg-text);flex:1;align-items:baseline;gap:6px;min-width:0;font-size:15px;display:flex}.leaderboard-row__username{color:var(--tg-text-secondary);font-size:12px}.leaderboard-row__streak{color:var(--tg-text);white-space:nowrap;font-size:14px;font-weight:600}.family-plan-page{padding:16px 16px 32px}.family-plan-page__header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.family-plan-page__back{color:var(--tg-accent);cursor:pointer;background:0 0;border:none;padding:4px;font-size:22px;line-height:1}.family-plan-page__title{color:var(--tg-text);font-size:22px;font-weight:700}.family-plan-page__empty{text-align:center;color:var(--tg-text-secondary);margin-top:32px;font-size:15px}.family-plan-card{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius);flex-direction:column;gap:14px;padding:16px;display:flex}.family-plan-page__hint{color:var(--tg-text-secondary);font-size:14px}.family-plan-page__cta{background:var(--tg-accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);border:none;padding:12px;font-size:15px;font-weight:600}.family-plan-page__cta:hover{background:var(--tg-accent-hover)}.family-plan-page__leave{border:1px solid var(--tg-danger);color:var(--tg-danger);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:10px;font-size:14px}.family-plan-summary{flex-direction:column;gap:4px;display:flex}.family-plan-summary__plan{color:var(--tg-text);font-size:16px;font-weight:700}.family-plan-summary__seats,.family-plan-summary__until{color:var(--tg-text-secondary);font-size:13px}.family-plan-members{flex-direction:column;gap:8px;display:flex}.family-plan-member{background:var(--tg-secondary-bg);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.family-plan-member__name{color:var(--tg-text);align-items:center;gap:6px;font-size:14px;display:flex}.family-plan-member__owner-badge{color:var(--tg-accent);border:1px solid var(--tg-accent);border-radius:20px;padding:1px 6px;font-size:11px}.family-plan-member__remove{color:var(--tg-text-secondary);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:14px}.admin-page{padding:16px}.admin-page__header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.admin-page__back{color:var(--tg-accent);cursor:pointer;background:0 0;border:none;padding:4px;font-size:22px;line-height:1}.admin-page__title{color:var(--tg-text);font-size:22px;font-weight:700}.admin-page__section{margin-bottom:20px}.admin-page__section-title{color:var(--tg-text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;padding-left:4px;font-size:12px;font-weight:600}.admin-card{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:14px;display:flex}.admin-card__btn{background:var(--tg-accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition);border:none;padding:11px;font-size:14px;font-weight:600}.admin-card__btn:hover{opacity:.9}.admin-card__btn:disabled{opacity:.5;cursor:not-allowed}.admin-card__result{color:var(--tg-accent);font-size:13px}.admin-field{flex-direction:column;gap:4px;display:flex}.admin-field__label{color:var(--tg-text-secondary);font-size:12px}.admin-stats-row{gap:10px;margin-bottom:10px;display:flex}.admin-stat{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius);flex-direction:column;flex:1;gap:2px;padding:12px 14px;display:flex}.admin-stat__value{color:var(--tg-text);font-size:22px;font-weight:700}.admin-stat__label{color:var(--tg-text-secondary);font-size:12px}.admin-users-table{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius);overflow:auto hidden}.admin-users-table__row{color:var(--tg-text);grid-template-columns:2fr 1fr 1fr 1fr;gap:8px;padding:8px 12px;font-size:13px;display:grid}.admin-users-table__row:not(:last-child){border-bottom:1px solid var(--tg-border)}.admin-users-table__row--head{background:var(--tg-card-bg);color:var(--tg-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.admin-users-table__sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.admin-users-table__sortable:hover{color:var(--tg-accent)}.admin-users-toolbar{align-items:center;gap:8px;margin-bottom:10px;display:flex}.admin-page-size-btn{background:var(--tg-card-bg);border:1px solid var(--tg-border);border-radius:var(--radius-sm);color:var(--tg-text-secondary);cursor:pointer;transition:all var(--transition);padding:5px 10px;font-size:12px;font-weight:600}.admin-page-size-btn--active{border-color:var(--tg-accent);color:var(--tg-accent);background:#5b8dee1a}.admin-pagination{justify-content:center;align-items:center;gap:12px;margin-top:10px;display:flex}.admin-pagination__btn{width:40px;padding:8px}:root{--tg-bg:#1a1f2e;--tg-secondary-bg:#242938;--tg-card-bg:#2d3347;--tg-accent:#5b8dee;--tg-accent-hover:#4a7de0;--tg-text:#fff;--tg-text-secondary:#8b95a8;--tg-border:#3a4156;--tg-danger:#e05b5b;--tg-success:#5be08a;--tg-warning:#e0b55b;--radius:12px;--radius-sm:8px;--transition:.2s ease}*{box-sizing:border-box;margin:0;padding:0}html,body{touch-action:manipulation;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}body{background-color:var(--tg-bg);color:var(--tg-text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}#root{flex-direction:column;min-height:100vh;display:flex}
