/* WINDIA V2.5: reference-inspired midnight navy, blue-gray boards and clear text.
   Color-only layer. Existing layout, artwork variables and application behavior stay intact. */
:root {
  color-scheme: dark;
  --bg: #0a1119;
  --surface: #0e1823;
  --surface-strong: #14202d;
  --line: #213242;
  --line-strong: #3b566c;
  --text: #d4e3ef;
  --muted: #8da8be;
  --subtle: #839eb5;
  --accent: #397ab6;
  --accent-strong: #4b8cc8;
  --cyan: #93c2e5;
  --success: #acd0b6;
  --danger: #e7a6af;
  --heading: #e5eef6;
  --button-text: #edf4fa;
}
html { background: var(--bg); }
body { background: radial-gradient(ellipse at 50% 0, #20364a66, transparent 65%), var(--bg); color: var(--text); }
a { color: var(--cyan); }
button:focus-visible, a:focus-visible, [contenteditable]:focus-visible { outline-color: #75b6e8; }
::selection { background: #285d85; color: #edf4fa; }
.site-header { background: linear-gradient(180deg, #182737, #101c29); border-top-color: #263e54; border-bottom-color: var(--line); box-shadow: 0 6px 22px #040a1133; }
.brand { color: #d7e6f4; text-shadow: 0 2px 2px #06101a; }
.brand small { color: var(--muted); }
.brand-mark { color: #b86470; text-shadow: 0 1px 2px #06101a; }
.nav-tab { color: #c0d3e3; }
.nav-tab.active, .nav-tab:hover { color: var(--heading); background: linear-gradient(0deg, #397fba24, transparent); box-shadow: inset 0 -2px #66a8db; }
.discord-join { background: var(--surface-strong); color: var(--text); border-color: var(--line-strong); }
.server-pill { background: #111d2b; color: var(--text); border-color: var(--line); }
.user-count, .panel-kicker { color: var(--muted); }
.server-pill.online { color: var(--success); }
.server-pill.offline { color: var(--danger); }
.primary-button, .download-button, .portal-actions .primary-button, .welcome-strip > .primary-button, .board-head-actions .primary-button {
  background: linear-gradient(#286da7, #215f94); border-color: #477fac; color: var(--button-text);
  box-shadow: inset 0 1px #96b8d225, 0 2px 6px #040a1133; text-shadow: none;
}
.primary-button:hover, .download-button:hover, .portal-actions .primary-button:hover, .welcome-strip > .primary-button:hover, .board-head-actions .primary-button:hover {
  background: linear-gradient(#2972b0, #246499); border-color: #68a0ca; color: #f0f6fc; filter: none;
}
.secondary-button, .ghost-button, .portal-actions .secondary-button { background: linear-gradient(#1a2c3e, #162737); border-color: #3b566c; color: var(--text); box-shadow: inset 0 1px #e5eef610; text-shadow: none; }
.secondary-button:hover, .ghost-button:hover, .portal-actions .secondary-button:hover { background: #213242; color: var(--heading); border-color: #577a98; }
.danger-button { background: #4c343c; color: #efb6be; border-color: #93616d; }
.text-button { color: var(--text); background: #101b27; border-color: #3b566c; }
.text-button:hover { color: var(--heading); border-color: #a1aeb8; background: #1a2c3e; }
.notice, .notice.compact { color: var(--muted); }
.notice.error { background: #45313a; color: #edb4be; border-color: #97626f; }
.notice.success { background: #303f38; color: #bcdbc7; border-color: #668975; }
.field > span, .auth-gate-form .field > span { color: #b3c9dc; }
input, textarea, select, .field input, .field textarea, .community-search input, .comment-form input, .moderation-filters select {
  background: #0b1520; color: var(--text); border-color: #3b566c; box-shadow: inset 0 1px 4px #040a1133;
}
input::placeholder, textarea::placeholder { color: #839eb5; opacity: 1; }
input:focus, textarea:focus, select:focus, .field input:focus, .field textarea:focus { border-color: #75b6e8; box-shadow: 0 0 0 2px #75b6e824; outline: 0; }
.field input[type=checkbox], input[type=checkbox] { accent-color: #397ab6; }
input[type=file]::file-selector-button { background: #1a2c3e; color: var(--text); border-color: #3b566c; }
.field > small { color: var(--muted); }

/* Artwork remains visible; a cool veil reduces the strong yellow highlights. */
.portal-hero { background-image: linear-gradient(#0b172514, #0b172533), var(--windia-hero); border-color: #3b5368; box-shadow: 0 12px 32px #040a1140; }
.portal-hero:before { border-color: #bad4e929; }
.portal-hero:after { background: linear-gradient(0deg, #0a1119f2, #0a111966 23%, transparent 48%); }
.portal-hero h1 { color: var(--heading); text-shadow: 0 2px 5px #06101a; }
.portal-hero-copy > p:last-of-type { color: #b3c9dc; text-shadow: 0 1px 4px #06101a; }
.portal-status-card { background: #0e1926db; border-color: #46647e; color: var(--text); }
.portal-status-label, .portal-status-card p { color: var(--muted); }
.portal-status-card strong { color: var(--heading); }
.welcome-strip { background: linear-gradient(100deg, #14202d, #101c29); border-color: var(--line); box-shadow: inset 0 1px #e5eef60a; }
.welcome-strip span, .welcome-strip p { color: var(--muted); }
.welcome-strip h2 { color: var(--heading); }
.news-section { background: var(--surface); border-color: var(--line); box-shadow: 0 5px 16px #040a1126; }
.news-section:hover { border-color: #46647e; box-shadow: 0 6px 20px #040a1133; }
.section-heading.illustrated-heading { background-image: linear-gradient(90deg, #0e1926dc, #0e19266b 65%, #0e192640), var(--board-art); border-bottom-color: #3b566c; }
.illustrated-heading:before { border-color: #bad4e92b; }
.section-heading.illustrated-heading h2 { color: var(--heading); text-shadow: 0 2px 4px #06101a; }
.illustrated-heading h2:before { color: #bec9d2; text-shadow: 0 1px 2px #06101a; }
.illustrated-heading .text-button { background: #0e1926e6; }
.news-link { color: var(--text); border-color: #213242; }
.news-link b { color: var(--text); }
.news-link:hover b { color: #e4e9ed; }
.news-link time { color: #79a9cd; }
.news-empty { color: var(--muted); }
.news-tag { background: #203c54; border-color: #547f9f; color: #c7deef; }
.portal-ranking { background: var(--surface); border-color: var(--line); }
.portal-ranking > .section-heading, .section-heading { border-color: var(--line); }
.portal-ranking h2 { color: var(--heading); }
.portal-rank-row { color: var(--text); border-color: var(--line); }
.portal-rank-row b { color: #a4c3dc; text-shadow: none; }
.portal-rank-row strong { color: var(--heading); }
.portal-rank-row span { color: var(--muted); }
.portal-rank-row em { color: #c5d1db; }
.discord-feature { background-image: linear-gradient(90deg, #0e1926e6, #0e192699), var(--guild-art); border-color: #3b566c; color: var(--text); box-shadow: none; }
.discord-feature h2 { color: var(--heading); text-shadow: 0 2px 4px #06101a; }
.discord-feature b { color: #d3dbe1; }
.discord-feature span { color: #bac4cd; }
.auth-gate-shell { background: linear-gradient(#142230, #0e1823); border-color: #2b4054; box-shadow: 0 14px 40px #040a1140; }
.login-art { background-image: linear-gradient(#0b172514, #0b172533), var(--windia-hero); border-bottom-color: #3b566c; }
.login-art:after { border-color: #bad4e929; }
.auth-gate-panel { color: var(--text); }
.auth-gate-brand .panel-kicker, .auth-gate-copy { color: var(--muted); }
.auth-gate-brand h1 { color: var(--heading); }

/* Neutral board surfaces keep the title, author, date and view count distinct. */
.community-server-card { border-color: #527a9b; color: var(--text); }
.community-server-card strong { color: #c3d7e7; }
.community-server-card small { color: var(--muted); }
.channel-button { border-color: #334e64; color: var(--text); background-image: linear-gradient(90deg, #0d1926f2, #0d1926a6), var(--board-art); }
.channel-button.active, .channel-button:hover { background-image: linear-gradient(90deg, #183852f2, #11203094), var(--board-art); color: var(--heading); border-color: #5e94bf; box-shadow: inset 3px 0 #70aad7; }
.channel-button > span { color: #a4c3dc; }
.community-board { background: var(--surface); border-color: #2b4054; box-shadow: 0 8px 24px #040a1133; }
.board-breadcrumb { color: var(--muted); }
.board-breadcrumb button { color: #c1cdd7; }
.board-head { background-image: linear-gradient(90deg, #0e1926e6, #0e192673 65%, #0e192640), var(--board-art); border-color: #3b566c; }
.board-head:after { border-color: #bad4e929; }
.board-head h1 { color: var(--heading); text-shadow: 0 2px 4px #06101a; }
.board-head .panel-kicker, .board-head p:not(.panel-kicker) { color: #b5cede; text-shadow: 0 1px 3px #06101a; }
.board-total, .post-empty { color: var(--muted); }
.board-table thead { background: #182b3e; color: #aac0d4; border-color: #46647e; }
.board-table th { color: #c0d3e3; }
.board-table td { color: #a8bed0; border-color: #213242; }
.board-table td:nth-child(2), .post-title-link { color: var(--text); }
.board-table tr.pinned { background: #142b3f; }
.board-table tr.pinned td:first-child { color: #acd5f1; }
.board-table tbody tr:hover { background: #172a3c; }
.post-title-link:hover { color: #e5ebef; }
.reply-count { color: #8ec1e7; }
.page-button { background: #142332; border-color: #375268; color: var(--text); }
.page-button.active { background: #235e8b; border-color: #6099c5; color: var(--button-text); }
.post-card { color: var(--text); }
.post-card-head { background: #162638; border-top-color: #496a86; border-bottom-color: #30495f; color: var(--text); }
.post-card-head h3 { color: var(--heading); }
.post-card-actions > span { color: #aac0d4; }
.post-body { color: var(--text); }
.post-body h3, .rich-editor h2 { color: #dce3e8; }
.post-body a { color: #bfcedb; }
.comment-area { background: #0c1621; border-color: #2d4358; }
.comment-title { color: #d0d8df; }
.comment-row { border-color: #213242; }
.comment-head { color: #b6c2cb; }
.comment-body { color: var(--text); }
.post-composer { border-color: #30495f; }
.editor-toolbar { background: #162638; border-color: #3b566c; }
.editor-toolbar button { background: #20364b; border-color: #496a86; color: var(--text); }
.rich-editor, .editor-preview { background: #0c1621; color: var(--text); border-color: #3b566c; box-shadow: inset 0 1px 4px #040a1126; }
.rich-editor:empty:before { color: var(--muted); }
.post-edit-form { background: #111d2b; border-color: #375268; }
.member-panel { background: linear-gradient(#14202d, #101c29); border-color: #2b4054; }
.member-panel h2, .profile-name { color: var(--heading); }
.profile-label, .profile-meta, .profile-helper { color: var(--muted); }
.community-profile { color: var(--text); }

/* Account, download and administrator pages share the same palette. */
.ranking-panel, .guild-panel, .chat-page-panel, .download-panel, .account-panel, .admin-login-panel, .admin-editor-panel, .manage-panel, .signup-panel {
  background: var(--surface); border-color: #2b4054; color: var(--text); box-shadow: 0 6px 20px #040a1126;
}
.ranking-panel h1, .guild-panel h1, .download-panel h1, .chat-page-panel h1, .admin-editor-panel h1, .panel-heading h2, .download-grid h2 { color: var(--heading); }
.ranking-row, .guild-row, .hunting-row { background: #111d2b; border-color: var(--line); color: var(--text); }
.ranking-table-header, .guild-table-header, .hunting-table-header { background: #1b2d40; color: #c5cfd7; }
.ranking-tabs button, .admin-tab { background: #162638; border-color: #375268; color: var(--text); }
.ranking-tabs button.active, .admin-tab.active { background: #235e8b; border-color: #6099c5; color: var(--button-text); }
.ranking-message, .guild-message, .admin-help-text { color: var(--muted); }
.admin-editor-head { border-color: #2d4358; }
.board-admin-item { background: #111d2b; border-color: #314b62; color: var(--text); }
.board-permission { color: #c6d2dc; }
.board-admin-item.drag-over { background: #193952; border-color: #70aad7; }
.drag-handle { color: #b1bdc7; }
.moderation-row { border-color: #2d4358; }
.moderation-row strong { color: var(--text); }
.moderation-row small { color: var(--muted); }
.chat-list { background: #0c1621; border-color: #314b62; }
.chat-row, .chat-message { background: #142332; border-color: #2d4358; color: var(--text); }
.chat-author { color: #c8d5e0; }
.chat-time { color: var(--muted); }
.download-item, .promo-reward-item { background: #142332; border-color: #314b62; color: var(--text); }
.download-item h3 { color: var(--heading); }
.download-meta, .download-note { color: #b4c0c9; }
.secure-badge { background: #182b3e; border-color: #46647e; color: #c6d2dc; }
.intro-panel { background-image: linear-gradient(90deg, #0e1926eb, #0e192699), var(--windia-hero); border-color: #3b566c; }
.intro-panel h1, .intro-panel h2, .intro-panel p { color: var(--text); }
.portal-footer { border-color: #213242; color: var(--muted); }
.portal-footer strong { color: #b7c2cb; }
.portal-footer p, .portal-footer small { color: var(--muted); }
.language-switcher { background: #0f1a27; border-color: #3b566c; }
.language-switcher button { color: #b5c2cc; }
.language-switcher button.active, .language-switcher button:hover { color: var(--heading); background: #1c3248; }
.language-switcher span { color: #a2afba; }
.language-switcher button:focus-visible { outline-color: #75b6e8; }
.account-download-tile { background-image: linear-gradient(0deg, #153450db, #1a3c58bf), var(--windia-hero); border-color: #447597; color: var(--heading); box-shadow: inset 0 0 30px #07111b33; }
.account-download-tile span, .account-download-tile em { color: #b6d0e2; }
.account-download-tile strong { text-shadow: 0 2px 4px #06101a; }
.account-download-tile:hover { border-color: #83b3d5; filter: none; }
.portal-account-sidebar .member-panel { box-shadow: 0 6px 20px #040a1126; }
.portal-account-sidebar .profile-current strong { color: var(--heading); }
.portal-account-sidebar .profile-current small { color: var(--muted); }
.portal-account-sidebar .profile-avatar { background: linear-gradient(145deg, #255c84, #183b59); border-color: #5e94bf; color: #d2e5f3; box-shadow: inset 0 1px #96b8d229; }
.profile-account-id { color: var(--muted); }
.portal-account-sidebar .community-profile select { background: #0b1520; color: var(--text); border-color: #3b566c; }
.header-account { border-top-color: #213242; color: var(--text); }
.header-account strong { color: var(--heading); }
.header-account > span:not(.header-account-dot) { color: var(--muted); }
.header-account-dot { color: #75a9d0; }
@media (max-width:760px) {
  .channel-button { border-color: #334e64 !important; }
  .channel-button.active { border-color: #5e94bf !important; }
}

/* Login-entry recovery uses the existing email verification form. */
.auth-gate-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; }
.auth-gate-actions button { min-width:0; }
.find-id-mode .manage-forms { grid-template-columns:minmax(0,1fr); max-width:680px; margin:0 auto; }
.find-id-mode .manage-intro { max-width:680px; margin-left:auto; margin-right:auto; }
.find-id-mode .manage-intro h1 { color:var(--heading); }
.find-id-mode .manage-intro p { color:var(--muted); }
.find-id-mode .find-id-result { color:var(--text); border-color:var(--line); background:var(--surface-strong); }

/* Runtime location and channel stay together, including on mobile. */
.hunt-field { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; padding:8px 0; }
.hunt-channel { display:inline-flex; align-items:center; padding:2px 7px; border:1px solid #3b6382; border-radius:3px; background:#16334b; color:#b7daf3; font-size:10px; white-space:nowrap; }
.hunting-location-notice { color:var(--muted); font-size:11px; line-height:1.7; }

/* Login recovery shortcuts and the verified-email password form. */
.auth-gate-actions { grid-template-columns:repeat(3,minmax(0,1fr)) auto; }
.recovery-copy { color:var(--muted); font-size:13px; line-height:1.8; }
.recovery-password-fields { padding:0; margin:18px 0 0; border:0; min-width:0; }
.recovery-password-fields legend { color:var(--heading); font-size:13px; margin-bottom:12px; }
.recovery-password-fields:disabled { opacity:.55; }
#resetPasswordPanel > button { margin-bottom:16px; }
@media (max-width:560px) { .auth-gate-actions { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* WINDIA original identity: shared homepage and login panorama. */
:root { --windia-hero:url('assets/windia-main-navy-v3.png'); }
.portal-hero { background-image:linear-gradient(0deg,#0b1528a6 0%,#0b15282b 34%,transparent 62%),var(--windia-hero); background-position:center; }
.portal-hero h1 { color:#e4edf5; text-shadow:0 2px 12px #06111e; }
.portal-hero-copy>p:last-of-type { color:#bacbdb; }
.login-art { background-image:var(--windia-hero); background-position:center; }
