.app{min-height:100vh}.app-header{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--color-surface);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid var(--color-border)}.header-inner{max-width:1200px;margin:0 auto;height:60px;padding:0 24px;display:flex;align-items:center;gap:24px}.header-logo{font-size:16px;font-weight:700;color:var(--color-primary);text-decoration:none;letter-spacing:1px;white-space:nowrap}.header-nav{display:flex;align-items:center;gap:4px;flex:1;justify-content:center}.header-nav-item{padding:6px 16px;border-radius:20px;font-size:14px;color:var(--color-text-muted);text-decoration:none;transition:all .2s;font-weight:500}.header-nav-item:hover{background:#6b5ce714;color:var(--color-primary)}.header-nav-item.active{background:#6b5ce71f;color:var(--color-primary);font-weight:600}.header-right{display:flex;align-items:center;gap:12px}.header-login-btn{padding:6px 16px;background:var(--color-primary);color:#fff;border-radius:20px;font-size:13px;text-decoration:none;transition:opacity .2s}.header-login-btn:hover{opacity:.85}.header-theme-btn{border:none;background:transparent;cursor:pointer;font-size:20px;padding:4px 8px;border-radius:8px;transition:background .2s}.header-theme-btn:hover{background:#6b5ce714}.nav-user{position:relative;cursor:pointer;display:flex;align-items:center;padding:4px;border-radius:50%;transition:all .25s}.nav-user:hover,.nav-user.active{background:#6b5ce70f}.nav-user.active .nav-avatar{box-shadow:0 0 0 2px var(--color-primary)}.nav-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.nav-avatar-img{width:32px;height:32px;border-radius:50%;object-fit:cover}.user-dropdown{position:absolute;top:calc(100% + 10px);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 8px 32px #0000001f;min-width:160px;overflow:hidden;z-index:200;animation:dropdownIn .15s ease}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:8px;padding:11px 16px;font-size:14px;color:var(--color-text);text-decoration:none;transition:background .15s}.dropdown-item:hover{background:var(--color-bg-secondary)}.dropdown-item.logout{color:var(--color-danger)}.dropdown-divider{height:1px;background:var(--color-border);margin:4px 0}.main-content{min-height:100vh}.main-content.with-header{padding-top:60px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-around;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--color-surface);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-top:1px solid var(--color-border);box-shadow:0 -4px 20px #0000000f}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;border-radius:12px;text-decoration:none;color:var(--color-text-muted);transition:all .2s;flex:1}.bottom-nav-item .nav-icon{font-size:22px;transition:transform .2s}.bottom-nav-item .nav-label{font-size:10px;font-weight:500}.bottom-nav-item.active{color:var(--color-primary)}.bottom-nav-item.active .nav-icon{transform:scale(1.1)}.bottom-nav-item.write-btn .nav-icon{font-size:26px;color:var(--color-primary)}.app-footer{text-align:center;padding:20px 16px;font-size:12px;color:var(--color-text-muted);border-top:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;gap:6px}.footer-links{display:flex;justify-content:center;align-items:center;gap:8px}.app-footer a{color:var(--color-text-muted);text-decoration:none;transition:color .2s}.app-footer a:hover{color:var(--color-primary)}.app-footer .dot{opacity:.4}.footer-icp{font-size:11px;opacity:.7}@media (max-width: 768px){.header-nav,.header-theme-btn{display:none}.header-inner{justify-content:space-between;padding:0 16px;height:52px}.header-right{flex-shrink:0;margin-left:0}.main-content.with-header{padding-top:52px}.app-footer{padding-bottom:100px}}@media (min-width: 769px){.bottom-nav{display:none}}:root{--color-primary: #6b5ce7;--color-primary-dark: #5745c4;--color-primary-light: rgba(107, 92, 231, .08);--color-primary-rgb: 107, 92, 231;--color-success: #2ecc71;--color-warning: #f39c12;--color-danger: #e74c3c;--color-text-primary: #1a1a2e;--color-text-secondary: #555;--color-text-muted: #999;--color-bg: #faf9f7;--color-surface: #ffffff;--color-border: #e8e4f3;--shadow-card: 0 4px 24px rgba(0, 0, 0, .06);--shadow-elevated: 0 8px 40px rgba(0, 0, 0, .12)}[data-theme=dark]{--color-primary: #9b8dff;--color-primary-dark: #7c6ee0;--color-primary-light: rgba(155, 141, 255, .12);--color-primary-rgb: 155, 141, 255;--color-text-primary: #e8e4f0;--color-text-secondary: #a0a0b8;--color-text-muted: #666680;--color-bg: #0e0e1a;--color-surface: #1a1a2e;--color-border: #2a2a42;--shadow-card: 0 4px 24px rgba(0, 0, 0, .4);--shadow-elevated: 0 8px 40px rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;color:var(--color-text-primary);background:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary);text-decoration:none}img,video{max-width:100%;height:auto}button{cursor:pointer;font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ccc}.page-enter-active,.page-leave-active{transition:opacity .2s ease,transform .2s ease}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s infinite;border-radius:4px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;padding:60px 20px;color:var(--color-text-muted)}.empty-state .empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state p{font-size:15px;line-height:1.8}.card{background:var(--color-surface);border-radius:16px;padding:20px;box-shadow:var(--shadow-card)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border:none;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-ghost:hover{background:var(--color-bg)}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:40px;left:50%;transform:translate(-50%);background:#1a1a2ee6;color:#fff;padding:10px 24px;border-radius:50px;font-size:14px;z-index:99999;animation:toast-in .3s ease;pointer-events:none}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 768px){:root{font-size:15px}}
