:root{--background: var( --app-bg-color, --background-surface-ground, var(--tg-theme-bg-color, transparent) );--foreground: var(--app-text-color, var(--text-primary, #09090b));--card: var(--app-surface-color, var(--background-surface, #ffffff));--muted: var(--app-muted-color, var(--background-surface-secondary, #f4f4f5));--muted-foreground: var(--app-muted-text-color, var(--text-secondary, #71717a));--border: var(--stroke-primary, #e4e4e7);--input: var(--stroke-secondary, #d4d4d8);--primary: var(--app-primary-color, #18181b);--primary-foreground: var(--app-primary-foreground-color, #fafafa);--secondary: #f4f4f5;--secondary-foreground: #18181b;--destructive: #ef4444;--destructive-foreground: #ffffff;--ring: #a1a1aa;--radius: 12px;--tabbar-height: 70px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{background:var(--app-body-color, transparent);color:var(--foreground)}button,input{font:inherit}.app-shell{max-width:460px;min-height:100dvh;margin:0 auto;background:transparent;display:flex;flex-direction:column}.app-shell--centered{align-items:center;justify-content:center;padding:16px;gap:12px}.spinner{width:24px;height:24px;border-radius:999px;border:2px solid var(--muted);border-top-color:var(--foreground);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.muted{margin:0;color:var(--muted-foreground);font-size:14px}.app-header{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--border);background:transparent}.app-header__row{height:48px;display:flex;align-items:center;gap:4px;padding:0 12px}.app-header__title{margin:0;font-size:15px;font-weight:500}.icon-button{width:32px;height:32px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--foreground);display:inline-flex;align-items:center;justify-content:center}.icon-button:disabled{opacity:.4}.icon-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.screen-body{flex:1;padding:12px 16px 16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.has-tabbar-offset{padding-bottom:calc(var(--tabbar-height) + 16px)}.ui-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:12px}.ui-alert{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;font-size:14px}.ui-alert--destructive{border-color:#fecaca;color:var(--destructive-foreground);background:#ef4444}.ui-button{width:100%;border-radius:10px;padding:9px 12px;border:1px solid transparent;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.ui-button:disabled{opacity:.55;cursor:not-allowed}.ui-button--default{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.ui-button--secondary{background:var(--secondary);border-color:var(--secondary);color:var(--secondary-foreground)}.ui-button--outline{background:transparent;border-color:var(--input);color:var(--foreground)}.ui-button--destructive{background:var(--destructive);border-color:var(--destructive);color:var(--destructive-foreground)}.ui-button--ghost{background:transparent;border-color:transparent;color:var(--muted-foreground)}.ui-badge{border-radius:999px;padding:2px 8px;font-size:11px;line-height:1.4;border:1px solid var(--border);background:var(--muted)}.ui-badge--default{color:var(--foreground)}.ui-badge--success{background:#dcfce7;color:#166534;border-color:#bbf7d0}.ui-badge--warning{background:#fef3c7;color:#92400e;border-color:#fde68a}.ui-badge--destructive{background:#fee2e2;color:#991b1b;border-color:#fecaca}.ui-badge--muted{color:var(--muted-foreground)}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.section-head h2{margin:0;font-size:13px;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em}.inline-loader{width:12px;height:12px;border-radius:999px;border:2px solid var(--muted);border-top-color:var(--foreground);animation:spin .9s linear infinite}.list-stack,.stack-sm,.stack-md{display:flex;flex-direction:column}.list-stack,.stack-sm{gap:8px}.stack-md{gap:10px}.subscription-row{width:100%;border:1px solid var(--border);border-radius:10px;background:var(--muted);color:var(--foreground);display:flex;gap:10px;align-items:center;padding:10px;text-align:left}.subscription-row__avatar{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#27272a;color:#d4d4d8;font-size:12px;font-weight:600}.subscription-row__content{min-width:0;flex:1}.subscription-row__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.subscription-row__top strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.subscription-row__content p{margin:4px 0 0;font-size:12px;color:var(--muted-foreground)}.detail-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.detail-row span{color:var(--muted-foreground);font-size:13px}.detail-row strong{font-size:13px;text-align:right}.detail-row--top{align-items:flex-start}.switch-wrap{display:inline-flex;align-items:center;gap:8px}.switch-wrap input{accent-color:#fafafa}.option-list{display:flex;flex-direction:column;gap:8px}.option-item{border:1px solid var(--border);border-radius:10px;background:var(--muted);color:var(--foreground);padding:10px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px}.option-item span{display:block;font-size:14px;font-weight:500}.option-item small{color:var(--muted-foreground);font-size:12px}.option-item.is-selected{border-color:var(--foreground)}.profile-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.profile-card h2{margin:0;font-size:20px}.profile-card p,.profile-card span{margin:0;color:var(--muted-foreground);font-size:13px}.profile-avatar{width:68px;height:68px;border-radius:999px;background:var(--muted);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:28px;font-weight:600}.faq-item h3{margin:0 0 4px;font-size:14px}.faq-item p{margin:0;font-size:13px;color:var(--muted-foreground)}.tab-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(460px,100%);height:var(--tabbar-height);border-top:1px solid var(--border);background:var(--background);padding:8px 8px calc(env(safe-area-inset-bottom,0px) + 8px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tab-bar__item{border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted-foreground);font-size:12px;font-weight:500}.tab-bar__item.is-active{color:var(--foreground);border-color:var(--border);background:var(--muted)}
