/* ============================================================
   方块基座 · 方块风（全站加载：菜单+通用按钮全站生效；风景与深色只在首页）
   方块只用在：菜单、按钮、风景。正文与卡片保持原样。
   html[data-gb-time=day|night] × html[data-gb-weather=clear|rain|snow]
   ============================================================ */
:root{
  --gb-edge:#000;
  --gb-panel:#c6c6c6; --gb-panel-hi:#ffffff; --gb-panel-lo:#555555;
  --gb-night:#262b40; --gb-night-hi:#4a5276; --gb-night-lo:#12141f;
  --gb-grass:#3b7322; --gb-gold:#f2c84b; --gb-red:#b3261e;
  --gb-island-sky:#cfe8f3;
}

/* ---------- 夜晚：首页内容区换深色（只换颜色变量） ---------- */
html[data-gb-time="night"] body.home{
  --paper:#15181b; --paper-warm:#1f2226; --ink:#ececea; --ink-soft:#a6a6a0;
  --indigo:#c9c9c2; --amber:#ffffff; --moss:#b5b5ae;
  --line:rgba(255,255,255,.10); --line-strong:rgba(255,255,255,.30);
  --gb-island-sky:#141a33;
  background:#15181b;
}
html[data-gb-time="night"] body.home .gm-shell,
html[data-gb-time="night"] body.home .gm-main{ background:#15181b; color:var(--ink) }

/* ---------- 方块按钮（通用） ---------- */
.gb-btn,
.fh-home .hero-ask-form button,
.fh-home .hero-ask-chips button,
.fh-home .slip-more,
.fh-home .revisit-read,
.fh-home .revisit-shuffle,
.fh-home .gm-hero-quote__refresh,
.fh-home .gm-button,
.fh-home .recent-section .fh-container > p > a,
.fh-home .recent-section a[href$="/articles/"]{
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--sans); font-weight:600; letter-spacing:.04em;
  border:2px solid var(--gb-edge) !important; border-radius:0 !important;
  background:var(--gb-panel); color:#15191a !important;
  box-shadow:inset -4px -4px 0 var(--gb-panel-lo), inset 4px 4px 0 var(--gb-panel-hi);
  padding:8px 14px 10px; cursor:pointer; text-decoration:none !important;
  transition:transform .08s steps(2), filter .08s;
}
.gb-btn:hover,
.fh-home .hero-ask-form button:hover,
.fh-home .hero-ask-chips button:hover,
.fh-home .slip-more:hover,
.fh-home .slip:hover .slip-more,
.fh-home .revisit-read:hover,
.fh-home .revisit-shuffle:hover,
.fh-home .gm-hero-quote__refresh:hover,
.fh-home .gm-button:hover{
  transform:translate(-2px,-2px); filter:brightness(1.06);
  box-shadow:inset -4px -4px 0 var(--gb-panel-lo), inset 4px 4px 0 var(--gb-panel-hi), 4px 4px 0 var(--gb-edge);
}
.gb-btn:active,
.fh-home .hero-ask-form button:active,
.fh-home .hero-ask-chips button:active,
.fh-home .slip-more:active,
.fh-home .revisit-read:active,
.fh-home .revisit-shuffle:active,
.fh-home .gm-button:active{
  transform:none; box-shadow:inset 4px 4px 0 var(--gb-panel-lo), inset -4px -4px 0 var(--gb-panel-hi);
}
.gb-btn:focus-visible,
.fh-home .hero-ask-form button:focus-visible,
.fh-home .hero-ask-chips button:focus-visible,
.fh-home .slip-more:focus-visible,
.fh-home .gm-button:focus-visible{ outline:2px dashed var(--ink); outline-offset:3px }
/* 主按钮：草方块 */
.fh-home .hero-ask-form button,
.fh-home .gm-button--primary{
  background:var(--gb-grass) !important; color:#fff !important;
  box-shadow:inset -4px -4px 0 #24481a, inset 4px 4px 0 #5f9a45 !important;
  padding:0 20px; letter-spacing:.12em;
}
.fh-home .hero-ask-form button:hover{ box-shadow:inset -4px -4px 0 #24481a, inset 4px 4px 0 #5f9a45, 4px 4px 0 var(--gb-edge) !important }
/* 小号 */
.fh-home .hero-ask-chips button,
.fh-home .slip-more,
.fh-home .revisit-shuffle,
.fh-home .gm-hero-quote__refresh{ font-size:12px; padding:5px 10px 7px; letter-spacing:.02em }
.fh-home .slip-more{ margin-top:18px }

/* 夜晚：按钮用夜色方块 */
html[data-gb-time="night"] .fh-home .slip-more,
html[data-gb-time="night"] .fh-home .revisit-read,
html[data-gb-time="night"] .fh-home .revisit-shuffle,
html[data-gb-time="night"] .fh-home .gm-hero-quote__refresh,
html[data-gb-time="night"] .fh-home .gm-button:not(.gm-button--primary),
html[data-gb-time="night"] .fh-home .recent-section a[href$="/articles/"],
.gb-btn--sky,
html[data-gb-time="night"] .fh-home .hero-ask-chips button{
  background:var(--gb-night); color:#fff !important;
  box-shadow:inset -4px -4px 0 var(--gb-night-lo), inset 4px 4px 0 var(--gb-night-hi);
}
html[data-gb-time="day"] .gb-btn--sky,
html[data-gb-time="day"] .fh-home .hero-ask-chips button{
  background:var(--gb-panel); color:#15191a !important;
  box-shadow:inset -4px -4px 0 var(--gb-panel-lo), inset 4px 4px 0 var(--gb-panel-hi);
}

/* ---------- 顶部菜单（全站，桌面） ----------
   默认（内页 / 首页白天）＝石灰方块；首页夜晚＝夜色方块 */
@media (min-width:769px){
  body.home .nav .nav-inner{ height:86px }
  .nav .nav-links{ gap:8px; align-self:flex-end; margin-bottom:12px }
  body:not(.home) .nav .nav-links{ margin-bottom:9px }
  .nav .nav-links .nav-top{
    padding:7px 12px 9px; opacity:1; font-weight:600;
    border:2px solid var(--gb-edge); background:var(--gb-panel); color:#15191a;
    box-shadow:inset -4px -4px 0 var(--gb-panel-lo), inset 4px 4px 0 var(--gb-panel-hi);
    transition:transform .08s steps(2);
  }
  .nav .nav-links .nav-top::after{ display:none }
  .nav .nav-item:hover .nav-top,
  .nav .nav-links .nav-top:focus-visible,
  .nav .nav-item.gb-cur .nav-top{ background:var(--gb-grass); color:#fff; box-shadow:inset -4px -4px 0 #24481a, inset 4px 4px 0 #5f9a45 }
  .nav .nav-item:hover .nav-top,
  .nav .nav-links .nav-top:focus-visible{ transform:translateY(-3px) }
  .nav .nav-search{
    border:2px solid var(--gb-edge); border-radius:0; opacity:1; font-weight:600;
    background:var(--gb-gold); color:#15191a;
    box-shadow:inset -4px -4px 0 #b8901f, inset 4px 4px 0 #fff0b8; padding:7px 14px 9px;
    transition:transform .08s steps(2);
  }
  .nav .nav-search:hover{ transform:translateY(-3px) }
  .nav .nav-item.owner .nav-top .lock{ border-radius:0 }
  html[data-gb-time="night"] body.home .nav .nav-links .nav-top{
    background:var(--gb-night); color:#fff;
    box-shadow:inset -4px -4px 0 var(--gb-night-lo), inset 4px 4px 0 var(--gb-night-hi);
  }
  html[data-gb-time="night"] body.home .nav .nav-item:hover .nav-top{ background:#2f6b3a; box-shadow:inset -4px -4px 0 #1d4425, inset 4px 4px 0 #5a9a5c }
  /* 下拉：方块面板 */
  .nav .nav-sub{ border:2px solid var(--gb-edge); border-radius:0; box-shadow:4px 4px 0 var(--gb-edge); top:calc(100% + 6px) }
  .nav .nav-sub a{ border-radius:0 }
  html[data-gb-time="night"] body.home .nav .nav-sub{ background:rgba(31,34,38,.98) }
  html[data-gb-time="night"] body.home .nav .nav-sub a{ color:#ececea }
  html[data-gb-time="night"] body.home .nav .nav-sub a:hover{ background:rgba(255,255,255,.08) }
}
/* 白天、未滚动：首页菜单文字和 logo 用深色 */
html[data-gb-time="day"] body.home .nav:not(.scrolled):not(.open){ color:#15191a }
html[data-gb-time="day"] body.home .nav:not(.scrolled) .logo-light{ opacity:0 }
html[data-gb-time="day"] body.home .nav:not(.scrolled) .logo-dark{ opacity:1 }
/* 夜晚、滚动后：首页导航条用夜色 */
html[data-gb-time="night"] body.home .nav.scrolled{ background:rgba(15,18,30,.94); color:#ececea; border-bottom-color:rgba(255,255,255,.08) }
html[data-gb-time="night"] body.home .nav.scrolled .logo-light{ opacity:1 }
html[data-gb-time="night"] body.home .nav.scrolled .logo-dark{ opacity:0 }
/* 菜单上的方块人 */
.gb-rider{ position:absolute; pointer-events:none; z-index:3; transition:left .35s steps(6) }
.gb-rider svg{ display:block }
.gb-rider.hop{ animation:gbHop .35s steps(4) }
@keyframes gbHop{ 50%{ transform:translateY(-8px) } }
.nav .nav-inner{ position:relative }

/* ---------- 内页通用按钮（只挑全站共用的几类） ---------- */
.gm-read-more,
.page-numbers:not(.dots),
.gm-action-button,
.gm-ask__submit,
.gm-button{
  display:inline-flex; align-items:center; gap:6px;
  border:2px solid var(--gb-edge) !important; border-radius:0 !important;
  background:var(--gb-panel) !important; color:#15191a !important;
  box-shadow:inset -4px -4px 0 var(--gb-panel-lo), inset 4px 4px 0 var(--gb-panel-hi) !important;
  font-weight:600; text-decoration:none !important; cursor:pointer;
  transition:transform .08s steps(2);
}
.gm-read-more{ font-size:12px; padding:5px 10px 7px; align-self:flex-start; width:auto !important; flex:none }
.page-numbers:not(.dots){ min-width:40px; justify-content:center; padding:6px 10px 8px }
.gm-action-button, .gm-button{ padding:6px 12px 8px }
.gm-read-more:hover,
a.page-numbers:hover,
.gm-action-button:hover,
.gm-ask__submit:hover,
.gm-button:hover{
  transform:translate(-2px,-2px);
  box-shadow:inset -4px -4px 0 var(--gb-panel-lo), inset 4px 4px 0 var(--gb-panel-hi), 4px 4px 0 var(--gb-edge) !important;
}
.gm-read-more:active,
a.page-numbers:active,
.gm-action-button:active,
.gm-ask__submit:active,
.gm-button:active{ transform:none; box-shadow:inset 4px 4px 0 var(--gb-panel-lo), inset -4px -4px 0 var(--gb-panel-hi) !important }
.page-numbers.current,
.gm-action-button--primary,
.gm-ask__submit,
.gm-button--primary{
  background:var(--gb-grass) !important; color:#fff !important;
  box-shadow:inset -4px -4px 0 #24481a, inset 4px 4px 0 #5f9a45 !important;
}
.gm-read-more:focus-visible,
.page-numbers:focus-visible,
.gm-action-button:focus-visible,
.gm-ask__submit:focus-visible{ outline:2px dashed #15191a; outline-offset:3px }

/* ---------- 头图：方块风景 ---------- */
.fh-home .hero{ background:#0b1026 }
html[data-gb-time="day"] .fh-home .hero{ background:#70b6eb }
.fh-home .hero .hero-sky{ display:none }
.fh-home .hero .moonboard{ display:none }
.fh-home .hero .gb-art{ position:absolute; inset:0; z-index:0; pointer-events:none }
.fh-home .hero .gb-art svg{ display:block; width:100%; height:100% }
.fh-home .hero .hero-inner{ grid-template-columns:minmax(0,640px); position:relative }
.fh-home .hero h1{ text-shadow:4px 4px 0 rgba(0,0,0,.35) }
.fh-home .hero-ask{
  background:rgba(11,16,38,.80); border:2px solid var(--gb-edge);
  box-shadow:inset 4px 4px 0 rgba(255,255,255,.08);
}
.fh-home .hero-ask-form input{ background:#0b1026; border:2px solid var(--gb-edge); box-shadow:inset 4px 4px 0 #05081a, inset -4px -4px 0 #2a3050; padding:10px 12px }
.fh-home .hero-ask-form input:focus{ border-bottom-color:var(--gb-edge); outline:2px dashed #fff; outline-offset:2px }
.fh-home .hero-band{ border-top:0; background:rgba(11,16,38,.55); padding:6px 14px 12px; border:2px solid rgba(0,0,0,.6) }
.fh-home .hero-scroll{ display:none }
/* 白天头图：文字换深色 */
html[data-gb-time="day"] .fh-home .hero{ --star:#15191a; --star-dim:#3a3f46; --signal:#15191a; color:#15191a }
html[data-gb-time="day"] .fh-home .hero h1{ text-shadow:4px 4px 0 rgba(255,255,255,.45) }
html[data-gb-time="day"] .fh-home .hero-ask{ background:rgba(255,255,255,.88); box-shadow:inset -4px -4px 0 rgba(0,0,0,.10) }
html[data-gb-time="day"] .fh-home .hero-ask-k span,
html[data-gb-time="day"] .fh-home .hero-ask-alt{ color:#3a3f46 }
html[data-gb-time="day"] .fh-home .hero-ask-form input{ background:#fff; color:#15191a; box-shadow:inset 4px 4px 0 #c6c6c6, inset -4px -4px 0 #fff }
html[data-gb-time="day"] .fh-home .hero-ask-form input::placeholder{ color:#6b6f75 }
html[data-gb-time="day"] .fh-home .hero-ask-form input:focus{ outline-color:#15191a }
html[data-gb-time="day"] .fh-home .hero-ask-alt a,
html[data-gb-time="day"] .fh-home .hero-ask-result a{ color:#15191a; border-bottom-color:rgba(0,0,0,.35) }
html[data-gb-time="day"] .fh-home .hero-ask-result{ color:#2a2e33; border-top-color:rgba(0,0,0,.15) }
html[data-gb-time="day"] .fh-home .hero-ask-result blockquote{ color:#15191a }
html[data-gb-time="day"] .fh-home .hero-band{ background:rgba(255,255,255,.80) }
html[data-gb-time="day"] .fh-home .hero-band li{ color:#3a3f46 }
html[data-gb-time="day"] .fh-home .hero-band b{ color:#15191a }

/* ---------- 天象面板 ---------- */
.gb-sky{
  position:absolute; right:40px; top:120px; z-index:3;
  display:flex; flex-direction:column; gap:8px; padding:10px 12px 12px;
  background:rgba(11,16,38,.82); color:#fff; border:2px solid var(--gb-edge);
  box-shadow:inset 4px 4px 0 rgba(255,255,255,.08); font-family:var(--sans);
}
html[data-gb-time="day"] .gb-sky{ background:rgba(255,255,255,.88); color:#15191a; box-shadow:inset -4px -4px 0 rgba(0,0,0,.10) }
.gb-sky__now{ font-family:var(--mono); font-size:11px; letter-spacing:.14em; margin:0 }
.gb-sky__row{ display:flex; gap:4px; flex-wrap:wrap }
.gb-sky .gb-btn{ font-size:12px; padding:4px 10px 6px; letter-spacing:.02em }
.gb-sky .gb-btn[aria-pressed="true"]{ background:var(--gb-grass); color:#fff !important; box-shadow:inset 4px 4px 0 #24481a, inset -4px -4px 0 #5f9a45 }
.gb-sky .gb-sky__auto{ margin-left:6px }
@media (max-width:1100px){ .gb-sky{ position:relative; right:auto; top:auto; margin-top:22px; align-self:flex-start; width:max-content; max-width:100% } }

/* ---------- 领地地图：方块浮岛 ---------- */
.fh-home .map-section .scene-contours,
.fh-home .gb-map .map-svg,
.fh-home .gb-map .asteroid{ display:none }
.fh-home .gb-map{ height:auto; padding-bottom:150px }
.fh-home .gb-island{ margin:0 calc(50% - 50vw); background:var(--gb-island-sky); padding-top:24px }
.fh-home .gb-island svg{ display:block; width:100%; max-width:1120px; margin:0 auto; height:auto }
.fh-home .gb-map .plot-marker{ display:none }
.fh-home .gb-map .plot-label{ margin-top:0 }
@media (max-width:768px){
  .fh-home .gb-map{ padding-bottom:0; padding-left:0 }
  .fh-home .gb-map::before{ display:none }
  .fh-home .gb-island{ margin:0 -22px 24px; padding-top:12px }
  .fh-home .gb-map .plot{ padding-left:30px }
}

/* ---------- 页脚风景 ---------- */
.fh-home .fh-footer{ padding-top:0 }
.fh-home .fh-footer .footer-sky{ display:none }
.fh-home .gb-foot-art{ height:220px; margin-bottom:72px; position:relative }
.fh-home .gb-foot-art svg{ display:block; width:100%; height:100% }

@media (prefers-reduced-motion:reduce){
  .gb-btn, .gb-rider, .fh-home .slip-more, .fh-home .hero-ask-chips button, .nav .nav-top, .nav .nav-search, .gm-read-more, .page-numbers, .gm-action-button, .gm-ask__submit{ transition:none; animation:none }
}
