:root {
    color-scheme: dark;
    --ly-bg: #080d1a;
    --ly-bg-soft: #0d1424;
    --ly-surface: #111a2d;
    --ly-surface-2: #17223a;
    --ly-line: #283754;
    --ly-text: #edf4ff;
    --ly-muted: #9daeca;
    --ly-accent: #7c6cff;
    --ly-accent-strong: #9b8dff;
    --ly-cyan: #35d5e8;
    --ink: var(--ly-text);
    --muted: var(--ly-muted);
    --line: var(--ly-line);
    --blue: var(--ly-accent);
    --blue-dark: #6554e8;
    --accent: var(--ly-accent);
    --accent-dark: #6554e8;
    --paper: var(--ly-surface);
    --panel: var(--ly-surface);
    --panel-soft: var(--ly-surface-2);
    --soft: var(--ly-bg-soft);
    --shadow: 0 22px 60px rgba(0, 0, 0, .32);
}

body {
    background:
        radial-gradient(circle at 15% -10%, rgba(124, 108, 255, .18), transparent 34rem),
        radial-gradient(circle at 90% 18%, rgba(53, 213, 232, .09), transparent 30rem),
        var(--ly-bg);
    color: var(--ly-text);
}

.site-header,
.address-header {
    border-color: rgba(157, 174, 202, .16) !important;
    background: rgba(8, 13, 26, .88) !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, .18);
}

.brand,
.brand-name,
.address-brand,
.address-brand strong {
    color: var(--ly-text) !important;
}

.brand-mark {
    border-radius: 12px !important;
    background: linear-gradient(135deg, var(--ly-accent), var(--ly-cyan)) !important;
    color: #07101d !important;
    box-shadow: 0 0 24px rgba(124, 108, 255, .3) !important;
    font-weight: 950;
}

.main-nav a,
.site-header nav a,
.page-main-nav a,
.address-navigation a,
.address-account a {
    color: var(--ly-muted) !important;
}

.main-nav a:hover,
.main-nav a:focus-visible,
.site-header nav a:hover,
.site-header nav a:focus-visible,
.site-header nav a[aria-current="page"],
.page-main-nav a:hover,
.page-main-nav a:focus-visible,
.address-navigation a:hover,
.address-navigation a:focus-visible {
    color: var(--ly-cyan) !important;
}

.hero {
    background:
        linear-gradient(rgba(124, 108, 255, .055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(124, 108, 255, .055) 1px, transparent 1px),
        radial-gradient(circle at 50% 0, rgba(53, 213, 232, .12), transparent 42%),
        var(--ly-bg) !important;
    background-size: 34px 34px, 34px 34px, auto, auto !important;
}

.hero h1,
.category-hero h1,
.guide-hero h1,
.section-heading h2,
.directory-heading h2,
.content-card h2,
.faq-item summary,
.faq-list summary {
    color: var(--ly-text) !important;
}

.hero h1 em,
.eyebrow,
.section-heading > span,
.category-group-eyebrow,
.home-latest-eyebrow {
    color: var(--ly-cyan) !important;
}

.eyebrow,
.modified,
.hero-meta span,
.category-count,
.site-category-badge,
.address-state,
.directory-summary span {
    border-color: rgba(53, 213, 232, .24) !important;
    background: rgba(17, 26, 45, .78) !important;
    color: var(--ly-muted) !important;
}

.external-directory-card,
.primary-destination {
    border: 1px solid rgba(124, 108, 255, .42) !important;
    background:
        linear-gradient(135deg, rgba(124, 108, 255, .18), rgba(53, 213, 232, .06)),
        var(--ly-surface) !important;
    box-shadow: 0 22px 60px rgba(0, 0, 0, .34) !important;
}

.external-directory-card p,
.external-directory-card small,
.primary-destination-meta,
.hero-copy,
.section-heading p,
.category-hero > p:not(.eyebrow),
.guide-hero > p:not(.eyebrow),
.service-grid p,
.prose-grid p,
.step-grid p,
.faq-list p,
.faq-item p {
    color: var(--ly-muted) !important;
}

.external-directory-button,
.primary-destination-button,
.button-primary,
.primary-action {
    border-color: transparent !important;
    background: linear-gradient(135deg, var(--ly-accent), #5f8cff) !important;
    color: #fff !important;
    box-shadow: 0 12px 32px rgba(124, 108, 255, .28) !important;
}

.external-directory-button:hover,
.external-directory-button:focus-visible,
.primary-destination-button:hover,
.primary-destination-button:focus-visible,
.button-primary:hover,
.button-primary:focus-visible {
    filter: brightness(1.1);
    transform: translateY(-2px);
}

.monitor-stats,
.feature-list li,
.editorial-panel,
.directory-summary,
.category-group,
.site-card,
.topic-directory-card,
.home-latest-board,
.guide-card,
.faq-item,
.empty-panel,
.category-hero,
.guide-hero,
.service-grid article,
.check-list li,
.related-grid a,
.category-grid a,
.step-grid li,
.prose-grid article,
.link-cards a,
.faq-list details,
.content-card,
.notice-card,
.guide-index-card,
.related-guide-card,
.address-header-tools,
.address-content-card,
.address-board-card {
    border-color: var(--ly-line) !important;
    background: var(--ly-surface) !important;
    color: var(--ly-text) !important;
    box-shadow: 0 14px 38px rgba(0, 0, 0, .2) !important;
}

.content-section,
.directory-section,
.guide-section,
.faq-section,
.home-latest-section {
    background: var(--ly-bg) !important;
}

.content-section--soft,
.content-section--tint,
.content-section--muted,
.editorial-section {
    background: var(--ly-bg-soft) !important;
}

.category-hero,
.guide-hero {
    background:
        linear-gradient(rgba(124, 108, 255, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(124, 108, 255, .06) 1px, transparent 1px),
        var(--ly-surface) !important;
    background-size: 28px 28px !important;
}

.category-hero::before,
.guide-hero::before,
.topic-directory-card article::before {
    background: linear-gradient(var(--ly-accent), var(--ly-cyan)) !important;
}

.category-hero-icon,
.topic-directory-icon,
.category-grid i,
.step-grid b,
.check-list b,
.related-grid i {
    background: rgba(124, 108, 255, .16) !important;
    color: var(--ly-cyan) !important;
}

.address-link,
.service-grid a,
.related-grid span,
.category-grid small,
.link-cards span,
.step-grid a,
.home-latest-more,
.guide-card small,
.section-link {
    color: var(--ly-cyan) !important;
}

.address-link,
.service-grid a,
.category-grid small,
.home-latest-item + .home-latest-item {
    border-color: var(--ly-line) !important;
}

.site-head span,
.service-head span,
.address-domain,
.site-domain,
.home-latest-meta,
.guide-card span,
.updated-note,
.breadcrumb {
    color: var(--ly-muted) !important;
}

.address-search input,
.address-search button,
.address-menu-button {
    border-color: var(--ly-line) !important;
    background: var(--ly-surface-2) !important;
    color: var(--ly-text) !important;
}

.address-wrapper,
.address-container-wrap,
.address-container {
    background: transparent !important;
}

footer,
.site-footer,
.address-footer {
    border-color: var(--ly-line) !important;
    background: #060a13 !important;
    color: var(--ly-text) !important;
}

footer p,
footer small,
.site-footer p,
.site-footer small,
.address-footer p,
.address-footer a {
    color: var(--ly-muted) !important;
}

/* Category directory cards have their own inner article surface. */
.topic-directory-card article {
    border-color: var(--ly-line) !important;
    background:
        linear-gradient(145deg, rgba(124, 108, 255, 0.09), transparent 44%),
        var(--ly-surface) !important;
    color: var(--ly-text) !important;
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.28) !important;
}

.topic-directory-card h3 {
    color: var(--ly-text) !important;
}

.topic-directory-card p {
    color: var(--ly-muted) !important;
}

.topic-directory-chips span,
.topic-directory-chips a {
    border-color: #344765 !important;
    background: #17243a !important;
    color: #c9d5e9 !important;
}

.topic-directory-chips a:hover,
.topic-directory-chips a:focus-visible {
    border-color: var(--ly-cyan) !important;
    background: #1d2d47 !important;
    color: #ffffff !important;
}

.topic-directory-chips .topic-directory-more {
    border-color: rgba(53, 213, 232, 0.38) !important;
    background: rgba(53, 213, 232, 0.1) !important;
    color: var(--ly-cyan) !important;
}

.topic-directory-action {
    border-color: var(--ly-line) !important;
    color: var(--ly-cyan) !important;
}

/* Domain badges need their own dark surface for readable contrast. */
.service-head span,
.site-head span {
    border: 1px solid #3b4f70 !important;
    background: #1b2941 !important;
    color: #c8d7ee !important;
}

/* Homepage information components with independent light backgrounds. */
.hero-panel,
.metric,
.concept-item,
.criteria-item,
.comparison-table-wrap,
.category-jump,
.search-guide-steps li {
    border-color: var(--ly-line) !important;
    background: var(--ly-surface) !important;
    color: var(--ly-text) !important;
}

.hero-panel h2,
.metric strong,
.concept-item h3,
.criteria-item h3,
.search-guide-steps h3 {
    color: var(--ly-text) !important;
}

.prose-content > p,
.concept-item p,
.criteria-item p,
.search-guide-steps p,
.search-guide-figure figcaption {
    color: var(--ly-muted) !important;
}

.comparison-table th,
.comparison-table td {
    border-color: var(--ly-line) !important;
}

.comparison-table thead th {
    background: #1b2a43 !important;
    color: #edf4ff !important;
}

.comparison-table tbody th {
    background: #14233a !important;
    color: var(--ly-cyan) !important;
}

.comparison-table tbody td {
    background: var(--ly-surface-2) !important;
    color: #c7d3e6 !important;
}

.intent-links a,
.category-jump a {
    border-color: #3b4f70 !important;
    background: var(--ly-surface-2) !important;
    color: var(--ly-cyan) !important;
}

.punycode-example {
    border-left-color: var(--ly-cyan) !important;
    background: var(--ly-surface-2) !important;
    color: #c7d3e6 !important;
}

.home-latest-link:hover,
.home-latest-link:focus,
.home-latest-link:focus-visible {
    background: linear-gradient(90deg, rgba(124, 108, 255, 0.14), rgba(53, 213, 232, 0.06)) !important;
}

.home-latest-link:hover h4,
.home-latest-link:focus h4,
.home-latest-link:focus-visible h4 {
    color: var(--ly-text) !important;
}

.home-latest-link:hover .home-latest-excerpt,
.home-latest-link:focus .home-latest-excerpt,
.home-latest-link:focus-visible .home-latest-excerpt,
.home-latest-link:hover .home-latest-meta,
.home-latest-link:focus .home-latest-meta,
.home-latest-link:focus-visible .home-latest-meta {
    color: var(--ly-muted) !important;
}

/* Individual service pages: hostname panel and checklist cards. */
.service-address-box {
    border-color: #3a4d6d !important;
    background:
        linear-gradient(135deg, rgba(124, 108, 255, 0.13), rgba(53, 213, 232, 0.05)),
        var(--ly-surface-2) !important;
    color: var(--ly-text) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22) !important;
}

.service-address-box span {
    color: var(--ly-muted) !important;
}

.service-address-box strong {
    color: var(--ly-text) !important;
}

.service-address-box a {
    border: 1px solid rgba(155, 141, 255, 0.6) !important;
    background: linear-gradient(135deg, var(--ly-accent), #5f8cff) !important;
    color: #ffffff !important;
}

.service-point-list li {
    border-color: var(--ly-line) !important;
    background: var(--ly-surface) !important;
    color: #dbe6f7 !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.16) !important;
}

.service-point-list li::before {
    color: var(--ly-cyan) !important;
}

/* /주소모음/ service guide directory loads its component CSS last. */
.service-directory-groups article {
    border-color: var(--ly-line) !important;
    background: var(--ly-surface) !important;
    color: var(--ly-text) !important;
}

.service-directory-groups h3,
.service-directory-groups strong {
    color: var(--ly-text) !important;
}

.service-directory-groups h3 span {
    background: rgba(124, 108, 255, 0.16) !important;
    color: var(--ly-cyan) !important;
}

.service-directory-groups a {
    border-color: var(--ly-line) !important;
    background: var(--ly-surface-2) !important;
    color: var(--ly-text) !important;
}

.service-directory-groups a:hover,
.service-directory-groups a:focus-visible {
    border-color: var(--ly-cyan) !important;
    background: #1d2d47 !important;
}

.service-directory-groups small {
    color: var(--ly-muted) !important;
}

@media (max-width: 900px) {
    .address-navigation.is-open {
        border-color: var(--ly-line) !important;
        background: var(--ly-surface) !important;
    }
}
