    .geo-dd {
      position: relative;
      flex: 1 1 5.2rem;
      min-width: 4.8rem;
      max-width: 9.5rem;
      width: clamp(5rem, 14vw, 8.6rem);
    }
    .geo-dd__native {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      padding: 0 !important;
      margin: -1px !important;
      overflow: hidden !important;
      clip: rect(0, 0, 0, 0) !important;
      white-space: nowrap !important;
      border: 0 !important;
      opacity: 0 !important;
      pointer-events: none !important;
      display: none !important;
    }
    .geo-dd__trigger {
      width: 100%;
      min-height: 1.88rem;
      padding: 0 1.65rem 0 0.45rem;
      border: 1px solid rgba(255, 255, 255, 0.05);
      border-radius: 8px;
      background: rgba(25, 25, 25, 0.4);
      color: rgba(238, 232, 222, 0.94);
      font: inherit;
      font-size: 0.82rem;
      text-align: left;
      cursor: pointer;
      position: relative;
      box-shadow: inset 0 1px 0 rgba(255, 252, 245, 0.02);
      transition: all 0.3s ease;
    }
    .geo-dd__trigger::after {
      content: "";
      position: absolute;
      right: 0.42rem;
      top: 50%;
      width: 0.35rem;
      height: 0.35rem;
      margin-top: -0.2rem;
      border-right: 1.5px solid rgba(196, 165, 118, 0.55);
      border-bottom: 1.5px solid rgba(196, 165, 118, 0.55);
      transform: rotate(45deg);
      pointer-events: none;
      opacity: 0.85;
    }
    .geo-dd__trigger:hover:not(:disabled) {
      border-color: rgba(255, 255, 255, 0.09);
      background: rgba(30, 30, 30, 0.48);
    }
    .geo-dd__trigger:disabled {
      opacity: 0.45;
      cursor: not-allowed;
    }
    .geo-dd__trigger:focus-visible {
      outline: none;
      border-color: rgba(214, 175, 55, 0.2);
      background: rgba(34, 34, 34, 0.52);
      box-shadow: 0 0 8px rgba(214, 175, 55, 0.15);
    }
    .geo-dd__panel {
      position: fixed;
      z-index: 960;
      left: 0;
      top: 0;
      min-width: 180px;
      max-width: 240px;
      max-height: 280px;
      overflow-y: auto;
      overflow-x: hidden;
      padding: 0.26rem 0;
      margin: 0;
      list-style: none;
      border-radius: 10px;
      border: 1px solid rgba(196, 165, 118, 0.28);
      background: rgba(22, 20, 18, 0.97);
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 252, 245, 0.05);
      color: rgba(238, 232, 222, 0.95);
      scrollbar-width: thin;
      scrollbar-color: rgba(196, 165, 118, 0.42) transparent;
    }
    .geo-dd__panel::-webkit-scrollbar {
      width: 5px;
    }
    .geo-dd__panel::-webkit-scrollbar-thumb {
      background: rgba(196, 165, 118, 0.38);
      border-radius: 10px;
    }
    .geo-dd__option {
      padding: 0.46rem 0.6rem;
      font-size: 0.82rem;
      line-height: 1.35;
      cursor: pointer;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      transition: background 0.15s ease, color 0.15s ease;
    }
    .geo-dd__option:hover,
    .geo-dd__option:focus-visible {
      outline: none;
      background: rgba(196, 165, 118, 0.14);
      color: rgba(252, 246, 236, 1);
    }
    .geo-dd__option.is-active {
      background: rgba(196, 165, 118, 0.2);
      color: rgba(255, 250, 240, 1);
    }
    .micro-field {
      display: flex; flex-direction: column; gap: 0.12rem; flex: 0 0 auto; min-width: 0;
    }
    .micro-field > label {
      font-size: 0.68rem; color: rgba(168, 158, 148, 0.88); font-weight: 500; letter-spacing: 0.04em; white-space: nowrap;
    }
    .hint-optional { font-size: 0.52rem; font-weight: 400; color: rgba(128, 120, 112, 0.75); margin-left: 0.12rem; }
    .name-cell input { width: 6.8em; max-width: 30vw; min-width: 4.8em; padding-left: 0.28rem; padding-right: 0.28rem; }
    .console-toolbar .micro-field input,
    .console-toolbar .micro-field select,
    .console-toolbar .ctrl-select,
    .console-toolbar .ctrl-input {
      height: 1.88rem; min-height: 1.88rem;
      padding: 0 0.42rem;
      border: 1px solid rgba(255, 255, 255, 0.05);
      border-radius: 8px;
      background: rgba(25, 25, 25, 0.4);
      font: inherit; font-size: 0.84rem;
      color: rgba(238, 232, 222, 0.94);
      transition: all 0.3s ease;
    }
    .console-toolbar .micro-field input:focus,
    .console-toolbar .micro-field select:focus,
    .console-toolbar .ctrl-select:focus,
    .console-toolbar .ctrl-input:focus {
      outline: none;
      border-color: rgba(214, 175, 55, 0.2);
      background: rgba(34, 34, 34, 0.52);
      box-shadow: 0 0 8px rgba(214, 175, 55, 0.15);
    }
    #genderSel {
      width: 3.15rem; min-width: 3rem; padding-left: 0.28rem; padding-right: 1.2rem;
      font-size: 0.82rem;
    }
    .seg { display: inline-flex; border: 1px solid rgba(212, 175, 118, 0.2); border-radius: 8px; overflow: hidden; height: 1.88rem; width: fit-content; }
    .seg button {
      border: none; background: rgba(24, 22, 20, 0.5); padding: 0 0.42rem; font: inherit; font-size: 0.78rem;
      cursor: pointer; color: rgba(188, 180, 168, 0.9); line-height: 1.88rem; min-width: 2.65rem;
    }
    .seg button.active { background: rgba(196, 165, 118, 0.22); color: rgba(248, 240, 228, 0.96); }
    .solar-select-row {
      display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0.48rem;
      width: 100%; min-width: 0; align-items: stretch;
    }
    .solar-select-row .geo-dd,
    .lunar-select-row .geo-dd,
    .time-cell .time-row .geo-dd {
      flex: none;
      width: 100%;
      min-width: 0;
      max-width: none;
    }
    .lunar-select-row {
      display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 0.48rem;
      width: 100%; min-width: 0; align-items: stretch;
    }
    .time-cell .time-row {
      display: grid; grid-template-columns: 1fr 1fr; gap: 0.48rem;
      width: 100%; min-width: 0;
    }
    .ctrl-select {
      flex: 1 1 5.5rem; min-width: 5rem; max-width: 100%; cursor: pointer; font-size: 0.82rem;
    }
    .ctrl-select:disabled { opacity: 0.5; cursor: not-allowed; background: rgba(25, 25, 25, 0.26); }
    .cg-place-rest .geo-pair,
    .cg-place-line-geo .geo-pair {
      display: inline-flex;
      flex-wrap: nowrap;
      align-items: center;
      gap: 0.2rem 0.42rem;
      flex: 0 1 auto;
      min-width: 0;
    }
    .geo-lbl { font-size: 0.68rem; color: rgba(168, 158, 148, 0.85); white-space: nowrap; }
    .cg-place-rest .geo-auto-hint {
      margin: 0;
      font-size: 0.68rem;
      color: rgba(148, 138, 128, 0.72);
      line-height: 1.35;
      max-width: 100%;
    }
    .ctrl-input--lng {
      width: 4.55rem; min-width: 3.6rem; flex: 0 0 auto; font-variant-numeric: tabular-nums; font-size: 0.82rem;
    }
    .ctrl-input--lng[readonly] {
      background: rgba(25, 25, 25, 0.33);
      color: rgba(188, 180, 168, 0.88);
      cursor: default;
    }
    .ctrl-check {
      display: inline-flex; align-items: center; gap: 0.28rem;
      font-size: 0.76rem; color: rgba(178, 170, 160, 0.88); cursor: pointer; user-select: none; white-space: nowrap;
    }
    .ctrl-check input { width: auto; height: auto; min-height: 0; margin: 0; cursor: pointer; accent-color: #a68b5c; }
    /* 与真太阳时同一字号与间距，避免「开启细分」显小一圈 */
    .zi-inline {
      display: inline-flex;
      align-items: center;
      gap: 0.28rem;
      font-size: 0.76rem;
      color: rgba(178, 170, 160, 0.88);
      cursor: pointer;
      white-space: nowrap;
    }
    .zi-inline input { margin: 0; cursor: pointer; accent-color: #a68b5c; width: auto; height: auto; min-height: 0; }
    .zi-inline span { font-size: inherit; line-height: inherit; }
    #ziSectSel {
      height: 1.88rem;
      min-height: 1.88rem;
      width: 100%;
      max-width: 100%;
      font-size: 0.8rem;
      padding: 0 0.35rem;
      flex: 1 1 auto;
      min-width: 0;
      box-sizing: border-box;
      border: 1px solid rgba(255, 255, 255, 0.05);
      background: rgba(25, 25, 25, 0.4);
      color: rgba(238, 232, 222, 0.94);
      transition: all 0.3s ease;
    }
    #ziSectSel:focus {
      outline: none;
      border-color: rgba(214, 175, 55, 0.2);
      background: rgba(34, 34, 34, 0.52);
      box-shadow: 0 0 8px rgba(214, 175, 55, 0.15);
    }
    .region-status.err { color: var(--seal); }
    .console-actions { display: flex; flex-flow: row wrap; align-items: center; gap: 0.32rem 0.38rem; justify-content: flex-end; }
    .console-actions button {
      height: 1.88rem; padding: 0 0.75rem;
      border: 1px solid rgba(196, 165, 118, 0.35); background: rgba(42, 38, 34, 0.9); color: rgba(245, 238, 228, 0.95);
      font: inherit; font-size: 0.8rem; font-weight: 500; border-radius: 8px; cursor: pointer;
      white-space: nowrap;
    }
    .console-actions button.secondary { background: rgba(24, 22, 20, 0.55); color: rgba(218, 208, 196, 0.92); border-color: rgba(212, 175, 118, 0.2); }
    .console-actions button:disabled { opacity: 0.55; cursor: not-allowed; }
    .ai-reading-item {
      display: flex; flex-direction: column; align-items: center; gap: 0.12rem;
      min-width: 0;
    }
    .ai-reading-hint {
      font-size: 0.65rem; color: rgba(138, 130, 122, 0.75); line-height: 1.38; max-width: 10.5rem; text-align: center;
    }
    @media (max-width: 960px) {
      .console-shell.cg-shell {
        grid-template-rows: auto auto auto auto;
      }
      .console-shell.cg-shell > .console-actions.cg-actions {
        grid-column: 1 / -1;
        grid-row: 4;
        border-left: none;
        border-top: 1px solid rgba(212, 175, 118, 0.16);
        padding: 0.72rem 0.65rem 0.85rem;
        margin-top: 0.12rem;
        background: rgba(26, 24, 20, 0.72);
      }
      .console-shell.cg-shell > .cg-actions .reading-topic-wrap {
        align-items: center;
      }
      .console-shell.cg-shell > .cg-actions .reading-topic-legend {
        text-align: center;
        font-size: clamp(0.92rem, 2.4vw, 1.12rem);
        letter-spacing: 0.3em;
        text-indent: 0.3em;
      }
      .console-shell.cg-shell > .cg-actions .reading-topic-group button {
        font-size: 0.68rem;
      }
      .cg-actions-stack { align-items: stretch; }
      .reading-topic-wrap { align-items: center; }
      .cg-actions-main-btns { justify-content: center; gap: 0.65rem 1.1rem; }
    }
    @media (max-width: 520px) {
      .cg-actions-main-btns {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
      }
      .cg-actions-main-btns .ai-reading-item {
        display: flex;
        flex-direction: column;
        max-width: none;
        width: 100%;
      }
      .console-toolbar .reading-topic-group button {
        font-size: 0.7rem;
        padding: 0.35rem 0.2rem;
      }
      .cg-actions-main-btns .ai-reading-item button {
        width: 100%;
        padding-left: 0.4rem;
        padding-right: 0.4rem;
        font-size: 0.74rem;
      }
      .cg-actions-main-btns #btnPaipan {
        width: 100%;
        min-width: 0;
      }
    }
    /* ========== 命盘样式区：命盘容器、表格与分栏 ========== */
