:root {
--rs-background: #09152b;
--rs-surface: #10213c;
--rs-text: #f4f3ec;
--rs-accent: #ffdc63;
--rs-interface: #328bff;
--rs-side-left: none;
--rs-side-right: none;
--rs-outer-background: #050c19;
--rs-central-background: #0d1b30;
--rs-central-width: 1120px;
--rs-side-width: 64px;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--rs-outer-background); color: var(--rs-text); font-family: system-ui, sans-serif; line-height: 1.6; overflow-wrap: anywhere; }
a { color: var(--rs-accent); }
:focus-visible { outline: 3px solid var(--rs-accent); outline-offset: 4px; }
.site-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, min(var(--rs-central-width), calc(100% - var(--rs-side-width) - var(--rs-side-width)))) minmax(0, 1fr); }
.site-center { min-width: 0; display: flex; flex-direction: column; background: var(--rs-central-background); }
.site-header, .site-footer, .site-content { padding: clamp(1rem, 3vw, 2rem); }
.site-header { border-bottom: 1px solid var(--rs-interface); }
.site-brand { color: var(--rs-text); font-size: 1.6rem; font-weight: 700; text-decoration: none; }
.site-header p { margin: .25rem 0 0; color: var(--rs-accent); }
.site-content { flex: 0 0 auto; }
.site-footer { border-top: 1px solid var(--rs-interface); }
.decoration { min-width: 0; background-color: var(--rs-outer-background); background-position: center; background-size: cover; background-repeat: no-repeat; }
.decoration-left { background-image: var(--rs-side-left); border-right: 1px solid var(--rs-interface); }
.decoration-right { background-image: var(--rs-side-right); border-left: 1px solid var(--rs-interface); }
.placeholder { padding: 3rem 1rem; text-align: center; border: 1px dashed var(--rs-interface); color: var(--rs-accent); }
.entry { margin-top: 2rem; }
img, video { max-width: 100%; height: auto; }
iframe { max-width: 100%; }
.wp-block-table { overflow-x: auto; }
.skip-link { position: absolute; top: -10rem; left: 1rem; padding: 1rem; background: var(--rs-surface); z-index: 10; }
.skip-link:focus { top: 1rem; }
@media (max-width: 1248px) {
.site-layout { --rs-side-width: clamp(0px, calc(18.390805vw - 165.517245px), 64px); }
}
@media (max-width: 900px) {
.site-layout { grid-template-columns: minmax(0, 1fr); }
.decoration { display: none; }
}
