*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--app-max-width: 100%;--bg: #FFFFFF;--surface: #FFFFFF;--surface-2: #F8F8F8;--surface-3: #F0F0F0;--primary: #000000;--primary-light: #F0F0F0;--primary-soft: rgba(0, 0, 0, .08);--primary-dark: #000000;--secondary: #000000;--secondary-light: #F0F0F0;--secondary-soft: rgba(0, 0, 0, .08);--accent: #000000;--accent-light: #F0F0F0;--accent-soft: rgba(0, 0, 0, .08);--success: #000000;--success-light: #F0F0F0;--warning: #000000;--warning-light: #F0F0F0;--error: #000000;--error-light: #F0F0F0;--text: #000000;--text-secondary: #444444;--text-muted: #888888;--text-on-primary: #FFFFFF;--border: #E5E5E5;--border-strong: #000000;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .03);--shadow-sm: 2px 2px 0 #000;--shadow-card: 3px 3px 0 #000;--shadow-elevated: 5px 5px 0 #000;--font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--safe-bottom: env(safe-area-inset-bottom, 0);--safe-top: env(safe-area-inset-top, 0)}html,body{min-height:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.5}a{color:var(--primary);text-decoration:none}#app-root{min-height:100vh;display:flex;flex-direction:column;width:100%;position:relative;background:var(--bg);overflow-x:hidden}.app-header{position:sticky;top:0;z-index:100;background:#ffffffeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:12px 16px;padding-top:calc(12px + var(--safe-top));display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--text);flex-shrink:0}#app-root.scroll-down .app-header{border-bottom-color:transparent}.logo-text{font-family:var(--font-display);font-size:22px;font-weight:900;color:var(--primary);letter-spacing:1px;cursor:pointer;line-height:1;transition:opacity .2s}.logo-text:hover{opacity:.7}.header-spacer{width:40px}.header-btn-notif,.header-btn-back{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--surface);border:2px solid var(--text);color:var(--text);cursor:pointer;padding:0;box-shadow:var(--shadow-sm);transition:all .15s ease}.header-btn-notif:hover,.header-btn-back:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-card)}.header-btn-notif{position:relative}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--text);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;padding:0 5px;font-family:var(--font-ui);font-weight:800;box-shadow:1px 1px #000}.main{flex:1;min-width:0;padding:0 0 calc(72px + var(--safe-bottom))}.main.no-tab{padding-bottom:0}.view-wrap{min-height:100%;display:flex;flex-direction:column}.tab-bar{position:fixed;bottom:0;left:0;width:100%;display:flex;background:#ffffffd1;border-top:2px solid var(--text);box-shadow:0 -4px 20px #0000000a;padding:8px 16px calc(8px + var(--safe-bottom));z-index:100;backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%)}#app-root.scroll-down .tab-bar{border-top-color:transparent}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;color:var(--text-muted);font-size:10px;cursor:pointer;font-family:var(--font-ui);font-weight:700;padding:4px 0;transition:color .2s ease;letter-spacing:.3px;position:relative}.tab-icon-wrap{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .2s ease;position:relative;border:2px solid transparent}.tab-item .icon{width:22px;height:22px;transition:transform .2s ease}.tab-item:active .icon{transform:scale(.92)}.tab-item.active{color:var(--primary)}.tab-item.active .tab-icon-wrap{background:var(--primary-soft);border-color:var(--text);box-shadow:var(--shadow-sm)}.tab-label{transition:transform .2s ease}.toast{position:fixed;bottom:96px;left:50%;transform:translate(-50%);background:var(--text);color:#fff;padding:12px 20px;border-radius:var(--radius-lg);font-size:14px;font-weight:700;z-index:999;pointer-events:none;white-space:nowrap;font-family:var(--font-ui);box-shadow:var(--shadow-card);display:inline-flex;align-items:center;gap:10px}.toast-dot{width:7px;height:7px;border-radius:50%;background:#fff;flex-shrink:0}.toast-enter-active,.toast-leave-active{transition:all .3s cubic-bezier(.22,1,.36,1)}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%) translateY(16px) scale(.96)}.icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon-sm{width:18px;height:18px}.icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.loading{text-align:center;padding:48px 20px;color:var(--text-secondary);font-size:14px;font-family:var(--font-body)}.empty{text-align:center;padding:48px 20px;color:var(--text-secondary);font-size:14px;font-family:var(--font-body);line-height:1.6}.page-enter-active,.page-leave-active{transition:all .25s cubic-bezier(.22,1,.36,1)}.page-enter-from{opacity:0;transform:translateY(16px)}.page-leave-to{opacity:0;transform:translateY(-8px)}.pop-enter-active,.pop-leave-active{transition:all .2s cubic-bezier(.34,1.56,.64,1)}.pop-enter-from,.pop-leave-to{opacity:0;transform:scale(.5)}.card{background:var(--surface);border:2px solid var(--text);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}
