/**
 * 观鼎山九宫导航插件 V4.0
 * 标准源：§27.2.11 墨金胶囊方案 / §27.2.12 日月视图九宫
 * 定位：全站子页面共用，悬浮组件，快速模块跳转
 * 调用：子页面引入 CSS+JS，设置 GDS_CURRENT 变量即可
 */

/* ===== 容器 ===== */
.gd-nav-container{
  position:fixed; top:56px; right:8px; z-index:900;
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
}
.gd-nav-panel{
  width:240px; height:240px; border-radius:12px;
  background:rgba(255,255,255,.85); backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1.5px solid #c0a86a; box-shadow:0 4px 24px rgba(0,0,0,.12);
  overflow:hidden; transition:all .3s;
  perspective:600px;
}
[data-theme="dark"] .gd-nav-panel{
  background:rgba(13,13,26,.88); border-color:#5a6a9a;
  box-shadow:0 4px 24px rgba(0,0,0,.4);
}

/* 翻牌动画容器（九宫↔菜单） */
.gd-nav-flip{
  width:100%; height:100%; position:relative;
  transition:transform .4s; transform-style:preserve-3d;
}
.gd-nav-flip.flipped{transform:rotateY(180deg)}

/* 九宫面 */
.gd-nav-grid-face{
  position:absolute; inset:0; backface-visibility:hidden;
  display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(3,1fr);
  gap:4px; padding:8px;
}
/* 菜单面 */
.gd-nav-menu-face{
  position:absolute; inset:0; backface-visibility:hidden;
  transform:rotateY(180deg); overflow-y:auto;
  padding:8px; display:flex; flex-direction:column; gap:2px;
}

/* ===== 九宫格卡片（通用） ===== */
.gd-nav-cell{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  border-radius:8px; text-decoration:none; cursor:pointer;
  transition:all .15s; position:relative; background:transparent;
  border:1px solid transparent;
}
.gd-nav-cell:hover{background:rgba(0,0,0,.04);transform:scale(1.05)}
.gd-nav-cell:active{transform:scale(.95)}

/* 模块格 */
.gd-nav-cell .gd-nav-icon{font-size:20px;line-height:1.2}
.gd-nav-cell .gd-nav-name{font-size:11px;font-weight:500;color:#2c2416;margin-top:1px}
.gd-nav-cell .gd-nav-gua{font-size:10px;position:absolute;bottom:2px;right:4px;opacity:.5}
.gd-nav-cell.current{background:rgba(139,105,20,.1);border-color:rgba(139,105,20,.3)}
.gd-nav-cell.current .gd-nav-name{font-weight:700}

[data-theme="dark"] .gd-nav-cell:hover{background:rgba(255,255,255,.06)}
[data-theme="dark"] .gd-nav-cell .gd-nav-name{color:#c8d0e0}
[data-theme="dark"] .gd-nav-cell.current{background:rgba(122,154,200,.15);border-color:rgba(122,154,200,.3)}

/* ===== 墨金胶囊（§27.2.11）— 双色拼图水平镜像 ===== */
.gd-nav-capsule{
  width:64px; height:28px; cursor:pointer;
  perspective:300px; margin:auto;
  position:relative;
}
.gd-nav-capsule-inner{
  width:100%; height:100%; position:relative;
  transition:transform 350ms cubic-bezier(.4,0,.2,1); transform-style:preserve-3d;
  border-radius:14px;
}
.gd-nav-capsule.flipped .gd-nav-capsule-inner{
  transform:rotateY(180deg);
}
.gd-nav-capsule-mo,
.gd-nav-capsule-jin{
  position:absolute; inset:0; border-radius:14px;
  backface-visibility:hidden;
  /* 双色拼图：左半墨色，右半金色 */
  background:linear-gradient(to right, #2a2318 0%, #2a2318 50%, #c9a84c 50%, #c9a84c 100%);
  border:1.5px solid #8B6914;
  overflow:hidden;
}
/* 翻转面：颜色镜像反转（左金右墨） */
.gd-nav-capsule-jin{
  transform:rotateY(180deg);
  background:linear-gradient(to right, #c9a84c 0%, #c9a84c 50%, #2a2318 50%, #2a2318 100%);
}
/* 中缝分割线 */
.gd-nav-capsule-mo::after,
.gd-nav-capsule-jin::after{
  content:''; position:absolute; left:50%; top:3px; bottom:3px; width:1.5px;
  background:rgba(255,255,255,.3); transform:translateX(-50%);
}
.gd-nav-capsule:hover .gd-nav-capsule-inner{
  box-shadow:0 0 10px rgba(212,168,67,.5);
}
/* 胶囊状态指示小圆点 */
.gd-nav-capsule-mo::before{
  content:'☰'; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  font-size:12px; color:#c9a84c; z-index:1;
}
.gd-nav-capsule-jin::before{
  content:'☰'; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  font-size:12px; color:#2a2318; z-index:1;
}

/* ===== 功能格（日/月视图九宫） ===== */
.gd-nav-func{
  background:rgba(0,0,0,.03);
  border-radius:8px;
}
.gd-nav-func:hover{background:rgba(0,0,0,.07)}
.gd-nav-func-icon{font-size:16px;line-height:1.2}
.gd-nav-func-label{font-size:10px;font-weight:500;color:#2c2416;margin-top:2px}
[data-theme="dark"] .gd-nav-func{background:rgba(255,255,255,.04)}
[data-theme="dark"] .gd-nav-func:hover{background:rgba(255,255,255,.08)}
[data-theme="dark"] .gd-nav-func-label{color:#c8d0e0}

/* 收藏已激活态 */
.gd-nav-fav-active .gd-nav-func-icon{color:#D4A843}
.gd-nav-fav-active .gd-nav-func-label{color:#D4A843;font-weight:700}

/* ===== 锁定格 ===== */
.gd-nav-locked{
  background:rgba(0,0,0,.02);
  cursor:default;
  opacity:.5;
}
.gd-nav-locked:hover{transform:none;background:rgba(0,0,0,.02)}
.gd-nav-lock-icon{font-size:14px;color:#999}
[data-theme="dark"] .gd-nav-locked{background:rgba(255,255,255,.02)}
[data-theme="dark"] .gd-nav-lock-icon{color:#666}

/* ===== 粒度选择组（月视图：年/月/周） ===== */
.gd-nav-granularity{
  background:rgba(0,0,0,.03);
  border:1.5px solid transparent;
  border-radius:8px;
}
.gd-nav-granularity:hover{background:rgba(0,0,0,.07)}
.gd-nav-granularity.active{
  border-color:#D4A843;
  background:rgba(212,168,67,.1);
}
.gd-nav-granularity .gd-nav-func-label{
  font-size:12px;font-weight:600;color:#2c2416;
}
.gd-nav-granularity.active .gd-nav-func-label{
  color:#8B6914;
}
[data-theme="dark"] .gd-nav-granularity{background:rgba(255,255,255,.04)}
[data-theme="dark"] .gd-nav-granularity:hover{background:rgba(255,255,255,.08)}
[data-theme="dark"] .gd-nav-granularity.active{border-color:#7a9ac8;background:rgba(122,154,200,.12)}
[data-theme="dark"] .gd-nav-granularity .gd-nav-func-label{color:#c8d0e0}
[data-theme="dark"] .gd-nav-granularity.active .gd-nav-func-label{color:#7a9ac8}

/* ===== 上/今/下三合一按钮（月视图震3宫） ===== */
.gd-nav-tri-btn{
  background:rgba(0,0,0,.03);
  border-radius:8px;
  padding:0;
}
.gd-nav-tri-btn:hover{background:rgba(0,0,0,.07)}
.gd-nav-tri-inner{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:100%; height:100%;
}
.gd-nav-tri-up,
.gd-nav-tri-down{
  font-size:10px; line-height:1; padding:2px 8px; cursor:pointer;
  color:#999; transition:color .15s;
}
.gd-nav-tri-up:hover{color:#D4A843}
.gd-nav-tri-down:hover{color:#D4A843}
.gd-nav-tri-center{
  font-size:13px; font-weight:600; color:#2c2416; padding:1px 0;
}
[data-theme="dark"] .gd-nav-tri-btn{background:rgba(255,255,255,.04)}
[data-theme="dark"] .gd-nav-tri-btn:hover{background:rgba(255,255,255,.08)}
[data-theme="dark"] .gd-nav-tri-up,
[data-theme="dark"] .gd-nav-tri-down{color:#666}
[data-theme="dark"] .gd-nav-tri-up:hover,
[data-theme="dark"] .gd-nav-tri-down:hover{color:#7a9ac8}
[data-theme="dark"] .gd-nav-tri-center{color:#c8d0e0}

/* ===== 菜单项（保留原有样式） ===== */
.gd-nav-menu-item{
  display:flex; align-items:center; gap:8px; padding:8px 10px;
  border-radius:6px; text-decoration:none; cursor:pointer;
  transition:background .15s; color:#2c2416; font-size:13px;
  border:1px solid transparent;
}
.gd-nav-menu-item:hover{background:rgba(0,0,0,.04)}
.gd-nav-menu-item.current{background:rgba(139,105,20,.1);border-color:rgba(139,105,20,.2);font-weight:700}
.gd-nav-menu-item .gd-nav-mi-icon{font-size:16px;width:24px;text-align:center}
.gd-nav-menu-item .gd-nav-mi-gua{font-size:11px;opacity:.5;margin-left:auto}
[data-theme="dark"] .gd-nav-menu-item{color:#c8d0e0}
[data-theme="dark"] .gd-nav-menu-item:hover{background:rgba(255,255,255,.06)}
[data-theme="dark"] .gd-nav-menu-item.current{background:rgba(122,154,200,.15);border-color:rgba(122,154,200,.3)}

/* 子模块缩进 */
.gd-nav-sub-item{padding-left:28px;font-size:12px}

/* 站长入口 */
.gd-nav-admin{
  text-align:center;padding:4px;margin-top:auto;font-size:10px;
  color:var(--footer-color, #a09080);cursor:pointer;opacity:.5;
  transition:opacity .2s;
}
.gd-nav-admin:hover{opacity:1}

/* 关闭按钮 */
.gd-nav-close{
  position:absolute;top:-8px;right:-8px;width:24px;height:24px;
  border-radius:50%;background:white;border:1px solid #c0a86a;
  font-size:14px;cursor:pointer;display:none;align-items:center;justify-content:center;
  z-index:10;color:#8a7a6a;line-height:1;
}
.gd-nav-container:hover .gd-nav-close{display:flex}

/* 触发按钮 */
.gd-nav-trigger{
  position:fixed;top:8px;right:8px;width:40px;height:40px;
  border-radius:50%;background:rgba(255,255,255,.85);backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:2px solid #8B6914;box-shadow:0 2px 12px rgba(0,0,0,.1);
  cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;
  z-index:901;transition:all .2s;color:#8B6914;
}
.gd-nav-trigger:hover{box-shadow:0 4px 16px rgba(0,0,0,.15)}
.gd-nav-trigger:not(.gd-nav-dragging):hover{transform:scale(1.1)}
[data-theme="dark"] .gd-nav-trigger{
  background:rgba(13,13,26,.88);border-color:#7a9ac8;color:#7a9ac8;
}
/* trigger拖拽中 */
.gd-nav-trigger.gd-nav-dragging{
  transition:none!important;transform:scale(1.15);opacity:.85;z-index:902;
}
/* trigger吸附动画 */
.gd-nav-trigger.gd-nav-edge-snap{
  transition:left .3s ease,top .3s ease,right .3s ease,bottom .3s ease,transform .2s;
}
/* trigger被面板遮挡时隐藏 */
.gd-nav-trigger-hidden{
  opacity:0;pointer-events:none;transform:scale(.6);
}

/* ===== 昼夜悬浮按钮 ===== */
.gd-theme-float{
  position:fixed;top:8px;right:56px;width:40px;height:40px;
  border-radius:50%;background:rgba(255,255,255,.7);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:2px solid #8B6914;box-shadow:0 2px 12px rgba(0,0,0,.1);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  font-size:20px;z-index:901;opacity:.7;
  transition:opacity .25s,transform .25s;
}
.gd-theme-float:hover,
.gd-theme-float:active{opacity:1}
.gd-theme-float:active{transform:scale(1.1)}
[data-theme="dark"] .gd-theme-float{
  background:rgba(13,13,26,.7);border-color:#7a9ac8;color:#7a9ac8;
}

/* 九运模式高亮格 */
.gd-nav-jiuyun-active{
  background:rgba(212,168,67,.15)!important;
  border-color:#c9a84c!important;
}
[data-theme="dark"] .gd-nav-jiuyun-active{
  background:rgba(212,168,67,.25)!important;
  border-color:#d4a843!important;
}

/* ===== 移动端适配（§2.4 移动端优先） ===== */
@media (max-width:767px){
  .gd-nav-panel{width:220px;height:220px;border-radius:10px}
  .gd-nav-cell{border-radius:6px}
  .gd-nav-cell .gd-nav-icon{font-size:18px}
  .gd-nav-cell .gd-nav-name{font-size:10px}
  .gd-nav-cell .gd-nav-gua{font-size:9px;bottom:1px;right:2px}
  .gd-nav-func-icon{font-size:14px}
  .gd-nav-func-label{font-size:9px}
  .gd-nav-capsule{width:50px;height:24px}
  .gd-nav-menu-item{padding:7px 8px;font-size:12px}
  .gd-nav-menu-item .gd-nav-mi-icon{font-size:14px;width:20px}
  .gd-nav-close{width:20px;height:20px;font-size:12px;top:-6px;right:-6px}
  .gd-nav-sub-item{padding-left:22px;font-size:11px}
}
@media (max-width:480px){
  .gd-nav-close{top:8px;right:8px;width:22px;height:22px;font-size:14px}
}
