*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;overscroll-behavior:none;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--tg-secondary, #f1f1f1);color:var(--tg-text, #000);line-height:1.4;-webkit-font-smoothing:antialiased}:root{--tg-bg: #ffffff;--tg-text: #000000;--tg-hint: #707579;--tg-link: #2481cc;--tg-btn: #2481cc;--tg-btn-text: #ffffff;--tg-secondary: #f1f1f1;--tg-section: #ffffff;--tg-subtitle: #707579;--tg-destructive: #e53935;--tg-accent: #2481cc;--tg-header-bg: #ffffff}:root[data-theme=dark]{--tg-bg: #212121;--tg-text: #ffffff;--tg-hint: #aaaaaa;--tg-link: #6ab3f3;--tg-btn: #2b5278;--tg-btn-text: #ffffff;--tg-secondary: #181818;--tg-section: #2c2c2c;--tg-subtitle: #aaaaaa;--tg-destructive: #ef5350;--tg-accent: #6ab3f3;--tg-header-bg: #212121}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--tg-hint) 30%,transparent);border-radius:4px}.v-enter-active,.v-leave-active{transition:opacity .15s ease}.v-enter-from,.v-leave-to{opacity:0}.auth-state{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--tg-secondary);padding:24px}.auth-spinner{width:40px;height:40px;border:3px solid color-mix(in srgb,var(--tg-btn) 25%,transparent);border-top-color:var(--tg-btn);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.access-card{background:var(--tg-section);border-radius:20px;padding:36px 28px;max-width:340px;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;box-shadow:0 4px 32px #00000014}.access-icon{font-size:52px;line-height:1}.access-title{font-size:18px;font-weight:700;color:var(--tg-text);margin:4px 0 0}.access-hint{font-size:14px;color:var(--tg-hint);line-height:1.5;margin:0}.access-id{font-size:13px;color:var(--tg-hint);margin:4px 0 0}.access-id code{background:color-mix(in srgb,var(--tg-hint) 12%,transparent);padding:2px 8px;border-radius:6px;font-family:monospace;font-size:13px;color:var(--tg-text)}.retry-btn{margin-top:8px;padding:10px 28px;border-radius:12px;border:none;background:var(--tg-btn);color:var(--tg-btn-text);font-size:15px;font-weight:600;cursor:pointer}
