#game-space { min-width: 0; }
#main.has-player-rail { display:grid; grid-template-columns:minmax(155px,190px) minmax(0,1fr); align-items:start; gap:clamp(9px,1.6vw,19px); }
#player-rail { position:sticky; top:12px; min-width:0; }
.player-rail-card { display:grid; gap:8px; padding:10px; border:1px solid #745237; background:linear-gradient(155deg,#2c2117,#18130f 70%); box-shadow:0 8px 16px #0004; }
.player-rail-card p { margin:0; }
.player-rail-head { display:flex; align-items:center; gap:7px; text-align:left; min-width:0; padding:0; border:0; background:none; color:var(--light); }
.player-rail-head img { object-fit:contain; max-width:40%; filter:drop-shadow(2px 4px 5px #070604); }
.player-rail-head span { display:grid; gap:4px; overflow-wrap:anywhere; }
.player-rail-head strong { color:#f5d8ad; font:700 1.17rem/1.1 var(--serif); }
.player-rail-head small { color:#caac8a; }
.rail-vitals { display:grid; gap:5px; }
.rail-vitals div { display:flex; justify-content:space-between; gap:4px; border-bottom:1px solid #5b4433; padding-bottom:3px; font-size:.72rem; }
.rail-vitals b,.compact-stat-list dd { color:#edd0aa; font-variant-numeric:tabular-nums; white-space:nowrap; }
.compact-stat-list { margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
.compact-stat-list div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:2px 4px; padding:4px; background:#18130e; border:1px solid #4a382a; font-size:.69rem; }
.compact-stat-list dd { margin:0; font-weight:700; }
.has-player-rail #game-space .layout { grid-template-columns:minmax(0,1fr) minmax(160px,24%); gap:12px; }
.is-recruit .header nav button:is([data-open-map],[data-open-arena],[data-adventure="quests"]),.is-recruit .header .service-link,.is-recruit .header .premium-cash { display:none; }
.recruit-yard { overflow:hidden; }
.recruit-yard-art { padding:clamp(16px,3vw,33px); background:linear-gradient(90deg,#140d09ef,#140d0955),url('arena.webp') center 55% / cover; }
.recruit-yard-art h1 { font-size:clamp(31px,4.5vw,60px); }
.recruit-yard-content { display:grid; gap:15px; padding:clamp(10px,3vw,23px); }
.recruit-guard { display:grid; grid-template-columns:76px minmax(0,1fr); align-items:center; gap:12px; }
.recruit-guard img { display:block; width:76px; height:92px; object-fit:cover; border:1px solid #a77b53; }
.recruit-guard h2 { font-size:clamp(1.3rem,3vw,1.75rem); }
.recruit-guard p,.recruit-task p { margin:5px 0; }
.recruit-task { border:1px solid #664c37; background:#211912; padding:clamp(9px,3vw,18px); }
.recruit-supplies { flex-wrap:wrap; margin-block:6px; }
.recruit-supplies:empty { display:none; }
.sparring-hint { padding:8px; border-inline-start:2px solid #b88d61; background:#35251a; margin-bottom:8px; font-size:.82rem; }
.sparring-hint p { margin:3px 0 0; }
.modes .mode:disabled { opacity:.55; cursor:default; }
.sparring-mannequin { padding:5px 0; }
.militia-gathering { display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:space-between; border-color:#a58859; }
.militia-gathering p { margin:5px 0 0; color:#e5c19a; }
.is-registration .register-sex { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.is-registration .hero-choices { grid-template-columns:repeat(auto-fit,minmax(62px,1fr)); }
#player-settings .avatar-choices { grid-template-columns:repeat(4,minmax(0,1fr)); }

.encounter { display:grid; gap:13px; }
.encounter-stage { display:block; min-height:0; background-position: center 63%; border-color:#775538; }
.encounter-stage::before { background:linear-gradient(180deg,#1a110be8,#21181092 43%,#19100ce0); }
.encounter-stage .combat-top { padding:clamp(8px,1.3vw,16px); align-items:center; }
.encounter-stage .combat-top h1 { font-size:clamp(29px,4vw,50px); }
.encounter-actions { display:flex; justify-content:end; flex-wrap:wrap; gap:5px; }
.encounter-actions .button { min-height:34px; padding:4px 8px; font-size:.77rem; }
.deal-button strong { padding:1px 4px; border-radius:9px; background:#e2a667; color:#281809; }
.encounter-grid { display:grid; grid-template-columns:minmax(188px,.94fr) minmax(310px,1.48fr) minmax(188px,.94fr); gap:clamp(6px,1.25vw,15px); align-items:start; padding:0 clamp(6px,1.5vw,16px) clamp(7px,1.5vw,16px); }
.fighter-board,.encounter-turn { min-width:0; }
.fighter-board { display:grid; gap:6px; padding:8px; background:linear-gradient(175deg,#2a2119f7,#19130eea); border:1px solid #8c6e52; box-shadow:0 6px 16px #0006; }
.fighter-board.allied { border-top:2px solid #a7b581; }
.fighter-board.opposed { border-top:2px solid #cd8e79; }
.fighter-board header { min-height:118px; display:grid; gap:3px; align-content:start; }
.fighter-board h2 { margin:0; font-size:clamp(1.05rem,2vw,1.55rem); line-height:1.1; overflow-wrap:anywhere; }
.fighter-board h2 button { text-align:left; overflow-wrap:anywhere; text-decoration-color:#92735c; }
.fighter-board-identity,.fighter-meter > div:first-child { display:flex; justify-content:space-between; column-gap:2px; font-size:.75rem; }
.fighter-board-identity { color:#d2ab86; }
.fighter-meter strong { color:#f2dec3; white-space:nowrap; }
.fighter-meter .bar { margin:2px 0 0; }
.fighter-meter.health .bar i { background:#9eba7f; }
.opposed .fighter-meter.health .bar i { background:#c47769; }
.fighter-meter.energy .bar i { background:#cfa369; }
.fighter-board-gear { display:grid; grid-template-columns:minmax(25px,45px) minmax(0,1fr) minmax(25px,45px); align-items:center; gap:5px; background:radial-gradient(ellipse,#76543438,transparent 68%); }
.fighter-slot-column { display:grid; grid-template-rows:repeat(4,minmax(0,1fr)); gap:4px; align-self:stretch; }
.fighter-slot-column .gear-cell { display:grid; grid-template-rows:1fr auto; place-items:center; min-width:0; min-height:0; height:auto; padding:2px; gap:1px; }
.fighter-slot-column .gear-cell .item-art { height:32px; width:100%; object-fit:contain; }
.fighter-slot-column .gear-name { font-size:.62rem; line-height:1; }
.fighter-slot-column .gear-name small { font-size:.61rem; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fighter-slot-column .gear-placeholder { font-size:.78rem; }
.fight-model { display:block; width:100%; height:clamp(150px,22vw,267px); object-fit:contain; filter:drop-shadow(3px 4px 7px #0c0805b0); touch-action:pan-y; }
.fighter-board.hit .fight-model { animation:hit .31s ease-out; }
.fighter-board.lunge .fight-model { animation:lunge .31s ease-out; }
.out-of-fight .fight-model { opacity:.5; filter:grayscale(.85); }
.fighter-ornaments { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; }
.fighter-ornaments .gear-cell,.fighter-ornaments .masked-slot { display:grid; place-items:center; min-height:35px; height:35px; min-width:0; padding:2px; }
.fighter-ornaments .gear-cell .item-art { width:100%; height:28px; object-fit:contain; }
.fighter-ornaments .masked-slot { border:1px solid #594438; background:repeating-linear-gradient(130deg,#2b211a 0 2px,#251b15 2px 6px); color:#92755d; }
.encounter-turn .combat-actions { background:#1a140fec; border-color:#937053; padding:clamp(7px,1vw,13px); }
.encounter-turn .move-tile { grid-template-columns:1fr; min-height:51px; gap:1px; padding:3px 0; }
.encounter-turn .move-tile > span { grid-column:auto; }
.encounter-turn .move-tile b { font-size:clamp(.59rem,1vw,.77rem); }
.encounter-turn .move-tile small { font-size:.64rem; }
.encounter-turn .round-zones { gap:5px; }
.encounter-turn .round-section { padding:5px; }
.encounter-turn .round-zones .zone-buttons { grid-template-columns: minmax(0,1fr); }
.encounter-turn .round-zones .zone-buttons .button { grid-template-columns: 16px minmax(0,1fr); place-items: center start; min-height: 35px; gap: 5px; padding: 3px 8px; font-size: .82rem; text-align: left; }

.encounter-turn .result { position:static; border:1px solid #8f6443; min-height:265px; padding:11px; }
.encounter-turn .result h2 { font-size:clamp(2.2rem,5vw,4.1rem); }
.encounter-turn .result .actions { flex-wrap:wrap; }
.encounter-log h2 { margin-bottom:8px; }
.combat-log-filters { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:7px; }
.combat-log-filters .button { min-height:34px; }
.combat-log-lines { max-height:min(47vh,470px); overflow:auto; list-style:none; margin:0; padding:0; border:1px solid #5a4638; }
.combat-log-lines li { display:grid; grid-template-columns:8ch minmax(0,1fr); align-items:baseline; gap:8px; padding:5px 8px; border-inline-start:2px solid #6b5542; background:#211912; font-size:.83rem; line-height:1.4; overflow-wrap:anywhere; }
.combat-log-lines li + li { border-top:1px solid #6b554280; }
.combat-log-lines time { color:#d0b79b; font-size:.75rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.combat-log-lines .log-dealt { border-inline-start-color:#a8ba7c; background:#262e1d; color:#ebf4d9; }
.combat-log-lines .log-taken { border-inline-start-color:#d28b78; background:#3b241d; color:#f6e2d8; }
.log-impact { white-space:nowrap; font-variant-numeric:tabular-nums; }
.log-damage { color:#efc48e; }
.log-reaction { margin-inline-start:3px; font-size:.76rem; color:#dbbc90; white-space:nowrap; }
.encounter-rosters > summary { cursor:pointer; padding:9px 13px; color:#edc594; }
.encounter-teams { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding:0 7px 7px; }

.service-link { padding:4px 6px; border:1px solid #785535; color:#e8bf8b; background:#251a13; }
.service-dialog { width:min(96vw,600px); }
.service-dialog [data-service-status]:empty { display:none; }
.service-offer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; border:1px solid #7b5638; padding:9px; background:#2b2017; margin-top:7px; }
.service-offer p { margin:4px 0 0; }
.service-offer .actions { flex-wrap:wrap; }
.rune-art { position:relative; display:grid; place-items:center; width:100%; height:100%; min-height:72px; background:radial-gradient(ellipse,#5138258e,#18120e 72%); }
.rune-art span { display:grid; place-items:center; width:58px; height:68px; border:1px solid #796045; border-radius:51% 47% 43% 49% / 41% 55% 46% 51%; transform:rotate(-8deg); background:linear-gradient(135deg,#594636,#25201a 67%); color:var(--rune-color); font:2.1rem/1 var(--serif); box-shadow:inset 2px 2px 6px #aa90755c,4px 6px 9px #0d0907; }
.rune-description { margin:4px 0; color:#e5cab1; font-size:.82rem; }
#elements .element-practice .prayer-game { display:grid; align-items:start; border:1px solid #896745; padding:clamp(8px,2vw,15px); background:linear-gradient(145deg,#37271b,#201711); }
.prayer-game blockquote { padding:9px; margin:0; border-inline-start:2px solid #be986e; color:#f0d5af; font:1.15rem/1.25 var(--serif); background:#251a13; }
.prayer-game p { margin:2px 0; }
.prayer-assembled { min-height:46px; padding:7px; border:1px dashed #a1805c; color:#e4c8a7; overflow-wrap:anywhere; }
.prayer-tiles { display:flex; flex-wrap:wrap; gap:4px; }
.prayer-tiles .button { min-height:35px; }
.prayer-game [data-prayer-word]:disabled { text-decoration:line-through; }
.prayer-game .actions { flex-wrap:wrap; }

.chat-line .chat-message-line { display:block; margin:0; white-space:normal; line-height:1.48; }
.chat-message-line time { margin-inline-end:5px; }
.chat-drawer .chat-message-line .chat-name { display:inline; min-height:0; border:0; background:none; color:#ebbd88; padding:1px 0; font:inherit; font-weight:500; text-align:start; touch-action:pan-y; user-select:none; -webkit-touch-callout:none; }
.chat-drawer .chat-message-line .chat-name:hover { text-decoration:underline; text-underline-offset:2px; }
.chat-drawer .chat-line.is-mine .chat-name { color:#d1e2b3; font-weight:800; }
.chat-line .chat-message-text { white-space:pre-wrap; overflow-wrap:anywhere; }
.chat-name-menu[hidden] { display:none; }
.chat-name-menu { z-index:40; position:fixed; display:grid; min-width:182px; max-width:calc(100vw - 16px); gap:3px; padding:6px; border:1px solid #aa8155; box-shadow:0 9px 22px #000b; background:#261a12; }
.chat-name-menu strong { color:#e8c398; padding:5px 7px; overflow-wrap:anywhere; }
.chat-name-menu button { text-align:left; min-height:36px; border:1px solid #5b422e; background:#322318; color:#f3dfc6; padding:6px 8px; }
.chat-name-menu button:hover,.chat-name-menu button:focus-visible { border-color:#dcad7a; background:#49311f; }

#veche,#clans,#war { width:min(96vw,805px); padding:clamp(9px,2.5vw,20px); background:linear-gradient(160deg,#2c2118 0,#18130f 42%); }
#veche .character-head,#clans .character-head,#war .character-head { padding-bottom:9px; border-bottom:1px solid #775536; }
:is(#veche,#clans,#war) [data-veche-body],#clans [data-clan-body],#war [data-war-body] { display:grid; gap:10px; margin-top:12px; }
#clans [data-clan-body] > section,#veche [data-veche-body] > section,#war [data-war-body] > section { min-width:0; padding:clamp(9px,2vw,16px); border:1px solid #6c5038; background:#1c150f; }
#veche .council-banner,#war .council-banner { background:linear-gradient(90deg,#221811f2,#19130ec4),url('locations/emblem.webp') right 15px center / auto 86% no-repeat; border-color:#977151; }
.council-schedule { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin:9px 0; }
.council-schedule > div { min-width:0; border:1px solid #795c42; padding:7px; background:#291e16e0; }
.council-schedule dt { color:#cfb090; font-size:.75rem; }
.council-schedule dd { margin:2px 0 0; color:#ffdcaa; font-weight:700; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.clan-directory,.veche-candidates { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:7px; }
:is(.clan-directory,.veche-candidates) .clan-entry,#clans .clan-review { min-width:0; border:1px solid #634b36; padding:7px; background:#2a2018; }
:is(#clans,#veche,#war) .clan-entry strong { overflow-wrap:anywhere; color:#f2d5b0; }
#clans .clan-element-link .button { min-height:38px; }
#war .war-rank { overflow-x:auto; }
#war .war-rank th:last-child,#war .war-rank td:last-child { background:#3a2816; color:#ffda9d; }
#war .war-entries { display:flex; flex-wrap:wrap; gap:5px; padding:0; list-style:none; }
#war .war-entries li { padding:5px 7px; background:#291d14; border:1px solid #6d523b; }

#adventure.is-conversation { width:min(94vw,785px); }
#adventure.is-conversation .resident-dialogue { grid-template-columns:minmax(125px,180px) minmax(0,1fr); gap:clamp(9px,3vw,22px); }
#adventure.is-conversation .resident-story { min-width:0; display:grid; gap:13px; }
#adventure.is-conversation .resident-exchange,.resident-topics { display:grid; gap:6px; }
#adventure.is-conversation .resident-portrait img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; }
#adventure.is-conversation .resident-exchange p { margin:0; border-radius:4px; }
#adventure.is-conversation .resident-question { display:flex; gap:8px; color:#ead3b6; }
#adventure.is-conversation .resident-topics button { min-height:40px; width:100%; padding:7px 9px; align-items:center; display:flex; justify-content:space-between; border-color:#71553c; text-align:left; white-space:normal; }
#adventure.is-conversation .resident-task-list { margin:0; padding-top:8px; }
#adventure.is-conversation .resident-task-list h3 { margin-bottom:5px; }
#adventure.is-conversation .resident-task-list .adventure-list { grid-template-columns:minmax(0,1fr); gap:6px; }
#adventure.is-conversation .resident-task-list .adventure-card { padding:clamp(8px,2vw,13px); overflow-wrap:anywhere; }
#adventure.is-conversation .resident-task-list .adventure-card p { margin-block:5px; }

@media(max-width:1040px) {
  .encounter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fighter-board.allied { grid-column:1; grid-row:1; }
  .fighter-board.opposed { grid-column:2; grid-row:1; }
  .encounter-turn { grid-column:1/-1; grid-row:2; }
  .fight-model { height:clamp(139px,26vw,208px); }
  .has-player-rail #game-space .layout { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:720px) {
  #main.has-player-rail { grid-template-columns:minmax(0,1fr); }
  #player-rail { position:static; }
  .player-rail-card { grid-template-columns: minmax(85px,1fr) minmax(103px,1fr) minmax(105px,1.2fr); padding:7px; align-items:start; gap:5px; }
  .player-rail-head img { width:34px; height:45px; }
  .player-rail-head strong { font-size:.9rem; }
  .player-rail-card > p,.player-rail-card > .button { grid-column:1/-1; }
  .player-rail-card [data-condition=status] { font-size:.66rem; }
  .rail-vitals div { flex-wrap:wrap; }
  .compact-stat-list div { padding:2px; font-size:.62rem; }
}
@media(max-width:560px) {
  #adventure.is-conversation .resident-dialogue { grid-template-columns:minmax(0,1fr); }
  #adventure.is-conversation .resident-portrait { display:grid; grid-template-columns:65px minmax(0,1fr); align-items:center; }
  #adventure.is-conversation .resident-portrait img { height:68px; border-radius:0; }
  .council-schedule { grid-template-columns:minmax(0,1fr); gap:4px; }
  .council-schedule div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:3px; padding:5px; }
  .fighter-board { padding:4px; gap:5px; }
  .fighter-board header { min-height:113px; }
  .fighter-board-identity,.fighter-meter > div:first-child { font-size:.61rem; }
  .fighter-board-gear { grid-template-columns:minmax(17px,27px) minmax(0,1fr) minmax(17px,27px); gap:2px; }
  .fighter-slot-column .gear-cell .item-art { height:22px; }
  .fighter-slot-column .gear-name small { display:none; }
  .fight-model { height:clamp(104px,35vw,165px); }
  .fighter-ornaments .gear-cell,.fighter-ornaments .masked-slot { min-height:26px; height:26px; }
  .fighter-ornaments .gear-cell .item-art { height:20px; }
  .encounter-stage .combat-top { flex-wrap:wrap; }
  .encounter-actions { margin-left:auto; }
  .encounter-stage .combat-top .button { min-height:31px; }
}
@media(prefers-reduced-motion:reduce) {
  .fight-model { animation:none !important; }
}

.kremlin-route { inset:0; transform:none; border:0; height:100%; width:100%; background:none; box-shadow:none; z-index:2; }
.kremlin-route::before { display:none; }
.kremlin-route svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.kremlin-route polyline { fill:none; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.road-mask { stroke:#1d130ad4; stroke-width:5px; }
.road-preview { stroke:#e7ba76; stroke-width:2px; stroke-dasharray:4 5; }
.road-painted { stroke:#ffc86c; stroke-width:2.8px; }
.map-runner { position:absolute; translate:-50% -98%; width:37px; height:48px; filter:drop-shadow(1px 2px 3px #190d04); }
.map-runner-pose { width:100%; height:100%; position:relative; animation:runner-step .29s ease-in-out alternate infinite; transform-origin:center 85%; }
.map-runner .travel-hero,.map-runner .travel-animal { position:absolute; display:block; object-fit:contain; bottom:0; width:100%; height:100%; }
.map-runner.is-mounted { width:61px; height:52px; }
.map-runner.is-mounted .travel-animal { height:39px; }
.map-runner.is-mounted .travel-hero { width:34px; left:16px; bottom:16px; height:29px; clip-path:inset(0 0 9% 0); }
.map-runner.is-mounted .map-runner-pose { animation-duration:.23s; }
@keyframes runner-step { from { transform:translateY(0) rotate(-5deg); } to { transform:translateY(-4px) rotate(5deg); } }

.field-panel { margin-block:9px; }
.field-panel > p { margin:6px 0; }
.harbor-routes,.locator-filters,.fishing-form,.post-form { display:grid; gap:8px; grid-template-columns:repeat(auto-fit,minmax(125px,1fr)); align-items:end; }
.harbor-routes article,.locator-results article,.postal-item { border:1px solid #745137; padding:9px; background:#2b2118; min-width:0; }
.harbor-routes p { margin:4px 0; }
.locator-filters label,.post-form label,.fishing-form label { display:grid; gap:3px; font-size:.8rem; min-width:0; }
.locator-filters .button,.fishing-form .button { min-height:37px; }
.locator-results { display:grid; gap:6px; margin-top:9px; }
.locator-results article,.postal-item { display:flex; align-items:center; justify-content:space-between; gap:7px; flex-wrap:wrap; }
.locator-results article small { display:block; color:#d4b59a; margin-top:3px; }
#main.has-player-rail #game-space .post-layout { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
.post-layout h2 { margin-bottom:10px; }
.post-form { grid-template-columns:minmax(0,1fr); gap:9px; }
.post-recipient { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:8px; }
.post-form [data-post-recipient] { color:#e5c19a; font-size:.84rem; }
.post-form [data-post-recipient]:empty { display:none; }
.post-inbox { display:grid; gap:8px; }
.postal-item { display:grid; grid-template-columns:44px minmax(0,1fr); align-items:start; }
.postal-item .rune-art { min-height:44px; height:44px; }
.postal-item .rune-art span { font-size:1.3rem; }
.postal-item p { font-size:.8rem; color:#d4b59a; }
.postal-item blockquote { overflow-wrap:anywhere; }
@media (max-width:720px) {
  #main.has-player-rail #game-space .post-layout { grid-template-columns:minmax(0,1fr); }
}
.post-form { grid-template-columns:minmax(0,1fr); }
.postal-item { justify-content:start; margin-top:6px; }
.postal-item > span { font:1.9rem var(--serif); color:#deb276; }
.postal-item h3,.postal-item p { margin:0; }
.postal-item blockquote { margin:7px 0 0; }
.drink-card { display:grid; gap:5px; align-content:start; }
.drink-card p { margin:0; }
.gift-art span { border-radius:13px 3px; transform:rotate(-9deg); }
.fishing-water { border:1px solid #537173; padding:10px; background:linear-gradient(#172f32,#152024); }
.fishing-water p { margin:6px 0; }
.fishing-track { height:26px; position:relative; background:repeating-linear-gradient(167deg,#233e42 0 6px,#2b4a4b 6px 11px); }
.fishing-track i { position:absolute; inset:0 0 0 var(--bite,65%); background:#82a76777; }
.fishing-track b { position:absolute; width:13px; height:22px; left:var(--float,0%); top:2px; translate:-50% 0; border-radius:50%; border:1px solid #ffe0bc; background:linear-gradient(#b96040 0 50%,#f3d6a7 50%); transition:left .08s linear; }
.is-biting .fishing-track b { animation:runner-step .11s alternate infinite; }
.quest-register .adventure-card { display:flex; flex-direction:column; gap:4px; align-items:start; }
.quest-register .adventure-card p { margin:0; }
.quest-register .quest-reward { width:100%; }
.nick-badges { display:inline-flex; vertical-align:middle; align-items:center; gap:3px; margin-inline-end:3px; }
.element-icon { display:inline-grid; place-items:center; width:38px; height:38px; flex:none; color:var(--seal); border:1px solid currentColor; border-radius:9px 9px 14px 14px; background:linear-gradient(145deg,#322825,#15120e); box-shadow:inset 0 0 6px color-mix(in srgb,currentColor 40%,transparent); }
.element-icon svg { width:83%; height:83%; }
.nick-badges .element-icon,.nick-clan-icon { width:16px; height:16px; border-radius:4px; object-fit:contain; }
.nick-clan-icon { display:inline-block; }
.oath-card strong { color:#e3bc8b; }
@media(max-width:560px) {
  .map-runner { width:23px;height:33px; }
  .map-runner.is-mounted { width:38px;height:35px; }
  .map-runner.is-mounted .travel-animal { height:25px; }
  .map-runner.is-mounted .travel-hero { left:10px;bottom:10px;width:22px;height:20px; }
}
@media(prefers-reduced-motion:reduce) {.map-runner-pose,.is-biting .fishing-track b { animation:none; }}
.fighter-board header { min-height:164px; }
.is-recruit .header [data-service=locator],.is-recruit .footer { display:none; }
.emblem-rules { flex-basis:100%; margin:0; }
@media(max-width:520px) {.fighter-board header {min-height:124px;}}

.log-impact { flex: 0 0 auto; text-align: right; font-variant-numeric: tabular-nums; }
.log-impact small { color: #d2bda2; font-size: .73rem; white-space: nowrap; }
