:root {
  --ink: #2b160d;
  --ink-soft: #5a3923;
  --muted: #78583c;
  --cream: #f0d6a1;
  --gold: #c98b45;
  --gold-bright: #f0bd6a;
  --gold-dark: #77502b;
  --wood-darkest: #160906;
  --wood-dark: #2c110b;
  --wood-mid: #4a2415;
  --wood-mid-2: #63351f;
  --wood-light: #b27945;
  --wood-light-2: #c9945d;
  --wood-face: #b98451;
  --wood-edge: #29120b;
  --wood-highlight: #d8a76b;
  --red: #7f2d2a;
  --red-bright: #ad493b;
  --green: #416a30;
  --green-bright: #7aa957;
  --shadow: rgba(0,0,0,.66);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background:
    linear-gradient(rgba(12,4,2,.76), rgba(12,4,2,.82)),
    url("assets/theme/dark-wood.webp") center top / 960px auto repeat,
    #130906;
  font-family: Verdana, Tahoma, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.5;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(circle at 50% -8%, rgba(211,126,61,.18), transparent 42rem),
    linear-gradient(115deg, transparent 0 46%, rgba(255,255,255,.018) 46% 47%, transparent 47% 100%);
  opacity: .9;
}

a { color: #6a3116; text-decoration: none; font-weight: 700; }
a:hover { color: #9c4a1e; text-decoration: underline; }

.page-shell { width: min(1180px, calc(100% - 28px)); margin: 18px auto 34px; }
.site-frame {
  position: relative;
  overflow: hidden;
  border: 1px solid #8d5431;
  background: #29120b;
  box-shadow:
    0 0 0 3px #150906,
    0 0 0 5px #5b2d19,
    0 0 0 7px #100705,
    0 22px 70px #000;
}
.site-frame::before,
.site-frame::after {
  content: "";
  position: absolute;
  z-index: 30;
  left: 9px;
  right: 9px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(228,160,90,.65), transparent);
  pointer-events: none;
}
.site-frame::before { top: 8px; }
.site-frame::after { bottom: 8px; }

.utility-bar {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 7px 14px;
  color: #c59a70;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .06em;
  background:
    linear-gradient(rgba(21,7,4,.92), rgba(37,13,8,.94)),
    url("assets/theme/dark-wood.webp") center / 420px auto;
  border-bottom: 1px solid #6a3a23;
  box-shadow: inset 0 -1px rgba(0,0,0,.65);
}
.realm-dot {
  display:inline-block;
  width: 7px;
  height: 7px;
  margin-right:6px;
  border-radius:50%;
  background:#78a24f;
  box-shadow:0 0 7px #86b85c;
}

/* Title-screen-inspired website masthead */
.masthead {
  min-height: 290px;
  position: relative;
  overflow: hidden;
  border-top: 1px solid #7b4628;
  border-bottom: 3px ridge #7e4d2d;
  background:
    linear-gradient(to bottom, rgba(22,7,4,.04), rgba(19,6,4,.12) 62%, rgba(17,5,3,.58)),
    url("assets/theme/titlecard.webp") center 49% / cover no-repeat,
    #2a120b;
  box-shadow: inset 0 -16px 30px rgba(0,0,0,.42);
}
.masthead::before {
  content:"";
  position:absolute;
  inset:0;
  border: 9px solid rgba(44,18,10,.72);
  box-shadow:
    inset 0 0 0 1px rgba(224,148,79,.25),
    inset 0 0 34px rgba(0,0,0,.56);
  pointer-events:none;
  z-index:4;
}
.masthead::after {
  content:"";
  position:absolute;
  left: 0;
  right:0;
  bottom:0;
  height:34px;
  background:linear-gradient(transparent,rgba(18,5,3,.72));
  pointer-events:none;
  z-index:3;
}
/* The supplied title card already contains the logo. Keep the HTML copy available but visually hidden. */
.logo-block {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.decor-sprite { display:none; }

.main-nav {
  display:grid;
  grid-template-columns: repeat(7,1fr);
  border-top:1px solid #9a5c32;
  border-bottom:2px solid #180806;
  background:
    linear-gradient(rgba(83,39,20,.18), rgba(20,6,4,.48)),
    url("assets/theme/dark-wood.webp") center 42% / 430px auto repeat;
  box-shadow: inset 0 1px rgba(242,171,96,.18), inset 0 -1px rgba(0,0,0,.75);
}
.main-nav a {
  padding: 11px 7px 10px;
  text-align:center;
  color:#ecd09d;
  text-transform:uppercase;
  font:bold 11px Georgia,serif;
  letter-spacing:.08em;
  border-right:1px solid rgba(121,70,40,.9);
  border-left:1px solid rgba(19,6,4,.7);
  text-shadow:0 2px 2px #090201;
  box-shadow: inset 0 0 0 1px rgba(255,190,110,.025);
}
.main-nav a:first-child { border-left:0; }
.main-nav a:last-child { border-right:0; }
.main-nav a:hover,
.main-nav a.active {
  background:linear-gradient(rgba(192,122,62,.28), rgba(72,29,15,.45));
  color:#fff0bd;
  text-decoration:none;
  box-shadow: inset 0 -3px #b8753e, inset 0 1px rgba(255,211,151,.18);
}

.content {
  padding:18px;
  background:
    linear-gradient(rgba(28,9,5,.76), rgba(19,6,4,.83)),
    url("assets/theme/dark-wood.webp") center top / 960px auto repeat;
}
.home-grid { display:grid; grid-template-columns:minmax(0,1.65fr) 330px; gap:16px; align-items:start; }

/* Light wooden game-window face surrounded by a dark carved frame. */
.panel {
  position:relative;
  margin-bottom:16px;
  border:5px solid #35160d;
  border-radius:2px;
  background:
    linear-gradient(rgba(202,153,96,.80), rgba(179,123,72,.84)),
    url("assets/theme/light-wood.webp") center / 560px auto repeat;
  box-shadow:
    0 0 0 1px #8d5430,
    0 0 0 2px #190a06,
    inset 0 0 0 1px rgba(246,199,135,.30),
    inset 0 0 22px rgba(83,36,16,.20),
    0 7px 14px rgba(0,0,0,.34);
}
.panel::before,
.panel::after {
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:3;
}
.panel::before {
  inset:3px;
  border:1px solid rgba(69,28,13,.55);
  box-shadow: inset 0 0 0 1px rgba(235,180,112,.20);
}
.panel::after {
  inset:0;
  background:
    linear-gradient(135deg, rgba(234,169,93,.28), transparent 18px) top left / 26px 26px no-repeat,
    linear-gradient(225deg, rgba(234,169,93,.22), transparent 18px) top right / 26px 26px no-repeat,
    linear-gradient(45deg, rgba(73,27,13,.25), transparent 18px) bottom left / 26px 26px no-repeat,
    linear-gradient(315deg, rgba(73,27,13,.25), transparent 18px) bottom right / 26px 26px no-repeat;
}
.panel-title {
  position:relative;
  z-index:4;
  margin:0;
  padding:9px 12px 8px;
  border-bottom:1px solid #8b5030;
  color:#efd09b;
  background:
    linear-gradient(rgba(64,25,13,.38), rgba(15,5,3,.36)),
    url("assets/theme/dark-wood.webp") center 35% / 410px auto repeat;
  text-transform:uppercase;
  letter-spacing:.08em;
  font:bold 12px Georgia,serif;
  text-shadow:0 2px 2px #120503;
  box-shadow: inset 0 -1px rgba(0,0,0,.55), inset 0 1px rgba(238,166,92,.20);
}
.panel-body { position:relative; z-index:2; padding:13px; }
.panel p, .panel li, .panel td { color:#4b2d1b; }

.hero-box { min-height: 244px; overflow:hidden; }
.hero-box .panel-body {
  padding:24px 205px 24px 22px;
  min-height:244px;
  background:radial-gradient(circle at 78% 42%, rgba(90,33,17,.18), transparent 230px);
}
.hero-box h1 {
  margin:0 0 8px;
  font:700 32px/1.05 Georgia,serif;
  color:#401d0d;
  text-shadow: 0 1px rgba(255,228,177,.45);
}
.hero-box .lead { max-width:550px; color:#5d3b25; font:15px/1.55 Georgia,serif; }
.hero-sprite { position:absolute; right:48px; bottom:-2px; z-index:2; height:205px; image-rendering:pixelated; filter:drop-shadow(0 8px 7px rgba(34,9,2,.72)); }
.button-row { display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; }
.btn {
  display:inline-block;
  padding:9px 16px;
  color:#f2d6a0;
  border:1px solid #9a5f36;
  background:
    linear-gradient(rgba(105,51,25,.38), rgba(22,7,4,.48)),
    url("assets/theme/dark-wood.webp") center / 350px auto repeat;
  box-shadow:inset 0 0 0 1px rgba(225,149,78,.22),0 2px 4px rgba(35,8,2,.62);
  text-transform:uppercase;
  font:bold 11px Georgia,serif;
  letter-spacing:.06em;
  text-shadow:0 1px 2px #100402;
}
.btn:hover {
  color:#fff0bd;
  border-color:#c17b45;
  background:linear-gradient(rgba(171,99,48,.42), rgba(55,17,8,.46)), url("assets/theme/dark-wood.webp") center / 350px auto repeat;
  text-decoration:none;
}
.btn.secondary { border-color:#73513b; filter:saturate(.75); }
.btn.danger { border-color:#8b4032; background:linear-gradient(#7b372a,#35140e); }

.status-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.status-card {
  padding:10px;
  background:rgba(78,38,21,.18);
  border:1px solid rgba(86,42,22,.55);
  box-shadow: inset 0 0 0 1px rgba(244,197,131,.16);
}
.status-label { color:#68452e; font-size:10px; text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.status-value { margin-top:2px; font:bold 16px Georgia,serif; color:#3b1b0e; }
.status-value.online { color:#355d28; }
.tiny-note { color:#77563e; font-size:10px; margin-top:8px; }
.meter { height:8px; margin-top:6px; border:1px solid #59331f; background:#35170e; box-shadow:inset 0 1px 3px #160704; }
.meter > span { display:block; height:100%; width:38%; background:linear-gradient(90deg,#4a6b33,#82a858); box-shadow: inset 0 1px rgba(255,255,255,.18); }

.news-item { padding:13px 0; border-bottom:1px solid rgba(84,43,23,.30); }
.news-item:first-child { padding-top:0; }
.news-item:last-child { border-bottom:0; padding-bottom:0; }
.news-meta { color:#805838; text-transform:uppercase; font-size:10px; letter-spacing:.05em; }
.news-item h3 { margin:3px 0 4px; color:#451f0e; font:700 17px Georgia,serif; }
.news-item p { margin:0; color:#583824; }
.news-badge { display:inline-block; padding:1px 5px; margin-right:5px; border:1px solid #7a4328; color:#f0c590; background:#5b2b18; font-size:9px; text-shadow:0 1px #1b0703; }

.quick-links { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.quick-link {
  padding:9px;
  border:1px solid rgba(85,42,22,.55);
  background:rgba(255,226,178,.10);
  color:#603e28;
  box-shadow:inset 0 0 0 1px rgba(255,220,163,.13);
}
.quick-link strong { display:block; color:#421e0f; font:700 12px Georgia,serif; }
.quick-link:hover { background:rgba(255,228,181,.24); text-decoration:none; }

.table-wrap { overflow-x:auto; }
.forum-table, .rank-table { width:100%; border-collapse:collapse; }
.forum-table th, .rank-table th {
  padding:7px 8px;
  background:rgba(65,27,14,.86);
  color:#eccb98;
  border-bottom:1px solid #8f5431;
  font:700 11px Georgia,serif;
  text-align:left;
  text-transform:uppercase;
  text-shadow:0 1px #180603;
}
.forum-table td, .rank-table td { padding:9px 8px; border-bottom:1px solid rgba(74,34,18,.24); color:#4f301d; vertical-align:top; }
.forum-table tr:hover td, .rank-table tr:hover td { background:rgba(255,220,162,.14); }
.forum-title { color:#4c210f; font:bold 13px Georgia,serif; }
.forum-desc { color:#765238; font-size:11px; }
.cell-num { width:72px; text-align:center!important; color:#6e4930!important; }

.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.field { margin-bottom:11px; }
.field label { display:block; margin-bottom:4px; color:#5a351f; font:bold 11px Georgia,serif; text-transform:uppercase; letter-spacing:.04em; }
input, select, textarea {
  width:100%;
  padding:9px 10px;
  border:1px solid #6f4329;
  background:rgba(238,200,145,.50);
  color:#30150b;
  outline:none;
  font:13px Verdana,sans-serif;
  box-shadow: inset 0 1px 4px rgba(65,26,11,.30), 0 1px rgba(255,228,184,.25);
}
input::placeholder, textarea::placeholder { color:#8a6448; }
input:focus, textarea:focus, select:focus { border-color:#a96333; box-shadow:0 0 0 2px rgba(165,99,51,.16), inset 0 1px 4px rgba(65,26,11,.22); }
textarea { min-height:120px; resize:vertical; }
.form-hint { color:#78583f; font-size:10px; margin-top:4px; }
.checkbox { display:flex; gap:8px; align-items:flex-start; color:#66452f; }
.checkbox input { width:auto; margin-top:2px; }
.message { display:none; margin-top:10px; padding:9px; border:1px solid #4f6c3b; background:rgba(88,116,61,.22); color:#315324; }
.message.error { border-color:#7a463a; background:rgba(125,56,43,.18); color:#702f25; }

.notice {
  border:3px solid #3b1a0f;
  background:linear-gradient(rgba(205,157,99,.80),rgba(183,127,75,.82)),url("assets/theme/light-wood.webp") center / 520px auto;
  box-shadow:0 0 0 1px #8d5430,inset 0 0 0 1px rgba(255,218,158,.26);
  padding:11px 13px;
  color:#543521;
  margin-bottom:14px;
}
.notice strong { color:#3f1c0d; }
.section-title { margin:0 0 12px; color:#f0d39f; font:700 27px Georgia,serif; text-shadow:0 2px 2px #150503; }
.subtle { color:#704c34; }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.download-card {
  padding:14px;
  border:5px solid #35160d;
  background:
    linear-gradient(rgba(202,153,96,.80), rgba(179,123,72,.84)),
    url("assets/theme/light-wood.webp") center / 560px auto repeat;
  box-shadow:
    0 0 0 1px #8d5430,
    0 0 0 2px #190a06,
    inset 0 0 0 1px rgba(246,199,135,.30),
    inset 0 0 22px rgba(83,36,16,.18),
    0 7px 14px rgba(0,0,0,.30);
}
.download-card h3 { margin:0 0 5px; color:#421d0d; font:700 17px Georgia,serif; }
.spec-list { margin:10px 0 0; padding-left:17px; color:#5e3d28; }
.spec-list li { margin:4px 0; }

.footer {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:20px 18px 24px;
  border-top:1px solid #754226;
  color:#b28a66;
  font-size:10px;
  background:
    linear-gradient(rgba(20,6,4,.82), rgba(27,8,5,.94)),
    url("assets/theme/dark-wood.webp") center / 470px auto repeat;
}
.footer strong { color:#deb98a; }
.footer a { color:#e2bd8c; }
.footer a:hover { color:#ffe1a7; }

/* Useful utility for copy placed directly on a light wooden panel. */
.wood-copy { color:#51311e!important; }
.wood-copy strong { color:#3c1b0d!important; }

@media (max-width: 900px) {
  .masthead { min-height:245px; }
  .home-grid { grid-template-columns:1fr; }
  .main-nav { grid-template-columns:repeat(4,1fr); }
  .main-nav a:nth-child(n+5){border-top:1px solid rgba(134,76,43,.8)}
}
@media (max-width: 640px) {
  .page-shell { width:100%; margin:0; }
  .site-frame { border-left:0; border-right:0; }
  .utility-bar { align-items:flex-start; flex-direction:column; gap:2px; }
  .masthead { min-height:178px; background-size:cover; background-position:center 50%; }
  .main-nav { grid-template-columns:repeat(2,1fr); }
  .content { padding:11px; }
  .hero-box .panel-body { padding:18px; }
  .hero-sprite { opacity:.18; right:10px; height:180px; }
  .form-grid,.two-col { grid-template-columns:1fr; }
  .footer { flex-direction:column; }
}


/* === Portal V2: chunky launcher, class compendium, live forum === */
.realm-dot.offline{background:#8c3a2e;box-shadow:0 0 6px #9d4235}.status-value.offline{color:#7c3029}.status-pop-label{margin-top:10px}.section-intro{margin:-4px 0 14px;color:#cfaa80;max-width:760px;font:14px/1.5 Georgia,serif}.hero-eyebrow,.download-overline,.class-kicker{font:bold 10px Georgia,serif;letter-spacing:.16em;text-transform:uppercase;color:#7a4628}.launcher-plaque{display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(100%,430px);min-height:102px;margin:20px 0 4px;padding:12px 22px;border:4px solid #35150c;outline:1px solid #a46436;background:linear-gradient(rgba(94,42,20,.28),rgba(20,6,3,.48)),url("assets/theme/dark-wood.webp") center/420px auto;box-shadow:0 0 0 2px #180805,0 7px 0 #1c0905,0 11px 18px rgba(0,0,0,.42),inset 0 0 0 2px rgba(224,157,84,.18),inset 0 0 22px rgba(0,0,0,.5);color:#f1cb8e!important;text-decoration:none!important;text-shadow:0 2px 2px #090201;transition:transform .12s ease,filter .12s ease}.launcher-plaque:hover{transform:translateY(-2px);filter:brightness(1.12)}.launcher-plaque:active{transform:translateY(4px);box-shadow:0 0 0 2px #180805,0 3px 0 #1c0905,0 7px 14px rgba(0,0,0,.38),inset 0 0 18px rgba(0,0,0,.55)}.launcher-small{font:bold 9px Verdana,sans-serif;letter-spacing:.2em;color:#b88c62}.launcher-main{font:bold 25px/1.05 Georgia,serif;letter-spacing:.06em;color:#f0c881}.launcher-sub{margin-top:4px;font:10px Verdana,sans-serif;color:#b98d65}.launcher-plaque.disabled{filter:saturate(.6);opacity:.78}.launcher-plaque-large{width:min(100%,520px);min-height:122px}.launcher-plaque-large .launcher-main{font-size:30px}.download-stage{display:grid;grid-template-columns:118px 1fr;gap:22px;align-items:center;margin-bottom:16px;padding:24px;border:5px solid #35160d;background:linear-gradient(rgba(202,153,96,.82),rgba(179,123,72,.86)),url("assets/theme/light-wood.webp") center/560px auto;box-shadow:0 0 0 1px #8d5430,0 0 0 2px #190a06,inset 0 0 22px rgba(83,36,16,.2),0 8px 18px rgba(0,0,0,.34)}.download-stage h2{margin:2px 0 4px;font:700 27px Georgia,serif;color:#411c0d}.download-stage p{margin:0;color:#633f28}.download-emblem{width:108px;height:108px;display:grid;place-items:center;border-radius:50%;border:5px double #70401f;background:radial-gradient(circle,#6a3218 0 33%,#2a0e08 70%);color:#e3b873;font:bold 28px Georgia,serif;text-shadow:0 2px #100402;box-shadow:inset 0 0 18px #000,0 4px 10px rgba(0,0,0,.4)}
.guide-heading,.account-heading,.forum-page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;flex-wrap:wrap}.guide-count{min-width:92px;text-align:center;padding:8px 14px;border:3px solid #3a180e;background:rgba(183,127,75,.83);box-shadow:0 0 0 1px #88502d}.guide-count strong{display:block;font:700 28px Georgia,serif;color:#431e0e}.guide-count span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#6a452d}.class-summary-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:0 0 16px}.class-summary{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border:3px solid #31130b;background:linear-gradient(rgba(99,46,23,.4),rgba(23,7,4,.66)),url("assets/theme/dark-wood.webp") center/300px auto;color:#d8ad78;cursor:pointer;box-shadow:0 0 0 1px #70401f,inset 0 0 0 1px rgba(228,164,94,.09)}.class-summary:hover,.class-summary.active{border-color:#7e4928;background:linear-gradient(rgba(159,92,45,.5),rgba(39,12,6,.58)),url("assets/theme/dark-wood.webp") center/300px auto;color:#f0ca8d}.class-summary strong{font:700 14px Georgia,serif}.class-summary small{font-size:9px;color:#b78b64;text-align:center}.skill-icon{display:inline-block;flex:0 0 auto;width:48px;height:48px;background-image:url("assets/theme/skill-icons.webp");background-size:800% 1600%;background-position:calc(var(--ix) * 100% / 7) calc(var(--iy) * 100% / 15);background-repeat:no-repeat;border:2px solid #1d1d20;box-shadow:0 0 0 1px #694328,0 2px 5px rgba(0,0,0,.45);image-rendering:auto}.skill-icon-large{width:58px;height:58px}.class-detail-panel{overflow:hidden}.class-detail-head{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;padding:20px 20px 14px;background:linear-gradient(rgba(235,190,129,.18),rgba(106,56,28,.08))}.class-detail-head h2{margin:1px 0 4px;font:700 30px Georgia,serif;color:#421d0d}.class-detail-head p{margin:0;color:#5b3822;max-width:650px}.class-meta{align-self:center;border-left:1px solid rgba(76,34,16,.35);padding-left:18px;color:#603c26;font-size:11px}.class-meta div{padding:2px 0}.discipline-tabs{display:flex;gap:0;overflow:auto;border-top:1px solid #764528;border-bottom:1px solid #754224;background:#3e1b10}.discipline-tab{appearance:none;border:0;border-right:1px solid #6f3c22;padding:8px 14px;background:transparent;color:#d6ac79;font:bold 10px Georgia,serif;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.discipline-tab:hover,.discipline-tab.active{background:#754024;color:#ffe1a5}.skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px}.skill-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;padding:10px;border:1px solid rgba(77,36,18,.4);background:rgba(255,223,172,.11);box-shadow:inset 0 0 0 1px rgba(255,231,189,.1)}.skill-card-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.skill-card-head strong{font:700 14px Georgia,serif;color:#421e0e}.skill-card-head span{font:bold 9px Verdana,sans-serif;color:#825533}.skill-card-meta{margin:2px 0 4px;text-transform:uppercase;letter-spacing:.06em;font-size:9px;color:#80583b}.skill-card p{margin:0;font-size:11px;line-height:1.4;color:#5b3a26}.affliction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.affliction-card{display:flex;gap:9px;align-items:center;padding:8px;border:1px solid rgba(70,30,15,.35);background:rgba(255,224,180,.1)}.affliction-card strong{font:700 12px Georgia,serif;color:#421d0d}.affliction-card p{margin:2px 0 0;font-size:10px}.account-badge{padding:6px 12px;border:2px solid #3a180d;background:#5a2c19;color:#e4bd87;font:bold 11px Georgia,serif}.signed-in-card{margin-top:12px;padding:10px;border:1px solid #6b472c;background:rgba(255,225,180,.12);color:#4d2e1c}.forum-loading,.forum-auth-notice{padding:14px;color:#745238;font-style:italic}.breadcrumbs{margin-bottom:5px;color:#b88b66;font-size:10px}.breadcrumbs a{color:#dab27e}.forum-post{display:grid;grid-template-columns:150px minmax(0,1fr);margin-bottom:10px;border:4px solid #35160d;background:linear-gradient(rgba(202,153,96,.82),rgba(179,123,72,.86)),url("assets/theme/light-wood.webp") center/560px auto;box-shadow:0 0 0 1px #8d5430}.post-author{padding:14px;border-right:1px solid rgba(70,30,15,.4);background:rgba(70,31,16,.12)}.post-author strong{display:block;font:700 14px Georgia,serif;color:#421e0e}.post-author span{display:block;margin-top:3px;font-size:9px;text-transform:uppercase;color:#79533a}.post-content{padding:12px 14px;min-height:90px}.post-meta{padding-bottom:7px;margin-bottom:8px;border-bottom:1px solid rgba(72,31,15,.25);font-size:9px;color:#7c573e}.post-body{white-space:pre-wrap;word-break:break-word;color:#4c2d1a}.first-post{box-shadow:0 0 0 1px #9e6237,0 6px 14px rgba(0,0,0,.3)}
@media(max-width:900px){.class-summary-grid{grid-template-columns:repeat(3,1fr)}.class-detail-head{grid-template-columns:1fr}.class-meta{border-left:0;border-top:1px solid rgba(76,34,16,.35);padding:10px 0 0}.skill-grid{grid-template-columns:1fr}.affliction-grid{grid-template-columns:repeat(2,1fr)}.download-stage{grid-template-columns:1fr}.download-emblem{display:none}}
@media(max-width:640px){.class-summary-grid{grid-template-columns:repeat(2,1fr)}.affliction-grid{grid-template-columns:1fr}.forum-post{grid-template-columns:1fr}.post-author{border-right:0;border-bottom:1px solid rgba(70,30,15,.4)}.launcher-main{font-size:21px}.launcher-plaque-large .launcher-main{font-size:23px}.hero-box .panel-body{padding:20px}.hero-sprite{display:none}.download-stage{padding:14px}}
.population-row{margin-top:14px;font-size:.9rem;color:#3b2418}.population-row strong{color:#21130d}.online-text{color:#1d6e2e;font-weight:700}.table-wrap{overflow-x:auto}.forum-table.ranked td:first-child,.forum-table.ranked th:first-child{width:64px;text-align:center}

/* === Portal V4: clean title-screen wood + denser 2000s MMO homepage === */
.home-portal { padding-top:14px; }
.portal-action-row { display:grid; grid-template-columns:1.55fr .9fr; gap:14px; margin-bottom:14px; }
.portal-plaque {
  position:relative; display:flex; min-height:112px; flex-direction:column; align-items:center; justify-content:center;
  padding:16px 22px; border:5px solid #2f1109; outline:1px solid #9f6339; overflow:hidden;
  background:linear-gradient(rgba(91,39,18,.18),rgba(16,5,3,.56)),url("assets/theme/dark-wood.webp") center / 760px auto;
  box-shadow:0 0 0 2px #130604,0 7px 0 #190805,0 12px 20px rgba(0,0,0,.36),inset 0 0 0 2px rgba(224,157,84,.17),inset 0 0 30px rgba(0,0,0,.46);
  color:#efc987!important; text-align:center; text-decoration:none!important; text-shadow:0 2px 2px #080201; transition:transform .12s ease,filter .12s ease;
}
.portal-plaque::before,.portal-plaque::after { content:""; position:absolute; width:56px; height:56px; pointer-events:none; opacity:.72; }
.portal-plaque::before { left:4px; top:4px; border-left:2px solid #b87740; border-top:2px solid #b87740; }
.portal-plaque::after { right:4px; bottom:4px; border-right:2px solid #73401f; border-bottom:2px solid #73401f; }
.portal-plaque:hover { transform:translateY(-2px); filter:brightness(1.12); }
.portal-plaque:active { transform:translateY(3px); }
.portal-plaque-secondary { filter:saturate(.82); }
.portal-plaque-kicker { font:bold 9px Verdana,sans-serif; color:#ba8d62; letter-spacing:.19em; }
.portal-plaque-title { margin-top:3px; font:bold 29px/1.08 Georgia,serif; letter-spacing:.04em; }
.portal-plaque-secondary .portal-plaque-title { font-size:24px; }
.portal-plaque-copy { margin-top:6px; font:10px Georgia,serif; color:#cba474; letter-spacing:.05em; }

.portal-top-grid { display:grid; grid-template-columns:1.12fr .85fr .9fr; gap:14px; align-items:stretch; margin-bottom:14px; }
.compact-panel { margin-bottom:0; min-height:100%; }
.home-login-form { display:grid; grid-template-columns:1fr 1fr auto; gap:8px; align-items:end; }
.home-login-form .field { margin:0; }
.home-login-form label { font-size:9px; }
.home-login-form input { padding:7px 8px; }
.home-login-button { min-height:35px; white-space:nowrap; }
.home-signed-in { min-height:68px; display:flex; flex-direction:column; justify-content:center; }
.home-signed-in[hidden] { display:none; }
.welcome-kicker { color:#765033; font:bold 9px Verdana,sans-serif; letter-spacing:.14em; }
.welcome-name { color:#3c1a0c; font:bold 21px Georgia,serif; }
.button-row.tight { margin-top:8px; }
.button-row.tight .btn { padding:6px 10px; }
.realm-home-state { display:flex; gap:9px; align-items:center; padding:2px 0 7px; border-bottom:1px solid rgba(82,40,21,.28); font:bold 19px Georgia,serif; color:#365c28; text-transform:uppercase; letter-spacing:.05em; }
.realm-led { width:13px; height:13px; border-radius:50%; background:#74a64e; border:2px solid #264c1d; box-shadow:0 0 8px rgba(90,190,70,.8); }
.realm-led.offline { background:#864037; border-color:#57231e; box-shadow:0 0 6px rgba(135,49,42,.55); }
.realm-stat-line { display:flex; justify-content:space-between; gap:12px; padding:4px 0; border-bottom:1px solid rgba(88,43,23,.18); color:#5c3924; font-size:11px; }
.realm-stat-line b { color:#35170b; font-family:Georgia,serif; }
.newcomer-links { display:grid; gap:7px; }
.newcomer-links a { display:block; padding:7px 8px; border:1px solid rgba(87,42,21,.4); background:rgba(255,228,185,.10); color:#492416; }
.newcomer-links a:hover { text-decoration:none; background:rgba(255,228,185,.23); }
.newcomer-links strong { display:block; font:700 12px Georgia,serif; }
.newcomer-links span { display:block; margin-top:1px; color:#79543b; font-size:9px; font-weight:400; }

.home-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.72fr) minmax(300px,.88fr); gap:14px; align-items:start; }
.panel-heading-row { position:relative; z-index:4; display:flex; align-items:center; background:linear-gradient(rgba(64,25,13,.38),rgba(15,5,3,.36)),url("assets/theme/dark-wood.webp") center 35% / 710px auto repeat; border-bottom:1px solid #8b5030; }
.panel-heading-row .panel-title { flex:1; border-bottom:0; background:transparent; }
.panel-heading-link { padding:0 12px; color:#d8ac78; font:700 9px Georgia,serif; letter-spacing:.04em; white-space:nowrap; }
.panel-heading-link:hover { color:#ffe0a6; }
.news-feature { display:grid; grid-template-columns:54px minmax(0,1fr); gap:11px; padding:12px 0; border-bottom:1px solid rgba(84,43,23,.28); }
.news-feature:first-child { padding-top:0; }
.news-feature:last-child { border-bottom:0; padding-bottom:0; }
.news-feature-stamp { width:50px; min-height:50px; padding:4px 2px; display:grid; place-items:center; align-content:center; border:2px solid #4c2413; background:linear-gradient(rgba(111,52,24,.26),rgba(29,9,5,.28)),url("assets/theme/dark-wood.webp") center / 190px auto; color:#d8a76c; text-align:center; font:bold 9px Georgia,serif; line-height:1.05; text-shadow:0 1px #0b0302; }
.news-feature-stamp strong { display:block; color:#f0c483; font-size:19px; }
.news-feature h3 { margin:2px 0 4px; font:700 16px Georgia,serif; }
.news-feature p { margin:0; color:#5b3924; font-size:11px; }
.home-forum-table td:first-child,.home-forum-table th:first-child { width:auto; text-align:left; }

.portal-tabs { position:relative; z-index:4; display:grid; grid-template-columns:repeat(3,1fr); background:#35150d; border-bottom:1px solid #744226; }
.portal-tab { appearance:none; border:0; border-right:1px solid #68371f; padding:7px 4px; background:transparent; color:#c49a6d; font:bold 9px Georgia,serif; cursor:pointer; }
.portal-tab:last-child { border-right:0; }
.portal-tab:hover,.portal-tab.active { color:#ffe0a7; background:#704024; }
.no-top-pad { padding-top:8px; }
.mini-leaderboard { display:grid; gap:2px; }
.mini-leader-row { display:grid; grid-template-columns:24px minmax(0,1fr) 70px; gap:7px; align-items:center; padding:5px 4px; border-bottom:1px solid rgba(78,36,18,.20); color:#492617; font-weight:400; }
.mini-leader-row:hover { background:rgba(255,227,184,.17); text-decoration:none; }
.mini-rank { color:#875a38; text-align:center; font:bold 10px Georgia,serif; }
.mini-character strong { display:block; color:#3e1c0e; font:700 12px Georgia,serif; }
.mini-character small,.mini-level small { display:block; margin-top:1px; color:#7a553c; font-size:8px; }
.mini-level { text-align:right; }
.mini-level b { display:block; color:#542a16; font:700 10px Georgia,serif; }
.mini-empty { padding:14px 5px; text-align:center; color:#76523a; }
.mini-empty strong { display:block; color:#4b2818; font:700 12px Georgia,serif; }
.mini-empty span { display:block; margin-top:3px; font-size:9px; }

.class-portal-list { padding:7px; }
.class-portal-row { display:grid; grid-template-columns:40px minmax(0,1fr); gap:8px; align-items:center; padding:5px 4px; border-bottom:1px solid rgba(78,36,18,.20); color:#4c2818; }
.class-portal-row:last-child { border-bottom:0; }
.class-portal-row:hover { background:rgba(255,227,184,.17); text-decoration:none; }
.class-portal-row strong { display:block; color:#3f1c0d; font:700 13px Georgia,serif; }
.class-portal-row small { display:block; color:#7b563d; font-size:8px; font-weight:400; }
.home-class-icon { width:36px; height:36px; }
.character-link { font-family:Georgia,serif; }

/* The clean wood source is intentionally the only repeating panel/body texture in V4. */
.content,.utility-bar,.main-nav,.footer,.btn,.launcher-plaque,.class-summary,.panel-title,.panel-heading-row,.portal-plaque,.news-feature-stamp { background-blend-mode:normal; }

@media(max-width:1000px){
  .portal-top-grid { grid-template-columns:1fr 1fr; }
  .newcomer-panel { grid-column:1/-1; }
  .newcomer-links { grid-template-columns:repeat(3,1fr); }
  .home-login-form { grid-template-columns:1fr 1fr; }
  .home-login-button { grid-column:1/-1; }
}
@media(max-width:820px){
  .portal-action-row,.home-dashboard-grid { grid-template-columns:1fr; }
  .portal-top-grid { grid-template-columns:1fr; }
  .newcomer-panel { grid-column:auto; }
  .newcomer-links { grid-template-columns:1fr; }
}
@media(max-width:520px){
  .portal-plaque-title { font-size:22px; }
  .portal-plaque-secondary .portal-plaque-title { font-size:20px; }
  .home-login-form { grid-template-columns:1fr; }
  .home-login-button { grid-column:auto; }
  .news-feature { grid-template-columns:45px minmax(0,1fr); }
  .news-feature-stamp { width:42px; min-height:46px; }
  .portal-tabs { grid-template-columns:1fr; }
  .portal-tab { border-right:0; border-bottom:1px solid #68371f; }
}

.news-layout{display:grid;grid-template-columns:minmax(0,1.8fr) 310px;gap:14px;align-items:start}.news-seal{padding:10px 16px;border:3px solid #35160d;background:linear-gradient(rgba(202,153,96,.82),rgba(179,123,72,.86)),url("assets/theme/light-wood.webp") center/520px auto;color:#5c321d;text-align:center;font:9px Georgia,serif;letter-spacing:.12em}.news-seal strong{font-size:16px}.news-article-summary{font:italic 14px/1.5 Georgia,serif;color:#5b3822!important}.news-read-more{margin-top:8px}.archive-link{display:block;padding:8px 4px;border-bottom:1px solid rgba(78,36,18,.22);color:#4c2818}.archive-link:hover{text-decoration:none;background:rgba(255,227,184,.14)}.archive-link strong{display:block;font:700 12px Georgia,serif}.archive-link small{display:block;color:#7b563d;font-size:9px}.news-back{margin-bottom:8px}.character-profile-grid{display:grid;grid-template-columns:minmax(0,1.5fr) 320px;gap:14px;align-items:start}.character-card-head{display:flex;gap:16px;align-items:center;padding:20px;border-bottom:1px solid #8b5030;background:linear-gradient(rgba(79,31,15,.18),rgba(184,126,73,.08))}.character-class-icon{width:76px;height:76px}.character-identity h1{margin:2px 0;font:700 34px Georgia,serif;color:#421d0d}.character-subtitle{color:#6c452d;font:14px Georgia,serif}.character-public-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.character-stat{padding:10px;border:1px solid rgba(82,39,20,.35);background:rgba(255,229,187,.1)}.character-stat span{display:block;color:#765239;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.character-stat strong{display:block;margin-top:2px;color:#3d1c0e;font:700 15px Georgia,serif}@media(max-width:820px){.news-layout,.character-profile-grid{grid-template-columns:1fr}}@media(max-width:520px){.character-public-stats{grid-template-columns:1fr}.character-class-icon{width:58px;height:58px}.character-identity h1{font-size:26px}}

/* === Portal V4 account, community and moderation surfaces === */
.account-overview{display:grid;gap:0;border:1px solid rgba(82,39,20,.34);background:rgba(255,230,189,.08)}
.account-overview-row{display:flex;justify-content:space-between;gap:16px;padding:7px 9px;border-bottom:1px solid rgba(82,39,20,.2);color:#6d4a33;font-size:10px}
.account-overview-row:last-child{border-bottom:0}.account-overview-row strong{color:#3e1c0e;font:700 11px Georgia,serif;text-align:right}.account-divider{height:1px;margin:15px 0;background:rgba(80,36,17,.3)}.wood-subheading{margin:0 0 10px;color:#43200f;font:700 16px Georgia,serif}.link-status-row{display:flex;justify-content:space-between;gap:16px;margin-top:12px;padding:8px 9px;border:1px solid rgba(82,39,20,.34);background:rgba(255,230,189,.09);color:#68452e;font-size:10px}.link-status-row strong{color:#8b5b2d;font:700 11px Georgia,serif}
.portal-census{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.census-card{padding:12px 8px;text-align:center;border:1px solid rgba(82,39,20,.34);background:rgba(255,229,187,.1)}.census-card span{display:block;color:#775139;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.census-card strong{display:block;margin-top:3px;color:#3d1c0e;font:700 22px Georgia,serif}
.thread-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.thread-badges,.thread-flags{display:inline-flex;gap:5px;flex-wrap:wrap}.thread-badge{display:inline-block;padding:2px 5px;border:1px solid #7a492b;background:#5b2b18;color:#edc58e;font:bold 8px Verdana,sans-serif;text-transform:uppercase;letter-spacing:.05em}.thread-badge.pinned{border-color:#8d632a;background:#73501f}.thread-badge.locked{border-color:#713a31;background:#673026}.thread-head-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:10px}.thread-head-row .section-title{margin-bottom:4px}.thread-moderation{display:flex;gap:7px;align-items:flex-start;flex-wrap:wrap}.thread-moderation .message{flex-basis:100%;margin-top:0}.diagnostic-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid rgba(82,39,20,.2);color:#68452f;font-size:10px}.diagnostic-row:last-child{border-bottom:0}.diagnostic-row strong{color:#3e1c0e;font:700 10px Georgia,serif;text-align:right}.diagnostic-row strong.good{color:#355d28}.diagnostic-row strong.warn{color:#8b5b2d}.diagnostic-row strong.bad{color:#7b3029}
@media(max-width:640px){.portal-census{grid-template-columns:1fr}.thread-head-row{flex-direction:column}.thread-moderation{width:100%}.thread-moderation .btn{flex:1;text-align:center}}

/* === Portal V6 character equipment / Profile Feed v2 paperdoll === */
.character-showcase{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:12px;align-items:start;margin-bottom:15px}
.paperdoll-card,.character-attributes{border:1px solid rgba(72,31,15,.48);background:linear-gradient(rgba(241,202,145,.16),rgba(86,39,19,.08)),url("assets/theme/light-wood.webp") center/520px auto repeat;box-shadow:inset 0 0 0 1px rgba(255,226,177,.12),inset 0 0 18px rgba(70,30,13,.14)}
.paperdoll-title{padding:7px 10px;border-bottom:1px solid #8b5030;background:linear-gradient(rgba(38,13,6,.86),rgba(64,27,12,.86));color:#f3dcae;font:700 13px Georgia,serif;text-transform:uppercase;letter-spacing:.07em;text-shadow:0 1px 0 #1a0704}
.equipment-rig{display:grid;grid-template-columns:minmax(112px,1fr) minmax(132px,1.2fr) minmax(112px,1fr);gap:8px;padding:10px;align-items:center}
.equipment-column{display:grid;gap:7px;align-content:center}
.equipment-slot{position:relative;width:100%;min-height:58px;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:7px;align-items:center;padding:5px;text-align:left;border:1px solid #744226;background:linear-gradient(rgba(79,32,16,.32),rgba(28,9,5,.44)),url("assets/theme/dark-wood.webp") center/260px auto repeat;color:#e7c690;box-shadow:inset 0 0 0 1px rgba(231,160,87,.16),0 2px 4px rgba(35,10,4,.34);cursor:pointer}
.equipment-slot:hover,.equipment-slot:focus-visible{outline:none;border-color:#c78043;box-shadow:inset 0 0 0 1px rgba(255,213,145,.28),0 0 0 2px rgba(137,79,39,.28)}
.equipment-slot-label{grid-column:2;color:#e6c48f;font-size:9px;font-weight:700;text-shadow:0 1px #1a0704;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.equipment-slot-name{grid-column:2;color:#f0d09e;font:700 10px Georgia,serif;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px #1a0704}
.equipment-slot-art{grid-row:1/3;display:flex;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid #8a5630;background:#180906;box-shadow:inset 0 0 8px #000;color:#86664b;font:700 15px Georgia,serif;overflow:hidden}
.equipment-slot-art img{max-width:100%;max-height:100%;image-rendering:pixelated;object-fit:contain}.equipment-slot-art.missing-art{background:radial-gradient(circle,#3a2114,#170906)}
.equipment-slot:not(.equipped){opacity:.72}.equipment-slot:not(.equipped):hover{opacity:.94}
.rarity-border-uncommon{border-color:#617e36}.rarity-border-rare{border-color:#396a9c}.rarity-border-epic{border-color:#6b438c}.rarity-border-legendary{border-color:#a26526}.rarity-border-unique{border-color:#8c3e34}
.paperdoll-stage{min-width:0;text-align:center}.paperdoll-portrait{position:relative;height:310px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;border:1px solid rgba(77,34,17,.42);background:radial-gradient(ellipse at 50% 78%,rgba(215,164,98,.34),transparent 44%),linear-gradient(rgba(36,13,7,.18),rgba(44,17,9,.36)),url("assets/theme/dark-wood.webp") center/370px auto repeat;box-shadow:inset 0 0 24px rgba(0,0,0,.48)}
.paperdoll-figure-box{position:relative;z-index:2;width:192px;height:256px;max-width:86%;margin-bottom:21px;filter:drop-shadow(0 7px 4px rgba(0,0,0,.72));image-rendering:pixelated}.paperdoll-static,.paperdoll-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.paperdoll-layer{pointer-events:none}.paperdoll-static.fallback-character{object-fit:contain}.paperdoll-floor{position:absolute;z-index:1;left:19%;right:19%;bottom:14px;height:18px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.56),rgba(0,0,0,0) 70%)}
.paperdoll-caption{padding:5px 3px 0;color:#f0d4a1;font-size:9px;font-weight:700;text-shadow:0 1px 0 #1a0704,0 0 4px rgba(0,0,0,.7);text-transform:uppercase;letter-spacing:.06em}.paperdoll-empty-note{margin:0;padding:0 10px 10px;color:#f0d4a1!important;font-size:10px;line-height:1.4;text-shadow:0 1px 0 #1a0704,0 0 4px rgba(0,0,0,.7)}
.character-attributes{min-width:0}.stat-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:9px}.stat-chip{min-width:0;display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px;border:1px solid rgba(62,28,12,.6);background:linear-gradient(rgba(255,238,204,.9),rgba(238,208,160,.9));color:#2b1206;cursor:pointer;text-align:left;box-shadow:inset 0 0 0 1px rgba(255,244,220,.6),0 1px 3px rgba(0,0,0,.35)}.stat-chip:hover,.stat-chip:focus-visible{outline:none;background:linear-gradient(rgba(255,244,214,.97),rgba(246,220,176,.97));border-color:#7a4520}.stat-chip-label{color:#3f2110;font-size:9px;font-weight:700;letter-spacing:.06em;text-shadow:0 1px 0 rgba(255,240,210,.6)}.stat-chip-value{color:#1c0a03;font:700 13px Georgia,serif;text-align:right;text-shadow:0 1px 0 rgba(255,240,210,.6)}.stat-help{margin:0;padding:0 9px 9px;color:#f0d4a1!important;font-size:9px;line-height:1.4;text-shadow:0 1px 0 #1a0704,0 0 4px rgba(0,0,0,.7)}.character-record-heading{margin-top:2px!important}
.game-tooltip{position:fixed;z-index:9999;width:min(330px,calc(100vw - 24px));padding:10px;border:2px solid #8d5531;background:linear-gradient(rgba(37,12,7,.96),rgba(18,6,4,.98)),url("assets/theme/dark-wood.webp") center/340px auto repeat;color:#e9c895;box-shadow:0 0 0 1px #160704,0 10px 28px rgba(0,0,0,.68),inset 0 0 0 1px rgba(238,170,94,.14);font-size:10px;pointer-events:auto}.game-tooltip[hidden]{display:none}.tooltip-head{display:flex;gap:9px;align-items:center;padding-bottom:8px;border-bottom:1px solid rgba(211,147,83,.28)}.tooltip-art{flex:0 0 58px;width:58px;height:58px;display:flex;align-items:center;justify-content:center;border:1px solid #9b6036;background:#100503;color:#936c4d;font:700 10px Georgia,serif;overflow:hidden}.tooltip-art img{max-width:100%;max-height:100%;image-rendering:pixelated;object-fit:contain}.tooltip-art.missing-art{background:radial-gradient(circle,#3b2012,#100503)}.tooltip-title-wrap{min-width:0;display:grid;gap:2px}.tooltip-item-name{font:700 14px Georgia,serif;color:#f0d4a1}.tooltip-meta{color:#b98f67;font-size:8px;text-transform:uppercase;letter-spacing:.06em}.tooltip-section-label{margin-top:8px;color:#b98f67;font:bold 8px Verdana,sans-serif;text-transform:uppercase;letter-spacing:.08em}.tooltip-stats{margin-top:4px;padding-top:2px}.tooltip-stat-row{display:flex;justify-content:space-between;gap:12px;padding:3px 0;color:#c7a27c}.tooltip-stat-row strong{color:#8fc176;font:700 10px Georgia,serif}.tooltip-speed{display:flex;justify-content:space-between;gap:12px;margin-top:7px;padding-top:7px;border-top:1px solid rgba(211,147,83,.18);color:#c7a27c}.tooltip-speed strong{color:#f0d4a1;font:700 10px Georgia,serif}.tooltip-set{margin-top:7px;color:#d2a64d;font:700 10px Georgia,serif}.tooltip-description{margin:7px 0 0;color:#d1b28d!important;font:10px/1.45 Georgia,serif}.tooltip-note{margin-top:7px;color:#92765d;font-size:8px;font-style:italic}.tooltip-stat-name{color:#d0a66f;font:700 10px Georgia,serif;text-transform:uppercase;letter-spacing:.08em}.tooltip-stat-value{margin:3px 0 5px;color:#fff0bd;font:700 24px Georgia,serif}.rarity-uncommon{color:#8fbb63!important}.rarity-rare{color:#6ea3d8!important}.rarity-epic{color:#ab7ad4!important}.rarity-legendary{color:#e0a453!important}.rarity-unique{color:#d57969!important}
@media(max-width:1040px){.character-showcase{grid-template-columns:1fr}.character-attributes{order:2}.stat-chip-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.equipment-rig{grid-template-columns:1fr 1fr}.paperdoll-stage{grid-column:1/-1;grid-row:1}.equipment-column{grid-row:2}.paperdoll-portrait{height:250px}.stat-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.equipment-rig{gap:5px;padding:7px}.equipment-slot{grid-template-columns:38px minmax(0,1fr);min-height:52px}.equipment-slot-art{width:38px;height:38px}.equipment-slot-name{font-size:9px}.paperdoll-portrait{height:220px}.stat-chip-grid{grid-template-columns:1fr 1fr}.game-tooltip{left:12px!important;right:12px!important;top:auto!important;bottom:12px;width:auto}}

/* === Portal V7: accounts, moderation, forum polish === */
.main-nav{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:1fr}
@media(max-width:900px){.main-nav{grid-auto-flow:row;grid-template-columns:repeat(4,1fr)}}
@media(max-width:640px){.main-nav{grid-template-columns:repeat(2,1fr)}}
.main-nav a.nav-staff{color:#ffd98a;background:linear-gradient(rgba(140,84,32,.35),rgba(60,24,10,.5))}
.utility-bar a{color:#e8c48d}
.site-banner{margin:0 0 12px;padding:10px 12px;border:2px solid #8d5f24;background:linear-gradient(#f3d9a4,#e2bd7c);color:#3a1a0a;font:bold 12px Georgia,serif;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.site-banner a{color:#6a2a0c;text-decoration:underline}
.site-banner.inline{margin:6px 0 10px;font-size:11px}
.subtle{color:#7a573d}
/* forum index */
.forum-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px;align-items:start}
.forum-search{display:flex;gap:6px;align-items:center;min-width:280px}
.forum-search input{flex:1;min-width:0}
.forum-search .btn{flex:0 0 auto}
.search-hit{padding:9px 4px;border-bottom:1px solid rgba(74,34,18,.24)}
.search-excerpt{margin:4px 0 0;color:#5a3a26;font-size:11px;white-space:pre-wrap;word-break:break-word}
.thread-badge.staff{margin-left:6px;border-color:#5f5a2a;background:#4f4a1f;vertical-align:middle}
.pinned-row td{background:rgba(255,214,140,.10)}
.member-link{color:#5a2a12;font-weight:bold}
/* pager */
.pager{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;align-items:center;margin:10px 0}
.pager-btn{appearance:none;min-width:30px;padding:5px 8px;border:1px solid #6b3b1f;background:linear-gradient(#5b2c17,#351209);color:#e9c690;font:bold 10px Georgia,serif;cursor:pointer}
.pager-btn:hover:not(:disabled){background:linear-gradient(#7a4020,#44180c)}
.pager-btn.current{background:#b67a41;color:#2b1206;border-color:#e0a867}
.pager-btn:disabled:not(.current){opacity:.4;cursor:default}
.pager-gap{color:#c9a275;padding:0 3px}
/* posts */
.post-author-name{display:block;font:700 14px Georgia,serif;color:#421e0e}
.role-badge{display:inline-block!important;margin-top:4px;padding:2px 6px;border:1px solid #7a492b;background:#5b2b18;color:#edc58e!important;font:bold 8px Verdana,sans-serif!important;text-transform:uppercase;letter-spacing:.06em}
.role-badge.role-admin{background:#7a1f16;border-color:#c0634a;color:#ffe2b8!important}
.role-badge.role-moderator{background:#1f4a6a;border-color:#5e96bd;color:#e0f0ff!important}
.role-badge.role-suspended{background:#555;border-color:#888;color:#eee!important;margin-left:6px}
.post-author-facts{margin-top:8px;display:grid;gap:2px}
.post-author-facts span{margin:0!important;text-transform:none!important;font-size:10px!important;color:#6e4a31!important}
.post-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.post-permalink{color:#7c573e}
.post-edited{font-style:italic}
.post-tools{margin-left:auto;display:flex;gap:4px}
.post-tool{appearance:none;padding:2px 7px;border:1px solid rgba(90,45,20,.5);background:rgba(255,232,195,.35);color:#4c2818;font:bold 9px Georgia,serif;cursor:pointer}
.post-tool:hover{background:rgba(255,236,205,.75)}
.post-quote{margin:4px 0 10px;padding:6px 10px;border-left:3px solid #8a5530;background:rgba(80,35,15,.10);white-space:pre-wrap}
.post-quote-head{font:bold 10px Georgia,serif;color:#6e3f20;margin-bottom:3px}
.edit-form textarea{width:100%}
.edit-form .button-row{margin-top:8px}
.mod-bar-body{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mod-bar-body .btn{flex:0 0 auto}
.mod-move{display:inline-flex;gap:6px;align-items:center}
.mod-move select{max-width:260px}
/* member */
.member-head{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.member-crest{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border:3px solid #3a180e;background:radial-gradient(circle,#8a5530,#3a180e);color:#ffe0a7;font:700 30px Georgia,serif;box-shadow:0 0 0 1px #8d5430}
.member-name{margin:0 0 4px;font:700 26px Georgia,serif;color:#421d0d}
.member-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.member-stats .census-card strong{font-size:15px}
/* staff */
.staff-tabs{grid-template-columns:repeat(4,1fr);margin-bottom:12px;border:1px solid #744226}
.staff-tabs .portal-tab{padding:9px 4px;font-size:11px}
.staff-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.staff-filter input{flex:1 1 200px}
.staff-filter .btn{flex:0 0 auto}
.staff-table select{min-width:120px}
.staff-actions{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.staff-actions .btn{flex:0 0 auto;padding:4px 8px;font-size:10px}
.staff-table tr.row-suspended td{background:rgba(160,120,40,.14)}
.staff-table tr.row-banned td{background:rgba(140,40,30,.14)}
.staff-note{margin:10px 0 0;color:#6e4a31;font-size:10px}
.temp-password{padding:2px 6px;background:#2b1206;color:#ffe0a7;font:bold 13px Consolas,monospace;user-select:all}
.staff-news-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 2px;border-bottom:1px solid rgba(78,36,18,.22)}
.staff-news-row strong{display:block;font:700 12px Georgia,serif;color:#4c2818}
.staff-news-row small{display:block;color:#7b563d;font-size:9px}
.rules-list li{margin-bottom:6px}
.not-found{max-width:620px;margin:20px auto}
@media(max-width:900px){.forum-layout{grid-template-columns:1fr}.member-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.forum-search{min-width:0;width:100%}.post-tools{margin-left:0}}
/* V7 contrast pass */
.forum-table th.cell-num{color:#f0d4a1!important}
.forum-table td.cell-num{color:#3f2110!important;font-weight:bold}
.forum-desc{color:#5a3520}
.forum-desc a{color:#4c210f;font-weight:bold}
.subtle{color:#6a4428}
.post-meta,.post-permalink{color:#5a3520}
.post-author-facts span{color:#56361f!important}
.form-hint{color:#5a3a24!important}
.archive-link small,.staff-news-row small{color:#5e3b24}
.realm-stat-line span{color:#4c2c18}
.forum-search input{padding:8px 10px;border:2px solid #9a6037;background:#f2d9ae;color:#2b1206}
.forum-search input::placeholder{color:#6e4a31}
.staff-filter input,.staff-filter select{width:auto;flex:0 1 180px}
.staff-filter input{flex:1 1 220px}
.staff-table td{vertical-align:middle}
.staff-table .forum-desc{word-break:break-all}
.portal-census{grid-template-columns:repeat(4,1fr)}
@media(max-width:640px){.portal-census{grid-template-columns:repeat(2,1fr)}}
.census-card span{color:#56361f}
.tiny-note{color:#56361f}
.newcomer-links span{color:#5e3b24}
.account-overview-row{color:#4c2c18}
[hidden]{display:none!important}
.class-portal-row small{color:#5e3b24!important}
.mini-empty span{color:#5e3b24!important}
