.cltvw-card {
    --cltvw-bg: linear-gradient(135deg, #fff7ed 0%, #fef3c7 45%, #ecfeff 100%);
    --cltvw-border: rgba(146, 64, 14, 0.14);
    --cltvw-text: #1f2937;
    --cltvw-muted: #6b7280;
    --cltvw-accent: #b45309;
    background: var(--cltvw-bg);
    border: 1px solid var(--cltvw-border);
    border-radius: 20px;
    box-shadow: 0 12px 30px rgba(31, 41, 55, 0.10);
    color: var(--cltvw-text);
    overflow: hidden;
    padding: 20px;
    position: relative;
}

.cltvw-card::after {
    background: radial-gradient(circle, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 65%);
    content: "";
    height: 120px;
    position: absolute;
    right: -40px;
    top: -45px;
    width: 120px;
}

.cltvw-header {
    align-items: center;
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
    position: relative;
    z-index: 1;
}

.cltvw-icon {
    align-items: center;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: 16px;
    color: var(--cltvw-accent);
    display: flex;
    flex: 0 0 42px;
    font-size: 21px;
    height: 42px;
    justify-content: center;
    line-height: 1;
    width: 42px;
}

.cltvw-title {
    color: var(--cltvw-text);
    font-size: 1.04rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin: 0;
}

.cltvw-date {
    color: var(--cltvw-muted);
    font-size: 0.88rem;
    margin: 4px 0 0;
}

.cltvw-names {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 14px;
    position: relative;
    z-index: 1;
}

.cltvw-name {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: 999px;
    box-shadow: 0 4px 12px rgba(31, 41, 55, 0.06);
    color: #78350f;
    display: inline-flex;
    font-size: 0.94rem;
    font-weight: 750;
    line-height: 1;
    padding: 10px 13px;
}

.cltvw-message {
    color: var(--cltvw-muted);
    font-size: 0.95rem;
    margin: 12px 0 0;
    position: relative;
    z-index: 1;
}

.cltvw-admin-error {
    background: rgba(239, 68, 68, 0.08);
    border-left: 3px solid #ef4444;
    color: #991b1b;
    font-size: 0.82rem;
    margin: 10px 0 0;
    padding: 8px 10px;
    position: relative;
    z-index: 1;
}

.cltvw-footer {
    color: rgba(107, 114, 128, 0.85);
    font-size: 0.72rem;
    margin-top: 16px;
    position: relative;
    text-align: right;
    z-index: 1;
}

.cltday-card {
    --cltday-paper: #f7f2e9;
    --cltday-paper-2: #fbf8f1;
    --cltday-line: rgba(66, 55, 39, 0.13);
    --cltday-text: #17162a;
    --cltday-muted: #6f6b75;
    --cltday-label: #77717c;
    background:
        radial-gradient(circle at 9px 9px, rgba(96, 78, 49, 0.10) 1.1px, transparent 1.2px) 0 0 / 18px 18px,
        linear-gradient(135deg, var(--cltday-paper-2), var(--cltday-paper));
    border: 1px solid rgba(66, 55, 39, 0.12);
    border-radius: 24px;
    box-shadow: 0 18px 42px rgba(34, 31, 27, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.88);
    color: var(--cltday-text);
    font-family: Georgia, 'Times New Roman', serif;
    max-width: 760px;
    overflow: hidden;
    position: relative;
}

.cltday-card * {
    box-sizing: border-box;
}

.cltday-top-pattern {
    background: repeating-linear-gradient(135deg, rgba(80, 68, 48, 0.035) 0 3px, transparent 3px 7px);
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.cltday-week {
    color: var(--cltday-label);
    font: 700 11px/1.2 Arial, sans-serif;
    letter-spacing: 0.22em;
    padding: 32px 46px 0;
    position: relative;
    text-transform: uppercase;
}

.cltday-hero {
    align-items: center;
    display: grid;
    gap: 34px;
    grid-template-columns: 135px 1fr;
    padding: 38px 46px 42px;
    position: relative;
}

.cltday-number {
    border-right: 1px solid var(--cltday-line);
    font-size: clamp(82px, 14vw, 116px);
    font-weight: 400;
    letter-spacing: -0.08em;
    line-height: 0.82;
    padding-right: 28px;
}

.cltday-main h2 {
    font-size: clamp(30px, 5vw, 44px);
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1;
    margin: 0 0 12px;
}

.cltday-main p {
    color: var(--cltday-muted);
    font: 400 18px/1.35 Arial, sans-serif;
    margin: 0;
}

.cltday-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.cltday-pill {
    background: rgba(225, 217, 201, 0.7);
    border: 1px solid rgba(98, 81, 56, 0.16);
    border-radius: 999px;
    color: #68616b;
    display: inline-flex;
    font: 500 14px/1.2 Arial, sans-serif;
    padding: 6px 13px;
}

.cltday-stats {
    border-bottom: 1px solid var(--cltday-line);
    border-top: 1px solid var(--cltday-line);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    position: relative;
}

.cltday-stat {
    min-height: 78px;
    padding: 20px 24px;
}

.cltday-stat + .cltday-stat {
    border-left: 1px solid var(--cltday-line);
}

.cltday-stat span,
.cltday-section h3 {
    color: var(--cltday-label);
    display: block;
    font: 700 11px/1.2 Arial, sans-serif;
    letter-spacing: 0.22em;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.cltday-stat strong {
    display: block;
    font: 700 15px/1.25 Arial, sans-serif;
}

.cltday-section {
    border-bottom: 1px solid var(--cltday-line);
    padding: 24px 46px;
    position: relative;
}

.cltday-namedays {
    display: grid;
    gap: 10px;
}

.cltday-namedays div,
.cltday-mini p,
.cltday-muted {
    font-size: 17px;
    line-height: 1.45;
    margin: 0;
}

.cltday-muted {
    color: var(--cltday-muted);
    font-family: Arial, sans-serif;
}

.cltday-gender {
    align-items: center;
    background: #efe6d8;
    border-radius: 7px;
    display: inline-flex;
    font: 700 15px/1 Arial, sans-serif;
    height: 26px;
    justify-content: center;
    margin-right: 10px;
    width: 26px;
}

.cltday-male {
    background: #ddecf6;
    color: #2b6e9e;
}

.cltday-female {
    background: #f6dfea;
    color: #b14b7e;
}

.cltday-grid-two {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    position: relative;
}

.cltday-mini {
    border-bottom: 1px solid var(--cltday-line);
    padding-bottom: 26px;
    padding-top: 26px;
}

.cltday-mini + .cltday-mini {
    border-left: 1px solid var(--cltday-line);
}

.cltday-zodiac-icon {
    display: inline-block;
    font-family: 'Apple Color Emoji', 'Segoe UI Emoji', sans-serif;
    font-size: 22px;
    margin-right: 10px;
    vertical-align: -2px;
}

.cltday-source {
    color: rgba(111, 107, 117, 0.8);
    font: 600 11px/1 Arial, sans-serif;
    letter-spacing: 0.16em;
    padding: 18px 46px 24px;
    position: relative;
    text-align: right;
    text-transform: uppercase;
}

.cltday-error {
    color: #7f1d1d;
    font-family: Arial, sans-serif;
    padding: 28px;
}

.cltday-error span {
    display: block;
    margin-top: 8px;
}

@media (max-width: 640px) {
    .cltday-week,
    .cltday-section,
    .cltday-source {
        padding-left: 24px;
        padding-right: 24px;
    }

    .cltday-hero {
        gap: 20px;
        grid-template-columns: 92px 1fr;
        padding: 30px 24px 34px;
    }

    .cltday-number {
        font-size: 78px;
        padding-right: 18px;
    }

    .cltday-stats,
    .cltday-grid-two {
        grid-template-columns: 1fr;
    }

    .cltday-stat + .cltday-stat,
    .cltday-mini + .cltday-mini {
        border-left: 0;
        border-top: 1px solid var(--cltday-line);
    }
}

@media (prefers-color-scheme: dark) {
    .cltvw-card {
        --cltvw-bg: linear-gradient(135deg, #1f2937 0%, #3b2f19 52%, #083344 100%);
        --cltvw-border: rgba(255, 255, 255, 0.14);
        --cltvw-text: #f9fafb;
        --cltvw-muted: #d1d5db;
        --cltvw-accent: #fbbf24;
    }

    .cltvw-icon,
    .cltvw-name {
        background: rgba(255, 255, 255, 0.10);
        border-color: rgba(255, 255, 255, 0.16);
    }

    .cltvw-name {
        color: #fde68a;
    }
}
