body{background:#f8fafc}
:root{--bdr:rgba(37,99,235,.1);--cyan:#2563eb;--t1:#F3F4F6;--t2:#6B7280;--t3:#4B5563}
.site-header-v7{position:sticky;top:0;z-index:100;background:rgba(2,8,18,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--bdr)}
.header-v7-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;height:60px;gap:24px}
.header-v7-logo{display:flex;align-items:center;gap:8px;font-size:1.15rem;font-weight:700;color:var(--t1);text-decoration:none;white-space:nowrap}
.header-v7-nav{display:flex;gap:2px;flex:1;flex-wrap:nowrap;overflow:visible}
.header-v7-nav>a,.nav-drop-trigger{padding:8px 10px;font-size:.83rem;color:var(--t2);text-decoration:none;border-radius:8px;transition:all .15s;white-space:nowrap}
.header-v7-nav>a:hover,.nav-drop-trigger:hover{color:var(--t1);background:rgba(37,99,235,.08)}
.nav-drop{position:relative;padding-bottom:8px}
.nav-drop-trigger{cursor:pointer;display:flex;align-items:center;gap:3px}
.nav-arrow{font-size:.65rem;transition:transform .25s;opacity:.6}
.nav-drop:hover .nav-arrow{transform:rotate(180deg);opacity:1}
.nav-drop-panel{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(0);min-width:160px;padding:8px 0;background:rgba(7,20,40,.97);border:1px solid var(--bdr);border-radius:12px;opacity:0;visibility:hidden;transition:all .22s cubic-bezier(.4,0,.2,1);box-shadow:0 12px 36px rgba(0,0,0,.5);z-index:200}
.nav-drop:hover .nav-drop-panel{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav-drop-panel a{display:block;padding:9px 18px;font-size:.84rem;color:var(--t2);white-space:nowrap;border-radius:0;transition:all .15s;text-decoration:none}
.nav-drop-panel a:hover{background:rgba(37,99,235,.08);color:var(--t1)}
.header-v7-login-btn,.header-v7-user a{padding:7px 14px;font-size:.85rem;border-radius:50px;color:var(--cyan);border:1px solid var(--bdr);text-decoration:none;white-space:nowrap}
.header-v7-login-btn:hover,.header-v7-user a:hover{background:rgba(37,99,235,.08)}
.header-v7-hamburger{display:none;background:none;border:none;color:var(--t2);font-size:1.5rem;cursor:pointer}
@media(max-width:768px){.header-v7-nav{display:none;position:absolute;top:60px;left:0;right:0;flex-direction:column;background:rgba(2,8,18,.97);padding:12px;border-bottom:1px solid var(--bdr)}.header-v7-hamburger{display:block}.nav-open .header-v7-nav{display:flex}.nav-drop-panel{position:static;transform:none;opacity:1;visibility:visible;background:transparent;border:none;box-shadow:none;padding:0 0 0 16px;min-width:0}}
.site-header-v7.scrolled{background:rgba(2,8,18,.98);box-shadow:0 2px 20px rgba(0,0,0,.5)}
header a,nav a{color:#6B7280;text-decoration:none}.site-header-v7.scrolled{background:rgba(2,8,18,.98);box-shadow:0 2px 20px rgba(0,0,0,.5)}

/* ─── Footer v7 (2026-08-04: 补全样式, 之前页面用 footer-v7 类但 CSS 只有旧 .ft/.site-footer) ─── */
.footer-v7{border-top:1px solid rgba(37,99,235,.1);padding:48px 24px 28px;position:relative;z-index:10;background:linear-gradient(180deg,transparent,rgba(37,99,235,.02))}
.footer-v7-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr 1fr;gap:28px}
.footer-v7-col h4{font-size:.92rem;color:#F3F4F6;margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid rgba(37,99,235,.1)}
.footer-v7-col p{color:#6B7280;font-size:.85rem;line-height:1.6;margin:0}
.footer-v7-col a{display:block;font-size:.83rem;color:#9CA3AF;padding:5px 0;transition:all .15s;text-decoration:none}
.footer-v7-col a:hover{color:#2563eb;padding-left:4px}
.footer-v7-bottom{max-width:1100px;margin:28px auto 0;padding-top:18px;border-top:1px solid rgba(37,99,235,.1);text-align:center;font-size:.78rem;color:#4B5563}
.footer-v7-bottom p{margin:0}
@media(max-width:768px){.footer-v7-inner{grid-template-columns:1fr 1fr;gap:24px}}
@media(max-width:480px){.footer-v7-inner{grid-template-columns:1fr}}
/* ─── 我的记录侧边栏 (2026-08-04: 右下角悬浮按钮 + 右侧滑出面板) ─── */
#mtFab{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:9000;display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#1d4ed8,#3b82f6);color:#fff;border:none;border-radius:50px;padding:13px 22px;font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:0 6px 24px rgba(37,99,235,.35);transition:all .2s;font-family:inherit}
#mtFab:hover{transform:translateY(calc(-50% - 2px));box-shadow:0 10px 32px rgba(37,99,235,.45)}
#mtFab span{font-size:.82rem}
#mtSidebar{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:92vw;background:rgba(5,14,28,.97);backdrop-filter:blur(18px);border-left:1px solid rgba(37,99,235,.15);z-index:9100;transform:translateX(105%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(0,0,0,.5)}
#mtSidebar.open{transform:translateX(0)}
#mtOverlay{position:fixed;inset:0;background:rgba(2,8,18,.5);z-index:9050;opacity:0;visibility:hidden;transition:all .25s}
#mtOverlay.on{opacity:1;visibility:visible}
.mt-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid rgba(37,99,235,.1)}
.mt-title{font-size:1.05rem;font-weight:700;color:#F3F4F6}
.mt-close{background:none;border:none;color:#6B7280;font-size:1.1rem;cursor:pointer;padding:4px 8px}
.mt-close:hover{color:#F3F4F6}
.mt-stats{display:flex;padding:14px 20px;gap:0;border-bottom:1px solid rgba(48,54,61,.35)}
.mt-stat{flex:1;text-align:center}
.mt-stat b{display:block;font-size:1.25rem;font-weight:700;color:#2563eb;font-family:monospace}
.mt-stat span{font-size:.7rem;color:#6B7280}
.mt-tabs{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid rgba(48,54,61,.35)}
.mt-tab{padding:6px 18px;font-size:.8rem;cursor:pointer;border:1px solid rgba(48,54,61,.5);background:rgba(13,17,27,.6);color:#8b949e;border-radius:20px;font-family:inherit;transition:all .15s}
.mt-tab.on{background:rgba(37,99,235,.12);border-color:rgba(37,99,235,.4);color:#2563eb;font-weight:600}
.mt-list{flex:1;overflow-y:auto;padding:12px 16px}
.mt-item{display:flex;align-items:center;gap:12px;padding:12px 8px;border-bottom:1px solid rgba(48,54,61,.22)}
.mt-ic{font-size:1.35rem;flex-shrink:0}
.mt-mid{flex:1;min-width:0}
.mt-nm{font-size:.86rem;font-weight:600;color:#F3F4F6;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.mt-cost{font-size:.68rem;color:#FBBF24;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.25);padding:1px 8px;border-radius:20px}
.mt-free{font-size:.68rem;color:#6B7280;background:rgba(107,114,128,.12);border:1px solid rgba(107,114,128,.3);padding:1px 8px;border-radius:20px}
.mt-q{font-size:.74rem;color:#6B7280;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt-tm{font-size:.68rem;color:#4B5563;margin-top:3px}
.mt-star{font-size:1.1rem;background:none;border:none;cursor:pointer;color:#4B5563;flex-shrink:0;padding:4px}
.mt-star.on{color:#FBBF24}
.mt-star:hover{transform:scale(1.15)}
.mt-pager{display:flex;justify-content:center;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid rgba(48,54,61,.35)}
.mt-pager button{background:rgba(13,17,27,.6);border:1px solid rgba(48,54,61,.5);color:#D1D5DB;padding:5px 14px;border-radius:8px;cursor:pointer;font-size:.8rem;font-family:inherit}
.mt-pager button:disabled{opacity:.35;cursor:default}
.mt-pager .mt-cur{font-size:.78rem;color:#6B7280}
.mt-empty{text-align:center;color:#6B7280;padding:44px 0;font-size:.84rem}
.mt-loading{text-align:center;color:#6B7280;padding:40px 0;font-size:.82rem}
.mt-loading i{display:inline-block;width:20px;height:20px;border:2px solid rgba(37,99,235,.15);border-top-color:#2563eb;border-radius:50%;animation:mtSpin .7s linear infinite;vertical-align:middle;margin-right:8px}
@keyframes mtSpin{to{transform:rotate(360deg)}}
