:root { color-scheme: dark; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: #070a12; color: #dbe4f4; }
* { box-sizing: border-box; }
body { margin: 0; background: radial-gradient(circle at 50% 0, #16213e 0, #0b0f1a 42rem, #070a12 100%); line-height: 1.7; }
a { color: #ffb627; }
.site-header, .content-page, .site-footer { width: min(760px, calc(100% - 2rem)); margin-inline: auto; }
.site-header { padding: 2.5rem 0 1.5rem; border-bottom: 1px solid #202a41; }
.brand { color: #ffb627; font-weight: 900; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.site-header nav { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin-top: 1rem; }
.site-header nav a, .site-footer a { color: #9eabc3; font-size: .82rem; text-decoration: none; }
.site-header nav a:hover, .site-footer a:hover { color: #ffb627; }
.content-page { padding: 2.5rem 0 4rem; }
h1 { color: #ffca5c; font-size: clamp(2rem, 7vw, 3.4rem); line-height: 1.1; margin: 0 0 1rem; }
h2 { color: #f5f7fb; font-size: 1.3rem; margin: 2.2rem 0 .6rem; }
h3 { color: #ffca5c; margin: 1.5rem 0 .25rem; }
p, li { color: #aeb9ce; }
.lede { color: #dbe4f4; font-size: 1.1rem; }
.note, .formula { background: #0f1627; border: 1px solid #26324e; border-radius: .65rem; padding: 1rem 1.1rem; }
.formula { color: #39ff88; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.site-footer { border-top: 1px solid #202a41; display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; padding: 1.5rem 0 3rem; }
.updated { color: #76839d; font-size: .85rem; }
.card-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin-top: 1.5rem; }
.content-card { background: #0f1627; border: 1px solid #26324e; border-radius: .7rem; padding: 1.1rem; text-decoration: none; }
.content-card:hover { border-color: #ffb627; transform: translateY(-2px); }
.content-card strong { color: #ffca5c; display: block; margin-bottom: .35rem; }
.content-card span { color: #8f9bb2; font-size: .9rem; }
.article-nav { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2.5rem; }
.article-nav a { background: #0f1627; border: 1px solid #26324e; border-radius: .4rem; padding: .55rem .75rem; text-decoration: none; }
.source-list li { margin-bottom: .65rem; }
.contact-form label { display: block; margin: 0.9rem 0 0.3rem; color: #dbe4f4; font-size: 0.92rem; }
.contact-form .optional { color: #76839d; font-weight: 400; }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; background: #0f1627; border: 1px solid #26324e; color: #dbe4f4; border-radius: 0.45rem; padding: 0.7rem 0.8rem; font: inherit; }
.contact-form button { margin-top: 1.1rem; background: #ffb627; color: #070a12; font-weight: 800; border: 0; border-radius: 0.45rem; padding: 0.75rem 1.15rem; cursor: pointer; }
.form-status { min-height: 1.4em; color: #39ff88; }
.hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
