:root { --paper:#f8f6ef; --ink:#22352c; --muted:#59645d; --green:#355946; --line:#d9dfd4; --ochre:#aa672b; --white:#fffefa; --radius:16px; }
.comparison-timeline { list-style:none; padding:0 0 0 22px; border-left:2px solid var(--line); }
.comparison-timeline li { margin:20px 0; position:relative; }
.timeline-page p,.timeline-page li { overflow-wrap:anywhere; }
.comparison-timeline li::before { content:""; position:absolute; left:-29px; top:30px; width:12px; height:12px; border-radius:50%; background:var(--green); }
.coordinate-map { display:block; width:100%; height:auto; margin:24px 0; }
.coordinate-map text { font-size:12px; fill:var(--ink); }
.coordinate-map a:focus-visible circle { stroke:var(--ochre); stroke-width:5px; }
.period-navigation { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; margin:24px 0; }
.country-choice { display:inline-flex; align-items:center; gap:8px; margin:8px 16px 8px 0; }
.country-choice input { min-height:20px; width:20px; }
.filters fieldset { min-width:0; max-width:100%; border:1px solid var(--line); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.65; }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:4px; }
button,input,select { font:inherit; }
button,a,input,select { touch-action:manipulation; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid #a85d1d; outline-offset:4px; }
a:hover { color:var(--green); }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { line-height:1.15; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; }
h1 { font-size:clamp(2.6rem,5.5vw,5rem); letter-spacing:-.045em; }
h2 { font-size:clamp(1.8rem,3vw,2.7rem); letter-spacing:-.035em; }
h3 { font-size:1.2rem; }
em { font-weight:400; color:var(--green); }
.shell { width:min(1180px,calc(100% - 64px)); margin:auto; }
.site-header { border-bottom:1px solid var(--line); }
.navigation { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:24px 0; }
.brand { display:inline-flex; align-items:center; gap:12px; text-decoration:none; font-size:1.1rem; font-weight:650; letter-spacing:-.035em; }
.brand-mark { display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--green); border-radius:50%; font-family:Georgia,serif; font-size:1.3rem; font-weight:400; }
.nav-link { text-decoration:none; font-size:.9rem; }
.skip-link { position:absolute; left:16px; top:-100px; background:var(--white); padding:12px; z-index:10; }
.skip-link:focus { top:12px; }
.hero { display:grid; grid-template-columns:1.1fr .9fr; gap:5rem; align-items:center; padding:80px 0 76px; }
.eyebrow { font-size:.72rem; font-weight:650; letter-spacing:.13em; text-transform:uppercase; color:var(--green); margin-bottom:20px; }
.small-line { display:inline-block; width:28px; height:1px; background:var(--green); vertical-align:middle; margin-right:8px; }
.hero h1 { margin-bottom:28px; }
.hero-copy { font-size:1.04rem; color:var(--muted); max-width:460px; margin-bottom:28px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:22px; background:var(--green); color:white; text-decoration:none; border:1px solid var(--green); padding:13px 21px; border-radius:7px; font-size:.9rem; font-weight:600; min-height:48px; cursor:pointer; }
.button:hover { background:#244331; color:white; }
.hero-note { font-size:.77rem; color:var(--muted); margin:17px 0 0; }
.atlas { background:#edf0e7; border:1px solid var(--line); border-radius:var(--radius); padding:26px 28px; overflow:hidden; transform:rotate(2deg); }
.atlas-caption { font-size:.61rem; letter-spacing:.18em; color:var(--muted); }
.atlas svg { width:100%; display:block; padding:8px; stroke:#889883; fill:none; stroke-width:.7; }
.atlas .atlas-dot { fill:var(--ochre); stroke:var(--paper); stroke-width:3; }
.atlas-foot { display:flex; justify-content:space-between; gap:1rem; font-size:.65rem; color:var(--muted); border-top:1px solid #cfd7c9; padding-top:16px; }
.country-section { padding:12px 0 64px; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; margin-bottom:30px; }
.section-heading h2 { margin-bottom:0; }
.section-heading>p { font-size:.84rem; color:var(--muted); margin:0; }
.country-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.country-card { display:flex; flex-direction:column; position:relative; padding:25px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); text-decoration:none; min-height:228px; transition:border-color .18s,transform .18s; }
.country-card:hover { border-color:var(--green); transform:translateY(-3px); }
.country-card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:27px; }
.country-code { font-size:.75rem; letter-spacing:.1em; border:1px solid var(--line); border-radius:50%; width:40px; height:40px; display:grid; place-items:center; background:#eff2e9; }
.country-card[data-country=TR] .country-code { background:#f4e9df; }
.country-card[data-country=JP] .country-code { background:#f1e8e5; }
.country-card[data-country=US] .country-code { background:#e9edf0; }
.country-card h3 { font-family:Georgia,serif; font-size:clamp(1.2rem,2vw,1.65rem); font-weight:400; letter-spacing:-.02em; margin-bottom:8px; overflow-wrap:anywhere; min-height:2.3em; }
.country-card p { font-size:.79rem; color:var(--muted); margin-bottom:22px; }
.country-card p span { font-weight:700; color:var(--green); }
.arrow { font-size:1.15rem; color:var(--green); }
.card-footer { font-size:.73rem; color:var(--green); display:flex; justify-content:space-between; padding-top:15px; border-top:1px solid var(--line); margin-top:auto; }
.reading-note { display:flex; gap:24px; align-items:flex-start; padding:30px 0 58px; border-top:1px solid var(--line); }
.reading-note h2 { font-size:1.8rem; margin-bottom:12px; }
.reading-note p { font-size:.9rem; color:var(--muted); max-width:620px; margin-bottom:0; }
.note-icon { font-size:2rem; color:var(--green); }
.site-footer { border-top:1px solid var(--line); }
.footer-inner { display:flex; justify-content:space-between; gap:1rem; padding:24px 0; font-size:.74rem; color:var(--muted); }
.footer-inner p { margin:0; }
.footer-inner p span { margin:0 10px; }
.breadcrumb { display:flex; gap:13px; font-size:.78rem; color:var(--muted); padding:32px 0; }
.breadcrumb a { text-decoration:none; }
.page-heading { max-width:750px; padding:20px 0 32px; }
.page-heading h1 { margin-bottom:20px; }
.page-heading>p:last-child { color:var(--muted); max-width:590px; }
.filters { background:#eef1e8; border:1px solid var(--line); padding:28px; border-radius:var(--radius); }
.filters h2 { font-family:inherit; font-size:1rem; font-weight:600; letter-spacing:0; margin-bottom:8px; }
.filters p { font-size:.8rem; color:var(--muted); margin-bottom:24px; }
.filter-grid { display:grid; grid-template-columns:.8fr 1fr 1fr 1fr; gap:16px; }
label { display:block; font-size:.76rem; font-weight:600; margin-bottom:7px; }
input,select { width:100%; min-width:0; min-height:46px; border:1px solid #aebba8; border-radius:6px; background:var(--white); color:var(--ink); padding:10px 12px; }
input:hover,select:hover { border-color:var(--green); }
.event-card h3,.article-heading h1,.claim-value,.source-identity { overflow-wrap:anywhere; }
[aria-disabled=true] { opacity:.7; cursor:wait; }
.filter-actions { display:flex; align-items:center; gap:22px; margin-top:22px; }
.text-link { display:inline-block; font-size:.82rem; font-weight:600; min-height:30px; }
.timeline-section { padding:48px 0 64px; }
.results-heading { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); padding-bottom:20px; margin-bottom:32px; gap:1rem; }
.results-heading h2 { font-size:1.6rem; margin-bottom:0; }
.results-heading p { margin:0; font-size:.8rem; color:var(--muted); }
.timeline { list-style:none; padding:0; margin:0; }
.timeline>li { display:grid; grid-template-columns:116px 1fr; gap:30px; position:relative; padding-bottom:24px; }
.timeline>li:before { content:""; position:absolute; left:116px; top:10px; bottom:-10px; border-left:1px solid #ccd6c6; }
.timeline>li:last-child:before { bottom:45px; }
.timeline>li:after { content:""; position:absolute; left:111px; top:15px; width:11px; height:11px; background:var(--green); border:3px solid var(--paper); border-radius:50%; }
.timeline-date { display:flex; flex-direction:column; padding-top:2px; }
.timeline-date strong { font-family:Georgia,serif; font-size:1.8rem; font-weight:400; line-height:1.2; }
.timeline-date span { font-size:.73rem; color:var(--muted); margin-top:5px; }
.event-card { border:1px solid var(--line); border-radius:12px; background:var(--white); padding:25px 28px; min-width:0; }
.event-card .eyebrow { margin-bottom:10px; }
.event-card h3 { font-family:Georgia,serif; font-size:1.7rem; font-weight:400; letter-spacing:-.02em; margin-bottom:13px; }
.event-card h3 a { text-decoration:none; }
.event-summary { font-size:.9rem; color:var(--muted); overflow-wrap:anywhere; }
.pagination { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:24px; font-size:.8rem; margin-top:24px; }
.page-link { padding:10px 17px; border:1px solid var(--line); border-radius:7px; text-decoration:none; background:var(--white); min-height:44px; }
.empty-state { padding:52px 24px; background:#eff1e9; border:1px dashed #afbeaa; border-radius:var(--radius); text-align:center; }
.empty-state h3 { font-family:Georgia,serif; font-weight:400; font-size:1.7rem; margin-bottom:13px; }
.empty-state p { font-size:.88rem; color:var(--muted); max-width:520px; margin:0 auto 12px; }
.empty-icon { font-size:2.2rem; display:block; color:var(--green); margin-bottom:12px; }
.article-shell { max-width:900px; }
.article-heading { padding:20px 0 30px; }
.article-heading h1 { font-size:clamp(2.2rem,4.8vw,4rem); margin-bottom:24px; overflow-wrap:anywhere; }
.article-lead { font-size:1.1rem; color:var(--muted); max-width:740px; white-space:pre-wrap; overflow-wrap:anywhere; }
.publication-note { display:inline-flex; gap:9px; font-size:.74rem; color:var(--green); align-items:center; }
.publication-note>span { font-size:.5rem; }
.event-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:25px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:0; }
.event-facts dt { font-size:.71rem; color:var(--muted); margin-bottom:7px; }
.event-facts dd { margin:0; font-weight:500; overflow-wrap:anywhere; }
.article-body { padding:40px 0; }
.article-body h2,.context-note h2,.country-relations h2 { font-size:1.7rem; }
.prose { font-size:1.01rem; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
.context-note { background:#eaf0e3; border-left:3px solid var(--green); border-radius:0 12px 12px 0; padding:28px 30px; margin:0 0 32px; }
.context-note .eyebrow { margin-bottom:10px; }
.country-relations { padding:12px 0 26px; }
.country-relations>div { padding:12px 0; border-top:1px solid var(--line); }
.country-relations p { font-size:.85rem; color:var(--muted); margin:8px 0 0; overflow-wrap:anywhere; }
.sources-section { border-top:1px solid var(--line); padding:36px 0 64px; }
.sources-section>h2 { margin-bottom:16px; }
.source-explanation { color:var(--muted); font-size:.88rem; max-width:740px; margin-bottom:28px; }
.claim-card { border:1px solid var(--line); border-radius:12px; background:var(--white); padding:24px 28px; margin-bottom:18px; }
.claim-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.claim-heading h3 { font-size:1rem; margin-bottom:0; }
.status-badge { font-size:.68rem; padding:5px 10px; background:#f2ecdf; border-radius:6px; color:#704d24; }
.status-badge[data-status=CORROBORATED] { background:#e6efe0; color:#345234; }
.status-badge[data-status=CONFLICTING] { background:#f6e9e1; color:#8a3b20; }
.claim-value { font-size:.85rem; color:var(--muted); margin:10px 0 20px; overflow-wrap:anywhere; }
.evidence-list { list-style:none; margin:0; padding:0; }
.evidence-list>li { border-top:1px solid var(--line); padding:19px 0 6px; overflow-wrap:anywhere; }
.source-labels { display:flex; gap:8px; flex-wrap:wrap; font-size:.66rem; color:var(--muted); margin-bottom:10px; }
.source-labels>span { border:1px solid var(--line); border-radius:4px; padding:2px 6px; }
.source-identity { font-size:.8rem; margin-bottom:7px; }
.document-id { font-size:.73rem; color:var(--muted); }
blockquote { margin:12px 0 14px; padding:8px 0 8px 16px; border-left:2px solid #9faf94; font-family:Georgia,serif; font-size:1rem; line-height:1.7; white-space:pre-wrap; }
.source-caution,.source-empty { font-size:.78rem; color:#704d24; }
.source-date { font-size:.68rem; color:var(--muted); margin:9px 0; }
.error-page { padding:100px 0 130px; max-width:720px; }
.error-page h1 { font-size:3rem; }
.error-page>p { color:var(--muted); }
.error-page .button { margin-top:20px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:900px) {
    .hero { gap:2.5rem; padding:56px 0; }
    .country-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .atlas { padding:22px; }
    .hero h1 { font-size:clamp(2.6rem,6vw,4rem); }
}
@media(max-width:640px) {
    .shell { width:calc(100% - 36px); }
    .navigation { padding:17px 0; }
    .brand { font-size:.93rem; gap:8px; }
    .brand-mark { width:30px; height:30px; }
    .nav-link { font-size:.73rem; }
    .hero { grid-template-columns:1fr; padding:40px 0; gap:24px; }
    .hero h1 { font-size:3.1rem; }
    .hero-copy { font-size:.93rem; }
    .atlas { max-width:350px; width:100%; margin:10px auto; }
    .atlas svg { height:220px; }
    .section-heading { display:block; }
    .section-heading>p { margin-top:16px; }
    .section-heading>p br { display:none; }
    .country-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .country-card { padding:19px; min-height:211px; }
    .country-card h3 { font-size:1.25rem; }
    .country-card-top { margin-bottom:22px; }
    .country-card p { font-size:.7rem; }
    .card-footer { font-size:.65rem; }
    .reading-note { gap:16px; }
    .footer-inner { flex-direction:column; gap:10px; }
    .page-heading { padding-top:8px; }
    .filters { padding:20px; }
    .filter-grid { gap:12px; }
    .filters input,.filters select { padding:9px; font-size:.85rem; }
    .filter-actions { gap:15px; flex-wrap:wrap; }
    .timeline>li { grid-template-columns:62px 1fr; gap:16px; }
    .timeline>li:before { left:62px; }
    .timeline>li:after { left:57px; }
    .timeline-date strong { font-size:1.3rem; }
    .event-card { padding:20px; }
    .event-card h3 { font-size:1.35rem; }
    .event-summary { font-size:.84rem; }
    .results-heading { align-items:flex-start; }
    .results-heading h2 { font-size:1.4rem; }
    .results-heading p { font-size:.74rem; text-align:right; }
    .event-facts { grid-template-columns:1fr; gap:17px; }
    .event-facts>div { display:grid; grid-template-columns:110px 1fr; gap:12px; }
    .event-facts dt { margin:0; }
    .context-note { padding:23px; }
    .claim-card { padding:21px; }
    .article-lead { font-size:.98rem; }
    .prose { font-size:.94rem; }
    .error-page { padding:70px 0; }
    .error-page h1 { font-size:2.3rem; }
}
@media(prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    .country-card { transition:none; }
    .country-card:hover { transform:none; }
}
