  :root{
    --green:#00704a; --green-2:#0e5c3f; --green-soft:#e6f0ea;
    --ink:#1e2a24; --muted:#7a867f;
    --paper:#f4f2eb; --card:#fffdf8; --line:#e2ddcf;
    --serif:Georgia,"Times New Roman","Noto Serif SC","Source Han Serif SC","Songti SC","STSong","SimSun",serif;
    --sans:"Segoe UI","PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{height:100%}
  body{font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:14px}
  .shell{display:grid;grid-template-rows:auto 1fr;height:100vh}
  /* 顶栏 */
  .topbar{background:rgba(20,42,33,.97);color:#eef4ef;display:flex;align-items:center;gap:14px;padding:10px 18px;box-shadow:0 1px 0 rgba(255,255,255,.08),0 14px 30px -24px rgba(0,0,0,.7)}
  .logo{width:36px;height:36px;border-radius:50%;flex:0 0 36px;overflow:hidden;box-shadow:inset 0 0 0 2px rgba(255,255,255,.2)}
  .logo img{width:100%;height:100%;object-fit:cover;display:block}
  .brand b{font-family:var(--serif);font-size:16.5px;letter-spacing:.5px;display:block}
  .brand span{font-size:10.5px;opacity:.6;letter-spacing:1.8px;text-transform:uppercase}
  /* 入口区 */
  .stage{display:grid;place-items:center;padding:30px 16px}
  .entries{display:flex;gap:22px;flex-wrap:wrap;justify-content:center}
  .entry{display:flex;flex-direction:column;align-items:center;gap:12px;width:230px;padding:34px 20px 28px;background:var(--card);border:1px solid var(--line);border-radius:18px;text-decoration:none;color:var(--ink);box-shadow:0 18px 44px -28px rgba(15,40,28,.45);transition:.18s}
  .entry:hover{transform:translateY(-3px);border-color:var(--green);box-shadow:0 24px 50px -26px rgba(0,112,74,.45)}
  .entry .eic{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;color:#fff}
  .entry .eic svg{width:28px;height:28px}
  .entry .eic.g{background:linear-gradient(135deg,#0d9465,#006a45)}
  .entry .eic.k{background:linear-gradient(135deg,#b98a3f,#8a6427)}
  .entry b{font-size:16px;letter-spacing:.5px}
  .entry small{font-size:11px;color:var(--muted);letter-spacing:1.2px;text-transform:uppercase}
  .lic{display:inline-block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  /* ---- 移动端适配 ---- */
  @media(max-width:640px){
    .shell{height:auto;min-height:100vh}
    .topbar{padding:10px 14px;gap:11px}
    .brand b{font-size:14.5px}
    .brand span{font-size:9.5px;letter-spacing:1.2px}
    .stage{padding:26px 12px 34px}
    .entries{gap:14px}
    .entry{width:100%;max-width:280px;padding:26px 18px 22px}
  }
