
/* ===== 冀信云讯 · 另一个开发者的视觉语言（粗野主义）===== */
:root{
  --ink:#16140f; --paper:#f6f0e2;
  --bg:#f6f0e2; --surface:#ffffff; --surface-2:#efe7d4;
  --text:#16140f; --muted:#5c5443; --border:#16140f;
  --primary:#16140f; --accent:#ffd23f; --ok:#1f9d57; --warn:#d98a00; --bad:#e23b3b;
  --yellow:#ffd23f; --coral:#ff5a5f; --blue:#2b6bff; --green:#1f9d57;
  --shadow-hard:6px 6px 0 var(--ink);
  --radius:3px;
  --font-head:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --font-mono:"Courier New",ui-monospace,SFMono-Regular,monospace;
}
[data-theme="dark"]{
  --bg:#16140f; --surface:#1e1b14; --surface-2:#241f16; --border:#000000;
  --text:#f6f0e2; --muted:#b8ad95; --primary:#f6f0e2; --accent:#ffd23f;
  --shadow-hard:6px 6px 0 #000;
}
*{transition:background .15s,color .15s,border-color .15s,box-shadow .15s}
body{font-family:var(--font-head)}

/* —— 通用按钮：硬边框 + 位移硬阴影 —— */
.btn{border-radius:var(--radius);font-weight:800;letter-spacing:.4px;text-transform:uppercase;font-family:var(--font-mono);border:2.5px solid var(--ink);box-shadow:var(--shadow-hard);padding:11px 20px}
.btn:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--ink)}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-ghost{background:var(--surface);color:var(--text)}
.btn-accent{background:var(--yellow);color:var(--ink)}
.h-grad{background:none;color:var(--yellow);-webkit-text-fill-color:var(--yellow);text-shadow:3px 3px 0 var(--ink)}

/* —— 标签 / 状态徽章 —— */
.tag{background:var(--ink);color:var(--paper);border:none;text-transform:uppercase;font-family:var(--font-mono);font-weight:700;letter-spacing:.5px}
.badge{border:2px solid var(--ink);font-family:var(--font-mono);font-weight:700;border-radius:var(--radius)}
.badge.pending{background:var(--yellow);color:var(--ink)}
.badge.approved{background:var(--green);color:#fff;border-color:var(--ink)}
.badge.rejected{background:var(--coral);color:#fff;border-color:var(--ink)}

/* —— 区块标题：左对齐 + 墨黑下划粗条 —— */
.sec-head{text-align:left;max-width:none;margin:0 0 34px}
.sec-head .eyebrow{display:inline-block;background:var(--ink);color:var(--paper);padding:5px 12px;font-family:var(--font-mono);letter-spacing:2px;font-size:12px;text-transform:uppercase;border:2px solid var(--ink)}
.sec-head h2{font-weight:900;font-size:38px;letter-spacing:-.8px;margin:14px 0 10px;position:relative;padding-bottom:12px}
.sec-head h2:after{content:"";position:absolute;left:0;bottom:0;width:70px;height:7px;background:var(--yellow);border:2px solid var(--ink)}
.sec-head p{font-size:15px}

/* —— 卡片 / 统计 / 步骤：硬边框 + 硬阴影 —— */
.card,.stat,.step,.post-card,.side-card,.table,.auth-wrap{border:2.5px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-hard)}
.card:hover{transform:translate(-3px,-3px);border-color:var(--ink);box-shadow:10px 10px 0 var(--ink)}
.card .ic{border:2px solid var(--ink);background:var(--yellow);color:var(--ink);border-radius:var(--radius)}
.card h3{font-weight:900;letter-spacing:-.3px}
.step{border-top:7px solid var(--ink)}
.step:before{background:var(--yellow);color:var(--ink);border:2px solid var(--ink);font-family:var(--font-mono)}
.stat .n{color:var(--ink);font-family:var(--font-mono)}

/* —— 信息发布板 —— */
.board-tools select,.board-tools input{border:2px solid var(--ink);border-radius:var(--radius);font-family:var(--font-mono)}
.post-card{grid-template-columns:auto 1fr auto;border-width:2.5px}
.post-card:hover{transform:translate(-2px,-2px);border-color:var(--ink);box-shadow:var(--shadow-hard)}
.post-card .ttl{font-weight:900;letter-spacing:-.3px}
.empty{border:2.5px dashed var(--ink);background:var(--surface-2)}

/* —— 表单 —— */
.field input,.field select,.field textarea{border:2px solid var(--ink);border-radius:var(--radius);font-family:var(--font-mono)}
.field label{font-weight:800}
.alert.ok{background:var(--green);color:#fff;border:2px solid var(--ink)}
.alert.err{background:var(--coral);color:#fff;border:2px solid var(--ink)}

/* —— 双栏 / 侧卡 —— */
.side-card h4{font-weight:900;letter-spacing:-.2px}
.side-card li .ck{color:var(--green);font-weight:900}

/* —— 表格 / 后台 —— */
.table{border-width:2.5px}
.table th{background:var(--ink);color:var(--paper);font-family:var(--font-mono);text-transform:uppercase;border-bottom:2px solid var(--ink)}
.table td{border-bottom:2px solid var(--border)}
.table tr:hover td{background:var(--surface-2)}
.admin-stats .s{border:2.5px solid var(--ink);box-shadow:var(--shadow-hard);border-radius:var(--radius)}
.admin-stats .s .n{font-family:var(--font-mono)}
.mini-btn{border:2px solid var(--ink);border-radius:var(--radius);font-family:var(--font-mono);font-weight:700}
.mini-btn.go{background:var(--green);color:#fff}
.mini-btn.no{background:var(--coral);color:#fff}
.mini-btn.del{background:var(--paper)}
.row-actions{gap:8px}

/* —— 登录 / 注册 —— */
.auth-wrap{border-width:2.5px;box-shadow:var(--shadow-hard)}
.auth-wrap h2{font-weight:900;letter-spacing:-.6px}
.auth-alt a{color:var(--ink);text-decoration:underline}
.demo-box{border:2px dashed var(--ink);background:var(--surface-2);font-family:var(--font-mono)}

/* ============ 冀信云讯专属结构样式 ============ */
/* 顶栏 + 跑马灯 */
.cloud-head{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:3px solid var(--ink)}
.cloud-marquee{background:var(--ink);color:var(--paper);overflow:hidden;white-space:nowrap;font-family:var(--font-mono);font-size:13px;letter-spacing:1px;padding:6px 0}
.cloud-marquee__track{display:inline-block;animation:cloudScroll 24s linear infinite}
.cloud-marquee__track span{margin:0 10px}
@keyframes cloudScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cloud-bar{display:flex;align-items:center;justify-content:space-between;height:72px}
.cloud-brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:20px;color:var(--ink)}
.cloud-logo{width:40px;height:40px;display:grid;place-items:center;background:var(--yellow);color:var(--ink);border:2.5px solid var(--ink);font-weight:900;font-size:20px;box-shadow:3px 3px 0 var(--ink)}
.cloud-links{display:flex;gap:8px;align-items:center}
.cloud-links a{padding:8px 14px;border:2px solid transparent;font-weight:700;font-size:14.5px;color:var(--ink);transition:.15s}
.cloud-links a:hover,.cloud-links a.is-active{border-color:var(--ink);background:var(--yellow)}
.cloud-actions{display:flex;gap:8px;align-items:center}
.cloud-toggle{width:40px;height:40px;border:2.5px solid var(--ink);background:var(--surface);cursor:pointer;font-size:18px;box-shadow:3px 3px 0 var(--ink)}
.cloud-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:2.5px solid var(--ink);background:var(--surface);color:var(--ink);font-weight:800;font-family:var(--font-mono);text-transform:uppercase;cursor:pointer;box-shadow:3px 3px 0 var(--ink);transition:.15s}
.cloud-btn:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}
.cloud-btn--solid{background:var(--ink);color:var(--paper)}
.cloud-burger{display:none;width:42px;height:42px;border:2.5px solid var(--ink);background:var(--surface);font-size:20px;cursor:pointer;box-shadow:3px 3px 0 var(--ink);color:var(--ink)}
.cloud-mobile{display:none;flex-direction:column;padding:10px 16px;gap:6px;border-bottom:3px solid var(--ink);background:var(--paper)}
.cloud-mobile a{padding:11px 8px;border:2px solid var(--ink);font-weight:700;color:var(--ink)}

/* 暗色英雄区（戏剧化，独立于主题切换） */
.cloud-hero{padding:72px 0 60px;background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.cloud-hero__kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:2px;color:var(--yellow);font-weight:700;margin-bottom:14px;font-size:13px}
.cloud-hero__title{font-size:54px;line-height:1.04;font-weight:900;letter-spacing:-1.5px;margin-bottom:18px;color:var(--paper)}
.cloud-hero__title span{background:var(--yellow);color:var(--ink);padding:0 10px;box-shadow:5px 5px 0 var(--coral)}
.cloud-hero__lead{font-size:17px;max-width:620px;color:#e8e0cc;margin-bottom:26px}
.cloud-hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px}
.cloud-hero__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cloud-stat{border:2.5px solid var(--paper);background:rgba(255,255,255,.05);padding:18px;box-shadow:6px 6px 0 var(--yellow)}
.cloud-stat .n{font-family:var(--font-mono);font-size:30px;font-weight:800;color:var(--yellow)}
.cloud-stat .l{color:#cfc7b0;font-size:13px;margin-top:4px}

/* 页脚 */
.cloud-foot{background:var(--ink);color:var(--paper);border-top:6px solid var(--yellow);padding:46px 0 26px;margin-top:40px}
.cloud-foot__top{display:grid;grid-template-columns:1.6fr 2fr;gap:30px;margin-bottom:26px}
.cloud-foot__brand p{color:#cfc7b0;font-size:14px;margin-top:12px;max-width:480px}
.cloud-foot__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cloud-foot__cols h5{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;color:var(--yellow);font-size:14px}
.cloud-foot__cols ul{list-style:none;display:grid;gap:8px}
.cloud-foot__cols a{color:var(--paper);font-size:14px;border-bottom:2px solid transparent}
.cloud-foot__cols a:hover{border-bottom-color:var(--yellow)}
.cloud-foot__legal{display:grid;gap:8px;border-top:2px solid #000;padding-top:18px;font-size:13px;color:#cfc7b0}
.cloud-foot__legal span{margin-right:18px}
.cloud-foot__legal a{color:var(--yellow)}

/* 响应式（cloud 专属） */
@media(max-width:920px){
  .cloud-links{display:none}
  .cloud-burger{display:block}
  .cloud-hero__stats{grid-template-columns:repeat(2,1fr)}
  .cloud-hero__title{font-size:38px}
  .cloud-foot__top{grid-template-columns:1fr}
  .cloud-foot__cols{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .cloud-hero__stats{grid-template-columns:1fr 1fr}
  .cloud-foot__cols{grid-template-columns:1fr}
}
