/* ===== GOOSE BLOG CSS v3 - CLEAN REWRITE ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

/* === THEME VARS === */
:root{--bg:#f5f5f7;--surface:rgba(255,255,255,.92);--surface2:rgba(240,240,245,.9);--text:#1a1a2e;--text2:#555570;--text3:#666680;--border:rgba(0,0,0,.06);--accent:#0055ff;--accent2:#00c0ff;--accent-glow:rgba(0,85,255,.25);--magenta:#dd0088;--green:#00aa66;--yellow:#cc9900;--nav-bg:rgba(245,245,247,.95);--code-bg:#f0f0f5;--tag-bg:rgba(0,85,255,.07);--particle-c:#0055ff;--grid-c:rgba(0,85,255,.04);--scan-c:rgba(0,0,0,.015)}
[data-theme="dark"]{--bg:#0a0a0f;--surface:rgba(12,12,22,.88);--surface2:rgba(20,20,35,.85);--text:#e0e0e8;--text2:#8899aa;--text3:#556677;--border:rgba(0,240,255,.08);--accent:#00f0ff;--accent2:#00ff9d;--accent-glow:rgba(0,240,255,.3);--magenta:#ff00aa;--green:#00ff9d;--yellow:#ffe500;--nav-bg:rgba(5,5,10,.85);--code-bg:#12121f;--tag-bg:rgba(0,240,255,.08);--particle-c:#00f0ff;--grid-c:rgba(0,240,255,.03);--scan-c:rgba(0,0,0,.03)}
html{scroll-behavior:smooth}
body{font-family:'Noto Sans SC','PingFang SC',system-ui,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;line-height:1.7;transition:background .4s,color .4s}

/* === EFFECTS === */
.grid-bg{position:fixed;inset:0;z-index:-5;background:linear-gradient(var(--grid-c) 1px,transparent 1px),linear-gradient(90deg,var(--grid-c) 1px,transparent 1px);background-size:60px 60px;animation:gridScroll 20s linear infinite;pointer-events:none}
@keyframes gridScroll{to{transform:translate(60px,60px)}}
.noise{position:fixed;inset:0;z-index:-4;opacity:.03;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px}
.scanlines{position:fixed;inset:0;z-index:9990;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,var(--scan-c) 2px,var(--scan-c) 4px)}
.corner-deco{position:fixed;width:70px;height:70px;pointer-events:none;z-index:100;opacity:.12}
.corner-deco.tl{top:0;left:0;border-top:1px solid var(--accent);border-left:1px solid var(--accent)}
.corner-deco.tr{top:0;right:0;border-top:1px solid var(--accent);border-right:1px solid var(--accent)}
.corner-deco.bl{bottom:0;left:0;border-bottom:1px solid var(--magenta);border-left:1px solid var(--magenta)}
.corner-deco.br{bottom:0;right:0;border-bottom:1px solid var(--magenta);border-right:1px solid var(--magenta)}
.hex-float{position:fixed;opacity:.02;z-index:-3;pointer-events:none;border:1px solid var(--accent);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}
.hex-float:nth-child(1){width:100px;height:100px;top:20%;right:8%;animation:hf 12s ease-in-out infinite}
.hex-float:nth-child(2){width:60px;height:60px;bottom:25%;left:5%;border-color:var(--magenta);animation:hf 16s ease-in-out infinite reverse}
@keyframes hf{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-30px) rotate(60deg)}}
.particle{position:absolute;width:2px;height:2px;background:var(--particle-c);border-radius:50%;opacity:0;animation:pf 4s infinite}
@keyframes pf{0%{opacity:0;transform:translateY(0) scale(1)}50%{opacity:.7}100%{opacity:0;transform:translateY(-120px) scale(0)}}
.cursor-dot{position:fixed;width:8px;height:8px;background:var(--accent);border-radius:50%;pointer-events:none;z-index:99999;mix-blend-mode:difference}
.cursor-ring{position:fixed;width:40px;height:40px;border:1.5px solid var(--accent);border-radius:50%;pointer-events:none;z-index:99998;transition:.15s ease-out}
.cursor-ring.hover{width:60px;height:60px;border-color:var(--magenta)}

/* === NAV === */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:.7rem 2rem;display:flex;justify-content:space-between;align-items:center;backdrop-filter:blur(24px) saturate(1.4);background:var(--nav-bg);border-bottom:1px solid var(--border);transition:padding .3s}
nav.scrolled{padding:.4rem 2rem}
.nav-logo{font-family:'Orbitron','Segoe UI',sans-serif;font-weight:900;font-size:1rem;color:var(--text);letter-spacing:2px;display:flex;align-items:center;gap:.5rem;text-decoration:none}
.nav-logo-img{height:24px;border-radius:4px;object-fit:contain}
.nav-right{display:flex;align-items:center;gap:1.2rem}
.nav-links{display:flex;gap:1rem;list-style:none;align-items:center}
.nav-links a,.nav-links>li>span{color:var(--text2);text-decoration:none;font-family:'JetBrains Mono',Consolas,monospace;font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:color .3s}
.nav-links a:hover,.nav-links>li>span:hover{color:var(--accent)}
.nav-dropdown{position:relative}.nav-dropdown-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:150px;background:var(--surface);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:6px;padding:.3rem 0;opacity:0;visibility:hidden;transition:.25s;margin-top:.5rem;box-shadow:0 8px 30px rgba(0,0,0,.1);z-index:1001;white-space:nowrap}
.nav-dropdown:hover .nav-dropdown-menu{opacity:1;visibility:visible;margin-top:.2rem}
.nav-dropdown-menu a{display:block;padding:.35rem .8rem;font-size:.73rem;color:var(--text2);letter-spacing:0;text-transform:none}
.nav-dropdown-menu a::after{display:none}.nav-dropdown-menu a:hover{background:var(--tag-bg);color:var(--accent)}
.nav-search{position:relative}.nav-search input{width:120px;padding:.25rem .5rem .25rem 1.5rem;font-size:.7rem;background:var(--surface2);border:1px solid var(--border);border-radius:10px;color:var(--text);outline:none;transition:width .3s}
.nav-search input:focus{width:180px;border-color:var(--accent)}.nav-search::before{content:'';position:absolute;left:.4rem;top:50%;transform:translateY(-50%);font-size:.6rem;pointer-events:none}
.nav-auth{display:flex;gap:.4rem}.nav-auth a{font-size:.68rem;color:var(--accent);text-decoration:none;padding:.2rem .5rem;border:1px solid var(--border);border-radius:4px;transition:.3s}
.nav-auth a:hover{border-color:var(--accent);background:var(--tag-bg)}
.theme-toggle{width:40px;height:22px;border-radius:11px;border:1.5px solid var(--border);background:var(--surface2);cursor:pointer;position:relative;flex-shrink:0}
.theme-toggle::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--accent);transition:.3s;box-shadow:0 0 6px var(--accent-glow)}
[data-theme="dark"] .theme-toggle::after{left:20px}
.theme-toggle .sun,.theme-toggle .moon{position:absolute;top:50%;transform:translateY(-50%);font-size:9px}
.theme-toggle .sun{left:4px}.theme-toggle .moon{right:4px;opacity:.4}
[data-theme="dark"] .theme-toggle .sun{opacity:.4}[data-theme="dark"] .theme-toggle .moon{opacity:1}

/* === HERO (full viewport, video inside) === */
.hero{position:relative;overflow:hidden;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem;background:#0a0a1a}
.hero-video{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}
.hero-video video,.hero-video img{width:100%;height:100%;object-fit:cover;display:block}
.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:var(--bg)}
.hero-particles{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:hidden}
.hero-badge,.hero-title,.hero-desc,.scroll-indicator{position:relative;z-index:3}
.hero-badge{font-family:'JetBrains Mono',Consolas,monospace;font-size:.65rem;color:var(--green);letter-spacing:4px;text-transform:uppercase;margin-bottom:1rem;opacity:0;animation:fu .8s .3s forwards;display:flex;align-items:center;gap:.5rem}
.hero-badge .dot{width:6px;height:6px;background:var(--green);border-radius:50%;animation:pulse 2s infinite;box-shadow:0 0 8px var(--green)}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}
.hero-title{opacity:0;animation:fu .8s .5s forwards}
.hero-title .mt{font-family:'Orbitron','Segoe UI',sans-serif;font-size:clamp(1.6rem,4.5vw,2.8rem);font-weight:900;color:var(--accent)}
.hero-title .st{font-family:'JetBrains Mono',Consolas,monospace;font-size:clamp(.55rem,1.3vw,.85rem);color:var(--text3);letter-spacing:4px;display:block;margin-top:.3rem}
.hero-desc{font-size:.95rem;color:var(--text2);max-width:460px;line-height:1.8;margin-top:.8rem;opacity:0;animation:fu .8s .7s forwards}
.scroll-indicator{position:absolute;bottom:2rem;z-index:3;display:flex;flex-direction:column;align-items:center;gap:.3rem;opacity:0;animation:fu .8s 1s forwards}
.scroll-indicator span{font-family:'JetBrains Mono',Consolas,monospace;font-size:.55rem;color:var(--text3);letter-spacing:3px}
.scroll-mouse{width:16px;height:26px;border:1.5px solid var(--text3);border-radius:8px;position:relative}
.scroll-mouse::before{content:'';position:absolute;top:4px;left:50%;transform:translateX(-50%);width:2px;height:5px;background:var(--accent);border-radius:2px;animation:sd 1.5s infinite}
@keyframes sd{0%{opacity:1;top:4px}100%{opacity:0;top:14px}}
@keyframes fu{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.glitch{position:relative;display:inline-block}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}
.glitch::before{color:var(--accent2);clip-path:inset(0 0 100% 0);animation:ga 4s infinite}
.glitch::after{color:var(--magenta);clip-path:inset(100% 0 0 0);animation:gb 3s infinite}
@keyframes ga{0%,90%,100%{clip-path:inset(0 0 100% 0)}92%{clip-path:inset(15% 0 55% 0);transform:translate(-3px,-1px)}94%{clip-path:inset(0 0 100% 0)}}
@keyframes gb{0%,90%,100%{clip-path:inset(100% 0 0 0)}93%{clip-path:inset(40% 0 30% 0);transform:translate(3px,1px)}95%{clip-path:inset(100% 0 0 0)}}

/* === CONTENT SECTION (below hero) === */
.content-section{background:var(--bg);position:relative;z-index:5;padding-top:1rem}
.container{max-width:1000px;margin:0 auto;padding:0 2rem}
.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);max-width:800px;margin:0 auto 2rem;padding:0 2rem}
.stat-item{text-align:center;padding:1rem .5rem;border-right:1px solid var(--border);transition:transform .3s}.stat-item:last-child{border-right:none}
.stat-item:hover{transform:scale(1.05)}
.stat-num{font-family:'Orbitron','Segoe UI',sans-serif;font-size:1.5rem;font-weight:900;color:var(--accent);text-shadow:0 0 20px var(--accent-glow)}
.stat-label{font-size:.68rem;color:var(--text3)}
.section-tag{font-family:'JetBrains Mono',Consolas,monospace;font-size:.6rem;color:var(--magenta);letter-spacing:3px;text-transform:uppercase;margin-bottom:.3rem}
.section-title{font-family:'Orbitron','Segoe UI',sans-serif;font-size:clamp(1rem,2.5vw,1.4rem);font-weight:700}

/* === POST CARDS === */
.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.8rem;margin-bottom:2rem}
.post-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:.4s cubic-bezier(.4,0,.2,1);text-decoration:none;color:inherit;display:block}
.post-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.1)}
[data-theme="dark"] .post-card:hover{box-shadow:0 12px 40px rgba(0,240,255,.06)}
.post-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:.4s}
.post-card:hover::before{opacity:1}
.post-card-cover{width:100%;height:140px;object-fit:cover;display:block;transition:transform .4s}
.post-card:hover .post-card-cover{transform:scale(1.05)}
.post-card-body{padding:.8rem 1rem}
.pin-badge{display:inline-block;font-size:.55rem;padding:.1rem .4rem;border-radius:3px;background:rgba(221,0,136,.1);color:var(--magenta);border:1px solid rgba(221,0,136,.15);margin-bottom:.3rem}
.post-card h3{font-size:.88rem;font-weight:700;margin-bottom:.2rem;line-height:1.4}
.excerpt{font-size:.75rem;color:var(--text2);line-height:1.5;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.meta{display:flex;justify-content:space-between;padding-top:.4rem;border-top:1px solid var(--border);font-family:'JetBrains Mono',Consolas,monospace;font-size:.6rem;color:var(--text3)}

/* === POST PAGE === */
.post-layout{max-width:1100px;margin:4.5rem auto 2rem;padding:0 2rem;display:grid;grid-template-columns:1fr 240px;gap:2rem;align-items:start}
.post-layout.trainer-content{margin-top:1.2rem}
.post-main{min-width:0}
.post-main h1{font-size:clamp(1.3rem,3vw,1.9rem);font-weight:700;margin-bottom:.5rem}
.post-content{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.5rem 2rem;line-height:1.9;font-size:.92rem;overflow-wrap:break-word;word-break:break-word}
.post-content h2{font-size:1.2rem;margin:1.5rem 0 .5rem;padding-bottom:.3rem;border-bottom:1px solid var(--border)}
.post-content h3{font-size:1.05rem;margin:1.2rem 0 .4rem}
.post-content p{margin-bottom:.7rem}
.post-content a{color:var(--accent)}
.post-content img{max-width:100%;height:auto;border-radius:6px;margin:.6rem 0}
.post-content code{font-family:'JetBrains Mono',Consolas,monospace;font-size:.83em;background:var(--code-bg);padding:.1rem .3rem;border-radius:3px}
.post-content pre{background:#282c34;color:#abb2bf;padding:12px 12px 12px 48px;border-radius:6px;overflow-x:auto;font-family:'JetBrains Mono',Consolas,monospace;font-size:13px;line-height:1.6;position:relative;counter-reset:codeline;margin:.8rem 0}
.post-content pre code{background:transparent;padding:0;color:inherit;font-size:inherit}
.post-content pre .ln{display:block;counter-increment:codeline}
.post-content pre .ln::before{content:counter(codeline);position:absolute;left:8px;width:30px;text-align:right;color:#636d83;font-size:11px}
.post-content blockquote{border-left:3px solid var(--accent);padding:.5rem .8rem;margin:.7rem 0;background:var(--tag-bg);border-radius:0 6px 6px 0;color:var(--text2)}
.post-content ul{padding-left:1.3rem;margin-bottom:.6rem}.post-content li{margin-bottom:.2rem}
.post-content hr{border:none;border-top:1px solid var(--border);margin:1.2rem 0}
.post-content table{border-collapse:collapse;width:100%;margin:.6rem 0}.post-content td,.post-content th{border:1px solid var(--border);padding:5px 8px}
.post-sidebar{position:sticky;top:5rem;display:flex;flex-direction:column;gap:.8rem}
.side-box{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.8rem;position:relative;overflow:hidden;transition:border-color .3s}
.side-box:hover{border-color:var(--accent)}
.side-box::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent2));opacity:.5}
.side-box h4{font-size:.78rem;margin-bottom:.5rem;color:var(--accent);font-weight:700}
.side-box a{display:block;padding:.3rem 0;font-size:.72rem;color:var(--text2);text-decoration:none;border-bottom:1px solid var(--border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s}
.side-box a:last-child{border-bottom:none}.side-box a:hover{color:var(--accent)}
.hot-articles .rank{display:inline-block;width:16px;height:16px;background:var(--tag-bg);border-radius:3px;text-align:center;line-height:16px;font-size:.55rem;color:var(--accent);margin-right:.3rem;font-weight:700;transition:all .3s}
.hot-articles a:nth-child(1) .rank{background:linear-gradient(135deg,rgba(255,215,0,.2),rgba(255,180,0,.1));color:#e6a800;border:1px solid rgba(255,215,0,.3)}
.hot-articles a:nth-child(2) .rank{background:rgba(255,50,50,.1);color:#f55;border:1px solid rgba(255,50,50,.15)}
.hot-articles a:nth-child(3) .rank{background:rgba(255,150,0,.1);color:#f90;border:1px solid rgba(255,150,0,.15)}
.hot-articles a:nth-child(4) .rank{background:rgba(255,200,0,.1);color:#cc0}

/* === PAGINATION === */
.sort-btn{padding:.25rem .6rem;font-size:.7rem;font-weight:600;border:1.5px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text3);cursor:pointer;transition:all .2s;display:inline-flex;align-items:center}
.sort-btn:hover{border-color:var(--accent);color:var(--accent)}
.sort-btn.active{border-color:var(--accent);color:var(--accent);background:var(--tag-bg);font-weight:700}
.pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin:1.5rem 0 3rem}
.pagination a,.pagination span{font-family:'JetBrains Mono',Consolas,monospace;font-size:.68rem;padding:.3rem .6rem;border:1px solid var(--border);border-radius:3px;color:var(--text3);text-decoration:none;transition:.3s}
.pagination a:hover{border-color:var(--accent);color:var(--accent);background:var(--tag-bg);transform:translateY(-1px)}
.pagination .current{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px var(--accent-glow)}

/* === FOOTER === */
footer{border-top:1px solid var(--border);padding:1.5rem;text-align:center;margin-top:1rem}
.footer-brand{font-family:'Orbitron','Segoe UI',sans-serif;font-size:.8rem;color:var(--accent);margin-bottom:.3rem}
.footer-copy{font-size:.6rem;color:var(--text3);opacity:.6}
.footer-extra{display:flex;justify-content:center;gap:1.2rem;flex-wrap:wrap;margin-bottom:.5rem}
.footer-extra a{font-size:.68rem;color:var(--text3);text-decoration:none;transition:color .3s}.footer-extra a:hover{color:var(--accent)}
.footer-icp{font-size:.55rem;color:var(--text3);opacity:.4;margin-top:.2rem}
.footer-ad{max-width:800px;margin:0 auto .8rem;text-align:center}

/* === KANBAN + DANMAKU === */
.kanban{position:fixed;right:1rem;bottom:1rem;z-index:999;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}
.kanban-toggle{width:44px;height:44px;border-radius:50%;background:linear-gradient(rgba(0,0,0,.15),rgba(0,0,0,.08)),linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;font-size:1.2rem;cursor:pointer;box-shadow:0 4px 16px var(--accent-glow);display:flex;align-items:center;justify-content:center;transition:.3s}
[data-theme="dark"] .kanban-toggle{color:#fff}.kanban-toggle:hover{transform:scale(1.1)}
.kanban-panel{background:var(--surface);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:10px;padding:.7rem;min-width:160px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.3s;box-shadow:0 8px 30px rgba(0,0,0,.12)}
.kanban-panel.open{opacity:1;visibility:visible;transform:translateY(0)}
.kanban-panel a{display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem;font-size:.75rem;color:var(--text2);text-decoration:none;border-radius:4px;transition:.2s}
.kanban-panel a:hover{background:var(--tag-bg);color:var(--accent)}
.danmaku-btn{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);z-index:998;background:linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.1)),linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;padding:.45rem 1rem;border-radius:18px;cursor:pointer;font-size:.78rem;box-shadow:0 4px 12px var(--accent-glow);display:flex;align-items:center;gap:.3rem;transition:.3s;text-shadow:0 1px 3px rgba(0,0,0,.4)}
[data-theme="dark"] .danmaku-btn{color:#fff}.danmaku-btn:hover{transform:translateX(-50%) translateY(-2px)}
.danmaku-panel{position:fixed;bottom:3.2rem;left:50%;transform:translateX(-50%);z-index:998;background:var(--surface);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:8px;padding:.6rem;min-width:280px;display:none;box-shadow:0 8px 30px rgba(0,0,0,.15)}
.danmaku-panel.open{display:block}

/* === ADMIN === */
.admin-layout{margin-top:4rem;display:grid;grid-template-columns:230px 1fr;gap:2rem;max-width:1300px;margin:4rem auto 2rem;padding:0 2rem;align-items:start}

/* -- Admin Sidebar -- */
.admin-sidebar{position:sticky;top:4.5rem}
.admin-sidebar>div{padding:1rem .6rem;border-radius:10px}
.admin-sidebar div[style*="font-size"]{font-size:.72rem !important;font-weight:700;letter-spacing:3px;padding:.6rem .8rem .4rem;margin-bottom:.2rem;margin-top:.3rem;color:var(--accent);opacity:.85}
.admin-sidebar a{display:flex;align-items:center;gap:.5rem;padding:.55rem .9rem;font-size:.88rem;color:var(--text2);text-decoration:none;border-radius:6px;margin-bottom:.2rem;transition:all .25s;border-left:3px solid transparent;font-weight:500}
.admin-sidebar a:hover{background:var(--tag-bg);color:var(--accent);border-left-color:var(--accent);transform:translateX(3px)}
.admin-sidebar a.active{background:linear-gradient(135deg,var(--tag-bg),rgba(0,85,255,.12));color:var(--accent);border-left-color:var(--accent);font-weight:700;box-shadow:0 2px 8px var(--accent-glow)}
[data-theme="dark"] .admin-sidebar a.active{background:linear-gradient(135deg,rgba(0,240,255,.08),rgba(0,240,255,.04))}
.admin-sidebar a span[style*="background"]{font-size:.6rem !important;padding:.1rem .35rem !important;border-radius:8px !important;font-weight:700}

/* -- Admin Main -- */
.admin-main{min-width:0}
.admin-main h2{font-family:'Orbitron','Segoe UI',sans-serif;font-size:1.35rem;margin-bottom:1.5rem;letter-spacing:1px;padding-bottom:.6rem;border-bottom:2px solid var(--border);display:flex;align-items:center;gap:.5rem}

/* -- Card Box -- */
.card-box{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.6rem 2rem;margin-bottom:1.5rem;position:relative;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.04)}
[data-theme="dark"] .card-box{box-shadow:0 2px 12px rgba(0,240,255,.03)}
.card-box::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent2),var(--magenta));border-radius:10px 10px 0 0;opacity:.7}
.card-box h3{font-size:1rem;margin-bottom:1rem;color:var(--accent);font-weight:700;letter-spacing:.5px;padding-bottom:.5rem;border-bottom:1px dashed var(--border)}

/* -- Forms -- */
.form-group{margin-bottom:1.1rem}
.form-group label{display:block;font-size:.9rem;color:var(--text);margin-bottom:.4rem;font-weight:600;letter-spacing:.3px}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:.7rem 1rem;font-size:.95rem;font-family:inherit;background:var(--surface2);border:1.5px solid var(--border);border-radius:6px;color:var(--text);outline:none;transition:all .3s}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:var(--surface)}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text3);font-size:.88rem}
.form-group textarea{min-height:300px;font-family:'JetBrains Mono',Consolas,monospace;font-size:.88rem;resize:vertical;line-height:1.7}
.form-group select{cursor:pointer;appearance:auto}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}

/* -- Buttons -- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1.3rem;font-weight:700;font-size:.78rem;letter-spacing:1px;text-transform:uppercase;border:none;border-radius:6px;cursor:pointer;transition:all .3s;text-decoration:none}
.btn-accent{background:linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.1)),linear-gradient(135deg,var(--accent),var(--accent2));color:#fff!important;box-shadow:0 2px 8px var(--accent-glow);text-shadow:0 1px 3px rgba(0,0,0,.4)}
.btn-accent:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--accent-glow);background:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.02)),linear-gradient(135deg,var(--accent),var(--accent2))}
.btn-danger{background:rgba(255,50,50,.08);color:#f55;border:1.5px solid rgba(255,50,50,.25);font-weight:600}
.btn-danger:hover{background:rgba(255,50,50,.15);transform:translateY(-1px)}
.btn-sm{padding:.35rem .7rem;font-size:.7rem;border-radius:4px}

/* -- Alerts -- */
.alert{padding:.8rem 1.2rem;border-radius:6px;margin-bottom:1.3rem;font-size:.92rem;font-weight:500;display:flex;align-items:center;gap:.5rem}
.alert-ok{background:rgba(0,170,102,.1);color:var(--green);border:1px solid rgba(0,170,102,.2)}
.alert-ok::before{content:'✓';font-weight:700;font-size:1.05rem}
.alert-err{background:rgba(255,50,50,.1);color:#f55;border:1px solid rgba(255,50,50,.2)}
.alert-err::before{content:'✕';font-weight:700;font-size:1.05rem}

/* -- Tables -- */
.table-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--border)}
.admin-table{width:100%;border-collapse:collapse}
.admin-table th,.admin-table td{padding:.7rem .9rem;text-align:left;border-bottom:1px solid var(--border);font-size:.9rem}
.admin-table th{font-size:.78rem;color:var(--accent);letter-spacing:1.5px;text-transform:uppercase;font-weight:700;background:var(--surface2);position:sticky;top:0}
.admin-table tr:nth-child(even){background:var(--surface2)}
.admin-table tr:hover{background:var(--tag-bg)}
.admin-table tr:last-child td{border-bottom:none}
.admin-table .actions{display:flex;gap:.4rem;flex-wrap:wrap}
.admin-table a{transition:color .2s}

/* -- Checkbox & Misc -- */
.checkbox-group{display:flex;align-items:center;gap:.5rem;font-size:.92rem;font-weight:500}
.checkbox-group input[type="checkbox"]{accent-color:var(--accent);width:18px;height:18px;cursor:pointer}

/* -- Login Box -- */
.login-box{max-width:400px;margin:10vh auto;padding:2.5rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 40px rgba(0,0,0,.08);position:relative;overflow:hidden}
[data-theme="dark"] .login-box{box-shadow:0 8px 40px rgba(0,240,255,.05)}
.login-box::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent2),var(--magenta))}
.login-box h2{text-align:center;margin-bottom:1.5rem;color:var(--accent);font-size:1.15rem;font-weight:700}
.captcha-row{display:grid;grid-template-columns:180px 1fr;gap:.65rem;align-items:center}
.captcha-row img{display:block;width:180px;height:54px;object-fit:cover;border-radius:7px;cursor:pointer;border:1px solid var(--border);background:#111827;transition:opacity .3s,transform .2s}
.captcha-row img:hover{opacity:.9;transform:translateY(-1px)}.captcha-row input{height:54px}.captcha-help{display:block;margin-top:.35rem;color:var(--text3);font-size:.68rem}@media(max-width:520px){.captcha-row{grid-template-columns:1fr}.captcha-row img{width:100%;max-width:220px}}

/* -- Video Sequence Items -- */
.vid-seq-item{display:flex;gap:.5rem;align-items:center;padding:.6rem .8rem;border:1.5px solid var(--border);border-radius:6px;margin-bottom:.4rem;font-size:.88rem;background:var(--surface2);flex-wrap:wrap;transition:border-color .3s}
.vid-seq-item:hover{border-color:var(--accent)}
.vid-seq-item input[type="text"]{flex:1;min-width:100px;font-size:.85rem;padding:.4rem .6rem;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text)}
.reveal{opacity:0;transform:translateY(20px);transition:.6s cubic-bezier(.4,0,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}

/* === RESPONSIVE === */
@media(max-width:900px){.post-layout,.admin-layout{grid-template-columns:1fr;padding:0 1rem}.post-sidebar,.admin-sidebar{position:static;margin-bottom:1rem}.admin-sidebar>div{display:flex;flex-wrap:wrap;gap:.3rem;padding:.6rem}.admin-sidebar a{flex:0 0 auto}.container>div:first-child{grid-template-columns:1fr}}

/* Lock Box - Envelope */

/* Unlocked envelope */
.comment-highlight{animation:commentPulse .6s ease 2}.comment-highlight{animation:commentPulse .5s ease 2}

/* Month grouping headers */
.month-header{display:flex;align-items:center;gap:.8rem;margin:1.5rem 0 .8rem}
.month-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.month-tag{font-family:'Orbitron','JetBrains Mono',monospace;font-size:.7rem;color:var(--accent);letter-spacing:3px;white-space:nowrap;padding:.25rem .8rem;border:1px solid var(--accent);border-radius:20px;background:var(--tag-bg);position:relative;overflow:hidden}
.month-tag::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:shimmer 3s infinite}
@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

/* Snow effect */
.snowflake{position:fixed;top:-10px;z-index:9995;pointer-events:none;color:#fff;font-size:1rem;text-shadow:0 0 3px rgba(255,255,255,.5);animation:snowfall linear infinite;opacity:.7}
@keyframes snowfall{to{transform:translateY(105vh) rotate(720deg)}}

/* Horizontal article cards (WordPress style) */
.hcard{display:grid;grid-template-columns:220px 1fr;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:.4s cubic-bezier(.4,0,.2,1);margin-bottom:.8rem;position:relative}
.hcard:hover{transform:translateY(-3px);box-shadow:0 10px 35px rgba(0,0,0,.08)}
[data-theme="dark"] .hcard:hover{box-shadow:0 10px 35px rgba(0,240,255,.05)}
.hcard-img{overflow:hidden;height:100%;min-height:140px;position:relative}
.hcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.hcard:hover .hcard-img img{transform:scale(1.05)}
/* Subtle gradient overlay on image */
.hcard-img::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 60%,rgba(0,0,0,.08) 100%);pointer-events:none;transition:opacity .3s}
.hcard:hover .hcard-img::after{opacity:0}
.hcard-body{padding:1rem 1.2rem;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1}
/* Decorative line on right edge */
.hcard-body::after{content:'';position:absolute;right:0;top:15%;bottom:15%;width:2px;background:linear-gradient(180deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .4s}
.hcard:hover .hcard-body::after{opacity:.2}
@media(max-width:640px){.hcard{grid-template-columns:1fr}.hcard-img{height:160px}}

/* Dark mode fixes */
[data-theme="dark"] .side-box,[data-theme="dark"] .post-card,[data-theme="dark"] .hcard{border-color:rgba(0,240,255,.12)}
[data-theme="dark"] .post-content{border-color:rgba(0,240,255,.1)}
[data-theme="dark"] .month-tag{border-color:var(--accent);color:var(--accent)}
/* Danmaku button */
.danmaku-btn{color:#fff!important;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3)}
[data-theme="dark"] .danmaku-btn{color:#fff!important}

/* Dark mode fixes */
[data-theme="dark"] .post-card,[data-theme="dark"] .hcard,[data-theme="dark"] .side-box,[data-theme="dark"] .card-box{border-color:rgba(0,240,255,.12)}
[data-theme="dark"] .hcard:hover,[data-theme="dark"] .post-card:hover{border-color:rgba(0,240,255,.25);box-shadow:0 8px 30px rgba(0,240,255,.06)}
/* Danmaku button - always readable */
/* Better dark mode defaults */
[data-theme="dark"] .month-tag{border-color:var(--accent);color:var(--accent)}
[data-theme="dark"] .pin-badge{background:rgba(255,0,170,.15);border-color:rgba(255,0,170,.25)}
@media(max-width:1100px){div[style*="grid-template-columns:300px"]{grid-template-columns:1fr!important}}

/* Style: Cyber-Dao (赛博朋克+道家) */
.announce-cyber-dao{background:linear-gradient(135deg,rgba(10,10,30,.9),rgba(20,10,40,.85));color:#e0d8f0;border:1px solid rgba(128,0,255,.2);box-shadow:0 0 20px rgba(128,0,255,.08),inset 0 0 30px rgba(128,0,255,.03)}
.announce-cyber-dao .announce-header{color:#bf80ff}
.announce-cyber-dao .announce-icon{font-size:1.1rem;animation:spin 8s linear infinite}
.announce-cyber-dao .announce-dot{background:#bf80ff;box-shadow:0 0 6px #bf80ff}
.announce-cyber-dao .announce-border{border:1px solid transparent;background:linear-gradient(135deg,rgba(128,0,255,.3),transparent,rgba(0,255,200,.2)) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.announce-cyber-dao::before{content:'☰';position:absolute;right:10px;top:10px;font-size:2.5rem;opacity:.04;color:#bf80ff}
.announce-cyber-dao::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#bf80ff,transparent);animation:scanH 4s infinite}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes scanH{0%,100%{opacity:0}50%{opacity:.6}}

/* Style: Neon (霓虹) */
.announce-neon{background:rgba(0,0,0,.85);color:#0ff;border:1px solid rgba(0,255,255,.15);box-shadow:0 0 15px rgba(0,255,255,.05)}
.announce-neon .announce-header{color:#0ff}
.announce-neon .announce-icon{font-size:1rem}
.announce-neon .announce-dot{background:#0ff;box-shadow:0 0 6px #0ff}
.announce-neon::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,255,.03),transparent);animation:neonSweep 6s infinite}
}

/* Style: Ink (水墨) */
.announce-ink{background:linear-gradient(135deg,#f8f5f0,#ede8e0);color:#3a3530;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.04)}
.announce-ink .announce-header{color:#8b6914;font-family:'Noto Serif SC',serif}
.announce-ink .announce-icon{font-size:1.1rem;color:#8b6914}
.announce-ink .announce-body{font-family:'Noto Serif SC','SimSun',serif}
.announce-ink .announce-dot{background:#8b6914}
.announce-ink .announce-footer{color:#8b6914}
[data-theme="dark"] .announce-ink{background:linear-gradient(135deg,#1a1815,#252018);color:#d4c9b0;border-color:rgba(139,105,20,.15)}

/* Style: Glitch (故障) */
.announce-glitch{background:#0a0a0f;color:#0f0;border:1px solid rgba(0,255,0,.1);font-family:'JetBrains Mono',monospace}
.announce-glitch .announce-header{color:#0f0;animation:glitchFlicker 3s infinite}
.announce-glitch .announce-icon{content:'>';}
.announce-glitch .announce-dot{background:#0f0;box-shadow:0 0 6px #0f0}
.announce-glitch .announce-body{font-size:.78rem}
@keyframes glitchFlicker{0%,97%,100%{opacity:1}98%{opacity:.3}99%{opacity:.8}}
/* === FLOATING ANNOUNCEMENT === */
.float-ann{position:fixed;width:220px;z-index:9990;border-radius:10px;padding:.7rem .8rem;animation:fadeSlideUp .5s ease;box-shadow:0 8px 30px rgba(0,0,0,.12)}
.fa-close{position:absolute;top:4px;right:8px;cursor:pointer;font-size:.9rem;opacity:.4;transition:.2s;line-height:1}.fa-close:hover{opacity:1}
.fa-head{font-size:.65rem;font-weight:700;letter-spacing:2px;margin-bottom:.3rem;display:flex;align-items:center;gap:.3rem}
.fa-dot{width:5px;height:5px;border-radius:50%;animation:pulse 2s infinite}
.fa-body{font-size:.72rem;line-height:1.6}
@keyframes fadeSlideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

.fa-tabs{display:flex;gap:0;margin-bottom:.4rem;border-bottom:1px solid rgba(128,128,128,.15);padding-bottom:0}
.fa-tab{background:none;border:none;padding:.25rem .5rem;font-size:.6rem;color:var(--text3);cursor:pointer;border-bottom:2px solid transparent;transition:.2s;font-weight:600}
.fa-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.fa-tab:hover{color:var(--accent)}
.fa-page{font-size:.72rem;line-height:1.6;padding-top:.3rem}
.fa-page img{max-width:100%;border-radius:6px;margin:.3rem 0}
.fa-page a{color:var(--accent);text-decoration:none}

/* ===== S1: 赛博道 (CyberTao) ===== */
.float-ann-s1{background:linear-gradient(160deg,#080012,#12002a,#0a0018);border:1px solid rgba(160,80,255,.1);color:#d0c0f0;overflow:hidden;position:relative}
.float-ann-s1 .fa-head{color:#c080ff;font-family:'Noto Serif SC',serif;position:relative;z-index:2}
.float-ann-s1 .fa-dot{background:#c080ff;box-shadow:0 0 8px #c080ff,0 0 16px rgba(192,128,255,.3)}
.float-ann-s1 .fa-page{position:relative;z-index:2}
.float-ann-s1 .fa-tabs{border-color:rgba(192,128,255,.12);position:relative;z-index:2}
.float-ann-s1 .fa-tab.active{color:#c080ff;border-color:#c080ff}
/* Tai Chi symbol CSS */
.float-ann-s1::before{content:'';position:absolute;right:-15px;top:50%;transform:translateY(-50%);width:80px;height:80px;border-radius:50%;background:linear-gradient(to right,rgba(200,150,255,.06) 50%,rgba(20,0,40,.3) 50%);animation:spin 25s linear infinite;opacity:.5}
.float-ann-s1::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(200,120,255,.4) 30%,rgba(255,120,200,.3) 70%,transparent);animation:scanH 6s ease infinite}
/* Hexagram decoration lines */
.float-ann-s1 .fa-close{color:rgba(200,150,255,.4)}
.float-ann-s1 .fa-pages::before{content:'☰ ☷';position:absolute;bottom:4px;right:6px;font-size:.5rem;opacity:.08;letter-spacing:4px;color:#c080ff}

/* ===== S2: 樱花 (Sakura) ===== */
.float-ann-s2{background:linear-gradient(150deg,#fff6f9,#ffe8f0,#fff2f6);border:1px solid rgba(255,150,180,.1);color:#5a3040;overflow:hidden;position:relative}
.float-ann-s2 .fa-head{color:#e06090;font-weight:800}
.float-ann-s2 .fa-dot{background:#ff6b9d;box-shadow:0 0 6px rgba(255,107,157,.4)}
.float-ann-s2 .fa-tabs{border-color:rgba(255,100,150,.1)}
.float-ann-s2 .fa-tab.active{color:#e06090;border-color:#e06090}
/* Tree trunk */
.float-ann-s2::before{content:'';position:absolute;right:12px;bottom:0;width:3px;height:60%;background:linear-gradient(180deg,transparent,rgba(120,70,50,.08),rgba(120,70,50,.15));border-radius:2px}
/* Branch */
.float-ann-s2::after{content:'';position:absolute;right:8px;top:38%;width:20px;height:2px;background:rgba(120,70,50,.08);transform:rotate(-25deg);border-radius:2px}
/* Petals via box-shadow on close button */
.float-ann-s2 .fa-close{color:rgba(224,96,144,.3)}
.float-ann-s2 .fa-pages{position:relative}
.float-ann-s2 .fa-pages::before{content:'🌸';position:absolute;right:18px;top:-2px;font-size:.7rem;opacity:.3;animation:sakuraDrift 8s ease-in-out infinite}
.float-ann-s2 .fa-pages::after{content:'🌸';position:absolute;right:6px;top:8px;font-size:.45rem;opacity:.2;animation:sakuraDrift 10s ease-in-out 3s infinite}
@keyframes sakuraDrift{0%,100%{transform:translate(0,0) rotate(0);opacity:.3}25%{transform:translate(-3px,4px) rotate(20deg);opacity:.2}50%{transform:translate(2px,8px) rotate(-10deg);opacity:.15}75%{transform:translate(-2px,4px) rotate(15deg);opacity:.25}}
[data-theme="dark"] .float-ann-s2{background:linear-gradient(150deg,#2a1520,#301825,#261420);color:#f0c8d8;border-color:rgba(255,100,160,.08)}

/* ===== S3: 纸笔 (Paper&Pencil) ===== */
.float-ann-s3{background:#fefcf8;border:1px solid #e8e4d8;color:#3a3832;overflow:hidden;position:relative;font-family:'Noto Serif SC','Georgia',serif}
.float-ann-s3 .fa-head{color:#6a6458;font-size:.62rem;font-weight:600;letter-spacing:1px}
.float-ann-s3 .fa-dot{background:#b0a890;box-shadow:none;width:4px;height:4px}
.float-ann-s3 .fa-tabs{border-color:#e8e4d8}
.float-ann-s3 .fa-tab{font-family:'Noto Serif SC',serif;font-size:.58rem}
.float-ann-s3 .fa-tab.active{color:#6a6458;border-color:#b0a890}
.float-ann-s3 .fa-page{font-size:.72rem;line-height:1.8}
/* Notebook lines */
.float-ann-s3 .fa-pages{background:repeating-linear-gradient(180deg,transparent,transparent 22px,rgba(180,170,150,.12) 22px,rgba(180,170,150,.12) 23px)}
/* Red margin line */
.float-ann-s3::before{content:'';position:absolute;left:28px;top:0;bottom:0;width:1px;background:rgba(220,80,80,.1)}
/* Pencil decoration */
.float-ann-s3::after{content:'';position:absolute;right:6px;bottom:6px;width:2px;height:18px;background:linear-gradient(180deg,#f0c040,#e0a020,#333);border-radius:0 0 1px 1px;transform:rotate(-30deg);opacity:.15}
.float-ann-s3 .fa-close{color:rgba(0,0,0,.2)}
[data-theme="dark"] .float-ann-s3{background:#1c1b18;border-color:#3a3830;color:#c8c4b8}
[data-theme="dark"] .float-ann-s3 .fa-pages{background:repeating-linear-gradient(180deg,transparent,transparent 22px,rgba(100,95,80,.1) 22px,rgba(100,95,80,.1) 23px)}
[data-theme="dark"] .float-ann-s3::before{background:rgba(180,60,60,.08)}
.float-ann-s3 .fa-pages::before{content:'✎';position:absolute;right:4px;bottom:2px;font-size:.6rem;opacity:.08}

/* Nav alignment fix */
nav#mainNav{display:flex;align-items:center;justify-content:space-between;padding:.5rem 2rem;height:3.2rem;gap:.5rem;overflow:hidden}

/* === FEATURE TAG COLORS === */
.feat-tag{font-size:.65rem;padding:.22rem .55rem;border-radius:5px;background:rgba(108,92,231,.1);color:#6c5ce7;border:1px solid rgba(108,92,231,.2);white-space:nowrap;font-weight:700;transition:all .3s;letter-spacing:.3px;position:relative;overflow:hidden}
.feat-tag::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent);pointer-events:none}
.feat-tag:hover{filter:brightness(1.15);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}

/* === CARD DECORATIONS (Blog) === */
.hcard{position:relative;overflow:hidden}
.hcard::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),var(--accent2),transparent);opacity:0;transition:.4s;z-index:2}
.hcard:hover::before{opacity:1}
.hcard::after{content:'';position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);opacity:0;transition:opacity .5s;pointer-events:none;z-index:0}
.hcard:hover::after{opacity:.08}
.hcard-body{position:relative;z-index:1}
.hcard-img{position:relative;z-index:1}

/* Blog card corner accent */
.post-card{position:relative;overflow:hidden}
.post-card::after{content:'';position:absolute;bottom:0;right:0;width:40px;height:40px;background:linear-gradient(135deg,transparent 50%,var(--accent-glow) 50%);opacity:0;transition:.4s;pointer-events:none}
.post-card:hover::after{opacity:.3}

/* Category tag on cards */
.cat-pill{display:inline-flex;align-items:center;gap:.25rem;font-size:.55rem;color:var(--text3);border:1px solid var(--border);padding:.08rem .35rem;border-radius:3px;transition:all .3s}
.hcard:hover .cat-pill{border-color:var(--accent);color:var(--accent)}
nav#mainNav .nav-right{display:flex;align-items:center;gap:.6rem;height:100%}
nav#mainNav .nav-links{display:flex;align-items:center;gap:0;margin:0;padding:0;list-style:none;height:100%}
nav#mainNav .nav-links li{display:flex;align-items:center;height:100%}
nav#mainNav .nav-links li a,nav#mainNav .nav-links .nav-dropdown span{display:flex;align-items:center;height:100%;padding:0 .5rem}
nav#mainNav .nav-search{display:flex;align-items:center}
nav#mainNav .nav-search input{padding:.25rem .5rem;font-size:.75rem;border-radius:4px;border:1px solid var(--border);background:var(--surface);color:var(--text);height:1.6rem}
nav#mainNav .nav-auth{display:flex;align-items:center;gap:.3rem}
nav#mainNav .nav-auth a{padding:.2rem .5rem;font-size:.72rem;border-radius:4px;border:1px solid var(--border);display:flex;align-items:center}
nav#mainNav .theme-toggle{display:flex;align-items:center}

/* Nav button fixes */
nav#mainNav .nav-auth a{background:linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.1)),linear-gradient(135deg,var(--accent),var(--accent2));color:#fff!important;border:none!important;padding:.25rem .6rem;font-size:.72rem;border-radius:4px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.4)}
nav#mainNav .nav-auth a:last-child{background:transparent;border:1px solid var(--accent)!important;color:var(--accent)!important}
nav#mainNav .nav-search input{background:var(--surface)!important;padding-left:.5rem!important}
nav#mainNav #langSwitch{background:var(--surface);color:var(--text);border:1px solid var(--border)}

/* Lock Box & Unlocked Content */




/* nav#mainNav .nav-auth a{color:#333!important}
[data-theme="dark"] nav#mainNav .nav-auth a{color:#fff!important} */* Lock & Unlock Cards */
.lock-box{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:0;text-align:center;position:relative;overflow:hidden;transition:all .5s ease-in-out}
.lock-box:hover{border-radius:2px}
.lock-border-anim{position:absolute;inset:0;border:2px solid #bd9f67;opacity:0;transform:rotate(10deg);transition:all .5s ease-in-out;pointer-events:none;z-index:1}
.lock-box:hover .lock-border-anim{inset:12px;opacity:1;transform:rotate(0)}
.lock-texture,.lock-gold-top,.lock-gold-bot,.lock-shimmer,.lock-seal,.lock-corner,.lock-card-wrap,.lock-card-inner,.lock-card-border,.lock-card-main,.lock-glow-1,.lock-glow-2,.lock-overlay,.lock-bg-glow,.lock-icon{display:none}
.lock-content{position:relative;padding:2rem 1.5rem 1.2rem;transition:all .5s}
.lock-emblem{width:44px;height:44px;margin:0 auto .5rem;border:1.5px solid #bd9f67;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;background:transparent;transition:all .5s}
.lock-box:hover .lock-emblem{background:rgba(189,159,103,.06)}
.lock-emblem>*{display:block}
.lock-emblem img{width:24px;height:24px;border-radius:50%;object-fit:cover}
.lock-text{font-size:.8rem;color:var(--text);margin:0 0 .1rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;font-family:Georgia,'Times New Roman',serif}
.lock-divider{width:40px;margin:.35rem auto;height:1px;background:#bd9f67;opacity:.4}
.lock-sub{font-size:.7rem;color:var(--text2);margin:0 0 .7rem}
.lock-btn-royal{display:inline-block;padding:.35rem 1.2rem;font-size:.7rem;font-weight:500;color:#bd9f67;text-decoration:none;cursor:pointer;border:1px solid rgba(189,159,103,.4);border-radius:4px;background:transparent;letter-spacing:1px;transition:all .3s}
.lock-btn-royal:hover{background:rgba(189,159,103,.08);border-color:#bd9f67}
.lock-bottom-text{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);font-size:6px;text-transform:uppercase;padding:0 4px;color:rgba(189,159,103,.5);background:var(--surface);letter-spacing:6px;z-index:2;opacity:0;transition:all .5s;white-space:nowrap}
.lock-box:hover .lock-bottom-text{opacity:1;letter-spacing:3px}
[data-theme="dark"] .lock-emblem{border-color:rgba(189,159,103,.5)}
[data-theme="dark"] .lock-bottom-text{background:var(--surface)}

.unlocked-wrap{border:1px solid var(--border);border-radius:10px;padding:0;position:relative;overflow:hidden;background:var(--surface)}
.unlocked-wrap::before{content:'';position:absolute;top:0;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,#00b894,transparent);opacity:.4}
.unlocked-inner-border{display:none}
.unlocked-header{padding:.4rem 1rem;border-bottom:1px solid var(--border)}
.unlocked-badge{font-size:.72rem;font-weight:500;color:#00b894}
.unlocked-wrap .post-content{padding:.8rem 1rem;background:transparent!important;color:var(--text)!important}
.unlocked-wrap .post-content *{background:transparent!important;color:inherit!important}
.unlocked-wrap .post-content a{color:#0984e3!important;text-decoration:underline;text-underline-offset:2px}
.unlocked-wrap .post-content a:hover{color:#6c5ce7!important}
[data-theme="dark"] .unlocked-wrap .post-content{color:#e0e0e0!important}
[data-theme="dark"] .unlocked-wrap .post-content *{color:#e0e0e0!important}
[data-theme="dark"] .unlocked-wrap .post-content a{color:#74b9ff!important}
[data-theme="dark"] .unlocked-wrap .post-content a:hover{color:#a29bfe!important}
@keyframes commentPulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(189,159,103,.4)}25%{transform:scale(1.015);box-shadow:0 0 0 6px rgba(189,159,103,.2)}50%{transform:scale(1);box-shadow:0 0 0 0 rgba(189,159,103,0)}75%{transform:scale(1.01);box-shadow:0 0 0 4px rgba(189,159,103,.15)}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(189,159,103,0)}}
.comment-highlight{animation:commentPulse .6s ease 3;border-color:rgba(189,159,103,.5)!important}.comment-highlight{animation:commentPulse .6s ease 2}.comment-highlight{animation:commentPulse .5s ease 2}

/* Month grouping headers */
.month-header{display:flex;align-items:center;gap:.8rem;margin:1.5rem 0 .8rem}
.month-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.month-tag{font-family:'Orbitron','JetBrains Mono',monospace;font-size:.7rem;color:var(--accent);letter-spacing:3px;white-space:nowrap;padding:.25rem .8rem;border:1px solid var(--accent);border-radius:20px;background:var(--tag-bg);position:relative;overflow:hidden}
.month-tag::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:shimmer 3s infinite}
@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

/* Snow effect */
.snowflake{position:fixed;top:-10px;z-index:9995;pointer-events:none;color:#fff;font-size:1rem;text-shadow:0 0 3px rgba(255,255,255,.5);animation:snowfall linear infinite;opacity:.7}
@keyframes snowfall{to{transform:translateY(105vh) rotate(720deg)}}

/* Horizontal article cards (WordPress style) */
.hcard{display:grid;grid-template-columns:220px 1fr;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:.4s cubic-bezier(.4,0,.2,1);margin-bottom:.8rem;position:relative}
.hcard:hover{transform:translateY(-3px);box-shadow:0 10px 35px rgba(0,0,0,.08)}
[data-theme="dark"] .hcard:hover{box-shadow:0 10px 35px rgba(0,240,255,.05)}
.hcard-img{overflow:hidden;height:100%;min-height:140px;position:relative}
.hcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.hcard:hover .hcard-img img{transform:scale(1.05)}
/* Subtle gradient overlay on image */
.hcard-img::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 60%,rgba(0,0,0,.08) 100%);pointer-events:none;transition:opacity .3s}
.hcard:hover .hcard-img::after{opacity:0}
.hcard-body{padding:1rem 1.2rem;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1}
/* Decorative line on right edge */
.hcard-body::after{content:'';position:absolute;right:0;top:15%;bottom:15%;width:2px;background:linear-gradient(180deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .4s}
.hcard:hover .hcard-body::after{opacity:.2}

/* Dark mode fixes */
[data-theme="dark"] .side-box,[data-theme="dark"] .post-card,[data-theme="dark"] .hcard{border-color:rgba(0,240,255,.12)}
[data-theme="dark"] .post-content{border-color:rgba(0,240,255,.1)}
[data-theme="dark"] .month-tag{border-color:var(--accent);color:var(--accent)}
/* Danmaku button */
.danmaku-btn{color:#fff!important;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3)}
[data-theme="dark"] .danmaku-btn{color:#fff!important}

/* Dark mode fixes */
[data-theme="dark"] .post-card,[data-theme="dark"] .hcard,[data-theme="dark"] .side-box,[data-theme="dark"] .card-box{border-color:rgba(0,240,255,.12)}
[data-theme="dark"] .hcard:hover,[data-theme="dark"] .post-card:hover{border-color:rgba(0,240,255,.25);box-shadow:0 8px 30px rgba(0,240,255,.06)}
/* Danmaku button - always readable */
/* Better dark mode defaults */
[data-theme="dark"] .month-tag{border-color:var(--accent);color:var(--accent)}
[data-theme="dark"] .pin-badge{background:rgba(255,0,170,.15);border-color:rgba(255,0,170,.25)}

/* Style: Cyber-Dao (赛博朋克+道家) */
.announce-cyber-dao{background:linear-gradient(135deg,rgba(10,10,30,.9),rgba(20,10,40,.85));color:#e0d8f0;border:1px solid rgba(128,0,255,.2);box-shadow:0 0 20px rgba(128,0,255,.08),inset 0 0 30px rgba(128,0,255,.03)}
.announce-cyber-dao .announce-header{color:#bf80ff}
.announce-cyber-dao .announce-icon{font-size:1.1rem;animation:spin 8s linear infinite}
.announce-cyber-dao .announce-dot{background:#bf80ff;box-shadow:0 0 6px #bf80ff}
.announce-cyber-dao .announce-border{border:1px solid transparent;background:linear-gradient(135deg,rgba(128,0,255,.3),transparent,rgba(0,255,200,.2)) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.announce-cyber-dao::before{content:'☰';position:absolute;right:10px;top:10px;font-size:2.5rem;opacity:.04;color:#bf80ff}
.announce-cyber-dao::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#bf80ff,transparent);animation:scanH 4s infinite}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes scanH{0%,100%{opacity:0}50%{opacity:.6}}

/* Style: Neon (霓虹) */
.announce-neon{background:rgba(0,0,0,.85);color:#0ff;border:1px solid rgba(0,255,255,.15);box-shadow:0 0 15px rgba(0,255,255,.05)}
.announce-neon .announce-header{color:#0ff}
.announce-neon .announce-icon{font-size:1rem}
.announce-neon .announce-dot{background:#0ff;box-shadow:0 0 6px #0ff}
.announce-neon::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,255,.03),transparent);animation:neonSweep 6s infinite}
}

/* Style: Ink (水墨) */
.announce-ink{background:linear-gradient(135deg,#f8f5f0,#ede8e0);color:#3a3530;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.04)}
.announce-ink .announce-header{color:#8b6914;font-family:'Noto Serif SC',serif}
.announce-ink .announce-icon{font-size:1.1rem;color:#8b6914}
.announce-ink .announce-body{font-family:'Noto Serif SC','SimSun',serif}
.announce-ink .announce-dot{background:#8b6914}
.announce-ink .announce-footer{color:#8b6914}
[data-theme="dark"] .announce-ink{background:linear-gradient(135deg,#1a1815,#252018);color:#d4c9b0;border-color:rgba(139,105,20,.15)}

/* Style: Glitch (故障) */
.announce-glitch{background:#0a0a0f;color:#0f0;border:1px solid rgba(0,255,0,.1);font-family:'JetBrains Mono',monospace}
.announce-glitch .announce-header{color:#0f0;animation:glitchFlicker 3s infinite}
.announce-glitch .announce-icon{content:'>';}
.announce-glitch .announce-dot{background:#0f0;box-shadow:0 0 6px #0f0}
.announce-glitch .announce-body{font-size:.78rem}
@keyframes glitchFlicker{0%,97%,100%{opacity:1}98%{opacity:.3}99%{opacity:.8}}
/* === FLOATING ANNOUNCEMENT === */
.float-ann{position:fixed;width:220px;z-index:9990;border-radius:10px;padding:.7rem .8rem;animation:fadeSlideUp .5s ease;box-shadow:0 8px 30px rgba(0,0,0,.12)}
.fa-close{position:absolute;top:4px;right:8px;cursor:pointer;font-size:.9rem;opacity:.4;transition:.2s;line-height:1}.fa-close:hover{opacity:1}
.fa-head{font-size:.65rem;font-weight:700;letter-spacing:2px;margin-bottom:.3rem;display:flex;align-items:center;gap:.3rem}
.fa-dot{width:5px;height:5px;border-radius:50%;animation:pulse 2s infinite}
.fa-body{font-size:.72rem;line-height:1.6}
@keyframes fadeSlideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

.fa-tabs{display:flex;gap:0;margin-bottom:.4rem;border-bottom:1px solid rgba(128,128,128,.15);padding-bottom:0}
.fa-tab{background:none;border:none;padding:.25rem .5rem;font-size:.6rem;color:var(--text3);cursor:pointer;border-bottom:2px solid transparent;transition:.2s;font-weight:600}
.fa-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.fa-tab:hover{color:var(--accent)}
.fa-page{font-size:.72rem;line-height:1.6;padding-top:.3rem}
.fa-page img{max-width:100%;border-radius:6px;margin:.3rem 0}
.fa-page a{color:var(--accent);text-decoration:none}

/* ===== S1: 赛博道 (CyberTao) ===== */
.float-ann-s1{background:linear-gradient(160deg,#080012,#12002a,#0a0018);border:1px solid rgba(160,80,255,.1);color:#d0c0f0;overflow:hidden;position:relative}
.float-ann-s1 .fa-head{color:#c080ff;font-family:'Noto Serif SC',serif;position:relative;z-index:2}
.float-ann-s1 .fa-dot{background:#c080ff;box-shadow:0 0 8px #c080ff,0 0 16px rgba(192,128,255,.3)}
.float-ann-s1 .fa-page{position:relative;z-index:2}
.float-ann-s1 .fa-tabs{border-color:rgba(192,128,255,.12);position:relative;z-index:2}
.float-ann-s1 .fa-tab.active{color:#c080ff;border-color:#c080ff}
/* Tai Chi symbol CSS */
.float-ann-s1::before{content:'';position:absolute;right:-15px;top:50%;transform:translateY(-50%);width:80px;height:80px;border-radius:50%;background:linear-gradient(to right,rgba(200,150,255,.06) 50%,rgba(20,0,40,.3) 50%);animation:spin 25s linear infinite;opacity:.5}
.float-ann-s1::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(200,120,255,.4) 30%,rgba(255,120,200,.3) 70%,transparent);animation:scanH 6s ease infinite}
/* Hexagram decoration lines */
.float-ann-s1 .fa-close{color:rgba(200,150,255,.4)}
.float-ann-s1 .fa-pages::before{content:'☰ ☷';position:absolute;bottom:4px;right:6px;font-size:.5rem;opacity:.08;letter-spacing:4px;color:#c080ff}

/* ===== S2: 樱花 (Sakura) ===== */
.float-ann-s2{background:linear-gradient(150deg,#fff6f9,#ffe8f0,#fff2f6);border:1px solid rgba(255,150,180,.1);color:#5a3040;overflow:hidden;position:relative}
.float-ann-s2 .fa-head{color:#e06090;font-weight:800}
.float-ann-s2 .fa-dot{background:#ff6b9d;box-shadow:0 0 6px rgba(255,107,157,.4)}
.float-ann-s2 .fa-tabs{border-color:rgba(255,100,150,.1)}
.float-ann-s2 .fa-tab.active{color:#e06090;border-color:#e06090}
/* Tree trunk */
.float-ann-s2::before{content:'';position:absolute;right:12px;bottom:0;width:3px;height:60%;background:linear-gradient(180deg,transparent,rgba(120,70,50,.08),rgba(120,70,50,.15));border-radius:2px}
/* Branch */
.float-ann-s2::after{content:'';position:absolute;right:8px;top:38%;width:20px;height:2px;background:rgba(120,70,50,.08);transform:rotate(-25deg);border-radius:2px}
/* Petals via box-shadow on close button */
.float-ann-s2 .fa-close{color:rgba(224,96,144,.3)}
.float-ann-s2 .fa-pages{position:relative}
.float-ann-s2 .fa-pages::before{content:'🌸';position:absolute;right:18px;top:-2px;font-size:.7rem;opacity:.3;animation:sakuraDrift 8s ease-in-out infinite}
.float-ann-s2 .fa-pages::after{content:'🌸';position:absolute;right:6px;top:8px;font-size:.45rem;opacity:.2;animation:sakuraDrift 10s ease-in-out 3s infinite}
@keyframes sakuraDrift{0%,100%{transform:translate(0,0) rotate(0);opacity:.3}25%{transform:translate(-3px,4px) rotate(20deg);opacity:.2}50%{transform:translate(2px,8px) rotate(-10deg);opacity:.15}75%{transform:translate(-2px,4px) rotate(15deg);opacity:.25}}
[data-theme="dark"] .float-ann-s2{background:linear-gradient(150deg,#2a1520,#301825,#261420);color:#f0c8d8;border-color:rgba(255,100,160,.08)}

/* ===== S3: 纸笔 (Paper&Pencil) ===== */
.float-ann-s3{background:#fefcf8;border:1px solid #e8e4d8;color:#3a3832;overflow:hidden;position:relative;font-family:'Noto Serif SC','Georgia',serif}
.float-ann-s3 .fa-head{color:#6a6458;font-size:.62rem;font-weight:600;letter-spacing:1px}
.float-ann-s3 .fa-dot{background:#b0a890;box-shadow:none;width:4px;height:4px}
.float-ann-s3 .fa-tabs{border-color:#e8e4d8}
.float-ann-s3 .fa-tab{font-family:'Noto Serif SC',serif;font-size:.58rem}
.float-ann-s3 .fa-tab.active{color:#6a6458;border-color:#b0a890}
.float-ann-s3 .fa-page{font-size:.72rem;line-height:1.8}
/* Notebook lines */
.float-ann-s3 .fa-pages{background:repeating-linear-gradient(180deg,transparent,transparent 22px,rgba(180,170,150,.12) 22px,rgba(180,170,150,.12) 23px)}
/* Red margin line */
.float-ann-s3::before{content:'';position:absolute;left:28px;top:0;bottom:0;width:1px;background:rgba(220,80,80,.1)}
/* Pencil decoration */
.float-ann-s3::after{content:'';position:absolute;right:6px;bottom:6px;width:2px;height:18px;background:linear-gradient(180deg,#f0c040,#e0a020,#333);border-radius:0 0 1px 1px;transform:rotate(-30deg);opacity:.15}
.float-ann-s3 .fa-close{color:rgba(0,0,0,.2)}
[data-theme="dark"] .float-ann-s3{background:#1c1b18;border-color:#3a3830;color:#c8c4b8}
[data-theme="dark"] .float-ann-s3 .fa-pages{background:repeating-linear-gradient(180deg,transparent,transparent 22px,rgba(100,95,80,.1) 22px,rgba(100,95,80,.1) 23px)}
[data-theme="dark"] .float-ann-s3::before{background:rgba(180,60,60,.08)}
.float-ann-s3 .fa-pages::before{content:'✎';position:absolute;right:4px;bottom:2px;font-size:.6rem;opacity:.08}

/* Nav alignment fix */

/* === FEATURE TAG COLORS === */
.feat-tag{font-size:.65rem;padding:.22rem .55rem;border-radius:5px;background:rgba(108,92,231,.1);color:#6c5ce7;border:1px solid rgba(108,92,231,.2);white-space:nowrap;font-weight:700;transition:all .3s;letter-spacing:.3px;position:relative;overflow:hidden}
.feat-tag::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent);pointer-events:none}
.feat-tag:hover{filter:brightness(1.15);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}

/* === CARD DECORATIONS (Blog) === */
.hcard{position:relative;overflow:hidden}
.hcard::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),var(--accent2),transparent);opacity:0;transition:.4s;z-index:2}
.hcard:hover::before{opacity:1}
.hcard::after{content:'';position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);opacity:0;transition:opacity .5s;pointer-events:none;z-index:0}
.hcard:hover::after{opacity:.08}
.hcard-body{position:relative;z-index:1}
.hcard-img{position:relative;z-index:1}

/* Blog card corner accent */
.post-card{position:relative;overflow:hidden}
.post-card::after{content:'';position:absolute;bottom:0;right:0;width:40px;height:40px;background:linear-gradient(135deg,transparent 50%,var(--accent-glow) 50%);opacity:0;transition:.4s;pointer-events:none}
.post-card:hover::after{opacity:.3}

/* Category tag on cards */
.cat-pill{display:inline-flex;align-items:center;gap:.25rem;font-size:.55rem;color:var(--text3);border:1px solid var(--border);padding:.08rem .35rem;border-radius:3px;transition:all .3s}
.hcard:hover .cat-pill{border-color:var(--accent);color:var(--accent)}

/* Nav button fixes */
nav#mainNav #langSwitch{background:var(--surface);color:var(--text);border:1px solid var(--border)}

/* Lock Box & Unlocked Content */




/* nav#mainNav .nav-auth a{color:#333!important}
[data-theme="dark"] nav#mainNav .nav-auth a{color:#fff!important} */* Lock Box - Classical Heraldry */

/* Unlocked card */
.comment-highlight{animation:commentPulse .4s ease 3}
/* Unlocked envelope */
.comment-highlight{animation:commentPulse .6s ease 2}.comment-highlight{animation:commentPulse .5s ease 2}

/* Month grouping headers */
.month-header{display:flex;align-items:center;gap:.8rem;margin:1.5rem 0 .8rem}
.month-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.month-tag{font-family:'Orbitron','JetBrains Mono',monospace;font-size:.7rem;color:var(--accent);letter-spacing:3px;white-space:nowrap;padding:.25rem .8rem;border:1px solid var(--accent);border-radius:20px;background:var(--tag-bg);position:relative;overflow:hidden}
.month-tag::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:shimmer 3s infinite}
@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

/* Snow effect */
.snowflake{position:fixed;top:-10px;z-index:9995;pointer-events:none;color:#fff;font-size:1rem;text-shadow:0 0 3px rgba(255,255,255,.5);animation:snowfall linear infinite;opacity:.7}
@keyframes snowfall{to{transform:translateY(105vh) rotate(720deg)}}

/* Horizontal article cards (WordPress style) */
.hcard{display:grid;grid-template-columns:220px 1fr;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:.4s cubic-bezier(.4,0,.2,1);margin-bottom:.8rem;position:relative}
.hcard:hover{transform:translateY(-3px);box-shadow:0 10px 35px rgba(0,0,0,.08)}
[data-theme="dark"] .hcard:hover{box-shadow:0 10px 35px rgba(0,240,255,.05)}
.hcard-img{overflow:hidden;height:100%;min-height:140px;position:relative}
.hcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.hcard:hover .hcard-img img{transform:scale(1.05)}
/* Subtle gradient overlay on image */
.hcard-img::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 60%,rgba(0,0,0,.08) 100%);pointer-events:none;transition:opacity .3s}
.hcard:hover .hcard-img::after{opacity:0}
.hcard-body{padding:1rem 1.2rem;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1}
/* Decorative line on right edge */
.hcard-body::after{content:'';position:absolute;right:0;top:15%;bottom:15%;width:2px;background:linear-gradient(180deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .4s}
.hcard:hover .hcard-body::after{opacity:.2}

/* Dark mode fixes */
[data-theme="dark"] .side-box,[data-theme="dark"] .post-card,[data-theme="dark"] .hcard{border-color:rgba(0,240,255,.12)}
[data-theme="dark"] .post-content{border-color:rgba(0,240,255,.1)}
[data-theme="dark"] .month-tag{border-color:var(--accent);color:var(--accent)}
/* Danmaku button */
.danmaku-btn{color:#fff!important;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3)}
[data-theme="dark"] .danmaku-btn{color:#fff!important}

/* Dark mode fixes */
[data-theme="dark"] .post-card,[data-theme="dark"] .hcard,[data-theme="dark"] .side-box,[data-theme="dark"] .card-box{border-color:rgba(0,240,255,.12)}
[data-theme="dark"] .hcard:hover,[data-theme="dark"] .post-card:hover{border-color:rgba(0,240,255,.25);box-shadow:0 8px 30px rgba(0,240,255,.06)}
/* Danmaku button - always readable */
/* Better dark mode defaults */
[data-theme="dark"] .month-tag{border-color:var(--accent);color:var(--accent)}
[data-theme="dark"] .pin-badge{background:rgba(255,0,170,.15);border-color:rgba(255,0,170,.25)}

/* Style: Cyber-Dao (赛博朋克+道家) */
.announce-cyber-dao{background:linear-gradient(135deg,rgba(10,10,30,.9),rgba(20,10,40,.85));color:#e0d8f0;border:1px solid rgba(128,0,255,.2);box-shadow:0 0 20px rgba(128,0,255,.08),inset 0 0 30px rgba(128,0,255,.03)}
.announce-cyber-dao .announce-header{color:#bf80ff}
.announce-cyber-dao .announce-icon{font-size:1.1rem;animation:spin 8s linear infinite}
.announce-cyber-dao .announce-dot{background:#bf80ff;box-shadow:0 0 6px #bf80ff}
.announce-cyber-dao .announce-border{border:1px solid transparent;background:linear-gradient(135deg,rgba(128,0,255,.3),transparent,rgba(0,255,200,.2)) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.announce-cyber-dao::before{content:'☰';position:absolute;right:10px;top:10px;font-size:2.5rem;opacity:.04;color:#bf80ff}
.announce-cyber-dao::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#bf80ff,transparent);animation:scanH 4s infinite}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes scanH{0%,100%{opacity:0}50%{opacity:.6}}

/* Style: Neon (霓虹) */
.announce-neon{background:rgba(0,0,0,.85);color:#0ff;border:1px solid rgba(0,255,255,.15);box-shadow:0 0 15px rgba(0,255,255,.05)}
.announce-neon .announce-header{color:#0ff}
.announce-neon .announce-icon{font-size:1rem}
.announce-neon .announce-dot{background:#0ff;box-shadow:0 0 6px #0ff}
.announce-neon::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,255,.03),transparent);animation:neonSweep 6s infinite}
}

/* Style: Ink (水墨) */
.announce-ink{background:linear-gradient(135deg,#f8f5f0,#ede8e0);color:#3a3530;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.04)}
.announce-ink .announce-header{color:#8b6914;font-family:'Noto Serif SC',serif}
.announce-ink .announce-icon{font-size:1.1rem;color:#8b6914}
.announce-ink .announce-body{font-family:'Noto Serif SC','SimSun',serif}
.announce-ink .announce-dot{background:#8b6914}
.announce-ink .announce-footer{color:#8b6914}
[data-theme="dark"] .announce-ink{background:linear-gradient(135deg,#1a1815,#252018);color:#d4c9b0;border-color:rgba(139,105,20,.15)}

/* Style: Glitch (故障) */
.announce-glitch{background:#0a0a0f;color:#0f0;border:1px solid rgba(0,255,0,.1);font-family:'JetBrains Mono',monospace}
.announce-glitch .announce-header{color:#0f0;animation:glitchFlicker 3s infinite}
.announce-glitch .announce-icon{content:'>';}
.announce-glitch .announce-dot{background:#0f0;box-shadow:0 0 6px #0f0}
.announce-glitch .announce-body{font-size:.78rem}
@keyframes glitchFlicker{0%,97%,100%{opacity:1}98%{opacity:.3}99%{opacity:.8}}
/* === FLOATING ANNOUNCEMENT === */
.float-ann{position:fixed;width:220px;z-index:9990;border-radius:10px;padding:.7rem .8rem;animation:fadeSlideUp .5s ease;box-shadow:0 8px 30px rgba(0,0,0,.12)}
.fa-close{position:absolute;top:4px;right:8px;cursor:pointer;font-size:.9rem;opacity:.4;transition:.2s;line-height:1}.fa-close:hover{opacity:1}
.fa-head{font-size:.65rem;font-weight:700;letter-spacing:2px;margin-bottom:.3rem;display:flex;align-items:center;gap:.3rem}
.fa-dot{width:5px;height:5px;border-radius:50%;animation:pulse 2s infinite}
.fa-body{font-size:.72rem;line-height:1.6}
@keyframes fadeSlideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

.fa-tabs{display:flex;gap:0;margin-bottom:.4rem;border-bottom:1px solid rgba(128,128,128,.15);padding-bottom:0}
.fa-tab{background:none;border:none;padding:.25rem .5rem;font-size:.6rem;color:var(--text3);cursor:pointer;border-bottom:2px solid transparent;transition:.2s;font-weight:600}
.fa-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.fa-tab:hover{color:var(--accent)}
.fa-page{font-size:.72rem;line-height:1.6;padding-top:.3rem}
.fa-page img{max-width:100%;border-radius:6px;margin:.3rem 0}
.fa-page a{color:var(--accent);text-decoration:none}

/* ===== S1: 赛博道 (CyberTao) ===== */
.float-ann-s1{background:linear-gradient(160deg,#080012,#12002a,#0a0018);border:1px solid rgba(160,80,255,.1);color:#d0c0f0;overflow:hidden;position:relative}
.float-ann-s1 .fa-head{color:#c080ff;font-family:'Noto Serif SC',serif;position:relative;z-index:2}
.float-ann-s1 .fa-dot{background:#c080ff;box-shadow:0 0 8px #c080ff,0 0 16px rgba(192,128,255,.3)}
.float-ann-s1 .fa-page{position:relative;z-index:2}
.float-ann-s1 .fa-tabs{border-color:rgba(192,128,255,.12);position:relative;z-index:2}
.float-ann-s1 .fa-tab.active{color:#c080ff;border-color:#c080ff}
/* Tai Chi symbol CSS */
.float-ann-s1::before{content:'';position:absolute;right:-15px;top:50%;transform:translateY(-50%);width:80px;height:80px;border-radius:50%;background:linear-gradient(to right,rgba(200,150,255,.06) 50%,rgba(20,0,40,.3) 50%);animation:spin 25s linear infinite;opacity:.5}
.float-ann-s1::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(200,120,255,.4) 30%,rgba(255,120,200,.3) 70%,transparent);animation:scanH 6s ease infinite}
/* Hexagram decoration lines */
.float-ann-s1 .fa-close{color:rgba(200,150,255,.4)}
.float-ann-s1 .fa-pages::before{content:'☰ ☷';position:absolute;bottom:4px;right:6px;font-size:.5rem;opacity:.08;letter-spacing:4px;color:#c080ff}

/* ===== S2: 樱花 (Sakura) ===== */
.float-ann-s2{background:linear-gradient(150deg,#fff6f9,#ffe8f0,#fff2f6);border:1px solid rgba(255,150,180,.1);color:#5a3040;overflow:hidden;position:relative}
.float-ann-s2 .fa-head{color:#e06090;font-weight:800}
.float-ann-s2 .fa-dot{background:#ff6b9d;box-shadow:0 0 6px rgba(255,107,157,.4)}
.float-ann-s2 .fa-tabs{border-color:rgba(255,100,150,.1)}
.float-ann-s2 .fa-tab.active{color:#e06090;border-color:#e06090}
/* Tree trunk */
.float-ann-s2::before{content:'';position:absolute;right:12px;bottom:0;width:3px;height:60%;background:linear-gradient(180deg,transparent,rgba(120,70,50,.08),rgba(120,70,50,.15));border-radius:2px}
/* Branch */
.float-ann-s2::after{content:'';position:absolute;right:8px;top:38%;width:20px;height:2px;background:rgba(120,70,50,.08);transform:rotate(-25deg);border-radius:2px}
/* Petals via box-shadow on close button */
.float-ann-s2 .fa-close{color:rgba(224,96,144,.3)}
.float-ann-s2 .fa-pages{position:relative}
.float-ann-s2 .fa-pages::before{content:'🌸';position:absolute;right:18px;top:-2px;font-size:.7rem;opacity:.3;animation:sakuraDrift 8s ease-in-out infinite}
.float-ann-s2 .fa-pages::after{content:'🌸';position:absolute;right:6px;top:8px;font-size:.45rem;opacity:.2;animation:sakuraDrift 10s ease-in-out 3s infinite}
@keyframes sakuraDrift{0%,100%{transform:translate(0,0) rotate(0);opacity:.3}25%{transform:translate(-3px,4px) rotate(20deg);opacity:.2}50%{transform:translate(2px,8px) rotate(-10deg);opacity:.15}75%{transform:translate(-2px,4px) rotate(15deg);opacity:.25}}
[data-theme="dark"] .float-ann-s2{background:linear-gradient(150deg,#2a1520,#301825,#261420);color:#f0c8d8;border-color:rgba(255,100,160,.08)}

/* ===== S3: 纸笔 (Paper&Pencil) ===== */
.float-ann-s3{background:#fefcf8;border:1px solid #e8e4d8;color:#3a3832;overflow:hidden;position:relative;font-family:'Noto Serif SC','Georgia',serif}
.float-ann-s3 .fa-head{color:#6a6458;font-size:.62rem;font-weight:600;letter-spacing:1px}
.float-ann-s3 .fa-dot{background:#b0a890;box-shadow:none;width:4px;height:4px}
.float-ann-s3 .fa-tabs{border-color:#e8e4d8}
.float-ann-s3 .fa-tab{font-family:'Noto Serif SC',serif;font-size:.58rem}
.float-ann-s3 .fa-tab.active{color:#6a6458;border-color:#b0a890}
.float-ann-s3 .fa-page{font-size:.72rem;line-height:1.8}
/* Notebook lines */
.float-ann-s3 .fa-pages{background:repeating-linear-gradient(180deg,transparent,transparent 22px,rgba(180,170,150,.12) 22px,rgba(180,170,150,.12) 23px)}
/* Red margin line */
.float-ann-s3::before{content:'';position:absolute;left:28px;top:0;bottom:0;width:1px;background:rgba(220,80,80,.1)}
/* Pencil decoration */
.float-ann-s3::after{content:'';position:absolute;right:6px;bottom:6px;width:2px;height:18px;background:linear-gradient(180deg,#f0c040,#e0a020,#333);border-radius:0 0 1px 1px;transform:rotate(-30deg);opacity:.15}
.float-ann-s3 .fa-close{color:rgba(0,0,0,.2)}
[data-theme="dark"] .float-ann-s3{background:#1c1b18;border-color:#3a3830;color:#c8c4b8}
[data-theme="dark"] .float-ann-s3 .fa-pages{background:repeating-linear-gradient(180deg,transparent,transparent 22px,rgba(100,95,80,.1) 22px,rgba(100,95,80,.1) 23px)}
[data-theme="dark"] .float-ann-s3::before{background:rgba(180,60,60,.08)}
.float-ann-s3 .fa-pages::before{content:'✎';position:absolute;right:4px;bottom:2px;font-size:.6rem;opacity:.08}

/* Nav alignment fix */

/* === FEATURE TAG COLORS === */
.feat-tag{font-size:.65rem;padding:.22rem .55rem;border-radius:5px;background:rgba(108,92,231,.1);color:#6c5ce7;border:1px solid rgba(108,92,231,.2);white-space:nowrap;font-weight:700;transition:all .3s;letter-spacing:.3px;position:relative;overflow:hidden}
.feat-tag::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent);pointer-events:none}
.feat-tag:hover{filter:brightness(1.15);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}

/* === CARD DECORATIONS (Blog) === */
.hcard{position:relative;overflow:hidden}
.hcard::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),var(--accent2),transparent);opacity:0;transition:.4s;z-index:2}
.hcard:hover::before{opacity:1}
.hcard::after{content:'';position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);opacity:0;transition:opacity .5s;pointer-events:none;z-index:0}
.hcard:hover::after{opacity:.08}
.hcard-body{position:relative;z-index:1}
.hcard-img{position:relative;z-index:1}

/* Blog card corner accent */
.post-card{position:relative;overflow:hidden}
.post-card::after{content:'';position:absolute;bottom:0;right:0;width:40px;height:40px;background:linear-gradient(135deg,transparent 50%,var(--accent-glow) 50%);opacity:0;transition:.4s;pointer-events:none}
.post-card:hover::after{opacity:.3}

/* Category tag on cards */
.cat-pill{display:inline-flex;align-items:center;gap:.25rem;font-size:.55rem;color:var(--text3);border:1px solid var(--border);padding:.08rem .35rem;border-radius:3px;transition:all .3s}
.hcard:hover .cat-pill{border-color:var(--accent);color:var(--accent)}

/* Nav button fixes */
nav#mainNav #langSwitch{background:var(--surface);color:var(--text);border:1px solid var(--border)}

/* Lock Box & Unlocked Content */




/* nav#mainNav .nav-auth a{color:#333!important}
[data-theme="dark"] nav#mainNav .nav-auth a{color:#fff!important} */

/* === COMPREHENSIVE MOBILE === */
.mobile-toggle{display:none;background:none;border:none;font-size:1.4rem;color:var(--text);cursor:pointer;padding:.2rem;line-height:1}
  nav .logo{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  nav .nav-logo{overflow:hidden;white-space:nowrap;min-width:0;flex-shrink:1}
  nav .nav-logo span{overflow:hidden;text-overflow:ellipsis}
  .nav-right{display:flex;align-items:center;gap:.4rem;flex-shrink:0}
@media(max-width:768px){
  .mobile-toggle{display:block}
  nav#mainNav{padding:.4rem .6rem;gap:.4rem}
  nav .nav-logo{max-width:45%;font-size:.85rem!important}
  nav .nav-links,nav .nav-search{display:none!important}
  nav .nav-links.mobile-open{display:flex!important;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--surface);flex-direction:column;align-items:center;justify-content:center;gap:1rem;z-index:9999}
  nav .nav-links.mobile-open li a,nav .nav-links.mobile-open .nav-dropdown span{font-size:1rem;padding:.5rem 1rem}
  .nav-dropdown-menu{position:static;opacity:1;visibility:visible;transform:none;margin:0;box-shadow:none;border:none;background:transparent;padding:0}
  .mobile-close{position:absolute;top:1rem;right:1rem;font-size:1.5rem;background:none;border:none;color:var(--text);cursor:pointer;z-index:10000}
  .nav-auth,.nav-auth a{font-size:.6rem!important;padding:.1rem .25rem!important}
  #langSwitch{font-size:.6rem!important;padding:.1rem .2rem!important}
  .theme-toggle{transform:scale(.8)}
  .post-header-wrap{padding:0 .8rem!important;margin-top:3.5rem!important}
  .post-layout-3col{grid-template-columns:1fr!important;padding:0 .8rem!important;gap:1rem!important;margin-top:3.5rem!important}
  .post-layout{grid-template-columns:1fr!important;padding:0 .8rem!important;gap:1rem!important}
  .post-sidebar{position:static!important;width:100%!important;margin-bottom:1rem}
  .post-content{padding:.8rem!important;font-size:.9rem;overflow-wrap:break-word;word-break:break-word}
  .post-content img{max-width:100%!important;height:auto!important}
  .post-content pre{overflow-x:auto;max-width:calc(100vw - 2rem);font-size:.75rem}
  .post-content table{display:block;overflow-x:auto;max-width:calc(100vw - 2rem)}
  .post-content iframe,.post-content video{max-width:100%!important;height:auto!important}
  .container{padding:0 .8rem!important}
  .hero{min-height:50vh;padding:0 .8rem}
  .hero h1{font-size:1.3rem!important;word-break:break-word}
  .stats-bar{grid-template-columns:repeat(2,1fr);gap:.5rem;padding:0 .5rem}
  .posts-grid{grid-template-columns:1fr;gap:.8rem;padding:0 .5rem}
  .hcard{grid-template-columns:1fr}
  .hcard-img{height:150px}
  .form-row{grid-template-columns:1fr}
  .cursor-dot,.cursor-ring{display:none}
  .danmaku-btn{font-size:.7rem;padding:.3rem .6rem}
  .danmaku-panel{min-width:240px;max-width:calc(100vw - 2rem)}
  #danmakuLayer{height:20vh!important}
  .lock-box{margin:0}
  .lock-content{padding:1.5rem 1rem 1rem}
  .float-ann{left:.5rem;bottom:4rem;width:150px;font-size:.65rem}
  .trainer-section-inner{padding:0 .8rem 2rem!important}
  .trainer-filter{flex-wrap:wrap;gap:.3rem}
  .trainer-filter a{font-size:.68rem;padding:.2rem .45rem}
  .trainer-detail-header{flex-direction:column;padding:.8rem}
  .trainer-detail-cover{width:100%;max-height:250px}
  .trainer-section-head{flex-direction:column;align-items:flex-start;gap:.5rem}
  .tr-slide-content{min-height:35vh;padding:1.5rem .8rem}
  .tr-slide-title{font-size:1.1rem!important;word-break:break-word}
  .tr-slide-desc{font-size:.75rem}
  .tr-arrow{width:28px;height:28px;font-size:.8rem}
  .admin-layout{grid-template-columns:1fr!important;padding:0 .5rem!important}
  .admin-sidebar{position:static;width:100%}
  .admin-sidebar>div{display:flex;flex-wrap:wrap;gap:.3rem;padding:.5rem}
  .admin-sidebar a{flex:0 0 auto;font-size:.7rem;padding:.2rem .45rem}
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .admin-table{min-width:500px}
  .kanban-container{right:.5rem!important;bottom:3.5rem!important;width:160px!important}
}
@media(max-width:480px){
  nav .nav-logo{max-width:35%;font-size:.75rem!important}
  nav .nav-logo img{height:20px!important}
  .nav-auth{display:none!important}
  #langSwitch{display:none!important}
  .hero h1{font-size:1.1rem!important}
  .stat-num{font-size:1.1rem!important}
  .trainer-grid{grid-template-columns:1fr!important;gap:.6rem}
  .trainer-card-cover{height:170px}
  .post-header-wrap{padding:0 .5rem!important}
  .post-layout-3col{padding:0 .5rem!important}
  .lock-content{padding:1rem .6rem .6rem}
  .lock-text{font-size:.7rem;letter-spacing:1px}
  .lock-emblem{width:36px;height:36px;font-size:1rem}
}
