/* 凯发娱乐官网 - 全站样式 */

:root{
  --bg-page:#f3f5fb;
  --bg-panel:#ffffff;
  --bg-panel-alt:#f8f9fd;
  --bg-header-cell:#e9eefb;
  --text-primary:#1e2a4a;
  --text-secondary:#5a6482;
  --text-muted:#8891ab;
  --border-color:#e3e7f4;
  --border-strong:#cbd3ea;
  --color-blue:#2f5ce0;
  --color-blue-dark:#1d3fae;
  --color-blue-soft:#e7edfd;
  --color-success:#0f9d8c;
  --color-success-soft:#e1f6f2;
  --color-orange:#f2871d;
  --color-orange-soft:#fef1e2;
  --color-purple:#7c4dee;
  --color-purple-soft:#f0eafe;
  --color-red:#e2493d;
  --color-red-soft:#fdeceb;
  --color-cyan:#0891b2;
  --color-cyan-soft:#e3f6fb;
  --shadow-soft:0 4px 18px rgba(24,34,74,0.07);
  --shadow-card:0 2px 10px rgba(24,34,74,0.06);
  --shadow-lift:0 14px 34px rgba(24,34,74,0.12);
  --radius-lg:20px;
  --radius-md:14px;
  --radius-sm:9px;
  --radius-pill:999px;
  --max-width:1280px;
  --hero-1:#0a0f2e;
  --hero-2:#1c1250;
  --hero-3:#123a6e;
  --font-main:"Microsoft YaHei","PingFang SC","Hiragino Sans GB","Segoe UI",Arial,sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-main);
  background:var(--bg-page);
  color:var(--text-primary);
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--color-blue);text-decoration:none;}
a:hover{text-decoration:underline;}
ul,ol{margin:0;padding:0;}
h1,h2,h3,h4,p,figure{margin:0;}
table{border-collapse:collapse;width:100%;}
button{font-family:inherit;cursor:pointer;}
input,select{font-family:inherit;}

.container{max-width:var(--max-width);margin:0 auto;padding:0 24px;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.skip-link{position:absolute;left:-999px;top:0;background:#0a0f2e;color:#fff;padding:10px 18px;border-radius:0 0 10px 0;z-index:999;}
.skip-link:focus{left:0;}

/* ---------- header / nav ---------- */
.site-header{
  position:sticky;top:0;z-index:80;
  background:rgba(10,15,46,0.96);
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.header-inner{
  max-width:var(--max-width);margin:0 auto;padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;height:72px;
}
.brand-link{display:flex;align-items:center;gap:10px;color:#fff;font-size:20px;font-weight:700;letter-spacing:0.5px;}
.brand-link:hover{text-decoration:none;opacity:0.92;}
.brand-link img{width:36px;height:36px;border-radius:10px;}

.main-nav{display:flex;align-items:center;}
.main-nav ul{display:flex;list-style:none;gap:2px;}
.main-nav a{
  display:block;color:#cbd3f0;font-size:15px;font-weight:600;padding:10px 15px;border-radius:var(--radius-sm);
  transition:background .18s,color .18s;
}
.main-nav a:hover,.main-nav a:focus-visible{background:rgba(255,255,255,0.1);color:#fff;text-decoration:none;}
.main-nav a.is-active{background:linear-gradient(135deg,#7c4dee,#2f5ce0);color:#fff;}

.nav-toggle{
  display:none;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.16);
  width:42px;height:42px;border-radius:10px;position:relative;
}
.nav-toggle span,.nav-toggle::before,.nav-toggle::after{
  content:"";position:absolute;left:10px;right:10px;height:2px;background:#fff;border-radius:2px;
}
.nav-toggle::before{top:14px;}
.nav-toggle span{top:20px;}
.nav-toggle::after{top:26px;}

/* ---------- breadcrumb ---------- */
.breadcrumb{
  background:var(--bg-panel-alt);border-bottom:1px solid var(--border-color);
}
.breadcrumb .container{padding-top:12px;padding-bottom:12px;font-size:13.5px;color:var(--text-secondary);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.breadcrumb a{color:var(--text-secondary);font-weight:600;}
.breadcrumb span.sep{color:var(--text-muted);}
.breadcrumb span.current{color:var(--text-primary);font-weight:700;}

/* ---------- hero ---------- */
.hero{
  position:relative;overflow:hidden;color:#f4f6ff;
  background:linear-gradient(135deg,var(--hero-1),var(--hero-2) 55%,var(--hero-3));
  padding:64px 0 76px;
}
.hero-inner{
  max-width:var(--max-width);margin:0 auto;padding:0 24px;
  display:flex;align-items:center;gap:48px;
}
.hero-copy{flex:1 1 480px;min-width:0;}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.09);
  border:1px solid rgba(255,255,255,0.18);padding:6px 14px;border-radius:var(--radius-pill);
  font-size:13px;font-weight:600;color:#c9d4ff;margin-bottom:18px;
}
.hero-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:#22d3ee;}
.hero h1{font-size:38px;line-height:1.35;font-weight:800;margin-bottom:18px;letter-spacing:0.3px;}
.hero .lead{font-size:16.5px;color:#d6dcf7;max-width:640px;margin-bottom:26px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-figure{flex:1 1 46%;max-width:48%;}
.hero-figure img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lift);}

.btn{
  display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:var(--radius-pill);
  font-weight:700;font-size:14.5px;border:1px solid transparent;transition:transform .15s,box-shadow .15s;
}
.btn:hover{text-decoration:none;transform:translateY(-1px);}
.btn-primary{background:linear-gradient(135deg,#7c4dee,#2f5ce0);color:#fff;box-shadow:0 10px 22px rgba(47,92,224,0.35);}
.btn-ghost{background:rgba(255,255,255,0.08);color:#fff;border-color:rgba(255,255,255,0.28);}
.btn-outline{background:#fff;color:var(--color-blue);border-color:var(--border-strong);}
.btn-outline:hover{border-color:var(--color-blue);}
.btn-sm{padding:8px 16px;font-size:13px;}

/* ---------- section shells ---------- */
.section{padding:56px 0;}
.section-alt{background:var(--bg-panel-alt);}
.section-head{max-width:760px;margin:0 auto 34px;text-align:left;}
.section-head.center{text-align:center;margin-left:auto;margin-right:auto;}
.eyebrow{display:inline-block;font-size:12.5px;font-weight:800;letter-spacing:1px;color:var(--color-purple);text-transform:uppercase;margin-bottom:10px;}
.section h2{font-size:27px;font-weight:800;color:var(--text-primary);margin-bottom:12px;line-height:1.4;}
.section h3{font-size:19px;font-weight:800;color:var(--text-primary);margin-bottom:10px;}
.section .desc{color:var(--text-secondary);font-size:15px;}

/* ---------- entry cards ---------- */
.entry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.entry-card{
  background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);
  padding:22px;box-shadow:var(--shadow-card);transition:transform .15s,box-shadow .15s;
}
.entry-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift);}
.entry-card .icon-dot{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:19px;margin-bottom:14px;}
.entry-card h3{font-size:16.5px;margin-bottom:8px;}
.entry-card p{color:var(--text-secondary);font-size:13.8px;margin-bottom:12px;}
.entry-card a.card-link{font-size:13.5px;font-weight:700;}
.tone-purple{background:var(--color-purple-soft);color:var(--color-purple);}
.tone-blue{background:var(--color-blue-soft);color:var(--color-blue);}
.tone-teal{background:var(--color-success-soft);color:var(--color-success);}
.tone-orange{background:var(--color-orange-soft);color:var(--color-orange);}
.tone-cyan{background:var(--color-cyan-soft);color:var(--color-cyan);}
.tone-red{background:var(--color-red-soft);color:var(--color-red);}

/* ---------- kanban board ---------- */
.kanban-panel{
  background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);padding:26px;overflow:hidden;
}
.kanban-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px;}
.kanban-toolbar .stat-chip{
  display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--text-secondary);
  background:var(--bg-panel-alt);padding:6px 12px;border-radius:var(--radius-pill);border:1px solid var(--border-color);
}
.table-scroll{overflow-x:auto;border-radius:var(--radius-md);}
.kanban-table{min-width:920px;}
.kanban-table th{
  background:var(--bg-header-cell);color:#33406b;font-size:13px;font-weight:800;text-align:left;
  padding:13px 14px;border-bottom:1px solid var(--border-color);white-space:nowrap;
}
.kanban-table td{
  padding:14px;border-bottom:1px solid var(--border-color);font-size:13.8px;color:var(--text-primary);vertical-align:middle;
}
.kanban-table tbody tr:hover{background:#fafbff;}
.kanban-table tbody tr:last-child td{border-bottom:none;}

.progress-track{width:120px;height:8px;background:#e9edf8;border-radius:var(--radius-pill);overflow:hidden;}
.progress-fill{height:100%;background:linear-gradient(90deg,#0f9d8c,#22d3ee);border-radius:var(--radius-pill);}

.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:var(--radius-pill);font-size:12.5px;font-weight:700;}
.pill-success{background:var(--color-success-soft);color:var(--color-success);}
.pill-blue{background:var(--color-blue-soft);color:var(--color-blue);}
.pill-orange{background:var(--color-orange-soft);color:var(--color-orange);}
.pill-purple{background:var(--color-purple-soft);color:var(--color-purple);}
.pill-cyan{background:var(--color-cyan-soft);color:var(--color-cyan);}
.pill-red{background:var(--color-red-soft);color:var(--color-red);}
.pill-gray{background:#eef0f6;color:#5a6482;}

.kb-switch{
  width:44px;height:24px;border-radius:var(--radius-pill);background:#d7dcef;border:none;position:relative;
  transition:background .18s;flex-shrink:0;
}
.kb-switch::after{
  content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,0.25);transition:left .18s;
}
.kb-switch.is-on{background:var(--color-blue);}
.kb-switch.is-on::after{left:23px;}
.kanban-check{width:17px;height:17px;accent-color:var(--color-blue);}
.kanban-note{margin-top:16px;font-size:13px;color:var(--text-muted);background:var(--bg-panel-alt);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);padding:12px 14px;}

/* ---------- filter buttons ---------- */
.filter-bar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:26px;}
.filter-btn{
  background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-secondary);
  padding:8px 16px;border-radius:var(--radius-pill);font-size:13.5px;font-weight:700;transition:all .15s;
}
.filter-btn:hover{border-color:var(--color-blue);color:var(--color-blue);}
.filter-btn.is-active{background:linear-gradient(135deg,#7c4dee,#2f5ce0);color:#fff;border-color:transparent;}

/* ---------- article / news cards ---------- */
.article-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.article-card{
  background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);
  overflow:hidden;box-shadow:var(--shadow-card);
}
.article-card figure{margin:0;}
.article-card .art-body{padding:20px;}
.article-card .cat-tag{font-size:12px;font-weight:800;color:var(--color-purple);letter-spacing:.4px;}
.article-card h3{font-size:16.5px;margin:8px 0 8px;}
.article-card p{color:var(--text-secondary);font-size:13.8px;margin-bottom:12px;}
.meta-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;color:var(--text-muted);margin-top:8px;}

.news-article{
  background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);
  padding:28px;margin-bottom:26px;box-shadow:var(--shadow-card);scroll-margin-top:90px;
}
.news-article .art-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px;}
.news-article h3{font-size:20px;line-height:1.5;margin:10px 0 12px;}
.news-article .summary{background:var(--bg-panel-alt);border-left:3px solid var(--color-purple);padding:12px 16px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:14px;margin-bottom:16px;}
.news-article figure{margin:16px 0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color);}
.news-article figcaption{padding:12px 16px;font-size:12.8px;color:var(--text-muted);background:var(--bg-panel-alt);}
.news-article .body-text p{margin-bottom:14px;color:var(--text-primary);font-size:15px;}
.article-meta-box{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;
  background:var(--bg-panel-alt);border:1px solid var(--border-color);border-radius:var(--radius-sm);
  padding:14px 16px;margin:16px 0;font-size:13px;color:var(--text-secondary);
}
.article-meta-box b{color:var(--text-primary);}
.disclaimer-box{font-size:12.8px;color:var(--text-muted);border-top:1px dashed var(--border-strong);padding-top:12px;margin-top:14px;}
.inline-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;font-size:13.5px;font-weight:700;}

/* ---------- essay / short read blocks ---------- */
.essay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.essay-card{
  background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);
  padding:20px;box-shadow:var(--shadow-card);
}
.essay-card h3{font-size:15.5px;margin-bottom:10px;}
.essay-card p{font-size:13.6px;color:var(--text-secondary);}

/* ---------- tables ---------- */
.data-table-wrap{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-card);}
.data-table{min-width:640px;background:var(--bg-panel);}
.data-table th{background:var(--bg-header-cell);color:#33406b;padding:12px 14px;text-align:left;font-size:13.3px;font-weight:800;border-bottom:1px solid var(--border-color);}
.data-table td{padding:12px 14px;font-size:13.6px;border-bottom:1px solid var(--border-color);color:var(--text-primary);}
.data-table tr:last-child td{border-bottom:none;}
.data-table tr:hover td{background:#fafbff;}

/* ---------- timeline ---------- */
.roadmap{position:relative;padding-left:26px;}
.roadmap::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--border-strong);}
.roadmap-item{position:relative;padding-bottom:22px;}
.roadmap-item::before{content:"";position:absolute;left:-26px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--color-blue);border:3px solid #dbe4ff;}
.roadmap-item h4{font-size:15.5px;margin-bottom:6px;color:var(--text-primary);}
.roadmap-item p{font-size:13.6px;color:var(--text-secondary);}
.roadmap-stage{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:22px;box-shadow:var(--shadow-card);margin-bottom:16px;}
.roadmap-stage h3{font-size:16.5px;margin-bottom:10px;}
.roadmap-stage ul{list-style:none;}
.roadmap-stage li{position:relative;padding-left:20px;margin-bottom:8px;font-size:13.8px;color:var(--text-secondary);}
.roadmap-stage li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:2px;background:var(--color-purple);}

/* ---------- update log ---------- */
.log-list{list-style:none;}
.log-item{
  display:grid;grid-template-columns:120px 1fr;gap:18px;padding:16px 0;border-bottom:1px dashed var(--border-color);
}
.log-item:last-child{border-bottom:none;}
.log-date{font-weight:800;color:var(--color-blue);font-size:13.6px;}
.log-body h4{font-size:15.5px;margin-bottom:6px;}
.log-body p{font-size:13.6px;color:var(--text-secondary);}

/* ---------- FAQ ---------- */
.faq-list{border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-panel);}
.faq-item{border-bottom:1px solid var(--border-color);}
.faq-item:last-child{border-bottom:none;}
.faq-q{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;
  background:none;border:none;text-align:left;padding:18px 22px;font-size:15px;font-weight:700;color:var(--text-primary);
}
.faq-q::after{content:"+";font-size:22px;color:var(--color-blue);font-weight:400;flex-shrink:0;transition:transform .2s;}
.faq-item.is-open .faq-q::after{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-item.is-open .faq-a{max-height:400px;}
.faq-a p{padding:0 22px 20px;color:var(--text-secondary);font-size:14px;}

/* ---------- company / info table ---------- */
.info-table td{padding:12px 16px;}
.info-table td:first-child{width:170px;color:var(--text-muted);font-weight:700;background:var(--bg-header-cell);}

/* ---------- app / download page blocks ---------- */
.split-block{display:flex;align-items:center;gap:44px;margin-bottom:50px;}
.split-block.reverse{flex-direction:row-reverse;}
.split-copy{flex:1 1 50%;}
.split-figure{flex:1 1 44%;}
.split-figure img{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--border-color);}
.check-list{list-style:none;margin-top:14px;}
.check-list li{position:relative;padding-left:26px;margin-bottom:9px;font-size:14px;color:var(--text-secondary);}
.check-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--color-success);font-weight:800;}

.pref-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;}
.pref-chip{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);
  padding:13px 15px;font-size:13.6px;font-weight:700;color:var(--text-primary);box-shadow:var(--shadow-card);
}

.download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.download-card{
  background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);
  padding:26px;text-align:center;box-shadow:var(--shadow-card);
}
.download-card .plat-icon{
  width:64px;height:64px;border-radius:18px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:20px;color:#fff;
}
.download-card h3{font-size:17px;margin-bottom:8px;}
.download-card p{font-size:13.4px;color:var(--text-secondary);margin-bottom:16px;}
#download-notice{scroll-margin-top:90px;}
.notice-box{
  background:var(--color-orange-soft);border:1px solid #f6d9b3;border-radius:var(--radius-md);
  padding:20px 22px;font-size:13.8px;color:#7a4a12;margin:22px 0;
}
.security-box{
  background:var(--color-cyan-soft);border:1px solid #b8e4ef;border-radius:var(--radius-md);
  padding:20px 22px;font-size:13.8px;color:#0b5566;margin:22px 0;
}

/* ---------- quiz widget ---------- */
.quiz-box{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-card);}
.quiz-q{font-size:15.5px;font-weight:700;margin-bottom:14px;}
.quiz-options{display:grid;gap:9px;margin-bottom:12px;}
.quiz-opt{
  text-align:left;background:var(--bg-panel-alt);border:1px solid var(--border-color);border-radius:var(--radius-sm);
  padding:11px 14px;font-size:13.8px;color:var(--text-primary);
}
.quiz-opt:hover{border-color:var(--color-blue);}
.quiz-opt.correct{background:var(--color-success-soft);border-color:var(--color-success);color:#0a6b5f;}
.quiz-opt.wrong{background:var(--color-red-soft);border-color:var(--color-red);color:#a5342a;}
.quiz-feedback{font-size:13.6px;color:var(--text-secondary);min-height:20px;}
.quiz-nav{margin-top:14px;}

/* ---------- reading tools (app.html demo) ---------- */
.reader-demo{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-card);}
.reader-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.reader-toolbar button{
  background:var(--bg-panel-alt);border:1px solid var(--border-color);border-radius:var(--radius-pill);
  padding:8px 14px;font-size:13px;font-weight:700;color:var(--text-secondary);
}
.reader-toolbar button.is-active{background:var(--color-blue);color:#fff;border-color:var(--color-blue);}
.reader-sample{border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:18px;transition:background .2s,color .2s,font-size .2s;}
.reader-sample.night{background:#161c34;color:#e4e8fb;}
.reader-sample h4{margin-bottom:8px;}

/* ---------- collections / history (local demo) ---------- */
.local-panel{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-card);}
.local-list{list-style:none;}
.local-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-bottom:1px dashed var(--border-color);font-size:13.8px;}
.local-list li:last-child{border-bottom:none;}
.local-empty{color:var(--text-muted);font-size:13.6px;padding:14px 0;}
.fav-btn{background:var(--bg-panel-alt);border:1px solid var(--border-color);border-radius:var(--radius-pill);padding:6px 14px;font-size:12.6px;font-weight:700;color:var(--text-secondary);}
.fav-btn.is-fav{background:var(--color-purple-soft);color:var(--color-purple);border-color:var(--color-purple);}

/* ---------- footer ---------- */
.site-footer{background:#0b1130;color:#c6cdec;padding:50px 0 24px;margin-top:20px;}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px;margin-bottom:34px;}
.footer-brand{font-size:19px;font-weight:800;color:#fff;margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.footer-brand img{width:28px;height:28px;border-radius:8px;}
.footer-col h4{color:#fff;font-size:14px;margin-bottom:14px;}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:9px;}
.footer-col a{color:#aab3d6;font-size:13.4px;}
.footer-col a:hover{color:#fff;}
.footer-info p{font-size:13.2px;color:#aab3d6;margin-bottom:6px;}
.footer-disclaimer{border-top:1px solid rgba(255,255,255,0.1);padding-top:20px;font-size:12.6px;color:#8894c0;line-height:1.9;}
.footer-bottom{text-align:center;margin-top:18px;font-size:12.6px;color:#8894c0;}

/* ---------- back to top ---------- */
.back-top{
  position:fixed;right:22px;bottom:26px;width:46px;height:46px;border-radius:50%;
  background:linear-gradient(135deg,#7c4dee,#2f5ce0);color:#fff;border:none;box-shadow:var(--shadow-lift);
  display:flex;align-items:center;justify-content:center;font-size:18px;opacity:0;pointer-events:none;
  transition:opacity .2s,transform .2s;z-index:60;
}
.back-top.is-visible{opacity:1;pointer-events:auto;}
.back-top:hover{transform:translateY(-3px);}

/* ---------- misc ---------- */
.tag-row{display:flex;flex-wrap:wrap;gap:8px;}
.lead-block{font-size:16px;color:var(--text-secondary);max-width:900px;margin-bottom:8px;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.center-text{text-align:center;}
.mt-24{margin-top:24px;}
.mb-24{margin-bottom:24px;}
.divider{height:1px;background:var(--border-color);margin:40px 0;}

/* ---------- responsive ---------- */
@media (max-width:1040px){
  .entry-grid{grid-template-columns:repeat(2,1fr);}
  .article-grid{grid-template-columns:1fr;}
  .essay-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .download-grid{grid-template-columns:1fr;}
  .split-block,.split-block.reverse{flex-direction:column;}
  .split-figure{max-width:100%;}
}
@media (max-width:860px){
  .hero-inner{flex-direction:column;}
  .hero-figure{max-width:100%;}
  .hero h1{font-size:29px;}
}
@media (max-width:760px){
  .main-nav{
    position:fixed;top:72px;left:0;right:0;bottom:0;background:#0a0f2e;
    transform:translateX(100%);transition:transform .22s;overflow-y:auto;padding:18px 0;
  }
  .main-nav.is-open{transform:translateX(0);}
  .main-nav ul{flex-direction:column;gap:0;padding:0 18px;}
  .main-nav a{padding:15px 10px;border-bottom:1px solid rgba(255,255,255,0.06);border-radius:0;}
  .nav-toggle{display:block;}
  .entry-grid{grid-template-columns:1fr;}
  .two-col{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:24px;}
  .kanban-toolbar{align-items:flex-start;}
}
