/* r121a — единый UI-фундамент ЖУКИ 2.0.
   Один CSS-владелец для live v2: компактная WAP-геометрия,
   доступные touch-targets, safe-area и пять основных вкладок. */
@font-face{font-family:"BugSans";src:url("/assets/fonts/bugsans-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"BugSans";src:url("/assets/fonts/bugsans-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{
  color-scheme:dark;
  --page:#0a0b08;
  --sunken:#060705;
  --panel:#12140e;
  --panel-2:#171910;
  --raised:#1c1e15;
  --line:#3a4030;
  --line-strong:#596047;
  --text:#e8e0cb;
  --muted:#a9a187;
  --faint:#77715d;
  --gold:#c08b34;
  --gold-bright:#d9a247;
  --green:#88a95e;
  --danger:#c25d49;
  --danger-bg:#40201a;
  --ink:#14110a;
  --font:"BugSans",Tahoma,Verdana,"DejaVu Sans Condensed",sans-serif;
  --radius:2px;
  --touch:44px;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-left:env(safe-area-inset-left,0px);
  --safe-right:env(safe-area-inset-right,0px);
  --nav-height:58px;
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--page);font-family:var(--font);font-size:13px;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{min-height:100%;margin:0;background:var(--page);color:var(--text);font:400 13px/1.38 var(--font);overflow-x:hidden}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}
button:disabled{cursor:not-allowed}
.app-shell{min-height:100dvh;padding-bottom:calc(var(--nav-height) + var(--safe-bottom));background:linear-gradient(180deg,#11120d 0,var(--page) 230px)}
.topbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:max(7px,var(--safe-top)) calc(10px + var(--safe-right)) 7px calc(10px + var(--safe-left));border-bottom:1px solid var(--line);background:rgba(8,9,6,.97);box-shadow:0 1px 0 rgba(0,0,0,.55)}
.topbar-copy{min-width:0;display:grid;gap:1px}
.brand{font-weight:700;letter-spacing:.12em;font-size:14px;color:var(--text);white-space:nowrap}
.brand span{display:inline-block;margin-left:3px;padding:1px 4px;border:1px solid var(--gold);border-radius:var(--radius);color:var(--gold);font-size:9px;letter-spacing:.04em;vertical-align:1px}
.subtitle{min-width:0;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.wallet{display:grid;justify-items:end;gap:1px;min-width:92px;color:var(--gold);font-size:11px;font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap}
.wallet span{color:var(--muted)}
.screen{width:min(100%,680px);margin:0 auto;padding:8px calc(8px + var(--safe-right)) 14px calc(8px + var(--safe-left))}
.screen[data-route="more"]{padding-top:10px}
.loading,.empty{padding:30px 14px;text-align:center;color:var(--muted)}
.loading::before{content:"";display:block;width:18px;height:18px;margin:0 auto 8px;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:ui-spin .8s linear infinite}
.empty.compact{padding:12px}
.card{margin:0 0 7px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 1px 0 rgba(0,0,0,.55)}
.card h2,.card h3{margin:0 0 7px;color:var(--text);font-family:var(--font);font-weight:700;line-height:1.15}
.card h2{font-size:16px}.card h3{font-size:14px}
.card p{margin:7px 0}
.hero{border-color:var(--line-strong);background:linear-gradient(180deg,var(--raised),var(--panel))}
.hero-name{font-size:19px;font-weight:700;line-height:1.12}
.muted{color:var(--muted)}.small{font-size:11px}.gold{color:var(--gold)}.danger{color:#e18a75}.ok{color:#aecb82}
.divider{height:1px;margin:9px 0;background:var(--line)}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.row{display:flex;align-items:center;justify-content:space-between;gap:8px}.row>div{min-width:0}.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:7px}
.stat{min-width:0;padding:7px;border:1px solid #323728;border-radius:var(--radius);background:var(--sunken);color:var(--muted);font-size:10px}
.stat b{display:block;overflow:hidden;color:#e9dcac;font-size:14px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.btn{appearance:none;min-height:var(--touch);padding:8px 10px;border:1px solid #80602a;border-radius:var(--radius);background:#4b371b;color:#fff0c7;font-weight:700;line-height:1.15;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 1px 0 #080704}
.btn:hover{border-color:var(--gold-bright);background:#59411f}.btn:active{transform:translateY(1px);box-shadow:inset 0 1px 0 rgba(0,0,0,.28)}
.btn.secondary{border-color:#4b513d;background:var(--raised);color:var(--text)}
.btn.secondary:hover{border-color:#697157;background:#22251a}
.btn.danger{border-color:#7b3f33;background:var(--danger-bg);color:#f4d6cf}
.btn:disabled{opacity:.42}.btn.block{width:100%}.btn.tiny{display:inline-grid;place-items:center;min-height:30px;padding:4px 7px;margin-left:3px;font-size:10px;box-shadow:none}
.pill,.count-badge,.badge,.specialization-badge{display:inline-block;border-radius:var(--radius)}
.pill{padding:3px 6px;border:1px solid #525841;background:var(--sunken);color:var(--muted);font-size:10px;white-space:nowrap}
.field{width:100%;min-height:var(--touch);padding:8px 9px;border:1px solid #535a43;border-radius:var(--radius);outline:0;background:var(--sunken);color:var(--text)}
.field:focus{border-color:var(--gold)}
textarea.field{min-height:84px;resize:vertical}
label{display:block;margin:8px 0 4px;color:var(--muted);font-size:11px}
.choice{min-height:var(--touch);padding:9px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);color:var(--text);text-align:left}
.choice.selected{border-color:var(--gold);background:#282113}.choice b,.choice small{display:block}.choice b{color:#eee1b7}.choice small{margin-top:2px;color:var(--muted)}.choice .btn{width:100%;margin-top:8px}
.warning{padding:8px;border:1px solid #85503a;border-radius:var(--radius);background:#321e17;color:#f4cbb7}
.tabs,.region-tabs{scrollbar-width:none}.tabs::-webkit-scrollbar,.region-tabs::-webkit-scrollbar{display:none}
.tabs{display:flex;gap:5px;margin-bottom:8px;overflow:auto}
.tabs button{min-height:38px;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--muted);white-space:nowrap}
.tabs button.active{border-color:var(--gold);color:#fff0bf}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(var(--nav-height) + var(--safe-bottom));padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);border-top:1px solid var(--line);background:rgba(8,9,6,.98);box-shadow:0 -1px 0 rgba(0,0,0,.55)}
.bottom-nav button{display:grid;place-content:center;gap:1px;min-width:0;min-height:var(--nav-height);padding:3px 1px;border:0;border-right:1px solid rgba(58,64,48,.35);background:transparent;color:#8f8872}
.bottom-nav button:last-child{border-right:0}.bottom-nav button span{display:block;height:22px;font-size:17px;font-weight:700;line-height:22px}.bottom-nav button b{display:block;overflow:hidden;font-size:10px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}
.bottom-nav button.active{background:#171910;color:var(--gold)}.bottom-nav button.active b{font-weight:700}.hidden{display:none!important}
.toast{position:fixed;left:50%;bottom:calc(var(--nav-height) + var(--safe-bottom) + 10px);z-index:100;min-width:220px;max-width:88vw;padding:9px 11px;border:1px solid #796638;border-radius:var(--radius);background:#272116;color:#f7ebc7;opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:opacity .14s,transform .14s}
.toast.show{opacity:1;transform:translate(-50%,0)}
.modal{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;background:rgba(4,5,3,.88)}
.modal>div{width:min(680px,100%);max-height:88dvh;overflow:auto;padding:12px calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left));border:1px solid var(--line);border-bottom:0;border-radius:3px 3px 0 0;background:var(--panel)}

/* Компактное меню вторичных разделов вместо семи тесных вкладок. */
.menu-list{display:grid;gap:6px}
.menu-link{display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:8px;width:100%;min-height:54px;padding:8px 9px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--text);text-align:left}
.menu-link:hover{border-color:var(--line-strong);background:var(--raised)}
.menu-link>i{font-style:normal;font-size:20px;text-align:center}.menu-link>span{min-width:0}.menu-link b,.menu-link small{display:block}.menu-link small{margin-top:2px;color:var(--muted);font-size:10px}.menu-link>em{color:var(--faint);font-style:normal;font-size:18px}

/* Охота и бой. */
.enemy{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px}
.enemy-icon{font-size:24px;text-align:center}.enemy .rank{text-transform:uppercase;color:var(--gold);font-size:9px;letter-spacing:.07em}.enemy-body{min-width:0}.enemy-body>b{font-size:14px}.enemy-body>small{display:block;margin-top:1px;color:var(--muted)}
.loot-preview,.enemy-taxonomy{margin-top:5px;color:#c1b99e;font-size:10px;line-height:1.3}.enemy-taxonomy{color:var(--muted)}.enemy-locked{opacity:.66}.locked-action{pointer-events:none;filter:grayscale(.7)}
.hp{height:10px;overflow:hidden;border:1px solid #414735;border-radius:var(--radius);background:var(--sunken)}.hp>i{display:block;height:100%;background:#7d9f50}.hp.enemy-hp>i{background:#b65a46}.battle-player{margin-top:8px}
.combat-log{max-height:180px;overflow:auto;padding:8px;border:1px solid #303527;border-radius:var(--radius);background:var(--sunken);color:#c7bea4;font-size:11px}

/* Вещи и рынок. */
.item{border-left:3px solid #766e57}.item[data-rarity="uncommon"]{border-left-color:#739d61}.item[data-rarity="rare"]{border-left-color:#5784bd}.item[data-rarity="epic"]{border-left-color:#9b64b8}.item[data-rarity="relic"]{border-left-color:#d2a642}.item-title{font-weight:700}.item-meta{color:var(--muted);font-size:11px}
.identity{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.identity>div{min-width:0;padding:6px;border:1px solid #39402f;border-radius:var(--radius);background:var(--sunken)}.identity span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.identity b{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inventory-tools{position:sticky;top:59px;z-index:10;background:var(--panel)}.count-badge{padding:2px 5px;border:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:700}.filter-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:6px}.filter-grid .btn{min-height:var(--touch)}.inventory-resources p{display:flex;gap:4px;flex-wrap:wrap;margin:6px 0}.inventory-summary{padding:0 3px 7px;color:var(--muted);font-size:10px}.compact-item{margin-bottom:6px;padding:8px 9px}.item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.power{color:var(--gold);font-size:11px;white-space:nowrap}.badges{display:flex;gap:3px;flex-wrap:wrap;margin-top:4px}.badge{padding:2px 4px;border:1px solid #525841;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.04em}.badge.equipped{border-color:#637c47;color:#b6d084}.badge.new{border-color:#907331;color:#f0ca68}.badge.tradable{border-color:#4d7186;color:#91c9e6}.item-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:7px}.item-actions .btn{min-height:38px;padding:6px 4px;font-size:11px}.socket-list{margin-top:6px;padding-top:5px;border-top:1px dashed #454b38}.socket-row{padding:3px 0;font-size:10px}.section-title{margin:12px 3px 7px;color:var(--text);font-size:14px;font-weight:700}.market-history-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #343a2d}.market-history-row:last-child{border-bottom:0}.market-history-row b,.market-history-row small{display:block}.market-history-row b{font-size:11px}.market-history-row small{color:var(--muted);font-size:9px}.market-history-row>span{font-weight:700;white-space:nowrap}.market-item{margin-bottom:6px}

/* Сообщения. */
.messages-list{display:grid;gap:6px}.message-dialog{width:100%;min-height:52px;padding:8px 9px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--text);text-align:left}.message-dialog b,.message-dialog small{display:block}.message-dialog small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.message-history{display:flex;flex-direction:column;gap:6px;min-height:220px;max-height:58dvh;overflow:auto;padding:3px}.message-bubble{max-width:86%;padding:7px 9px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2)}.message-bubble.outgoing{align-self:flex-end;border-color:#6b582c;background:#292215}.message-bubble.incoming{align-self:flex-start}.message-bubble p{margin:0;white-space:pre-wrap}.message-bubble small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.message-compose,.message-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.message-compose{margin-top:8px}.message-compose textarea{min-height:44px;max-height:110px;resize:vertical}.unread-dot{display:inline-block;min-width:18px;padding:1px 4px;border-radius:var(--radius);background:#8d2d22;color:#fff;text-align:center;font-size:9px}

/* Регионы. */
.region-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:7px 0}.region-tab{min-height:54px;padding:8px;border:1px solid #414735;border-radius:var(--radius);background:var(--panel);color:#ddd2aa;text-align:left}.region-tab b,.region-tab small{display:block}.region-tab small{margin-top:3px;color:#8e866f;font-size:10px}.region-tab.active{border-color:var(--gold);background:#272113;box-shadow:inset 2px 0 0 var(--gold)}.region-tab.locked{opacity:.62}.region-hero{border-color:#555d45}.region-tab-head{display:flex;align-items:flex-start;justify-content:space-between;gap:5px}.region-tab-head i{padding:1px 3px;border:1px solid #746231;border-radius:var(--radius);color:#dfc46f;font-size:8px;font-style:normal;text-transform:uppercase;letter-spacing:.04em}.study{display:grid;grid-template-columns:1fr auto;gap:4px 8px;margin:8px 0;color:var(--muted);font-size:10px}.study>b{color:#e9d99f}.study>i{grid-column:1/-1;display:block;height:7px;overflow:hidden;border:1px solid #414735;border-radius:var(--radius);background:var(--sunken)}.study>i>em{display:block;height:100%;background:#a17a31}.study.compact{margin:7px 0}.region-collection{display:flex;gap:4px;flex-wrap:wrap;margin:7px 0}.region-collection span{padding:3px 5px;border:1px solid #414735;border-radius:var(--radius);background:var(--sunken);color:var(--muted);font-size:9px}.region-collection b{color:#e9dcae}

/* Персонаж и билды. */
.combat-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.combat-stats span{min-width:0;padding:6px;border:1px solid #343a2d;border-radius:var(--radius);background:var(--sunken);color:var(--muted);font-size:9px}.combat-stats b{display:block;overflow:hidden;color:#ebdcaa;font-size:14px;text-overflow:ellipsis}.attribute-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #343a2d}.attribute-row:last-of-type{border-bottom:0}.attribute-row b{display:block;color:#efe1b7}.attribute-row b i{color:var(--gold);font-style:normal}.attribute-row small,.attribute-row span{display:block;margin-top:2px;color:var(--muted);font-size:9px}.build-card{margin-top:7px;padding:8px;border:1px solid #414735;border-radius:var(--radius);background:var(--sunken)}.build-card small{display:block;color:var(--muted)}.build-allocation{display:flex;gap:3px;flex-wrap:wrap;margin:6px 0}.build-allocation span{padding:2px 4px;border:1px solid #414735;border-radius:var(--radius);color:var(--muted);font-size:8px}.build-allocation b{color:#eadb9f}.specialization-badge{padding:3px 6px;border:1px solid #8c7236;background:#2b2315;color:#f2d789;font-size:10px}

/* Гильдия и профили. */
.guild-progress{height:9px;overflow:hidden;margin:7px 0;border:1px solid #414735;border-radius:var(--radius);background:var(--sunken)}.guild-progress i{display:block;height:100%;background:#a37b31}.guild-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #343a2d}.guild-row:last-child{border-bottom:0}.guild-row>div{min-width:0}.guild-row b,.guild-row small{display:block}.guild-row small{margin-top:2px;color:var(--muted);font-size:10px}.guild-row .btn{flex:0 0 auto;min-height:38px;padding:6px 8px}.guild-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.profile-attributes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.profile-attributes span{padding:6px;border:1px solid #414735;border-radius:var(--radius);color:var(--muted)}.profile-attributes b{float:right;color:var(--gold)}

@keyframes ui-spin{to{transform:rotate(360deg)}}
@media(min-width:520px){.region-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:700px){.screen{padding-top:12px}.bottom-nav{left:50%;max-width:680px;transform:translateX(-50%);border-right:1px solid var(--line);border-left:1px solid var(--line)}}
@media(max-width:430px){.identity{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr 1fr}.filter-grid #invQuery{grid-column:1/-1}.enemy{grid-template-columns:30px minmax(0,1fr) auto}.enemy-icon{font-size:21px}.enemy .btn{min-height:40px;padding:7px 6px}.hero-name{font-size:17px}}
@media(max-width:370px){.region-tabs{grid-template-columns:1fr}.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.combat-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-nav button b{font-size:9px}.topbar{gap:6px}.wallet{min-width:82px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* r121b — основные игровые экраны.
   Один экран — одна задача: следующий шаг, выбор цели, бой, награда,
   развитие, инвентарь или рынок. Механики и API не меняются. */
.eyebrow{display:block;color:var(--gold);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.screen-heading,.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.screen-heading{margin:2px 2px 8px}.screen-heading h2,.section-heading h3{margin:0}.screen-heading h2{font-size:20px;line-height:1.05}.section-heading{margin-bottom:7px}.section-heading h3{font-size:14px}.section-heading>span,.heading-note{color:var(--muted);font-size:10px;text-align:right}
.screen-note{margin:7px 2px 10px;color:var(--muted);font-size:10px}
.level-mark{display:grid;place-content:center;min-width:44px;height:44px;border:1px solid #66532b;background:#211b10;color:#f0d48a;font-size:19px;font-weight:700;line-height:.9;text-align:center}
.level-mark small{display:block;margin-top:4px;color:var(--muted);font-size:8px;font-weight:400;text-transform:uppercase}

/* Колония: личность, краткий статус и одно следующее действие. */
.home-identity{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border:1px solid var(--line-strong);background:linear-gradient(180deg,#1c1e15,var(--panel))}
.home-identity h2{margin:2px 0 0;font-size:19px}.home-identity p{margin:2px 0 0;color:var(--muted);font-size:10px}.home-avatar,.character-avatar{display:grid;place-content:center;width:48px;height:48px;border:1px solid #535a43;background:var(--sunken);font-size:28px}
.quick-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:var(--sunken)}
.quick-status>div{padding:7px 8px;border-right:1px solid var(--line)}.quick-status>div:last-child{border-right:0}.quick-status span,.quick-status b{display:block}.quick-status span{color:var(--muted);font-size:9px}.quick-status b{margin-top:1px;color:var(--text);font-size:13px}.quick-status .attention b{color:var(--gold-bright)}
.next-action{margin-top:8px;padding:11px;border:1px solid #675832;background:#17150e;box-shadow:inset 3px 0 0 var(--gold)}
.next-action-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.next-action h2{margin:2px 0 0;font-size:17px}.next-action>p{margin:7px 0;color:var(--muted)}.region-state{padding:3px 5px;border:1px solid #5c5134;color:#d6bd79;font-size:9px;white-space:nowrap}
.next-action-buttons{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:6px;margin-top:9px}.home-regions{margin-top:8px;padding:9px;border:1px solid var(--line);background:var(--panel)}.home-shortcuts{display:grid;gap:5px;margin-top:8px}

/* Охота: контекст региона остаётся сверху, каждая цель — одна строка. */
.hunt-header{margin-bottom:7px;padding:9px;border:1px solid var(--line);background:var(--panel)}
.hunt-header .region-tabs{margin:8px 0}.hunt-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.hunt-tools .btn{min-height:38px;padding:6px 7px;font-size:10px}
.target-list{display:grid;gap:5px}.hunt-target{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;border:1px solid var(--line);background:var(--panel)}
.hunt-target.locked{opacity:.58}.target-icon{align-self:start;padding-top:4px;font-size:27px;text-align:center}.target-copy{min-width:0}.target-copy h3{margin:1px 0 0;font-size:14px}.target-copy>p{margin:2px 0;color:var(--muted);font-size:10px}.target-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.target-tags span{padding:2px 4px;border:1px solid #414735;background:var(--sunken);color:var(--muted);font-size:8px}.target-tags b{color:#d8c58c}
.hunt-target details{margin-top:5px}.hunt-target summary{color:#b8ad8e;font-size:9px;cursor:pointer}.hunt-target details p{margin:4px 0 0;color:var(--muted);font-size:9px}.target-action{align-self:stretch;min-width:64px}.locked-action{min-width:64px;font-size:9px}
.dungeon-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:7px;padding:10px;border:1px solid #554b32;background:#16140d}.dungeon-entry b,.dungeon-entry small{display:block}.dungeon-entry small{margin-top:2px;color:var(--muted);font-size:9px}.locked-region{padding:14px;border:1px solid var(--line);background:var(--panel)}.locked-region h2{margin:3px 0}.locked-region p{color:var(--muted)}

/* Бой: отдельный HUD и ровно четыре крупные ручные команды. */
.battle-screen{display:grid;gap:7px}.battle-head{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px;border:1px solid var(--line);background:var(--panel)}.battle-head h2{margin:2px 0 0;font-size:16px}.battle-state{padding:3px 5px;border:1px solid #594f34;color:var(--gold);font-size:9px;text-transform:uppercase}
.battle-arena{padding:10px;border:1px solid var(--line-strong);background:radial-gradient(circle at 50% 42%,#222317 0,#11130d 64%)}.fighter{padding:8px;border:1px solid #404632;background:rgba(8,9,6,.72)}.fighter-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.fighter-line>div,.fighter-line>span{min-width:0}.fighter-line b,.fighter-line small{display:block}.fighter-line b{font-size:13px}.fighter-line small{color:var(--muted);font-size:8px}.fighter-line strong{color:#d9c78f;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.fighter-role{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.07em}
.battle-meter{height:9px;margin-top:6px;overflow:hidden;border:1px solid #424735;background:#050604}.battle-meter i{display:block;height:100%}.enemy-meter i{background:#a94e3d}.player-meter i{background:#779d50}.impulse-meter i{background:#bb8734}.battle-vs{height:20px;color:#756d58;font-size:9px;font-weight:700;line-height:20px;text-align:center}
.battle-alert{padding:8px;border:1px solid #8a4937;background:#321b16;color:#f0c9bd}.battle-alert b,.battle-alert span{display:block}.battle-alert span{margin-top:2px;font-size:10px}.impulse-panel{padding:8px;border:1px solid #5c4d2d;background:#19150d}
.combat-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.combat-command{display:grid;grid-template-columns:26px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;min-height:58px;padding:7px 8px;text-align:left}.combat-command>span{grid-row:1/3;font-size:20px;text-align:center}.combat-command>b,.combat-command>small{display:block}.combat-command>small{color:#c6b78f;font-size:8px;font-weight:400}.combat-command.secondary>small{color:var(--muted)}.fast-battle{min-height:38px;font-size:10px}.battle-log-panel{border:1px solid var(--line);background:var(--panel)}.battle-log-panel>summary{display:flex;justify-content:space-between;padding:8px;color:var(--muted);font-size:10px;cursor:pointer}.battle-log-panel>summary span{color:var(--gold)}.battle-log-panel .combat-log{margin:0;border:0;border-top:1px solid var(--line)}

/* Результат боя: сначала найденное, затем решение игрока. */
.result-screen{padding:18px 12px;border:1px solid #645632;background:linear-gradient(180deg,#1d1b11,var(--panel));text-align:center}.result-mark{display:grid;place-content:center;width:46px;height:46px;margin:0 auto 8px;border:1px solid #71844b;background:#1c2815;color:#b7d47d;font-size:24px}.result-screen h2{margin:3px 0;font-size:22px}.result-screen>p{margin:4px 0 10px}.reward-list{display:grid;gap:4px;text-align:left}.reward-row{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px;padding:7px;border:1px solid var(--line);background:var(--sunken)}.reward-row>span{color:var(--gold);font-weight:700;text-align:center}.reward-row b,.reward-row small{display:block}.reward-row small{color:var(--muted);font-size:9px}.reward-highlight{border-color:#716139;background:#211c10}.result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}

/* Инвентарь: фильтры и ресурсы не перекрывают сами предметы. */
.inventory-heading{position:sticky;top:58px;z-index:12;margin:-8px -8px 7px;padding:8px 10px;border-bottom:1px solid var(--line);background:rgba(10,11,8,.97)}
.filter-panel,.resource-panel,.market-activity{margin-bottom:7px;border:1px solid var(--line);background:var(--panel)}.filter-panel>summary,.resource-panel>summary,.market-activity>summary{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:7px 9px;color:var(--text);font-weight:700;cursor:pointer}.filter-panel>summary b,.resource-panel>summary span,.market-activity>summary span{padding:1px 4px;border:1px solid #5f5335;color:var(--gold);font-size:9px}.filter-panel .filter-grid{padding:0 8px 8px}.resource-panel>div,.resource-panel>small{margin:0 8px 8px}.resource-group>p{display:flex;gap:4px;flex-wrap:wrap;margin:5px 0}.resource-chip{padding:3px 5px;border:1px solid #414735;background:var(--sunken);color:var(--muted);font-size:9px}.resource-chip b{color:#e4d59f}.item-list{display:grid;gap:5px}.item-card{padding:9px;border:1px solid var(--line);border-left:3px solid #766e57;background:var(--panel)}.item-card[data-rarity="uncommon"]{border-left-color:#739d61}.item-card[data-rarity="rare"]{border-left-color:#5784bd}.item-card[data-rarity="epic"]{border-left-color:#9b64b8}.item-card[data-rarity="relic"],.item-card[data-rarity="named"]{border-left-color:#d2a642}.item-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.item-title{font-size:13px}.item-title i{color:var(--gold);font-style:normal}.item-power{text-align:right}.item-power span,.item-power b{display:block}.item-power span{color:var(--muted);font-size:8px;text-transform:uppercase}.item-power b{color:#e7d698;font-size:15px}.item-facts{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.item-facts span{padding:2px 4px;border:1px solid #3f4534;color:var(--muted);font-size:8px}.item-main-stat{display:flex;align-items:center;justify-content:space-between;margin-top:6px;padding:5px 6px;background:var(--sunken);color:var(--muted)}.item-main-stat b{color:#d9c990}.item-card .socket-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px;border-bottom:1px solid #303527}.item-card .socket-row:last-child{border-bottom:0}.item-card .socket-row>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-socket b{color:var(--faint)}

/* Персонаж: длинный экран получает оглавление и устойчивые секции. */
.character-hero{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border:1px solid var(--line-strong);background:linear-gradient(180deg,#1c1e15,var(--panel))}.character-copy h2{margin:2px 0;font-size:19px}.character-copy p{margin:0;color:var(--muted);font-size:10px}.section-jump{position:sticky;top:58px;z-index:11;display:flex;margin:7px 0;overflow:auto;border:1px solid var(--line);background:rgba(10,11,8,.97);scrollbar-width:none}.section-jump::-webkit-scrollbar{display:none}.section-jump a{min-height:38px;padding:11px 9px;border-right:1px solid var(--line);color:var(--muted);font-size:9px;text-decoration:none;white-space:nowrap}.section-jump a:last-child{border-right:0}.character-section{margin-bottom:7px;padding:9px;border:1px solid var(--line);background:var(--panel);scroll-margin-top:105px}.skill-line{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-top:7px;padding:7px;border:1px solid #3f4534;background:var(--sunken)}.skill-line b,.skill-line small{display:block}.skill-line small{margin-top:2px;color:var(--muted);font-size:9px}.skill-line>span{color:var(--gold);font-size:9px;white-space:nowrap}

/* Рынок: баланс, история и лоты читаются как отдельные уровни. */
.wallet-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);background:var(--sunken)}.wallet-strip>div{padding:8px;border-right:1px solid var(--line)}.wallet-strip>div:last-child{border-right:0}.wallet-strip span,.wallet-strip b{display:block}.wallet-strip span{color:var(--muted);font-size:9px}.wallet-strip b{margin-top:2px;color:#e4d399;font-size:14px}.market-activity .market-history-row{margin:0 8px}.market-list{display:grid;gap:5px}.market-listing{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-left:3px solid #766e57;background:var(--panel)}.market-listing[data-rarity="rare"]{border-left-color:#5784bd}.market-listing[data-rarity="epic"]{border-left-color:#9b64b8}.market-listing[data-rarity="relic"],.market-listing[data-rarity="named"]{border-left-color:#d2a642}.market-listing-main b,.market-listing-main small{display:block}.market-listing-main small{margin-top:2px;color:var(--muted);font-size:9px}.market-price{text-align:right}.market-price>b{display:block;margin-bottom:4px;color:var(--gold);font-size:13px}

@media(max-width:430px){
  .next-action-buttons{grid-template-columns:1fr}.hunt-target{grid-template-columns:34px minmax(0,1fr) auto}.target-icon{font-size:23px}.target-action,.locked-action{min-width:58px;padding-right:6px;padding-left:6px}.filter-grid{grid-template-columns:1fr 1fr}.filter-grid #invQuery{grid-column:1/-1}.result-actions{grid-template-columns:1fr}.character-hero{grid-template-columns:44px minmax(0,1fr) auto}.character-avatar{width:44px;height:44px}.market-listing{grid-template-columns:minmax(0,1fr) 86px}
}
@media(max-width:360px){
  .home-identity{grid-template-columns:42px minmax(0,1fr) auto}.home-avatar{width:42px;height:42px;font-size:24px}.quick-status b{font-size:11px}.combat-command{min-height:54px;padding:6px}.hunt-target{grid-template-columns:30px minmax(0,1fr)}.hunt-target>.btn{grid-column:1/-1;width:100%}.target-icon{font-size:21px}.wallet-strip{grid-template-columns:1fr}.wallet-strip>div{border-right:0;border-bottom:1px solid var(--line)}.wallet-strip>div:last-child{border-bottom:0}
}

/* r121c — вторичные экраны, состояния и финальная мобильная полировка. */
.screen[data-route="guild"],.screen[data-route="messages"],.screen[data-route="legacy"],.screen[data-route="settings"]{padding-top:9px}
.screen-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;margin:0 0 8px}.screen-heading h2{margin:2px 0 0;font-size:18px;line-height:1.1}.heading-note{align-self:center;padding:3px 5px;border:1px solid var(--line);background:var(--sunken);color:var(--muted);font-size:9px;white-space:nowrap}.heading-note.attention{border-color:#76443a;color:#efb09f}.screen-note{margin:0 0 8px;color:var(--muted);font-size:10px}.screen-note b{color:var(--text)}
.ui-state{display:grid;justify-items:center;gap:5px;min-height:180px;padding:26px 14px;border:1px solid var(--line);background:var(--panel);text-align:center}.ui-state-icon{display:grid;place-content:center;width:42px;height:42px;border:1px solid var(--line-strong);background:var(--sunken);color:var(--gold);font-size:21px}.ui-state h2{margin:3px 0 0;font-size:16px}.ui-state p{max-width:360px;margin:0 0 6px;color:var(--muted)}.ui-state .btn{min-width:130px}.error-state{border-color:#714236;background:#241511}.error-state .ui-state-icon{border-color:#8b4b3c;color:#e38b77}.empty-state{min-height:120px;padding:18px 12px}.empty-state .ui-state-icon{width:36px;height:36px;color:var(--muted);font-size:18px}.ui-spinner{width:24px;height:24px;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:ui-spin .8s linear infinite}.loading-state{min-height:170px}
.more-identity{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;padding:8px 9px;border:1px solid var(--line-strong);background:var(--sunken)}.more-identity b,.more-identity span{display:block}.more-identity div span{margin-top:2px;color:var(--muted);font-size:9px}.more-identity>span{color:var(--gold);font-weight:700;white-space:nowrap}.more-section{margin-top:11px}
.settings-list{border:1px solid var(--line);background:var(--panel)}.setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;min-height:62px;padding:8px 9px;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:0}.setting-row b,.setting-row small{display:block}.setting-row small{margin-top:3px;color:var(--muted);font-size:9px}.status-chip{padding:3px 5px;border:1px solid var(--line);background:var(--sunken);font-size:9px}.status-chip.online{border-color:#526541;color:#a8c981}.status-chip.offline{border-color:#734238;color:#e69b87}.settings-note{margin:8px 0;padding:8px 9px;border:1px solid #4b513d;background:var(--sunken)}.settings-note p{margin:3px 0 0;color:var(--muted);font-size:10px}
.message-search{position:sticky;top:58px;z-index:10;margin-bottom:9px;padding:7px;border:1px solid var(--line);background:rgba(10,11,8,.97)}.message-results,.message-dialogs{margin-top:9px}.message-dialog{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:58px;padding:7px 8px}.dialog-avatar{display:grid;place-content:center;width:36px;height:36px;border:1px solid #4a513d;background:var(--sunken);color:#dccd9c;font-size:15px;font-weight:700}.dialog-copy{min-width:0}.dialog-copy>span{display:flex;align-items:center;justify-content:space-between;gap:5px}.dialog-copy b,.dialog-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-dialog time,.message-dialog>em{align-self:start;color:var(--faint);font-size:8px;font-style:normal;white-space:nowrap}.search-result>em{align-self:center;font-size:17px}.conversation-shell{display:grid;grid-template-rows:auto minmax(220px,1fr) auto;min-height:calc(100dvh - var(--nav-height) - 92px);border:1px solid var(--line);background:var(--panel)}.conversation-head{position:sticky;top:58px;z-index:10;display:grid;grid-template-columns:36px 36px minmax(0,1fr);align-items:center;gap:7px;padding:7px;border-bottom:1px solid var(--line);background:rgba(14,16,11,.98)}.conversation-head b,.conversation-head small{display:block}.conversation-head small{color:var(--muted);font-size:9px}.back-link{display:grid;place-content:center;width:36px;height:36px;border:1px solid var(--line);background:var(--sunken);color:var(--text);font-size:22px}.conversation-shell .message-history{min-height:260px;max-height:none;padding:9px 7px}.conversation-shell .message-compose{position:sticky;bottom:calc(var(--nav-height) + var(--safe-bottom));z-index:9;margin:0;padding:7px;border-top:1px solid var(--line);background:rgba(14,16,11,.98)}.conversation-shell .message-compose textarea{min-height:44px;max-height:92px}.message-bubble{border-radius:2px}.message-bubble.outgoing{border-left:3px solid #84662e}.message-bubble.incoming{border-left:3px solid #505a43}
.legacy-hero{padding:13px;border:1px solid #66552e;background:linear-gradient(180deg,#241d0f,var(--panel))}.legacy-hero h2{margin:3px 0;font-size:19px}.legacy-hero p{margin:6px 0 0;color:#c7b990}.legacy-counters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:7px 0;border:1px solid var(--line);background:var(--sunken)}.legacy-counters>div{padding:9px 6px;border-right:1px solid var(--line);text-align:center}.legacy-counters>div:last-child{border-right:0}.legacy-counters b,.legacy-counters span{display:block}.legacy-counters b{color:#e4d29b;font-size:17px}.legacy-counters span{margin-top:2px;color:var(--muted);font-size:8px}.legacy-list{padding:9px;border:1px solid var(--line);background:var(--panel)}.legacy-achievement{display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px;padding:7px 0;border-bottom:1px solid var(--line)}.legacy-achievement:last-child{border-bottom:0}.legacy-achievement>span{color:var(--gold);text-align:center}.legacy-achievement b,.legacy-achievement small{display:block}.legacy-achievement small{margin-top:2px;color:var(--muted);font-size:9px}.privacy-note,.checkpoint-note{margin:7px 0;padding:8px 9px;border:1px solid #454b39;background:var(--sunken)}.privacy-note p,.checkpoint-note p{margin:3px 0 0;color:var(--muted);font-size:9px}
.dungeon-stepper{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin-bottom:7px}.dungeon-stepper i{position:relative;display:grid;place-content:center;height:28px;border:1px solid var(--line);background:var(--sunken);color:var(--faint);font-style:normal;font-size:9px}.dungeon-stepper i.done{border-color:#52633e;color:#a9c882}.dungeon-stepper i.active{border-color:var(--gold);background:#2a2111;color:#f4d58e}.dungeon-stage{padding:11px;border:1px solid var(--line-strong);background:linear-gradient(180deg,var(--raised),var(--panel))}.dungeon-stage h3{margin:3px 0 7px;font-size:17px}.dungeon-stage>p{margin:8px 0;color:var(--muted)}.dungeon-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);background:var(--sunken)}.dungeon-facts span{padding:6px;border-right:1px solid var(--line);color:var(--muted);font-size:9px}.dungeon-facts span:last-child{border-right:0}.dungeon-facts b{display:block;margin-top:2px;color:var(--text);font-size:10px}.dungeon-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.dungeon-choices .btn{width:100%}
.guild-identity{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border:1px solid var(--line-strong);background:linear-gradient(180deg,var(--raised),var(--panel))}.guild-identity h2{margin:2px 0;font-size:18px}.guild-identity p{margin:0;color:var(--muted);font-size:9px}.guild-emblem{display:grid;place-content:center;width:34px;height:34px;border:1px solid #585039;background:var(--sunken);font-size:18px}.guild-emblem.large{width:48px;height:48px;font-size:25px}.guild-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:7px 0;border:1px solid var(--line);background:var(--sunken)}.guild-stats>span{padding:7px;border-right:1px solid var(--line);text-align:center}.guild-stats>span:last-child{border-right:0}.guild-stats small,.guild-stats b{display:block}.guild-stats small{color:var(--muted);font-size:8px}.guild-stats b{margin-top:2px;color:#e4d39e;font-size:13px}.guild-goal,.guild-boss-panel{margin-bottom:7px;padding:9px;border:1px solid var(--line);background:var(--panel)}.guild-goal p{margin:6px 0 0;color:var(--muted);font-size:9px}.guild-boss-panel{border-color:#61522f;background:linear-gradient(180deg,#201a0f,var(--panel))}.guild-boss-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px}.guild-boss-head h3{margin:2px 0}.guild-boss-head small{color:var(--muted);font-size:9px}.guild-boss-head>b{color:var(--gold)}.guild-boss-facts{display:flex;gap:5px;flex-wrap:wrap}.guild-boss-facts span{padding:3px 5px;border:1px solid #464b39;color:var(--muted);font-size:8px}.guild-boss-facts b{color:var(--text)}.guild-members{margin-bottom:7px;border:1px solid var(--line);background:var(--panel)}.guild-members>summary{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:7px 9px;font-weight:700;cursor:pointer}.guild-members>summary span{padding:1px 4px;border:1px solid #5b5135;color:var(--gold);font-size:9px}.guild-members>div{padding:0 8px 8px}.guild-member{display:grid;grid-template-columns:36px minmax(0,1fr) 48px auto;align-items:center;gap:7px;padding:7px 0;border-bottom:1px solid var(--line)}.guild-member:last-child{border-bottom:0}.guild-member b,.guild-member small{display:block}.guild-member small{color:var(--muted);font-size:8px}.guild-member>span:nth-child(3){text-align:right}.guild-directory{display:grid;gap:5px}.guild-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;padding:7px 8px;border:1px solid var(--line);background:var(--panel)}
.public-profile{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border:1px solid var(--line-strong);background:linear-gradient(180deg,var(--raised),var(--panel))}.profile-avatar{display:grid;place-content:center;width:50px;height:50px;border:1px solid #57503a;background:var(--sunken);font-size:26px}.public-profile h2{margin:2px 0;font-size:18px}.public-profile p{margin:0;color:var(--muted);font-size:9px}.profile-section{margin-top:7px;padding:9px;border:1px solid var(--line);background:var(--panel)}.profile-section h3{margin:0 0 7px}.public-attributes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);background:var(--sunken)}.public-attributes span{padding:6px 3px;border-right:1px solid var(--line);text-align:center}.public-attributes span:last-child{border-right:0}.public-attributes small,.public-attributes b{display:block}.public-attributes small{overflow:hidden;color:var(--muted);font-size:7px;text-overflow:ellipsis;white-space:nowrap}.public-attributes b{margin-top:2px;color:#e1d19c}.profile-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.profile-feed{display:grid;gap:4px;margin:0;padding:0;list-style:none}.profile-feed li{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:5px 0;border-bottom:1px solid var(--line)}.profile-feed li:last-child{border-bottom:0}.profile-feed span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-feed small{color:var(--muted);font-size:8px;white-space:nowrap}
body[data-motion="reduced"] *,body[data-motion="reduced"] *::before,body[data-motion="reduced"] *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media(max-width:430px){.profile-columns{grid-template-columns:1fr}.public-attributes{grid-template-columns:repeat(3,minmax(0,1fr))}.public-attributes span:nth-child(3){border-right:0}.public-attributes span:nth-child(n+4){border-top:1px solid var(--line)}.guild-member{grid-template-columns:34px minmax(0,1fr) 42px}.guild-member>.btn{grid-column:2/-1;width:100%}.conversation-shell{min-height:calc(100dvh - var(--nav-height) - 82px)}.legacy-counters b{font-size:15px}}
@media(max-width:360px){.legacy-counters{grid-template-columns:1fr}.legacy-counters>div{border-right:0;border-bottom:1px solid var(--line)}.legacy-counters>div:last-child{border-bottom:0}.dungeon-facts,.dungeon-choices{grid-template-columns:1fr}.dungeon-facts span{border-right:0;border-bottom:1px solid var(--line)}.dungeon-facts span:last-child{border-bottom:0}.guild-identity,.public-profile{grid-template-columns:42px minmax(0,1fr) auto}.guild-emblem.large,.profile-avatar{width:42px;height:42px}.public-attributes{grid-template-columns:repeat(2,minmax(0,1fr))}.public-attributes span:nth-child(odd){border-right:1px solid var(--line)}.public-attributes span:nth-child(even){border-right:0}.public-attributes span:nth-child(n+3){border-top:1px solid var(--line)}}

/* r126 — подробная карточка предмета и честное сравнение замены. */
body.modal-open{overflow:hidden}
.item-actions{grid-template-columns:repeat(auto-fit,minmax(82px,1fr))}
.item-detail-modal>div{padding:0;background:var(--panel)}
.item-detail-sheet{border-top:3px solid #766e57;background:var(--panel)}
.item-detail-sheet[data-rarity="uncommon"]{border-top-color:#739d61}
.item-detail-sheet[data-rarity="rare"]{border-top-color:#5784bd}
.item-detail-sheet[data-rarity="epic"]{border-top-color:#9b64b8}
.item-detail-sheet[data-rarity="relic"],.item-detail-sheet[data-rarity="named"]{border-top-color:#d2a642}
.item-detail-head{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:9px;padding:11px 10px 9px;border-bottom:1px solid var(--line);background:rgba(18,20,14,.98)}
.item-detail-head h2{margin:3px 0 2px;font-size:18px;line-height:1.15}.item-detail-head h2 i{color:var(--gold);font-style:normal}.item-detail-head p{margin:0;color:var(--muted);font-size:10px}
.modal-close{display:grid;place-content:center;width:44px;height:44px;padding:0;border:1px solid var(--line);background:var(--sunken);color:var(--text);font-size:25px;line-height:1}
.detail-status{display:flex;gap:4px;flex-wrap:wrap;padding:8px 10px 0}.detail-status span{padding:3px 5px;border:1px solid #454b39;background:var(--sunken);color:var(--muted);font-size:9px}
.detail-section{margin:8px 10px 0;padding:9px;border:1px solid var(--line);background:var(--panel-2)}.detail-section h3{margin:0 0 7px;font-size:13px}
.detail-current{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;padding:6px 7px;background:var(--sunken)}.detail-current span{color:var(--muted);font-size:9px}.detail-current b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.comparison-current{padding:9px;border:1px solid #566344;background:#172013;color:#bcd195}
.comparison-table{overflow:hidden;border:1px solid #3c4232;background:var(--sunken)}
.comparison-head,.comparison-row{display:grid;grid-template-columns:minmax(110px,1.4fr) minmax(52px,.7fr) minmax(52px,.7fr) minmax(74px,.9fr);align-items:center;gap:5px;padding:6px 7px}
.comparison-head{border-bottom:1px solid var(--line);color:var(--faint);font-size:8px;text-transform:uppercase}.comparison-head b,.comparison-head em{text-align:right;font-style:normal}
.comparison-row{border-bottom:1px solid #2f3428}.comparison-row:last-child{border-bottom:0}.comparison-row>span{color:var(--muted);font-size:9px}.comparison-row>b,.comparison-row>em{text-align:right;font-size:10px;font-style:normal;font-variant-numeric:tabular-nums}.comparison-row>em{font-weight:700}.comparison-row>em.positive{color:#aecb82}.comparison-row>em.negative{color:#e18a75}.comparison-row>em.neutral{color:var(--faint);font-size:8px;font-weight:400}
.comparison-note{margin:7px 1px 0;color:var(--muted);font-size:9px}
.set-change{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:6px 0;border-bottom:1px solid #33382b}.set-change:last-child{border-bottom:0}.set-change span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.set-change b{font-variant-numeric:tabular-nums}.set-change small{grid-column:1/-1;color:var(--muted);font-size:8px}.set-change.positive b{color:#aecb82}.set-change.negative b{color:#e18a75}
.detail-rune{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:34px;padding:5px 0;border-bottom:1px solid #33382b}.detail-rune:last-child{border-bottom:0}.detail-rune>span,.detail-rune>small{color:var(--muted);font-size:8px}.detail-rune>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-rune.empty b{color:var(--faint)}
.detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #33382b;border-left:1px solid #33382b}.detail-fact{min-width:0;padding:7px;border-right:1px solid #33382b;border-bottom:1px solid #33382b;background:var(--sunken)}.detail-fact span,.detail-fact b{display:block}.detail-fact span{color:var(--muted);font-size:8px}.detail-fact b{margin-top:2px;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.item-detail-actions{position:sticky;bottom:0;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px;padding:9px 10px calc(9px + var(--safe-bottom));border-top:1px solid var(--line);background:rgba(12,13,9,.98)}
@media(max-width:390px){.comparison-head,.comparison-row{grid-template-columns:minmax(90px,1.25fr) 46px 46px minmax(62px,.8fr);gap:3px;padding:6px 5px}.comparison-head{font-size:7px}.comparison-row>span{font-size:8px}.comparison-row>b,.comparison-row>em{font-size:9px}.detail-facts{grid-template-columns:1fr}.detail-rune{grid-template-columns:62px minmax(0,1fr)}.detail-rune>small{grid-column:2}}

/* r127 — предварительный расчёт заточки, честные последствия и восстановление операции. */
.enhance-modal>div{padding:0;background:var(--panel)}
.enhance-sheet{border-top:3px solid #766e57;background:var(--panel)}
.enhance-sheet[data-rarity="uncommon"]{border-top-color:#739d61}.enhance-sheet[data-rarity="rare"]{border-top-color:#5784bd}.enhance-sheet[data-rarity="epic"]{border-top-color:#9b64b8}.enhance-sheet[data-rarity="relic"],.enhance-sheet[data-rarity="named"]{border-top-color:#d2a642}
.enhance-head{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:9px;padding:11px 10px 9px;border-bottom:1px solid var(--line);background:rgba(18,20,14,.98)}
.enhance-head h2{margin:3px 0 2px;font-size:18px;line-height:1.15}.enhance-head h2 i{color:var(--gold);font-style:normal}.enhance-head p{margin:0;color:var(--muted);font-size:10px}
.enhance-chance{display:grid;justify-items:center;gap:2px;margin:9px 10px 0;padding:12px;border:1px solid #5e5132;background:linear-gradient(180deg,#211c10,var(--sunken));text-align:center}.enhance-chance small{color:var(--gold);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.enhance-chance b{font:700 28px var(--serif);color:#eadb9d}.enhance-chance span{color:var(--muted);font-size:9px}
.enhance-section{margin:8px 10px 0;padding:9px;border:1px solid var(--line);background:var(--panel-2)}.enhance-section h3{margin:0 0 7px;font-size:13px}
.enhance-outcome{padding:8px;border:1px solid #3d4332;background:var(--sunken)}.enhance-outcome>span,.enhance-outcome>b,.enhance-outcome>small{display:block}.enhance-outcome>span{color:var(--muted);font-size:8px}.enhance-outcome>b{margin-top:2px;font-size:13px}.enhance-outcome>small{margin-top:3px;color:var(--muted);font-size:9px}.enhance-outcome.success{border-color:#536542;background:#172013}.enhance-outcome.success>b{color:#bdd391}.enhance-outcome.failure p{margin:0;color:var(--muted);font-size:9px;line-height:1.45}.enhance-outcome.failure>div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;padding-top:7px;border-top:1px solid #353a2d}.enhance-outcome.failure span{color:var(--muted);font-size:8px}.enhance-outcome.failure b{font-size:10px;text-align:right}
.enhance-warning{margin-top:7px;padding:7px 8px;border:1px solid #79513c;background:#241811}.enhance-warning b,.enhance-warning span{display:block}.enhance-warning b{color:#e5a07d;font-size:10px}.enhance-warning span{margin-top:2px;color:#c8a995;font-size:9px;line-height:1.35}
.enhance-costs{border:1px solid #3a4030;background:var(--sunken)}.enhance-costs>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 7px;border-bottom:1px solid #303528}.enhance-costs>div span{color:var(--muted);font-size:9px}.enhance-costs>div b{font-size:10px}.enhance-costs>div.total{background:#1c1b12}.enhance-costs>div.total b{color:var(--gold);font-size:12px}.enhance-costs>p{margin:0;padding:7px;font-size:9px}.enhance-costs>p b{font-size:10px}
.enhance-insurance{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:52px;margin-top:7px;padding:7px 8px;border:1px solid var(--line);background:var(--sunken);color:var(--text);text-align:left}.enhance-insurance>span{display:grid;place-content:center;width:24px;height:24px;border:1px solid #555c46;color:var(--muted);font-size:13px}.enhance-insurance b,.enhance-insurance small{display:block}.enhance-insurance b{font-size:10px}.enhance-insurance small{margin-top:2px;color:var(--muted);font-size:8px;line-height:1.3}.enhance-insurance.selected{border-color:#8b763f;background:#211d10}.enhance-insurance.selected>span{border-color:var(--gold);color:var(--gold)}.enhance-insurance.unavailable{opacity:.72}
.enhance-actions{position:sticky;bottom:0;z-index:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px;padding:9px 10px calc(9px + var(--safe-bottom));border-top:1px solid var(--line);background:rgba(12,13,9,.98)}.enhance-actions .btn{min-height:44px}.enhance-actions .btn:disabled{opacity:.45;cursor:not-allowed}
.enhance-recovery{margin:8px 10px 0;padding:10px;border:1px solid #7a5738;background:#241b12}.enhance-recovery.standalone{margin:10px}.enhance-recovery b{display:block;color:#e5bd7c}.enhance-recovery p{margin:4px 0 9px;color:#c7b499;font-size:9px;line-height:1.45}.enhance-recovery .btn+.btn{margin-top:6px}
.pending-enhance{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:7px;padding:8px 9px;border:1px solid #7a5738;background:#241b12}.pending-enhance b,.pending-enhance span{display:block}.pending-enhance b{color:#e4bb78;font-size:10px}.pending-enhance span{margin-top:2px;color:#c5ad8b;font-size:8px}.pending-enhance .btn{min-height:38px}
.enhance-result{display:grid;justify-items:center;gap:6px;margin:10px;padding:15px 10px;border:1px solid var(--line);background:var(--sunken);text-align:center}.enhance-result.success{border-color:#536542;background:#172013}.enhance-result.danger{border-color:#7c4137;background:#251411}.enhance-result.failure{border-color:#62583e;background:#1e1b12}.result-symbol{display:grid;place-content:center;width:48px;height:48px;border:1px solid currentColor;color:var(--gold);font-size:26px}.enhance-result.success .result-symbol{color:#b8d18c}.enhance-result.danger .result-symbol{color:#e78976}.enhance-result h2{margin:1px 0 2px;font-size:17px}.enhance-result>p{margin:2px 0 0;color:var(--muted);font-size:9px}.result-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;border-top:1px solid var(--line);border-left:1px solid var(--line)}.result-facts>div{padding:7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(0,0,0,.08)}.result-facts span,.result-facts b{display:block}.result-facts span{color:var(--muted);font-size:8px}.result-facts b{margin-top:2px;font-size:10px}
@media(max-width:380px){.enhance-actions{grid-template-columns:1fr}.result-facts{grid-template-columns:1fr}.pending-enhance{grid-template-columns:1fr}.pending-enhance .btn{width:100%}}


/* r128 rune workshop */
.rune-manage-button{margin-top:8px}.rune-modal>div{width:min(680px,calc(100% - 12px));max-height:calc(100dvh - 16px);overflow:auto}.rune-sheet{background:var(--panel);border:1px solid var(--line)}.rune-sheet .item-detail-head{position:sticky;top:0;z-index:3;background:var(--panel)}.rune-sheet .item-detail-head h2 i{color:var(--gold);font-style:normal}.rune-resonance{margin:10px 10px 6px;padding:9px;border:1px solid #4a4f3d;background:var(--sunken)}.rune-resonance>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.rune-resonance span{color:var(--muted);font-size:10px}.rune-resonance b{color:var(--gold)}.rune-resonance-track{height:7px;margin-top:7px;background:#22261d;border:1px solid #3d4333}.rune-resonance-track i{display:block;height:100%;background:linear-gradient(90deg,#6f8e50,#c5a84f)}.rune-inventory-summary{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 10px 8px}.rune-inventory-summary span{display:flex;justify-content:space-between;padding:6px;border:1px solid #3d4333;color:var(--muted);font-size:10px}.rune-inventory-summary b{color:var(--text)}.rune-policy-note{display:grid;gap:3px;margin:0 10px 9px;padding:8px;border-left:3px solid #9b7939;background:#242219}.rune-policy-note b{font-size:10px}.rune-policy-note span{color:var(--muted);font-size:9px;line-height:1.45}.rune-socket-list{display:grid;gap:8px;padding:0 10px 12px}.rune-socket{border:1px solid #414735;background:#12140f}.rune-socket-head{display:flex;align-items:center;justify-content:space-between;padding:7px 8px;border-bottom:1px solid #343a2d}.rune-socket-head span{font-weight:700}.rune-socket-head b{color:var(--muted);font-size:9px;text-transform:uppercase}.rune-option,.rune-installed{padding:8px;border-bottom:1px solid #303527}.rune-option:last-child{border-bottom:0}.rune-option.blocked{opacity:.72}.rune-option header,.rune-installed header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.rune-option header b,.rune-installed header b{display:block;font-size:11px}.rune-option header small,.rune-installed header small{display:block;margin-top:2px;color:var(--muted);font-size:8px}.rune-option header>span,.rune-installed header>span{color:var(--gold);font-weight:700}.rune-option-meta{display:flex;gap:4px;flex-wrap:wrap;margin:6px 0}.rune-option-meta span{padding:2px 4px;border:1px solid #3b4132;color:var(--muted);font-size:8px}.rune-effect{display:grid;gap:3px;margin:7px 0;padding:7px;background:#1c2018;color:var(--muted);font-size:9px;line-height:1.45}.rune-effect b{color:var(--text);font-size:9px}.rune-effect.unpublished{border:1px dashed #5b533c}.rune-option>.btn{width:100%;margin-top:4px}.rune-extract-actions{display:grid;gap:5px;margin-top:8px}.rune-warning,.rune-safe-note{margin-top:8px;padding:7px;border-left:3px solid #9b6539;background:#2b2118;color:#d7b48f;font-size:9px;line-height:1.4}.rune-safe-note{border-left-color:#607f4b;background:#1c2719;color:#b9d2a2}.rune-confirm-card{margin:10px;padding:9px;border:1px solid #454b38;background:var(--sunken)}.rune-confirm-card dl{margin:0}.rune-confirm-card dl>div{display:grid;grid-template-columns:minmax(92px,.8fr) minmax(0,1.4fr);gap:8px;padding:6px 0;border-bottom:1px solid #343a2d}.rune-confirm-card dl>div:last-child{border-bottom:0}.rune-confirm-card dt{color:var(--muted);font-size:9px}.rune-confirm-card dd{margin:0;text-align:right;font-size:10px}.rune-confirm-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:6px;padding:0 10px 12px}.rune-confirm-actions .btn{min-height:44px}@media(max-width:390px){.rune-confirm-actions{grid-template-columns:1fr}.rune-confirm-card dl>div{grid-template-columns:1fr}.rune-confirm-card dd{text-align:left}.rune-inventory-summary{grid-template-columns:1fr}}


/* r129 — безопасный рынок и серверный расчёт комиссий. */
.market-modal>div{width:min(650px,calc(100% - 12px));max-height:calc(100dvh - 16px);overflow:auto;padding:0;background:var(--panel)}
.market-sheet{background:var(--panel);border-top:3px solid #a38142}.market-modal-head{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:9px;padding:11px 10px 9px;border-bottom:1px solid var(--line);background:rgba(18,20,14,.98)}.market-modal-head h2{margin:3px 0 2px;font-size:18px}.market-modal-head p{margin:0;color:var(--muted);font-size:9px}
.market-item-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:9px 10px 0;padding:9px;border:1px solid #4b4f3c;background:var(--sunken)}.market-item-summary[data-rarity="rare"]{border-left:3px solid #5784bd}.market-item-summary[data-rarity="epic"]{border-left:3px solid #9b64b8}.market-item-summary[data-rarity="relic"],.market-item-summary[data-rarity="named"]{border-left:3px solid #d2a642}.market-item-summary b,.market-item-summary small{display:block}.market-item-summary b{margin-top:2px;font-size:12px}.market-item-summary small{margin-top:3px;color:var(--muted);font-size:8px}.market-item-summary>span{color:var(--gold);font-size:10px}
.market-form,.market-terms,.market-recovery{margin:9px 10px;padding:10px;border:1px solid var(--line);background:var(--panel-2)}.market-form label{display:block;margin-bottom:5px;font-size:10px;font-weight:700}.market-price-input{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center}.market-price-input .field{min-height:46px;font-size:16px;font-variant-numeric:tabular-nums}.market-price-input>span{display:grid;place-content:center;height:46px;border:1px solid var(--line);border-left:0;background:var(--sunken);color:var(--gold);font-weight:700}.market-form>small{display:block;margin:5px 0 8px;color:var(--muted);font-size:8px}
.market-terms dl{margin:0;border-top:1px solid #3a4030;border-left:1px solid #3a4030}.market-terms dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:7px;border-right:1px solid #3a4030;border-bottom:1px solid #3a4030;background:var(--sunken)}.market-terms dt{color:var(--muted);font-size:9px}.market-terms dd{margin:0;text-align:right;font-size:10px;font-weight:700}.market-terms .total{background:#211d12}.market-terms .total dd{color:var(--gold);font-size:12px}.market-terms>p{margin:8px 0 0;color:var(--muted);font-size:9px;line-height:1.45}.market-warning{padding:8px;border-left:3px solid #9b6539;background:#2b2118!important;color:#d7b48f!important}
.market-modal-actions{position:sticky;bottom:0;z-index:4;display:grid;grid-template-columns:1fr 1.25fr;gap:6px;padding:9px 10px calc(9px + var(--safe-bottom));border-top:1px solid var(--line);background:rgba(12,13,9,.98)}.market-modal-actions .btn{min-height:44px}.market-modal-actions .btn:disabled{opacity:.45}.market-recovery b{display:block;color:#e5bd7c}.market-recovery p{color:var(--muted);font-size:9px;line-height:1.45}.market-recovery .btn+.btn{margin-top:6px}.market-pending{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:8px;padding:8px 9px;border:1px solid #7a5738;background:#241b12}.market-pending b,.market-pending span{display:block}.market-pending b{color:#e4bb78;font-size:10px}.market-pending span{margin-top:2px;color:#c5ad8b;font-size:8px}.market-pending .btn{min-height:38px}
@media(max-width:390px){.market-modal-actions{grid-template-columns:1fr}.market-terms dl>div{grid-template-columns:1fr}.market-terms dd{text-align:left}.market-pending{grid-template-columns:1fr}.market-pending .btn{width:100%}}

/* r130 combat feedback: animation is presentation only; server remains authoritative. */
.battle-arena{position:relative;overflow:hidden}.fighter{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;transform:translateZ(0)}.fighter-content{min-width:0}.fighter-avatar{display:grid;width:34px;height:34px;place-items:center;border:1px solid #4a503a;background:#11140d;font-size:22px;line-height:1}.enemy-fighter .fighter-avatar{border-color:#673e32;background:#21110e}.player-fighter .fighter-avatar{border-color:#455d35;background:#111a0d}.battle-float{position:absolute;z-index:3;top:50%;right:10px;display:none;min-width:50px;padding:3px 5px;border:1px solid #7c4938;background:#26120e;color:#f4b59d;font-size:12px;font-weight:800;line-height:1;text-align:center;transform:translateY(-50%);pointer-events:none}.player-fighter .battle-float{border-color:#5b6e43;background:#121b0e;color:#d5e9ad}.battle-float.critical{border-color:#a6792d;background:#281d09;color:#ffd97b}.battle-float.show{display:block;animation:battle-float-in .62s ease-out both}
.battle-feedback{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:8px;border:1px solid #3b412f;background:#11130d}.battle-feedback>div{min-width:0}.battle-feedback b,.battle-feedback span{display:block}.battle-feedback b{color:#eadba9;font-size:11px}.battle-feedback span{margin-top:2px;color:var(--muted);font-size:9px}.battle-feedback em{display:flex;justify-content:flex-end;gap:3px;flex-wrap:wrap;font-style:normal}.battle-feedback i{padding:2px 4px;border:1px solid #5b5d49;color:#d5cdb0;font-size:7px;font-style:normal;letter-spacing:.04em}.battle-feedback i.critical{border-color:#8c6a2b;color:#f4cf70}.battle-feedback i.guarded{border-color:#55703d;color:#cbe3a6}.battle-feedback i.danger{border-color:#884537;color:#efb6a7}.battle-feedback.critical-turn{border-color:#806426;background:#211a0c}.battle-feedback.idle{display:block}.battle-feedback.auto{display:block;border-color:#4e573c}.battle-request{padding:5px 7px;border:1px solid #5f5534;background:#1d180d;color:#d8c58a;font-size:9px;text-align:center}.battle-screen.battle-busy .battle-arena{opacity:.88}.battle-screen.battle-busy .combat-command,.battle-screen.battle-busy .fast-battle{cursor:progress}.combat-command:disabled{opacity:.48;filter:saturate(.45)}.combat-command[data-static-disabled="1"]{border-style:dashed}.battle-terminal-wait{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;padding:9px;border:1px solid #4d533d;background:#14170f}.battle-terminal-wait .ui-spinner{grid-row:1/3;width:18px;height:18px}.battle-terminal-wait b,.battle-terminal-wait small{display:block}.battle-terminal-wait small{color:var(--muted);font-size:9px}.result-screen.defeat .result-mark{border-color:#8c493a;color:#efaa99}
.fighter-strike.player-fighter{animation:battle-player-strike .32s ease-out both}.fighter-strike.enemy-fighter{animation:battle-enemy-strike .32s ease-out both}.fighter-hit{animation:battle-impact .28s ease-out both}.fighter-guard{animation:battle-guard .3s ease-out both}.fighter-evade{animation:battle-evade .32s ease-out both}
@keyframes battle-player-strike{0%{transform:translateY(0)}45%{transform:translateY(-12px) scale(1.015)}100%{transform:translateY(0)}}
@keyframes battle-enemy-strike{0%{transform:translateY(0)}45%{transform:translateY(12px) scale(1.015)}100%{transform:translateY(0)}}
@keyframes battle-impact{0%,100%{filter:none;transform:translateX(0)}30%{filter:brightness(1.5);transform:translateX(-4px)}60%{transform:translateX(3px)}}
@keyframes battle-guard{0%,100%{box-shadow:none}45%{box-shadow:inset 0 0 0 2px #7d9255,0 0 12px rgba(125,146,85,.28)}}
@keyframes battle-evade{0%,100%{transform:translateX(0);opacity:1}45%{transform:translateX(14px);opacity:.55}}
@keyframes battle-float-in{0%{opacity:0;transform:translateY(-20%)}25%{opacity:1;transform:translateY(-55%)}100%{opacity:0;transform:translateY(-90%)}}
body[data-motion="reduced"] .fighter-strike,body[data-motion="reduced"] .fighter-hit,body[data-motion="reduced"] .fighter-guard,body[data-motion="reduced"] .fighter-evade,body[data-motion="reduced"] .battle-float.show{animation-duration:.01ms!important;animation-iteration-count:1!important}
@media(prefers-reduced-motion:reduce){.fighter-strike,.fighter-hit,.fighter-guard,.fighter-evade,.battle-float.show{animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media(max-width:370px){.fighter{grid-template-columns:30px minmax(0,1fr);gap:6px}.fighter-avatar{width:30px;height:30px;font-size:19px}.battle-feedback{display:block}.battle-feedback em{justify-content:flex-start;margin-top:5px}}

/* r131: concise hunt onboarding, truthful dungeon decisions, resumable route UX */
.active-run{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:7px 0;padding:9px;border:1px solid #66552e;background:linear-gradient(180deg,#231d10,var(--panel))}.active-run b,.active-run small{display:block}.active-run small{margin-top:3px;color:var(--muted);font-size:9px}.active-run .btn{min-height:38px}
.hunt-guide{margin-bottom:7px;padding:10px;border:1px solid #5b5135;background:linear-gradient(180deg,#211b0f,var(--panel))}.hunt-guide h3{margin:2px 0;font-size:15px}.hunt-guide>p{margin:7px 0 0;color:var(--muted);font-size:9px}.rank-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:7px}.rank-guide span{padding:6px;border:1px solid var(--line);background:var(--sunken)}.rank-guide b,.rank-guide small{display:block}.rank-guide b{color:#dfcc91;font-size:10px}.rank-guide small{margin-top:2px;color:var(--muted);font-size:8px;line-height:1.35}
.study-explain{margin:7px 0;border:1px solid var(--line);background:var(--sunken)}.study-explain>summary{padding:7px 8px;color:#c9bc96;font-size:9px;cursor:pointer}.study-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.study-split>div{display:grid;grid-template-columns:1fr auto;gap:4px 6px;padding:7px;border-right:1px solid var(--line)}.study-split>div:last-child{border-right:0}.study-split span,.study-split b{font-size:9px}.study-split b{color:#e7d39b}.study-split i{grid-column:1/-1;height:6px;overflow:hidden;border:1px solid #414735;background:#070805}.study-split i em{display:block;height:100%;background:#9c7935}.study-split small{grid-column:1/-1;color:var(--muted);font-size:8px;line-height:1.35}
.focus-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin:7px 0}.focus-row>span{width:100%;color:var(--muted);font-size:9px}.focus-row .btn{min-height:32px;padding:5px 7px;font-size:9px}.focus-row .focus-active{border-color:var(--gold);background:#2a2111;color:#f3d585}
.dungeon-stepper i{height:36px}.dungeon-stepper i span,.dungeon-stepper i small{display:block;text-align:center}.dungeon-stepper i small{margin-top:2px;font-size:7px;line-height:1;color:inherit}.dungeon-earned{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:7px;border:1px solid var(--line);background:var(--sunken)}.dungeon-earned span{padding:6px;border-right:1px solid var(--line);color:var(--muted);font-size:8px}.dungeon-earned span:last-child{border-right:0}.dungeon-earned b{display:block;margin-top:2px;color:var(--text);font-size:10px}
@media(max-width:390px){.rank-guide,.study-split{grid-template-columns:1fr}.study-split>div{border-right:0;border-bottom:1px solid var(--line)}.study-split>div:last-child{border-bottom:0}.active-run{grid-template-columns:1fr}.active-run .btn{width:100%}.dungeon-stepper{gap:2px}.dungeon-stepper i small{font-size:6px}.dungeon-earned{grid-template-columns:1fr}.dungeon-earned span{border-right:0;border-bottom:1px solid var(--line)}.dungeon-earned span:last-child{border-bottom:0}}

/* r132: fixed hunt guide, guild creation and messenger safety/realtime UX. */
.social-modal{position:fixed;inset:0;z-index:95;display:flex;align-items:flex-end;justify-content:center;background:rgba(4,5,3,.9)}
.social-modal-card{width:min(650px,100%);max-height:92dvh;overflow:auto;border:1px solid var(--line);border-bottom:0;background:var(--panel);box-shadow:0 -12px 36px rgba(0,0,0,.42)}
.social-sheet{padding:0 10px calc(10px + var(--safe-bottom))}.social-sheet>.btn{margin-top:7px;min-height:44px}
.social-modal-head{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:9px;margin:0 -10px 10px;padding:11px 10px 9px;border-bottom:1px solid var(--line);background:rgba(18,20,14,.98)}
.social-modal-head h2{margin:3px 0 2px;font-size:18px}.social-modal-head p{margin:0;color:var(--muted);font-size:9px;line-height:1.4}
.social-facts{display:grid;gap:5px;margin:8px 0}.social-facts p{margin:0;padding:7px 8px;border:1px solid var(--line);background:var(--sunken);color:var(--muted);font-size:9px;line-height:1.45}.social-facts b{color:var(--text)}
.social-cost{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;margin-top:9px;padding:9px;border:1px solid #66552e;background:#211b0f}.social-cost span{color:var(--muted);font-size:9px}.social-cost b{color:var(--gold)}.social-cost small{grid-column:1/-1;color:var(--muted);font-size:8px}
.hunt-guide-sheet .rank-guide{margin:0}.rank-guide.expanded span{min-height:62px}.hunt-guide-sheet{border-top:3px solid #806a35}
.guild-create-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:8px;padding:9px;border:1px solid #62522e;background:linear-gradient(180deg,#211b0f,var(--panel))}.guild-create-card b,.guild-create-card small{display:block}.guild-create-card small{margin-top:3px;color:var(--muted);font-size:9px}.guild-create-card .btn{min-height:40px}
.conversation-head{grid-template-columns:36px 36px minmax(0,1fr) 36px}.conversation-menu{display:grid;place-content:center;width:36px;height:36px;padding:0;border:1px solid var(--line);background:var(--sunken);color:var(--muted);font-weight:700}
.message-bubble{position:relative;padding-right:28px}.message-bubble.outgoing{padding-right:9px}.message-more{position:absolute;right:3px;top:3px;width:24px;height:24px;padding:0;border:0;background:transparent;color:var(--faint);font-size:10px}
.messenger-settings{margin-bottom:8px;border:1px solid var(--line);background:var(--panel)}.messenger-settings>summary{min-height:40px;padding:8px 9px;color:#cdbf91;font-weight:700;cursor:pointer}.messenger-settings>label,.messenger-settings>.btn{margin:0 8px 8px}.messenger-settings label>span{display:block;margin-bottom:4px;color:var(--muted);font-size:9px}
.switch-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px;border:1px solid var(--line);background:var(--sunken)}.switch-row span{margin:0!important}.switch-row b,.switch-row small{display:block}.switch-row b{color:var(--text);font-size:10px}.switch-row small{margin-top:2px;color:var(--muted);font-size:8px}.switch-row input{width:22px;height:22px}
.conversation-shell .message-compose{bottom:calc(var(--nav-height) + var(--safe-bottom));padding:7px calc(7px + var(--safe-right)) calc(7px + var(--safe-bottom)) calc(7px + var(--safe-left))}
@media(max-width:390px){.guild-create-card{grid-template-columns:1fr}.guild-create-card .btn{width:100%}.rank-guide.expanded{grid-template-columns:1fr}.social-cost{grid-template-columns:1fr}.social-cost small{grid-column:auto}}

/* r133 — единая навигация, touch-targets и читаемость без раздувания WAP-интерфейса. */
:root{--muted:#b7ae92;--faint:#948d77;--touch:44px}
body{overflow-wrap:anywhere}
button,a,summary,[role="button"]{touch-action:manipulation}
.btn.tiny,.tabs button,.item-actions .btn,.hunt-tools .btn,.focus-row .btn,.active-run .btn,.pending-enhance .btn,.market-pending .btn,.guild-create-card .btn,.messenger-settings>summary,.section-jump a{min-height:44px}
.btn.tiny{padding:6px 8px;font-size:10px}
.item-actions{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}
.target-action,.locked-action{min-width:72px;min-height:44px}
.conversation-head{grid-template-columns:44px 36px minmax(0,1fr) 44px}
.back-link,.conversation-menu{width:44px;height:44px;min-width:44px;min-height:44px}
.message-bubble.incoming{padding-right:42px}
.message-more{top:0;right:0;width:40px;height:40px;min-width:40px;min-height:40px;font-size:13px}
.section-jump a{display:grid;place-items:center;padding:8px 10px;font-size:10px}
.filter-panel>summary,.resource-panel>summary,.market-activity>summary,.battle-log-panel>summary,.guild-members>summary,.study-explain>summary{min-height:44px;display:flex;align-items:center}
.modal,.social-modal{padding-top:var(--safe-top);padding-left:var(--safe-left);padding-right:var(--safe-right)}
.modal>div,.social-modal-card{max-height:calc(100dvh - var(--safe-top) - 8px)}
.social-modal-card{padding-bottom:var(--safe-bottom)}
.modal-close{min-width:44px;min-height:44px}
.comparison-row em.positive::before{content:"▲ ";font-size:.82em}
.comparison-row em.negative::before{content:"▼ ";font-size:.82em}
.comparison-row em.neutral::before{content:"• ";font-size:.82em}
.eyebrow,.enemy .rank,.identity span,.badge,.market-history-row small,.message-bubble small,.region-collection span,.combat-stats span,.attribute-row small,.attribute-row span,.build-allocation span,.level-mark small,.quick-status span,.region-state,.target-tags span,.hunt-target summary,.hunt-target details p,.dungeon-entry small,.battle-state,.battle-feedback span,.battle-feedback i,.battle-request,.battle-terminal-wait small,.active-run small,.hunt-guide>p,.rank-guide small,.study-explain>summary,.study-split span,.study-split b,.study-split small,.focus-row>span,.focus-row .btn,.dungeon-stepper i small,.dungeon-earned span,.social-modal-head p,.social-facts p,.social-cost span,.social-cost small,.guild-create-card small,.messenger-settings label>span,.switch-row small,.guild-identity p,.guild-stats small,.guild-goal p,.guild-boss-head small,.guild-boss-facts span,.guild-member small,.public-profile p,.profile-feed small,.detail-status span,.comparison-head,.detail-current span,.rune-option header small,.rune-option-meta span,.rune-effect,.market-item-summary small,.market-form>small,.market-terms dt,.market-terms>p,.market-recovery p,.market-pending span{font-size:10px}
.message-dialog time,.message-dialog>em,.public-attributes small,.result-facts span,.rune-confirm-card dt{font-size:9px}
.screen-note,.comparison-note,.privacy-note p{line-height:1.5}
@media(max-width:370px){.topbar{grid-template-columns:minmax(0,1fr) auto}.wallet{min-width:76px}.item-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.conversation-head{grid-template-columns:44px 32px minmax(0,1fr) 44px}.dialog-avatar{width:32px;height:32px}}
@media(prefers-contrast:more){:root{--line:#626a50;--line-strong:#89916f;--muted:#d0c7aa;--faint:#b5ad92}.btn.secondary,.menu-link,.card,.hunt-target,.message-dialog{border-color:var(--line-strong)}}

/* r137b — inventory mockup layout */
.inv2-root{--inv2-bg:#0d0f0d;--inv2-panel:#151815;--inv2-panel2:#1c201c;--inv2-line:#2a2f2a;--inv2-line-soft:#22271f;--inv2-txt:#e8e6df;--inv2-txt-dim:#8f958a;--inv2-txt-faint:#5c6259;--inv2-gold:#c9a24b;--inv2-gold-soft:#8a7434;--inv2-brown:#3a2f18;--inv2-brown-brd:#6b5522;--inv2-up:#5fbf7a;--inv2-down:#d98a7c;--inv2-common:#6a726a;--inv2-uncommon:#54a06a;--inv2-rare:#4a86c9;--inv2-epic:#a463d6;--inv2-relic:#d1972f;color:var(--inv2-txt);padding-bottom:88px}
.inv2-root .field{min-height:38px}
.inv2-equip{padding:9px 0 8px;border-bottom:1px solid var(--inv2-line);background:#101310}
.inv2-equip .cap,.inv2-toolbar .cap{font-size:11px;color:var(--inv2-txt-dim);text-transform:uppercase;letter-spacing:.6px;font-weight:700}
.inv2-equip-row{display:flex;flex-wrap:wrap;gap:6px;padding-top:7px}
.inv2-eslot{flex:1 1 calc(25% - 6px);min-width:68px;aspect-ratio:1;background:var(--inv2-panel2);border:2px solid var(--inv2-line);border-radius:7px;position:relative;color:inherit;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
.inv2-eslot .ph{position:absolute;bottom:2px;left:0;right:0;font-size:8px;color:var(--inv2-txt-faint);text-align:center}
.inv2-eslot .en{position:absolute;right:2px;top:1px;font-size:9px;font-weight:800;color:var(--inv2-gold)}
.inv2-eslot .inv2-eslot-icon svg{width:26px;height:26px;opacity:.9}
.inv2-tabs{display:flex;gap:0;border-bottom:1px solid var(--inv2-line);background:var(--inv2-panel);overflow:auto;scrollbar-width:none;margin:0 -14px;padding:0 14px}
.inv2-tabs::-webkit-scrollbar{display:none}
.inv2-tab{flex:0 0 auto;padding:9px 12px;font-size:12.5px;font-weight:600;color:var(--inv2-txt-dim);border:none;background:none;border-bottom:2px solid transparent;white-space:nowrap}
.inv2-tab .c{color:var(--inv2-txt-faint);font-size:11px;margin-left:4px}.inv2-tab.active{color:var(--inv2-txt);border-bottom-color:var(--inv2-gold)}.inv2-tab.active .c{color:var(--inv2-gold)}
.inv2-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid var(--inv2-line-soft)}
.inv2-toolbar .sortbtns,.inv2-toolbar2 .grp{display:flex;gap:6px;flex-wrap:wrap}
.inv2-toolbar button,.inv2-toolbar2 .tinybtn,.inv2-filters .tinybtn{background:var(--inv2-panel2);border:1px solid var(--inv2-line);color:var(--inv2-txt-dim);font-size:11.5px;padding:4px 9px;border-radius:5px;font-weight:600}
.inv2-toolbar button.on,.inv2-toolbar2 .tinybtn.on{color:var(--inv2-gold);border-color:var(--inv2-gold-soft)}
.inv2-toolbar2{display:flex;align-items:center;gap:6px;padding:6px 0;border-bottom:1px solid var(--inv2-line-soft)}
.inv2-toolbar2 .lbl{font-size:11px;color:var(--inv2-txt-faint)}.inv2-toolbar2 .spacer{flex:1}
.inv2-filters{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr auto;gap:6px;padding:8px 0 4px}
.inv2-legend{padding:6px 0 0;display:flex;flex-wrap:wrap;gap:9px;font-size:10px;color:var(--inv2-txt-faint)}
.inv2-legend span{display:inline-flex;align-items:center;gap:4px}.inv2-legend i{width:10px;height:10px;border-radius:3px;border:2px solid}.inv2-legend .c-common{border-color:var(--inv2-common)}.inv2-legend .c-uncommon{border-color:var(--inv2-uncommon)}.inv2-legend .c-rare{border-color:var(--inv2-rare)}.inv2-legend .c-epic{border-color:var(--inv2-epic)}.inv2-legend .c-relic{border-color:var(--inv2-relic)}.inv2-legend .up{color:var(--inv2-up);font-weight:800}
.inv2-grid-wrap{padding:8px 0 96px}.inv2-grid{display:grid;grid-template-columns:repeat(var(--inv2-cols,5),minmax(0,1fr));gap:5px}
.inv2-cell{aspect-ratio:1;position:relative;background:var(--inv2-panel2);border:2px solid var(--inv2-common);border-radius:7px;display:flex;align-items:center;justify-content:center;color:inherit;padding:0;cursor:pointer;transition:transform .06s}.inv2-cell:active{transform:scale(.95)}
.inv2-cell.sel{box-shadow:0 0 0 2px var(--inv2-gold),0 0 12px rgba(201,162,75,.35)}.inv2-cell.picked{box-shadow:0 0 0 2px var(--inv2-up)}
.inv2-cell.r-uncommon,.inv2-eslot.r-uncommon,.chip.rar.r-uncommon{border-color:var(--inv2-uncommon);color:var(--inv2-uncommon)}
.inv2-cell.r-rare,.inv2-eslot.r-rare,.chip.rar.r-rare{border-color:var(--inv2-rare);color:var(--inv2-rare)}
.inv2-cell.r-epic,.inv2-eslot.r-epic,.chip.rar.r-epic{border-color:var(--inv2-epic);color:var(--inv2-epic)}
.inv2-cell.r-relic,.inv2-eslot.r-relic,.chip.rar.r-relic{border-color:var(--inv2-relic);color:var(--inv2-relic)}
.inv2-cell .inv2-cell-icon svg{width:52%;height:52%;opacity:.84}.inv2-cell .lvl{position:absolute;left:3px;top:2px;font-size:9px;font-weight:700;color:var(--inv2-txt-dim)}.inv2-cell .enh{position:absolute;right:2px;top:1px;font-size:10px;font-weight:800;color:var(--inv2-gold)}.inv2-cell .qty{position:absolute;right:2px;bottom:1px;font-size:11px;font-weight:800;color:#fff;text-shadow:0 1px 2px #000}.inv2-cell .worn{position:absolute;left:2px;bottom:1px;font-size:8px;font-weight:800;color:#7cc494;background:rgba(0,0,0,.55);border-radius:3px;padding:0 3px}.inv2-cell .up-arrow,.inv2-cell .down-arrow{position:absolute;left:2px;top:2px;font-size:11px;font-weight:900;text-shadow:0 1px 2px #000}.inv2-cell .up-arrow{color:var(--inv2-up)}.inv2-cell .down-arrow{color:var(--inv2-down)}.inv2-cell .pickmark{position:absolute;right:2px;top:2px;width:15px;height:15px;border-radius:50%;background:var(--inv2-up);color:#04220f;font-size:11px;font-weight:900;display:none;align-items:center;justify-content:center}.inv2-cell.picked .pickmark{display:flex}.inv2-cell .favmark{position:absolute;left:2px;bottom:2px;font-size:10px;color:var(--inv2-gold)}
.inv2-cell .enh,.inv2-cell .up-arrow,.inv2-cell .down-arrow{pointer-events:none}
.inv2-bulkbar{position:fixed;left:50%;bottom:64px;transform:translateX(-50%) translateY(120%);width:min(390px,calc(100vw - 16px));background:#171410;border-top:1px solid var(--inv2-gold-soft);z-index:60;display:flex;align-items:center;gap:10px;padding:10px 14px;transition:transform .2s;border-radius:12px 12px 0 0}.inv2-bulkbar.show{transform:translateX(-50%) translateY(0)}.inv2-bulkbar .info{flex:1;font-size:12.5px;color:var(--inv2-txt-dim)}.inv2-bulkbar .info b,.inv2-bulkbar .sum{color:var(--inv2-txt)}.inv2-bulkbar button{padding:10px 14px;border-radius:8px;font-size:13px;font-weight:700;border:1px solid var(--inv2-brown-brd);background:var(--inv2-brown);color:#f0d99a}.inv2-bulkbar .quick{background:var(--inv2-panel2);border-color:var(--inv2-line);color:var(--inv2-txt-dim)}
.inv2-scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .15s;z-index:70}.inv2-scrim.show{opacity:1;pointer-events:auto}
.inv2-sheet{position:fixed;left:50%;bottom:0;transform:translate(-50%,100%);width:min(390px,100vw);max-height:88vh;overflow:auto;background:var(--inv2-panel);border-top:1px solid var(--inv2-gold-soft);border-radius:14px 14px 0 0;z-index:71;transition:transform .2s cubic-bezier(.2,.8,.2,1);padding:0 0 14px;box-shadow:0 -10px 30px rgba(0,0,0,.6)}.inv2-sheet.show{transform:translate(-50%,0)}
.inv2-grip{width:38px;height:4px;background:#3a3f38;border-radius:3px;margin:8px auto 2px}.inv2-navrow{display:flex;align-items:center;justify-content:space-between;padding:2px 12px 6px}.inv2-navrow button{background:var(--inv2-panel2);border:1px solid var(--inv2-line);color:var(--inv2-txt);width:34px;height:30px;border-radius:7px;font-size:16px}.inv2-navrow .pos{font-size:11px;color:var(--inv2-txt-faint)}
.inv2-sh-head{display:flex;gap:11px;padding:4px 15px 12px;border-bottom:1px solid var(--inv2-line-soft)}.inv2-sh-icon{width:50px;height:50px;flex:0 0 auto;border-radius:8px;border:2px solid var(--inv2-common);background:var(--inv2-panel2);display:flex;align-items:center;justify-content:center}.inv2-sh-icon svg{width:29px;height:29px}.inv2-sh-title{flex:1;min-width:0}.inv2-sh-title h2{margin:0;font-size:16px;font-weight:700;line-height:1.25}.inv2-sh-title .plus{color:var(--inv2-gold)}.inv2-sh-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.chip{font-size:10.5px;padding:2px 7px;border-radius:4px;border:1px solid var(--inv2-line);color:var(--inv2-txt-dim)}.chip.fitted{color:#7cc494;border-color:#7cc494}
.inv2-sh-stat{display:flex;justify-content:space-between;align-items:center;margin:11px 15px 0;padding:9px 12px;background:#0e110e;border-radius:7px;border:1px solid var(--inv2-line-soft)}.inv2-sh-stat .k{font-size:14px;color:var(--inv2-txt)}.inv2-sh-stat .v{font-size:16px;font-weight:800;color:var(--inv2-gold)}
.inv2-cmp{margin:11px 15px 0;border:1px solid var(--inv2-gold-soft);border-radius:8px;overflow:hidden}.inv2-cmp .ctitle{font-size:10.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--inv2-gold);background:#171410;padding:6px 12px;font-weight:700}.inv2-cmp table{width:100%;border-collapse:collapse;font-size:13px}.inv2-cmp th{font-size:9.5px;text-transform:uppercase;color:var(--inv2-txt-faint);font-weight:700;letter-spacing:.4px;padding:6px 10px;text-align:right;background:#0e110e}.inv2-cmp th:first-child,.inv2-cmp td:first-child{text-align:left}.inv2-cmp td{padding:7px 10px;text-align:right;border-top:1px solid var(--inv2-line-soft);font-variant-numeric:tabular-nums}.inv2-cmp .now{color:var(--inv2-txt-dim)}.inv2-cmp .aft{color:var(--inv2-txt);font-weight:700}.inv2-cmp .dl.up{color:var(--inv2-up);font-weight:800}.inv2-cmp .dl.down{color:var(--inv2-down);font-weight:800}.inv2-cmp .dl.same{color:var(--inv2-txt-faint)}.inv2-cmp-empty{margin:11px 15px 0;padding:9px 12px;border:1px dashed var(--inv2-line);border-radius:8px;text-align:center;color:var(--inv2-txt-faint);font-size:12px}
.inv2-sh-sockets{display:flex;flex-direction:column;gap:8px;margin:9px 15px 0}.inv2-sock{font-size:11px;color:var(--inv2-txt-faint);padding:7px 10px;border:1px dashed var(--inv2-line);border-radius:6px}.inv2-sock.filled{border-style:solid;border-color:var(--inv2-rare);color:var(--inv2-txt)}.inv2-sock-actions{margin-top:6px}.inv2-sh-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 15px 0}.inv2-act{padding:12px;border-radius:8px;font-size:14px;font-weight:700;border:1px solid var(--inv2-line);background:var(--inv2-panel2);color:var(--inv2-txt)}.inv2-act.primary{background:var(--inv2-brown);border-color:var(--inv2-brown-brd);color:#f0d99a}.inv2-act.secondary{background:var(--inv2-panel2)}.inv2-hint{font-size:11px;color:var(--inv2-txt-faint);text-align:center;padding:10px 20px 0;line-height:1.5}
@media (max-width:420px){.inv2-filters{grid-template-columns:1fr 1fr}.inv2-bulkbar{bottom:62px}}



/* r138 — inventory polish */
.inv2-root{padding-bottom:72px}
.inv2-equip{padding:6px 0 6px}
.inv2-equip-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.inv2-eslot{min-width:0;min-height:92px;aspect-ratio:auto;padding-top:6px}
.inv2-eslot .inv2-eslot-icon svg{width:22px;height:22px}
.inv2-eslot .ph{bottom:4px;font-size:7px;line-height:1.1;padding:0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inv2-eslot .en{font-size:8px;top:2px;right:3px}
.inv2-tabs{margin:0 -10px;padding:0 10px}
.inv2-tab{padding:8px 8px;font-size:11px}
.inv2-tab .c{font-size:10px}
.inv2-toolbar{flex-wrap:wrap;gap:6px;padding:8px 0}
.inv2-toolbar .sortbtns{flex:1 1 100%;order:2}
.inv2-toolbar .cap{margin-left:auto}
.inv2-toolbar button,.inv2-toolbar2 .tinybtn,.inv2-filters .tinybtn{font-size:11px;padding:6px 8px}
.inv2-toolbar2{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 0;border-bottom:1px solid var(--inv2-line-soft)}
.inv2-toolbar2>*{min-width:0}
.inv2-toolbar2 .lbl{align-self:center}
.inv2-toolbar2 .grp{justify-content:flex-end}
.inv2-toolbar2 .spacer{display:none}
.inv2-toolbar2 [data-inv-toggle]{width:100%}
.inv2-filters{grid-template-columns:1fr 1fr;gap:8px;padding:8px 0 4px}
.inv2-filters #inv2Query{grid-column:1 / -1}
.inv2-filters .tinybtn{grid-column:1 / -1;min-height:40px}
.inv2-root .field{min-height:40px;width:100%;min-width:0;padding-inline:10px;font-size:12px}
.inv2-legend{gap:8px;font-size:9px}
.inv2-legend .up{white-space:nowrap}
.inv2-grid-wrap{padding:8px 0 76px}
.inv2-grid{gap:4px}
.inv2-cell .inv2-cell-icon svg{width:44%;height:44%}
.inv2-cell .lvl{font-size:8px;left:4px;top:3px}
.inv2-cell .enh{font-size:9px;right:3px;top:2px}
.inv2-cell .qty{font-size:10px;right:3px;bottom:2px}
.inv2-cell .worn{font-size:6px;padding:1px 3px;bottom:2px;left:2px;letter-spacing:.2px}
.inv2-cell .up-arrow,.inv2-cell .down-arrow{font-size:10px;top:2px;left:2px}
.inv2-bulkbar{display:none;opacity:0;pointer-events:none;left:50%;bottom:calc(58px + env(safe-area-inset-bottom, 0px));transform:translateX(-50%) translateY(24px);width:min(390px,calc(100vw - 12px));background:#171410;border:1px solid var(--inv2-gold-soft);z-index:48;align-items:center;gap:8px;padding:8px 10px;transition:opacity .15s, transform .15s;border-radius:12px;box-shadow:0 12px 28px rgba(0,0,0,.35)}
.inv2-bulkbar.show{display:flex;opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.inv2-bulkbar .info{font-size:11.5px;min-width:0}
.inv2-bulkbar button{padding:9px 12px;font-size:12px;white-space:nowrap}
.inv2-bulkbar button[disabled]{opacity:.45}
.inv2-sheet{max-height:82vh}
.inv2-navrow{padding:2px 12px 4px}
.inv2-sh-head{padding:4px 14px 10px}
.inv2-sh-title h2{font-size:14px;line-height:1.25;word-break:break-word}
.inv2-sh-meta{gap:4px}
.inv2-sh-stat{margin:10px 14px 0;padding:8px 10px}
.inv2-sh-stat .k{font-size:13px}
.inv2-sh-stat .v{font-size:15px}
.inv2-cmp,.inv2-cmp-empty,.inv2-sh-sockets,.inv2-sh-actions{margin-left:14px;margin-right:14px}
.inv2-sock{font-size:10px;padding:6px 9px}
.inv2-sh-actions{gap:7px}
.inv2-act{padding:11px 8px;font-size:13px}
.inv2-hint{padding:10px 18px 0;font-size:10.5px}
@media (max-width:420px){
  .inv2-root{padding-bottom:68px}
  .inv2-eslot{min-height:82px}
  .inv2-eslot .ph{font-size:6.5px}
  .inv2-tab{padding:8px 7px;font-size:10px}
  .inv2-toolbar button,.inv2-toolbar2 .tinybtn,.inv2-filters .tinybtn{font-size:10.5px;padding:6px 7px}
  .inv2-filters{grid-template-columns:1fr 1fr}
  .inv2-bulkbar{bottom:calc(56px + env(safe-area-inset-bottom, 0px));width:calc(100vw - 10px);padding:8px 8px}
  .inv2-bulkbar .info{font-size:10.5px}
  .inv2-bulkbar button{padding:8px 9px;font-size:11px}
}


/* r139 — RO/WAP character profile */
.char2-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:-2px -2px 8px;border:1px solid #2a2f2a;background:#151815;border-radius:7px;overflow:hidden}
.char2-tabs button{min-width:0;padding:9px 4px;border:0;border-right:1px solid #2a2f2a;border-bottom:2px solid transparent;background:#151815;color:#8f958a;font-size:11px;font-weight:700;white-space:nowrap}
.char2-tabs button:last-child{border-right:0}.char2-tabs button.active{color:#e8e6df;border-bottom-color:#c9a24b;background:#1b1e1b}
.char2-window{margin:0 0 9px;border:1px solid #2a2f2a;border-radius:8px;background:#121512;overflow:hidden}
.char2-title{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 9px;border-bottom:1px solid #2a2f2a;background:linear-gradient(180deg,#1c201c,#151815);font-size:11px;font-weight:800;letter-spacing:.35px;text-transform:uppercase;color:#c9a24b}
.char2-title>span,.char2-title details{font-size:9.5px;font-weight:600;letter-spacing:0;text-transform:none;color:#8f958a}.char2-title details{position:relative}.char2-title summary{cursor:pointer;list-style:none}.char2-title summary::-webkit-details-marker{display:none}.char2-title details p{position:absolute;right:0;top:18px;z-index:25;width:245px;margin:0;padding:8px;border:1px solid #6b5522;border-radius:7px;background:#19170f;color:#d5cfbf;font-size:10px;line-height:1.35;box-shadow:0 8px 24px #000}
.char2-title.sub{margin-top:8px;border-top:1px solid #2a2f2a}
.char2-paper{display:grid;grid-template-columns:minmax(0,1fr) 34% minmax(0,1fr);gap:5px;padding:7px;background:radial-gradient(circle at 50% 40%,#20251f 0,#111411 58%,#0e100e 100%)}
.char2-stack{display:flex;flex-direction:column;gap:5px;min-width:0}
.char2-slot{min-height:46px;width:100%;display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:5px;padding:4px 5px;border:1px solid #6a726a;border-radius:6px;background:#1b1f1b;color:#e8e6df;text-align:left;overflow:hidden}
.char2-slot.r-uncommon{border-color:#54a06a}.char2-slot.r-rare{border-color:#4a86c9}.char2-slot.r-epic{border-color:#a463d6}.char2-slot.r-relic{border-color:#d1972f}.char2-slot.empty{border-style:dashed;color:#777d73}
.char2-slot-icon{display:flex;align-items:center;justify-content:center}.char2-slot-icon svg{width:20px;height:20px;opacity:.82}.char2-slot-copy{min-width:0;display:block}.char2-slot-copy b{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:8.7px;line-height:1.12;overflow-wrap:anywhere}.char2-slot-copy small{display:block;margin-top:2px;color:#8f958a;font-size:7px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.char2-avatar{position:relative;min-width:0;min-height:198px;display:flex;align-items:center;justify-content:center;border:1px solid #2a2f2a;border-radius:7px;background:radial-gradient(circle,#252b23 0,#131613 72%);overflow:hidden}
.char2-avatar>span{position:absolute;z-index:2;top:4px;left:3px;right:3px;text-align:center;color:#c9a24b;font-size:7px;font-weight:800;text-transform:uppercase;line-height:1.2}.char2-avatar>em{position:absolute;z-index:2;top:20px;right:4px;color:#e8e6df;font-size:15px;font-style:normal;font-weight:800}.char2-avatar>em small{display:block;color:#8f958a;font-size:7px;text-align:center}.char2-avatar img{position:absolute;inset:27px 2px 20px;width:calc(100% - 4px);height:calc(100% - 47px);object-fit:contain;object-position:center}.char2-avatar>b{position:absolute;z-index:2;left:4px;right:4px;bottom:4px;padding:2px 3px;border:1px solid #6b5522;border-radius:4px;background:rgba(26,22,13,.88);color:#e7d18f;font-size:7.5px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.char2-profile{padding:0 7px 7px}.char2-trait{display:grid;grid-template-columns:28px minmax(0,1fr);gap:7px;margin-top:1px;padding:7px;border:1px solid #3a3320;border-radius:6px;background:#17160f}.char2-trait>i{display:flex;align-items:center;justify-content:center;color:#c9a24b;font-size:18px;font-style:normal}.char2-trait span,.char2-mini span{display:block;color:#777d73;font-size:7.5px;text-transform:uppercase;letter-spacing:.4px}.char2-trait b{display:block;margin-top:1px;color:#e7d18f;font-size:10px}.char2-trait p{margin:2px 0 0;color:#b3b6ae;font-size:8.5px;line-height:1.3}
.char2-mastery,.char2-xp{margin-top:6px;padding:6px 7px;border:1px solid #262b26;border-radius:6px;background:#101310}.char2-mastery>div,.char2-xp>div,.char2-xp>small{display:flex;justify-content:space-between;gap:8px;align-items:center}.char2-mastery span,.char2-xp b{color:#c9c8c0;font-size:8.5px}.char2-mastery b,.char2-xp span,.char2-xp small{color:#7e847a;font-size:8px}.char2-mastery>i,.char2-xp>i{display:block;height:5px;margin-top:4px;border:1px solid #30352f;border-radius:4px;background:#080a08;overflow:hidden}.char2-mastery>i>em,.char2-xp>i>em{display:block;height:100%;background:linear-gradient(90deg,#7d662d,#c9a24b)}.char2-xp>small{margin-top:3px}
.char2-mini{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.char2-mini>div{min-width:0;padding:6px;border:1px solid #262b26;border-radius:6px;background:#101310}.char2-mini b{display:block;margin-top:2px;color:#d7d5ce;font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.char2-mini b em{color:#c9a24b;font-style:normal}.char2-mini small{display:block;margin-top:2px;color:#777d73;font-size:7.5px;line-height:1.25}
.char2-status{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(115px,.8fr);gap:7px;padding:7px}.char2-base{min-width:0;border:1px solid #262b26;border-radius:6px;overflow:hidden}.char2-stat-head,.char2-stat-row{display:grid;grid-template-columns:minmax(0,1fr) 48px 42px 28px;align-items:center;gap:3px}.char2-stat-head{padding:5px;background:#191d19;color:#71776e;font-size:7px;text-transform:uppercase;text-align:center}.char2-stat-head span:first-child{text-align:left}.char2-stat-row{min-height:43px;padding:4px;border-top:1px solid #222722}.char2-stat-row:first-of-type{border-top:0}.char2-stat-row>div{min-width:0}.char2-stat-row>div b{display:block;color:#e1dfd8;font-size:9px}.char2-stat-row>div b i{color:#c9a24b;font-style:normal}.char2-stat-row>div small{display:block;margin-top:1px;color:#71776e;font-size:6.8px;line-height:1.15;overflow-wrap:anywhere}.char2-stat-row>span{text-align:center;color:#bfc2b9;font-size:9px}.char2-stat-row>span em{color:#5fbf7a;font-size:7px;font-style:normal}.char2-stat-row>button{width:26px;height:26px;border:1px solid #6b5522;border-radius:5px;background:#3a2f18;color:#e7d18f;font-weight:800}.char2-stat-row>button:disabled{opacity:.35}
.char2-derived{display:grid;grid-template-columns:1fr;gap:4px;align-content:start}.char2-derived>div{min-width:0;display:flex;justify-content:space-between;gap:6px;padding:6px;border:1px solid #262b26;border-radius:5px;background:#101310}.char2-derived span{color:#858b81;font-size:7.8px;line-height:1.15}.char2-derived b{color:#e4e2db;font-size:9px;white-space:nowrap}
.char2-spbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center;padding:7px;border-top:1px solid #2a2f2a;background:#151815}.char2-spbar>span{color:#9a9f95;font-size:9px}.char2-spbar button{min-height:32px;padding:0 9px;border:1px solid #6b5522;border-radius:5px;background:#3a2f18;color:#e7d18f;font-size:9px;font-weight:700}.char2-spbar button.secondary{border-color:#343934;background:#1c201c;color:#aeb2aa}.char2-spbar button:disabled{opacity:.4}
.char2-guide{margin:0 7px 7px;border:1px solid #262b26;border-radius:6px;background:#101310}.char2-guide summary{padding:7px;color:#c9a24b;font-size:9px;font-weight:700;cursor:pointer}.char2-guide>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:6px;padding:5px 7px;border-top:1px solid #222722}.char2-guide b{color:#d3d2ca;font-size:8px}.char2-guide span{color:#777d73;font-size:7.5px;line-height:1.25}
.char2-skill{display:grid;grid-template-columns:34px minmax(0,1fr) 38px;gap:7px;align-items:center;margin:7px;padding:7px;border:1px solid #343934;border-radius:6px;background:#171a17}.char2-skill-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #6b5522;border-radius:6px;color:#c9a24b}.char2-skill span{display:block;color:#777d73;font-size:7px;text-transform:uppercase}.char2-skill b{display:block;margin-top:1px;color:#e4e2db;font-size:10px}.char2-skill p{margin:2px 0 0;color:#858b81;font-size:8px;line-height:1.25}.char2-skill>em{color:#777d73;font-size:7px;font-style:normal;text-align:center}.char2-skill>em b{color:#c9a24b;font-size:13px}
.char2-builds,.char2-specs{display:grid;grid-template-columns:1fr;gap:7px;padding:7px}.char2-build,.char2-spec{padding:8px;border:1px solid #2a2f2a;border-radius:6px;background:#151815}.char2-build>div:first-child{display:flex;justify-content:space-between;gap:6px}.char2-build>div:first-child b,.char2-spec>b{color:#e3e1da;font-size:10px}.char2-build>div:first-child span{color:#c9a24b;font-size:8px}.char2-build p,.char2-spec p{margin:4px 0;color:#858b81;font-size:8px;line-height:1.3}.char2-build>div:nth-child(3){display:flex;flex-wrap:wrap;gap:4px}.char2-build small,.char2-spec small{padding:2px 4px;border:1px solid #2a2f2a;border-radius:4px;color:#858b81;font-size:7px}.char2-spec.selected{border-color:#8a7434}
.char2-note{margin:7px;color:#8f958a;font-size:9px;line-height:1.35}.char2-tactics{display:grid;gap:7px;padding:0 7px 7px}.char2-tactics label span{display:block;margin-bottom:3px;color:#8f958a;font-size:8px}.char2-tactics .field{min-height:38px;width:100%;font-size:10px}
@media(max-width:370px){.char2-tabs button{font-size:9.5px;padding-inline:2px}.char2-paper{grid-template-columns:minmax(0,1fr) 31% minmax(0,1fr)}.char2-slot{grid-template-columns:20px minmax(0,1fr);padding-inline:3px}.char2-slot-icon svg{width:17px;height:17px}.char2-slot-copy b{font-size:7.8px}.char2-status{grid-template-columns:1fr}.char2-derived{grid-template-columns:1fr 1fr}.char2-stat-head,.char2-stat-row{grid-template-columns:minmax(0,1fr) 44px 38px 27px}}

/* r140 — RO/WAP hunt map */
.hunt2-window{margin:0 0 8px;border:1px solid var(--line-strong);background:var(--panel)}
.hunt2-title{display:flex;align-items:center;min-height:28px;padding:4px 7px 4px 9px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(192,139,52,.12),transparent 46%),linear-gradient(#1b1e16,#11130e);font-size:11px;letter-spacing:.03em}
.hunt2-title::before{content:"◆";margin-right:6px;color:var(--gold);font-size:7px}
.hunt2-title span{margin-left:auto;color:var(--muted);font-size:9px;font-weight:400}
.hunt2-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:8px;border-bottom:1px solid var(--line);background:#0c0e0b}
.hunt2-intro>div>span{color:var(--gold);font-size:8px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.hunt2-intro h2{margin:2px 0 1px;font-size:17px;line-height:1.15}
.hunt2-intro p{margin:0;color:var(--muted);font-size:9px}
.hunt2-intro>strong{align-self:start;color:var(--muted);font-size:9px;text-align:right;font-weight:400;white-space:nowrap}
.hunt2-intro>strong b{display:block;color:#efd99b;font-size:15px;font-variant-numeric:tabular-nums}
.hunt2-progress{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:3px 8px;margin-top:2px;color:var(--muted);font-size:8px}
.hunt2-progress>b{color:#efd99b}
.hunt2-progress>i{grid-column:1/-1;display:block;height:5px;border:1px solid #30362b;background:#070806}
.hunt2-progress>i>em{display:block;height:100%;background:linear-gradient(90deg,#80622c,var(--gold))}
.hunt2-map-title{display:flex;align-items:center;gap:7px;min-height:28px;padding:4px 7px 4px 9px;border-bottom:1px solid var(--line);background:linear-gradient(#1b1e16,#11130e);font-size:10px}
.hunt2-map-title b{font-size:11px}
.hunt2-map-title span{color:var(--muted);font-size:8px}
.hunt2-map-title button{margin-left:auto;min-width:62px;height:24px;padding:0 7px;border:1px solid var(--line-strong);background:#0d0f0c;color:var(--muted);font-size:8px}
.hunt2-map{position:relative;height:205px;overflow:hidden;background:radial-gradient(circle at 50% 72%,rgba(192,139,52,.12),transparent 26%),radial-gradient(circle at 18% 28%,rgba(185,140,69,.08),transparent 22%),radial-gradient(circle at 82% 28%,rgba(111,167,132,.07),transparent 22%),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),#090b09;background-size:auto,auto,auto,24px 24px,24px 24px,auto}
.hunt2-map[hidden]{display:none}
.hunt2-map::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 34px rgba(0,0,0,.75)}
.hunt2-map svg{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.hunt2-map line{stroke:#7b6634;stroke-width:.45;opacity:.7;vector-effect:non-scaling-stroke}
.hunt2-node{position:absolute;z-index:2;width:105px;min-height:56px;transform:translate(-50%,-50%);padding:5px;border:1px solid var(--line-strong);background:#10130f;color:var(--text);text-align:left}
.hunt2-node:active:not(:disabled){transform:translate(-50%,-50%) scale(.97)}
.hunt2-node.selected{border-color:var(--gold);background:#241d0f;box-shadow:0 0 0 1px rgba(192,139,52,.18),0 0 13px rgba(192,139,52,.15)}
.hunt2-node.complete::after{content:"✓";position:absolute;right:3px;top:2px;color:#75bd82;font-size:8px;font-weight:700}
.hunt2-node.locked{opacity:.42;filter:grayscale(1)}
.hunt2-node>span{display:flex;align-items:center;gap:4px;min-width:0}
.hunt2-node>span i{font-size:15px;font-style:normal;line-height:1}
.hunt2-node>span b{min-width:0;font-size:8.5px;line-height:1.08}
.hunt2-node>small{display:block;margin-top:4px;color:var(--faint);font-size:7px}
.hunt2-node>em{display:block;height:3px;margin-top:3px;background:#292e27;font-style:normal}
.hunt2-node>em i{display:block;height:100%;background:var(--gold)}
.hunt2-node>strong{position:absolute;right:3px;bottom:3px;padding:1px 3px;border:1px solid #7a632d;color:var(--gold);font-size:6px;line-height:1;text-transform:uppercase}
.hunt2-map-help{border-bottom:1px solid var(--line);background:#0f120e}
.hunt2-map-help[hidden]{display:none}
.hunt2-map-help summary{padding:6px 8px;color:var(--muted);font-size:8.5px;cursor:pointer}
.hunt2-map-help p{margin:0;padding:0 8px 7px;color:var(--muted);font-size:8.5px}
.hunt2-summary{padding:8px;background:#0c0e0b}
.hunt2-summary>div:first-child{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:7px;align-items:center}
.hunt2-summary>div:first-child>i{width:32px;height:32px;display:grid;place-items:center;border:1px solid #80692f;background:#17140d;font-size:16px;font-style:normal}
.hunt2-summary>div:first-child span b,.hunt2-summary>div:first-child span small{display:block}
.hunt2-summary>div:first-child span b{font-size:11px}
.hunt2-summary>div:first-child span small{margin-top:1px;color:var(--muted);font-size:8px}
.hunt2-summary>div:first-child>em{padding:2px 5px;border:1px solid #80692f;color:var(--gold);font-size:7px;font-style:normal;text-transform:uppercase;letter-spacing:.05em}
.hunt2-summary .region-collection{margin:7px 0}
.hunt2-summary .study-explain{margin:5px 0}
.hunt2-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}
.hunt2-actions .btn{min-height:36px;padding:6px;font-size:9px}
.hunt2-actions .primary{border-color:#6f5722;background:#3a2f18;color:#f0d99a}
.hunt2-parts{margin:0 -8px;padding:7px 10px 6px;border-block:1px solid var(--line);background:#10130f}
.hunt2-parts>span{display:block;margin-bottom:4px;color:var(--faint);font-size:8px}
.hunt2-parts>div{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.hunt2-parts>div::-webkit-scrollbar{display:none}
.hunt2-parts .hunt2-part{flex:0 0 auto;min-height:30px;padding:5px 9px;font-size:9px}
.hunt2-parts .hunt2-part.active{border-color:var(--gold);background:#28200f;color:#f0d99a}
.hunt2-parts>small{display:block;margin-top:5px;color:var(--faint);font-size:8px}
.hunt2-filters{position:sticky;top:58px;z-index:15;display:flex;margin:7px -8px 0;border-block:1px solid var(--line);background:rgba(18,20,14,.97);overflow-x:auto;scrollbar-width:none}
.hunt2-filters::-webkit-scrollbar{display:none}
.hunt2-filters button{flex:0 0 auto;min-height:34px;padding:0 11px;border:0;border-right:1px solid var(--line);border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:9px}
.hunt2-filters button.active{border-bottom-color:var(--gold);color:var(--text);font-weight:700}
.hunt2-board{padding:7px 2px 0}
.hunt2-board-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px;padding:0 2px}
.hunt2-board-head b{font-size:10px}
.hunt2-board-head span{color:var(--faint);font-size:8px;text-align:right}
.hunt2-targets{display:flex;flex-direction:column;gap:5px}
.hunt2-target{display:grid;grid-template-columns:38px minmax(0,1fr) 58px;grid-template-rows:auto auto;column-gap:7px;border:1px solid var(--line-strong);border-left-width:3px;background:#0f120e}
.hunt2-target.ordinary{border-left-color:#62685f}
.hunt2-target.elite{border-left-color:#b18038}
.hunt2-target.cocoon{border-left-color:#5784aa}
.hunt2-target.boss{border-left-color:#d19d42;background:#151309}
.hunt2-target.match{border-top-color:#8a7434;border-right-color:#8a7434;border-bottom-color:#8a7434}
.hunt2-target.locked{opacity:.56}
.hunt2-target-icon{grid-column:1;grid-row:1/3;width:32px;height:32px;margin:8px 0 0 5px;border:1px solid var(--line);background:#080a08;display:grid;place-items:center;color:#a7ad9e}
.hunt2-creature{position:relative;width:27px;height:27px;color:currentColor}
.hunt2-creature i{position:absolute;z-index:0;inset:4px 0;background:linear-gradient(27deg,transparent 47%,currentColor 48% 52%,transparent 53%) 0 0/100% 33% repeat-y;opacity:.55}
.hunt2-creature::before,.hunt2-creature::after{content:"";position:absolute;z-index:1;left:50%;transform:translateX(-50%)}
.hunt2-creature.beetle::before{top:7px;width:14px;height:18px;border:1px solid currentColor;border-radius:48%;background:linear-gradient(90deg,#10130f 46%,currentColor 48% 52%,#10130f 54%)}
.hunt2-creature.beetle::after{top:3px;width:9px;height:7px;border:1px solid currentColor;border-radius:50%;background:#10130f}
.hunt2-creature.guard::before{top:3px;width:21px;height:23px;border:1px solid currentColor;background:#10130f;clip-path:polygon(50% 0,93% 18%,82% 72%,50% 100%,18% 72%,7% 18%)}
.hunt2-creature.guard::after{top:8px;width:5px;height:10px;border:1px solid currentColor;background:#10130f}
.hunt2-creature.cocoon::before{top:3px;width:17px;height:23px;border:1px solid currentColor;border-radius:48%;background:repeating-linear-gradient(25deg,#10130f 0 3px,currentColor 4px 5px)}
.hunt2-creature.cocoon::after{display:none}
.hunt2-creature.queen{color:var(--gold)}
.hunt2-creature.queen::before{top:7px;width:17px;height:18px;border:1px solid currentColor;border-radius:42%;background:linear-gradient(90deg,#10130f 46%,currentColor 48% 52%,#10130f 54%)}
.hunt2-creature.queen::after{top:1px;width:15px;height:9px;background:currentColor;clip-path:polygon(0 100%,0 35%,25% 65%,50% 0,75% 65%,100% 35%,100% 100%)}
.hunt2-target-main{grid-column:2;grid-row:1;padding:6px 0 2px;min-width:0}
.hunt2-tier{color:var(--gold);font-size:7.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.hunt2-tier span{display:inline-block;margin-left:4px;padding:1px 3px;border:1px solid #8a7434;color:#f0d99a;font-size:6.5px}
.hunt2-target h3{margin:2px 0 4px;overflow:hidden;font-size:11px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.hunt2-tags{display:flex;gap:3px;flex-wrap:wrap}
.hunt2-tags span{padding:2px 4px;border:1px solid var(--line);color:var(--muted);font-size:7.5px}
.hunt2-tags b{color:var(--text)}
.hunt2-tags .difficulty.easy{border-color:#3b6143;color:#75bd82}
.hunt2-tags .difficulty.fair{border-color:#80692f;color:#f0d99a}
.hunt2-tags .difficulty.danger{border-color:#6c4139;color:#d98a7c}
.hunt2-target details{grid-column:2;grid-row:2;margin:0 0 6px}
.hunt2-target summary{color:var(--muted);font-size:8px;cursor:pointer}
.hunt2-target summary::marker{color:var(--gold)}
.hunt2-drops{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:5px;padding:6px;border:1px solid var(--line);background:#080a08}
.hunt2-drops p{margin:0;min-width:0;color:var(--muted);font-size:7.5px}
.hunt2-drops span,.hunt2-drops b{display:block}
.hunt2-drops b{margin-top:1px;overflow-wrap:anywhere;color:var(--text);font-weight:700}
.hunt2-fight{grid-column:3;grid-row:1/3;align-self:stretch;min-width:0;margin:6px;padding:5px;border-color:#6f5722!important;background:#3a2f18!important;color:#f0d99a!important;font-size:10px!important;font-weight:700}
.hunt2-dungeon{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin:9px 2px 0;padding:8px;border:1px solid #80692f;background:#151309}
.hunt2-dungeon span,.hunt2-dungeon b,.hunt2-dungeon p{display:block}
.hunt2-dungeon span{color:var(--gold);font-size:7.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.hunt2-dungeon b{margin-top:2px;font-size:11.5px}
.hunt2-dungeon p{margin:2px 0 0;color:var(--muted);font-size:8.5px}
.hunt2-dungeon .btn{min-width:68px;font-size:9px}
@media(max-width:420px){
  .hunt2-map{height:196px}
  .hunt2-node{width:98px;min-height:53px}
  .hunt2-node>span b{font-size:8px}
  .hunt2-target{grid-template-columns:36px minmax(0,1fr) 54px;column-gap:5px}
  .hunt2-fight{margin:5px;font-size:9px!important}
}
@media(max-width:360px){
  .hunt2-node{width:88px}
  .hunt2-node>span i{font-size:13px}
  .hunt2-node>span b{font-size:7.5px}
  .hunt2-drops{grid-template-columns:1fr}
}

/* r141 — inventory v3 */
.inv3-root{--inv3-bg:#080a08;--inv3-panel:#111511;--inv3-panel2:#191d19;--inv3-panel3:#1d221d;--inv3-line:#30372f;--inv3-line-soft:#262d26;--inv3-text:#e8e6da;--inv3-muted:#9b9d91;--inv3-dim:#666b62;--inv3-gold:#c7922b;--inv3-gold-bright:#e0ba62;--inv3-gold-dark:#5a431d;--inv3-green:#62c986;--inv3-red:#d28578;--inv3-common:#798179;--inv3-uncommon:#4ea56b;--inv3-rare:#467fb8;--inv3-epic:#9550bc;--inv3-relic:#c78d22;color:var(--inv3-text);padding-bottom:74px}
.inv3-root button,.inv3-root input,.inv3-root select{font:inherit}
.inv3-window{margin-bottom:10px;background:var(--inv3-panel);border:1px solid var(--inv3-line);border-radius:7px;overflow:hidden}
.inv3-window-title{display:flex;align-items:center;min-height:38px;padding:7px 10px;background:linear-gradient(180deg,#1b201b,#171b17);border-bottom:1px solid var(--inv3-line);color:var(--inv3-gold-bright);font-size:12px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.inv3-window-title em{margin-left:auto;color:var(--inv3-muted);font-size:11px;font-style:normal;font-weight:700;letter-spacing:0;text-transform:none}
.inv3-window-title button{min-width:30px;min-height:28px;margin-left:8px;padding:3px 7px;background:#111410;border:1px solid var(--inv3-line);border-radius:2px;color:var(--inv3-text)}
.inv3-equip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px}
.inv3-equip-card{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:7px;min-width:0;min-height:66px;padding:7px 8px;color:var(--inv3-text);text-align:left;background:#181c18;border:1px solid var(--inv3-line);border-radius:6px}
.inv3-equip-card.r-common{border-color:var(--inv3-common)}.inv3-equip-card.r-uncommon{border-color:var(--inv3-uncommon)}.inv3-equip-card.r-rare{border-color:var(--inv3-rare)}.inv3-equip-card.r-epic{border-color:var(--inv3-epic)}.inv3-equip-card.r-relic{border-color:var(--inv3-relic)}
.inv3-equip-card.active{background:#211d10;box-shadow:inset 3px 0 0 var(--inv3-gold)}
.inv3-equip-icon{display:grid;place-items:center;width:38px;height:38px;padding:5px;color:#c5c8c0}
.inv3-equip-icon svg{width:100%;height:100%}
.inv3-equip-copy{min-width:0}.inv3-equip-copy b{display:-webkit-box;overflow:hidden;color:var(--inv3-text);font-size:11px;font-weight:800;line-height:1.08;-webkit-box-orient:vertical;-webkit-line-clamp:2}.inv3-equip-copy small{display:block;margin-top:4px;overflow:hidden;color:var(--inv3-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.inv3-equipment.collapsed .inv3-equip-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;padding:6px}
.inv3-equipment.collapsed .inv3-equip-card{display:grid;grid-template-columns:1fr;width:100%;min-height:0;aspect-ratio:1;padding:4px 2px;border-radius:4px}
.inv3-equipment.collapsed .inv3-equip-icon{width:68%;height:auto;aspect-ratio:1;margin:auto;padding:1px}.inv3-equipment.collapsed .inv3-equip-copy{display:none}
.inv3-tabs{display:flex;margin:0 -8px 10px;padding:0 8px;overflow-x:auto;scrollbar-width:none;background:#121512;border-block:1px solid var(--inv3-line)}.inv3-tabs::-webkit-scrollbar{display:none}
.inv3-tab{flex:none;min-height:42px;padding:0 12px;color:var(--inv3-muted);background:transparent;border:0;border-bottom:2px solid transparent;font-size:12px;font-weight:700;white-space:nowrap}.inv3-tab.active{color:var(--inv3-text);border-bottom-color:var(--inv3-gold-bright)}.inv3-tab b{margin-left:3px;color:var(--inv3-dim);font-size:10px}.inv3-tab.active b{color:var(--inv3-gold-bright)}
.inv3-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-bottom:8px}.inv3-search input{min-width:0;height:42px;padding:0 11px;color:var(--inv3-text);background:#090b09;border:1px solid #4b543f;border-radius:6px;outline:none}.inv3-search input:focus{border-color:var(--inv3-gold)}.inv3-search input::placeholder{color:#70756c}.inv3-search button{min-height:42px;padding:8px 12px;color:var(--inv3-muted);background:var(--inv3-panel2);border:1px solid var(--inv3-line);border-radius:6px;font-weight:700}.inv3-search button.active{color:var(--inv3-gold-bright);background:#211c0e;border-color:var(--inv3-gold)}.inv3-search button b{display:inline-block;min-width:17px;margin-left:4px;padding:1px 4px;color:#111;background:var(--inv3-gold-bright);border-radius:9px;font-size:10px}
.inv3-toolbar{display:flex;align-items:center;gap:6px;min-height:40px;margin-bottom:7px;padding-bottom:7px;border-bottom:1px solid var(--inv3-line-soft);overflow-x:auto;scrollbar-width:none}.inv3-toolbar::-webkit-scrollbar{display:none}.inv3-toolbar button{flex:none;min-height:34px;padding:6px 9px;color:var(--inv3-muted);background:var(--inv3-panel2);border:1px solid var(--inv3-line);border-radius:5px;font-size:11px;font-weight:700}.inv3-toolbar button.active{color:var(--inv3-gold-bright);border-color:var(--inv3-gold);background:#211c0e}.inv3-toolbar span{margin-left:auto;color:var(--inv3-muted);font-size:10.5px;white-space:nowrap}.inv3-toolbar small{color:var(--inv3-muted);font-size:10.5px;white-space:nowrap}.inv3-view button:nth-last-child(2){margin-left:auto}
.inv3-chips{display:flex;gap:5px;margin:0 0 8px;overflow-x:auto;scrollbar-width:none}.inv3-chips::-webkit-scrollbar{display:none}.inv3-chips button{flex:none;padding:5px 7px;color:var(--inv3-gold-bright);background:#19170f;border:1px solid var(--inv3-gold-dark);border-radius:2px;font-size:10px}
.inv3-legend{display:flex;align-items:center;gap:8px;margin:1px 0 9px;overflow-x:auto;color:var(--inv3-muted);font-size:10px;white-space:nowrap;scrollbar-width:none}.inv3-legend::-webkit-scrollbar{display:none}.inv3-legend span{font-weight:700}.inv3-legend .r-common{color:var(--inv3-common)}.inv3-legend .r-uncommon{color:var(--inv3-uncommon)}.inv3-legend .r-rare{color:var(--inv3-rare)}.inv3-legend .r-epic{color:var(--inv3-epic)}.inv3-legend .r-relic{color:var(--inv3-relic)}.inv3-legend b{margin-left:auto;color:var(--inv3-green);font-size:10px}
.inv3-grid-head{display:flex;align-items:center;min-height:26px;margin-bottom:5px;color:var(--inv3-muted);font-size:11px}
.inv3-grid{display:grid;grid-template-columns:repeat(var(--inv3-cols),minmax(0,1fr));gap:5px}
.inv3-item{position:relative;aspect-ratio:1;min-width:0;padding:4px;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.025),transparent 45%),var(--inv3-panel2);border:2px solid var(--inv3-common);border-radius:7px;color:var(--inv3-common)}.inv3-item.r-uncommon{border-color:var(--inv3-uncommon);color:var(--inv3-uncommon)}.inv3-item.r-rare{border-color:var(--inv3-rare);color:var(--inv3-rare)}.inv3-item.r-epic{border-color:var(--inv3-epic);color:var(--inv3-epic)}.inv3-item.r-relic{border-color:var(--inv3-relic);color:var(--inv3-relic)}.inv3-item.relic{background:radial-gradient(circle at 50% 48%,rgba(199,141,34,.15),transparent 55%),var(--inv3-panel2);box-shadow:inset 0 0 12px rgba(199,141,34,.09)}.inv3-item.selected{box-shadow:inset 0 0 0 2px var(--inv3-gold-bright);background-color:#292312}
.inv3-item-icon{display:grid;place-items:center;width:58%;height:58%;margin:19% auto 0;filter:drop-shadow(0 2px 2px rgba(0,0,0,.6))}.inv3-item-icon svg{width:100%;height:100%}
.inv3-level,.inv3-enhance,.inv3-compare{position:absolute;z-index:2;font-size:9px;font-weight:800;line-height:1}.inv3-level{top:5px;left:5px;color:#8e948b}.inv3-enhance{top:5px;right:5px;color:var(--inv3-gold-bright)}.inv3-compare{right:4px;bottom:4px;padding:2px 3px;border-radius:2px;background:rgba(5,7,5,.82)}.inv3-compare.up{color:var(--inv3-green)}.inv3-compare.down{display:none;color:var(--inv3-red)}.inv3-root.compare-mode .inv3-compare.down{display:block}
.inv3-worn{position:absolute;left:4px;bottom:4px;padding:2px 4px;color:#69c386;background:#08100a;border:1px solid #173921;border-radius:2px;font-size:6px;font-weight:900;letter-spacing:.04em}.inv3-qty{position:absolute;right:5px;bottom:5px;color:var(--inv3-text);font-size:9px;font-weight:800;text-shadow:0 1px 2px #000}.inv3-fav{position:absolute;left:4px;top:4px;color:var(--inv3-gold-bright);font-size:10px}.inv3-check{display:none;position:absolute;z-index:4;left:4px;top:4px;width:17px;height:17px;place-items:center;color:transparent;background:#131713;border:1px solid #72786e;border-radius:50%;font-size:11px;font-weight:900}.inv3-root.select-mode .inv3-check{display:grid}.inv3-root.select-mode .inv3-item.selected .inv3-check{color:#111;background:var(--inv3-gold-bright);border-color:var(--inv3-gold-bright)}.inv3-root.select-mode .inv3-level,.inv3-root.select-mode .inv3-fav{display:none}
.inv3-empty{grid-column:1/-1;min-height:180px;display:grid;place-items:center;padding:28px;color:var(--inv3-muted);text-align:center;border:1px dashed var(--inv3-line);font-size:12px;line-height:1.5}
.inv3-bulkbar{position:fixed;z-index:48;left:50%;bottom:0;width:min(100%,430px);min-height:calc(60px + var(--safe-bottom));padding:8px 10px calc(8px + var(--safe-bottom));transform:translateX(-50%);display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;background:#111510;border-top:1px solid var(--inv3-gold-dark)}.inv3-bulkbar div{min-width:0}.inv3-bulkbar b{display:block;color:var(--inv3-text);font-size:13px}.inv3-bulkbar span{display:block;margin-top:2px;color:var(--inv3-muted);font-size:10px}.inv3-bulkbar button{min-height:40px;padding:8px 13px;color:var(--inv3-gold-bright);background:#211c0e;border:1px solid var(--inv3-gold);border-radius:6px;font-weight:700}
.inv3-sheet{width:min(100%,430px);max-height:min(82vh,720px);background:#101310;border-color:#4b533f;border-radius:0}.inv3-sheet-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;min-height:46px;padding:8px 12px;background:#171b16;border-bottom:1px solid var(--inv3-line)}.inv3-sheet-head b{font-size:13px}.inv3-sheet-head button{margin-left:auto;width:32px;height:32px;color:var(--inv3-muted);background:#0c0e0c;border:1px solid var(--inv3-line)}
.inv3-filter-body{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}.inv3-filter-body label{display:block;color:var(--inv3-muted);font-size:10px}.inv3-filter-body label.full{grid-column:1/-1}.inv3-filter-body select{width:100%;height:42px;margin-top:5px;padding:0 10px;color:var(--inv3-text);background:#090b09;border:1px solid #4b543f;border-radius:6px}.inv3-filter-note{grid-column:1/-1;margin:2px 0 0;padding:9px 10px;color:var(--inv3-muted);background:#15170f;border-left:2px solid var(--inv3-gold);font-size:10.5px;line-height:1.4}.inv3-filter-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.5fr;gap:8px;margin-top:4px}.inv3-filter-actions button{min-height:42px;color:var(--inv3-muted);background:var(--inv3-panel2);border:1px solid var(--inv3-line);border-radius:6px;font-weight:700}.inv3-filter-actions button.primary{color:var(--inv3-gold-bright);background:#211c0e;border-color:var(--inv3-gold)}
.inv3-sheet .inv2-grip{display:none}.inv3-sheet .inv2-navrow{padding-top:8px}.inv3-sheet .inv2-sh-head{padding-top:8px}.inv3-sheet .inv2-sh-icon{width:72px;height:72px;border-radius:0}.inv3-sheet .inv2-sh-icon svg{width:44px;height:44px}.inv3-sheet .inv2-sh-title h2{font-size:18px}.inv3-sheet .inv2-sh-stat{border-radius:0;background:#090b09}.inv3-sheet .inv2-cmp{border-radius:0}.inv3-sheet .inv2-act{border-radius:6px}
@media(max-width:370px){.inv3-equip-grid{gap:5px;padding:6px}.inv3-equip-card{grid-template-columns:34px minmax(0,1fr);min-height:60px;padding:6px}.inv3-equip-icon{width:32px;height:32px}.inv3-equip-copy b{font-size:9.5px}.inv3-tab{padding:0 10px;font-size:11px}.inv3-toolbar button{padding-inline:7px;font-size:10px}.inv3-grid{gap:4px}}
.inv3-item-close{position:sticky;z-index:4;top:8px;float:right;width:32px;height:32px;margin:8px 10px -40px 0;color:var(--inv3-muted);background:#0c0e0c;border:1px solid var(--inv3-line);font-size:18px}


/* r141b — complete inventory v3 detail and overlay parity */
.inv3-sheet{padding:0;max-height:min(82vh,720px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom,0px)}
.inv3-sheet .inv3-sheet-head{position:sticky;top:0;z-index:8;min-height:48px;padding:8px 12px;background:#171b16;border-bottom:1px solid var(--inv3-line)}
.inv3-sheet .inv3-sheet-head b{font-size:15px;color:var(--inv3-text)}
.inv3-sheet .inv3-sheet-head button{width:34px;height:34px;font-size:20px}
.inv3-detail-body{padding:12px}
.inv3-item-summary{display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--inv3-line)}
.inv3-sheet-icon{display:grid;place-items:center;width:82px;height:82px;padding:13px;background:var(--inv3-panel2);border:1px solid var(--inv3-common);color:var(--inv3-common)}
.inv3-sheet-icon.r-uncommon{border-color:var(--inv3-uncommon);color:var(--inv3-uncommon)}
.inv3-sheet-icon.r-rare{border-color:var(--inv3-rare);color:var(--inv3-rare)}
.inv3-sheet-icon.r-epic{border-color:var(--inv3-epic);color:var(--inv3-epic)}
.inv3-sheet-icon.r-relic{border-color:var(--inv3-relic);color:var(--inv3-relic)}
.inv3-sheet-icon svg{width:100%;height:100%;fill:currentColor;stroke:currentColor}
.inv3-detail-eyebrow{margin-bottom:4px;color:var(--inv3-gold-bright);font-size:10.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.inv3-item-summary h2{margin:0 0 7px;color:var(--inv3-text);font-size:19px;line-height:1.1;overflow-wrap:anywhere}
.inv3-item-summary h2 span{color:var(--inv3-gold-bright)}
.inv3-detail-tags{display:flex;flex-wrap:wrap;gap:5px}
.inv3-detail-tags span{padding:3px 5px;color:var(--inv3-muted);border:1px solid var(--inv3-line);font-size:9.5px}
.inv3-detail-tags .positive{color:var(--inv3-green)}
.inv3-stat-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:10px;padding:10px;background:#090b09;border:1px solid var(--inv3-line)}
.inv3-stat-card b{display:block;color:var(--inv3-text);font-size:16px;line-height:1.25}
.inv3-stat-card small{display:block;margin-top:3px;color:var(--inv3-muted);font-size:11px;line-height:1.3}
.inv3-stat-card strong{color:var(--inv3-gold-bright);font-size:20px;font-weight:900}
.inv3-detail-compare{width:100%;margin-top:10px;border-collapse:collapse;font-size:11.5px}
.inv3-detail-compare th,.inv3-detail-compare td{padding:8px 6px;border-bottom:1px solid var(--inv3-line-soft);text-align:right;font-variant-numeric:tabular-nums}
.inv3-detail-compare th:first-child,.inv3-detail-compare td:first-child{text-align:left;color:var(--inv3-muted)}
.inv3-detail-compare td:nth-child(2){color:var(--inv3-text)}
.inv3-detail-compare td.positive{color:var(--inv3-green)}
.inv3-detail-compare td.negative{color:var(--inv3-red)}
.inv3-detail-compare small{font-size:9.5px}
.inv3-detail-note{margin-top:10px;padding:9px 10px;color:var(--inv3-muted);background:#15170f;border-left:2px solid var(--inv3-gold);font-size:11px;line-height:1.4}
.inv3-detail-note b{color:var(--inv3-text)}
.inv3-socket-list{display:grid;gap:6px;margin-top:8px}
.inv3-socket-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center;padding:7px 8px;border:1px solid var(--inv3-line);background:#0b0e0b;font-size:10px}
.inv3-socket-row span{color:var(--inv3-muted)}
.inv3-socket-row b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--inv3-text)}
.inv3-socket-row.empty b{color:var(--inv3-dim)}
.inv3-socket-row .inv2-act{min-height:30px;padding:5px 8px;border-radius:4px;font-size:10px}
.inv3-detail-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
.inv3-detail-tools .inv2-act{min-height:40px;padding:9px 8px;border-radius:6px;font-size:12px}
.inv3-detail-main{display:grid;grid-template-columns:1fr 1.5fr;gap:8px;margin-top:14px}
.inv3-detail-main.single{grid-template-columns:1fr}
.inv3-detail-main button{min-height:46px;padding:9px 12px;border-radius:6px;font-size:14px;font-weight:800}
.inv3-detail-select{color:var(--inv3-muted);background:var(--inv3-panel2);border:1px solid var(--inv3-line)}
.inv3-detail-main .inv2-act.primary{color:var(--inv3-gold-bright);background:#211c0e;border-color:var(--inv3-gold)}
.inv3-sheet .inv2-navrow,.inv3-sheet .inv2-grip,.inv3-sheet .inv2-hint,.inv3-sheet>.inv3-item-close{display:none!important}
@media(max-width:370px){
 .inv3-detail-body{padding:10px}
 .inv3-item-summary{grid-template-columns:70px minmax(0,1fr);gap:10px}
 .inv3-sheet-icon{width:70px;height:70px;padding:11px}
 .inv3-item-summary h2{font-size:17px}
 .inv3-stat-card b{font-size:14px}
 .inv3-detail-tools .inv2-act{font-size:11px}
}

/* r141c — explicit v3 borders for inventory detail actions */
.inv3-detail-tools .inv2-act,
.inv3-socket-row .inv2-act{
  display:block;
  width:100%;
  min-height:42px;
  padding:9px 10px;
  color:var(--inv3-text);
  background:var(--inv3-panel2);
  border:1px solid var(--inv3-line);
  border-radius:6px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  font-size:12px;
  font-weight:700;
  line-height:1.15;
  text-align:center;
}
.inv3-detail-tools .inv2-act.secondary,
.inv3-socket-row .inv2-act.secondary{
  color:var(--inv3-text);
  background:var(--inv3-panel2);
  border-color:var(--inv3-line);
}
.inv3-detail-tools .inv2-act:active,
.inv3-socket-row .inv2-act:active{
  transform:translateY(1px);
  background:var(--inv3-panel3);
  border-color:#596052;
}
.inv3-detail-tools .inv2-act:focus-visible,
.inv3-socket-row .inv2-act:focus-visible,
.inv3-detail-main button:focus-visible{
  outline:2px solid var(--inv3-gold);
  outline-offset:2px;
}
.inv3-detail-tools .inv2-act[disabled],
.inv3-socket-row .inv2-act[disabled]{
  opacity:.45;
}
.inv3-socket-row .inv2-act{
  width:auto;
  min-height:30px;
  padding:5px 8px;
  border-radius:4px;
  font-size:10px;
}
.inv3-detail-main .inv2-act.primary{
  display:block;
  width:100%;
  min-height:46px;
  color:var(--inv3-gold-bright);
  background:#211c0e;
  border:1px solid var(--inv3-gold);
  border-radius:6px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.inv3-detail-main .inv2-act.primary:active{
  transform:translateY(1px);
  background:#2a220f;
}

/* r142 — утверждённые экраны боя и «Ещё».
   Новые правила изолированы battle2/more2-классами и не меняют API-механику. */

/* ------------------------------ ЕЩЁ ------------------------------------- */
.screen[data-route="more"]{padding-top:7px}
.more2-screen{display:grid;gap:7px}
.more2-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;min-height:48px;padding:1px 2px 7px;border-bottom:1px solid #252a23}
.more2-heading h2{margin:2px 0 0;font-size:21px;line-height:1}
.more2-heading p{margin:4px 0 0;color:var(--muted);font-size:9px}
.more2-connection{padding:3px 6px;border:1px solid var(--line);background:var(--sunken);color:var(--muted);font-size:9px;white-space:nowrap}
.more2-connection.online{color:#b8cb9a;border-color:#4d6543}
.more2-connection.offline{color:#e9a797;border-color:#744438}
.more2-active{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:68px;padding:7px 8px;overflow:hidden;border:1px solid #67542b;border-radius:6px;background:linear-gradient(90deg,rgba(192,139,52,.15),transparent 68%),#17160f}
.more2-active:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--gold)}
.more2-active>i{display:grid;place-items:center;width:32px;height:32px;border:1px solid #69562d;border-radius:4px;background:#0a0c09;color:var(--gold-bright);font-size:16px;font-style:normal}
.more2-active>span{min-width:0}
.more2-active small,.more2-active b,.more2-active em{display:block}
.more2-active small{color:var(--gold);font-size:8px;letter-spacing:.1em}
.more2-active b{margin-top:2px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.more2-active em{margin-top:2px;color:var(--muted);font-size:8px;font-style:normal}
.more2-active .btn{min-width:88px;min-height:44px;padding:7px 9px;border-radius:5px}
.more2-window{overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--panel)}
.more2-title{display:flex;align-items:center;min-height:31px;padding:5px 8px;border-bottom:1px solid var(--line);background:linear-gradient(#1b201b,#161a16);color:var(--gold-bright);font-size:10px;font-weight:700;letter-spacing:.07em}
.more2-title span{margin-left:auto;color:var(--muted);font-size:8px;font-weight:400;letter-spacing:0;text-transform:none}
.more2-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto 12px;align-items:center;gap:8px;width:100%;min-height:49px;padding:6px 8px;border:0;border-bottom:1px solid #282d27;background:#101410;color:var(--text);text-align:left}
.more2-row:last-child{border-bottom:0}
.more2-row:active{background:#1a1e19}
.more2-glyph{display:grid;place-items:center;width:32px;height:32px;border:1px solid #3b4238;border-radius:4px;background:#090b09;color:#c8cbc2;font-size:15px;font-style:normal;line-height:1}
.more2-copy{min-width:0}
.more2-copy b,.more2-copy small{display:block}
.more2-copy b{overflow:hidden;font-size:11px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.more2-copy small{margin-top:2px;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.more2-meta{max-width:78px;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.more2-meta.badge{min-width:21px;padding:3px 5px 2px;border-radius:9px;background:var(--gold-bright);color:#17120a;font-weight:700;text-align:center}
.more2-row>em{color:var(--faint);font-size:16px;font-style:normal}
.more2-row.messages .more2-glyph{color:#dfc37c;border-color:#5e5435}
.more2-row.settings .more2-glyph{color:#a9b0a5}
.more2-foot{display:flex;justify-content:space-between;gap:8px;padding:2px 3px;color:var(--faint);font-size:8px}

/* r142 — approved colony/home screen */
.home2-screen{display:grid;gap:8px}
.home2-window{overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--panel)}
.home2-title{display:flex;align-items:center;min-height:35px;padding:7px 9px;border-bottom:1px solid var(--line);background:linear-gradient(#1b201b,#161a16);color:var(--gold-bright);font-size:11px;font-weight:700;letter-spacing:.055em;text-transform:uppercase}
.home2-title span{margin-left:auto;color:var(--muted);font-size:9px;font-weight:400;letter-spacing:0;text-transform:none}
.home2-bug-card{display:grid;grid-template-columns:74px minmax(0,1fr) 44px;align-items:center;min-height:101px;padding:6px 8px;background:radial-gradient(circle at 14% 55%,rgba(199,146,43,.11),transparent 31%),linear-gradient(145deg,#181d18,#101310)}
.home2-portrait{position:relative;align-self:stretch;overflow:hidden;border-right:1px solid #252b24}
.home2-portrait:after{content:"";position:absolute;inset:auto 7px 3px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.55}
.home2-portrait img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 6px rgba(0,0,0,.72))}
.home2-bug-copy{min-width:0;padding:0 8px}.home2-bug-copy h1{margin:3px 0;overflow:hidden;font-size:18px;line-height:1.06;text-overflow:ellipsis;white-space:nowrap}.home2-bug-copy p{margin:0;color:var(--muted);font-size:9px}.home2-bug-copy em{display:inline-block;max-width:100%;margin-top:6px;padding:3px 5px;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:#0c0f0c;color:#d7d8d0;font-size:8px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.home2-level{align-self:start;margin-top:9px;padding:6px 3px 5px;border:1px solid var(--gold-deep);border-radius:5px;background:#201b0f;color:var(--gold-bright);font-size:18px;font-weight:700;line-height:1;text-align:center}.home2-level small{display:block;margin-top:3px;color:var(--muted);font-size:8px;font-weight:400}
.home2-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}.home2-quick>div{min-width:0;padding:6px 8px;border-right:1px solid var(--line);background:#0d100d}.home2-quick>div:last-child{border-right:0}.home2-quick span,.home2-quick b{display:block}.home2-quick span{color:var(--muted);font-size:8px}.home2-quick b{margin-top:2px;overflow:hidden;font-size:11px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.home2-quick .attention b{color:var(--gold-bright)}
.home2-next{border-color:#554729}.home2-region-hero{display:grid;grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px 6px;background:linear-gradient(90deg,rgba(199,146,43,.08),transparent 45%),#12140f}.home2-region-hero>i{display:grid;place-items:center;width:38px;height:38px;border:1px solid #665329;border-radius:5px;background:#0b0d0b;color:var(--gold-bright);font-size:20px;font-style:normal;font-weight:700}.home2-region-hero h2{margin:2px 0;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.home2-region-hero p{margin:0;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.home2-region-hero>strong{color:var(--muted);font-size:8px;font-weight:400;text-align:right}.home2-region-hero>strong b{display:block;color:var(--gold-bright);font-size:14px}
.home2-progress{padding:0 9px 8px;background:#12140f}.home2-progress>div:first-child{display:flex;justify-content:space-between;margin-bottom:4px;color:var(--muted);font-size:8px}.home2-progress>div:first-child b{color:#e6d397}.home2-progress>i{display:block;height:6px;overflow:hidden;border:1px solid #3b4235;border-radius:4px;background:#070907}.home2-progress>i em{display:block;height:100%;background:linear-gradient(90deg,#846529,var(--gold-bright))}.home2-progress .region-collection{margin-top:6px}.home2-progress .region-collection span{padding:3px 5px;font-size:8px}.home2-progress>p{display:flex;align-items:center;gap:5px;margin:6px 0 0;color:var(--muted);font-size:8px}.home2-progress>p>i{width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}.home2-progress>p b{color:var(--text)}
.home2-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:6px;padding:7px 9px 8px;border-top:1px solid var(--line);background:#101310}.home2-actions .btn{min-height:42px;border-radius:6px}.home2-actions .btn:first-child{border-color:#775b23;background:#3b3019;color:#f1d99b}
.home2-region-strip{display:flex;gap:6px;padding:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.home2-region-strip::-webkit-scrollbar{display:none}.home2-region-card{flex:0 0 135px;min-height:72px;padding:7px;border:1px solid var(--line);border-radius:6px;background:#151915;color:var(--text);text-align:left;scroll-snap-align:start}.home2-region-card.selected{border-color:var(--gold);background:#211c0f;box-shadow:inset 3px 0 0 var(--gold)}.home2-region-card.locked{opacity:.55}.home2-region-head{display:flex;align-items:center;gap:5px}.home2-region-head>i{display:grid;place-items:center;flex:0 0 23px;width:23px;height:23px;border:1px solid var(--line);border-radius:4px;background:#090b09;color:var(--gold-bright);font-size:11px;font-style:normal}.home2-region-head>b{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.home2-region-meter{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;margin-top:10px}.home2-region-meter>span{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:1px;height:6px}.home2-region-meter i{border:1px solid #363c34;border-radius:1px;background:#292e28}.home2-region-meter i.on{border-color:#b27f22;background:var(--gold)}.home2-region-meter>b{color:var(--muted);font-size:8px}
.home2-attention{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px}.home2-attention>button{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:6px;min-height:58px;padding:7px;border:1px solid var(--line);border-radius:6px;background:#151915;color:var(--text);text-align:left}.home2-attention>button:only-child{grid-column:1/-1}.home2-attention>button>i{display:grid;place-items:center;width:29px;height:29px;border:1px solid #665329;border-radius:5px;background:#0a0c0a;color:var(--gold-bright);font-size:13px;font-style:normal;font-weight:700}.home2-attention b,.home2-attention small{display:block}.home2-attention b{font-size:9px}.home2-attention small{margin-top:2px;color:var(--muted);font-size:8px;line-height:1.2}
@media(max-width:360px){.home2-bug-card{grid-template-columns:64px minmax(0,1fr) 40px;padding-inline:6px}.home2-bug-copy{padding-inline:6px}.home2-region-card{flex-basis:128px}.home2-attention{grid-template-columns:1fr}}

/* r143 — hunt polish aligned with the character screen */
[data-view="hunt"] .hunt2-window{overflow:hidden;border-color:#30372f;border-radius:7px;background:#111511}
[data-view="hunt"] .hunt2-title{min-height:38px;padding:7px 10px;background:linear-gradient(#1b201b,#171b17);color:#e0ba62;font-size:12px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
[data-view="hunt"] .hunt2-title:before{content:"";margin:0}
[data-view="hunt"] .hunt2-title span{font-size:10px;text-transform:none}
[data-view="hunt"] .hunt2-intro{padding:10px;background:radial-gradient(circle at 8% 55%,rgba(199,146,43,.1),transparent 30%),linear-gradient(145deg,#181d18,#101310)}
[data-view="hunt"] .hunt2-intro h2{font-size:18px}[data-view="hunt"] .hunt2-intro p{font-size:10px;line-height:1.25}
[data-view="hunt"] .hunt2-progress>i{height:6px;overflow:hidden;border-radius:4px}
[data-view="hunt"] .hunt2-map-title{min-height:36px;padding:6px 9px;background:#151915}
[data-view="hunt"] .hunt2-map-title button{height:28px;border-radius:5px;background:#101310}
[data-view="hunt"] .hunt2-map{margin:7px;border:1px solid #262b26;border-radius:7px}
[data-view="hunt"] .hunt2-node{border-color:#343934;border-radius:6px;background:#101310}
[data-view="hunt"] .hunt2-node.selected{border-color:#8a7434;background:#211c0f}
[data-view="hunt"] .hunt2-map-help{margin:0 7px 7px;border:1px solid #262b26;border-radius:6px;background:#101310}
[data-view="hunt"] .hunt2-summary{margin:0 7px 7px;padding:7px;border:1px solid #262b26;border-radius:7px;background:#101310}
[data-view="hunt"] .hunt2-summary>div:first-child>i{border-radius:6px}
[data-view="hunt"] .hunt2-parts{margin:0 0 8px;padding:8px 9px;border:1px solid #30372f;border-radius:7px;background:#111511}
[data-view="hunt"] .hunt2-parts .hunt2-part{border-radius:5px}
[data-view="hunt"] .hunt2-filters{top:58px;margin:0 0 8px;border:1px solid #30372f;border-radius:7px;background:rgba(17,21,17,.97);box-shadow:0 5px 12px rgba(0,0,0,.24)}
[data-view="hunt"] .hunt2-filters button{min-height:39px;padding:0 12px;border-bottom-width:3px;font-size:10px}
[data-view="hunt"] .hunt2-filters button.active{background:#181c18;color:#e8e6da}
[data-view="hunt"] .hunt2-board{padding:0}
[data-view="hunt"] .hunt2-board-head{min-height:38px;margin:0 0 7px;padding:7px 10px;border:1px solid #30372f;border-radius:7px;background:linear-gradient(#1b201b,#171b17)}
[data-view="hunt"] .hunt2-board-head b{color:#e0ba62;font-size:11px;text-transform:uppercase;letter-spacing:.05em}
[data-view="hunt"] .hunt2-targets{gap:7px}
[data-view="hunt"] .hunt2-target{grid-template-columns:48px minmax(0,1fr) 66px;column-gap:5px;overflow:hidden;border-color:#30372f;border-left-width:3px;border-radius:7px;background:linear-gradient(145deg,#151915,#0e110e)}
[data-view="hunt"] .hunt2-target.boss{background:linear-gradient(145deg,#1d190e,#11120d)}
[data-view="hunt"] .hunt2-target.match{box-shadow:inset 0 0 0 1px rgba(199,146,43,.2)}
[data-view="hunt"] .hunt2-target-icon{width:38px;height:38px;margin:8px 0 0 7px;border-color:#343934;border-radius:6px;background:#090b09}
[data-view="hunt"] .hunt2-target-main{padding-top:8px}
[data-view="hunt"] .hunt2-tier{font-size:8px}[data-view="hunt"] .hunt2-target h3{margin-top:3px;font-size:12.5px}
[data-view="hunt"] .hunt2-tags{gap:4px}[data-view="hunt"] .hunt2-tags span{padding:3px 5px;border-color:#343934;border-radius:4px;background:#0a0c0a;font-size:8px}
[data-view="hunt"] .hunt2-target details{margin-bottom:8px}[data-view="hunt"] .hunt2-target summary{font-size:8.5px}
[data-view="hunt"] .hunt2-drops{border-radius:5px}
[data-view="hunt"] .hunt2-fight{margin:7px;border-radius:6px!important;background:linear-gradient(#4a3719,#342812)!important;box-shadow:inset 0 1px rgba(255,255,255,.04);font-size:10.5px!important}
[data-view="hunt"] .hunt2-dungeon{margin:10px 0 0;padding:10px;border-color:#6b5522;border-radius:7px;background:linear-gradient(145deg,#1c190f,#11130e)}
[data-view="hunt"] .hunt2-dungeon .btn{min-height:42px;border-radius:6px}
@media(max-width:370px){[data-view="hunt"] .hunt2-target{grid-template-columns:43px minmax(0,1fr) 60px}[data-view="hunt"] .hunt2-target-icon{width:34px;height:34px;margin-left:5px}[data-view="hunt"] .hunt2-filters button{padding-inline:10px}}

/* r143 — staged victory reveal; stronger light is reserved for rarer drops */
.result2-screen{position:relative;display:grid;gap:9px;padding:10px;border:1px solid #4a4028;border-radius:8px;background:radial-gradient(circle at 50% 0,rgba(199,146,43,.13),transparent 33%),linear-gradient(#17170f,#0f120f);overflow:hidden;text-align:left}
.result2-screen:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,rgba(231,209,143,.055) 44%,transparent 67%);transform:translateX(-120%);animation:result2-sweep 1.25s .18s ease-out both}
.result2-hero{position:relative;padding:7px 8px 3px;text-align:center}.result2-hero h2{margin:3px 0 0;font-size:24px}.result2-hero p{margin:4px 0 0;color:var(--muted);font-size:10px}
.result2-seal{position:relative;display:grid;place-items:center;width:58px;height:58px;margin:0 auto 9px;color:#cfe89b}
.result2-seal:before,.result2-seal:after,.result2-seal>i{content:"";position:absolute;border:1px solid #71844b;border-radius:50%}
.result2-seal:before{inset:3px;animation:result2-ring .72s .08s cubic-bezier(.2,.8,.2,1) both}.result2-seal:after{inset:9px;background:radial-gradient(circle,#26351a,#152012 72%);box-shadow:0 0 20px rgba(143,179,83,.16)}
.result2-seal>i{inset:0;border-color:rgba(199,146,43,.42);animation:result2-ring 1s .2s cubic-bezier(.2,.8,.2,1) both}
.result2-seal>span{position:relative;z-index:2;font-size:24px;font-weight:800;animation:result2-check .48s .18s cubic-bezier(.2,1.5,.4,1) both}
.result2-window{position:relative;overflow:hidden;border:1px solid #30372f;border-radius:7px;background:#111511}
.result2-title{display:flex;align-items:center;min-height:37px;padding:7px 10px;border-bottom:1px solid #30372f;background:linear-gradient(#1b201b,#171b17);color:#e0ba62;font-size:11px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.result2-title span{margin-left:auto;color:var(--muted);font-size:9px;font-weight:400;letter-spacing:0;text-transform:none}
.reward2-list{display:grid;gap:6px;padding:8px}
.reward2-row{--reward-color:#798179;position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:8px;min-height:56px;padding:7px 9px;overflow:hidden;border:1px solid #30372f;border-left:3px solid var(--reward-color);border-radius:6px;background:linear-gradient(145deg,#171b17,#0c0f0c);opacity:0;transform:translateY(12px) scale(.985);animation:reward2-enter .5s var(--reward-delay) cubic-bezier(.2,.8,.2,1) forwards}
.reward2-row.tier-uncommon{--reward-color:#4ea56b}.reward2-row.tier-rare{--reward-color:#467fb8}.reward2-row.tier-epic{--reward-color:#9550bc}.reward2-row.tier-relic,.reward2-row.tier-named{--reward-color:#c78d22}
.reward2-row.tier-rare,.reward2-row.tier-epic,.reward2-row.tier-relic,.reward2-row.tier-named{box-shadow:inset 0 0 18px color-mix(in srgb,var(--reward-color) 9%,transparent)}
.reward2-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid color-mix(in srgb,var(--reward-color) 70%,#30372f);border-radius:6px;background:#090b09;color:var(--reward-color);font-size:13px;font-weight:800}
.reward2-row b,.reward2-row small{display:block}.reward2-row b{color:#e4e2db;font-size:11px}.reward2-row small{margin-top:2px;color:#858b81;font-size:8.5px}
.reward2-row>i{position:absolute;inset:-50% auto -50% -30%;width:22%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);opacity:0;transform:rotate(18deg)}
.reward2-row.tier-rare>i,.reward2-row.tier-epic>i,.reward2-row.tier-relic>i,.reward2-row.tier-named>i{animation:reward2-glint .72s var(--reward-effect-delay) ease-out both}
.reward2-row.tier-epic{animation-name:reward2-enter,reward2-epic-pulse;animation-duration:.5s,1.2s;animation-delay:var(--reward-delay),var(--reward-effect-delay);animation-fill-mode:forwards,both}
.reward2-row.tier-relic,.reward2-row.tier-named{animation-name:reward2-enter,rewards2-relic-pulse;animation-duration:.5s,1.35s;animation-delay:var(--reward-delay),var(--reward-effect-delay);animation-fill-mode:forwards,both}
body.victory-result-open .app-shell{padding-bottom:calc(104px + var(--safe-bottom))}
body.victory-result-open .bottom-nav{display:none}
body.victory-result-open .toast{bottom:calc(104px + var(--safe-bottom) + 10px)}
.screen[data-view="victory"]{height:calc(100dvh - 58px);padding-bottom:calc(116px + var(--safe-bottom));overflow:hidden}
.screen[data-view="victory"] .result2-screen{height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr)}
.screen[data-view="victory"] .result2-window{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}
.screen[data-view="victory"] .reward2-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.result2-action-dock{position:fixed;left:0;right:0;bottom:0;z-index:45;padding:8px calc(8px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(8px + var(--safe-left));border-top:1px solid #4a4028;background:linear-gradient(180deg,rgba(12,14,11,.94),rgba(7,9,7,.99));box-shadow:0 -8px 22px rgba(0,0,0,.42)}
.result2-action-dock-inner{width:min(100%,680px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:7px}
.result2-action-dock .btn{min-height:48px;border-radius:7px}
.result2-action-primary{border-color:#886824;background:linear-gradient(#57411d,#3b2f17);color:#f4dda0;font-size:12px}
.result2-action-secondary{font-size:10px}

@media(max-width:370px){.result2-action-dock-inner{grid-template-columns:1fr}.result2-action-dock .btn{min-height:44px}body.victory-result-open .app-shell{padding-bottom:calc(101px + var(--safe-bottom))}.screen[data-view="victory"]{padding-bottom:calc(113px + var(--safe-bottom))}}
@keyframes result2-ring{0%{opacity:0;transform:scale(.35) rotate(-18deg)}75%{opacity:1;transform:scale(1.08) rotate(3deg)}100%{opacity:1;transform:scale(1)}}@keyframes result2-check{0%{opacity:0;transform:scale(.25)}100%{opacity:1;transform:scale(1)}}@keyframes result2-sweep{0%{transform:translateX(-120%)}100%{transform:translateX(130%)}}@keyframes reward2-enter{to{opacity:1;transform:translateY(0) scale(1)}}@keyframes reward2-glint{0%{left:-30%;opacity:0}25%{opacity:.8}100%{left:120%;opacity:0}}@keyframes reward2-epic-pulse{0%,100%{box-shadow:inset 0 0 18px rgba(149,80,188,.09)}45%{box-shadow:inset 0 0 25px rgba(149,80,188,.19),0 0 13px rgba(149,80,188,.13)}}@keyframes rewards2-relic-pulse{0%,100%{box-shadow:inset 0 0 18px rgba(199,141,34,.1)}45%{box-shadow:inset 0 0 28px rgba(199,141,34,.24),0 0 17px rgba(199,141,34,.2)}}
body[data-motion="reduced"] .result2-screen:before,body[data-motion="reduced"] .result2-seal:before,body[data-motion="reduced"] .result2-seal:after,body[data-motion="reduced"] .result2-seal>i,body[data-motion="reduced"] .result2-seal>span,body[data-motion="reduced"] .reward2-row,body[data-motion="reduced"] .reward2-row>i{animation:none!important;opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.result2-screen:before,.result2-seal:before,.result2-seal:after,.result2-seal>i,.result2-seal>span,.reward2-row,.reward2-row>i{animation:none!important;opacity:1!important;transform:none!important}}

/* ------------------------------ БОЙ ------------------------------------- */
.screen[data-view="battle"]{height:calc(100dvh - 58px - var(--nav-height) - var(--safe-bottom));padding:6px 8px;overflow:hidden}
.battle2-screen{height:100%;display:grid;align-content:start;gap:6px;overflow:hidden}
.battle2-screen .battle-head{min-height:42px;padding:7px 9px;border-color:var(--line);border-radius:6px;background:linear-gradient(#1a1e19,#111511)}
.battle2-screen .battle-head h2{max-width:270px;overflow:hidden;margin:1px 0 0;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.battle2-screen .battle-state{padding:4px 6px;border-radius:4px}
.battle2-arena{position:relative;padding:6px;border:1px solid var(--line-strong);border-radius:7px;background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),radial-gradient(circle at 50% 45%,#24271a 0,#11130e 52%,#090b09 100%);background-size:22px 22px,22px 22px,auto;overflow:hidden}
.battle2-matchup{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:5px;align-items:stretch}
.battle2-screen .battle2-card.fighter{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:0;border:1px solid var(--line);border-radius:6px;background:rgba(9,11,9,.88);overflow:hidden;transform:translateZ(0)}
.battle2-screen .battle2-card.enemy-fighter{border-color:#55372f}
.battle2-screen .battle2-card.player-fighter{border-color:#40543b}
.battle2-art{position:relative;display:grid;place-items:center;height:112px;overflow:hidden;border-bottom:1px solid var(--line);background:#090b09}
.battle2-art.player-art{background:radial-gradient(ellipse at 50% 76%,rgba(194,145,39,.15),transparent 44%),linear-gradient(#10130f,#080a08)}
.battle2-art.player-art img{display:block;width:100%;height:100%;padding:2px 17px 0;object-fit:contain;object-position:center;filter:saturate(.92) contrast(1.04) drop-shadow(0 7px 7px rgba(0,0,0,.72))}
.battle2-art.enemy-art{align-content:center;gap:3px;color:#caa45f;background:radial-gradient(circle at 50% 48%,rgba(151,87,39,.28),transparent 34%),linear-gradient(145deg,#1b1510,#090b09 66%)}
.battle2-art.enemy-art:before,.battle2-art.enemy-art:after{content:"";position:absolute;inset:-44%;border:1px solid #6d4b29;opacity:.28;transform:rotate(45deg)}
.battle2-art.enemy-art:after{inset:-18%;opacity:.15}
.battle2-art.enemy-art small{position:relative;color:#9c8057;font-size:7px;letter-spacing:.13em}
.battle2-enemy-mark{position:relative;width:42px;height:50px;filter:drop-shadow(0 0 10px rgba(199,146,43,.18))}
.battle2-enemy-mark:before{content:"";position:absolute;left:50%;top:2px;width:20px;height:42px;transform:translateX(-50%);border:2px solid #c39a51;border-radius:50% 50% 42% 42%;background:linear-gradient(90deg,#17130d 0 44%,#745328 48% 52%,#17130d 56%)}
.battle2-enemy-mark:after{content:"";position:absolute;left:50%;top:17px;width:39px;height:24px;transform:translateX(-50%) rotate(-9deg);border-top:2px solid #c39a51;border-bottom:2px solid #7d5931;border-radius:50%}
.battle2-screen .battle-vs{display:grid;place-items:center;height:auto;color:var(--faint);font-size:9px;line-height:1;writing-mode:vertical-rl}
.battle2-card .fighter-content{padding:5px 6px 6px}
.battle2-card .fighter-role{font-size:7px}
.battle2-card .fighter-line b{max-width:100%;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.battle2-health{margin-top:4px;color:var(--muted);font-size:8px}
.battle2-card .fighter-line strong{font-size:9px}
.battle2-card .battle-meter{display:block;width:100%;height:7px;margin-top:3px;border-radius:3px}
.battle2-card .battle-meter i{display:block;max-width:100%;height:100%;transition:width .22s ease}
.battle2-screen .battle-alert{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px;margin-top:6px;padding:5px 6px;border-radius:5px}
.battle2-screen .battle-alert>i{display:grid;place-items:center;width:27px;height:27px;border:1px solid #7b463a;border-radius:4px;background:#180d0a;color:#eba18e;font-size:15px;font-style:normal;font-weight:700}
.battle2-screen .battle-alert b,.battle2-screen .battle-alert small{display:block}
.battle2-screen .battle-alert b{font-size:10px}.battle2-screen .battle-alert small{margin-top:1px;color:#c7a298;font-size:8px}
.battle2-screen .battle-alert em{color:#e59c8a;font-size:8px;font-style:normal}
.battle2-screen .battle-feedback{min-height:39px;padding:6px 8px;border-radius:6px}
.battle2-screen .battle-feedback b{font-size:10px}.battle2-screen .battle-feedback span{font-size:8px}
.battle2-screen .impulse-panel{padding:6px 8px;border-radius:6px}
.battle2-screen .impulse-panel b{font-size:10px}.battle2-screen .impulse-panel small{font-size:8px}.battle2-screen .impulse-panel strong{font-size:10px}
.battle2-segments{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;height:7px;margin-top:5px}
.battle2-segments i{min-width:0;border:1px solid #383d34;border-radius:1px;background:#292e28}
.battle2-segments i.on{border-color:#b17e21;background:var(--gold)}
.battle2-screen .combat-actions{gap:5px}
.battle2-screen .combat-command{grid-template-columns:32px minmax(0,1fr);min-height:51px;padding:5px 7px;border-radius:6px}
.battle2-screen .combat-command>span{display:grid;grid-row:1/3;place-items:center;width:28px;height:28px;border:1px solid #635127;border-radius:4px;background:#0a0c0a;color:var(--gold-bright);font-size:15px}
.battle2-screen .combat-command.secondary>span{border-color:var(--line-strong);color:#c8cec4}
.battle2-screen .combat-command b{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.battle2-screen .combat-command small{overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.battle2-screen .fast-battle{min-height:44px;border-color:#62552c;border-radius:6px;background:linear-gradient(#211d11,#17160f);color:#ead9a7;font-size:10px;font-weight:700}
.battle2-screen .battle-log-panel{border-radius:6px;overflow:hidden}
.battle2-screen .battle-log-panel>summary{min-height:34px;padding:6px 8px}
.battle2-screen .battle-log-panel .combat-log{max-height:105px;overflow:auto}

/* FX-слой рассчитан по карточкам, а не по анатомии конкретного вида жука. */
.battle2-fx{position:absolute;z-index:12;inset:0;overflow:hidden;pointer-events:none}
.battle2-fx>span{position:absolute;display:block;opacity:0}
.battle2-slash{--a:-27deg;top:33%;left:17%;width:38%;height:2px;border-radius:50%;transform:rotate(var(--a)) scaleX(.1);transform-origin:right center;background:linear-gradient(90deg,transparent,#fff3bf 50%,#c9932d);box-shadow:0 0 5px #e7b84e,0 0 12px rgba(211,154,44,.64)}
.battle2-slash.s2{--a:22deg;top:48%;left:20%;width:31%}
.battle2-spark{top:41%;left:32%;width:4px;height:4px;border-radius:50%;background:#fff2bd;box-shadow:0 0 7px #d49a2c}
.battle2-spark.p2{margin:-17px 0 0 14px}.battle2-spark.p3{margin:16px 0 0 -15px}
.battle2-fx-attack .battle2-slash{animation:battle2Slash .48s cubic-bezier(.18,.72,.22,1) both}
.battle2-fx-attack .battle2-spark{animation:battle2Spark .62s ease-out both}
.battle2-chain{--chain-angle:-34deg;left:23%;width:29px;height:12px;border:2px solid #d46a55;border-radius:50%;background:rgba(79,18,14,.28);box-shadow:0 0 5px #9d3528,inset 0 0 4px rgba(255,174,150,.32);transform:translateX(150px) rotate(var(--chain-angle)) scale(.35)}
.battle2-chain.c1{top:18%}.battle2-chain.c2{--chain-angle:31deg;top:30%;margin-left:8px}.battle2-chain.c3{top:42%}.battle2-chain.c4{--chain-angle:31deg;top:54%;margin-left:8px}
.battle2-chain-lock{top:14%;left:14%;width:29%;height:50%;border:1px solid rgba(207,84,61,.72);border-radius:50%;box-shadow:0 0 13px rgba(166,43,31,.72),inset 0 0 15px rgba(138,32,23,.3);transform:scale(1.3)}
.battle2-fx-skill .battle2-chain{animation:battle2Chain .72s cubic-bezier(.16,.76,.22,1) both}.battle2-fx-skill .battle2-chain.c2{animation-delay:.05s}.battle2-fx-skill .battle2-chain.c3{animation-delay:.1s}.battle2-fx-skill .battle2-chain.c4{animation-delay:.15s}.battle2-fx-skill .battle2-chain-lock{animation:battle2ChainLock .9s ease-out .18s both}
.battle2-impulse-orb{top:37%;left:73%;width:17px;height:17px;border-radius:50%;background:white;box-shadow:0 0 6px white,0 0 15px #f0c457,0 0 28px rgba(208,146,31,.9);transform:translate(-50%,-50%) scale(.1)}
.battle2-impulse-beam{top:calc(37% - 2px);left:27%;width:46%;height:4px;border-radius:50%;transform:scaleX(0);transform-origin:right center;background:linear-gradient(90deg,rgba(255,255,255,.15),white 42%,#e2ad38 100%);box-shadow:0 0 8px #fff0ac,0 0 20px rgba(223,164,48,.8)}
.battle2-impulse-wave{top:37%;left:24%;width:32px;height:32px;border:2px solid #f1ce70;border-radius:50%;transform:translate(-50%,-50%) scale(.15);box-shadow:0 0 12px #dda538,inset 0 0 9px #f8dda0}.battle2-impulse-wave.w2{width:48px;height:48px}
.battle2-fx-impulse .battle2-impulse-orb{animation:battle2ImpulseOrb .84s ease-in-out both}.battle2-fx-impulse .battle2-impulse-beam{animation:battle2ImpulseBeam .5s ease-out .26s both}.battle2-fx-impulse .battle2-impulse-wave{animation:battle2ImpulseWave .72s ease-out .4s both}.battle2-fx-impulse .battle2-impulse-wave.w2{animation-delay:.5s}
.battle2-shield{top:38%;left:76%;width:67px;height:75px;transform:translate(-50%,-50%) scale(.4);clip-path:polygon(50% 0,92% 17%,86% 67%,50% 100%,14% 67%,8% 17%);background:linear-gradient(135deg,rgba(212,238,194,.88),rgba(77,133,71,.36) 20%,rgba(25,44,25,.82) 72%);box-shadow:0 0 18px rgba(117,199,111,.55)}
.battle2-shield:after{content:"";position:absolute;inset:3px;clip-path:inherit;background:linear-gradient(135deg,rgba(156,220,145,.18),transparent 46%),rgba(7,12,8,.75)}
.battle2-shield-ring{top:38%;left:76%;width:72px;height:72px;border:1px solid rgba(150,220,139,.78);border-radius:50%;transform:translate(-50%,-50%) scale(.45);box-shadow:0 0 12px rgba(116,192,108,.42)}
.battle2-fx-guard .battle2-shield{animation:battle2Shield .82s ease-out both}.battle2-fx-guard .battle2-shield-ring{animation:battle2ShieldRing .82s ease-out .08s both}
.battle2-card.player-fighter.fighter-strike{animation:battle2PlayerLunge .48s cubic-bezier(.2,.8,.2,1)}
.battle2-card.enemy-fighter.fighter-strike{animation:battle2EnemyLunge .42s cubic-bezier(.2,.8,.2,1)}
.battle2-card.fighter-cast{border-color:#8c4438;box-shadow:0 0 13px rgba(160,54,40,.24)}
.battle2-card.fighter-chain-hit{animation:battle2ChainHit .88s ease-out}
.battle2-card.fighter-channel{animation:battle2Channel .94s ease-out}
.battle2-card.fighter-impulse-hit{animation:battle2ImpulseHit .96s ease-out}
@keyframes battle2Slash{0%{opacity:0;transform:rotate(var(--a)) translateX(32px) scaleX(.08)}18%{opacity:1}58%{opacity:1;transform:rotate(var(--a)) translateX(-5px) scaleX(1)}100%{opacity:0;transform:rotate(var(--a)) translateX(-18px) scaleX(.68)}}
@keyframes battle2Spark{0%,28%{opacity:0;transform:scale(.2)}42%{opacity:1;transform:scale(1.7)}100%{opacity:0;transform:translate(13px,-17px) scale(.2)}}
@keyframes battle2Chain{0%{opacity:0;filter:brightness(2)}38%{opacity:1}70%{opacity:1;transform:translateX(0) rotate(var(--chain-angle)) scale(1)}86%{opacity:1;transform:translateX(0) rotate(var(--chain-angle)) scale(.82)}100%{opacity:0;transform:translateX(0) rotate(var(--chain-angle)) scale(.72)}}
@keyframes battle2ChainLock{0%{opacity:0;transform:scale(1.35)}38%{opacity:.9;transform:scale(1)}66%{opacity:.8;transform:scale(.82)}100%{opacity:0;transform:scale(.7)}}
@keyframes battle2ImpulseOrb{0%{opacity:0;transform:translate(-50%,-50%) scale(.1)}24%{opacity:1;transform:translate(-50%,-50%) scale(1.25)}48%{opacity:1;transform:translate(-50%,-50%) scale(.7)}72%{opacity:1;transform:translate(calc(-50% - 165px),-50%) scale(1.1)}100%{opacity:0;transform:translate(calc(-50% - 178px),-50%) scale(.1)}}
@keyframes battle2ImpulseBeam{0%{opacity:0;transform:scaleX(0)}35%{opacity:1;transform:scaleX(1)}100%{opacity:0;transform:scaleX(.35)}}
@keyframes battle2ImpulseWave{0%{opacity:0;transform:translate(-50%,-50%) scale(.15)}25%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(2.6)}}
@keyframes battle2Shield{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}35%{opacity:.95;transform:translate(-50%,-50%) scale(1.08)}68%{opacity:.88;transform:translate(-50%,-50%) scale(.96)}100%{opacity:0;transform:translate(-50%,-50%) scale(1)}}
@keyframes battle2ShieldRing{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}32%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.65)}}
@keyframes battle2PlayerLunge{0%,100%{transform:translateX(0)}42%{transform:translateX(-8px) scale(1.025)}}
@keyframes battle2EnemyLunge{0%,100%{transform:translateX(0)}42%{transform:translateX(8px) scale(1.025)}}
@keyframes battle2ChainHit{0%,100%{transform:scale(1);filter:brightness(1)}46%{transform:scale(.96);filter:sepia(.4) saturate(1.5) brightness(1.14);border-color:#b95746}}
@keyframes battle2Channel{0%,100%{filter:brightness(1);box-shadow:0 0 0 rgba(225,174,63,0)}42%{filter:brightness(1.22);box-shadow:0 0 20px rgba(225,174,63,.38)}}
@keyframes battle2ImpulseHit{0%,100%{transform:translateX(0);filter:brightness(1)}38%{transform:translateX(-3px) scale(1.025);filter:brightness(1.55);border-color:#e0b757}54%{transform:translateX(2px)}68%{transform:translateX(-1px)}}

@media(max-height:760px){
  .more2-heading{min-height:39px}.more2-heading p{display:none}.more2-active{min-height:56px}.more2-active em{display:none}.more2-window{border-radius:5px}.more2-title{min-height:26px;padding-block:4px}.more2-row{min-height:42px;padding-block:4px}.more2-glyph{width:28px;height:28px}.more2-row{grid-template-columns:28px minmax(0,1fr) auto 10px}.more2-copy small{display:none}.more2-foot{display:none}
  .battle2-screen{gap:4px}.battle2-screen .battle-head{min-height:34px;padding-block:4px}.battle2-art{height:76px}.battle2-card .fighter-content{padding-block:4px}.battle2-screen .battle-alert{margin-top:4px;padding-block:3px}.battle2-screen .battle-alert small{display:none}.battle2-screen .battle-feedback{min-height:30px;padding-block:4px}.battle2-screen .battle-feedback span{display:none}.battle2-screen .impulse-panel{padding-block:5px}.battle2-screen .impulse-panel small{display:none}.battle2-screen .combat-command{min-height:42px}.battle2-screen .fast-battle{min-height:42px}.battle2-screen .battle-log-panel>summary{min-height:30px;padding-block:4px}
}
@media(max-height:650px){
  .more2-connection,.more2-heading .eyebrow{display:none}.more2-heading{min-height:31px}.more2-active{min-height:50px}.more2-active>i{width:29px;height:29px}.more2-active .btn{min-height:40px}.more2-title{min-height:23px}.more2-row{min-height:38px}
  .battle2-art{height:62px}.battle2-card .fighter-role{display:none}.battle2-screen .battle-alert{min-height:30px}.battle2-screen .battle-log-panel{display:none}
}
body[data-motion="reduced"] :is(.battle2-slash,.battle2-spark,.battle2-chain,.battle2-chain-lock,.battle2-impulse-orb,.battle2-impulse-beam,.battle2-impulse-wave,.battle2-shield,.battle2-shield-ring,.fighter-cast,.fighter-chain-hit,.fighter-channel,.fighter-impulse-hit){animation-duration:.01ms!important;animation-iteration-count:1!important}
@media(prefers-reduced-motion:reduce){.battle2-fx>span,.battle2-card{animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* r144 — видовой кадр в бою и обновлённое сравнение экипировки. */
.battle2-art.player-art[data-species="species.mantis"] img{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  padding:3px 14px 1px;
  object-fit:contain;
  object-position:50% 0;
}

.item-detail-modal>div{
  border-color:#30362e;
  border-radius:12px 12px 0 0;
  background:#0e110e;
  box-shadow:0 -16px 44px rgba(0,0,0,.58);
}
.item4-sheet{
  --item4-rarity:#70776d;
  border-top-color:var(--item4-rarity);
  background:linear-gradient(180deg,#151915 0,#0e110e 150px);
}
.item4-sheet[data-rarity="uncommon"]{--item4-rarity:#54a06a}
.item4-sheet[data-rarity="rare"]{--item4-rarity:#4a86c9}
.item4-sheet[data-rarity="epic"]{--item4-rarity:#a463d6}
.item4-sheet[data-rarity="relic"],.item4-sheet[data-rarity="named"]{--item4-rarity:#d1972f}
.item4-head{
  grid-template-columns:50px minmax(0,1fr) auto 40px;
  align-items:center;
  gap:9px;
  padding:10px 11px;
  border-color:#2a3029;
  background:rgba(17,21,17,.97);
  backdrop-filter:blur(12px);
}
.item4-icon{
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border:2px solid var(--item4-rarity);
  border-radius:8px;
  background:#1b201b;
  color:var(--item4-rarity);
  box-shadow:inset 0 0 18px color-mix(in srgb,var(--item4-rarity) 9%,transparent);
}
.item4-icon svg{width:28px;height:28px}
.item4-title{min-width:0}
.item4-head .item4-title h2{
  overflow:hidden;
  margin:2px 0;
  font-size:15px;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.item4-head .item4-title p{font-size:9px}
.item4-score{
  min-width:52px;
  padding:5px 7px;
  border:1px solid #4a442f;
  border-radius:6px;
  background:#15150f;
  text-align:right;
}
.item4-score small,.item4-score b{display:block}
.item4-score small{color:#7f857b;font-size:7px;text-transform:uppercase;letter-spacing:.08em}
.item4-score b{margin-top:1px;color:#e0c57d;font-size:13px;font-variant-numeric:tabular-nums}
.item4-head .modal-close{
  width:40px;
  height:40px;
  min-width:40px;
  min-height:40px;
  border-radius:7px;
  color:#b8bcb3;
  font-size:22px;
}
.item4-status{padding:8px 11px 0}
.item4-status span{
  border-color:#353b33;
  border-radius:4px;
  background:#111411;
  font-size:8px;
}
.item4-status span.equipped{
  border-color:#4e674b;
  color:#82bf86;
}
.item4-sheet .detail-section{
  margin:8px 11px 0;
  padding:9px;
  border-color:#2d342c;
  border-radius:8px;
  background:#121612;
}
.item4-sheet .detail-section h3{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:#dddcd5;
  font-size:11px;
}
.item4-sheet .detail-section h3 span{color:#8d9388;font-size:9px;font-weight:500}
.item4-main-stat{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
  padding:8px 9px;
  border:1px solid #4c4329;
  border-radius:6px;
  background:linear-gradient(90deg,#19160e,#111410);
}
.item4-main-stat span{color:#a5aa9f;font-size:9px}
.item4-main-stat b{color:#e3c675;font-size:14px;font-variant-numeric:tabular-nums}
.item4-sheet .detail-current{
  margin-bottom:7px;
  border:1px solid #292f28;
  border-radius:6px;
  background:#0b0e0b;
}
.item4-sheet .detail-current b{font-size:10px}
.item4-sheet .comparison-current{
  display:grid;
  gap:2px;
  padding:9px;
  border-color:#4b6148;
  border-radius:6px;
  background:#131b12;
}
.item4-sheet .comparison-current b{color:#bcd195;font-size:10px}
.item4-sheet .comparison-current span{color:#879281;font-size:8px}
.item4-comparison{
  border-color:#343c33;
  border-radius:7px;
  background:#0b0e0b;
}
.item4-comparison .comparison-head{
  background:#171b17;
  color:#777e74;
}
.item4-comparison .comparison-row{border-color:#252b24}
.item4-comparison .comparison-row>span{color:#a1a79d}
.item4-sheet .comparison-note{margin:7px 2px 0;line-height:1.35}
.item4-sheet .set-change,.item4-sheet .detail-rune{border-color:#2b312a}
.item4-sheet .detail-rune{
  min-height:38px;
  margin-bottom:5px;
  padding:6px 7px;
  border:1px solid #2b312a;
  border-radius:6px;
  background:#0c0f0c;
}
.item4-sheet .detail-rune:last-child{border-bottom:1px solid #2b312a}
.item4-sheet .detail-rune.filled{border-color:#3f5d72}
.item4-sheet .rune-manage-button{margin-top:7px;border-radius:6px}
.item4-sheet .detail-facts{
  overflow:hidden;
  border-color:#2a3029;
  border-radius:6px;
}
.item4-sheet .detail-fact{
  border-color:#2a3029;
  background:#0c0f0c;
}
.item4-actions{
  gap:7px;
  margin-top:9px;
  padding:9px 11px calc(9px + var(--safe-bottom));
  border-color:#2b312a;
  background:rgba(10,13,10,.97);
  backdrop-filter:blur(12px);
}
.item4-actions .btn{
  min-height:46px;
  border-radius:7px;
  font-size:11px;
}
.item4-actions .btn:not(.secondary){
  border-color:#765b25;
  background:linear-gradient(#4a391d,#352a18);
  color:#f0d99a;
}
@media(max-width:390px){
  .item4-head{grid-template-columns:46px minmax(0,1fr) 40px}
  .item4-icon{width:46px;height:46px}
  .item4-score{grid-column:2;grid-row:2;justify-self:start;display:flex;align-items:center;gap:5px;min-width:0;padding:2px 6px}
  .item4-score b{margin:0;font-size:10px}
  .item4-head .modal-close{grid-column:3;grid-row:1}
}

/* r146 — статус запроса не участвует в раскладке боевых команд. */
.battle2-screen{position:relative}
.battle2-screen .battle-request{
  position:absolute;
  z-index:24;
  left:50%;
  bottom:66px;
  width:max-content;
  max-width:calc(100% - 24px);
  padding:5px 9px;
  border-color:#66582f;
  border-radius:5px;
  background:rgba(24,20,11,.96);
  box-shadow:0 6px 18px rgba(0,0,0,.42);
  opacity:0;
  transform:translate(-50%,4px);
  pointer-events:none;
  white-space:nowrap;
  animation:battle2RequestIn .14s ease-out .18s forwards;
}
.battle2-screen .battle-terminal-controls{display:contents}
.battle2-screen .battle-terminal-controls :is(.combat-command,.fast-battle){
  opacity:.34;
  filter:saturate(.35);
  pointer-events:none;
}
.battle2-screen .battle-terminal-wait{
  position:absolute;
  z-index:25;
  left:50%;
  bottom:66px;
  width:max-content;
  max-width:calc(100% - 24px);
  min-height:38px;
  padding:6px 10px;
  border-color:#5b623f;
  border-radius:6px;
  background:rgba(18,22,15,.97);
  box-shadow:0 6px 18px rgba(0,0,0,.45);
  opacity:0;
  transform:translate(-50%,4px);
  pointer-events:none;
  animation:battle2RequestIn .14s ease-out .18s forwards;
}
@keyframes battle2RequestIn{
  to{opacity:1;transform:translate(-50%,0)}
}
body[data-motion="reduced"] .battle2-screen :is(.battle-request,.battle-terminal-wait){animation-delay:.18s}

/* r147 — отдельная композиция каждого вида внутри боевой карточки. */
.battle2-art.player-art img{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  padding:3px 14px 1px;
  object-fit:contain;
  object-position:50% 0;
}
.battle2-art.player-art[data-species="species.mantis"] img{
  top:0;
  height:100%;
}
.battle2-art.player-art[data-species="species.stag_beetle"] img,
.battle2-art.player-art[data-species="species.tiger_beetle"] img{
  top:-3%;
  height:108%;
}
.battle2-art.player-art[data-species="species.ladybird"] img{
  top:-7%;
  height:126%;
}
