/* ═══════════════════════════════════════════════════
   凌云个人技术分享站 · 公共样式
   翼起凌云 — 共享：重置/变量/导航/按钮/Footer/Toast/响应式
   ═══════════════════════════════════════════════════ */

/* === CSS Reset === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* === CSS Variables === */
:root{
  --bg:#fafbfc;--surface:#ffffff;--primary:#3b82f6;--primary-dark:#2563eb;
  --gold:#f59e0b;--text:#1e293b;--text-muted:#64748b;--border:#e2e8f0;
  --radius:12px;--radius-lg:16px;--shadow:0 1px 3px rgba(0,0,0,.08);--shadow-lg:0 4px 24px rgba(0,0,0,.1);
  --font-mono:'SF Mono','Cascadia Code','Consolas',monospace;
}

/* === Base === */
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;
  background:var(--bg);color:var(--text);line-height:1.7;min-height:100vh
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* === Nav === */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:16px 0;transition:background .3s,backdrop-filter .3s,box-shadow .3s}
.nav.scrolled{background:rgba(250,251,252,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 8px rgba(0,0,0,.06)}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
.nav-logo{font-size:1.15rem;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--text)}
.nav-logo span{font-size:1.4rem}
.nav-links{display:flex;gap:28px;list-style:none;font-size:.9rem;font-weight:500}
.nav-links a{color:var(--text-muted);transition:color .2s;padding:4px 0;border-bottom:2px solid transparent}
.nav-links a:hover,.nav-links a.active{color:var(--primary);border-bottom-color:var(--primary)}
.nav-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text);padding:4px}

/* === Buttons === */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:var(--radius);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s;border:none;white-space:nowrap}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 14px rgba(59,130,246,.35)}
.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 6px 20px rgba(59,130,246,.45)}
.btn-outline{background:var(--surface);color:var(--text);border:2px solid var(--border)}
.btn-outline:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}
.btn-gold{background:var(--gold);color:#fff;box-shadow:0 4px 14px rgba(245,158,11,.35)}
.btn-gold:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(245,158,11,.45)}

/* === Section Common === */
section{padding:80px 24px}
.section-inner{max-width:1200px;margin:0 auto}
.section-tag{font-size:.8rem;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.section-title{font-size:clamp(1.6rem,2.5vw,2rem);font-weight:800;margin-bottom:12px;color:var(--text)}
.section-desc{font-size:1.05rem;color:var(--text-muted);max-width:600px;margin-bottom:48px}

/* === Footer === */
.footer{background:var(--surface);border-top:1px solid var(--border);padding:32px 24px;text-align:center}
.footer p{font-size:.82rem;color:var(--text-muted);margin:4px 0}

/* === Toast === */
.toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);background:#1e293b;color:#fff;padding:10px 24px;border-radius:24px;font-size:.85rem;z-index:200;opacity:0;transition:opacity .3s;pointer-events:none}
.toast.show{opacity:1}

/* === Page Layout with Sidebar (tutorials, about) === */
.page-layout{display:flex;max-width:1200px;margin:0 auto;padding:0 24px;gap:40px}
.page-sidebar{width:200px;flex-shrink:0;position:sticky;top:100px;align-self:flex-start;max-height:calc(100vh - 120px);overflow-y:auto}
.page-sidebar-nav{list-style:none;display:flex;flex-direction:column;gap:4px}
.page-sidebar-nav li a{display:block;padding:10px 16px;border-radius:var(--radius);font-size:.9rem;font-weight:500;color:var(--text-muted);transition:all .2s;border-left:3px solid transparent}
.page-sidebar-nav li a:hover{color:var(--primary);background:#eff6ff}
.page-sidebar-nav li a.active{color:var(--primary);background:#eff6ff;border-left-color:var(--primary);font-weight:700}
.page-sidebar-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:12px;padding:0 16px}
.page-content{flex:1;min-width:0}

/* === Mobile Nav === */
@media(max-width:768px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);flex-direction:column;gap:0;padding:12px 24px;box-shadow:var(--shadow-lg);border-radius:0 0 var(--radius) var(--radius)}
  .nav-links.open{display:flex}
  .nav-links a{padding:12px 0;border-bottom:1px solid var(--border)}
  .nav-toggle{display:block}
  /* Sidebar → top tabs on mobile */
  .page-layout{flex-direction:column;gap:0;padding:0}
  .page-sidebar{width:100%;position:static;max-height:none;overflow-x:auto;overflow-y:visible;padding:16px 24px 0;border-bottom:1px solid var(--border);background:var(--surface)}
  .page-sidebar-nav{flex-direction:row;gap:0;flex-wrap:nowrap}
  .page-sidebar-nav li a{white-space:nowrap;border-left:none;border-bottom:3px solid transparent;border-radius:0;padding:10px 16px;font-size:.85rem}
  .page-sidebar-nav li a.active{border-left-color:transparent;border-bottom-color:var(--primary);background:transparent}
  .page-sidebar-title{display:none}
  .page-content{padding:0 24px}
}

/* === Reduced Motion === */
@media(prefers-reduced-motion:reduce){
  *{transition-duration:0s!important;animation-duration:0s!important}
}
