*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: var(--tg-theme-bg-color, #0f0f13);--bg2: var(--tg-theme-secondary-bg-color, #1a1a22);--text: var(--tg-theme-text-color, #f0f0f5);--hint: var(--tg-theme-hint-color, #6b6b7e);--accent: var(--tg-theme-button-color, #6c63ff);--accent-text: var(--tg-theme-button-text-color, #fff);--danger: #ff4d6d;--green: #39d98a;--glass: rgba(255, 255, 255, .06);--glass-border: rgba(255, 255, 255, .1);--glass-hover: rgba(255, 255, 255, .1);--toast-bg: rgba(20, 20, 30, .92);--toast-border: rgba(255, 255, 255, .12);--sheet-bg: var(--tg-theme-secondary-bg-color, #1a1a22);--blur: blur(16px);--r: 16px;--r-sm: 10px}html,body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;overscroll-behavior:none;min-height:100dvh;scrollbar-gutter:stable}.tabs-wrap{position:sticky;top:0;z-index:10;padding:10px 16px;margin:0 -16px;background:var(--bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.tabs{display:flex;gap:4px;padding:4px;background:var(--sheet-bg);border:1px solid var(--glass-border);border-radius:14px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 8px;border:none;border-radius:10px;background:transparent;color:var(--hint);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.tab-btn.active{background:var(--accent);color:var(--accent-text);box-shadow:0 4px 16px #6c63ff59}.tab-btn:not(.active):active{background:var(--glass-hover);color:var(--text)}.glass-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);padding:16px;margin-bottom:10px}.conn-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);padding:10px 12px;margin-bottom:6px}.conn-delete-zone{position:absolute;top:1px;right:1px;bottom:1px;width:72px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:0 15px 15px 0}.conn-delete-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--danger);font-size:10px;font-weight:700;will-change:transform,opacity}.icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--glass-border);border-radius:var(--r-sm);background:var(--glass);color:var(--text);cursor:pointer;transition:all .15s ease;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.icon-btn:hover{background:var(--glass-hover);border-color:#ffffff2e}.icon-btn:active{transform:scale(.9);background:#ffffff1f}.icon-btn:disabled{opacity:.4;pointer-events:none}.icon-btn.danger{color:var(--danger)}.icon-btn.danger:hover{background:#ff4d6d26;border-color:#ff4d6d4d}.icon-btn.active{background:var(--accent);border-color:transparent;color:var(--accent-text);box-shadow:0 4px 12px #6c63ff59}.icon-btn.copied{background:#39d98a26;border-color:#39d98a4d;color:#39d98a}.btn-primary{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:none;border-radius:var(--r-sm);background:var(--accent);color:var(--accent-text);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:0 4px 16px #6c63ff4d}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:active{transform:scale(.97);filter:brightness(.95)}.btn-primary:disabled{opacity:.4;pointer-events:none;box-shadow:none}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 16px;flex:1;border:1px solid var(--glass-border);border-radius:var(--r-sm);background:var(--glass);color:var(--text);font-size:14px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);transition:all .15s ease}.btn-secondary:hover{background:var(--glass-hover)}.btn-secondary:active{transform:scale(.97)}.btn-confirm{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 16px;flex:2;border:none;border-radius:var(--r-sm);background:var(--accent);color:var(--accent-text);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:0 4px 14px #6c63ff4d}.btn-confirm:hover{filter:brightness(1.1)}.btn-confirm:active{transform:scale(.97)}.btn-connect{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 24px;border:none;border-radius:var(--r);background:linear-gradient(135deg,var(--accent) 0%,#a78bfa 100%);color:#fff;font-size:16px;font-weight:700;cursor:pointer;text-decoration:none;transition:all .2s ease;box-shadow:0 8px 32px #6c63ff73;letter-spacing:.01em}.btn-connect:hover{filter:brightness(1.08)}.btn-connect:active{transform:scale(.98);filter:brightness(.95)}.text-input{width:100%;padding:11px 14px;border:1px solid var(--glass-border);border-radius:var(--r-sm);background:var(--glass);color:var(--text);font-size:15px;outline:none;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);transition:border-color .2s,box-shadow .2s}.text-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6c63ff33}.rename-input{flex:1;padding:5px 10px;border:1px solid var(--accent);border-radius:8px;background:#6c63ff1a;color:var(--text);font-size:15px;font-weight:600;outline:none}.server-chip{display:flex;flex-direction:column;align-items:center;padding:10px 12px;border:1px solid var(--glass-border);border-radius:var(--r-sm);background:var(--glass);color:var(--hint);font-size:12px;font-weight:600;cursor:pointer;text-align:center;min-width:80px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);transition:all .15s ease}.server-chip:hover{background:var(--glass-hover);color:var(--text);border-color:#ffffff2e}.server-chip:active{transform:scale(.96)}.server-chip.selected{background:#6c63ff33;border-color:var(--accent);color:var(--text);box-shadow:0 0 0 1px #6c63ff4d}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;animation:fadeIn .2s ease}.sheet{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;background:var(--sheet-bg);border-top:1px solid var(--glass-border);border-radius:24px 24px 0 0;padding:12px 20px calc(24px + env(safe-area-inset-bottom,0px));z-index:101;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1)}.sheet-handle{width:36px;height:4px;background:var(--glass-border);border-radius:2px;margin:0 auto 20px}.qr-img{width:180px;height:180px;border-radius:12px;border:1px solid var(--glass-border);display:block;margin:0 auto}.progress-track{height:4px;background:var(--glass);border-radius:4px;overflow:hidden;margin-bottom:16px;border:1px solid var(--glass-border)}.progress-fill{height:100%;border-radius:4px;transition:width .5s cubic-bezier(.4,0,.2,1),background .3s}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.badge-green{background:#39d98a26;color:#39d98a}.badge-red{background:#ff4d6d26;color:#ff4d6d}.badge-yellow{background:#ffc40026;color:#ffc400}.badge-gray{background:var(--glass);color:var(--hint);border:1px solid var(--glass-border)}.section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--hint);margin-bottom:10px;padding:0 2px}.divider{height:1px;background:var(--glass-border);margin:12px 0}.proxy-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 20px 28px;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);margin-bottom:16px}.proxy-icon{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,var(--accent) 0%,#a78bfa 100%);display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:0 8px 24px #6c63ff66}.stat-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.stat-row+.stat-row{border-top:1px solid var(--glass-border)}.toast{position:fixed;bottom:calc(32px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%) translateY(12px);background:var(--toast-bg);border:1px solid var(--toast-border);color:#fff;padding:10px 16px;border-radius:12px;font-size:13px;font-weight:500;white-space:normal;max-width:min(320px,calc(100vw - 48px));text-align:center;line-height:1.4;z-index:999;pointer-events:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;transition:opacity .3s ease,transform .3s ease}.toast.toast-visible{opacity:1;transform:translate(-50%) translateY(0)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes tabIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.qr-wrap{overflow:hidden;max-height:0;opacity:0;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s ease,padding .3s ease;padding:0}.qr-wrap.qr-open{max-height:220px;opacity:1;padding:12px 0 4px}.no-select{-webkit-user-select:none;user-select:none}.conn-expand{overflow:hidden;opacity:0;margin-top:0;transition:height .3s cubic-bezier(.4,0,.2,1),opacity .22s ease,margin-top .3s cubic-bezier(.4,0,.2,1)}.conn-expand.open{opacity:1;margin-top:10px}.srv-carousel{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.srv-carousel::-webkit-scrollbar{display:none}.srv-card{flex:0 0 calc(100% - 32px);scroll-snap-align:center;min-width:0}.quota-req-btn{display:inline-flex;align-items:center;justify-content:center;min-width:110px;height:36px;padding:0 16px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s,transform .15s}.quota-req-btn:disabled{opacity:.5;pointer-events:none}.quota-req-btn:active{transform:scale(.96)}.quota-req-btn--danger{border:1px solid rgba(255,77,109,.35);background:#ff4d6d1f;color:var(--danger)}.req-card{animation:reqIn .22s cubic-bezier(.34,1.56,.64,1)}.req-card.req-card--leaving{animation:reqOut .2s ease forwards;pointer-events:none}@keyframes reqIn{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes reqOut{0%{opacity:1;transform:scale(1);max-height:200px}to{opacity:0;transform:scale(.96);max-height:0;padding-top:0;padding-bottom:0;margin-bottom:0}}.btn-approve{flex:2;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 16px;border:none;border-radius:var(--r-sm);background:linear-gradient(135deg,#39d98a,#22c55e);color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #39d98a59;transition:all .15s ease}.btn-approve:active{transform:scale(.97);filter:brightness(.95)}.btn-approve:disabled{opacity:.5;pointer-events:none;box-shadow:none}.user-expand{overflow:hidden;max-height:0;opacity:0;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s ease}.user-expand.open{max-height:800px;opacity:1}
