:root { color-scheme:dark; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
* {box-sizing:border-box}
body {margin:0; min-height:100vh; color:#d9d5d1;
  background:radial-gradient(ellipse at 50% 0%, #30272b 0%,#151315 36%,#0b0b0d 82%);}
body:before {content:""; position:fixed; inset:0; pointer-events:none;opacity:.23;
  background: repeating-linear-gradient(120deg,transparent 0px,transparent 74px,#4d4143 75px,transparent 76px);}
.container {position:relative;max-width:470px;margin:0 auto;padding:78px 18px 45px}
.brand{text-align:center;margin-bottom:34px}
.line{width:82px;height:2px;background:#90634f;margin:0 auto 24px}
.brand-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(31px,6vw,40px);letter-spacing:.18em;color:#d6c7b6}
.brand-subtitle{font-size:11px;letter-spacing:.42em;color:#a88172;margin-top:9px}
.panel{background:rgba(24,22,24,.95);border:1px solid #4a3a37;border-top:2px solid #845047;
  border-radius:3px;padding:30px 32px 28px;box-shadow:0 25px 80px rgba(0,0,0,.38)}
h1{font-family:Georgia,"Times New Roman",serif;font-weight:normal;font-size:27px;margin:0 0 9px;color:#eee6dc}
.intro{margin:0 0 28px;color:#a8a09e;line-height:1.55;font-size:13px}
label{display:block;margin:20px 0 9px;font-size:13px;font-weight:600;color:#d1c9c4}
.required{color:#c17968}.optional{font-weight:400;color:#8d8684}
input{display:block;width:100%;height:47px;background:#111012;border:1px solid #534849;border-radius:3px;
 color:#eee8e3;padding:0 13px;font-size:14px;outline:none;transition:border-color .14s,box-shadow .14s}
input::placeholder{color:#777073}
input:focus{border-color:#ad7365;box-shadow:0 0 0 3px rgba(173,115,101,.12)}
.hint{margin:7px 0 0;font-size:11px;color:#817b7b}
.password-row{position:relative}.password-row input{padding-right:77px}
.show-pass{position:absolute;top:4px;right:5px;height:39px;border:0;border-radius:2px;padding:0 12px;
 background:transparent;color:#c5a79b;font-weight:600;cursor:pointer;font-size:12px}
.show-pass:focus-visible,.submit:focus-visible{outline:2px solid #e5b6a3;outline-offset:2px}
.submit{width:100%;padding:15px 10px;margin-top:30px;background:#74443b;border:1px solid #a26755;
 border-radius:3px;color:#f1e9e5;font-weight:700;font-size:14px;cursor:pointer;transition:background .15s}
.submit:hover{background:#8b5348}.submit:active{transform:translateY(1px)}
.footnote{text-align:center;font-size:11px;line-height:1.55;color:#96908e;margin:17px 6px 0}
footer{text-align:center;color:#726e70;font-size:11px;margin-top:25px}
.bot-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.message{border:1px solid #60504f;background:#312323;color:#ead8ce;padding:13px 15px;
 margin:0 0 20px;font-size:13px;line-height:1.5;border-radius:3px}
.message.success{border-color:#48604d;background:#1d2f25;color:#d5e5d7}
.message.error{border-color:#924d4d;background:#392121;color:#f0cccc}
@media(max-width:450px){.container{padding:46px 15px 30px}.panel{padding:26px 20px}}

/* Yharnam visual theme, safely served by the registration application. */
@font-face {
  font-family: "FleshAndBlood";
  src: url("/assets/Fleshandblood-MVA5x.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
html { min-height: 100%; }
body {
  background-color: #0a0a0d;
  background-image:
    linear-gradient(180deg, rgba(7,8,12,.38) 0%, rgba(7,7,10,.54) 60%, rgba(5,5,8,.70) 100%),
    url("/assets/yharnam-bg.jpg");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
body:before { opacity: .07; }
.brand-title {
  font-family: "FleshAndBlood", Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 6vw, 57px);
  letter-spacing: .07em;
  line-height: 1.12;
  text-shadow: 0 3px 15px rgba(0,0,0,.75);
}
h1 {
  font-family: "FleshAndBlood", Georgia, "Times New Roman", serif;
  font-size: 32px;
  letter-spacing: .025em;
}
.panel {
  background: rgba(15,13,17,.91);
  border-color: rgba(115,82,75,.82);
  box-shadow: 0 25px 90px rgba(0,0,0,.68);
  backdrop-filter: blur(3px);
}
footer { color: #c1b8b0; text-shadow: 0 2px 8px #000; }
@media (max-width: 450px) {
  .brand-title { font-size: clamp(30px, 9vw, 42px); }
  h1 { font-size: 29px; }
  body { background-attachment: scroll; }
}


/* bbsc:activity-v1 | slim server counter above the logo */
.activity-panel {
  display:flex; align-items:center; justify-content:center; gap:19px;
  padding:11px 14px; margin:0 auto 24px;
  border:1px solid rgba(124,85,75,.65); border-radius:3px;
  background:rgba(15,13,17,.87); color:#d9d0c9;
  box-shadow:0 12px 34px rgba(0,0,0,.36);
  backdrop-filter:blur(4px);
}
.activity-group { display:inline-flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap; }
.activity-label { color:#b6a5a0; font-size:10px; font-weight:700; letter-spacing:.075em; text-transform:uppercase; }
.activity-value { color:#f0e5d8; font-size:16px; font-weight:600; font-variant-numeric:tabular-nums; }
.activity-dot { width:7px; height:7px; flex:none; border-radius:100%; background:#786967; }
.activity-dot.is-live { background:#85ad87; box-shadow:0 0 8px rgba(126,173,135,.32); }
.activity-divider { width:1px; height:18px; flex:none; background:rgba(146,107,94,.43); }
@media (max-width:450px) {
  .activity-panel { gap:10px; padding:10px 7px; }
  .activity-group { gap:5px; }
  .activity-label { font-size:9px; letter-spacing:.025em; }
  .activity-value { font-size:14px; }
}

/* Compact online-only status panel */
.activity-panel { width:max-content; max-width:100%; gap:8px; padding:10px 20px; }


/* bbsc:wiki-link-v1 | link below registration without changing the form. */
.wiki-shortcut{text-align:center;margin:26px auto 8px}
.wiki-shortcut a{display:inline-block;padding:11px 20px;border:1px solid rgba(154,108,91,.7);
 background:rgba(15,13,17,.9);color:#e4c2af;text-decoration:none;border-radius:3px;
 font-size:12px;font-weight:600;letter-spacing:.055em;transition:background .15s,border-color .15s}
.wiki-shortcut a:hover,.wiki-shortcut a:focus-visible{background:rgba(74,43,38,.95);
 border-color:#c48e7a;color:#f8e0d0}
