h2[data-v-e0cf6535]{margin:0 0 4px;font-size:1.2rem}.mode[data-v-e0cf6535]{color:var(--text);align-items:center;gap:12px;text-decoration:none;display:flex}.icon[data-v-e0cf6535]{font-size:1.8rem}a.btn[data-v-e0cf6535]{text-align:center;line-height:22px;text-decoration:none;display:block}:root{--bg:var(--tg-theme-bg-color,#fff);--bg2:var(--tg-theme-secondary-bg-color,#f1f3f7);--text:var(--tg-theme-text-color,#16181d);--hint:var(--tg-theme-hint-color,#6b7280);--link:var(--tg-theme-link-color,#2f6fed);--btn:var(--tg-theme-button-color,#2f6fed);--btn-text:var(--tg-theme-button-text-color,#fff);--danger:var(--tg-theme-destructive-text-color,#d93838);--ok:#1f9d55;--warn:#c77700;--line:color-mix(in srgb, var(--text) 12%, transparent);--radius:14px;--safe-top:calc(var(--tg-safe-area-inset-top,env(safe-area-inset-top,0px)) + var(--tg-content-safe-area-inset-top,0px));--safe-bottom:calc(var(--tg-safe-area-inset-bottom,env(safe-area-inset-bottom,0px)) + var(--tg-content-safe-area-inset-bottom,0px));--safe-left:var(--tg-safe-area-inset-left,env(safe-area-inset-left,0px));--safe-right:var(--tg-safe-area-inset-right,env(safe-area-inset-right,0px));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root[data-theme=dark]{--bg:var(--tg-theme-bg-color,#15171c);--bg2:var(--tg-theme-secondary-bg-color,#22252d);--text:var(--tg-theme-text-color,#eceef3);--hint:var(--tg-theme-hint-color,#9aa1ad);--link:var(--tg-theme-link-color,#6e9bff);--btn:var(--tg-theme-button-color,#4a80f5);--ok:#3ccf7e;--warn:#f0a93b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}body{min-height:var(--tg-viewport-stable-height,100vh);overscroll-behavior:none}button{font:inherit;color:inherit}a{color:var(--link)}.app{max-width:560px;padding:calc(8px + var(--safe-top)) calc(12px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(12px + var(--safe-left));margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.brand{color:var(--text);font-size:1.05rem;font-weight:800;text-decoration:none}.content{flex-direction:column;gap:12px;display:flex}.card{background:var(--bg2);border-radius:var(--radius);padding:14px}.card h2,.card h3{margin:0 0 8px}.center{text-align:center}.muted{color:var(--hint)}.small{font-size:.85rem}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.spread{justify-content:space-between}.grow{flex:1}.stack{flex-direction:column;gap:8px;display:flex}.mono{letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.btn{appearance:none;background:var(--btn);min-height:46px;color:var(--btn-text);cursor:pointer;touch-action:manipulation;border:0;border-radius:12px;padding:12px 16px;font-weight:700;transition:transform 60ms,opacity .12s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.secondary{background:color-mix(in srgb, var(--btn) 14%, var(--bg2));color:var(--text)}.btn.ghost{color:var(--link);border:1px solid var(--line);background:0 0}.btn.danger{background:color-mix(in srgb, var(--danger) 16%, var(--bg2));color:var(--danger)}.btn.block{width:100%}.btn.small{min-height:36px;padding:6px 12px;font-size:.9rem}.pill{background:var(--bg);border:1px solid var(--line);border-radius:99px;align-items:center;gap:4px;padding:3px 9px;font-size:.78rem;display:inline-flex}.pill.ok{color:var(--ok)}.pill.warn{color:var(--warn)}.pill.bad{color:var(--danger)}.banner{left:12px;right:12px;bottom:calc(12px + var(--safe-bottom));background:var(--bg2);border:1px solid var(--line);z-index:50;border-radius:12px;padding:12px;position:fixed}.banner.warn{border-color:var(--warn)}.toast{left:50%;bottom:calc(20px + var(--safe-bottom));background:var(--text);max-width:90vw;color:var(--bg);z-index:60;border-radius:12px;padding:10px 16px;font-size:.92rem;position:fixed;transform:translate(-50%)}.fade-enter-active,.fade-leave-active{transition:opacity .15s}.fade-enter-from,.fade-leave-to{opacity:0}input.text{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);border-radius:12px;padding:12px;font-size:1rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (min-width:700px){.app{padding-top:20px}}
