#app{min-height:100vh;width:100%;background:var(--app-bg);color:var(--app-text);font-family:PingFang SC,Helvetica Neue,Arial,sans-serif;position:relative}:root{--app-bg: #102d4c;--app-bg-secondary: #193f68;--app-card: rgba(35, 77, 110, .72);--app-primary: #00c8aa;--app-primary-light: #2bcbd3;--app-secondary: #c5a7d7;--app-text: #ffffff;--app-text-secondary: #9db5ca;--app-border: rgba(130, 180, 210, .25);--app-radius-sm: 6px;--app-radius-md: 10px;--app-radius-lg: 14px;--app-danger: #ff5d6c;--app-warning: #ffb347;--app-success: #00c8aa;--app-shadow: 0 4px 16px rgba(0, 0, 0, .25);--app-navbar-height: 56px;--app-tabbar-height: 56px}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;background:var(--app-bg);color:var(--app-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}#app{height:100%;display:flex;flex-direction:column}a{color:var(--app-primary);text-decoration:none}.app-card{background:var(--app-card);border:1px solid var(--app-border);border-radius:var(--app-radius-lg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:14px}.app-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;border:none;border-radius:var(--app-radius-md);background:linear-gradient(135deg,var(--app-primary),var(--app-primary-light));color:#102d4c;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s}.app-btn:active{opacity:.85}.app-btn:disabled{opacity:.5;cursor:not-allowed}.app-btn--secondary{background:var(--app-bg-secondary);color:var(--app-text);border:1px solid var(--app-border)}.app-btn--danger{background:var(--app-danger);color:#fff}.app-btn--block{width:100%}.app-input{width:100%;padding:10px 12px;border:1px solid var(--app-border);border-radius:var(--app-radius-md);background:#102d4c99;color:var(--app-text);font-size:14px;outline:none;transition:border-color .2s}.app-input::placeholder{color:var(--app-text-secondary)}.app-input:focus{border-color:var(--app-primary)}.app-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--app-radius-sm);font-size:12px;background:var(--app-bg-secondary);color:var(--app-text-secondary);border:1px solid var(--app-border)}.app-tag--primary{color:var(--app-primary);border-color:var(--app-primary)}.app-tag--success{color:var(--app-success);border-color:var(--app-success)}.app-tag--warning{color:var(--app-warning);border-color:var(--app-warning)}.app-tag--danger{color:var(--app-danger);border-color:var(--app-danger)}.app-list-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--app-border)}.app-list-row:last-child{border-bottom:none}.app-list-row .label{color:var(--app-text-secondary)}.app-list-row .value{color:var(--app-text);font-weight:500}.app-pagination{display:flex;justify-content:center;gap:8px;padding:16px 0}.app-pagination .page-btn{padding:6px 14px;border:1px solid var(--app-border);border-radius:var(--app-radius-sm);background:var(--app-bg-secondary);color:var(--app-text);cursor:pointer}.app-pagination .page-btn.active{background:var(--app-primary);color:#102d4c;border-color:var(--app-primary)}.app-pagination .page-btn:disabled{opacity:.4;cursor:not-allowed}.app-tabbar{position:fixed;bottom:0;left:0;right:0;height:var(--app-tabbar-height);display:flex;background:var(--app-bg-secondary);border-top:1px solid var(--app-border);z-index:100}.app-tabbar .tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--app-text-secondary);font-size:11px;cursor:pointer;transition:color .2s}.app-tabbar .tab-item.active{color:var(--app-primary)}.app-tabbar .tab-item .tab-icon{font-size:20px}.app-content{flex:1;overflow-y:auto;padding-bottom:calc(var(--app-tabbar-height) + env(safe-area-inset-bottom))}.desktop-only{display:none}@media (min-width: 768px){.mobile-only{display:none}.desktop-only{display:block}.app-tabbar{display:none}.app-content{padding-bottom:0}}.tg-iframe .app-tabbar{height:calc(var(--app-tabbar-height) + 8px)}
