.room-arrival { margin-bottom: 18px; }
.room-arrival .room-scene { margin-bottom: 0; border-radius: 6px 6px 0 0; }
.room-company { border: 1px solid #604733; border-top: 0; border-radius: 0 0 6px 6px; padding: 12px clamp(9px,2vw,20px); background: linear-gradient(115deg,#2b1e16,#1a140f 75%); display: grid; grid-template-columns: auto 1fr auto; gap: 9px 14px; align-items: start; }
.room-company > h2 { margin: 3px 0; font-size: 1.35rem; color: #e8c499; }
.room-npcs { display: grid; gap: 7px; grid-template-columns: repeat(auto-fit,minmax(min(100%,185px),1fr)); }
.room-npc { display: grid; grid-template-columns: 52px minmax(0,1fr) auto; align-items: center; gap: 9px; min-width: 0; min-height: 64px; padding: 5px 9px 5px 5px; text-align: left; border: 1px solid #664e37; border-radius: 4px; background: #1a1410; color: #f2e4d1; transition: background .2s,border-color .2s; }
.room-npc:hover,.room-npc:focus-visible { background: #352419; border-color: #c19566; }
.room-npc img { width: 52px; height: 52px; display: block; object-fit: cover; object-position: center 31%; border: 1px solid #987051; border-radius: 3px; }
.room-npc-copy { display: grid; gap: 2px; overflow-wrap: anywhere; }
.room-npc-copy strong { font-size: .85rem; line-height: 1.2; }
.room-npc-copy small,.room-player small { color: var(--muted); font-size: .71rem; line-height: 1.22; }
.room-npc-copy .quest-marker { color: #dfb879; }
.room-npc-copy .quest-marker.is-ready { color: #f5d190; font-weight: 700; }
.room-npc-arrow { color: var(--gold); font: 1.45rem/1 var(--serif); }
.room-presence { color: #d7bb9b; font-size: .82rem; }
.room-presence[open] { grid-column: 1 / -1; }
.room-presence summary { padding: 5px 0; cursor: pointer; }
.room-presence summary b { color: var(--gold); margin-inline-start: 3px; }
.room-presence > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 5px; }
.room-player { display: inline-flex; align-items: center; gap: 6px; padding: 2px 6px; border: 1px solid #634837; background: #20160f; text-align: left; }
.room-player img { display: block; width: 30px; height: 36px; object-fit: contain; }
.adventure-dialog.is-conversation { width: min(840px,96vw); border-radius: 7px; padding: 0; background: #19120e; }
.is-conversation .character-head { position: sticky; top: 0; z-index: 2; padding: 13px clamp(10px,3vw,25px); border-bottom: 1px solid #674b34; background: linear-gradient(110deg,#3b291c,#211710); }
.is-conversation .character-head h2 { font-size: clamp(1.8rem,5.5vw,2.6rem); }
.is-conversation #adventure-body { padding: clamp(10px,3vw,24px); }
.is-conversation #adventure-status:not(:empty) { margin: 8px 20px 0; }
.resident-dialogue { display: grid; grid-template-columns: minmax(135px, .66fr) minmax(0,1.5fr); gap: clamp(10px,3vw,22px); align-items: start; }
.resident-portrait { border: 1px solid #795639; border-radius: 5px; overflow: hidden; background: #322218; }
.resident-portrait img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1.12; object-fit: cover; object-position: center 29%; }
.resident-portrait div { display: grid; gap: 3px; padding: 7px 10px; color: #edc79a; font-size: .79rem; }
.resident-portrait small { color: var(--muted); }
.resident-story { min-width: 0; }
.resident-exchange { display: grid; gap: 9px; margin-bottom: 15px; }
.resident-reply,.resident-question { margin: 0; padding: 10px 13px; border: 1px solid #725238; border-radius: 0 6px 6px; background: #302116; color: #f3e0c9; line-height: 1.44; }
.resident-question { justify-self: end; background: #20231e; border-color: #56614b; border-radius: 6px 0 6px 6px; max-width: 92%; }
.resident-question b { display: block; color: #c6d3a5; font-size: .73rem; }
.resident-reply.is-answer,.resident-question { animation: dialogue-in .22s ease-out both; }
@keyframes dialogue-in { from { opacity: .4; translate: 0 4px; } }
.resident-topics { justify-items: stretch; }
.resident-topics h3 { font-size: 1.22rem; margin: 0 0 3px; }
.resident-topics button { display: flex; justify-content: space-between; gap: 8px; min-height: 40px; padding: 6px 10px; align-items: center; background: #1e1712; border: 1px solid #55402e; border-radius: 3px; color: #ebd9c2; }
.resident-topics button:hover,.resident-topics button[aria-pressed=true] { background: #39291d; border-color: #bd9167; }
.resident-topics button span:last-child { color: var(--gold); }
.resident-task-list { margin-top: 17px; border-top: 1px solid #654631; padding-top: 13px; }
.resident-task-list .adventure-card { border-color: #816246; }
.is-wardrobe { padding: 0; border-radius: 8px; background: #141110; }
.is-wardrobe #character-body { padding: 0 clamp(9px,2vw,18px) 15px; }
.is-wardrobe .character-equipped { grid-template-columns: minmax(0,1.11fr) minmax(0,1fr); }
.is-wardrobe .wardrobe { background: radial-gradient(ellipse at 50% 40%,#503726 0%,#1f1814 55%,#171311 82%); }
.is-wardrobe .wardrobe .model-stage { grid-template-columns: minmax(68px,1fr) minmax(95px,1.65fr) minmax(68px,1fr); min-height: unset; gap: 6px; }
.is-wardrobe .wardrobe .model-stage [data-mannequin] { max-height: 350px; min-height: 0; height: auto; object-fit: contain; }
.is-wardrobe .wardrobe .gear-cell { border: 1px solid #614c39; border-radius: 5px; background: radial-gradient(ellipse at 50% 15%,#36281e,#1c1713 73%); }
.is-wardrobe .wardrobe .gear-cell.filled { border-bottom: 2px solid var(--kit); }
.is-wardrobe .wardrobe .gear-cell:hover,.is-wardrobe .wardrobe .gear-cell[aria-pressed=true] { border-color: #dcb081; background: radial-gradient(ellipse at 50% 12%,#5c3d27,#291e18 80%); box-shadow: 0 0 0 1px #d5a16f4f; }
.is-wardrobe .wardrobe .gear-cell .item-art,.is-wardrobe .wardrobe .gear-placeholder { background: none; }
.is-wardrobe .wardrobe .gear-cell .gear-name strong { font-size: .72rem; }
.wardrobe-inspector { min-width: 0; }
.equipped-details header { display: flex; align-items: start; justify-content: space-between; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.equipped-details header .button { margin-top: 0; }
.equipped-pieces { display: grid; gap: 7px; }
.equipped-pieces.is-comparing { grid-template-columns: repeat(2,minmax(0,1fr)); }
.equipped-piece { min-width: 0; padding: 7px; border: 1px solid #654b35; border-radius: 5px; background: #1d1611; }
.equipped-piece-title { display: grid; grid-template-columns: clamp(37px,6vw,60px) minmax(0,1fr); gap: 8px; align-items: center; min-height: 60px; }
.equipped-piece-title .item-art,.equipped-piece-title .gear-placeholder { height: 58px; object-fit: contain; border: 1px solid #765437; background: #2f2118; border-radius: 4px; }
.equipped-piece-title h3 { font-size: clamp(.95rem,1.7vw,1.35rem); overflow-wrap: anywhere; margin: 3px 0; }
.equipped-piece-title .kit-label { font-size: .71rem; overflow-wrap: anywhere; }
.character-backpack .inventory-title h2 { margin: 0; }
.bag-grid .backpack-card { border-top: 2px solid var(--item-color); }
.bag-grid .backpack-card .gear-card-art { background: radial-gradient(ellipse,#504033 0%,#272018 59%,#1b1511 92%); }
.bag-grid .backpack-card .gear-card-name { min-height: 75px; }
.bag-grid .backpack-card .gear-card-name .caption { margin-bottom: 4px; font-size: .73rem; }
@media (max-width: 850px) {
  .is-wardrobe .character-equipped { grid-template-columns: minmax(0,1fr); }
  .room-company { grid-template-columns: 1fr auto; }
  .room-npcs { grid-row: 2; grid-column: 1 / -1; }
}
@media (max-width: 580px) {
  .room-npcs { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .room-npc:only-child { grid-column: 1 / -1; }
  .room-npc { grid-template-columns: 40px minmax(0,1fr) auto; gap: 5px; padding-right: 5px; }
  .room-npc img { width: 40px; height: 46px; }
  .resident-dialogue { grid-template-columns: minmax(77px,.63fr) minmax(0,2fr); gap: 8px; }
  .resident-portrait div { padding: 5px; overflow-wrap: anywhere; }
  .resident-reply,.resident-question { padding: 7px; font-size: .87rem; }
  .is-wardrobe .wardrobe { padding: 8px; }
  .is-wardrobe .wardrobe .model-stage { grid-template-columns: minmax(60px,1fr) minmax(74px,1.45fr) minmax(60px,1fr); gap: 4px; }
  .is-wardrobe .wardrobe .model-stage .gear-column { grid-template-rows: repeat(4,minmax(62px,1fr)); }
  .is-wardrobe .wardrobe .gear-cell { padding: 3px; grid-template-rows: 31px auto; }
  .is-wardrobe .wardrobe .gear-cell .item-art,.is-wardrobe .wardrobe .gear-placeholder { height: 31px; }
  .equipped-pieces.is-comparing .equipped-piece-title { display: flex; flex-wrap: wrap; }
  .equipped-pieces.is-comparing .equipped-piece-title .item-art { width: 46px; height: 46px; }
}
@media (prefers-reduced-motion: reduce) {
  .resident-reply.is-answer,.resident-question { animation: none; }
}

body:has(.city-chat:not([hidden])) { padding-bottom: calc(52px + env(safe-area-inset-bottom)); }
.city-chat { position: fixed; z-index: 10; bottom: 0; inset-inline: 0; max-width: 940px; max-height: 70dvh; overflow: auto; margin-inline: auto; border: 1px solid #8c6747; border-radius: 7px 7px 0 0; background: #211710; box-shadow: 0 -4px 25px #100a07a0; }
.city-chat [hidden],#clans [hidden] { display: none !important; }
.city-dock { position: sticky; bottom: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 4px 6px max(4px,env(safe-area-inset-bottom)); background: linear-gradient(95deg,#3b281c,#221911 78%); color: #f1d6b2; }
.city-dock button { flex: 0 0 auto; min-height: 39px; padding: 4px 8px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: inherit; font: inherit; font-size: .84rem; white-space: nowrap; }
.city-dock button:hover,.city-dock button[aria-expanded=true] { border-color: #946847; background: #49301e; color: #ffe2b0; }
.city-dock button > span { color: #e2ab6d; }
.city-dock button b { margin-inline-start: 2px; color: #ffe7a8; }
.city-dock-channel { margin-inline-start: auto; color: #d1ae87; font-size: .78rem; }
.city-dock .city-dock-veche { background: #48321f; border-color: #af8057; min-height: 30px; }
@media(max-width: 540px) {
  .city-dock { gap: 1px; justify-content: space-around; }
  .city-dock button { padding-inline: 5px; font-size: .78rem; }
  .city-dock-channel { display: none; }
  body:has(.city-dock-veche:not([hidden])) { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
}
.chat-drawer { display: grid; gap: 5px; padding: 5px 10px 7px; }
.chat-drawer header { display: flex; flex-wrap: wrap; gap: 4px; justify-content: space-between; }
.chat-tabs,.chat-threads { display: flex; gap: 4px; overflow-x: auto; }
.chat-tabs button,.chat-threads button,.chat-drawer button { padding: 4px 9px; min-height: 34px; border: 1px solid #6e5037; background: #291d14; border-radius: 4px; color: #e7ceb0; }
.chat-tabs button,.chat-threads button { flex: 0 0 auto; }
.chat-tabs button[aria-pressed=true],.chat-threads button[aria-pressed=true] { background: #4e3321; border-color: #c49160; color: #ffe4b9; }
.chat-drawer [data-chat-stream] { max-height: min(28dvh,210px); overflow-y: auto; padding: 6px 8px; min-height: 56px; background: #16110e; border: 1px solid #624630; border-radius: 4px; }
.chat-thread-title { margin-bottom: 4px; color: #debb92; font-size: .83rem; font-weight: 700; }
.chat-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: 1px 7px; padding: 3px 0; color: #e9d7c1; font-size: .86rem; border-top: 1px solid #463123; }
.chat-line time { font: .72rem var(--sans); color: #b59c81; }
.chat-line span { white-space: pre-wrap; overflow-wrap: anywhere; }
.chat-drawer .chat-name { padding: 0; border: 0; background: none; min-height: 0; color: #eac48d; text-decoration: underline; }
.chat-line.is-mine b { color: #bad0a5; }
.chat-drawer form { display: flex; gap: 5px; }
.chat-drawer input { flex: 1; min-width: 0; padding: 5px 8px; }
.chat-drawer [data-chat-status] { margin: 0; color: #f0b39e; font-size: .78rem; }
.chat-drawer [data-chat-status]:empty,#clans [data-clan-status]:empty { display: none; }
#clans { width: min(800px,96vw); border-radius: 7px; }
#clans [data-clan-body] { display: grid; gap: 12px; }
#clans section { border-top: 1px solid #765133; padding-top: 9px; }
#clans section > h3 { margin: 0 0 8px; }
.oath-grid,.clan-directory { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.oath-card,.clan-entry,.clan-review { min-width: 0; padding: 8px; background: #231810; border: 1px solid #6e4f37; border-radius: 4px; }
.oath-card { display: flex; align-items: start; gap: 8px; }
.oath-card > span { color: var(--oath); font: 1.7rem/1 var(--serif); }
.oath-card h4 { margin: 0; color: var(--oath); }
.oath-card p,.clan-entry p { margin: 4px 0; font-size: .83rem; }
.oath-card.is-chosen { border-color: var(--oath); }
.clan-entry,#clans form { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; }
.clan-entry { align-items: center; }
#clans form { margin-block: 7px; }
#clans form label { min-width: 0; overflow: hidden; }
#clans form input { max-width: min(100%,280px); }
.clan-crest { display: block; width: 48px; height: 48px; object-fit: contain; background: #2e221a; border: 1px solid #947152; border-radius: 4px; }
.clan-roster { padding-inline-start: 18px; }
@media (max-width: 520px) {
  .chat-tabs button,.chat-threads button,.chat-drawer button { padding-inline: 6px; }
  .chat-drawer [data-chat-stream] { max-height: 24dvh; }
  .oath-grid { grid-template-columns: 1fr; }
}
.fighter-clan { display: inline-flex; align-items: center; gap: 5px; }
.fighter-clan img { object-fit: contain; }
.chat-city-tools { display: flex; gap: 4px; }

.chat-drawer .veche-announcement { text-align: left; background: #48321f; border-color: #d7a777; color: #ffe1a7; }
#veche { width: min(700px,96vw); border-radius: 7px; }
#veche section { padding: 10px 0; border-top: 1px solid #694e38; }
#veche form[data-veche-nominate] { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; margin-top: 8px; }
.veche-member { padding: 7px; border-left: 2px solid #cfaa74; background: #302219; color: #f6d5a2; }
.veche-candidates { display: grid; gap: 6px; }
#veche [data-veche-status]:empty { display: none; }

.room-arrival .room-company { display: block; }
.room-arrival .room-npcs { grid-template-columns: repeat(3,minmax(0,1fr)); }
.room-arrival .room-npc { height: 76px; }
.room-arrival .room-npc-copy strong,.room-arrival .room-npc-copy small { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.chat-body { display: grid; grid-template-columns: minmax(0,1fr) minmax(100px,23%); gap: 6px; }
.chat-nearby { min-width: 0; border: 1px solid #624630; border-radius: 4px; padding: 5px; background: #18120e; color: #d9ba98; }
.chat-nearby strong { display: block; border-bottom: 1px solid #483326; font-size: .72rem; padding-bottom: 3px; }
.chat-nearby ul { margin: 0; padding: 0; list-style: none; max-height: min(24dvh,170px); overflow-y: auto; }
.chat-nearby li { font-size: .72rem; }
.chat-nearby button { min-height: 32px; width: 100%; background: none; border: 0; text-align: left; padding: 3px 1px; overflow-wrap: anywhere; }
.chat-nearby button:hover { color: #f1cf92; }
.quest-reward { border-left: 2px solid #be975b; padding: 5px 7px; margin-block: 6px; background: #2b2016; color: #e9c58d; font-size: .85rem; }
@media(max-width: 670px) {
  .room-arrival .room-npcs { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .room-arrival .room-npc:only-child { grid-column: auto; }
}
@media(max-width: 450px) {
  .room-arrival .room-npc { grid-template-columns: 34px minmax(0,1fr); height: 76px; }
  .room-arrival .room-npc img { width: 34px; height: 46px; }
  .room-npc-arrow { display: none; }
  .room-arrival .room-npc-copy strong { font-size: .78rem; }
}

#war { width: min(710px,96vw); }
#war section { padding: 9px 0; border-top: 1px solid #775538; }
#war [role="status"]:empty { display: none; }
.war-entries { padding-inline-start: 20px; }
.war-rank { overflow-x: auto; }
.war-rank table { width: 100%; border-collapse: collapse; }
.war-rank th,.war-rank td { text-align: right; padding: 5px; border-bottom: 1px solid #654a31; }
.war-rank th:first-child,.war-rank td:first-child { text-align: left; }
.rune-control,.element-practice { padding: 7px; margin-block: 8px; border: 1px solid #7e593a; background: #302119; border-radius: 4px; }
.rune-control label { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

#elements{width:min(830px,96vw)}
#elements [data-element-status]:empty{display:none}
#elements .oath-card h3{font-size:1.5rem;color:var(--oath)}
#elements .element-practice form{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-top:7px}
#elements .element-practice select{max-width:100%}

.city-chat { background: #19140f; border-color: #a1774d; }
.chat-drawer { padding: 8px 11px; }
.chat-line { display: block; padding: 5px 6px; }
.chat-line header { justify-content: start; align-items: baseline; }
.chat-line header .chat-reply { min-height: 27px; padding: 1px 6px; margin-left: auto; color: #e7bd7e; }
.chat-line p { margin: 2px 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.chat-line.has-mention { background: #392c1b; box-shadow: inset 2px 0 #cb985e; }
.chat-line blockquote { margin: 3px 0; padding: 3px 6px; border-left: 2px solid #9a7151; color: #c7b49d; background: #312319; font-size: .76rem; overflow-wrap: anywhere; }
.chat-at { color: #dfb478; }
.chat-nearby li:has(button) { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; }
.chat-nearby [data-chat-mention] { width: 24px; text-align: center; color: #d9a676; }
.chat-intent { display: flex; align-items: center; justify-content: space-between; background: #36271b; color: #f3d5ae; padding-left: 7px; font-size: .8rem; }
.chat-emojis { display: grid; grid-template-columns: repeat(auto-fit,minmax(32px,1fr)); gap: 3px; }
.chat-emojis button { padding: 2px 4px; font-size: 1.13rem; }
.chat-drawer .emoji-toggle { font-size: 1.22rem; padding-inline: 8px; }

.settings-tabs { margin-block: 13px; }
.player-settings { display: grid; gap: 12px; }
.profile-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap: 9px; }
.avatar-choices { display:flex; flex-wrap:wrap; gap:7px; border:1px solid #684b35; padding:8px; }
.avatar-choices label { position:relative; margin:0; }
.avatar-choices input { position:absolute; inset:5px auto auto 7px; accent-color:#efbe7d; }
.avatar-choices span { display:grid; justify-items:center; align-items:end; width:78px; min-height:106px; border:1px solid #725337; border-radius:4px; background:#281f18; padding:4px; text-align:center; font-size:.69rem; }
.avatar-choices input:checked+span { border-color:#efbe7d; color:#f8d6a6; }
.avatar-choices img { object-fit:contain; }
.profile-avatar { display:inline-block; margin-right:7px; object-fit:cover; object-position:center top; border:1px solid #af7e52; border-radius:50%; vertical-align:middle; background:#2d2119; }
@media(max-width:540px){.profile-fields{grid-template-columns:minmax(0,1fr)}}

.guide-tabs { margin-block: 11px; }
.guide-page { padding-top: 11px; border-top: 1px solid #78583b; }
.guide-page > p { margin-block: 7px; }
.guide-animals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-block:9px; }
.guide-animals article { display:grid; grid-template-columns:auto minmax(0,1fr); gap:7px; align-items:start; border:1px solid #614733; background:#231a13; padding:6px; border-radius:4px; }
.guide-animals img { object-fit:contain; }
.guide-animals h4 { margin:0; color:#ecc69d; }
@media(max-width:650px){.guide-animals{grid-template-columns:minmax(0,1fr)}}
.premium-cash{background:#312519;border:1px solid #9d7852;border-radius:4px;padding:3px 7px;color:#f3c78d;font-size:.76rem;white-space:nowrap}
#rubles{width:min(440px,95vw)}
#rubles [data-ruble-status]:empty{display:none}

.character-head-actions { display:flex; align-items:center; gap:7px; }
.character-head-actions [hidden],.character-level[hidden] { display:none; }
#character.is-wardrobe > .character-head { position:sticky; z-index:3; top:0; padding:11px clamp(12px,3vw,25px); border-bottom:1px solid #856749; background:linear-gradient(100deg,#33261e,#1c1713 82%); }
.character-level { margin:0 0 2px; color:#c7a77e; font-size:.79rem; }
#character.is-wardrobe #character-body { padding: clamp(9px,2vw,16px); }
.is-wardrobe .wardrobe { border:1px solid #70563a; border-radius:6px; gap:8px; overflow:hidden; background:radial-gradient(ellipse at 50% 46%,#493424,#251d17 45%,#171411 79%); }
.wardrobe .wardrobe-title h2,.wardrobe-inspector h2,.character-backpack h2 { font-size:clamp(23px,3vw,29px); }
.wardrobe .model-stage { grid-template-columns:minmax(55px,78px) minmax(0,1fr) minmax(55px,78px); }
.is-wardrobe .wardrobe .model-stage { grid-template-columns:minmax(55px,78px) minmax(0,1fr) minmax(55px,78px); }
.wardrobe .model-stage > .gear-column { grid-template-rows:repeat(4,minmax(59px,1fr)); }
.wardrobe .model-figure { position:relative; isolation:isolate; }
.wardrobe .model-figure::before { position:absolute; content:""; inset:1% 13% 13%; z-index:-1; border:1px solid #b68b5740; border-radius:45% 45% 7% 7%; background:radial-gradient(ellipse at 50% 60%,#835b3933,transparent 75%); }
.wardrobe .model-figure .model-actions { display:flex; justify-content:center; gap:10px; }
.wardrobe .model-actions .button { min-width:38px; min-height:38px; padding:3px 8px; background:#1f1815d9; color:#e3bd86; }
.wardrobe .equipment-slot-tile { align-content:center; grid-template-rows:35px auto; }
.wardrobe .equipment-slot-tile .item-art,.wardrobe .equipment-slot-tile .gear-placeholder { height:35px; }
.wardrobe .equipment-slot-tile .gear-name small { color:#d6ba97; font-size:.69rem; }
.wardrobe .ornament-row { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); width:min(100%,350px); gap:6px; padding-top:8px; border-top:1px solid #7b6143; }
.wardrobe .ornament-row .ornament-slot { min-height:45px; aspect-ratio:1.17; position:relative; display:grid; grid-template-rows:1fr; align-items:center; justify-items:center; padding:3px; border:1px solid #846540; border-radius:5px; background:radial-gradient(ellipse,#34261c,#1d1713 76%); }
.wardrobe .ornament-row .ornament-slot[aria-pressed=true] { border-color:#e5b583; background:radial-gradient(ellipse,#633c25,#291e17 76%); box-shadow:inset 0 0 0 1px #c68f5470; }
.wardrobe .ornament-row .ornament-slot .item-art { height:100%; max-height:39px; width:92%; background:transparent; }
.wardrobe .ornament-row .ornament-slot.is-locked { border-style:dashed; background:#1b1612; }
.ornament-shape { position:relative; height:18px; width:19px; border:1px solid #a98659; border-radius:50%; opacity:.6; }
.ring-shape::after { content:""; position:absolute; width:6px; height:6px; top:-3px; left:50%; border:1px solid #a98659; background:#231a14; transform:translateX(-50%) rotate(45deg); }
.earring-shape { width:13px; height:16px; transform:translateY(-2px); }
.earring-shape::after { content:""; position:absolute; width:5px; height:5px; bottom:-5px; left:50%; border:1px solid #a98659; background:#231a14; transform:translateX(-50%) rotate(45deg); }
.is-locked .ornament-shape { opacity:.28; }
.ornament-lock { position:absolute; bottom:5px; right:6px; width:8px; height:6px; border:1px solid #be9d75; border-radius:1px; background:#231a13; }
.ornament-lock::before { position:absolute; content:""; inset:-5px 1px auto; height:4px; border:1px solid #be9d75; border-bottom:0; border-radius:5px 5px 0 0; }
.wardrobe-values { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; margin:8px 0; }
.wardrobe-values div { padding:6px 3px; min-width:0; border:1px solid #574334; border-radius:4px; background:#271e17; text-align:center; }
.wardrobe-values dt { color:#d0b79a; font-size:.72rem; overflow-wrap:anywhere; }
.wardrobe-values dd { margin:2px 0 0; color:#f0d3a9; font-size:1.06rem; font-weight:700; font-variant-numeric:tabular-nums; }
.wardrobe-stat-details summary { cursor:pointer; color:#d8b17d; padding:5px 0; }
.wardrobe-inspector > .panel { background:#201a16; border-color:#6a5039; }
.is-wardrobe .equipped-details > .item-spec { grid-template-columns:repeat(2,minmax(0,1fr)); }
.is-wardrobe .character-backpack { border-color:#72583c; }
#character.is-settings { border-radius:7px; background:linear-gradient(145deg,#2b2119,#191411 57%); }
#character.is-settings .character-head { padding-bottom:8px; border-bottom:1px solid #70543b; }
#character.is-settings .settings-tabs { gap:6px; margin:11px 0 14px; }
#character.is-settings .settings-tabs button[aria-pressed=true] { color:#f4d5a7; border-color:#b0875e; background:#402d20; }
#player-settings { grid-template-columns:minmax(180px,.85fr) minmax(0,1.2fr); gap:clamp(9px,3vw,19px); align-items:start; }
#player-settings .avatar-panel { min-width:0; margin:0; padding:9px; border:1px solid #735638; border-radius:5px; background:#211913; }
.avatar-panel legend { padding:0 6px; color:#e6c59a; font:700 1.26rem/1.2 var(--serif); }
.settings-avatar { height:174px; display:grid; place-items:center; border:1px solid #705036; border-radius:5px; overflow:hidden; background:radial-gradient(ellipse at 50% 45%,#5b3d27,#241a15 71%); }
.settings-avatar img { display:block; width:100%; height:163px; object-fit:contain; filter:drop-shadow(1px 5px 5px #0a08069c); }
#player-settings .avatar-choices { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:7px; padding:0; border:0; gap:4px; }
#player-settings .avatar-choices label { display:block; cursor:pointer; }
#player-settings .avatar-choices input { width:1px; height:1px; opacity:0; }
#player-settings .avatar-choices span { display:grid; place-items:center; width:100%; height:48px; min-height:0; padding:2px; }
#player-settings .avatar-choices img { width:100%; height:40px; }
#player-settings .avatar-choices input:focus-visible+span { outline:2px solid #e2b583; outline-offset:2px; }
#player-settings .avatar-choices input:checked+span { background:#4c3322; box-shadow:inset 0 -2px #dba56d; }
#player-settings .profile-fields { gap:12px; padding:12px; border:1px solid #6a5039; border-radius:5px; background:#211914; }
#player-settings .profile-fields label { min-width:0; display:grid; align-content:start; gap:5px; color:#ead1b4; font-size:.88rem; }
#player-settings .profile-fields input,#player-settings textarea { width:100%; min-width:0; }
#player-settings .profile-about,#player-settings .profile-save { grid-column:1/-1; }
#player-settings .profile-save { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
#player-settings .profile-save .character-message { margin:0; }
.guide-xp-summary { display:flex; flex-wrap:wrap; gap:5px 12px; justify-content:space-between; padding:8px; margin:7px 0; border:1px solid #826345; border-radius:5px; background:#322319; color:#eed0a7; font-size:.87rem; }
.guide-xp-summary span { color:#dfb985; }
.xp-guide-rank table { min-width:0; font-size:clamp(.74rem,2.8vw,.9rem); }
.xp-guide-rank tbody th { text-align:left; font-weight:600; }
.xp-guide-rank tbody small { display:block; margin-top:2px; color:#b9a38a; font-size:.68rem; }
.xp-guide-rank .xp-passed { background:#263323; color:#d1e3c0; }
.xp-guide-rank .xp-passed small { color:#bed4a8; }
.xp-guide-rank .xp-next { background:#49351f; color:#ffe0ae; box-shadow:inset 3px 0 #e1ab66; }
.xp-guide-rank .xp-next small { color:#f3cb90; }
.xp-guide-rank .xp-future { color:#c4af98; }
.xp-guide-rank .xp-level-row th { font-weight:800; }
@media (max-width:650px) {
  .wardrobe .model-stage > .gear-column { grid-template-rows:repeat(4,minmax(55px,1fr)); }
  .is-wardrobe .wardrobe .model-stage { grid-template-columns:minmax(55px,69px) minmax(0,1fr) minmax(55px,69px); }
  #player-settings { grid-template-columns:minmax(0,1fr); }
  #player-settings .profile-fields { grid-template-columns:minmax(0,1fr); }
  .settings-avatar { height:134px; }
  .settings-avatar img { height:124px; }
}
.blood-label,.injury-note { color:#f2b1a4; }
.injury-note:not([hidden]) { padding:6px 8px; border-left:2px solid #d87e71; background:#452721; font-size:.85rem; }
.injury-desk { border-top:1px solid #76553a; margin-top:13px; padding-top:10px; }
.injury-desk .button { margin-top:7px; }

.chat-system .chat-message-line { color: #e6cfaf; }
.chat-system strong { color: #efbf87; }
