:root{
  --safe-top:max(env(safe-area-inset-top),10px);--safe-bottom:max(env(safe-area-inset-bottom),8px);
  --ink:#071523;--deep:#071c2e;--blue:#0b3858;--line:#7bd9ef;--paper:#f2e4b7;--paper-ink:#21333a;
  --green:#75cf22;--green-dark:#2c770d;--gold:#ffc83e;--red:#e64c43;--purple:#7b55d7;--muted:#b9d8e3;
  --blue-head:#1677cb;--blue-deep:#0a2c48;--tab-active:#549fcd;--tab-idle:#0a436b;--wood:#90672d;--wood-line:#ba8d4c;--wood-dark:#44270e;
  --rarity-common:#879a9f;--rarity-uncommon:#4dc66a;--rarity-rare:#3fa7ee;--rarity-epic:#a464e9;--rarity-legendary:#f4a928;--rarity-mythic:#ee4774;--rarity-secret:#36f0d2;
  --grad-sky:linear-gradient(#33b6f4,#b5deed);--grad-water:linear-gradient(#155973,#012a40);--grad-blue:linear-gradient(#0f4c75,#0b3858);--grad-head:linear-gradient(#1c86d8,#125e9f);
  --grad-progress:linear-gradient(90deg,#8bd943,#2d9e14);--grad-tension:linear-gradient(90deg,#3fbf3f,#ffd23e,#e03b2f);--grad-gold:linear-gradient(#ffdc72,#f0a71c);--grad-wood:linear-gradient(#966d31,#5f3f18);
  --logo-stroke:#0a1c2c;--logo-stroke2:#5c3005;--gloss:inset 0 2px 0 #ffffff40;--sink:0 6px 0 #04101a,0 12px 24px #0007;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;overflow:hidden;background:#061421;color:#fff;font-family:"Arial Rounded MT Bold",ui-rounded,Inter,system-ui,sans-serif}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.hidden,[hidden]{display:none!important}
.not-installed{height:100dvh;display:grid;place-content:center;justify-items:center;text-align:center;gap:13px;padding:28px;background:#0b2940 url('../img/backgrounds/home.webp') center/cover}
.not-installed:before{content:"";position:fixed;inset:0;background:#071625b8}.not-installed>*{position:relative}.not-installed img{width:150px;border-radius:30px;border:4px solid #f7d468}.not-installed h1{margin:0;font-size:30px;text-shadow:0 3px #000}.not-installed p{max-width:430px;color:#d4edf5}.not-installed a{background:#79d12c;color:#102006;border:3px solid #d7ff7b;border-bottom:7px solid #2d760c;border-radius:17px;padding:14px 22px;text-decoration:none;font-weight:1000}
.boot{position:fixed;z-index:1000;inset:0;background:#071d30}.boot-art{width:100%;height:100%;object-fit:cover}.boot-shade{position:absolute;inset:0;background:linear-gradient(transparent 28%,#06131f 92%)}
.boot-fast{background:radial-gradient(circle at 50% 42%,#0d4568,#071d30 58%,#04101a)}.boot-fast .boot-bottom{top:50%;bottom:auto;transform:translateY(-50%)}
.boot-bottom{position:absolute;left:20px;right:20px;bottom:max(28px,var(--safe-bottom));text-align:center}.boot-logo{font-size:clamp(35px,10vw,62px);line-height:.88;font-weight:1000;text-shadow:0 5px #071421,0 9px 20px #000}.boot-logo b{display:block;color:var(--gold)}
.loading{height:15px;max-width:430px;margin:24px auto 10px;background:#071928;border:3px solid #e9fbff;border-radius:20px;overflow:hidden}.loading i{display:block;height:100%;width:10%;background:#7edf2e;animation:load 1.6s ease forwards}.boot p{color:#d9f3fb;font-weight:900}@keyframes load{to{width:100%}}
.app{position:relative;width:min(100%,720px);height:100dvh;margin:auto;overflow:hidden;background:#082237;box-shadow:0 0 80px #000}
.app:before{content:"";position:absolute;inset:0;background:center/cover no-repeat;transform:scale(1.02);transition:background-image .25s ease}
.app[data-scene="home"]:before{background-image:url('../img/backgrounds/home.webp')}.app[data-scene="friends"]:before{background-image:url('../img/backgrounds/friends.webp')}.app[data-scene="play"]:before{background-image:url('../img/backgrounds/play.webp')}.app[data-scene="rating"]:before{background-image:url('../img/backgrounds/rating.webp')}.app[data-scene="profile"]:before{background-image:url('../img/backgrounds/profile.webp')}.app[data-scene="collection"]:before{background-image:url('../img/backgrounds/collection.webp')}.app[data-scene="market"]:before{background-image:url('../img/backgrounds/market.webp')}.app[data-scene="gang"]:before{background-image:url('../img/backgrounds/gang.webp')}.app[data-scene="shop"]:before{background-image:url('../img/backgrounds/shop.webp')}.app[data-scene="missions"]:before{background-image:url('../img/backgrounds/missions.webp')}
.app:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(#06131fa6 0 9%,#06131f1a 30%,#06131f99 78%,#06131fe8)}
.topbar{position:absolute;z-index:30;top:0;left:0;right:0;height:calc(64px + var(--safe-top));padding:var(--safe-top) 8px 7px;display:flex;align-items:center;gap:5px;background:url('../img/backgrounds/profile.webp') center 8%/cover;border-bottom:3px solid #b78d43;box-shadow:0 4px 0 #07131fc7}
.topbar:after{content:"";position:absolute;inset:0;background:#071928cc}.topbar>*{position:relative;z-index:1}
.profile-pill{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px;background:none;border:0;padding:0;text-align:left}.avatar-stack{position:relative;width:46px;height:46px;flex:0 0 46px}.avatar-stack>img:first-child{width:42px;height:42px;margin:2px;border-radius:12px;object-fit:cover}.avatar-frame{position:absolute!important;inset:-5px;width:56px!important;height:56px!important;object-fit:contain!important;pointer-events:none}
.identity{display:grid;min-width:0}.identity>*{min-width:0}.identity b{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;text-shadow:0 2px #000}.identity small{font-size:8px;color:#ffd960}.identity i{font-style:normal}
.xp-line{display:flex;align-items:center;gap:4px;margin-top:2px}.xp-level{display:grid;place-items:center;width:19px;height:19px;flex:0 0 19px;border:2px solid #ffe9a8;border-radius:50%;background:#8c5a12;font-size:9px;font-weight:1000;text-shadow:0 1px #000;box-shadow:var(--gloss),0 2px 0 #4a2c06}
.xp-track{position:relative;flex:1 1 0;min-width:42px;height:9px;border:2px solid #071829;border-radius:20px;background:#061a2d;overflow:hidden;box-shadow:inset 0 2px 4px #000a}.xp-track i{display:block;height:100%;width:0;border-radius:inherit;background:var(--grad-gold);box-shadow:var(--gloss);transition:width .3s ease}
.wallet{flex:0 0 auto;margin-left:auto;display:flex;gap:4px;min-width:0}.currency{height:36px;min-width:54px;display:flex;align-items:center;gap:2px;padding:2px 6px 2px 2px;border:2px solid #9f8147;border-radius:11px;background:#0c3a5ee8;box-shadow:inset 0 2px 0 #ffffff2e,0 3px #030b12;font-size:10px;font-weight:1000;text-shadow:0 2px #000}.currency img{width:29px;height:29px;object-fit:contain}.energy-pill{border-color:#4ba6bb}.currency .stacked{display:grid;line-height:1.04;text-align:left}.currency .stacked small{font-size:7px;color:#a9cddc;font-weight:900;text-shadow:none}.currency .stacked small:empty{display:none}
.screen{position:absolute;z-index:2;inset:calc(64px + var(--safe-top)) 0 calc(73px + var(--safe-bottom));overflow-y:auto;overscroll-behavior:none;padding:12px 11px 28px;scrollbar-width:none}.screen::-webkit-scrollbar{display:none}
.screen-loader{height:60vh;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;text-shadow:0 2px #000}.screen-loader img{width:120px;border-radius:20px}
.bottom-nav{position:absolute;z-index:30;left:0;right:0;bottom:0;height:calc(73px + var(--safe-bottom));padding:5px 4px var(--safe-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:#071725f2 url('../img/backgrounds/gang.webp') center bottom/cover;border-top:3px solid #9c7740;box-shadow:0 -4px 0 #03101a}
.bottom-nav:after{content:"";position:absolute;inset:0;background:#06131ed9}.bottom-nav button{position:relative;z-index:1;border:0;background:none;color:#a7bfca;display:grid;justify-items:center;align-content:center;gap:0;padding:0;font-size:9px;font-weight:1000;text-shadow:0 2px #000}.bottom-nav img{width:39px;height:39px;object-fit:contain;filter:saturate(.65) brightness(.8);transition:.18s}.bottom-nav button.active{color:#fff}.bottom-nav button.active img{filter:none;transform:translateY(-2px)}
.bottom-nav .play-nav:before{content:"";position:absolute;z-index:-1;inset:-3px 9px 1px;background:#305b22;border:2px solid #8fce45;border-bottom:4px solid #173b0f;border-radius:15px;opacity:.85}.bottom-nav .play-nav img{width:43px;height:43px}.bottom-nav .play-nav.active:before{background:#5e9d24}.bottom-nav button[data-route="profile"] img{border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
body.gameplay .topbar,body.gameplay .bottom-nav{transform:translateY(-120%);opacity:0;pointer-events:none}body.gameplay .bottom-nav{transform:translateY(120%)}body.gameplay .screen{inset:0;padding:0}
.page-head{display:flex;align-items:center;gap:9px;margin:2px 2px 12px;text-shadow:0 3px #000}.page-head h1{margin:0;font-size:25px;line-height:.95}.page-head p{margin:4px 0 0;font-size:11px;color:#d5ecf4;font-weight:800}.back{width:39px;height:39px;border:2px solid #b99d5d;border-bottom:5px solid #5c4422;border-radius:12px;background:#244d61;font-size:22px;box-shadow:var(--gloss)}.back:active{translate:0 3px;border-bottom-width:2px}
.wood-card,.paper-card,.metal-card{position:relative;border-radius:18px;padding:13px;overflow:hidden;box-shadow:var(--sink),var(--gloss)}.wood-card{background:#62441f url('../img/backgrounds/gang.webp') center/cover;border:3px solid #ba8d4c}.wood-card:before{content:"";position:absolute;inset:0;background:#15283ac9}.wood-card>*{position:relative}.paper-card{background:var(--paper);color:var(--paper-ink);border:3px solid #fff1b9;box-shadow:0 6px 0 #80602f,0 12px 22px #0006,inset 0 2px 0 #fffdf1}.paper-card:after{content:"";position:absolute;inset:5px;border:1px dashed #8f774a;pointer-events:none}.metal-card{background:#103c56e8;border:3px solid #7ccadd}.metal-card:before{content:"";position:absolute;inset:5px;border:1px solid #ffffff24;border-radius:12px;pointer-events:none}.stack{display:grid;gap:11px}.row{display:flex;align-items:center;gap:9px}.between{justify-content:space-between}.grow{flex:1;min-width:0}
.eyebrow{font-size:9px;font-weight:1000;letter-spacing:.12em;color:#ffd35c}.paper-card .eyebrow{color:#8d4f16}.title{margin:2px 0 6px;font-size:20px;line-height:1}.copy{margin:0;font-size:11px;line-height:1.35;color:#d1e8f0}.paper-card .copy{color:#49606a}
.game-button{border:2px solid #e7fbff;border-bottom-width:6px;border-radius:15px;padding:11px 15px;background:#2d6076;font-weight:1000;text-transform:uppercase;text-shadow:0 2px #000;box-shadow:0 5px 14px #0005,var(--gloss)}.game-button:active{transform:translateY(3px);border-bottom-width:3px;box-shadow:0 2px 7px #0005,var(--gloss)}.game-button.green{color:#122407;background:#75d329;border-color:#d7ff8a;border-bottom-color:#2e780d;text-shadow:none}.game-button.gold{color:#382300;background:#ffc942;border-color:#fff19c;border-bottom-color:#a76510;text-shadow:none}.game-button.purple{background:#7d55d6;border-color:#d7c4ff;border-bottom-color:#3e247f}.game-button.red{background:#dd4a45;border-bottom-color:#77231f}.game-button.wide{width:100%}.game-button.small{padding:7px 10px;font-size:10px;border-bottom-width:4px;text-transform:none}
.hero-hub{min-height:286px;display:flex;align-items:flex-end;padding:15px;border:3px solid #d2ae65;border-radius:23px;background:url('../img/backgrounds/home.webp') center/cover;box-shadow:0 7px 0 #3b2a17,0 16px 30px #0007}.hero-copy{width:100%;padding:12px;background:#071827d9;border:2px solid #79c8dc;border-radius:16px;text-align:center}.hero-copy h1{margin:0;font-size:31px;line-height:.85;text-shadow:0 3px #000}.hero-copy h1 b{display:block;color:#ffc93f}.hero-copy p{margin:8px 0 11px;font-size:11px;color:#d6f1f8}
.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.hub-tile{position:relative;min-height:112px;border:3px solid #87cddd;border-bottom:6px solid #31596a;border-radius:17px;padding:8px;background:var(--grad-blue);text-align:left;overflow:hidden;box-shadow:var(--gloss),0 5px 12px #0006}.hub-tile:active{translate:0 3px;border-bottom-width:3px}.hub-tile img{width:58px;height:58px;object-fit:contain;float:right;margin:-3px -2px 2px 5px}.hub-tile b{display:block;font-size:12px}.hub-tile small{display:block;margin-top:4px;color:#b8d9e2;font-size:9px;line-height:1.15}.hub-tile.locked{filter:saturate(.35);opacity:.78}
.memych-line{display:grid;grid-template-columns:82px 1fr;align-items:end;padding:0}.memych-line img{width:92px;max-height:106px;object-fit:cover;object-position:top;border-radius:16px 16px 0 16px}.speech{position:relative;background:#fff1b7;color:#26363a;border:3px solid #403824;border-radius:16px;padding:11px;font-size:12px;font-weight:1000;box-shadow:0 5px #795c2d}.speech:before{content:"";position:absolute;left:-9px;bottom:18px;width:13px;height:13px;background:#fff1b7;border-left:3px solid #403824;border-bottom:3px solid #403824;transform:rotate(45deg)}
.progress{position:relative;height:14px;background:#071724;border:2px solid #b8e4ec;border-radius:20px;overflow:hidden;box-shadow:inset 0 2px 4px #000a}.progress i{display:block;height:100%;background:var(--grad-progress);box-shadow:var(--gloss)}.progress:after{content:"";position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(90deg,transparent 0 13px,#00000030 13px 15px);pointer-events:none}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.mini-stat{padding:9px 5px;background:#071827c7;border:1px solid #7cc7d8;border-radius:11px;text-align:center}.mini-stat b{display:block;color:#ffd056}.mini-stat small{font-size:8px;color:#c5e3eb}
.friend-card,.leader-row,.mission-row,.market-row{display:grid;align-items:center;gap:9px}.friend-card{grid-template-columns:58px 1fr auto}.friend-card img,.leader-row img{width:54px;height:54px;object-fit:cover;border-radius:12px}.friend-card h3,.leader-row h3,.mission-row h3{margin:0;font-size:13px}.friend-card p,.leader-row p,.mission-row p{margin:3px 0 0;font-size:9px;color:#c5e0e7}.leader-row{grid-template-columns:35px 54px 1fr auto}.rank-no{font-size:20px;color:#ffd14d;text-align:center}.score{color:#ffd45d;font-size:12px}
.loc-panel .panel-head{border-bottom-width:3px}.panel-head.loc-head{display:grid;justify-items:center;gap:1px;padding:8px 11px 9px;text-align:center}.panel-head.loc-head h1{margin:0;font-size:19px;font-weight:1000;letter-spacing:.02em;color:var(--gold);text-shadow:0 3px #000,0 0 7px #00000073}.panel-head.loc-head span{font-size:9px;font-weight:900;letter-spacing:0;text-transform:none;color:#d5ecf5;text-shadow:0 2px #000}
.location-list{position:relative;display:grid;gap:8px;background:var(--deep)}.loc-scene{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;opacity:.42}.location-list:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(#04121e5c,#04121ea8)}.location-list>.loc-row{position:relative;z-index:1}
.loc-row{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:74px;padding:8px 9px;border:2px solid #8fdcee;border-bottom:5px solid #123a52;border-radius:15px;overflow:hidden;background:#0d2a3d;text-align:left;box-shadow:var(--sink),var(--gloss)}.loc-row.current{border-color:#ffd97a;border-bottom-color:#8a5a10}.loc-row.locked{filter:saturate(.5)}.loc-row:active{translate:0 3px;border-bottom-width:2px}
.loc-bg{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}.loc-row:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#04121ef2 0 40%,#04121eb3 68%,#04121e40)}.loc-row>.loc-mascot,.loc-row>.loc-text,.loc-row>.loc-side{position:relative;z-index:2}
.loc-mascot{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 3px 3px #000a)}.loc-text{min-width:0}.loc-text h2{margin:0;font-size:15px;font-weight:1000;text-shadow:0 3px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loc-text p{margin:1px 0 5px;font-size:9px;font-weight:900;color:#cfe8f1;text-shadow:0 2px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.loc-pills{display:flex;flex-wrap:wrap;gap:4px;min-width:0;overflow:hidden}.power-pill{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;padding:3px 6px;border:2px solid #6fbdd4;border-radius:10px;background:#06243ad9;font-size:8px;font-weight:1000;letter-spacing:.01em;text-transform:uppercase;color:#bcdfec;text-shadow:0 1px 2px #000;box-shadow:var(--gloss)}.power-pill b{font-size:11px;color:#ffd24a}.bolt{width:10px;height:14px;background:linear-gradient(#ffe98a,#f0a81c);clip-path:polygon(60% 0,16% 56%,44% 56%,32% 100%,86% 40%,54% 40%);filter:drop-shadow(0 1px 0 #7a4a06)}
.here-pill{padding:3px 7px;border:2px solid #ffe9a8;border-radius:10px;background:var(--gold);color:#3a2400;font-size:8px;font-weight:1000;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 1px #ffffff8c;box-shadow:var(--gloss)}.req-pill{padding:3px 7px;border:2px solid #d39d5e;border-radius:10px;background:#542d1fe0;color:#ffd9a8;font-size:8px;font-weight:1000;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 1px 2px #000;box-shadow:var(--gloss)}
.loc-side{display:grid;justify-items:center;gap:3px;min-width:34px}.loc-go{display:grid;place-items:center;width:34px;height:34px;border:2px solid #d7ff8a;border-radius:50%;background:radial-gradient(circle at 50% 30%,#9ae63c,#4d9c14 70%,#2e780d);color:#12280a;font-size:20px;font-weight:1000;text-shadow:0 1px #ffffff70;box-shadow:0 4px 0 #21540a,var(--gloss)}.loc-row.current .loc-go{border-color:#ffe9a8;background:radial-gradient(circle at 50% 30%,#ffd979,#e5a416 70%,#a76510);box-shadow:0 4px 0 #7a4c0c,var(--gloss)}.loc-side .here-pill{padding:2px 5px;font-size:7px;border-width:1px}.loc-side .lock-glyph{width:22px;height:18px;margin:0;border-width:3px;border-radius:4px;color:#d3e7f0;filter:drop-shadow(0 2px 2px #000a)}.loc-side .lock-glyph:before{left:3px;top:-14px;width:12px;height:13px;border-width:3px;border-bottom:0}.loc-side .game-button{max-width:62px;padding:7px 4px;font-size:8px;line-height:1.15}
.tabs{display:flex;gap:6px;overflow:auto;padding:2px 1px 7px;scrollbar-width:none}.tabs button{white-space:nowrap;border:2px solid #2f76a5;border-bottom:4px solid #063253;border-radius:12px;background:var(--tab-idle);color:#a9cadd;padding:8px 11px;font-size:10px;font-weight:1000;text-transform:uppercase;text-shadow:0 2px #0009;box-shadow:var(--gloss)}.tabs button.active{background:var(--tab-active);color:#fff;border-color:#b3e2f7;border-bottom-color:#184a66}
.item-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.item-card{position:relative;min-width:0;aspect-ratio:1/1.18;color:#fff;border:0;border-radius:14px;padding:0;background:center/100% 100% no-repeat;text-align:center;overflow:hidden;filter:drop-shadow(0 5px 2px #020910a8)}.item-card.rarity-common{background-image:url('../img/ui/u011.webp')}.item-card.rarity-uncommon{background-image:url('../img/ui/u012.webp')}.item-card.rarity-rare{background-image:url('../img/ui/u013.webp')}.item-card.rarity-epic{background-image:url('../img/ui/u014.webp')}.item-card.rarity-legendary{background-image:url('../img/ui/u015.webp')}.item-card.rarity-mythic,.item-card.rarity-secret{background-image:url('../img/ui/u016.webp')}.item-card.unknown{background-image:url('../img/ui/u017.webp')}.item-art{position:absolute;inset:13% 12% 28%;display:grid;place-items:center;overflow:hidden;border-radius:12px}.item-art img{width:100%;height:100%;object-fit:contain;border:0;border-radius:0;background:transparent;filter:drop-shadow(0 4px 3px #0008)}.item-card h3{position:absolute;z-index:3;left:10%;right:10%;bottom:12.5%;height:20px;display:grid;place-items:center;overflow:hidden;margin:0;font-size:9px;line-height:1.02;text-shadow:0 2px 2px #000}.item-card small{position:absolute;z-index:3;left:12%;right:12%;bottom:6.2%;overflow:hidden;white-space:nowrap;font-size:7px;color:#f7f3df;text-shadow:0 1px 2px #000}.qty{position:absolute;z-index:4;right:8%;top:8%;padding:3px 5px;background:#071623e8;color:#fff;border:1px solid #f8e5a3;border-radius:7px;font-size:8px;box-shadow:0 2px 2px #0008}.item-card.unknown .item-art{display:none}
.rarity-common{--rarity:var(--rarity-common)}.rarity-uncommon{--rarity:var(--rarity-uncommon)}.rarity-rare{--rarity:var(--rarity-rare)}.rarity-epic{--rarity:var(--rarity-epic)}.rarity-legendary{--rarity:var(--rarity-legendary)}.rarity-mythic{--rarity:var(--rarity-mythic)}.rarity-secret{--rarity:var(--rarity-secret)}
.profile-hero{text-align:center;padding-top:18px}.portrait{position:relative;width:150px;height:150px;margin:auto}.portrait>img:first-child{width:126px;height:126px;margin:12px;border-radius:30px;object-fit:cover}.portrait .frame-overlay{position:absolute;inset:0;width:150px;height:150px;object-fit:contain}.profile-hero h1{margin:6px 0 2px}.profile-hero p{margin:0;color:#d2e7ee;font-size:11px}.trophy-shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.trophy-slot{min-height:108px;display:grid;place-items:center;text-align:center;background:#2b1d12 url('../img/backgrounds/profile.webp') center/cover;border:3px solid #9e7440;border-bottom:7px solid #432e19;border-radius:13px;overflow:hidden}.trophy-slot img{width:72px;height:72px;object-fit:contain}.trophy-slot small{font-size:8px;background:#071623ca;width:100%;padding:4px}
.avatar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.avatar-option{position:relative;padding:6px;border:3px solid #6ea9b8;border-radius:15px;background:#102f3e;text-align:center}.avatar-option img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px}.avatar-option b{display:block;height:24px;overflow:hidden;font-size:9px}.avatar-option.locked img{filter:brightness(.15)}.avatar-option.equipped{border-color:#ffd34f}.frame-option img{object-fit:contain!important;background:#163346}
.rod-hero{text-align:center}.rod-hero img{width:min(100%,420px);height:240px;object-fit:contain}.gear-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.gear-card img{width:100%;height:116px;object-fit:contain}.gear-card h3{margin:5px 0;font-size:12px}
.shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.shop-card{text-align:center}.shop-card img{width:100%;height:120px;object-fit:contain}.shop-card h3{font-size:13px;margin:5px 0}.shop-card p{height:34px;overflow:hidden;font-size:9px;color:#d0e6ed}.stars-price{display:inline-block;background:#ffd05a;color:#3f2800;border:2px solid #fff0a2;border-bottom:5px solid #9e6612;border-radius:12px;padding:8px 11px;font-weight:1000}
.mission-row{grid-template-columns:1fr auto}.mission-row .progress{margin-top:7px}.market-row{grid-template-columns:78px 1fr auto}.market-row img{width:78px;height:78px;object-fit:cover;border-radius:11px}.market-row h3{font-size:13px;margin:0}.market-row p{font-size:9px;margin:3px 0;color:#c8e0e8}
.slot-panel{gap:0}
.slot-panel .panel-head.slot-head{position:relative;padding:8px 42px 9px}
.panel-head.slot-head .back{position:absolute;left:7px;top:50%;translate:0 -50%;width:30px;height:30px;padding:0;font-size:19px;line-height:1}
.slot-body{gap:11px}
.slot-booth{position:relative;width:min(100%,420px);margin:0 auto;aspect-ratio:535/512;background:url('../img/slot/booth.webp') 25.71% 0/119.63% auto no-repeat;filter:drop-shadow(0 6px 0 #04101acc) drop-shadow(0 12px 20px #0008)}
.slot-booth.owned{filter:drop-shadow(0 0 12px #ffc83e99) drop-shadow(0 6px 0 #04101acc)}
.slot-lamp{position:absolute;left:40.7%;top:0;width:8.5%;height:7.4%;border-radius:50%;background:radial-gradient(#fff3c4,#ff6a3c 55%,#ff3b1e00 72%);opacity:0}
.slot-booth.rolling .slot-lamp{animation:slotLamp .46s steps(1,end) infinite}
.slot-reels{position:absolute;left:20.2%;top:29%;width:55.1%;height:31.8%;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6%}
.reel-window{position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(#7f6837,#f3e6c0 16%,#fffaea 41%,#e4caa0 70%,#755f33);border-radius:6px;box-shadow:inset 0 0 0 2px #fff8d955,inset 0 9px 11px #4a331433,inset 0 -9px 11px #4a331444}
.reel-window img{width:84%;height:84%;object-fit:contain;filter:drop-shadow(0 4px 2px #57341577)}
.reel-window.spinning img{animation:slotRoll .14s linear infinite;filter:blur(2px) drop-shadow(0 7px 2px #57341588)}
.reel-window.landed{animation:slotLand .32s ease-out}
.slot-tray{position:absolute;left:39.4%;top:71.3%;display:grid;place-items:center;width:18%;height:14.6%;color:#ffd35c;font-size:9.5px;white-space:nowrap;font-weight:1000;letter-spacing:.02em;text-shadow:0 2px #000}
.slot-tray.win{color:#b6ff6a;text-shadow:0 2px #000,0 0 8px #75cf22}
.slot-figures b{font-size:13px}
.slot-bets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.bet-plate{display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 4px;background:var(--grad-wood);border:2px solid #ba8d4c;border-bottom-width:5px;border-radius:13px;color:#ffe9c2;font:inherit;font-size:11px;font-weight:1000;text-shadow:0 2px #000;box-shadow:var(--gloss)}
.bet-plate img{width:19px;height:19px;object-fit:contain}
.bet-plate:active{translate:0 2px;border-bottom-width:2px}
.bet-plate.picked{border-color:#ffd97a;background:linear-gradient(#c58c33,#8a5a1c);color:#fff}
.slot-cta{margin:0}
.slot-cta:disabled{filter:grayscale(.5) brightness(.88);opacity:.72}
.slot-note{margin:0;padding:9px 12px;background:var(--paper);border:3px solid #cbb079;border-radius:14px;color:var(--paper-ink);font-size:11px;font-weight:1000;line-height:1.3;text-align:center;box-shadow:var(--sink)}
.slot-prize{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px;border-color:#ffd97a}
.slot-prize img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 3px 2px #00000055)}
.slot-prize h3{margin:1px 0 2px;font-size:13px;font-weight:1000;text-transform:uppercase}
.slot-prize p{margin:0;font-size:10px;font-weight:900;line-height:1.25}
.slot-table{display:grid;gap:8px}
.slot-table .copy{margin:0;color:#6b5a33;font-size:9.5px;font-weight:900;line-height:1.3}
.payout-list{display:grid;gap:5px}
.payout-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 7px;background:#f7ecc7;border:2px dashed #8f774a;border-radius:12px}
.payout-art{display:grid;place-items:center;width:38px;height:34px;background:#e3d2a4;border:2px solid #8f774a;border-radius:9px}
.payout-art img{width:28px;height:28px;object-fit:contain}
.payout-row b{font-size:11px;font-weight:1000;line-height:1.2;text-transform:uppercase}
.payout-row small{display:block;font-size:8.5px;font-weight:900;color:#6b5a33}
.payout-mult{color:#8d4f16;font-size:15px;font-weight:1000;text-shadow:0 2px #fff8}
.slot-extra{display:inline-block;margin-left:4px;padding:1px 5px;background:#2c770d;border-radius:8px;color:#eafbdc;font-size:7.5px;font-style:normal;font-weight:1000;letter-spacing:.06em;vertical-align:1px}
.slot-extra.gold{background:#a76510;color:#fff3cf}
.slot-rules{display:grid;gap:3px;margin:0;padding-left:15px;font-size:9.5px;font-weight:900;line-height:1.3}
.slot-log{display:grid;gap:7px}
.slot-log-list{display:grid;gap:5px}
.slot-log-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:5px 8px;background:#0a2b45c9;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:12px}
.slot-log-syms{display:flex;gap:3px}
.slot-log-syms img{width:24px;height:24px;object-fit:contain}
.slot-log-row b{color:#c3dfec;font-size:12px;font-weight:1000;text-shadow:0 2px #000}
.slot-log-row.win b{color:#b6ff6a}
.slot-log-row small{display:block;color:#9fc4d5;font-size:8.5px;font-weight:900}
@keyframes slotLamp{0%{opacity:0}50%{opacity:.95}100%{opacity:0}}
@keyframes slotRoll{0%{transform:translateY(-65%) scale(.8)}100%{transform:translateY(65%) scale(.8)}}
@keyframes slotLand{0%{transform:translateY(-22%) scale(.86)}55%{transform:translateY(7%) scale(1.08)}100%{transform:none}}
.nokia-panel{gap:0}
.nokia-panel .panel-head.nokia-head{position:relative;padding:8px 42px 9px}
.panel-head.nokia-head .back{position:absolute;left:7px;top:50%;translate:0 -50%;width:30px;height:30px;padding:0;font-size:19px;line-height:1}
.nokia-body-wrap{gap:11px}
.nokia-find{display:grid;grid-template-columns:106px minmax(0,1fr);align-items:center;gap:10px}
.nokia-art{width:106px;height:106px;object-fit:contain;filter:drop-shadow(0 5px 0 #04101a99) drop-shadow(0 9px 14px #0007)}
.nokia-find-body{display:grid;gap:4px;min-width:0}
.nokia-instance{margin:0;color:#ffd45d;font-size:14px;font-weight:1000;letter-spacing:.02em;text-transform:uppercase;text-shadow:0 2px #000}
.nokia-facts{display:grid;gap:2px;margin:2px 0 0}
.nokia-facts div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:6px}
.nokia-facts dt{color:#8fb9cb;font-size:8px;font-weight:1000;letter-spacing:.06em;text-transform:uppercase}
.nokia-facts dd{margin:0;overflow:hidden;color:#eaf6fb;font-size:10px;font-weight:1000;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.nokia-figures b{font-size:13px}
.nokia-body{display:grid;gap:9px;width:min(100%,330px);margin:0 auto;padding:11px;background:linear-gradient(#31456a,#1b2942 62%,#141f33);border:3px solid #6d86a8;border-bottom:7px solid #0d1626;border-radius:22px;box-shadow:var(--sink),var(--gloss)}
.nokia-lcd{position:relative;display:grid;gap:5px;padding:7px 8px 6px;background:linear-gradient(#7ed13d,#57bb2b 62%,#4aa625);border:3px solid #1a2c36;border-radius:12px;color:#12360a;box-shadow:inset 0 0 0 2px #a9e97b,inset 0 8px 14px #ffffff33,inset 0 -8px 12px #2c6b1233,0 3px 0 #0d1626}
.nokia-body:not(.on) .nokia-lcd{background:linear-gradient(#3c5c2c,#2b4420 62%,#243a1c);color:#96bf80;box-shadow:inset 0 0 0 2px #4b6c3a,inset 0 -8px 12px #12220b66,0 3px 0 #0d1626}
.lcd-bar{display:flex;align-items:center;justify-content:space-between;gap:6px;padding-bottom:4px;border-bottom:2px dashed #2f6a1c66;font-size:8.5px;font-weight:1000;letter-spacing:.14em}
.lcd-signal{display:flex;align-items:flex-end;gap:1.5px;height:9px}
.lcd-signal b{width:2.5px;background:#173f0c;border-radius:1px}
.lcd-signal b:nth-child(1){height:3px}.lcd-signal b:nth-child(2){height:5px}.lcd-signal b:nth-child(3){height:7px}.lcd-signal b:nth-child(4){height:9px}
.lcd-batt{position:relative;width:22px;height:9px}
.lcd-batt:before{content:"";position:absolute;left:0;top:0;width:18px;height:9px;border:2px solid #173f0c;border-radius:2px}
.lcd-batt:after{content:"";position:absolute;right:0;top:2px;width:3px;height:5px;background:#173f0c;border-radius:0 1px 1px 0}
.lcd-batt u{position:absolute;left:2px;top:2px;width:14px;height:5px;background:#173f0c}
.lcd-screen{min-height:132px}
.lcd-charge{display:block;padding-top:3px;border-top:2px dashed #2f6a1c66;font-size:8px;font-weight:1000;letter-spacing:.1em;text-align:right}
.lcd-list{display:grid;gap:3px;margin:0;padding:0;list-style:none}
.lcd-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:5px;padding:4px 6px;border:2px solid #2f6a1c55;border-radius:7px;background:#ffffff1f}
.lcd-row b{font-size:10px;font-weight:1000;letter-spacing:.02em;text-transform:uppercase}
.lcd-row span{grid-column:1/-1;overflow:hidden;font-size:9.5px;font-weight:900;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.lcd-row small{font-size:7.5px;font-weight:1000;letter-spacing:.05em;opacity:.8}
.lcd-row.unread{background:#173f0c;color:#a8e97a;border-color:#173f0c}
.lcd-row.secret{border-style:dashed;border-color:#173f0c}
.lcd-row.picked{background:#173f0c;color:#bdf294;border-color:#173f0c}
.lcd-block{display:grid;gap:5px;padding:6px 4px}
.lcd-title{font-size:12px;font-weight:1000;letter-spacing:.06em;text-transform:uppercase}
.lcd-block p{margin:0;font-size:10px;font-weight:900;line-height:1.3}
.lcd-record{font-size:11px;font-weight:1000;letter-spacing:.06em}
.lcd-mono{font-size:11px;font-weight:1000;letter-spacing:.1em}
.lcd-off{place-items:center;padding:26px 6px;text-align:center}
.lcd-input{width:100%;padding:7px 9px;background:#ffffff33;border:2px dashed #173f0c;border-radius:8px;color:#12360a;font:inherit;font-size:15px;font-weight:1000;letter-spacing:.32em;text-align:center}
.lcd-input::placeholder{color:#12360a66}
.nokia-keys{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.nokia-key{display:grid;justify-items:center;gap:1px;padding:7px 5px;background:linear-gradient(#8296a0,#4d616b 58%,#3b4d57);border:2px solid #9fb4bd;border-bottom-width:5px;border-bottom-color:#1b262e;border-radius:999px;color:#f2fbff;font:inherit;text-shadow:0 2px #000a;box-shadow:var(--gloss)}
.nokia-key b{font-size:9.5px;font-weight:1000;letter-spacing:.04em}
.nokia-key small{font-size:7px;font-weight:900;opacity:.65}
.nokia-key.wide{grid-column:1/-1}
.nokia-key:active{translate:0 2px;border-bottom-width:2px}
.nokia-key.picked{background:linear-gradient(#b9d0da,#6c828d 58%,#54686f);border-color:#e7fbff;color:#fff}
.nokia-key:disabled{filter:grayscale(.6) brightness(.72);opacity:.7}
.nokia-cta{margin:0}
.nokia-note{margin:0;padding:9px 12px;background:var(--paper);border:3px solid #cbb079;border-radius:14px;color:var(--paper-ink);font-size:11px;font-weight:1000;line-height:1.3;text-align:center;box-shadow:var(--sink)}
.nokia-game{display:grid;gap:9px;justify-items:center}
.snake-head{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;padding-right:44px;color:#eaf6fb;font-size:12px;font-weight:1000;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 2px #000}
.snake-grid{display:grid;grid-template-columns:repeat(var(--snake-w,14),1fr);grid-template-rows:repeat(var(--snake-h,18),1fr);gap:1px;width:min(100%,252px);aspect-ratio:var(--snake-w,14)/var(--snake-h,18);padding:6px;background:linear-gradient(#7ed13d,#57bb2b 62%,#4aa625);border:3px solid #1a2c36;border-radius:12px;box-shadow:inset 0 0 0 2px #a9e97b,0 4px 0 #0d1626}
.snake-grid i{border-radius:1px;background:#12360a12}
.snake-grid i.snake{background:#173f0c;box-shadow:inset 0 0 0 1px #7ed13d}
.snake-grid i.snake.head{background:#0a2306}
.snake-grid i.food{background:#173f0c;border-radius:50%}
.snake-controls{display:grid;justify-items:center;gap:5px}
.snake-controls>div{display:flex;gap:5px}
.snake-controls .nokia-key{width:46px;padding:9px 5px;font-size:13px;font-weight:1000}
@media(max-width:359px){.nokia-find{grid-template-columns:88px minmax(0,1fr)}.nokia-art{width:88px;height:88px}.nokia-key b{font-size:8.5px}}
.journal-panel{gap:0}
.journal-panel .panel-head.journal-head{position:relative;padding:8px 42px 9px}
.panel-head.journal-head .back{position:absolute;left:7px;top:50%;translate:0 -50%;width:30px;height:30px;padding:0;font-size:19px;line-height:1}
.journal-body{gap:11px}
.journal-cover{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:11px}
.journal-book{overflow:hidden;width:104px;aspect-ratio:250/194;border:3px solid var(--wood-line);border-radius:15px;box-shadow:0 4px 0 #04101a,inset 0 0 0 2px #0000003d}
.journal-book img{display:block;width:100%;aspect-ratio:1;object-fit:cover;object-position:50% 0}
.journal-cover-body{display:grid;gap:3px;min-width:0}
.journal-owner{margin:0;overflow:hidden;color:#ffd45d;font-size:15px;font-weight:1000;letter-spacing:.02em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.journal-cover-note{margin:0;color:#f2e2b4;font-size:10px;font-weight:900;line-height:1.3;text-shadow:0 2px #000}
.journal-figures b{font-size:12px}
.journal-filter{display:flex;gap:5px;overflow-x:auto;margin:0 -11px;padding:1px 11px 3px;scrollbar-width:none}
.journal-filter::-webkit-scrollbar{display:none}
.journal-filter.empty{display:none}
.journal-chip{flex:0 0 auto;display:grid;justify-items:center;padding:5px 9px;background:#08243a;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:11px;color:#cfe7f1}
.journal-chip b{font-size:8.5px;font-weight:1000;letter-spacing:.05em;white-space:nowrap}
.journal-chip small{color:#8fb4c6;font-size:8px;font-weight:1000}
.journal-chip:active{translate:0 2px;border-bottom-width:2px}
.journal-chip.picked{background:var(--jt,#549fcd);border-color:#e7fbff;color:#08202f;text-shadow:none}
.journal-chip.picked small{color:#08202fb3}
.journal-line{position:relative;display:grid;gap:11px}
.journal-line:before{content:"";position:absolute;left:51px;top:14px;bottom:14px;width:3px;border-radius:2px;background:repeating-linear-gradient(#c79a4f 0 7px,#c79a4f00 7px 14px)}
.journal-line.empty:before{display:none}
.journal-row{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);gap:17px;align-items:start}
.journal-row:before{content:"";position:absolute;left:46px;top:20px;z-index:1;width:13px;height:13px;background:var(--jt,#ffc83e);border:2px solid #6d4a1c;border-radius:50%;box-shadow:0 2px 0 #04101a}
.journal-date{display:grid;justify-items:end;gap:1px;padding-top:15px;text-align:right}
.journal-date b{color:var(--gold);font-size:11px;font-weight:1000;letter-spacing:.02em;text-transform:uppercase;text-shadow:0 2px #000}
.journal-date small{color:#8fb4c6;font-size:8px;font-weight:1000}
.journal-entry{display:grid;grid-template-columns:66px minmax(0,1fr);align-items:start;gap:11px;padding:11px}
.journal-entry>img{width:66px;height:66px;object-fit:cover;border:3px solid #a9793a;border-radius:13px;background:#f7eecd;box-shadow:0 3px 0 #80602f}
.journal-entry-body{display:grid;gap:3px;min-width:0}
.journal-tag{justify-self:start;padding:2px 7px;background:var(--jt,#ffc83e);border:2px solid #0000001f;border-radius:9px;color:#241708;font-size:7.5px;font-weight:1000;letter-spacing:.09em}
.journal-entry h3{margin:0;color:#2b1c0c;font-size:12px;font-weight:1000;letter-spacing:.02em;line-height:1.2}
.journal-entry p{margin:0;color:#49606a;font-size:10.5px;font-weight:900;line-height:1.28}
.journal-open{color:#8d4f16;font-size:8px;font-weight:1000;letter-spacing:.08em}
.journal-entry[role=button]{cursor:pointer}
.journal-entry[role=button]:active{translate:0 2px}
.journal-chip.type-all,.journal-chip.type-milestone,.journal-row.type-milestone{--jt:#ffc83e}
.journal-chip.type-record,.journal-row.type-record{--jt:#f2836f}
.journal-chip.type-secret,.journal-row.type-secret{--jt:#5fe2cd}
.journal-chip.type-collection,.journal-row.type-collection{--jt:#7ad469}
.journal-chip.type-social,.journal-row.type-social{--jt:#6fbcf2}
.journal-chip.type-market,.journal-row.type-market{--jt:#d3a15c}
.journal-chip.type-season,.journal-row.type-season{--jt:#ab8ff0}
.journal-note{margin:0;padding:9px 12px;background:var(--paper);border:3px solid #cbb079;border-radius:14px;color:var(--paper-ink);font-size:11px;font-weight:1000;line-height:1.3;text-align:center;box-shadow:var(--sink)}
@media(max-width:359px){.journal-cover{grid-template-columns:86px minmax(0,1fr);gap:9px}.journal-book{width:86px}.journal-owner{font-size:13px}.journal-row{grid-template-columns:38px minmax(0,1fr);gap:13px}.journal-line:before{left:41px}.journal-row:before{left:38px;width:11px;height:11px}.journal-entry{grid-template-columns:54px minmax(0,1fr);gap:9px}.journal-entry>img{width:54px;height:54px}}
.mail-panel{gap:0}
.mail-panel .panel-head.mail-head{position:relative;padding:8px 42px 9px}
.panel-head.mail-head .back{position:absolute;left:7px;top:50%;translate:0 -50%;width:30px;height:30px;padding:0;font-size:19px;line-height:1}
.mail-body{gap:11px}
.mail-cover{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:11px}
.mail-bottle{overflow:hidden;width:104px;aspect-ratio:250/134;border:3px solid var(--wood-line);border-radius:15px;box-shadow:0 4px 0 #04101a,inset 0 0 0 2px #0000003d}
.mail-bottle img{display:block;width:100%;aspect-ratio:1;object-fit:cover;object-position:50% 0}
.mail-cover-body{display:grid;gap:3px;min-width:0}
.mail-owner{margin:0;overflow:hidden;color:#ffd45d;font-size:15px;font-weight:1000;letter-spacing:.02em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.mail-cover-note{margin:0;color:#f2e2b4;font-size:10px;font-weight:900;line-height:1.3;text-shadow:0 2px #000}
.mail-figures b{font-size:12px}
.mail-section{margin:2px 0 -2px;color:var(--gold);font-size:11px;font-weight:1000;letter-spacing:.09em;text-transform:uppercase;text-shadow:0 2px #000}
.mail-stack{display:grid;gap:11px}
.mail-letter{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:start;gap:9px 11px;padding:11px}
.mail-seal{grid-row:1;overflow:hidden;width:70px;aspect-ratio:250/182;border:3px solid #a9793a;border-radius:13px;background:#f7eecd;box-shadow:0 3px 0 #80602f}
.mail-seal img{display:block;width:100%;aspect-ratio:1;object-fit:cover;object-position:50% 0}
.mail-letter-body{display:grid;gap:3px;min-width:0}
.mail-tag{justify-self:start;padding:2px 7px;background:#e0674f;border:2px solid #0000001f;border-radius:9px;color:#2a1206;font-size:7.5px;font-weight:1000;letter-spacing:.09em}
.mail-tag.gift{background:var(--gold)}
.mail-letter h3{margin:0;color:#2b1c0c;font-size:12px;font-weight:1000;letter-spacing:.02em;line-height:1.2}
.mail-letter p{margin:0;color:#49606a;font-size:10.5px;font-weight:900;line-height:1.28}
.mail-prize{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding-top:2px;border-top:2px dashed #c9ae78}
.mail-prize-label{color:#8d4f16;font-size:8px;font-weight:1000;letter-spacing:.08em}
.mail-chip{display:flex;align-items:center;gap:4px;padding:3px 7px 3px 4px;background:#fff6d9;border:2px solid #c9ae78;border-bottom-width:3px;border-radius:11px}
.mail-chip img{width:19px;height:19px;object-fit:contain}
.mail-chip b{color:#2b1c0c;font-size:10px;font-weight:1000}
.mail-chip small{color:#7b6647;font-size:7.5px;font-weight:1000;letter-spacing:.05em;text-transform:uppercase}
.mail-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:9px}
.mail-due{color:#8d4f16;font-size:8.5px;font-weight:1000;letter-spacing:.08em}
.mail-gift{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:9px 11px;padding:11px}
.mail-gift>img{width:56px;height:56px;object-fit:contain;border:2px solid #7ccadd;border-radius:13px;background:#0b3858}
.mail-gift-body{display:grid;gap:3px;min-width:0}
.mail-gift h3{margin:0;color:#eaf7ff;font-size:12px;font-weight:1000;letter-spacing:.02em;line-height:1.2;text-shadow:0 2px #000}
.mail-gift p{margin:0;color:var(--muted);font-size:10px;font-weight:900;line-height:1.28}
.mail-gift .game-button{grid-column:1/-1}
.mail-news{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 11px;text-align:left}
.mail-news>img{width:44px;height:44px;object-fit:contain;border:2px solid #7ccadd;border-radius:11px}
.mail-news-body{display:grid;gap:2px;min-width:0}
.mail-news-body b{color:#eaf7ff;font-size:11px;font-weight:1000;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 2px #000}
.mail-news-body small{color:var(--muted);font-size:9px;font-weight:900}
.mail-news:active{translate:0 2px}
.mail-badge{min-width:22px;padding:3px 6px;background:var(--red);border:2px solid #e7fbff;border-radius:11px;color:#fff;font-size:10px;font-weight:1000;font-style:normal;text-align:center}
.mail-empty{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:11px;padding:11px}
.mail-empty .mail-seal,.mail-empty .mail-parcel{width:56px}
.mail-parcel{overflow:hidden;aspect-ratio:250/124;border:3px solid #a9793a;border-radius:13px;background:#f7eecd;box-shadow:0 3px 0 #80602f}
.mail-parcel img{display:block;width:100%;aspect-ratio:1;object-fit:cover;object-position:50% 0}
.mail-empty-body{display:grid;gap:3px;min-width:0}
.mail-empty h3{margin:0;color:#2b1c0c;font-size:12px;font-weight:1000;letter-spacing:.05em;text-transform:uppercase;line-height:1.2}
.mail-empty p{margin:0;color:#49606a;font-size:10.5px;font-weight:900;line-height:1.28}
.mail-note{margin:0;padding:9px 12px;background:var(--paper);border:3px solid #cbb079;border-radius:14px;color:var(--paper-ink);font-size:11px;font-weight:1000;line-height:1.3;text-align:center;box-shadow:var(--sink)}
@media(max-width:359px){.mail-cover{grid-template-columns:86px minmax(0,1fr);gap:9px}.mail-bottle{width:86px}.mail-owner{font-size:13px}.mail-letter{grid-template-columns:58px minmax(0,1fr);gap:8px 9px}.mail-seal{width:58px}.mail-gift{grid-template-columns:48px minmax(0,1fr)}.mail-gift>img{width:48px;height:48px}}
.fishing-scene{min-height:100dvh;padding:14px;background:center/cover;position:relative;overflow:hidden}.fishing-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(#03111a77,#06213b33 38%,#03111add)}.fishing-layer{position:relative;z-index:2;min-height:calc(100dvh - 28px);display:flex;flex-direction:column;align-items:center}.session-bar{width:100%;display:flex;justify-content:space-between;gap:8px}.session-chip{padding:8px 10px;background:#071724df;border:2px solid #a5d8e2;border-radius:12px;font-size:10px;font-weight:1000}.bobber{width:90px;height:90px;margin:auto;background:url('../img/equipment/eq36.png') center/contain no-repeat;filter:drop-shadow(0 8px 5px #000);animation:bob 2s ease-in-out infinite}@keyframes bob{50%{transform:translateY(13px) rotate(3deg)}}.cast-zone{width:100%;max-width:420px;padding:13px;background:#071725dc;border:3px solid #8ad4e5;border-radius:20px}.power-track,.tension-track{height:28px;border:3px solid #e7faff;border-radius:16px;overflow:hidden;background:linear-gradient(90deg,#d94742,#efb735,#79ca2b,#efb735,#d94742);position:relative}.power-track i{display:block;height:100%;width:var(--power,10%);background:#fff7;transition:width .08s}.fight-card{width:100%;max-width:440px;margin:auto 0 14px}.fight-title{text-align:center;text-shadow:0 3px #000}.fight-title h2{margin:0;color:#ffd14d}.tension-track i{position:absolute;left:var(--tension,50%);top:-5px;width:10px;height:34px;background:#fff;border-radius:6px;transform:translateX(-50%);box-shadow:0 2px 5px #000}.fight-progress{margin:9px 0}.reel-button{width:100%;height:84px;font-size:20px;touch-action:none}.fight-scene[data-fight-cue="surge"] .memych-stage{animation:fightSurge .18s ease-in-out infinite alternate}.fight-scene[data-fight-cue="frozen"]{filter:saturate(.7) hue-rotate(16deg)}.fight-scene[data-fight-cue="fake"] .runtime-float{animation-play-state:paused}.fight-scene[data-fight-cue="reverse"]{animation:glitch .18s steps(2) infinite}.fight-scene[data-fight-cue="critical"] .fight-card{animation:criticalPulse .28s ease-in-out infinite alternate}@keyframes glitch{50%{filter:hue-rotate(100deg);transform:translateX(2px)}}@keyframes fightSurge{to{transform:translateX(4px) rotate(.35deg)}}@keyframes criticalPulse{to{filter:brightness(1.22);transform:scale(1.012)}}.snag-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.memych-stage{position:relative;width:min(92vw,520px);height:min(56dvh,520px);margin:auto;pointer-events:none}.memych-sprite-host{position:absolute;inset:0;z-index:2}.memych-fallback{position:absolute;left:-4%;bottom:-2%;width:66%;height:92%;object-fit:contain;object-position:left bottom;filter:drop-shadow(0 8px 8px #0008)}.runtime-line-canvas{position:absolute;z-index:3;inset:0;width:100%;height:100%;pointer-events:none}.runtime-float{position:absolute;z-index:4;right:4%;bottom:13%;width:36px;height:49px;background:url('../img/equipment/eq36.png') center/contain no-repeat;animation:bob 1.7s ease-in-out infinite;filter:drop-shadow(0 5px 3px #000)}.water-contact{position:absolute;z-index:3;right:1%;bottom:9%;width:62px;height:18px;border:2px solid #d6f7ff99;border-radius:50%;animation:waterRing 1.7s ease-out infinite}.first-fishing-scene{padding:0;background-position:center}.first-fishing-scene:after{background:linear-gradient(#03111a1f,#06213b0d 42%,#03111aa8)}.first-fishing-scene .fishing-layer{min-height:100dvh;padding:calc(var(--safe-top) + 8px) 12px calc(var(--safe-bottom) + 12px)}.first-cast-zone{margin-top:auto;border-color:#ffe98a;background:#071725e8;box-shadow:0 8px 0 #03101a,0 0 30px #ffd64a55}.cast-copy{margin:0 0 10px;text-align:center;color:#fff2b1;font-size:14px;font-weight:1000;text-shadow:0 2px #000}.first-cast-cta{min-height:72px;font-size:23px;animation:firstCastPulse 1.45s ease-in-out infinite}.first-experience .topbar,.first-experience .bottom-nav{display:none}.first-experience .screen{inset:0;padding:0}.first-experience .app:after{display:none}.first-experience .meme-bark{top:calc(10px + var(--safe-top))}.bite-stage{height:min(48dvh,420px);margin-top:2vh}.bite-card{position:relative;margin:auto 0 6vh;width:min(100%,430px)}.bite-copy{text-align:center}.bite-signal{position:absolute;left:50%;top:50%;width:110px;height:110px;border:5px solid #fff29e;border-radius:50%;translate:-50% -50%;animation:biteSignal .72s ease-out infinite;pointer-events:none}.strike-button{position:relative;z-index:2}.fight-visual-stage{height:min(32dvh,290px);margin:0 auto}.fight-scene .fight-card{margin:auto 0 14px}.catch-screen{min-height:100dvh;padding:16px 12px 28px;background:url('../img/backgrounds/collection.webp') center/cover;overflow:auto}.catch-sheet{max-width:520px;margin:auto;text-align:center}.catch-art{width:min(75vw,340px);aspect-ratio:1;object-fit:cover;border:6px solid var(--rarity);border-radius:26px;background:#c4dbe1;box-shadow:0 0 35px var(--rarity)}.catch-sheet h1{font-size:30px;margin:10px 0 2px;text-shadow:0 3px #000}.catch-weight{font-size:27px;color:#ffd14c}.record-ribbon{display:inline-block;margin:7px;padding:7px 11px;background:#e4473e;border:2px solid #fff0d3;border-radius:10px;font-weight:1000}.percentile{font-size:11px;color:#cce7ee}.catch-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.first-collection-panel{margin:8px auto 2px;padding:9px;width:min(100%,430px);background:#123a4bf2;border:2px solid #80dbef;border-radius:14px;color:#ffe06a;font-weight:1000}.first-collection-panel>div{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-top:7px}.first-collection-panel span{min-width:0;padding:4px;background:#082535;border:1px solid #80dbef66;border-radius:8px}.first-collection-panel img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}.first-collection-panel small{display:block;overflow:hidden;margin-top:2px;color:#dff8ff;font-size:6px;white-space:nowrap;text-overflow:ellipsis}.first-collection-panel .mystery{display:grid;place-items:center}.first-collection-panel .mystery i{font-size:20px;color:#65b5ca}.fight-card.hooked{animation:hookedPulse .36s ease}.sprite-player-layer{position:absolute;pointer-events:none;transform:scale(var(--sprite-scale,1));transform-origin:var(--sprite-pivot,50% 100%);background-repeat:no-repeat;image-rendering:auto;will-change:background-position,transform}.runtime-fx{position:absolute;width:90px;height:90px;translate:-50% -50%;border-radius:50%;pointer-events:none;z-index:8;animation:runtimeFxPop .42s ease-out forwards}[data-animation-state="BITING"] .runtime-float{animation-duration:.22s;filter:drop-shadow(0 4px 3px #001b2e) drop-shadow(0 0 8px #ffd44f)}[data-animation-state="HOOKING"] .runtime-float,[data-animation-state="FIGHTING"] .runtime-float{transform:translateY(18px) scale(.86);filter:drop-shadow(0 0 8px #fff)}[data-animation-state="LANDING"] .memych-stage{animation:memychLandHit .28s cubic-bezier(.2,.8,.2,1)}@keyframes firstCastPulse{50%{transform:translateY(-2px) scale(1.015);filter:brightness(1.12)}}@keyframes biteSignal{0%{opacity:.9;scale:.35}100%{opacity:0;scale:1.4}}@keyframes waterRing{0%{opacity:.9;scale:.45}100%{opacity:0;scale:1.15}}@keyframes hookedPulse{50%{transform:scale(1.06);filter:brightness(1.45)}}@keyframes runtimeFxPop{0%{opacity:0;scale:.2}45%{opacity:1;scale:1.05}100%{opacity:0;scale:1.5}}@keyframes memychLandHit{50%{transform:translateY(-5px) rotate(-.7deg)}}
/* Экран 3 — процесс рыбалки, композиция по ячейке 3 «1.png» */
.hud-scene .fishing-layer{justify-content:space-between;gap:8px;padding:calc(var(--safe-top) + 4px) 0 calc(var(--safe-bottom) + 4px)}
.hud-scene .memych-stage{margin:0 auto}
.fish-hud{position:relative;z-index:5;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:6px;width:100%}
.hud-pause{display:flex;align-items:center;justify-content:center;gap:4px;width:38px;height:38px;padding:0;border:3px solid #cdeffb;border-bottom-width:5px;border-radius:50%;background:linear-gradient(#3079a0,#12405c);box-shadow:var(--sink),var(--gloss)}
.hud-pause:active{translate:0 2px;border-bottom-width:3px}
.hud-pause i{width:4px;height:14px;border-radius:2px;background:#eaf9ff;box-shadow:0 1px #0006}
.hud-center{display:grid;justify-items:center;gap:5px;min-width:0}
.hud-sign{display:block;width:auto;max-width:100%;padding:8px 20px;font-size:12px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hud-metas{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}
.hud-meta{padding:3px 8px;border:2px solid #7ccadd;border-radius:9px;background:#0a2739dc;color:#d3ecf5;font-size:8px;font-weight:1000;letter-spacing:.3px;text-transform:uppercase}
.hud-right{display:grid;justify-items:end;gap:5px;min-width:38px}
.combo-sign{padding:6px 10px;font-size:11px;color:var(--gold);white-space:nowrap}
.combo-sign b{margin-left:3px;color:#fff}
.combo-rail{display:flex;align-items:center;gap:3px;padding:3px 5px;border:2px solid #6ea9bf;border-radius:13px;background:#08202fe6;box-shadow:var(--gloss)}
.combo-dot{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#ffe9a4,#c98a12);box-shadow:0 1px 0 #6b4508}
.combo-dot.off{background:#12384c;box-shadow:inset 0 1px 2px #0008}
.combo-chest{width:22px;height:22px;margin-left:2px;object-fit:contain}
.combo-chest.lit{filter:drop-shadow(0 0 5px var(--gold))}
body.gameplay:not(.first-experience) .meme-bark{top:calc(var(--safe-top) + 112px)}
body .meme-bark{pointer-events:none}
.deep-layer{position:absolute;z-index:1;inset:auto -14px -14px -14px;height:54%;overflow:hidden;pointer-events:none;background:linear-gradient(#04131f00,#05192ba6 26%,#03111ce0)}
.deep-layer:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#7bd9ef00,#7bd9ef80,#7bd9ef00)}
.deep-fish{position:absolute;width:var(--w,54px);filter:brightness(0) opacity(.56) drop-shadow(0 0 2px #7bd9ef4d);animation:deepDrift var(--dur,15s) ease-in-out infinite alternate}
@keyframes deepDrift{to{translate:var(--dx,16px) var(--dy,-9px)}}
.hud-note{position:absolute;right:4%;top:25%;z-index:4;max-width:min(42vw,158px);margin:0;padding:9px 11px;background:var(--paper);border:3px solid #cbb079;border-radius:12px;color:var(--paper-ink);font-size:10px;font-weight:1000;line-height:1.25;text-align:center;box-shadow:var(--sink)}
.hud-note:after{content:"";position:absolute;inset:4px;border:1px dashed #8f774a;border-radius:8px;pointer-events:none}
.hud-note b{display:block;margin-bottom:3px;color:#7a4a12;font-size:11px}
.fish-dock{position:relative;z-index:5;display:grid;grid-template-columns:66px minmax(0,1fr) 66px;align-items:end;justify-items:center;gap:7px;width:100%;max-width:430px}
.dock-power{grid-column:1/-1;justify-self:center;width:min(100%,290px);height:22px;margin-bottom:6px}
.dock-power i{background:linear-gradient(90deg,#ffffff26,#ffffffd0);box-shadow:2px 0 0 #fff,0 0 9px #ffffff8c}
.dock-progress{grid-column:1/-1;justify-self:center;width:min(100%,290px);margin:0 0 4px}
.fish-dock .round-cta,.fish-dock .snag-buttons{grid-column:2}
.fish-dock .snag-buttons{width:100%}
.fish-dock .snag-buttons>*{min-width:0;padding:9px 4px;font-size:10px;line-height:1.1}
.round-cta.dock-cta{width:min(33vw,118px);gap:0;overflow:visible}
.round-cta.dock-cta:before{inset:6%;border:3px solid #3d800f80;border-radius:50%}
.round-cta.dock-cta .reel-glyph{width:46px;height:46px;border-width:4px}
.round-cta.dock-cta span{position:absolute;left:50%;bottom:-7px;translate:-50% 0;padding:5px 11px;border:3px solid #eaffc0;border-radius:12px;background:linear-gradient(#7ed42a,#4d9c14);color:#fff;font-size:12px;line-height:1;white-space:nowrap;text-shadow:0 2px #2b5c09;box-shadow:0 3px 0 #2b5c09,var(--gloss)}
.reel-glyph{position:relative;display:block;width:26px;height:26px;border-radius:50%;background:repeating-conic-gradient(#e8f5fb 0 7deg,#8fa9b7 7deg 14deg);box-shadow:0 2px 4px #0007,inset 0 0 0 2px #f2fbff}
.reel-glyph:before{content:"";position:absolute;inset:17%;border-radius:50%;background:radial-gradient(circle at 38% 30%,#5f7f90,#223d4c);box-shadow:inset 0 0 0 2px #dff1f8,0 1px 2px #0008}
.reel-glyph:after{content:"";position:absolute;left:50%;top:50%;width:30%;height:30%;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle at 38% 30%,#f4fbff,#9db6c3);box-shadow:0 1px 2px #0007}
.bait-slot,.auto-slot{display:grid;justify-items:center;gap:3px;width:66px;padding:0 0 3px;border:0;background:none;color:#d9eef6;font-size:8px;line-height:1.4;font-weight:1000;text-shadow:0 2px #000}
.bait-slot{grid-column:1}
.auto-slot{grid-column:3}
.bait-medal{position:relative;display:grid;place-items:center;width:54px;height:54px;border:3px solid #e7fbff;border-bottom-width:5px;border-radius:50%;background:radial-gradient(circle at 50% 26%,#3d7f9b,#123c53);box-shadow:var(--sink),var(--gloss)}
.bait-medal img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 2px 2px #0009)}
.bait-medal b{position:absolute;right:-3px;bottom:-1px;min-width:22px;padding:1px 4px;border:2px solid #ffe9a8;border-radius:9px;background:#09283a;color:var(--gold);font-size:9px;text-shadow:none}
button.bait-slot:active .bait-medal{translate:0 2px;border-bottom-width:3px}
.auto-face{position:relative;display:grid;place-items:center;width:54px;height:54px;border:3px solid #bfdfe9;border-bottom-width:5px;border-radius:16px;background:linear-gradient(#1f5570,#0b2c40);box-shadow:var(--sink),var(--gloss)}
.auto-slot.on .auto-face{border-color:#d7ff8a;background:linear-gradient(#63b524,#2e780d)}
.auto-slot.locked .auto-face{filter:grayscale(.45) brightness(.82)}
.auto-slot .lock-glyph{position:absolute;right:-5px;top:-6px;margin:0;color:#ffe3a0;background:#09283a}
.auto-slot:active .auto-face{translate:0 2px;border-bottom-width:3px}
.tension-gauge{position:absolute;left:8px;top:23%;z-index:5;display:grid;justify-items:center;gap:5px;width:46px}
.tension-gauge>span{color:#eaf7fd;font-size:8px;font-weight:1000;letter-spacing:.5px;text-shadow:0 2px #000}
.tension-tube{position:relative;width:24px;height:min(30dvh,186px);border:3px solid #eef9ff;border-radius:14px;background:linear-gradient(#0d2f43 0 6%,#79cf2a 6% 25%,#f2cf2c 25% 52%,#ef8f22 52% 78%,#e0392f 78% 94%,#0d2f43 94% 100%);box-shadow:var(--sink),var(--gloss)}
.tension-needle{position:absolute;left:-4px;top:var(--tension,50%);width:36px;height:15px;translate:0 -50%;filter:drop-shadow(0 2px 2px #000b);transition:top .09s linear}
.tension-needle:before{content:"";position:absolute;left:0;top:0;width:26px;height:15px;background:linear-gradient(#ffdfa6,#c07f34);clip-path:polygon(0 32%,100% 4%,100% 96%,0 68%)}
.tension-needle:after{content:"";position:absolute;right:0;top:50%;width:15px;height:15px;translate:0 -50%;border-radius:50%;background:radial-gradient(circle at 34% 28%,#fff,#a8c5d2);box-shadow:0 1px 2px #0008}
.fight-scene[data-fight-cue="critical"] .tension-tube{animation:tensionAlarm .3s ease-in-out infinite alternate}
.fight-scene[data-fight-cue="critical"] .round-cta{animation:criticalPulse .28s ease-in-out infinite alternate}
@keyframes tensionAlarm{to{box-shadow:var(--sink),var(--gloss),0 0 16px #ff5a4d}}
.round-cta.hooked{animation:hookedPulse .36s ease}
.runtime-float{width:34px;height:46px;background:none}
.runtime-float:before{content:"";position:absolute;left:50%;top:0;width:5px;height:13px;translate:-50% 0;border-radius:3px;background:linear-gradient(#f6fcff,#9db7c2)}
.runtime-float:after{content:"";position:absolute;left:0;bottom:0;width:34px;height:34px;border:2px solid #071523;border-radius:50%;background:radial-gradient(circle at 34% 24%,#ff9c92,#e0392f 46%,#9c1d17) top/100% 52% no-repeat,radial-gradient(circle at 34% 76%,#fff,#cfe0e8 60%,#8ea9b4) bottom/100% 52% no-repeat;box-shadow:inset 0 -4px 7px #00000040}
.bobber{background:none}
.bait-sheet h2{margin:0;font-size:17px}
.bait-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px}
.bait-option{display:grid;justify-items:center;gap:3px;padding:7px 4px;border:2px solid #79c9d9;border-bottom-width:5px;border-radius:13px;background:#0b2e42e8;color:#e7f6fb;font-size:8px;font-weight:1000;line-height:1.15}
.bait-option img{width:38px;height:38px;object-fit:contain}
.bait-option b{color:var(--gold);font-size:9px}
.bait-option.active{border-color:#ffe9a8;background:#123f56}
.bait-option:disabled{opacity:.45}
@media(max-width:390px){.hud-note{max-width:min(40vw,138px);font-size:9px}.round-cta.dock-cta{width:min(31vw,104px)}.round-cta.dock-cta span{font-size:11px;padding:4px 9px}.round-cta.dock-cta .reel-glyph{width:40px;height:40px}.bait-slot,.auto-slot{width:58px}.bait-medal,.auto-face{width:48px;height:48px}.bait-medal img{width:32px;height:32px}.tension-tube{height:min(26dvh,152px)}.hud-sign{padding:7px 14px;font-size:11px}}
/* Экран 4 — улов, композиция по ячейке 4 «1.png» */
.loot-screen{display:grid;min-height:100%;padding:0 0 6px;background:linear-gradient(#04121e8c,#05192ba6 40%,#020c14e8),var(--loot-bg,url('../img/backgrounds/collection.webp')) center 68%/cover}
body.gameplay .loot-screen{padding:calc(var(--safe-top) + 10px) 11px calc(var(--safe-bottom) + 18px)}
.loot-screen .catch-sheet{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;justify-self:center;margin:0;width:100%;max-width:520px;text-align:left}
.loot-head{display:grid;justify-items:center;gap:2px;text-align:center}
.loot-head h1{margin:0;font-size:clamp(20px,5.9vw,25px);font-weight:1000;letter-spacing:.02em;color:var(--gold);text-shadow:0 3px #000,0 0 12px #000000cc}
.loot-head span{font-size:9px;font-weight:1000;letter-spacing:.05em;text-transform:uppercase;color:#dff2fa;text-shadow:0 2px #000}
.loot-body{display:grid;align-content:start;gap:9px}
.loot-card.fresh{border-color:#ffe08a;box-shadow:var(--sink),var(--gloss),0 0 13px #ffc83ecc}
.catch-sheet.solo .loot-body{align-content:center;gap:11px}
.catch-sheet.solo .loot-hero{grid-template-columns:minmax(0,44%) minmax(0,1fr);gap:10px}
.catch-sheet.solo .loot-card.hero .loot-art{min-height:168px}
.catch-sheet.solo .loot-card.hero .loot-art img{max-height:196px}
.catch-sheet.solo .loot-card.hero b{font-size:14px}
.catch-sheet.solo .loot-card.hero .loot-rarity{font-size:10px}
.catch-sheet.solo .loot-card.hero .loot-price{font-size:15px}
.catch-sheet.solo .loot-card.hero .loot-price img{width:24px;height:24px}
.catch-sheet.solo .loot-fact{padding:8px 10px}
.catch-sheet.solo .loot-fact b{font-size:12px}
.loot-foot{display:grid;gap:8px}
.loot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
/* Панель 4 эталона: лента добычи всегда набита до края. Коротким сессиям колонок дают
   по числу предметов, иначе две карточки висят в четвертях, а полряда стоит пустым. */
.loot-grid.cols-2{grid-template-columns:repeat(2,1fr);gap:8px}
.loot-grid.cols-3{grid-template-columns:repeat(3,1fr);gap:7px}
.loot-grid.cols-2 .loot-card{padding:9px 8px 8px;border-radius:18px}
.loot-grid.cols-3 .loot-card{padding:8px 7px 7px;border-radius:17px}
.loot-grid.cols-2 .loot-card b{font-size:12px;line-height:1.1}
.loot-grid.cols-3 .loot-card b{font-size:10px;line-height:1.08}
.loot-grid.cols-2 .loot-rarity{font-size:9px;letter-spacing:.06em}
.loot-grid.cols-3 .loot-rarity{font-size:8px;letter-spacing:.05em}
.loot-grid.cols-2 .loot-art{min-height:96px}
.loot-grid.cols-3 .loot-art{min-height:66px}
.loot-grid.cols-2 .loot-art img{max-height:124px}
.loot-grid.cols-3 .loot-art img{max-height:92px}
.loot-grid.cols-2 .loot-qty{font-size:13px}
.loot-grid.cols-3 .loot-qty{font-size:11px}
.loot-grid.cols-2 .loot-price{gap:5px;font-size:13px}
.loot-grid.cols-3 .loot-price{gap:4px;font-size:11px}
.loot-grid.cols-2 .loot-price img{width:21px;height:21px}
.loot-grid.cols-3 .loot-price img{width:18px;height:18px}
/* Низкие экраны: широкие карточки короткой ленты подрезаются, иначе «ЗАКОНЧИТЬ» уходит за кромку. */
@media(max-height:800px){.loot-grid.cols-2 .loot-art{min-height:74px}.loot-grid.cols-2 .loot-art img{max-height:100px}.loot-grid.cols-3 .loot-art img{max-height:80px}}
.loot-card{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:1px;min-width:0;padding:6px 5px 5px;border:3px solid #f7fcfe;border-bottom-width:5px;border-radius:15px;background:linear-gradient(#fdfeffee 0 26%,#ffffff00 74%),var(--rarity,#879a9f);box-shadow:var(--sink),var(--gloss);animation:lootPop .34s cubic-bezier(.2,1.5,.4,1) backwards;animation-delay:calc(var(--i,0)*70ms)}
.loot-card>*{position:relative;z-index:1}
.loot-card b{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;color:var(--paper-ink);font-size:8px;font-weight:1000;line-height:1.06;text-align:center}
.loot-rarity{color:var(--rar-ink,#5f7178);font-size:7px;font-weight:1000;letter-spacing:.03em;text-align:center;text-transform:uppercase;text-shadow:0 1px 0 #ffffff8f}
.loot-art{position:relative;display:grid;place-items:center;min-height:36px;padding:2px 0 1px}
.loot-art img{width:100%;height:100%;max-height:62px;object-fit:contain;filter:drop-shadow(0 3px 3px #00000059)}
.loot-qty{position:absolute;right:-1px;bottom:-2px;color:#122630;font-size:9px;font-style:normal;font-weight:1000;text-shadow:0 1px 0 #ffffffb3}
.loot-price{display:flex;align-items:center;justify-content:center;gap:3px;color:#16262f;font-size:9px;font-weight:1000;text-shadow:0 1px 0 #ffffffb3}
.loot-price img{width:15px;height:15px;object-fit:contain;filter:drop-shadow(0 1px 1px #0006)}
.loot-card.rarity-common{--rar-ink:#5f7178}
.loot-card.rarity-uncommon{--rar-ink:#1e7733}
.loot-card.rarity-rare{--rar-ink:#0f5d8d;box-shadow:var(--sink),var(--gloss),0 0 12px #3fa7eeb0}
.loot-card.rarity-epic{--rar-ink:#4f2597}
.loot-card.rarity-legendary{--rar-ink:#9c5406;box-shadow:var(--sink),var(--gloss),0 0 16px #ffc83eaa}
.loot-card.rarity-mythic{--rar-ink:#9c1a3d;box-shadow:var(--sink),var(--gloss),0 0 14px #ee4774aa}
.loot-card.rarity-secret{--rar-ink:#0a7566;box-shadow:var(--sink),var(--gloss),0 0 16px #36f0d2aa}
.loot-card.rarity-epic:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle 3px at 17% 26%,#fff 92%,transparent 0),radial-gradient(circle 2px at 79% 33%,#f4e2ff 92%,transparent 0),radial-gradient(circle 3px at 29% 74%,#fff 92%,transparent 0),radial-gradient(circle 2px at 68% 82%,#ecd6ff 92%,transparent 0);animation:lootDust 2.6s ease-in-out infinite;pointer-events:none}
.loot-card.rarity-legendary:before{content:"";position:absolute;inset:0;border-radius:inherit;background:repeating-conic-gradient(from 0deg at 50% 44%,#fff4c455 0 5deg,transparent 5deg 17deg);animation:lootRays 11s linear infinite;pointer-events:none}
.loot-card.rarity-secret:before,.loot-card.rarity-mythic:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 38%,#ffffffb8 50%,transparent 62%);animation:lootReveal 3.1s ease-in-out infinite;pointer-events:none}
.loot-hero{display:grid;grid-template-columns:minmax(0,158px) minmax(0,1fr);gap:8px;align-items:start}
.loot-card.hero{padding:9px 8px 8px;border-radius:18px;animation-delay:0s}
.loot-card.hero b{font-size:12px;-webkit-line-clamp:3;line-height:1.1}
.loot-card.hero .loot-rarity{font-size:9px;letter-spacing:.06em}
.loot-card.hero .loot-art{min-height:122px}
.loot-card.hero .loot-art img{max-height:152px}
.loot-card.hero .loot-qty{font-size:13px}
.loot-card.hero .loot-price{gap:5px;font-size:13px}
.loot-card.hero .loot-price img{width:21px;height:21px}
.loot-facts{display:grid;align-content:start;gap:5px;min-width:0}
.loot-fact{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px 9px;border:2px solid #79c9d9;border-radius:11px;background:#0a2c42d9;box-shadow:var(--gloss),0 3px 0 #04101a}
.loot-fact small{overflow:hidden;color:#a9cddc;font-size:8px;font-weight:1000;letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap}
.loot-fact b{color:#ffd869;font-size:11px;text-shadow:0 2px #000}
.loot-facts .record-ribbon{margin:0;padding:6px 8px;font-size:9px;text-align:center;border-radius:11px;box-shadow:0 3px 0 #5b1a15,var(--gloss)}
.loot-facts .record-ribbon.world{background:linear-gradient(#ffd45e,#e08d0a);color:#3a2400;border-color:#fff3cf;text-shadow:0 1px #ffffff8c;box-shadow:0 3px 0 #8d5407,var(--gloss)}
.loot-screen .percentile{margin:0;text-align:center;text-shadow:0 2px #000}
.loot-reactions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;align-items:end;margin:0;padding-top:12px}
.reaction{position:relative;display:grid;justify-items:center;min-width:0}
.reaction img{width:100%;max-width:96px;aspect-ratio:1;object-fit:contain;border-radius:13px;filter:drop-shadow(0 4px 3px #000000a6)}
.loot-reactions .reaction img{border-radius:0;filter:drop-shadow(0 5px 4px #000000b8) drop-shadow(0 0 9px #0006)}
.reaction>span{position:absolute;left:50%;top:-6px;z-index:2;translate:-50% 0;padding:3px 7px;border:2px solid #16262f;border-radius:9px;background:#fffdf2;color:#16262f;font-size:9px;font-weight:1000;white-space:nowrap;box-shadow:0 3px 0 #00000059}
.reaction>span:after{content:"";position:absolute;left:26%;bottom:-6px;width:10px;height:7px;background:#fffdf2;clip-path:polygon(0 0,100% 0,18% 100%)}
.loot-phrase{position:relative;margin:0;padding:10px 11px;border-radius:14px;font-size:11px;font-weight:1000;line-height:1.25}
.loot-actions{display:grid;grid-template-columns:minmax(0,1fr) 62px;gap:8px}
.loot-actions .game-button.wide{width:100%}
.share-square{display:grid;place-items:center;padding:9px 0}
.share-glyph{position:relative;display:block;width:22px;height:22px;background:radial-gradient(circle 4px at 82% 15%,#fff 94%,transparent 0),radial-gradient(circle 4px at 17% 50%,#fff 94%,transparent 0),radial-gradient(circle 4px at 82% 85%,#fff 94%,transparent 0)}
.share-glyph:before,.share-glyph:after{content:"";position:absolute;left:20%;top:47%;width:58%;height:3px;border-radius:2px;background:#fff;transform-origin:left center}
.share-glyph:before{rotate:-31deg}
.share-glyph:after{rotate:31deg}
@keyframes lootPop{0%{opacity:0;transform:translateY(9px) scale(.86)}100%{opacity:1;transform:none}}
@keyframes lootDust{0%,100%{opacity:.25;transform:translateY(2px)}50%{opacity:.9;transform:translateY(-2px)}}
@keyframes lootRays{to{transform:rotate(360deg)}}
@keyframes lootReveal{0%,72%{opacity:0;transform:translateX(-46%)}86%{opacity:.85}100%{opacity:0;transform:translateX(46%)}}
@media(max-width:390px){.loot-hero{grid-template-columns:minmax(0,140px) minmax(0,1fr)}.loot-card.hero .loot-art{min-height:104px}.loot-card.hero b{font-size:11px}.loot-grid{gap:5px}.loot-card b{font-size:7.5px}.loot-fact{padding:5px 7px}.loot-fact b{font-size:10px}.reaction>span{font-size:8px;padding:2px 6px}}
.top-tabs.coll-tabs button{padding:9px 3px;font-size:9px}
.coll-body{gap:8px;padding:9px}
.coll-progress{display:grid;grid-template-columns:1fr auto auto;grid-template-rows:auto auto;gap:5px 8px;align-items:center;padding:7px 8px 8px;background:#07253cd9;border:2px solid #12557f;border-radius:13px;box-shadow:inset 0 2px 6px #0008}
.coll-progress-label{color:#cfe9f4;font-size:9px;font-weight:1000;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 2px #000}
.coll-progress-count{justify-self:end;color:var(--gold);font-size:12px;font-weight:1000;text-shadow:0 2px #000}
.coll-track{grid-column:1/3;height:16px}
.stat-track.coll-track i{background:linear-gradient(90deg,#6cc61e 0 72%,#e6d62b 72%)}
.stat-track.coll-track:after{background:repeating-linear-gradient(90deg,transparent 0 calc(25% - 2px),#00000038 calc(25% - 2px) 25%)}
.coll-reward{position:relative;grid-row:1/3;grid-column:3;display:grid;width:46px;height:46px;place-items:center;padding:0;border:2px solid #ffd98a;border-bottom:5px solid #8a5c12;border-radius:13px;background:linear-gradient(#2b6d92,#134563);box-shadow:var(--gloss),0 4px 0 #04101a}
.coll-reward img{width:34px;height:34px;object-fit:contain;border-radius:9px}
.coll-reward i{position:absolute;right:-5px;bottom:-7px;padding:1px 4px;background:#0b3858;border:2px solid #ffd98a;border-radius:7px;color:#ffe6a8;font-size:7px;font-style:normal;font-weight:1000;text-shadow:0 1px #0009}
.coll-reward:active{translate:0 3px;border-bottom-width:2px}
.coll-grid{align-content:start;overflow-y:auto;overscroll-behavior:contain;max-height:min(52dvh,560px);padding:3px 4px 6px;scrollbar-width:none;mask-image:linear-gradient(#000 calc(100% - 18px),#0000)}
.coll-grid::-webkit-scrollbar{display:none}
@media(max-height:800px){.coll-grid{max-height:min(44dvh,560px)}}
.loot-card.coll-card{grid-template-rows:auto minmax(0,1fr) auto;aspect-ratio:1/1.08;padding:5px 4px 4px;font:inherit;text-align:center;animation-delay:calc(var(--i,0)*45ms)}
.loot-card.coll-card .loot-art{min-height:0;padding:0}
.loot-card.coll-card .loot-art img{position:absolute;top:0;left:0;width:100%;height:calc(100% - 7px);max-height:none}
.loot-card.coll-card .loot-qty{right:1px;bottom:0;font-size:10px;text-shadow:0 0 3px #fffffff2,0 0 6px #ffffffb3,0 1px 0 #fff}
.loot-card.coll-card b{font-size:7.5px;line-height:1.22}
.loot-card.unknown{border-color:#618195;background:linear-gradient(#1a3c53d9 0 26%,#0b2131 74%)}
.loot-card.unknown:before{display:none}
.loot-card.unknown b{color:#9fc3d4;font-size:11px;letter-spacing:.06em;text-shadow:0 2px #0009}
.loot-card.unknown .loot-art img{filter:brightness(0) opacity(.74)}
.loot-card.coll-card.wishlisted{box-shadow:var(--sink),var(--gloss),0 0 10px #ffcf4b}
.coll-card .wish-badge{left:3px;top:3px;width:17px;height:17px;border-width:2px;font-size:9px}
.coll-hint{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;color:#86b0c6;font-size:7px;font-weight:1000;line-height:1.06;text-transform:uppercase}
.coll-mystery{display:grid;width:32px;height:32px;place-items:center;border:2px dashed #4e7690;border-radius:10px;color:#86b0c6;font-size:15px;font-style:normal;font-weight:1000}
.coll-empty{grid-column:1/-1;padding:20px 6px;color:var(--muted);font-size:11px;font-weight:1000;text-align:center}
.unknown-art{clear:both;display:grid;width:min(60vw,240px);margin:0 auto 10px;aspect-ratio:1;place-items:center;padding:16px;border:5px solid #618195;border-radius:26px;background:linear-gradient(#16344a,#0b2131);box-shadow:inset 0 3px 12px #000a}
.unknown-art img{width:100%;height:100%;object-fit:contain;filter:brightness(0) opacity(.8)}
.unknown-art .coll-mystery{width:64px;height:64px;font-size:30px}
.unknown-sheet h1{color:#9fc3d4;letter-spacing:.1em}
.unknown-sheet .copy{color:#cfe9f4;font-weight:1000;letter-spacing:.05em;text-transform:uppercase}
.coll-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:6px;align-items:center}
.filter-select{position:relative;display:block;min-width:0}
.filter-select select{width:100%;appearance:none;-webkit-appearance:none;padding:9px 21px 9px 9px;border:2px solid #9bd7e4;border-bottom:4px solid #274f5c;border-radius:11px;background:#18475b;color:#e6f4fa;font-size:9px;font-weight:1000;text-transform:uppercase;text-shadow:0 2px #0007;box-shadow:var(--gloss)}
.filter-select select option{background:#0b3858;color:#fff}
.filter-select:after{content:"";position:absolute;right:8px;top:50%;width:0;height:0;border:5px solid transparent;border-top-color:#cfeaf5;translate:0 -25%;pointer-events:none}
.coll-search{display:block}
.coll-input{width:100%;padding:9px 10px;border:2px solid #9bd7e4;border-bottom:4px solid #274f5c;border-radius:11px;background:#0b2f47;color:#fff;font-size:11px;font-weight:1000;box-shadow:inset 0 2px 5px #0007}
.coll-input::placeholder{color:#7fa8bd;font-weight:800}
.search-glyph{position:relative;width:13px;height:13px;border:2px solid currentColor;border-radius:50%}
.search-glyph:after{content:"";position:absolute;right:-5px;bottom:-4px;width:7px;height:3px;background:currentColor;border-radius:2px;rotate:45deg}
@media(min-width:600px){.loot-card.coll-card b{font-size:10px}.loot-card.coll-card .loot-rarity{font-size:8px}.loot-card.unknown b{font-size:13px}.coll-hint{font-size:8px}.top-tabs.coll-tabs button{font-size:11px}}
@media(max-width:390px){.coll-body{padding:7px;gap:7px}.loot-card.coll-card b{font-size:7px}.loot-card.unknown b{font-size:10px}.coll-hint{font-size:6.5px}.coll-reward{width:42px;height:42px}.coll-reward img{width:30px;height:30px}}
.meme-bark{position:fixed;z-index:90;left:10px;right:10px;top:calc(70px + var(--safe-top));max-width:680px;margin:auto;display:flex;align-items:center;gap:8px;padding:7px;background:#ffe79a;color:#26353a;border:3px solid #fff6cd;border-bottom:7px solid #8f5d1d;border-radius:16px;transform:translateY(-170%);opacity:0;transition:transform .3s,opacity .3s}.meme-bark.show{transform:translateY(0);opacity:1}.meme-bark img{width:62px;height:62px;object-fit:cover;border-radius:11px}.meme-bark span{font-size:12px}.meme-bark small{display:block;margin-top:4px;font-size:7px;color:#79561f}
.toast{position:fixed;z-index:200;left:50%;bottom:calc(86px + var(--safe-bottom));transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:min(88vw,470px);padding:11px 15px;background:#071724ee;border:2px solid #87d3e2;border-radius:13px;text-align:center;font-size:11px;font-weight:900;transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}body.gameplay .toast{bottom:18px}
.network-status{position:fixed;z-index:210;left:50%;top:calc(var(--safe-top) + 8px);translate:-50% -150%;opacity:0;width:min(90vw,520px);padding:10px 14px;background:#7d2e27f2;border:3px solid #ffd78c;border-bottom:6px solid #39140f;border-radius:15px;text-align:center;font-size:11px;font-weight:1000;box-shadow:0 8px 24px #0009;transition:.24s;pointer-events:none}.network-status.show{translate:-50% 0;opacity:1}.network-status.reconnecting{background:#174b65f2;border-color:#9ceaff;border-bottom-color:#082637}.network-status.reconnecting:before{content:"";display:inline-block;width:10px;height:10px;margin-right:7px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:networkSpin .7s linear infinite}@keyframes networkSpin{to{rotate:360deg}}
.modal{position:fixed;z-index:120;inset:0;background:#02080dc9;display:grid;align-items:end;justify-items:center;padding:14px 10px calc(14px + var(--safe-bottom));backdrop-filter:blur(4px)}.modal-card{position:relative;width:min(100%,620px);max-height:88dvh;overflow:auto;padding:19px;background:#12394d url('../img/backgrounds/profile.webp') center/cover;border:3px solid #d5b16b;border-radius:23px;box-shadow:0 10px 0 #3a2817,0 25px 60px #000}.modal-card:before{content:"";position:absolute;inset:0;background:#071724cf}.modal-card>*{position:relative}.modal-x{position:sticky;z-index:2;float:right;top:0;width:37px;height:37px;border:2px solid #fff;border-radius:11px;background:#a83c35;font-size:23px}
.exit-warning{text-align:center;padding-top:8px}.exit-warning>img{width:116px;height:116px;margin:-3px auto 7px;display:block;object-fit:cover;object-position:top;border:4px solid #906224;border-radius:22px;box-shadow:0 5px 0 #5f411e}.exit-warning h2{margin:5px 0 8px;color:#742a20}.exit-warning .copy{margin-bottom:13px;font-size:12px;font-weight:800}.exit-warning .row{position:relative;z-index:2}
.wish-badge{position:absolute;z-index:5;left:8%;top:7%;display:grid;width:24px;height:24px;place-items:center;border:2px solid #fff1a8;border-radius:50%;background:#b62f43;color:#fff;font-style:normal;font-size:13px;box-shadow:0 3px 0 #571525}.item-card.wishlisted{filter:drop-shadow(0 0 6px #ffcf4b) drop-shadow(0 5px 2px #020910a8)}
.instance-heading{margin:18px 0 8px;font-size:17px}.instance-list{display:grid;gap:8px;text-align:left}.instance-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:8px;border:2px solid #79c9d9;border-bottom:5px solid #244f61;border-radius:14px;background:#0b2e42e8}.instance-card.favorite{border-color:#f5cf52}.instance-card.protected{box-shadow:inset 0 0 0 2px #e9574a}.instance-main{min-width:0;border:0;background:none;color:#fff;display:grid;grid-template-columns:auto 1fr;gap:2px 8px;text-align:left;padding:3px}.instance-main b{justify-self:end;color:#ffe06a}.instance-main small{grid-column:1/-1;color:#bfe2eb;font-size:9px}.instance-code{font-size:10px;color:#8be3f4;font-weight:1000}.instance-actions{display:flex;align-items:center;gap:5px}.icon-action{width:38px;height:38px;display:grid;place-items:center;border:2px solid #9bd7e4;border-bottom:5px solid #274f5c;border-radius:11px;background:#18475b;color:#d9ecf2;font-size:18px;font-weight:1000;box-shadow:var(--gloss)}.icon-action:active{translate:0 2px;border-bottom-width:3px}.icon-action.active{background:#e7b83e;color:#3d2805;border-color:#fff0a1;border-bottom-color:#916217}.icon-action.danger{background:#bd4039;color:#fff;border-color:#ffc3ae;border-bottom-color:#6b211e}.lock-glyph{position:relative;width:16px;height:13px;margin-top:5px;border:2px solid currentColor;border-radius:3px}.lock-glyph:before{content:"";position:absolute;left:2px;top:-10px;width:8px;height:9px;border:2px solid currentColor;border-bottom:0;border-radius:8px 8px 0 0}.lock-action:not(.active) .lock-glyph:before{transform:translateX(4px) rotate(25deg);transform-origin:left bottom}
.instance-detail{text-align:center}.instance-detail .catch-art{display:block;margin:0 auto 10px}.instance-detail-actions{justify-content:center;flex-wrap:wrap;margin:12px 0}.instance-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:12px 0}.instance-facts div{padding:8px;background:#071724c7;border:1px solid #73bfd0;border-radius:10px}.instance-facts dt{font-size:8px;color:#ffd45c;font-weight:1000}.instance-facts dd{margin:3px 0 0;font-size:10px}.ownership-timeline{display:grid;gap:6px;text-align:left}.ownership-timeline>div{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;padding:8px;background:#09283ae0;border-left:4px solid #e4bd4c;border-radius:8px}.ownership-timeline b{font-size:8px;color:#ffdc65}.ownership-timeline span{font-size:9px}.ownership-timeline small{font-size:8px;color:#a8cbd4}

.journal-entry h3,.journal-entry p{margin:0 0 6px}.memory-replay{text-align:center}.memory-replay-host{width:min(100%,420px);aspect-ratio:1;margin:auto;position:relative;overflow:hidden;border-radius:18px;background:#071724}.danger-zone{border-color:#b73932!important;box-shadow:0 6px 0 #5d1816!important}.row.wrap{flex-wrap:wrap}
.inspection-panel{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:10px;align-items:center;margin:14px 0;padding:10px;border:3px solid #d8b14e;border-bottom:6px solid #75501a;border-radius:16px;background:linear-gradient(135deg,#143a4d,#082334);text-align:left}.inspection-panel>img{width:70px;height:70px;object-fit:cover;object-position:top;border:2px solid #ffe27b;border-radius:13px}.inspection-panel p{margin:3px 0;font-size:10px;line-height:1.25}.inspection-panel small{color:#bfe0e8;font-size:8px}.inspection-result{text-align:center}.inspection-stage{position:relative;width:min(76vw,330px);aspect-ratio:1;margin:0 auto 12px;overflow:hidden;border:5px solid #dfba54;border-radius:24px;background:#09283a}.inspection-stage>img{width:100%;height:100%;object-fit:contain}.inspection-stage>[data-inspection-sprite-host]{position:absolute;inset:0}.inspection-result .speech{margin:12px auto;text-align:left}
.collection-preview h2{margin:5px 0}.exchange-warning,.exchange-shortage{margin:10px 0;padding:11px;border:3px solid #ffd070;border-bottom:6px solid #74251e;border-radius:14px;background:#a83b35;color:#fff}.exchange-warning b{display:block;color:#fff1a5}.exchange-warning p{margin:4px 0 0;font-size:10px}.exchange-shortage{background:#5b2b26;text-align:center;font-weight:1000}.exchange-progress{margin:10px 0;padding:11px;display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;border:2px solid #75bfd0;border-radius:14px;background:linear-gradient(180deg,#123d63,#0b2947)}.exchange-progress strong{color:#ffd55d;font-size:13px}.exchange-progress .bar{grid-column:1/-1;height:12px;background:#061a2d;border:2px solid #071829;border-radius:999px;overflow:hidden;box-shadow:inset 0 2px 5px #0008}.exchange-progress .bar i{display:block;height:100%;background:linear-gradient(90deg,#6ac627,#b7ed3f);border-radius:inherit;transition:width .25s ease}.exchange-requirement{padding:10px;border:2px solid #75bfd0;border-radius:15px;background:#08283ae8}.exchange-requirement h3{margin:0;font-size:12px}.exchange-requirement.compact{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:10px}.exchange-requirement.compact>img{width:58px;height:58px;object-fit:contain}.exchange-requirement.compact p{margin:3px 0;font-size:10px}.exchange-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}.exchange-choice{min-width:0;display:grid;grid-template-columns:48px 1fr;gap:2px 7px;align-items:center;padding:6px;border:2px solid #527d8b;border-bottom:5px solid #183e4c;border-radius:12px;background:#0c3448;color:#d9edf2;text-align:left}.exchange-choice img{grid-row:1/5;width:48px;height:48px;object-fit:contain;border-radius:8px;background:#d3e6e9}.exchange-choice b{font-size:9px;color:#8fe5f6}.exchange-choice span,.exchange-choice small{font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exchange-choice em{font-size:7px;color:#ffcf73;font-style:normal;font-weight:1000}.exchange-choice.selected{border-color:#96e04c;background:#315a22;box-shadow:inset 0 0 0 2px #dfff98}.exchange-choice.risky.selected{border-color:#ffbe5b;background:#74322a;box-shadow:inset 0 0 0 2px #ffdd8c}.collection-preview-actions{margin-top:12px}.collection-preview-actions .grow{flex:1}.collection-preview>small{display:block;margin-top:7px;color:#a8ccd5;text-align:center;font-size:8px}
.market-order{gap:9px;align-items:center;padding:8px;border:2px solid #8d6732;border-bottom:5px solid #4a2c19;border-radius:13px;background:linear-gradient(180deg,#f6d991,#d5a754);color:#2b1b14}.market-order img{width:50px;height:50px;object-fit:contain;border-radius:10px;background:#0a2840}.market-order h3,.market-order p{margin:0}.market-order h3{font-size:11px}.market-order p{font-size:8px;font-weight:900;color:#62411f}
body.calm-mode .runtime-fx,body.calm-mode .bite-signal,body.calm-mode .water-contact,body.reduced-motion .runtime-fx,body.reduced-motion .bite-signal,body.reduced-motion .water-contact{display:none!important}body.calm-mode *,body.calm-mode *:before,body.calm-mode *:after,body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}body.calm-mode .fight-scene[data-fight-cue="reverse"],body.reduced-motion .fight-scene[data-fight-cue="reverse"]{filter:none;transform:none}
/* Система UI-компонентов (этап D) — панели, вкладки, чипы, шкалы, декор. Правила по REFERENCE_VISUAL_BIBLE.md, разделы 2 и 3. */
.game-panel{position:relative;border:3px solid #7ccadd;border-bottom:6px solid var(--blue-deep);border-radius:16px;background:var(--grad-blue);overflow:hidden;box-shadow:var(--sink),var(--gloss)}
.panel-head{display:flex;align-items:center;gap:7px;padding:7px 11px;background:var(--grad-head);border-bottom:2px solid var(--blue-deep);font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 2px #0008;box-shadow:inset 0 2px 0 #ffffff4d}.panel-head img{width:22px;height:22px;object-fit:contain}.panel-head b{font-size:12px}.panel-head .grow{text-align:left}
.panel-body{display:grid;gap:9px;padding:11px}.game-panel.gold{border-color:#ffdf8e;border-bottom-color:#7a4d0d}.game-panel.gold .panel-head{background:var(--grad-gold);color:#3a2400;text-shadow:0 1px #ffffff8c}.game-panel.purple{border-color:#c8b6ff;border-bottom-color:#332a5a;background:linear-gradient(#6453b2,#3d3079)}.game-panel.purple .panel-head{background:linear-gradient(#8c74e6,#5a49aa)}
.wood-sign{position:relative;display:inline-block;padding:9px 15px;color:#fff3d0;background:repeating-linear-gradient(90deg,#00000000 0 42px,#3a230c4d 42px 45px),var(--grad-wood);border:3px solid var(--wood-line);border-bottom:6px solid var(--wood-dark);border-radius:13px;font-size:11px;font-weight:1000;text-align:center;text-shadow:0 2px #2c1a08;box-shadow:var(--sink),var(--gloss)}
.wood-sign:before,.wood-sign:after{content:"";position:absolute;top:50%;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe6a8,#846128);translate:0 -50%;box-shadow:0 1px 1px #0009}.wood-sign:before{left:5px}.wood-sign:after{right:5px}
.top-tabs{display:flex;align-items:flex-end;gap:5px;padding:6px 6px 0;background:var(--blue-deep);border:3px solid #7ccadd;border-bottom:0;border-radius:15px 15px 0 0;overflow:auto;scrollbar-width:none}.top-tabs::-webkit-scrollbar{display:none}
.top-tabs button{position:relative;flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:9px 5px;border:2px solid #10537f;border-bottom:0;border-radius:11px 11px 0 0;background:var(--tab-idle);color:#9fc6dc;font-size:10px;font-weight:1000;text-transform:uppercase;text-shadow:0 2px #0008}
.top-tabs button.active{translate:0 -2px;background:var(--tab-active);border-color:#a9dcf3;color:#fff;box-shadow:var(--gloss)}.top-tabs+.game-panel{border-top-left-radius:0;border-top-right-radius:0}
.nav-pills{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.nav-pill{position:relative;display:grid;justify-items:center;gap:2px;padding:7px 4px;border:2px solid #cfefff;border-bottom:5px solid #123b57;border-radius:14px;background:#2f74a6;color:#fff;font-size:9px;font-weight:1000;text-shadow:0 2px #0009;box-shadow:var(--gloss),0 4px 10px #0006}
.nav-pill img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 3px 2px #0007)}.nav-pill:active{translate:0 3px;border-bottom-width:2px}
.nav-pill.purple{background:#6b52c0;border-bottom-color:#332a5a}.nav-pill.red{background:#c04a38;border-bottom-color:#6b2317}.nav-pill.cyan{background:#2f97b0;border-bottom-color:#124454}.nav-pill.gold{background:#dda51f;border-bottom-color:#7a4d0d;color:#3a2400;text-shadow:0 1px #ffffff8c}
.nav-pill .badge{position:absolute;z-index:2;right:-4px;top:-7px;padding:2px 5px;background:#e14b3f;border:2px solid #ffe9a8;border-radius:7px;font-size:7px;letter-spacing:.06em;color:#fff;text-shadow:0 1px #0007;box-shadow:0 2px 0 #59170f}
.chip{display:inline-flex;align-items:center;gap:4px;min-height:34px;padding:2px 9px 2px 3px;background:#0c3a5e;border:2px solid #9f8147;border-radius:11px;font-size:11px;font-weight:1000;text-shadow:0 2px #000;box-shadow:inset 0 2px 0 #ffffff2e,0 3px 0 #030b12}
.chip img{width:27px;height:27px;object-fit:contain}.chip .stacked{display:grid;line-height:1.06;text-align:left}.chip small{font-size:7px;color:#a9cddc;font-weight:900;text-shadow:none}
.chip.energy{border-color:#4ba6bb}.chip.gem{border-color:#8fb6ff}.chip.paper{background:var(--paper);color:var(--paper-ink);border-color:#8f774a;text-shadow:none}
.rarity-badge{display:inline-block;padding:2px 6px;border:1px solid var(--rarity,var(--rarity-common));border-radius:7px;background:#0716247a;color:var(--rarity,var(--rarity-common));font-size:9px;font-weight:1000;text-transform:uppercase;letter-spacing:.06em;text-shadow:0 1px 2px #000}
.stat-bar{display:grid;grid-template-columns:minmax(58px,auto) 1fr auto;align-items:center;gap:8px;font-size:10px;font-weight:1000}.stat-bar>span{color:#d8eef6;text-shadow:0 2px #000}.stat-bar>b{min-width:26px;color:#ffd45d;text-align:right;text-shadow:0 2px #000}
.stat-track{position:relative;height:14px;border:2px solid #071829;border-radius:20px;background:#061a2d;overflow:hidden;box-shadow:inset 0 2px 5px #000a}.stat-track i{display:block;height:100%;border-radius:inherit;background:var(--grad-progress);box-shadow:var(--gloss);transition:width .25s ease}
.stat-track.warm i{background:var(--grad-tension)}.stat-track.gold i{background:var(--grad-gold)}.stat-track:after{content:"";position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(90deg,transparent 0 13px,#00000030 13px 15px);pointer-events:none}
.stat-track em{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:8px;text-shadow:0 1px 2px #000}
.season-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:8px 9px;border:3px solid #b79bff;border-bottom:6px solid #332a5a;border-radius:16px;background:linear-gradient(#7b62d6,#4b3a95);box-shadow:var(--sink),var(--gloss)}
.season-bar .stat-track{height:17px}.season-level{display:grid;place-items:center;width:30px;height:30px;border:2px solid #e2d6ff;border-radius:50%;background:#3d2f78;font-size:12px;font-weight:1000;text-shadow:0 2px #000;box-shadow:var(--gloss),0 3px 0 #241a4d}
.season-title{grid-column:1/-1;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:1000;text-transform:uppercase;text-shadow:0 2px #000}
.lock-overlay{position:absolute;z-index:6;inset:0;display:grid;align-content:center;justify-items:center;gap:5px;border-radius:inherit;background:#04121ec2;color:#ffd98a;font-size:9px;font-weight:1000;text-transform:uppercase;text-shadow:0 2px #000}
.lock-overlay .lock-glyph{width:22px;height:18px;margin:0;border-width:3px;border-radius:4px}.lock-overlay .lock-glyph:before{left:3px;top:-14px;width:12px;height:13px;border-width:3px;border-bottom:0}
.round-cta{position:relative;display:grid;place-items:center;width:min(38vw,132px);aspect-ratio:1;padding:0;border:4px solid #d7ff8a;border-radius:50%;background:radial-gradient(circle at 50% 32%,#9ae63c,#4d9c14 66%,#2e780d);color:#132605;font-size:14px;font-weight:1000;text-transform:uppercase;text-shadow:0 1px #ffffff70;box-shadow:0 7px 0 #21540a,0 14px 22px #0008,var(--gloss)}
.round-cta:before{content:"";position:absolute;inset:15%;border:3px dashed #2f6a1180;border-radius:50%;pointer-events:none}.round-cta:active{translate:0 4px;box-shadow:0 3px 0 #21540a,0 8px 14px #0008,var(--gloss)}
.deco-rope{display:block;height:9px;border-radius:5px;background:repeating-linear-gradient(115deg,#e0bb7c 0 5px,#a97f3d 5px 10px);box-shadow:inset 0 -2px 0 #00000038,0 2px 0 #40280f}
.deco-planks{display:block;height:15px;border-radius:4px;background:repeating-linear-gradient(90deg,#8a6129 0 40px,#5f3f18 40px 44px);box-shadow:inset 0 2px 0 #ffffff26,0 3px 0 #33200b}
.deco-dashed{position:absolute;inset:6px;border:2px dashed #8f774a80;border-radius:12px;pointer-events:none}
.deco-rivets{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background-repeat:no-repeat;background-image:radial-gradient(circle 5px at 11px 11px,#f2fbff,#3f647a 78%,transparent 80%),radial-gradient(circle 5px at calc(100% - 11px) 11px,#f2fbff,#3f647a 78%,transparent 80%),radial-gradient(circle 5px at 11px calc(100% - 11px),#f2fbff,#3f647a 78%,transparent 80%),radial-gradient(circle 5px at calc(100% - 11px) calc(100% - 11px),#f2fbff,#3f647a 78%,transparent 80%)}
.spark,.item-card.rarity-legendary .item-art:after,.item-card.rarity-mythic .item-art:after,.item-card.rarity-secret .item-art:after{content:"";position:absolute;z-index:2;right:2%;top:3%;width:24px;height:24px;pointer-events:none;background:linear-gradient(#fff0 43%,#fff8dd 50%,#fff0 57%),linear-gradient(90deg,#fff0 43%,#fff8dd 50%,#fff0 57%),radial-gradient(circle,#fff 8%,#ffd96e88 28%,transparent 60%);filter:drop-shadow(0 0 4px #ffd96eaa);animation:sparkTwinkle 2.6s ease-in-out infinite}
.item-card.rarity-mythic .item-art:after{background:linear-gradient(#fff0 45%,#ffd9e6 50%,#fff0 55%),linear-gradient(90deg,#fff0 45%,#ffd9e6 50%,#fff0 55%),radial-gradient(circle,#fff 7%,#ee477455 26%,transparent 58%)}
.item-card.rarity-secret .item-art:after{background:linear-gradient(#fff0 45%,#d3fff5 50%,#fff0 55%),linear-gradient(90deg,#fff0 45%,#d3fff5 50%,#fff0 55%),radial-gradient(circle,#fff 7%,#36f0d255 26%,transparent 58%)}
@keyframes sparkTwinkle{0%,100%{opacity:.35;scale:.7;rotate:0deg}50%{opacity:1;scale:1.1;rotate:35deg}}
/* Главный экран по ячейке 1 референса (этап E): сцена с левым рельсом, логотипом, Мемычем, золотым CTA и сезонной полосой. */
.home-stage{position:relative;min-height:372px;padding:9px;border:3px solid #d2ae65;border-bottom-width:6px;border-radius:23px;background:#0d4363 url('../img/backgrounds/home.webp') center/cover;overflow:hidden;box-shadow:0 7px 0 #3b2a17,0 16px 30px #0007,var(--gloss)}
.home-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(#04121cb0 0 13%,#04121c1f 40%,#04121cad 84%,#04121ce8)}
.home-rail{position:absolute;z-index:3;left:9px;top:9px;display:grid;gap:5px;justify-items:center}
.rail-btn{position:relative;width:62px;display:grid;justify-items:center;gap:1px;padding:4px 2px 3px;border:2px solid #cfefff;border-bottom:4px solid #123b57;border-radius:14px;background:#1b567ed9;color:#fff;font-size:8px;font-weight:1000;text-transform:uppercase;letter-spacing:.02em;text-shadow:0 2px #000;box-shadow:var(--gloss),0 3px 8px #0007}
.rail-btn img{width:31px;height:31px;object-fit:contain;filter:drop-shadow(0 3px 2px #0008)}.rail-btn:active{translate:0 2px;border-bottom-width:2px}
.rail-badge{position:absolute;z-index:2;right:-5px;top:-6px;min-width:17px;padding:1px 4px;background:#e14b3f;border:2px solid #ffe9a8;border-radius:8px;font-size:8px;font-style:normal;color:#fff;text-shadow:0 1px #0007;box-shadow:0 2px 0 #59170f}
.home-memych{position:absolute;z-index:2;right:8px;bottom:67px;width:50%;max-width:182px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 6px 12px #00000080);pointer-events:none}
.home-brand{position:absolute;z-index:4;left:74px;right:40%;top:13px;display:grid;justify-items:center;gap:8px;text-align:center}
.home-logo{margin:0;font-size:clamp(25px,8.4vw,37px);line-height:.85;font-weight:1000;text-shadow:0 4px #071421,0 8px 16px #000}.home-logo b{display:block;color:var(--gold);font-size:1.05em}
.home-brand .wood-sign{font-size:10px;padding:7px 17px}
.home-cta{position:absolute;z-index:5;left:25%;bottom:96px;width:50%;max-width:184px;translate:0 0;font-size:19px;letter-spacing:.02em}
.home-stage .season-bar{position:absolute;z-index:5;left:9px;right:9px;bottom:9px}.season-title img{width:17px;height:17px;object-fit:contain}
.home-stage.no-season .home-cta{bottom:24px}.home-stage.no-season .home-memych{bottom:-12px;width:52%;max-width:188px}.home-stage.no-season{min-height:344px}.home-stage.no-rail .home-brand{left:14px}
.home-stage.rail-4{min-height:392px}.home-stage.rail-5{min-height:410px}
.season-bar .stat-track em{font-size:9px;text-shadow:0 1px 3px #000,0 0 3px #000}
.home-rumor{display:grid;gap:3px}.home-rumor .copy{font-size:11px}.home-collection{padding:10px 12px}.nav-pill b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-pill .lock-overlay{align-content:start;justify-items:end;padding:4px 5px;background:#04121e9c}.nav-pill .lock-overlay .lock-glyph{width:15px;height:12px;border-width:2px}.nav-pill .lock-overlay .lock-glyph:before{left:2px;top:-9px;width:9px;height:9px;border-width:2px}
@media(max-width:360px){.home-brand{left:64px;right:38%}.home-cta{left:24%;width:52%}.rail-btn{width:56px}.rail-btn img{width:28px;height:28px}}
@media(min-width:600px){.screen{padding-left:18px;padding-right:18px}.item-grid,.avatar-grid{grid-template-columns:repeat(5,1fr)}.shop-grid{grid-template-columns:repeat(3,1fr)}.hub-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:390px){.identity b{max-width:96px;font-size:11px}.xp-level{width:17px;height:17px;flex-basis:17px;font-size:8px}.xp-track{min-width:32px;height:8px}.currency{min-width:48px;padding-right:3px}.currency img{width:26px;height:26px}.item-grid{gap:5px}.hub-tile{min-height:105px}.market-row{grid-template-columns:63px 1fr}.market-row>div:last-child{grid-column:2}.slot-booth{width:100%}.payout-row b{font-size:10px}.slot-log-syms img{width:21px;height:21px}.item-card h3{font-size:8px}.item-card small{font-size:6.5px}.memych-stage{height:min(53dvh,440px)}.first-cast-cta{min-height:66px}.inspection-panel{grid-template-columns:58px 1fr}.inspection-panel>img{width:58px;height:58px}.inspection-panel .game-button{grid-column:1/-1;width:100%}.exchange-choice-grid{grid-template-columns:1fr}}
@media(orientation:landscape) and (max-height:520px){.memych-stage{position:absolute;left:2%;top:4%;width:58%;height:92%}.first-cast-zone{margin:0 0 0 auto;width:42%;align-self:flex-end}.first-fishing-scene .fishing-layer{justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

.top-tabs.gear-tabs{gap:3px;padding:5px 5px 0}
.top-tabs.gear-tabs button{display:grid;justify-items:center;gap:2px;padding:5px 2px 6px;font-size:7px;letter-spacing:0}
.top-tabs.gear-tabs button img{width:24px;height:22px;object-fit:contain;filter:grayscale(.55) brightness(.86) drop-shadow(0 2px 2px #0009)}
.top-tabs.gear-tabs button.active img{filter:drop-shadow(0 2px 3px #000b)}
.top-tabs.gear-tabs button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gear-panel{margin-bottom:9px}
.gear-body{padding:9px 8px 10px}
.gear-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr) 78px;gap:7px;align-items:start}
.gear-side{display:grid;gap:2px;justify-items:start;min-width:0;width:100%}
.gear-side .eyebrow{font-size:7.5px;letter-spacing:.1em;color:#9fd7ef}
.gear-name{overflow-wrap:anywhere;color:#fff;font-size:13px;font-weight:1000;line-height:1.04;text-shadow:0 2px #000}
.gear-art{position:relative;display:grid;justify-items:center;gap:4px;width:100%;margin-top:3px;padding:0;border:0;background:none;font:inherit}
.gear-art img{width:100%;height:142px;object-fit:contain;filter:drop-shadow(0 7px 9px #000a)}
.gear-swap{padding:2px 8px;border:2px solid #e7fbff;border-bottom-width:3px;border-radius:9px;background:#2d6076;color:#eaf7ff;font-size:7.5px;font-style:normal;font-weight:1000;letter-spacing:.06em;box-shadow:var(--gloss)}
.gear-art:active{translate:0 2px}
.gear-facts{display:grid;gap:5px;min-width:0}
.stat-bar.gear-stat{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 6px}
.stat-bar.gear-stat .stat-label{grid-column:1/-1;overflow:hidden;color:#d8eef6;font-size:8.5px;font-weight:1000;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.stat-bar.gear-stat .stat-track{height:12px}
.stat-bar.gear-stat>b{min-width:22px;color:#ffd45d;font-size:12px;text-align:right;text-shadow:0 2px #000}
.gear-level{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;color:#cfe8f2;font-size:9px;font-weight:1000;letter-spacing:.04em;text-shadow:0 2px #000}
.gear-level b{color:#fff;font-size:12px}
.gear-purse{display:inline-flex;align-items:center;gap:2px;margin-left:auto;padding:2px 7px;border:2px solid #7ccadd;border-radius:11px;background:#0d4c74;color:#ffe8a8;font-size:9px;font-style:normal;box-shadow:var(--gloss)}
.coin{width:13px;height:13px;object-fit:contain;vertical-align:-2px}
.gear-cta{padding:9px 6px;font-size:10px;letter-spacing:.02em}
.gear-cta .coin{width:15px;height:15px;margin:0 2px}
.gear-cta[disabled]{filter:grayscale(.7);opacity:.62}
.gear-equip{padding:6px 5px;font-size:9px}
.gear-hint{padding:6px 7px;border:2px dashed #5f8fa8;border-radius:11px;background:#0a2c46;color:#a9cfe0;font-size:8.5px;font-weight:1000;line-height:1.2;text-align:center}
.gear-hint.max{border-style:solid;border-color:#ffc83e;color:#ffd97a}
.gear-evo{display:grid;gap:3px;padding:5px 4px;border:2px solid #7ccadd;border-bottom-width:4px;border-radius:13px;background:linear-gradient(#155476,#0b3050);box-shadow:var(--gloss)}
.evo-title{color:#ffd45d;font-size:7.5px;font-weight:1000;letter-spacing:.06em;text-align:center;text-shadow:0 2px #000}
.evo-step{position:relative;display:grid;justify-items:center;gap:0;padding:3px 2px;border:1px solid #0b3352;border-radius:9px;background:#0a2c46}
.evo-step img{width:100%;height:30px;object-fit:contain;filter:grayscale(1) brightness(.55)}
.evo-step.done img{filter:drop-shadow(0 2px 2px #0008)}
.evo-step b{color:#a8cadc;font-size:7px;font-weight:1000}
.evo-step.done{border-color:#4f9c2c;background:#0d3a2c}
.evo-step.done b{color:#9bf08a}
.evo-tick{position:absolute;right:4px;top:9px;width:6px;height:11px;border:solid #7ae04a;border-width:0 3px 3px 0;rotate:42deg;filter:drop-shadow(0 1px 1px #000a)}
.evo-step .lock-glyph{position:absolute;right:4px;top:12px;width:11px;height:9px;margin:0;border-width:2px;color:#ffd98a}
.evo-step .lock-glyph:before{left:1px;top:-7px;width:6px;height:7px;border-width:2px}
.gear-active{margin-bottom:9px}
.panel-head.gear-active-head{justify-content:center;color:#ffd45d;font-size:10px;letter-spacing:.08em}
.gear-slots{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.gear-slot{display:grid;justify-items:center;align-content:start;gap:1px;min-width:0;padding:5px 3px 4px;border:2px solid #7ccadd;border-bottom-width:4px;border-radius:12px;background:linear-gradient(#12547d,#0a3457);font:inherit;box-shadow:var(--gloss)}
.gear-slot:active{translate:0 2px;border-bottom-width:2px}
.gear-slot img{width:100%;height:32px;object-fit:contain}
.gear-slot b{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;color:#eaf7ff;font-size:7px;font-weight:1000;line-height:1.06;text-align:center}
.gear-slot small{color:#ffd45d;font-size:6.5px;font-weight:1000}
.gear-slot.empty{border-style:dashed;border-color:#5f8fa8;background:#08243a}
.gear-slot.empty b{color:#9dc0d2}
.slot-plus{position:relative;width:32px;height:32px}
.slot-plus:before,.slot-plus:after{content:"";position:absolute;left:50%;top:50%;background:#6fa4bd;border-radius:2px;translate:-50% -50%}
.slot-plus:before{width:16px;height:4px}
.slot-plus:after{width:4px;height:16px}
.gear-mate{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:8px}
.gear-mate img{width:46px;height:46px;object-fit:contain}
.gear-mate img.dim{filter:grayscale(1) opacity(.5)}
.gear-mate .grow{display:grid;justify-items:start;gap:1px;min-width:0}
.gear-mate .eyebrow{font-size:8px;letter-spacing:.1em}
.gear-mate b{overflow-wrap:anywhere;color:#fff;font-size:12px;font-weight:1000;line-height:1.1;text-shadow:0 2px #000}
.pick-sheet h2{margin:0 44px 8px 0;color:#ffd45d;font-size:14px;font-weight:1000;letter-spacing:.04em;text-align:center;text-shadow:0 2px #000}
.pick-list{display:grid;gap:6px;max-height:min(58dvh,520px);overflow:auto;padding-right:2px}
.pick-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 7px;border:2px solid #7ccadd;border-bottom-width:4px;border-radius:12px;background:linear-gradient(#12547d,#0a3457);box-shadow:var(--gloss)}
.pick-row.off{border-color:#4f7b91;background:#0a2739;opacity:.78}
.pick-row>img{width:44px;height:44px;object-fit:contain}
.pick-row .coin{width:14px;height:14px;margin-right:2px}
.pick-row .grow{display:grid;justify-items:start;gap:2px;min-width:0}
.pick-row b{overflow-wrap:anywhere;color:#fff;font-size:11px;font-weight:1000;line-height:1.1;text-shadow:0 2px #000}
.pick-row small{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#b9d8e3;font-size:8px;line-height:1.15}
.pick-row .game-button{max-width:104px;padding:7px 8px;font-size:9px}
.pick-tag{max-width:96px;padding:3px 7px;border:2px solid #5f8fa8;border-radius:10px;background:#092a41;color:#a9cfe0;font-size:7.5px;font-weight:1000;line-height:1.15;text-align:center}
.pick-tag.on{border-color:#75cf22;background:#12401a;color:#b6f08a}
@media(max-width:390px){.gear-hero{grid-template-columns:minmax(0,.86fr) minmax(0,1fr) 70px;gap:5px}.gear-art img{height:126px}.gear-name{font-size:12px}.stat-bar.gear-stat>b{font-size:11px}.gear-cta{font-size:9px;padding:8px 4px}.evo-step img{height:26px}.gear-slot img{height:28px}.gear-slot b{font-size:6.5px}.top-tabs.gear-tabs button img{width:21px;height:19px}}
@media(max-width:360px){.gear-hero{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) 62px}.gear-art img{height:100px}.gear-purse{margin-left:0}.evo-step b{font-size:6.5px}}
@media(min-width:600px){.gear-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) 108px;gap:12px}.gear-art img{height:190px}.gear-name{font-size:17px}.gear-slot b{font-size:9px}.gear-slot img{height:44px}.evo-step img{height:42px}.evo-title{font-size:10px}.evo-step b{font-size:9px}.top-tabs.gear-tabs button{font-size:9px}.top-tabs.gear-tabs button img{width:30px;height:26px}}

/* Экран 7: лодка, напарники, бусты (ТЗ 21) */
.top-tabs.boat-tabs{gap:4px;padding:5px 5px 0}
.top-tabs.boat-tabs button{display:grid;justify-items:center;gap:2px;padding:5px 4px 6px;font-size:8px;letter-spacing:0}
.top-tabs.boat-tabs button img{width:30px;height:24px;object-fit:contain;filter:grayscale(.55) brightness(.86) drop-shadow(0 2px 2px #0009)}
.top-tabs.boat-tabs button.active img{filter:drop-shadow(0 2px 3px #000b)}
.top-tabs.boat-tabs button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gear-hero.boat-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.boat-side{gap:3px}
.boat-art img{width:100%;height:118px;object-fit:contain;filter:drop-shadow(0 8px 10px #000a)}
.boat-copy{margin:2px 0 0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#b9d8e3;font-size:8.5px;font-weight:800;line-height:1.2}
.stat-bar.boat-upgrades>b{color:#b6f08a}
.crew-seats{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}
.crew-seat{flex:1 1 62px;max-width:104px;display:grid;justify-items:center;align-content:start;gap:1px;min-width:0;padding:5px 3px 4px;border:2px solid #7ccadd;border-bottom-width:4px;border-radius:12px;background:linear-gradient(#12547d,#0a3457);font:inherit;box-shadow:var(--gloss)}
.crew-seat:active{translate:0 2px;border-bottom-width:2px}
.crew-seat img{width:100%;height:40px;object-fit:contain}
.crew-seat b{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;color:#eaf7ff;font-size:7px;font-weight:1000;line-height:1.06;text-align:center}
.crew-seat small{color:#ffd45d;font-size:6.5px;font-weight:1000;text-align:center;line-height:1.05}
.crew-seat.empty{border-style:dashed;border-color:#5f8fa8;background:#08243a}
.crew-seat.empty b{color:#9dc0d2}
.mate-hero{display:grid;grid-template-columns:104px minmax(0,1fr);gap:9px;align-items:center}
.mate-art{width:104px;height:118px;object-fit:contain;filter:drop-shadow(0 7px 9px #000a)}
.mate-facts{display:grid;justify-items:start;gap:3px;min-width:0}
.mate-facts .eyebrow{font-size:7.5px;letter-spacing:.1em;color:#9fd7ef}
.mate-bonus{padding:3px 8px;border:2px solid #ffc83e;border-radius:11px;background:#3d2a05;color:#ffd97a;font-size:8.5px;font-weight:1000;letter-spacing:.03em;box-shadow:var(--gloss)}
.mate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:6px}
.mate-card{position:relative;display:grid;justify-items:center;align-content:start;gap:3px;padding:6px 4px 5px;border:2px solid #7ccadd;border-bottom-width:4px;border-radius:13px;background:linear-gradient(#12547d,#0a3457);box-shadow:var(--gloss)}
.mate-card>img{width:100%;height:52px;object-fit:contain}
.mate-card b{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;color:#fff;font-size:8px;font-weight:1000;line-height:1.08;text-align:center;text-shadow:0 2px #000}
.mate-card small{color:#ffd45d;font-size:7px;font-weight:1000;line-height:1.1;text-align:center}
.mate-card .game-button{width:100%;padding:6px 4px;font-size:8px}
.mate-card .pick-tag{max-width:100%;font-size:7px}
.mate-card.off{border-color:#4f7b91;background:#0a2739}
.mate-card .lock-overlay{pointer-events:none;align-content:start;justify-items:end;padding:3px 4px;background:#04121e6b}
.mate-card .lock-overlay .lock-glyph{width:15px;height:12px;border-width:2px}
.mate-card .lock-overlay .lock-glyph:before{left:2px;top:-9px;width:9px;height:9px;border-width:2px}
.mate-card.off>img{filter:grayscale(1) brightness(.7)}
.mate-card.seated{border-color:#75cf22}
.boost-list{display:grid;gap:7px}
.boost-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;border:2px solid #7ccadd;border-bottom-width:5px;border-radius:14px;background:linear-gradient(#12547d,#0a3457);box-shadow:var(--gloss)}
.boost-card.on{border-color:#75cf22;background:linear-gradient(#1a5a2b,#0c3a1c)}
.boost-card.off{border-color:#4f7b91;background:#0a2739;opacity:.82}
.boost-icon{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 3px 4px #000a)}
.boost-card .grow{display:grid;justify-items:start;gap:2px;min-width:0}
.boost-card b{color:#fff;font-size:11px;font-weight:1000;letter-spacing:.03em;text-shadow:0 2px #000}
.boost-card small{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#b9d8e3;font-size:8px;line-height:1.2}
.boost-state{color:#9fd7ef;font-size:8px;font-weight:1000;letter-spacing:.04em}
.boost-state i{font-style:normal;color:#ffd45d}
.boost-card.on .boost-state i{color:#b6f08a}
.boost-card .game-button{max-width:112px;padding:7px 8px;font-size:8.5px}
.boost-card .coin{width:13px;height:13px;margin:0 1px}
.boost-hint{margin:1px 0 0;color:#8fb4c6;font-size:7.5px;font-weight:800;line-height:1.2;text-align:center}
.gear-mate .mate-face{width:30px;height:30px;margin-left:-22px;align-self:end;object-fit:contain;filter:drop-shadow(0 2px 3px #000a)}
.gear-mate small{color:#ffd45d;font-size:8px;font-weight:1000}
.strike-button.auto{box-shadow:0 0 0 3px #ffc83e88,0 8px 0 #2e780d}
@media(max-width:390px){.gear-hero.boat-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.boat-art img{height:98px}.mate-hero{grid-template-columns:84px minmax(0,1fr)}.mate-art{width:84px;height:96px}.mate-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr))}.mate-card>img{height:44px}.boost-card{grid-template-columns:38px minmax(0,1fr) auto;gap:6px}.boost-icon{width:38px;height:38px}.boost-card b{font-size:10px}}
@media(min-width:600px){.crew-seat{max-width:132px;padding-bottom:7px}.boat-art img{height:170px}.mate-art{width:150px;height:170px}.mate-hero{grid-template-columns:150px minmax(0,1fr)}.mate-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}.mate-card>img{height:72px}.mate-card b{font-size:10px}.crew-seat img{height:56px}.crew-seat b{font-size:9px}.top-tabs.boat-tabs button{font-size:10px}.top-tabs.boat-tabs button img{width:38px;height:30px}}
.shop-hero{position:relative;display:grid;gap:8px;padding:10px;border:3px solid #ba8d4c;border-bottom-width:6px;border-radius:18px;background:#2a1c10 url('../img/backgrounds/shop.webp') center/cover;box-shadow:var(--sink),var(--gloss);overflow:hidden}
.shop-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(#2a160bd9,#160b04b3 55%,#2a160be6)}
.shop-hero>*{position:relative;z-index:1}
.hero-top{display:grid;gap:3px}
.hero-title{color:var(--gold);font-size:15px;font-weight:1000;line-height:1.1;text-transform:uppercase;letter-spacing:.03em;text-shadow:0 3px #000,0 0 12px #ff9c2e66}
.hero-clock{display:inline-flex;align-items:center;gap:5px;color:#ffe6b0;font-size:9px;font-weight:1000;letter-spacing:.02em;text-shadow:0 2px #000}
.clock-glyph{position:relative;width:11px;height:11px;border:2px solid #ffe6b0;border-radius:50%;box-shadow:0 2px #0009}
.clock-glyph:before{content:"";position:absolute;left:3px;top:1px;width:2px;height:4px;background:#ffe6b0}
.hero-season{margin:0;padding:5px 7px;border-radius:13px;background:#0a1f2fbf;border:2px solid #7ccadd66}
.hero-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}
.offer-card{position:relative;display:grid;gap:6px;align-content:start;padding:8px;border:3px solid #e7fbff;border-bottom-width:6px;border-radius:16px;box-shadow:var(--sink),var(--gloss)}
.pass-card{background:linear-gradient(#7b55d7,#41248f);border-color:#c3adf7}
.starter-card{background:linear-gradient(#3f9c2c,#1d5c17);border-color:#b6ee86}
.offer-head{padding:4px 6px;border-radius:10px;background:#0a1f2fa6;color:#fff;font-size:9.5px;font-weight:1000;text-align:center;text-transform:uppercase;letter-spacing:.03em;text-shadow:0 2px #000}
.pass-art{display:block;height:62px;border-radius:11px;border:2px solid #ffffff40;overflow:hidden}
.pass-art img{width:100%;height:100%;object-fit:cover}
.offer-card p{margin:0;color:#f2f8ff;font-size:8.5px;font-weight:800;line-height:1.3;max-height:3.9em;text-shadow:0 1px #0006;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.starter-copy{min-height:32px}
.offer-card .game-button{padding:8px 6px;font-size:9px}
.offer-card .pick-tag{max-width:100%;justify-self:stretch}
.grant-row{display:flex;flex-wrap:wrap;gap:4px}
.grant-row.big{justify-content:center}
.grant-chip{display:inline-flex;align-items:center;gap:3px;padding:3px 6px 3px 3px;border:2px solid #ffffff33;border-radius:11px;background:#08192699;color:#ffe6b0;font-size:9px;font-weight:1000;text-shadow:0 2px #000}
.grant-chip img{width:17px;height:17px;object-fit:contain;filter:drop-shadow(0 2px 2px #0009)}
.grant-row.big .grant-chip{padding:4px 8px 4px 4px;font-size:10px}
.grant-row.big .grant-chip img{width:22px;height:22px}
.coin-packs .panel-head{background:linear-gradient(#8c74e6,#5a49aa);color:#fff;text-shadow:0 2px #0008}
.coin-row{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 8px;border:2px solid #7ccadd;border-bottom-width:5px;border-radius:14px;background:linear-gradient(#12547d,#0a3457);box-shadow:var(--gloss)}
.coin-row>img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 3px 4px #000a)}
.coin-sum{display:grid;gap:1px;min-width:0}
.coin-sum b{color:var(--gold);font-size:14px;font-weight:1000;text-shadow:0 2px #000}
.coin-sum small{overflow:hidden;color:var(--muted);font-size:8px;font-weight:800;white-space:nowrap;text-overflow:ellipsis}
.bonus-badge{position:absolute;right:6px;top:-7px;padding:2px 6px;border:2px solid #d9ffd0;border-radius:9px;background:#3f9c2c;color:#fff;font-size:8px;font-weight:1000;font-style:normal;letter-spacing:.02em;text-shadow:0 2px #0007;box-shadow:0 3px 0 #1d5c17}
.bonus-badge.red{background:var(--red);border-color:#ffd7d4;box-shadow:0 3px 0 #8f231d}
.offer-row .coin-sum b{color:#fff;font-size:11px}
.stars-price.green{background:#75d329;border-color:#d9ffd0;border-bottom-color:#2e780d;color:#08260a}
.stars-price.karasiki{display:inline-flex;align-items:center;gap:3px;background:#12547d;border-color:#9fe3f5;border-bottom-color:#062639;color:#fff;font-size:10px}
.stars-price.poor{filter:grayscale(.6) brightness(.85)}
.stars-price s{opacity:.65;font-size:8px}
.shelf-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}
.shelf-row::-webkit-scrollbar{display:none}
.shelf-card{position:relative;flex:0 0 108px;display:grid;justify-items:center;gap:4px;align-content:start;padding:8px 7px;border-radius:15px;text-align:center}
.shelf-art{display:grid;place-items:center;width:100%;height:62px}
.shelf-art img{max-width:100%;max-height:62px;object-fit:contain;filter:drop-shadow(0 3px 4px #0006)}
.shelf-card b{color:var(--paper-ink);font-size:9.5px;font-weight:1000;line-height:1.15}
.shelf-card small{color:#4c5f5f;font-size:8px;font-weight:800;line-height:1.2}
.shelf-card small i{font-style:normal;font-weight:1000;color:#2c770d}
.shelf-card.on{border-color:#a9f07a;box-shadow:0 6px 0 #2c770d,0 12px 22px #0006,inset 0 2px 0 #fffdf1}
.shelf-card.off{filter:grayscale(.55)}
.shelf-card .stars-price{padding:6px 9px;font-size:9px}
.shelf-card .grant-chip{color:#2c770d;background:#ffffffa6;border-color:#0000001a}
.shelf-hint{margin:0;color:#8fb4c6;font-size:7.5px;font-weight:800;line-height:1.25;text-align:center}
.wide-hint{padding:0 14px}
.shop-card{position:relative;display:grid;justify-items:center;gap:5px;align-content:start;text-align:center}
.shop-card .card-art{display:grid;place-items:center;width:100%;height:96px}
.shop-card .card-art img{max-width:100%;max-height:96px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 4px 5px #0007)}
.shop-card h3{margin:0;font-size:11px;line-height:1.15}
.shop-card p{height:30px;font-size:8px;line-height:1.2}
.shop-card.off{filter:grayscale(.5)}
.sku-badge{position:absolute;left:6px;top:6px;z-index:4;padding:2px 6px;border:2px solid #ffe9a8;border-radius:9px;background:var(--gold);color:#3a2400;font-size:7.5px;font-weight:1000;font-style:normal;letter-spacing:.02em;box-shadow:0 3px 0 #a76510}
.shop-nav{position:sticky;bottom:-28px;z-index:12;display:grid;grid-template-columns:repeat(6,1fr);gap:3px;margin:12px -11px -28px;padding:7px 5px calc(9px + var(--safe-bottom));background:linear-gradient(#0d3a5c,#071c2e);border-top:3px solid #9c7740;box-shadow:0 -4px 0 #03101a}
.shop-nav button{position:relative;display:grid;justify-items:center;gap:2px;padding:5px 2px;min-width:0;border:2px solid transparent;border-radius:12px;background:none;color:#9ec4d6;font-size:7.5px;font-weight:1000;letter-spacing:.02em;text-transform:uppercase;text-shadow:0 2px #000}
.shop-nav button img{width:25px;height:25px;object-fit:contain;filter:saturate(.6) brightness(.85)}
.shop-nav button span{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}
.shop-nav button.active{border-color:#9fe3f5;background:var(--tab-active);color:#fff;transform:translateY(-2px);box-shadow:0 3px 0 #062639,var(--gloss)}
.shop-nav button.active img{filter:none}
.nav-badge{position:absolute;right:8px;top:0;min-width:14px;padding:1px 3px;border:2px solid #ffd7d4;border-radius:8px;background:var(--red);color:#fff;font-size:7px;font-style:normal;font-weight:1000;line-height:1.2;box-shadow:0 2px 0 #8f231d}
@media(max-width:390px){.hero-title{font-size:13px}.pass-art{height:52px}.shelf-card{flex-basis:98px}.shop-nav button span{font-size:7px}.shop-nav button img{width:22px;height:22px}.coin-row{grid-template-columns:36px minmax(0,1fr) auto;gap:6px}.coin-row>img{width:36px;height:36px}.coin-sum b{font-size:12px}}
@media(min-width:600px){.hero-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-title{font-size:19px}.pass-art{height:86px}.shelf-card{flex-basis:132px}.shelf-art,.shelf-art img{height:82px;max-height:82px}.shop-nav button span{font-size:9px}.shop-nav button img{width:31px;height:31px}}

.coin-row .stars-price,.shop-card .stars-price{padding:7px 10px;font-size:11px}
.shop-card .stars-price{width:100%}
.shop-card .card-art{height:78px}
.shop-card .card-art img{max-height:78px}
.shop-card p{height:auto;max-height:2.7em;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.shelf-row{align-items:stretch}
.shelf-card{justify-content:space-between}
.shelf-state{display:block;color:#5c6f6f;font-size:8px;font-style:normal;font-weight:1000;letter-spacing:.02em;text-transform:uppercase}
.shelf-state i{font-style:normal;color:#2c770d}
.shelf-card.on .shelf-state{color:#2c770d}
.shelf-card small{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:29px}
.tile-art .shelf-art img,.grant-chip img,.shop-nav button img{border-radius:8px}
.grant-chip img{border-radius:5px}

.shop-body{display:grid;gap:12px;padding-bottom:52px}

/* ЭКРАН 9 — ИТОГИ / РЕЙТИНГ / ДОСТИЖЕНИЯ (ТЗ 23) */
.panel-head h2{margin:0;font-size:inherit;font-weight:1000;letter-spacing:inherit;text-transform:inherit}
.result-screen .catch-sheet{display:grid;gap:11px;justify-self:center;width:100%;max-width:520px;text-align:left}
.result-sign{justify-self:center;padding:8px 24px;font-size:15px;letter-spacing:.03em}
.result-sign b{color:#ffd85e;font-weight:1000;text-shadow:0 2px #000,0 0 8px #00000080}
.result-top{display:grid;grid-template-columns:86px minmax(0,1fr) 108px;align-items:stretch;gap:7px}
.result-top.no-rare{grid-template-columns:96px minmax(0,1fr)}
.result-face{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;gap:3px}
.result-face img{width:100%;height:100%;object-fit:contain;object-position:center bottom;border-radius:15px;filter:drop-shadow(0 5px 4px #000000a8)}
.result-face i{padding:3px 7px;border:2px solid #e7fbff;border-bottom-width:4px;border-radius:11px;background:#2d6076;color:#fff;font-size:8px;font-style:normal;font-weight:1000;letter-spacing:.04em;white-space:nowrap;text-shadow:0 2px #000}
.result-stats{display:grid;align-content:center;gap:6px}
.result-stat{display:grid;gap:0;padding:4px 8px 5px;border:3px solid #7ccadd;border-bottom-width:5px;border-radius:14px;background:var(--grad-blue);box-shadow:var(--sink),var(--gloss);text-align:center}
.result-stat small{color:var(--muted);font-size:8px;font-weight:1000;letter-spacing:.06em;text-transform:uppercase}
.result-stat b{font-size:19px;font-weight:1000;line-height:1;text-shadow:0 3px #000}
.result-stat b.gold{color:var(--gold)}
.result-rare{display:grid;gap:3px;align-content:start}
.result-rare small{color:#ffd35c;font-size:8px;font-weight:1000;letter-spacing:.06em;text-align:center;text-transform:uppercase;text-shadow:0 2px #000}
.result-rare .loot-card.hero{padding:6px 5px 5px}
.result-rare .loot-card.hero b{font-size:9px}
.result-rare .loot-card.hero .loot-art{min-height:64px}
.result-rare .loot-card.hero .loot-art img{max-height:78px}
.result-rare .loot-card.hero .loot-price{font-size:11px}
.result-rare .loot-card.hero .loot-price img{width:16px;height:16px}
.reward-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.reward-tile{display:grid;justify-items:center;gap:2px;padding:7px 4px 6px;border:2px solid #7ccadd;border-bottom-width:5px;border-radius:14px;background:#0d3b5a;box-shadow:var(--sink),var(--gloss)}
.reward-tile img{width:36px;height:36px;object-fit:contain;border-radius:9px}
.reward-tile b{color:var(--gold);font-size:13px;font-weight:1000;line-height:1;text-shadow:0 2px #000}
.reward-tile small{color:var(--muted);font-size:7px;font-weight:1000;line-height:1.06;letter-spacing:.03em;text-align:center;text-transform:uppercase}
.reward-tile.karas b{color:#ffe08a}
.reward-tile.chest.ready{border-color:#ffdf8e;background:#2b4a17;cursor:pointer;animation:chestReady 1.5s ease-in-out infinite}
.reward-tile.chest.ready small{color:#c6f39a}
.top-list{display:grid;gap:4px}
.top-row{display:grid;grid-template-columns:26px 30px minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px 7px;border:2px solid #4d8fb4;border-radius:12px;background:#0b3050;box-shadow:inset 0 2px 0 #ffffff1f}
.top-row.me{border-color:#ffd35c;background:#123f63}
.top-rank{display:grid;place-items:center;width:22px;height:22px;border:2px solid #7ccadd;border-radius:50%;background:#082237;font-size:10px;font-weight:1000;text-shadow:0 2px #000}
.top-rank.medal{border-color:#fff0c2}
.top-rank.m1{background:linear-gradient(#ffd85e,#c98a10)}
.top-rank.m2{background:linear-gradient(#e3ecf2,#8ea3b1)}
.top-rank.m3{background:linear-gradient(#e2a86a,#9b5a1f)}
.top-face{display:block;width:30px;height:30px;border:2px solid #7ccadd;border-radius:9px;background:#082237;overflow:hidden}
.top-face img{width:100%;height:100%;object-fit:cover}
.top-nick{overflow:hidden;font-size:11px;font-weight:1000;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 2px #000}
.top-nick i{color:#ffd35c;font-size:8px;font-style:normal;letter-spacing:.06em}
.top-score{display:flex;align-items:center;gap:4px;color:var(--gold);font-size:11px;font-weight:1000;text-shadow:0 2px #000}
.top-score img{width:17px;height:17px;object-fit:contain}
.result-season{display:grid;gap:5px}
.result-season .season-bar .stat-track i{transition:width .9s cubic-bezier(.2,.7,.2,1)}
.result-gain{justify-self:center;color:#c6f39a;font-size:9px;font-weight:1000;letter-spacing:.04em;text-shadow:0 2px #000}
.ach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.ach-card{display:grid;align-content:start;gap:5px;padding:8px;border:3px solid #8f774a;border-bottom-width:5px;border-radius:14px;background:var(--paper);box-shadow:var(--sink),var(--gloss)}
.ach-card b{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--paper-ink);font-size:10px;font-weight:1000;line-height:1.1}
.ach-card.full{border-color:#4f9d1e}
.ach-card:last-child:nth-child(odd){grid-column:span 2}
.ach-line{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:6px}
.ach-line .stat-track{height:11px}
.ach-card .stat-track{border-color:#8f774a;background:#d5bd85;box-shadow:inset 0 2px 4px #8a7043}
.ach-card .stat-track:after{background:repeating-linear-gradient(90deg,transparent 0 13px,#8f774a3d 13px 15px)}
.ach-goal{display:grid;gap:3px;min-width:0}
.ach-goal em{color:#5c6f6f;font-size:9px;font-style:normal;font-weight:1000;line-height:1}
.ach-icon{display:grid;place-items:center;width:38px;height:38px}
.ach-icon img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 2px 2px #0009)}
.ach-icon.done{border:2px solid #d7ff8a;border-radius:50%;background:radial-gradient(circle at 50% 30%,#9ae63c,#4d9c14 70%,#2e780d);box-shadow:0 3px 0 #21540a,var(--gloss)}
.check-glyph{width:15px;height:8px;border:3px solid #12280a;border-top:0;border-right:0;border-radius:2px;transform:translateY(-3px) rotate(-45deg)}
.ach-prize{display:flex;align-items:center;gap:4px;color:#8d4f16;font-size:10px;font-weight:1000}
.ach-prize img{width:19px;height:19px;object-fit:contain;border-radius:5px}
.ach-done{color:#2c770d;font-size:9px;font-weight:1000;letter-spacing:.06em}
.ach-card .game-button.small{padding:6px 9px;font-size:10px}
.result-loot .loot-grid{gap:5px}
.result-screen .loot-actions{margin-top:2px}
@keyframes chestReady{50%{filter:brightness(1.18);transform:translateY(-2px)}}
@media(max-width:360px){.result-top{grid-template-columns:70px minmax(0,1fr) 92px}.result-stat b{font-size:18px}.reward-tile img{width:30px;height:30px}.ach-line{grid-template-columns:minmax(0,1fr) 32px}.ach-icon,.ach-icon img{width:32px;height:32px}}

/* Экран 10 — профиль */
.profile-screen{gap:11px}
.panel-head.profile-head{display:grid;justify-items:center;gap:1px;padding:8px 11px 9px;text-align:center}
.panel-head.profile-head h1{margin:0;font-size:19px;font-weight:1000;letter-spacing:.02em;color:var(--gold);text-shadow:0 3px #000,0 0 7px #00000073}
.panel-head.profile-head span{font-size:9px;font-weight:900;letter-spacing:0;text-transform:none;color:#d5ecf5;text-shadow:0 2px #000}
.panel-head>small{color:#ffd45d;font-size:11px;font-weight:1000;text-shadow:0 2px #000}
.profile-body{gap:10px}
.profile-face{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px}
.profile-portrait{position:relative;display:block;width:138px;height:138px;margin:0 -31px}
.profile-portrait>img:first-child{position:absolute;z-index:1;left:50%;top:48%;translate:-50% -50%;width:58px;height:86px;border:2px solid #071829;border-radius:99px;object-fit:cover;object-position:50% 22%;box-shadow:0 4px 0 #04101a}
.profile-portrait .frame-overlay{position:absolute;z-index:2;inset:0;width:138px;height:138px;max-width:none;object-fit:contain;pointer-events:none}
.profile-portrait.plain{width:96px;height:96px;margin:0}
.profile-portrait.plain>img:first-child{position:static;translate:none;width:80px;height:80px;margin:8px;border-radius:22px;object-position:50% 50%}
.profile-level{position:absolute;z-index:3;left:50%;bottom:-3px;translate:-50% 0;display:grid;place-items:center;width:29px;height:29px;border:2px solid #ffe9a8;border-radius:50%;background:var(--grad-gold);color:#3a2400;font-size:12px;font-style:normal;font-weight:1000;text-shadow:0 1px #ffffff8c;box-shadow:0 3px 0 #7a4d0d}
.profile-portrait.plain .profile-level{left:auto;right:-1px;bottom:-1px;translate:none}
.profile-name{display:grid;gap:5px;min-width:0}
.profile-name h2{margin:0;overflow:hidden;font-size:19px;font-weight:1000;line-height:1;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 3px #000}
.profile-title{justify-self:start;max-width:100%;overflow:hidden;padding:3px 8px;background:var(--paper);border:2px solid #8f774a;border-radius:9px;color:var(--paper-ink);font-size:9px;font-weight:1000;letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 3px 0 #04101a}
.profile-xp{grid-template-columns:auto minmax(0,1fr);gap:7px}
.profile-tags{display:flex;flex-wrap:wrap;gap:5px}
.profile-tag{min-height:27px;padding:1px 8px 1px 2px;font-size:9px}
.profile-tag img{width:21px;height:21px;border-radius:6px}
.profile-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.profile-stat{display:grid;gap:1px;padding:7px 3px;background:#071827c7;border:2px solid #7cc7d8;border-bottom-width:4px;border-radius:12px;text-align:center;box-shadow:var(--gloss)}
.profile-stat b{overflow:hidden;color:#ffd056;font-size:13px;font-weight:1000;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 2px #000}
.profile-stat small{color:#c5e3eb;font-size:7.5px;font-weight:1000;letter-spacing:.03em}
.profile-stat.gold{border-color:#ffd45d}
.profile-empty{margin:0;font-size:10px}
.profile-records{gap:8px}
.rarest-slab{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:9px;padding:8px;border:3px solid #f7fcfe;border-bottom-width:5px;border-radius:15px;background:linear-gradient(#fdfeffee 0 26%,#ffffff00 74%),var(--rarity,#879a9f);box-shadow:var(--sink),var(--gloss)}
.rarest-art{display:grid;place-items:center;width:72px;height:72px;background:#ffffff6b;border:2px solid #ffffffb3;border-radius:12px}
.rarest-art img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 3px 3px #0007)}
.rarest-slab>div{display:grid;justify-items:start;gap:3px;min-width:0}
.rarest-slab h3{max-width:100%;margin:0;overflow:hidden;color:#0d1c26;font-size:13px;font-weight:1000;line-height:1.05;white-space:nowrap;text-overflow:ellipsis}
.rarest-slab .eyebrow{color:#0d1c26b8}
.rarest-slab small{color:#0d1c26;font-size:10px;font-weight:1000}
.record-list{display:grid;gap:5px}
.record-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px;padding:5px 8px;background:#0a2b45c9;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:12px;box-shadow:var(--gloss)}
.record-row>img{width:24px;height:24px;border-radius:7px;object-fit:contain}
.record-row span{overflow:hidden;color:#d8eef6;font-size:9.5px;font-weight:1000;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 2px #000}
.record-row b{display:flex;align-items:center;gap:4px;color:#ffd45d;font-size:12px;font-weight:1000;text-shadow:0 2px #000}
.record-row b img{width:19px;height:19px}
.record-row.idle b{color:#8fb0bd}
.loadout-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.loadout-slot{display:grid;justify-items:center;gap:3px;padding:8px 5px;background:#1b567ed9;border:2px solid #cfefff;border-bottom:5px solid #123b57;border-radius:14px;color:#fff;text-shadow:0 2px #000;box-shadow:var(--gloss),0 4px 10px #0006}
.loadout-slot:active{translate:0 3px;border-bottom-width:2px}
.loadout-art{display:grid;place-items:center;width:100%;height:62px}
.loadout-art img{max-width:100%;max-height:62px;object-fit:contain;filter:drop-shadow(0 4px 3px #0008)}
.loadout-slot b{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:9.5px;font-weight:1000;line-height:1.06;text-align:center}
.loadout-slot small{color:#a9cddc;font-size:7.5px;font-weight:1000;letter-spacing:.05em}
.loadout-slot.empty .loadout-art img{opacity:.45;filter:grayscale(1) drop-shadow(0 4px 3px #0008)}
.museum-strip{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.museum-strip::-webkit-scrollbar{display:none}
.museum-card{flex:0 0 84px;display:grid;justify-items:center;gap:2px;padding:6px 4px;border:3px solid #f7fcfe;border-bottom-width:5px;border-radius:14px;background:linear-gradient(#fdfeffee 0 26%,#ffffff00 74%),var(--rarity,#879a9f);box-shadow:var(--sink),var(--gloss)}
.museum-art{display:grid;place-items:center;width:100%;height:56px}
.museum-art img{max-width:100%;max-height:56px;object-fit:contain;filter:drop-shadow(0 3px 3px #0007)}
.museum-card b{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#0d1c26;font-size:8px;font-weight:1000;line-height:1.05;text-align:center}
.museum-card small{color:#0d1c26bf;font-size:8px;font-weight:1000}
.profile-links{row-gap:7px}
.profile-links .nav-pill img{border-radius:9px}
.profile-tools .row.wrap{gap:6px}
@media(max-width:360px){.profile-face{gap:9px}.profile-portrait{width:124px;height:124px;margin:0 -28px}.profile-portrait>img:first-child{width:52px;height:77px}.profile-portrait .frame-overlay{width:124px;height:124px}.profile-portrait.plain{width:84px;height:84px}.profile-portrait.plain>img:first-child{width:70px;height:70px;margin:7px;border-radius:19px}.profile-name h2{font-size:17px}.profile-stat b{font-size:11px}.museum-card{flex-basis:76px}}

/* Экран 11 — рейтинг */
.top-tabs.rank-tabs{gap:3px;padding:6px 5px 0}
.top-tabs.rank-tabs button{padding:8px 2px;font-size:8.5px;letter-spacing:0}
.rank-panel{border-top-left-radius:0;border-top-right-radius:0}
.panel-head.rank-head{display:grid;justify-items:center;gap:1px;padding:8px 11px 9px;text-align:center}
.panel-head.rank-head h1{margin:0;font-size:19px;font-weight:1000;letter-spacing:.02em;color:var(--gold);text-shadow:0 3px #000,0 0 7px #00000073}
.panel-head.rank-head span{font-size:9px;font-weight:900;letter-spacing:0;text-transform:none;color:#d5ecf5;text-shadow:0 2px #000}
.rank-body{gap:10px}
.rank-league{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 9px;background:#0a2b45c9;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:13px;box-shadow:var(--gloss)}
.rank-league>img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 3px 2px #0008)}
.rank-league>div{display:grid;gap:1px;min-width:0}
.rank-league b{overflow:hidden;font-size:13px;font-weight:1000;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 2px #000}
.rank-count{display:grid;justify-items:end;gap:0}
.rank-count b{color:var(--gold);font-size:17px;font-weight:1000;text-shadow:0 2px #000}
.rank-count small{color:#a9cddc;font-size:8px;font-weight:1000;letter-spacing:.03em}
.rank-board{display:grid;gap:9px}
.rank-sub{color:#c5e3eb;font-size:9px;font-weight:1000;letter-spacing:.04em;text-align:center;text-transform:uppercase;text-shadow:0 2px #000}
.rank-wait{padding:26px 0;color:#b9d8e3;font-size:11px;font-weight:1000;text-align:center;text-shadow:0 2px #000}
.rank-empty .paper-card{margin:0}
.rank-empty .paper-card img{width:104px;height:104px}
.podium{display:grid;grid-template-columns:1fr 1.14fr 1fr;align-items:end;gap:5px;padding:19px 2px 0}
.podium-slot{position:relative;display:grid;justify-items:center;gap:3px;min-width:0}
.podium-slot.empty{min-height:1px}
.podium-medal{position:absolute;z-index:3;top:-19px;left:50%;width:34px;height:34px;translate:-50% 0;object-fit:contain;border-radius:9px;filter:drop-shadow(0 3px 3px #000a)}
.rank-face{position:relative;display:block;width:52px;height:52px}
.rank-face>img:first-child{width:52px;height:52px;object-fit:cover;border:2px solid #071829;border-radius:15px;background:#0b2c44;box-shadow:0 3px 0 #04101a}
.rank-face .frame-overlay{position:absolute;z-index:2;left:50%;top:50%;width:86px;height:86px;max-width:none;translate:-50% -50%;object-fit:contain;pointer-events:none}
.rank-face>i{position:absolute;z-index:3;right:-5px;bottom:-5px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 3px;border:2px solid #ffe9a8;border-radius:8px;background:var(--grad-gold);color:#3a2400;font-size:9px;font-style:normal;font-weight:1000;box-shadow:0 2px 0 #7a4d0d}
.podium-slot .rank-face{width:62px;height:62px}
.podium-slot .rank-face>img:first-child{width:62px;height:62px;border-radius:17px}
.podium-slot .rank-face .frame-overlay{width:102px;height:102px}
.podium-slot.gold .rank-face{width:72px;height:72px}
.podium-slot.gold .rank-face>img:first-child{width:72px;height:72px;border-width:3px;border-color:#ffe08a;box-shadow:0 4px 0 #04101a,0 0 16px #ffc83e73}
.podium-slot.gold .rank-face .frame-overlay{width:118px;height:118px}

.podium-slot .rank-face.framed{width:90px;height:90px;margin:0 -14px}
.podium-slot .rank-face.framed>img:first-child{position:absolute;left:50%;top:48%;width:33px;height:52px;translate:-50% -50%;border-radius:99px;object-position:50% 22%}
.podium-slot .rank-face.framed .frame-overlay{position:absolute;inset:0;left:0;top:0;width:90px;height:90px;translate:none}
.podium-slot .rank-face.framed>i{right:17px;bottom:6px}
.podium-slot.gold .rank-face.framed{width:104px;height:104px;margin:0 -16px}
.podium-slot.gold .rank-face.framed>img:first-child{width:38px;height:60px;border-width:3px;border-color:#ffe08a}
.podium-slot.gold .rank-face.framed .frame-overlay{width:104px;height:104px}
.podium-slot.gold .rank-face.framed>i{right:20px;bottom:8px}
.podium-nick{max-width:100%;margin-top:7px;overflow:hidden;font-size:10px;font-weight:1000;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 2px #000}
.podium-score{display:flex;align-items:center;gap:3px;color:#ffd45d;font-size:11px;font-weight:1000;text-shadow:0 2px #000}
.podium-score img{width:15px;height:15px;object-fit:contain}
.podium-base{display:grid;place-items:center;width:100%;margin-top:2px;border:3px solid #cfefff;border-bottom:6px solid #123b57;border-radius:13px 13px 8px 8px;background:linear-gradient(#4e93bd,#22587d);box-shadow:var(--gloss),0 6px 0 #04101a}
.podium-base i{font-size:22px;font-style:normal;font-weight:1000;text-shadow:0 3px #000}
.podium-slot.gold .podium-base{height:74px;border-color:#ffe9a8;border-bottom-color:#8a5510;background:var(--grad-gold);color:#3a2400}
.podium-slot.gold .podium-base i{font-size:29px;text-shadow:0 2px #ffffff8c}
.podium-slot.silver .podium-base{height:56px;border-color:#eaf6fb;border-bottom-color:#5d7c8c;background:linear-gradient(#dcecf3,#94aeba);color:#22333c}
.podium-slot.bronze .podium-base{height:46px;border-color:#f0cf9e;border-bottom-color:#7a4a1c;background:linear-gradient(#e0a463,#a96a2c);color:#31200e}
.podium-slot.me .podium-base{border-color:#ffe9a8;box-shadow:var(--gloss),0 6px 0 #04101a,0 0 0 2px #ffc83e inset}
.rank-list{display:grid;gap:5px}
.rank-row{display:grid;grid-template-columns:28px 52px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 9px 6px 5px;background:#0a2b45d1;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:13px;box-shadow:var(--gloss)}
.rank-row:active{translate:0 2px;border-bottom-width:2px}
.rank-place{color:#9fc6dc;font-size:15px;font-weight:1000;text-align:center;text-shadow:0 2px #000}
.rank-row>div{display:grid;gap:2px;min-width:0}
.rank-row h3{margin:0;overflow:hidden;font-size:12px;font-weight:1000;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 2px #000}
.rank-row p{margin:0;overflow:hidden;color:#a9cddc;font-size:8.5px;font-weight:1000;letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis}
.rank-score{display:flex;align-items:center;gap:4px;color:#ffd45d;font-size:13px;font-weight:1000;text-shadow:0 2px #000}
.rank-score img{width:18px;height:18px;object-fit:contain}
.rank-row.me{background:linear-gradient(#1d5c86,#0d3b5c);border-color:#ffd45d;box-shadow:var(--gloss),0 0 14px #ffc83e4d}
.rank-row.me .rank-place{color:var(--gold)}
.rank-me-dock{position:sticky;z-index:12;bottom:-28px;margin:9px -11px -28px;padding:8px 11px calc(10px + var(--safe-bottom));background:linear-gradient(#0a2438,#061421);border-top:3px solid #9c7740;box-shadow:0 -4px 0 #03101a}
.rank-me-dock .rank-row{margin:0}
.rank-row.unranked{grid-template-columns:52px minmax(0,1fr) 28px}
.rank-row.unranked h3{font-size:11px;color:#ffe6a2}
@media(max-width:360px){.top-tabs.rank-tabs button{font-size:7.5px;padding:8px 1px}.podium{gap:3px}.podium-slot .rank-face,.podium-slot .rank-face>img:first-child{width:56px;height:56px}.podium-slot.gold .rank-face,.podium-slot.gold .rank-face>img:first-child{width:64px;height:64px}.podium-slot .rank-face.framed{width:82px;height:82px;margin:0 -13px}.podium-slot .rank-face.framed>img:first-child{width:30px;height:47px}.podium-slot .rank-face.framed .frame-overlay{width:82px;height:82px}.podium-slot .rank-face.framed>i{right:15px;bottom:5px}.podium-slot.gold .rank-face.framed{width:94px;height:94px;margin:0 -15px}.podium-slot.gold .rank-face.framed>img:first-child{width:34px;height:55px}.podium-slot.gold .rank-face.framed .frame-overlay{width:94px;height:94px}.podium-slot.gold .rank-face.framed>i{right:18px;bottom:7px}.rank-row{grid-template-columns:24px 46px minmax(0,1fr) auto;gap:6px}.rank-face,.rank-face>img:first-child{width:46px;height:46px}}
.rank-extra{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.rank-meme{display:grid;gap:3px;margin:0}
.rank-meme h3{margin:0;font-size:13px;font-weight:1000;color:var(--paper-ink)}

/* Экран 12 — дела, сезон и достижения (ТЗ 25) */
.top-tabs.job-tabs{gap:4px;padding:6px 5px 0}
.top-tabs.job-tabs button{padding:8px 2px;font-size:8.5px;letter-spacing:-.01em}
.job-panel{border-top-left-radius:0;border-top-right-radius:0}
.job-body{gap:10px}
.job-group{display:grid;gap:6px}
.job-group-title{color:#c5e3eb;font-size:9px;font-weight:1000;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 2px #000}
.job-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;background:#0a2b45d1;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:14px;box-shadow:var(--gloss)}
.job-card.story{border-color:#9c7740;background:#123049d1}
.job-card.ready{border-color:#96e05a;background:linear-gradient(#2b6f1c,#164d10);box-shadow:var(--gloss),0 0 14px #75cf2255}
.job-card.taken{opacity:.6;border-color:#3c6478}
.job-icon{display:grid;place-items:center;width:44px;height:44px;background:#071c2e;border:2px solid #7bd9ef73;border-radius:12px;box-shadow:inset 0 2px 5px #000a}
.job-icon img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 2px 2px #0009)}
.job-main{display:grid;gap:4px;min-width:0}
.job-main b{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:1000;line-height:1.1;text-shadow:0 2px #000}
.job-main p{margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#a9cddc;font-size:8.5px;font-weight:1000;line-height:1.2}
.job-card.ready .job-main p{color:#dcf5c6}
.job-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px}
.job-line .stat-track{height:11px}
.job-line em{color:#cfe7f0;font-size:9px;font-style:normal;font-weight:1000;text-shadow:0 1px #000}
.job-side{display:grid;justify-items:end;gap:4px;min-width:60px}
.job-prize{display:grid;gap:3px;justify-items:end}
.job-prize i{display:flex;align-items:center;gap:4px;color:#ffd45d;font-size:10px;font-style:normal;font-weight:1000;text-shadow:0 2px #000}
.job-prize i img{width:20px;height:20px;object-fit:contain;border-radius:6px}
.job-taken{color:#9be05e;font-size:9px;font-weight:1000;letter-spacing:.05em;text-shadow:0 2px #000}
.job-chests{display:grid;gap:7px;padding:9px;background:linear-gradient(#0d3450,#092338);border:3px solid #9c7740;border-bottom-width:5px;border-radius:16px;box-shadow:var(--sink),var(--gloss)}
.job-chests header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.job-chests header b{color:var(--gold);font-size:11px;font-weight:1000;letter-spacing:.03em;text-shadow:0 2px #000}
.job-chests header span{color:#b9d8e3;font-size:9px;font-weight:1000}
.chest-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.chest-slot{display:grid;justify-items:center;gap:3px;padding:7px 4px;background:#08243a;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:12px;box-shadow:var(--gloss)}
.chest-slot img{width:40px;height:40px;object-fit:contain;filter:grayscale(1) brightness(.55)}
.chest-slot b{font-size:9px;font-weight:1000;text-shadow:0 2px #000}
.chest-slot small{color:#8fb4c6;font-size:8px;font-weight:1000;letter-spacing:.04em}
.chest-slot.open{border-color:#ffd45d;background:linear-gradient(#155273,#0b3350);animation:chest-wink 1.6s ease-in-out infinite}
.chest-slot.open img{filter:drop-shadow(0 3px 3px #000a)}
.chest-slot.open small{color:#ffe6a2}
.chest-slot.taken{border-color:#4f9d1e;background:#12401ccc}
.chest-slot.taken img{filter:none;opacity:.75}
.chest-slot.taken small{color:#9be05e}
.chest-slot:active:not(:disabled){translate:0 2px;border-bottom-width:2px}
@keyframes chest-wink{0%,100%{box-shadow:var(--gloss),0 0 0 #ffc83e00}50%{box-shadow:var(--gloss),0 0 14px #ffc83e8c}}
.job-seed{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;background:linear-gradient(#8a5f31,#5a3a1b);border:3px solid #ba8d4c;border-bottom-width:5px;border-radius:15px;box-shadow:var(--sink),var(--gloss);text-align:left}
.job-seed img{width:40px;height:40px;object-fit:contain}
.job-seed b{display:block;font-size:12px;font-weight:1000;text-shadow:0 2px #000}
.job-seed p{margin:0;color:#f3e0bd;font-size:8.5px;font-weight:1000}
.job-seed.locked{filter:saturate(.5);opacity:.8}
.job-chevron{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid #ffe6b0}
.job-seed:active{translate:0 2px;border-bottom-width:3px}
.season-top{display:grid;gap:8px}
.season-name{display:grid;gap:3px;justify-items:center;text-align:center}
.season-name b{color:var(--gold);font-size:13px;font-weight:1000;text-shadow:0 2px #000}
.season-note{margin:0;color:#c9b6ff;font-size:9px;font-weight:1000;text-align:center;text-shadow:0 2px #000}
.season-legend{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(0,1fr);gap:6px}
.season-legend span{padding:3px 0;font-size:8px;font-weight:1000;letter-spacing:.05em;text-align:center;text-shadow:0 2px #000}
.season-legend span:first-child{grid-column:2;color:#9be05e}
.season-legend span.premium{color:#c9b6ff}
.season-ladder{position:relative;display:grid;gap:5px;max-height:50vh;padding:2px;overflow:auto;scrollbar-width:thin}
.season-row{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(0,1fr);gap:6px}
.season-step{display:grid;place-items:center;background:#0b3858;border:2px solid #7bd9ef;border-radius:11px;font-size:12px;font-weight:1000;text-shadow:0 2px #000}
.season-row.now .season-step{background:var(--grad-gold);border-color:#ffe9a8;color:#3a2400;text-shadow:0 2px #ffffff8c}
.season-row.locked .season-step{border-color:#40708a;color:#8fb4c6}
.season-slot{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;padding:6px 7px;background:#0a2b45d1;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:12px;box-shadow:var(--gloss)}
.season-slot.premium{background:#241a4dcc;border-color:#a487e8}
.season-slot.locked{opacity:.52}
.season-slot.taken{background:#12401ccc;border-color:#4f9d1e}
.season-slot .job-prize{justify-items:start;gap:2px}
.season-slot .job-prize i{font-size:9.5px}
.season-slot .job-prize i img{width:18px;height:18px}
.season-slot .game-button.small{padding:5px 8px;font-size:9px;border-bottom-width:3px}
.season-slot .lock-glyph{width:13px;height:11px;margin:9px 3px 0 0;color:#c9b6ff}
.season-slot .lock-glyph:before{left:1px;top:-8px;width:7px;height:7px}
.trophy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.trophy-card{display:grid;justify-items:center;align-content:start;gap:4px;padding:9px 7px;background:#0a2b45;border:3px solid var(--rarity,#879a9f);border-bottom-width:5px;border-radius:15px;box-shadow:var(--sink),var(--gloss);text-align:center}
.trophy-art{display:grid;place-items:center;width:60px;height:60px}
.trophy-art img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 3px 3px #000a)}
.trophy-card b{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:9.5px;font-weight:1000;line-height:1.1;text-shadow:0 2px #000}
.trophy-card small{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#a9cddc;font-size:8px;font-weight:1000;line-height:1.15}
.trophy-card.locked{background:linear-gradient(#123449,#0a2536);border-color:#3c6478}
.trophy-card.locked .trophy-art img{filter:grayscale(1) brightness(1.5) opacity(.5)}
.trophy-card.locked b{color:#8fb4c6}
.trophy-progress{padding:2px 9px;background:#04182a;border:2px solid #3c6478;border-bottom-width:3px;border-radius:11px;color:#8fb4c6;font-size:8px;font-style:normal;font-weight:1000;letter-spacing:.4px}
.trophy-progress b{display:inline;color:var(--gold);font-size:8px;text-shadow:none}
.seed-panel .panel-body{gap:10px}
.seed-hero{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:9px;padding:9px;background:var(--paper);border:3px solid #8f774a;border-bottom-width:5px;border-radius:16px;box-shadow:var(--sink),var(--gloss)}
.seed-hero img{width:56px;height:56px;object-fit:contain;border:2px solid #8f774a;border-radius:12px;background:#0a2b45}
.seed-hero b{display:block;color:var(--paper-ink);font-size:12px;font-weight:1000;line-height:1.1}
.seed-hero p{margin:3px 0 0;color:#4a5a5f;font-size:9px;font-weight:1000;line-height:1.2}
.seed-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.seed-rule{display:grid;justify-items:center;gap:3px;padding:6px 3px;background:#0a2b45d1;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:12px;font-size:8px;font-weight:1000;letter-spacing:.02em;text-align:center;text-shadow:0 2px #000}
.seed-rule img{width:28px;height:28px;object-fit:contain;border-radius:8px}
.seed-mine{display:grid;gap:5px;padding:9px;background:#0a2b45d1;border:2px solid #9c7740;border-bottom-width:4px;border-radius:14px}
.seed-mine .row{align-items:baseline;gap:7px}
.seed-mine b{color:var(--gold);font-size:14px;font-weight:1000;text-shadow:0 2px #000}
.seed-mine small{color:#a9cddc;font-size:8px;font-weight:1000;letter-spacing:.04em}
.seed-empty{margin:0;padding:18px 0;color:#b9d8e3;font-size:10px;font-weight:1000;text-align:center;text-shadow:0 2px #000}
@media(max-width:360px){.top-tabs.job-tabs button{padding:8px 2px;font-size:8px}.job-card{grid-template-columns:38px minmax(0,1fr) auto;gap:6px;padding:7px}.job-icon{width:38px;height:38px}.job-icon img{width:30px;height:30px}.job-main b{font-size:11px}.job-side{min-width:54px}.job-prize i{font-size:9px}.job-prize i img{width:17px;height:17px}.chest-slot img{width:34px;height:34px}.season-row,.season-legend{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr);gap:4px}.season-slot{padding:5px}.trophy-art,.trophy-art img{width:50px;height:50px}}

/* Экран 13 — барахолка (ТЗ 24, marketplace) */
.top-tabs.market-tabs{gap:4px;padding:6px 5px 0}
.top-tabs.market-tabs button{padding:8px 2px;font-size:8.5px;letter-spacing:-.01em}
.market-panel{border-top-left-radius:0;border-top-right-radius:0}
.market-body{gap:10px}
.market-till{display:grid;gap:8px;padding:10px;background:linear-gradient(#0d3450,#092338);border:3px solid #9c7740;border-bottom-width:5px;border-radius:16px;box-shadow:var(--sink),var(--gloss)}
.till-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.till-figures span{display:grid;justify-items:center;gap:2px;padding:6px 3px;background:#08243a;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:12px}
.till-figures b{overflow:hidden;max-width:100%;color:var(--gold);font-size:12.5px;font-weight:1000;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.till-figures small{color:#8fb4c6;font-size:7.5px;font-weight:1000;letter-spacing:.03em;line-height:1.1;text-align:center}
.market-till p{margin:0;color:#c5e3eb;font-size:8.5px;font-weight:1000;line-height:1.25;text-align:center}
.lot-list{display:grid;gap:8px}
.lot-card{display:grid;grid-template-columns:66px minmax(0,1fr);gap:9px;padding:9px;background:#0a2b45d1;border:3px solid var(--rarity,#4d8bab);border-bottom-width:5px;border-radius:16px;box-shadow:var(--sink),var(--gloss)}
.lot-card.mine{border-color:var(--gold)}
.lot-art{position:relative;display:grid;place-items:center;width:66px;height:66px;background:#071c2e;border:2px solid #7bd9ef73;border-radius:13px;box-shadow:inset 0 2px 6px #000a}
.lot-art img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 3px 3px #0009)}
.lot-art.small{width:52px;height:52px;border-radius:11px}
.lot-art.small img{width:44px;height:44px}
.lot-tag{position:absolute;left:-4px;bottom:-7px;padding:2px 5px;background:#0b3858;border:2px solid #7bd9ef;border-radius:8px;color:#d7f2fb;font-size:7px;font-style:normal;font-weight:1000;letter-spacing:.04em;text-shadow:0 1px #000}
.lot-card.auction .lot-tag{background:#5b3bb0;border-color:#c9b6ff;color:#efe6ff}
.lot-main{display:grid;align-content:center;gap:3px;min-width:0;text-align:left;cursor:pointer}
.lot-main b{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:1000;line-height:1.1;text-shadow:0 2px #000}
.lot-main p{margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#a9cddc;font-size:8.5px;font-weight:1000;line-height:1.2}
.lot-main small{overflow:hidden;color:#7fa9bd;font-size:8px;font-weight:1000;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.lot-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-top:8px;border-top:2px dashed #2b5f7d}
.lot-clock{padding:3px 6px;background:#071c2e;border:2px solid #4d8bab;border-radius:9px;color:#cfe7f0;font-size:9px;font-weight:1000;font-variant-numeric:tabular-nums;text-shadow:0 1px #000}
.lot-clock.soon{border-color:var(--red);color:#ffb9b4;animation:lot-soon 1.4s ease-in-out infinite}
@keyframes lot-soon{0%,100%{box-shadow:0 0 0 #e64c4300}50%{box-shadow:0 0 10px #e64c4399}}
.lot-price{display:flex;align-items:center;gap:4px;margin-right:auto;color:var(--gold);font-size:13px;font-weight:1000;text-shadow:0 2px #000}
.lot-price img{width:19px;height:19px;object-fit:contain}
.lot-actions{display:flex;flex-wrap:wrap;gap:5px}
.lot-actions .game-button.small{padding:6px 9px;font-size:9px;border-bottom-width:3px}
.order-block{display:grid;gap:6px}
.order-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;background:#0a2b45d1;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:14px;box-shadow:var(--gloss)}
.order-card.own{border-color:#9c7740}
.order-card.off{opacity:.62}
.order-card .lot-main{cursor:default}
.order-side{display:grid;justify-items:end;align-content:center;gap:5px}
.order-side .lot-price{margin:0;font-size:12px}
.order-side .lot-price img{width:17px;height:17px}
.order-nofit{max-width:76px;color:#7fa9bd;font-size:8px;font-weight:1000;letter-spacing:.03em;line-height:1.15;text-align:right}
.market-empty-line{margin:0;padding:10px;background:#08243acc;border:2px dashed #40708a;border-radius:12px;color:#a9cddc;font-size:9px;font-weight:1000;text-align:center}
@media(max-width:360px){.top-tabs.market-tabs button{font-size:7.5px}.lot-card{grid-template-columns:58px minmax(0,1fr);gap:7px}.lot-art{width:58px;height:58px}.lot-art img{width:48px;height:48px}.lot-main b{font-size:11px}.lot-price{font-size:12px}.till-figures b{font-size:11.5px}}

/* Поля форм в модалках и настройках — общий компонент (ТЗ 12) */
.field{display:grid;gap:5px;margin:10px 0}
.field>span{color:#b9d8e3;font-size:9px;font-weight:1000;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 2px #000}
.field input,.field select,.field textarea,.setting-row input,.setting-row select{width:100%;padding:9px 11px;background:#071c2e;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:12px;color:#eaf7ff;font-family:inherit;font-size:12px;font-weight:1000;box-shadow:inset 0 2px 6px #0008}
.field input:focus,.field select:focus,.field textarea:focus,.setting-row input:focus,.setting-row select:focus{border-color:#7bd9ef;outline:none}
.field select,.setting-row select{appearance:none;padding-right:28px;background-color:#071c2e;background-image:linear-gradient(45deg,transparent 50%,#7bd9ef 50%),linear-gradient(135deg,#7bd9ef 50%,transparent 50%);background-position:calc(100% - 17px) 55%,calc(100% - 12px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.field textarea{min-height:90px;line-height:1.3;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#5f8ba1;font-weight:1000}
.setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 0;border-bottom:2px dashed #2b5f7d}
.setting-row:last-of-type{border-bottom:0}
.setting-row>span{color:#dff2fa;font-size:11px;font-weight:1000;text-shadow:0 2px #000}
.setting-row input,.setting-row select{width:auto;min-width:118px}
.setting-row input[type=checkbox]{width:22px;min-width:22px;height:22px;accent-color:#75cf22}
.paper-card .field>span,.paper-card .setting-row>span{color:var(--paper-ink);text-shadow:none}
.paper-card .setting-row{border-bottom-color:#8f774a80}
.paper-card .field input::placeholder,.paper-card .field textarea::placeholder{color:#6f8b99}

/* Шайка — panel №14 (ТЗ 24): причал, команда, рация, босс, зарубы */
.top-tabs.gang-tabs{gap:3px;padding:6px 5px 0}
.top-tabs.gang-tabs button{position:relative;padding:8px 2px;font-size:8.5px;letter-spacing:0}
.tab-badge{position:absolute;right:2px;top:2px;display:grid;place-items:center;min-width:14px;height:14px;padding:0 3px;background:var(--red);border:2px solid #ffd9d5;border-radius:8px;color:#fff;font-size:8px;font-style:normal;font-weight:1000}
.gang-panel{border-top-left-radius:0;border-top-right-radius:0}
.gang-panel.solo{border-top-left-radius:16px;border-top-right-radius:16px}
.gang-body{gap:10px}
.gang-block{display:grid;gap:7px}
.gang-hero{display:grid;grid-template-columns:58px minmax(0,1fr);gap:9px;padding:10px;background:linear-gradient(#0d3450,#092338);border:3px solid var(--flag,#f6b72f);border-bottom-width:5px;border-radius:15px;box-shadow:var(--gloss),var(--sink)}
.gang-flag{display:grid;place-items:center;width:58px;height:58px;background:#071c2e;border:2px solid var(--flag,#f6b72f);border-radius:14px;box-shadow:inset 0 0 12px #0009}
.gang-flag img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 3px 3px #0009)}
.gang-flag.small{width:46px;height:46px;border-radius:12px}
.gang-flag.small img{width:38px;height:38px}
.gang-ident{display:grid;align-content:center;gap:2px;min-width:0}
.gang-ident b{overflow:hidden;color:#fff;font-size:15px;font-weight:1000;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.gang-ident p{margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#c5e3eb;font-size:9px;font-weight:1000;line-height:1.2}
.gang-ident small{color:var(--gold);font-size:8.5px;font-weight:1000;letter-spacing:.04em;text-shadow:0 2px #000}
.gang-figures{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.gang-figures span{display:grid;justify-items:center;gap:1px;padding:5px 2px;background:#08243a;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:11px}
.gang-figures b{overflow:hidden;max-width:100%;color:var(--gold);font-size:12px;font-weight:1000;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.gang-figures small{color:#8fb4c6;font-size:7px;font-weight:1000;letter-spacing:.03em;text-align:center}
.gang-mine{grid-column:1/-1;margin:0;color:#b6f08a;font-size:9px;font-weight:1000;letter-spacing:.04em;text-align:center;text-shadow:0 2px #000}
.gang-pot{padding:10px;background:linear-gradient(#0d3450,#092338);border:3px solid #9c7740;border-bottom-width:5px;border-radius:15px;box-shadow:var(--gloss),var(--sink)}
.gang-ledger{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.gang-ledger li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:5px 8px;background:#08243acc;border:2px solid #35637d;border-radius:10px}
.gang-ledger b{overflow:hidden;color:#dff2fa;font-size:9.5px;font-weight:1000;text-overflow:ellipsis;white-space:nowrap}
.gang-ledger span{color:#7fa9bd;font-size:8px;font-weight:1000;letter-spacing:.03em;text-transform:uppercase}
.gang-ledger em{font-style:normal;font-size:10px;font-weight:1000;text-shadow:0 2px #000}
.gang-ledger em.in{color:#9be05e}
.gang-ledger em.out{color:#ffb9b4}
.gang-note{margin:0;color:#a9cddc;font-size:8.5px;font-weight:1000;letter-spacing:.03em;line-height:1.3;text-align:center}
.gang-note.warn{color:#ffc0a8}
.gang-note.win{color:#9be05e;font-size:10px}
.gang-note .lot-clock{margin-left:3px}
.gang-chest-row{grid-template-columns:repeat(5,minmax(0,1fr))}
.gang-chest-row .chest-slot{padding:6px 2px}
.gang-chest-row .chest-slot img{width:30px;height:30px}
.gang-chest-row .chest-slot b{font-size:8px}
.gang-chest-row .chest-slot small{font-size:7px;letter-spacing:.02em}
.gang-list{display:grid;gap:7px}
.gang-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;background:#0a2b45d1;border:2px solid var(--flag,#4d8bab);border-bottom-width:5px;border-radius:13px;box-shadow:var(--gloss)}
.gang-row>div{display:grid;gap:2px;min-width:0}
.gang-row b{overflow:hidden;font-size:12px;font-weight:1000;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.gang-row p{margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#a9cddc;font-size:8.5px;font-weight:1000;line-height:1.15}
.gang-row small{color:#7fa9bd;font-size:8px;font-weight:1000;letter-spacing:.03em}
.gang-checks{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.gang-checks li{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;padding:6px 9px;background:#08243acc;border:2px solid #35637d;border-radius:11px;color:#c5e3eb;font-size:9.5px;font-weight:1000;letter-spacing:.03em}
.gang-checks li i{display:grid;place-items:center;width:18px;height:18px;border:2px solid #4d8bab;border-radius:6px;background:#061a2d}
.gang-checks li.done{border-color:#4f9d1e;color:#dcf5c6}
.gang-checks li.done i{background:var(--green);border-color:#bff58a}
.gang-checks li.done i:after{content:"";width:8px;height:4px;border:2px solid #0b2a06;border-top:0;border-right:0;rotate:-45deg;translate:0 -1px}
.gang-search .field{margin:0}
.gang-pace{display:flex;gap:5px}
.gang-pace button{flex:1 1 0;min-width:0;padding:6px 3px;background:var(--tab-idle);border:2px solid #4d8bab;border-bottom-width:4px;border-radius:11px;color:#bcdcea;font-size:7.5px;font-weight:1000;letter-spacing:.02em;line-height:1.1;text-transform:uppercase}
.gang-pace button.active{background:var(--tab-active);border-color:#a9dcf3;color:#fff;box-shadow:var(--gloss)}
.gang-pace button:active{translate:0 2px;border-bottom-width:2px}
.gang-invite-card{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:9px;margin:0;text-align:left}
.gang-invite-card img{width:82px;height:82px;object-fit:contain}
.gang-invite-card .title{margin:0 0 3px;font-size:14px}
.gang-invite-card .copy{margin:0;font-size:9.5px;line-height:1.25}
.gang-member,.gang-app{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px;background:#0a2b45d1;border:2px solid #35637d;border-bottom-width:5px;border-radius:13px;box-shadow:var(--gloss)}
.gang-member.me{background:linear-gradient(#1d5c86,#0d3b5c);border-color:var(--gold)}
.gang-member>div,.gang-app>div{display:grid;gap:2px;min-width:0}
.gang-member h3,.gang-app h3{margin:0;overflow:hidden;font-size:12px;font-weight:1000;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.gang-member p,.gang-app p{margin:0;overflow:hidden;color:#a9cddc;font-size:8.5px;font-weight:1000;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap}
.gang-app small{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#7fa9bd;font-size:8px;font-weight:1000;line-height:1.15}
.gang-muted{color:#ffb9b4;font-size:8px;font-weight:1000;letter-spacing:.03em}
.gang-member-side,.gang-app-side{display:grid;justify-items:end;gap:5px}
.gang-rank{padding:3px 6px;background:#071c2e;border:2px solid #4d8bab;border-radius:9px;color:#cfe7f0;font-size:7.5px;font-weight:1000;letter-spacing:.04em}
.gang-rank.leader{background:#5a3c0c;border-color:#ffd45d;color:#ffe6a2}
.gang-rank.boatswain{background:#3d2a63;border-color:#c9b6ff;color:#e6dbff}
.gang-rank.senior{background:#124a2a;border-color:#8fe07a;color:#d5f5c2}
.gang-member-side .game-button.small,.gang-app-side .game-button.small{padding:5px 8px;font-size:8px;border-bottom-width:3px}
.gang-actions{display:flex;flex-wrap:wrap;gap:6px}
.gang-actions .game-button{flex:1 1 120px}
.gang-chat{display:grid;gap:6px;max-height:44vh;padding:8px;overflow-y:auto;background:#061a2dcc;border:2px solid #35637d;border-radius:13px;box-shadow:inset 0 3px 10px #0007}
.gang-msg{display:grid;grid-template-columns:36px minmax(0,1fr);gap:7px}
.gang-msg.system{grid-template-columns:minmax(0,1fr)}
.gang-msg-face img{width:36px;height:36px;object-fit:cover;border:2px solid #071829;border-radius:11px;background:#0b3858}
.gang-msg-body{display:grid;gap:3px;min-width:0;padding:7px 9px;background:#0a2b45;border:2px solid #35637d;border-bottom-width:4px;border-radius:12px}
.gang-msg.mine .gang-msg-body{background:#12456a;border-color:#5f9fc0}
.gang-msg.system .gang-msg-body{background:#0d3450;border-color:#9c7740;border-style:dashed}
.gang-msg-body b{display:flex;align-items:baseline;gap:6px;color:var(--gold);font-size:9px;font-weight:1000;letter-spacing:.04em;text-shadow:0 2px #000}
.gang-msg-body b i{color:#6f9bb0;font-size:8px;font-style:normal;font-weight:1000}
.gang-msg-body p{margin:0;overflow-wrap:anywhere;color:#e4f4fb;font-size:11px;font-weight:1000;line-height:1.25}
.gang-msg-foot{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.gang-react{display:flex;align-items:center;gap:3px;padding:2px 5px 2px 2px;background:#071c2e;border:2px solid #35637d;border-radius:9px}
.gang-react img{width:22px;height:22px;object-fit:contain;border-radius:6px}
.gang-react i{color:#cfe7f0;font-size:8px;font-style:normal;font-weight:1000}
.gang-react.hot{border-color:var(--gold);background:#2b1f06}
.gang-react:active{translate:0 2px}
.gang-msg-foot .link-button{margin-left:auto;font-size:8px}
.gang-say{display:flex;gap:6px}
.gang-say input{flex:1;min-width:0;padding:9px 11px;background:#071c2e;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:12px;color:#e4f4fb;font-family:inherit;font-size:11px;font-weight:1000}
.gang-say input:focus{border-color:#7bd9ef;outline:none}
.gang-say input::placeholder{color:#5f8ba1;font-weight:1000}
.gang-boss{padding:10px;background:linear-gradient(#0d3450,#08243a);border:3px solid #7ccadd;border-bottom-width:5px;border-radius:15px;box-shadow:var(--gloss),var(--sink)}
.boss-art{display:grid;place-items:center;padding:4px;background:radial-gradient(circle at 50% 45%,#12557f,#071c2e 72%);border:2px solid #4d8bab;border-radius:13px}
.boss-art img{width:132px;height:132px;object-fit:contain;filter:drop-shadow(0 5px 6px #000a)}
.boss-name{margin:0;color:var(--gold);font-size:16px;font-weight:1000;letter-spacing:.03em;text-align:center;text-shadow:0 3px #000}
.gang-trophies{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.gang-trophy{display:grid;justify-items:center;gap:3px;padding:6px 3px;background:#08243a;border:2px solid #9c7740;border-bottom-width:4px;border-radius:12px}
.gang-trophy img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 3px 3px #000a)}
.gang-trophy small{overflow:hidden;max-width:100%;color:#ffe6a2;font-size:7px;font-weight:1000;letter-spacing:.02em;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.clash-card{display:grid;grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);align-items:center;gap:7px;padding:8px;background:#0a2b45d1;border:2px solid #35637d;border-bottom-width:5px;border-radius:13px;box-shadow:var(--gloss)}
.clash-card.live{border-color:var(--gold)}
.clash-side{display:grid;gap:2px;min-width:0}
.clash-side.right{justify-items:end;text-align:right}
.clash-side b{overflow:hidden;font-size:10.5px;font-weight:1000;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.clash-side em{color:var(--gold);font-size:10px;font-style:normal;font-weight:1000;text-shadow:0 2px #000}
.clash-vs{display:grid;justify-items:center;gap:3px}
.clash-vs i{color:#7fa9bd;font-size:12px;font-style:normal;font-weight:1000;letter-spacing:.06em}
.clash-state{padding:2px 6px;background:#071c2e;border:2px solid #4d8bab;border-radius:9px;color:#cfe7f0;font-size:7.5px;font-weight:1000;letter-spacing:.03em}
.clash-card.live .clash-state{border-color:var(--gold);color:#ffe6a2}
@media(max-width:360px){.top-tabs.gang-tabs button{font-size:7.5px}.gang-hero{grid-template-columns:50px minmax(0,1fr)}.gang-flag{width:50px;height:50px}.gang-flag img{width:42px;height:42px}.gang-figures b{font-size:11px}.gang-trophies{grid-template-columns:repeat(3,minmax(0,1fr))}.clash-card{grid-template-columns:minmax(0,1fr) 66px minmax(0,1fr)}}
.rank-face.gang-face>img:first-child{object-fit:contain;padding:3px;background:#071c2e;border-color:#4d8bab}

/* Друзья — panel №15 (ТЗ 24): друзья, вызовы, пруд чата, зов */
.top-tabs.friends-tabs{gap:3px;padding:6px 5px 0}
.top-tabs.friends-tabs button{position:relative;padding:8px 2px;font-size:9px;letter-spacing:0}
.friends-panel{border-top-left-radius:0;border-top-right-radius:0}
.friends-body{gap:10px}
.friends-block{display:grid;gap:7px}
.friends-till{display:grid;gap:8px;padding:10px;background:linear-gradient(#0d3450,#092338);border:3px solid #4d8bab;border-bottom-width:5px;border-radius:15px;box-shadow:var(--gloss),var(--sink)}
.friends-till .eyebrow{color:var(--gold);text-align:center}
.friends-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.friends-figures span{display:grid;justify-items:center;gap:1px;padding:5px 2px;background:#08243a;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:11px}
.friends-figures b{overflow:hidden;max-width:100%;color:var(--gold);font-size:12px;font-weight:1000;line-height:1.3;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.friends-figures small{color:#8fb4c6;font-size:7px;font-weight:1000;letter-spacing:.03em;text-align:center;line-height:1.15}
.pond-hero .friends-figures{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}
.friends-note{margin:0;color:#b7d9e6;font-size:9px;font-weight:1000;letter-spacing:.02em;line-height:1.3;text-align:center}
.mate-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;background:#0a2b45d1;border:2px solid #4d8bab;border-bottom-width:5px;border-radius:13px;box-shadow:var(--gloss)}
.mate-face{position:relative;display:grid;place-items:center;width:44px;height:44px;background:#071c2e;border:2px solid #7ccadd;border-radius:12px;overflow:hidden}
.mate-face img{width:100%;height:100%;object-fit:cover}
.mate-face i{position:absolute;right:-2px;bottom:-2px;min-width:16px;padding:0 3px;background:var(--gold);border:2px solid #7a4c10;border-radius:8px;color:#3a2405;font-size:8px;font-style:normal;font-weight:1000;text-align:center}
.mate-row>div{display:grid;gap:2px;min-width:0}
.mate-row b{overflow:hidden;color:#fff;font-size:12px;font-weight:1000;line-height:1.35;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.mate-row p{margin:0;overflow:hidden;color:#a9cddc;font-size:8.5px;font-weight:1000;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.mate-row small{color:#7fa9bd;font-size:7.5px;font-weight:1000;line-height:1.4;letter-spacing:.03em;text-transform:uppercase}
.mate-row small.live{color:#9be05e}
.mate-tail{display:grid;justify-items:end;gap:4px}
.mate-score{display:inline-flex;align-items:center;gap:3px;color:var(--gold);font-size:10px;line-height:1.3;font-weight:1000;text-shadow:0 2px #000}
.mate-score img{width:13px;height:13px;object-fit:contain}
.duel-card{display:grid;gap:7px;padding:9px;background:#0a2b45d1;border:2px solid #4d8bab;border-bottom-width:5px;border-radius:14px;box-shadow:var(--gloss),var(--sink)}
.duel-card.done{border-color:#6b8ea1}
.duel-card.win{border-color:var(--gold)}
.duel-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px}
.duel-head b{overflow:hidden;color:var(--gold);font-size:10px;font-weight:1000;line-height:1.4;letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;text-shadow:0 2px #000}
.duel-place{overflow:hidden;max-width:96px;color:#8fb4c6;font-size:8px;font-weight:1000;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.duel-body{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px}
.duel-side{display:grid;gap:2px;min-width:0}
.duel-side.right{justify-items:end;text-align:right}
.duel-side small{overflow:hidden;color:#cfe7f0;font-size:9px;font-weight:1000;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.duel-side em{color:#fff;font-size:12px;line-height:1.3;font-style:normal;font-weight:1000;text-shadow:0 2px #000}
.duel-vs{display:grid;justify-items:center;gap:2px}
.duel-vs i{color:#7fa9bd;font-size:12px;font-style:normal;font-weight:1000;letter-spacing:.06em}
.duel-state{padding:3px 6px;line-height:1.3;background:#071c2e;border:2px solid #4d8bab;border-radius:9px;color:#cfe7f0;font-size:7.5px;font-weight:1000;letter-spacing:.03em;text-align:center}
.duel-card.win .duel-state{border-color:var(--gold);color:#ffe6a2}
.duel-target{display:flex;align-items:center;gap:5px;margin:0;padding:4px 6px;background:#08243acc;border:2px dashed #6ba3bd;border-radius:10px;color:#dff2fa;font-size:8.5px;font-weight:1000}
.duel-target img{width:22px;height:22px;object-fit:contain}
.duel-actions{display:flex;flex-wrap:wrap;gap:6px}
.duel-actions .game-button{flex:1 1 110px;min-width:0}
.duel-code{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:6px}
.duel-code .field{margin:0}
.pond-empty{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:9px;text-align:left}
.pond-empty img{width:88px;height:88px;object-fit:contain}
.pond-hero{display:grid;grid-template-columns:56px minmax(0,1fr);gap:9px;padding:10px;background:linear-gradient(#0d3450,#092338);border:3px solid #7ccadd;border-bottom-width:5px;border-radius:15px;box-shadow:var(--gloss),var(--sink)}
.pond-flag{display:grid;place-items:center;width:56px;height:56px;background:#071c2e;border:2px solid #7ccadd;border-radius:14px;box-shadow:inset 0 0 12px #0009}
.pond-flag img{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 3px 3px #0009)}
.pond-ident{display:grid;align-content:center;gap:2px;min-width:0}
.pond-ident b{overflow:hidden;color:#fff;font-size:14px;font-weight:1000;line-height:1.35;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.pond-ident p{margin:0;color:var(--gold);font-size:9px;font-weight:1000;letter-spacing:.03em}
.pond-ident small{overflow:hidden;color:#8fb4c6;font-size:8px;font-weight:1000;line-height:1.45;letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap}
.pond-xp{grid-column:1/-1;display:grid;gap:3px}
.pond-xp em{color:#a9cddc;font-size:8px;font-style:normal;font-weight:1000;letter-spacing:.03em;text-align:center}
.pond-mine{grid-column:1/-1;margin:0;color:#b6f08a;font-size:9px;font-weight:1000;letter-spacing:.03em;text-align:center;text-shadow:0 2px #000}
.museum-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.museum-card{display:grid;justify-items:center;gap:2px;padding:6px 4px;background:#08243a;border:2px solid var(--rarity,#4d8bab);border-bottom-width:4px;border-radius:12px;box-shadow:var(--gloss);text-align:center}
.museum-card img{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 3px 3px #0009)}
.museum-card b{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#eaf6fb;font-size:8px;font-weight:1000;line-height:1.15}
.museum-card small{color:var(--gold);font-size:8px;font-weight:1000}
.museum-card em{overflow:hidden;max-width:100%;color:#7fa9bd;font-size:7px;line-height:1.45;font-style:normal;font-weight:1000;text-overflow:ellipsis;white-space:nowrap}
.call-card{display:grid;gap:8px;padding:11px;background:linear-gradient(#0d3450,#092338);border:3px solid var(--gold);border-bottom-width:5px;border-radius:15px;box-shadow:var(--gloss),var(--sink);text-align:center}
.call-code{padding:6px;background:#071c2e;border:2px dashed #f6b72f;border-radius:12px;color:var(--gold);font-size:20px;font-weight:1000;letter-spacing:.14em;text-shadow:0 3px #000}
.call-step{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;background:#0a2b45d1;border:2px solid #4d8bab;border-bottom-width:5px;border-radius:13px;box-shadow:var(--gloss)}
.call-step.ready{border-color:var(--gold)}
.call-step.done{opacity:.62}
.call-step-n{display:grid;place-items:center;width:34px;height:34px;background:#071c2e;border:2px solid #7ccadd;border-radius:11px;color:var(--gold);font-size:13px;font-weight:1000;text-shadow:0 2px #000}
.call-step.ready .call-step-n{border-color:var(--gold)}
.call-step>div{display:grid;gap:2px;min-width:0}
.call-step b{overflow:hidden;color:#fff;font-size:10.5px;font-weight:1000;line-height:1.4;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.call-step p{margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#a9cddc;font-size:8.5px;font-weight:1000;line-height:1.4}
.call-done{color:#9be05e;font-size:8px;font-weight:1000;letter-spacing:.03em;text-transform:uppercase}
.call-need{color:#7fa9bd;font-size:8px;font-weight:1000;letter-spacing:.03em;text-align:center;text-transform:uppercase}
.invited-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 8px;background:#08243acc;border:2px solid #35637d;border-radius:11px}
.invited-row img{width:34px;height:34px;object-fit:cover;background:#071c2e;border:2px solid #4d8bab;border-radius:10px}
.invited-row>div{display:grid;gap:1px;min-width:0}
.invited-row b{overflow:hidden;color:#dff2fa;font-size:10px;font-weight:1000;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.invited-row small{color:#7fa9bd;font-size:8px;font-weight:1000}
.invited-row span{color:#7fa9bd;font-size:7.5px;font-weight:1000;letter-spacing:.03em;text-transform:uppercase}
.invited-row.live span{color:#9be05e}
@media(max-width:360px){.top-tabs.friends-tabs button{font-size:8px}.mate-row{grid-template-columns:40px minmax(0,1fr) auto}.mate-face{width:40px;height:40px}.museum-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.friends-figures small{font-size:6.5px}.duel-side em{font-size:11px}}

/* МИРОВОЙ ДВИЖ — panel №16: эфир, босс, небо */
.panel-head.world-head{position:relative}
.panel-head.world-head .back{position:absolute;left:7px;top:50%;translate:0 -50%;width:30px;height:30px;padding:0;font-size:19px;line-height:1}
.world-till .eyebrow{color:var(--gold);text-align:center}
.world-card{position:relative;display:grid;grid-template-columns:74px minmax(0,1fr);grid-template-areas:"shot text" "reacts reacts";gap:8px;padding:9px;background:linear-gradient(#0d3450,#092338);border:3px solid var(--rarity,#4d8bab);border-bottom-width:5px;border-radius:15px;box-shadow:var(--gloss),var(--sink)}
.world-card.mine{box-shadow:var(--gloss),var(--sink),0 0 0 2px #ffc83e7a}
.world-shot{grid-area:shot;position:relative;display:grid;place-items:center;width:74px;height:74px;padding:0;background:radial-gradient(circle at 50% 42%,#12557f,#071c2e 74%);border:2px solid #4d8bab;border-bottom-width:4px;border-radius:14px}
.world-shot img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 4px 4px #000a)}
.world-shot .rarity-badge{position:absolute;left:50%;bottom:-8px;translate:-50% 0;font-size:6.5px;padding:2px 5px}
.world-text{grid-area:text;display:grid;align-content:start;gap:2px;min-width:0}
.world-text h3{margin:0;overflow:hidden;color:#fff;font-size:12px;font-weight:1000;line-height:1.4;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.world-text p{margin:0;overflow:hidden;color:#b7d9e6;font-size:9px;font-weight:1000;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.world-text small{color:#7fa9bd;font-size:8px;font-weight:1000;letter-spacing:.02em;line-height:1.4}
.world-text .game-button{margin-top:4px;justify-self:start}
.world-reacts{grid-area:reacts;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.world-react{display:flex;align-items:center;justify-content:center;gap:4px;padding:4px;background:#071c2e;border:2px solid #35637d;border-bottom-width:4px;border-radius:11px}
.world-react img{width:22px;height:22px;object-fit:cover;border:2px solid #0a2b45;border-radius:8px}
.world-react b{color:#cfe7f0;font-size:9px;font-weight:1000;line-height:1.4}
.world-react.picked{border-color:var(--gold);background:#12345166}
.world-react.picked b{color:var(--gold)}
.world-react:active{translate:0 2px;border-bottom-width:2px}
.world-boss .boss-art{position:relative}
.boss-down{position:absolute;left:50%;bottom:6px;translate:-50% 0;padding:3px 9px;background:var(--red);border:2px solid #ffd0cc;border-radius:10px;color:#fff;font-size:9px;font-weight:1000;letter-spacing:.05em;text-shadow:0 2px #000}
.world-share{margin:0;color:#ffe6a2;font-size:9px;font-weight:1000;letter-spacing:.02em;line-height:1.4;text-align:center}
.sky-card{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:9px;padding:9px;background:#0a2b45d1;border:2px solid #35637d;border-bottom-width:5px;border-radius:14px;box-shadow:var(--gloss)}
.sky-card.now{border-color:var(--gold);background:linear-gradient(#0d3450,#092338)}
.sky-card>img{width:58px;height:58px;object-fit:cover;background:#071c2e;border:2px solid #4d8bab;border-radius:13px}
.sky-card>div{display:grid;gap:2px;min-width:0}
.sky-card .eyebrow{color:#7fa9bd}
.sky-card.now .eyebrow{color:var(--gold)}
.sky-card h3{margin:0;overflow:hidden;color:#fff;font-size:12px;font-weight:1000;line-height:1.4;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.sky-card p{margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#b7d9e6;font-size:9px;font-weight:1000;line-height:1.4}
.sky-card small{color:#7fa9bd;font-size:8px;font-weight:1000;letter-spacing:.02em;line-height:1.4}
.sky-event{display:grid;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:9px}
.sky-event>img{width:66px;height:66px;object-fit:contain;background:#2a180a66;border:2px solid var(--wood-line);border-radius:13px;filter:drop-shadow(0 3px 3px #0009)}
.sky-event>div{display:grid;gap:2px;min-width:0}
.sky-event .eyebrow{color:#ffe6a2}
.sky-event h3{margin:0;overflow:hidden;color:#fff3d0;font-size:12px;font-weight:1000;line-height:1.4;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #2c1a08}
.sky-event p{margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#f0dcb4;font-size:9px;font-weight:1000;line-height:1.4}
.sky-event small{color:#d9be8c;font-size:8px;font-weight:1000;line-height:1.4}
.sky-rumor{display:grid;gap:3px}
.sky-rumor .eyebrow{color:#8a6f42}
.sky-rumor h3{margin:0;color:var(--paper-ink);font-size:12px;font-weight:1000;line-height:1.4}
.sky-rumor p{margin:0;color:#4a5c63;font-size:9.5px;font-weight:1000;line-height:1.45}
.world-decision{display:grid;gap:5px;margin:9px 0;padding:9px;background:#0a2b45d1;border:2px solid var(--gold);border-bottom-width:5px;border-radius:13px}
.world-decision .eyebrow{color:var(--gold)}
.world-decision .copy{margin:0;font-size:9.5px;line-height:1.4}
@media(max-width:360px){.top-tabs.world-tabs button{font-size:9px}.world-card{grid-template-columns:62px minmax(0,1fr)}.world-shot{width:62px;height:62px}.world-shot img{width:46px;height:46px}.sky-card{grid-template-columns:48px minmax(0,1fr)}.sky-card>img{width:48px;height:48px}}


/* НАСТРОЙКИ — panel №21: мастерская тумблеров */
.set-panel{gap:0}
.set-panel .panel-head.set-head{position:relative;padding:8px 42px 9px}
.set-head .back{position:absolute;left:7px;top:50%;translate:0 -50%;width:30px;height:30px;padding:0;font-size:19px;line-height:1}
.set-body{gap:11px}
.set-cover{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:11px}
.set-gear{display:grid;place-items:center;width:96px;height:96px;background:#2a180a66;border:3px solid var(--wood-line);border-radius:15px;box-shadow:0 4px 0 #04101a,inset 0 0 0 2px #0000003d}
.set-gear img{width:74px;height:74px;object-fit:contain;filter:drop-shadow(0 4px 4px #000a)}
.set-cover-body{display:grid;gap:3px;min-width:0}
.set-owner{margin:0;overflow:hidden;color:#ffd45d;font-size:15px;font-weight:1000;letter-spacing:.02em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.set-cover-note{margin:0;color:#f2e2b4;font-size:10px;font-weight:900;line-height:1.3;text-shadow:0 2px #000}
.set-figures{grid-template-columns:repeat(3,minmax(0,1fr))}
.set-group{display:grid;gap:7px;padding:11px}
.set-group-head{display:flex;align-items:center;gap:7px;margin:0;color:var(--gold);font-size:11px;font-weight:1000;letter-spacing:.09em;text-transform:uppercase;text-shadow:0 2px #000}
.set-group-head img{width:28px;height:28px;object-fit:cover;background:#0b3858;border:2px solid #7ccadd;border-radius:9px}
.set-choice{display:grid;gap:5px}
.set-choice-label{color:#dff2fa;font-size:10px;font-weight:1000;letter-spacing:.03em;text-shadow:0 2px #000}
.set-seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.set-opt{padding:8px 9px;background:#071c2e;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:12px;color:#9dc2d4;font-family:inherit;font-size:10px;font-weight:1000;letter-spacing:.03em;text-transform:uppercase;text-shadow:0 2px #000}
.set-opt.active{background:linear-gradient(#8ade36,#5aa81a);border-color:#e7fbff;border-bottom-color:#2e780d;color:#0d2b07;text-shadow:0 1px #ffffff6b}
.set-opt:active{translate:0 2px;border-bottom-width:2px}
.set-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 0;border-bottom:2px dashed #2b5f7d}
.set-row:last-of-type{border-bottom:0}
.set-row-text{display:grid;gap:1px;min-width:0}
.set-row-text b{color:#eaf7ff;font-size:11px;font-weight:1000;line-height:1.25;text-shadow:0 2px #000}
.set-row-text small{color:#8fb4c6;font-size:8.5px;font-weight:900;line-height:1.25}
.set-row input{position:absolute;width:0;height:0;margin:0;opacity:0;pointer-events:none}
.set-knob{position:relative;display:block;width:52px;height:28px;background:#071c2e;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:15px;box-shadow:inset 0 2px 6px #0008}
.set-knob:before{content:"";position:absolute;left:3px;top:2px;width:20px;height:18px;background:linear-gradient(#dff2fa,#8fb4c6);border:2px solid #071523;border-radius:8px;transition:left .12s ease}
.set-row input:checked+.set-knob{background:linear-gradient(#5aa81a,#3d7f12);border-color:#9be05e;border-bottom-color:#2e780d}
.set-row input:checked+.set-knob:before{left:25px;background:linear-gradient(#fff,#c9f39a)}
.set-row input:focus-visible+.set-knob{border-color:var(--line);outline:2px solid var(--gold)}
.set-row.locked{opacity:.62}
.set-row.locked .set-knob{filter:grayscale(.65)}
.set-help{margin:0;color:#8fb4c6;font-size:9px;font-weight:900;line-height:1.3}
.set-club-note{margin:0;color:var(--gold);font-size:9.5px;font-weight:1000;letter-spacing:.03em;text-shadow:0 2px #000}
.set-club-cta{justify-self:start}
.set-note{margin:0;padding:9px 12px;background:var(--paper);border:3px solid #cbb079;border-radius:14px;color:var(--paper-ink);font-size:11px;font-weight:1000;line-height:1.3;text-align:center}
@media(max-width:360px){.set-cover{grid-template-columns:80px minmax(0,1fr);gap:9px}.set-gear{width:80px;height:80px}.set-gear img{width:60px;height:60px}.set-owner{font-size:13px}.set-row-text b{font-size:10px}.set-knob{width:46px}.set-row input:checked+.set-knob:before{left:19px}.set-opt{font-size:9px;padding:8px 6px}}

/* Погашенная кнопка — общий вид для всех .game-button */
.game-button:disabled{filter:grayscale(.55) brightness(.85);opacity:.72;box-shadow:0 3px 9px #0004,var(--gloss)}
.game-button:disabled:active{transform:none;border-bottom-width:6px}

/* Быстрые анимации — тумблер Клуба */
body.fast-animation .loot-card{animation-duration:.2s;animation-delay:calc(var(--i,0)*32ms)}
body.fast-animation .runtime-fx{animation-duration:.26s}
body.fast-animation .reel-window.landed{animation-duration:.18s}
body.fast-animation .loading i{animation-duration:.9s}


/* ПОДДЕРЖКА — panel №22: будка жалоб */
.sup-panel{gap:0}
.sup-panel .panel-head.sup-head{position:relative;padding:8px 42px 9px}
.sup-head .back{position:absolute;left:7px;top:50%;translate:0 -50%;width:30px;height:30px;padding:0;font-size:19px;line-height:1}
.sup-body{gap:11px}
.sup-cover{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:11px}
.sup-hand{display:grid;place-items:center;width:96px;height:96px;background:#2a180a66;border:3px solid var(--wood-line);border-radius:15px;box-shadow:0 4px 0 #04101a,inset 0 0 0 2px #0000003d}
.sup-hand img{width:74px;height:74px;object-fit:contain;filter:drop-shadow(0 4px 4px #000a)}
.sup-cover-body{display:grid;gap:3px;min-width:0}
.sup-owner{margin:0;overflow:hidden;color:#ffd45d;font-size:15px;font-weight:1000;letter-spacing:.02em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.sup-cover-note{margin:0;color:#f2e2b4;font-size:10px;font-weight:900;line-height:1.3;text-shadow:0 2px #000}
.sup-figures{grid-template-columns:repeat(3,minmax(0,1fr))}
.sup-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.sup-cat{display:grid;justify-items:center;gap:3px;padding:6px 3px;background:#071c2e;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:12px;color:#9dc2d4;font-family:inherit;font-size:7.5px;font-weight:1000;letter-spacing:.02em;line-height:1.05;text-align:center;text-transform:uppercase;text-shadow:0 2px #000}
.sup-cat img{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 2px 2px #000a)}
.sup-cat.active{background:linear-gradient(#8ade36,#5aa81a);border-color:#e7fbff;border-bottom-color:#2e780d;color:#0d2b07;text-shadow:0 1px #ffffff6b}
.sup-cat:active{translate:0 2px;border-bottom-width:2px}
.sup-field{display:grid;gap:4px}
.sup-field>span{color:#dff2fa;font-size:10px;font-weight:1000;letter-spacing:.03em;text-shadow:0 2px #000}
.sup-input,.sup-area{width:100%;padding:9px 10px;background:#071c2e;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:12px;color:#eaf7ff;font-family:inherit;font-size:11px;font-weight:900;box-shadow:inset 0 2px 6px #0008}
.sup-area{min-height:92px;resize:vertical;line-height:1.3}
.sup-input::placeholder,.sup-area::placeholder{color:#6d95a9;font-weight:800}
.sup-input:focus,.sup-area:focus{border-color:var(--line);outline:none}
.sup-context{margin:0;color:#8fb4c6;font-size:8.5px;font-weight:900;line-height:1.3}
.sup-stack{display:grid;gap:8px}
.sup-ticket{display:grid;gap:7px;padding:11px;background:#0d2f45e8}
.sup-ticket-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px}
.sup-cat-badge{display:grid;place-items:center;width:38px;height:38px;background:#0b3858;border:2px solid #7ccadd;border-radius:11px}
.sup-cat-badge img{width:28px;height:28px;object-fit:contain}
.sup-ticket-title{display:grid;gap:1px;min-width:0}
.sup-code{color:#7fb0c6;font-size:8px;font-weight:1000;letter-spacing:.06em}
.sup-ticket-title b{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#eaf7ff;font-size:11.5px;font-weight:1000;line-height:1.2;text-shadow:0 2px #000}
.sup-status{padding:4px 7px;border:2px solid #071523;border-radius:11px;font-size:7.5px;font-weight:1000;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.sup-status.open{background:var(--gold);color:#3d2704}
.sup-status.wait{background:var(--red);color:#fff0e4;text-shadow:0 1px #0006}
.sup-status.done{background:var(--green);color:#123c04}
.sup-status.closed{background:#5d7b88;color:#0d1f28}
.sup-message{margin:0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;color:#b9d8e3;font-size:10px;font-weight:900;line-height:1.32}
.sup-wait{margin:0;color:#8fb4c6;font-size:9px;font-weight:900;font-style:italic;line-height:1.3}
.sup-answer{display:grid;gap:3px;padding:9px 11px;background:var(--paper);border:3px solid #cbb079;border-radius:14px}
.sup-answer-tag{color:#8a5f1c;font-size:8px;font-weight:1000;letter-spacing:.07em;text-transform:uppercase}
.sup-answer p{margin:0;color:var(--paper-ink);font-size:11px;font-weight:1000;line-height:1.3}
.sup-answer small{color:#7d7256;font-size:8px;font-weight:900}
.sup-close{justify-self:start}
.sup-empty{display:grid;gap:3px;padding:12px;text-align:center}
.sup-empty b{color:#2b1c0c;font-size:12px;font-weight:1000;letter-spacing:.05em;text-transform:uppercase}
.sup-empty p{margin:0;color:#49606a;font-size:10.5px;font-weight:900;line-height:1.28}
@media(max-width:360px){.sup-cover{grid-template-columns:80px minmax(0,1fr);gap:9px}.sup-hand{width:80px;height:80px}.sup-hand img{width:60px;height:60px}.sup-owner{font-size:13px}.sup-cats{grid-template-columns:repeat(3,minmax(0,1fr))}.sup-cat{font-size:7px}.sup-ticket-title b{font-size:10.5px}.sup-status{font-size:7px;padding:4px 5px}}


/* АККАУНТ — panel №23: личное дело и семь дней на отмену */
.acc-panel{gap:0}
.acc-panel .panel-head.rank-head.acc-head{position:relative;padding:8px 42px 9px}
.acc-head .back{position:absolute;left:7px;top:50%;translate:0 -50%;width:30px;height:30px;padding:0;font-size:19px;line-height:1}
.acc-body{gap:11px}
.acc-cover{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:11px}
.acc-medal{display:grid;place-items:center;width:96px;height:96px;background:#2a180a66;border:3px solid var(--wood-line);border-radius:15px;box-shadow:0 4px 0 #04101a,inset 0 0 0 2px #0000003d}
.acc-medal img{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 4px 4px #000a)}
.acc-cover-body{display:grid;gap:3px;min-width:0}
.acc-owner{margin:0;overflow:hidden;color:#ffd45d;font-size:15px;font-weight:1000;letter-spacing:.02em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.acc-cover-note{margin:0;color:#f2e2b4;font-size:10px;font-weight:900;line-height:1.3;text-shadow:0 2px #000}
.acc-figures{grid-template-columns:repeat(3,minmax(0,1fr))}
.acc-fact{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:6px 2px;border-bottom:2px dashed #2f5d75}
.acc-fact:last-child{border-bottom:0;padding-bottom:2px}
.acc-fact>span{color:#9dc2d4;font-size:10px;font-weight:900;text-shadow:0 2px #000}
.acc-fact>b{overflow:hidden;color:#eaf7ff;font-size:11px;font-weight:1000;letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.acc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.acc-cell{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 9px;background:#071c2e;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:12px}
.acc-cell small{overflow:hidden;color:#8fb4c6;font-size:8px;font-weight:1000;letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap}
.acc-cell b{color:var(--gold);font-size:13px;font-weight:1000;line-height:1;text-shadow:0 2px #000}
.acc-hint{margin:7px 0 0;color:#8fb4c6;font-size:8.5px;font-weight:900;line-height:1.3}
.acc-after{display:grid;gap:6px}
.acc-after p{position:relative;margin:0;padding-left:14px;color:#cfe6f0;font-size:10px;font-weight:900;line-height:1.32}
.acc-after p::before{content:"";position:absolute;left:2px;top:4px;width:6px;height:6px;background:var(--gold);border:1px solid #071523;rotate:45deg}
.acc-danger{display:grid;gap:8px}
.acc-danger-head{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:9px}
.acc-glass{display:grid;place-items:center;width:52px;height:52px;background:#e5d3a3;border:3px solid #b73932;border-radius:14px}
.acc-glass img{width:40px;height:40px;object-fit:contain}
.acc-danger-title{display:grid;gap:2px;min-width:0}
.acc-danger-title h2{margin:0;color:#7e2420;font-size:14px;font-weight:1000;letter-spacing:.02em;line-height:1.1;text-transform:uppercase}
.acc-danger .copy{margin:0;color:var(--paper-ink);font-size:10.5px;font-weight:900;line-height:1.32}
.acc-timer{justify-self:start;padding:5px 10px;background:#b73932;border:2px solid #071523;border-radius:11px;color:#ffe9d9;font-size:10px;font-weight:1000;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 1px #0007}
.acc-field{display:grid;gap:4px}
.acc-field>span{color:#5b4a2a;font-size:9.5px;font-weight:1000;letter-spacing:.03em;text-transform:uppercase}
.acc-field input{width:100%;padding:9px 10px;background:#fbf3dc;border:2px solid #8f774a;border-bottom-width:4px;border-radius:12px;color:var(--paper-ink);font-family:inherit;font-size:12px;font-weight:1000;letter-spacing:.08em;text-transform:uppercase}
.acc-field input::placeholder{color:#a8946a;font-weight:900;letter-spacing:.08em}
.acc-field input:focus{border-color:#b73932;outline:none}
.acc-note{text-align:center}
@media(max-width:360px){.acc-cover{grid-template-columns:80px minmax(0,1fr);gap:9px}.acc-medal{width:80px;height:80px}.acc-medal img{width:62px;height:62px}.acc-owner{font-size:13px}.acc-cell{padding:6px 7px}.acc-cell small{font-size:7.5px}.acc-cell b{font-size:12px}.acc-fact>span{font-size:9px}.acc-fact>b{font-size:10px}.acc-danger-title h2{font-size:12.5px}}
.notif-panel{gap:0}
.notif-panel .panel-head.notif-head{position:relative;padding:8px 42px 9px}
.panel-head.notif-head .back{position:absolute;left:7px;top:50%;translate:0 -50%;width:30px;height:30px;padding:0;font-size:19px;line-height:1}
.notif-body{gap:11px}
.notif-cover{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:11px}
.notif-horn{display:grid;place-items:center;width:96px;height:96px;background:#2a180a66;border:3px solid var(--wood-line);border-radius:15px;box-shadow:0 4px 0 #04101a,inset 0 0 0 2px #0000003d}
.notif-horn img{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 4px 4px #000a)}
.notif-cover-body{display:grid;gap:3px;min-width:0}
.notif-owner{margin:0;overflow:hidden;color:#ffd45d;font-size:15px;font-weight:1000;letter-spacing:.02em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.notif-cover-note{margin:0;color:#f2e2b4;font-size:10px;font-weight:900;line-height:1.3;text-shadow:0 2px #000}
.notif-figures{grid-template-columns:repeat(3,minmax(0,1fr))}
.notif-figures b{font-size:12px}
.notif-filter{display:flex;gap:5px;overflow-x:auto;margin:0 -11px;padding:1px 11px 3px;scrollbar-width:none}
.notif-filter::-webkit-scrollbar{display:none}
.notif-filter.empty{display:none}
.notif-chip{position:relative;flex:0 0 auto;display:grid;justify-items:center;padding:5px 9px;background:#08243a;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:11px;color:#cfe7f1}
.notif-chip b{font-size:8.5px;font-weight:1000;letter-spacing:.05em;white-space:nowrap}
.notif-chip small{color:#8fb4c6;font-size:8px;font-weight:1000}
.notif-chip:active{translate:0 2px;border-bottom-width:2px}
.notif-chip.hot:after{content:"";position:absolute;right:-2px;top:-2px;width:8px;height:8px;background:var(--gold);border:2px solid #08243a;border-radius:50%}
.notif-chip.picked{background:var(--nt,#549fcd);border-color:#e7fbff;color:#08202f;text-shadow:none}
.notif-chip.picked small{color:#08202fb3}
.notif-chip.picked.hot:after{border-color:#e7fbff}
.notif-chip.cat-important,.notif-card.cat-important{--nt:#e64c43}
.notif-chip.cat-gang,.notif-card.cat-gang{--nt:#9b7ce8}
.notif-chip.cat-friends,.notif-card.cat-friends{--nt:#4dc66a}
.notif-chip.cat-market,.notif-card.cat-market{--nt:#ffc83e}
.notif-chip.cat-rewards,.notif-card.cat-rewards{--nt:#3fa7ee}
.notif-chip.cat-events,.notif-card.cat-events{--nt:#36f0d2}
.notif-bar{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:2px 0 -2px}
.notif-section{margin:0;color:var(--gold);font-size:11px;font-weight:1000;letter-spacing:.09em;text-transform:uppercase;text-shadow:0 2px #000}
.notif-stack{display:grid;gap:11px}
.notif-card{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr);align-items:start;gap:8px 11px;padding:11px;overflow:hidden}
.notif-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--nt,#549fcd)}
.notif-card.read{opacity:.74}
.notif-card.unread{border-color:#ffd464}
.notif-thumb{overflow:hidden;display:grid;place-items:center;width:62px;height:62px;background:#0a2c44;border:3px solid #7ccadd;border-radius:13px;box-shadow:0 3px 0 #04101a}
.notif-thumb img{width:100%;height:100%;object-fit:contain}
.notif-card-body{display:grid;gap:3px;min-width:0}
.notif-tags{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.notif-tag{padding:2px 7px;background:var(--nt,#549fcd);border:2px solid #0000001f;border-radius:9px;color:#08202f;font-size:7.5px;font-weight:1000;letter-spacing:.09em}
.notif-new{padding:2px 7px;background:#ffd464;border:2px solid #a76510;border-radius:9px;color:#3d2405;font-size:7.5px;font-weight:1000;letter-spacing:.09em}
.notif-card h3{margin:0;color:#eaf7ff;font-size:12px;font-weight:1000;letter-spacing:.02em;line-height:1.2;text-shadow:0 2px #000}
.notif-card p{margin:0;color:#bcdae6;font-size:10.5px;font-weight:900;line-height:1.28}
.notif-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:9px;padding-top:6px;border-top:2px dashed #2f5f78}
.notif-time{color:#8fb4c6;font-size:8.5px;font-weight:1000;letter-spacing:.04em}
.notif-stack.empty .notif-horn{width:56px;height:56px;border-color:#a9793a;background:#f7eecd;box-shadow:0 3px 0 #80602f}
.notif-stack.empty .notif-horn img{width:44px;height:44px}
.notif-note{text-align:center}
@media(max-width:360px){.notif-cover{grid-template-columns:80px minmax(0,1fr);gap:9px}.notif-horn{width:80px;height:80px}.notif-horn img{width:62px;height:62px}.notif-owner{font-size:13px}.notif-card{grid-template-columns:52px minmax(0,1fr);gap:7px 9px}.notif-thumb{width:52px;height:52px}.notif-card h3{font-size:11.5px}.notif-time{font-size:8px}}
.wish-panel{gap:0}
.wish-panel .panel-head.wish-head{position:relative;padding:8px 42px 9px}
.panel-head.wish-head .back{position:absolute;left:7px;top:50%;translate:0 -50%;width:30px;height:30px;padding:0;font-size:19px;line-height:1}
.wish-body{gap:11px}
.wish-cover{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:11px}
.wish-compass{display:grid;place-items:center;width:96px;height:96px;background:#2a180a66;border:3px solid var(--wood-line);border-radius:15px;box-shadow:0 4px 0 #04101a,inset 0 0 0 2px #0000003d}
.wish-compass img{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 4px 4px #000a)}
.wish-cover-body{display:grid;gap:3px;min-width:0}
.wish-owner{margin:0;overflow:hidden;color:#ffd45d;font-size:15px;font-weight:1000;letter-spacing:.02em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.wish-cover-note{margin:0;color:#f2e2b4;font-size:10px;font-weight:900;line-height:1.3;text-shadow:0 2px #000}
.wish-figures{grid-template-columns:repeat(3,minmax(0,1fr))}
.wish-figures b{font-size:12px}
.wish-filter{display:flex;gap:5px;overflow-x:auto;margin:0 -11px;padding:1px 11px 3px;scrollbar-width:none}
.wish-filter::-webkit-scrollbar{display:none}
.wish-filter.empty{display:none}
.wish-chip{position:relative;flex:0 0 auto;display:grid;justify-items:center;padding:5px 9px;background:#08243a;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:11px;color:#cfe7f1}
.wish-chip b{font-size:8.5px;font-weight:1000;letter-spacing:.05em;white-space:nowrap}
.wish-chip small{color:#8fb4c6;font-size:8px;font-weight:1000}
.wish-chip:active{translate:0 2px;border-bottom-width:2px}
.wish-chip.hot:after{content:"";position:absolute;right:-2px;top:-2px;width:8px;height:8px;background:var(--gold);border:2px solid #08243a;border-radius:50%}
.wish-chip.picked{background:var(--rarity,#549fcd);border-color:#e7fbff;color:#08202f;text-shadow:none}
.wish-chip.picked small{color:#08202fb3}
.wish-chip.picked.hot:after{border-color:#e7fbff}
.wish-bar{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:2px 0 -2px}
.wish-section{margin:0;color:var(--gold);font-size:11px;font-weight:1000;letter-spacing:.09em;text-transform:uppercase;text-shadow:0 2px #000}
.wish-stack{display:grid;gap:11px}
.wish-card{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr);align-items:start;gap:8px 11px;padding:11px;overflow:hidden}
.wish-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--rarity,#549fcd)}
.wish-card.hot{border-color:#ffd464}
.wish-thumb{overflow:hidden;display:grid;place-items:center;width:62px;height:62px;background:#0a2c44;border:3px solid #7ccadd;border-radius:13px;box-shadow:0 3px 0 #04101a}
.wish-thumb img{width:100%;height:100%;object-fit:contain}
.wish-card-body{display:grid;gap:3px;min-width:0}
.wish-tags{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.wish-tag{padding:2px 7px;background:var(--rarity,#549fcd);border:2px solid #0000001f;border-radius:9px;color:#08202f;font-size:7.5px;font-weight:1000;letter-spacing:.09em;text-transform:uppercase}
.wish-hot{padding:2px 7px;background:#ffd464;border:2px solid #a76510;border-radius:9px;color:#3d2405;font-size:7.5px;font-weight:1000;letter-spacing:.09em}
.wish-card h3{margin:0;color:#eaf7ff;font-size:12px;font-weight:1000;letter-spacing:.02em;line-height:1.2;text-shadow:0 2px #000}
.wish-card p{margin:0;color:#bcdae6;font-size:10.5px;font-weight:900;line-height:1.28}
.wish-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:9px;padding-top:6px;border-top:2px dashed #2f5f78}
.wish-acts{display:flex;align-items:center;gap:6px}
.wish-since{color:#8fb4c6;font-size:8.5px;font-weight:1000;letter-spacing:.04em}
.wish-stack.empty .wish-compass{width:56px;height:56px;border-color:#a9793a;background:#f7eecd;box-shadow:0 3px 0 #80602f}
.wish-stack.empty .wish-compass img{width:44px;height:44px}
.wish-help{margin:-3px 0 -2px;text-align:center}
.wish-note{text-align:center}
@media(max-width:360px){.wish-cover{grid-template-columns:80px minmax(0,1fr);gap:9px}.wish-compass{width:80px;height:80px}.wish-compass img{width:62px;height:62px}.wish-owner{font-size:13px}.wish-card{grid-template-columns:52px minmax(0,1fr);gap:7px 9px}.wish-thumb{width:52px;height:52px}.wish-card h3{font-size:11.5px}.wish-since{font-size:8px}.wish-foot{flex-wrap:wrap}}
.mem-panel{gap:0}
.mem-panel .panel-head.mem-head{position:relative;padding:8px 42px 9px}
.panel-head.mem-head .back{position:absolute;left:7px;top:50%;translate:0 -50%;width:30px;height:30px;padding:0;font-size:19px;line-height:1}
.mem-body{gap:11px}
.mem-cover{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:11px}
.mem-shot{overflow:hidden;display:grid;place-items:center;width:96px;height:96px;background:#2a180a66;border:3px solid var(--wood-line);border-radius:15px;box-shadow:0 4px 0 #04101a,inset 0 0 0 2px #0000003d}
.mem-shot img{width:100%;height:100%;object-fit:cover}
.mem-cover-body{display:grid;gap:3px;min-width:0}
.mem-owner{margin:0;overflow:hidden;color:#ffd45d;font-size:15px;font-weight:1000;letter-spacing:.02em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.mem-cover-note{margin:0;color:#f2e2b4;font-size:10px;font-weight:900;line-height:1.3;text-shadow:0 2px #000}
.mem-figures{grid-template-columns:repeat(3,minmax(0,1fr))}
.mem-figures b{font-size:12px}
.mem-help{margin:-3px 0 -2px;text-align:center}
.mem-filter{display:flex;gap:5px;overflow-x:auto;margin:0 -11px;padding:1px 11px 3px;scrollbar-width:none}
.mem-filter::-webkit-scrollbar{display:none}
.mem-filter.empty{display:none}
.mem-chip{position:relative;flex:0 0 auto;display:grid;justify-items:center;padding:5px 9px;background:#08243a;border:2px solid #4d8bab;border-bottom-width:4px;border-radius:11px;color:#cfe7f1}
.mem-chip b{font-size:8.5px;font-weight:1000;letter-spacing:.05em;white-space:nowrap}
.mem-chip small{color:#8fb4c6;font-size:8px;font-weight:1000}
.mem-chip:active{translate:0 2px;border-bottom-width:2px}
.mem-chip.hot:after{content:"";position:absolute;right:-2px;top:-2px;width:8px;height:8px;background:var(--gold);border:2px solid #08243a;border-radius:50%}
.mem-chip.picked{background:var(--mk,#549fcd);border-color:#e7fbff;color:#08202f;text-shadow:none}
.mem-chip.picked small{color:#08202fb3}
.mem-chip.picked.hot:after{border-color:#e7fbff}
.mem-chip.kind-all{--mk:#ffc83e}
.mem-chip.kind-catch,.mem-card.kind-catch{--mk:#5cc7f0}
.mem-chip.kind-secret,.mem-card.kind-secret{--mk:#5fe2cd}
.mem-chip.kind-collection,.mem-card.kind-collection{--mk:#7ad469}
.mem-chip.kind-season,.mem-card.kind-season{--mk:#ab8ff0}
.mem-chip.kind-achievement,.mem-card.kind-achievement{--mk:#f2836f}
.mem-bar{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:2px 0 -2px}
.mem-section{margin:0;color:var(--gold);font-size:11px;font-weight:1000;letter-spacing:.09em;text-transform:uppercase;text-shadow:0 2px #000}
.mem-stack{display:grid;gap:11px}
.mem-card{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr);align-items:start;gap:8px 11px;padding:11px;overflow:hidden}
.mem-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--mk,#549fcd)}
.mem-card.hot{border-color:#ffd464}
.mem-thumb{overflow:hidden;display:grid;place-items:center;width:62px;height:62px;background:#0a2c44;border:3px solid #7ccadd;border-radius:13px;box-shadow:0 3px 0 #04101a}
.mem-thumb img{width:100%;height:100%;object-fit:contain}
.mem-card-body{display:grid;gap:3px;min-width:0}
.mem-tags{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.mem-tag{padding:2px 7px;background:var(--mk,#549fcd);border:2px solid #0000001f;border-radius:9px;color:#08202f;font-size:7.5px;font-weight:1000;letter-spacing:.09em;text-transform:uppercase}
.mem-hot{padding:2px 7px;background:#ffd464;border:2px solid #a76510;border-radius:9px;color:#3d2405;font-size:7.5px;font-weight:1000;letter-spacing:.09em}
.mem-card h3{margin:0;color:#eaf7ff;font-size:12px;font-weight:1000;letter-spacing:.02em;line-height:1.2;text-shadow:0 2px #000}
.mem-card p{margin:0;color:#bcdae6;font-size:10.5px;font-weight:900;line-height:1.28}
.mem-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:9px;padding-top:6px;border-top:2px dashed #2f5f78}
.mem-acts{display:flex;align-items:center;gap:6px;margin-left:auto}
.mem-since{color:#8fb4c6;font-size:8.5px;font-weight:1000;letter-spacing:.04em}
.mem-saved{color:#7fa6b9;font-size:8.5px;font-weight:1000;letter-spacing:.06em;text-transform:uppercase}
.mem-stack.empty .mem-shot{width:56px;height:56px;border-color:#a9793a;background:#f7eecd;box-shadow:0 3px 0 #80602f}
.mem-note{text-align:center}
@media(max-width:360px){.mem-cover{grid-template-columns:80px minmax(0,1fr);gap:9px}.mem-shot{width:80px;height:80px}.mem-owner{font-size:13px}.mem-card{grid-template-columns:52px minmax(0,1fr);gap:7px 9px}.mem-thumb{width:52px;height:52px}.mem-card h3{font-size:11.5px}.mem-since{font-size:8px}.mem-foot{flex-wrap:wrap}}

.ava-panel{gap:0}
.ava-panel .panel-head.ava-head{position:relative;padding:8px 42px 9px}
.panel-head.ava-head .back{position:absolute;left:7px;top:50%;translate:0 -50%;width:30px;height:30px;padding:0;font-size:19px;line-height:1}
.ava-body{gap:11px}
.ava-cover{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:11px}
.ava-shot{overflow:hidden;display:grid;place-items:center;width:96px;height:96px;background:#2a180a66;border:3px solid var(--wood-line);border-radius:15px;box-shadow:0 4px 0 #04101a,inset 0 0 0 2px #0000003d}
.ava-shot img{width:100%;height:100%;object-fit:cover}
.ava-cover-body{display:grid;gap:3px;min-width:0}
.ava-owner{margin:0;overflow:hidden;color:#ffd45d;font-size:15px;font-weight:1000;letter-spacing:.02em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #000}
.ava-cover-note{margin:0;color:#f2e2b4;font-size:10px;font-weight:900;line-height:1.3;text-shadow:0 2px #000}
.ava-figures{grid-template-columns:repeat(3,minmax(0,1fr))}
.ava-figures b{font-size:12px}
.ava-help{margin:-3px 0 -2px;text-align:center}
.ava-chip.picked{background:var(--gold);border-color:#e7fbff;color:#08202f;text-shadow:none}
.ava-chip.picked small{color:#08202fb3}
.ava-card{position:relative;display:grid;grid-template-columns:66px minmax(0,1fr);align-items:start;gap:8px 11px;padding:11px;overflow:hidden}
.ava-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--rarity,#549fcd)}
.ava-card.on{border-color:#ffd464}
.ava-thumb{position:relative;overflow:hidden;display:grid;place-items:center;width:66px;height:66px;background:#0a2c44;border:3px solid var(--rarity,#7ccadd);border-radius:13px;box-shadow:0 3px 0 #04101a}
.ava-thumb img{width:100%;height:100%;object-fit:cover}
.ava-card.off .ava-thumb img{filter:brightness(.3) saturate(.35)}
.ava-thumb .lock-glyph{position:absolute;left:50%;top:50%;width:18px;height:15px;margin:0;translate:-50% -50%;color:#ffe3a0}
.ava-thumb.unknown .lock-glyph{display:none}
.ava-thumb.unknown i{color:#7fd7ea;font-size:32px;font-weight:1000;font-style:normal;text-shadow:0 3px #000}
.ava-card-body{display:grid;gap:3px;min-width:0}
.ava-tags{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.ava-tag{padding:2px 7px;background:#0d3247;border:2px solid #4d8bab;border-radius:9px;color:#cfe7f1;font-size:7.5px;font-weight:1000;letter-spacing:.09em}
.ava-rare{color:var(--rarity,#879a9f);font-size:7.5px;font-weight:1000;letter-spacing:.09em;text-shadow:0 2px #000}
.ava-new{padding:2px 7px;background:var(--green);border:2px solid #d9ff9f;border-radius:9px;color:#12280a;font-size:7.5px;font-weight:1000;letter-spacing:.09em}
.ava-card h3{margin:0;color:#eaf7ff;font-size:12px;font-weight:1000;letter-spacing:.02em;line-height:1.2;text-shadow:0 2px #000}
.ava-card p{margin:0;color:#bcdae6;font-size:10.5px;font-weight:900;line-height:1.28}
.ava-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-top:6px;border-top:2px dashed #2f5f78}
.ava-since{color:#8fb4c6;font-size:8.5px;font-weight:1000;letter-spacing:.04em}
.ava-acts{display:flex;align-items:center;gap:6px;margin-left:auto}
.ava-on{color:var(--gold);font-size:8.5px;font-weight:1000;letter-spacing:.06em;text-shadow:0 2px #000}
.ava-off{color:#7fa6b9;font-size:8.5px;font-weight:1000;letter-spacing:.06em}
.ava-stack.empty .mem-shot{width:56px;height:56px;border-color:#a9793a;background:#f7eecd;box-shadow:0 3px 0 #80602f}
.ava-note{text-align:center}
@media(max-width:360px){.ava-cover{grid-template-columns:80px minmax(0,1fr);gap:9px}.ava-shot{width:80px;height:80px}.ava-owner{font-size:13px}.ava-card{grid-template-columns:54px minmax(0,1fr);gap:7px 9px}.ava-thumb{width:54px;height:54px}.ava-card h3{font-size:11.5px}.ava-since{font-size:8px}}

.frm-panel .ava-cover{align-items:center}
.frm-shot{position:relative;background:#0b2237cc}
.frm-shot .frm-face{width:38px;height:57px;border-radius:9px;object-fit:cover;box-shadow:0 2px 0 #04101a}
.frm-shot .frame-overlay{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.frm-thumb{background:#0a2c44}
.frm-thumb .frm-face{width:26px;height:39px;border-radius:7px;object-fit:cover;box-shadow:0 2px 0 #04101a}
.frm-thumb .frame-overlay{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.frm-thumb .lock-glyph{z-index:3}
.frm-shot.plain .frm-face{width:100%;height:100%;border-radius:0;box-shadow:none}
.ava-card.off .frm-thumb img{filter:brightness(.5) saturate(.6)}
.ava-card.off .frm-thumb:after{content:"";position:absolute;z-index:2;inset:0;background:#04101a6b;border-radius:9px}
.frm-card .ava-acts{gap:7px}
.frm-card .ava-on{margin-right:1px}
@media(max-width:360px){.frm-shot .frm-face{width:32px;height:48px}.frm-thumb .frm-face{width:21px;height:32px}}
.pond-goals{display:grid;gap:6px}
.pond-goal{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:7px 8px;background:#0a2b45d1;border:2px solid #4d8bab;border-bottom-width:5px;border-radius:13px;box-shadow:var(--gloss)}
.pond-goal.done{border-color:var(--green);background:#12402ad1}
.pond-goal-mark{padding:6px 8px;background:#071c2e;border:2px solid #7ccadd;border-radius:11px;color:var(--gold);font-size:10px;font-weight:1000;white-space:nowrap;text-shadow:0 2px #000}
.pond-goal.done .pond-goal-mark{border-color:var(--green);color:#9be05e}
.pond-goal>div{display:grid;gap:2px;min-width:0}
.pond-goal b{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#fff;font-size:10.5px;font-weight:1000;line-height:1.4;text-shadow:0 2px #000}
.pond-goal p{margin:0;color:#a9cddc;font-size:8.5px;font-weight:1000;line-height:1.4}
.pond-goal.done p{color:#9be05e}

.revenge-sheet{text-align:center;padding-top:8px}
.revenge-sheet>img{width:116px;height:116px;margin:-3px auto 7px;display:block;object-fit:cover;object-position:top;border:4px solid #906224;border-radius:22px;box-shadow:0 5px 0 #5f411e}
.revenge-sheet h2{margin:5px 0 8px;color:#742a20}
.revenge-sheet .copy{margin-bottom:7px;font-size:12px;font-weight:800}
.revenge-sheet .revenge-note{margin-bottom:12px;color:#4a3a20;font-size:11px}
.revenge-sheet .row{position:relative;z-index:2}
.revenge-sheet .row .game-button{white-space:nowrap}
.revenge-sheet .revenge-left{margin:10px 0 0;color:#7a6a4a;font-size:9px;font-weight:1000;letter-spacing:.4px;text-transform:uppercase}

/* Дальняя вылазка стоит энергии: пилюля на карточке локации и карточка отказа */
.loc-energy-pill{border-color:#e0b24f;background:#3a2a0ad9;color:#ffe1a4}
.loc-energy-pill b{color:#ffd24a}
.energy-sheet{text-align:center;padding-top:8px}
.energy-sheet>img{width:116px;height:116px;margin:-3px auto 7px;display:block;object-fit:cover;object-position:top;border:4px solid #906224;border-radius:22px;box-shadow:0 5px 0 #5f411e}
.energy-sheet h2{margin:5px 0 8px;color:#742a20}
.energy-sheet .copy{margin-bottom:7px;font-size:12px;font-weight:800}
.energy-sheet .energy-ready{margin-bottom:12px;color:#4a3a20;font-size:11px}
.energy-sheet .row{position:relative;z-index:2;align-items:stretch}
.energy-sheet .row .game-button{min-width:0;padding-left:8px;padding-right:8px}
.energy-sheet .thermos-row{margin:0 0 6px}
.energy-sheet .thermos-row .game-button{display:flex;align-items:center;justify-content:center;gap:7px}
.energy-sheet .thermos-price{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:11px;background:#00000038;font-size:13px;color:#ffe9a2}
.energy-sheet .thermos-price img{width:15px;height:15px;object-fit:contain}
.energy-sheet .thermos-note{margin-bottom:11px;color:#4a3a20;font-size:11px}
.energy-sheet .thermos-poor{color:#8d3a2c}

/* Наборы алмазов на вкладке «ВАЛЮТА»: та же полка, свой цвет шапки и валютная иконка перед числом. */
.coin-sum b .coin{margin-right:4px;width:14px;height:14px}
.gem-packs .panel-head{background:linear-gradient(#4fb7ef,#1f5f9c)}
.gem-packs .coin-row{background:linear-gradient(#155a86,#0a2f52);border-color:#8fd8ea}
.gem-packs .coin-sum b{color:#8fe6ff}
.energy-sheet .thermos-poor{margin-bottom:8px}

/* Топбар: рамка аватара медальоном. Рамки нарисованы портретной аркой — её окно
   занимает треть кадра, и в 56 px лицо внутри окна сжималось до нечитаемых 19×29.
   Кадр рамки увеличен вдвое и подрезан скруглённым медальоном: остаются боковины
   арки и её цвет, а лицо получает 34×40 — крупнее прежнего квадрата 42×42,
   где голова занимала лишь часть иллюстрации. Цвет обводки — редкость рамки.
   Портрет лежит поверх рамки: у «vip-pier» окно не вырезано, а зарисовано
   сценой причала, и при обратном порядке она съедала лицо по глаза. */
.avatar-stack.framed{width:56px;height:56px;flex:0 0 56px;overflow:hidden;border:2px solid var(--rarity,var(--line));border-radius:15px;background:#08243a;box-shadow:var(--gloss),0 3px 0 #04101a}
.avatar-stack.framed>img:first-child{position:absolute;z-index:3;left:50%;top:51%;translate:-50% -50%;width:34px;height:40px;margin:0;border-radius:99px;object-fit:cover;object-position:50% 22%;box-shadow:0 0 0 2px #0715237a,0 3px 6px #000a}
.avatar-stack.framed>.avatar-frame{z-index:2;inset:-24px auto auto -28px!important;width:108px!important;height:108px!important;max-width:none}
@media(max-width:360px){.avatar-stack.framed{width:50px;height:50px;flex:0 0 50px;border-radius:14px}.avatar-stack.framed>img:first-child{width:30px;height:36px}.avatar-stack.framed>.avatar-frame{inset:-21px auto auto -25px!important;width:96px!important;height:96px!important}}

/* Анимационный слой рыбалки: состояние директора ведёт позу, кончик удочки и поплавок */
.rod-anchor{position:absolute;z-index:1;left:46%;top:20%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;pointer-events:none;opacity:0}
.memych-stage .memych-fallback{will-change:transform}
[data-animation-state="READY"] .memych-stage,[data-animation-state="WAITING"] .memych-stage{animation:memychBreathe 3.6s ease-in-out infinite}
[data-animation-state="PREPARING_CAST"] .memych-stage{animation:memychSet .2s ease-out both}
[data-animation-state="FIGHTING"] .memych-stage{animation:memychStrain .44s ease-in-out infinite alternate}
[data-animation-state="PREPARING_CAST"] .rod-anchor{animation:rodLoad .2s ease-out both}
[data-animation-state="CASTING"] .rod-anchor{animation:rodWhip .34s cubic-bezier(.2,.85,.25,1) both}
[data-animation-state="LINE_FLYING"] .rod-anchor{animation:rodSettle .3s ease-out both}
[data-animation-state="BITING"] .rod-anchor{animation:rodTwitch .28s ease-in-out infinite alternate}
[data-animation-state="HOOKING"] .rod-anchor{animation:rodHook .3s cubic-bezier(.2,.8,.2,1) both}
[data-animation-state="FIGHTING"] .rod-anchor{animation:rodStrain .5s ease-in-out infinite alternate}
[data-animation-state="LANDING"] .rod-anchor{animation:rodLift .34s cubic-bezier(.2,.8,.2,1) both}
[data-animation-state="FAIL"] .rod-anchor{animation:rodSnap .42s cubic-bezier(.15,.9,.3,1) both}
.fight-scene[data-fight-cue="critical"] .rod-anchor{animation-duration:.17s}
.fight-scene[data-fight-cue="high"] .rod-anchor,.fight-scene[data-fight-cue="surge"] .rod-anchor{animation-duration:.27s}
[data-animation-state="LINE_FLYING"] .runtime-float{animation:floatFly .46s cubic-bezier(.16,.8,.3,1) both,bob 1.7s ease-in-out .46s infinite}
[data-animation-state="HOOKING"] .runtime-float,[data-animation-state="FIGHTING"] .runtime-float{animation:floatTug .34s ease-in-out infinite alternate}
[data-animation-state="LANDING"] .runtime-float,[data-animation-state="REVEAL"] .runtime-float{animation:floatLand .36s cubic-bezier(.2,.8,.2,1) both}
[data-animation-state="FAIL"] .runtime-float{animation:floatSnap .5s cubic-bezier(.2,.9,.3,1) both}
[data-animation-state="CASTING"] .water-contact,[data-animation-state="LINE_FLYING"] .water-contact{animation:waterRing .9s ease-out 2}
[data-animation-state="HOOKING"] .water-contact,[data-animation-state="FIGHTING"] .water-contact{animation-duration:.72s}
@keyframes memychBreathe{50%{transform:translateY(-4px) scale(1.008)}}
@keyframes memychSet{to{transform:translateY(3px) scale(.994)}}
@keyframes memychStrain{from{transform:translate(0,2px)}to{transform:translate(-3px,-2px) rotate(-.4deg)}}
@keyframes rodLoad{to{transform:translate(-10px,11px)}}
@keyframes rodWhip{0%{transform:translate(-10px,11px)}45%{transform:translate(12px,-16px)}100%{transform:none}}
@keyframes rodSettle{from{transform:translate(6px,-7px)}to{transform:none}}
@keyframes rodTwitch{from{transform:none}to{transform:translate(2px,5px)}}
@keyframes rodHook{0%{transform:none}55%{transform:translate(-5px,-13px)}100%{transform:translate(0,4px)}}
@keyframes rodStrain{from{transform:translate(0,4px)}to{transform:translate(5px,13px)}}
@keyframes rodLift{0%{transform:translate(0,8px)}60%{transform:translate(-6px,-14px)}100%{transform:none}}
@keyframes rodSnap{0%{transform:translate(3px,12px)}40%{transform:translate(-9px,-18px)}100%{transform:none}}
@keyframes floatFly{0%{transform:translate(var(--float-fly,-160px,-280px)) scale(.55);opacity:0}22%{opacity:1}100%{transform:none;opacity:1}}
@keyframes floatTug{from{transform:translateY(15px) scale(.88)}to{transform:translateY(24px) scale(.82)}}
@keyframes floatLand{0%{transform:translateY(20px) scale(.85)}55%{transform:translateY(-12px) scale(1.06)}100%{transform:none}}
@keyframes floatSnap{0%{transform:translateY(20px) scale(.85)}45%{transform:translate(-26px,-34px) rotate(-24deg) scale(1.04)}100%{transform:translate(-6px,-4px) rotate(-6deg)}}

/* Плотность начертания (визуальная библия §6: текста тоньше 800 на референсе нет) */
body{font-weight:900}
p,span,small,em,i,b,strong,li,td,th,label,figcaption,blockquote,button,input,textarea,select,a{font-weight:inherit}
h1,h2,h3,h4,h5,h6,b,strong,.title,.identity b,.back,.stat-track em,.progress em{font-weight:1000}
.copy,.paper-card .copy{font-weight:800}
.loc-text p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;overflow:hidden;line-height:1.2}
.hud-scene .memych-stage{translate:0 12%}
.hud-scene .memych-fallback{-webkit-mask-image:linear-gradient(#000 80%,#0000);mask-image:linear-gradient(#000 80%,#0000)}

/* Широкий вьюпорт: держим пропорции ячейки 1 референса (герой 48 % ширины, CTA 57 %) — на 720 px колонке они иначе усыхают до трети кадра */
@media(min-width:560px){.home-stage{min-height:496px}.home-memych{max-width:262px}.home-cta{max-width:250px;bottom:150px;font-size:22px}.home-brand{right:44%}.home-logo{font-size:38px}.home-brand .wood-sign{font-size:11px;padding:8px 17px}}

/* «БОНУС ВРЕМЯ» и часы сессии на экране рыбалки (панель №3 референса) */
.hud-clock b{margin-left:3px;color:#fff}
.hud-clock.soon{border-color:#e88b6b;color:#ffd9c6;animation:bonusPulse 1.4s ease-in-out infinite}
.bonus-sign{display:grid;justify-items:center;gap:2px;padding:6px 11px 7px;border:2px solid #7ccadd;border-bottom-width:5px;border-radius:15px;background:linear-gradient(#12466a,#0b2f4a);box-shadow:var(--gloss),0 5px 0 #04101a,0 9px 16px #0007;animation:bonusPop .42s cubic-bezier(.2,1.5,.5,1)}
.bonus-sign b{color:#fff;font-size:9px;letter-spacing:.6px;text-transform:uppercase;text-shadow:0 2px #000}
.bonus-value{display:flex;align-items:center;gap:5px;color:#fff;font-size:13px;font-weight:1000;text-shadow:0 2px #000}
.bonus-coin{position:relative;display:inline-block;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#ffe9a4,var(--gold) 58%,#c98a12);box-shadow:0 2px 0 #6b4508,inset 0 0 0 2px #b57f14}
.bonus-coin::before,.bonus-coin::after{content:'';position:absolute;left:7px;width:2px;border-radius:2px;background:#6b4508}
.bonus-coin::before{top:3px;height:5px}
.bonus-coin::after{top:7px;height:4px;transform:rotate(74deg);transform-origin:top center}
@keyframes bonusPop{0%{transform:scale(.72) translateY(-6px);opacity:0}60%{transform:scale(1.08)}100%{transform:none;opacity:1}}
@keyframes bonusPulse{0%,100%{opacity:1}50%{opacity:.62}}

/* Алмазы и энергия в топбаре (ТЗ 13): pop, прокрутка счётчика и искра на приход. */
.currency{position:relative}
.currency.bump{animation:chipPop .42s cubic-bezier(.2,1.6,.45,1)}
.chip-spark{position:absolute;top:-7px;right:-6px;width:18px;height:18px;pointer-events:none;background:radial-gradient(circle,#fffbe6 0 22%,#ffd76a55 42%,transparent 68%);animation:chipSpark .72s ease-out forwards}
.chip-spark::before,.chip-spark::after{content:'';position:absolute;left:50%;top:50%;background:#fff6cd;border-radius:2px;translate:-50% -50%;box-shadow:0 0 6px #ffd76a}
.chip-spark::before{width:18px;height:2px}
.chip-spark::after{width:2px;height:18px}
.loot-facts .record-ribbon.gem{display:flex;align-items:center;justify-content:center;gap:5px;background:linear-gradient(#7d63e6,#4a34a8);border-color:#c9dcff;color:#fff;box-shadow:0 3px 0 #2a1a63,var(--gloss)}
.loot-facts .record-ribbon.gem img{width:17px;height:17px;object-fit:contain;filter:drop-shadow(0 2px 1px #0009)}
.reward-tile.gem{border-color:#9ab8ff}
.reward-tile.gem b{color:#cfe0ff}
@keyframes chipPop{0%{transform:none}45%{transform:translateY(-3px) scale(1.09)}100%{transform:none}}
@keyframes chipSpark{0%{opacity:0;scale:.35;rotate:0deg}45%{opacity:1;scale:1}100%{opacity:0;scale:1.5;rotate:38deg}}
/* Пятая плитка (алмазы) не должна ронять сундук в пустой ряд: колонки считаются по числу наград. */
.reward-row{grid-template-columns:repeat(auto-fit,minmax(52px,1fr))}

/* Рамки аватара стали полноразмерными кольцами и занимают весь квадрат 138px.
   Прежний вылет -31px рассчитывался на узкую картинку в середине кадра: теперь
   кольцо этим вылетом наезжало на имя и на пилюлю титула. Вылет ужат до
   величины, при которой правый край рамки не заходит в колонку имени. */
.profile-portrait{margin:0 -8px}
@media(max-width:360px){.profile-portrait{margin:0 -6px}}

/* ГЛАВНЫЙ ЭКРАН ПО ЭТАЛОНУ (assets/reference/visual-style-master.png, панель 1).
   Логотип и кнопка «ИГРАТЬ» были плоскими: текст без контура, кнопка — ровная
   золотая полоса. В эталоне у логотипа тяжёлый тёмный контур и нижняя грань,
   а у кнопки — тёмная обводка снаружи, кремовый ободок, золотой градиент,
   белая надпись в контуре и стальной крючок справа. */
.home-brand{gap:6px}
.home-logo{rotate:-2deg;font-size:clamp(23px,7.6vw,32px);line-height:.9;letter-spacing:-.01em;color:#fff;text-shadow:-3px 0 var(--logo-stroke),3px 0 var(--logo-stroke),0 -3px var(--logo-stroke),0 3px var(--logo-stroke),-2px -2px var(--logo-stroke),2px -2px var(--logo-stroke),-2px 2px var(--logo-stroke),2px 2px var(--logo-stroke),0 6px 0 #05121e,0 10px 16px #000a}
.home-logo b{display:block;rotate:3deg;margin-top:4px;color:#ffc42e;font-size:.72em;letter-spacing:.005em;text-shadow:-3px 0 var(--logo-stroke2),3px 0 var(--logo-stroke2),0 -3px var(--logo-stroke2),0 3px var(--logo-stroke2),-2px -2px var(--logo-stroke2),2px -2px var(--logo-stroke2),-2px 2px var(--logo-stroke2),2px 2px var(--logo-stroke2),0 6px 0 #3a1f05,0 10px 16px #000a}
.home-brand .wood-sign{padding:5px 13px;border-bottom-width:5px;font-size:7.5px;letter-spacing:.02em;text-shadow:0 2px #2c1a08,0 0 4px #2c1a08}
html[lang="ru"] .home-logo b{font-size:.58em}
.game-button.gold.home-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:50%;max-width:184px;padding:11px 12px;border:3px solid #fff2b8;border-bottom:8px solid #b3670c;border-radius:18px;background:linear-gradient(#ffdc6c,#ffc22e 56%,#f0a91b);color:#fff;font-size:22px;letter-spacing:.03em;text-shadow:-2px 0 var(--logo-stroke),2px 0 var(--logo-stroke),0 -2px var(--logo-stroke),0 2px var(--logo-stroke),-2px 2px var(--logo-stroke),2px 2px var(--logo-stroke),0 4px 0 #5e340a;box-shadow:0 0 0 3px #5e340a,0 11px 22px #00000080,var(--gloss)}
.game-button.gold.home-cta:after{content:'';width:30px;height:30px;flex:none;background:url('../img/equipment/eq20.png') center/contain no-repeat;filter:drop-shadow(0 2px 2px #00000073)}
.game-button.gold.home-cta:active{border-bottom-width:4px}
@media(min-width:560px){.game-button.gold.home-cta{max-width:330px;font-size:25px;padding:14px 16px}.game-button.gold.home-cta:after{width:29px;height:29px}}

/* карта локаций по эталону visual-style-master, панель 2 */
.location-list{gap:11px}
.loc-scene{opacity:.5}
.location-list:before{background:linear-gradient(#04121e4a,#04121e96)}
.loc-row{grid-template-columns:56px minmax(0,1fr) auto;min-height:82px;padding:9px 10px;border:2px solid #8fdcee;border-bottom:6px solid #10394f;box-shadow:0 0 0 3px #071c2e,var(--sink),var(--gloss)}
.loc-row.locked{filter:none}
.loc-row.current{box-shadow:0 0 0 3px #3b2408,var(--sink),var(--gloss)}
.loc-row:after{background:linear-gradient(90deg,#04121ee6 0 32%,#04121e96 56%,#04121e26 80%,#04121e00)}
.loc-mascot{width:56px;height:56px;filter:drop-shadow(0 3px 4px #000c)}
.loc-text h2{font-size:16px;text-shadow:-1px -1px 0 #06182a,1px -1px 0 #06182a,-1px 1px 0 #06182a,1px 1px 0 #06182a,0 3px #000}
.loc-text p{margin:2px 0 6px;font-size:9.5px;color:#d8ecf3}
.loc-row .power-pill{padding:3px 7px;border-radius:11px;border-color:#7ec8dd;background:#06243ae6;font-size:8px}
.loc-row .power-pill b{font-size:12px}
.loc-side{min-width:38px}
.loc-side .lock-glyph{width:26px;height:21px;border:3px solid #0a1c2c;border-radius:5px;background:linear-gradient(#eef6f9,#a4b8c2);box-shadow:0 3px 0 #05121e,inset 0 -3px 0 #8ba1ac}
.loc-side .lock-glyph:before{left:4px;top:-15px;width:12px;height:15px;border:3px solid #0a1c2c;border-bottom:0;border-radius:9px 9px 0 0}
.loc-side .lock-glyph:after{content:"";position:absolute;left:50%;top:4px;width:5px;height:8px;translate:-50% 0;border-radius:3px 3px 1px 1px;background:#0a1c2c}
.loc-side .game-button{max-width:72px;padding:8px 5px;font-size:8.5px}
.loc-side{max-width:76px}
.loc-side .here-pill{max-width:76px;white-space:normal;line-height:1.15;text-align:center}
@media(max-width:400px){.loc-row{grid-template-columns:50px minmax(0,1fr) auto;padding:9px 8px;gap:6px}.loc-mascot{width:50px;height:50px}.loc-row .power-pill{padding:3px 6px;font-size:7px}.loc-row .power-pill b{font-size:11px}.loc-side{max-width:70px}.loc-side .here-pill{max-width:70px}.loc-side .game-button{max-width:66px;font-size:8px}}
/* подзаголовок экрана: контур вместо нижней тени — иначе тонет в фоне сцены */
.page-head p{text-shadow:-1px -1px 0 #06182a,1px -1px 0 #06182a,-1px 1px 0 #06182a,1px 1px 0 #06182a,0 2px 3px #000c}

/* ——— панель 6 эталона: удочка и снаряжение — светлая волшебная сцена ——— */
#gearBody{position:relative;overflow:hidden;border-radius:0 0 15px 15px;background:radial-gradient(122% 96% at 36% 42%,#fdfbff 0,#efe8fd 24%,#d8cef8 52%,#b7c0ef 82%,#9aabe2 100%);box-shadow:inset 0 3px 0 #ffffff9c,inset 0 -8px 0 #8b98d4}
#gearBody:before{content:"";position:absolute;inset:0;background:radial-gradient(3px 3px at 17% 21%,#fff6c8 0 42%,transparent 72%),radial-gradient(2px 2px at 29% 63%,#ffeeae 0 42%,transparent 72%),radial-gradient(3px 3px at 7% 76%,#fff3bd 0 42%,transparent 72%),radial-gradient(2px 2px at 45% 13%,#fff3bd 0 42%,transparent 72%),radial-gradient(2px 2px at 22% 46%,#fff6c8 0 42%,transparent 72%);pointer-events:none}
#gearBody .gear-hero{position:relative}
#gearBody .gear-side .eyebrow{color:#4a4a7e;text-shadow:0 1px 0 #ffffffa8}
#gearBody .gear-name{color:#141a3c;text-shadow:0 1px 0 #ffffffb8}
#gearBody .gear-art:before{content:"";position:absolute;inset:-8% -12% 2%;background:radial-gradient(closest-side,#fff8e0cc,#f0e4ff5c 46%,transparent 74%);pointer-events:none}
#gearBody .gear-art img{position:relative;height:158px;filter:drop-shadow(0 6px 8px #4a4f8f4d)}
#gearBody .stat-bar.gear-stat .stat-label{color:#1b2246;text-shadow:0 1px 0 #ffffffb0}
#gearBody .stat-bar.gear-stat .stat-track{height:13px;border-color:#5c67a7;background:#a5addf;box-shadow:inset 0 2px 4px #3c4382}
#gearBody .stat-bar.gear-stat .stat-track i,#gearBody .stat-bar.gear-stat .stat-track.warm i,#gearBody .stat-bar.gear-stat .stat-track.gold i{background:linear-gradient(90deg,#5fd42a 0,#b9e01e 26%,#f6c108 52%,#e84c10 78%,#c71b0d 100%)}
#gearBody .stat-bar.gear-stat .stat-track:after{background:none}
#gearBody .stat-bar.gear-stat>b{color:#131a3a;font-size:13px;text-shadow:0 1px 0 #ffffffb8}
#gearBody .gear-level{color:#1b2246;text-shadow:0 1px 0 #ffffffa8}
#gearBody .gear-level b{color:#131a3a}
#gearBody .gear-hint{border-color:#8e97d6;background:#e5defa;color:#3c4278}
#gearBody .gear-hint.max{border-color:#c98d14;color:#8a5c05}
#gearBody .gear-evo{border-color:#8e99d8;background:linear-gradient(#f6ecfb,#dbd0f4);box-shadow:0 3px 0 #7a85c5,var(--gloss)}
#gearBody .evo-title{padding:2px 3px;border-radius:8px;background:#0d4c74;color:#ffd45d}
#gearBody .evo-step{border-color:#afa5da;background:#e9dff8}
#gearBody .evo-step img{filter:grayscale(.4) brightness(.98) opacity(.92)}
#gearBody .evo-step.done img{filter:drop-shadow(0 2px 2px #4a4f8f55)}
#gearBody .evo-step b{color:#2b3060}
#gearBody .evo-step.done{border-color:#4f9c2c;background:#dcf2ce}
#gearBody .evo-step.done b{color:#2c6a15}
#gearBody .evo-step .lock-glyph{color:#b8810f}
#gearBody .evo-tick{filter:drop-shadow(0 1px 1px #2c6a1566)}
@media(max-width:390px){#gearBody .gear-art img{height:140px}}
@media(max-width:360px){#gearBody .gear-art img{height:114px}}
@media(min-width:600px){#gearBody .gear-art img{height:206px}}

/* ——— панель 7 эталона: лодка стоит на воде, а не в тёмной коробке ——— */
.gear-hero.boat-hero{position:relative;margin:-9px -8px -10px;padding:10px 9px 12px;overflow:hidden;border-radius:0 0 15px 15px;background:linear-gradient(#2b81ba 0,#1a6296 32%,#0f4776 66%,#0a3357 100%);box-shadow:inset 0 3px 0 #ffffff3d,inset 0 -8px 0 #072541}
.gear-hero.boat-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 70% at 50% 6%,#a8e2ff33,transparent 62%),radial-gradient(140% 60% at 50% 104%,#04223d59,transparent 70%);pointer-events:none}
.gear-hero.boat-hero>*{position:relative}
.boat-art:before{content:"";position:absolute;inset:-6% -10% 4%;background:radial-gradient(closest-side,#d9f3ff59,transparent 72%);pointer-events:none}
.boat-art img{position:relative;height:150px;object-fit:cover;-webkit-mask-image:radial-gradient(72% 66% at 50% 46%,#000 46%,#000a 72%,transparent 100%);mask-image:radial-gradient(72% 66% at 50% 46%,#000 46%,#000a 72%,transparent 100%);filter:saturate(1.05) drop-shadow(0 6px 8px #04182b66)}
.boat-hero .boat-copy{color:#d5eefa}
.boat-hero .stat-bar.gear-stat .stat-track{border-color:#062038;background:#0a2f4e}
@media(max-width:390px){.boat-art img{height:126px}}
@media(max-width:360px){.boat-art img{height:108px}}
@media(min-width:600px){.boat-art img{height:196px}}

/* ——— панель 8 эталона: магазин, карточка боевого пропуска ——— */
.shop-hero:before{background:linear-gradient(#2a160bbf,#160b0499 52%,#2a160bdb)}
.pass-art{height:74px;border-color:#ffffff59;box-shadow:inset 0 2px 0 #ffffff59,0 3px 0 #2b1560}
.pass-art img{filter:saturate(1.06)}
.pass-cta{display:grid;gap:1px;justify-items:center;padding:7px 5px;line-height:1.05}
.pass-cta b{font-size:9px;letter-spacing:.02em}
.pass-cta i{font-style:normal;font-size:11.5px;color:#ffe08a;text-shadow:0 2px #3d1b06}
@media(max-width:390px){.pass-art{height:64px}.pass-cta b{font-size:8.5px}.pass-cta i{font-size:11px}}
@media(max-width:360px){.pass-art{height:56px}.pass-cta b{font-size:8px}.pass-cta i{font-size:10px}}
@media(min-width:600px){.pass-art{height:98px}.pass-cta b{font-size:11px}.pass-cta i{font-size:14px}}
.shop-shelf .shelf-card{align-content:space-between}
.shop-shelf .shelf-card .shelf-state{margin-bottom:1px}

/* ——— панель 7 эталона: напарник тоже стоит на воде ——— */
.mate-hero{position:relative;margin:-9px -8px -10px;padding:11px 9px 13px;overflow:hidden;border-radius:0 0 15px 15px;background:linear-gradient(#2b81ba 0,#1a6296 34%,#0f4776 68%,#0a3357 100%);box-shadow:inset 0 3px 0 #ffffff3d,inset 0 -8px 0 #072541}
.mate-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 70% at 50% 6%,#a8e2ff33,transparent 62%),radial-gradient(140% 60% at 50% 104%,#04223d59,transparent 70%);pointer-events:none}
.mate-hero>*{position:relative}
.mate-art{filter:drop-shadow(0 8px 10px #04182b7a)}
.mate-hero .boat-copy{color:#d5eefa}
.mate-hero .mate-facts .eyebrow{color:#bfe9fb}
.mate-hero .game-button{border-color:#dff6ff;background:#2f6f8e}

/* ——— панель 9 эталона: Мемыч на итогах стоит вырезкой, а не картинкой в рамке ——— */
.result-top{grid-template-columns:96px minmax(0,1fr) 108px;align-items:end}
.result-face{align-content:end;min-height:132px}
.result-face img{width:118%;max-width:none;height:auto;max-height:150px;justify-self:center;margin:0 -9%;border-radius:0;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 6px 5px #04101ac2) drop-shadow(0 1px 0 #0b2438)}
.result-face i{position:relative;z-index:1;margin-top:-6px}
.result-screen .loot-actions .game-button.green{display:flex;align-items:center;justify-content:center;gap:9px}
.again-energy{display:inline-flex;align-items:center;gap:3px;padding:3px 8px 3px 5px;border:2px solid #b6ef7a;border-radius:11px;background:#2e780d;color:#ffe08a;font-size:13px;font-style:normal;font-weight:1000;text-shadow:0 2px #000}
.again-energy img{width:16px;height:16px;object-fit:contain}
@media(max-width:390px){.result-top{grid-template-columns:88px minmax(0,1fr) 104px}.result-face img{max-height:136px}.again-energy{font-size:12px;padding:2px 7px 2px 4px}.again-energy img{width:14px;height:14px}}
@media(max-width:360px){.result-top{grid-template-columns:76px minmax(0,1fr) 92px}.result-face img{max-height:120px}.again-energy{font-size:11px}}
@media(min-width:600px){.result-face img{max-height:186px}}
@media(max-width:380px){.reward-tile b{font-size:10.5px;letter-spacing:-.035em}.reward-tile img{width:29px;height:29px}.reward-tile small{font-size:6.5px}}

/* Панель 3 эталона: сцена рыбалки. Дед сидит в лодке мелко у левого берега, подводный слой начинается
   ровно по горизонту фона локации (--deep-top), поплавок висит по центру воды. */
.deep-layer{top:var(--deep-top,52%);height:auto}
.hud-scene .memych-stage{position:absolute;inset:0;width:auto;height:auto;margin:0;translate:none;z-index:3}
.hud-scene .angler-mount{position:absolute;left:var(--angler-x,-2%);bottom:calc(100% - var(--deep-top,52%) - 2.5%);width:var(--angler-w,60%);aspect-ratio:64/61;pointer-events:none}
.hud-scene .memych-fallback{left:0;bottom:0;width:100%;height:100%;object-fit:contain;object-position:left bottom;-webkit-mask-image:none;mask-image:none;filter:drop-shadow(0 6px 5px #00000073) drop-shadow(0 0 12px #04121d80)}
.hud-scene .rod-anchor{left:98.5%;top:1.5%}
.hud-scene .runtime-float{left:var(--float-x,46%);right:auto;top:calc(var(--deep-top,52%) + 11%);bottom:auto;translate:-50% 0}
.hud-scene .water-contact{left:var(--float-x,46%);right:auto;top:calc(var(--deep-top,52%) + 11%);bottom:auto;translate:-50% -30%}
.hud-scene .fishing-layer{padding-bottom:calc(var(--safe-bottom) + 18px)}
.fight-scene .angler-mount,.bite-scene .angler-mount{--angler-w:56%}
@media(max-width:390px){.hud-scene .angler-mount{--angler-w:64%;--angler-x:-2%}}
@media(min-width:600px){.hud-scene .angler-mount{--angler-w:46%;--angler-x:-2%}}
.hud-scene .tension-gauge{top:calc(var(--deep-top,52%) - 3%);left:3px;width:42px}
.hud-scene .tension-tube{height:min(26dvh,198px)}
.deep-layer{background:linear-gradient(#04131f55,#05192bc2 11%,#03111cec)}

/* Первый опыт: композиция панели 3 — дед сидит в лодке у линии воды, поплавок на воде,
   бумажная подсказка справа. Портретного фолбэка с огромной головой в сцене больше нет. */
.first-fishing-scene .memych-stage,.first-bite-scene .memych-stage{position:absolute;inset:0;width:auto;height:auto;margin:0;translate:none;z-index:3}
.first-fishing-scene .angler-mount,.first-bite-scene .angler-mount{position:absolute;left:var(--angler-x,-2%);bottom:calc(100% - var(--deep-top,52%) - 2.5%);width:var(--angler-w,60%);aspect-ratio:64/61;pointer-events:none}
.first-fishing-scene .memych-fallback,.first-bite-scene .memych-fallback{left:0;bottom:0;width:100%;height:100%;object-fit:contain;object-position:left bottom;-webkit-mask-image:none;mask-image:none;filter:drop-shadow(0 6px 5px #00000073) drop-shadow(0 0 12px #04121d80)}
.first-fishing-scene .rod-anchor,.first-bite-scene .rod-anchor{left:98.5%;top:1.5%}
.first-fishing-scene .runtime-float,.first-bite-scene .runtime-float{left:var(--float-x,46%);right:auto;top:calc(var(--deep-top,52%) + 11%);bottom:auto;translate:-50% 0}
.first-fishing-scene .water-contact,.first-bite-scene .water-contact{left:var(--float-x,46%);right:auto;top:calc(var(--deep-top,52%) + 11%);bottom:auto;translate:-50% -30%}
.first-note{top:calc(var(--safe-top) + 13%);max-width:min(46vw,178px);font-size:11px}
.first-bite-scene .fishing-layer{justify-content:flex-end;padding-bottom:calc(var(--safe-bottom) + 18px)}
@media(max-width:390px){.first-fishing-scene .angler-mount,.first-bite-scene .angler-mount{--angler-w:64%;--angler-x:-2%}.first-note{font-size:10px;max-width:min(44vw,158px)}}
@media(min-width:600px){.first-fishing-scene .angler-mount,.first-bite-scene .angler-mount{--angler-w:46%;--angler-x:-2%}}
/* Экран улова первого опыта — тот же лист панели 4, полка коллекции встаёт под репликой Мемыча. */
.first-loot-screen .first-collection-panel{margin:9px auto 0}
/* Когда улова мало, тело листа не должно оставлять пустую полосу над рядом реакций:
   `safe center` центрирует блоки, но при переполнении откатывается к верхней кромке. */
.loot-body{align-content:safe center}
/* Первая поклёвка сессии: на высоких экранах крупная карточка героя добирает пустоту листа. */
@media(min-height:740px){.catch-sheet.solo .loot-card.hero .loot-art{min-height:206px}.catch-sheet.solo .loot-card.hero .loot-art img{max-height:236px}}

/* Панель 7 эталона: лодка стоит на воде карточки, рядом напарник, ниже полоса бустов.
   Арт лодок теперь вырезанный (прозрачный фон), поэтому маска и `cover` сняты. */
.boat-art img{height:150px;object-fit:contain;-webkit-mask-image:none;mask-image:none;background:radial-gradient(closest-side,#cdf0ff87,#7fd0f042 56%,transparent 100%) no-repeat center calc(100% - 3px)/72% 15px;filter:saturate(1.04) drop-shadow(0 7px 7px #04182b8c)}
@media(max-width:390px){.boat-art img{height:126px;background-size:72% 12px}}
@media(max-width:360px){.boat-art img{height:110px}}
@media(min-width:600px){.boat-art img{height:196px;background-size:72% 20px}}
.boat-mate{position:relative;z-index:1;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:8px;margin:9px 0 0;padding:6px 8px;border:2px solid #7ccadd;border-bottom-width:5px;border-radius:15px;background:linear-gradient(#12547d,#0a3457);box-shadow:var(--gloss)}
.boat-mate-art{width:54px;height:52px;object-fit:contain;filter:drop-shadow(0 3px 4px #000a)}
.boat-mate-art.off{filter:grayscale(1);opacity:.55}
.boat-mate .grow{display:grid;justify-items:start;gap:1px;min-width:0}
.boat-mate .eyebrow{color:#9fd7ef;font-size:7.5px;letter-spacing:.1em}
.boat-mate b{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;color:#fff;font-size:11px;font-weight:1000;text-shadow:0 2px #000}
.boat-mate small{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#ffd45d;font-size:8px;font-weight:1000;line-height:1.16}
.boat-mate .game-button{padding:8px 9px;font-size:8.5px}
.boost-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.boost-chip{position:relative;display:grid;justify-items:center;gap:2px;padding:7px 4px 6px;border:2px solid #7ccadd;border-bottom-width:5px;border-radius:14px;background:linear-gradient(#12547d,#0a3457);font:inherit;box-shadow:var(--gloss)}
.boost-chip:active{translate:0 2px;border-bottom-width:3px}
.boost-chip img{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 3px 4px #000a)}
.boost-chip b{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#eaf7ff;font-size:7.5px;font-weight:1000;line-height:1.08;text-align:center}
.boost-chip i{color:#b9d8e3;font-size:9px;font-style:normal;font-weight:1000}
.boost-chip.on{border-color:#75cf22;background:linear-gradient(#1a5a2b,#0c3a1c)}
.boost-chip.on i{color:#b6f08a}
.boost-chip.off{border-color:#4f7b91;background:#0a2739;opacity:.82}
.boost-chip.off img{filter:grayscale(1) opacity(.6)}
.boat-deck{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;align-items:start}
.boat-deck .panel-head.gear-active-head{padding:6px 6px;font-size:8.5px;letter-spacing:.05em}
.boat-deck .panel-body{gap:6px;padding:8px 7px}
.boat-deck .crew-seats{gap:4px}
.boat-deck .crew-seat{flex:1 1 60px;max-width:none;padding:5px 2px 4px}
.boat-deck .crew-seat img{height:34px}
.boat-deck .boost-strip{gap:4px}
.boat-deck .boost-chip{padding:5px 2px}
.boat-deck .boost-chip img{width:30px;height:30px}
.boat-deck .boost-chip b{font-size:6.5px}
.boat-deck .boost-chip i{font-size:8px}
@media(max-width:360px){.boat-deck .boost-chip img{width:26px;height:26px}.boat-deck .crew-seat img{height:30px}}
@media(min-width:600px){.boat-deck .panel-head.gear-active-head{font-size:11px}.boat-deck .boost-chip img{width:44px;height:44px}.boat-deck .boost-chip b{font-size:9px}.boat-deck .boost-chip i{font-size:11px}.boat-deck .crew-seat img{height:52px}}
/* На высоких экранах панель лодки добирает пустоту низа: арт и плитки крупнее. */
@media(min-height:740px){.boat-art img{height:166px;background-size:72% 17px}.boat-mate{grid-template-columns:66px minmax(0,1fr) auto}.boat-mate-art{width:66px;height:62px}.boat-deck .crew-seat img{height:46px}.boat-deck .boost-chip img{width:38px;height:38px}.boat-deck .boost-chip b{font-size:7px}.boat-deck .boost-chip i{font-size:9px}}
@media(max-width:375px) and (min-height:740px){.boat-art img{height:138px;background-size:72% 14px}.boat-mate{grid-template-columns:58px minmax(0,1fr) auto;padding:5px 7px}.boat-mate-art{width:58px;height:54px}.boat-deck .crew-seat img{height:40px}.boat-deck .boost-chip img{width:34px;height:34px}}
/* Напарник в карточке лодки садится в угол арта, а не забирает колонку строки:
   с четвёртым элементом сетка 46px/1fr/auto сдвигала текст и роняла кнопку на вторую строку. */
.gear-mate>img:first-child{grid-row:1;grid-column:1}
.gear-mate .mate-face{grid-row:1;grid-column:1;justify-self:end;align-self:end;margin:0}
.gear-mate .grow{grid-row:1;grid-column:2}
.gear-mate>.game-button{grid-row:1;grid-column:3}
