:root{--bg: #080B14;--surface: rgba(255,255,255,.04);--surface-2: rgba(255,255,255,.08);--border: rgba(255,255,255,.06);--text: #FFFFFF;--text-muted: rgba(255,255,255,.4);--accent: #FFFFFF;--accent-dim: rgba(255,255,255,.7);--accent-blue: #5B8DEF;--danger: #FF5252;--rest: #FFB84D;--pr: #FFD740;--warmup: rgba(255,255,255,.12);--touch: 48px;--touch-lg: 60px;--radius: 20px;--radius-sm: 14px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", "Menlo", "Consolas", monospace;--safe-bottom: env(safe-area-inset-bottom, 0px);--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 4px 16px rgba(0,0,0,.5);--shadow-lg: 0 8px 32px rgba(0,0,0,.6)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased}body{margin:0;padding:0;overflow:hidden}#root{display:flex;flex-direction:column;height:100dvh;height:100vh}button{font-family:var(--font);border:none;cursor:pointer;-webkit-user-select:none;user-select:none}input{font-family:var(--font);border:none;outline:none;background:none;color:var(--text)}.app{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;max-width:480px;width:100%;margin:0 auto;padding:16px}.big-button{width:100%;min-height:var(--touch-lg);font-size:20px;font-weight:700;border-radius:var(--radius-sm);color:var(--bg);background:var(--accent);transition:background .2s,transform .15s;letter-spacing:.5px}.big-button:active{background:var(--accent-dim);transform:scale(.98)}.big-button--danger{background:var(--danger)}.big-button--outline:disabled,.big-button:disabled{opacity:.3;pointer-events:none}.big-button--outline{background:var(--surface);color:var(--accent-blue)}.stepper{display:flex;align-items:center;justify-content:center;gap:12px}.stepper__btn{width:var(--touch);height:var(--touch);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-size:22px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .15s;border:none;flex-shrink:0;padding:0 0 2px;line-height:1}.stepper__btn:active{background:#ffffff1f;transform:scale(.95)}.stepper__value{font-family:var(--font-mono);font-size:32px;font-weight:700;min-width:80px;text-align:center}.stepper__unit{font-size:16px;font-weight:400;color:var(--text-muted);margin-left:4px}.stepper--sm{gap:4px;justify-content:center}.stepper__btn--sm{width:30px;height:30px;font-size:16px;line-height:1;padding-bottom:2px}.stepper__value--sm{font-size:18px;min-width:48px}.card{background:var(--surface);border-radius:var(--radius);padding:16px;margin-bottom:12px;box-shadow:var(--shadow-sm);transition:height var(--resize-dur) var(--resize-ease),opacity var(--modal-open-dur) var(--modal-ease)}.card--active{box-shadow:0 0 0 2px var(--accent-blue),var(--shadow-md)}.card--done{opacity:.6}.set-row{padding:12px 0}.set-row--done{display:flex;align-items:center;gap:12px;opacity:.6}.set-row__result{font-size:14px}.set-row__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.set-row__label{color:var(--text-muted);font-size:12px;margin-bottom:4px;text-align:center}.set-row__steppers{display:flex;gap:8px;align-items:center}.set-row__stepper{flex:1;min-width:0}.set-row__stepper .stepper{gap:4px}.set-row__stepper .stepper__value{display:flex;align-items:center;justify-content:center;line-height:1;min-width:48px;font-size:24px}.set-row__stepper .stepper__btn{width:36px;height:36px;font-size:20px}.set-row__check{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700}.set-row__check--done{background:var(--accent-blue);color:var(--text)}.set-row__check--pending{background:var(--surface-2);color:var(--text-muted)}.set-row__done-btn{padding:10px 20px;border-radius:var(--radius-sm);background:var(--accent-blue);color:var(--text);font-size:16px;font-weight:700;transition:background .2s,transform .15s}.set-row__done-btn:active{background:#4a7bd9;transform:scale(.97)}.timer-bar{display:flex;align-items:center;gap:12px;padding:8px 0;color:var(--rest);font-family:var(--font-mono);font-size:20px;font-weight:700}.timer-bar__btn{padding:8px 16px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-muted);font-size:14px;font-weight:600;transition:background .2s}.timer-bar__btn:active{background:#ffffff1f}.screen-header{display:flex;align-items:center;justify-content:space-between;padding:8px 0 16px;padding-top:calc(8px + env(safe-area-inset-top,0px))}.screen-header__title{flex:1;text-align:center;font-size:18px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.screen-header__spacer{min-width:var(--touch)}.screen-header__back{min-width:var(--touch);min-height:var(--touch);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:16px;font-weight:600;padding:12px 16px;box-shadow:var(--shadow-sm)}.screen-header__back:active{background:var(--surface-2)}.mode-tabs{display:flex;background:var(--surface-2);border-radius:var(--radius-sm);overflow:hidden;padding:3px}.mode-tabs__btn{flex:1;padding:10px;font-size:14px;font-weight:600;color:var(--text-muted);background:transparent;border-radius:calc(var(--radius-sm) - 3px)}.mode-tabs__btn--active{background:#ffffff1f;color:var(--text);box-shadow:0 1px 3px #0000004d}.exercise-name{font-size:24px;font-weight:700;margin-bottom:4px}.set-progress{font-size:16px;color:var(--text-muted);margin-bottom:16px}.next-preview{padding:12px;color:var(--text-muted);font-size:14px}.next-preview__name{color:var(--text);font-weight:600}.pr-badge{display:inline-flex;align-items:center;gap:4px;background:var(--pr);color:var(--bg);padding:2px 8px;border-radius:4px;font-size:12px;font-weight:700}.template-card{background:var(--surface);border-radius:var(--radius);padding:16px;margin-bottom:12px;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-sm)}.template-card__name{flex:1;font-size:16px;font-weight:600}.template-card__edit,.template-card__delete{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:16px;transition:background .2s,transform .15s}.template-card__edit{color:var(--text-muted)}.template-card__delete{color:var(--danger)}.template-card__edit:active,.template-card__delete:active{background:var(--surface-2);transform:scale(.95)}.template-card__grip{color:var(--text-muted);font-size:20px;cursor:grab;padding:0 4px;touch-action:none;display:flex;align-items:center;line-height:1;height:100%}.template-card--drag{opacity:.5;transform:scale(.97)}.template-card--over{box-shadow:0 0 0 1px var(--accent-blue),0 4px 16px #5b8def33}.template-card__start{display:flex;align-items:center;padding:12px 20px;border-radius:var(--radius-sm);background:var(--accent-blue);color:var(--text);font-size:16px;font-weight:700;transition:background .2s,transform .15s}.template-card__start:active{background:var(--accent-dim)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state__icon{font-size:48px;margin-bottom:16px}.empty-state__text{font-size:16px;margin-bottom:24px}.exercise-item{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.exercise-item__name{font-size:16px;font-weight:500}.exercise-item__meta{color:var(--text-muted);font-size:14px}.input-field{width:100%;padding:14px;border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:16px;box-shadow:var(--shadow-sm)}.move-btns{display:flex;gap:8px;margin-top:12px}.move-btns__btn{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:background .2s}.move-btns__btn:active{background:#ffffff1f}.move-btns__btn:disabled{opacity:.3;pointer-events:none}.hint{color:var(--rest);font-size:14px;padding:8px 0;margin-bottom:8px}.input-field::placeholder{color:var(--text-muted)}.autocomplete{position:absolute;top:100%;left:0;right:0;background:var(--surface-2);border-radius:var(--radius-sm);z-index:10;max-height:240px;overflow-y:auto;box-shadow:var(--shadow-lg);margin-top:4px}.autocomplete__item{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 14px;color:var(--text);font-size:14px;text-align:left;background:transparent}.autocomplete__item:hover,.autocomplete__item:active{background:var(--surface)}.autocomplete__cat{font-size:12px;color:var(--text-muted)}.cal-day{aspect-ratio:1;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-muted)}.cal-day--future{color:var(--border)}.cal-day--active{background:var(--accent-blue);color:var(--text);font-weight:600;cursor:pointer}.cal-day--double{background:#5b8def66}.cal-day--triple{box-shadow:inset 0 0 0 2px #5b8def80}.cal-day--today{background:#5b8def33;font-weight:700}.cal-day--selected{background:#ffffff1f;font-weight:700}.tab-bar{flex-shrink:0;display:flex;justify-content:space-around;align-items:center;max-width:480px;width:100%;margin:0 auto;height:56px;padding:0;padding-bottom:env(safe-area-inset-bottom,0px);background:#080b14d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-sizing:content-box}.tab-bar__btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 0;background:none;border:none;color:var(--text-muted);cursor:pointer;min-height:48px;-webkit-tap-highlight-color:transparent;transition:transform .35s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden}.tab-bar__btn:active{transform:scale(.85);transition:transform .1s ease-out}.tab-bar__btn:active:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);animation:tab-ripple .4s ease-out forwards}@keyframes tab-ripple{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.4)}}.tab-bar__label{transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.tab-bar__btn:active .tab-bar__label{transform:scale(.85);transition:transform .1s ease-out}.tab-bar__btn--active .tb-dumbbell{animation:dumbbell-bounce .5s cubic-bezier(.34,1.56,.64,1)}.tab-bar__btn--active .tb-dumbbell--right{animation-delay:.1s}@keyframes dumbbell-bounce{0%{transform:translateY(0)}40%{transform:translateY(-5px)}to{transform:translateY(0)}}.tab-bar__btn--active .tb-dumbbell__bar{animation:bar-stretch .5s cubic-bezier(.34,1.56,.64,1)}@keyframes bar-stretch{0%{transform:scaleX(1)}50%{transform:scaleX(1.06)}to{transform:scaleX(1)}}.tab-bar__btn--active .tb-history__hands{animation:clock-spin .7s cubic-bezier(.34,1.56,.64,1);transform-origin:12px 12px}@keyframes clock-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tab-bar__btn--active .tb-chart__line{animation:chart-draw .8s ease-out forwards;stroke-dasharray:32;stroke-dashoffset:32}@keyframes chart-draw{to{stroke-dashoffset:0}}.tab-bar__btn--active .tb-slider circle{animation:slider-bounce .5s cubic-bezier(.34,1.56,.64,1)}.tab-bar__btn--active .tb-slider:nth-child(1) circle{animation-delay:0s}.tab-bar__btn--active .tb-slider:nth-child(2) circle{animation-delay:.1s}.tab-bar__btn--active .tb-slider:nth-child(3) circle{animation-delay:.2s}@keyframes slider-bounce{0%{transform:translateY(0)}40%{transform:translateY(-4px)}to{transform:translateY(0)}}.tab-bar__btn--active{color:var(--accent-blue)}.tab-bar__label{font-size:11px;font-weight:600}.progress-bar{width:100%;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.progress-bar__fill{height:100%;background:var(--accent-blue);border-radius:2px;transition:width .3s ease}.hint-banner{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;line-height:1.4;margin-bottom:12px;animation:hintFadeIn .3s ease}@keyframes hintFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.hint-banner--info{background:#5b8def1a;color:var(--accent-blue)}.hint-banner--warn{background:#ffab001a;color:var(--rest)}.hint-banner__close{margin-left:auto;background:none;border:none;color:inherit;cursor:pointer;font-size:14px;opacity:.6;padding:2px 4px}.swipe-hint{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--text-muted);font-size:12px;padding:6px 0 2px;opacity:.7}.timer-explicit-btn{width:100%;min-height:56px;font-size:18px;font-weight:700;border-radius:var(--radius-sm);background:#ffb84d26;color:var(--rest);display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s,transform .15s;box-shadow:var(--shadow-sm)}.timer-explicit-btn:active{background:#ffb84d40;transform:scale(.98)}.timer-explicit-btn--done{background:var(--accent);color:var(--bg)}.timer-explicit-btn--done:active{background:var(--accent-dim)}.exercise-dot-indicator{display:flex;justify-content:center;gap:6px;margin-bottom:4px}.exercise-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:background .2s}.exercise-dot--active{background:var(--accent)}.exercise-dot--done{background:#5b8defcc}.exercise-dot--started{background:var(--rest)}.action-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;background:var(--surface);border-radius:var(--radius);border:none;cursor:pointer;color:var(--text-muted);transition:background .2s,color .2s,transform .2s;box-shadow:var(--shadow-sm)}.action-card:active{background:var(--surface-2);color:var(--accent)}.action-card__icon{width:48px;height:48px;border-radius:var(--radius-sm);background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--accent-blue)}.action-card__label{font-size:14px;font-weight:600}.sync-code-input{text-align:center;text-transform:uppercase;letter-spacing:2px;font-family:var(--font-mono);font-size:20px}.sync-code-input::placeholder{text-transform:none;letter-spacing:normal;font-family:var(--font);font-size:14px}.settings-actions{display:flex;gap:8px;flex-wrap:wrap}.settings-btn{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:var(--surface);border-radius:var(--radius);border:none;cursor:pointer;color:var(--text-muted);font-size:12px;font-weight:600;transition:background .2s,color .2s;box-shadow:var(--shadow-sm)}.settings-btn:active{background:var(--surface-2);color:var(--accent)}.settings-btn:disabled{opacity:.3;pointer-events:none}.settings-btn--danger:active{color:var(--danger)}.settings-btn__icon{color:var(--accent-blue);display:flex;align-items:center;justify-content:center}.settings-btn--danger .settings-btn__icon{color:var(--danger)}.sync-code-block{text-align:center;margin:8px 0}.sync-code-block__code{font-size:24px;font-weight:700;letter-spacing:4px;color:var(--accent-blue);font-family:monospace}.sync-code-block__hint{color:var(--text-muted);font-size:12px;margin-top:2px}.stats-strip{display:flex;gap:8px;margin-bottom:16px}.stats-item{flex:1;background:var(--surface);border-radius:var(--radius);padding:14px 8px;text-align:center;min-width:0;box-shadow:var(--shadow-sm)}.stats-item__value{font-size:26px;font-weight:700;color:var(--accent);line-height:1.1}.stats-item__label{font-size:11px;color:var(--text-muted);margin-top:4px;line-height:1.3}.stats-item--streak .stats-item__value{color:#f59e0b}.repeat-card{display:flex;align-items:center;width:100%;gap:12px;padding:14px 16px;background:var(--surface);border-radius:var(--radius);border:none;cursor:pointer;margin-bottom:16px;text-align:left;color:var(--text);transition:background .2s;box-shadow:var(--shadow-sm)}.repeat-card:active{background:var(--surface-2)}.repeat-card__icon{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--accent-blue);flex-shrink:0}.repeat-card__text{flex:1;min-width:0}.repeat-card__label{font-size:12px;color:var(--text-muted)}.repeat-card__name{font-size:16px;font-weight:600}.repeat-card__ago{font-weight:400;font-size:13px;color:var(--text-muted)}.repeat-card__arrow{color:var(--text-muted);flex-shrink:0}.gym-scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;gap:0;margin:0 -16px;padding:0 8px;-ms-overflow-style:none;scrollbar-width:none}.gym-scroll::-webkit-scrollbar{display:none}.gym-scroll__card{flex:0 0 100%;scroll-snap-align:center;padding:0 8px;box-sizing:border-box}.template-card--highlight{animation:highlightPulse 1.5s ease-out}@keyframes highlightPulse{0%{background:#5b8def26}to{background:var(--surface)}}.history-month-header{font-size:22px;font-weight:700;color:var(--text);margin:24px 0 12px;padding-bottom:8px}.history-month-header:first-child{margin-top:0}.toggle-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--text-muted);-webkit-user-select:none;user-select:none}.toggle-switch input{display:none}.toggle-switch__track{width:44px;height:24px;border-radius:12px;background:var(--surface);position:relative;transition:background .2s;flex-shrink:0}.toggle-switch__track--on{background:var(--accent-blue)}.toggle-switch__thumb{width:18px;height:18px;border-radius:50%;background:var(--text-muted);position:absolute;top:3px;left:3px;transition:transform .2s,background .2s}.toggle-switch__track--on .toggle-switch__thumb{transform:translate(20px);background:#fff}@media(prefers-reduced-motion:reduce){.t-resize,.t-digit-group .t-digit,.t-text-swap,.t-dropdown,.t-modal,.t-badge,.t-badge-dot,.t-panel-slide,.t-page-slide .t-page,.t-icon-swap .t-icon,.t-success-check,.t-success-check svg path,.t-avatar,.t-input{animation:none!important;transition:none!important;transform:none!important}.t-success-check{opacity:1}.t-success-check svg path{stroke-dashoffset:0!important}}.t-resize{transition:width var(--resize-dur) var(--resize-ease),height var(--resize-dur) var(--resize-ease);will-change:width,height}@keyframes t-digit-pop-in{0%{transform:translate(calc(var(--digit-distance) * var(--digit-dir-x)),calc(var(--digit-distance) * var(--digit-dir-y)));opacity:0;filter:blur(var(--digit-blur))}to{transform:translate(0);opacity:1;filter:blur(0)}}.t-digit-group{display:inline-flex;align-items:baseline}.t-digit{display:inline-block;will-change:transform,opacity,filter}.t-digit-group.is-animating .t-digit{animation:t-digit-pop-in var(--digit-dur) var(--digit-ease) both}.t-digit-group.is-animating .t-digit[data-stagger="1"]{animation-delay:var(--digit-stagger)}.t-digit-group.is-animating .t-digit[data-stagger="2"]{animation-delay:calc(var(--digit-stagger) * 2)}@keyframes t-badge-slide-in{0%{transform:translate(var(--badge-offset-x),var(--badge-offset-y))}to{transform:translate(0)}}.t-badge{position:absolute;top:-6px;right:-8px;pointer-events:none;will-change:transform}.t-badge[data-open=true]{animation:t-badge-slide-in var(--badge-slide-dur) var(--badge-slide-ease)}.t-badge-dot{display:block;transform-origin:center;transform:scale(1);opacity:1;filter:blur(0);transition:transform var(--badge-pop-dur) var(--badge-pop-ease),opacity var(--badge-fade-dur) var(--badge-pop-ease),filter var(--badge-pop-dur) var(--badge-pop-ease);will-change:transform,opacity,filter}.t-badge[data-open=false] .t-badge-dot{transform:scale(0);opacity:0;filter:blur(var(--badge-blur));transition:transform var(--badge-pop-close-dur) var(--badge-close-ease),opacity var(--badge-fade-close-dur) var(--badge-close-ease),filter var(--badge-pop-close-dur) var(--badge-close-ease)}.t-text-swap{display:inline-block;transform:translateY(0);filter:blur(0);opacity:1;transition:transform var(--text-swap-dur) var(--text-swap-ease),filter var(--text-swap-dur) var(--text-swap-ease),opacity var(--text-swap-dur) var(--text-swap-ease);will-change:transform,filter,opacity}.t-text-swap.is-exit{transform:translateY(calc(var(--text-swap-translate-y) * -1));filter:blur(var(--text-swap-blur));opacity:0}.t-text-swap.is-enter-start{transform:translateY(var(--text-swap-translate-y));filter:blur(var(--text-swap-blur));opacity:0;transition:none}.t-dropdown{transform-origin:top left;transform:scale(var(--dropdown-pre-scale));opacity:0;pointer-events:none;transition:transform var(--dropdown-open-dur) var(--dropdown-ease),opacity var(--dropdown-open-dur) var(--dropdown-ease);will-change:transform,opacity}.t-dropdown[data-origin=top-right]{transform-origin:top right}.t-dropdown[data-origin=top-center]{transform-origin:top center}.t-dropdown[data-origin=bottom-left]{transform-origin:bottom left}.t-dropdown[data-origin=bottom-center]{transform-origin:bottom center}.t-dropdown[data-origin=bottom-right]{transform-origin:bottom right}.t-dropdown.is-open{transform:scale(1);opacity:1;pointer-events:auto}.t-dropdown.is-closing{transform:scale(var(--dropdown-closing-scale));opacity:0;pointer-events:none;transition:transform var(--dropdown-close-dur) var(--dropdown-ease),opacity var(--dropdown-close-dur) var(--dropdown-ease)}.t-modal{transform-origin:center;transform:scale(var(--modal-scale));opacity:0;pointer-events:none;transition:transform var(--modal-open-dur) var(--modal-ease),opacity var(--modal-open-dur) var(--modal-ease);will-change:transform,opacity}.t-modal.is-open{transform:scale(1);opacity:1;pointer-events:auto}.t-modal.is-closing{transform:scale(var(--modal-scale-close));opacity:0;pointer-events:none;transition:transform var(--modal-close-dur) var(--modal-ease),opacity var(--modal-close-dur) var(--modal-ease)}.t-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;opacity:0;pointer-events:none;transition:opacity var(--modal-open-dur) var(--modal-ease)}.t-modal-overlay.is-open{opacity:1;pointer-events:auto}.t-modal-overlay.is-closing{opacity:0;pointer-events:none;transition:opacity var(--modal-close-dur) var(--modal-ease)}.t-modal-panel{background:var(--surface);border-radius:var(--radius);padding:24px;max-width:320px;width:100%;box-shadow:var(--shadow-lg);border:1px solid var(--border)}.t-modal-title{font-size:18px;font-weight:700;margin-bottom:8px;color:var(--text)}.t-modal-body{font-size:14px;color:var(--text-muted);margin-bottom:20px;line-height:1.5}.t-modal-actions{display:flex;gap:8px}.t-modal-actions .big-button{flex:1;min-height:48px;font-size:16px}.t-panel-slide{transform:translateY(var(--panel-translate-y));opacity:0;filter:blur(var(--panel-blur));pointer-events:none;transition:transform var(--panel-close-dur) var(--panel-ease),opacity var(--panel-close-dur) var(--panel-ease),filter var(--panel-close-dur) var(--panel-ease);will-change:transform,opacity,filter}.t-panel-slide[data-open=true]{transform:translateY(0);opacity:1;filter:blur(0);pointer-events:auto;transition:transform var(--panel-open-dur) var(--panel-ease),opacity var(--panel-open-dur) var(--panel-ease),filter var(--panel-open-dur) var(--panel-ease)}.t-page-slide{position:relative}.t-page-slide .t-page[data-page-id="1"]{--t-page-from-x: calc(var(--page-slide-distance) * -1)}.t-page-slide .t-page[data-page-id="2"]{--t-page-from-x: var(--page-slide-distance)}.t-page-slide .t-page{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;transform:translate(calc(var(--t-page-from-x, 0px) * var(--page-exit-enabled)));filter:blur(calc(var(--page-blur) * var(--page-exit-enabled)));transition:opacity var(--page-fade-dur) var(--page-fade-ease),transform var(--page-slide-dur) var(--page-slide-ease),filter var(--page-slide-dur) var(--page-slide-ease);will-change:opacity,transform,filter}.t-page-slide[data-page="1"] .t-page[data-page-id="1"],.t-page-slide[data-page="2"] .t-page[data-page-id="2"]{opacity:1;pointer-events:auto;transform:translate(0);filter:blur(0);transition-delay:var(--page-stagger)}.t-icon-swap{position:relative;display:inline-grid}.t-icon-swap .t-icon{grid-area:1 / 1;transition:opacity var(--icon-swap-dur) var(--icon-swap-ease),filter var(--icon-swap-dur) var(--icon-swap-ease),transform var(--icon-swap-dur) var(--icon-swap-ease);will-change:opacity,filter,transform}.t-icon-swap[data-state=a] .t-icon[data-icon=a],.t-icon-swap[data-state=b] .t-icon[data-icon=b]{opacity:1;filter:blur(0);transform:scale(1)}.t-icon-swap[data-state=a] .t-icon[data-icon=b],.t-icon-swap[data-state=b] .t-icon[data-icon=a]{opacity:0;filter:blur(var(--icon-swap-blur));transform:scale(var(--icon-swap-start-scale))}.t-success-check{display:inline-block;transform-origin:center;opacity:0;will-change:transform,opacity,filter}.t-success-check svg{display:block;overflow:visible}.t-success-check svg path{stroke-dasharray:60;stroke-dashoffset:60}.t-success-check[data-state=in]{animation:t-check-fade var(--check-opacity-dur) var(--check-ease-opacity) forwards,t-check-rotate var(--check-rotate-dur) var(--check-ease-rotate) forwards,t-check-blur var(--check-blur-dur) var(--check-ease-out) forwards,t-check-bob var(--check-bob-dur) var(--check-ease-bob) forwards}.t-success-check[data-state=in] svg path{animation:t-check-draw var(--check-path-dur) var(--check-ease-path) var(--check-path-delay) forwards}@keyframes t-check-fade{0%{opacity:0}to{opacity:1}}@keyframes t-check-rotate{0%{transform:rotate(var(--check-rotate-from))}to{transform:rotate(0)}}@keyframes t-check-blur{0%{filter:blur(var(--check-blur-from))}to{filter:blur(0)}}@keyframes t-check-bob{0%{translate:0 var(--check-y-amount)}to{translate:0 0}}@keyframes t-check-draw{to{stroke-dashoffset:0}}.t-avatar{transform-origin:center;transform:translateY(var(--shift, 0px)) scale(var(--scale-active, 1));transition:transform var(--avatar-dur) var(--avatar-ease-in);will-change:transform}.t-input{transition:border-color .15s ease-out;will-change:transform}.t-input.is-error{transition:border-color var(--revert-dur) ease-out}.t-error-msg{opacity:0;visibility:hidden;transition:opacity var(--revert-dur) ease-out,visibility 0s linear var(--revert-dur)}.t-input-wrap.is-error .t-error-msg{opacity:1;visibility:visible;transition:opacity var(--revert-dur) ease-out,visibility 0s linear 0s}.t-input.is-shaking{animation:t-input-shake calc(var(--shake-dur-a) * 2 + var(--shake-dur-b) * 2) linear}@keyframes t-input-shake{0%{transform:translate(0);animation-timing-function:var(--shake-ease)}28.57%{transform:translate(var(--shake-distance));animation-timing-function:var(--shake-ease)}57.14%{transform:translate(calc(var(--shake-distance) * -1));animation-timing-function:var(--shake-ease)}78.57%{transform:translate(var(--shake-overshoot));animation-timing-function:var(--shake-ease)}to{transform:translate(0)}}@keyframes count-up{0%{opacity:0;filter:blur(4px);transform:translateY(6px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}.t-count-up{animation:count-up .4s cubic-bezier(.22,1,.36,1) both}
