/* Chinese Empire-only theme: keep existing nations unchanged. */
.ce-theme { --color-bg-dark:#130b0d; --color-bg-mid:#241315; --color-gold:#e1bd77; --color-gold-dim:#8c6142; color:#eee6dc; background:#130b0d; }
.ce-theme main { overflow:clip; }
.ce-theme .section { scroll-margin-top:80px; }
.ce-theme .section-title { font-size:clamp(1.6rem,4vw,3rem); overflow-wrap:anywhere; }
.ce-section-label { display:block; margin-top:12px; font:400 .95rem var(--font-jp); letter-spacing:.18em; color:#bcb1a3; }
.ce-hero { min-height:100svh; isolation:isolate; }
.ce-theme .hero-content { width:100%; padding:0 6%; }
.ce-kicker { font: .72rem var(--font-en); letter-spacing:.23em; color:#c9bba5; margin-bottom:30px; }
.ce-hero-flag { display:block; width:min(360px,65vw); height:auto; margin:0 auto 32px; border:1px solid #b28349; box-shadow:0 18px 70px #0008; }
.ce-hero .jp-title { font:400 clamp(2.6rem,7vw,5rem) var(--font-jp); letter-spacing:.18em; }
.ce-hero .en-title { font-size:clamp(1.1rem,3vw,2.3rem); color:var(--color-gold); margin:12px 0 24px; }
.ce-hero .subtitle { border-block:1px solid #b2834980; padding:14px 8px; font-size:clamp(.95rem,2vw,1.2rem); }
.ce-affiliation { margin-top:22px; color:#c2b19e; font-size:.85rem; }
.ce-tinted { background:linear-gradient(120deg,#291316,#150c10); border-block:1px solid #c99b5226; }
.ce-theme .info-table-wrapper,.ce-theme .info-visuals { min-width:0; flex:1 1 340px; }
.ce-theme .info-table-wrapper { padding:24px; }
.ce-theme .info-table th { width:30%; letter-spacing:0; }
.ce-theme .visual-card { margin:0; border-color:#8c614266; padding:30px; }
.ce-theme .nation-flag { display:block; width:360px; max-width:100%; height:auto; margin:auto; }
.ce-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.ce-military-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ce-card { min-width:0; padding:36px; background:linear-gradient(140deg,#2b171b,#160e12); border:1px solid #8c614277; border-top:2px solid var(--color-gold-dim); }
.ce-card h3 { color:var(--color-gold); font:400 clamp(1.15rem,2vw,1.5rem) var(--font-jp); letter-spacing:.05em; margin-bottom:18px; }
.ce-card p+p,.ce-prose p+p { margin-top:18px; }
.ce-card ul { padding-left:1.3em; }
.ce-card li+li { margin-top:10px; }
.ce-card a { color:#e8cd92; text-decoration:underline; text-underline-offset:4px; }
.ce-small-label { color:#c7b397; font-size:.8rem; letter-spacing:.12em; margin-bottom:22px; }
.ce-intro { text-align:center; max-width:800px; margin:0 auto 40px; font-size:1.15rem; }
.ce-theme .large-text-box p { text-align:left; font-size:1.05rem; }
.ce-theme .large-text-box p:last-child { margin-bottom:0; }
.ce-history { border-left:1px solid var(--color-gold-dim); padding-left:30px; display:grid; gap:30px; }
.ce-theme blockquote { margin:22px 0; padding:20px 24px; border-left:3px solid var(--color-gold); background:#d8a3560b; }
.ce-theme .ce-manifesto { font-size:clamp(1.25rem,3vw,2rem); max-width:960px; margin:0 auto 45px; line-height:2; }
.ce-prose { max-width:900px; margin:auto; }
.ce-theme .ce-criticism { margin-top:32px; }
.ce-theme cite { display:block; color:#c7b397; font-size:.85rem; font-style:normal; margin-top:12px; }
.ce-theme .mobile-nav { height:100dvh; overflow-y:auto; padding:90px 20px 35px; align-items:safe center; }
.ce-theme .mobile-nav li { margin:8px 0; }
.ce-theme a:focus-visible,.ce-theme button:focus-visible { outline:2px solid var(--color-gold); outline-offset:5px; }
@media(max-width:768px) { .ce-theme .section { padding:80px 0; } .ce-theme .section-title { margin-bottom:40px; } .ce-grid,.ce-military-grid { grid-template-columns:1fr; } .ce-card { padding:26px 22px; } .ce-theme .large-text-box { padding:30px 22px; } .ce-theme .info-table-wrapper { padding:10px; } .ce-theme .info-table th,.ce-theme .info-table td { padding:13px 8px; font-size:.88rem; } .ce-history { padding-left:15px; } .ce-theme .footer-btn { margin:6px; } }


/* The shared nation.js owns entrances, reveals and parallax. Overscan keeps
   the moving images covering their sections over the full tween range. */
.ce-hero .hero-bg {
    top:-50%; left:0; width:100%; height:150%;
    filter:brightness(.6) contrast(1.08);
    background-position:65% center;
}
.ce-theme .summary-section { overflow:hidden; }
.ce-theme .summary-bg { top:-30%; height:140%; filter:brightness(.35); }
.ce-theme .summary-section > .container { z-index:2; }
.ce-theme .ce-map { display:block; width:278px; max-width:100%; height:auto; margin:auto; }
.ce-military-card { padding:0; overflow:hidden; }
.ce-military-image { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; transition:transform .5s ease; }
.ce-military-card:hover .ce-military-image { transform:scale(1.03); }
.ce-military-copy { position:relative; padding:28px; }
.ce-theme .ce-military-card { padding:0; }
@media(max-width:768px) { .ce-military-copy { padding:24px 22px; } }

/* Space for dense setting text without nesting reveal animations. */
.ce-theme .ce-grid + .ce-prose, .ce-theme .ce-card + .ce-grid { margin-top:32px; }
.ce-theme .ce-hero .jp-title { font-size:clamp(3rem,8vw,6.5rem); }
.ce-theme .ce-hero .hero-content { text-shadow:0 3px 18px #000; }
.ce-theme .ce-hero .hero-bg { background-position:center; }
.ce-theme .ce-military-copy p { font-size:.95rem; }
