:root {
    --sk-bg: #ffffff;
    --sk-ink: #2e2118;
    --sk-muted: #7c6a59;
    --sk-copper: #8b4513;
    --sk-copper-2: #a7652d;
    --sk-gold: #d2a263;
    --sk-gold-soft: rgba(210, 162, 99, 0.24);
    --sk-line: rgba(139, 90, 43, 0.22);
    --sk-panel: #fffdf8;
    --sk-panel-strong: #ffffff;
    --sk-shadow: 0 20px 50px rgba(74, 46, 23, 0.10);
    --sk-shadow-soft: 0 12px 28px rgba(74, 46, 23, 0.07);
    --sk-radius-xl: 30px;
    --sk-radius-lg: 18px;
    --sk-radius-md: 12px;
}

body {
    background:
        radial-gradient(circle at 12% 0%, rgba(211, 162, 99, 0.11), transparent 32%),
        radial-gradient(circle at 88% 8%, rgba(139, 69, 19, 0.06), transparent 34%),
        linear-gradient(180deg, rgba(255,250,242,0.55), rgba(255,255,255,0)),
        var(--sk-bg) !important;
    color: var(--sk-ink);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.shell,
.page,
.container {
    width: min(1180px, calc(100% - clamp(24px, 4vw, 56px))) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 18px !important;
}

.site-header {
    position: relative;
    z-index: 80;
    padding-bottom: 14px !important;
    margin-bottom: 22px !important;
    overflow: visible !important;
}

.site-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(
        90deg,
        rgba(201, 148, 85, 0),
        rgba(201, 148, 85, 0.42) 12%,
        rgba(201, 148, 85, 0.28) 88%,
        rgba(201, 148, 85, 0)
    );
}

.site-header .hero-top,
.site-header .topbar,
.site-header .header-top {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: clamp(10px, 1.4vw, 18px) !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
}

.site-header .header-top,
.site-header .hero-top,
.site-header .topbar {
    padding: 2px 0 0 !important;
}

a.brand-mark,
.brand,
.site-brand {
    position: relative;
    display: inline-flex !important;
    align-items: center !important;
    gap: clamp(8px, 1.2vw, 12px) !important;
    flex-wrap: nowrap !important;
    width: fit-content;
    min-width: 0 !important;
    padding: 13px 12px 13px 8px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(194, 136, 72, 0.46) !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.98), rgba(255,250,240,0.88)),
        radial-gradient(circle at 0% 0%, rgba(218, 174, 112, 0.16), transparent 44%) !important;
    box-shadow:
        0 14px 34px rgba(74, 46, 23, 0.09),
        inset 0 1px 0 rgba(255, 255, 255, 0.92) !important;
    color: var(--sk-copper) !important;
    text-decoration: none !important;
    backdrop-filter: blur(10px);
}

.brand-text,
.site-brand-text,
.site-brand > span:last-child {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    overflow: hidden !important;
}

a.brand-mark:hover,
.brand:hover,
.site-brand:hover {
    transform: translateY(-1px);
    border-color: rgba(194, 136, 72, 0.68) !important;
    box-shadow:
        0 18px 38px rgba(74, 46, 23, 0.12),
        inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

.brand-icon,
.logo-sigil {
    position: relative;
    display: inline-block !important;
    vertical-align: middle !important;
    width: clamp(40px, 3.4vw, 52px) !important;
    height: clamp(40px, 3.4vw, 52px) !important;
    min-width: clamp(40px, 3.4vw, 52px) !important;
    min-height: clamp(40px, 3.4vw, 52px) !important;
    flex: 0 0 clamp(40px, 3.4vw, 52px) !important;
    aspect-ratio: 1 / 1 !important;
    flex-shrink: 0 !important;
    border-radius: 50% !important;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 50%, rgba(255,255,246,0.98) 0 5%, transparent 6%),
        radial-gradient(circle at 35% 26%, rgba(255,255,246,0.96), rgba(255,238,201,0.18) 24%, transparent 25%),
        conic-gradient(from 205deg, #f2d59a, #a3632a, #5c3518, #bd8544, #f6dfaa, #7a451c, #f2d59a) !important;
    border: 1px solid rgba(116, 67, 28, 0.16) !important;
    box-shadow:
        inset 0 1px 9px rgba(255,255,255,0.44),
        inset 0 -10px 18px rgba(74, 41, 17, 0.22),
        0 10px 22px rgba(92, 53, 20, 0.14) !important;
}

.brand-icon::before,
.logo-sigil::before {
    content: "" !important;
    position: absolute !important;
    inset: 8px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255, 248, 232, 0.84) !important;
    box-shadow:
        inset 0 0 0 2px rgba(124, 76, 33, 0.12),
        0 0 18px rgba(255, 239, 198, 0.38) !important;
}

.brand-icon::after,
.logo-sigil::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 7px !important;
    bottom: 7px !important;
    width: 2px !important;
    transform: translateX(-50%) !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, transparent, rgba(255,252,236,0.96) 18%, rgba(103,62,28,0.78) 50%, rgba(255,252,236,0.96) 82%, transparent) !important;
}

.brand-orbit,
.logo-orbit {
    position: absolute !important;
    inset: 11px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255, 248, 232, 0.88) !important;
    transform: rotate(-26deg) scaleX(1.22) scaleY(0.74) !important;
}

.brand-dot,
.logo-dot {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 6px !important;
    height: 6px !important;
    transform: translate(-50%, -50%) !important;
    border-radius: 50% !important;
    background: #fff7e7 !important;
    box-shadow: 0 0 0 2px rgba(125, 78, 33, 0.16), 0 0 14px rgba(255, 238, 196, 0.7) !important;
}

.brand-dot.alt,
.logo-dot.alt {
    top: 10px !important;
    right: 9px !important;
    left: auto !important;
    transform: none !important;
    width: 5px !important;
    height: 5px !important;
    background: #7a431b !important;
}

.brand-text strong,
.brand-title,
.site-brand-title {
    display: block !important;
    width: 100% !important;
    font-family: "STSong", "SimSun", "Noto Serif SC", "Microsoft YaHei", serif !important;
    font-size: clamp(22px, 2.15vw, 32px) !important;
    line-height: 1.08 !important;
    letter-spacing: 0.06em !important;
    color: #7d3f13 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    text-shadow: 0 1px 0 rgba(255, 247, 231, 0.7);
}

.brand-text span,
.brand-sub,
.site-brand-subtitle {
    display: block !important;
    width: 100% !important;
    margin-top: 7px !important;
    color: #9a5a30 !important;
    font-size: clamp(11px, 0.95vw, 14px) !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    letter-spacing: 0.03em !important;
    text-align: left !important;
    text-align-last: auto !important;
}

.site-nav {
    position: relative !important;
    z-index: 20 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: auto !important;
    justify-self: auto !important;
    margin: 0 0 -2px 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    border: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
    align-self: flex-end !important;
    transform: translateY(4px) !important;
}

.site-nav::before,
.site-nav::after {
    display: none !important;
}

.site-nav a {
    position: relative !important;
    min-width: 72px !important;
    padding: 9px 16px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(188, 132, 70, 0.32) !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.97), rgba(255,247,235,0.94)) !important;
    color: #7d4a24 !important;
    text-align: center !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    line-height: 1.1 !important;
    box-shadow: 0 8px 18px rgba(100, 60, 24, 0.06), inset 0 1px 0 rgba(255,255,255,0.92) !important;
    overflow: visible !important;
}

.site-nav a.active,
.site-nav a:hover {
    color: #fffaf2 !important;
    border-color: rgba(141, 84, 35, 0.18) !important;
    background: linear-gradient(145deg, #d6a45c 0%, #bb7c31 58%, #8c4f1b 100%) !important;
    box-shadow: 0 10px 20px rgba(126, 73, 27, 0.18), inset 0 1px 0 rgba(255,255,255,0.32), inset 0 -7px 12px rgba(108, 60, 18, 0.15) !important;
    transform: translateY(-1px);
}

.site-nav a.active::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: -11px !important;
    transform: translateX(-50%) !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 6px solid transparent !important;
    border-right: 6px solid transparent !important;
    border-top: 7px solid #b37132 !important;
    filter: drop-shadow(0 2px 2px rgba(108, 63, 23, 0.18)) !important;
}

.user-bar,
.userbar,
.topbar-user {
    position: relative !important;
    z-index: 260 !important;
    align-self: flex-start !important;
    justify-self: auto !important;
    margin-left: auto !important;
    margin-top: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

.user-bar .user-name,
.userbar .user-name,
.topbar-user .user-name {
    display: inline-flex !important;
    align-items: center !important;
    color: #8b4513 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    padding: 5px 8px !important;
    border: 1px solid rgba(212, 165, 116, 0.88) !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,249,239,0.94)) !important;
}

.user-bar .user-name:hover,
.userbar .user-name:hover,
.topbar-user .user-name:hover {
    color: #c0392b !important;
}

.user-bar .user-role,
.userbar .user-role,
.topbar-user .user-role {
    font-size: 10px !important;
    color: #cd853f !important;
    background: #ffffff !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    line-height: 1.1 !important;
}

.user-bar .btn-login,
.userbar .btn-login,
.topbar-user .btn-login {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 30px !important;
    padding: 4px 10px !important;
    border-radius: 8px !important;
    border: 0 !important;
    background: linear-gradient(145deg, #667eea, #764ba2) !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    cursor: pointer !important;
}

.user-bar .btn-login:hover,
.userbar .btn-login:hover,
.topbar-user .btn-login:hover {
    opacity: 0.92 !important;
}

.user-bar .btn-secondary,
.userbar .btn-secondary,
.topbar-user .btn-secondary,
.user-bar .user-link,
.userbar .user-link,
.topbar-user .user-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 30px !important;
    padding: 4px 10px !important;
    border-radius: 8px !important;
    border: 1px solid #d4a574 !important;
    background: #ffffff !important;
    color: #8b4513 !important;
    text-decoration: none !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    cursor: pointer !important;
}

.user-bar .btn-secondary:hover,
.userbar .btn-secondary:hover,
.topbar-user .btn-secondary:hover,
.user-bar .user-link:hover,
.userbar .user-link:hover,
.topbar-user .user-link:hover {
    background: #fff2df !important;
}

.user-bar .btn-logout,
.userbar .btn-logout,
.topbar-user .btn-logout {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 30px !important;
    padding: 4px 10px !important;
    border-radius: 8px !important;
    border: 1px solid #d4a574 !important;
    background: #ffffff !important;
    color: #8b4513 !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    cursor: pointer !important;
}

.user-bar .btn-logout:hover,
.userbar .btn-logout:hover,
.topbar-user .btn-logout:hover {
    background: #d4a574 !important;
    color: #fff !important;
}

.user-menu {
    position: relative;
    display: inline-block;
    z-index: 280;
}

.user-menu[open] {
    z-index: 320;
}

.user-menu-trigger {
    list-style: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    min-width: 16px;
    height: 24px;
    border-radius: 0;
    border: 0;
    background: transparent;
    color: #8b4513;
    cursor: pointer;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    padding: 0;
    box-shadow: none;
}

.user-menu-trigger::-webkit-details-marker {
    display: none;
}

.user-menu-panel {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: auto;
    padding: 6px;
    border-radius: 12px;
    border: 1px solid rgba(188, 132, 70, 0.36);
    background: rgba(255,255,255,0.98);
    box-shadow: 0 12px 26px rgba(74,46,23,0.12);
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    z-index: 360;
}

.user-menu-panel .btn-secondary,
.user-menu-panel .btn-logout,
.user-menu-panel .user-link {
    width: auto;
    min-height: 26px !important;
    padding: 3px 8px !important;
    font-size: 11px !important;
}

.hero,
.search-panel,
.search-section,
.card,
.case-card {
    background: linear-gradient(155deg, rgba(255,255,255,0.98), rgba(255,253,248,0.94)) !important;
    border-color: rgba(188, 132, 70, 0.30) !important;
    box-shadow: var(--sk-shadow) !important;
}

.hero,
.search-section,
.card {
    position: relative;
    overflow: hidden;
}

.hero::before,
.search-section::before,
.card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 88% 12%, rgba(212, 163, 96, 0.11), transparent 22%),
        radial-gradient(circle at 12% 100%, rgba(139, 69, 19, 0.05), transparent 28%);
    pointer-events: none;
}

.search-section {
    padding: clamp(18px, 2.4vw, 28px) !important;
    border-radius: 24px !important;
}

.search-console {
    display: grid;
    gap: 14px;
}

.search-console-head {
    display: grid;
    grid-template-columns: minmax(180px, 240px) minmax(280px, 1fr) auto;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid rgba(188, 132, 70, 0.42);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 16px 34px rgba(74,46,23,0.08);
}

.search-inline-row,
.bazi-inline-row {
    align-items: center;
}

.search-inline-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: min(540px, 100%);
    max-width: 100%;
}

.search-inline-controls .search-input {
    flex: 0 1 560px;
    min-width: 260px;
    height: 38px;
    padding: 0 14px !important;
    border: 1px solid rgba(188,132,70,0.36) !important;
    border-radius: 10px !important;
    background: #fff !important;
    font-size: 14px !important;
}

.search-inline-controls .btn-primary {
    min-width: 96px;
    height: 38px;
    padding: 0 20px !important;
    border-radius: 10px !important;
    letter-spacing: 0.12em;
}

.search-scope {
    border: 0 !important;
    border-right: 1px solid rgba(188,132,70,0.26) !important;
    border-radius: 0 !important;
    padding: 0 18px !important;
    color: #5c3a22 !important;
    font-weight: 700;
    background: linear-gradient(180deg,#fffdf8,#fff8eb) !important;
}

.search-console-head .search-input {
    min-width: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 15px 18px !important;
    font-size: 16px !important;
    background: #fff !important;
}

.search-console-head .btn-primary {
    min-width: 132px;
    border-radius: 0 !important;
    font-size: 16px !important;
    letter-spacing: 0.18em;
    background: linear-gradient(145deg,#c99350,#874b1c) !important;
}

.filter-matrix {
    display: grid;
    gap: 12px;
    padding: 4px 0 0;
}

.filter-row {
    display: grid;
    grid-template-columns: 86px minmax(0,1fr);
    align-items: center;
    gap: 12px;
    min-height: 34px;
}

.filter-label {
    color: #4f3524;
    font-weight: 800;
    font-size: 14px;
    text-align: right;
    white-space: nowrap;
}

.filter-options {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
    min-width: 0;
}

.filter-options .filter-select,
.filter-options .per-page-select {
    width: auto;
    min-width: 150px;
    height: 36px;
    padding: 0 12px !important;
    border-color: rgba(188,132,70,0.36) !important;
    border-radius: 9px !important;
    background: #fff !important;
}

.bazi-search-panel {
    display: grid;
    grid-template-columns: 86px minmax(0,1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 1px dashed rgba(188,132,70,0.38);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255,253,248,0.92), rgba(255,250,242,0.72));
}

.bazi-inline-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: min(560px, 100%);
    max-width: 100%;
}

.bazi-search-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
}

.bazi-mini-field {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 7px;
    min-width: 0;
}

.bazi-mini-field span {
    font-size: 12px;
    color: #8b5a33;
    white-space: nowrap;
}

.bazi-mini-field input {
    width: 100% !important;
    min-width: 0 !important;
    height: 34px;
    padding: 4px 6px !important;
    text-align: center;
    border: 1px solid rgba(188,132,70,0.46) !important;
    border-radius: 9px !important;
    font-family: "KaiTi","STKaiti",serif !important;
    color: #7d3f13 !important;
    background: #fff !important;
}

.category-tags {
    margin-top: 0 !important;
    padding-top: 4px;
    border-top: 1px solid rgba(188,132,70,0.18);
}

.category-group-row {
    gap: 8px !important;
}

.category-tag {
    border-color: rgba(188,132,70,0.38) !important;
    background: #fff !important;
    color: #4a3527 !important;
}

.category-tag.active,
.category-tag:hover {
    color: #fff !important;
    background: linear-gradient(145deg,#c99350,#8f531f) !important;
}

.results-summary {
    border-radius: 16px !important;
    background: linear-gradient(145deg,#fff,#fffdf8) !important;
    border-color: rgba(188,132,70,0.30) !important;
}

.results-summary strong {
    color: #8a4d1d !important;
}

.page-lead {
    position: relative;
    display: none !important;
    gap: 12px;
    margin: 0 0 22px;
    padding: clamp(18px, 2.5vw, 26px);
    border-radius: 26px;
    border: 1px solid rgba(188, 132, 70, 0.24);
    background:
        linear-gradient(155deg, rgba(255,255,255,0.98), rgba(255,252,246,0.92)),
        radial-gradient(circle at 92% 0%, rgba(205,147,72,0.12), transparent 26%);
    box-shadow: 0 18px 38px rgba(84, 52, 25, 0.08), inset 0 1px 0 rgba(255,255,255,0.94);
    overflow: hidden;
}

.page-lead::before {
    content: "";
    position: absolute;
    right: -42px;
    top: -42px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(216, 169, 108, 0.18), transparent 68%);
    pointer-events: none;
}

.page-kicker {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid rgba(188,132,70,0.34);
    background: rgba(255,255,255,0.86);
    color: #8b5526;
    font-size: 12px;
    letter-spacing: 0.18em;
}

.page-title {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #5a351f;
    font-family: "STSong", "SimSun", "Noto Serif SC", serif;
    font-size: clamp(28px, 2.6vw, 40px);
    letter-spacing: 0.12em;
    line-height: 1.1;
}

.page-summary {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0;
    color: #7a614b;
    font-size: 14px;
    line-height: 1.9;
}

.page-meta {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.page-chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 14px;
    border-radius: 999px;
    border: 1px solid rgba(188,132,70,0.28);
    background: rgba(255,255,255,0.9);
    color: #6e4727;
    font-size: 13px;
    line-height: 1.2;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);
}

.page-chip strong {
    margin-right: 6px;
    color: #8a4d1d;
    font-weight: 700;
}

.results-shell {
    display: grid;
    gap: 14px;
}

body.home-page .hero {
    padding: clamp(24px, 2.8vw, 34px) !important;
}

body.home-page .site-nav {
    display: none !important;
}

body.home-page .page-lead {
    margin-bottom: 18px;
}

body.home-page .search-showcase .search-panel {
    width: min(980px, 100%) !important;
    border-radius: 34px !important;
    padding: clamp(24px, 3vw, 34px) !important;
}

body.home-page .panel-title {
    margin-bottom: 24px !important;
}

body.home-page .panel-title h2 {
    font-family: "STSong", "SimSun", "Noto Serif SC", serif !important;
    font-size: clamp(34px, 3vw, 46px) !important;
    letter-spacing: 0.18em !important;
    color: #59351f !important;
}

body.home-page .panel-title p {
    margin-top: 14px !important;
    color: #86644a !important;
    font-size: 14px !important;
    line-height: 1.85 !important;
}

body.home-page .bazi-shell {
    border-radius: 30px !important;
    padding: clamp(20px, 2.4vw, 28px) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,251,244,0.92)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.92), 0 16px 36px rgba(84,52,25,0.08) !important;
}

body.home-page .bazi-shell::before {
    inset: 12px !important;
    border-radius: 24px !important;
}

body.home-page .pillar-card {
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,250,241,0.92)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.92), 0 12px 24px rgba(97,61,28,0.05) !important;
}

body.home-page .action-grid {
    gap: 14px !important;
}

body.home-page .action-card {
    border-radius: 20px !important;
    min-height: 92px !important;
    background: linear-gradient(145deg, #f3c27f, #b47535) !important;
    box-shadow: 0 14px 28px rgba(129, 77, 28, 0.18), inset 0 1px 0 rgba(255,255,255,0.24) !important;
}

body.home-page .action-card:not(.primary) {
    background: linear-gradient(145deg, #efbf7d, #ba7b39) !important;
}

body.home-page .action-label {
    font-size: clamp(20px, 1.8vw, 28px) !important;
    letter-spacing: 0.08em !important;
}

body.home-page .stat-card {
    border-radius: 24px !important;
    padding: 22px 18px !important;
    box-shadow: 0 18px 36px rgba(86, 52, 22, 0.08) !important;
}

body.pan-page .hero {
    width: 100% !important;
    padding: clamp(24px, 2.8vw, 34px) !important;
    border-radius: 30px !important;
}

body.pan-page .page-lead {
    width: min(980px, 100%);
    margin: 0 auto 18px;
}

body.pan-page .page-lead::before {
    background: radial-gradient(circle, rgba(197, 146, 81, 0.2), transparent 68%);
}

body.pan-page .card {
    width: min(980px, 100%) !important;
    margin: 0 auto !important;
    border-radius: 30px !important;
    padding: clamp(24px, 2.8vw, 34px) !important;
    background: linear-gradient(155deg, rgba(255,255,255,0.98), rgba(255,252,246,0.93)) !important;
}

body.pan-page .tabs {
    padding: 4px !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, rgba(255,252,247,0.96), rgba(255,248,236,0.92)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.84) !important;
}

body.pan-page .panpan-tab {
    border-right: 0 !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,247,235,0.92)) !important;
    color: #915220 !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.82) !important;
}

body.pan-page .panpan-tab.active {
    background: linear-gradient(145deg,#d6a45c 0%,#bc7d32 58%,#8c4f1b 100%) !important;
    color: #fffaf2 !important;
    box-shadow: 0 10px 22px rgba(124, 73, 28, 0.18), inset 0 1px 0 rgba(255,255,255,0.22), inset 0 -7px 12px rgba(108, 60, 18, 0.15) !important;
}

body.pan-page .date-info,
body.pan-page .import-tip {
    background: linear-gradient(145deg, rgba(255,251,242,0.98), rgba(255,246,232,0.92)) !important;
    border-radius: 14px !important;
}

body.pan-page .import-section {
    border-radius: 18px !important;
    box-shadow: 0 14px 26px rgba(86, 52, 22, 0.06) !important;
}

body.pan-page .import-header {
    background: linear-gradient(145deg, rgba(255,244,220,0.96), rgba(255,236,205,0.92)) !important;
}

body.pan-page .btn-primary {
    background: linear-gradient(145deg,#c99350,#8f531f) !important;
    box-shadow: 0 12px 26px rgba(126,73,27,0.18), inset 0 1px 0 rgba(255,255,255,0.2) !important;
}

body.cases-page .search-section {
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 28px !important;
    padding: clamp(20px, 2.8vw, 30px) !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}

body.cases-page .page-lead::before {
    background: radial-gradient(circle, rgba(172, 118, 57, 0.16), transparent 68%);
}

body.cases-page .search-console {
    gap: 20px !important;
}

body.cases-page .search-inline-controls {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: min(540px, 100%) !important;
    max-width: 100% !important;
    border: 1px solid rgba(96, 153, 201, 0.38) !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fdfefe 100%) !important;
    box-shadow: 0 10px 22px rgba(61, 112, 156, 0.08) !important;
    overflow: hidden !important;
}

body.cases-page .search-inline-controls .search-input {
    min-width: 0 !important;
    width: 100% !important;
    height: 46px !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 16px !important;
    background: transparent !important;
    font-size: 15px !important;
    color: #4a3426 !important;
    box-shadow: none !important;
}

body.cases-page .search-inline-controls .search-input::placeholder {
    color: #8b96a6 !important;
}

body.cases-page .search-inline-controls .btn-primary {
    min-width: 110px !important;
    height: 46px !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 24px !important;
    color: #ffffff !important;
    letter-spacing: 0.08em !important;
    background: linear-gradient(145deg, #d9b37a 0%, #c69056 100%) !important;
    box-shadow: none !important;
}

body.cases-page .search-inline-controls .btn-primary:hover {
    background: linear-gradient(145deg, #d0a66d 0%, #bb7d3f 100%) !important;
    transform: none !important;
}

body.cases-page .search-console-head {
    border-radius: 18px !important;
    box-shadow: 0 20px 38px rgba(83, 50, 22, 0.08) !important;
}

body.cases-page .search-console-head .search-input {
    font-size: 17px !important;
    letter-spacing: 0.01em;
}

body.cases-page .bazi-search-panel {
    border-radius: 18px !important;
    padding: 16px 18px !important;
    background: linear-gradient(135deg, rgba(255,252,245,0.98), rgba(255,247,235,0.88)) !important;
}

body.cases-page .search-inline-controls {
    width: min(540px, 100%) !important;
    justify-self: start !important;
}

body.cases-page .bazi-inline-controls {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    width: min(560px, 100%) !important;
    max-width: 100% !important;
    justify-self: start !important;
}

body.cases-page .search-inline-controls .btn-primary,
body.cases-page .bazi-inline-controls .btn-secondary {
    justify-self: start !important;
}

body.cases-page .filter-row {
    min-height: 40px !important;
}

body.cases-page .filter-label {
    font-size: 15px !important;
    letter-spacing: 0.08em;
    color: #674329 !important;
}

body.cases-page .search-inline-row,
body.cases-page .bazi-inline-row {
    grid-template-columns: 86px minmax(0,1fr) !important;
    gap: 12px !important;
    align-items: center !important;
}

body.cases-page .search-inline-row .filter-label,
body.cases-page .bazi-inline-row .filter-label {
    text-align: right !important;
}

body.cases-page .bazi-search-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 8px !important;
}

body.cases-page .category-tags {
    display: none !important;
}

body.cases-page .case-card {
    border-radius: 18px !important;
    padding: 14px 18px 12px !important;
    min-height: 0 !important;
    height: auto !important;
    box-shadow: 0 16px 30px rgba(86, 52, 22, 0.05) !important;
}

body.cases-page .case-top {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
}

body.cases-page .case-bazi-block {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    flex: 0 0 auto !important;
    padding-top: 0 !important;
}

body.cases-page .case-gender {
    position: static !important;
    margin-top: 0 !important;
    z-index: 2 !important;
    align-self: flex-start !important;
}

body.cases-page .case-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 20px 38px rgba(86, 52, 22, 0.10) !important;
}

body.cases-page .case-event {
    font-size: 14px !important;
    color: #554233 !important;
    line-height: 1.8 !important;
}

body.cases-page .case-tag-chip {
    color: #35281f !important;
    background: rgba(255, 250, 240, 0.98) !important;
}

body.cases-page .case-meta-stack {
    display: grid !important;
    gap: 8px !important;
    margin-top: 10px !important;
}

body.cases-page .case-meta-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px 8px !important;
    align-items: center !important;
}

body.cases-page .case-bottom-line {
    display: flex !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
}

body.cases-page .case-tags-line {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    align-items: center !important;
    min-width: 0 !important;
    flex: 0 1 auto !important;
    justify-content: flex-end !important;
    overflow: hidden !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
}

body.cases-page .case-tag-chip {
    flex: 0 0 auto !important;
}

body.cases-page .case-bottom-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 0 0 auto !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
    white-space: nowrap !important;
}

body.cases-page .case-id {
    margin-left: 0 !important;
    white-space: nowrap !important;
}

body.cases-page .results-summary {
    padding: 16px 20px !important;
    font-size: 16px !important;
    box-shadow: 0 14px 28px rgba(86, 52, 22, 0.05) !important;
}

body.auth-page .login-shell {
    width: min(1180px, calc(100% - clamp(24px, 4vw, 56px))) !important;
}

body.auth-page .auth-container {
    backdrop-filter: blur(10px);
}

@media (max-width: 960px) {
    .site-header .hero-top,
    .site-header .topbar,
    .site-header .header-top {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "brand user"
            "nav nav" !important;
        align-items: center !important;
        gap: 10px 12px !important;
    }
    .brand-mark,
    .brand,
    .site-brand {
        grid-area: brand !important;
        flex: 0 0 auto !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: 100% !important;
        justify-self: stretch !important;
        align-items: center !important;
        padding-right: 10px !important;
    }
    .brand-icon,
    .logo-sigil {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
        flex-basis: 40px !important;
    }
    .brand-text,
    .site-brand > span:last-child {
        min-width: 0 !important;
        overflow: hidden !important;
    }
    .brand-text strong,
    .brand-title,
    .site-brand-title {
        font-size: clamp(20px, 2.8vw, 28px) !important;
    }
    .brand-text span,
    .brand-sub,
    .site-brand-subtitle {
        font-size: 12px !important;
        line-height: 1.2 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    .site-nav,
    .user-bar,
    .userbar,
    .topbar-user {
        justify-self: end !important;
    }
    .site-nav {
        grid-area: nav !important;
        width: 100% !important;
        margin: 0 !important;
        transform: none !important;
        justify-content: center !important;
    }
    .user-bar,
    .userbar,
    .topbar-user {
        grid-area: user !important;
        margin-left: 0 !important;
        align-self: flex-start !important;
        justify-self: end !important;
    }
    .site-nav a {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        padding: 8px 8px !important;
        font-size: 12px !important;
        letter-spacing: 0.06em !important;
    }
    .search-console-head {
        grid-template-columns: 1fr;
    }
    .search-inline-controls,
    .bazi-inline-controls {
        width: 100% !important;
    }
    .search-scope {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(188,132,70,0.22) !important;
        height: 42px;
    }
    .search-console-head .btn-primary {
        min-height: 46px;
    }
    .filter-label {
        text-align: left;
    }
    body.cases-page .filter-options {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        width: 100% !important;
    }
    body.cases-page .filter-row,
    body.cases-page .search-inline-row,
    body.cases-page .bazi-inline-row {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        min-width: 0 !important;
    }
    body.cases-page .search-inline-row .filter-label,
    body.cases-page .bazi-inline-row .filter-label {
        text-align: left !important;
    }
    body.cases-page .search-inline-controls {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }
    body.cases-page .bazi-inline-controls {
        grid-template-columns: 1fr !important;
    }
    body.cases-page .bazi-search-grid,
    .bazi-search-grid {
        grid-template-columns: repeat(4, minmax(0,1fr));
        gap: 6px !important;
    }
    body.cases-page .bazi-mini-field {
        min-width: 0 !important;
    }
    body.cases-page .bazi-mini-field span {
        font-size: 11px !important;
    }
    body.cases-page .bazi-mini-field input {
        height: 36px !important;
        padding: 4px 4px !important;
        font-size: 15px !important;
    }
    body.home-page .search-showcase .search-panel,
    body.pan-page .hero {
        width: 100% !important;
    }
    body.home-page .hero,
    body.pan-page .hero {
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }
    body.home-page .search-panel,
    body.pan-page .card {
        border-radius: 20px !important;
    }
    body.home-page .search-panel {
        box-shadow: 0 12px 28px rgba(82, 50, 23, 0.08) !important;
    }
    body.cases-page .results-shell {
        gap: 12px !important;
    }
    body.cases-page .case-bazi {
        flex-wrap: wrap !important;
        justify-content: center !important;
    }
    body.cases-page .case-top {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    body.cases-page .case-bottom-line {
        justify-content: flex-end !important;
    }
    body.cases-page .case-bottom-actions {
        justify-content: flex-end !important;
    }
}

@media (max-width: 520px) {
    .brand-text span,
    .brand-sub,
    .site-brand-subtitle {
        display: none !important;
    }
    .brand-text strong,
    .brand-title,
    .site-brand-title {
        font-size: clamp(15px, 5.6vw, 21px) !important;
        white-space: nowrap !important;
        line-height: 1.08 !important;
    }
    .brand-mark,
    .brand,
    .site-brand {
        padding: 10px 10px 10px 7px !important;
        border-radius: 14px !important;
    }
    .brand-icon,
    .logo-sigil {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        min-height: 28px !important;
        flex-basis: 28px !important;
    }
    .brand-icon::before,
    .logo-sigil::before {
        inset: 6px !important;
    }
    .brand-orbit,
    .logo-orbit {
        inset: 8px !important;
    }
    .site-nav {
        gap: 6px !important;
    }
    .site-nav a {
        min-width: 64px !important;
        padding: 7px 8px !important;
        font-size: 12px !important;
        letter-spacing: 0.04em !important;
        border-color: transparent !important;
        background: transparent !important;
        box-shadow: none !important;
    }
    .site-nav a.active,
    .site-nav a:hover {
        background: transparent !important;
        border-color: transparent !important;
        box-shadow: none !important;
        color: #b97535 !important;
    }
    .site-nav a.active::after {
        bottom: -9px !important;
        border-left: 5px solid transparent !important;
        border-right: 5px solid transparent !important;
        border-top: 6px solid #cf944b !important;
    }
    .bazi-search-grid {
        grid-template-columns: repeat(4, minmax(0,1fr)) !important;
        gap: 8px !important;
    }
    .bazi-mini-field {
        grid-template-columns: 1fr;
        gap: 3px;
        text-align: center;
    }
    body.cases-page .search-inline-controls {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }
    body.cases-page .bazi-inline-controls {
        grid-template-columns: 1fr !important;
    }
    body.cases-page .filter-options {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    body.cases-page .search-inline-controls .search-input {
        height: 42px !important;
        padding: 0 12px !important;
        font-size: 14px !important;
    }
    body.cases-page .search-inline-controls .btn-primary {
        min-width: 88px !important;
        height: 42px !important;
        padding: 0 18px !important;
        font-size: 14px !important;
    }
    body.cases-page .filter-options > * {
        min-width: 0 !important;
        width: 100% !important;
    }
    body.cases-page .search-section {
        border-radius: 18px !important;
        padding: 10px !important;
        overflow: hidden !important;
    }
    body.cases-page .case-card {
        min-height: 0 !important;
        height: auto !important;
        padding: 12px 12px 14px !important;
    }
    body.cases-page .case-card::after,
    body.cases-page .case-more-hint {
        display: none !important;
    }
    body.cases-page .bazi-pillar-cell {
        min-width: 44px !important;
    }
    body.cases-page .results-summary {
        padding: 12px 14px !important;
        font-size: 14px !important;
    }
    body.cases-page .case-bottom-actions {
        width: auto !important;
        margin-left: 0 !important;
    }
    body.cases-page .case-bottom-line {
        gap: 8px !important;
        justify-content: flex-end !important;
    }
    body.cases-page .case-tags-line {
        gap: 4px !important;
    }
    body.cases-page .case-id {
        font-size: 11px !important;
    }
    body.pan-page .tabs {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
    body.pan-page .panpan-tab {
        white-space: nowrap !important;
        padding: 11px 2px !important;
        font-size: 13px !important;
    }
    body.pan-page .manual-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }
    body.pan-page .pillar-card {
        padding: 10px 4px !important;
    }
    body.pan-page .picker-cell,
    body.pan-page .img-pillar-cell {
        width: 42px !important;
        height: 40px !important;
        line-height: 40px !important;
        font-size: 22px !important;
    }
    body.auth-page .site-brand {
        padding: 10px 12px 10px 8px !important;
    }
    body.home-page .stats-grid .stat-sub {
        display: none !important;
    }
    body.home-page .search-panel {
        border-radius: 16px !important;
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }
    body.home-page .bazi-shell {
        padding: 12px !important;
        border-radius: 18px !important;
        box-shadow: 0 10px 24px rgba(82, 50, 23, 0.06) !important;
    }
    body.home-page .bazi-shell::before {
        inset: 6px !important;
    }
    body.home-page .panel-title h2 {
        letter-spacing: 0.1em !important;
    }
    body.home-page .action-card {
        min-height: 72px !important;
        padding: 12px 8px !important;
        border-radius: 16px !important;
    }
    body.home-page .action-label {
        font-size: 15px !important;
        line-height: 1.25 !important;
        letter-spacing: 0 !important;
        white-space: normal !important;
        text-align: center !important;
    }
    body.pan-page .hero {
        padding: 0 !important;
    }
    body.pan-page .card {
        border-radius: 16px !important;
        box-shadow: 0 10px 24px rgba(82, 50, 23, 0.06) !important;
    }
}

body.cases-page .case-meta-stack {
    display: flex !important;
    width: 100% !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: auto !important;
}

body.cases-page .case-meta-row {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px 8px !important;
}

body.cases-page .case-bottom-line {
    display: flex !important;
    width: 100% !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 8px !important;
}

body.cases-page .case-bottom-actions {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    margin-left: auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
}

body.cases-page .case-tags-line {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    pointer-events: auto !important;
}

body.cases-page .case-id {
    display: inline-block !important;
    margin: 0 !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
}
