:root{--theme-transition: background-color .3s ease, color .3s ease, border-color .3s ease}:root,[data-theme=dark]{--bg-primary: #0a0a0a;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--bg-elevated: #1f1f1f;--bg-overlay: rgba(0, 0, 0, .95);--surface-primary: rgba(255, 255, 255, .05);--surface-secondary: rgba(255, 255, 255, .1);--surface-tertiary: rgba(255, 255, 255, .15);--surface-hover: rgba(255, 255, 255, .08);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--text-tertiary: rgba(255, 255, 255, .5);--text-disabled: rgba(255, 255, 255, .3);--border-primary: rgba(255, 255, 255, .1);--border-secondary: rgba(255, 255, 255, .15);--border-tertiary: rgba(255, 255, 255, .2);--accent-primary: #00d4ff;--accent-secondary: #0099cc;--accent-gradient: linear-gradient(135deg, #00d4ff 0%, #0099cc 100%);--success: #00ff88;--warning: #ffaa00;--error: #ff4444;--info: #00d4ff;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 64px rgba(0, 0, 0, .6);--backdrop-blur: blur(20px);--backdrop-color: rgba(0, 0, 0, .8)}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #eeeeee;--bg-elevated: #fafafa;--bg-overlay: rgba(255, 255, 255, .98);--surface-primary: rgba(0, 0, 0, .03);--surface-secondary: rgba(0, 0, 0, .05);--surface-tertiary: rgba(0, 0, 0, .08);--surface-hover: rgba(0, 0, 0, .04);--text-primary: #0a0a0a;--text-secondary: rgba(0, 0, 0, .7);--text-tertiary: rgba(0, 0, 0, .5);--text-disabled: rgba(0, 0, 0, .3);--border-primary: rgba(0, 0, 0, .1);--border-secondary: rgba(0, 0, 0, .15);--border-tertiary: rgba(0, 0, 0, .2);--accent-primary: #0099cc;--accent-secondary: #0077aa;--accent-gradient: linear-gradient(135deg, #0099cc 0%, #0077aa 100%);--success: #00cc66;--warning: #ff8800;--error: #dd2222;--info: #0099cc;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--shadow-xl: 0 16px 64px rgba(0, 0, 0, .15);--backdrop-blur: blur(20px);--backdrop-color: rgba(255, 255, 255, .9)}*{transition:var(--theme-transition)}body{background-color:var(--bg-primary);color:var(--text-primary)}.theme-toggle{background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;font-size:1.2rem;padding:0;flex-shrink:0;z-index:1001}.theme-toggle:hover{background:var(--surface-secondary);transform:scale(1.1)}.theme-toggle:active{transform:scale(.95)}.theme-toggle .theme-icon{display:block;line-height:1}@media (min-width: 481px){.nav-container{display:flex;align-items:center;gap:1rem}.theme-toggle{order:3;margin-left:auto}.nav-menu{order:2}.logo{order:1}}@media (max-width: 480px){.nav-container{display:flex;align-items:center;justify-content:space-between}.theme-toggle{order:2}.mobile-menu-toggle{order:3}.logo{order:1}.nav-menu{order:4}}.nav{background:var(--backdrop-color);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);border-bottom:1px solid var(--border-primary)}.nav a{color:var(--text-primary)}.nav a:hover{color:var(--accent-primary)}[data-theme=light] .nav{background:#fffffff2;-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);border-bottom:1px solid var(--border-primary)}[data-theme=light] .logo{background:linear-gradient(135deg,#000,#333);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=light] .nav a{color:#0a0a0a!important}[data-theme=light] .nav a:hover{color:#09c!important}.card,.category-card,.post-card,.vote-card{background:var(--surface-primary);border:1px solid var(--border-primary);box-shadow:var(--shadow-sm)}.card:hover,.category-card:hover,.post-card:hover{background:var(--surface-secondary);box-shadow:var(--shadow-md)}[data-theme=light] .card,[data-theme=light] .category-card,[data-theme=light] .post-card,[data-theme=light] .vote-card{background:#fff;color:#0a0a0a;border:1px solid rgba(0,0,0,.12);box-shadow:0 2px 8px #00000014}[data-theme=light] .card h1,[data-theme=light] .card h2,[data-theme=light] .card h3,[data-theme=light] .card h4,[data-theme=light] .card p,[data-theme=light] .category-card h1,[data-theme=light] .category-card h2,[data-theme=light] .category-card h3,[data-theme=light] .category-card h4,[data-theme=light] .category-card p,[data-theme=light] .post-card h1,[data-theme=light] .post-card h2,[data-theme=light] .post-card h3,[data-theme=light] .post-card h4,[data-theme=light] .post-card p,[data-theme=light] .vote-card h1,[data-theme=light] .vote-card h2,[data-theme=light] .vote-card h3,[data-theme=light] .vote-card h4,[data-theme=light] .vote-card p{color:#0a0a0a}.btn-primary,.auth-submit-btn{background:var(--accent-gradient);color:#fff;border:none}.btn-primary:hover,.auth-submit-btn:hover{opacity:.9;transform:translateY(-2px)}.btn-secondary{background:var(--surface-primary);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover{background:var(--surface-secondary)}[data-theme=light] .btn-secondary{background:#fff;color:#0a0a0a;border:1px solid rgba(0,0,0,.2)}[data-theme=light] .btn-secondary:hover{background:#f5f5f5;border-color:#0000004d}input,textarea,select{background:var(--surface-primary);color:var(--text-primary);border:1px solid var(--border-primary)}input:focus,textarea:focus,select:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #00d4ff1a}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}[data-theme=light] input,[data-theme=light] textarea,[data-theme=light] select{background:#fff;color:#0a0a0a;border:1px solid rgba(0,0,0,.2)}[data-theme=light] input::placeholder,[data-theme=light] textarea::placeholder{color:#00000080}.auth-modal-overlay,.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--backdrop-color);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);display:flex;align-items:center;justify-content:center;z-index:10000;padding:2rem}.auth-modal-content,.modal-content{background:var(--bg-elevated);border:1px solid var(--border-primary);box-shadow:var(--shadow-xl)}.forum-container,.admin-container{background:var(--bg-primary)}.post-detail-content{color:var(--text-primary)}.post-detail-content code{background:var(--surface-secondary);color:var(--accent-primary)}.post-detail-content pre{background:var(--surface-primary);border:1px solid var(--border-primary)}.admin-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-primary)}.admin-nav a{color:var(--text-secondary)}.admin-nav a:hover,.admin-nav a.active{color:var(--accent-primary);background:var(--surface-primary)}.user-menu-button{background:var(--surface-primary);border:1px solid var(--border-primary);color:var(--text-primary)}.user-menu-dropdown{background:var(--bg-elevated);border:1px solid var(--border-primary);box-shadow:var(--shadow-lg)}.user-menu-item:hover{background:var(--surface-primary)}.user-badge,.badge{border:1px solid var(--border-primary)}.user-badge.verified,.badge-pinned{background:var(--success);color:#000}.user-badge.pending{background:var(--warning);color:#000}.user-badge.unverified{background:var(--surface-secondary);color:var(--text-secondary)}.loading-state{color:var(--text-secondary)}.empty-state{color:var(--text-tertiary)}.error-state,.error-message{color:var(--error)}a{color:var(--accent-primary)}a:hover{color:var(--accent-secondary)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--surface-tertiary);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--border-tertiary)}*{scrollbar-width:thin;scrollbar-color:var(--surface-tertiary) var(--bg-secondary)}::selection{background:var(--accent-primary);color:#fff}::-moz-selection{background:var(--accent-primary);color:#fff}*:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){:root,[data-theme=dark],[data-theme=light]{--border-primary: currentColor;--border-secondary: currentColor}}@media print{[data-theme=dark]{--bg-primary: #ffffff;--text-primary: #000000;--text-secondary: #333333}.theme-toggle,.nav-menu,button{display:none!important}}
