/* Page-specific styles for links.php. */
main.links-page,
main.links-page * {
    font-family: var(--font-main) !important;
}

.ztj-links-hero,
.ztj-links-apply,
.ztj-links-rule-card,
.ztj-links-site-card,
.ztj-links-empty,
.ztj-link-card {
    background: var(--bg-card) !important;
    border-color: var(--border-color) !important;
}

.ztj-links-apply {
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    padding: 16px;
    box-shadow: var(--control-shadow);
}
.links-page {
                width: 100%;
            }

            main.links-page,
            main.links-page * {
                box-sizing: border-box;
            }

            .ztj-links-wrap {
                width: 100%;
                max-width: var(--page-width, 800px);
                margin: 0 auto;
                padding-top: 20px;
                color: var(--text-body);
                font-family: var(--font-main);
            }

            .ztj-links-hero {
                position: relative;
                min-height: 68px;
                display: flex;
                align-items: center;
                gap: 14px;
                padding: 0 18px;
                margin-bottom: 22px;
                border: 1px solid var(--border-color);
                border-radius: var(--radius);
                
                box-shadow: 0 10px 26px rgba(80, 61, 42, .045);
                backdrop-filter: blur(10px);
                overflow: hidden;
            }

            :root[data-theme="dark"] .ztj-links-hero {
                
                box-shadow: var(--control-shadow);
            }

            .ztj-links-hero-main {
                position: relative;
                z-index: 1;
                display: flex;
                align-items: center;
                gap: 12px;
                min-width: 0;
            }

            .ztj-links-leaf {
                width: 28px;
                height: 28px;
                flex: 0 0 auto;
                color: #a77849;
            }

            .ztj-links-hero-text {
                display: flex;
                align-items: center;
                gap: 14px;
                min-width: 0;
            }

            .ztj-links-hero h1 {
                font-size: 22px;
                line-height: 1.2;
                letter-spacing: .03em;
                white-space: nowrap;
                margin: 0;
                color: #3f352c;
                font-weight: 700;
            }

            :root[data-theme="dark"] .ztj-links-hero h1,
            :root[data-theme="dark"] .ztj-links-apply-title,
            :root[data-theme="dark"] .ztj-links-rule-text strong,
            :root[data-theme="dark"] .ztj-links-sort-title,
            :root[data-theme="dark"] .ztj-link-name,
            :root[data-theme="dark"] .ztj-links-empty strong {
                color: var(--text-body);
            }

            .ztj-links-hero p {
                margin: 0;
                padding-left: 14px;
                border-left: 1px solid var(--border-color);
                color: #8b7e70;
                font-size: 14px;
                line-height: 1.6;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            :root[data-theme="dark"] .ztj-links-hero p,
            :root[data-theme="dark"] .ztj-links-intro,
            :root[data-theme="dark"] .ztj-links-apply-note,
            :root[data-theme="dark"] .ztj-links-rule-text span,
            :root[data-theme="dark"] .ztj-links-site-row dt,
            :root[data-theme="dark"] .ztj-links-site-row dd,
            :root[data-theme="dark"] .ztj-links-sort-label,
            :root[data-theme="dark"] .ztj-links-sort-count,
            :root[data-theme="dark"] .ztj-links-sort-nav em,
            :root[data-theme="dark"] .ztj-link-url,
            :root[data-theme="dark"] .ztj-links-empty,
            :root[data-theme="dark"] .ztj-links-empty-config {
                color: var(--text-body);
            }

            .ztj-links-intro {
                margin: 0 0 24px;
                color: #62574d;
                font-size: 15px;
                line-height: 2.05;
                letter-spacing: .02em;
            }

            .ztj-links-intro p {
                margin: 0;
            }

            .ztj-links-apply {
                margin: 0 0 24px;
            }

            .ztj-links-apply-head {
                display: flex;
                align-items: flex-end;
                justify-content: space-between;
                gap: 14px;
                margin-bottom: 12px;
            }

            .ztj-links-apply-title {
                margin: 0;
                color: #40372f;
                font-size: 18px;
                line-height: 1.35;
                font-weight: 700;
                letter-spacing: .04em;
            }

            .ztj-links-apply-note {
                margin: 0;
                color: #9a8b7a;
                font-size: 13px;
                line-height: 1.6;
                white-space: nowrap;
            }

            .ztj-links-apply-grid {
                display: grid;
                grid-template-columns: minmax(0, 1.08fr) minmax(260px, .92fr);
                gap: 12px;
            }

            .ztj-links-rule-card,
            .ztj-links-site-card {
                position: relative;
                border: 1px solid var(--border-color);
                border-radius: var(--radius);
                
                box-shadow: 0 14px 30px rgba(80, 61, 42, .045);
                backdrop-filter: blur(10px);
                overflow: hidden;
            }

            :root[data-theme="dark"] .ztj-links-rule-card,
            :root[data-theme="dark"] .ztj-links-site-card,
            :root[data-theme="dark"] .ztj-links-sort-nav,
            :root[data-theme="dark"] .ztj-link-card,
            :root[data-theme="dark"] .ztj-links-empty {
                border-color: var(--border-color);
                
                box-shadow: var(--control-shadow);
            }

            .ztj-links-rule-card {
                padding: 18px 18px 16px;
            }

            .ztj-links-site-card {
                padding: 18px;
            }

            .ztj-links-card-kicker {
                display: inline-flex;
                align-items: center;
                height: 28px;
                padding: 0 12px;
                margin-bottom: 13px;
                border: 1px solid var(--border-color);
                border-radius: var(--radius-pill);
                background: var(--accent-brown);
                color: #fff9ef;
                font-size: 13px;
                line-height: 1;
                font-weight: 700;
                letter-spacing: .04em;
                box-shadow: 0 8px 18px rgba(116, 86, 52, .16);
            }

            .ztj-links-rule-list {
                list-style: none;
                margin: 0;
                padding: 0;
                display: grid;
                gap: 10px;
            }

            .ztj-links-rule-item {
                display: grid;
                grid-template-columns: 24px minmax(0, 1fr);
                gap: 10px;
                align-items: flex-start;
            }

            .ztj-links-rule-no {
                width: 22px;
                height: 22px;
                margin-top: 0;
                border-radius: var(--radius);
                background: var(--bg-soft);
                color: #765f47;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                font-size: 12px;
                line-height: 1;
                font-weight: 700;
                font-family: Arial, Helvetica, sans-serif;
                font-variant-numeric: tabular-nums;
                flex: 0 0 22px;
            }

            :root[data-theme="dark"] .ztj-links-rule-no,
            :root[data-theme="dark"] .ztj-links-sort-count,
            :root[data-theme="dark"] .ztj-links-sort-nav a,
            :root[data-theme="dark"] .ztj-links-copy {
                color: var(--text-body);
                border-color: var(--border-color);
                background: var(--bg-soft);
            }

            .ztj-links-rule-text strong {
                display: block;
                color: #463b32;
                font-size: 15px;
                line-height: 1.45;
                font-weight: 700;
            }

            .ztj-links-rule-text span {
                display: block;
                margin-top: 3px;
                color: #756a60;
                font-size: 13px;
                line-height: 1.7;
            }

            .ztj-links-site-info {
                display: grid;
                gap: 8px;
                margin: 0;
            }

            .ztj-links-site-row {
                display: grid;
                grid-template-columns: 46px minmax(0, 1fr);
                gap: 10px;
                align-items: center;
                padding: 8px 10px;
                border: 1px solid var(--border-color);
                border-radius: var(--radius);
                background: var(--bg-card);
                transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
            }

            :root[data-theme="dark"] .ztj-links-site-row {
                border-color: var(--border-color);
                background: var(--bg-card);
            }

            .ztj-links-site-row:hover,
            .ztj-links-site-row:focus-within {
                border-color: var(--border-color);
                background: var(--control-hover-bg);
                box-shadow: 0 8px 18px rgba(76, 58, 39, .055);
            }

            :root[data-theme="dark"] .ztj-links-site-row:hover,
            :root[data-theme="dark"] .ztj-links-site-row:focus-within,
            :root[data-theme="dark"] .ztj-links-sort-nav a:hover,
            :root[data-theme="dark"] .ztj-link-card:hover {
                border-color: var(--border-color);
                
                box-shadow: var(--control-hover-shadow);
            }

            .ztj-links-site-row dt {
                color: #9a8b7a;
                font-size: 13px;
                line-height: 1.45;
            }

            .ztj-links-site-row dd {
                min-width: 0;
                margin: 0;
                color: #51463c;
                font-size: 13px;
                line-height: 1.45;
                word-break: break-all;
                display: flex;
                align-items: center;
                gap: 8px;
            }

            .ztj-links-site-row a {
                color: #765f47;
                text-decoration: none;
            }

            :root[data-theme="dark"] .ztj-links-sort-nav a:hover,
            :root[data-theme="dark"] .ztj-link-card:hover .ztj-link-name {
                color: var(--accent-brown);
            }

            :root[data-theme="dark"] .ztj-links-site-row a {
                color: var(--text-body);
            }

            .ztj-links-copy-text {
                min-width: 0;
                flex: 1 1 auto;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            .ztj-links-copy {
                flex: 0 0 auto;
                height: 24px;
                padding: 0 8px;
                border: 1px solid var(--border-color);
                border-radius: var(--radius-pill);
                background: var(--bg-soft);
                color: #765f47;
                cursor: pointer;
                font-size: 12px;
                line-height: 1;
                opacity: 0;
                transform: translateX(4px);
                transition: opacity .18s ease, transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
            }

            .ztj-links-site-row:hover .ztj-links-copy,
            .ztj-links-site-row:focus-within .ztj-links-copy {
                opacity: 1;
                transform: translateX(0);
            }

            .ztj-links-copy:hover {
                border-color: var(--border-color);
                background: var(--accent-brown);
                color: #fff8ed;
            }

            .ztj-links-copy.is-copied {
                border-color: var(--border-color);
                background: var(--bg-soft);
                color: #587a49;
            }

            .ztj-links-empty-config {
                margin: 15px 0 0;
                padding: 12px 13px;
                border-radius: var(--radius);
                
                color: #6d5b49;
                font-size: 13px;
                font-weight: 700;
                line-height: 1.75;
            }

            

            .ztj-links-sort-nav {
                display: flex;
                align-items: center;
                flex-wrap: wrap;
                gap: 8px;
                margin: 0 0 18px;
                padding: 10px;
                border: 1px solid var(--border-color);
                border-radius: var(--radius);
                background: var(--bg-card);
                box-shadow: 0 10px 24px rgba(80, 61, 42, .038);
                backdrop-filter: blur(8px);
            }

            .ztj-links-sort-label {
                height: 30px;
                padding: 0 9px;
                display: inline-flex;
                align-items: center;
                border-right: 1px solid var(--border-color);
                color: #8b7e70;
                font-size: 13px;
                white-space: nowrap;
            }

            :root[data-theme="dark"] .ztj-links-sort-label,
            :root[data-theme="dark"] .ztj-links-hero p {
                border-color: var(--border-color);
            }

            .ztj-links-sort-nav a {
                max-width: 100%;
                height: 30px;
                padding: 0 11px;
                border: 1px solid var(--border-color);
                border-radius: var(--radius-pill);
                background: var(--bg-soft);
                color: #6f5a43;
                display: inline-flex;
                align-items: center;
                gap: 6px;
                font-size: 13px;
                line-height: 1;
                text-decoration: none;
                white-space: nowrap;
                transition: transform .18s ease, background .18s ease, border-color .18s ease;
            }

            .ztj-links-sort-nav a:hover {
                transform: translateY(-1px);
                border-color: var(--border-color);
                background: var(--control-hover-bg);
            }

            .ztj-links-sort-nav em {
                font-style: normal;
                color: #a18f7c;
                font-size: 12px;
            }

            .ztj-links-list {
                display: grid;
                gap: 22px;
            }

            .ztj-links-sort-section {
                min-width: 0;
                scroll-margin-top: 80px;
            }

            .ztj-links-sort-head {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 12px;
                margin: 0 0 12px;
                padding: 0 2px;
            }

            .ztj-links-sort-title-wrap {
                min-width: 0;
                display: flex;
                align-items: center;
                gap: 9px;
            }

            .ztj-links-sort-mark {
                width: 8px;
                height: 22px;
                border-radius: var(--radius-pill);
                background: var(--accent-brown);
                box-shadow: 0 6px 14px rgba(86, 65, 40, .12);
                flex: 0 0 auto;
            }

            .ztj-links-sort-title {
                min-width: 0;
                margin: 0;
                color: #40372f;
                font-size: 18px;
                line-height: 1.35;
                font-weight: 700;
                letter-spacing: .04em;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            .ztj-links-sort-count {
                flex: 0 0 auto;
                height: 28px;
                padding: 0 10px;
                border: 1px solid var(--border-color);
                border-radius: var(--radius-pill);
                background: var(--bg-soft);
                color: #9a8b7a;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                font-size: 12px;
                white-space: nowrap;
            }

            .ztj-links-grid {
                display: grid;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 10px;
            }

            .ztj-link-card {
                position: relative;
                min-height: 68px;
                display: grid;
                grid-template-columns: 42px minmax(0, 1fr);
                align-items: center;
                gap: 9px;
                padding: 10px 10px;
                border: 1px solid var(--border-color);
                border-radius: var(--radius);
                
                box-shadow: 0 10px 22px rgba(76, 58, 39, .045);
                backdrop-filter: blur(8px);
                text-decoration: none;
                color: inherit;
                overflow: hidden;
                transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
            }

            .ztj-link-card:hover {
                transform: translateY(-2px);
                border-color: var(--border-color);
                
                box-shadow: 0 16px 34px rgba(76, 58, 39, .085);
            }

            .ztj-link-card:focus-visible {
                outline: 3px solid rgba(118, 95, 71, .18);
                outline-offset: 2px;
            }

            .ztj-link-cover {
                width: 42px;
                height: 42px;
                border-radius: var(--radius);
                overflow: hidden;
                border: 1px solid var(--border-color);
                background: var(--bg-soft);
                display: flex;
                align-items: center;
                justify-content: center;
                box-shadow: 0 6px 14px rgba(73, 55, 36, .06);
            }

            :root[data-theme="dark"] .ztj-link-cover {
                border-color: var(--border-color);
                background: var(--bg-soft);
                box-shadow: none;
            }

            .ztj-link-cover img {
                width: 100%;
                height: 100%;
                display: block;
                object-fit: cover;
                transition: transform .32s ease, opacity .32s ease;
            }

            .ztj-link-card:hover .ztj-link-cover img {
                transform: scale(1.05);
                opacity: .94;
            }

            .ztj-link-placeholder {
                color: #8f7d67;
                font-size: 18px;
                font-weight: 600;
                letter-spacing: .03em;
            }

            .ztj-link-info {
                min-width: 0;
            }

            .ztj-link-name {
                display: block;
                color: #40372f;
                font-size: 15px;
                line-height: 1.25;
                font-weight: 700;
                letter-spacing: .03em;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            .ztj-link-url {
                display: block;
                margin-top: 4px;
                color: #8b8076;
                font-size: 12px;
                line-height: 1.2;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
                font-family: Georgia, "Times New Roman", serif;
            }


            .ztj-links-empty {
                padding: 42px 18px;
                border: 1px solid var(--border-color);
                border-radius: var(--radius);
                
                color: var(--text-secondary);
                text-align: center;
                line-height: 1.9;
            }

            .ztj-links-empty strong {
                color: #665646;
            }

            @media (max-width: 820px) {

                .ztj-links-grid {
                    grid-template-columns: repeat(2, minmax(0, 1fr));
                    gap: 10px;
                }

                .ztj-links-sort-nav {
                    margin-bottom: 16px;
                }

                .ztj-links-list {
                    gap: 20px;
                }

                .ztj-links-hero {
                    margin-bottom: 18px;
                }

                .ztj-links-apply-head {
                    align-items: flex-start;
                    flex-direction: column;
                    gap: 4px;
                }

                .ztj-links-apply-note {
                    white-space: normal;
                }

                .ztj-links-apply-grid {
                    grid-template-columns: 1fr;
                }
            }

            @media (max-width: 560px) {
                .ztj-links-hero {
                    min-height: auto;
                    padding: 15px 14px;
                    margin-bottom: 18px;
                    border-radius: var(--radius);
                }

                .ztj-links-hero-main {
                    gap: 10px;
                }

                .ztj-links-leaf {
                    width: 24px;
                    height: 24px;
                    margin-top: 1px;
                }

                .ztj-links-hero-text {
                    flex-direction: column;
                    align-items: flex-start;
                    gap: 4px;
                }

                .ztj-links-hero p {
                    padding-left: 0;
                    border-left: 0;
                    font-size: 13px;
                    line-height: 1.5;
                    white-space: normal;
                    overflow: visible;
                    text-overflow: clip;
                }

                .ztj-links-intro {
                    margin-bottom: 17px;
                    font-size: 14px;
                    line-height: 1.9;
                }

                .ztj-links-apply {
                    margin-bottom: 18px;
                }

                .ztj-links-sort-nav {
                    gap: 7px;
                    padding: 9px;
                    border-radius: var(--radius);
                }

                .ztj-links-sort-label {
                    width: 100%;
                    height: auto;
                    padding: 0 2px 2px;
                    border-right: 0;
                }

                .ztj-links-sort-nav a {
                    height: 28px;
                    max-width: calc(50% - 4px);
                    overflow: hidden;
                    text-overflow: ellipsis;
                }

                .ztj-links-sort-head {
                    gap: 8px;
                    margin-bottom: 10px;
                }

                .ztj-links-sort-title {
                    font-size: 16px;
                }

                .ztj-links-sort-count {
                    height: 26px;
                    padding: 0 8px;
                    font-size: 12px;
                }

                .ztj-links-apply-title {
                    font-size: 16px;
                }

                .ztj-links-rule-card,
                .ztj-links-site-card {
                    padding: 14px;
                    border-radius: var(--radius);
                }

                .ztj-links-card-kicker {
                    height: 26px;
                    margin-bottom: 11px;
                    font-size: 12px;
                }

                .ztj-links-rule-list {
                    gap: 9px;
                }

                .ztj-links-rule-item {
                    grid-template-columns: 22px minmax(0, 1fr);
                    gap: 8px;
                }

                .ztj-links-rule-no {
                    width: 20px;
                    height: 20px;
                    border-radius: var(--radius);
                    font-size: 11px;
                }

                .ztj-links-rule-text strong {
                    font-size: 14px;
                }

                .ztj-links-rule-text span,
                .ztj-links-site-row dt,
                .ztj-links-site-row dd,
                .ztj-links-empty-config {
                    font-size: 12px;
                }

                .ztj-links-site-row {
                    grid-template-columns: 42px minmax(0, 1fr);
                    gap: 8px;
                    padding: 7px 9px;
                }

                .ztj-links-grid {
                    grid-template-columns: repeat(2, minmax(0, 1fr));
                    gap: 9px;
                }

                .ztj-link-card {
                    grid-template-columns: 36px minmax(0, 1fr);
                    gap: 8px;
                    min-height: 58px;
                    padding: 9px 9px;
                }

                .ztj-link-cover {
                    width: 36px;
                    height: 36px;
                    border-radius: var(--radius);
                }

                .ztj-link-name {
                    font-size: 14px;
                }

                .ztj-link-url {
                    font-size: 11px;
                }

                .ztj-links-copy {
                    opacity: 1;
                    transform: none;
                }
            }

            @media (max-width: 380px) {
                .ztj-link-card {
                    grid-template-columns: 32px minmax(0, 1fr);
                    gap: 7px;
                    padding: 8px;
                }

                .ztj-link-cover {
                    width: 32px;
                    height: 32px;
                }

                .ztj-link-name {
                    font-size: 13px;
                }

                .ztj-link-url {
                    font-size: 10px;
                }
            }
