/* ==== css/style.css ==== */
* { box-sizing: border-box; margin:0; padding:0; -webkit-tap-highlight-color: transparent; user-select:none; }
html, body { width:100%; height:100%; overflow:hidden; background:#0b0e14; font-family:'Segoe UI',system-ui,sans-serif; }
body { position:relative; color:#e8dfc8; }
#app { position:relative; width:390px; height:844px; margin:0 auto; overflow:hidden; box-shadow:0 0 40px rgba(0,0,0,.6); }
@media (max-width:480px){ #app{ width:100vw; height:100vh; height:100dvh; box-shadow:none; } }

.screen { position:absolute; inset:0; display:none; }
.screen.active { display:block; }
#screen-main.screen.active { display:flex; flex-direction:column; overflow-y:auto; -webkit-overflow-scrolling:touch; }
#screen-main.screen.active::-webkit-scrollbar { display:none; }

/* ---------- фоны ---------- */
.bgimg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 55%; transition:opacity .35s ease; }
.bgimg.blurred { filter:blur(2px) brightness(.55); }
.bgshade { position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,8,14,.55) 0%, rgba(6,8,14,.15) 22%, rgba(6,8,14,.05) 45%, rgba(8,9,14,.55) 70%, rgba(6,7,12,.92) 100%); }
.bgshade.dark { background:linear-gradient(180deg, rgba(6,8,14,.78) 0%, rgba(6,8,14,.6) 30%, rgba(8,9,14,.88) 100%); }
.bgmap { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; filter:brightness(.85); }
.bgshade.map { background:radial-gradient(ellipse at 50% 35%, rgba(20,12,4,.08), rgba(10,6,2,.55) 85%); }

/* ---------- топ-бар (общий) ---------- */
.topbar { position:relative; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 12px 0; }
.topicons { display:flex; gap:8px; margin-left:auto; }
.roundbtn { width:30px; height:30px; border-radius:50%; background:rgba(10,10,16,.55); border:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; font-size:14px; cursor:pointer; flex-shrink:0; }
.backbtn { width:32px; height:32px; border-radius:10px; background:rgba(10,10,16,.55); border:1px solid rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; font-size:16px; color:#f0e6c8; cursor:pointer; }
.pagetitle { font-size:16px; font-weight:800; color:#f0d68a; text-shadow:0 1px 3px #000; }
.goldmini { margin-left:auto; display:flex; align-items:center; gap:5px; background:rgba(10,10,16,.55); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:5px 10px; }
.goldmini img { width:16px; }
.goldmini b { font-size:11px; color:#f2d98a; }
.landsprogress { font-size:10px; font-weight:800; color:#f0d68a; background:rgba(10,10,16,.55); border:1px solid rgba(212,169,70,.3); border-radius:12px; padding:5px 10px; white-space:nowrap; }

/* ---------- ресурсы (main) ---------- */
.reswrap { position:relative; z-index:5; display:flex; align-items:center; justify-content:space-between; padding:8px 12px 0; gap:8px; }
.goldblock { display:flex; align-items:center; gap:8px; }
.goldblock .coin { width:40px; height:auto; object-fit:contain; filter:drop-shadow(0 2px 6px rgba(0,0,0,.5)); }
.gold-inline { width:1.15em; height:1.15em; object-fit:contain; vertical-align:-.2em; }
.goldblock .nums b { display:block; font-size:19px; font-weight:800; color:#fff; text-shadow:0 2px 4px #000; }
.goldblock .nums small { font-size:8.5px; color:#c9bd9a; letter-spacing:.2px; }
.goldblock .nums small .g { color:#8bd17a; font-weight:700; }
.totalincome { text-align:right; background:rgba(10,10,16,.5); border:1px solid rgba(139,209,122,.25); border-radius:12px; padding:5px 10px; flex-shrink:0; }
.totalincome .ti-lbl { font-size:7.5px; color:#9a8a6a; text-transform:uppercase; letter-spacing:.3px; }
.totalincome .ti-val { font-size:13px; font-weight:800; color:#8bd17a; }

/* ---------- статы 3 колонки ---------- */
.stats3 { position:relative; z-index:5; display:flex; gap:7px; padding:10px 12px 0; }
.statcard { flex:1; background:rgba(10,12,18,.6); border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:10px 6px; text-align:center; backdrop-filter: blur(2px); }
.statcard.clickable { cursor:pointer; transition:transform .1s ease, border-color .15s ease; }
.statcard.clickable:active { transform:scale(.96); border-color:rgba(212,169,70,.5); }
.statcard.highlight { background:linear-gradient(180deg, rgba(139,209,122,.18), rgba(10,12,18,.6)); border-color:rgba(139,209,122,.4); }
.statcard img.ic { width:52px; height:52px; object-fit:contain; margin-bottom:2px; filter:drop-shadow(0 3px 6px rgba(0,0,0,.55)) drop-shadow(0 0 8px rgba(255,200,90,.25)); transition:transform .15s ease; }
.statcard.clickable:active img.ic { transform:scale(1.08); }
.statcard .lbl { font-size:8px; color:#a99a78; text-transform:uppercase; letter-spacing:.3px; margin:2px 0 1px; }
.statcard .num { font-size:13px; font-weight:800; color:#f0e6c8; }
.statcard .sub { font-size:8px; color:#7a8a6a; }

/* ---------- заголовок земли + прогресс добычи ---------- */
.landswipe-title { flex:1; text-align:center; font-size:16px; font-weight:800; color:#f0d68a; text-shadow:0 1px 3px #000; letter-spacing:.2px; }
.progwrap { position:relative; z-index:5; display:flex; align-items:center; gap:8px; padding:8px 12px 0; }
.holdpanel { position:relative; z-index:5; margin:8px 12px 0; padding:8px 10px 10px; background:linear-gradient(180deg, rgba(22,15,8,.78), rgba(10,8,5,.62)); border:1px solid rgba(212,175,55,.35); border-radius:14px; box-shadow:0 2px 10px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06); }
.holdlabel { padding:0 2px 6px; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.holdlabel .holdname { font-size:10.5px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; color:#f8e6b8; text-shadow:0 1px 3px rgba(0,0,0,.9); }
.holdlabel .holdval { font-size:10px; font-weight:800; color:#ffd76a; text-shadow:0 1px 2px rgba(0,0,0,.9); font-variant-numeric:tabular-nums; white-space:nowrap; background:rgba(255,215,106,.12); border:1px solid rgba(255,215,106,.28); padding:2px 8px; border-radius:999px; }
.progwrap { display:flex; align-items:center; gap:8px; padding:0; }
.progbar { flex:1; height:18px; background:linear-gradient(180deg,#0d0906,#201609 60%,#140e07); border:1px solid rgba(212,175,55,.4); border-radius:10px; overflow:hidden; position:relative; box-shadow:inset 0 3px 7px rgba(0,0,0,.85), inset 0 -1px 0 rgba(255,255,255,.05); }
.progbar::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(90deg, transparent 0 calc(25% - 1px), rgba(255,255,255,.09) calc(25% - 1px) 25%); z-index:1; pointer-events:none; }
.progfill { height:100%; border-radius:9px; position:relative; transition:width .4s ease; overflow:hidden; background:linear-gradient(180deg,#fff6cf 0%,#ffd75e 38%,#e9a825 68%,#a06a10 100%); box-shadow:0 0 12px rgba(255,205,80,.5), inset 0 -2px 3px rgba(120,70,0,.4), inset 0 2px 2px rgba(255,255,255,.6); }
.progfill::before { content:''; position:absolute; top:0; bottom:0; width:44px; left:-60px; background:linear-gradient(100deg, rgba(255,255,255,0), rgba(255,255,255,.55), rgba(255,255,255,0)); animation:holdShine 2.8s linear infinite; }
@keyframes holdShine { 0% { left:-60px; } 55%,100% { left:110%; } }
.progfill::after { content:''; position:absolute; left:0; right:0; top:0; height:48%; background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,0)); border-radius:9px 9px 0 0; pointer-events:none; }
.progbar.full .progfill { animation:holdGlow 1.6s ease-in-out infinite; }
@keyframes holdGlow { 0%,100% { box-shadow:0 0 10px rgba(255,205,80,.55), inset 0 -2px 3px rgba(120,70,0,.4), inset 0 2px 2px rgba(255,255,255,.6); } 50% { box-shadow:0 0 22px rgba(255,238,170,1), inset 0 -2px 3px rgba(120,70,0,.4), inset 0 2px 2px rgba(255,255,255,.6); } }
.fleetwrap { margin:10px 14px 4px; }
.fleettitle { font-size:11px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; color:#f8e6b8; margin:2px 2px 7px; text-shadow:0 1px 3px rgba(0,0,0,.8); }
.fleet { display:flex; flex-direction:column; gap:8px; }
.fleetrow { display:flex; align-items:center; gap:10px; background:rgba(12,14,20,.55); border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:8px 10px; }
.fleetrow img { width:58px; height:58px; object-fit:contain; filter:drop-shadow(0 3px 6px rgba(0,0,0,.5)); flex-shrink:0; }
.fleetrow .fname { font-size:12.5px; font-weight:800; color:#f3e9d2; }
.fleetrow .fdesc { font-size:10.5px; color:#9a8a6a; margin-top:2px; }
.landarrow { flex-shrink:0; width:28px; height:28px; border-radius:50%; border:1px solid rgba(255,255,255,.15); background:rgba(10,10,16,.55); color:#f0d68a; font-size:16px; font-weight:800; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.landarrow:active { transform:scale(.9); }
.landarrow:disabled { opacity:.3; cursor:default; }

/* ---------- боковые стрелки листания набегов на главном экране ---------- */
.sidearrow { position:absolute; top:50%; transform:translateY(-50%); z-index:7; width:44px; height:44px; border-radius:50%; border:1px solid rgba(212,175,55,.45); background:rgba(10,8,5,.5); color:#f0d68a; font-size:26px; font-weight:800; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; backdrop-filter:blur(2px); box-shadow:0 2px 8px rgba(0,0,0,.45); padding:0 0 3px; }
.sidearrow.left { left:8px; }
.sidearrow.right { right:8px; }
.sidearrow:active { transform:translateY(-50%) scale(.9); }
.sidearrow:disabled { opacity:.25; cursor:default; }
.sidearrow.hidden { display:none; }

/* ---------- герой ---------- */
.hero-stage { position:relative; z-index:3; flex:1 1 auto; min-height:0; width:100%; display:flex; align-items:flex-end; justify-content:center; touch-action:pan-y; }
.hero-ground { position:absolute; bottom:8px; left:50%; transform:translateX(-50%); width:180px; height:26px; background:radial-gradient(ellipse, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 72%); z-index:2; }

/* --- многослойный герой: тело + рука с молотом + наплечник (общий холст 700x700) --- */
.hero-rig { position:relative; z-index:3; width:100px; height:100px; /* размер задаёт JS: квадрат по высоте сцены */
  filter: drop-shadow(0 18px 22px rgba(0,0,0,.55)); transform-origin:50% 100%;
  animation:none; }
/* Calm idle: unchanged sprite, planted feet, no lateral sway or rotation. */
.hero-rig .hs-idle, .hero-rig .hs-blink {
  transform-origin:50% 99.24%;
  animation:vikingCalmBreath 4.8s ease-in-out infinite;
}
@keyframes vikingCalmBreath {
  0%,100% { transform:scaleY(1); }
  42% { transform:scaleY(1.025); }
  85% { transform:scaleY(1); }
}
.hero-rig.fr .hs-blink { opacity:0!important; }
@media (prefers-reduced-motion:reduce) {
  .hero-rig .hs-idle, .hero-rig .hs-blink { animation:none; }
}
.hero-rig .hs, .hero-rig .hl { position:absolute; inset:0; width:100%; height:100%; max-width:none; max-height:none; object-fit:fill; filter:none; pointer-events:none; }
.hero-rig .hl { opacity:0; transition:none; }                          /* мгновенная смена кадров без просвечивания фона */
.hero-rig.fr .hs-idle { opacity:0; transition:none; }
.hero-rig .hf.on { opacity:1; }
.hero-rig .hl-wrap { position:absolute; inset:0; transform-origin:50% 100%; }
/* удар: анимация внутри спрайтов, без лишнего кручения контейнера */
.hero-rig.swing .hl-wrap { animation:none; }
/* простой: моргание, перенос веса, «нетерпеливый» жест — управляются JS */
.hero-rig .hs-blink { opacity:0; transition: opacity .05s; }
.hero-rig .hs-blink.on { opacity:1; }
.hero-rig.tap .hl-wrap { animation: tapBob .7s ease-in-out both; }
@keyframes tapBob { 0%,100% { transform: none; } 35% { transform: translateY(-3px); } 55% { transform: translateY(3px) scaleY(.985); } }
.ground-crack { position:absolute; left:70%; top:96%; width:34%; height:auto; transform: translate(-50%,-50%) scale(.3); opacity:0; pointer-events:none; }
.ground-crack.on { animation: crackShow .6s ease-out 1; }
@keyframes crackShow { 0% { transform: translate(-50%,-50%) scale(.3); opacity:0; } 15% { transform: translate(-50%,-50%) scale(1); opacity:.7; } 60% { opacity:.4; } 100% { transform: translate(-50%,-50%) scale(1.02); opacity:0; } }
.dust { position:fixed; width:10px; height:10px; border-radius:50%; background: radial-gradient(circle, rgba(214,190,150,.95), rgba(160,130,90,.6) 60%, rgba(120,90,60,0)); z-index:55; pointer-events:none; }
.shard { position:fixed; width:6px; height:6px; background:#8a7a66; border-radius:1px; z-index:56; pointer-events:none; box-shadow: inset 1px 1px 0 rgba(255,255,255,.35); }
/* мягкая локальная вспышка только в точке удара молота, без слепящего белого пересвета */
.hit-flash { position:absolute; left:70%; top:94%; width:16%; height:8%; transform:translate(-50%,-50%) scale(0); opacity:0; pointer-events:none;
  background: radial-gradient(ellipse, rgba(255,210,90,.85) 0%, rgba(255,140,30,.35) 45%, rgba(255,100,0,0) 70%); }
.hit-flash.on { animation: hitFlash .16s ease-out 1; }

@keyframes stageShake { 0%,100% { transform: translate(0,0); } 30% { transform: translateY(1.5px); } 70% { transform: translateY(-1px); } }
@keyframes hitFlash { 0% { transform: translate(-50%,-50%) scale(.4); opacity:.85; } 100% { transform: translate(-50%,-50%) scale(1.05); opacity:0; } }

/* летящие значки золота (создаются в JS) */
.fly-coin { position:fixed; width:22px; height:22px; z-index:60; pointer-events:none; filter: drop-shadow(0 2px 3px rgba(0,0,0,.5)); }
#gold-amount.bump { animation: goldBump .35s ease-out 1; display:inline-block; }
@keyframes goldBump { 0% { transform: scale(1); } 40% { transform: scale(1.25); color:#ffe27a; } 100% { transform: scale(1); } }

/* ---------- клад / сбор ---------- */
.loot-zone { position:relative; z-index:6; margin:-20px 16px calc(14px + 64px + env(safe-area-inset-bottom)) 16px; flex-shrink:0; }
.loot-card { background: linear-gradient(135deg, rgba(40,26,10,.92), rgba(20,14,8,.95)); border:1.5px solid #d4a946; border-radius:18px; padding:10px 14px; box-shadow: 0 8px 24px rgba(0,0,0,.5), 0 0 20px rgba(212,169,70,.15); display:flex; align-items:center; justify-content:space-between; gap:10px; }
.loot-info .lbl { font-size:8.5px; color:#c9a96a; text-transform:uppercase; letter-spacing:1px; }
.loot-info .num { font-size:19px; font-weight:900; color:#f8e6a8; text-shadow:0 0 10px rgba(248,230,168,.5); }
.collectbtn { padding:10px 18px; border:none; border-radius:13px; font-weight:900; font-size:13px; letter-spacing:.5px; background: linear-gradient(180deg,#8bd17a,#4a9a3a); color:#0e2a08; box-shadow:0 4px 0 #2e6320, 0 6px 14px rgba(74,154,58,.4); cursor:pointer; display:flex; align-items:center; gap:6px; }
.collectbtn img { width:16px; }
.collectbtn:not(:disabled) { animation: pulse 1.8s ease-in-out infinite; }
.collectbtn:disabled { opacity:.4; filter:grayscale(.6); cursor:default; animation:none; }
.collectbtn:active:not(:disabled) { transform:translateY(2px); }

.daily-cap-wrap { display:flex; align-items:center; gap:8px; margin-top:7px; padding:0 2px; }
.daily-cap-line { flex:1; height:4px; background:rgba(255,255,255,.10); border-radius:99px; overflow:hidden; box-shadow:inset 0 1px 2px rgba(0,0,0,.4); }
.daily-cap-fill { height:100%; width:0; background:linear-gradient(90deg,#f0c05a,#d4842a); border-radius:99px; box-shadow:0 0 6px rgba(240,192,90,.55); transition:width .3s ease; }
.daily-cap-fill.full { background:linear-gradient(90deg,#e0793a,#c94a3a); box-shadow:0 0 6px rgba(224,121,58,.5); }
.daily-cap-text { font-size:9px; font-weight:700; color:#b7a684; white-space:nowrap; letter-spacing:.2px; }
@keyframes pulse { 0%,100%{ transform:scale(1);} 50%{ transform:scale(1.045);} }

/* ---------- быстрый доступ ---------- */
.quicklinks { position:relative; z-index:6; display:flex; gap:8px; margin:10px 16px calc(10px + 64px + env(safe-area-inset-bottom)); flex-shrink:0; }
.qlink { flex:1; display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:13px; background: linear-gradient(135deg, rgba(30,24,16,.85), rgba(16,12,8,.9)); border:1px solid #4a3a20; cursor:pointer; }
.qlink img { width:26px; height:26px; object-fit:cover; border-radius:6px; }
.qlink .qt { font-size:11px; font-weight:800; color:#f0e0b8; }
.qlink .qs { font-size:8.5px; color:#9a8a6a; }
.qlink .arrow { margin-left:auto; color:#8a7a5a; font-size:12px; }

/* ---------- нижняя навигация ---------- */
.navbar { position:absolute; bottom:0; left:0; right:0; z-index:10; display:flex; background:linear-gradient(180deg,#1c1710,#100c07); border-top:1px solid #3a2e1a; padding:8px 6px calc(6px + env(safe-area-inset-bottom)); }
.navitem { flex:1; display:flex; flex-direction:column; align-items:center; gap:2px; padding:4px 0; position:relative; cursor:pointer; }
.navitem .ic { font-size:19px; opacity:.55; }
.navitem .t { font-size:8.5px; color:#7a6a4a; font-weight:600; }
.navitem.active .ic { opacity:1; filter:drop-shadow(0 0 6px #d4a94688); }
.navitem.active .t { color:#f0d68a; }
.navcenter { width:52px; height:52px; border-radius:50%; margin-top:-22px; background: linear-gradient(180deg,#f4b93f,#c9791f); border:3px solid #1c1710; display:flex; align-items:center; justify-content:center; font-size:22px; box-shadow:0 4px 12px rgba(0,0,0,.5); cursor:pointer; }
.navcenter:active { transform:scale(.94); }

/* ---------- вкладки (снаряжение) ---------- */
.tabs { position:relative; z-index:5; display:flex; gap:6px; margin:12px 14px 10px; }
.tab { flex:1; text-align:center; padding:8px 4px; font-size:11px; font-weight:700; color:#8a7a5a; background:rgba(255,255,255,.03); border:1px solid #33291a; border-radius:10px; cursor:pointer; }
.tab.active { color:#1a1408; background:linear-gradient(180deg,#f0d68a,#d4a946); border-color:#8a6a2a; }
.bld-chip { display:inline-block; font-size:16px; opacity:.35; filter:grayscale(1); }
.bld-chip.done { opacity:1; filter:none; }
.bld-chip.nextup { opacity:.85; filter:none; animation:pulse-next 1.4s ease-in-out infinite; }
.bld-arrow { display:inline-block; font-size:10px; color:#5a4e38; margin:0 3px; }
@keyframes pulse-next { 0%,100%{transform:scale(1);} 50%{transform:scale(1.18);} }

.scroll { position:relative; z-index:5; height:calc(100% - 220px); overflow-y:auto; padding:0 14px 14px; -webkit-overflow-scrolling:touch; }
.scroll::-webkit-scrollbar { display:none; }
#screen-main .scroll { height:auto; }
#screen-heroes.screen.active, #screen-ship.screen.active, #screen-lands.screen.active { display:flex; flex-direction:column; }
#screen-heroes .scroll, #screen-ship .scroll, #screen-lands .scroll { flex:1; height:auto; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; padding-bottom:76px; }
#screen-heroes .scroll::-webkit-scrollbar, #screen-ship .scroll::-webkit-scrollbar, #screen-lands .scroll::-webkit-scrollbar { display:none; }

.slot-title { font-size:11px; color:#a99a78; text-transform:uppercase; letter-spacing:1px; margin:10px 2px 7px; font-weight:700; }

/* ---------- карточки (общие: gear + heroes) ---------- */
.card { display:flex; align-items:center; gap:11px; background: linear-gradient(135deg, rgba(42,32,18,.85), rgba(24,18,10,.92)); border:1px solid #4a3a1e; border-radius:14px; padding:10px; margin-bottom:9px; position:relative; overflow:hidden; }
.card.equipped { border-color:#8bd17a; box-shadow:0 0 14px rgba(139,209,122,.18); }
.card.locked { opacity:.5; }
.card.rare { border-color:#3a6fa0; } .card.epic { border-color:#8a4fc9; } .card.legendary { border-color:#d4a946; box-shadow:0 0 14px rgba(212,169,70,.25); }
.card .rarity-glow { position:absolute; top:-30px; right:-30px; width:90px; height:90px; border-radius:50%; filter:blur(20px); opacity:.35; pointer-events:none; }
.card.rare .rarity-glow { background:#3a8fd0; } .card.epic .rarity-glow { background:#a860e0; } .card.legendary .rarity-glow { background:#e8bc50; }

.itemicon { width:58px; height:58px; border-radius:12px; flex-shrink:0; background:radial-gradient(circle at 50% 35%, rgba(255,255,255,.1), rgba(0,0,0,.35)); border:1px solid rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; padding:6px; position:relative; }
.itemicon img { width:100%; height:100%; object-fit:contain; }

.portrait { width:58px; height:58px; border-radius:12px; flex-shrink:0; position:relative; background:radial-gradient(circle at 50% 30%, rgba(255,255,255,.08), rgba(0,0,0,.3)); border:1px solid rgba(255,255,255,.08); overflow:hidden; }
.portrait img { width:92px; height:92px; object-fit:cover; object-position:center 12%; margin:-10px 0 0 -17px; }
.lvl-badge { position:absolute; bottom:-3px; right:-3px; background:#1a1408; border:1px solid #d4a946; color:#f0d68a; font-size:9px; font-weight:800; padding:1px 5px; border-radius:8px; }

.info { flex:1; min-width:0; }
.info .name { font-size:13px; font-weight:800; color:#f0e6c8; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.info .name-row { display:flex; align-items:center; gap:5px; }
.stars { font-size:9px; } .stars .on{color:#f0d68a;} .stars .off{color:#3a2f1c;}
.info .sub, .info .stat { font-size:10px; color:#9a8a6a; margin:2px 0 5px; } .info .sub b, .info .stat.gold { color:#8bd17a; }
.info .stat.gold { color:#f0d68a; }
.equipped-badge { font-size:9px; color:#8bd17a; font-weight:800; margin-top:3px; }
.mini-bar { height:6px; background:#0d0a06; border-radius:4px; overflow:hidden; border:1px solid #2a2010; }
.mini-fill { height:100%; border-radius:4px; transition:width .3s ease; }
.common .mini-fill{background:linear-gradient(90deg,#7a9a6a,#a0c78a);} .rare .mini-fill{background:linear-gradient(90deg,#3a7fc0,#6fb0e8);}
.epic .mini-fill{background:linear-gradient(90deg,#8a4fc9,#c088ea);} .legendary .mini-fill{background:linear-gradient(90deg,#d4a946,#f4dc90);}

.upbtn, .actbtn { flex-shrink:0; display:flex; flex-direction:column; align-items:center; justify-content:center; width:68px; height:52px; border-radius:11px; border:none; background:linear-gradient(180deg,#3a6b32,#254a20); color:#d8f0c8; box-shadow:0 2px 0 #16300f; cursor:pointer; font-size:10.5px; font-weight:800; }
.upbtn .cost, .actbtn .cost { font-size:11px; font-weight:800; }
.upbtn .lbl2, .actbtn small { font-size:8px; opacity:.75; text-transform:uppercase; margin-top:1px; }
.upbtn.maxed, .actbtn.locked-btn { background:linear-gradient(180deg,#4a3a1e,#2e2410); color:#a99a70; cursor:default; }
.actbtn.equip { background:linear-gradient(180deg,#3a6b32,#254a20); }
.actbtn.upgrade { background:linear-gradient(180deg,#4a90c4,#2f6694); color:#e0f0ff; box-shadow:0 2px 0 #1e435f; }
.upbtn:active:not(.maxed), .actbtn:active:not(.locked-btn) { transform:translateY(1px); }

/* ---------- сводка героев ---------- */
.summary { position:relative; z-index:5; margin:12px 14px 10px; background:linear-gradient(90deg, rgba(58,42,16,.55), rgba(30,22,10,.4)); border:1px solid #5a441f; border-radius:14px; padding:9px 14px; display:flex; justify-content:space-between; }
.summary .lbl { font-size:9px; color:#a9926a; text-transform:uppercase; letter-spacing:.5px; }
.summary .val { font-size:15px; font-weight:800; color:#f0e6c8; }
.summary .val.gr { color:#8bd17a; }

/* ---------- земли ---------- */
.hint-strip { position:relative; z-index:5; margin:8px 14px 0; font-size:10.5px; color:#d8c8a0; background:rgba(10,8,4,.5); border:1px solid rgba(255,255,255,.12); border-radius:10px; padding:7px 10px; }
.land-card { display:flex; align-items:center; gap:9px; margin-bottom:8px; padding:8px 10px; background: linear-gradient(135deg, rgba(30,18,8,.88), rgba(14,9,4,.92)); border:2px solid #6a4a20; border-radius:16px; position:relative; overflow:hidden; box-shadow: 0 6px 16px rgba(0,0,0,.4); }
.land-card.current { border-color:#d4a946; box-shadow:0 0 18px rgba(212,169,70,.3), 0 6px 16px rgba(0,0,0,.4); }
.land-card.locked { opacity:.5; filter:grayscale(.6); }
.land-card.cleared { border-color:#4a8a3a; }
.land-badge { width:64px; height:64px; border-radius:14px; flex-shrink:0; overflow:hidden; position:relative; border:1px solid rgba(255,255,255,.2); box-shadow:inset 0 0 12px rgba(0,0,0,.5); }
.land-badge img { width:100%; height:100%; object-fit:cover; }
.land-badge.locked-thumb img { filter:grayscale(.8) brightness(.5); }
.land-info { flex:1; min-width:0; color:#f0e6c8; }
.land-info .name { font-size:14px; font-weight:800; }
.land-info .desc { font-size:10px; color:#c9b98a; margin:2px 0 5px; }
.land-info .rewards { display:flex; gap:10px; font-size:10px; }
.land-info .rewards span { color:#8bd17a; font-weight:700; }
.land-info .rewards .silver { color:#b8d0e8; }
.land-action { flex-shrink:0; text-align:center; }
.goBtn { padding:9px 16px; border:none; border-radius:12px; background:linear-gradient(180deg,#d4842a,#a85f18); color:#fff8e0; font-weight:800; font-size:11px; box-shadow:0 3px 0 #6a3a0e; cursor:pointer; }
.goBtn.selected { background:linear-gradient(180deg,#4a8a3a,#2e5a20); box-shadow:0 3px 0 #16300f; }
.clearedTag { font-size:10px; color:#8bd17a; font-weight:800; }
.viewingTag { font-size:9px; color:#f0d68a; font-weight:800; margin-top:4px; cursor:pointer; text-decoration:underline; }
.lockTag { font-size:16px; color:#7a6a4a; }
.chip { position:absolute; top:8px; right:8px; font-size:8px; font-weight:800; padding:2px 7px; border-radius:8px; }
.chip.current { background:#d4a946; color:#2a1c0e; }

/* ---------- набеги и флот v2: секции, карточки, пилюли ---------- */
.lsec-title { display:flex; align-items:center; gap:8px; margin:14px 4px 8px; font-size:11px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:#f0d68a; text-shadow:0 1px 2px rgba(0,0,0,.8); }
.lsec-title::before, .lsec-title::after { content:''; flex:1; height:1px; background:linear-gradient(90deg, transparent, rgba(212,169,70,.5), transparent); }
.lsec-title span { padding:0 4px; white-space:nowrap; }
.land-card.v2 { align-items:center; padding:8px 10px; gap:9px; }
.land-card.v2 .desc { font-size:10px; margin:2px 0; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.thumb-frame { position:relative; width:54px; flex-shrink:0; border-radius:10px; overflow:hidden; border:2px solid rgba(212,169,70,.55); box-shadow:0 4px 12px rgba(0,0,0,.5), inset 0 0 10px rgba(0,0,0,.4); }
.land-card.v2.current .thumb-frame { border-color:#ffd76a; box-shadow:0 0 14px rgba(255,215,106,.4), 0 4px 12px rgba(0,0,0,.5); }
.thumb-frame img { width:100%; height:54px; object-fit:cover; display:block; }
.thumb-frame.locked-thumb img { filter:grayscale(.8) brightness(.5); }
.thumb-num { position:absolute; top:3px; left:3px; width:15px; height:15px; border-radius:50%; background:rgba(10,8,4,.75); border:1px solid rgba(212,169,70,.6); color:#f0d68a; font-size:9px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.l-head { display:flex; align-items:center; justify-content:space-between; gap:6px; }
.l-pill { font-size:8px; font-weight:800; padding:3px 8px; border-radius:999px; letter-spacing:.4px; white-space:nowrap; }
.l-pill.gold { background:linear-gradient(180deg,#ffd76a,#d4982a); color:#2a1c0e; box-shadow:0 1px 4px rgba(255,200,80,.4); }
.l-pill.green { background:linear-gradient(180deg,#8bd17a,#4a8a3a); color:#0e2a0e; }
.l-pill.gray { background:rgba(255,255,255,.1); color:#c9b98a; border:1px solid rgba(255,255,255,.15); }
.l-chips { display:flex; flex-wrap:wrap; gap:4px; margin-top:3px; }
.l-chips span { font-size:8px; font-weight:700; color:#cfe8c8; background:rgba(10,14,8,.6); border:1px solid rgba(139,209,122,.3); padding:1px 6px; border-radius:999px; }
.l-chips span.lvl { color:#f0d68a; border-color:rgba(212,169,70,.4); background:rgba(20,14,6,.6); }
.mini-prog { height:5px; border-radius:4px; background:rgba(0,0,0,.55); border:1px solid rgba(212,175,55,.3); margin-top:6px; overflow:hidden; }
.mini-fill { height:100%; background:linear-gradient(180deg,#fff6cf,#e9a825); border-radius:3px; box-shadow:0 0 6px rgba(255,205,80,.5); transition:width .4s ease; }
.mini-txt { font-size:8px; color:#9a8a6a; margin-top:3px; }

/* ---------- Набеги: точный компактный вариант B ---------- */
#screen-lands { background:linear-gradient(180deg,#2a2018,#171008); }
#screen-lands > .bgmap, #screen-lands > .bgshade { display:none; }
#screen-lands .hint-strip { background:none; border:0; padding:0; margin:10px 14px 0; font-size:10px; color:#b9a886; }
#screen-lands #lands-list { padding:14px 14px 90px; }
.lands-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; align-items:stretch; }
.gcard { min-width:0; border-radius:14px; overflow:hidden; background:linear-gradient(180deg,#3a2c1c,#241a10); border:1px solid #d4a94633; box-shadow:0 4px 12px #0006; font-family:Nunito,system-ui,sans-serif; }
.gcard.current { border-color:#d4a94688; }
.gcard .im { display:block; position:relative; width:100%; height:86px; padding:0; margin:0; border:0; border-radius:0; background:#241a10; text-align:left; font:inherit; }
.gcard button.im { cursor:pointer; }
.gcard .im img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.gcard .im .shade { position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(15,10,5,.9)); pointer-events:none; }
.gcard .im .thumb-num { position:absolute; top:5px; left:5px; width:18px; height:18px; border-radius:6px; background:#0a0804bf; border:1px solid #d4a94688; color:#f0d68a; font-weight:800; font-size:9.5px; display:grid; place-items:center; }
.gcard .im .l-pill { position:absolute; top:5px; right:5px; margin:0; font-size:8px; font-weight:800; padding:2px 7px; border:0; border-radius:999px; letter-spacing:0; box-shadow:none; }
.gcard .im .l-pill.gold { background:#d4a946ee; color:#241a06; }
.gcard .im .l-pill.green { background:#2f7d32ee; color:#d8f0d0; }
.gcard .im .l-pill.gray { background:#0008; color:#c9bd9a; }
.gcard .im .n { position:absolute; left:7px; right:7px; bottom:5px; color:#fff8e0; font-weight:800; font-size:11.5px; line-height:1.15; text-shadow:0 1px 4px #000; }
.gcard .bd { padding:7px 8px 8px; }
.gcard .inc { font-size:9.5px; line-height:1.35; font-weight:800; color:#cfe8c8; margin-bottom:5px; }
.gcard .inc.muted { color:#a99a78; }
.gcard .mini-prog { height:5px; margin:0 0 4px; border:0; border-radius:99px; background:#ffffff14; overflow:hidden; }
.gcard .mini-fill { display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,#f0c05a,#d4842a); box-shadow:0 0 6px #f0c05a88; }
.gcard .mini-txt { font-size:8.5px; color:#a99a78; margin:0 0 8px; }
.gcard .land-action { margin:0; text-align:left; }
.gcard .raid-btn { display:inline-block; max-width:100%; padding:6px 8px; border:0; border-radius:999px; font:800 9.5px/1.25 Nunito,system-ui,sans-serif; color:#fff8e0; background:linear-gradient(180deg,#d4842a,#a85f18); box-shadow:0 3px 8px #0006,inset 0 1px 0 #ffffff33; cursor:pointer; }
.gcard .raid-btn.secondary { width:100%; background:linear-gradient(180deg,#4a3a24,#332717); color:#d8c8a0; border:1px solid #d4a94633; cursor:default; }
.gcard button:focus-visible { outline:2px solid #ffd76a; outline-offset:-2px; }
.gcard .raid-btn:active:not(:disabled) { transform:translateY(1px); }
.gcard.locked .im img { filter:grayscale(.9) brightness(.5); }
.viewlink { color:#f0d68a; font-weight:800; cursor:pointer; text-decoration:underline; }
.pill-btn { border:none; border-radius:999px; padding:7px 10px; background:linear-gradient(180deg,#d4842a,#a85f18); color:#fff8e0; font-weight:800; font-size:10px; box-shadow:0 3px 0 #6a3a0e, 0 4px 10px rgba(0,0,0,.35); cursor:pointer; white-space:nowrap; }
.pill-btn small { font-weight:700; font-size:8.5px; opacity:.95; }
.pill-btn.buy { background:linear-gradient(180deg,#4a9a3a,#2e6a22); box-shadow:0 3px 0 #16300f, 0 4px 10px rgba(0,0,0,.35); }
.pill-btn:active { transform:translateY(1px); }
.lockTag.big { font-size:22px; }

/* ---------- флот v2: крупные корабли ---------- */
.fleetrow.v2 { padding:8px 10px; gap:9px; align-items:center; background:linear-gradient(135deg, rgba(30,18,8,.88), rgba(14,9,4,.92)); border:2px solid rgba(106,74,32,.9); border-radius:16px; box-shadow:0 6px 16px rgba(0,0,0,.4); }
.fleetrow.v2.current { border-color:#d4a946; box-shadow:0 0 18px rgba(212,169,70,.3), 0 6px 16px rgba(0,0,0,.4); }
.fleetrow.v2.owned { border-color:rgba(74,138,58,.8); }
.fleetrow.v2.lockedrow { opacity:.55; }
.fleetrow.v2 .ship-frame { width:58px; height:58px; flex-shrink:0; border-radius:10px; border:2px solid rgba(212,169,70,.4); background:radial-gradient(circle at 50% 60%, rgba(60,80,120,.35), rgba(8,10,16,.6)); display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:inset 0 0 12px rgba(0,0,0,.5); }
.fleetrow.v2 .ship-frame img { width:52px; height:52px; object-fit:contain; filter:drop-shadow(0 4px 6px rgba(0,0,0,.55)); }
.fleetrow.v2.lockedrow .ship-frame img { filter:grayscale(.8) brightness(.6); }
.ship-body { flex:1; min-width:0; }
.s-head { display:flex; align-items:center; justify-content:space-between; gap:6px; }
.ship-action { flex-shrink:0; text-align:center; }
.fleetdesc { margin:2px 14px 8px; color:#9a8a6a; font-size:11px; }
.chip.new { background:#d64545; color:#fff; }

/* ---------- toast ---------- */
#toast { position:fixed; left:50%; bottom:110px; transform:translate(-50%, 20px); z-index:999; background:rgba(20,14,8,.95); border:1px solid #d4a946; color:#f8e6b8; font-size:12px; font-weight:700; padding:10px 18px; border-radius:12px; opacity:0; pointer-events:none; transition:all .25s ease; box-shadow:0 6px 18px rgba(0,0,0,.5); white-space:nowrap; }
#toast.show { opacity:1; transform:translate(-50%, 0); }


/* ==== css/idle-linked-v1.css ==== */
/* Approved idle: rigid head/chest/arms. Never stretch the sprite. */
.hero-rig .hs-idle, .hero-rig .hs-blink { animation:none!important; transform:none; }
.hero-rig .hs-blink { transition:none; }
.hero-rig .linked-idle { position:absolute; inset:0; visibility:hidden; pointer-events:none; }
.hero-rig .linked-idle img,
.hero-rig .linked-idle .li-lift,
.hero-rig .linked-idle .li-turn { position:absolute; inset:0; width:100%; height:100%; max-width:none; max-height:none; object-fit:fill; pointer-events:none; }
.hero-rig.linked-ready .hs-idle { opacity:0; visibility:hidden; }
.hero-rig.linked-ready:not(.fr) .linked-idle { visibility:visible; }
.hero-rig.linked-ready .li-lift { animation:linkedChestLift 4.8s ease-in-out infinite; }
.hero-rig.linked-ready .li-weapon { transform-origin:21% 58.86075949%; animation:linkedWeaponTurn 4.8s ease-in-out infinite; }
.hero-rig.linked-ready .li-free { transform-origin:76.42857143% 60.63291139%; animation:linkedFreeTurn 4.8s ease-in-out infinite; }
.hero-rig.linked-ready .li-head { transform-origin:53.71428571% 53.92405063%; animation:linkedHeadTurn 4.8s ease-in-out infinite; }
/* Strike frames own the image while .fr is present. Reset idle, don't blend. */
.hero-rig.fr .linked-idle .li-lift,
.hero-rig.fr .linked-idle .li-turn { animation:none!important; }
@keyframes linkedChestLift {
  0%,85%,100% { transform:translateY(0); }
  42% { transform:translateY(-0.3797468354%); }
}
@keyframes linkedWeaponTurn {
  0%,2.5%,87.5%,100% { transform:rotate(0deg); }
  44.5% { transform:rotate(3deg); }
}
@keyframes linkedFreeTurn {
  0%,2.5%,87.5%,100% { transform:rotate(0deg); }
  44.5% { transform:rotate(-6deg); }
}
@keyframes linkedHeadTurn {
  0%,1.2%,86.2%,100% { transform:rotate(0deg); }
  43.2% { transform:rotate(-0.9deg); }
}
@media (prefers-reduced-motion:reduce) {
  .hero-rig.linked-ready .linked-idle .li-lift,
  .hero-rig.linked-ready .linked-idle .li-turn { animation:none!important; }
}

/* ==== css/cargo-a.css ==== */

.raid-daily{position:relative;z-index:5;flex-shrink:0;margin:10px 14px 0;padding:8px 10px 9px;border:1px solid #e3c37322;border-radius:11px;background:linear-gradient(90deg,#17170de8,#18221ed9);box-shadow:0 2px 8px #0003}
.rd-row{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#f0e8ce;font-size:10px;font-weight:650;margin-bottom:6px}.rd-row b{font-size:10px;color:#d4efb0;font-variant-numeric:tabular-nums;white-space:nowrap}.rd-row small{color:#b0b3a2;font-size:9px;font-weight:500}.rd-track{height:4px;border-radius:20px;background:#0006;overflow:hidden}.rd-track i{display:block;height:100%;background:linear-gradient(90deg,#769d42,#d3ec97);border-radius:20px}
.loot-zone{margin:-8px 12px 82px;flex-shrink:0}.cargo{position:relative;isolation:isolate;border-radius:18px;box-shadow:0 8px 25px #0008,inset 0 1px 0 #ffffff18;overflow:hidden}.cargo:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 6% 30%,#f9bb5824,transparent 58%)}
.ship-art{object-fit:contain;filter:drop-shadow(0 5px 6px #0009)}.cargo-label{font-size:10px;color:#e6c994;letter-spacing:.1px}.cargo-amount{display:flex;align-items:center;gap:5px;font-size:26px;line-height:1.16;font-weight:850;color:#fff0bb;font-variant-numeric:tabular-nums;text-shadow:0 2px 8px #0004}.cargo-amount img{width:23px;height:23px;object-fit:contain}.cargo-meta{display:flex;justify-content:space-between;gap:5px;font-size:9px;color:#caba98}.cargo-meta b{color:#f5d17b;font-size:10px}.cargo-track{height:5px;border-radius:20px;background:#0006;overflow:hidden;box-shadow:inset 0 1px 2px #000a}.cargo-track i{display:block;height:100%;width:62%;background:linear-gradient(90deg,#c28125,#ffda76);border-radius:20px}.cargo-btn{position:relative;border:1px solid #ffe5a288;border-radius:11px;cursor:pointer;font-family:inherit;font-weight:850;letter-spacing:.5px;color:#422404;background:linear-gradient(#ffdf87 0%,#f5b84b 55%,#e69424 100%);box-shadow:inset 0 1px 0 #fff7c8,0 3px 0 #8d4e14,0 6px 14px #0004;display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px}.cargo-btn img{width:22px;height:22px;object-fit:contain}.cargo-btn:after{content:'›';position:absolute;right:13px;font-size:23px;line-height:1;color:#744414}.cargo-btn:active{transform:translateY(2px)}
.variant-a{padding:10px 12px 12px;border:1px solid #b2853f;background:linear-gradient(130deg,#332817f5,#191810fa)}.cargo-overview{display:flex;gap:9px;align-items:center;margin-bottom:9px}.ship-wrap{width:82px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#ffc55024,transparent 72%)}.variant-a .ship-art{width:92px;height:80px}.cargo-data{flex:1;min-width:0}.cargo-head{display:flex;justify-content:space-between;align-items:center}.cargo-badge{font-size:9px;font-weight:800;color:#f7d883;background:#d9b15518;border:1px solid #d9b15533;border-radius:7px;padding:2px 5px}.variant-a .cargo-amount{margin:2px 0 7px}.variant-a .cargo-meta{margin-top:5px}.variant-a .cargo-btn{width:100%;font-size:12px}.variant-a .cargo-btn:after{right:14px}
/* Production bindings: keep layout and effects isolated to the approved cargo card. */
.topbar,.reswrap,.stats3,.raid-daily{flex-shrink:0}
.cargo-btn:disabled{opacity:.5;cursor:default}.cargo-track.full i{background:linear-gradient(90deg,#da952b,#ffe39c)}
.rd-track .daily-cap-fill.full{background:linear-gradient(90deg,#e0793a,#c94a3a)}
.loot-zone{margin-bottom:calc(82px + env(safe-area-inset-bottom))}

/* ==== css/compact-main.css ==== */

.stats3{padding-top:8px;gap:7px}.statcard{min-width:0;display:grid;align-items:center;padding:5px 7px;border-radius:11px;grid-template-columns:34px minmax(0,1fr);grid-template-rows:32px 12px;column-gap:2px;row-gap:0}
.statcard img.ic{grid-column:1;grid-row:1;width:32px;height:32px;margin:0;justify-self:center}.statcard .num{grid-column:2;grid-row:1;font-size:14px;white-space:nowrap;letter-spacing:-.3px;text-align:center}.statcard .lbl{grid-column:1 / -1;grid-row:2;font-size:9px;line-height:12px;text-transform:none;letter-spacing:0;color:#d0c4a7;margin:0;white-space:nowrap}.statcard:nth-child(2) .num{font-size:12px}.statcard.highlight{border-color:#b1d7786b}
.raid-daily{margin-top:7px;padding:6px 9px 7px}.rd-row{margin-bottom:5px}.loot-zone{margin-bottom:calc(76px + env(safe-area-inset-bottom));margin-top:-6px}.cargo-amount{white-space:nowrap}.cargo-btn{min-height:40px;font-size:11.5px}.cargo-btn img{width:20px;height:20px}
@media(max-width:350px){.stats3{gap:5px;padding-left:10px;padding-right:10px}.statcard{padding-left:5px;padding-right:5px;grid-template-columns:27px minmax(0,1fr)}.statcard img.ic{width:27px;height:27px}.statcard .num{font-size:12px}.statcard:nth-child(2) .num{font-size:10px}.statcard .lbl{font-size:8px}.cargo-label{font-size:9px}}

.variant-a{padding:8px 10px 10px;border-radius:15px}.cargo-overview{gap:8px;margin-bottom:6px}.ship-wrap{width:61px}.variant-a .ship-art{width:69px;height:48px}.cargo-label{font-size:10px}.cargo-badge{font-size:8px;padding:1px 4px}.variant-a .cargo-amount{font-size:23px;line-height:27px;margin:1px 0 4px;gap:4px}.cargo-amount img{width:21px;height:21px}.variant-a .cargo-meta{margin:0 0 0 auto;font-size:9px;font-weight:500;color:#c5b99b;white-space:nowrap;align-self:center}.variant-a .cargo-track{height:4px}.variant-a .cargo-btn{font-size:11.5px;min-height:40px;border-radius:10px}.cargo-overview .cargo-data{min-width:0}.variant-a .cargo-head{height:13px}
@media(max-width:350px){.ship-wrap{width:48px}.variant-a .ship-art{width:55px}.variant-a .cargo-amount{font-size:21px}.variant-a .cargo-meta{font-size:8px}.cargo-overview{gap:5px}}

/* ==== css/raid-navigation.css ==== */

.loot-zone{margin-top:4px}.bgimg{transition:none}.scene-next{z-index:0;will-change:transform,opacity}.bgshade{pointer-events:none}.hero-rig{will-change:transform}.hero-ground{bottom:1px;width:165px;height:19px;opacity:.85;background:radial-gradient(ellipse,#09070599 5%,#130e0633 48%,transparent 73%)}
.new-dock{position:absolute;bottom:0;left:0;right:0;z-index:20;border-top:1px solid #b5944f69;background:linear-gradient(180deg,#2c271e,#171912 46%,#0f120e);box-shadow:0 -5px 22px #0007,inset 0 1px 0 #ffffff0b;padding-bottom:env(safe-area-inset-bottom);font-family:inherit}
.new-dock button{font-family:inherit;-webkit-tap-highlight-color:transparent;cursor:pointer;border:0;background:none;padding:0;color:#d8c9a6;min-width:0}.dock-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;position:relative}.dock-icon{display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 2px #0009)}.dock-icon img,.dock-icon svg{width:29px;height:29px;object-fit:contain}.dock-label{font-size:9px;line-height:10px;font-weight:650;white-space:nowrap}.dock-item.active{color:#fff0b5;background:linear-gradient(180deg,#ddae4222,transparent);border-radius:10px}.dock-item.active:after{content:'';position:absolute;bottom:3px;width:16px;height:2px;border-radius:5px;background:#ebc874}.dock-item:active{transform:translateY(1px)}
.dock-home{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;position:relative;font-size:9px;font-weight:800;line-height:12px;padding-bottom:5px!important;color:#fce2a1!important}.home-medallion{width:50px;height:50px;display:grid;place-items:center;margin-top:-12px;border:2px solid #ffe6a1;border-radius:17px;background:linear-gradient(150deg,#ffe7a0,#e6b044 54%,#9d6320);box-shadow:0 3px 0 #5b3c1c,0 0 0 4px #171a12,0 -1px 18px #ecb34b2b;color:#493416}.home-medallion svg{width:29px;height:29px}.dock-home:active .home-medallion{transform:translateY(2px)}
.dock-seven{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 1.15fr repeat(3,minmax(0,1fr));height:calc(66px + env(safe-area-inset-bottom));padding:4px 4px 0}.dock-seven .dock-item{padding-bottom:5px}.dock-seven .dock-label{font-size:8px;line-height:9px}.dock-seven .dock-icon img,.dock-seven .dock-icon svg{width:27px;height:27px}.dock-seven .home-medallion{width:47px;height:47px}
.dock-grouped{height:calc(92px + env(safe-area-inset-bottom));padding:0 8px}.dock-main{display:grid;grid-template-columns:1fr 1fr 1.1fr 1fr 1fr;height:59px}.dock-main .dock-label{font-size:9px}.dock-main .dock-icon img,.dock-main .dock-icon svg{width:29px;height:29px}.dock-main .dock-item[data-page=ship] .dock-label{font-size:8px;line-height:8px}.dock-finance{display:flex;gap:8px;padding:3px 4px 5px;border-top:1px solid #c3a96924;height:32px}.dock-finance .dock-item{flex:1;flex-direction:row;gap:6px;border:1px solid #d5bd7930;border-radius:8px;background:linear-gradient(#fff2c208,#fff2c203)}.dock-finance .dock-label{font-size:10px}.dock-finance .dock-icon img,.dock-finance .dock-icon svg{width:18px;height:18px}.dock-finance .dock-item:after{display:none}.dock-finance .dock-item[data-page=deposit]{color:#cee3aa}.dock-finance .dock-item[data-page=withdraw]{color:#e7c895}
body.menu-1 .loot-zone{margin-bottom:calc(82px + env(safe-area-inset-bottom))}body.menu-2 .loot-zone{margin-bottom:calc(108px + env(safe-area-inset-bottom))}
.preview-sheet{position:absolute;left:12px;right:12px;bottom:120px;z-index:40;background:#202318f5;border:1px solid #ac914e;border-radius:18px;padding:20px;text-align:center;box-shadow:0 10px 30px #0009}.preview-sheet[hidden]{display:none}.preview-sheet h2{font-size:18px;color:#f4d790;margin-bottom:8px}.preview-sheet p{font-size:12px;line-height:1.5;color:#cfccb9}.preview-sheet button{margin-top:15px;border:1px solid #c4a052;border-radius:9px;background:#493c24;color:#ffedbe;padding:8px 25px;font-family:inherit}
@media(max-width:350px){.dock-seven .dock-label{font-size:7px;line-height:8px}.dock-seven .dock-icon img,.dock-seven .dock-icon svg{width:24px;height:24px}.dock-seven .home-medallion{width:42px;height:44px;border-radius:14px}.dock-seven .home-medallion svg{width:26px}.dock-home{font-size:8px}.dock-main .dock-label{font-size:8px}}
@media(prefers-reduced-motion:reduce){.scene-next,.hero-rig{will-change:auto}}

.home-medallion{background:linear-gradient(145deg,#355c45,#172d25 60%,#0c211d);border-color:#e5bd65;box-shadow:0 3px 0 #614723,0 0 0 4px #171a12,0 -1px 18px #ecb34b2b}.home-medallion svg{width:44px;height:44px;filter:drop-shadow(0 2px 2px #0008)}.dock-seven .home-medallion svg{width:40px;height:40px}

#app>.new-dock{z-index:30} .new-dock [aria-current=page]{color:#fff0b5}.new-dock .dock-home:not([aria-current=page]) .home-medallion{filter:saturate(.75)}
.screen>.scroll{padding-bottom:calc(108px + env(safe-area-inset-bottom))}#toast{bottom:calc(112px + env(safe-area-inset-bottom))}
.service-screen{background:radial-gradient(ellipse at top,#384331,#151c13 75%)}.service-card{margin:30px 8px;padding:28px 20px;border:1px solid #eac87540;background:#ffffff05;border-radius:20px;text-align:center}.service-card .dock-icon{margin:auto;width:80px;height:80px}.service-card .dock-icon img,.service-card .dock-icon svg{width:72px;height:72px}.service-card h2{font-size:21px;color:#edd493;margin:15px 0 10px}.service-card p{font-size:14px;line-height:1.65;color:#c9ceb9}.service-status{display:inline-block;margin-top:20px;padding:7px 20px;border-radius:20px;color:#c5b38c;background:#d2af5212;border:1px solid #d2af5230;font-size:12px}.service-screen .backbtn{background:none;border:0;color:inherit;font:inherit;font-size:28px}

/* ==== css/weather.css ==== */
/* Atmospheric layers are confined to scenery, below the fixed hero and HUD. */
#screen-main.raid-weather-ready { isolation:isolate; overflow:hidden; }
.raid-scene-layer { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.raid-scene-layer.scene-next { z-index:0; will-change:transform; }
.raid-scene-layer .bgimg { transition:none; }
.raid-weather-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
#screen-main.raid-weather-ready > .bgshade { z-index:1; pointer-events:none; }
#raid-travel-fx { position:absolute; inset:0; width:100%; height:100%; z-index:2; pointer-events:none; }
@media(prefers-reduced-motion:reduce) { .raid-scene-layer { will-change:auto; } }

/* ==== css/locked-raids.css ==== */
/* Closed raids may be previewed; only scenery and the hero change appearance. */
.raid-scene-layer { transition:filter .22s ease; }
.raid-is-locked .raid-scene-layer { filter:brightness(.48) saturate(.42); }
.raid-is-locked #hero-rig,.raid-is-locked .hero-ground { visibility:hidden; opacity:0!important; pointer-events:none; }
.raid-is-locked #hero-rig * { visibility:hidden!important; }
.raid-lock { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:126px; height:144px; z-index:4; display:grid; place-items:center; pointer-events:none; }
.raid-lock[hidden] { display:none; }
.raid-lock::before { content:''; position:absolute; width:164px; height:164px; border-radius:50%; background:radial-gradient(ellipse,#d7a23d1c,transparent 68%); }
.raid-lock svg { width:110px; height:136px; position:relative; filter:drop-shadow(0 12px 13px #0009); }
.raid-is-locked .cargo-btn { opacity:.5; cursor:not-allowed; filter:saturate(.4); }
/* покупка карты прямо со слайда — под иконкой замка */
.lock-buy { position:absolute; top:calc(50% + 86px); left:50%; transform:translateX(-50%); z-index:5; white-space:nowrap; padding:11px 22px; border-radius:14px; border:1px solid #f6da9c; background:linear-gradient(#e9c577,#b98a3e); color:#2b1d08; font:800 15px/1 Nunito,sans-serif; box-shadow:0 8px 18px #0007; cursor:pointer; pointer-events:auto; }
.lock-buy[hidden] { display:none; }
.lock-buy:disabled { opacity:.55; cursor:not-allowed; }
@media(max-height:700px) { .lock-buy { top:calc(50% + 72px); padding:9px 16px; font-size:13px; } }

/* кнопка «Начать набег» в locked-notice (главный экран и трюм) — золотая */
.locked-notice .crew-btns .crewbtn,
.locked-notice .upbtn.crewbtn {
  background: linear-gradient(180deg, #e9c577, #b98a3e) !important;
  color: #2b1d08 !important;
  border: 1px solid #f6da9c !important;
  box-shadow: 0 4px 12px #0006 !important;
  font-size: 13px;
  height: auto;
  min-height: 46px;
  padding: 9px 14px;
  width: 100%;
  border-radius: 13px;
  flex-direction: row;
  gap: 8px;
}
.locked-notice .crew-btns .crewbtn .cost,
.locked-notice .upbtn.crewbtn .cost {
  font-size: 12px;
  opacity: .8;
}
.locked-notice .crew-btns .crewbtn .lbl2,
.locked-notice .upbtn.crewbtn .lbl2 {
  font-size: 14px;
  font-weight: 900;
  opacity: 1;
  text-transform: none;
  margin: 0;
}
/* экипажи карт: кнопки найма */
.crew-card { flex-wrap:wrap; }
.crew-card .info { flex:1 1 150px; min-width:0; }
.crew-card .info .name { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; display:block; }
.crew-btns { display:flex; gap:6px; margin-top:8px; flex-wrap:wrap; flex:1 1 100%; }
.crew-btns .crewbtn { flex:1 1 auto; min-width:74px; padding:8px 6px; }
.land-action { display:flex; gap:6px; flex-wrap:wrap; }
/* переключатель карты внутри разделов «Викинги» и «Трюм корабля» */
.map-switch { display:flex; align-items:center; gap:8px; margin:0 0 10px; padding:6px; border-radius:14px; background:#1b2230cc; border:1px solid #d8b45a33; }
.map-switch .ms-name { flex:1; text-align:center; color:#f8e6b8; font:800 15px/1.2 Nunito,sans-serif; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.map-switch .ms-name span { color:#d8b45a; font-weight:700; margin-left:4px; }
.map-switch .ms-btn { width:38px; height:38px; border-radius:11px; border:1px solid #d8b45a55; background:#2a2214; color:#f8e6b8; font:800 22px/1 Nunito,sans-serif; cursor:pointer; }
.map-switch .ms-btn:disabled { opacity:.35; cursor:default; }
.crew-track { height:6px; margin-top:6px; border-radius:4px; background:#0006; overflow:hidden; }
.crew-track i { display:block; height:100%; background:linear-gradient(90deg,#8bd17a,#d8b45a); }
.cargo.hold-full .cargo-label { color:#ffb08a; }
.land-action .raid-btn.secondary { background:#2a3346; color:#cdd7ea; border:1px solid #3d4a63; }
@media(max-height:700px) { .raid-lock { width:100px;height:118px; } .raid-lock svg { width:88px;height:108px; } }
/* Раздел «Набеги»: суммарная добыча за день, без связи с трюмом корабля */
.raids-daily-sum{margin:10px 14px 2px;padding:10px 12px;border-radius:12px;background:#1b2230cc;border:1px solid #d8b45a33;color:#f8e6b8;font-size:13px;line-height:1.35;text-align:center}
.raids-daily-sum b{color:#ffd977}
.raids-daily-sum .muted{display:block;margin-top:3px;color:#9aa7bd;font-size:11px}
@media(prefers-reduced-motion:reduce) { .raid-scene-layer { transition:none; } }

/* ==== css/crew.css ==== */
/* ===== Экран «Викинги»: 5 викингов на карту, общий лимит мест ===== */
.crew-screen .scroll { padding-bottom:200px; }

/* главная: две широкие карточки вместо трёх */
.stats3.stats2 { gap:8px; }
.stats3.stats2 .statcard { flex:1 1 0; }
.stats3.stats2 .statcard .num { font-size:15px; }
.stats3.stats2 .statcard .lbl #land-income { color:#9fe08a; font-weight:800; }
.stats3.stats2 .statcard { grid-template-columns:54px minmax(0,1fr); grid-template-rows:46px 13px; padding:5px 9px 6px; }
.stats3.stats2 .statcard img.ic { width:52px; height:52px; margin:-3px 0 -3px; }
.stats3.stats2 .statcard img.ship-ic { width:58px; height:46px; object-fit:contain; }
.stats3.stats2 .statcard .num { font-size:18px; }
.stats3.stats2 .statcard .lbl { font-size:10px; line-height:13px; }
/* блок трюма: сундук с золотом вместо корабля */
.variant-a .ship-art.chest-art { width:50px; height:50px; margin:-2px 0; }
@media (max-width:350px) {
  .stats3.stats2 .statcard { grid-template-columns:44px minmax(0,1fr); grid-template-rows:40px 12px; }
  .stats3.stats2 .statcard img.ic { width:44px; height:44px; }
  .stats3.stats2 .statcard img.ship-ic { width:48px; height:40px; }
  .stats3.stats2 .statcard .num { font-size:15px; }
  .variant-a .ship-art.chest-art { width:46px; height:46px; }
}

/* карточка викинга */
.crew-unit { --tier:#9aa7a0; --tier2:#56625c; position:relative; display:grid; grid-template-columns:78px minmax(0,1fr); grid-template-rows:auto auto;
  column-gap:10px; row-gap:8px; margin:0 0 10px; padding:10px; border-radius:16px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--tier2) 38%,#161310) 0%,#15120ef0 62%);
  border:1px solid color-mix(in srgb,var(--tier) 55%,transparent); box-shadow:0 8px 18px #0007, inset 0 1px 0 #ffffff12; }
.crew-unit.tier-1 { --tier:#a7b3a9; --tier2:#5b6b61; }
.crew-unit.tier-2 { --tier:#6fb6ff; --tier2:#2b5a8a; }
.crew-unit.tier-3 { --tier:#c68cff; --tier2:#5b3a8a; }
.crew-unit.tier-4 { --tier:#ffa84f; --tier2:#8a4a1c; }
.crew-unit.tier-5 { --tier:#ffd965; --tier2:#8a6a18; }

.cu-art { grid-row:1 / span 2; position:relative; width:78px; height:92px; border-radius:13px; overflow:hidden;
  background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--tier) 55%,transparent) 0%,transparent 70%),linear-gradient(180deg,#221c14,#0e0c09);
  border:1px solid color-mix(in srgb,var(--tier) 60%,transparent); }
.cu-art img { position:absolute; left:50%; bottom:-2px; width:96px; height:96px; transform:translateX(-50%); object-fit:contain; filter:drop-shadow(0 4px 5px #000a); }
.cu-tier { position:absolute; left:5px; top:5px; min-width:22px; padding:2px 5px; border-radius:8px; text-align:center;
  background:linear-gradient(180deg,var(--tier),var(--tier2)); color:#140f06; font:900 11px/1.2 Nunito,sans-serif; box-shadow:0 2px 5px #0008; }

.cu-body { min-width:0; }
.cu-head { display:flex; align-items:center; justify-content:space-between; gap:6px; }
.cu-name { color:#fff1cf; font:900 16px/1.15 Nunito,sans-serif; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cu-have { flex:none; padding:3px 8px; border-radius:10px; background:#0007; border:1px solid color-mix(in srgb,var(--tier) 45%,transparent); color:#fff; font:800 12px/1.1 Nunito,sans-serif; }
.cu-role { margin-top:2px; color:#b9aa86; font:600 11px/1.25 Nunito,sans-serif; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cu-stats { display:flex; gap:6px; margin-top:6px; flex-wrap:wrap; }
.cu-stats span { padding:3px 7px; border-radius:8px; background:#0006; font:800 12px/1.15 Nunito,sans-serif; white-space:nowrap; }
.cu-inc { color:#9fe08a; }
.cu-cost { color:#ffd98a; }

.cu-btns { grid-column:2; display:grid; grid-template-columns:1fr 1fr 1.35fr; gap:6px; }
.cu-btn { min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; padding:6px 4px; border-radius:11px; cursor:pointer;
  border:1px solid #f3d48f; background:linear-gradient(180deg,#f0cf7f,#b98a3e); color:#2b1d08; box-shadow:0 3px 0 #6b4a1c, 0 5px 10px #0006; }
.cu-btn b { font:900 13px/1.1 Nunito,sans-serif; white-space:nowrap; }
.cu-btn small { font:800 10.5px/1.1 Nunito,sans-serif; opacity:.85; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.cu-btn.max { background:linear-gradient(180deg,#9be27f,#4f9a3d); border-color:#c8f3a8; color:#0f2408; box-shadow:0 3px 0 #2b5a20, 0 5px 10px #0006; }
.cu-btn:active { transform:translateY(2px); box-shadow:0 1px 0 #6b4a1c; }
.cu-btn.off { filter:grayscale(.75) brightness(.7); box-shadow:0 2px 0 #3a2c14; }

/* кнопка «Начать набег» под замком: без золота — приглушена, но нажимается (подсказка) */
.lock-buy.poor { filter:grayscale(.5) brightness(.8); }

@media (max-width:350px) {
  .crew-unit { grid-template-columns:64px minmax(0,1fr); column-gap:8px; padding:8px; }
  .cu-art { width:64px; height:80px; }
  .cu-art img { width:80px; height:80px; }
  .cu-name { font-size:14px; }
  .cu-btn b { font-size:12px; }
  .cu-btn small { font-size:9.5px; }
}

/* ==== css/arsenal.css ==== */
@font-face{font-family:Nunito;src:url('../fonts/nunito-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Nunito;src:url('../fonts/nunito-600.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Nunito;src:url('../fonts/nunito-700.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:Nunito;src:url('../fonts/nunito-800.ttf') format('truetype');font-weight:800;font-display:swap}@font-face{font-family:Nunito;src:url('../fonts/nunito-900.ttf') format('truetype');font-weight:900;font-display:swap}
/* Clip only horizontal transparent sprite-canvas overflow; keep hammer room above. */
.obsidian #hero-stage{overflow-x:clip;overflow-y:visible}
/* The new locked offer already has a vignette; do not double-darken scenery with the old lock filter. */
.obsidian #screen-main.raid-is-locked .raid-scene-layer{filter:brightness(.88) saturate(.9)}
body.obsidian{font-family:Nunito,system-ui,sans-serif;--a-bg:#21211e;--a-panel:#2f2e28;--a-line:#565144;--a-ink:#f4efdf;--a-muted:#b3aa94;--a-gold:#eac27d;--a-green:#bfd2a0;background:#171816;color:var(--a-ink)}
.obsidian button{font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.obsidian button:disabled{cursor:default;opacity:.43}.obsidian [hidden]{display:none!important}
.obsidian .screen:not(#screen-main){background:linear-gradient(145deg,#3e3d38,#272724)}.obsidian .screen:not(#screen-main)>.bgimg,.obsidian .screen:not(#screen-main)>.bgshade{display:none}
.obsidian .screen.active:not(#screen-main){display:flex;flex-direction:column;padding-bottom:calc(108px + env(safe-area-inset-bottom));overflow:hidden}
.obsidian .screen:not(#screen-main) .topbar{flex:0 0 62px;padding:10px 16px;gap:10px}.obsidian .pagetitle{color:var(--a-ink);font-size:18px;font-weight:900;text-shadow:none;white-space:nowrap}
.obsidian .backbtn{color:#d7d3bf;background:#45453e;border:1px solid #626053;border-radius:11px;width:32px;height:32px;font-size:24px;flex-shrink:0;display:grid;place-items:center}
.obsidian .goldmini{background:#393a33;border:1px solid #666350;border-radius:20px;padding:6px 9px;gap:5px;margin-left:auto}.obsidian .goldmini b{font-size:12px;font-weight:900;color:#f0dfb4}.obsidian .goldmini img{width:16px;height:16px;object-fit:contain}
.obsidian .screen>.scroll,.obsidian .crew-screen .scroll{height:auto;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;position:relative;padding:0 16px 22px;scrollbar-width:none}.obsidian .scroll::-webkit-scrollbar{display:none}
.obsidian #screen-ship>.hint-strip{display:none}
.obsidian .map-switch{margin:0 0 14px;padding:5px 0 11px;border:0;border-bottom:1px solid #58584b;border-radius:0;background:none;box-shadow:none;display:flex;align-items:center;gap:8px;min-height:44px}
.obsidian .ms-btn{flex:0 0 24px;width:24px;height:30px;background:none;border:0;color:#c2b38b;font-size:27px;padding:0}.obsidian .ms-name{flex:1;min-width:0;display:flex;align-items:center;gap:8px;text-align:left;font-weight:900;font-size:13px;color:var(--a-ink)}.obsidian .ms-name img{width:34px;height:28px;object-fit:cover;border-radius:7px}.obsidian .ms-name div{min-width:0}.obsidian .ms-name strong{font-weight:900;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obsidian .ms-name span{display:block;color:var(--a-muted);font-size:9px;font-weight:600;margin:1px 0 0}
.obsidian .a-summary{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0 0 14px;padding:12px 14px;background:linear-gradient(110deg,#46453e,#36372f);border:1px solid #64634f;border-radius:14px;text-align:left;box-shadow:none}
.obsidian .a-summary>div{padding:0;background:none;border:0;border-radius:0}.obsidian .a-summary>div+div{padding-left:20px;border-left:1px solid #64634f}.obsidian .a-summary .lbl{font-size:9px;font-weight:700;text-transform:none;color:var(--a-muted);letter-spacing:0}.obsidian .a-summary .val{font-size:21px;font-weight:900;color:var(--a-ink);margin-top:3px}.obsidian .a-summary .val.gr{color:var(--a-green)}
.a-heading{display:flex;align-items:baseline;justify-content:space-between;gap:5px;margin:15px 0 10px}.a-heading h2{font-size:15px;font-weight:900;color:var(--a-ink)}.a-heading small{font-size:9px;color:var(--a-muted)}
.a-selector{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0 0 12px}.a-selector button{height:91px;position:relative;padding:5px 2px 4px;min-width:0;background:#3e4038;border:1px solid #62634f;border-radius:12px;color:#b8b29b;font-size:8px;font-weight:800;line-height:1.1}.a-selector img{width:100%;height:52px;object-fit:contain;filter:drop-shadow(0 3px 3px #0005)}.a-selector span{display:block;white-space:nowrap;font-size:8px;letter-spacing:-.15px}.a-selector b{display:block;font-size:8px;opacity:.75;margin-top:3px}.a-selector button.selected{background:linear-gradient(#70604a,#4c4437);border-color:#d6b681;color:#f7dfb4;box-shadow:inset 0 1px 0 #e4be7633}
.a-focus{position:relative;isolation:isolate;text-align:center;border-radius:21px;padding:12px;background:radial-gradient(ellipse at 50% 34%,#9a947429,transparent 70%),linear-gradient(135deg,#48483e,#33352d);border:1px solid #6d6a54;overflow:hidden}
.a-focus:before{content:'';position:absolute;width:190px;height:190px;left:50%;top:14px;transform:translateX(-50%);border:1px solid #bdb59c27;box-shadow:0 0 0 20px #bdb59c08,0 0 0 40px #bdb59c05;border-radius:50%;z-index:-1;pointer-events:none}
.a-focus-art{width:100%;height:165px;object-fit:contain;display:block;filter:drop-shadow(0 8px 10px #0006);margin:0 auto 8px}
.a-focus h2{font-size:25px;font-weight:900;line-height:1.16;letter-spacing:-.4px;color:#f4edda}.a-count{font-size:10px;color:var(--a-muted);margin-top:4px;line-height:1.35}
.a-focus-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #646652;border-bottom:1px solid #646652;margin:12px 0;padding:10px 0}.a-focus-stats>div+div{border-left:1px solid #646652}.a-focus-stats label{display:block;font-size:9px;color:var(--a-muted);margin-bottom:3px}.a-focus-stats b{font-size:20px;color:var(--a-green);font-weight:900}.a-focus-stats b small{font-size:10px;font-weight:700}.a-focus-stats>div+div b{color:#ebc690}.a-focus-stats .a-old{color:#9da991}
.a-buys{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:6px}.a-buy{border:1px solid #706c57;background:#504f42;color:#e7e6d5;border-radius:11px;height:48px;padding:5px 2px}.a-buy b,.a-buy small{display:block;white-space:nowrap}.a-buy b{font-size:13px;font-weight:900}.a-buy small{font-size:9px;color:#b3b297;margin-top:3px}
.obsidian .a-primary{background:linear-gradient(#f1d197,#d1a458);border:1px solid #f5dca2;color:#3b2c18;box-shadow:inset 0 1px 0 #ffedbd99,0 2px 0 #89672f;border-radius:11px;font-weight:900}.a-primary small{color:#68502c}.a-upgrade{display:block;width:100%;min-height:46px;font-size:13px;padding:10px 6px}.a-tip{text-align:center;margin:10px 0 0;font-size:10px;line-height:1.5;color:var(--a-muted)}
.a-eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:900;color:var(--a-gold)}.a-ship-focus .a-focus-art{height:138px;margin-top:3px}.a-ship-focus .a-count{min-height:27px}.a-ship-focus h2{font-size:26px}
.a-ship-progress{padding:12px 13px;background:#3a3e32;border:1px solid #666a52;border-radius:14px}.a-ship-progress>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--a-muted)}.a-ship-progress b{color:var(--a-ink);font-size:11px;white-space:nowrap}.a-progress{height:5px;background:#565c46;border-radius:6px;overflow:hidden;margin:8px 0}.a-progress i{height:100%;display:block;background:var(--a-gold);border-radius:6px}.a-link{display:block;border:0;background:none;color:var(--a-gold);font-size:10px;margin-left:auto;font-weight:800;padding:3px}
.obsidian .locked-notice{display:block;padding:20px 16px;text-align:center;margin:10px 0;background:#302f27;border-color:#655b41;color:#ddd0af}.obsidian .locked-notice .name-row{justify-content:center}.obsidian .locked-notice .sub{margin:10px 0;line-height:1.6;color:var(--a-muted)}.obsidian .locked-notice .crew-btns{margin-top:12px}.obsidian .locked-notice button{background:linear-gradient(#f1d197,#d1a458);border-color:#ecd095;color:#332615}
.a-service-lead{text-align:center;margin:13px 0 18px}.a-service-lead h2{font-size:25px;font-weight:900;margin:7px 0;color:#f4edda}.a-service-lead p{font-size:12px;line-height:1.7;color:var(--a-muted)}.a-service-status{display:inline-block;padding:5px 11px;border:1px solid #ac90574a;border-radius:20px;background:#8d713622;color:#dfc890;font-size:10px;margin-bottom:8px}
.a-friends-art{height:167px;display:flex;justify-content:center;align-items:end;background:radial-gradient(ellipse at 50% 65%,#9497673b,transparent 70%);margin-bottom:10px}.a-friends-art img{width:95px;height:139px;object-fit:contain;filter:drop-shadow(0 8px 8px #0005)}.a-friends-art img:nth-child(2){height:157px;width:112px;z-index:2;margin:0 -12px}
.a-service-card{background:#393c31;border:1px solid #60644f;border-radius:17px;padding:16px;margin:12px 0}.a-service-card h3{font-size:14px;font-weight:900;margin:0 0 9px}.a-feature{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #69664c40;font-size:12px}.a-feature:last-child{border:0;padding-bottom:0}.a-feature svg{width:22px;height:22px;flex-shrink:0;color:#d4c599}.a-feature .a-feature-gold{width:26px;height:26px;flex-shrink:0;object-fit:contain}.a-feature span{flex:1;font-weight:800}.a-feature small{font-size:10px;color:var(--a-muted)}
.a-balance{padding:18px 20px;border:1px solid #79754f;background:linear-gradient(135deg,#55543f,#363b2c);border-radius:18px;margin-top:5px}.a-balance label{font-size:10px;color:var(--a-muted);font-weight:800}.a-balance b{display:block;font-size:32px;font-weight:900;color:#f8e6bd;margin:3px 0}.a-balance b.a-gold-balance{display:flex;align-items:center;gap:8px}.a-gold-balance img{width:30px;height:30px;object-fit:contain}.a-balance small{font-size:10px;color:var(--a-muted)}.a-finance-art{display:grid;place-items:center;width:72px;height:72px;margin:22px auto 8px;border:1px solid #c6aa7150;border-radius:23px;background:linear-gradient(130deg,#b3914b33,#31342800);color:#e4c78c}.a-finance-art svg{height:34px;width:34px}.a-service-note{font-size:10px;line-height:1.6;color:var(--a-muted);padding:13px;border:1px solid #62694c;background:#343a2b;border-radius:12px;margin-top:14px}.a-unavailable{display:block;width:100%;padding:13px;background:#485039;color:#c3c8ac;border:1px solid #6c7851;border-radius:11px;font-size:12px;font-weight:900;margin-top:13px}.a-disabled-field{display:block;width:100%;background:#2d3425;border:1px dashed #7b8461;border-radius:10px;padding:13px;color:#b3ba9c;font-size:11px;margin:10px 0}.a-details-row{display:flex;justify-content:space-between;border-bottom:1px solid #5d644841;padding:11px 0;font-size:11px;color:var(--a-muted)}
.a-ref-link{display:block;width:100%;background:#2d3425;border:1px dashed #7b8461;border-radius:10px;padding:11px;color:#e4c78c;font-size:11px;word-break:break-all;margin-bottom:11px}
.a-copy-btn{display:block;width:100%;padding:13px;background:linear-gradient(135deg,#f1d197,#d1a458);color:#3b2c18;border:none;border-radius:11px;font-size:12px;font-weight:900;cursor:pointer}
.a-copy-btn:active{filter:brightness(.92)}
.a-ref-transfer{display:block;width:100%;padding:15px;margin-top:13px;background:linear-gradient(135deg,#f1d197,#d1a458);color:#3b2c18;border:1px solid #e8cd96;border-radius:12px;font-size:13px;font-weight:900;cursor:pointer;box-shadow:0 4px 14px #d1a45840}
.a-ref-transfer:active{filter:brightness(.92)}
.a-ref-transfer.disabled,.a-ref-transfer:disabled{background:#485039;color:#8f9679;border-color:#5d6448;box-shadow:none;cursor:default}
.a-ref-coin{width:26px;height:26px;object-fit:contain;vertical-align:-5px;margin-left:9px}
.a-account-profile{text-align:center}.a-account-avatar{width:64px;height:64px;margin:2px auto 10px;border-radius:22px;border:1px solid #ceb67c7a;background:#b6a36f19;display:grid;place-items:center;color:#eed9aa}.a-account-avatar svg{width:32px;height:32px}.a-account-profile h3{margin:0;font-size:20px;font-weight:900;color:var(--a-ink)}.a-account-profile small{display:block;margin-top:5px;font-size:10px;color:var(--a-muted)}
.a-account-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px}.a-account-stats>div{min-width:0;padding:9px 8px;background:#242722;border:1px solid #535448;border-radius:11px}.a-account-stats small{display:block;font-size:9px;line-height:1.3;color:var(--a-muted)}.a-account-stats b{display:flex;align-items:center;gap:6px;font-size:16px;line-height:1.2;margin-top:4px;color:#f0d49a;font-weight:900;overflow-wrap:anywhere}.a-account-stats .a-stat-coin{width:18px;height:18px;object-fit:contain;flex-shrink:0}.a-account-stats em{display:block;font-style:normal;font-size:8px;color:#a8a48e;margin-top:3px}
.obsidian #toast{font-family:inherit;background:#302c20ef;color:#ffefc7;border-color:#b69a65}
@media(max-width:350px){.obsidian .screen:not(#screen-main) .topbar{padding-left:12px;padding-right:12px;gap:6px}.obsidian .pagetitle{font-size:16px}.obsidian .goldmini{padding:5px 7px}.obsidian .goldmini b{font-size:11px}.obsidian .screen>.scroll,.obsidian .crew-screen .scroll{padding-left:12px;padding-right:12px}.a-selector{gap:4px}.a-selector span{font-size:7px}.a-selector button{height:85px}.a-selector img{height:48px}.a-focus-art{height:145px}.a-focus h2{font-size:23px}.a-ship-focus .a-focus-art{height:130px}.a-focus-stats b{font-size:18px}.a-buy b{font-size:12px}.a-buy small{font-size:8px}.obsidian .a-summary .val{font-size:19px}}
.a-history-card{margin:14px 0 8px;padding:14px 11px;background:linear-gradient(140deg,#38382f,#2b2d27);border:1px solid #5b5a49;border-radius:15px;box-shadow:0 7px 18px #0002}.a-history-card h3{font-size:14px;font-weight:900;margin:0 0 11px;color:var(--a-ink)}.a-history-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px}.a-history-summary>div{min-width:0;padding:9px 8px;background:#242722;border:1px solid #535448;border-radius:11px}.a-history-summary small,.a-history-summary b,.a-history-summary em{display:block}.a-history-summary small{font-size:9px;line-height:1.3;color:var(--a-muted)}.a-history-summary b{font-size:17px;line-height:1.2;margin:4px 0;color:#f0d49a;font-weight:900;overflow-wrap:anywhere}.a-history-summary>div+div b{color:#cbd7a9}.a-history-summary em{font-size:8px;font-style:normal;color:#a8a48e}.a-history-caption{font-size:10px;font-weight:900;color:#ded4b9;margin:0 0 5px}.a-history-table-wrap{width:100%;overflow:hidden}.a-history-table{width:100%;table-layout:fixed;border-collapse:collapse}.a-history-table th{padding:6px 3px;text-align:left;font-size:8px;font-weight:800;color:#a8a48e}.a-history-table th:first-child,.a-history-table td:first-child{width:24%}.a-history-table th:nth-child(2),.a-history-table td:nth-child(2){width:46%}.a-history-table th:last-child,.a-history-table td:last-child{width:30%;text-align:right}.a-history-table td{padding:9px 3px;border-top:1px solid #55544670;vertical-align:middle;font-size:8px;color:#c7c2ad;overflow-wrap:anywhere}.a-history-table td:first-child{font-size:8px;color:#b6b09a;line-height:1.3}.a-history-table td:nth-child(2) b,.a-history-table td:nth-child(2) small{display:block}.a-history-table td:nth-child(2) b{font-size:11px;color:#f4efdf;line-height:1.25}.a-history-table td:nth-child(2) small{font-size:8px;color:#aaa58f;line-height:1.3;margin-top:3px}.a-history-status{display:inline-block;max-width:100%;padding:4px 6px;border-radius:20px;font-size:8px;font-weight:900;line-height:1.15;white-space:nowrap}.a-history-status.good{background:#8ba7612b;border:1px solid #a4c97866;color:#d2e5ad}.a-history-status.wait{background:#ba91442b;border:1px solid #dfb65e66;color:#f0d18f}.a-history-status.bad{background:#a8503c26;border:1px solid #b9776266;color:#e7aaa0}.a-history-empty{padding:15px 4px!important;text-align:center!important;color:var(--a-muted)!important;font-size:9px!important}.a-history-note{margin:9px 1px 0;color:#918d7d;font-size:8px;line-height:1.35}
@media(max-width:350px){.a-history-card{padding:12px 8px}.a-history-summary{gap:5px}.a-history-summary b{font-size:15px}.a-history-table th:first-child,.a-history-table td:first-child{width:23%}.a-history-table th:nth-child(2),.a-history-table td:nth-child(2){width:45%}.a-history-table th:last-child,.a-history-table td:last-child{width:32%}.a-history-status{padding:4px 5px;font-size:7px}}
/* ===== Account section: tabs, profile photo, leaderboard, community, language picker ===== */
.a-account-tabs{display:flex;gap:5px;margin:2px 0 12px;min-width:0}
.a-account-tab{flex:1 1 0;min-width:0;padding:10px 4px;background:#3e4038;border:1px solid #62634f;border-radius:11px;color:#b8b29b;font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-account-tab.a-account-tab-active{background:linear-gradient(#70604a,#4c4437);border-color:#d6b681;color:#f7dfb4;box-shadow:inset 0 1px 0 #e4be7633}
.a-account-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;display:block;margin:2px auto 10px;border:2px solid #ceb67c;background:#b6a36f19}
.a-lb-row{display:flex;align-items:center;gap:9px;padding:9px 6px;border-bottom:1px solid #5d644841;min-width:0;font-size:12px}
.a-lb-row:last-child{border-bottom:0}
.a-lb-rank{flex:0 0 26px;width:26px;text-align:center;font-weight:900;color:var(--a-gold);font-size:12px}
.a-lb-name{flex:1;min-width:0;font-weight:800;color:var(--a-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-lb-gold{flex-shrink:0;display:flex;align-items:center;gap:5px;font-weight:900;color:#f0d49a;font-size:12px}
.a-lb-gold img{width:18px;height:18px;object-fit:contain}
.a-lb-me{background:#4a4130;border:1px solid #a68a52;border-radius:10px;padding:8px 6px}
.a-lb-me .a-lb-name{color:#ffe9b8}
.a-lb-me-total{margin-top:10px}
.a-community-btn{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;min-width:0;padding:15px 14px;margin-top:10px;background:linear-gradient(135deg,#4a4a3c,#36382e);border:1px solid #7c7a5f;border-radius:13px;color:var(--a-ink);text-align:left}
.a-community-btn:first-of-type{margin-top:4px}
.a-community-btn span{font-size:14px;font-weight:900;overflow-wrap:anywhere}
.a-community-btn small{font-size:10px;font-weight:700;color:var(--a-gold)}
.a-community-btn:active{filter:brightness(1.12)}
.a-lang-list{display:flex;flex-direction:column;gap:6px;min-width:0}
.a-lang-row{display:flex;align-items:center;gap:11px;width:100%;min-width:0;padding:11px 12px;background:#2f3129;border:1px solid #565847;border-radius:11px;color:var(--a-ink);font-size:13px;font-weight:800;text-align:left}
.a-lang-flag{font-size:19px;line-height:1;flex-shrink:0}
img.a-lang-flag{width:26px;height:17px;border-radius:3px;object-fit:cover;font-size:0;background:#00000022}
.a-lang-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-lang-active{background:linear-gradient(#70604a,#4c4437);border-color:#d6b681;color:#f7dfb4;box-shadow:inset 0 1px 0 #e4be7633}
@media(max-width:350px){.a-account-tab{font-size:10px;padding:9px 2px}.a-lb-row{gap:6px;font-size:11px}.a-lb-rank{flex-basis:22px;width:22px}}
.a-account-profile h3,.a-account-profile small{overflow-wrap:anywhere;word-break:break-word}

/* ==== css/current-map-button.css ==== */
/* Compact premium return-to-current-raid action under the crew hint. */
.obsidian .a-return-map{
  width:100%;min-height:62px;margin:13px 0 4px;padding:9px 14px;
  display:flex;align-items:center;gap:12px;text-align:left;
  color:#f5e8c7;border:1px solid #d7b86d99;border-radius:16px;
  background:linear-gradient(115deg,#6b5634 0%,#4a432f 52%,#383b2f 100%);
  box-shadow:inset 0 1px 0 #fff2c72b,0 5px 14px #0004,0 0 18px #d0a84712;
  transition:transform .16s ease,filter .16s ease,border-color .16s ease;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation
}
.obsidian .a-return-map:active{transform:translateY(1px) scale(.99);filter:brightness(1.12);border-color:#f1d08c}
.obsidian .a-return-map-icon{width:39px;height:39px;flex:0 0 39px;display:grid;place-items:center;border:1px solid #e8cb8a66;border-radius:12px;background:linear-gradient(145deg,#f0d3942b,#c69a4b12);color:#f0d394}
.obsidian .a-return-map-icon svg{width:21px;height:21px;filter:drop-shadow(0 1px 2px #0005)}
.obsidian .a-return-map-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.obsidian .a-return-map-copy b{font-size:12px;font-weight:900;line-height:1.25;color:#fff0d0}
.obsidian .a-return-map-copy small{font-size:10px;font-weight:700;line-height:1.3;color:#d4c39f}
.obsidian .a-return-map-arrow{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border:1px solid #e8cb8a66;border-radius:50%;background:#f0d39417;font-size:20px;font-weight:900;line-height:1;color:#f4d99e;opacity:.96;margin:0;text-shadow:0 1px 4px #0008;transition:transform .18s ease}.obsidian .a-return-map:active .a-return-map-arrow{transform:translateY(2px)}
@media(max-width:350px){.obsidian .a-return-map{min-height:58px;padding:8px 11px;gap:9px}.obsidian .a-return-map-icon{width:35px;height:35px;flex-basis:35px}}

/* ==== css/section-side-arrows.css ==== */
/* Side map controls on the Vikings and ship screens, matching the main raid arrows. */
#screen-heroes>.scroll,#screen-ship>.scroll{touch-action:pan-y}
body.obsidian #screen-heroes .section-sidearrow,
body.obsidian #screen-ship .section-sidearrow{
  position:absolute;top:50%;z-index:40;transform:translateY(-50%);
  width:32px;height:44px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  padding:0 0 3px;background:rgba(42,40,34,.82);
  border:1px solid #99938b93;color:#e3ddca;
  font:800 26px/1 Nunito,system-ui,sans-serif;
  box-shadow:0 2px 8px #0005;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation
}
body.obsidian #screen-heroes .section-sidearrow.left,
body.obsidian #screen-ship .section-sidearrow.left{left:5px}
body.obsidian #screen-heroes .section-sidearrow.right,
body.obsidian #screen-ship .section-sidearrow.right{right:5px}
body.obsidian #screen-heroes .section-sidearrow:disabled,
body.obsidian #screen-ship .section-sidearrow:disabled{opacity:.28;cursor:default}
body.obsidian #screen-heroes .section-sidearrow:not(:disabled):active,
body.obsidian #screen-ship .section-sidearrow:not(:disabled):active{transform:translateY(-50%) scale(.94);background:rgba(99,84,54,.92)}
@media(max-width:350px){
  body.obsidian #screen-heroes .section-sidearrow,
  body.obsidian #screen-ship .section-sidearrow{width:29px;height:40px;font-size:23px}
  body.obsidian #screen-heroes .section-sidearrow.left,
  body.obsidian #screen-ship .section-sidearrow.left{left:3px}
  body.obsidian #screen-heroes .section-sidearrow.right,
  body.obsidian #screen-ship .section-sidearrow.right{right:3px}
}

/* ==== css/viking-modal.css ==== */
/* Vikings opens as a compact modal over the current map. */
#viking-backdrop{display:none}
body.viking-modal-open #viking-backdrop{
  display:block;position:fixed;left:0;right:0;bottom:0;
  top:calc(var(--ui-top-space,100px) + var(--ui-safe-top,0px));z-index:44;
  background:rgba(8,10,8,.14);backdrop-filter:none;-webkit-backdrop-filter:none
}
body.obsidian #screen-heroes.viking-popup{
  position:fixed;top:calc(var(--ui-top-space,100px) + var(--ui-safe-top,0px) + 6px);bottom:max(8px,env(safe-area-inset-bottom,0px));
  left:50%;right:auto;width:min(480px,calc(100vw - 16px));height:auto;
  transform:translateX(-50%);z-index:50;overflow:hidden;
  padding-top:calc(12px + env(safe-area-inset-top,0px))!important;
  padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;
  border:1px solid #d6bd7b99;border-radius:23px;
  box-shadow:0 8px 28px #0006,inset 0 1px 0 #fff2;
  background-color:#e9e2d1!important;
  background-image:
    radial-gradient(circle at 17% 23%,rgba(255,255,255,.32) 0 1px,transparent 1.5px),
    radial-gradient(circle at 73% 61%,rgba(117,94,55,.045) 0 1px,transparent 1.6px),
    repeating-linear-gradient(0deg,rgba(112,91,54,.025) 0 1px,transparent 1px 4px),
    linear-gradient(140deg,#f2ecdD 0%,#e2d8c1 52%,#eee6d3 100%)!important;
}
body.obsidian #screen-heroes.viking-popup .viking-modal-heading{color:#493d2a}
body.obsidian #screen-heroes.viking-popup .map-switch{background:rgba(248,244,231,.82);border-color:#8d7a5d66;box-shadow:0 2px 8px #51452b12}
body.obsidian #screen-heroes.viking-popup .ms-name strong{color:#433a2b;text-shadow:none}
body.obsidian #screen-heroes.viking-popup .ms-name span{color:#71654d;text-shadow:none}
body.obsidian #screen-heroes.viking-popup .ms-btn{color:#655638;text-shadow:none}
body.obsidian #screen-heroes.viking-popup .a-summary{background:rgba(250,247,237,.88)!important;border-color:#9e8964!important;box-shadow:0 4px 12px #51452b18}
body.obsidian #screen-heroes.viking-popup .a-summary .lbl{color:#685b43!important}
body.obsidian #screen-heroes.viking-popup .a-summary .val{color:#3f382a!important}
body.obsidian #screen-heroes.viking-popup .a-summary .val.gr{color:#567344!important}
body.obsidian #screen-heroes.viking-popup .a-heading h2{color:#403729;text-shadow:none}
body.obsidian #screen-heroes.viking-popup .a-heading small{color:#776a52}
body.obsidian #screen-heroes.viking-popup .a-selector button{background:rgba(248,244,231,.88);border-color:#9b8866;color:#514630;box-shadow:0 2px 7px #51452b12}
body.obsidian #screen-heroes.viking-popup .a-selector button.selected{background:linear-gradient(#f3dcae,#d8b978);border-color:#9d7a3e;color:#40311d;box-shadow:inset 0 1px 0 #fff5d699,0 3px 8px #59452220}
body.obsidian #screen-heroes.viking-popup .a-selector b{color:inherit}
body.obsidian #screen-heroes.viking-popup .a-focus{background:linear-gradient(145deg,rgba(62,61,51,.97),rgba(39,40,35,.97))!important;border-color:#7c765e;box-shadow:0 8px 20px #51452b25}
body.obsidian #screen-heroes.viking-popup .a-tip{color:#665a43;text-shadow:none}
body.obsidian #screen-heroes.viking-popup .viking-modal-heading{
  position:relative;z-index:5;flex:0 0 38px;height:38px;margin:0 14px 5px;
  display:flex;align-items:center;justify-content:center;
  border-bottom:1px solid #8d7a5d55;color:#493d2a
}
body.obsidian #screen-heroes.viking-popup .viking-modal-heading b{font-size:15px;font-weight:900;letter-spacing:.2px}
body.obsidian #screen-heroes.viking-popup .viking-modal-heading button{
  position:absolute;right:0;top:2px;width:32px;height:32px;padding:0;
  display:grid;place-items:center;border:1px solid #8d7a5d88;border-radius:10px;
  color:#58472c;background:rgba(255,250,236,.82);
  font:600 23px/1 Nunito,system-ui,sans-serif;-webkit-tap-highlight-color:transparent
}
body.obsidian #screen-heroes.viking-popup .viking-modal-heading button:active{background:rgba(220,190,120,.25);transform:scale(.95)}
body.obsidian #screen-heroes.viking-popup>.section-sidearrow{display:none!important}
body.obsidian #screen-heroes.viking-popup>.topbar{display:none!important}
@media(max-width:350px){
  body.obsidian #screen-heroes.viking-popup{width:calc(100vw - 10px);border-radius:19px}
  body.obsidian #screen-heroes.viking-popup .viking-modal-heading button{width:30px;height:30px;right:1px}
}
@media(prefers-reduced-motion:no-preference){
  body.obsidian #screen-heroes.viking-popup{animation:viking-modal-in .18s ease-out}
  @keyframes viking-modal-in{from{opacity:.75;transform:translate(-50%,8px) scale(.985)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
}

/* ==== css/obsidian-main.css ==== */
/* ORIGINAL «Обсидиан и янтарь» — main screen + shared dock only.
 * Source: battlesx-dark-palettes.html, body.amber (NOT glass revisions).
 * Load AFTER existing production CSS; enabled by body.obsidian.
 * No hero-stage / hero-rig / sprite / ground / weather geometry overrides.
 * Existing IDs, hidden attributes, animations and game handlers stay intact.
 * Parent integration: .arsenal-nav-main (4 buttons), .arsenal-nav-finance
 * (2 buttons); each icon inside .a-nav-icon; home button .a-nav-home.
 */
body.obsidian #screen-main,
body.obsidian .new-dock.dock-grouped {
  --om-ink: #f4efdf;
  --om-muted: #b3aa94;
  --om-accent: #eac27d;
  --om-income: #bfd2a0;
  --om-line: #565144;
  --om-dock-clearance: calc(112px + env(safe-area-inset-bottom, 0px));
  color: var(--om-ink);
}

/* One horizontal title / wallet / sound row, using the existing DOM.
 * The redundant income tile is hidden, not removed: #land-income remains
 * visible in the first stat card and #total-income stays available to JS. */
body.obsidian #screen-main > .topbar {
  height: calc(56px + env(safe-area-inset-top, 0px));
  padding: calc(12px + env(safe-area-inset-top, 0px)) 13px 10px;
  gap: 8px;
}
body.obsidian #screen-main > .topbar > .roundbtn[data-nav="soon"] {
  display: none;
}
body.obsidian #screen-main #world-name {
  min-width: 0;
  padding-right: 117px;
  text-align: left;
  font-size: 16px;
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: -.35px;
  color: #f4efdf;
  text-shadow: 0 1px 4px #171614a6;
  overflow-wrap: anywhere;
}
body.obsidian #screen-main #mute-btn {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #363330dc;
  border: 1px solid #80797177;
  color: #cdcbc8;
  font-size: 14px;
}
body.obsidian #screen-main > .reswrap {
  position: absolute;
  top: calc(13px + env(safe-area-inset-top, 0px));
  right: 51px;
  padding: 0;
  max-width: 116px;
  height: 30px;
  z-index: 6;
}
body.obsidian #screen-main .goldblock {
  gap: 5px;
  min-width: 0;
  max-width: 100%;
  padding: 5px 8px;
  border: 1px solid #837c7370;
  border-radius: 20px;
  background: #35322eed;
}
body.obsidian #screen-main .goldblock .coin {
  width: 19px;
  height: 19px;
  flex: none;
  filter: drop-shadow(0 2px 2px #0005);
}
body.obsidian #screen-main .goldblock .nums { min-width: 0; }
body.obsidian #screen-main .goldblock .nums b {
  font-size: 12px;
  line-height: 18px;
  color: var(--om-accent);
  text-shadow: none;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.obsidian #screen-main .totalincome { display: none; }

/* Keep scenery readable; do not recolor any scenery or character image. */
body.obsidian #screen-main > .bgshade {
  background: linear-gradient(180deg, #1e1c1a55, #22201e00 50%, #2c292618 74%, #23211ecc 100%);
}
body.obsidian #screen-main > .stats3 {
  padding: 4px 13px 0;
  gap: 8px;
}
body.obsidian #screen-main .statcard {
  min-width: 0;
  grid-template-columns: 45px minmax(0, 1fr);
  grid-template-rows: 30px 17px;
  column-gap: 5px;
  padding: 6px 8px;
  border-radius: 14px;
  background: linear-gradient(135deg, #4e4a45ed, #302e2bed);
  border: 1px solid #9a938b75;
  box-shadow: 0 4px 10px #251d1438;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.obsidian #screen-main .statcard img.ic {
  grid-column: 1;
  grid-row: 1 / 3;
  width: 44px;
  height: 44px;
  margin: 0;
  filter: drop-shadow(0 3px 4px #0005);
}
body.obsidian #screen-main .statcard .num {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  text-align: left;
  font-size: 20px;
  line-height: 26px;
  letter-spacing: -.6px;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  color: #e7e6e4;
}
body.obsidian #screen-main .statcard .lbl {
  grid-column: 2;
  grid-row: 2;
  text-align: left;
  color: var(--om-muted);
  font-size: 9px;
  line-height: 15px;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
}
body.obsidian #screen-main #land-income { color: var(--om-income); }
body.obsidian #screen-main .raid-daily {
  margin: 9px 13px 0;
  padding: 0 0 4px;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
body.obsidian #screen-main .rd-row {
  gap: 6px;
  margin-bottom: 5px;
  color: #f1e9d6;
  font-size: 10px;
  font-weight: 800;
  text-shadow: 0 1px 3px #0009;
}
body.obsidian #screen-main .rd-row b { color: #ffefbf; font-size: 10px; }
body.obsidian #screen-main .rd-track { height: 4px; background: #34322eb0; }
body.obsidian #screen-main .rd-track i {
  background: linear-gradient(90deg, #d29449, #ffe0a0);
  box-shadow: none;
}
body.obsidian #screen-main .rd-track .daily-cap-fill.full {
  background: linear-gradient(90deg, #e0793a, #c94a3a);
}
body.obsidian #screen-main .sidearrow {
  width: 32px;
  height: 44px;
  border-radius: 14px;
  background: #302e2bd4;
  border-color: #99938b93;
  color: #d1cfcc;
  box-shadow: 0 2px 8px #0004;
}

/* Original near-opaque cargo panel: EF alpha, not a glass reinterpretation. */
body.obsidian #screen-main .loot-zone {
  margin: 8px 13px var(--om-dock-clearance);
}
body.obsidian #screen-main .cargo.variant-a {
  padding: 8px 10px 10px;
  border: 1px solid #97908888;
  border-radius: 17px;
  background: linear-gradient(130deg, #4c4742ef, #302d2aef);
  box-shadow: 0 5px 20px #291c1159;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
body.obsidian #screen-main .cargo::before { background: none; }
body.obsidian #screen-main .cargo-overview { gap: 7px; margin-bottom: 7px; }
body.obsidian #screen-main .ship-wrap { width: 52px; background: none; }
body.obsidian #screen-main .variant-a .ship-art { width: 52px; height: 52px; }
body.obsidian #screen-main .cargo-label { font-size: 10px; color: #c3c1be; }
body.obsidian #screen-main .cargo-badge {
  color: #aaa49e;
  background: none;
  border: 0;
  padding: 0;
  font-size: 9px;
}
body.obsidian #screen-main .variant-a .cargo-amount {
  font-size: 24px;
  line-height: 28px;
  letter-spacing: -.7px;
  color: #faedd8;
  text-shadow: none;
  margin: 2px 0 4px;
}
body.obsidian #screen-main .variant-a .cargo-meta {
  color: #aaa49e;
  font-size: 10px;
  letter-spacing: 0;
}
body.obsidian #screen-main .cargo-track { height: 4px; background: #66605a; box-shadow: none; }
body.obsidian #screen-main .cargo-track i { background: linear-gradient(90deg, #e7ac50, #efc98c); }
body.obsidian #screen-main .cargo-track.full i { background: linear-gradient(90deg, #e7ac50, #ffe0a0); }
body.obsidian #screen-main .cargo.hold-full .cargo-label { color: #f0c98d; }
body.obsidian #screen-main .variant-a .cargo-btn {
  min-height: 40px;
  border-radius: 10px;
  border: 1px solid var(--om-accent);
  background: linear-gradient(#f1cf9a, #e6a744);
  color: #49330f;
  font-size: 11.5px;
  font-weight: 900;
  letter-spacing: .25px;
  box-shadow: inset 0 1px 0 #fff6d666, 0 2px 0 #a26c16;
}
body.obsidian #screen-main .cargo-btn::after { content: none; }
body.obsidian #screen-main .cargo-btn:disabled { opacity: .5; cursor: default; }

/* Purchase panel inside the original stage; hidden-state rules still win.
 * Reserve dock space on the SCREEN only; never resize/reposition the rig. */
body.obsidian #screen-main.raid-is-locked { padding-bottom: var(--om-dock-clearance); }
body.obsidian #screen-main.raid-is-locked > .bgshade {
  background: linear-gradient(180deg, #2a282533, #2a272442 45%, #282624ad);
}
body.obsidian #screen-main.raid-is-locked .loot-zone { display: none; }
body.obsidian #screen-main.raid-is-locked .statcard {
  background: linear-gradient(135deg, #2f2e28e8, #21211eef);
  border-color: var(--om-line);
}
body.obsidian #screen-main #raid-lock {
  width: calc(100% - 88px);
  max-width: 310px;
  height: auto;
  max-height: calc(100% - 16px);
  padding: 17px 16px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  border: 1px solid #9f99918c;
  border-radius: 18px;
  background: linear-gradient(150deg, #4d4944dd, #33302def);
  box-shadow: inset 0 1px 0 #c9c7c448, 0 14px 40px #1e1c1a4a;
  text-align: center;
  overflow-y: auto;
  overscroll-behavior: contain;
  pointer-events: auto;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
body.obsidian #screen-main #raid-lock[hidden] { display: none; }
body.obsidian #screen-main #raid-lock::before {
  inset: 8px;
  width: auto;
  height: auto;
  border: 1px solid #96908836;
  border-radius: 12px;
  background: none;
  pointer-events: none;
}
body.obsidian #screen-main #raid-lock > * { position: relative; flex-shrink: 0; }
body.obsidian #screen-main .a-lock-kicker {
  color: #b4b1ae;
  text-transform: uppercase;
  letter-spacing: 1.7px;
  font-size: 9px;
  line-height: 14px;
  font-weight: 900;
}
body.obsidian #screen-main .a-lock-art {
  width: 124px;
  height: 138px;
  margin: 4px 0 0;
  object-fit: contain;
  filter: drop-shadow(0 7px 8px #15160c66);
}
body.obsidian #screen-main #lock-land-title {
  font-size: 24px;
  font-weight: 900;
  line-height: 1.16;
  letter-spacing: -.5px;
  color: #f7efda;
  margin: 3px 0 7px;
}
body.obsidian #screen-main .a-lock-desc {
  max-width: 230px;
  margin: 0 0 11px;
  font-size: 11px;
  line-height: 1.5;
  color: var(--om-muted);
}
body.obsidian #screen-main .a-lock-benefit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px 7px;
  width: 100%;
  padding: 9px 0;
  margin: 0 0 12px;
  border-top: 1px solid #958f873d;
  border-bottom: 1px solid #958f873d;
  color: var(--om-muted);
  font-size: 11px;
  line-height: 1.4;
}
body.obsidian #screen-main .a-lock-benefit b { font-size: 15px; color: var(--om-accent); }
body.obsidian #screen-main .a-lock-benefit svg {
  width: 15px;
  height: 15px;
  color: #edc07a;
  filter: none;
}
body.obsidian #screen-main #lock-buy-btn {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  width: 100%;
  min-height: 44px;
  padding: 10px 5px;
  border: 1px solid var(--om-accent);
  border-radius: 12px;
  background: linear-gradient(#f2d3a1, #e7ad52);
  color: #553a10;
  font-family: inherit;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.25;
  white-space: normal;
  box-shadow: inset 0 1px 0 #faedd9, 0 3px 0 #aa7727;
}
body.obsidian #screen-main #lock-buy-btn[hidden] { display: none; }
body.obsidian #screen-main #lock-buy-btn:disabled { opacity: .55; cursor: not-allowed; }
body.obsidian #screen-main #lock-buy-btn:active:not(:disabled) { transform: translateY(1px); }
body.obsidian #screen-main .a-lock-note {
  margin-top: 10px;
  color: var(--om-muted);
  font-size: 9px;
  line-height: 1.4;
}

/* Same 100px dock on EVERY screen (+ device safe area), not 132px.
 * Absolute to #app, as in production; never positioned relative to a pane. */
body.obsidian #app > .new-dock.dock-grouped {
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 0;
  height: calc(100px + env(safe-area-inset-bottom, 0px));
  padding: 5px 8px calc(5px + env(safe-area-inset-bottom, 0px));
  border: 1px solid #746d65;
  border-bottom: 0;
  border-radius: 20px 20px 0 0;
  background: linear-gradient(160deg, #48443ff2, #302d2af5);
  box-shadow: 0 6px 24px #1817166b;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
body.obsidian .new-dock .arsenal-nav-main {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 3px;
  height: 54px;
}
body.obsidian .new-dock .arsenal-nav-finance {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  height: 34px;
  gap: 10px;
  border-top: 1px solid #68625b;
}
body.obsidian .new-dock.dock-grouped button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  min-width: 0;
  padding: 2px 3px;
  border: 0;
  border-radius: 13px;
  background: none;
  color: #a9a39d;
  font-family: inherit;
  font-size: 9px;
  line-height: 12px;
  font-weight: 800;
  touch-action: manipulation;
}
body.obsidian .new-dock.dock-grouped button > span:not(.a-nav-icon) { white-space: nowrap; }
body.obsidian .new-dock .a-nav-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 29px;
  height: 29px;
  flex: none;
}
body.obsidian .new-dock .a-nav-icon img,
body.obsidian .new-dock .a-nav-icon svg { width: 26px; height: 26px; object-fit: contain; }
body.obsidian .new-dock .a-nav-home .a-nav-icon { width: 40px; height: 33px; margin-top: -4px; }
body.obsidian .new-dock .a-nav-home .a-nav-icon svg {
  width: 40px;
  height: 36px;
  filter: drop-shadow(0 4px 4px #1b180966);
}
body.obsidian .new-dock .arsenal-nav-main button.active,
body.obsidian .new-dock .arsenal-nav-main button[aria-current="page"] {
  color: #f2d2a0;
  background: linear-gradient(#745e3b, #5f4e32);
  box-shadow: inset 0 1px 0 #d7a75b55;
}
body.obsidian .new-dock .arsenal-nav-finance button {
  flex-direction: row;
  gap: 6px;
  border-radius: 8px;
  font-size: 10px;
}
body.obsidian .new-dock .arsenal-nav-finance .a-nav-icon,
body.obsidian .new-dock .arsenal-nav-finance .a-nav-icon svg,
body.obsidian .new-dock .arsenal-nav-finance .a-nav-icon img { width: 15px; height: 15px; }
body.obsidian .new-dock .arsenal-nav-finance button.active,
body.obsidian .new-dock .arsenal-nav-finance button[aria-current="page"] { color: #f0ca8f; }
body.obsidian .new-dock button:active:not(:disabled) { transform: translateY(1px); }
body.obsidian #screen-main button:focus-visible,
body.obsidian #screen-main #mute-btn:focus-visible,
body.obsidian .new-dock button:focus-visible { outline: 2px solid #eac27d; outline-offset: -2px; }

@media (max-width: 350px) {
  body.obsidian #screen-main #world-name { font-size: 14px; padding-right: 105px; }
  body.obsidian #screen-main > .reswrap { max-width: 104px; }
  body.obsidian #screen-main .goldblock { padding: 5px 6px; gap: 4px; }
  body.obsidian #screen-main .goldblock .nums b { font-size: 11px; }
  body.obsidian #screen-main > .stats3 { gap: 6px; }
  body.obsidian #screen-main .statcard { grid-template-columns: 34px minmax(0, 1fr); column-gap: 3px; padding: 6px; }
  body.obsidian #screen-main .statcard img.ic { width: 34px; height: 40px; }
  body.obsidian #screen-main .statcard .num { font-size: 17px; }
  body.obsidian #screen-main .statcard .lbl { font-size: 8px; }
  body.obsidian #screen-main .cargo-label { font-size: 9px; }
  body.obsidian #screen-main .variant-a .cargo-meta { font-size: 9px; }
  body.obsidian #screen-main #raid-lock { padding: 15px 12px 14px; }
  body.obsidian #screen-main #lock-land-title { font-size: 22px; }
  body.obsidian #screen-main .a-lock-art { width: 110px; height: 122px; }
  body.obsidian #screen-main .a-lock-desc { font-size: 10px; }
  body.obsidian #screen-main .a-lock-benefit { font-size: 10px; }
  body.obsidian #screen-main #lock-buy-btn { font-size: 11px; }
}
@media (max-height: 740px) {
  body.obsidian #screen-main .a-lock-art { width: 103px; height: 114px; }
  body.obsidian #screen-main .a-lock-desc { margin-bottom: 8px; }
  body.obsidian #screen-main .a-lock-benefit { padding: 7px 0; margin-bottom: 10px; }
}

/* ==== css/smoke.css ==== */
/* Isolated glass-theme comparison; no production changes. */
body.obsidian{--surface:rgba(var(--rgb),.54);--soft:rgba(var(--rgb),.32);--edge:rgba(var(--metal),.28);--ink:#fff7e5;--muted:#d7d0bf;--a-ink:var(--ink);--a-muted:var(--muted);--a-line:var(--edge);--a-gold:var(--accent);--a-green:#c4dba4;color:var(--ink)}
body[data-glass=smoke]{--rgb:29,30,27;--metal:222,210,171;--accent:#e6d6ad;--button:linear-gradient(#e7d9b4,#c9b580);--button-ink:#403823}
body[data-glass=forest]{--rgb:19,55,41;--metal:182,216,163;--accent:#c6dda8;--button:linear-gradient(#d6e3bc,#a9c38a);--button-ink:#2f4228}
body[data-glass=bronze]{--rgb:65,37,26;--metal:233,178,134;--accent:#efc79d;--button:linear-gradient(#efd0aa,#ce9b68);--button-ink:#51351f}
body.obsidian .screen:not(#screen-main){background:linear-gradient(rgba(var(--rgb),.27),rgba(var(--rgb),.40)),url('../img/raid-new-yomsborg.jpg?v=1790458553') center/cover;background-attachment:local}
body.obsidian .screen:not(#screen-main) .pagetitle{color:var(--ink);text-shadow:0 2px 7px #0009}
body.obsidian .backbtn,body.obsidian .goldmini{background:var(--surface);border-color:var(--edge);color:var(--ink);backdrop-filter:blur(8px)}
body.obsidian .goldmini b{color:var(--accent)}body.obsidian .map-switch{border-color:var(--edge)}body.obsidian .ms-name strong{color:var(--ink);text-shadow:0 1px 6px #000b}body.obsidian .ms-name span,body.obsidian .ms-btn{color:#e6e0ce;text-shadow:0 1px 5px #000b}
body.obsidian .a-summary,body.obsidian .a-focus,body.obsidian .a-ship-progress,body.obsidian .a-service-card,body.obsidian .a-balance{background:var(--surface);border-color:var(--edge);box-shadow:inset 0 1px 0 #ffffff19,0 6px 16px #0002;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
body.obsidian .a-summary>div+div,body.obsidian .a-focus-stats,body.obsidian .a-focus-stats>div+div{border-color:var(--edge)}
body.obsidian .a-summary .lbl,body.obsidian .a-count,body.obsidian .a-tip,body.obsidian .a-focus-stats label,body.obsidian .a-ship-progress>div:first-child,body.obsidian .a-heading small{color:var(--muted)}
body.obsidian .a-summary .val,body.obsidian .a-focus h2,body.obsidian .a-heading h2{color:var(--ink)}body.obsidian .a-summary .val.gr,body.obsidian .a-focus-stats b{color:#c6dea7}body.obsidian .a-focus-stats>div+div b,body.obsidian .a-ship-progress b{color:var(--accent)}
body.obsidian .a-focus:before{border-color:rgba(var(--metal),.16);box-shadow:0 0 0 18px rgba(var(--metal),.025),0 0 0 36px rgba(var(--metal),.018)}
body.obsidian .a-selector button{background:rgba(var(--rgb),.42);border-color:var(--edge);color:#e4decb;backdrop-filter:blur(7px)}
body.obsidian .a-selector button.selected{background:rgba(var(--metal),.18);border-color:rgba(var(--metal),.74);color:#fff6df;box-shadow:inset 0 1px 0 #ffffff26}
body.obsidian .a-buy{background:var(--soft);border-color:var(--edge);color:var(--ink)}body.obsidian .a-buy small{color:var(--muted)}
body.obsidian .a-primary,body.obsidian #screen-main .variant-a .cargo-btn,body.obsidian #screen-main #lock-buy-btn{background:var(--button);color:var(--button-ink);border:1px solid rgba(var(--metal),.65);box-shadow:inset 0 1px 0 #fff6,0 2px 0 #0004;text-shadow:none}
body.obsidian .a-primary small{color:var(--button-ink)}body.obsidian .a-progress{background:rgba(var(--rgb),.46)}body.obsidian .a-progress i{background:linear-gradient(90deg,rgba(var(--metal),.7),rgba(var(--metal),1))}body.obsidian .a-link,body.obsidian .a-eyebrow{color:var(--accent)}
body.obsidian #screen-main>.bgshade{background:linear-gradient(#10201019,transparent 35%,transparent 75%,#10201020)}
body.obsidian #screen-main .goldblock,body.obsidian #screen-main #mute-btn{background:var(--surface);border-color:var(--edge);color:var(--ink);backdrop-filter:blur(8px)}body.obsidian #screen-main .goldblock .nums b{color:var(--accent)}
body.obsidian #screen-main .statcard,body.obsidian #screen-main.raid-is-locked .statcard,body.obsidian #screen-main .cargo.variant-a{background:rgba(var(--rgb),.46);border-color:rgba(var(--metal),.37);box-shadow:inset 0 1px 0 #fff2,0 4px 12px #0002;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
body.obsidian #screen-main .statcard .num,body.obsidian #screen-main .variant-a .cargo-amount{color:var(--ink);text-shadow:0 1px 3px #0005}body.obsidian #screen-main .statcard .lbl,body.obsidian #screen-main .cargo-label,body.obsidian #screen-main .cargo-badge,body.obsidian #screen-main .variant-a .cargo-meta{color:#eee7d6}body.obsidian #screen-main #land-income{color:#d0e3b7}
body.obsidian #screen-main .cargo-track{background:rgba(var(--rgb),.48)}body.obsidian #screen-main .cargo-track i{background:linear-gradient(90deg,rgba(var(--metal),.64),rgba(var(--metal),1))}body.obsidian #screen-main .sidearrow{background:var(--soft);border-color:var(--edge);color:var(--ink);backdrop-filter:blur(6px)}
body.obsidian #app>.new-dock.dock-grouped{background:rgba(var(--rgb),.64);border-top:1px solid rgba(var(--metal),.34);box-shadow:inset 0 1px 0 #fff1,0 -4px 20px #0002;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body.obsidian .new-dock .arsenal-nav-main button,body.obsidian .new-dock .arsenal-nav-finance button{color:#ddd7c7}body.obsidian .new-dock .arsenal-nav-main button.active,body.obsidian .new-dock .arsenal-nav-main button[aria-current=page]{background:rgba(var(--metal),.16);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(var(--metal),.28)}body.obsidian .new-dock .arsenal-nav-finance{border-color:var(--edge)}body.obsidian .new-dock .arsenal-nav-finance button.active{color:var(--accent)}
body.obsidian #screen-main.raid-is-locked>.bgshade{background:linear-gradient(#1226181a,#172a191c 50%,#11281840)}body.obsidian #screen-main.raid-is-locked .raid-scene-layer{filter:brightness(.97) saturate(.98)}
body.obsidian #screen-main #raid-lock{background:rgba(var(--rgb),.56);border-color:rgba(var(--metal),.41);box-shadow:inset 0 1px 0 #fff2,0 15px 30px #0003;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}body.obsidian #screen-main #raid-lock:before{border-color:rgba(var(--metal),.17)}body.obsidian #screen-main .a-lock-kicker{color:var(--accent)}body.obsidian #screen-main #lock-land-title{color:var(--ink)}body.obsidian #screen-main .a-lock-desc,body.obsidian #screen-main .a-lock-note,body.obsidian #screen-main .a-lock-benefit{color:#e2dbc9}body.obsidian #screen-main .a-lock-benefit{border-color:var(--edge)}body.obsidian #screen-main .a-lock-benefit b{color:var(--accent)}
body.obsidian .a-service-lead h2{color:var(--ink)}body.obsidian .a-service-lead p,body.obsidian .a-feature small{color:var(--muted)}body.obsidian .a-feature{border-color:var(--edge)}body.obsidian .a-service-note,body.obsidian .a-unavailable,body.obsidian .a-disabled-field{background:var(--soft);border-color:var(--edge);color:var(--muted)}body.obsidian .a-balance b{color:var(--accent)}body.obsidian .a-balance label,body.obsidian .a-balance small,body.obsidian .a-details-row{color:var(--muted)}

/* ==== css/compact-ui.css ==== */
/* Compact shared chrome; original hero rig and scene geometry untouched. */
body.obsidian #ui-header{position:absolute;z-index:35;top:0;left:0;right:0;height:calc(72px + env(safe-area-inset-top,0px));padding:calc(9px + env(safe-area-inset-top,0px)) 13px 9px;display:flex;align-items:center;gap:9px;background:linear-gradient(#151b18a1,#18201c10);pointer-events:none}
#ui-header>button,#ui-header>#mute-btn{pointer-events:auto;flex-shrink:0}
#ui-account,#ui-header #mute-btn{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border-radius:15px;border:1px solid #d8ccb64a;background:rgba(30,34,29,.56);color:#eee4ce;backdrop-filter:blur(10px);font-size:18px;cursor:pointer}
#ui-account svg{width:25px;height:25px}
#ui-wallet{min-width:0;flex:1;display:flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:5px 11px;border:1px solid #dac89891;border-radius:18px;color:#fff0c8;background:linear-gradient(115deg,#645943b8,#2e322cba);box-shadow:inset 0 1px 0 #ffedc32e,0 3px 10px #0002;backdrop-filter:blur(10px);text-align:left}
#ui-wallet>img{width:35px;height:35px;object-fit:contain;filter:drop-shadow(0 3px 4px #0006)}#ui-wallet>span{min-width:0}#ui-wallet small{display:block;font-size:9px;letter-spacing:1.3px;line-height:12px;color:#e1d3b6;font-weight:800}#ui-wallet b{display:block;font-size:24px;font-weight:900;line-height:27px;letter-spacing:-.45px;white-space:nowrap;font-variant-numeric:tabular-nums}#ui-wallet i{margin-left:auto;color:#d1c2a5}#ui-wallet i svg{width:15px;height:15px;display:block}
body.obsidian #screen-main>.reswrap{display:none}body.obsidian #screen-main>.topbar{margin-top:calc(72px + env(safe-area-inset-top,0px));height:30px;padding:0 15px 4px;justify-content:center}body.obsidian #screen-main #world-name{padding:0;text-align:center;font-size:16px;line-height:26px}
body.obsidian .screen.active:not(#screen-main){padding-top:calc(72px + env(safe-area-inset-top,0px));padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}body.obsidian .screen:not(#screen-main)>.topbar{height:34px;min-height:34px;flex:0 0 34px;padding:0 16px 5px;justify-content:center}body.obsidian .screen:not(#screen-main)>.topbar .backbtn,body.obsidian .goldmini,body.obsidian .screen:not(#screen-main)>.topbar>span{display:none}body.obsidian .pagetitle{font-size:17px}
body.obsidian #app>.new-dock.dock-grouped{height:calc(64px + env(safe-area-inset-bottom,0px));min-height:0;padding:5px 10px calc(5px + env(safe-area-inset-bottom,0px));display:block;border-radius:20px 20px 0 0;box-sizing:border-box}
.ui-nav{display:grid;grid-template-columns:repeat(5,1fr);height:54px;gap:4px}.ui-nav button{height:54px;min-width:0;padding:5px 1px 4px;border:1px solid transparent;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#d4d5c8;background:none;line-height:1}.ui-nav svg{width:23px;height:23px;flex-shrink:0}.ui-nav span{font-size:9px;font-weight:800;white-space:nowrap}body.obsidian #app>.new-dock .ui-nav button.active{color:#ffe4aa;background:linear-gradient(#c6aa6142,#c6aa611c);border-color:#cfb67278;box-shadow:inset 0 1px 0 #f5e1b235}
body.obsidian #screen-main,body.obsidian .new-dock.dock-grouped{--om-dock-clearance:calc(76px + env(safe-area-inset-bottom,0px))}
.ui-sheet{box-sizing:border-box;width:min(360px,calc(100% - 28px));margin:auto;padding:21px;border:1px solid #c7b68a80;border-radius:24px;background:rgba(30,35,29,.92);color:#f6efdc;box-shadow:0 18px 65px #0008;backdrop-filter:blur(16px);font-family:Nunito,system-ui,sans-serif}.ui-sheet::backdrop{background:#101b164f;backdrop-filter:blur(3px)}.ui-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.ui-sheet h2{font-size:22px;font-weight:900;margin:0}.ui-sheet-head button{width:36px;height:36px;border:1px solid #d7c89440;background:#ffffff08;color:#ded5bd;border-radius:12px;display:grid;place-items:center}.ui-sheet-head svg{width:20px;height:20px}.ui-sheet-balance{border:1px solid #baa36e5e;border-radius:17px;padding:15px 17px;background:linear-gradient(130deg,#a28d4e29,#d3c8970a)}.ui-sheet-balance small{font-size:12px;color:#d2c8ac}.ui-sheet-balance b{display:block;font-size:29px;margin-top:5px;font-weight:900;color:#ffe7b0}.ui-wallet-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.ui-wallet-actions button{min-height:82px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px;background:#d5c28a16;border:1px solid #e1d0a144;border-radius:15px;color:#efdfb9;font-size:13px;font-weight:900}.ui-wallet-actions svg{width:26px;height:26px}.ui-sheet p{font-size:12px;line-height:1.7;text-align:center;color:#cbc4b1;margin:18px 0 0}.ui-profile-avatar{width:70px;height:70px;margin:5px auto 15px;border-radius:24px;border:1px solid #ceb67c7a;background:#b6a36f19;display:grid;place-items:center;color:#eed9aa}.ui-profile-avatar svg{height:40px;width:40px}.ui-sheet h3{text-align:center;font-size:25px;margin:0}.ui-profile-wallet{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 14px;margin-top:22px;border-radius:13px;border:1px solid #c4b17b6d;color:#ebd9ae;background:#b6a36f1c;font-weight:900}.ui-profile-wallet svg{height:17px;width:17px}
body.obsidian .map-switch{min-height:38px;margin-bottom:6px;padding:2px 0 6px}body.obsidian .a-heading{margin:6px 0 8px}body.obsidian .a-selector{margin-bottom:9px}body.obsidian .a-selector button{height:76px;padding-top:4px}body.obsidian .a-selector img{height:41px}body.obsidian .a-focus{padding:10px 12px}body.obsidian #screen-heroes .a-focus-art{height:148px;margin-bottom:3px}body.obsidian #screen-heroes .a-focus h2{font-size:24px}body.obsidian .a-focus-stats{margin:8px 0;padding:7px 0}body.obsidian .a-focus-stats b{font-size:18px}body.obsidian .a-focus-stats label{font-size:9px;margin-bottom:2px}body.obsidian #screen-heroes .a-summary{margin:8px 0;padding:7px 9px;border-radius:11px;background:rgba(201,185,139,.075);border-color:#d2bf8045;text-align:left}body.obsidian #screen-heroes .a-summary .lbl{font-size:9px;line-height:12px}body.obsidian #screen-heroes .a-summary .val{font-size:18px;line-height:21px;margin:1px 0 0}body.obsidian #screen-heroes .a-summary>div+div{padding-left:14px}body.obsidian .a-buy{height:46px}body.obsidian .a-tip{margin-top:7px}body.obsidian #screen-ship .a-focus-art{height:173px}body.obsidian #screen-ship .a-focus{padding-bottom:14px}
@media(max-height:760px){body.obsidian #screen-heroes .a-focus-art{height:112px}body.obsidian #screen-heroes .a-selector button{height:70px}body.obsidian #screen-heroes .a-selector img{height:37px}body.obsidian #screen-heroes .a-focus h2{font-size:22px}body.obsidian #screen-heroes .a-summary{padding-top:5px;padding-bottom:5px}body.obsidian #screen-ship .a-focus-art{height:143px}}
@media(max-width:350px){body.obsidian #ui-header{padding-left:10px;padding-right:10px;gap:7px}#ui-account,#ui-header #mute-btn{width:40px;height:44px;flex-basis:40px}#ui-wallet{gap:6px;padding-left:8px;padding-right:7px}#ui-wallet>img{width:29px;height:29px}#ui-wallet b{font-size:22px}#ui-wallet i{display:none}}

/* ==== css/map-title-compact.css ==== */
/* Selected option 1: one compact current-map pill beneath the balance. */
body.obsidian #screen-main>.topbar{position:absolute;z-index:12;top:calc(72px + env(safe-area-inset-top,0px));left:0;width:100%;height:30px;min-height:30px;margin:0;padding:0 12px;display:flex;justify-content:center;align-items:center;background:none;pointer-events:none}
body.obsidian #screen-main #world-name{flex:0 1 auto;width:auto;min-width:0;max-width:calc(100% - 24px);padding:2px 11px;border:1px solid #d9c48d50;border-radius:11px;background:rgba(24,29,24,.68);backdrop-filter:blur(8px);text-align:center;font-size:12px;line-height:20px;letter-spacing:0;color:#fff4dc;white-space:nowrap;text-shadow:0 1px 3px #0009;pointer-events:auto}
body.obsidian .screen:not(#screen-main)>.topbar{display:flex!important;justify-content:center;height:34px;min-height:34px;flex:0 0 34px;padding:0 12px;border:0}
body.obsidian .screen:not(#screen-main)>.topbar>.map-section-title{flex:0 1 auto;width:max-content;min-width:0;max-width:100%;margin:0;padding:4px 10px;border:1px solid #e2ce9950;border-radius:9px;background:rgba(27,32,26,.62);color:#fff2dc;font-size:10px;font-weight:800;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px #0008}
body.obsidian .screen:not(#screen-main)>.topbar>.pagetitle{display:none!important}
@media(max-width:350px){body.obsidian .screen:not(#screen-main)>.topbar>.map-section-title{font-size:9px;padding:4px 8px}}

/* ==== css/map-title-ground.css ==== */
/* Option 3: move the existing live map title to the scene ground above cargo. */
body.obsidian #screen-main>.topbar{position:absolute;z-index:14;top:auto;left:13px;right:auto;bottom:calc(var(--om-dock-clearance,76px) + 126px);width:max-content;max-width:calc(100% - 26px);height:26px;min-height:26px;margin:0;padding:0;display:flex;align-items:center;justify-content:flex-start;gap:0;background:none;pointer-events:none}
body.obsidian #screen-main #world-name{position:relative;flex:0 1 auto;width:max-content;min-width:0;max-width:calc(100vw - 26px);height:26px;box-sizing:border-box;display:flex;align-items:center;gap:7px;margin:0;padding:4px 10px;border:1px solid #e1ce9a54;border-radius:10px;background:rgba(27,32,26,.72);box-shadow:0 3px 9px #0002,inset 0 1px 0 #fff2;color:#fff4dc;font:900 12px/16px Nunito,system-ui,sans-serif;letter-spacing:.1px;white-space:nowrap;text-align:left;backdrop-filter:blur(8px);text-shadow:0 1px 2px #0007;pointer-events:auto}
body.obsidian #screen-main #world-name:before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#e7c987;box-shadow:0 0 7px #e7c98770}
@media(max-width:350px){body.obsidian #screen-main #world-name{height:25px;padding:4px 9px;font-size:11px}body.obsidian #ui-header{display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px!important;padding:0 10px!important;box-sizing:border-box}body.obsidian #ui-header #ui-wallet{width:auto!important;min-width:0!important;max-width:none!important;flex:none!important;margin:0!important}}

/* ==== css/header-layout.css ==== */
/* Shared layout: one measured header boundary for every screen. */
body.obsidian{--ui-top-space:100px;--ui-safe-top:max(env(safe-area-inset-top,0px),var(--tg-content-safe-area-inset-top,0px),var(--tg-safe-area-inset-top,0px))}
body.obsidian #ui-header{position:absolute;inset:0 0 auto;z-index:35;box-sizing:border-box;display:grid!important;grid-template-columns:42px minmax(0,1fr) 42px;grid-template-rows:50px;align-items:center;column-gap:8px!important;row-gap:0!important;height:auto!important;min-height:0;padding:calc(10px + var(--ui-safe-top)) 12px 8px!important;border-bottom:1px solid #dec99440;border-radius:0 0 17px 17px;background:linear-gradient(180deg,#20281fe8,#242c24c7);box-shadow:0 5px 12px #0002;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body.obsidian #ui-header.has-map{grid-template-rows:50px 26px;row-gap:6px!important}
body.obsidian #ui-header #ui-account,body.obsidian #ui-header #mute-btn{width:42px;height:42px;min-width:0;margin:0;justify-self:stretch;box-sizing:border-box;border-radius:13px;transform:none}
body.obsidian #ui-header #ui-wallet{width:100%!important;min-width:0!important;max-width:100%!important;height:50px;margin:0!important;box-sizing:border-box;display:grid;grid-template-columns:28px minmax(0,1fr) 12px;gap:8px;padding:5px 10px;flex:none!important;border-radius:15px;background:linear-gradient(120deg,#80714bc4,#343c31d4);border-color:#dcc68c7a;transform:none}
body.obsidian #ui-wallet>img{width:28px;height:28px}body.obsidian #ui-wallet>span{display:block;min-width:0;width:100%}body.obsidian #ui-wallet small{font-size:8px;line-height:11px;letter-spacing:1.3px;color:#e2d5b8}body.obsidian #ui-wallet b{font-size:23px;line-height:25px;width:100%;max-width:100%;white-space:nowrap;letter-spacing:0}body.obsidian #ui-wallet i{margin:0;display:block}
#ui-location{grid-column:1/-1;display:flex;align-items:center;justify-content:center;height:26px;min-width:0;pointer-events:none}#ui-location[hidden]{display:none!important}
.ui-map-badge{display:inline-flex;align-items:center;gap:7px;max-width:100%;height:26px;box-sizing:border-box;padding:3px 7px 3px 9px;border:1px solid #ccb77b4a;border-radius:9px;background:#101a164f;color:#f5eacd;box-shadow:inset 0 1px 0 #fff1}
.ui-map-badge svg{width:14px;height:14px;flex:none;color:#dcc38a}.ui-map-badge b{font:800 12px/18px Nunito,system-ui,sans-serif;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-map-badge small{font:800 10px/18px Nunito,system-ui,sans-serif;flex:none;color:#ead5a4;background:#dec68d16;border-left:1px solid #dec68d30;padding-left:7px;font-variant-numeric:tabular-nums}
body.obsidian #screen-main.active{padding-top:var(--ui-top-space);box-sizing:border-box;overflow:hidden}
body.obsidian .screen.active:not(#screen-main){padding-top:var(--ui-top-space);box-sizing:border-box}
body.obsidian .screen#screen-main>.topbar,body.obsidian .screen#screen-heroes>.topbar,body.obsidian .screen#screen-ship>.topbar{display:none!important}
body.obsidian #screen-main>.stats3{padding-top:6px}
body.obsidian #screen-heroes>.scroll,body.obsidian #screen-ship>.scroll{padding-top:7px;isolation:isolate}
@media(max-width:350px){body.obsidian #ui-header{padding-left:10px!important;padding-right:10px!important;grid-template-columns:40px minmax(0,1fr) 40px;column-gap:7px!important}body.obsidian #ui-header #ui-account,body.obsidian #ui-header #mute-btn{width:40px;height:42px}body.obsidian #ui-header #ui-wallet{grid-template-columns:24px minmax(0,1fr);padding:5px 8px;gap:6px}body.obsidian #ui-wallet>img{width:24px;height:24px}body.obsidian #ui-wallet i{display:none}}

/* ==== css/section-backgrounds.css ==== */
/* Local art preview. Shared cards, header, original map scenes and economy unchanged. */
#screen-heroes{--section-art:url('../section-art/heroes.webp?v=1790544177')}
#screen-ship{--section-art:url('../section-art/ship.webp?v=1790544177')}
#screen-friends{--section-art:url('../img/section-art/friends-v3.webp?v=1790900000')}
#screen-ads{--section-art:url('../img/section-art/ads-v4.webp?v=1790877556')}
#screen-deposit{--section-art:url('../img/section-art/deposit-v3.webp?v=1790900000')}
#screen-withdraw{--section-art:url('../img/section-art/withdraw-v3.webp?v=1790900000')}
#screen-wallet{--section-art:url('../img/section-art/wallet-v3.webp?v=1790900000')}
#screen-account{--section-art:url('../img/section-art/account-v3.webp?v=1790900000')}
body.obsidian #app>.screen:not(#screen-main){background-image:linear-gradient(180deg,rgba(24,28,23,.22),rgba(24,28,23,.15) 46%,rgba(24,28,23,.24)),var(--section-art);background-size:cover;background-position:center center;background-repeat:no-repeat;background-attachment:local}
/* Keep bright windows behind service headings from washing out their copy. */
body.obsidian .screen.service-screen:not(#screen-main){background-image:radial-gradient(ellipse 80% 32% at 50% 44%,rgba(14,23,17,.46),rgba(14,23,17,.30) 60%,transparent 100%),linear-gradient(180deg,rgba(24,28,23,.22),rgba(24,28,23,.15) 46%,rgba(24,28,23,.24)),var(--section-art)}
body.obsidian .service-screen .a-service-lead h2,body.obsidian .service-screen .a-service-lead p,body.obsidian .service-screen .a-service-status{text-shadow:0 1px 4px #0009}

/* ==== css/header-inline.css ==== */
/* Selected inline compact header; keep existing controls and measured clearance. */
body.obsidian[data-hopt] #ui-header{height:auto!important;min-height:0;grid-template-rows:44px!important;row-gap:0!important;column-gap:7px!important;padding:calc(6px + var(--ui-safe-top)) 10px 5px!important;grid-template-columns:40px minmax(0,1fr) 40px;border-radius:0 0 15px 15px}
body.obsidian[data-hopt] #ui-header #ui-account,body.obsidian[data-hopt] #ui-header #mute-btn{width:40px;height:40px;border-radius:12px;grid-row:1}
body.obsidian[data-hopt] #ui-header #ui-account{grid-column:1}body.obsidian[data-hopt] #ui-header #mute-btn{grid-column:3}
body.obsidian[data-hopt] #ui-header #ui-wallet{grid-column:2;grid-row:1;height:44px;grid-template-columns:22px minmax(0,1fr) 12px;padding:4px 9px;gap:6px;border-radius:13px}
body.obsidian[data-hopt] #ui-wallet>img{width:22px;height:22px}body.obsidian[data-hopt] #ui-wallet small{display:none}body.obsidian[data-hopt] #ui-wallet b{line-height:23px}body.obsidian[data-hopt] #ui-wallet i{display:block}
/* B: one clean horizontal line: account, location, balance, sound. */
body.obsidian[data-hopt=b] #ui-header{padding-top:calc(8px + var(--ui-safe-top))!important;padding-bottom:7px!important;column-gap:6px!important;grid-template-columns:40px minmax(0,1fr) var(--inline-wallet-w,104px) 40px;background:linear-gradient(#253026ed,#293025df);border-radius:0 0 12px 12px}
body.obsidian[data-hopt=b] #ui-header #mute-btn{grid-column:4}body.obsidian[data-hopt=b] #ui-header #ui-wallet{grid-column:3;height:38px;grid-template-columns:20px minmax(0,1fr);gap:5px;padding:4px 7px;background:#d3b96b18;border-color:#d6bf824f;border-radius:11px;color:#ffe7af}
body.obsidian[data-hopt=b] #ui-wallet>img{width:20px;height:20px}body.obsidian[data-hopt=b] #ui-wallet i{display:none}
body.obsidian[data-hopt=b] #ui-location{grid-column:2;grid-row:1;height:44px;justify-content:flex-start;padding-left:3px;min-width:0}
body.obsidian[data-hopt=b] .ui-map-badge{height:auto;max-height:44px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:0;border:0;background:none;box-shadow:none;border-radius:0}
body.obsidian[data-hopt=b] .ui-map-badge svg{display:none}body.obsidian[data-hopt=b] .ui-map-badge b{font-size:12px;line-height:14px;white-space:normal;max-height:28px;color:#f5e9c9}body.obsidian[data-hopt=b] .ui-map-badge small{font-size:9px;line-height:11px;padding:0;background:none;border:0;color:#bdc9b8}
body.obsidian[data-hopt=b] #ui-header:not(.has-map){grid-template-columns:40px minmax(0,1fr) 40px}body.obsidian[data-hopt=b] #ui-header:not(.has-map) #ui-wallet{grid-column:2}body.obsidian[data-hopt=b] #ui-header:not(.has-map) #mute-btn{grid-column:3}

/* ==== css/vikings-roster.css ==== */
/* Approved option 2: five-unit ivory roster, pinned hire controls. */
body.obsidian #screen-heroes.viking-popup.vr-enabled{
  --vr-ink:#293d30;--vr-muted:#667463;--vr-accent:#42654e;--vr-line:#c1cbbe;
  top:calc(var(--vr-header-bottom,var(--ui-top-space,60px)) + 14px);bottom:max(12px,env(safe-area-inset-bottom,0px));
  width:min(480px,calc(100vw - 20px));padding:0!important;
  border:1px solid #ffffffe0;border-radius:24px;color:var(--vr-ink);
  background:#f7f5ee!important;background-image:none!important;
  box-shadow:0 18px 60px #0b251955,0 0 0 3px #30291b20;
}
body.viking-modal-open #viking-backdrop{top:var(--vr-header-bottom,var(--ui-top-space,60px))}
body.obsidian #screen-heroes.viking-popup.vr-enabled>.viking-modal-heading{
  flex:0 0 auto;position:relative;height:auto;min-height:80px;margin:0;padding:16px 17px 13px;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  border-bottom:1px solid var(--vr-line);color:var(--vr-ink);text-align:left;
}
body.obsidian #screen-heroes.viking-popup.vr-enabled .vr-title span{
  display:block;font:900 9px/14px Nunito,system-ui,sans-serif;letter-spacing:1.3px;color:var(--vr-accent)
}
body.obsidian #screen-heroes.viking-popup.vr-enabled .vr-title b{
  display:block;font:900 28px/32px Nunito,system-ui,sans-serif;letter-spacing:0;color:var(--vr-ink)
}
body.obsidian #screen-heroes.viking-popup.vr-enabled>.viking-modal-heading>button{
  position:static;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;
  border:1px solid var(--vr-line);border-radius:14px;background:#fffc;color:var(--vr-ink);box-shadow:none
}
body.obsidian #screen-heroes.vr-enabled svg{width:22px;height:22px;flex-shrink:0}
body.obsidian #screen-heroes.viking-popup.vr-enabled>#heroes-list{
  flex:1 1 0;min-height:0;height:auto!important;width:100%;margin:0;padding:12px!important;
  overflow-y:auto;overflow-x:hidden;scrollbar-width:none;overscroll-behavior-y:contain;touch-action:pan-y;
  background:none;color:var(--vr-ink)
}
body.obsidian #screen-heroes.vr-enabled #heroes-list::-webkit-scrollbar{display:none}
body.obsidian #screen-heroes.vr-enabled .vr-list-head{display:flex;justify-content:space-between;font-size:10px;line-height:15px;color:var(--vr-muted);padding:0 7px 8px}
body.obsidian #screen-heroes.vr-enabled .vr-roster{display:flex;flex-direction:column;gap:8px}
body.obsidian #screen-heroes.vr-enabled .vr-row{
  box-sizing:border-box;border:1px solid #d8dfd3;display:grid;grid-template-columns:58px minmax(0,1fr) auto;
  gap:8px;align-items:center;height:69px;padding:6px 10px 6px 5px;border-radius:15px;
  background:#fff;width:100%;text-align:left;position:relative;box-shadow:none;color:var(--vr-ink);font-family:Nunito,system-ui,sans-serif;
  -webkit-tap-highlight-color:transparent;cursor:pointer
}
body.obsidian #screen-heroes.vr-enabled .vr-row.is-selected{border:2px solid #608061;background:#eaf1e5;box-shadow:0 3px 9px #44684413;padding:5px 9px 5px 4px}
body.obsidian #screen-heroes.vr-enabled .vr-row>img{height:57px;width:58px;object-fit:contain;filter:drop-shadow(0 4px 3px #1b33251c);pointer-events:none}
body.obsidian #screen-heroes.vr-enabled .vr-row-price img.gold-inline{width:20px;height:20px;object-fit:contain;display:inline-block;vertical-align:-5px;filter:drop-shadow(0 1px 2px #1b33251c)}
body.obsidian #screen-heroes.vr-enabled .vr-row-copy{min-width:0;line-height:15px}
body.obsidian #screen-heroes.vr-enabled .vr-row-copy b{display:block;font-size:13px;font-weight:900;margin-bottom:2px;white-space:nowrap;color:var(--vr-ink)}
body.obsidian #screen-heroes.vr-enabled .vr-row-copy span{font-size:10px;color:#507149;display:block;white-space:nowrap}
body.obsidian #screen-heroes.vr-enabled .vr-row-copy small{font-size:9px;line-height:12px;color:#667a62;display:block;margin-top:1px}
body.obsidian #screen-heroes.vr-enabled .vr-row-price{text-align:right;font-size:15px;font-weight:900;line-height:18px;white-space:nowrap;color:var(--vr-ink)}
body.obsidian #screen-heroes.vr-enabled .vr-row-price small{display:block;font-weight:600;font-size:9px;line-height:12px;color:var(--vr-muted)}
body.obsidian #screen-heroes.vr-enabled .vr-selected-pill{background:#46694f;color:white;position:absolute;top:-5px;right:8px;padding:2px 6px;border-radius:7px;font-size:8px;line-height:10px;font-weight:800}
body.obsidian #screen-heroes.vr-enabled .vr-note{text-align:center;font-size:10px;line-height:15px;color:var(--vr-muted);margin:9px 0 0}
body.obsidian #screen-heroes.vr-enabled .vr-footer{flex:0 0 auto;border-top:1px solid var(--vr-line);padding:9px 16px 8px;background:#fffaf0;color:var(--vr-ink);position:relative;z-index:2}
body.obsidian #screen-heroes.vr-enabled .vr-selected-info{font-size:11px;line-height:16px;margin:2px 0 9px;color:var(--vr-muted);display:flex;justify-content:space-between;gap:5px}
body.obsidian #screen-heroes.vr-enabled .vr-selected-name{color:var(--vr-ink);font-weight:900}
body.obsidian #screen-heroes.vr-enabled .vr-army-line{display:flex;align-items:center;justify-content:space-between;font-size:11px;line-height:15px;color:var(--vr-muted);margin-bottom:9px;gap:5px}
body.obsidian #screen-heroes.vr-enabled .vr-army-line b{font-weight:900;color:var(--vr-ink)}
body.obsidian #screen-heroes.vr-enabled .vr-army-line>span:last-child,body.obsidian #screen-heroes.vr-enabled #sum-income{color:#42643b}
body.obsidian #screen-heroes.vr-enabled .vr-buy-line{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;gap:8px;font-size:12px;font-weight:800}
body.obsidian #screen-heroes.vr-enabled .vr-quantities{display:flex;gap:5px}
body.obsidian #screen-heroes.vr-enabled .vr-qty{height:44px;min-width:49px;padding:0 8px;border:1px solid var(--vr-line);border-radius:10px;background:#fff8;color:var(--vr-ink);font:800 12px/1 Nunito,system-ui,sans-serif;cursor:pointer}
body.obsidian #screen-heroes.vr-enabled .vr-qty.is-selected{border-color:var(--vr-accent);background:var(--vr-accent);color:white}
body.obsidian #screen-heroes.vr-enabled .vr-primary{
  display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;width:100%;min-height:52px;padding:10px 6px;
  border-radius:14px;border:1px solid #304c39;background:linear-gradient(#587b5f,#3c5c46);box-shadow:inset 0 1px 0 #ffffff25,0 3px 0 #2c4535;
  color:#fff4db;font:900 16px/22px Nunito,system-ui,sans-serif;cursor:pointer
}
body.obsidian #screen-heroes.vr-enabled .vr-primary small{font-size:13px;line-height:20px;font-weight:800;color:inherit;white-space:nowrap}
body.obsidian #screen-heroes.vr-enabled .vr-primary>span{opacity:.55}
body.obsidian #screen-heroes.vr-enabled .vr-primary:disabled{cursor:not-allowed;background:#d5dbce;border-color:#bac5b7;box-shadow:none;color:#56644f}
body.obsidian #screen-heroes.vr-enabled .vr-primary:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px 0 #ffffff25,0 1px 0 #2c4535}
body.obsidian #screen-heroes.vr-enabled .vr-back{height:44px;display:flex;align-items:center;justify-content:center;width:100%;gap:7px;background:none;border:0;box-shadow:none;color:var(--vr-muted);font:800 12px/18px Nunito,system-ui,sans-serif;margin-top:5px;padding:0;cursor:pointer}
body.obsidian #screen-heroes.vr-enabled .vr-back svg{width:16px;height:16px}
body.obsidian #screen-heroes.vr-enabled button:focus-visible{outline:3px solid #ba964a;outline-offset:2px}
body.obsidian #screen-heroes.vr-enabled .vr-locked-title{font-size:21px;font-weight:900;margin:18px 0 14px;text-align:center}
body.obsidian #screen-heroes.vr-enabled .locked-notice{background:#fff!important;border:1px solid #c1cbbe!important;border-radius:16px!important;padding:16px!important;color:var(--vr-ink)!important;display:flex;flex-direction:column;gap:16px}
body.obsidian #screen-heroes.vr-enabled .locked-notice .name,body.obsidian #screen-heroes.vr-enabled .locked-notice .sub{color:var(--vr-ink)!important}
body.obsidian #screen-heroes.vr-enabled .locked-notice .sub{font-size:12px;line-height:19px}
@media(max-width:350px){
 body.obsidian #screen-heroes.viking-popup.vr-enabled{width:calc(100vw - 12px)}
 body.obsidian #screen-heroes.viking-popup.vr-enabled>.viking-modal-heading{padding:13px;min-height:76px}
 body.obsidian #screen-heroes.vr-enabled .vr-footer{padding-left:12px;padding-right:12px}
 body.obsidian #screen-heroes.vr-enabled .vr-row{grid-template-columns:52px minmax(0,1fr) auto;gap:5px}
 body.obsidian #screen-heroes.vr-enabled .vr-row img{width:52px}
 body.obsidian #screen-heroes.vr-enabled .vr-row-copy b{font-size:12px}
 body.obsidian #screen-heroes.vr-enabled .vr-qty{min-width:44px}
 body.obsidian #screen-heroes.vr-enabled .vr-primary{font-size:14px;gap:5px}
 body.obsidian #screen-heroes.vr-enabled .vr-primary small{font-size:12px}
}

/* ==== css/ship-modal.css ==== */
/* Ship hold companion to the approved light Vikings roster. */
body.ship-modal-open #viking-backdrop{
  display:block;position:fixed;left:0;right:0;bottom:0;top:var(--vr-header-bottom,var(--ui-top-space,60px));z-index:44;
  background:rgba(8,10,8,.14);backdrop-filter:none;-webkit-backdrop-filter:none
}
body.obsidian #screen-ship.ship-popup.sr-enabled{
  --sr-ink:#293d30;--sr-muted:#667463;--sr-accent:#42654e;--sr-line:#c1cbbe;
  position:fixed;top:calc(var(--vr-header-bottom,var(--ui-top-space,60px)) + 14px);bottom:max(12px,env(safe-area-inset-bottom,0px));
  left:50%;right:auto;width:min(480px,calc(100vw - 20px));height:auto;transform:translateX(-50%);z-index:50;
  padding:0!important;overflow:hidden;border:1px solid #ffffffe0;border-radius:24px;color:var(--sr-ink);
  background:#f7f5ee!important;background-image:none!important;box-shadow:0 18px 60px #0b251955,0 0 0 3px #30291b20;
}
body.obsidian #screen-ship.sr-enabled>.topbar,body.obsidian #screen-ship.sr-enabled>.hint-strip,body.obsidian #screen-ship.sr-enabled>.section-sidearrow{display:none!important}
body.obsidian #screen-ship.sr-enabled>.ship-modal-heading{
  flex:0 0 auto;position:relative;min-height:80px;margin:0;padding:16px 17px 13px;display:flex;align-items:center;justify-content:space-between;gap:8px;
  border-bottom:1px solid var(--sr-line);color:var(--sr-ink);text-align:left;
}
body.obsidian #screen-ship.sr-enabled .sr-title span{display:block;font:900 9px/14px Nunito,system-ui,sans-serif;letter-spacing:1.3px;color:var(--sr-accent)}
body.obsidian #screen-ship.sr-enabled .sr-title b{display:block;font:900 26px/32px Nunito,system-ui,sans-serif;color:var(--sr-ink)}
body.obsidian #screen-ship.sr-enabled>.ship-modal-heading>button{
  display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid var(--sr-line);border-radius:14px;background:#fffc;color:var(--sr-ink);box-shadow:none
}
body.obsidian #screen-ship.sr-enabled svg{width:22px;height:22px;flex-shrink:0}
body.obsidian #screen-ship.ship-popup.sr-enabled>#ship-content{
  flex:1 1 0;min-height:0;height:auto!important;width:100%;margin:0;padding:12px!important;overflow-y:auto;overflow-x:hidden;
  scrollbar-width:none;overscroll-behavior-y:contain;touch-action:pan-y;background:none;color:var(--sr-ink)
}
body.obsidian #screen-ship.sr-enabled #ship-content::-webkit-scrollbar{display:none}
body.obsidian #screen-ship.sr-enabled .sr-list-head{display:flex;justify-content:space-between;font-size:10px;line-height:15px;color:var(--sr-muted);padding:0 7px 8px}
body.obsidian #screen-ship.sr-enabled .sr-roster{display:flex;flex-direction:column;gap:8px}
body.obsidian #screen-ship.sr-enabled .sr-row{
  box-sizing:border-box;border:1px solid #d8dfd3;display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:8px;align-items:center;
  height:69px;padding:6px 10px 6px 5px;border-radius:15px;background:#fff;width:100%;text-align:left;position:relative;box-shadow:none;
  color:var(--sr-ink);font-family:Nunito,system-ui,sans-serif;-webkit-tap-highlight-color:transparent;cursor:pointer
}
body.obsidian #screen-ship.sr-enabled .sr-row.is-selected{border:2px solid #608061;background:#eaf1e5;box-shadow:0 3px 9px #44684413;padding:5px 9px 5px 4px}
body.obsidian #screen-ship.sr-enabled .sr-row>img{height:57px;width:58px;object-fit:contain;filter:drop-shadow(0 4px 3px #1b33251c);pointer-events:none}
body.obsidian #screen-ship.sr-enabled .sr-row-price img.gold-inline{height:20px;width:20px;object-fit:contain;display:inline-block;vertical-align:-5px;filter:drop-shadow(0 1px 2px #1b33251c)}
body.obsidian #screen-ship.sr-enabled .sr-row-copy{min-width:0;line-height:15px}
body.obsidian #screen-ship.sr-enabled .sr-row-copy b{display:block;font-size:13px;font-weight:900;margin-bottom:2px;white-space:nowrap;color:var(--sr-ink)}
body.obsidian #screen-ship.sr-enabled .sr-row-copy span{font-size:10px;color:#507149;display:block;white-space:nowrap}
body.obsidian #screen-ship.sr-enabled .sr-row-copy small{font-size:9px;line-height:12px;color:#667a62;display:block;margin-top:1px}
body.obsidian #screen-ship.sr-enabled .sr-row-price{text-align:right;font-size:15px;font-weight:900;line-height:18px;white-space:nowrap;color:var(--sr-ink)}
body.obsidian #screen-ship.sr-enabled .sr-row-price small{display:block;font-weight:600;font-size:9px;line-height:12px;color:var(--sr-muted)}
body.obsidian #screen-ship.sr-enabled .sr-selected-pill{background:#46694f;color:white;position:absolute;top:-5px;right:8px;padding:2px 6px;border-radius:7px;font-size:8px;line-height:10px;font-weight:800}
body.obsidian #screen-ship.sr-enabled .sr-row.is-current .sr-status{color:#3e603c;font-weight:900}
body.obsidian #screen-ship.sr-enabled .sr-note{text-align:center;font-size:10px;line-height:15px;color:var(--sr-muted);margin:9px 0 0}
body.obsidian #screen-ship.sr-enabled .sr-footer{flex:0 0 auto;border-top:1px solid var(--sr-line);padding:9px 16px 8px;background:#fffaf0;color:var(--sr-ink);position:relative;z-index:2}
body.obsidian #screen-ship.sr-enabled .sr-selected-info{font-size:11px;line-height:16px;margin:2px 0 9px;color:var(--sr-muted);display:flex;justify-content:space-between;gap:5px}
body.obsidian #screen-ship.sr-enabled .sr-selected-name{color:var(--sr-ink);font-weight:900}
body.obsidian #screen-ship.sr-enabled .sr-hold-line{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;line-height:18px;color:var(--sr-muted)}
body.obsidian #screen-ship.sr-enabled #ship-hold-now{color:var(--sr-ink);font-size:12px;font-weight:900;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
body.obsidian #screen-ship.sr-enabled .sr-progress{height:4px;border-radius:5px;overflow:hidden;background:#dbe1d4;margin:5px 0 8px}
body.obsidian #screen-ship.sr-enabled .sr-progress i{display:block;height:100%;border-radius:inherit;background:#658a58;max-width:100%}
body.obsidian #screen-ship.sr-enabled .sr-capacity-line{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:10px;line-height:19px;color:var(--sr-muted)}
body.obsidian #screen-ship.sr-enabled .sr-capacity-line b{color:#3f673d;font-size:13px;font-weight:900;white-space:nowrap}
body.obsidian #screen-ship.sr-enabled .sr-capacity-line b span{color:var(--sr-muted)}
body.obsidian #screen-ship.sr-enabled .sr-capacity-note{font-size:10px;line-height:14px;color:var(--sr-muted);margin:4px 0 9px;text-align:center}
body.obsidian #screen-ship.sr-enabled .sr-primary{
  display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;width:100%;min-height:52px;padding:10px 6px;border-radius:14px;
  border:1px solid #304c39;background:linear-gradient(#587b5f,#3c5c46);box-shadow:inset 0 1px 0 #ffffff25,0 3px 0 #2c4535;
  color:#fff4db;font:900 15px/22px Nunito,system-ui,sans-serif;cursor:pointer
}
body.obsidian #screen-ship.sr-enabled .sr-primary small{font-size:13px;line-height:20px;font-weight:800;color:inherit;white-space:nowrap}
body.obsidian #screen-ship.sr-enabled .sr-primary>span{opacity:.55}
body.obsidian #screen-ship.sr-enabled .sr-primary:disabled{cursor:not-allowed;background:#d5dbce;border-color:#bac5b7;box-shadow:none;color:#56644f}
body.obsidian #screen-ship.sr-enabled .sr-primary:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px 0 #ffffff25,0 1px 0 #2c4535}
body.obsidian #screen-ship.sr-enabled .sr-back{height:44px;display:flex;align-items:center;justify-content:center;width:100%;gap:7px;background:none;border:0;box-shadow:none;color:var(--sr-muted);font:800 12px/18px Nunito,system-ui,sans-serif;margin-top:5px;padding:0;cursor:pointer}
body.obsidian #screen-ship.sr-enabled .sr-back svg{width:16px;height:16px}
body.obsidian #screen-ship.sr-enabled button:focus-visible{outline:3px solid #ba964a;outline-offset:2px}
body.obsidian #screen-ship.sr-enabled .sr-locked-title{font-size:21px;font-weight:900;margin:18px 0 14px;text-align:center}
body.obsidian #screen-ship.sr-enabled .locked-notice{background:#fff!important;border:1px solid #c1cbbe!important;border-radius:16px!important;padding:16px!important;color:var(--sr-ink)!important;display:flex;flex-direction:column;gap:16px}
body.obsidian #screen-ship.sr-enabled .locked-notice .name,body.obsidian #screen-ship.sr-enabled .locked-notice .sub{color:var(--sr-ink)!important}
body.obsidian #screen-ship.sr-enabled .locked-notice .sub{font-size:12px;line-height:19px}
@media(max-width:350px){
 body.obsidian #screen-ship.ship-popup.sr-enabled{width:calc(100vw - 12px)}
 body.obsidian #screen-ship.sr-enabled>.ship-modal-heading{padding:13px;min-height:76px}
 body.obsidian #screen-ship.sr-enabled .sr-title b{font-size:23px}
 body.obsidian #screen-ship.sr-enabled .sr-footer{padding-left:12px;padding-right:12px}
 body.obsidian #screen-ship.sr-enabled .sr-row{grid-template-columns:52px minmax(0,1fr) auto;gap:5px}
 body.obsidian #screen-ship.sr-enabled .sr-row>img{width:52px}
 body.obsidian #screen-ship.sr-enabled .sr-row-copy b{font-size:12px}
 body.obsidian #screen-ship.sr-enabled .sr-primary{font-size:13px;gap:5px}
 body.obsidian #screen-ship.sr-enabled .sr-primary small{font-size:12px}
 body.obsidian #screen-ship.sr-enabled #ship-hold-now{font-size:11px}
}
@media(prefers-reduced-motion:no-preference){body.obsidian #screen-ship.ship-popup{animation:viking-modal-in .18s ease-out}}

/* ==== css/vikings-hint.css ==== */
/* Мягкая подсказка новым игрокам: пульсация карточки «Викинги» на главном экране, когда на
   карте 0 воинов. Класс .hint-pulse добавляется/убирается из JS (ui.js renderMain / go). */
.statcard.hint-pulse {
  animation: bxHeroesHintPulse 1.6s ease-in-out infinite;
  position: relative;
  z-index: 1;
}
@keyframes bxHeroesHintPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(255, 196, 64, 0.55);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 16px 6px rgba(255, 196, 64, 0.55);
    transform: scale(1.035);
  }
}
@media (prefers-reduced-motion: reduce) {
  .statcard.hint-pulse { animation: none; box-shadow: 0 0 10px 3px rgba(255, 196, 64, 0.55); }
}

/* ==== css/sections-v3.css ==== */
/* Sections v3: friends / wallet / deposit / withdraw / account restyle. Presentation only.
   Scoped to the five .service-screen sections; header (#ui-header) and dock untouched. */
:root{--v3-ts:1790900000}
/* ---- shell: content starts right under the header ---- */
body.obsidian .screen.service-screen:not(#screen-main)>.topbar{display:none!important}
body.obsidian .service-screen>.scroll{padding:8px 12px 18px}
body.obsidian #screen-friends .a-service-lead,body.obsidian #screen-wallet .a-service-lead{display:none}
/* offline leads (deposit/withdraw/account without a token) become a compact card instead of a hero */
body.obsidian .service-screen .a-service-lead{margin:0 0 10px;padding:14px 12px;text-align:center;background:rgba(29,30,27,.46);border:1px solid rgba(222,210,171,.37);border-radius:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.133),0 4px 12px rgba(0,0,0,.133);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
body.obsidian .service-screen .a-service-lead h2{font-size:18px;margin:6px 0 4px;color:#ffe7af}
body.obsidian .service-screen .a-service-lead p{font-size:12px;line-height:1.5;color:#d9d2bf}
body.obsidian .service-screen .a-service-lead .a-finance-art,body.obsidian .service-screen .a-service-lead .a-friends-art{margin-top:0;height:auto}
body.obsidian .service-screen .a-service-lead .a-friends-art img{height:90px;width:62px}
/* ---- themed backgrounds: --section-art per screen is set in section-backgrounds.css; softer overlay here ---- */
body.obsidian .screen.service-screen:not(#screen-main){background-image:linear-gradient(rgba(12,16,12,.55) 0,rgba(12,16,12,.14) 120px,rgba(12,16,12,.1) 70%,rgba(12,16,12,.55) 100%),var(--section-art);background-size:cover;background-position:center center;background-repeat:no-repeat;background-attachment:local}
/* ---- panels: exact main-screen statcard tokens ---- */
body.obsidian .service-screen .a-service-card,body.obsidian .service-screen .a-history-card,body.obsidian .service-screen .service-card{background:rgba(29,30,27,.46);border:1px solid rgba(222,210,171,.37);border-radius:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.133),0 4px 12px rgba(0,0,0,.133);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);padding:12px;margin:0 0 10px;background-image:none}
body.obsidian .service-screen .a-service-card h3,body.obsidian .service-screen .a-history-card h3,body.obsidian .service-screen .v3-lbl{font-size:10px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:rgba(226,213,184,.78);margin:0 0 8px}
body.obsidian .service-screen .a-service-card .v3-lbl:not(:first-child),body.obsidian .service-screen .a-service-card h3:not(:first-child){margin-top:12px}
body.obsidian .service-screen .a-service-note{font-size:11px;line-height:1.45;color:#d9d2bf;padding:10px 12px;margin:0 0 10px;border:1px solid rgba(222,210,171,.2);background:rgba(14,16,13,.3);border-radius:11px}
body.obsidian .service-screen .a-service-card .a-service-note,body.obsidian .service-screen .a-history-card .a-service-note{margin:8px 0 0;border:0;background:none;padding:0}
.v3-fine{font-size:11px;line-height:1.45;color:#d9d2bf;margin:8px 0 0}.v3-fine b{color:#f5e5b8}.v3-fine.c{text-align:center}.v3-fine.pad{padding:0 10px;margin-bottom:10px}
.v3-coin{width:1em;height:1em;vertical-align:-.12em;margin-left:.2em;display:inline-block;object-fit:contain}
.v3-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v3-grid2.v3-g8{margin-top:10px}
.v3-tile{background:rgba(14,16,13,.42);border:1px solid rgba(222,210,171,.2);border-radius:11px;padding:9px 10px;min-width:0}.v3-tile small{display:block;font-size:10px;font-weight:700;color:#bdc9b8;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v3-tile b{display:block;font-size:19px;font-weight:900;color:#ffe7af;line-height:1.1;overflow-wrap:anywhere}.v3-tile em{display:block;font-style:normal;font-size:10px;color:#a9a39d;margin-top:2px}
.v3-hero{display:flex;align-items:center;gap:12px}.v3-hero>div{min-width:0;flex:1}.v3-hero-img{width:54px;height:54px;flex:none;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.4))}
.v3-big{font-size:34px;font-weight:900;line-height:1.05;color:#ffe7af;text-shadow:0 2px 8px rgba(0,0,0,.35);overflow-wrap:anywhere}.v3-big .v3-unit{font-size:14px;font-weight:700;color:#e2d5b8}.v3-approx{display:block;font-size:13px;font-weight:700;color:#bdc9b8;margin-top:3px}
.v3-big img,.v3-big .a-ref-coin{width:1em;height:1em;margin:0 0 0 .2em;vertical-align:-.12em;object-fit:contain}
/* buttons: primary gold / ghost */
body.obsidian .service-screen .a-copy-btn,body.obsidian .service-screen .a-ref-transfer,.v3-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:44px;margin:10px 0 0;padding:10px 14px;border-radius:12px;font-size:14px;font-weight:800;line-height:1.2;color:#3a3018;background:linear-gradient(#f6e6bb,#d4b46a);border:1px solid rgba(255,240,200,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 3px 0 rgba(80,60,20,.45),0 6px 14px rgba(0,0,0,.3);cursor:pointer}
body.obsidian .service-screen .a-copy-btn:active,body.obsidian .service-screen .a-ref-transfer:active,.v3-btn:active{transform:translateY(2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 1px 0 rgba(80,60,20,.45);filter:none}
body.obsidian .service-screen .a-ref-transfer,body.obsidian .service-screen .v3-ghost{color:#f5e5b8;background:rgba(222,210,171,.1);border:1px solid rgba(222,210,171,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
body.obsidian .service-screen .a-ref-transfer:disabled,body.obsidian .service-screen .a-ref-transfer.disabled,body.obsidian .service-screen .a-copy-btn:disabled{opacity:.5;cursor:default;transform:none}
body.obsidian .service-screen .a-copy-btn svg,body.obsidian .service-screen .a-ref-transfer svg{width:18px;height:18px;flex:none}
.v3-linkbox{display:flex;align-items:center;gap:8px;padding:11px 12px;border-radius:11px;background:rgba(14,16,13,.42);border:1px dashed rgba(222,210,171,.45);font-size:13px;font-weight:700;color:#f5e5b8;white-space:nowrap;overflow:hidden}.v3-linkbox svg{flex:none;width:18px;height:18px}
body.obsidian .service-screen .v3-linkbox .a-ref-link{display:block;flex:1;min-width:0;margin:0;padding:0;border:0;background:none;color:inherit;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:normal}
.v3-empty{display:flex;align-items:center;gap:10px;padding:12px;border-radius:11px;background:rgba(14,16,13,.3);color:#bdc9b8;font-size:12px;font-weight:700;line-height:1.35}.v3-empty svg{flex:none;width:22px;height:22px}
body.obsidian .service-screen .a-details-row{border-bottom:1px solid rgba(222,210,171,.15);padding:10px 2px;font-size:12px;color:#e2d5b8}body.obsidian .service-screen .a-details-row:last-child{border-bottom:0}body.obsidian .service-screen .a-details-row small{color:#bdc9b8}
/* wallet */
.v3-rates{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.v3-rates>div{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:11px;background:rgba(14,16,13,.42);border:1px solid rgba(222,210,171,.2);color:#e2d5b8;min-width:0}.v3-rates svg{flex:none;width:18px;height:18px}.v3-rates span{min-width:0;font-size:10px;font-weight:700;color:#bdc9b8;line-height:1.2}.v3-rates b{display:block;font-size:13px;color:#ffe7af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3-actions{margin-bottom:10px}.v3-act{display:flex;flex-direction:column;align-items:center;gap:3px;padding:16px 10px 14px;border-radius:14px;color:#3a3018;background:linear-gradient(#f6e6bb,#d4b46a);border:1px solid rgba(255,240,200,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 3px 0 rgba(80,60,20,.45),0 6px 14px rgba(0,0,0,.3);font-family:inherit;cursor:pointer;min-width:0}.v3-act svg{width:28px;height:28px}.v3-act b{font-size:16px;font-weight:900}.v3-act small{font-size:10px;font-weight:700;opacity:.8}.v3-act:active{transform:translateY(2px)}
.v3-note{display:flex;gap:10px;align-items:flex-start;color:#bdc9b8}.v3-note svg{flex:none;width:20px;height:20px;margin-top:1px}.v3-note div{min-width:0}body.obsidian .service-screen .v3-note .a-service-note{margin:0;padding:0;border:0;background:none;font-size:11px;line-height:1.45;color:#d9d2bf}body.obsidian .service-screen .v3-note .a-service-note+.a-service-note{margin-top:6px}
/* deposit / withdraw */
.v3-sub{display:flex;align-items:center;gap:8px;margin:0 0 8px;color:#f5e9c9;font-size:13px;font-weight:800;text-shadow:0 1px 4px rgba(0,0,0,.6)}.v3-back{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:10px;background:rgba(29,30,27,.6);border:1px solid rgba(222,210,171,.37);color:#f5e5b8;padding:0;cursor:pointer}.v3-back svg{width:18px;height:18px}
.v3-inp{display:flex;align-items:center;gap:8px;padding:0 12px;height:52px;border-radius:12px;background:rgba(14,16,13,.5);border:1px solid rgba(222,210,171,.4);box-shadow:inset 0 2px 6px rgba(0,0,0,.35)}.v3-inp:focus-within{border-color:#e8c282;box-shadow:inset 0 2px 6px rgba(0,0,0,.35),0 0 0 3px rgba(232,194,130,.2)}
.v3-inp>span{font-size:20px;font-weight:900;color:#bdc9b8}.v3-inp input{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;background:none!important;border:0!important;outline:0;box-shadow:none;font:inherit;font-size:24px;font-weight:900;color:#ffe7af;font-variant-numeric:tabular-nums}.v3-inp .v3-coin{font-size:22px;margin:0;flex:none}
.v3-inp.v3-text{height:46px}.v3-inp.v3-text input{font-size:13px;font-weight:700;color:#f4efdf}.v3-inp input::placeholder{color:#8f8a80;font-weight:700}
.v3-inp input[type=number]{-moz-appearance:textfield;appearance:textfield}.v3-inp input::-webkit-outer-spin-button,.v3-inp input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.v3-chips{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;margin-top:8px}.v3-chips button{height:34px;min-width:0;padding:0 2px;border-radius:9px;font:inherit;font-size:12px;font-weight:800;color:#e2d5b8;background:rgba(14,16,13,.42);border:1px solid rgba(222,210,171,.3);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v3-chips button.on{color:#3a3018;background:linear-gradient(#f6e6bb,#d4b46a);border-color:rgba(255,240,200,.6)}
.v3-result{display:flex;align-items:center;gap:6px;margin-top:10px;padding:10px 12px;border-radius:11px;background:rgba(232,194,130,.1);border:1px solid rgba(222,210,171,.3)}.v3-result span{flex:1;font-size:12px;font-weight:700;color:#bdc9b8}.v3-result b{font-size:22px;font-weight:900;color:#ffe7af;white-space:nowrap}.v3-result .v3-coin{font-size:18px;margin:0}
.v3-coins{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.v3-cc{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px 6px;min-width:0;border-radius:11px;background:rgba(14,16,13,.42);border:1px solid rgba(222,210,171,.2);color:#e2d5b8;font:inherit;cursor:pointer}.v3-cc img{width:28px;height:28px;margin-bottom:2px;object-fit:contain;border-radius:50%}.v3-cc b{font-size:11px;font-weight:900;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v3-cc small{font-size:9px;font-weight:700;color:#a9a39d;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v3-cc.on{border-color:#e8c282;background:rgba(232,194,130,.14);box-shadow:0 0 0 1px #e8c282 inset}.v3-cc.on small{color:#e2d5b8}
/* native <select> stays in the DOM for logic/tests/keyboard; visually replaced by the icon grid */
body.obsidian .service-screen select.v3-native{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;opacity:0}
body.obsidian .service-screen select.v3-native:focus-visible{position:static!important;width:100%!important;height:auto!important;margin:8px 0 0!important;padding:10px!important;clip:auto;clip-path:none;opacity:1;border-radius:10px;background:#1d1e1b;color:#f4efdf;border:1px solid #e8c282!important}
.v3-addr{display:flex;gap:10px;align-items:center;margin-top:12px;padding:10px;border-radius:11px;background:rgba(14,16,13,.42);border:1px dashed rgba(222,210,171,.45)}.v3-addr>div{min-width:0;flex:1}.v3-qr{flex:none;width:84px;height:84px;display:grid;place-items:center;border-radius:10px;background:#f4efdf;color:#1d1e1b;overflow:hidden}.v3-qr img{width:84px;height:84px;display:block;background:#fff;padding:4px;box-sizing:border-box}.v3-qr svg{width:34px;height:34px}
.v3-addr small{display:block;font-size:10px;font-weight:800;letter-spacing:1px;color:#e8c282}body.obsidian .service-screen .v3-addr .a-ref-link{display:block;margin:2px 0;padding:0;border:0;background:none;font-size:12px;font-weight:700;color:#f4efdf;word-break:break-all;line-height:1.3}.v3-addr span{display:block;font-size:10px;color:#bdc9b8;line-height:1.3}
/* finance history card (markup unchanged) */
body.obsidian .service-screen .a-history-summary>div{background:rgba(14,16,13,.42);border:1px solid rgba(222,210,171,.2);border-radius:11px}body.obsidian .service-screen .a-history-summary small{color:#bdc9b8;font-size:10px}body.obsidian .service-screen .a-history-summary b{color:#ffe7af;font-size:19px}body.obsidian .service-screen .a-history-summary>div+div b{color:#ffe7af}body.obsidian .service-screen .a-history-summary em{color:#a9a39d;font-size:10px}
body.obsidian .service-screen .a-history-caption{color:#e2d5b8}body.obsidian .service-screen .a-history-table td{border-top-color:rgba(222,210,171,.15);color:#d9d2bf;font-size:10px}body.obsidian .service-screen .a-history-table th{color:#a9a39d;font-size:9px}body.obsidian .service-screen .a-history-table td:nth-child(2) b{font-size:12px}body.obsidian .service-screen .a-history-empty{font-size:11px!important;color:#bdc9b8!important;padding:12px!important;background:rgba(14,16,13,.3);border-radius:11px}body.obsidian .service-screen .a-history-note{color:#a9a39d;font-size:10px}
/* account */
body.obsidian #screen-account .a-account-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:4px;margin:0 0 10px;border-radius:13px;background:rgba(29,30,27,.6);border:1px solid rgba(222,210,171,.3);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
body.obsidian #screen-account .a-account-tab{height:32px;padding:0 4px;border:0;border-radius:9px;background:none;font-size:10px;font-weight:800;color:#bdc9b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:none}
body.obsidian #screen-account .a-account-tab.a-account-tab-active{color:#3a3018;background:linear-gradient(#f6e6bb,#d4b46a);box-shadow:0 2px 6px rgba(0,0,0,.3)}
body.obsidian #screen-account .a-account-profile{display:flex;align-items:center;gap:11px;text-align:left}
body.obsidian #screen-account .a-account-profile .a-account-photo,body.obsidian #screen-account .a-account-profile .a-account-avatar{width:46px;height:46px;flex:0 0 46px;margin:0;border-radius:14px;border:0;background:linear-gradient(#f6e6bb,#d4b46a);color:#3a3018;box-shadow:0 3px 8px rgba(0,0,0,.35);object-fit:cover}
body.obsidian #screen-account .a-account-avatar svg{width:26px;height:26px}
body.obsidian #screen-account .a-account-profile .v3-who{flex:1;min-width:0}
body.obsidian #screen-account .a-account-profile h3{font-size:17px;font-weight:900;color:#ffe7af;margin:0;letter-spacing:0;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.obsidian #screen-account .a-account-profile small{display:block;margin-top:2px;font-size:10px;font-weight:700;color:#bdc9b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.obsidian #screen-account .a-account-stats{gap:8px}body.obsidian #screen-account .a-account-stats>div{background:rgba(14,16,13,.42);border:1px solid rgba(222,210,171,.2);border-radius:11px;padding:9px 10px}body.obsidian #screen-account .a-account-stats small{font-size:10px;font-weight:700;color:#bdc9b8;white-space:normal;line-height:1.25}body.obsidian #screen-account .a-account-stats b{font-size:19px;color:#ffe7af;margin-top:3px;gap:4px}body.obsidian #screen-account .a-account-stats .a-stat-coin{width:17px;height:17px}body.obsidian #screen-account .a-account-stats em{font-size:10px;color:#a9a39d}
.v3-row{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:6px 2px;margin:0;border:0;background:none;color:#e2d5b8;font:inherit;cursor:pointer}.v3-row+.v3-row{margin-top:4px;border-top:1px solid rgba(222,210,171,.15);padding-top:10px;border-radius:0}.v3-row>span{flex:1;min-width:0}.v3-row b{display:block;font-size:14px;font-weight:800;color:#f4efdf;overflow-wrap:anywhere}.v3-row small{display:block;font-size:11px;color:#bdc9b8}.v3-row>svg{flex:none;width:22px;height:22px}.v3-row>svg:last-child{width:18px;height:18px;transform:rotate(180deg);color:#a9a39d}
body.obsidian #screen-account .a-community-btn{display:flex;flex-direction:row;align-items:center;gap:11px;padding:10px 2px;margin:0;border:0;border-radius:0;background:none;color:#e2d5b8}body.obsidian #screen-account .a-community-btn+.a-community-btn{border-top:1px solid rgba(222,210,171,.15)}body.obsidian #screen-account .a-community-btn span{flex:1;font-size:14px;font-weight:800;color:#f4efdf}body.obsidian #screen-account .a-community-btn small{flex:none;font-size:11px;font-weight:700;color:#e8c282}
body.obsidian #screen-account .a-lb-row{border-bottom-color:rgba(222,210,171,.15);color:#e2d5b8}body.obsidian #screen-account .a-lb-rank{color:#e8c282}body.obsidian #screen-account .a-lb-name{color:#f4efdf}body.obsidian #screen-account .a-lb-gold{color:#ffe7af}body.obsidian #screen-account .a-lb-me{background:rgba(232,194,130,.12);border:1px solid rgba(222,210,171,.4)}
body.obsidian #screen-account .a-lang-list{gap:5px}body.obsidian #screen-account .a-lang-row{height:42px;padding:0 12px;border-radius:11px;background:rgba(14,16,13,.42);border:1px solid rgba(222,210,171,.2);color:#e2d5b8;font-size:13px;font-weight:800;box-shadow:none}body.obsidian #screen-account img.a-lang-flag{width:24px;height:17px;border-radius:3px}
body.obsidian #screen-account .a-lang-row::after{content:"";width:16px;height:16px;flex:none;opacity:0;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8c282' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='m5 12 5 5L20 7'/></svg>") center/contain no-repeat}
body.obsidian #screen-account .a-lang-row.a-lang-active{background:rgba(14,16,13,.42);border-color:#e8c282;color:#ffe7af}body.obsidian #screen-account .a-lang-row.a-lang-active::after{opacity:1}
/* small phones */
@media(max-width:350px){body.obsidian .service-screen>.scroll{padding-left:10px;padding-right:10px}.v3-big{font-size:28px}.v3-tile b{font-size:17px}.v3-chips{gap:4px}.v3-chips button{font-size:11px}.v3-coins{gap:4px}.v3-cc b{font-size:10px}.v3-cc small{font-size:8px}.v3-act b{font-size:14px}.v3-act small{font-size:9px}.v3-qr,.v3-qr img{width:72px;height:72px}body.obsidian #screen-account .a-account-tab{font-size:9.5px;padding:0 1px;letter-spacing:-.1px}body.obsidian #screen-account .a-account-stats b{font-size:17px}.v3-result b{font-size:19px}.v3-inp input{font-size:21px}}
/* guide tab */
body.obsidian #screen-account .guide-card{padding:15px 14px 18px;background:linear-gradient(145deg,rgba(23,27,23,.97),rgba(27,31,25,.96));border:1px solid rgba(222,210,171,.38);box-shadow:0 10px 28px rgba(0,0,0,.32);backdrop-filter:blur(9px)}
body.obsidian #screen-account .guide-card h3{font-size:18px;font-weight:900;color:#ffe7af;margin:0 0 14px;text-align:center}
body.obsidian #screen-account .guide-steps{display:flex;flex-direction:column;gap:0}
body.obsidian #screen-account .guide-step{display:flex;align-items:flex-start;gap:12px;padding:11px 0;border-bottom:1px solid rgba(222,210,171,.12)}
body.obsidian #screen-account .guide-step:last-child{border-bottom:0}
body.obsidian #screen-account .guide-step-icon{flex:none;width:48px;height:48px;border-radius:12px;background:rgba(29,30,27,.76);border:1px solid rgba(222,210,171,.30);display:flex;align-items:center;justify-content:center;padding:5px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
body.obsidian #screen-account .guide-step-icon img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.32))}
body.obsidian #screen-account .guide-step-body{flex:1;min-width:0}
body.obsidian #screen-account .guide-step-title{font-size:15px;font-weight:900;color:#fff2d1;margin-bottom:4px}
body.obsidian #screen-account .guide-step-text{font-size:13px;line-height:1.5;color:#e2dccd}
body.obsidian #screen-account .guide-tip{margin-top:12px;padding:9px 12px;border-radius:10px;background:rgba(29,30,27,.82);border:1px solid rgba(222,210,171,.25);font-size:12px;line-height:1.5;color:#d4dfc6}
body.obsidian #screen-account .guide-extra{margin-top:13px;padding:11px 12px;border-radius:12px;background:rgba(41,43,35,.90);border:1px solid rgba(222,210,171,.30)}
body.obsidian #screen-account .guide-extra-title{margin:0 0 5px;font-size:13px;font-weight:900;color:#f0d49a}
body.obsidian #screen-account .guide-extra-text{font-size:12px;line-height:1.5;color:#e2dccd}

/* Shared advertising feed and purchase form. */
body.obsidian #screen-ads .ads-lead{padding:12px 14px;margin-bottom:10px}
body.obsidian #screen-ads .ads-megaphone{width:42px;height:42px;margin:0 auto 5px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#f7d98c,#b87a37);font-size:23px;box-shadow:0 4px 12px #0004}
body.obsidian #screen-ads .ads-lead h2{margin:0 0 4px}
body.obsidian #screen-ads .ads-lead p{margin:0}
body.obsidian .ads-modal .ads-form,body.obsidian #screen-ads .ads-list{padding:13px}
body.obsidian .ads-modal .ads-form h3,body.obsidian #screen-ads .ads-list h3{display:flex;align-items:center;justify-content:space-between;font-size:14px;letter-spacing:0;text-transform:none;color:#f5e5b8;margin:0 0 8px}
body.obsidian #screen-ads .ads-list h3 span{font-size:11px;color:#d2c8ac}
body.obsidian .ads-modal .ads-price{margin:0 0 12px;padding:8px 10px;border-radius:10px;background:rgba(232,194,130,.1);border:1px solid rgba(222,210,171,.2);color:#ffe7af;font-size:12px;font-weight:800;line-height:1.4}
body.obsidian .ads-modal .ads-label{display:block;margin:10px 0 5px;color:#e8ddc4;font-size:12px;font-weight:800}
body.obsidian .ads-modal .ads-control{box-sizing:border-box;width:100%;min-height:42px;padding:10px 11px;border-radius:11px;border:1px solid rgba(222,210,171,.28);background:rgba(14,16,13,.62);color:#f5efdf;font:700 13px Nunito,system-ui,sans-serif;outline:none}
body.obsidian .ads-modal .ads-control:focus{border-color:#e8c282;box-shadow:0 0 0 2px rgba(232,194,130,.16)}
body.obsidian .ads-modal .ads-control option{background:#20251f;color:#f5efdf}
body.obsidian .ads-modal .ads-buy-button{width:100%;min-height:46px;margin-top:12px;border:1px solid #f5d792;border-radius:12px;background:linear-gradient(180deg,#f2d28e,#d39c4b);color:#382a18;font:900 14px Nunito,system-ui,sans-serif;box-shadow:inset 0 1px #fff7,0 3px 8px #0004}
body.obsidian .ads-modal .ads-buy-button:disabled{opacity:.62}
body.obsidian #screen-ads .ads-list-items{display:grid;gap:8px}
body.obsidian #screen-ads .ads-item{display:flex;align-items:center;gap:10px;min-height:50px;padding:9px 11px;border-radius:13px;background:rgba(14,16,13,.42);border:1px solid rgba(222,210,171,.18);transition:background .15s,border-color .15s}
body.obsidian #screen-ads .ads-item-link[href]:active{background:rgba(232,194,130,.1)}
body.obsidian #screen-ads .ads-item-clickable{cursor:pointer}
body.obsidian #screen-ads .ads-item-clickable:active{background:rgba(232,194,130,.12);border-color:rgba(232,194,130,.4)}
body.obsidian #screen-ads .ads-item-type{flex:none;display:flex;align-items:center;gap:5px;padding:6px 9px;border-radius:9px;background:rgba(232,194,130,.15);color:#efd39c;font-size:10px;font-weight:900;white-space:nowrap}
body.obsidian #screen-ads .ads-item-type::before{font-size:12px;line-height:1}
body.obsidian #screen-ads .ads-item-type[data-ads-type="telegram_bot"]::before{content:"🤖"}
body.obsidian #screen-ads .ads-item-type[data-ads-type="telegram_channel"]::before{content:"📢"}
body.obsidian #screen-ads .ads-item-type[data-ads-type="website"]::before{content:"🌐"}
body.obsidian #screen-ads .ads-item-link{flex:1;min-width:0;display:flex;align-items:center;gap:6px;color:#ffe7af;font-size:13px;font-weight:900;line-height:1.3;text-decoration:none;overflow-wrap:anywhere}
body.obsidian #screen-ads .ads-item-link[href]::after{content:"↗";flex:none;font-size:13px;font-weight:900;color:#e8c282;margin-left:auto}
body.obsidian #screen-ads .ads-item-invalid{color:#a89f88;font-size:11px;font-weight:700}
body.obsidian #screen-ads .ads-empty{margin:0}
body.obsidian .ads-modal .ads-hint{margin:7px 0 0;color:#cfc6ab;font-size:11px;font-weight:700;line-height:1.5}
body.obsidian #screen-ads .ads-message,body.obsidian .ads-modal .ads-message{margin-top:10px;padding:9px 10px;border-radius:10px;font-size:12px;font-weight:800;line-height:1.45}
body.obsidian #screen-ads .ads-message.good,body.obsidian .ads-modal .ads-message.good{color:#d8f0ce;background:rgba(54,103,58,.25);border:1px solid rgba(133,190,112,.35)}
body.obsidian #screen-ads .ads-message.bad,body.obsidian .ads-modal .ads-message.bad{color:#ffe0c8;background:rgba(119,54,39,.25);border:1px solid rgba(216,128,96,.35)}
@media(max-width:350px){body.obsidian .ads-modal .ads-form,body.obsidian #screen-ads .ads-list{padding:11px}body.obsidian #screen-ads .ads-item{gap:6px;padding:7px}.ui-nav span{font-size:8.4px}}
body.obsidian #screen-ads .ads-place-wrap{margin:10px 14px 14px}
body.obsidian #screen-ads .ads-place-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:54px;padding:12px 16px;border:1px solid rgba(248,218,148,.84);border-radius:15px;background:linear-gradient(135deg,#345a3b,#1d3c2d 60%,#273b2a);color:#fff0bd;font:900 15px Nunito,system-ui,sans-serif;box-shadow:inset 0 1px #ffffff25,0 7px 18px #0006}
body.obsidian #screen-ads .ads-place-button span{font-size:20px;line-height:1}
body.obsidian #screen-ads .ads-place-button:active{transform:translateY(1px);filter:brightness(1.08)}
body.obsidian .ads-modal{position:fixed;inset:0;z-index:70;display:none;align-items:center;justify-content:center;box-sizing:border-box;padding:calc(14px + env(safe-area-inset-top,0px)) 14px calc(14px + env(safe-area-inset-bottom,0px))}
body.obsidian .ads-modal.is-open{display:flex}
body.obsidian .ads-modal-backdrop{position:absolute;inset:0;background:rgba(4,9,6,.76);backdrop-filter:blur(5px)}
body.obsidian .ads-modal .ads-form{position:relative;z-index:1;box-sizing:border-box;width:min(100%,460px);max-height:100%;overflow:auto;padding:16px;background:linear-gradient(155deg,rgba(31,42,33,.98),rgba(17,23,19,.99));border:1px solid rgba(232,194,130,.52);border-radius:19px;box-shadow:0 20px 55px #000b}
body.obsidian .ads-modal .ads-form-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
body.obsidian .ads-modal .ads-form-head h3{margin:0;min-width:0}
body.obsidian .ads-modal-close{flex:none;width:36px;height:36px;border:1px solid rgba(222,210,171,.3);border-radius:11px;background:rgba(14,16,13,.55);color:#f5e5b8;font:700 24px/1 system-ui,sans-serif}
body.obsidian .ads-modal-close:focus-visible,body.obsidian #screen-ads .ads-place-button:focus-visible{outline:2px solid #ffe09c;outline-offset:3px}

/* locked map: loot-zone hidden but its space reserved, so hero-stage keeps the same height
   and the slide arrows / lock card stay level with the open map (must load AFTER obsidian-main.css) */
body.obsidian #screen-main.raid-is-locked{padding-bottom:0}
body.obsidian #screen-main.raid-is-locked .loot-zone{display:block;visibility:hidden;pointer-events:none}

/* Owner-approved Friends amber treasury theme; all changes scoped to #screen-friends. */
#screen-friends{background-image:url("../img/section-art/friends-v3.webp?v=1790900000")!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important}#screen-friends .a-service-card,#screen-friends .a-history-card,#screen-friends .service-card{background:linear-gradient(115deg,rgba(255,251,239,.90),rgba(243,231,204,.90))!important;border-color:#d3bc8f!important;box-shadow:inset 0 1px #fff9,0 4px 10px #51401b16!important}#screen-friends .a-service-card h3,#screen-friends .a-history-card h3{color:#80571d!important}#screen-friends .a-ref-transfer.disabled,#screen-friends .a-ref-transfer:disabled{opacity:.88!important;background:linear-gradient(135deg,#e6dec9,#d2c4a1)!important;color:#6a5834!important;border-color:#c6b58d!important;box-shadow:none!important}#screen-friends .v3-big{color:#392f20!important;text-shadow:none!important}#screen-friends .v3-big .v3-unit{color:#67583f!important}#screen-friends .v3-fine{color:#67583f!important}#screen-friends .v3-fine b{color:#80571d!important}#screen-friends .v3-fine.c{color:#67583f!important}#screen-friends .v3-tile{background:linear-gradient(135deg,rgba(248,239,210,.90),rgba(255,251,238,.90))!important;border-color:#d3bc8f!important}#screen-friends .v3-tile small{color:#67583f!important}#screen-friends .v3-tile b{color:#392f20!important}#screen-friends .v3-tile em{color:#806d4a!important}#screen-friends .v3-linkbox{background:linear-gradient(135deg,rgba(248,239,210,.90),rgba(255,251,238,.90))!important;border-color:#c8ad76!important;color:#67502d!important}#screen-friends .a-service-card .a-ref-link{color:#67502d!important}#screen-friends .v3-empty{background:linear-gradient(135deg,rgba(248,239,210,.90),rgba(255,251,238,.90))!important;color:#67583f!important}#screen-friends .a-details-row{color:#392f20!important;border-bottom-color:#d3bc8f88!important}#screen-friends .a-details-row small{color:#806d4a!important}#screen-friends .pagetitle{color:#fff0c9!important;text-shadow:0 2px 5px #11170ee0!important}
#screen-friends #a-friends-body > .a-service-card:first-child{position:relative;overflow:hidden;background:radial-gradient(ellipse at 94% 5%,rgba(224,184,92,.22),transparent 44%),linear-gradient(120deg,rgba(255,251,239,.90),rgba(243,231,204,.90))!important;border:1px solid #d6b66d!important;box-shadow:inset 0 1px #fff9,0 0 0 1px #fff6,0 8px 24px rgba(98,67,25,.19)!important}#screen-friends #a-friends-body > .a-service-card:first-child:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:8px;background:linear-gradient(#fff2b4,#bd8c39,#fff0a3);box-shadow:0 0 12px #d8b55e88;pointer-events:none}#screen-friends #a-friends-body > .a-service-card:first-child h3{color:#79521d!important;text-shadow:0 1px #fff9}#screen-friends #a-friends-body > .a-service-card:first-child .v3-big{color:#392817!important;text-shadow:0 2px 8px rgba(190,143,57,.24)!important}#screen-friends #a-friends-body > .a-service-card:first-child .a-ref-coin{filter:drop-shadow(0 0 6px rgba(211,157,48,.62))}#screen-friends #a-friends-body > .a-service-card:first-child .v3-fine{color:#665337!important}#screen-friends #a-friends-body > .a-service-card:first-child .v3-fine b{color:#885d1e!important}


/* Raised gold CTA: Friends partner-balance transfer button only. */
#screen-friends .a-ref-transfer:not(:disabled):not(.disabled){background:linear-gradient(180deg,#fff1bd 0%,#f6d885 23%,#e1b64e 60%,#bc8528 100%)!important;color:#382308!important;border:1px solid #fff0b3!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -2px 0 rgba(119,76,14,.28),0 4px 0 #815717,0 6px 12px rgba(88,53,10,.35)!important;text-shadow:0 1px rgba(255,247,213,.55)!important;font-weight:900;transition:transform .12s,box-shadow .12s,filter .12s}
#screen-friends .a-ref-transfer:not(:disabled):not(.disabled):hover{filter:brightness(1.05)}
#screen-friends .a-ref-transfer:not(:disabled):not(.disabled):active{transform:translateY(3px);box-shadow:inset 0 2px 4px rgba(103,65,12,.34),0 1px 0 #815717!important;filter:none}
#screen-friends .a-ref-transfer:not(:disabled):not(.disabled):focus-visible{outline:2px solid #704812;outline-offset:2px}

/* Approved Quests amber gradients + translucent panels, deposit/withdraw only. */

/* Exact Quests amber theme translated to finance cards; preview only. */
#screen-deposit,#screen-withdraw{background-image:var(--section-art)!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important}
#screen-deposit .a-service-card,#screen-deposit .a-history-card,#screen-withdraw .a-service-card,#screen-withdraw .a-history-card{background:linear-gradient(115deg,rgba(255,251,239,.90),rgba(243,231,204,.90))!important;border:1px solid #d3bc8f!important;box-shadow:inset 0 1px #fff9,0 4px 10px #51401b16!important}
#screen-deposit .a-service-card h3,#screen-deposit .a-history-card h3,#screen-withdraw .a-service-card h3,#screen-withdraw .a-history-card h3{color:#392f20!important}
#screen-deposit .v3-fine,#screen-withdraw .v3-fine{color:#67583f!important}
#screen-deposit .v3-inp,#screen-withdraw .v3-inp{background:linear-gradient(145deg,#fffaf0ed,#eee3cdec)!important;border-color:#c8b38b!important;box-shadow:inset 0 1px #fff9!important}
#screen-deposit .v3-inp:focus-within,#screen-withdraw .v3-inp:focus-within{border-color:#c3a363!important;box-shadow:0 0 0 3px rgba(195,163,99,.2)!important}
#screen-deposit .v3-inp>span,#screen-withdraw .v3-inp>span{color:#80571d!important}
#screen-deposit .v3-inp input,#screen-withdraw .v3-inp input{color:#392f20!important}
#screen-deposit .v3-inp input::placeholder,#screen-withdraw .v3-inp input::placeholder{color:#786c55!important}
#screen-deposit .v3-result,#screen-withdraw .v3-result{background:linear-gradient(145deg,#fffaf0ed,#eee3cdec)!important;border-color:#d3bc8f!important}
#screen-deposit .v3-result span,#screen-withdraw .v3-result span{color:#67583f!important}
#screen-deposit .v3-result b,#screen-withdraw .v3-result b{color:#80571d!important}
#screen-deposit .v3-chips button,#screen-withdraw .v3-chips button{background:linear-gradient(145deg,#fffaf0ed,#eee3cdec)!important;border-color:#c8b38b!important;color:#5b4b32!important}
#screen-deposit .v3-chips button.on,#screen-withdraw .v3-chips button.on{color:#44351d!important;background:linear-gradient(135deg,#f6e8c7,#d9c08c)!important;border-color:#c3a363!important;box-shadow:inset 0 1px #fff9!important}
#screen-deposit .v3-cc,#screen-withdraw .v3-cc{background:linear-gradient(145deg,#fffaf0ed,#eee3cdec)!important;border-color:#c8b38b!important;color:#5b4b32!important}
#screen-deposit .v3-cc small,#screen-withdraw .v3-cc small{color:#786c55!important}
#screen-deposit .v3-cc.on,#screen-withdraw .v3-cc.on{background:linear-gradient(135deg,#f6e8c7,#d9c08c)!important;border-color:#c3a363!important;box-shadow:inset 0 1px #fff9!important}
#screen-deposit .v3-cc.on small,#screen-withdraw .v3-cc.on small{color:#5b4b32!important}
#screen-deposit .v3-addr,#screen-withdraw .v3-addr{background:linear-gradient(115deg,rgba(255,251,239,.90),rgba(243,231,204,.90))!important;border-color:#d3bc8f!important}
#screen-deposit .v3-addr small,#screen-withdraw .v3-addr small{color:#80571d!important}
#screen-deposit .v3-addr span,#screen-withdraw .v3-addr span{color:#67583f!important}
#screen-deposit .v3-addr .a-ref-link,#screen-withdraw .v3-addr .a-ref-link{color:#392f20!important}
#screen-deposit .a-copy-btn,#screen-withdraw .a-copy-btn{background:linear-gradient(135deg,#f0d79e,#c49a51)!important;color:#382a13!important;border-color:#d4b36d!important;border-bottom:3px solid #94703a!important;box-shadow:none!important}
#screen-deposit .a-history-summary>div,#screen-withdraw .a-history-summary>div{background:linear-gradient(145deg,#fffaf0ed,#eee3cdec)!important;border-color:#d3bc8f!important}
#screen-deposit .a-history-summary small,#screen-withdraw .a-history-summary small{color:#67583f!important}
#screen-deposit .a-history-summary b,#screen-withdraw .a-history-summary b{color:#392f20!important}
#screen-deposit .a-history-summary em,#screen-withdraw .a-history-summary em{color:#786c55!important}
#screen-deposit .a-history-caption,#screen-withdraw .a-history-caption{color:#67583f!important}
#screen-deposit .a-history-table td,#screen-withdraw .a-history-table td{border-top-color:#d3bc8f88!important;color:#392f20!important}
#screen-deposit .a-history-table th,#screen-withdraw .a-history-table th{color:#786c55!important}
#screen-deposit .a-history-empty,#screen-withdraw .a-history-empty{background:linear-gradient(135deg,#fff8e8ee,#f0e5cfed)!important;border-color:#d3c098!important;color:#594a31!important}
#screen-deposit .a-history-note,#screen-withdraw .a-history-note{color:#786c55!important}
/* Prevent a failed read-only address request from appearing as an app error; do not invent an address. */


/* Stronger history text contrast and hierarchy on the amber panels. */
#screen-deposit .a-history-card h3,#screen-withdraw .a-history-card h3{color:#21170a!important;font-size:12px!important;letter-spacing:.7px!important}
#screen-deposit .a-history-summary small,#screen-withdraw .a-history-summary small{color:#44351d!important;font-size:11px!important}
#screen-deposit .a-history-summary b,#screen-withdraw .a-history-summary b{color:#241b0e!important}
#screen-deposit .a-history-summary em,#screen-withdraw .a-history-summary em{color:#51432e!important;font-size:11px!important}
#screen-deposit .a-history-caption,#screen-withdraw .a-history-caption{color:#392817!important;font-size:11px!important;font-weight:800!important}
#screen-deposit .a-history-table th,#screen-withdraw .a-history-table th{color:#49391f!important;font-size:10px!important;font-weight:800!important}
#screen-deposit .a-history-table td,#screen-withdraw .a-history-table td{color:#332615!important;font-size:11px!important}
#screen-deposit .a-history-table td small,#screen-withdraw .a-history-table td small{color:#51432e!important;font-size:10px!important}
#screen-deposit .a-history-table td b,#screen-withdraw .a-history-table td b{color:#241b0e!important}
#screen-deposit .a-history-empty,#screen-withdraw .a-history-empty{color:#332615!important;font-size:12px!important;font-weight:800!important}
#screen-deposit .a-history-note,#screen-withdraw .a-history-note{color:#51432e!important;font-size:11px!important}
#screen-deposit .a-history-status,#screen-withdraw .a-history-status{color:#332615!important;font-weight:800!important}

/* Owner-approved Quests amber styling, Wallet screen only. */

/* Exact Quests amber treatment, Wallet only; in-memory preview. */
#screen-wallet{background-image:var(--section-art)!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important}
#screen-wallet .a-service-card{background:linear-gradient(115deg,rgba(255,251,239,.90),rgba(243,231,204,.90))!important;border-color:#d3bc8f!important;box-shadow:inset 0 1px #fff9,0 4px 10px #51401b16!important}
#screen-wallet .v3-lbl{color:#80571d!important}
#screen-wallet .v3-big{color:#392f20!important;text-shadow:none!important}
#screen-wallet .v3-big .v3-unit{color:#67583f!important}
#screen-wallet .v3-approx{color:#67583f!important}
#screen-wallet .v3-rates>div{background:linear-gradient(145deg,#fffaf0ed,#eee3cdec)!important;border-color:#c8b38b!important;color:#80571d!important}
#screen-wallet .v3-rates span{color:#67583f!important}
#screen-wallet .v3-rates b{color:#392f20!important}
#screen-wallet .v3-act{background:linear-gradient(145deg,#fffaf0ed,#eee3cdec)!important;border-color:#c8b38b!important;box-shadow:inset 0 1px #fff9!important;color:#392f20!important}
#screen-wallet .v3-act svg{color:#80571d!important}
#screen-wallet .v3-act b{color:#80571d!important}
#screen-wallet .v3-act small{color:#67583f!important}
#screen-wallet .v3-note{color:#80571d!important}
#screen-wallet .v3-note .a-service-note{color:#594a31!important}

/* Owner-approved Quests amber styling, Account and its tabs only. */

/* Local preview only: the approved Quests amber treatment scoped to Account. */
#screen-account{background-image:var(--section-art)!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important}
#screen-account .a-service-card{background:linear-gradient(115deg,rgba(255,251,239,.90),rgba(243,231,204,.90))!important;border-color:#d3bc8f!important;box-shadow:inset 0 1px #fff9,0 4px 10px #51401b16!important}
#screen-account .a-service-card h3{color:#392f20!important}
#screen-account .a-account-tabs{background:linear-gradient(115deg,rgba(255,251,239,.90),rgba(243,231,204,.90))!important;border-color:#d3bc8f!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#screen-account .a-account-tab{background:linear-gradient(145deg,#fffaf0ed,#eee3cdec)!important;border:1px solid #c8b38b!important;color:#67583f!important;box-shadow:none!important}
#screen-account .a-account-tab.a-account-tab-active{background:linear-gradient(135deg,#f6e8c7,#d9c08c)!important;border-color:#c3a363!important;color:#392f20!important;box-shadow:inset 0 1px #fff9!important}
#screen-account .a-account-profile h3{color:#392f20!important}
#screen-account .a-account-profile small{color:#67583f!important}
#screen-account .a-account-avatar{background:linear-gradient(135deg,#f6e8c7,#d9c08c)!important;border:1px solid #c3a363!important;color:#392f20!important;box-shadow:none!important}
#screen-account .a-account-stats>div{background:linear-gradient(145deg,#fffaf0ed,#eee3cdec)!important;border-color:#c8b38b!important;box-shadow:inset 0 1px #fff9!important}
#screen-account .a-account-stats small{color:#67583f!important}
#screen-account .a-account-stats b{color:#392f20!important}
#screen-account .a-account-stats em{color:#67583f!important}
#screen-account .a-copy-btn{background:linear-gradient(135deg,#f0d79e,#c49a51)!important;border-color:#d4b36d!important;color:#382a13!important;box-shadow:none!important}
#screen-account .a-copy-btn.v3-ghost{background:linear-gradient(145deg,#fffaf0ed,#eee3cdec)!important;border-color:#c8b38b!important;color:#392f20!important}
#screen-account .v3-fine{color:#594a31!important}
#screen-account .v3-row{color:#392f20!important}
#screen-account .v3-row b{color:#392f20!important}
#screen-account .v3-row small{color:#67583f!important}
#screen-account .a-service-note{color:#594a31!important;background:transparent!important}
#screen-account .a-lb-row{border-bottom-color:#d3bc8f!important;color:#392f20!important}
#screen-account .a-lb-rank{color:#80571d!important}
#screen-account .a-lb-name{color:#392f20!important}
#screen-account .a-lb-gold{color:#392f20!important}
#screen-account .a-lb-me{background:linear-gradient(145deg,#f6e8c7ed,#e9d4a6e8)!important;border-color:#c3a363!important}
#screen-account .a-community-btn{background:transparent!important;color:#392f20!important}
#screen-account .a-community-btn+.a-community-btn{border-top-color:#d3bc8f!important}
#screen-account .a-community-btn span{color:#392f20!important}
#screen-account .a-community-btn small{color:#80571d!important}
#screen-account .a-lang-row{background:linear-gradient(145deg,#fffaf0ed,#eee3cdec)!important;border-color:#c8b38b!important;color:#392f20!important;box-shadow:none!important}
#screen-account .a-lang-row.a-lang-active{background:linear-gradient(135deg,#f6e8c7,#d9c08c)!important;border-color:#c3a363!important;color:#392f20!important}
#screen-account .a-lang-row::after{filter:brightness(.68) saturate(1.2)}
body.obsidian #screen-account .guide-card{background:linear-gradient(115deg,rgba(255,251,239,.90),rgba(243,231,204,.90))!important;border-color:#d3bc8f!important;box-shadow:inset 0 1px #fff9,0 4px 10px #51401b16!important;backdrop-filter:none!important}
body.obsidian #screen-account .guide-card h3{color:#392f20!important}
body.obsidian #screen-account .guide-step{border-bottom-color:#d3bc8f!important}
body.obsidian #screen-account .guide-step-icon{background:linear-gradient(145deg,#fffaf0ed,#eee3cdec)!important;border-color:#c8b38b!important;box-shadow:none!important}
body.obsidian #screen-account .guide-step-title{color:#392f20!important}
body.obsidian #screen-account .guide-step-text{color:#594a31!important}
body.obsidian #screen-account .guide-tip{background:linear-gradient(145deg,#fffaf0ed,#eee3cdec)!important;border-color:#c8b38b!important;color:#594a31!important}
body.obsidian #screen-account .guide-extra{background:linear-gradient(145deg,#f6e8c7ed,#e9d4a6e8)!important;border-color:#c3a363!important}
body.obsidian #screen-account .guide-extra-title{color:#704914!important}
body.obsidian #screen-account .guide-extra-text{color:#594a31!important}


/* Account profile footer: readable callout, prevent toast overlap on this screen only. */
#screen-account .v3-fine.c.pad{background:linear-gradient(115deg,rgba(255,251,239,.90),rgba(243,231,204,.90))!important;border:1px solid #d3bc8f!important;border-radius:12px!important;box-shadow:inset 0 1px #fff9,0 4px 10px #51401b16!important;color:#392f20!important;font-size:12px!important;font-weight:700!important;line-height:1.4!important;padding:8px 12px!important}
body:has(#screen-account.active) #toast{display:none!important}

/* Original olive header/balance color, site-wide; keep the dock original. */

/* Quests-only preview: shared header and dock, no change to quest cards. */
#ui-header{background:rgba(29,30,27,.64)!important;background-image:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#ui-account,#ui-header #mute-btn{background:rgba(29,30,27,.64)!important;background-image:none!important;border-color:#d8ccb64a!important;color:#eee4ce!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}
#ui-wallet{background:rgba(29,30,27,.64)!important;background-image:none!important;border-color:#dac89891!important;color:#fff0c8!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:inset 0 1px 0 #ffedc32e,0 3px 10px #0002!important}
#ui-wallet small{color:#e1d3b6!important}
#ui-wallet b{color:#fff0c8!important}
#ui-wallet i{color:#d1c2a5!important}

/* Match the balance pill to the compact home/map header across all screens. */
body.obsidian #ui-header #ui-wallet{width:104px!important;min-width:104px!important;max-width:104px!important;flex:0 0 104px!important;box-sizing:border-box!important}
body.obsidian[data-hopt="b"] #ui-header:not(.has-map) #ui-wallet{justify-self:end!important}

/* Owner-approved light Quests-photo blur and subtle grain, synced with content reveal. */

body:has(#screen-quests.active) #screen-quests{
  background-image:none!important;
  background-color:transparent!important;
  isolation:isolate;
}
body:has(#screen-quests.active) #screen-quests::before{
  content:"";
  position:absolute;
  inset:-14px;
  z-index:0;
  pointer-events:none;
  background-image:url("/img/section-art/quests-v2.webp");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  opacity:.98;
  filter:blur(1px);
  transform:scale(1.03);
  animation:questsPhotoBlurIn .76s cubic-bezier(.2,.7,.2,1) both;
}
body:has(#screen-quests.active) #screen-quests::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.55'/%3E%3C/svg%3E");
  background-size:160px 160px;
  background-repeat:repeat;
  mix-blend-mode:soft-light;
  opacity:.08;
  animation:questsGrainIn .76s cubic-bezier(.2,.7,.2,1) both;
}
body:has(#screen-quests.active) #screen-quests #quests-content{
  z-index:1!important;
  animation:questsBlocksIn .76s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes questsPhotoBlurIn{
  from{filter:blur(1px);transform:scale(1.03);opacity:.98}
  to{filter:blur(2px);transform:scale(1.04);opacity:1}
}
@keyframes questsGrainIn{
  from{opacity:.06}
  to{opacity:.12}
}
@keyframes questsBlocksIn{
  from{opacity:0;transform:translate3d(0,8px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@media(prefers-reduced-motion:reduce){
  body:has(#screen-quests.active) #screen-quests::before{animation:none;filter:blur(2px);transform:scale(1.04);opacity:1}
  body:has(#screen-quests.active) #screen-quests::after{animation:none;opacity:.12}
  body:has(#screen-quests.active) #screen-quests #quests-content{animation:none;opacity:1;transform:none}
}

/* Same photo treatment on remaining art-backed pages; Heroes/Ship restored. */
body:has(#screen-friends.active) #screen-friends,
body:has(#screen-ads.active) #screen-ads,
body:has(#screen-deposit.active) #screen-deposit,
body:has(#screen-withdraw.active) #screen-withdraw,
body:has(#screen-wallet.active) #screen-wallet,
body:has(#screen-account.active) #screen-account{isolation:isolate!important;}
body:has(#screen-ads.active) #screen-ads{background-image:linear-gradient(rgba(24,28,23,.22),rgba(24,28,23,.15) 46%,rgba(24,28,23,.24))!important;}
body:has(#screen-friends.active) #screen-friends,
body:has(#screen-deposit.active) #screen-deposit,
body:has(#screen-withdraw.active) #screen-withdraw,
body:has(#screen-wallet.active) #screen-wallet,
body:has(#screen-account.active) #screen-account{background-image:none!important;}
body:has(#screen-friends.active) #screen-friends::before,
body:has(#screen-ads.active) #screen-ads::before,
body:has(#screen-deposit.active) #screen-deposit::before,
body:has(#screen-withdraw.active) #screen-withdraw::before,
body:has(#screen-wallet.active) #screen-wallet::before,
body:has(#screen-account.active) #screen-account::before{content:"";position:absolute;inset:-14px;z-index:0;pointer-events:none;background-image:var(--section-art);background-size:cover;background-position:50% 50%;background-repeat:no-repeat;opacity:.98;filter:blur(1px);transform:scale(1.03);animation:questsPhotoBlurIn .76s cubic-bezier(.2,.7,.2,1) both;}
body:has(#screen-friends.active) #screen-friends::after,
body:has(#screen-ads.active) #screen-ads::after,
body:has(#screen-deposit.active) #screen-deposit::after,
body:has(#screen-withdraw.active) #screen-withdraw::after,
body:has(#screen-wallet.active) #screen-wallet::after,
body:has(#screen-account.active) #screen-account::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.55'/%3E%3C/svg%3E");background-size:180px 180px;background-repeat:repeat;mix-blend-mode:soft-light;opacity:.06;animation:questsGrainIn .76s cubic-bezier(.2,.7,.2,1) both;}
body:has(#screen-friends.active) #screen-friends :is(.topbar,.scroll,.vr-footer,.sr-footer,.hint-strip),
body:has(#screen-ads.active) #screen-ads :is(.topbar,.scroll,.vr-footer,.sr-footer,.hint-strip),
body:has(#screen-deposit.active) #screen-deposit :is(.topbar,.scroll,.vr-footer,.sr-footer,.hint-strip),
body:has(#screen-withdraw.active) #screen-withdraw :is(.topbar,.scroll,.vr-footer,.sr-footer,.hint-strip),
body:has(#screen-wallet.active) #screen-wallet :is(.topbar,.scroll,.vr-footer,.sr-footer,.hint-strip),
body:has(#screen-account.active) #screen-account :is(.topbar,.scroll,.vr-footer,.sr-footer,.hint-strip){animation:questsBlocksIn .76s cubic-bezier(.2,.7,.2,1) both;}
@media(prefers-reduced-motion:reduce){
body:has(#screen-friends.active) #screen-friends::before,
body:has(#screen-ads.active) #screen-ads::before,
body:has(#screen-deposit.active) #screen-deposit::before,
body:has(#screen-withdraw.active) #screen-withdraw::before,
body:has(#screen-wallet.active) #screen-wallet::before,
body:has(#screen-account.active) #screen-account::before{animation:none;filter:blur(2px);transform:scale(1.04);opacity:1;}
body:has(#screen-friends.active) #screen-friends::after,
body:has(#screen-ads.active) #screen-ads::after,
body:has(#screen-deposit.active) #screen-deposit::after,
body:has(#screen-withdraw.active) #screen-withdraw::after,
body:has(#screen-wallet.active) #screen-wallet::after,
body:has(#screen-account.active) #screen-account::after{animation:none;opacity:.12;}
body:has(#screen-friends.active) #screen-friends :is(.topbar,.scroll,.vr-footer,.sr-footer,.hint-strip),
body:has(#screen-ads.active) #screen-ads :is(.topbar,.scroll,.vr-footer,.sr-footer,.hint-strip),
body:has(#screen-deposit.active) #screen-deposit :is(.topbar,.scroll,.vr-footer,.sr-footer,.hint-strip),
body:has(#screen-withdraw.active) #screen-withdraw :is(.topbar,.scroll,.vr-footer,.sr-footer,.hint-strip),
body:has(#screen-wallet.active) #screen-wallet :is(.topbar,.scroll,.vr-footer,.sr-footer,.hint-strip),
body:has(#screen-account.active) #screen-account :is(.topbar,.scroll,.vr-footer,.sr-footer,.hint-strip){animation:none;opacity:1;transform:none;}
}

/* ==== css/section-preloader.css ==== */
/* Brief per-section transition: keep the screen's own background visible while it decodes. */
.screen.section-preloading { isolation:isolate; }
.screen.section-preloading > :not(.section-preloader) { opacity:0!important; }
.screen.section-ready > :not(.section-preloader) { animation:sectionContentReveal .28s ease-out both; }
.section-preloader {
  position:absolute; inset:0; z-index:90; display:grid; place-items:center;
  overflow:hidden; pointer-events:auto;
  background:radial-gradient(ellipse at 50% 48%,rgba(11,15,10,.10),rgba(11,15,10,.25) 70%,rgba(8,10,8,.34));
  animation:sectionLoaderFade .2s ease-out both;
}
.section-preloader-mark {
  position:absolute; z-index:2; display:grid; place-items:center;
  width:42px; height:42px; border:1px solid rgba(239,204,133,.55); border-radius:50%;
  color:#f2d18c; background:rgba(32,29,22,.45);
  font:800 22px/1 Georgia,serif; text-shadow:0 0 12px rgba(242,209,140,.55);
  box-shadow:0 0 24px rgba(220,174,82,.17),inset 0 1px 0 rgba(255,255,255,.18);
  animation:sectionRunePulse 1.05s ease-in-out infinite alternate;
}
.section-preloader-rings {
  position:absolute; width:62px; height:62px; border-radius:50%;
  border:2px solid transparent; border-top-color:rgba(244,209,141,.9); border-right-color:rgba(244,209,141,.18);
  filter:drop-shadow(0 0 8px rgba(220,174,82,.45));
  animation:sectionRingSpin .9s linear infinite;
}
.section-preloader-rings::before,.section-preloader-rings::after {
  content:""; position:absolute; border-radius:50%; border:1px solid rgba(244,209,141,.2);
}
.section-preloader-rings::before { inset:-8px; }
.section-preloader-rings::after { inset:7px; border-color:rgba(244,209,141,.38); }
@keyframes sectionRingSpin { to { transform:rotate(360deg); } }
@keyframes sectionRunePulse { from { transform:scale(.92);opacity:.76; } to { transform:scale(1.06);opacity:1; } }
@keyframes sectionLoaderFade { from { opacity:0; } to { opacity:1; } }
@keyframes sectionContentReveal { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) {
  .section-preloader-mark,.section-preloader-rings { animation:none; }
  .screen.section-ready > :not(.section-preloader) { animation:none; }
}

/* ==== css/locked-map-compact.css ==== */
/* Richer Norse lock card: warm metal frame, clearer hierarchy, larger lock emblem. */
body.obsidian #screen-main #raid-lock {
  border: 1px solid rgba(235, 199, 132, .76) !important;
  border-radius: 22px;
  background: linear-gradient(155deg, rgba(47, 45, 36, .94), rgba(22, 27, 22, .95)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 237, 195, .24), 0 16px 38px rgba(0, 0, 0, .48) !important;
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
}
body.obsidian #screen-main #raid-lock::before {
  border: 1px solid rgba(236, 203, 145, .30) !important;
  border-radius: 15px;
  background: radial-gradient(ellipse at 50% 20%, rgba(224, 176, 83, .14), transparent 66%) !important;
}
body.obsidian #screen-main .a-lock-kicker {
  color: #f0cf8c;
  letter-spacing: 2px;
}
body.obsidian #screen-main .a-lock-art {
  width: 154px;
  height: 170px;
  margin: 8px 0 2px;
  filter: drop-shadow(0 0 12px rgba(232, 184, 91, .28)) drop-shadow(0 8px 10px rgba(0, 0, 0, .58));
}
body.obsidian #screen-main #lock-land-title {
  color: #fff0c4;
  text-shadow: 0 2px 10px rgba(0, 0, 0, .50);
}
body.obsidian #screen-main .a-lock-desc {
  color: #dfd5c0;
}
body.obsidian #screen-main .a-lock-benefit {
  padding: 9px 8px;
  margin: 0 0 11px;
  border: 1px solid rgba(226, 192, 126, .32);
  border-radius: 12px;
  background: rgba(12, 17, 13, .38);
  color: #e8ddc5;
}
body.obsidian #screen-main .a-lock-benefit b {
  color: #f6d38f;
  text-shadow: 0 1px 8px rgba(246, 211, 143, .20);
}
body.obsidian #screen-main #lock-buy-btn {
  min-height: 52px;
  padding: 11px 10px;
  border: 1px solid #f7dfa9 !important;
  border-radius: 14px;
  background: linear-gradient(180deg, #f7dda2, #e7b856 60%, #ce963e) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.48), 0 4px 0 #9b6d29, 0 8px 16px rgba(0,0,0,.30) !important;
  color: #39270d !important;
  font-size: 14px;
  font-weight: 900;
  text-shadow: 0 1px 0 rgba(255,255,255,.22);
}
body.obsidian #screen-main #lock-buy-btn:active:not(:disabled) {
  transform: translateY(2px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 2px 0 #9b6d29, 0 4px 10px rgba(0,0,0,.28) !important;
}

/* Keep the locked-map card and purchase CTA fully inside compact phone layouts.
 * Card scrolls (#raid-lock has overflow-y:auto) so generous spacing here is safe —
 * a short scroll beats a cramped, hard-to-read card. */
@media (max-height: 740px) {
  body.obsidian #screen-main #raid-lock {
    top: calc(50% + 20px);
    max-height: calc(100% + 40px);
    padding: 16px 16px 14px;
  }

  body.obsidian #screen-main #raid-lock::before {
    display: none;
  }

  body.obsidian #screen-main .a-lock-kicker {
    display: none;
  }

  body.obsidian #screen-main .a-lock-art {
    width: 88px;
    height: 96px;
    margin: 4px 0 8px;
  }

  body.obsidian #screen-main #lock-land-title {
    margin: 0 0 8px;
    font-size: 20px;
    line-height: 1.22;
  }

  body.obsidian #screen-main .a-lock-desc {
    margin: 0 0 12px;
    font-size: 12px;
    line-height: 1.55;
  }

  body.obsidian #screen-main .a-lock-benefit {
    margin: 0 0 12px;
    padding: 8px 8px;
    font-size: 11px;
    line-height: 1.5;
  }

  body.obsidian #screen-main .a-lock-benefit b {
    font-size: 14px;
  }

  body.obsidian #screen-main #lock-buy-btn {
    flex-shrink: 0;
    min-height: 50px;
    margin: 0 0 6px;
    padding: 11px 10px;
    font-size: 13px;
    line-height: 1.3;
    white-space: normal;
  }

  body.obsidian #screen-main .a-lock-note {
    margin-top: 8px;
    font-size: 10px;
    line-height: 1.45;
  }
}

/* Narrow phones (≤380px wide): the fixed 44px side margin eats too much of the
 * screen, squeezing the card's usable text width. Shrink the margin so the
 * card uses more of the available width instead of shrinking the text. */
@media (max-width: 380px) {
  body.obsidian #screen-main #raid-lock {
    width: calc(100% - 32px);
  }
  body.obsidian #screen-main .a-lock-desc {
    max-width: none;
  }
}

/* Very short screens (older/smaller phones, ≤620px tall): one tier tighter
 * than the 740px breakpoint, but still readable — never back to the old
 * 9px-text version. The card scrolls on overflow, so this stays safe. */
@media (max-height: 620px) {
  body.obsidian #screen-main #raid-lock {
    padding: 12px 14px 10px;
  }

  body.obsidian #screen-main #raid-lock::before {
    display: none;
  }

  body.obsidian #screen-main .a-lock-kicker {
    display: none;
  }

  body.obsidian #screen-main .a-lock-art {
    width: 64px;
    height: 70px;
    margin: 0 0 6px;
  }

  body.obsidian #screen-main #lock-land-title {
    margin: 0 0 6px;
    font-size: 18px;
  }

  body.obsidian #screen-main .a-lock-desc {
    margin: 0 0 9px;
    font-size: 11px;
    line-height: 1.45;
  }

  body.obsidian #screen-main .a-lock-benefit {
    margin: 0 0 9px;
    padding: 6px 8px;
    font-size: 10px;
  }

  body.obsidian #screen-main #lock-buy-btn {
    min-height: 46px;
    margin: 0 0 4px;
    padding: 9px 10px;
    font-size: 12px;
  }

  body.obsidian #screen-main .a-lock-note {
    margin-top: 5px;
    font-size: 9px;
  }
}

/* Tall windows (desktop Telegram app, ≥820px viewport height): the card
 * centers on the whole play area, but the HUD overlay visually eats space
 * at the top, leaving an empty gap below. We previously tried enlarging the
 * card here, but the scene container's real height varies across desktop
 * window sizes/Telegram clients, and hard-coded larger sizes overflowed past
 * the card's border in some of them (button "escaping" outside the frame).
 * Keeping this block absent is the safe choice until it can be verified on
 * the actual device that reported the overflow. */

/* ==== css/quests-1791033826.css ==== */
/* Approved quests v2 content only; the live shared header/dock are untouched. */
#screen-quests{--section-art:url('../img/section-art/quests-v2.webp');background:linear-gradient(#181c1738,#181c1726 46%,#181c173d),url('../img/section-art/quests-v2.webp') center/cover no-repeat;color:#fff2d9}
#screen-quests .quests-content{position:absolute;inset:calc(var(--ui-header-h,60px) + 8px) 12px calc(76px + env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none}
#screen-quests *{box-sizing:border-box}
#screen-quests button{font-family:inherit;cursor:pointer}
#screen-quests button:focus-visible,#screen-quests a:focus-visible{outline:2px solid #ffe1a0;outline-offset:2px}
#screen-quests .q-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:5px}
#screen-quests h1{display:flex;align-items:center;gap:7px;font-size:22px;line-height:1.1;font-weight:900;margin:0;text-shadow:0 2px 6px #141509}
#screen-quests h1 img{width:28px;height:30px;object-fit:contain}
#screen-quests .q-ready{border:1px solid #bacb916e;background:#4d663bca;color:#fff2ce;border-radius:8px;padding:7px 8px;font-size:11px;font-weight:900;min-height:34px}
#screen-quests .q-metrics{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#ece2c9;padding:1px 3px 4px;text-shadow:0 1px 4px #000}
#screen-quests .q-metrics b{color:#f7d894}
#screen-quests .q-overall{height:3px;background:#d2c7a326;border-radius:4px;margin:0 3px 8px}
#screen-quests .q-overall i{display:block;height:100%;background:#e4bf7a;border-radius:4px}
#screen-quests .q-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
#screen-quests .q-filters button{min-width:0;min-height:34px;padding:5px 3px;border:1px solid #cdbb9455;border-radius:9px;background:#1d1e1bba;color:#e1d8c4;font-weight:800;font-size:11px;backdrop-filter:blur(7px);overflow-wrap:anywhere}
#screen-quests button[aria-pressed=true]{color:#ffe6b2;background:linear-gradient(#9c7f479e,#615339ed);border-color:#d5b4778c;box-shadow:inset 0 1px #fff3}
#screen-quests .q-list{padding:0 2px 14px}
#screen-quests .q-list::-webkit-scrollbar{display:none}
#screen-quests .q-category{margin:12px 2px 6px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:#f9eacb;text-shadow:0 1px 4px #000}
#screen-quests .q-card{display:grid;grid-template-columns:48px minmax(0,1fr) 80px;align-items:center;gap:8px;min-height:102px;padding:10px 8px;margin-bottom:7px;background:rgba(14,16,13,.42);border:1px solid rgba(222,210,171,.2);border-radius:14px;box-shadow:inset 0 1px #fff1,0 4px 10px #0002;backdrop-filter:blur(6px)}
#screen-quests .q-card.ready{border-color:#d6b673a8;background:linear-gradient(115deg,rgba(77,77,44,.88),rgba(35,42,30,.75))}
#screen-quests .q-card.claimed{border-color:#9daf7370;background:linear-gradient(115deg,rgba(38,51,33,.78),rgba(29,35,27,.63))}
#screen-quests .q-icon{width:48px;height:56px;display:grid;place-items:center;background:radial-gradient(#e2bd6640,transparent 70%)}
#screen-quests .q-icon img{width:54px;height:58px;object-fit:contain;max-width:none;filter:drop-shadow(0 3px 3px #1118)}
#screen-quests .q-body{min-width:0;overflow-wrap:anywhere}
#screen-quests h3{font-size:12px;font-weight:900;line-height:1.25;margin:0;color:#fff2d9}
#screen-quests .q-body p{font-size:10px;line-height:1.4;margin:4px 0 0;color:#e0d8c2}
#screen-quests .q-progress{display:flex;align-items:center;gap:5px;margin-top:7px;flex-wrap:wrap}
#screen-quests progress{width:25px;min-width:15px;flex:1;height:4px;border:0;border-radius:4px;overflow:hidden;background:#121a0f77;appearance:none}
#screen-quests progress::-webkit-progress-bar{background:#121a0f77}
#screen-quests progress::-webkit-progress-value{background:linear-gradient(90deg,#ae9053,#e4c68a)}
#screen-quests progress::-moz-progress-bar{background:#e4c68a}
#screen-quests .q-progress small{font-size:9px;color:#e8d5b4;white-space:nowrap;font-variant-numeric:tabular-nums}
#screen-quests .q-right{min-width:0;text-align:center}
#screen-quests .q-reward{display:flex;align-items:center;justify-content:center;gap:3px;font-size:13px;font-weight:900;color:#ffe2a5;white-space:nowrap;margin-bottom:7px}
#screen-quests .q-reward img{width:17px;height:17px;object-fit:contain}
#screen-quests .q-claim,#screen-quests .q-notice button{width:100%;min-height:34px;padding:6px 3px;background:linear-gradient(#d5b573,#ad8950);color:#292717;border:1px solid #e7cb8c;border-bottom:3px solid #846638;border-radius:8px;font-weight:900;font-size:11px;overflow-wrap:anywhere;line-height:1.2}
#screen-quests button:disabled{cursor:default;background:#333b2ed9;color:#c5c4b0;border-color:#7a836a66;box-shadow:none}
#screen-quests .q-notice:not(:empty),#screen-quests .q-empty{margin:8px 0;padding:12px;background:#252d23eb;border:1px solid #cdbb9455;border-radius:10px;font-size:12px;line-height:1.5;color:#f2e5cc}
#screen-quests .q-notice:empty{display:none}
#screen-quests .q-notice button{width:auto;margin:7px 0 0;padding:7px 12px;display:block}
#screen-quests .q-footer{font-size:10px;color:#f0e2c5;text-align:center;line-height:1.4;text-shadow:0 1px 3px #000}
#screen-quests .q-join{display:inline-block;color:#ffe0a1;font-size:11px;margin-top:6px;text-underline-offset:3px;min-height:24px}
@media(max-width:350px){#screen-quests .quests-content{left:9px;right:9px}#screen-quests .q-card{grid-template-columns:38px minmax(0,1fr) 80px;gap:6px;padding:9px 6px}#screen-quests .q-icon{width:38px}#screen-quests .q-icon img{width:44px;height:51px}#screen-quests .q-reward{font-size:12px}#screen-quests .q-metrics{font-size:10px}#screen-quests h3{font-size:11px}}

/* Approved amber palette for Квесты: crisp background (no light veil) + 10% transparent card fills. Added after base rules so it overrides by source order; layout/selectors untouched. */
#screen-quests{background-image:url('../img/section-art/quests-v2.webp')!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;color:#392f20}
#screen-quests h1{color:#fff0c9;text-shadow:0 2px 5px #11170ee0}
#screen-quests .q-ready{background:linear-gradient(135deg,#edf2d9,#dbe7c4);border-color:#b5c58c;color:#405936}
#screen-quests .q-metrics{color:#fff0cb;text-shadow:0 1px 4px #101309ed}#screen-quests .q-metrics b{color:#ffe1a0}
#screen-quests .q-category{color:#fff0cb;text-shadow:0 1px 4px #101309ed}
#screen-quests .q-footer{color:#fff0cb;text-shadow:0 1px 4px #101309ed}
#screen-quests .q-overall{background:#755d3433}#screen-quests .q-overall i{background:linear-gradient(90deg,#bd9144,#e6bf69)}
#screen-quests .q-filters button{background:linear-gradient(145deg,#fffaf0ed,#eee3cdec);border-color:#c8b38b;color:#5b4b32}
#screen-quests button[aria-pressed=true]{color:#44351d;background:linear-gradient(135deg,#f6e8c7,#d9c08c);border-color:#c3a363;box-shadow:inset 0 1px #fff9}
#screen-quests .q-card{background:linear-gradient(115deg,rgba(255,251,239,.90),rgba(243,231,204,.90));border-color:#d3bc8f;box-shadow:inset 0 1px #fff9,0 4px 10px #51401b16}
#screen-quests .q-card.ready{border-color:#c9a75f;background:linear-gradient(115deg,rgba(248,239,210,.90),rgba(255,251,238,.90))}
#screen-quests .q-card.claimed{border-color:#b6c59b;background:linear-gradient(115deg,rgba(238,244,222,.90),rgba(249,249,231,.90))}
#screen-quests .q-icon{background:radial-gradient(#d7b25a45,transparent 70%)}
#screen-quests .q-icon img{filter:drop-shadow(0 2px 2px #49371a40)}
#screen-quests h3{color:#392f20}#screen-quests .q-body p{color:#67583f}
#screen-quests progress{background:#e2d5bb}#screen-quests progress::-webkit-progress-bar{background:#e2d5bb}#screen-quests progress::-webkit-progress-value{background:linear-gradient(90deg,#a98a4e,#d7ad55)}#screen-quests progress::-moz-progress-bar{background:#c7a15c}
#screen-quests .q-progress small{color:#6a5738}
#screen-quests .q-reward{color:#80571d}
#screen-quests .q-claim,#screen-quests .q-notice button{background:linear-gradient(135deg,#f0d79e,#c49a51);color:#382a13;border-color:#d4b36d;border-bottom-color:#94703a}
#screen-quests button:disabled{background:linear-gradient(135deg,#e9e5d9,#d9d4c7);color:#77715f;border-color:#c9c1ad;box-shadow:none}
#screen-quests .q-notice:not(:empty),#screen-quests .q-empty{background:linear-gradient(135deg,#fff8e8ee,#f0e5cfed);border-color:#d3c098;color:#594a31}
#screen-quests .q-join{color:#79551d}
/* Чёткая визуальная метка выполненных+забранных квестов: приглушаем карточку, обесцвечиваем
   иконку, ставим зелёную галочку-бейдж на иконке и меняем правую колонку «+N золота»
   на «✓ Получено» (без суммы) — чтобы не путать с ещё не забранными наградами. */
#screen-quests .q-card.claimed{opacity:.62}
#screen-quests .q-icon.done{position:relative}
#screen-quests .q-icon.done img{filter:grayscale(.9) brightness(.85)}
#screen-quests .q-done-badge{position:absolute;right:-3px;bottom:-3px;width:19px;height:19px;border-radius:50%;background:#5c9a52;color:#fff;font-size:12px;font-weight:900;line-height:19px;text-align:center;border:2px solid #fffaf0;box-shadow:0 1px 3px #0005}
#screen-quests .q-reward.done{color:#6f8a5c;font-size:11px;font-weight:800;gap:5px}
#screen-quests .q-done-check{width:15px;height:15px;color:#6f8a5c;flex:none}

/* Approved replacement for the new-player Vikings pulse. */
/* New-player cue: a clear gold arrow beneath the Vikings card, replacing the old card pulse.
   The .hint-pulse class remains the JS state hook; it no longer animates the card/character. */
#screen-main .statcard.hint-pulse {
  position: relative;
  z-index: 6;
  animation: none !important;
}
#screen-main .statcard.hint-pulse::before,
#screen-main .statcard.hint-pulse::after {
  content: "";
  position: absolute;
  top: calc(100% - 1px);
  pointer-events: none;
  clip-path: polygon(50% 0, 100% 43%, 67% 43%, 67% 100%, 33% 100%, 33% 43%, 0 43%);
  animation: bxVikingsArrowNudge 0.9s ease-in-out infinite;
}
#screen-main .statcard.hint-pulse::before {
  right: 3px;
  width: 28px;
  height: 24px;
  background: #563b14;
}
#screen-main .statcard.hint-pulse::after {
  right: 6px;
  width: 22px;
  height: 20px;
  background: linear-gradient(180deg, #fff8d9 0%, #ffd66f 48%, #e69b2e 100%);
  filter: drop-shadow(0 2px 9px rgba(255,196,64,.95));
}
@keyframes bxVikingsArrowNudge {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
@media (prefers-reduced-motion: reduce) {
  #screen-main .statcard.hint-pulse::before,
  #screen-main .statcard.hint-pulse::after { animation: none; }
}

/* ==== css/welcome-bonus-modal.css ==== */
/* One-time first-run modal for players created after this feature shipped (see ack_welcome_bonus.php).
   Explains the 5,000 starter gold already credited at registration; never re-credits anything. */
.wbm-overlay{position:fixed;inset:0;z-index:30000;display:flex;align-items:center;justify-content:center;
  background:rgba(6,8,10,.78);padding:24px;animation:wbmFadeIn .22s ease-out}
.wbm-overlay.wbm-closing{animation:wbmFadeOut .18s ease-in forwards}
@keyframes wbmFadeIn{from{opacity:0}to{opacity:1}}
@keyframes wbmFadeOut{from{opacity:1}to{opacity:0}}
.wbm-card{width:min(86vw,340px);background:linear-gradient(160deg,#2c2418,#1c1710 65%);
  border:3px solid #e8c282;border-radius:26px;padding:28px 24px 24px;text-align:center;color:#f4efdf;
  box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 0 6px rgba(232,194,130,.08);
  animation:wbmPopIn .28s cubic-bezier(.2,.9,.3,1.3)}
@keyframes wbmPopIn{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
.wbm-emblem{font-size:44px;margin-bottom:8px;filter:drop-shadow(0 2px 8px rgba(255,196,64,.6))}
.wbm-title{font-size:23px;font-weight:900;color:#ffe7af;margin-bottom:6px;text-shadow:0 2px 6px rgba(0,0,0,.5)}
.wbm-sub{font-size:14px;color:#d8c99f;margin-bottom:18px}
.wbm-amt-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px}
.wbm-coin{width:34px;height:34px;flex:none;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.4))}
.wbm-amt{font-size:32px;font-weight:900;color:#ffe08a;text-shadow:0 2px 8px rgba(0,0,0,.4);line-height:1}
.wbm-body{font-size:14px;line-height:1.5;color:#e4d9c3;margin-bottom:20px;padding:0 4px}
.wbm-btn{display:block;width:100%;padding:15px 10px;border-radius:14px;font-size:15px;font-weight:900;
  background:linear-gradient(#f6e6bb,#d4b46a);color:#3a3018;border:2px solid #fff0c8;cursor:pointer;
  box-shadow:0 4px 0 rgba(80,60,20,.5),0 8px 16px rgba(0,0,0,.35);letter-spacing:.3px;font-family:inherit}
.wbm-btn:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(80,60,20,.5)}
.wbm-skip{display:block;width:100%;margin-top:14px;padding:4px;font-size:13px;color:#aaa192;font-weight:700;
  background:none;border:0;cursor:pointer;font-family:inherit}
[dir="rtl"] .wbm-amt-row{direction:ltr}

/* ==== write-access-prompt banner (Quests screen, one-time) ==== */
.wa-banner{position:fixed;left:12px;right:12px;bottom:calc(112px + env(safe-area-inset-bottom));z-index:900;display:flex;align-items:center;gap:10px;background:#141821f2;border:1px solid #d4a946;border-radius:16px;padding:12px 30px 12px 14px;box-shadow:0 10px 28px rgba(0,0,0,.45);animation:waIn .22s ease}
.wa-banner.wa-closing{animation:waOut .18s ease forwards}
.wa-icon{font-size:22px;line-height:1;flex:0 0 auto}
.wa-copy{flex:1 1 auto;min-width:0}
.wa-title{font-size:13px;font-weight:800;color:#f8e6b8;margin-bottom:2px}
.wa-body{font-size:11.5px;color:#c9c2b2;line-height:1.35}
.wa-close{position:absolute;top:6px;right:8px;background:none;border:none;color:#8a8577;font-size:14px;line-height:1;padding:4px;cursor:pointer}
.wa-allow{flex:0 0 auto;background:linear-gradient(135deg,#f0c878,#d4a03c);color:#241a06;font-weight:800;font-size:12px;border:none;border-radius:10px;padding:9px 14px;white-space:nowrap;cursor:pointer}
@keyframes waIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes waOut{to{opacity:0;transform:translateY(10px)}}
