:root {
    --bg: #03141e;
    --surface: #0b2431;
    --line: #234555;
    --text: #f8ead7;
    --muted: #b3c9d2;
    --gold: #ffcf79;
    --violet: #51dfdf;
    --radius: 7px;
}
body { background: radial-gradient(ellipse at 60% 3%, #102a38, var(--bg) 55%); }
h1, h2, .nova-feature h3, .nova-feature-links a { font-family: Georgia, 'Times New Roman', serif; font-weight: 700; }
h1, h2, h3 { overflow-wrap: anywhere; }
p { color: #c5d6df; }
a:focus-visible, button:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid #6df2f2; }
.nova-header { min-height: 60px; padding: 0 3.2%; gap: clamp(16px, 3vw, 48px); background: #04131e; border-color: #26606d; }
.nova-header .brand { color: #ffca73; font-size: clamp(1.35rem, 2.4vw, 2.25rem); font-weight: 700; letter-spacing: -.035em; white-space: nowrap; }
.nova-header nav { flex: 1; gap: clamp(14px, 3.5vw, 58px); font-size: clamp(.95rem, 1.35vw, 1.28rem); font-weight: 650; }
.nova-header nav a { position: relative; padding: 13px 0; }
.nova-header nav .active::after { content: ''; position: absolute; inset: auto 0 -1px; height: 3px; background: #ffd179; box-shadow: 0 0 12px #ffad47; }
.nova-tools, .nova-tools .language-switch, .nova-tools .account-nav { display: flex; align-items: center; gap: clamp(8px, 1.2vw, 20px); margin: 0; }
.nova-tools .language-switch select { width: 8ch; background: #061923; padding: 5px 1px; font-size: .86rem; }
.nova-tools .account-nav { font-size: 1rem; }
.nova-tools .account-nav a { overflow-wrap: anywhere; }
.button { background: linear-gradient(#ffdb8c,#e8a83f 54%,#ba6b17); border-color: #ffd490; color: #130b03!important; box-shadow: inset 0 0 10px #ffda6644; }
.button.secondary { background: #09222e; border-color: #456b77; color: var(--text)!important; box-shadow: none; }
.shell { max-width: 1440px; }
.shell.home { max-width: none; padding: 0 2.15% 60px; }
.home .nova-hero { min-height: clamp(340px, 28.6vw, 580px); margin: 0 -2.245% 0; padding: clamp(34px, 4vw, 68px) 4.8%; }
.home .nova-hero .hero-art { inset: 0; border: 0; }
.home .nova-hero .hero-art img { object-position: center; }
.home .nova-hero .hero-art::after { background: linear-gradient(90deg,#03141edb 0%,#03141e66 34%,transparent 65%),linear-gradient(0deg,#03141e50,transparent 22%); }
.home .nova-hero .nova-hero-copy { max-width: min(52%, 670px); }
.home .nova-hero h1 { margin: 0 0 12px; max-width: 11ch; font-size: clamp(3.35rem,5vw,6rem); line-height: .94; letter-spacing: -.042em; overflow-wrap: anywhere; }
.home .nova-hero p { margin: 0; color: var(--text); font: clamp(1.1rem,2vw,1.95rem)/1.25 Georgia,serif; }
.nova-hero-divider { display: flex; align-items: center; gap: 12px; color: #ffcb70; max-width: 360px; margin: 9px 0; }
.nova-hero-divider::before, .nova-hero-divider::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg,#b5733622,#ffce72); }
.nova-hero-divider::after { transform: scaleX(-1); }
.nova-hero .hero-actions { margin: 12px 0 0; }
.nova-play { font: 700 clamp(1.35rem,2.5vw,2.45rem)/1.1 Georgia,serif; padding: .45em 1.3em; clip-path: polygon(6% 0,94% 0,100% 50%,94% 100%,6% 100%,0 50%); }
.nova-status { display: flex; flex-wrap: wrap; align-items: stretch; gap: 0; min-height: 58px; border: 1px solid #398b99; background: linear-gradient(100deg,#0b2937,#051c27 65%,#0b3038); margin-bottom: 22px; }
.nova-status > div { padding: .65rem 1.3rem; border-right: 1px solid #28606e; flex: 1 1 240px; }
.nova-status > div:last-child { border-right: 0; }
.nova-status strong { color: #74eded; margin-right: .65em; }
.nova-status small { display: block; }
.nova-showcase { margin-bottom: 30px; }
.nova-showcase h2 { display: flex; align-items: center; gap: 1.3rem; margin: 0 0 12px; font-size: clamp(1.9rem,3vw,3.1rem); }
.nova-showcase h2::after { content: ''; width: min(26vw,390px); height: 1px; background: linear-gradient(90deg,#dda565,transparent); }
.nova-feature-grid { display: grid; grid-template-columns: minmax(0,1.85fr) minmax(0,1fr); gap: clamp(14px,1.6vw,28px); }
.nova-feature { border: 1px solid #9b623a; border-radius: 8px; background-color: #102e3b; overflow: hidden; }
.nova-feature-news { display: flex; align-items: end; min-height: clamp(260px,21vw,440px); background-image: linear-gradient(90deg,#03141eea, #03141e33 73%),url('/assets/nova-features.png'); background-size: cover,100% 304%; background-position: center,top; }
.nova-news-copy { padding: clamp(18px,2.6vw,42px); }
.nova-news-copy h3 { margin: .2em 0 .55em; font-size: clamp(1.8rem,3.4vw,3.9rem); overflow-wrap: anywhere; }
.nova-feature-links { display: grid; grid-template-rows: repeat(2,minmax(120px,1fr)); gap: clamp(12px,1.3vw,23px); }
.nova-feature-links a { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 5% 14px 51%; font-size: clamp(1.35rem,2.3vw,2.75rem); background-size: cover,100% 304%; }
.nova-feature-shop { background-image: linear-gradient(90deg,transparent,#341c15a8),url('/assets/nova-features.png'); background-position: center,center; }
.nova-feature-bugs { background-image: linear-gradient(90deg,transparent,#04252dc9),url('/assets/nova-features.png'); background-position: center,bottom; border-color: #338795; }
.nova-feature-links a:hover { border-color: var(--gold); }
.panel, .card, .news-card, .callout, .edit-block { background: #0b2431; border-color: var(--line); }
.panel, .management-entry { min-width: 0; overflow-wrap: anywhere; }
.table-scroll { max-width: 100%; overflow-x: auto; }
.bug-report-text { white-space: pre-wrap; }
footer { background: #04131e; }
footer div { flex-wrap: wrap; }
@media (max-width: 1050px) {
    .nova-header { flex-wrap: wrap; justify-content: space-between; gap: 0 18px; padding-top: 6px; }
    .nova-header nav { order: 3; flex: 1 1 100%; justify-content: center; }
    .nova-header nav a { padding: 8px 0; }
}
@media (max-width: 640px) {
    .nova-header .brand { font-size: 1.35rem; }
    .nova-tools { flex-wrap: wrap; }
    .nova-tools .account-nav { font-size: .84rem; }
    .nova-header nav { justify-content: space-between; gap: 6px; flex-wrap: wrap; font-size: .94rem; }
    .shell.home { padding-inline: 14px; }
    .home .nova-hero { min-height: 420px; margin-inline: -14px; padding: 140px 22px 28px; align-items: end; }
    .home .nova-hero .hero-art img { object-position: 72% center; }
    .home .nova-hero .hero-art::after { background: linear-gradient(0deg,#03141ef2 8%,#03141ea8 48%,transparent 88%); }
    .home .nova-hero .nova-hero-copy { max-width: 100%; }
    .home .nova-hero h1 { font-size: clamp(2.85rem,12vw,4.4rem); }
    .nova-status > div { flex: 1 1 145px; padding: .55rem .65rem; }
    .nova-feature-grid { grid-template-columns: minmax(0,1fr); }
    .nova-feature-news { background-size: cover,max(100%,780px) 304%; background-position: center,68% top; }
    .nova-feature-links { grid-template-rows: repeat(2,minmax(104px,1fr)); }
    .nova-feature-links a { font-size: 1.5rem; }
    .tabs { flex-wrap: wrap; overflow: visible; }
}
