@font-face {
  font-family: RiqeloSerif;
  src: url('/assets/plugins/nodebb-plugin-riqelo-theme/assets/fonts/cabinet-serif.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

* { box-sizing: border-box; }
html { min-width: 320px; min-height: 100%; color-scheme: dark; }
body.forum-identity {
  margin: 0;
  color: #e8e6dd;
  background: linear-gradient(#08111180, #081111b8), url('/assets/plugins/nodebb-plugin-riqelo-theme/assets/castle.webp') center top / cover fixed;
  font: 400 15px / 1.6 'Segoe UI', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: #e1c995; text-underline-offset: .2em; }
a:hover { color: #fff0cd; }
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 2px solid #f0dca6;
  outline-offset: 4px;
}
::selection { color: #101716; background: #d6b477; }
.skip-link { position: fixed; top: -100px; left: 1rem; z-index: 2; padding: .75rem 1rem; color: #f0dca6; background: #0d1718; border: 1px solid #a88750; }
.skip-link:focus { top: .75rem; }
.forum-header {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  max-width: 1220px;
  min-height: 130px;
  margin: 24px auto 0;
  padding: 1.4rem 1.8rem;
  border: 1px solid #b18a49;
  background: linear-gradient(115deg, #142222f5, #091314f5);
  box-shadow: inset 0 0 0 4px #080e0e, inset 0 0 0 5px #9f763e38, 0 8px 25px #0004;
}
.forum-header::before, .forum-header::after, .forum-auth-card::before, .forum-auth-card::after {
  content: '';
  position: absolute;
  width: 42px;
  height: 42px;
  pointer-events: none;
  background: url('/assets/plugins/nodebb-plugin-riqelo-theme/assets/corner.webp') center / contain no-repeat;
}
.forum-header::before, .forum-auth-card::before { top: -1px; left: -1px; }
.forum-header::after, .forum-auth-card::after { right: -1px; bottom: -1px; transform: rotate(180deg); }
.forum-brand { display: flex; flex-shrink: 0; align-items: center; }
.forum-brand img { display: block; width: 200px; max-width: 100%; height: 70px; object-fit: contain; }
.forum-introduction { min-width: 0; flex: 1; }
.forum-title { margin: 0 0 .2rem; color: #f1e1bf; font: 400 clamp(1.4rem, 2.3vw, 1.95rem) / 1.25 RiqeloSerif, Georgia, serif; }
.forum-description { margin: 0; color: #b1bdbb; font-size: .8rem; }
.forum-header nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .4rem; }
.forum-header nav a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .65rem .85rem; color: #d6c8aa; border: 1px solid transparent; font-size: .8rem; text-decoration: none; }
.forum-header nav a:hover { color: #fff0cd; border-color: #ac87525c; background: #d6b4770c; }
.forum-identity-main { display: grid; justify-items: center; padding: clamp(28px, 5vh, 60px) 20px 48px; }
.forum-auth-card {
  position: relative;
  width: min(100%, 480px);
  padding: 36px 40px 30px;
  border: 1px solid #a88750;
  background: linear-gradient(130deg, #132020f5, #091313fa);
  box-shadow: inset 0 0 0 4px #080e0e, inset 0 0 0 5px #9f763e29, 0 16px 40px #0006;
}
.forum-eyebrow { margin: 0 0 .5rem; color: #d6b477; font-size: .7rem; font-weight: 600; letter-spacing: .2em; }
h1 { margin: 0; color: #f1e1bf; font: 400 clamp(1.85rem, 4vw, 2.15rem) / 1.25 RiqeloSerif, Georgia, serif; overflow-wrap: anywhere; }
.forum-auth-description { margin: .65rem 0 1.6rem; color: #b1bdbb; font-size: .875rem; }
.forum-auth-form { display: flex; flex-direction: column; gap: 1rem; }
.forum-field { display: flex; flex-direction: column; gap: .45rem; }
.forum-field label { color: #e5d5b3; font-size: .8rem; }
.forum-field input {
  display: block;
  width: 100%;
  min-width: 0;
  height: 48px;
  padding: .65rem .8rem;
  border: 1px solid #8d794a8f;
  border-radius: 0;
  color: #f4eddd;
  background: #071011;
  box-shadow: inset 0 0 0 2px #a887500d;
  font: inherit;
}
.forum-field input:hover { border-color: #a88750; }
.forum-field input:focus { border-color: #d6b477; }
.forum-field input.input-validation-error { border-color: #d4867d; }
.field-validation { color: #ffb3aa; font-size: .8rem; }
.field-validation:empty { display: none; }
.validation { margin: 0 0 1.3rem; padding: .8rem .9rem; border: 1px solid #985b50; color: #ffb3aa; background: #3c232180; font-size: .8rem; overflow-wrap: anywhere; }
.validation ul { margin: 0; padding-left: 1.1rem; }
.forum-auth-help { display: flex; justify-content: flex-end; margin-top: -.2rem; font-size: .8rem; }
.forum-auth-help a { display: inline-flex; align-items: center; min-height: 32px; }
.forum-submit {
  display: block;
  width: 100%;
  min-height: 48px;
  padding: .7rem 1rem;
  border: 1px solid #b99a55;
  border-radius: 0;
  color: #f0dca6;
  background: linear-gradient(115deg, #3c3220, #1b211b);
  box-shadow: inset 0 0 0 2px #0a1212, inset 0 0 0 3px #a887503d, 0 0 14px #d6b4770a;
  font: 600 .85rem / 1.5 'Segoe UI', Arial, sans-serif;
  cursor: pointer;
}
.forum-submit:hover { color: #fff0cd; border-color: #e0bc6b; background: linear-gradient(115deg, #4b3c24, #252b20); }
.forum-submit:active { background: #252b20; }
.forum-register { margin: 1.6rem 0 0; padding-top: 1.25rem; border-top: 1px solid #ac87523d; color: #b1bdbb; font-size: .8rem; text-align: center; }
.forum-register a { display: inline-block; padding: .2rem; }
.forum-check { display: flex; align-items: flex-start; gap: .6rem; min-height: 32px; color: #d6c8aa; font-size: .8rem; cursor: pointer; }
.forum-check input { flex: 0 0 auto; width: 17px; height: 17px; margin: .1rem 0 0; accent-color: #d6b477; }
@media (max-width: 1260px) { .forum-header { margin-right: 20px; margin-left: 20px; } }
@media (max-width: 760px) {
  .forum-header { gap: .8rem 1rem; flex-wrap: wrap; min-height: 0; padding: 1.2rem; }
  .forum-brand img { width: 150px; height: 56px; }
  .forum-title { font-size: 1.4rem; }
  .forum-header nav { width: 100%; justify-content: flex-start; border-top: 1px solid #ac87523d; }
  .forum-header nav a { padding: .55rem .6rem; }
}
@media (max-width: 480px) {
  .forum-header { margin: 12px 12px 0; gap: .5rem; padding: 1rem 1.1rem .6rem; }
  .forum-brand { width: 100%; }
  .forum-brand img { width: 140px; height: 48px; }
  .forum-introduction { flex-basis: 100%; }
  .forum-title { font-size: 1.45rem; }
  .forum-description { font-size: .75rem; }
  .forum-header nav { margin-top: .35rem; }
  .forum-identity-main { padding: 24px 12px 32px; }
  .forum-auth-card { padding: 28px 24px 24px; }
  .forum-auth-description { margin-bottom: 1.4rem; }
  .forum-register { margin-top: 1.3rem; }
}
