:root {
    color-scheme: light;
    --paper: #f4f1e9;
    --surface: #fffdf8;
    --surface-muted: #f8f6f0;
    --page-background: radial-gradient(circle at 10% 0, rgba(217, 164, 74, .13), transparent 31rem), radial-gradient(circle at 100% 26%, rgba(44, 119, 86, .09), transparent 32rem), var(--paper);
    --card-bg: rgba(255, 253, 248, .94);
    --card-border: rgba(201, 210, 203, .86);
    --ink: #1d2a25;
    --muted: #64716b;
    --text-secondary: #46534d;
    --line: #dce2dc;
    --link: #1f6546;
    --link-hover: #923a35;
    --link-decoration: rgba(31, 101, 70, .42);
    --focus-ring: #8a5a12;
    --adult: #2c7756;
    --adult-strong: #1f6546;
    --adult-soft: #dff1e6;
    --adult-dial: #87c8a6;
    --adult-border: #bddbc9;
    --minor: #ad4741;
    --minor-strong: #923a35;
    --minor-soft: #f8e2df;
    --minor-dial: #e8a19b;
    --minor-border: #ebc4c0;
    --gold: #d9a44a;
    --shadow: 0 20px 60px rgba(39, 51, 45, .08);
    --table-caption-bg: #f0eee7;
    --table-stripe-bg: #faf9f5;
    --control-bg: #ebe8e0;
    --control-border: #cfd5cf;
    --control-active-bg: #fffdf8;
    --control-active-border: #7c8781;
    --control-hover-bg: #f7f4ed;
    --control-shadow: 0 2px 9px rgba(39, 51, 45, .12);
    --wheel-separator: rgba(255, 255, 255, .92);
    --wheel-marker: #1d2a25;
    --wheel-label-bg: rgba(255, 253, 248, .95);
    --wheel-label-text: #1d2a25;
    --wheel-outline: #dce2dc;
    --wheel-shadow: 0 18px 45px rgba(43, 60, 51, .14), 0 0 0 1px var(--wheel-outline);
    --wheel-label-shadow: 0 3px 10px rgba(29, 42, 37, .16);
    --wheel-center-shadow: 0 8px 28px rgba(43, 60, 51, .1);
}

:root[data-theme="dark"] {
    color-scheme: dark;
    --paper: #171717;
    --surface: #1f1f1f;
    --surface-muted: #262626;
    --page-background: #171717;
    --card-bg: rgba(31, 31, 31, .97);
    --card-border: rgba(64, 64, 64, .92);
    --ink: #d8d4cc;
    --muted: #aaa69e;
    --text-secondary: #bdb8af;
    --line: #383838;
    --link: #c4aa78;
    --link-hover: #ddc38e;
    --link-decoration: rgba(196, 170, 120, .58);
    --focus-ring: #d3af6d;
    --adult: #729b82;
    --adult-strong: #a4c8b0;
    --adult-soft: #232725;
    --adult-dial: #668b74;
    --adult-border: #44594d;
    --minor: #b87872;
    --minor-strong: #d7a09a;
    --minor-soft: #292323;
    --minor-dial: #a66e69;
    --minor-border: #624744;
    --gold: #b99560;
    --shadow: 0 24px 70px rgba(0, 0, 0, .28);
    --table-caption-bg: #242424;
    --table-stripe-bg: #222;
    --control-bg: #202020;
    --control-border: #3a3a3a;
    --control-active-bg: #303030;
    --control-active-border: #8b867d;
    --control-hover-bg: #292929;
    --control-shadow: 0 3px 12px rgba(0, 0, 0, .28);
    --wheel-separator: rgba(23, 23, 23, .72);
    --wheel-marker: #eee9e0;
    --wheel-label-bg: rgba(31, 31, 31, .97);
    --wheel-label-text: #d8d4cc;
    --wheel-outline: #3a3a3a;
    --wheel-shadow: 0 20px 52px rgba(0, 0, 0, .34), 0 0 0 1px var(--wheel-outline);
    --wheel-label-shadow: 0 4px 13px rgba(0, 0, 0, .32);
    --wheel-center-shadow: 0 10px 30px rgba(0, 0, 0, .28);
}

@media (prefers-color-scheme: dark) {
    :root[data-theme="auto"] {
        color-scheme: dark;
        --paper: #171717;
        --surface: #1f1f1f;
        --surface-muted: #262626;
        --page-background: #171717;
        --card-bg: rgba(31, 31, 31, .97);
        --card-border: rgba(64, 64, 64, .92);
        --ink: #d8d4cc;
        --muted: #aaa69e;
        --text-secondary: #bdb8af;
        --line: #383838;
        --link: #c4aa78;
        --link-hover: #ddc38e;
        --link-decoration: rgba(196, 170, 120, .58);
        --focus-ring: #d3af6d;
        --adult: #729b82;
        --adult-strong: #a4c8b0;
        --adult-soft: #232725;
        --adult-dial: #668b74;
        --adult-border: #44594d;
        --minor: #b87872;
        --minor-strong: #d7a09a;
        --minor-soft: #292323;
        --minor-dial: #a66e69;
        --minor-border: #624744;
        --gold: #b99560;
        --shadow: 0 24px 70px rgba(0, 0, 0, .28);
        --table-caption-bg: #242424;
        --table-stripe-bg: #222;
        --control-bg: #202020;
        --control-border: #3a3a3a;
        --control-active-bg: #303030;
        --control-active-border: #8b867d;
        --control-hover-bg: #292929;
        --control-shadow: 0 3px 12px rgba(0, 0, 0, .28);
        --wheel-separator: rgba(23, 23, 23, .72);
        --wheel-marker: #eee9e0;
        --wheel-label-bg: rgba(31, 31, 31, .97);
        --wheel-label-text: #d8d4cc;
        --wheel-outline: #3a3a3a;
        --wheel-shadow: 0 20px 52px rgba(0, 0, 0, .34), 0 0 0 1px var(--wheel-outline);
        --wheel-label-shadow: 0 4px 13px rgba(0, 0, 0, .32);
        --wheel-center-shadow: 0 10px 30px rgba(0, 0, 0, .28);
    }
}

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 320px; }
body {
    margin: 0;
    overflow-x: clip;
    color: var(--ink);
    background: var(--page-background);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 17px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
}
a { color: var(--link); text-decoration-color: var(--link-decoration); text-decoration-thickness: 1.5px; text-underline-offset: .18em; }
a:hover { color: var(--link-hover); text-decoration-color: currentColor; }
a:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 4px; border-radius: 3px; }
p, h1, h2, h3, figure { margin-top: 0; }
p:last-child { margin-bottom: 0; }
time, strong { font-variant-numeric: tabular-nums; }
.site-shell { width: min(calc(100% - 40px), 1080px); margin: 0 auto; }
.page-intro { max-width: 980px; padding: clamp(48px, 8vw, 92px) 0 clamp(38px, 6vw, 64px); }
.intro-topline { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.intro-tools { display: flex; align-items: center; gap: 14px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); border: 0; white-space: nowrap; }
.eyebrow, .section-kicker { margin-bottom: 10px; color: var(--adult-strong); font-size: .75rem; font-weight: 800; letter-spacing: .13em; line-height: 1.35; text-transform: uppercase; }
.intro-topline .eyebrow { margin: 0; }
.theme-switcher { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 236px; margin: 0; padding: 3px; border: 1px solid var(--control-border); border-radius: 14px; background: var(--control-bg); visibility: hidden; }
:root[data-theme-ready="true"] .theme-switcher { visibility: visible; }
.theme-option { position: relative; min-width: 0; }
.theme-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.theme-option span { display: grid; min-height: 38px; padding: 0 10px; place-items: center; border: 1px solid transparent; border-radius: 10px; color: var(--muted); cursor: pointer; font-size: .72rem; font-weight: 750; line-height: 1; text-align: center; }
.theme-option:hover span { background: var(--control-hover-bg); color: var(--ink); }
.theme-option input:checked + span { border-color: var(--control-active-border); background: var(--control-active-bg); color: var(--ink); box-shadow: var(--control-shadow); }
.theme-option input:focus-visible + span { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.timezone-control { display: block; flex: 0 0 auto; }
.timezone-control select { width: 178px; min-height: 46px; padding: 0 10px; border: 1px solid var(--control-border); border-radius: 14px; color: var(--ink); background: var(--control-bg); cursor: pointer; font: inherit; font-size: .76rem; font-weight: 750; font-variant-numeric: tabular-nums; }
.timezone-control select:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.timezone-control select:disabled { cursor: default; opacity: .72; }
.age-seal { display: grid; flex: 0 0 62px; width: 62px; height: 62px; place-items: center; border: 2px solid var(--ink); border-radius: 50%; font-size: 1.1rem; font-weight: 850; letter-spacing: -.03em; transform: rotate(5deg); }
.breadcrumbs { margin: 0 0 28px; color: var(--muted); font-size: .78rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li:not(:last-child)::after { margin-left: 7px; content: "/"; color: var(--line); }
.breadcrumbs span { color: var(--text-secondary); }
.page-intro h1 { max-width: 940px; margin-bottom: 24px; font-size: clamp(2.25rem, 5.4vw, 4.65rem); letter-spacing: -.055em; line-height: 1.02; text-wrap: balance; }
.intro-lead { max-width: 820px; margin-bottom: 28px; color: var(--text-secondary); font-size: clamp(1.02rem, 2vw, 1.22rem); }
.hero-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; max-width: 980px; }
.hero-facts.hero-facts--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hero-fact { min-width: 0; padding: 17px 18px; border: 1px solid var(--card-border); border-radius: 17px; background: var(--card-bg); box-shadow: 0 8px 25px rgba(39, 51, 45, .04); }
.hero-fact p { margin-bottom: 7px; color: var(--muted); font-size: .75rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.hero-fact strong { display: block; overflow-wrap: anywhere; font-size: clamp(1.03rem, 2vw, 1.34rem); line-height: 1.22; }
.hero-fact small { display: block; margin-top: 7px; color: var(--muted); line-height: 1.35; }
.hero-fact__secondary { position: relative; margin-top: 16px; padding-top: 16px; }
.hero-fact__secondary::before { position: absolute; top: 0; right: 8px; left: 8px; border-top: 1px solid var(--line); content: ""; }
.hero-fact__secondary .hero-fact__secondary-copy { margin: 0; color: var(--text-secondary); font-size: .75rem; font-weight: 400; letter-spacing: normal; line-height: 1.45; text-transform: none; }
.hero-fact .hero-fact__linked-value a { color: inherit; font-weight: inherit; }
.hero-fact .hero-fact__linked-value a:hover { color: var(--link-hover); }
.hero-fact--adult { border-color: var(--adult-border); background: var(--adult-soft); }
.hero-fact--minor { border-color: var(--minor-border); background: var(--minor-soft); }
main { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.section-card { min-width: 0; padding: clamp(25px, 4vw, 42px); border: 1px solid var(--card-border); border-radius: 28px; background: var(--card-bg); box-shadow: var(--shadow); }
.section-heading { max-width: 790px; margin-bottom: 27px; }
.section-heading--wide { max-width: 920px; }
.section-heading h2 { margin-bottom: 10px; font-size: clamp(1.55rem, 3vw, 2.35rem); letter-spacing: -.035em; line-height: 1.12; text-wrap: balance; }
.section-heading p:last-child { color: var(--text-secondary); }
.section-note { margin-top: 22px; color: var(--text-secondary); font-size: .92rem; }
.fact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; overflow: hidden; margin: 0; border: 1px solid var(--line); border-radius: 18px; background: var(--line); }
.fact-grid div { min-width: 0; padding: 19px; background: var(--surface); }
.fact-grid dt { margin-bottom: 6px; color: var(--muted); font-size: .75rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.fact-grid dd { margin: 0; overflow-wrap: anywhere; font-size: 1.12rem; font-weight: 750; }
.status-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.status-card { padding: 21px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface-muted); }
.status-card p { margin-bottom: 8px; color: var(--muted); font-size: .78rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.status-card strong { display: block; margin-bottom: 8px; font-size: clamp(1.15rem, 2.3vw, 1.55rem); line-height: 1.22; }
.status-card small { display: block; color: var(--text-secondary); line-height: 1.45; }
.status-card--adult { border-color: var(--adult-border); background: var(--adult-soft); }
.status-card--minor { border-color: var(--minor-border); background: var(--minor-soft); }
.status-card__timezone { display: grid; gap: 9px; margin: 4px 0 10px; }
.status-card__timezone-control { display: grid; min-width: 0; gap: 5px; }
.status-card__timezone-control > span { color: var(--muted); font-size: .7rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.status-card__timezone-control select { width: 100%; min-height: 42px; padding: 0 9px; border: 1px solid var(--control-border); border-radius: 11px; color: var(--ink); background: var(--control-bg); cursor: pointer; font: inherit; font-size: 16px; }
.status-card__timezone-control select:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.status-card__timezone-control select:disabled { cursor: default; opacity: .72; }
.status-card .live-clock { display: block; min-width: 7.2ch; color: var(--ink); font-size: clamp(1.25rem, 3vw, 1.55rem); font-variant-numeric: tabular-nums; font-weight: 900; letter-spacing: .015em; line-height: 1.08; white-space: nowrap; }
.age-selection { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 320px); align-items: end; gap: 24px; }
.age-selection__copy h2 { margin-bottom: 8px; font-size: clamp(1.4rem, 2.7vw, 2rem); letter-spacing: -.03em; line-height: 1.15; }
.age-selection__copy p { margin: 0; color: var(--text-secondary); }
.age-selection__control { display: grid; min-width: 0; gap: 7px; }
.age-selection__control > span { color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.age-selection__control select { width: 100%; min-height: 48px; padding: 0 12px; border: 1px solid var(--control-border); border-radius: 14px; color: var(--ink); background: var(--control-bg); cursor: pointer; font: inherit; font-size: 16px; font-weight: 750; font-variant-numeric: tabular-nums; }
.age-selection__control select:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.age-selection__control select:disabled { cursor: default; opacity: .72; }
.age-selection noscript { grid-column: 1 / -1; }
.age-selection__noscript { margin: 0; color: var(--text-secondary); font-size: .88rem; }
.clock-face { display: inline-flex; height: 1.08em; align-items: center; justify-content: flex-start; }
.clock-digit { position: relative; display: inline-block; width: .68em; height: 1.08em; overflow: hidden; text-align: center; }
.clock-digit-current, .clock-digit-next { position: absolute; inset: 0; display: grid; place-items: center; transform: translateY(0); will-change: transform; }
.clock-digit-next { transform: translateY(110%); }
.clock-digit.is-rolling .clock-digit-current, .clock-digit.is-rolling .clock-digit-next { transition: transform .36s cubic-bezier(.22, .72, .24, 1); }
.clock-digit.is-rolling .clock-digit-current { transform: translateY(-110%); }
.clock-digit.is-rolling .clock-digit-next { transform: translateY(0); }
.clock-separator { display: inline-block; width: .38em; color: var(--muted); text-align: center; transform: translateY(-.04em); }
.table-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: 16px; }
.data-table { width: 100%; min-width: 670px; border-collapse: collapse; font-size: .92rem; }
.data-table caption { padding: 14px 17px; background: var(--table-caption-bg); color: var(--muted); font-size: .78rem; font-weight: 750; text-align: left; text-transform: uppercase; }
.data-table th, .data-table td { padding: 13px 15px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.data-table thead th { color: var(--muted); font-size: .74rem; letter-spacing: .04em; text-transform: uppercase; }
.data-table tbody tr:nth-child(even) { background: var(--table-stripe-bg); }
.data-table tbody tr:last-child th, .data-table tbody tr:last-child td { border-bottom: 0; }
.data-table .row-focus { background: var(--adult-soft); }
.data-table a { font-weight: 750; }
.link-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.link-grid a, .link-grid__static { display: flex; min-height: 104px; padding: 18px; flex-direction: column; justify-content: space-between; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); text-decoration: none; }
.link-grid a:hover { border-color: var(--adult-border); background: var(--adult-soft); }
.link-grid a.year-navigation__link--adult { border-color: var(--adult-border); background: var(--adult-soft); }
.link-grid a.year-navigation__link--minor { border-color: var(--minor-border); background: var(--minor-soft); }
.link-grid a.year-navigation__link--boundary { border-color: var(--card-border); background: linear-gradient(135deg, var(--adult-soft) 0 50%, var(--minor-soft) 50% 100%); }
.link-grid a.year-navigation__link--adult:hover { border-color: var(--adult-strong); background: var(--adult-soft); }
.link-grid a.year-navigation__link--minor:hover { border-color: var(--minor-strong); background: var(--minor-soft); }
.link-grid a.year-navigation__link--boundary:hover { border-color: var(--ink); background: linear-gradient(135deg, var(--adult-soft) 0 50%, var(--minor-soft) 50% 100%); }
.link-grid .majority-tile--adult { border-color: var(--adult-border); background: var(--adult-soft); }
.link-grid .majority-tile--minor { border-color: var(--minor-border); background: var(--minor-soft); }
.link-grid .majority-tile--boundary { border-color: var(--card-border); background: linear-gradient(135deg, var(--adult-soft) 0 50%, var(--minor-soft) 50% 100%); }
.link-grid a.majority-tile--adult:hover { border-color: var(--adult-strong); background: var(--adult-soft); }
.link-grid a.majority-tile--minor:hover { border-color: var(--minor-strong); background: var(--minor-soft); }
.link-grid a.majority-tile--boundary:hover { border-color: var(--ink); background: linear-gradient(135deg, var(--adult-soft) 0 50%, var(--minor-soft) 50% 100%); }
.link-grid span { color: var(--muted); font-size: .76rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.link-grid strong { margin-top: 10px; color: var(--ink); line-height: 1.28; }
.link-grid--compact { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.date-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.date-navigation__link--previous { grid-column: 1; }
.date-navigation__link--next { grid-column: 2; align-items: flex-end; text-align: right; }
.birth-date-related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.methodology-card { border-left: 5px solid var(--gold); }
.birth-range-visual { padding: clamp(20px, 4vw, 32px); border: 1px solid var(--line); border-radius: 22px; background: var(--surface-muted); }
.birth-range-years { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.birth-range-years--single { grid-template-columns: 1fr; }
.birth-range-years div { min-width: 0; padding: 16px 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.birth-range-years div:last-child { text-align: right; }
.birth-range-years--single div:last-child { text-align: left; }
.birth-range-years span { display: block; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.birth-range-years strong { display: block; margin-top: 3px; color: var(--ink); font-size: clamp(1.6rem, 4vw, 2.45rem); letter-spacing: -.04em; line-height: 1.08; }
.birth-range-track { position: relative; height: 18px; margin: 64px 12px 58px; border: 1px solid var(--control-border); border-radius: 999px; background: var(--control-bg); box-shadow: inset 0 1px 4px rgba(29, 42, 37, .08); }
.birth-range-track__available { position: absolute; z-index: 1; top: -1px; bottom: -1px; left: calc(var(--range-start) - 11px); width: calc(var(--range-end) - var(--range-start) + 22px); border: 1px solid var(--adult-strong); background: var(--adult); }
.birth-range-months { position: absolute; z-index: 4; top: 0; bottom: 0; left: var(--range-start); display: flex; width: calc(var(--range-end) - var(--range-start)); }
.birth-range-month { position: relative; min-width: 0; flex: 1 1 0; color: var(--surface); font-size: .58rem; font-weight: 850; letter-spacing: -.01em; line-height: 1; text-align: center; text-decoration: none; }
a.birth-range-month { touch-action: manipulation; transition: box-shadow .16s ease, opacity .16s ease, transform .16s ease; }
.birth-range-month + .birth-range-month::before { position: absolute; top: 0; bottom: 0; left: 0; width: 1px; background: currentColor; content: ""; opacity: .46; pointer-events: none; }
.birth-range-month--year-start::before { display: none; }
.birth-range-month__short, .birth-range-month__narrow { position: absolute; top: 50%; left: 50%; width: max-content; transform: translate(-50%, -50%); }
.birth-range-month__narrow { display: none; }
a.birth-range-month .birth-range-month__short, a.birth-range-month .birth-range-month__narrow { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
a.birth-range-month:hover { color: var(--surface); text-decoration: none; }
a.birth-range-month:hover .birth-range-month__short, a.birth-range-month:hover .birth-range-month__narrow { text-decoration-thickness: 2px; }
a.birth-range-month:focus-visible { z-index: 2; outline-width: 2px; outline-offset: 2px; border-radius: 2px; }
a.birth-range-month:active { opacity: .72; transform: translateY(1px); }
.birth-range-track__split { position: absolute; z-index: 5; top: -13px; bottom: -13px; left: 0; width: 2px; pointer-events: none; transform: translateX(-1px); }
.birth-range-track__split::before { position: absolute; inset: 0; background: var(--ink); content: ""; opacity: .54; }
.birth-range-track__split > span { position: absolute; top: calc(100% + 6px); left: 50%; padding: 2px 5px; color: var(--ink); background: var(--surface-muted); font-size: .65rem; font-weight: 800; line-height: 1; white-space: nowrap; transform: translateX(-50%); }
.birth-range-point { position: absolute; z-index: 3; top: 50%; width: 18px; height: 18px; border: 4px solid var(--surface); border-radius: 50%; background: var(--adult-strong); box-shadow: 0 0 0 2px var(--adult-strong), 0 4px 12px rgba(29, 42, 37, .22); transform: translateY(-50%); }
.birth-range-point--start { left: var(--range-start); transform: translate(calc(-100% - 2px), -50%); }
.birth-range-point--end { left: var(--range-end); transform: translate(2px, -50%); }
.birth-range-point > span { position: absolute; bottom: calc(100% + 14px); padding: 5px 8px; border: 1px solid var(--adult-border); border-radius: 9px; color: var(--adult-strong); background: var(--surface); box-shadow: 0 5px 16px rgba(29, 42, 37, .1); font-size: .75rem; font-variant-numeric: tabular-nums; font-weight: 850; line-height: 1; white-space: nowrap; }
.birth-range-point--start > span { left: -5px; }
.birth-range-point--end > span { right: -5px; }
.birth-range-legend { display: flex; flex-wrap: wrap; gap: 10px 22px; color: var(--text-secondary); font-size: .8rem; font-weight: 700; }
.birth-range-legend span { display: inline-flex; align-items: center; gap: 8px; }
.birth-range-swatch { display: inline-block; width: 30px; height: 8px; border-radius: 999px; }
.birth-range-swatch--available { background: var(--adult); }
.birth-range-swatch--outside { border: 1px solid var(--control-border); background: var(--control-bg); }
.year-zone-layout { display: grid; grid-template-columns: minmax(320px, 430px) minmax(0, 1fr); align-items: center; gap: clamp(24px, 6vw, 72px); }
.year-zone-card { display: grid; min-width: 0; padding: 23px; place-items: center; border: 1px solid var(--line); border-radius: 22px; background: var(--surface-muted); text-align: center; }
.year-zone-card--adult { border-color: var(--adult-border); background: var(--adult-soft); }
.year-zone-card--minor { border-color: var(--minor-border); background: var(--minor-soft); }
.year-zone-card--boundary { border-color: var(--card-border); background: linear-gradient(135deg, var(--adult-soft), var(--minor-soft)); }
.year-zone-label { margin-bottom: 2px; color: var(--text-secondary); font-size: .74rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.year-wheel-figure { width: 100%; margin: 15px 0 0; }
.year-wheel { position: relative; width: min(100%, 380px); margin: 0 auto; aspect-ratio: 1; border: 8px solid var(--surface); border-radius: 50%; background: repeating-conic-gradient(from 165deg, var(--wheel-separator) 0deg 1.2deg, transparent 1.2deg 30deg), conic-gradient(from 165deg, var(--adult-dial) 0deg var(--cutoff-angle), var(--minor-dial) var(--cutoff-angle) 360deg); box-shadow: var(--wheel-shadow); isolation: isolate; }
.year-wheel__cutoff-marker { position: absolute; z-index: 5; top: 2.5%; left: calc(50% - 1.5px); width: 3px; height: 47.5%; border-radius: 999px; background: var(--wheel-marker); box-shadow: 0 0 0 2px var(--surface); transform: rotate(calc(var(--cutoff-angle) + 165deg)); transform-origin: 50% 100%; }
.year-wheel__cutoff-marker::before { position: absolute; top: -4px; left: -3px; width: 9px; height: 9px; border: 2px solid var(--surface); border-radius: 50%; background: var(--wheel-marker); content: ""; }
.year-wheel__zones { position: absolute; z-index: 6; inset: 0; width: 100%; height: 100%; overflow: visible; }
.year-wheel__zones a { outline: 0; }
.year-wheel__zone-hit { fill: none; stroke: var(--ink); stroke-width: 24; stroke-opacity: .001; cursor: pointer; pointer-events: stroke; }
.year-wheel__zones a:hover .year-wheel__zone-hit { stroke-opacity: .1; }
.year-wheel__zones a:focus-visible .year-wheel__zone-hit { stroke: var(--focus-ring); stroke-opacity: .34; }
.year-wheel__zones a.is-active .year-wheel__zone-hit { stroke-opacity: .16; }
.year-wheel__day-anchor { position: absolute; z-index: 8; inset: 0; transform: rotate(var(--day-angle)); pointer-events: none; }
.year-wheel__day-label { position: absolute; top: -5px; left: 50%; display: grid; width: 30px; height: 30px; place-items: center; border: 2px solid currentColor; border-radius: 50%; background: var(--wheel-label-bg); box-shadow: var(--wheel-label-shadow); font-variant-numeric: tabular-nums; font-size: .9rem; font-weight: 900; line-height: 1; transform: translate(-50%, -50%) rotate(calc(0deg - var(--day-angle))); }
.year-wheel__day-label--adult { color: var(--adult-strong); }
.year-wheel--boundary-near-edge .year-wheel__day-anchor { inset: auto; bottom: -15px; width: 30px; height: 30px; transform: none; }
.year-wheel--boundary-near-edge .year-wheel__day-anchor--start { left: calc(50% - 34px); }
.year-wheel--boundary-near-edge .year-wheel__day-anchor--cutoff { left: calc(50% + 4px); }
.year-wheel--boundary-near-edge .year-wheel__day-label { position: static; transform: none; }
.year-wheel--overlapping-date-markers .year-wheel__day-anchor--start { left: calc(50% - 15px); }
.year-wheel__center { position: absolute; z-index: 5; inset: 27%; display: flex; min-width: 0; align-items: center; justify-content: center; flex-direction: column; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); text-align: center; box-shadow: var(--wheel-center-shadow); }
.year-wheel__center span, .year-wheel__center small { max-width: 90%; overflow: hidden; color: var(--muted); font-size: clamp(.58rem, 1.7vw, .72rem); font-weight: 800; letter-spacing: .08em; line-height: 1.25; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.year-wheel__center strong { margin: 2px 0 4px; color: var(--ink); font-size: clamp(2rem, 7vw, 3.4rem); letter-spacing: -.055em; line-height: 1; }
.year-wheel__month-label { position: absolute; z-index: 4; min-width: 39px; padding: 3px 5px; border: 1px solid transparent; border-radius: 999px; background: transparent; color: var(--wheel-label-text); font-size: clamp(.66rem, 2vw, .79rem); font-weight: 850; line-height: 1.25; text-align: center; text-transform: uppercase; transform: translate(-50%, -50%); }
.year-wheel__month-label--1 { top: 87%; left: 50%; }
.year-wheel__month-label--2 { top: 82%; left: 31.5%; }
.year-wheel__month-label--3 { top: 68.5%; left: 18%; }
.year-wheel__month-label--4 { top: 50%; left: 13%; }
.year-wheel__month-label--5 { top: 31.5%; left: 18%; }
.year-wheel__month-label--6 { top: 18%; left: 31.5%; }
.year-wheel__month-label--7 { top: 13%; left: 50%; }
.year-wheel__month-label--8 { top: 18%; left: 68.5%; }
.year-wheel__month-label--9 { top: 31.5%; left: 82%; }
.year-wheel__month-label--10 { top: 50%; left: 87%; }
.year-wheel__month-label--11 { top: 68.5%; left: 82%; }
.year-wheel__month-label--12 { top: 82%; left: 68.5%; }
.year-wheel-figure figcaption { max-width: 390px; margin: 32px auto 0; color: var(--muted); font-size: .78rem; line-height: 1.5; text-align: center; }
.year-zone-status { margin: 1px 0 0; color: var(--ink); font-weight: 800; }
.year-zone-ranges { display: grid; gap: 14px; }
.year-birth-ranges { min-width: 0; }
.year-birth-ranges__title { margin-bottom: 10px; color: var(--text-secondary); font-size: .8rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.year-birth-ranges__list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.year-birth-ranges__item { --range-active-ring: var(--line); --range-flash-ring: rgba(100, 113, 107, .25); display: grid; min-width: 0; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 11px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 16px; color: var(--text-secondary); background: var(--surface); line-height: 1.5; scroll-margin-top: 24px; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.year-birth-ranges__item--adult { --range-active-ring: var(--adult-border); --range-flash-ring: rgba(44, 119, 86, .3); border-color: var(--adult-border); background: var(--adult-soft); }
.year-birth-ranges__item--minor { --range-active-ring: var(--minor-border); --range-flash-ring: rgba(173, 71, 65, .3); border-color: var(--minor-border); background: var(--minor-soft); }
.year-birth-ranges__item strong { color: var(--ink); }
.year-birth-ranges__dot { width: 11px; height: 11px; border: 2px solid currentColor; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px var(--surface); }
.year-birth-ranges__item--adult .year-birth-ranges__dot { color: var(--adult-strong); }
.year-birth-ranges__item--minor .year-birth-ranges__dot { color: var(--minor-strong); }
.year-birth-ranges__item.is-active { border-color: var(--ink); box-shadow: 0 0 0 3px var(--range-active-ring); }
.year-birth-ranges__item.is-flashing { animation: year-birth-range-flash .7s ease-out; }
@keyframes year-birth-range-flash {
    0%, 100% { transform: scale(1); }
    45% { box-shadow: 0 0 0 8px var(--range-flash-ring); transform: scale(1.018); }
}
.year-zone-range { padding: 21px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.year-zone-range--adult { border-color: var(--adult-border); background: var(--adult-soft); }
.year-zone-range--minor { border-color: var(--minor-border); background: var(--minor-soft); }
.year-zone-range p { margin-bottom: 6px; color: var(--text-secondary); font-size: .74rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.year-zone-range strong { display: block; color: var(--ink); font-size: clamp(1.08rem, 2.5vw, 1.42rem); line-height: 1.3; }
.year-zone-range small { display: block; margin-top: 6px; color: var(--text-secondary); }
.year-zone-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; }
.year-zone-range--link { min-width: 0; text-decoration: none; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.year-zone-range--link:hover { border-color: var(--adult-strong); box-shadow: 0 10px 26px rgba(31, 101, 70, .12); transform: translateY(-2px); }
.year-zone-range--link:focus-visible { outline-offset: 3px; }
.year-zone-note { padding: 4px 2px 0; color: var(--muted); font-size: .84rem; }
.age-calculator-panel { max-width: 880px; padding: clamp(20px, 4vw, 34px); border: 1px solid var(--line); border-radius: 22px; background: var(--surface-muted); }
.birthdate-label { margin-bottom: 8px; color: var(--text-secondary); font-size: .84rem; font-weight: 800; }
.birthdate-field { display: flex; width: min(100%, 500px); overflow: hidden; border: 1px solid var(--control-border); border-radius: 15px; background: var(--surface); box-shadow: 0 2px 8px rgba(39, 51, 45, .04); transition: border-color .16s ease, box-shadow .16s ease; }
.birthdate-field:focus-within { border-color: var(--adult-strong); box-shadow: 0 0 0 3px var(--adult-border); }
.birthdate-field.has-group-error { border-color: var(--minor-strong); box-shadow: 0 0 0 3px var(--minor-border); }
.birthdate-inputs { display: flex; min-width: 0; flex: 1 1 auto; align-items: center; padding-left: 14px; cursor: text; }
.birthdate-segment { width: 3.4rem; min-width: 0; padding: 17px 2px; appearance: none; border: 0; border-radius: 7px; outline: 0; color: var(--ink); background: transparent; caret-color: var(--adult-strong); font: inherit; font-size: clamp(1.18rem, 3.2vw, 1.5rem); font-variant-numeric: tabular-nums; font-weight: 850; line-height: 1; text-align: center; }
.birthdate-segment--year { width: 5.5rem; }
.birthdate-segment::placeholder { color: var(--muted); opacity: .56; }
.birthdate-segment:focus { background: var(--control-hover-bg); }
.birthdate-segment.is-invalid { color: var(--minor-strong); background: var(--minor-soft); }
.birthdate-segment:disabled { opacity: 1; }
.birthdate-separator { flex: 0 0 auto; color: var(--muted); font-size: 1.35rem; font-weight: 850; transform: translateY(-.08em); }
.birthdate-clear { display: grid; width: 50px; min-height: 50px; flex: 0 0 50px; padding: 0; place-items: center; border: 0; border-left: 1px solid var(--line); color: var(--muted); background: transparent; cursor: pointer; font: inherit; font-size: 1.75rem; line-height: 1; touch-action: manipulation; }
.birthdate-clear:hover:not(:disabled) { color: var(--ink); background: var(--control-hover-bg); }
.birthdate-clear:focus-visible { position: relative; outline: 3px solid var(--focus-ring); outline-offset: -4px; }
.birthdate-clear:disabled { cursor: default; opacity: .3; }
.birthdate-error { min-height: 1.45em; max-width: 620px; margin: 8px 0 0; color: var(--minor-strong); font-size: .76rem; font-weight: 700; line-height: 1.45; }
.age-calculator-result { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.age-calculator-result[hidden] { display: none; }
.age-result-item { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.age-result-item--primary { border-color: var(--adult-border); background: var(--adult-soft); }
.age-result-item--primary.is-minor { border-color: var(--minor-border); background: var(--minor-soft); }
.age-result-item p { margin-bottom: 8px; color: var(--text-secondary); font-size: .72rem; font-weight: 800; letter-spacing: .045em; line-height: 1.35; text-transform: uppercase; }
.age-result-item strong { display: block; color: var(--ink); font-size: clamp(1.05rem, 2vw, 1.3rem); line-height: 1.35; }
.age-result-item small { display: block; margin-top: 5px; color: var(--text-secondary); font-size: .76rem; font-weight: 700; line-height: 1.4; }
.age-calculator-seo-copy, .age-calculator-noscript { max-width: 820px; margin: 24px 0 0; color: var(--text-secondary); font-size: .92rem; line-height: 1.65; }
.age-calculator-noscript { color: var(--minor-strong); font-weight: 700; }
.month-range-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.age-grid, .month-grid, .year-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.month-range-card { display: grid; min-width: 0; min-height: 92px; padding: 14px; place-items: center; border: 1px solid var(--line); border-radius: 17px; color: var(--ink); background: var(--surface); font-size: .94rem; font-weight: 800; line-height: 1.25; text-align: center; text-decoration: none; }
a.month-range-card--adult { border-color: var(--adult-border); background: var(--adult-soft); }
a.month-range-card--minor { border-color: var(--minor-border); background: var(--minor-soft); }
a.month-range-card--boundary { border-color: var(--card-border); background: linear-gradient(135deg, var(--adult-soft) 0 50%, var(--minor-soft) 50% 100%); }
a.month-range-card--adult:hover { border-color: var(--adult-strong); background: var(--adult-soft); }
a.month-range-card--minor:hover { border-color: var(--minor-strong); background: var(--minor-soft); }
a.month-range-card--boundary:hover { border-color: var(--ink); background: linear-gradient(135deg, var(--adult-soft) 0 50%, var(--minor-soft) 50% 100%); }
.month-range-card--unavailable { border-color: var(--control-border); color: var(--muted); background: var(--control-bg); cursor: default; }
.age-grid a, .year-grid a, .month-grid a { display: flex; min-height: 126px; padding: 18px; flex-direction: column; justify-content: flex-end; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); text-decoration: none; }
.age-grid a:hover, .year-grid a:hover, .month-grid a:hover { border-color: var(--adult-border); background: var(--adult-soft); }
.age-grid a.age-grid__item--adult, .month-grid a.month-grid__item--adult, .year-grid a.year-grid__item--adult { border-color: var(--adult-border); background: var(--adult-soft); }
.age-grid a.age-grid__item--minor, .month-grid a.month-grid__item--minor, .year-grid a.year-grid__item--minor { border-color: var(--minor-border); background: var(--minor-soft); }
.age-grid a.age-grid__item--boundary, .month-grid a.month-grid__item--boundary, .year-grid a.year-grid__item--boundary { border-color: var(--card-border); background: linear-gradient(135deg, var(--adult-soft) 0 50%, var(--minor-soft) 50% 100%); }
.age-grid a.age-grid__item--adult:hover, .month-grid a.month-grid__item--adult:hover, .year-grid a.year-grid__item--adult:hover { border-color: var(--adult-strong); background: var(--adult-soft); }
.age-grid a.age-grid__item--minor:hover, .month-grid a.month-grid__item--minor:hover, .year-grid a.year-grid__item--minor:hover { border-color: var(--minor-strong); background: var(--minor-soft); }
.age-grid a.age-grid__item--boundary:hover, .month-grid a.month-grid__item--boundary:hover, .year-grid a.year-grid__item--boundary:hover { border-color: var(--ink); background: linear-gradient(135deg, var(--adult-soft) 0 50%, var(--minor-soft) 50% 100%); }
.age-grid a { justify-content: center; }
.age-grid strong { color: var(--ink); font-size: 1.35rem; }
.age-grid small { margin-top: 5px; color: var(--muted); }
.year-grid strong { color: var(--ink); font-size: 2rem; letter-spacing: -.04em; }
.year-grid span, .month-grid small { color: var(--muted); }
.month-grid > a > span { align-self: flex-start; margin-bottom: auto; color: var(--adult-strong); font-size: .76rem; font-weight: 800; }
.month-grid > a.month-grid__item--minor > span { color: var(--minor-strong); }
.month-grid > a.month-grid__item--boundary > span { color: var(--ink); }
.month-grid strong { margin-bottom: 5px; color: var(--ink); font-size: 1.2rem; }
.calendar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 7px; }
.calendar__weekday { padding: 8px 4px; color: var(--muted); font-size: .72rem; font-weight: 800; text-align: center; text-transform: uppercase; }
.calendar__empty { min-height: 82px; }
.calendar__day { display: flex; min-height: 82px; padding: 10px; flex-direction: column; justify-content: space-between; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); text-decoration: none; }
.calendar__day--adult { border-color: var(--adult-border); background: var(--adult-soft); }
.calendar__day--minor { border-color: var(--minor-border); background: var(--minor-soft); }
.calendar__day--adult:hover { border-color: var(--adult-strong); background: var(--adult-soft); }
.calendar__day--minor:hover { border-color: var(--minor-strong); background: var(--minor-soft); }
.calendar__day strong { color: var(--ink); font-size: 1.25rem; }
.calendar__day span { color: var(--muted); font-size: .72rem; }
.link-grid a,
a.month-range-card,
.age-grid a,
.year-grid a,
.month-grid a,
.calendar__day,
.year-zone-range--link {
    position: relative;
    touch-action: manipulation;
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.link-grid a::after,
a.month-range-card::after,
.age-grid a::after,
.year-grid a::after,
.month-grid a::after,
.calendar__day::after,
.year-zone-range--link::after {
    position: absolute;
    top: 12px;
    right: 12px;
    display: grid;
    width: 27px;
    height: 27px;
    place-items: center;
    border: 1px solid var(--control-border);
    border-radius: 50%;
    color: var(--link);
    background: var(--control-bg);
    content: "\2192";
    font-size: .9rem;
    font-weight: 850;
    line-height: 1;
    transition: border-color .16s ease, color .16s ease, background-color .16s ease, transform .16s ease;
}
.date-navigation__link--previous::after { content: "\2190"; }
.link-grid a:focus-visible,
a.month-range-card:focus-visible,
.age-grid a:focus-visible,
.year-grid a:focus-visible,
.month-grid a:focus-visible,
.calendar__day:focus-visible,
.year-zone-range--link:focus-visible { outline-offset: 3px; box-shadow: 0 0 0 1px var(--focus-ring); }
.link-grid a:active,
a.month-range-card:active,
.age-grid a:active,
.year-grid a:active,
.month-grid a:active,
.calendar__day:active,
.year-zone-range--link:active { box-shadow: inset 0 2px 7px rgba(29, 42, 37, .16); transform: translateY(1px); }
.link-grid__static { position: relative; border-style: dashed; cursor: default; }
.block-state { display: inline-flex; width: fit-content; margin-top: 10px; padding: 4px 7px; align-items: center; border: 1px solid var(--control-border); border-radius: 999px; color: var(--muted); background: var(--control-bg); font-size: .62rem; font-weight: 800; letter-spacing: .04em; line-height: 1; text-transform: uppercase; }
.month-range-card--unavailable { border-style: dashed; }

@media (hover: hover) {
    a.birth-range-month:hover { box-shadow: inset 0 0 0 1px var(--surface); }
    .link-grid a:hover,
    a.month-range-card:hover,
    .age-grid a:hover,
    .year-grid a:hover,
    .month-grid a:hover,
    .calendar__day:hover,
    .year-zone-range--link:hover { box-shadow: 0 10px 26px rgba(31, 101, 70, .12); transform: translateY(-2px); }
    .link-grid a:hover::after,
    a.month-range-card:hover::after,
    .age-grid a:hover::after,
    .year-grid a:hover::after,
    .month-grid a:hover::after,
    .calendar__day:hover::after,
    .year-zone-range--link:hover::after { border-color: var(--link-hover); color: var(--link-hover); background: var(--surface); transform: translateX(2px); }
    .date-navigation__link--previous:hover::after { transform: translateX(-2px); }
}
.majority-legend { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.majority-legend__items { display: flex; flex-wrap: wrap; gap: 10px 24px; color: var(--text-secondary); font-size: .84rem; }
.majority-legend__item { display: inline-flex; align-items: center; gap: 8px; }
.majority-legend__swatch { display: inline-block; width: 28px; height: 12px; flex: 0 0 28px; border: 1px solid transparent; border-radius: 999px; }
.majority-legend__swatch--adult { border-color: var(--adult-border); background: var(--adult-soft); }
.majority-legend__swatch--minor { border-color: var(--minor-border); background: var(--minor-soft); }
.majority-legend__swatch--boundary { border-color: var(--card-border); background: linear-gradient(135deg, var(--adult-soft) 0 50%, var(--minor-soft) 50% 100%); }
.majority-legend__swatch--unavailable { border-color: var(--control-border); background: var(--control-bg); }
.majority-legend__note { margin: 9px 0 0; color: var(--muted); font-size: .78rem; }
.error-card { max-width: 780px; }
.site-footer { padding: 42px 0 52px; color: var(--muted); font-size: .88rem; text-align: center; }
.metrics-pixel { position: absolute; left: -9999px; }

@media (max-width: 820px) {
    .intro-topline { align-items: flex-start; flex-wrap: wrap; gap: 16px; }
    .intro-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; width: 100%; gap: 12px 14px; }
    .theme-switcher { grid-column: 1 / -1; width: 100%; min-width: 0; }
    .timezone-control select { width: 100%; }
    .intro-tools .age-seal { grid-column: 2; grid-row: 2; }
    .hero-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .year-zone-layout { grid-template-columns: 1fr; }
    .year-zone-card { width: min(100%, 430px); margin: 0 auto; }
    .age-calculator-result { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    body { font-size: 16px; }
    .site-shell { width: min(calc(100% - 20px), 1080px); }
    .page-intro { padding-top: 38px; }
    .age-seal { width: 52px; height: 52px; flex-basis: 52px; font-size: .95rem; }
    .page-intro h1 { font-size: clamp(2rem, 10vw, 3rem); }
    .section-card { padding: 23px 18px; border-radius: 21px; }
    .birthday-table-section { padding-right: 6px; padding-left: 6px; }
    .birthday-table-section .section-heading { padding-right: 12px; padding-left: 12px; }
    .birthday-history-table { min-width: 0; table-layout: fixed; font-size: .82rem; line-height: 1.32; }
    .birthday-history-table caption { padding: 12px 8px; }
    .birthday-history-table th, .birthday-history-table td { padding: 10px 6px; overflow-wrap: anywhere; }
    .birthday-history-table thead th { hyphens: auto; letter-spacing: .02em; white-space: normal; }
    .date-navigation { gap: 8px; }
    .date-navigation a { min-width: 0; min-height: 94px; padding: 14px 10px; border-radius: 13px; }
    .date-navigation span { font-size: .66rem; line-height: 1.25; }
    .date-navigation strong { font-size: .9rem; line-height: 1.2; }
    .birth-date-related-grid { gap: 8px; }
    .birth-date-related-grid a, .birth-date-related-grid .link-grid__static { min-width: 0; min-height: 88px; padding: 10px 4px; align-items: center; justify-content: center; border-radius: 13px; text-align: center; }
    .birth-date-related-grid span { font-size: .58rem; letter-spacing: .02em; line-height: 1.2; overflow-wrap: anywhere; }
    .birth-date-related-grid strong { margin-top: 6px; font-size: .78rem; line-height: 1.15; overflow-wrap: anywhere; }
    .birth-date-related-grid .block-state { margin-top: 6px; padding: 3px 5px; font-size: .48rem; }
    .hero-facts { grid-template-columns: 1fr; }
    .hero-facts--compact { gap: 7px; }
    .hero-facts--compact .hero-fact { padding: 11px 6px; border-radius: 13px; text-align: center; }
    .hero-facts--compact .hero-fact p { margin-bottom: 5px; font-size: .61rem; letter-spacing: .02em; line-height: 1.25; }
    .hero-facts--compact .hero-fact strong { font-size: .84rem; line-height: 1.2; }
    .fact-grid { grid-template-columns: 1fr 1fr; }
    .birth-range-visual { padding: 17px 14px; }
    .birth-range-years { gap: 7px; }
    .birth-range-years div { padding: 13px 11px; }
    .birth-range-years span { font-size: .6rem; letter-spacing: .03em; }
    .birth-range-track { margin-right: 5px; margin-left: 5px; }
    .birth-range-months { display: none; }
    .birth-range-point > span { font-size: .68rem; }
    .birth-range-legend { align-items: flex-start; flex-direction: column; gap: 7px; }
    .age-selection { grid-template-columns: 1fr; align-items: stretch; gap: 18px; }
    .year-zone-card { padding: 18px; }
    .year-wheel { width: min(100%, 340px); border-width: 6px; }
    .year-birth-ranges__item { padding: 15px 14px; font-size: .88rem; }
    .age-calculator-panel { padding: 18px 14px; }
    .year-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .year-grid a { min-width: 0; min-height: 88px; padding: 10px 4px; align-items: center; justify-content: center; border-radius: 13px; text-align: center; }
    .year-grid strong { font-size: 1.35rem; line-height: 1.05; }
    .year-grid span { margin-top: 6px; font-size: .64rem; line-height: 1.25; }
    .age-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .age-grid a { min-width: 0; min-height: 88px; padding: 10px 4px; align-items: center; justify-content: center; border-radius: 13px; text-align: center; }
    .age-grid strong { font-size: .82rem; line-height: 1.15; }
    .age-grid small { display: none; }
    .month-range-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .month-range-card { min-height: 76px; padding: 9px 4px; border-radius: 13px; font-size: .72rem; line-height: 1.2; }
    .month-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .month-grid a { min-width: 0; min-height: 100px; padding: 9px 4px; align-items: center; justify-content: center; border-radius: 13px; text-align: center; }
    .month-grid > a > span { align-self: center; margin-bottom: 4px; font-size: .64rem; line-height: 1; }
    .month-grid strong { margin-bottom: 4px; font-size: .82rem; line-height: 1.15; }
    .month-grid small { font-size: .58rem; line-height: 1.25; }
    .calendar { gap: 4px; }
    .calendar__day, .calendar__empty { min-height: 62px; }
    .calendar__day { padding: 7px; border-radius: 9px; }
    .calendar__day strong { font-size: 1rem; }
    .link-grid a::after, a.month-range-card::after, .age-grid a::after, .year-grid a::after, .month-grid a::after, .calendar__day::after, .year-zone-range--link::after { top: 8px; right: 8px; width: 22px; height: 22px; font-size: .75rem; }
    .calendar__day::after { top: 7px; right: 3px; width: 12px; height: 18px; border: 0; background: transparent; font-size: 1rem; }
    .majority-legend__items { align-items: flex-start; flex-direction: column; gap: 7px; }
}

@media (max-width: 390px) {
    .fact-grid { grid-template-columns: 1fr; }
    .birthday-table-section { padding-right: 4px; padding-left: 4px; }
    .birthday-table-section .section-heading { padding-right: 10px; padding-left: 10px; }
    .birthday-history-table { font-size: .74rem; line-height: 1.25; }
    .birthday-history-table caption { padding: 9px 5px; font-size: .75rem; }
    .birthday-history-table th, .birthday-history-table td { padding: 7px 3px; }
    .birthday-history-table thead th { font-size: .58rem; letter-spacing: 0; }
    .date-navigation a { min-height: 86px; padding: 11px 6px; }
    .date-navigation span { font-size: .58rem; letter-spacing: .02em; }
    .date-navigation strong { font-size: .8rem; }
    .birth-date-related-grid a, .birth-date-related-grid .link-grid__static { min-height: 82px; padding: 8px 2px; }
    .birth-date-related-grid span { font-size: .54rem; letter-spacing: 0; }
    .birth-date-related-grid strong { font-size: .72rem; }
    .birthdate-inputs { padding-left: 6px; }
    .birthdate-segment { width: 2.55rem; padding: 16px 1px; font-size: 1.16rem; }
    .birthdate-segment--year { width: 4.4rem; }
    .birthdate-separator { font-size: 1.14rem; }
    .birthdate-clear { width: 44px; min-height: 48px; flex-basis: 44px; }
    .age-result-item { padding: 13px; }
    .year-wheel__day-label { width: 24px; height: 24px; font-size: .7rem; }
    .year-wheel__month-label { min-width: 34px; padding: 2px 4px; font-size: .62rem; }
    .year-wheel__center strong { font-size: 1.9rem; }
    .calendar__day span { display: none; }
}

@media (scripting: none) {
    .theme-switcher { display: none; }
    .timezone-control select { opacity: 1; }
    .intro-tools .age-seal { grid-row: auto; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (forced-colors: active) {
    .age-seal, .section-card, .hero-fact, .status-card, .calendar__day { forced-color-adjust: auto; }
    .birthdate-field:focus-within { border-color: Highlight; box-shadow: 0 0 0 3px Highlight; }
    .birthdate-field.has-group-error, .birthdate-segment.is-invalid { border-color: LinkText; outline: 2px solid LinkText; }
    .year-wheel, .year-zone-range { forced-color-adjust: none; }
    .year-wheel__day-label, .year-wheel__month-label { border-color: CanvasText; color: CanvasText; background: Canvas; forced-color-adjust: none; }
    .year-birth-ranges__item.is-active { outline: 3px solid Highlight; }
}

@media print {
    :root { color-scheme: light; --paper: #fff; --surface: #fff; --surface-muted: #fff; --page-background: #fff; --card-bg: #fff; --ink: #000; --muted: #333; --text-secondary: #222; --line: #999; --shadow: none; }
    .intro-tools, .breadcrumbs, .site-footer, .metrics-pixel { display: none !important; }
    .site-shell { width: 100%; }
    .page-intro { padding: 20px 0; }
    .section-card { break-inside: avoid; box-shadow: none; }
    .birthdate-clear { display: none; }
    .link-grid a::after, a.month-range-card::after, .age-grid a::after, .year-grid a::after, .month-grid a::after, .calendar__day::after, .year-zone-range--link::after { display: none; }
    .age-calculator-panel, .age-calculator-result { break-inside: avoid; }
    .year-wheel, .year-zone-card, .year-zone-range, .year-birth-ranges__item { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    a { color: #000; text-decoration: none; }
}
